Free Online Computing Dictionary

FOLDOC is a searchable dictionary of acronyms, jargon, programming languages, tools, architecture, operating systems, networking, theory, conventions, standards, mathematics, telecoms, electronics, institutions, companies, projects, products, history, in fact anything to do with computing.
http://foldoc.org

Search Word

!
exclamation mark

%
percent

,
comma

~
tilde

0
zero

0/1 knapsack problem
application The knapsack problem restricted so that the number of each item is zero or one.
(1995-03-13)

100BaseFX
networking Fast Ethernet over optical fibre.
(1998-03-23)

100BaseT
networking Any of several Fast Ethernet 100 MBps CSMA/CD standards for twisted pair cables, including: 100BaseTx (100 Mbps over two-pair Cat5 or better cable), 100BaseT4 (100 Mbps over four-pair Cat3 or better cable), 100BaseT2 (in committee; 100 Mbps over two-pair Cat3 or better cable). All are standards (or planned standards) under IEEE 802.3.
(1997-01-07)

100BaseTX
networking The predominant form of Fast Ethernet. 100BaseTX runs over two pairs of wires in category 5 cable.
(1998-06-30)

100BaseVG
networking A 100 MBps Ethernet standard specified to run over four pairs of category 3 UTP wires (known as voice grade, hence the VG ). It is also called 100VG-AnyLAN because it was defined to carry both Ethernet and token ring frame types.
100BaseVG was originally proposed by Hewlett-Packard, ratified by the ISO in 1995 and practically extinct by 1998.
100BaseVG started in the IEEE 802.3u committee as Fast Ethernet. One faction wanted to keep CSMA/CD in order to keep it pure Ethernet, even though the collision domain problem limited the distances to one tenth that of 10baseT. Another faction wanted to change to a polling architecture from the hub (they called it demand priority ) in order to maintain the 10baseT distances, and also to make it a deterministic protocol. The CSMA/CD crowd said, This is 802.3 -- the Ethernet committee. If you guys want to make a different protocol, form your own committee . The IEEE 802.12 committee was thus formed and standardized 100BaseVG. The rest is history.
(1998-06-30)

100VG-AnyLAN
100BaseVG

10base2
networking (Or cheapernet ) The variant of Ethernet that uses thin coaxial cable (RG-58 or similar), as opposed to 10base5 cable.
The 10 means 10 Mbps, base means baseband as opposed to radio frequency and 2 means a maximum single cable length of 200m.
(1995-11-14)

10base5
networking An Ethernet network cabling specification operating at ten Mbps, baseband (as opposed to radio frequency), and with a maximum single cable length of 500 metres. This is normally carried on RG8 cable.
Compare 10base2, 10baseT.
(2002-06-17)

10baseT
networking A variant of Ethernet which allows stations to be attached via twisted pair cable.
(1995-01-24)

120 reset
jargon /wuhn-twen'tee ree'set/ (After 120 volts, US mains voltage) To cycle power on a computer in order to reset or unjam it.
Compare Big Red Switch, power cycle.
[Jargon File]
(1994-11-23)

1-2-3
Lotus 1-2-3

1394
High Performance Serial Bus

1541
Commodore 1541

1581
Commodore 1581

16550
hardware A version of the 16450 UART with a 16-byte FIFO buffer. Now revised to the 16550A.
(1995-01-24)

16 bit
architecture, programming Using words containing sixteen bits. This adjective often refers to the number of bits used internally by a computer's CPU. E.g. The Intel 8086 is a sixteen bit processor . Its external data bus or address bus may be narrower. The term may also refer to the size of an instruction in the computer's instruction set or to any other item of data.
See also 16-bit application.
(1996-05-13)

16-bit application
operating system Software for MS-DOS or Microsoft Windows which originally ran on the 16-bit Intel 8088 and 80286 microprocessors. These used a segmented address space to extend the range of addresses from what is possible with just a 16-bit address. Programs with more than 64 kilobytes of code or data therefore had to waste time switching between segments. Furthermore, programming with segments is more involved than programming in a flat address space, giving rise to warts like memory models in C and C++.
Compare 32-bit application.
(1996-04-06)

1802
processor An 8-bit microprocessor currently manufactured as CDP1802 by HARRIS Semiconductor. It has been around for ten years at least and is ideally suited for embedded applications. Some of its features are: 8-bit parallel organisation with bidirectional data bus and multiplexed address bus; static design -- no minimum clock frequency; bit-programmable output port; four input pins which are directly tested by branch instructions; flexible programmable I/O mode; single-phase clock, with on-chip oscillator; 16 x 16 register matrix to implement multiple program counters, pointers, or registers
(1995-11-21)

1NF
database normalisation

1TBS
One True Brace Style.
See indent style.
[Jargon File]
(1995-01-25)

1.TR.6
networking, protocol A control channel protocol for ISDN. It is a national standard in Germany but is being replaced by Euro-ISDN.
(1995-03-27)

2
convention, character In names of translation software, infix 2 often represents the word to with the connotation translate to , as in dvi2ps (DVI to PostScript), int2string (integer to string) and texi2roff (Texinfo to [nt]roff).
[Jargon File]
(1995-01-25)

20-GATE
language An algebraic language for the G-20, developed at Carnegie around 1965.
(1995-02-27)

2780
Binary Synchronous Transmission

2B1D
Basic Rate Interface

2B1Q
two-binary, one-quaternary

2B+D
Basic Rate Interface

2NF
database normalisation

2.PAK
language An artificial intelligence language with coroutines.
[ The 2.PAK Language: Goals and Description , L.F. Melli, Proc IJCAI 1975].
(1995-01-25)

320xx
processor A series of microprocessors from National Semiconductor. The 320xx processors have a coprocessor interface which allows coprocessors such as FPUs and MMUs to be attached in a chain.
The 320xx was the predecessor of the Swordfish processor.
[Details?]
(1994-11-17)

3270
IBM 3270

32-bit application
architecture, operating system IBM PC software that runs in a 32-bit flat address space.
The term 32-bit application came about because MS-DOS and Microsoft Windows were originally written for the Intel 8088 and 80286 microprocessors. These are 16 bit microprocessors with a segmented address space. Programs with more than 64 kilobytes of code and/or data therefore had to switch between segments quite frequently. As this operation is quite time consuming in comparison to other machine operations, the application's performance may suffer. Furthermore, programming with segments is more involved than programming in a flat address space, giving rise to some complications in programming languages like memory models in C and C++.
The shift from 16-bit software to 32-bit software on IBM PC clones became possible with the introduction of the Intel 80386 microprocessor. This microprocessor and its successors support a segmented address space with 16-bit and 32 bit segments (more precisely: segments with 16- or 32-bit address offset) or a linear 32-bit address space. For compatibility reasons, however, much of the software is nevertheless written in 16-bit models.
Operating systems like Microsoft Windows or OS/2 provide the possibility to run 16-bit (segmented) programs as well as 32-bit programs. The former possibility exists for backward compatibility and the latter is usually meant to be used for new software development.
See also Win32s.
(1995-12-11)

3780
Binary Synchronous Transmission

386
Intel 80386

386BSD
operating system A free software version of the BSD Unix operating system originally derived from the generally available parts of the Berkeley Net Release/2 . William Jolitz played a key rôle and there have been many contributors. Many new and innovative features have been added to 386BSD since its original release in June 1992. An unofficial patchkit, available from many anonymous FTP archives, solves many of the problems associated with 386BSD Version 0.1. In addition, many common Unix packages have been ported.
386BSD has been superseded by FreeBSD and NetBSD.
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/386bsd-faq/part1/faq.html).
(1995-02-15)

386SPART.PAR
operating system (Or WIN386.SWP ) 386SPART.PAR is a hidden file created by Windows 3.1 for use as virtual memory swap file. It is generally found in the root directory, however it may appear elsewhere (typically in the WINDOWS directory). Its size depends on how much virtual memory you have set up under (Control Panel) Enhanced under Virtual Memory. If you move or delete this file Windows will complain the next time you start it with a Swap File error.
Windows 95 uses a similar file, except it is named WIN386.SWP, and the controls for it are located under Control Panel - System - Performance tab - Virtual Memory.
(1996-05-28)

3Com Corporation
company, networking A manufacturer of local area network equipment.
3Com was founded in 1979. They acquired BICC Data Networks in 1992, Star-Tek in 1993, Synernetics in 1993, Centrum in 1994, NiceCom in 1994 AccessWorks, Sonix Communications, Primary Access and Chipcom in 1995 and Axon and OnStream Networks in 1996. They merged with U.S. Robotics in 1997.
Home (http://www.3com.com/).
(1998-04-03)

3DNow!
architecture A floating point SIMD extention from AMD.
[Extension of what? To do what?]
(2001-12-23)

3DNow! Professional
architecture A floating point SIMD extention from AMD, compatible with Intel's SSE, introduced with the Athlon-4.
[Relationship to 3DNow!?]
(2001-12-23)

3DO
company, games, standard A set of specifications created and owned by the 3DO company, which is a partnership of seven different companies. These specs are the blueprint for making a 3DO Interactive Multiplayer and are licensed to hardware and software producers.
A 3DO system has an ARM60 32-bit RISC CPU and a graphics engine based around two custom designed graphics and animation processors. It has 2 Megabytes of DRAM, 1 Megabyte of VRAM, and a double speed CD-ROM drive for main storage.
The Panasonic 3DO system can run 3DO Interactive software, play audio CDs (including support for CD+G), view Photo-CDs, and will eventually be able to play Video CDs with a special add-on MPEG1 full-motion video cartridge. Up to 8 controllers can be daisy-chained on the system at once. A keyboard, mouse, light gun, and other peripherals may also some day be hooked into the system, although they are not currently available (December 1993). The 3DO can display full-motion video, fully texture mapped 3d landscapes, all in 24-bit colour. Sanyo and AT T will also release 3DO systems. Sanyo's in mid 1994 and AT T in late 1994.
There will be a 3DO add-on cartridge based on the PowerPC to enable the 3DO to compete with Sony's Playstation console and Sega's Saturn console, both of which have a higher specification than the original 3DO. The add-on is commonly known as the M2 or Bulldog. It should hit the shops by Christmas 1995 and will (allegedly) do a million flat shaded polygons per second.
3DO Home (http://www.3do.com/).
Usenet newsgroup: news:rec.games.video.3do.
(1994-12-13)

3GL
third generation language

3NF
database normalisation

3Station
computer, networking The archetypal diskless workstation, developed by Bob Metcalfe at 3Com and first available in 1986/1987.
The 3Station/2E had a 10 MHz 80286 processor, 1 MB of RAM (expandable to 5 MB), VGA compatible graphics with 256 KB of video RAM, and integrated AUI/BNC network transceivers for LAN access.
The product used a single printed-circuit board with four custom ASICs. It had no floppy disk drive or hard disk, it was booted from a server and stored all end-user files there.
3Com advertised significant cost savings due to the 3Station's ease of installation and low maintenance (this would now be referred to under the banner of TCO ).
The 3Station cost somewhere between an IBM PC clone and an IBM PC of the day. It was not commercially successful.
(2000-07-05)

3-tier
three-tier

404
abuse Someone who's clueless. From the World-Wide Web message 404, URL Not Found meaning that the document you've tried to access can't be located.
Don't bother asking him...he's 404, man .
404 is one of the standard response codes of the telnet protocol on which the web's HTTP is based.
The first 4 indicates a client error such as a mistyped URL. The middle 0 refers to a general syntax error. The last 4 just indicates the specific error in the group of 40x, which also includes 400: Bad Request, 401: Unauthorized, etc.
(2000-03-18)

4.2BSD
Berkeley Software Distribution

431A
hardware The type of plug which fits a standard type 600 British Telecom telephone socket.
(1995-01-25)

4510
processor A 65CE02 with two 6526s.
Used in the Commodore 65.
(1996-04-06)

473L Query
language An English-like query language for the US Air Force 473L system.
[Sammet 1969, p. 665].
[ Headquarters USAF Command and Control System Query Language , Info Sys Sci, Proc 2nd Congress, Spartan Books 1965, pp.57-76].
(1994-10-31)

486
Intel 486

486SX
Intel 486SX

4GL
fourth generation language

4NF
database normalisation

51forth
language A subroutine-threaded Forth for the 8051 by Scott Gehmlich. It comes with source and documentation.
(ftp://smis-novell-1.massey.ac.nz/giovanni/51forth.zip)
(1993-04-03)

56 kbps
communications (56 kilobits per second) The data capacity of a normal single channel digital telephone channel in North America. The figure is derived from the bandwidth of 4 kHz allocated for such a channel and the 16-bit encoding (4000 times 16 = 64000) used to change analogue signals to digital, minus the 8000 bit/s used for signalling and supervision.
At the end of 1997 there were two rival modem designs capable of this rate: k56flex and US Robotics' X2. In February 1998 the ITU proposed a 56kbps standard called V.90, which is expected to be formally approved during September 1998.
(1998-09-15)

56k line
communications A digital connection (possibly a leased line, possibly switched) capable of carrying 56 kbps.
Compare DS0.
(2000-07-16)

586
processor What Intel's Pentium was not called.

5ESS Switch
communications The class 5 electronic switching system sold by Lucent Technologies. The 5ESS Switch is the digital central office circuit switching system many communication service providers use.
(2001-07-12)

5NF
database normalisation

5th Glove
hardware, virtual reality A data glove and flexor strip kit (5th Glove DFK) sold by Fifth Dimension Technologies for $495 ($345 for the left-handed version, $45 for each extra flexor strip). The DFK provides a data glove, a flexon strip (with an elbow or knee-joint sensor), an interface card, cables, and KineMusica software. The package uses flexible optical-bending sensing to track hand and arm movement. The glove can be used with 5DT's ultrasonic tracking system, the 5DT Head and Hand tracker ($245), which can track movement from up to two metres away from the unit's transmitter.
(1998-02-06)

6.001
education /siks dub*l oh wun/, /dub*l oh wun/ or rarely /siks dub*l oh fun/ MIT's introductory computer class for majors, known for its intensity. Developed by Gerald Sussman and Hal Abelson, the course is taught in Scheme and introduces recursion, higher-order functions, object-oriented programming and much more. Students who grasp the metacircular interpreter gain entry into the Knights of the Lambda-Calculus. 6.001 has been exported to several other colleges, sometimes successfully. The textbook, Structure and Interpretation of Computer Programs , written with Julie Sussman is a classic that can be found on the shelves of many computer scientists, whether they took the course or not. Legendary characters from the class, problem sets, and book include the wise Alyssa P. Hacker, Ben Bitdiddle, Lem E. Tweakit and Eva Lu Ator, the careless Louis Reasoner and Captain Abstraction.
(1994-11-22)

610
communications The standard type of two-wire wall socket and plug used for telephones in Australia.
[Other countries? Full name?]
(1997-06-26)

6309
Hitachi 6309

64 bit
architecture A term describing a computer architecture based around an ALU, registers, and data bus which are 64 bits wide.
64-bit processors are quite common in 1996, e.g. Digital Alpha, versions of Sun SPARC, MIPS, IBM AS/4000. the PowerPC and Intel are expected to move to 64 bits at their next generation - PPC 620 and Intel P7.
A 64-bit address bus allows the processor to address 18 million gigabytes as opposed to the mere 4 gigabytes allowed with 32 bits. There are in 1996 already hard disks which can hold over 4GB. Floating point calculations can also be more accurate.
A 64-bit OS is needed as well to take advantage of the CPU. In 1986 there are only a few 64-bit operating systems, including OS/400, Digital Unix, Solaris (partialy). A 32-bit OS can run on a 64-bit CPU.
(1996-12-23)

6501
hardware An eight-bit microprocessor, the first sold by MOS Technologies. The 6501 pin-compatible with the Motorola 6800 and was the first member of the 650x series. It had had an on-chip clock oscillator.
See also 6502.
(2001-02-26)

6502
hardware An eight-bit microprocessor designed by MOS Technologies around 1975 and made by Rockwell.
Unlike the Intel 8080 and its kind, the 6502 had very few registers. It was an 8-bit processor, with 16-bit address bus. Inside was one 8-bit data register (accumulator), two 8-bit index registers and an 8-bit stack pointer (stack was preset from address 256 to 511). It used these index and stack registers effectively, with more addressing modes, including a fast zero-page mode that accessed memory locations from address 0 to 255 with an 8-bit address (it didn't have to fetch a second byte for the address).
Back when the 6502 was introduced, RAM was actually faster than CPUs, so it made sense to optimize for RAM access rather than increase the number of registers on a chip.
The 6502 was used in the BBC Microcomputer, Apple II, Commodore, Apple Computer and Atari personal computers. Steve Wozniak described it as the first chip you could get for less than a hundred dollars (actually a quarter of the 6800 price).
The 6502's indirect jump instruction, JMP (xxxx), was broken. If the address was hexadecimal xxFF, the processor would not access the address stored in xxFF and xxFF + 1, but rather xxFF and xx00. The 6510 did not fix this bug, nor was it fixed in any of the other NMOS versions of the 6502 such as the 8502. Bill Mensch at Western Design Center was probably the first to fix it, in the 65C02.
The 6502 also had undocumented instructions.
The 65816 is an expanded version of the 6502.
There is a 6502 assembler by Doug Jones jones@cs.uiowa.edu which supports macros and conditional features and can be used for linkage editing of object files. It requires Pascal.
See also cross-assembler, RTI, Small-C.
(2001-01-02)

650x
hardware A family of microprocessors from MOS Technologies, based on the design of the Motorola 6800 (introduced around 1975). The family included the 6502 used in several early personal computers.

6510
processor A successor to the 6502.
The 6510 was used in the Commodore 64C. Successors included the 8502 used in the Commodore 128 line.
(2001-01-02)

65816
processor An expanded version of the 6502, with which it is compatible. It has 16-bit index registers and stack pointer, a 16-bit direct page register and a 24-bit address bus. Used in later models of the Apple II.
(1994-10-31)

6800
Motorola 6800

68000
Motorola 68000

68020
Motorola 68020

68030
Motorola 68030

68040
Motorola 68040

68050
Motorola 68050

68060
Motorola 68060

6809
Motorola 6809

680x0
Motorola 680x0

686
processor Pentium Pro or possibly Cyrix 6x86.
(1997-05-26)

68HC11
Motorola 68HC11

68LC040
Motorola 68LC040

6x86
Cyrix 6x86

754
IEEE Floating Point Standard

80186
Intel 80186

80188
Intel 80188

802.2
IEEE 802.2

802.3
IEEE 802.3

80286
Intel 80286

8031
Intel 8051

80386
Intel 80386

8048
Intel 8048

80486
Intel 486

8051
Intel 8051

8052
Intel 8051

8080
Intel 8080

8086
Intel 8086

8088
Intel 8088

80x86
Intel 80x86

822
RFC 822

82430FX
Triton I

82430HX
Triton II

82430MX
Mobile Triton

82430VX
Triton VX

8.3
file system, filename extension A common shorthand for the limits on filename length imposed by the file system used by MS-DOS and Microsoft Windows - at most eight characters, followed by a . , followed by a filename extension of at most three characters.
Windows 95 supports long filenames by using multiple directory entries per file. The extra entries are hidden. It also automatically derives an 8.3 name for each file for backward compatibility so that older versions of DOS can still access the file.
(1998-10-05)

8514
hardware An IBM graphics display standard supporting a resolution of 1024 x 768 pixels with 256 colours at 43.5 Hz (interlaced), or 640 x 480 at 60 Hz interlaced.
8514 was introduced at the same time as VGA and was superseded by XGA.
(1999-08-01)

8514-A
8514

88000
Motorola 88000

88open
body A consortium with the aim of creating a multi-vendor open computing environment based on the Motorola 88000 RISC processor family.
(1995-01-26)

8-bit clean
eight-bit clean

8N1
jargon Common shorthand for eight data bits, no parity, one stop bit , the most common configuration for serial lines, e.g. EIA-232.
(1995-01-31)

8 queens problem
eight queens puzzle

8 queens puzzle
eight queens puzzle

8x86
Intel 80x86

90-90 Rule
Ninety-Ninety Rule

9PAC
tool 709 PACkage.
A report generator for the IBM 7090, developed in 1959.
[Sammet 1969, p.314. IBM 7090 Prog Sys, SHARE 7090 9PAC Part I: Intro and Gen Princs , IBM J28-6166, White Plains, 1961].
(1995-02-07)

:-)
emoticon

;
semicolon

=
equals

@
commercial at

language /A sharp/ A separable component of Version 2 of the AXIOM* computer algebra system. It provides a programming language with an optimising compiler, an intermediate code interpreter, and a library of data structures and mathematical abstractions. The compiler produces stand-alone executable programs, object libraries in native operating system formats, portable bytecode libraries, C and Lisp source code.
The A# programming language has support for object-oriented and functional programming styles. Both types and functions are first class values that can be manipulated with a range of flexible and composable primitives and user programs. The A# language design places particular emphasis on compilation for efficient machine code and portability.
Ports have been made to various 16, 32, and 64 bit architectures: RS/6000, SPARC, DEC Alpha, i386, i286, Motorola 680x0, S 370; several operating systems: Linux, AIX, SunOS, HP/UX, Next, Mach and other Unix systems, OS/2, DOS, Microsoft Windows, VMS and CMS; C compilers: Xlc, gcc, Sun, Borland, Metaware and MIPS C.
(1995-02-07)

A-0
language (Or A0) A language for the UNIVAC I or II, using three-address code instructions for solving mathematical problems. A-0 was the first language for which a compiler was developed. It was produced by Grace Hopper's team at Remington Rand in 1952. Later internal versions were A-1, A-2, A-3, AT-3. AT-3 was released as MATH-MATIC.
[ The A-2 Compiler System , Rem Rand, 1955].
[Sammet 1969, p. 12].
(1995-12-03)

a1
language Address 1 code.
An a1 code interpreter, by Matthew Newhook matthew@engr.mun.ca was used to test compiler output. It requires gcc 2.4.2 or higher and is portable to computers with memory segment protection.
(ftp://ftp.cs.mun.ca/pub/a1)
(1994-07-19)

A1 security
Orange Book

A20 handler
software, storage IBM PC memory manager software providing HMA. XMMs usually provide this functionality. Named after the 21st address line (A20), controlling the access to HMA.
(1996-01-10)

A-3
ARITH-MATIC

A3D
hardware (Aureal 3-Dimensional?) A technology developed by Aureal that delivers sound with a three-dimensional effect through two speakers. Many modern sound cards and PC games now support this feature.
A3D differs from the various forms of surround sound in that it only requires two speakers, while surround sound typically requires four or five. It is sometimes less convincing than surround sound but is supposedly better in interactive environments. For example, PC games in which sounds often move from one speaker to another favour A3D, while pre-recorded video favours surround sound.
Home (http://www.a3d.com/).
(1999-01-26)

a56
language An assembler for the Motorola DSP56000 and DSP56001 digital signal processors by Quinn Jensen jensenq@qcj.icon.com . Version 1.1 is available from an alt.sources archive or (ftp://wuarchive.wustl.edu/).
(1992-08-10)

AAC
Advanced Audio Coding

AADL
Axiomatic Architecture Description Language

AAL
ATM Adaptation Layer

AAP
Association of American Publishers

AAP DTD
standard A DTD for a standard SGML document type for scientific documents, defined by the Association of American Publishers.
(1994-11-08)

aard
programming, tool (Dutch for earth ) A tool to check memory use for C++ programs, written by Steve Reiss spr@cs.brown.edu (who names his programs after living systems).
Aard tracks the state of each byte of memory in the heap and the stack. The state can be one of Undefined, Uninitialised, Free or Set. The program can detect invalid transitions (i.e. attempting to set or use undefined or free storage or attempting to access uninitialised storage).
In addition, the program keeps track of heap use through malloc and free and at the end of the run reports memory blocks that were not freed and that are not accessible (i.e. memory leaks).
The tools works using a spliced-in shared library on SPARCs running C++ 3.0.1 under SunOS 4.X.
(ftp://wilma.cs.brown.edu/pub/aard.tar.Z).
(1998-03-03)

AARP
Apple Address Resolution Protocol

AARP probe packets
networking AARP packets sent out on a nonextended AppleTalk network to discover whether a randomly selected node ID is being used by any node. If not, the sending node uses the node ID. If so, it chooses a different ID and sends more AARP probe packets.
(1997-05-03)

AAUI
Apple Attachment Unit Interface

A B
communications A bit signaling procedure used in most T1 transmission facilities where one bit from every sixth frame of each of 24 T1 subchannels is used for carrying supervisory signaling.
[What does it stand for? Is this the same as bit robbing ?]
(1997-05-05)

abbrev
jargon /*-breev'/, /*-brev'/ Common abbreviation for abbreviation .
(1995-02-27)

Abbreviated Test Language for Avionics Systems
language (ATLAS) A Mil-spec language for automatic testing of avionics equipment. ATLAS replaced Gaelic and several other test languages.
[ IEEE Standard ATLAS Test Language , IEEE Std 416-1976].
(2000-04-03)

ABC
1. language An imperative language and programming environment from CWI, Netherlands. It is interactive, structured, high-level, and easy to learn and use. It is a general-purpose language which you might use instead of BASIC, Pascal or AWK. It is not a systems-programming language but is good for teaching or prototyping.
ABC has only five data types that can easily be combined; strong typing, yet without declarations; data limited only by memory; refinements to support top-down programming; nesting by indentation. Programs are typically around a quarter the size of the equivalent Pascal or C program, and more readable.
ABC includes a programming environment with syntax-directed editing, suggestions, persistent variables and multiple workspaces and infinite precision arithmetic.
An example function words to collect the set of all words in a document:
HOW TO RETURN words document:
PUT IN collection
FOR line in document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection
Interpreter/compiler, version 1.04.01, by Leo Geurts, Lambert Meertens, Steven Pemberton Steven.Pemberton@cwi.nl . ABC has been ported to Unix, MS-DOS, Atari, Macintosh.
Home (http://www.cwi.nl/cwi/projects/abc.html)
FTP eu.net (ftp://ftp.eu.net/programming/languages/abc), FTP nluug.nl (ftp://ftp.nluug.nl/programming/languages/abc), FTP uunet (ftp://ftp.uu.net/languages/abc).
Mailing list: abc-list-request@cwi.nl .
E-mail: abc@cwi.nl .
[ The ABC Programmer's Handbook by Leo Geurts, Lambert Meertens and Steven Pemberton, published by Prentice-Hall (ISBN 0-13-000027-2)].
[ An Alternative Simple Language and Environment for PCs by Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987, pp. 56-64.]
(1995-02-09)
2. language Argument, Basic value, C?.
An abstract machine for implementation of functional languages and its intermediate code.
[P. Koopman, Functional Programs as Executable Specifications , 1990].
(1995-02-09)

ABC ALGOL
language An extension of ALGOL 60 with arbitrary data structures and user-defined operators, for symbolic mathematics.
[ ABC ALGOL, A Portable Language for Formula Manipulation Systems , R.P. van de Riet, Amsterdam Math Centrum 1973].
(1994-10-28)

ABCL/1
language An Object-Based Concurrent Language.
The language for the ABCL MIMD system, written by Akinori Yonezawa matsu@is.s.u-tokyo.ac.jp of Department of Information Science, Tokyo University in 1986. ABCL/1 uses asynchronous message passing to objects. It requires Common Lisp. Implementations in KCL and Symbolics Lisp are available from the author.
(ftp://camille.is.s.u-tokyo.ac.jp/)
E-mail: abcl@is.s.u-tokyo.ac.jp .
[ ABCL: An Object-Oriented Concurrent System , A. Yonezawa ed, MIT Press 1990]. (1990-05-23).
(1995-02-09)

ABCL/c+
language A concurrent object-oriented language, an extension of ABCL/1 based on C.
[ An Implementation of An Operating System Kernel using Concurrent Object Oriented Language ABCL/c+ , N. Doi et al in ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988].
(1994-11-08)

ABCL/R
language A reflective subset of ABCL/1, written in ABCL/1 by Yonezawa of Tokyo Institute of Technology in 1988.
(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr)
[ Reflection in an Object-Oriented Concurrent Language , T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988)].
(1994-11-08)

ABCL/R2
language An object-oriented, concurrent, reflective language based on Hybrid Group Architecture. ABCL/R2 was produced by masuhara@is.s.u-tokyo.ac.jp , matsu@is.s.u-tokyo.ac.jp , takuo@is.s.u-tokyo.ac.jp , yonezawa@is.s.u-tokyo.ac.jp , at the Tokyo Institute of Technology in 1992.
As a reflective language, an ABCL/R2 program can dynamically control its own behaviour, such as scheduling policy, from within a user-program. This system has almost all functions of ABCL/1 and is written in Common Lisp.
(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/)
(1993-01-28)

abduction
logic The process of inference to the best explanation.
Abduction is sometimes used to mean just the generation of hypotheses to explain observations or conclusionsm, but the former definition is more common both in philosophy and computing.
The semantics and the implementation of abduction cannot be reduced to those for deduction, as explanation cannot be reduced to implication.
Applications include fault diagnosis, plan formation and default reasoning.
Negation as failure in logic programming can both be given an abductive interpretation and also can be used to implement abduction. The abductive semantics of negation as failure leads naturally to an argumentation-theoretic interpretation of default reasoning in general.
[Better explanation? Example?]
[ Abductive Inference , John R. Josephson jj@cis.ohio-state.edu ].
(2000-12-07)

ABEND
jargon /o'bend/, /*-bend'/ ABnormal END. Abnormal termination (of software); crash; lossage. Derives from an error message on the IBM 360; used jokingly by hackers but seriously mainly by code grinders. Usually capitalised, but may appear as abend . Hackers will try to persuade you that ABEND is called abend because it is what system operators do to the computer late on Friday when they want to call it a day, and hence is from the German Abend = Evening .
[Jargon File]
(1994-11-08)

ABI
Application Binary Interface

ABLE
language A simple language for accountants.
[ ABLE, The Accounting Language, Programming and Reference Manual, Evansville Data Proc Center, Evansville, IN, Mar 1975].
[Listed in SIGPLAN Notices 13(11):56 (Nov 1978)].
(1994-11-08)

ABM
Asynchronous Balanced Mode

ABNF
Augmented Backus-Naur Form

abort
programming To terminate a program or process abnormally and usually suddenly, with or without diagnostic information. My program aborted , I aborted the transmission . The noun form in computing is abort , not abortion , e.g. We've had three aborts over the last two days .
If a Unix kernel aborts it is known as a panic.
(1997-01-07)

ABP
1. networking Alternating bit protocol.
2. Microsoft Address Book Provider.
(2001-02-11)

ABR
automatic baud rate detection

abscissa
mathematics The x coordinate on an (x, y) graph; the input of a function against which the output is plotted.
y is the ordinate .
See Cartesian coordinates.
(1997-07-08)

ABSET
language An early declarative language from the University of Aberdeen.
[ ABSET: A Programming Language Based on Sets , E.W. Elcock et al, Mach Intell 4, Edinburgh U Press, 1969, pp.467-492].
(1994-11-08)

absolute path
file system A path relative to the root directory. Its first character must be the pathname separator.
(1996-11-21)

absolute pathname
file system A pathname relative to the root directory.
(1996-11-21)

abstract class
programming In object-oriented programming, a class designed only as a parent from which sub-classes may be derived, but which is not itself suitable for instantiation. Often used to abstract out incomplete sets of features which may then be shared by a group of sibling sub-classes which add different variations of the missing pieces.
(1994-11-08)

abstract data type
programming (ADT) A type whose internal form is hidden behind a set of access functions. Objects of the type are created and inspected only by calls to the access functions. This allows the implementation of the type to be changed without requiring any changes outside the module in which it is defined.
Abstract data types are central to object-oriented programming where every class is an ADT.
A classic example of an ADT is a stack data type for which functions might be provided to create an empty stack, to push values onto a stack and to pop values from a stack.
(1995-02-22)

abstract interpretation
theory A partial execution of a program which gains information about its semantics (e.g. control structure, flow of information) without performing all the calculations. Abstract interpretation is typically used by compilers to analyse programs in order to decide whether certain optimisations or transformations are applicable.
The objects manipulated by the program (typically values and functions) are represented by points in some domain. Each abstract domain point represents some set of real ( concrete ) values.
For example, we may take the abstract points + , 0 and - to represent positive, zero and negative numbers and then define an abstract version of the multiplication operator, *#, which operates on abstract values:
*# | + 0 - ---|------ + | + 0 - 0 | 0 0 0 - | - 0 +
An interpretation is safe if the result of the abstract operation is a safe approximation to the abstraction of the concrete result. The meaning of a safe approximation depends on how we are using the results of the analysis.
If, in our example, we assume that smaller values are safer then the safety condition for our interpretation (#) is
a# *# b# = (a * b)#
where a# is the abstract version of a etc.
In general an interpretation is characterised by the domains used to represent the basic types and the abstract values it assigns to constants (where the constants of a language include primitive functions such as *). The interpretation of constructed types (such as user defined functions, sum types and product types) and expressions can be derived systematically from these basic domains and values.
A common use of abstract interpretation is strictness analysis.
See also standard interpretation.
(1994-11-08)

abstraction
1. Generalisation; ignoring or hiding details to capture some kind of commonality between different instances. Examples are abstract data types (the representation details are hidden), abstract syntax (the details of the concrete syntax are ignored), abstract interpretation (details are ignored to analyse specific properties).
2. programming Parameterisation, making something a function of something else. Examples are lambda abstractions (making a term into a function of some variable), higher-order functions (parameters are functions), bracket abstraction (making a term into a function of a variable).
Opposite of concretisation.
(1998-06-04)

abstract machine
1. language A processor design which is not intended to be implemented as hardware, but which is the notional executor of a particular intermediate language (abstract machine language) used in a compiler or interpreter. An abstract machine has an instruction set, a register set and a model of memory. It may provide instructions which are closer to the language being compiled than any physical computer or it may be used to make the language implementation easier to port to other platforms.
A virtual machine is an abstract machine for which an interpreter exists.
Examples: ABC, Abstract Machine Notation, ALF, CAML, F-code, FP/M, Hermes, LOWL, Christmas, SDL, S-K reduction machine, SECD, Tbl, Tcode, TL0, WAM.
2. theory A procedure for executing a set of instructions in some formal language, possibly also taking in input data and producing output. Such abstract machines are not intended to be constructed as hardware but are used in thought experiments about computability.
Examples: Finite State Machine, Turing Machine.
(1995-03-13)

Abstract Machine Notation
language (AMN) A language for specifying abstract machines in the B-Method, based on the mathematical theory of Generalised Substitutions.
(1995-03-13)

abstract syntax
language, data A representation of data (typically either a message passing over a communications link or a program being compiled) which is independent of machine-oriented structures and encodings and also of the physical representation of the data (called concrete syntax in the case of compilation or transfer syntax in communications).
A compiler's internal representation of a program will typically be specified by an abstract syntax in terms of categories such as statement , expression and identifier . This is independent of the source syntax (concrete syntax) of the language being compiled (though it will often be very similar). A parse tree is similar to an abstract syntax tree but it will typically also contain features such as parentheses which are syntactically significant but which are implicit in the structure of the abstract syntax tree.
(1998-05-26)

Abstract Syntax Notation 1
language, standard, protocol (ASN.1, X.208, X.680) An ISO/ITU-T standard for transmitting structured data on networks, originally defined in 1984 as part of CCITT X.409 '84. ASN.1 moved to its own standard, X.208, in 1998 due to wide applicability. The substantially revised 1995 version is covered by the X.680 series.
ASN.1 defines the abstract syntax of information but does not restrict the way the information is encoded. Various ASN.1 encoding rules provide the transfer syntax (a concrete representation) of the data values whose abstract syntax is described in ASN.1. The standard ASN.1 encoding rules include BER (Basic Encoding Rules - X.209), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules), and PER (Packed Encoding Rules).
ASN.1 together with specific ASN.1 encoding rules facilitates the exchange of structured data especially between application programs over networks by describing data structures in a way that is independent of machine architecture and implementation language.
OSI Application layer protocols such as X.400 MHS electronic mail, X.500 directory services and SNMP use ASN.1 to describe the PDUs they exchange.
Documents describing the ASN.1 notations: ITU-T Rec. X.680, ISO 8824-1; ITU-T Rec. X.681, ISO 8824-2; ITU-T Rec. X.682, ISO 8824-3; ITU-T Rec. X.683, ISO 8824-4
Documents describing the ASN.1 encoding rules: ITU-T Rec. X.690, ISO 8825-1; ITU-T Rec. X.691, ISO 8825-2.
[M. Sample et al, Implementing Efficient Encoders and Decoders for Network Data Representations , IEEE Infocom 93 Proc, v.3, pp. 1143-1153, Mar 1993. Available from Logica, UK].
See also snacc.
(2000-10-20)

abstract syntax tree
compiler (AST) A data structure representing something which has been parsed, often used as a compiler or interpreter's internal representation of a program while it is being optimised and from which code generation is performed. The range of all possible such structures is described by the abstract syntax.
(1994-11-08)

Abstract-Type and Scheme-Definition Language
language (ASDL) A language developed as part of Esprit project GRASPIN, as a basis for generating language-based editors and environments. It combines an object-oriented type system, syntax-directed translation schemes and a target-language interface.
[ ASDL - An Object-Oriented Specification Language for Syntax-Directed Environments , M.L. Christ-Neumann et al, European Software Eng Conf, Strasbourg, Sept 1987, pp.77-85].
(1996-02-19)

Abstract Windowing Toolkit
Abstract Window Toolkit

Abstract Window Toolkit
graphics (AWT) Java's platform-independent windowing, graphics, and user-interface toolkit. The AWT is part of the Java Foundation Classes (JFC) - the standard API for providing a graphical user interface (GUI) for a Java program.
Compare: SWING.
[ Java in a Nutshell , O'Reilly].
Home (http://java.sun.com/products/jdk/awt/).
(2000-07-26)

ABSYS
language An early declarative language from the University of Aberdeen which anticipated a number of features of Prolog.
[ ABSYS: An Incremental Compiler for Assertions , J.M. Foster et al, Mach Intell 4, Edinburgh U Press, 1969, pp. 423-429].
(1994-11-08)

AC2
audio An audio format, succeded by AC3.
(2001-12-18)

AC3
audio An audio format by Sony[?], the successor of AC2. AC3 is used for multi-channel audio for digital video.
(2001-12-18)

ACA
Application Control Architecture

ACAP
Application Configuration Access Protocol

Accelerated Graphics Port
hardware (AGP) A bus specification by Intel which gives low-cost 3D graphics cards faster access to main memory on personal computers than the usual PCI bus.
AGP dynamically allocates the PC's normal RAM to store the screen image and to support texture mapping, z-buffering and alpha blending.
Intel has built AGP into a chipset for its Pentium II microprocessor. AGP cards are slightly longer than a PCI card.
AGP operates at 66 MHz, doubled to 133 MHz, compared with PCI's 33 Mhz. AGP allows for efficient use of frame buffer memory, thereby helping 2D graphics performance as well.
AGP provides a coherent memory management design which allows scattered data in system memory to be read in rapid bursts. AGP reduces the overall cost of creating high-end graphics subsystems by using existing system memory.
AGP Implementors Forum AGP FAQ (http://www.agpforum.org/faq_ans.htm).
Specification (http://developer.intel.com/pc-supp/platform/agfxport/).
Intel AGP news (http://developer.intel.com/solutions/tech/agp.htm).
(1999-01-08)

accelerator
hardware Additional hardware to perform some function faster than is possible in software running on the normal CPU. Examples include graphics accelerators and floating-point accelerators.
(1994-11-08)

Accent
language A very high level interpreted language from CaseWare, Inc. with strings and tables. It is strongly typed and has remote function calls.
(1994-11-08)

accept
library, networking Berkeley Unix networking socket library routine to satisfy a connection request from a remote host. A specified socket on the local host (which must be capable of accepting the connection) is connected to the requesting socket on the remote host. The remote socket's socket address is returned.
Unix manual pages: accept(2), connect(2).
(1994-11-08)

Acceptable Use Policy
networking (AUP) Rules applied by many transit networks which restrict the use to which the network may be put. A well known example is NSFNet which does not allow commercial use. Enforcement of AUPs varies with the network.
(1994-11-08)

acceptance testing
programming Formal testing conducted to determine whether a system satisfies its acceptance criteria and thus whether the customer should accept the system.
(1996-05-10)

Acceptance, Test Or Launch Language
language (ATOLL) The language used for automating the checking and launch of Saturn rockets.
[ SLCC ATOLL User's Manual , IBM 70-F11-0001, Huntsville AL Dec 1970].
(2000-04-03)

acceptor
Finite State Machine

Access
1. language An English-like query language used in the Pick operating system.
2. database, product Microsoft Access.
(1994-11-08)

Access Control List
networking (ACL) A list of the services available on a server, each with a list of the hosts permitted to use the service.
(1994-11-08)

access method
networking 1. The way that network devices access the network medium.
2. Software in an SNA processor that controls the flow of data through a network.
[physical layer?]
(1998-03-02)

access permission
permission

access time
hardware, storage The average time interval between a storage peripheral (usually a disk drive or semiconductor memory) receiving a request to read or write a certain location and returning the value read or completing the write.
(1997-06-14)

ACCLAIM
project A European Union ESPRIT Basic Research Action.
[What's it about?]
(1994-11-08)

Accounting File
operating system A file which holds records of the resources used by individual jobs. These records are used to regulate, and calculate charges for, resources. An entry is opened in the accounting file as each job begins.
(1996-12-08)

accounting management
networking The process of identifying individual and group access to various network resources to ensure proper access capabilities (bandwidth and security) or to properly charge the various individuals and departments. Accounting management is one of five categories of network management defined by ISO for management of OSI networks.
(1997-05-05)

ACCU
Association of C and C++ Users

accumulator
processor In a central processing unit, a register in which intermediate results are stored. Without an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, shift, etc.) to main memory and read them back. Access to main memory is slower than access to the accumulator which usually has direct paths to and from the arithmetic and logic unit (ALU).
The canonical example is summing a list of numbers. The accumulator is set to zero initially, each number in turn is added to the value in the accumulator and only when all numbers have been added is the result written to main memory.
Modern CPUs usually have many registers, all or many of which can be used as accumulators. For this reason, the term accumulator is somewhat archaic. Use of it as a synonym for register is a fairly reliable indication that the user has been around for quite a while and/or that the architecture under discussion is quite old. The term in full is almost never used of microprocessor registers, for example, though symbolic names for arithmetic registers beginning in A derive from historical use of the term accumulator (and not, actually, from arithmetic ). Confusingly, though, an A register name prefix may also stand for address , as for example on the Motorola 680x0 family.
2. programming A register, memory location or variable being used for arithmetic or logic (as opposed to addressing or a loop index), especially one being used to accumulate a sum or count of many items. This use is in context of a particular routine or stretch of code. The FOOBAZ routine uses A3 as an accumulator.
[Jargon File]
(1999-04-20)

accuracy
mathematics How close to the real value a measurement is.
Compare precision.
(1998-04-19)

ACE
1. Advanced Computing Environment.
2. Adaptive Communication Environment.

ACF
Advanced Communications Function

ACF/NCP
Advanced Communication Function/Network Control Program

ACIA
Asynchronous Communications Interface Adapter

ACID
programming A mnemonic for the properties a transaction should have to satisfy the Object Management Group Transaction Service specifications. A transaction should be Atomic, its result should be Consistent, Isolated (independent of other transactions) and Durable (its effect should be permanent).
The Transaction Service specifications which part of the Object Services, an adjunct to the CORBA specifications.
(1997-05-15)

ACIS
graphics Andy, Charles, Ian's System.
A geometric engine that most CAD packages now use. ACIS uses a sophisticated object-oriented approach for modelling, the data is stored in boundary representation. Acis is owned by Spatial Technologies.
[How does this differ from solid modelling ?].
(1996-03-21)

ACK
1. character /ak/ The mnemonic for the ACKnowledge character, ASCII code 6.
2. communications A message transmitted to indicate that some data has been received correctly. Typically, if the sender does not receive the ACK message after some predetermined time, or receives a NAK, the original data will be sent again.
[Jargon File]
(1997-01-07)

ACL
1. Access Control List.
2. Association for Computational Linguistics.
3. A Coroutine Language.
A Pascal-based implementation of coroutines.
[ Coroutines , C.D. Marlin, LNCS 95, Springer 1980].
(1994-11-08)

ACM
1. body The Association for Computing.
2. communications addressed call mode.
(1997-05-07)

ACME
company, jargon /ak'mee/ 1. A Company that Makes Everything. The canonical imaginary business. Possibly also derived from the word acme meaning highest point .
2. A program for MS-DOS.
[What does it do?]
(1994-11-08)

ACOM
language An early system on the IBM 705.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-08)

Acorn Archimedes
Archimedes

Acorn Computer Group
company A holding company for Acorn Computers Limited, Acorn Australia, Acorn New Zealand, Acorn GmbH and Online Media. Acorn Computer Group owns 43% of Advanced RISC Machines Ltd.
(1994-11-08)

Acorn Computers Ltd.
company A UK computer manufacturer, part of the Acorn Computer Group plc. Acorn was founded on 1978-12-05, on a kitchen table in a back room. Their first creation was an electronic slot machine. After the Acorn System 1, 2 and 3, Acorn launched the first commercial microcomputer - the ATOM in March 1980. In April 1981, Acorn won a contract from the BBC to provide the PROTON. In January 1982 Acorn launched the BBC Microcomputer System. At one time, 70% of microcomputers bought for UK schools were BBC Micros.
The Acorn Computer Group went public on the Unlisted Securities Market in September 1983. In April 1984 Acorn won the Queen's Award for Technology for the BBC Micro and in September 1985 Olivetti took a controlling interest in Acorn. The Master 128 Series computers were launched in January 1986 and the BBC Domesday System in November 1986.
In 1983 Acorn began to design the Acorn RISC Machine (ARM), the first low-cost, high volume RISC processor chip (later renamed the Advanced RISC Machine). In June 1987 they launched the Archimedes range - the first 32-bit RISC based microcomputers - which sold for under UKP 1000. In February 1989 the R140 was launched. This was the first Unix workstation under UKP 4000. In May 1989 the A3000 (the new BBC Microcomputer) was launched.
In 1990 Acorn formed Advanced RISC Machines Ltd. (ARM) in partnership with Apple Computer, Inc. and VLSI to develop the ARM processor. Acorn has continued to develop RISC based products.
With 1992 revenues of 48.2 million pounds, Acorn Computers was the premier supplier of Information Technology products to UK education and had been the leading provider of 32-bit RISC based personal computers since 1987.
Acorn finally folded in the late 1990s. Their operating system, RISC OS was further developed by a consortium of suppliers.
Usenet newsgroups: news:comp.sys.acorn, news:comp.sys.acorn.announce, news:comp.sys.acorn.tech, news:comp.binaries.acorn, news:comp.sources.acorn, news:comp.sys.acorn.advocacy, news:comp.sys.acorn.games.
Acorn's FTP server (ftp://ftp.acorn.co.uk/)
HENSA software archive (http://micros.hensa.ac.uk/micros/arch.html). Richard Birkby's Acorn page (http://www.csv.warwick.ac.uk/~phudv/). RiscMan's Acorn page (http://www.geko.com.au/riscman/). Acorn On The Net (http://www.stir.ac.uk/~rhh01/Main.html). The Jungle by Simon Truss (http://www.csc.liv.ac.uk/users/u1smt/u1smt.html).
[Recent history?]
(2000-09-26)

Acorn RISC Machine
processor The original name of the Advanced RISC Machine.
(1995-03-07)

ACOS
language A BBS language for PRODOS 8 on Apple II. Macos is a hacked version of ACOS.
(1994-11-08)

acoustic coupler
hardware, communications A device used to connect a modem to a telephone line via an ordinary handset. The acoustic coupler converts electrical signals from the modem to sound via a loudspeaker, against which the mouthpiece of a telephone handset is placed. The earpiece is placed against a microphone which converts sound to electrical signals which return to the modem. The handset is inserted into a sound-proof box containing the louspeaker and microphone to avoid interference from ambient noise.
Acousitic couplers are now rarely used since most modems have a direct electrical connection to the telephone line. This avoids the signal degradation caused by conversion to and from audio. Direct connection is not always possible, and was actually illegal in the United Kingdom before British Telecom was privatised. BT's predecessor, the General Post Office, did not allow subscribers to connect their own equipment to the telephone line.
(1994-11-08)

ACP
Algebra of Communicating Processes

ACPI
Advanced Configuration and Power Interface

Acrobat
text, product A product from Adobe Systems, Inc., for manipulating documents stored in Portable Document Format. Acrobat provides a platform-independent means of creating, viewing, and printing documents.
Acropolis: the magazine of Acrobat publishing (http://www.acropolis.com/acropolis).
(1995-04-21)

acronym
jargon An identifier formed from some of the letters (often the initials) of a phrase and used as an abbreviation. This dictionary contains a great many acronyms; see the contents page for a list.
See also TLA.
(1995-03-15)

ACSE
Association Control Service Element

ACT
1. software Annual Change Traffic.
2. company Ada Core Technologies.
(1999-06-24)

ACT++
language A concurrent extension of C++ based on actors.
[ ACT++: Building a Concurrent C++ With Actors , D.G. Kafura TR89-18, VPI, 1989].
(1994-11-08)

Act1
language An actor language descended from Plasma.
[ Concurrent Object Oriented Programming in Act1 , H. Lieberman in Object Oriented Concurrent Programming, A. Yonezawa et al eds, MIT Press 1987].
(1994-11-08)

Act2
language An actor language.
[ Issues in the Design of Act2 , D. Theriault, TR728, MIT AI Lab, June 1983].
(1994-11-08)

Act3
language A high-level actor language by Carl Hewitt. A descendant of Act2 which provides support for automatic generation of customers and for delegation and inheritance.
[ Linguistic Support of Receptionists for Shared Resources , C. Hewitt et al in Seminar on Concurrency, S.D. Brookes et al eds, LNCS 197, Springer 1985, pp. 330-359].
(1994-11-08)

Actalk
language A Smalltalk-based actor language developed by J-P Briot in 1989.
[ Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment , J-P. Briot, Proc ECOOP '89, pp. 109-129].
(1994-11-08)

Actis
programming An approach to integrated CASE by Apollo.
(1994-11-08)

activation record
compiler (Or data frame , stack frame ) A data structure containing the variables belonging to one particular scope (e.g. a procedure body), as well as links to other activation records.
Activation records are usually created (on the stack) on entry to a block and destroyed on exit. If a procedure or function may be returned as a result, stored in a variable and used in an outer scope then its activation record must be stored in a heap so that its variables still exist when it is used. Variables in the current scope are accessed via the frame pointer which points to the current activation record. Variables in an outer scope are accessed by following chains of links between activation records. There are two kinds of link - the static link and the dynamic link.
(1995-03-07)

active DBMS
database A conventional or passive DBMS combined with a means of event detection and condition monitoring. Event handling is often rule-based, as with an expert system.
(1994-11-08)

Active Directory
operating system A directory service from Microsoft Corporation, similar in concept to Novell Netware Directory Services (NDS), that also integrates with the user organisation's DNS structure and is interoperable with LDAP. Active Directory is included in Windows 2000.
(2000-03-28)

Active Language I
tool, mathematics An early interactive mathematics system for the XDS 930 at the University of California at Berkeley.
[ Active Language I , R. de Vogelaere in Interactive Systems for Experimental Applied Mathematics, A-P 1968].
(1994-11-08)

active matrix display
hardware A type of liquid crystal display where each display element (each pixel) includes an active component such as a transistor to maintain its state between scans.
Contrast passive matrix display.
(1995-12-09)

Active Monitor
networking A process in an IBM token ring network which ensures a token is present on the ring, removes circulating frames with unknown or invalid destinations, and performs introductions between machines on the ring.
(1996-06-18)

active object
programming An object each instance of which has its own thread running as well as its own copies of the object's instance variables.
(1998-03-08)

Active Reconfiguring Message
hardware (ARM) An efficient mechanism which allows reconfiguration of the hardware logic of a system according to the particular data received or transmitted.
In ARM each message contains extra information in a Reconfiguring Header in addition to the data to be transferred. Upon arrival of the message the Reconfiguring Header is extracted, decoded and used to perform on-the-fly hardware reconfiguration. As soon as the hardware has been reconfigured the data information of the message can be processed.
[In what contect is this term used?]
(1997-06-06)

Active Server Pages
World-Wide Web, programming (ASP) A scripting environment for Microsoft Internet Information Server in which you can combine HTML, scripts and reusable ActiveX server components to create dynamic web pages.
IIS 4.0 includes scripting engines for Microsoft Visual Basic Scripting Edition (VBScript) and Microsoft JScript. ActiveX scripting engines for Perl and REXX are available through third-party developers.
[URL?]
(1999-12-02)

ActiveX
programming A type of COM component that can self-register, also known as an ActiveX control . All COM objects implement the IUnknown interface but an ActiveX control usually also implements some of the standard interfaces for embedding, user interface, methods, properties, events, and persistence.
ActiveX controls were originally called OLE Controls , and were required to provide all of these interfaces but that requirement was dropped, and the name changed, to make ActiveX controls lean enough to be downloaded as part of a web page.
Because ActiveX components can support the OLE embedding interfaces, they can be included in web pages. Because they are COM objects, they can be used from languages such as Visual Basic, Visual C++, Java, VBScript.
[ Understanding ActiveX and OLE , David Chappell, MS Press, 1996].
Home (http://www.microsoft.com/com/tech/activex.asp).
(2002-04-19)

ACT ONE
language, specification A specification language.
[ An Algebraic Specification Language with Two Levels of Semantics , H. Ehrig et al, Tech U Berlin 83-1983-02-03].
(1994-11-08)

Actor
language An object-oriented language for Microsoft Windows written by Charles Duff of the Whitewater Group ca. 1986. It has Pascal/C-like syntax. Uses a token-threaded interpreter. Early binding is an option.
[ Actor Does More than Windows , E.R. Tello, Dr Dobb's J 13(1):114-125 (Jan 1988)].
(1994-11-08)

actor
1. programming In object-oriented programming, an object which exists as a concurrent process.
2. operating system In Chorus, the unit of resource allocation.
(1994-11-08)

Actors
theory A model for concurrency by Carl Hewitt. Actors are autonomous and concurrent objects which execute asynchronously. The Actor model provides flexible mechanisms for building parallel and distributed software systems.
(http://osl.cs.uiuc.edu/).
[ Laws for Communicating Parallel Processes , C. Hewitt et al, IFIP 77, pp. 987-992, N-H 1977].
[ ACTORS: A Model of Concurrent Computation in Distributed Systems , Gul A. Agha agha@cs.uiuc.edu , Cambridge Press, MA, 1986].
(1999-11-23)

actor/singer/waiter/webmaster
World-Wide Web An elaboration of the ages-old concept of the actor/singer/waiter, someone who waits tables _for now_, but who has aspirations of breaking into the glamorous worlds of acting or New Media or both!
He keeps going to auditions and sending a resumes to C|Net (http://www.cnet.com/) because you have to pay your dues.
His credits include being on Friends (as an extra), in ER (actually, in an ER - he twisted his ankle once; but he counts the x-rays as screen credits), and having been the webmaster of an extensive multimedia interactive web site (his hotlist of Simpsons links).
(1998-04-04)

Actra
language A multi-processor exemplar-based Smalltalk.
[LaLonde et al, OOPSLA '86].
(1994-11-08)

actual argument
programming A value, expression, or reference passed to a function or subroutine when it is called and which replaces or is bound to the corresponding formal argument.
See: argument.
(2002-07-02)

Actus
language Pascal with parallel extensions, similar to the earlier Glypnir. It has parallel constants and index sets. Descendants include Parallel Pascal, Vector C and CMU's language PIE.
[ A Language for Array and Vector Processors, R.H. Perrott, ACM TOPLAS 1(2):177-195 (Oct 1979)].
(1994-11-08)

AD
Administrative Domain

ad
networking The country code for Andorra.
(1999-01-26)

Ada
language (After Ada Lovelace) A Pascal-descended language, designed by Jean Ichbiah's team at CII Honeywell in 1979, made mandatory for Department of Defense software projects by the Pentagon. The original language was standardised as Ada 83 , the latest is Ada 95 .
Ada is a large, complex, block-structured language aimed primarily at embedded applications. It has facilities for real-time response, concurrency, hardware access and reliable run-time error handling. In support of large-scale software engineering, it emphasises strong typing, data abstraction and encapsulation. The type system uses name equivalence and includes both subtypes and derived types. Both fixed and floating-point numerical types are supported.
Control flow is fully bracketed: if-then-elsif-end if, case-is-when-end case, loop-exit-end loop, goto. Subprogram parameters are in, out, or inout. Variables imported from other packages may be hidden or directly visible. Operators may be overloaded and so may enumeration literals. There are user-defined exceptions and exception handlers.
An Ada program consists of a set of packages encapsulating data objects and their related operations. A package has a separately compilable body and interface. Ada permits generic packages and subroutines, possibly parametrised.
Ada support single inheritance, using tagged types which are types that can be extended via inheritance.
Ada programming places a heavy emphasis on multitasking. Tasks are synchronised by the rendezvous, in which a task waits for one of its subroutines to be executed by another. The conditional entry makes it possible for a task to test whether an entry is ready. The selective wait waits for either of two entries or waits for a limited time.
Ada is often criticised, especially for its size and complexity, and this is attributed to its having been designed by committee. In fact, both Ada 83 and Ada 95 were designed by small design teams to be internally consistent and tightly integrated. By contrast, two possible competitors, Fortran 90 and C++ have both become products designed by large and disparate volunteer committees.
See also Ada/Ed, Toy/Ada.
Home of the Brave Ada Programmers (http://lglwww.epfl.ch/Ada/). Ada FAQs (http://lglwww.epfl.ch/Ada/FAQ/) (hypertext), text only (ftp://lglftp.epfl.ch/pub/Ada/FAQ).
(http://wuarchive.wustl.edu/languages/ada/), (ftp://ajpo.sei.cmu.edu/), (ftp://stars.rosslyn.unisys.com/pub/ACE_8.0).
E-mail: adainfo@ajpo.sei.cmu.edu .
Usenet newsgroup: news:comp.lang.ada.
An Ada grammar (ftp://primost.cs.wisc.edu/) including a lex scanner and yacc parser is available. E-mail: masticol@dumas.rutgers.edu .
Another yacc grammar and parser for Ada by Herman Fischer (ftp://wsmr-simtel20.army.mil/PD2: ADA.EXTERNAL-TOOLS GRAM2.SRC).
An LR parser and pretty-printer for Ada from NASA is available from the Ada Software Repository.
Adamakegen generates makefiles for Ada programs.
[ Reference Manual for the Ada Programming Language , ANSI/MIL STD 1815A, US DoD (Jan 1983)]. Earlier draft versions appeared in July 1980 and July 1982. ISO 1987.
[Jargon File]
(2000-08-12)

Ada++
language An object-oriented extension to Ada, implemented as an Ada preprocessor. Obsoleted by Ada 95 which includes object-oriented features.
[Jargon File]
(1995-09-19)

Ada 83
language The original Ada, as opposed to Ada 95.
(1995-03-13)

Ada 95
language A revision and extension of Ada (Ada 83) begun in 1988 and completed on 1994-12-01 by a team lead by Tucker Taft of Intermetrics. Chris Anderson was the Project Manager. The printed standard was expected to be available around 1995-02-15.
Additions include object-orientation (tagged types, abstract types and class-wide types), hierarchical libraries and synchronisation with shared data (protected types) similar to Orca. It lacks multiple inheritance but supports the construction of multiple inheritance type hierarchies through the use of generics and type composition.
GNAT aims to be a free implementation of Ada 95.
You can get the standard from the Ada Joint Program Office (http://wuarchive.wustl.edu/languages/ada/ajpo/index.shtml).
[ Introducing Ada 9X , J.G.P. Barnes, Feb 1993].
(1999-12-02)

Ada 9X
language The working title for Ada 95 before its adoption as an ISO standard.
(1995-01-19)

ADABAS
database A relational database system by Software AG. While it was initially designed for large IBM mainframe systems (e.g. S/370 in the late 1970s), it has been ported to numerous other platforms over the last few years such as several flavors of Unix including AIX.
ADABAS stores its data in tables (and is thus relational ) but also uses some non-relational techniques, such as multiple values and periodic groups.
(1995-10-30)

Ada Core Technologies
company (ACT) The company that maintains GNAT.
Ada Core Technologies was founded in 1994 by the original authors of the GNAT compiler. ACT provides software for Ada 95 development.
Home (http://www.gnat.com/).
(2000-10-28)

Ada/Ed
language, education An interpreter, editor, and run-time environment for Ada, intended as a teaching tool. Ada/Ed does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University as part of a project in language definition and software prototyping.
AdaEd runs on Unix, MS-DOS, Atari ST, and Amiga.
It handles nearly all of Ada 83 and was last validated with version 1.7 of the ACVC tests. Being an interpreter, it does not implement most representation clauses and thus does not support systems programming close to the machine level.
Latest version: 1.11.0a+, as of 1994-08-18. A later version is known as GW-Ada.
E-mail: Michael Feldman mfeldman@seas.gwu.edu .
(ftp://ftp.wustl.edu/amiga/languages/ada), (ftp://cnam.cnam.fr/pub/Ada/Ada-Ed). For Amiga (ftp://cs.nyu.edu/pub/adaed).
RISC OS port (ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c052).
(1999-11-04)

Adaline
architecture Name given by Widrow to adaptive linear neurons, that is neurons (see McCulloch-Pitts) which learn using the Widrow-Huff Delta Rule. See also Madaline.
(1995-03-14)

Ada Lovelace
person (1811-1852) The daughter of Lord Byron, who became the world's first programmer while cooperating with Charles Babbage on the design of his mechanical computing engines in the mid-1800s.
The language Ada was named after her.
[ Ada, Enchantress of Numbers Prophit of the Computer Age , Betty Alexandra Toole (http://www.well.com/user/adatoole)].
[More details?]
(1999-07-17)

ADAM
A Data Management system

Adam7
graphics, algorithm One of the progressive coding methods used in PNG images. Adam7, named after its author, Adam M. Costello, consists of seven distinct passes over the image. Each pass transmits a subset of the pixels in the image. The pass in which each pixel is transmitted is defined by replicating the following 8-by-8 pattern over the entire image, starting at the top left:
1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
3 6 4 6 3 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
(2000-09-12)

Adamakegen
tool A program that generates makefiles for Ada programs. Adamakegen was written by Owen O'Malley owen-omalley@home.net . It requires Icon and runs under Verdix and SunAda.
Current version: 2.6.3, as of 1993-03-02.
Home (http://members.home.net/owenomalley/adamakegen.html).
(2001-11-07)

ADAMO
database A data management system written at CERN based on the Entity-Relationship model.
(1995-03-14)

Ada-O
language An Ada subset developed at the University of Karlsruhe in 1979, used for compiler bootstrapping. It lacks overloading, derived types, real numbers, tasks and generics.
[ Revised Ada-O Reference Manual , G. Persch et al, U Karlsruhe, Inst fur Infor II, Bericht Nr 9/81].
(1995-02-14)

Adaplan
language A functional database language based upon Backus' FP language.
[Erwig Lipeck, Proc. DBPL-3, 1991].
(1995-05-07)

Adaplex
language, database An extension of Ada for functional databases.
[ Adaplex: Rationale and Reference Manual 2nd ed , J.M. Smith et al, Computer Corp America, Cambridge MA, 1983].
(1995-02-14)

Ada Programming Support Environment
tool, project (APSE) A program or set of programs to support software development in the Ada language.
[Examples?]
(1997-06-30)

ADAPT
language A subset of APT.
[Sammet 1969, p. 606].
(1995-02-14)

Adaptable User Interface
tool, product (AUI, Oracle Toolkit) A toolkit from Oracle allowing applications to be written which will be portable between different windowing systems. AUI provides one call level interface along with a resource manager and editor across a range of standard GUIs, including Macintosh, Microsoft Windows and the X Window System.
(1995-03-16)

Adaptec
company A company specialising in the aera of movement of data between computers. Adaptec designs hardware and software products to transfer data from a computer to a peripheral device or network.
Founded in 1981, the company achieved profitability in 1984, went public in 1986, and to date has achieved 54 consecutive profitable quarters.
Revenues for fiscal 1997 were $934 million, a 42% increase over the prior year. Net income, excluding acquisition charges, for fiscal year 1997 was $198 million or $1.72 per share.
Home (http://www.adaptec.com).
(1999-08-25)

adaptive answering
communications A feature which allows a faxmodem to answer the telephone and decide whether the incoming call is a fax or data call. Most Class 1 faxmodems do this. The U.S. Robotics Class 1 implementation however seems not to do it, it must be set to answer as either one or the other.
(1995-03-16)

Adaptive Communication Environment
communications, tool A C++ wrapper library for communications from the University of California at Irvine.
(1995-03-16)

Adaptive Digital Pulse Code Modulation
communications (ADPCM) A compression technique which records only the difference between samples and adjusts the coding scale dynamically to accomodate large and small differences. ADPCM is simple to implement, but introduces much noise.
[Used where? Does the Sony minidisk use ADPCM or ATRAC?]
(1998-12-10)

adaptive learning
algorithm (Or Hebbian learning ) Learning where a system programs itself by adjusting weights or strengths until it produces the desired output.
(1995-03-16)

adaptive routing
dynamic routing

Adaptive Simulated Annealing
language (ASA) An algorithm for global optimisation of generic functions by Lester Ingber ingber@alumni.caltech.edu ingber@ingber.com .
Latest version: 20.5, as of 2000-02-29.
Home (http://www.alumni.caltech.edu/~ingber/).
Home (http://www.ingber.com/).
Mailing list: asa-request@alumni.caltech.edu .
(2000-02-29)

Adaptive TRansform Acoustic Coding
algorithm (ATRAC) An audio compression algorithm, introduced by Sony for its Mini Disk, which relies on the masking of low-amplitude frequency components by temporaly adjacent high-amplitude components. ATRAC consists of a three-band subband encoder (0...5.5, 5.5...11, 11...22 kHz) and a MDCT based transformation encoder.
[Does Sony Minidisk use ADPCM?]
(2001-12-13)

Adaptor
tool (Automatic DAta Parallelism TranslatOR) A source to source transformation tool that transforms data parallel programs written in Fortran 77 with array extensions, parallel loops, and layout directives to parallel programs with explicit message passing. ADAPTOR generates Fortran 77 host and node programs with message passing. The new generated source codes have to be compiled by the compiler of the parallel computer.
Version 1.0 runs on CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant or a network of Suns or RS/6000s.
(ftp://ftp.gmd.de/gmd/adaptor/adp_1.0.tar.Z).
[Connection with Thomas Brandes and GMD?]
(1993-06-01)

Ada Semantic Interface Specification
language (ASIS) An intermediate representation for Ada.
E-mail: sblake@thomsoft.com .
See also Diana.
(1995-02-15)

Ada Software Repository
language A collection of Ada programs?
Home (http://wuarchive.wustl.edu/languages/ada/asr/).
(1995-01-06)

ADC
Analog to Digital Converter

ADCCP
Advanced Data Communications Control Protocol

A/D converter
Analog to Digital Converter

ADCU
application developer customer unit

AD/Cycle
tool, product Application Development cycle.
A set of SAA-compatible IBM-sponsored products for program development, running on workstations accessing a central repository on a mainframe. The stages cover requirements, analysis and design, production of the application, building and testing and maintenance. Technologies used include code generators and knowledge based systems as well as languages and debuggers.
(1994-10-24)

ADD 1 TO COBOL GIVING COBOL
humour, language (From COBOL's equivalent syntax to C's C++) A tongue-in-cheek suggestion by Bruce Clement for an object-oriented COBOL.
[SIGPLAN Notices 27(4):90-91 (Apr 1992)].
(1995-03-17)

ADDD
tool A Depository of Development Documents.
A public domain Software Engineering Environment from GMD developed as part of the STONE project.
(1995-02-03)

additive
mathematics A function f : X - Y is additive if
for all Z = X
f (lub Z) = lub f z : z in Z
(f preserves lubs ). All additive functions defined over cpos are continuous.
( = is written in LaTeX as subseteq, lub as ;sqcup ).
(1995-02-03)

address
1. networking e-mail address.
2. networking Internet address.
3. networking MAC address.
4. storage, programming An unsigned integer used to select one fundamental element of storage, usually known as a word from a computer's main memory or other storage device. The CPU outputs addresses on its address bus which may be connected to an address decoder, cache controller, memory management unit, and other devices.
While from a hardware point of view an address is indeed an integer most strongly typed programming languages disallow mixing integers and addresses, and indeed addresses of different data types. This is a fine example for syntactic salt: the compiler could work without it but makes writing bad programs more difficult.
(1997-07-01)

address bus
processor The connections between the CPU and memory which carry the address from/to which the CPU wishes to read or write. The number of bits of address bus determines the maximum size of memory which the processor can access.
See also data bus.
(1995-03-22)

addressed call mode
communications (ACM) A mode that permits control signals and commands to establish and terminate calls in V.25bis.
(1997-05-07)

addressee
communications One to whom something is addressed. E.g. The To, CC, and BCC headers list the addressees of the e-mail message . Normally an addressee will eventually be a recipient, unless there is a failure at some point (an e-mail bounces ) or the message is redirected to a different addressee.
(2000-03-22)

addressing mode
1. processor, programming One of a set of methods for specifying the operand(s) for a machine code instruction. Different processors vary greatly in the number of addressing modes they provide. The more complex modes described below can usually be replaced with a short sequence of instructions using only simpler modes.
The most common modes are register - the operand is stored in a specified register; absolute - the operand is stored at a specified memory address; and immediate - the operand is contained within the instruction.
Most processors also have indirect addressing modes, e.g. register indirect , memory indirect where the specified register or memory location does not contain the operand but contains its address, known as the effective address . For an absolute addressing mode, the effective address is contained within the instruction.
Indirect addressing modes often have options for pre- or post- increment or decrement, meaning that the register or memory location containing the effective address is incremented or decremented by some amount (either fixed or also specified in the instruction), either before or after the instruction is executed. These are very useful for stacks and for accessing blocks of data. Other variations form the effective address by adding together one or more registers and one or more constants which may themselves be direct or indirect. Such complex addressing modes are designed to support access to multidimensional arrays and arrays of data structures.
The addressing mode may be implicit - the location of the operand is obvious from the particular instruction. This would be the case for an instruction that modified a particular control register in the CPU or, in a stack based processor where operands are always on the top of the stack.
2. In IBM System 370/XA the addressing mode bit controls the size of the effective address generated. When this bit is zero, the CPU is in the 24-bit addressing mode, and 24 bit instruction and operand effective addresses are generated. When this bit is one, the CPU is in the 31-bit addressing mode, and 31-bit instruction and operand effective addresses are generated.
[ IBM System/370 Extended Architecture Principles of Operation , Chapter 5., 'Address Generation', BiModal Addressing].
(1995-03-30)

address mask
networking (Or subnet mask ) A bit mask used to identify which bits in an IP address correspond to the network address and subnet portions of the address. This mask is often referred to as the subnet mask because the network portion of the address can be determined by the class inherent in an IP address. The address mask has ones in positions corresponding to the network and subnet numbers and zeros in the host number positions.
(1996-03-21)

address resolution
networking Conversion of an Internet address into the corresponding physical address (Ethernet address). This is usually done using Address Resolution Protocol.
The resolver is a library routine and a set of processes which converts hostnames into Internet addresses, though this process in not usually referred to as resolution. See DNS.
(1996-04-09)

Address Resolution Protocol
networking, protocol (ARP) A method for finding a host's Ethernet address from its Internet address. The sender broadcasts an ARP packet containing the Internet address of another host and waits for it (or some other host) to send back its Ethernet address. Each host maintains a cache of address translations to reduce delay and loading. ARP allows the Internet address to be independent of the Ethernet address but it only works if all hosts support it.
ARP is defined in RFC 826.
The alternative for hosts that do not do ARP is constant mapping.
See also proxy ARP, reverse ARP.
(1995-03-20)

address space
operating system, architecture The range of addresses which a processor or process can access, or at which a device can be accessed. The term may refer to either physical address or virtual address.
The size of a processor's address space depends on the width of the processor's address bus and address registers.
Each device, such as a memory integrated circuit, will have its own local address space which starts at zero. This will be mapped to a range of addresses which starts at some base address in the processor's address space.
Similarly, each process will have its own address space, which may be all or a part of the processor's address space. In a multitasking system this may depend on where in memory the process happens to have been loaded. For a process to be able to run at any address it must consist of position-independent code. Alternatively, each process may see the same local address space, with the memory management unit mapping this to the process's own part of the processor's address space.
(1999-11-01)

Address Strobe
storage (AS) One of the input signals of a memory device, especially semiconductor memory, which is asserted to tell the memory device that the address inputs are valid. Upon receiving this signal the selected memory device starts the memory access (read/write) indicated by its other inputs.
It may be driven directly by the processor or by a memory controller.
(1996-10-02)

ADELE
language A language for specification of attribute grammars, used by the MUG2 compiler compiler.
[ An Overview of the Attribute Definition Language ADELE , H. Ganziger in GI3, Fachesprach Compiler-Compiler , W. Henhapl ed, Munchen Mar 1982, pp.22-53].
(1995-01-23)

ADES
language An early system on the IBM 704.
Version: ADES II.
[Listed in CACM 2(5):16 (May 1959)].
(1995-03-20)

ad hoc
Contrived purely for the purpose in hand rather than planned carefully in advance. E.g. We didn't know what to do about the sausage rolls, so we set up an ad-hoc committee .
(1995-03-25)

ad-hockery
jargon /ad-hok'*r-ee/ (Purdue) 1. Gratuitous assumptions made inside certain programs, especially expert systems, which lead to the appearance of semi-intelligent behaviour but are in fact entirely arbitrary. For example, fuzzy-matching of input tokens that might be typing errors against a symbol table can make it look as though a program knows how to spell.
2. Special-case code to cope with some awkward input that would otherwise cause a program to fail, presuming normal inputs are dealt with in some cleaner and more regular way. Also called ad-hackery , ad-hocity (/ad-hos'*-tee/), ad-crockery .
See also ELIZA effect.
[Jargon File]
(1995-01-05)

ad-hoc polymorphism
overloading

Aditi
database, project The Aditi Deductive Database System. A multi-user deductive database system from the Machine Intelligence Project at the University of Melbourne. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information.
Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries.
Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms. Base relations can be indexed with B-trees or multi-level signature files.
Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Proper transaction processing is not supported in this release.
The beta release runs on SPARC/SunOS4.1.2 and MIPS/Irix4.0.
E-mail: aditi@cs.mu.oz.au .
(1992-12-17)

adjacency
networking A relationship between two network devices, e.g. routers, which are connected by one media segment so that a packet sent by one can reach the other without going through another network device. The concept of adjacency is important in the exchange of routing information.
Adjacent SNA nodes are nodes connected to a given node with no intervening nodes. In DECnet and OSI, adjacent nodes share a common segment (Ethernet, FDDI, Token Ring).
(1998-03-10)

adjacent
adjacency

ADL
1. games Adventure Definition Language.
2. language Ada Development Language.
R.A. Lees, 1989.
3. programming API Definition Language.
A project for Automatic Interface Test Generation.
(1995-11-17)

AdLog
language A language which adds a Prolog layer to Ada.
[ AdLog, An Ada Components Set to Add Logic to Ada , G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988].
(1995-03-21)

ADM
language A picture query language, extension of Sequel2.
[ An Image-Oriented Database System , Y. Takao et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp. 527-538].
(1995-03-21)

ADMD
Administration Management Domain

admin
system administrator

Administration Management Domain
networking (ADMD) An X.400 Message Handling System public service carrier. The ADMDs in all countries worldwide together provide the X.400 backbone. Examples: MCImail and ATTmail in the U.S., British Telecom Gold400mail in the U.K.
See also PRMD.
[RFC 1208].
(1997-05-07)

administrative distance
networking A rating of the trustworthiness of a routing information source set by the router administrator. In Cisco routers, administrative distance is a number between 0 and 255 (the higher the value, the less trustworthy the source).
(1998-03-10)

Administrative Domain
networking (AD) A collection of hosts and routers, and the interconnecting network(s), managed by a single administrative authority.
(1994-11-24)

admissible
algorithm A description of a search algorithm that is guaranteed to find a minimal solution path before any other solution paths, if a solution exists. An example of an admissible search algorithm is A* search.
(1999-07-19)

Adobe Systems, Inc.
company A California font foundry and software house. Adobe created the PostScript page description language and wrote the Blue Book, Green Book, Red Book and White Book on it. They also developed PDF. Adobe took over Frame Technology Corporation in late 1995/early 1996.
Home (http://www.adobe.com/).
E-mail: postmaster@adobe.com .
Address: Silicon Valley, California, USA.
(1996-12-13)

Adobe Type Manager
text, tool, product (ATM) Software that produces PostScript outline fonts on screen and paper. There are versions that run under Microsoft Windows and on the Macintosh. ATM can do hinting, multiple master and anti-aliasing.
(1998-03-10)

ADPCM
Adaptive Digital Pulse Code Modulation

ADR
Astra Digital Radio

ADS
An expert system.

ADSL
Asymmetric Digital Subscriber Line

ADSP
AppleTalk Data Stream Protocol

ADSU
ATM Data Service Unit

ADT
abstract data type

Advanced Audio Coding
audio (AAC) A successor to MP3, allowing lower bit rates and more stable quality.
See MPEG-2 AAC Low Profile and MPEG-4 AAC Main Profile.
(2001-12-02)

Advanced Communication Function/Network Control Program
networking (ACF/NCP, usually called just NCP ) The primary SNA network control program, one of the ACF products. ACF/NCP resides in the communications controller and interfaces with ACF/VTAM in the host processor to control network communications.
NCP can also communicate with multiple hosts using local channel or remote links (PU type 5 or PU type 4) thus enabling cross domain application communication. In a multiple mainframe SNA environment, any terminal or application can access any other application on any host using cross domain logon.
See also Emulator program.
[Communication or Communications?]
(1999-01-29)

Advanced Communications Function
networking (ACF) A group of IBM SNA products that provide distributed processing and resource sharing such as VTAM and NCP.
[Communication or Communications?]
(1997-05-07)

Advanced Computing Environment
body (ACE) A consortium to agree on an open architecture based on the MIPS R4000 chip. A computer architecture ARCS will be defined, on which either OS/2 or Open Desktop can be run.
(1995-02-03)

Advanced Configuration and Power Interface
hardware, standard (ACPI) An open industry standard developed by Intel, Microsoft, and Toshiba for configuration and power management.
The key element of the standard is power management with two important improvements. First, it puts the OS in control of power management. In the currently existing APM model most of the power management tasks are run by the BIOS, with limited intervention from the OS. In ACPI, the BIOS is responsible for the dirty details of communicating with hardware equipment but the control is in the OS.
The other important feature is bringing power management features now available in portable computers only to the desktop as well as into servers. Extremely low consumption states, i.e., in which only memory, or not even memory is powered, but from which ordinary interrupts (real time clock, keyboard, modem, etc.) can quickly wake the system, are today available in portables only. The standard should make these available for a wider range of systems.
For ACPI to work the operating system, the motherboard chipset, and for some functions even the CPU has to be designed for it. Microsoft is heavily driving a move toward ACPI, both Windows NT 5.0 and Windows 98 will support it. It remains to be seen how much hardware manufacturers will embrace the technology and whether other operating system vendors will support it.
ACPI Information Page (http://www.teleport.com/~acpi/).
(1998-03-27)

Advanced Data Communications Control Protocol
protocol An ANSI standard bit-oriented data link control protocol.
(1997-05-07)

Advanced Encryption Standard
cryptography, algorithm (AES, Rijndael) The symmetric block cipher, designed by Joan Daemen and Vincent Rijmen, that won the NIST's contest for a replacement for the Data Encryption Standard (DES).
Final, official acceptance as a Federal Information Processing Standard (FIPS) is expected some time between April and June 2001.
AES currently supports 128, 192 and 256-bit keys and encryption blocks, but may be extended in multiples of 32 bits.
Home (http://www.nist.gov/aes).
Rijndael home page (http://www.esat.kuleuven.ac.be/~rijmen/rijndael/).
(2001-05-09)

Advanced Function Presentation
printer, language (AFP) A page description language from IBM introduced in 1984 initially as Advanced Function Printing. AFP was first developed for mainframes and then brought to minicomputers and workstations. It is implemented on the various platforms by Print Services Facility (PSF) software, which generates the native IBM printer language, IPDS and, depending on the version, PostScript and LaserJet PCL as well. IBM calls AFP a printer architecture rather than a page description language.

Advanced Function Printing
Advanced Function Presentation

Advanced Intelligent Tape
storage (AIT) A form of magnetic tape and drive using AME developed by Sony for storing large amounts of data. An AIT can store over 50 gigabytes and transfer data at six megabytes/second (in February 1999). AIT features high speed file access, long head and media life, the ALDC compression algorithm, and a MIC chip.
Home (http://www.aittape.com/).
Seagate (http://www.seagate.com/support/tape/scsiide/sidewinder/ait_main_page.shtml).
(1999-04-16)

Advanced Interactive eXecutive
operating system (AIX) IBM's version of Unix, taken as the basis for the OSF standard.
Usenet newsgroup: news:comp.sys.unix.aix.
(1994-11-24)

Advanced Micro Devices, Inc.
company (AMD) A US manufacturer of integrated circuits, founded in 1969. AMD was the fifth-largest IC manufacturer in 1995. AMD focuses on the personal and networked computation and communications market. They produce microprocessors, embedded processors and related peripherals, memories, programmable logic devices, circuits for telecommunications and networking applications.
In 1995, AMD had 12000 employees in the USA and elsewhere and manufacturing facilities in Austin, Texas; Aizu-Wakamatsu, Japan; Bangkok, Thailand; Penang, Malaysia; and Singapore.
AMD made the AMD 2900 series of bit-slice TTL components and clones of the Intel 80386 and Intel 486 microprocessors.
AMD Home (http://www.amd.com/)
Address: Sunnyvale, CA, USA.
(1995-02-27)

Advanced Network Systems Architecture
networking (ANSA) A software bus based on a model for distributed systems developed as an ESPRIT project.
Home (http://www.ansa.co.uk/)
(1996-04-01)

Advanced Peer-to-Peer Networking
networking, product (APPN) IBM data communications support that routes data in a network between two or more APPC systems that need not be adjacent.
(1995-02-03)

Advanced Power Management
hardware (APM) A feature of some displays, usually but not always, on laptop computers, which turns off power to the display after a preset period of inactivity to conserve electrical power. Monitors with this capability are usually refered to as green monitors , meaning environmentally friendly.
Not to be confused with a screen blanker which is software that causes the display to go black (by setting every pixel to black) to prevent burn-in.
(1997-08-25)

Advanced Program-to-Program Communications
networking, product (APPC) An implementation of the IBM SNA/SDLC LU6.2 protocol that allows interconnected systems to communicate and share the processing of programs.
(1995-02-03)

Advanced Research Projects Agency
Defense Advanced Research Projects Agency

Advanced Research Projects Agency Network
networking (ARPANET) A pioneering longhaul wide area network funded by DARPA (when it was still called ARPA ?). It became operational in 1968 and served as the basis for early networking research, as well as a central backbone during the development of the Internet. The ARPANET consisted of individual packet switching computers interconnected by leased lines. Protocols used include FTP and telnet. It has now been replaced by NSFnet.
[1968 or 1969?]
(1994-11-17)

Advanced Revelation
database (AREV) A database development environment for personal computers available from Revelation Software since 1982. Originally based on the PICK operating system, there are over one million users worldwide in 1996.
(1996-12-12)

Advanced RISC Computing Specification
standard, hardware (ARC, previously ARCS) The baseline hardware requirements for an ACE-compatible system.
(1995-01-16)

Advanced RISC Machine
processor (ARM, Originally Acorn RISC Machine). A series of low-cost, power-efficient 32-bit RISC microprocessors for embedded control, computing, digital signal processing, games, consumer multimedia and portable applications. It was the first commercial RISC microprocessor (or was the MIPS R2000?) and was licensed for production by Asahi Kasei Microsystems, Cirrus Logic, GEC Plessey Semiconductors, Samsung, Sharp, Texas Instruments and VLSI Technology.
The ARM has a small and highly orthogonal instruction set, as do most RISC processors. Every instruction includes a four-bit code which specifies a condition (of the processor status register) which must be satisfied for the instruction to be executed. Unconditional execution is specified with a condition true .
Instructions are split into load and store which access memory and arithmetic and logic instructions which work on registers (two source and one destination).
The ARM has 27 registers of which 16 are accessible in any particular processor mode. R15 combines the program counter and processor status byte, the other registers are general purpose except that R14 holds the return address after a subroutine call and R13 is conventionally used as a stack pointer. There are four processor modes: user, interrupt (with a private copy of R13 and R14), fast interrupt (private copies of R8 to R14) and supervisor (private copies of R13 and R14). The ALU includes a 32-bit barrel-shifter allowing, e.g., a single-cycle shift and add.
The first ARM processor, the ARM1 was a prototype which was never released. The ARM2 was originally called the Acorn RISC Machine. It was designed by Acorn Computers Ltd. and used in the original Archimedes, their successor to the BBC Micro and BBC Master series which were based on the eight-bit 6502 microprocessor. It was clocked at 8 MHz giving an average performance of 4 - 4.7 MIPS. Development of the ARM family was then continued by a new company, Advanced RISC Machines Ltd.
The ARM3 added a fully-associative on-chip cache and some support for multiprocessing. This was followed by the ARM600 chip which was an ARM6 processor core with a 4-kilobyte 64-way set-associative cache, an MMU based on the MEMC2 chip, a write buffer (8 words?) and a coprocessor interface.
The ARM7 processor core uses half the power of the ARM6 and takes around half the die size. In a full processor design (ARM700 chip) it should provide 50% to 100% more performance.
In July 1994 VLSI Technology, Inc. released the ARM710 processor chip.
Thumb is an implementation with reduced code size requirements, intended for embedded applications.
An ARM800 chip is also planned.
AT T, IBM, Panasonic, Apple Coputer, Matsushita and Sanyo either rely on, or manufacture, ARM 32-bit processor chips.
Usenet newsgroup: news:comp.sys.arm.
(1997-08-05)

Advanced RISC Machines Ltd.
company (ARM) A company formed in 1990 by Acorn Computers Ltd., Apple Computer, Inc. and VLSI Technology to market and develop the Advanced RISC Machine microprocessor family, originally designed by Acorn.
ARM Ltd. also designs and licenses peripheral chips and supplies supporting software and hardware tools. In April 1993, Nippon Investment and Finance, a Daiwa Securities company, became ARM's fourth investor. In May 1994 Samsung became the sixth large company to have a licence to use the ARM processor core.
The success of ARM Ltd. and the strategy to widen the availability of RISC technology has resulted in its chips now being used in a range of products including the Apple Newton. As measured by an independent authority, more ARM processors were shipped than SPARC chips in 1993. ARM has also sold three times more chips than the PowerPC consortium.
Home (http://www.systemv.com/armltd/index.html)
E-mail: armltd.co.uk.
Address: Advanced RISC Machines Ltd. Fulbourn Road, Cherry Hinton, Cambridge CB1 4JN, UK.
Telephone: +44 (1223) 400 400. Fax: +44 (1223) 400 410.
(1994-11-03)

Advanced SCSI Peripheral Interface
storage, programming (ASPI) A set of libraries designed to provide programs running under Microsoft Windows with a consistent interface for accessing SCSI devices. ASPI has become a de facto standard.
The ASPI layer is a collection of programs (DLLs) that together implement the ASPI interface. Many problems are caused by device manufacturers packaging incomplete sets of these DLLs with their hardware, often with incorrect date stamps, causing newer versions to get replaced with old. ASPICHK from Adaptec will check the ASPI components installed on a computer.
The latest ASPI layer as of March 1999 is 1014.
The ATAPI standard for IDE devices makes them look to the system like SCSI devices and allows them to work through ASPI.
(http://resource.simplenet.com/primer/aspi.htm).
(1999-03-30)

Advanced Software Environment
programming (ASE) An object-oriented application support system from Nixdorf.
(1995-09-12)

Advanced STatistical Analysis Program
tool, electronics (ASTAP) A program for analysing electronic circuits and other networks.
[ Advanced Statistical Analysis Program (ASTAP) Program Reference Manual , SH-20-1118, IBM, 1973].
(2000-01-27)

Advanced Technology Attachment
storage, hardware, standard (ATA, AT Attachment or Integrated Drive Electronics , IDE) A disk drive interface standard based on the IBM PC ISA 16-bit bus but also used on other personal computers. The ATA specification deals with the power and data signal interfaces between the motherboard and the integrated disk controller and drive. The ATA bus only supports two devices - master and slave.
ATA drives may in fact use any physical interface the manufacturer desires, so long as an embedded translator is included with the proper ATA interface. ATA controllers are actually direct connections to the ISA bus.
Originally called IDE, the ATA interface was invented by Compaq around 1986, and was developed with the help of Western Digital, Imprimis, and then-upstart Conner Peripherals. Efforts to standardise the interface started in 1988; the first draft appeared in March 1989, and a finished version was sent to ANSI group X3T10 (who named it Advanced Technology Attachment (ATA)) for ratification in November 1990.
X3T10 later extended ATA to Advanced Technology Attachment Interface with Extensions (ATA-2), followed by ATA-3 and ATA-4.
X3T10 (http://www.symbios.com/x3t10/).
(1998-10-08)

Advanced Technology Attachment Interface with Extensions
storage, standard (ATA-2, Enhanced Integrated Drive Electronics, EIDE) A proposed (May 1996 or earlier?) standard from X3T10 (document 948D rev 3) which extends the Advanced Technology Attachment interface while maintaining compatibility with current IBM PC BIOS designs.
ATA-2 provides for faster data rates, 32-bit transactions and (in some drives) DMA. Optional support for power saving modes and removable devices is also in the standard.
ATA-2 was developed by Western Digital as Enhanced Integrated Drive Electronics (EIDE) around 1994. Marketroids call it Fast ATA or Fast ATA-2 .
ATA-2 was followed by ATA-3 and ATA-4 ( Ultra DMA ).
(2000-10-07)

Advanced WavEffect
multimedia, music, hardware (AWE) The kind of synthesis used by the EMU 8000 music synthesizer integrated circuit found on the SB AWE32 card.
(1996-12-15)

ADVENT
games /ad'vent/ The prototypical computer Adventure game, first implemented by Will Crowther for a CDC computer (probably the 6600?) as an attempt at computer-refereed fantasy gaming.
ADVENT was ported to the PDP-10, and expanded to the 350-point Classic puzzle-oriented version, by Don Woods of the Stanford Artificial Intelligence Laboratory (SAIL). The game is now better known as Adventure, but the TOPS-10 operating system permitted only six-letter filenames. All the versions since are based on the SAIL port.
David Long of the University of Chicago Graduate School of Business Computing Facility (which had two of the four DEC20s on campus in the late 1970s and early 1980s) was responsible for expanding the cave in a number of ways, and pushing the point count up to 500, then 501 points. Most of his work was in the data files, but he made some changes to the parser as well.
This game defined the terse, dryly humorous style now expected in text adventure games, and popularised several tag lines that have become fixtures of hacker-speak: A huge green fierce snake bars the way! I see no X here (for some noun X). You are in a maze of twisty little passages, all alike. You are in a little maze of twisty passages, all different. The magic words xyzzy and plugh also derive from this game.
Crowther, by the way, participated in the exploration of the Mammoth Flint Ridge cave system; it actually *has* a Colossal Cave and a Bedquilt as in the game, and the Y2 that also turns up is cavers' jargon for a map reference to a secondary entrance.
See also vadding.
[Was the original written in Fortran?]
[Jargon File]
(1996-04-01)

Adventure Definition Language
language, games (ADL) An adventure game language interpreter designed by Ross Cunniff cunniff@fc.hp.com and Tim Brengle in 1987. ADL is semi-object-oriented with Lisp-like syntax and is a superset of DDL. It is available for Unix, MS-DOS, Amiga and Acorn Archimedes.
(ftp://ftp.uu.net/usenet/comp.sources.games/volume2), (ftp://ftp.wustl.edu/systems/amiga/fish/fish/f0/ff091).
(1995-03-20)

ADVSYS
language, games An adventure game language designed by David Betz in 1986. ADVSYS is object-oriented and Lisp-like.
(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)
(1995-03-20)

AE
Application Executive

ae
networking The country code for the United Arab Emirates.
(1999-01-27)

AED
Automated Engineering Design

AEGIS
operating system A Unix variant that was used on Apollo workstations before Apollo was bought by Hewlett Packard. AEGIS has some advantages over standard BSD or System V Unix. It includes faster file access and a richer command set; there are commands to find out which process is running on a particular node, which process is locking a particular file, etc.
(1997-02-25)

Aegis
programming, tool A CASE tool for project change management, from the GNU project.
(1995-03-27)

Aeolus
language A concurrent language with atomic transactions.
[ Rationale for the Design of Aeolus , C. Wilkes et al, Proc IEEE 1986 Intl Conf Comp Lang, IEEE 1986, pp.107-122].
(1995-03-27)

AEP
Application Environment Profile

aeroplane rule
convention Complexity increases the possibility of failure; a twin-engine aeroplane has twice as many engine problems as a single-engine aeroplane.
By analogy, in both software and electronics, the implication is that simplicity increases robustness and that the right way to build reliable systems is to put all your eggs in one basket, after making sure that you've built a really *good* basket.
While simplicity is a useful design goal, and twin-engine aeroplanes do have twice as many engine problems, the analogy is almost entirely bogus. Commercial passenger aircraft are required to have at least two engines (on different wings or nacelles) so that the aeroplane can land safely if one engine fails. As Albert Einstein said, Everything should be made as simple as possible, but not simpler .
See also KISS Principle.
(1999-03-22)

AES
1. programming Application environment specification.
2. security Advanced Encryption Standard.
(1999-11-03)

AESOP
An Evolutionary System for On-line Programming

af
networking The country code for Afghanistan.
(1999-01-27)

AFAC
language An early system on the IBM 704.
[Listed in CACM 2(5):16 (May 1959)].
(1995-04-04)

AFAIK
chat as far as I know.

affine transformation
mathematics A linear transformation followed by a translation. Given a matrix M and a vector v,
A(x) = Mx + v
is a typical affine transformation.
(1995-04-10)

affordance
graphics A visual clue to the function of an object.
(1998-10-15)

AFIPS
American Federation of Information Processing Societies

AFJ
April Fool's Joke

AFK
chat away from keyboard.

aflex
tool A Lex-like scanner generator that produce Ada output from IRUS (Irvine Research Unit in Software). aflex comes with ayacc.
Version 1.2a.
Mailing list: irus-software-request@ics.uci.edu .
(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)
(1993-01-06)

AFNOR
body, standard Association Francaise pour la Normalisation.
The French national standards institute, a member of ISO.
(1994-12-14)

AFP
1. protocol Appletalk Filing Protocol.
2. printer, language Advanced Function Presentation.
(1998-06-28)

AFS
Andrew File System

AFUU
Association Française des Utilisateurs d'Unix

ag
networking The country code for Antigua and Barbuda.
(1999-01-27)

agent
networking In the client-server model, the part of the system that performs information preparation and exchange on behalf of a client or server. Especially in the phrase intelligent agent it implies some kind of automatic process which can communicate with other agents to perform some collective task on behalf of one or more humans.
(1995-04-09)

aggregate type
programming A data type composed of multiple elements. An aggregate can be homogeneous (all elements have the same type) e.g. an array, a list in a functional language, a string of characters, a file; or it can be heterogeneous (elements can have different types) e.g. a structure. In most languages aggregates can contain elements which are themselves aggregates. e.g. a list of lists.
See also union.
(1996-03-23)

aggregation
programming A composition technique for building a new object from one or more existing objects that support some or all of the new object's required interfaces.
(1996-01-07)

AGL
programming (Atelier de Genie Logiciel) French for IPSE.
(1997-01-07)

AGM Theory for Belief Revision
artificial intelligence (After the initials of the authors who established the field - Alchourron, Makinson and Gardenfors). A method of belief revision giving minimal properties a revision process should have.
[Reference?]
(1995-03-20)

AGORA
language A distributed object-oriented language.

AGP
Accelerated Graphics Port

AGP graphics
Accelerated Graphics Port

A Hardware Programming Language
language (AHPL) A register-level language by Hill and Peterson, some of whose operators resemble APL.
HPSIM2 is a function-level simulator, available from Engrg Expt Sta, University of Arizona.
[ Digital Systems: Hardware Organization and Design , F. Hill et al, Wiley 1987].
(1995-01-26)

AHDL
Analog Hardware Design Language

AHPL
A Hardware Programming Language

AI
artificial intelligence

ai
networking The country code for Anguilla.
(1999-01-27)

AIA
Application Integration Architecture

AI-complete
artificial intelligence, jargon /A-I k*m-pleet'/ (MIT, Stanford: by analogy with NP-complete ) A term used to describe problems or subproblems in artificial intelligence, to indicate that the solution presupposes a solution to the strong AI problem (that is, the synthesis of a human-level intelligence). A problem that is AI-complete is, in other words, just too hard.
See also gedanken.
[Jargon File]
(1995-04-12)

AID
Algebraic Interpretive Dialogue

AIDA
language 1. A functional dialect of Dictionary APL by M. Gfeller.
[ APL Arrays and Their Editor , M. Gfeller, SIGPLAN Notices 21(6):18-27 (June 1986) and SIGAPL Conf Proc].
2. An intermediate representation language for Ada developed at the University of Karlsruhe in 1980. AIDA was merged with TCOL.Ada to form Diana.
[ AIDA Introduction and User Manual , M. Dausmann et al, U Karlsruhe, Inst fur Inform II, TR Nr 38/80].
[ AIDA Reference Manual , ibid, TR Nr 39/80, Nov 1980].
(1995-04-12)

AIDS
jargon /aydz/ A* Infected Disk Syndrome ( A* is a glob pattern that matches, but is not limited to, Apple Computer), this condition is quite often the result of practicing unsafe SEX.
See virus, worm, Trojan horse, virgin.
[Jargon File]
(1995-04-13)

AIDX
abuse, operating system /aydkz/ A derogatory term for IBM's perverted version of Unix, AIX, especially for the AIX 3.? used in the IBM RS/6000 series (some hackers think it is funnier just to pronounce AIX as aches ). A victim of the dreaded hybridism disease, this attempt to combine the two main currents of the Unix stream (BSD and USG Unix) became a monstrosity to haunt system administrators' dreams. For example, if new accounts are created while many users are logged on, the load average jumps quickly over 20 due to silly implementation of the user databases.
For a quite similar disease, compare HP-SUX. Also, compare Macintrash Nominal Semidestructor, Open DeathTrap, ScumOS, sun-stools.
[Jargon File]
(1995-04-13)

AIFF
Audio IFF

AI International
company One of distributors of Prolog++, subsumed by Customer Engagement Company before December 1998.
(1998-12-13)

AI koan
humour /A-I koh'an/ One of a series of pastiches of Zen teaching riddles created by Danny Hillis at the MIT AI Lab around various major figures of the Lab's culture.
See also ha ha only serious, mu.
In reading these, it is at least useful to know that Marvin Minsky, Gerald Sussman, and Drescher are AI researchers of note, that Tom Knight was one of the Lisp machine's principal designers, and that David Moon wrote much of Lisp Machine Lisp.
* * *
A novice was trying to fix a broken Lisp machine by turning the power off and on.
Knight, seeing what the student was doing, spoke sternly: You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.
Knight turned the machine off and on.
The machine worked.
* * *
One day a student came to Moon and said: I understand how to make a better garbage collector. We must keep a reference count of the pointers to each cons.
Moon patiently told the student the following story:
One day a student came to Moon and said: `I understand
how to make a better garbage collector...
[Pure reference-count garbage collectors have problems with circular structures that point to themselves.]
* * *
In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.
What are you doing? , asked Minsky.
I am training a randomly wired neural net to play Tic-Tac-Toe , Sussman replied.
Why is the net wired randomly? , asked Minsky.
I do not want it to have any preconceptions of how to play , Sussman said.
Minsky then shut his eyes.
Why do you close your eyes? , Sussman asked his teacher.
So that the room will be empty.
At that moment, Sussman was enlightened.
* * *
A disciple of another sect once came to Drescher as he was eating his morning meal.
I would like to give you this personality test , said the outsider, because I want you to be happy.
Drescher took the paper that was offered him and put it into the toaster, saying: I wish the toaster to be happy, too.
(1995-02-08)

AIMACO
AIr MAterial COmmand compiler

Aimnet
networking, company An Internet access provider for individuals and corporations. They provide dial-up, SLIP, PPP and shell accounts as well as ISDN.
Home (http://www.aimnet.com/)
Address: Cupertino, CA 95014, USA.
Telephone: +1 (408) 253 0900
(1995-02-08)

AIR
standard A future infrared standard from IrDA. AIR will provide in-room multipoint to multipoint connectivity. AIR supports a data rate of 4 Mbps at a distance of 4 metres, and 250 Kbps at up to 8 metres. It is designed for cordless connections to multiple peripherals and meeting room collaboration applications.
See also IrDA Data and IrDA Control
(1999-10-14)

AIr MAterial COmmand compiler
language (AIMACO) A modification of FLOW-MATIC. AIMACO was supplanted by COBOL.
[Sammet 1969, p. 378].
(1995-02-20)

airplane rule
aeroplane rule

AIT
Advanced Intelligent Tape

AIX
Advanced Interactive eXecutive

AKC
Ascending Kleene Chain

AKCL
Austin Kyoto Common Lisp

A. K. Erlang
person (1878-1929) A Danish mathematician. Erlang the language and unit were named after him.
Interested in the theory of probability, in 1908 Erlang joined the Copenhagen Telephone Company where he studied the problem of waiting times for telephone calls.
He worked out how to calculate the fraction of callers who must wait due to all the lines of an exchange being in use. His formula for loss and waiting time was published in 1917. It is now known as the Erlang formula and is still in use today.
Biography (http://www-history.mcs.st-andrews.ac.uk/~history/Mathematicians/Erlang.html), Biography (http://pass.maths.org.uk/issue2/erlang/index.html).
[What was his name?]
(2000-10-28)

AKL
Andorra Kernel Language

AL
1. Assembly Language.
2. artificial life.

al
networking The country code for Albania.
(1999-01-27)

Aladdin Systems
company The developers of the stuffit file archiving and compression utility for the Macintosh.
(1995-03-01)

ALADIN
1. language A Language for Attributed Definitions.
2. tool An interactive mathematics system for the IBM 360.
[ A Conversational System for Engineering Assistance: ALADIN , Y. Siret, Proc Second Symp Symb Algebraic Math, ACM Mar 1971].
(1995-04-13)

ALAM
language A language for symbolic mathematics, especially General Relativity.
See also CLAM.
[ ALAM Programmer's Manual , Ray D'Inverno, 1970].
(1994-10-28)

Alan F. Shugart
person The man who founded Shugart Associates and later co-founded Seagate Technology. Alan Shugart left Shugart Associates in 1974 [did he quit or was he fired?] and took a break from the disk-drive business. In 1979, he and Finis Conner founded a new company that at first was called Shugart Technology and later Seagate Technology.
(2000-02-09)

A-language
language An early ALGOL-like surface syntax for Lisp.
[ An Auxiliary Language for More Natural Expression--The A-language , W. Henneman in The Programming Language LISP, E.C. Berkeley et al eds, MIT Press 1964, pp.239- 248].
(1994-10-28)

A Language Encouraging Program Hierarchy
language (ALEPH) A language developed in about 1975.
[ On the Design of ALEPH , D. Grune, CWI, Netherlands 1986].
(1997-02-27)

A Language for Attributed Definitions
language (ALADIN) A language for formal specification of attributed grammars. ALADIN is the input language for the GAG compiler generator. It is applicative and strongly typed.
[ GAG: A Practical Compiler Generator , Uwe Kastens uwe@uni-paderborn.de et al, LNCS 141, Springer 1982].
(1995-04-14)

A Language with an Extensible Compiler
language (ALEC) A language Implemented using RCC on an ICL 1906A.
[ ALEC - A User Extensible Scientific Programming Language , R.B.E. Napper et al, Computer J 19(1):25-31].
(1995-04-19)

Alan Kay
person The leader of the Software Concepts Group at Xerox Palo Alto Research Centre which developed Smalltalk, the pioneering object-oriented programming system, in 1972.
(1994-11-24)

Alan M. Turing
Alan Turing

Alan Shugart
Alan F. Shugart

Alan Turing
person Alan M. Turing, 1912-06-22/3? - 1954-06-07. A British mathematician, inventor of the Turing Machine. Turing also proposed the Turing test. Turing's work was fundamental in the theoretical foundations of computer science.
Turing was a student and fellow of King's College Cambridge and was a graduate student at Princeton University from 1936 to 1938. While at Princeton Turing published On Computable Numbers , a paper in which he conceived an abstract machine, now called a Turing Machine.
Turing returned to England in 1938 and during World War II, he worked in the British Foreign Office. He masterminded operations at Bletchley Park, UK which were highly successful in cracking the Nazis Enigma codes during World War II. Some of his early advances in computer design were inspired by the need to perform many repetitive symbolic manipulations quickly. Before the building of the Colossus computer this work was done by a roomful of women.
In 1945 he joined the National Physical Laboratory in London and worked on the design and construction of a large computer, named Automatic Computing Engine (ACE). In 1949 Turing became deputy director of the Computing Laboratory at Manchester where the Manchester Automatic Digital Machine, the worlds largest memory computer, was being built.
He also worked on theories of artificial intelligence, and on the application of mathematical theory to biological forms. In 1952 he published the first part of his theoretical study of morphogenesis, the development of pattern and form in living organisms.
Turing was gay, and died rather young under mysterious circumstances. He was arrested for violation of British homosexuality statutes in 1952. He died of potassium cyanide poisoning while conducting electrolysis experiments. An inquest concluded that it was self-administered but it is now thought by some to have been an accident.
There is an excellent biography of Turing by Andrew Hodges, subtitled The Enigma of Intelligence and a play based on it called Breaking the Code . There was also a popular summary of his work in Douglas Hofstadter's book Gödel, Escher, Bach .
(http://www.AlanTuring.net/).
(2001-10-09)

A-law
standard The ITU-T standard for nonuniform quantising logarithmic compression.
The equation for A-law is
| A
| ------- (m/mp) |m/mp| = 1/A
| 1+ln A
y = |
| sgn(m)
| ------ (1 + ln A|m/mp|) 1/A = |m/mp| = 1
| 1+ln A
Values of u=100 and 255, A=87.6, mp is the Peak message value, m is the current quantised message value. (The formulae get simpler if you substitute x for m/mp and sgn(x) for sgn(m); then -1 = x = 1.)
Converting from u-LAW to A-LAW introduces quantising errors. u-law is used in North America and Japan, and A-law is used in Europe and the rest of the world and international routes.
[The Audio File Formats FAQ]
(1995-02-21)

ALC
1. Assembly Language Compiler.
2. Airline Line Control.
(1997-02-05)

Alcool-90
language An object-oriented extension of ML with run-time overloading and a type-based notion of modules, functors and inheritance. It is built on CAML Light.
(ftp://ftp.inria.fr/lang/alcool)
E-mail: Francois.Rouaix@inria.fr .
(1995-04-18)

ALCOR
language A subset of ALGOL.
[Sammet 1969, p. 180].
(1995-04-18)

Aldat
language A database language, based on extended algebra.
[Listed by M.P. Atkinson J.W. Schmidt in a tutorial in Zurich, 1989].
(1995-04-19)

ALDES
ALgorithm DEScription

ALDiSP
Applicative Language for Digital Signal Processing

ALEC
A Language with an Extensible Compiler

ALEF
language A programming language from Bell Labs. ALEF boasts few new ideas but is instead a careful synthesis of ideas from other languages. The result is a practical general purpose programming language which was once displacing C as their main implementation language. Both shared variables and message passing are supported through language constructs.
A window system, user interface, operating system network code, news reader, mailer and variety of other tools in Plan 9 are now implemented using ALEF.
(1997-02-13)

ALEPH
1. language A Language Encouraging Program Hierarchy.
2. tool A system for formal semantics written by Peter Henderson ca. 1970.
[CACM 15(11):967-973 (Nov 1972)].
(1994-12-15)

Aleph
text, language [ Aleph: A language for typesetting , Luigi Semenzato luigi@cs.berkeley.edu and Edward Wang edward@cs.berkeley.edu in Proceedings of Electronic Publishing, 1992 Ed. Vanoirbeek Coray Cambridge University Press 1992].
(1994-12-15)

aleph 0
mathematics The cardinality of the first infinite ordinal, omega (the number of natural numbers).
Aleph 1 is the cardinality of the smallest ordinal whose cardinality is greater than aleph 0, and so on up to aleph omega and beyond. These are all kinds of infinity.
The Axiom of Choice (AC) implies that every set can be well-ordered, so every infinite cardinality is an aleph; but in the absence of AC there may be sets that can't be well-ordered (don't posses a bijection with any ordinal) and therefore have cardinality which is not an aleph.
These sets don't in some way sit between two alephs; they just float around in an annoying way, and can't be compared to the alephs at all. No ordinal possesses a surjection onto such a set, but it doesn't surject onto any sufficiently large ordinal either.
(1995-03-29)

alert
operating system /*'l*rt/ An audible and/or visual message intended to inform a system's users or administrators about a change in the operating conditions of that system or about some kind of error condition. In a graphical user interface, an alert would typically be displayed as a small window containing the message and a button to click to dismiss the window.
(1999-03-29)

Alex
language 1. A polymorphic language being developed by Stephen Crawley sxc@itd.dtso.oz.au of Defence Science Tech Org, Australia. Alex has abstract data types, type inference and inheritance.
2. language An ISWIM-like language with exception handling.
[ An Exception Handling Construct for Functional Languages , M. Brez et al, in Proc ESOP88, LNCS 300, Springer 1988].
3. tool A scanner generator. Alexis is its input language.
[ Alex: A Simple and Efficient Scanner Generator , H. Mossenbock, SIGPLAN Notices 21(5), May 1986].
(1994-12-15)

Alexis
language Alex Input Specification.
The input language for the scanner generator Alex.
(1995-04-23)

ALF
Algebraic Logic Functional language

Alfl
language A lazy function language. A weakly typed, lazy functional language developed by Paul Hudak hudak-paul@cs.yale.edu of Yale in 1983. Alfl is implemented as a Scheme preprocessor for the Orbit compiler, by transforming laziness into force-and-delay.
[ Alfl Reference Manual and Programmer's Guide , P. Hudak, YALEU/DCS/RR322, Yale U, Oct 1984].
See also ParAlfl.
(1995-04-24)

algebra
mathematics, logic 1. A loose term for an algebraic structure.
2. A vector space that is also a ring, where the vector space and the ring share the same addition operation and are related in certain other ways.
An example algebra is the set of 2x2 matrices with real numbers as entries, with the usual operations of addition and matrix multiplication, and the usual scalar multiplication. Another example is the set of all polynomials with real coefficients, with the usual operations.
In more detail, we have:
(1) an underlying set,
(2) a field of scalars,
(3) an operation of scalar multiplication, whose input is a scalar and a member of the underlying set and whose output is a member of the underlying set, just as in a vector space,
(4) an operation of addition of members of the underlying set, whose input is an ordered pair of such members and whose output is one such member, just as in a vector space or a ring,
(5) an operation of multiplication of members of the underlying set, whose input is an ordered pair of such members and whose output is one such member, just as in a ring.
This whole thing constitutes an `algebra' iff:
(1) it is a vector space if you discard item (5) and
(2) it is a ring if you discard (2) and (3) and
(3) for any scalar r and any two members A, B of the underlying set we have r(AB) = (rA)B = A(rB). In other words it doesn't matter whether you multiply members of the algebra first and then multiply by the scalar, or multiply one of them by the scalar first and then multiply the two members of the algebra. Note that the A comes before the B because the multiplication is in some cases not commutative, e.g. the matrix example.
Another example (an example of a Banach algebra) is the set of all bounded linear operators on a Hilbert space, with the usual norm. The multiplication is the operation of composition of operators, and the addition and scalar multiplication are just what you would expect.
Two other examples are tensor algebras and Clifford algebras.
[I. N. Herstein, Topics_in_Algebra ].
(1999-07-14)

ALGEBRAIC
language An early system on MIT's Whirlwind.
[CACM 2(5):16 (May 1959)].
(1995-01-24)

algebraic
theory In domain theory, a complete partial order is algebraic if every element is the least upper bound of some chain of compact elements. If the set of compact elements is countable it is called omega-algebraic.
[Significance?]
(1995-04-25)

algebraic data type
programming (Or sum of products type ) In functional programming, new types can be defined, each of which has one or more constructors. Such a type is known as an algebraic data type. E.g. in Haskell we can define a new type, Tree :
data Tree = Empty | Leaf Int | Node Tree Tree
with constructors Empty , Leaf and Node . The constructors can be used much like functions in that they can be (partially) applied to arguments of the appropriate type. For example, the Leaf constructor has the functional type Int - Tree.
A constructor application cannot be reduced (evaluated) like a function application though since it is already in normal form. Functions which operate on algebraic data types can be defined using pattern matching:
depth :: Tree - Int depth Empty = 0 depth (Leaf n) = 1 depth (Node l r) = 1 + max (depth l) (depth r)
The most common algebraic data type is the list which has constructors Nil and Cons, written in Haskell using the special syntax [] for Nil and infix : for Cons.
Special cases of algebraic types are product types (only one constructor) and enumeration types (many constructors with no arguments). Algebraic types are one kind of constructed type (i.e. a type formed by combining other types).
An algebraic data type may also be an abstract data type (ADT) if it is exported from a module without its constructors. Objects of such a type can only be manipulated using functions defined in the same module as the type itself.
In set theory the equivalent of an algebraic data type is a discriminated union - a set whose elements consist of a tag (equivalent to a constructor) and an object of a type corresponding to the tag (equivalent to the constructor arguments).
(1994-11-23)

Algebraic Interpretive Dialogue
language (AID) A version of Joss II for the PDP-10.
[ AID (Algebraic Interpretive Dialogue) , DEC manual, 1968].
(1995-04-12)

Algebraic Logic Functional language
language (ALF) A language by Rudolf Opalla opalla@julien.informatik.uni-dortmund.de which combines functional programming and logic programming techniques.
ALF is based on Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. Any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. ALF uses narrowing and rewriting.
ALF includes a compiler to Warren Abstract Machine code and run-time support.
(ftp://ftp.germany.eu.net/pub/programming/languages/LogicFunctional)
[ The Implementation of the Functional-Logic Language ALF , M. Hanus and A. Schwab].
(1992-10-08)

Algebraic Manipulation Package
mathematics, tool (AMP) A symbolic mathematics program written in Modula-2, seen on CompuServe.
(1994-10-19)

Algebraic Specification Language
1. language (ASL)
[ Structured Algebraic Specifications: A Kernel Language , M. Wirsing, Theor Comput Sci 42, pp.123-249, Elsevier 1986].
2. language (ASF) A language for equational specification of abstract data types.
[ Algebraic Specification , J.A. Bergstra et al, A-W 1989].
(1995-12-13)

algebraic structure
mathematics Any formal mathematical system consisting of a set of objects and operations on those objects. Examples are Boolean algebra, numerical algebra, set algebra and matrix algebra.
[Is this the most common name for this concept?]
(1997-02-25)

Algebra of Communicating Processes
theory (ACP)
Compare CCS.
[ Algebra of Communicating Processes with Abstraction , J.A. Bergstra J.W. Klop, Theor Comp Sci 37(1):77-121 1985].
[Summary?]
(1994-11-08)

ALGOL
ALGOL 60

ALGOL 58
language An early version of ALGOL 60, originally known as IAL .
Michigan Algorithm Decoder (MAD), developed in 1959, was based on IAL.
[ Preliminary report - International Algebraic Language , CACM 1(12):8, 1958].
[Details? Relationship to ALGOL 60?]
(1999-12-10)

ALGOL 60
language ALGOrithmic Language 1960.
A portable language for scientific computations. ALGOL 60 was small and elegant. It was block-structured, nested, recursive and free form. It was also the first language to be described in BNF.
There were three lexical representations: hardware, reference, and publication. The only structured data types were arrays, but they were permitted to have lower bounds and could be dynamic. It also had conditional expressions; it introduced :=; if-then-else; very general for loops; switch declaration (an array of statement labels generalising Fortran's computed goto). Parameters were call-by-name and call-by-value. It had static local own variables. It lacked user-defined types, character manipulation and standard I/O.
See also EULER, ALGOL 58, ALGOL 68, Foogol.
[ Report on the Algorithmic Language ALGOL 60 , Peter Naur ed., CACM 3(5):299-314, May 1960].
(1995-01-25)

ALGOL 60 Modified
language
[ A Supplement to the ALGOL 60 Revised Report , R.M. DeMorgan et al, Computer J 19(4):364].
[SIGPLAN Notices 12(1) 1977].
An erratum in [Computer J 21(3):282 (Aug 1978)] applies to both.
(1995-01-25)

ALGOL 60 Revised
language (Or Revised ALGOL 60 ) A revision of Algol 60 which still lacked standard I/O.
[ Revised Report on the Algorithmic Language ALGOL 60 , Peter Naur ed, CACM 6(1):1-17 (Jan 1963)].
[Sammet 1969, p.773].
(1995-01-25)

ALGOL 68
language An extensive revision of ALGOL 60 by Adriaan van Wijngaarden et al. ALGOL 68 was discussed from 1963 by Working Group 2.1 of IFIP. Its definition was accepted in December 1968.
ALGOL 68 was complex, and posed difficulties for both implementors and users. It featured structural equivalence; automatic type conversion ( coercion ) including dereferencing; flexible arrays; generalised loops (for-from-by-to-while-do-od), if-then-elif-fi, an integer case statement with an 'out' clause; skip and goto statements; blocks; procedures; user-defined operators; procedure parameters; concurrent execution (cobegin/coend); semaphores; generators heap and loc for dynamic allocation. It had no abstract data types or separate compilation.
(1995-05-01)

ALGOL 68C
language A variant of ALGOL 68 developed by S. Bourne and Mike Guy of Cambridge University in 1975 and used as the implementation language for the CHAOS OS for the CAP capability computer. ALGOL 68C was ported to the IBM 360, VAX/VMS, and several other platforms.
(1995-05-02)

ALGOL 68-R
language A restriction of ALGOL 68 permitting one-pass compilation, developed at the Royal Signals Radar Establishment, Malvern, Worcester, UK in April 1970.
Identifiers, modes and operators must be declared before use. There is no automatic proceduring and no concurrency. It was implemented in ALGOL 60 under GEORGE 3 on an ICL 1907F.
[ ALGOL 68-R, Its Implementation and Use , I.F. Currie et al, Proc IFIP Congress 1971, N-H 1971, pp. 360-363].
(1995-05-03)

ALGOL 68 Revised
language A significant simplification of ALGOL 68.
[ Revised Report on the Algorithmic Language ALGOL 68, A. Van Wijngaarden et al, Acta Informatica 5:1-236, 1975, also Springer 1976, and SIGPLAN Notices 12(5):1-70, May 1977].
(1995-05-03)

ALGOL 68RS
language An extension of ALGOL 68 supporting function closures by the Royal Signals Radar Establishment, Malvern UK. It has been ported to Multics and VAX/VMS.
(1995-05-04)

ALGOL 68S
language A subset of ALGOL 68 allowing simpler compilation, intended mainly for numerical computation. It was rewritten in BLISS for the PDP-11, and later in Pascal. It is available as shareware from Charles Lindsey chl@cs.man.ac.uk .
Version 2.3 runs on Sun-3 under SunOS 4.x and Atari under GEMDOS (or potentially other computers supported by the Amsterdam Compiler Kit).
[ A Sublanguage of ALGOL 68 , P.G. Hibbard, SIGPLAN Notices 12(5), May 1977].
(1995-05-04)

ALGOL C
language A variant of ALGOL 60 developed by Clive Feather of Cambridge University ca. 1981. ALGOL C added structures and exception handling. It was designed for beginners and students.
(1994-11-24)

ALGOL D
language
[ A Proposal for Definitions in ALGOL , B.A. Galler et al, CACM 10:204-219, 1967].

ALGOL N
language A successor to ALGOL 60 proposed by Yoneda.
(1994-11-24)

ALGOL W
language A derivative of ALGOL 60. It introduced double precision, complex numbers, bit strings and dynamic data structures. It is parsed entirely by operator precedence and used the call-by-value-result calling convention.
[ A Contribution to the Development of Algol , N. Wirth, CACM 9(6):413-431, June 1966].
[ ALGOL W Implementation , H. Bauer et al, TR CS98, Stanford U, 1968].
(1994-11-24)

ALGOL X
language A proposed successor to ALGOL 60, a short-term solution to existing difficulties . Three designs were proposed, by Wirth, Seegmuller and van Wijngaarden.
[Sammet 1969, p. 194].
(1995-05-07)

ALGOL Y
language A proposed successor to ALGOL 60, a radical reconstruction . Originally a language that could manipulate its own programs at run time, it became a collection of features that were not accepted for ALGOL X.
(1995-05-09)

algorithim
spelling It's spelled algorithm .
(1997-02-25)

algorithm
algorithm, programming A detailed sequence of actions to perform to accomplish some task. Named after an Iranian mathematician, Al-Khawarizmi.
Technically, an algorithm must reach a result after a finite number of steps, thus ruling out brute force search methods for certain problems, though some might claim that brute force search was also a valid (generic) algorithm. The term is also used loosely for any sequence of actions (which may or may not terminate).
Paul E. Black's Dictionary of Algorithms, Data Structures, and Problems (http://www.nist.gov/dads/).
(2002-02-05)

ALgorithm DEScription
language (ALDES) [ The Algorithm Description Language ALDES , R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976)].
(1995-04-19)

ALgorIthmic ASsembly language
language (ALIAS) A machine oriented variant of BLISS. ALIAS was implemented in BCPL for the PDP-9.
[ ALIAS , H.E. Barreveld, Int Rep, Math Dept, Delft U Tech, Netherlands, 1973].
(1997-03-13)

Algorithmic Language
Algol 60

Algorithmic Model
programming A method of estimating software cost using mathematical algorithms based on the parameters which are considered to be the major cost drivers. These estimate of effort or cost are based primarily on the size of the software or Delivered Source Instructions (DSI)s, and other productivity factors known as Cost Driver Attributes.
See also Parametric Model.
(1996-05-28)

Algorithmic Processor Description Language
language (APDL) An ALGOL 60-like language for describing computer design, for the CDC G-21.
[ The Description, Simulation, and Automatic Implementation of Digital Computer Processors , J.A. Darringer, Ph.D Thesis EE Dept, CMU May 1969].
(1995-11-26)

Algorithmic Test Case Generation
programming A computational method for identifying test cases from data, logical relationships or other software requirements information.
(1996-05-10)

ALGY
language An early language for symbolic mathematics.
[Sammet 1969, p. 520].
(1995-04-12)

ALIAS
ALgorIthmic ASsembly language

alias
1. operating system A name, usually short and easy to remember and type, that is translated into another name or string, usually long and difficult to remember or type. Most command interpreters (e.g. Unix's csh) allow the user to define aliases for commands, e.g. alias l ls -al . These are loaded into memory when the interpreter starts and are expanded without needing to refer to any file.
2. networking One of several alternative hostnames with the same Internet address. E.g. in the Unix hosts database (/etc/hosts or NIS map) the first field on a line is the Internet address, the next is the official hostname (the canonical name or CNAME ) and any others are aliases.
Hostname aliases often indicate that the host with that alias provides a particular network service such as archie, finger, FTP, or World-Wide Web. The assignment of services to computers can then be changed simply by moving an alias (e.g. www.doc.ic.ac.uk) from one Internet address to another, without the clients needing to be aware of the change.
3. file system The name used by Apple computer, Inc. for symbolic links when they added them to the System 7 operating system in 1991.
(1997-10-22)

aliasing
1. jargon When several different identifiers refer to the same object. The term is very general and is used in many contexts.
See alias, aliasing bug, anti-aliasing.
2. hardware (Or shadowing ) Where a hardware device responds at multiple addresses because it only decodes a subset of the address lines, so different values on the other lines are ignored.
(1998-03-13)

aliasing bug
stale pointer bug

Alice
computer, parallel A parallel graph rewriting computer developed by Imperial College, University of Edinburgh and ICL.
(1995-01-19)

alife
artificial life

A-Life
artificial life

ALJABR
tool An implementation of MACSYMA for the Macintosh by Fort Pond Research.
(1995-02-21)

Allegro
operating system The code name for the major Mac OS release due in mid-1998.
(http://devworld.apple.com/mkt/informed/appledirections/mar97/roadmap.html).
(1997-10-15)

all-elbows
jargon Said of a TSR (terminate-and-stay-resident) mess-dos program, such as the N pop-up calendar and calculator utilities that circulate on BBS systems: unsociable. Used to describe a program that rudely steals the resources that it needs without considering that other TSRs may also be resident. One particularly common form of rudeness is lock-up due to programs fighting over the keyboard interrupt.
[Jargon File]
(1995-02-21)

ALLIANCE
tool A complete set of CAD tools for teaching Digital CMOS VLSI Design in Universities. It includes a VHDL compiler and simulator, logic synthesis tools, and automatic place and route tools. ALLIANCE is the result of a ten years effort at University Pierre et Marie Curie (PARIS VI, France).
It runs on Sun-4, not well supported: MIPS/Ultrix, 386/SystemV.
Current version: 1.1, as of 1993-02-16.
(1993-02-16)

ALLOY
language A language by Thanasis Mitsolides mitsolid@cs.nyu.edu which combines functional programming, object-oriented programming and logic programming ideas, and is suitable for massively parallel systems.
Evaluating modes support serial or parallel execution, eager evaluation or lazy evaluation, nondeterminism or multiple solutions etc. ALLOY is simple as it only requires 29 primitives in all (half of which are for object oriented programming support).
It runs on SPARC.
(ftp://cs.nyu.edu/pub/local/alloy/).
[ The Design and Implementation of ALLOY, a Parallel Higher Level Programming Language , Thanasis Mitsolides mitsolid@cs2.nyu.edu , PhD Thesis NYU 1990].
(1991-06-11)

ALM
Assembly Language for Multics

Aloha
networking (From the Hawaiian greeting) A system of contention resolution devised at The University of Hawaii. Packets are broadcast when ready, the sender listens to see if they collide and if so re-transmits after a random time. Slotted Aloha constrains packets to start at the beginning of a time slot. Basic Aloha is appropriate to long propagation time nets (e.g. satellite). For shorter propagation times, carrier sense protocols are possible.
(1995-12-10)

Aloha Net
networking (From the Hawaiian greeting) One of the first functioning networks in the USA, conceived and implimented at the University of Hawaii campus at Manoa. Its purpose was to link the University mainframe computer to client computers located on outer islands at University campuses. Put in place in the early 1970s, it was dubed the Aloha Net. Key punch cards were fed through a reader, and sent over the commercial phone lines.
(1995-12-10)

Alonzo Church
person A twentieth century mathematician and logician, and one of the founders of computer science. Church invented the lambda-calculus and posited a version of the Church-Turing thesis.
(1995-03-25)

ALP
language A list processing extension of Mercury Autocode.
[ ALP, An Autocode List-Processing Language , D.C. Cooper et al, Computer J 5:28-31, 1962].
(1995-01-24)

ALPAK
library A subroutine package used by ALTRAN.
[ The ALPAK System for Nonnumerical Algebra on a Digital Computer , W.S. Brown, Bell Sys Tech J 42:2081, 1963].
[Sammet 1969, p. 502].
(1995-05-10)

ALPHA
language (Or Input ) An extension of ALGOL 60 for the M-20 computer developed by A.P. Ershov at Novosibirsk in 1961. ALPHA includes matrix operations, slices, and complex arithmetic.
[ The Alpha Automatic Programming System , A.P. Ershov ed., A-P 1971].
(1995-05-10)

Alpha
1. tool A compiler generator written by Andreas Koschinsky koschins@cs.tu-berlin.de and described in his thesis at the Technische Universitaet Berlin. Alpha takes an attribute grammar and uses Bison and Flex to generate a parser, a scanner and an ASE evaluator (Jazayeri and Walter).
The documentation is in german.
(1993-02-16)
2. processor DEC Alpha.
(1995-05-10)

Alpha AXP 21164
processor A 1 GIPS version of the DEC Alpha processor. The first commercially available sequential 1 GIPS processor. Announced 1994-09-7.
(http://www.digital.com/info/semiconductor/dsc-21164.html)
(1995-05-10)

alpha/beta pruning
games, algorithm An optimisation of the minimax algorithm for choosing the next move in a two-player game. The position after each move is assigned a value. The larger this value, the better the position is for me. Thus, I will choose moves with maximum value and you will choose moves with minimum value (for me).
If it is my move and I have already found one move M with value alpha then I am only interested in other moves with value greater than alpha. I now consider another of my possible moves, M', to which you could reply with a move with value beta. I know that you would only make a different reply if it had a value less than beta. If beta is already less than alpha then M' is definitely worth less than M so I can reject it without considering any other replies you might make.
The same reasoning applies when considering my replies to your reply. An alpha cutoff is when your reply gives a lower value than the current maximum (alpha) and a beta cutoff is when my reply to your reply gives a higher value than the current minimum value of your reply (beta).
In short, if you've found one possible move, you need not consider another move which your opponent can force to be worse than the first one.
(1997-05-05)

alpha conversion
theory In lambda-calculus and reduction, the renaming of a formal parameter in a lambda abstraction. This does not change the meaning of the abstraction. For example:
x . x+1 -- y . y+1
If the actual argument to a lambda abstraction contains instances of the abstraction's formal parameter then it is necessary to rename the parameter before applying the abstraction to avoid name capture.
(1995-05-10)

Alpha EV6
EV6

Alpha Geek
job The head geek or geek's geek. When no one else knows the answer, or several techno-types give conflicting advise, or the error message says consult your administrator and you *are* the administrator, you ask the Alpha Geek.
(1997-06-25)

alphanumeric
character A decimal digit or a letter (upper or lower case). Typically, letters means only English letters (ASCII A-Z plus a-z) but it may also include non-English letters in the Roman alphabet, e.g., e-acute, c-cedilla, the thorn letter, and so on. Perversely, it may also include the underscore character in some contexts.
(1997-09-11)

alpha particle
bit rot

Alphard
language (Named after the brightest star in Hydra) A Pascal-like language developed by Wulf, Shaw and London of CMU in 1974. Alphard supports data abstraction using the 'form', which combines a specification and an implementation.
[ Abstraction and Verification in Alphard: Defining and Specifying Iteration and Generators , Mary Shaw, CACM 20(8):553-563, Aug 1977].
(1995-05-10)

alpha testing
programming Testing of software at the developer's site by the customer. The stage before beta testing.
(1996-05-10)

ALPS
language 1. An early interpreted algebraic language for the Bendix G15 by Richard V. Andree of the University of Oklahoma. ALPS is said to have preceded and influenced development of BASIC.
Dale Peters dpeters@theshop.net reports that in the summer of 1966 he attended the second year of an NSF-sponsored summer institute in mathematics and computing at the University of Oklahoma. Richard Andree taught the computing class which mostly used the language GO-GO which was later renamed ALPS. Andree, Harold Wiebe, Ralph Howenstein, and another grad student were changing the language frequently during the class, which was occasionally a little disorienting. Dale believes it was used in the previous summer as well and that it was about this time that Kemeny (one of the designers of BASIC) saw it during a visit.
2. A parallel logic language.
[ Synchronization and Scheduling in ALPS Objects , P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE 1988, pp. 256-264].
(1994-11-24)

alt
character /awlt/ 1. The alt modifier key on many keyboards, including the IBM PC. On some keyboards and operating systems, (but not the IBM PC) the alt key sets bit 7 of the character generated.
See bucky bits.
2. The clover or Command key on a Macintosh; use of this term usually reveals that the speaker hacked PCs before coming to the Mac (see also feature key). Some Mac hackers, confusingly, reserve alt for the Option key (and it is so labelled on some Mac II keyboards).
3. (Obsolete PDP-10; often ALT ) An alternate name for the ASCII ESC character (Escape, ASCII 27), after the keycap labelling on some older terminals; also altmode (/awlt'mohd/). This character was almost never pronounced escape on an ITS system, in TECO or under TOPS-10, always alt, as in Type alt alt to end a TECO command or alt-U onto the system (for log onto the [ITS] system ). This usage probably arose because alt is easier to say.
4. messaging One of the Usenet newsgroup hierarchies. It was founded by John Gilmore and Brian Reid. The alt hierarchy is special in that anyone can create new groups here without going though the normal voting proceduers, hence the regular appearence of new groups with names such as alt.swedish.chef.bork.bork.bork .
[Jargon File]
(1997-04-12)

ALTAC
language An extended Fortran II for the Philco 2000, built on TAC.
[Sammet 1969, p.146].
(1995-03-16)

Altair 8800
computer An Intel 8080-based machine made by MITS. The Altair was the first popular microcomputer kit.
It appeared on the cover of the January 1975 Popular Electronics magazine with an article (probably) by Leslie Solomon. Leslie Solomon was an editor at Popular Electronics who had a knack for spotting kits that would interest people and make them buy the magazine. The Altair 8800 was one such. The MITS guys took the prototype Altair to New York to show Solomon, but couldn't get it to work after the flight. Nonetheless, he liked it, and it appeared on the cover as The first minicomputer in a kit.
Solomon's blessing was important enough that some MITS competitors named their product the SOL to gain his favour. Some wags suggested SOL was actually an abbreviation for the condition in which kit purchasers would find themselves.
Bill Gates and Paul Allen saw the article on the Altair 8800 in Popular Electronics. They realized that the Altair, which was programmed via its binary front panel needed a high level language. Legend has it that they called MITS with the claim that they had a BASIC interpreter for the Altair. When MITS asked them to demo it in Albuquerque, they wrote one on the plane. On arrival, they entered the machine code via the front panel and demonstrated and sold their product. Thus was born Altair BASIC.
The original Altair BASIC ran in less than 4K of RAM because a loaded Altair had 4K memory. Since there was no operating system on the Altair, Altair BASIC included what we now think of as BIOS. It was distributed on paper tape that could be read on a Teletype. Later versions supported the 8K Altair and the 16K diskette-based Altair (demonstrating that, even in the 1970s, Microsoft was committed to software bloat). Altair BASIC was ported to the Motorola 6800 for the Altair 680 machine, and to other 8080-based microcomputers produced by MITS' competitors.
PC-History.org Altair 8800 page (http://pc-history.org/altair_8800.htm).
[Forrest M. Mimms, article in Computers and Electronics , (formerly Popular Electronics ), Jan 1985(?)].
[Was there ever an Altair 9000 microcomputer?]
(2002-06-17)

Alta Vista
World-Wide Web A World-Wide Web site provided by Digital which features a very fast Web and Usenet search engine.
As of April 1996 its word index is 33GB in size. AltaVista is currently (June 1996) the largest Web index, with 30 million pages from 225,000 servers, and three million articles from 14,000 Usenet news groups. It is accessed over 12 million times per weekday.
Home (http://www.altavista.digital.com/).
(1996-06-10)

alt bit
/awlt bit/ alternate bit. See meta bit.
[Jargon File]

Alternating bit protocol
networking (ABP) A simple data link layer protocol that retransmits lost or corrupted messages.
Messages are sent from transmitter A to receiver B. Assume that the channel from A to B is initialised and that there are no messages in transit. Each message contains a data part, a checksum, and a one-bit sequence number, i.e. a value that is 0 or 1.
When A sends a message, it sends it continuously, with the same sequence number, until it receives an acknowledgment (ACK) from B that contains the same sequence number. When that happens, A complements (flips) the sequence number and starts transmitting the next message.
When B receives a message from A, it checks the checksum. If the message is not corrupted B sends back an ACK with the same sequence number. If it is the first message with that sequence number then it is sent for processing. Subsequent messages with the same sequence bit are simply acknowledged. If the message is corrupted B sends back an negative/error acknowledgment (NAK). This is optional, as A will continue transmitting until it receives the correct ACK.
A treats corrupted ACK messages, and NAK messages in the same way. The simplest behaviour is to ignore them all and continue transmitting.
(2000-10-28)

altmode
alt

ALTRAN
language A Fortran extension for rational algebra developed by W.S. Brown of Bell Labs ca. 1968.
[ The ALTRAN System for Rational Function Manipulation - A Survey , A.D. Hall, CACM 14(8):517-521 (Aug 1971)].
(1995-06-01)

alt.sources
messaging, programming A Usenet newsgroup for posting program source code.
Archive (ftp://wuarchive.wustl.edu/usenet/alt.sources/).
(1995-10-18)

ALU
1. processor Arithmetic and Logic Unit.
2. body Association of Lisp Users.

Aluminum Book
publication
[ Common LISP: The Language, 2nd Edition , Guy L. Steele Jr., Digital Press 1990, ISBN 1-55558-041-6].
Due to a technical screwup some printings of the second edition are actually what the author calls yucky green .
On-line version (http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html).
See also book titles.
[Jargon File]
(1997-06-25)

Alvey
project, body A funding programme for collaborative research in the UK.
(1995-06-01)

AM
1. communications Amplitude Modulation.
2. artificial intelligence A program by Doug Lenat to discover concepts in elementary mathematics. AM was written in 1976 in Interlisp. From 100 fundamental concepts and about 250 heuristics it discovered several important mathematical concepts including subsets, disjoint sets, sets with the same number of elements, and numbers. It worked by filling slots in frames maintaining an agenda of resource-limited prioritised tasks.
AM's successor was Eurisko.
(http://homepages.enterprise.net/hibou/aicourse/lenat.txt).
(1999-04-19)

am
networking The country code for Armenia.
Used for the vanity domain i.am .
(1999-01-27)

Amanda
language A functional programming language derived mostly from Miranda with some small changes. Amanda was written by Dick Bruin and implemented on MS-DOS and NeXT. It is available as an interperator only.
(1998-04-27)

A Manufacturing Language
language, robotics (AML) A high-level language developed by IBM in the 1980s for industrial robots.
[ AML: A Manufacturing Language , R.H. Taylor et al, Inst J Robot Res 1(3):19-43].
(1995-09-25)

amateur packet radio
communications (PR) The use of packet radio by amateurs to communicate between computers. PR is a complete amateur radio computer network with digipeaters (relays), mailboxes (BBS) and other special nodes.
In Germany, it is on HF, say, 2m (300 and 1200 BPS), 70cm (1200 to 9600 BPS), 23cm (normally 9600 BPS and up, currently most links between digipeaters) and higher frequencies. There is a KW (short wave) Packet Radio at 300 BPS, too.
Satellites with OSCAR (Orbiting Sattelite Carring Amateur Radio) transponders (mostly attached to commercial satellites by the AMateur SATellite (AMSAT) group) carry Packet Radio mailboxes or digipeaters.
There are both on-line and off-line services on the packet radio network: You can send electronic mail, read bulletins, chat, transfer files, connect to on-line DX-Clusters (DX=far distance) to catch notes typed in by other HAMs about the hottest international KW connections currently coming up (so you can pile up).
PR uses AX.25 (an X.25 derivative) as its transport layer and sometimes even TCP/IP is transmitted over AX.25. AX.25 is like X.25 but the adressing uses HAM calls like DG8MGV .
There are special wormholes all over the world which tunnel amateur radio traffic through the Internet to forward mail. Sometimes mails travels over satelites. Normally amateur satellites have strange orbits, however the mail forwarding or maibox satellites have very predictable orbits. Some wormholes allow HAMs to bridge from Internet to AMPR-NET, e.g. db0fho.ampr.org or db0fho.et-inf.fho-emden.de, but only if you are registered HAM.
Because amateur radio is not for profit, it must not be interconnected to the Internet but it may be connected through the Internet. All people on the (completely free) amateur radio net must be licensed radio amateurs and must have a call which is unique all over the world.
There is a special domain AMPR.ORG (44.*.*.*) for amateur radio reserved in the IP space. This domain is split between countries, which can further subdivide it. For example 44.130.*.* is Germany, 44.130.58.* is Augsburg (in Bavaria), and 44.130.58.20 is dg8mgv.ampr.org (you may verify this with nslookup).
Mail transport is only one aspect of packet radio. You can talk interactively (as in chat), read files, or play silly games built in the Packet Radio software. Usually you can use the autorouter to let the digipeater network find a path to the station you want. However there are many (sometimes software incompatible) digipeaters out there, which the router cannot use. Paths over 1000 km are unlikely to be useable for real-time communication and long paths can introduce significant delay times (answer latency).
Other uses of amateur radio for computer communication include RTTY (baudot), AMTOR, PACTOR, and CLOVER.
A huge hamradio archive (ftp://ftp.ucsd.edu/hamradio/)
Usenet newsgroup: news:rec.radio.amateur.packet.
(2001-05-12)

Amber
language 1. A functional programming language which adds CSP-like concurrency, multiple inheritance and persistence to ML and generalises its type system. It is similar to Galileo. Programs must be written in two type faces, roman and italics! It has both static types and dynamic types.
There is an implementation for Macintosh.
[ Amber , L. Cardelli, TR Bell Labs, 1984].
2. An object-oriented distributed language based on a subset of C++, developed at Washington University in the late 1980s.
(1994-12-08)

AMBIT
language Algebraic Manipulation by Identity Translation (also claimed: Acronym May Be Ignored Totally ).
An early pattern-matching language, developed by C. Christensen of Massachusetts Computer Assocs in 1964, aimed at algebraic manipulation.
[Sammet 1969, pp. 454-457].
(1994-12-08)

AMBIT/G
language AMBIT for graphs.
[ An Example of the Manipulation of Directed Graphs in the AMBIT/G Programming Language , C. Christensen, in Interactive Systems for Experimental Applied Mathematics, M. Klerer et al, eds, Academic Press 1968, pp. 423-435].
(1994-12-08)

AMBIT/L
language AMBIT for lists.
A variant of AMBIT supporting list handling and pattern matching rules based on two-dimensional diagrams.
[ An Introduction to AMBIT/L, A Diagrammatic Language for List Processing , Carlos Christensen, Proc 2nd ACM Symp Symb and Alg Manip (Mar 1971)].
(1994-12-08)

AMBIT/S
language AMBIT for strings.

AMBUSH
language A language for linear programming problems in a materials processing and transportation network.
[ AMBUSH - An Advanced Model Builder for Linear Programming , T.R. White et al, National Petroleum Refiners Assoc Comp Conf (Nov 1971)].
(1995-06-19)

AMD
1. company Advanced Micro Devices.
2. jargon According to Don Olivier don@hsph.harvard.edu , his system manager came in to work one morningn to find his IBM system down with a message on the console that said AMD failure . After he and the service rep had puzzled over documentation for an hour or so they called headquarters and eventually learned that it the failure was in the cooling system: an AMD is an air movement device , IBM for fan .
(1995-01-16)

AMD 29000
processor A RISC microprocessor descended from the Berkley RISC design. Like the SPARC design that was introduced shortly afterwards, the 29000 has a large register set split into local and global sets. But though it was introduced before the SPARC, it has a more elegant method of register management.
The 29000 has 64 global registers, in comparison to the SPARC's eight. In addition, the 29000 allows variable sized windows allocated from the 128 register stack cache. The current window or stack frame is indicated by a stack pointer, a pointer to the caller's frame is stored in the current frame, like in an ordinary stack (directly supporting stack languages like C, a CISC-like philosophy). Spills and fills occur only at the ends of the cache, and registers are saved/loaded from the memory stack. This allows variable window sizes, from 1 to 128 registers. This flexibility, plus the large set of global registers, makes register allocation easier than in SPARC.
There is no special condition code register - any general register is used instead, allowing several condition codes to be retained, though this sometimes makes code more complex. An instruction prefetch buffer (using burst mode) ensures a steady instruction stream. Branches to another stream can cause a delay, so the first four new instructions are cached - next time a cached branch (up to sixteen) is taken, the cache supplies instructions during the initial memory access delay.
Registers aren't saved during interrupts, allowing the interrupt routine to determine whether the overhead is worthwhile. In addition, a form of register access control is provided. All registers can be protected, in blocks of 4, from access. These features make the 29000 useful for embedded applications, which is where most of these processors are used, allowing it the claim to be the most popular RISC processor . The 29000 also includes an MMU and support for the AMD 29027 FPU.
(1995-06-19)

AMD 29027
processor The FPU for the AMD 29000.
(1995-01-16)

Amdahl
1. company Amdahl Corporation.
2. person Gene Amdahl.
(2000-04-03)

Amdahl Corporation
company A US computer manufacturer. Amdahl is a major supplier of large mainframes, UNIX and Open Systems software and servers, data storage subsystems, data communications products, applications development software, and a variety of educational and consulting services.
Amdahl products are sold in more than 30 countries for use in both open systems and IBM plug-compatible mainframe computing environments.
Quarterly sales $397M, profits $13M (Aug 1994).
In 1997 Amdahl became a division of Fujitsu.
Home (http://www.amdahl.com/).
(1995-05-23)

Amdahl's Law
parallel (Named after Gene Amdahl) If F is the fraction of a calucation that is sequential, and (1-F) is the fraction that can be parallelised, then the maximum speedup that can be achieved by using P processors is 1/(F+(1-F)/P).
[Gene Amdahl, Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities , AFIPS Conference Proceedings, (30), pp. 483-485, 1967].
(2001-03-26)

AMD Am2901
processor A 4-bit bit-slice processor from Advanced Micro Devices. It featured sixteen 4-bit registers and a 4-bit ALU and operation signals to allow carry/borrow or shift operations and such to operate across any number of other 2901s. An address sequencer (such as the 2910) could provide control signals with the use of custom microcode in ROM.
(1994-11-16)

AMD Am2903
processor A bit-slice prcessor from Advanced Micro Devices which featured hardware multiply.
(1994-11-16)

AMD Am2910
processor An address sequencer from Advanced Micro Devices.
(1994-11-16)

AMD K7
Athlon

American National Standard
standard (ANS) A common prefix for ANSI documents or standards, e.g.: ANS Forth , or American National Standard X3.215-1994 .
(1998-07-01)

American National Standards Institute
body, standard (ANSI) The United States government body responsible for approving US standards in many areas, including computers and communications. ANSI is a member of ISO. ANSI sells ANSI and ISO (international) standards.
Home (http://www.ansi.org/).
Address: New York, NY 10036, USA. Sales: 1430 Broadway, NY NY 10018. Telephone: +1 (212) 642 4900.
(1996-11-03)

American Society of Mechanical Engineers
body (ASME) A group involved in CAD standardisation.
(1995-04-21)

American Standard Code for Information Interchange
The basis of character sets used in almost all present-day computers. US-ASCII uses only the lower seven bits (character points 0 to 127) to convey some control codes, space, numbers, most basic punctuation, and unaccented letters a-z and A-Z. More modern coded character sets (e.g., Latin-1, Unicode) define extensions to ASCII for values above 127 for conveying special Latin characters (like accented characters, or German ess-tsett), characters from non-Latin writing systems (e.g., Cyrillic, or Han characters), and such desirable glyphs as distinct open- and close-quotation marks. ASCII replaced earlier systems such as EBCDIC and Baudot, which used fewer bytes, but were each broken in their own way.
Computers are much pickier about spelling than humans; thus, hackers need to be very precise when talking about characters, and have developed a considerable amount of verbal shorthand for them. Every character has one or more names - some formal, some concise, some silly.
Individual characters are listed in this dictionary with alternative names from revision 2.3 of the Usenet ASCII pronunciation guide in rough order of popularity, including their official ITU-T names and the particularly silly names introduced by INTERCAL.
See V ampersand, asterisk, back quote, backslash, caret, colon, comma, commercial at, control-C, dollar, dot, double quote, equals, exclamation mark, greater than, hash, left bracket, left parenthesis, less than, minus, parentheses, oblique stroke, percent, plus, question mark, right brace, right brace, right bracket, right parenthesis, semicolon, single quote, space, tilde, underscore, vertical bar, zero.
Some other common usages cause odd overlaps. The # , $ , , and characters, for example, are all pronounced hex in different communities because various assemblers use them as a prefix tag for hexadecimal constants (in particular, # in many assembler-programming cultures, $ in the 6502 world, at Texas Instruments, and on the BBC Micro, Acorn Archimedes, Sinclair, and some Zilog Z80 machines). See also splat.
The inability of US-ASCII to correctly represent nearly any language other than English became an obvious and intolerable misfeature as computer use outside the US and UK became the rule rather than the exception (see software rot). And so national extensions to US-ASCII were developed, such as Latin-1.
Hardware and software from the US still tends to embody the assumption that US-ASCII is the universal character set and that words of text consist entirely of byte values 65-90 and 97-122 (A-Z and a-z); this is a major irritant to people who want to use a character set suited to their own languages. Perversely, though, efforts to solve this problem by proliferating sets of national characters produced an evolutionary pressure (especially in protocol design, e.g., the URL standard) to stick to US-ASCII as a subset common to all those in use, and therefore to stick to English as the language encodable with the common subset of all the ASCII dialects. This basic problem with having a multiplicity of national character sets ended up being a prime justification for Unicode, which was designed, ostensibly, to be the *one* ASCII extension anyone will need.
A system is described as eight-bit clean if it doesn't mangle text with byte values above 127, as some older systems did.
See also ASCII character table, Yu-Shiang Whole Fish.
(1995-03-06)

American Telephone and Telegraph, Inc.
company, telecommunications, Unix, C (AT T) One of the largest US telecommunications providers. Also noted for being the birthplace of the Unix operating system and the C and C++ programming languages.
AT T was incorporated in 1885, but traces its lineage to Alexander Graham Bell and his invention of the telephone in 1876. As parent company of the former Bell System, AT T's primary mission was to provide telephone service to virtually everyone in the United States. In its first 50 years, AT T established subsidiaries and allied companies in more than a dozen other countries. It sold these interests in 1925 and focused on achieving its mission in the United States. It did, however, continue to provide international long distance service.
The Bell System was dissolved at the end of 1983 with AT T's divestiture of the Bell telephone companies.
AT T split into three parts in 1996, one of which is Lucent Tecnologies, the former systems and equipment portion of AT T (including Bell Laboratories).
See also 3DO, Advanced RISC Machine, Berkeley Software Distribution, Bell Laboratories, Concurrent C, Death Star, dinosaurs mating, InterNIC, System V, Nawk, Open Look, rc, S, Standard ML of New Jersey, Unix International, Unix conspiracy, USG Unix, Unix System Laboratories.
AT T Home (http://www.att.com/).
(2002-06-21)

American Wire Gauge
hardware, standard (AWG, sometimes Brown and Sharpe Wire Gauge ) A U.S. standard set of non-ferrous wire conductor sizes. Typical household wiring is AWG number 12 or 14. Telephone wire is usually 22, 24, or 26. The higher the gauge number, the smaller the diameter and the thinner the wire. Thicker wire is better for long distances due to its lower resistance per unit length.
(2001-03-26)

America On-Line, Inc.
company, communications (AOL) A US on-line service provider based in Vienna, Virginia, USA. AOL claims to be the largest and fastest growing provider of on-line services in the world, with the most active subscriber base. AOL offers its three million subscribers electronic mail, interactive newspapers and magazines, conferencing, software libraries, computing support, and on-line classes.
In October 1994 AOL made Internet FTP available to its members and in May 1995, full Internet access including World-Wide Web.
AOL's main competitors are Prodigy and Compuserve.
Home (http://www.aol.com/).
(1997-08-26)

America's Multimedia Online
company, World-Wide Web (AMO) An Internet technologies company which invented Never Offline in 1995 and was officially started in 1996.
Home (http://amo.net/).
E-mail: AMO amo@amo.net .
Address: Albuquerque, NM, USA.
(1999-11-03)

AMI
Alternate Mark Inversion

Amiga
computer A range of home computers first released by Commodore Business Machines in 1985 (though they did not design the original - see below). Amigas are popular for games, video processing and multimedia. One notable feature is a hardware blitter for speeding up graphics operations on whole areas of the screen.
The Amiga was originally called the Lorraine, and was developed by a company named Amiga or Amiga, Inc. , funded by some doctors to produce a killer game machine. After the US game machine market collapsed, the Amiga company sold some joysticks but no Lorraines or any other computer. They eventually floundered and looked for a buyer.
Commodore at that time bought the (mostly complete) Amiga machine, infused some money, and pushed it through the final stages of development in a hurry. Commodore released it sometime[?] in 1985.
Most components within the machine were known by nicknames. The coprocessor commonly called the Copper is in fact the Video Timing Coprocessor and is split between two chips: the instruction fetch and execute units are in the Agnus chip, and the pixel timing circuits are in the Denise chip.
Agnus and Denise were responsible for effects timed to the real-time position of the video scan, such as midscreen palette changes, sprite multiplying, and resolution changes. Different versions (in order) were: Agnus (could only address 512K of video RAM), Fat Agnus (in a PLCC package, could access 1MB of video RAM), Super Agnus (slightly upgraded Fat Agnus ). Agnus and Fat Agnus came in PAL and NTSC versions, Super Agnus came in one version, jumper selectable for PAL or NTSC. Agnus was replaced by Alice in the A4000 and A1200, which allowed for more DMA channels and higher bus bandwidth.
Denise outputs binary video data (3*4 bits) to the Vidiot . The Vidiot is a hybrid that combines and amplifies the 12-bit video data from Denise into RGB to the monitor.
Other chips were Amber (a flicker fixer , used in the A3000 and Commodore display enhancer for the A2000), Gary (I/O, addressing, glue logic), Buster (the bus controller, which replaced Gary in the A2000), Buster II (for handling the Zorro II/III cards in the A3000, which meant that Gary was back again), Ramsey (The RAM controller), DMAC (The DMA controller chip for the WD33C93 SCSI adaptor used in the A3000 and on the A2091/A2092 SCSI adaptor card for the A2000; and to control the CD-ROM in the CDTV), and Paula (Peripheral, Audio, UART, interrupt Lines, and bus Arbiter).
There were several Amiga chipsets: the Old Chipset (OCS), the Enhanced Chipset (ECS), and AGA. OCS included Paula , Gary , Denise , and Agnus .
ECS had the same Paula , Gary , Agnus (could address 2MB of Chip RAM), Super Denise (upgraded to support Agnus so that a few new screen modes were available). With the introduction of the Amiga A600 Gary was replaced with Gayle (though the chipset was still called ECS). Gayle provided a number of improvments but the main one was support for the A600's PCMCIA port.
The AGA chipset had Agnus with twice the speed and a 24-bit palette, maximum displayable: 8 bits (256 colours), although the famous HAM (Hold And Modify) trick allows pictures of 256,000 colours to be displayed. AGA's Paula and Gayle were unchanged but AGA Denise supported AGA Agnus 's new screen modes. Unfortunately, even AGA Paula did not support High Density floppy disk drives. (The Amiga 4000, though, did support high density drives.) In order to use a high density disk drive Amiga HD floppy drives spin at half the rotational speed thus halving the data rate to Paula .
Commodore Business Machines went bankrupt on 1994-04-29, the German company Escom AG bought the rights to the Amiga on 1995-04-21 and the Commodore Amiga became the Escom Amiga. In April 1996 Escom were reported to be making the Amiga range again but they too fell on hard times and Gateway 2000 (now called Gateway) bought the Amiga brand on 1997-05-15.
Gateway licensed the Amiga operating system to a German hardware company called Phase 5 on 1998-03-09. The following day, Phase 5 announced the introduction of a four-processor PowerPC based Amiga clone called the pre box . Since then, it has been announced that the new operating system will be a version of QNX.
On 1998-06-25, a company called Access Innovations Ltd announced plans (http://www.micktinker.co.uk/aaplus.html) to build a nwe Amiga chip set, the AA+, based partly on the AGA chips but with new fully 32-bit functional core and 16-bit AGA hardware register emulation for backwards compatibility. The new core promised improved memory access and video display DMA.
By the end of 2000, Amiga development was under the control of a [new?] company called Amiga, Inc.. As well as continuing development of AmigaOS (version 3.9 released in December 2000), their Digital Environment is a virtual machine for multiple platforms conforming to the ZICO specification. As of 2000, it ran on MIPS, ARM, PPC, and x86 processors.
Home (http://www.amiga.com/).
Amiga Web Directory (http://www.cucug.org/amiga.html).
amiCrawler (http://www.amicrawler.com/).
Newsgroups: news:comp.binaries.amiga, news:comp.sources.amiga, news:comp.sys.amiga, news:comp.sys.amiga.advocacy, news:comp.sys.amiga.announce, news:comp.sys.amiga.applications, news:comp.sys.amiga.audio, news:comp.sys.amiga.datacomm, news:comp.sys.amiga.emulations, news:comp.sys.amiga.games, news:comp.sys.amiga.graphics, news:comp.sys.amiga.hardware, news:comp.sys.amiga.introduction, news:comp.sys.amiga.marketplace, news:comp.sys.amiga.misc, news:comp.sys.amiga.multimedia, news:comp.sys.amiga.programmer, news:comp.sys.amiga.reviews, news:comp.sys.amiga.tech, news:comp.sys.amiga.telecomm, news:comp.Unix.amiga.
See aminet, Amoeba, bomb, exec, gronk, guru meditation, Intuition, sidecar, slap on the side, Vulcan nerve pinch.
(2001-02-14)

Amiga E
tool An Amiga E compiler by Wouter van Oortmerssen.
Amiga E compiles 20000 lines/minute on a 7 Mhz Amiga. It allows in-line assembly code and has an integrated linker. It has a large set of integrated functions and modules. V2.04 includes as modules a flexible type system, quoted expressions, immediate and typed lists, low level polymorphism and exception handling. It is written in assembly language and E.
Version 2.1b
(ftp://ftp.wustl.edu/pub/aminet/dev/e/AmigaE21b.lha). (ftp://amiga.physik.unizh.ch/amiga/dev/lang/AmigaE21b.lha).
Usenet newsgroup: news:comp.sys.amiga.programmer.
(1997-08-26)

Aminet
networking (Amiga network) A collection of FTP mirrors that contain several gigabytes of freely distributable software for the Amiga range of computers.
Home, ftp.wustl.edu (ftp://ftp.wustl.edu).
(1997-08-31)

AML
A Manufacturing Language

AML/E
language, robotics (AML Entry) A simple version of AML, implemented on the IBM PC, with a graphic display of the robot position.
(1995-10-03)

AMO
America's Multimedia Online

Amoeba
1. operating system A distributed operating system developed by Andrew S. Tanenbaum and others of Vrije Universiteit, Amsterdam. Amoeba is only available under licence from the VUA, but is free of charge and includes all source, binaries and documentation.
Home (http://www.am.cs.vu.nl/).
[Features?]
2. computer, abuse A derogatory term for Commodore's Amiga personal computer.
[Jargon File]
(1997-05-07)

AMP
Algebraic Manipulation Package

amper
ampersand

ampersand
character ASCII character 38.
Common names: ITU-T, INTERCAL: ampersand; amper; and. Rare: address (from C); reference (from C++); bitand; background (from sh); pretzel; amp.
A common symbol for and , used as the address of operator in C, the reference operator in C++ and a bitwise AND operator in several programming languages.
UNIX shells use the character to indicate that a task should be run in the background.
The ampersand is a ligature (combination) of the cursive letters e and t , invented in 63 BC by Marcus Tirus [Tiro?] as shorthand for the Latin word for and , et .
The word ampersand is a conflation (combination) of and, per se and . Per se means by itself , and so the phrase translates to , standing by itself, means 'and' . This was at the end of the alphabet as it was recited by children in old English schools. The words ran together and were associated with . The ampersand spelling dates from 1837.
Take our word for it (http://www.takeourword.com/Issue010.html).
(2000-10-28)

AMPL
language Along with mpl, the intrinsic parallel languages for MasPar's computers. AMPL and mpl are parallel variants of C. Ampl is actually now a gcc port.
[ AMPL: Design, Implementation and Evaluation of a Multiprocessing Language , R. Dannenberg, CMU 1981].
[ Loglan Implementation of the AMPL Message Passing System , J. Milewski SIGPLAN Notices 19(9):21-29 (Sept 1984)].
[Are these the same language?]
(1995-11-01)

AMPLE
language, music A FORTH-like language for programming the 500/5000 series of add-on music synthesisers for the BBC Microcomputer. AMPLE was produced by Hybrid Technologies, Cambridge, England in the mid 1980s. Many AMPLE programs were published in Acorn User magazine.
(1995-11-01)

Amplitude Modulation
communications (AM) A method of encoding data by varying the amplitude of a constant frequency carrier.
Contrast Frequency Modulation.
(2001-04-30)

amp off
jargon (Purdue) To run in background. From the Unix shell (ampersand) operator.
[Jargon File]
(1995-11-14)

AMPPL-II
Associative Memory Parallel Processing Language

AMS
Andrew Message System

AMTRAN
Automatic Mathematical TRANslation

Amulet
processor An implementation or the Advanced RISC Machine microprocessor architecture using the micropipeline design style. In April 1994 the Amulet group in the Computer Science department of Manchester University took delivery of the AMULET1 microprocessor. This was their first large scale asynchronous circuit and the world's first implementation of a commercial microprocessor architecture (ARM) in asynchronous logic.
Work was begun at the end of 1990 and the design despatched for fabrication in February 1993. The primary intent was to demonstrate that an asynchronous microprocessor can consume less power than a synchronous design.
The design incorporates a number of concurrent units which cooperate to give instruction level compatibility with the existing synchronous part. These include an Address unit, which autonomously generates instruction fetch requests and interleaves (nondeterministically) data requests from the Execution unit; a Register file which supplies operands, queues write destinations and handles data dependencies; an Execution unit which includes a multiplier, a shifter and an ALU with data-dependent delay; a Data interface which performs byte extraction and alignment and includes an instruction prefetch buffer, and a control path which performs instruction decode. These units only synchronise to exchange data.
The design demonstrates that all the usual problems of processor design can be solved in this asynchronous framework: backwards instruction set compatibility, interrupts and exact exceptions for memory faults are all covered. It also demonstrates some unusual behaviour, for instance nondeterministic prefetch depth beyond a branch instruction (though the instructions which actually get executed are, of course, deterministic). There are some unusual problems for compiler optimisation, as the metric which must be used to compare alternative code sequences is continuous rather than discrete, and the nondeterminism in external behaviour must also be taken into account.
The chip was designed using a mixture of custom datapath and compiled control logic elements, as was the synchronous ARM. The fabrication technology is the same as that used for one version of the synchronous part, reducing the number of variables when comparing the two parts.
Two silicon implementations have been received and preliminary measurements have been taken from these. The first is a 0.7um process and has achieved about 28 kDhrystones running the standard benchmark program. The other is a 1 um implementation and achieves about 20 kDhrystones. For the faster of the parts this is equivalent to a synchronous ARM6 clocked at around 20MHz; in the case of AMULET1 it is likely that this speed is limited by the memory system cycle time (just over 50ns) rather than the processor chip itself.
A fair comparison of devices at the same geometries gives the AMULET1 performance as about 70% of that of an ARM6 running at 20MHz. Its power consumption is very similar to that of the ARM6; the AMULET1 therefore delivers about 80 MIPS/W (compared with around 120 from a 20MHz ARM6). Multiplication is several times faster on the AMULET1 owing to the inclusion of a specialised asynchronous multiplier. This performance is reasonable considering that the AMULET1 is a first generation part, whereas the synchronous ARM has undergone several design iterations. AMULET2 (currently under development) is expected to be three times faster than AMULET1 - 120 kdhrystones - and use less power.
The macrocell size (without pad ring) is 5.5 mm by 4.5 mm on a 1 micron CMOS process, which is about twice the area of the synchronous part. Some of the increase can be attributed to the more sophisticated organisation of the new part: it has a deeper pipeline than the clocked version and it supports multiple outstanding memory requests; there is also specialised circuitry to increase the multiplication speed. Although there is undoubtedly some overhead attributable to the asynchronous control logic, this is estimated to be closer to 20% than to the 100% suggested by the direct comparison.
AMULET1 is code compatible with ARM6 and is so is capable of running existing binaries without modification. The implementation also includes features such as interrupts and memory aborts.
The work was part of a broad ESPRIT funded investigation into low-power technologies within the European Open Microprocessor systems Initiative (OMI) programme, where there is interest in low-power techniques both for portable equipment and (in the longer term) to alleviate the problems of the increasingly high dissipation of high-performance chips. This initial investigation into the role asynchronous logic might play has now demonstrated that asynchronous techniques can be applied to problems of the scale of a complete microprocessor.
Home (http://www.cs.man.ac.uk/amulet)
(1994-12-08)

an
networking The country code for the Netherlands Antilles (Dutch Antilles).
(1999-01-27)

analog
spelling American spelling of analogue.
(1995-11-14)

Analog Hardware Design Language
language (AHDL) A language under development by the US Air Force.
(1995-04-09)

analogue
electronics (US: analog ) A description of a continuously variable signal or a circuit or device designed to handle such signals. The opposite is discrete or digital .
Analogue circuits are much harder to design and analyse than digital ones because the designer must take into account effects such as the gain, linearity and power handling of components, the resistance, capacitance and inductance of PCB tracks, wires and connectors, interference between signals, power supply stability and more. A digital circuit design, especially for high switching speeds, must also take these factors into account if it is to work reliably, but they are usually less critical because most digital components will function correctly within a range of parameters whereas such variations will corrupt the outputs of an analogue circuit.
See also analogue computer.
(1995-11-14)

analogue computer
computer, hardware A machine or electronic circuit designed to work on numerical data represented by some physical quantity (e.g. rotation or displacement) or electrical quantity (e.g. voltage or charge) which varies continuously, in contrast to digital signals which are either 0 or 1.
For example, the turning of a wheel or changes in voltage can be used as input. Analogue computers are said to operate in real time and are used for research in design where many different shapes and speeds can be tried out quickly. A computer model of a car suspension allows the designer to see the effects of changing size, stiffness and damping.
(1995-05-01)

Analogy Model
programming A method of estimating the cost of a proposed software project by extrapolating from the costs and schedules of similar completed projects.
(1996-05-28)

Analytical Engine
history A design for a general-purpose digital computer proposed by Charles Babbage in 1837 as a successor to his earlier special-purpose Difference Engine.
The Analytical Engine was to be built from brass gears powered by steam with input given on punched cards. Babbage could never secure enough funding to build it, and so it was, and never has been, constructed.
(http://www.fourmilab.ch/babbage/).
(1998-10-19)

Analytical Machine
Analytical Engine

anchor
hypertext (Or span , region , button , extent ) An area within the content of a hypertext node (e.g. a web page) which is the source or destination of a link. A source anchor may be a word, phrase, image, or possibly the whole node. A destination anchor may be a whole node or some position within the node.
Typically, clicking with the mouse on a source anchor causes the link to be followed and the anchor at the opposite end of the link to be displayed. Anchors are highlighted in some way (either always, or when the mouse is over them), or they may be marked by a special symbol.
In HTML anchors are created with the A.. .. /A construct. The opening A tag of a source anchor has an HREF (hypertext reference) attribute giving the destination in the form of a URL - usually a whole node or page . E.g.
A HREF= http://www.foldoc.org/ Free On-line Dictionary of Computing /A
Destination anchors are only used in HTML to name a position within a page using a NAME attribute. E.g.
A NAME= chapter3
The name or fragment identifier is appended to the URL of the page with a # :
http://www.fairystory.com/goldilocks.html#chapter3
(Though it is generally better to break pages into smaller units than to have large pages with named sections).
(1997-11-15)

ANCP
language An early system on the Datatron 200 series.
[Listed in CACM 2(5):16, May 1959].
(1995-11-15)

AND
logic (Or conjunction ) The Boolean function which is true only if all its arguments are true. The truth table for the two argument AND function is:
A | B | A AND B
--+---+---------
F | F |    F
F | T |    F
T | F |    F
T | T |    T
AND is often written as an inverted V in texts on logic. In the C programming language it is represented by the (logical and) operator.
(1997-11-15)

ANDF
Architecture Neutral Distribution Format

Andorra-I
language A parallel logic programming language with the OR-parallelism of Aurora and the AND-parallelism of Parlog.
[ Andorra-I: A Parallel Prolog System that Transparently Exploits both And- and Or-Parallelism , V.S Costa et al, SIGPLAN Notices 26(7):83-93 (July 1991)].
[Imperial College? Who?]
(1995-11-24)

Andorra Kernel Language
language (AKL) The successor to KAP by S. Janson sverker@sics.se .
A prototype implementation is available from the author.
[ Programming Paradigms of the Andorra Kernel Language , S. Janson et al in Logic Programming: Proc 1991 Intl Symp, MIT Press 1991].
(1994-11-24)

Andorra-Prolog
language
[ Andorra-Prolog: An Integration of Prolog and Committed Choice Languages , S. Haridi et al, Intl Conf Fifth Gen Comp Sys 1988, ICOT 1988].
(1995-11-24)

Andrei Markov
person 1856-1922. The Russian mathematician, after who Markov chains were named.
Biography (http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Markov.html).
[Other contributions?]
(1995-10-06)

Andrew File System
operating system, storage (AFS) The distributed file system of the Andrew Project, adopted by the OSF as part of their Distributed Computing Environment.
Frequently Asked Questions (http://www.transarc.com/Product/AFS/FAQ/faq.html).
(1994-11-24)

Andrew Fluegelman
person The author of the MS-DOS communications program PC-TALK III. He once owned the trademark freeware but it wasn't enforced after his mysterious disappearance and presumed death in 1985.
(2000-07-18)

Andrew Message System
messaging A multimedia interface to electronic mail and bulletin boards, developed as part of the Andrew Project.
(1994-11-24)

Andrew Project
project A distributed system project for support of educational and research computing at Carnegie Mellon University, named after Andrew Carnegie, an American philanthropist who provided money to establish CMU.
See also Andrew File System, Andrew Message System, Andrew Toolkit, class.
Home FTP (ftp://emsworth.andrew.cmu.edu)
Usenet newsgroup: news:comp.soft-sys.andrew.
[More detail?]
(1997-11-17)

Andrew S. Tanenbaum
Andrew Tanenbaum

Andrew Tanenbaum
person Professor Andrew S. Tanenbaum (1941-) of the Vrije Universiteit, Amsterdam in The Netherlands. Tanenbaum is famous for his work and books on computer architecture, operating systems and networks.
He wrote the textbook Computer Networks , Second Edition, Prentice-Hall, 1981, which describes the International Standards Organisation, Open Systems Interconnection (ISO-OSI) network model.
See Amoeba, Mac-1, Mic-1, Mic-2, Micro Assembly Language, MINIX, MicroProgramming Language, standard.
[Home page?]
(1996-04-23)

Andrew Toolkit
tool (ATK) A portable user interface toolkit developed as part of the Andrew project, running on the X Window System and distributed with X11R5.
(1995-11-24)

Andy Tanenbaum
Andrew Tanenbaum

An Evolutionary System for On-line Programming
database (AESOP) An early interactive query system on the IBM 1800 using a light pen.
[ AESOP: A Final Report: A Prototype Interactive Information Control System , J.K. Summers et al, in Information System Science and Technology, D. Walker ed, 1967].
[Sammet 1969, p. 703].
(1995-04-04)

Angel
operating system A single address space, micro-kernel operating system for multiprocessor computers, developed at Imperial College and City University, London, UK.
[Ariel Burton]
(1995-11-24)

angle bracket
character Either of the characters (less-than, ASCII 60) and (greater-than, ASCII 62). Typographers in the Real World use angle brackets which are either taller and slimmer (the ISO Bra and Ket characters), or significantly smaller (single or double guillemets) than the less-than and greater-than signs.
See broket.
(1995-11-24)

Anglo-Saxon point
ATA point

angry fruit salad
abuse A bad visual-interface design that uses too many colours. (This term derives, of course, from the bizarre day-glo colours found in canned fruit salad). Too often one sees similar effects from interface designers using colour window systems such as X; there is a tendency to create displays that are flashy and attention-getting but uncomfortable for long-term use.
[Jargon File]
(1995-11-24)

ANI
Automatic Number Identification

Animated GIF
graphics, file format (GIF89a) A variant of the GIF image format, often used on World-Wide Web pages to provide moving icons and banners.
The GIF89a format supports multiple frames that give the impression of motion when displayed in sequence, much like a flip book. The animation may repeat continuously or play once.
Animated GIFs aren't supported by earlier web browsers, however the first frame of the image is still shown.
There are many utilities to create animated GIFs from a sequence of individual GIF files. There are also utilities that will produce animated GIFs automatically from a piece of text or a single image.
One problem with this format is the size of the files produced, as they are by definition a sequence of individual images. Apart from minimising the number of frames, the best way to decrease file size is to assist the LZW compression by using blocks of solid colour, avoid dithering, and use fewer colours. If areas of an image don't change from one frame to another, they don't need to be redrawn so make the area a transparent block in the second frame.
(1999-08-01)

animation
graphics The creation of artificial moving images.
Usenet newsgroup: news:comp.graphics.animation. FAQ (ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics.animation).
(1995-11-24)

Animus
[ Constraint-Based Animation: The Implementation of Temporal Constraints in the Animus System , R. Duisberg, PhD Thesis U Washington 1986].
(1995-11-24)

ANL
Argonne National Laboratory

Anna
ANNotated Ada

annealing
simulated annealing

annotate
annotation

ANNotated Ada
language, specification (Anna) A specification language developed at Stanford University ca. 1980 for formally specifying Ada programs. It has a Specification Analyzer and a Consistency Checking System. It adds semantic assertions in the form of Ada comments.
(ftp://anna.stanford.edu/pub/anna/)
[ ANNA - A Language for Annotating Ada Programs , David Luckham et al, Springer 1987].
(1994-11-01)

annotation
1. programming, compiler Extra information associated with a particular point in a document or program. Annotations may be added either by a compiler or by the programmer. They are not usually essential to the correct function of the program but give hints to improve performance.
2. hypertext A new commentary node linked to an existing node. If readers, as well as authors, can annotate nodes, then they can immediately provide feedback if the information is misleading, out of date or plain wrong.
(1995-11-26)

annoybot
messaging /*-noy-bot/ An irksome IRC robot.
[Jargon File]
(1997-12-23)

annoyware
software Shareware that reminds you frequently that you are using an unregistered copy.
(1998-04-29)

Annual Change Traffic
software (ACT) The fraction of the software product's source code which changes during a year, either through addition or modification. The ACT can be used to determine the product size in order to estimate software maintenance effort.
(1996-05-29)

annulled branch
delayed control-transfer

anonymous FTP
networking An interactive service provided by many Internet hosts allowing any user to transfer documents, files, programs, and other archived data using File Transfer Protocol. The user logs in using the special user name ftp or anonymous and his e-mail address as password. He then has access to a special directory hierarchy containing the publically accessible files, typically in a subdirectory called pub . This is usually a separate area from files used by local users.
A reference like
ftp: euagate.eua.ericsson.se /pub/eua/erlang/info
means that files are available by anonymous FTP from the host called euagate.eua.ericsson.se in the directory (or file) /pub/eua/erlang/info. Sometimes the hostname will be followed by an Internet address in parentheses. The directory will usually be given as a path relative to the anonymous FTP login directory. A reference to a file available by FTP may also be in the form of a URL starting ftp: .
See also Archie, archive site, EFS, FTP by mail, World-Wide Web.
(1995-11-26)

ANother Tool for Language Recognition
tool (ANTLR) The parser generator in the Purdue Compiler-Construction Tool Set.
(1995-10-26)

ANR
Automatic Network Routing

ANS
American National Standard

ANSA
Advanced Network Systems Architecture

ANSI
American National Standards Institute

ANSI C
language, standard (American National Standards Institute C) A revision of C, adding function prototypes, structure passing, structure assignment and standardised library functions. ANSI X3.159-1989.
cgram is a grammar for ANSI C, written in Scheme. unproto is a program for removing function prototypes to translate ANSI C to standard C. lcc is a retargetable compiler for ANSI C.
(1995-11-26)

ANSI Minimal BASIC
language, standard ANS X3.60-1978.
[Details?]
(1995-11-29)

ANSI/SPARC
ANSI Standards Planning And Requirments Committee

ANSI/SPARC Architecture
architecture (Or ANSI/SPARC model ) ANSI/SPARC's layered model of database architecture comprising a physical schema, a conceptual schema and user views.
[Reference?]
(1998-12-17)

ANSI/SPARC model
ANSI/SPARC Architecture

ANSI X12
standard Standards defining the structure, format, and content of business transactions conducted through Electronic Data Interchange (EDI). ANSI X12 is produced by the committee ASC X12, supported by the Data Interchange Standards Association, Inc. (DISA).
[(http://www.onlinewbc.org/Docs/procure/standard.html)].
(1999-09-18)

ANSI Z39.50
networking, standard Information Retrieval Service Definition and Protocol Specification for Library Applications, officially known as ANSI/NISO Z39.50-1992, and ANSI/NISO Z39.50-1995. This standard, used by WAIS, specifies an OSI application layer service to allow an application on one computer to query a database on another.
Z39.50 is used in libraries and for searching some databases on the Internet. The US Library of Congress (http://lcweb.loc.gov/z3950/agency/) is the official maintanence agency for Z39.50.
Index Data, a Danish company, have released a lot of Z39.50 code. Their web site explains the relevant ISO standards and how they are amicably converging in Z39.50 version 4.0.
Overview (http://www.nlc-bnc.ca/ifla/VI/5/op/udtop3.htm).
Z39.50 resources (http://lamp.cs.utas.edu.au/net.html#Z3950).
(1996-07-22)

Anthony Hoare
person (C. Anthony R. Hoare, Tony) A computer scientist working on programming languages, especially parallel ones. Hoare was responsible for Communicating Sequential Processes (CSP).
See also: pointer, Simone.
[Did he invent the Hoare powerdomain? Other details?]
(1999-07-22)

anti-aliasing
graphics A technique used on a grey-scale or colour bitmap display to make diagonal edges appear smoother by setting pixels near the edge to intermediate colours according to where the edge crosses them.
The most common example is black characters on a white background. Without anti-aliasing, diagonal edges appear jagged, like staircases, which may be noticeable on a low resolution display. If the display can show intermediate greys then anti-aliasing can be applied. A pixel will be black if it is completely within the black area, or white if it is completely outside the black area, or an intermediate shade of grey according to the proportions of it which overlap the black and white areas. The technique works similarly with other foreground and background colours.
Aliasing refers to the fact that many points (which would differ in the real image) are mapped or aliased to the same pixel (with a single value) in the digital representation.
(1998-03-13)

antichain
mathematics A subset S of a partially ordered set P is an antichain if,
for all x, y in S, x = y = x = y
I.e. no two different elements are related.
( = is written in LaTeX as subseteq).
(1995-02-03)

antisymmetric
mathematics A relation R is antisymmetric if,
for all x and y, x R y and y R x = x == y.
I.e. no two different elements are mutually related.
Partial orders and total orders are antisymmetric. If R is also symmetric, i.e.
x R y = y R x
then
x R y = x == y
I.e. different elements are not related.
(1995-04-18)

antivirus software
tool Programs to detect and remove computer viruses. The simplest kind scans executable files and boot blocks for a list of known viruses. Others are constantly active, attempting to detect the actions of general classes of viruses. antivirus software should always include a regular update service allowing it to keep up with the latest viruses as they are released.
(1998-02-25)

ANTLR
ANother Tool for Language Recognition

ANU
Australian National University

ANU ML
language An implementation of SML by the Australian National University for Motorola 68020, Vax and Pyramid.
(1995-11-26)

anytime algorithm
algorithm An algorithm that returns the best answer possible even if it is not allowed to run to completion, and may improve on the answer if it is allowed to run longer.
[Example?]
(1998-02-26)

ao
networking The country code for Angola.
(1999-01-27)

AOCE
Apple Open Collaboration Environment

AOL
America On-Line

AOP
aspect-oriented programming

AOS
1. /aws/ (East Coast), /ay-os/ (West Coast) A PDP-10 instruction that took any memory location and added 1 to it. AOS meant Add One and do not Skip . Why, you may ask, does the S stand for do not Skip rather than for Skip ? Ah, here was a beloved piece of PDP-10 folklore. There were eight such instructions: AOSE added 1 and then skipped the next instruction if the result was Equal to zero; AOSG added 1 and then skipped if the result was Greater than 0; AOSN added 1 and then skipped if the result was Not 0; AOSA added 1 and then skipped Always; and so on. Just plain AOS didn't say when to skip, so it never skipped.
For similar reasons, AOJ meant Add One and do not Jump . Even more bizarre, SKIP meant do not SKIP ! If you wanted to skip the next instruction, you had to say SKIPA . Likewise, JUMP meant do not JUMP ; the unconditional form was JUMPA. However, hackers never did this. By some quirk of the 10's design, the JRST (Jump and ReSTore flag with no flag specified) was actually faster and so was invariably used. Such were the perverse mysteries of assembler programming.
2. /A-O-S/ or /A-os/ A Multics-derived operating system supported at one time by Data General.
A spoof of the standard AOS system administrator's manual ( How to Load and Generate your AOS System ) was created, issued a part number, and circulated as photocopy folklore; it was called How to Goad and Levitate your CHAOS System .
3. Algebraic Operating System, in reference to those calculators which use infix instead of postfix (reverse Polish) notation.
[Jargon File]
(1995-11-26)

APA
Application Portability Architecture

Apache
World-Wide Web, project A open source HTTP server for Unix, Windows NT, and other platforms. Apache was developed in early 1995, based on code and ideas found in the most popular HTTP server of the time, NCSA httpd 1.3. It has since evolved to rival (and probably surpass) almost any other Unix based HTTP server in terms of functionality, and speed. Since April 1996 Apache has been the most popular HTTP server on the Internet, in May 1999 it was running on 57% of all web servers.
It features highly configurable error messages, DBM-based authentication databases, and content negotiation.
Latest version: 1.3.9, as of 1999-10-27.
Home (http://www.apache.org/httpd.html).
FAQ (http://www.apache.org/docs/misc/FAQ.html).
(1999-10-27)

APAL
Array Processor Assembly Language

APAREL
A PArse REquest Language

A PArse REquest Language
language (APAREL) A PL/I extension to provide BNF parsing routines, for IBM 360.
[ APAREL: A Parse Request Language , R.W. Balzer et al, CACM 12(11) (Nov 1969)].
(1995-11-26)

APC
Association for Progressive Communications

APDL
Algorithmic Processor Description Language

APE
audio, compression A lossless audio compression algorithm from MonkeysAudio.
(2001-12-20)

apE
graphics A graphics package from the Ohio Supercomputer Centre.
(1995-11-29)

API
Application Program Interface

APIC
Advanced Programmable Interrupt Controller

APL
A Programming Language

APL2
language An APL extension from IBM with nested arrays.
[ APL2 Programming: Language Reference , IBM, Aug 1984. Order No. SH20-9227-0].
(1995-11-29)

APLGOL
language An APL variant with ALGOL-like control structure, from Hewlett-Packard(?).
(1995-11-29)

APLWEB
text, tool A Web to APL and Web to TeX translator by Dr. Christoph von Basum of The University of Bielefeld, Germany.
(ftp://watserv1.uwaterloo.ca/languages/apl/aplweb/).
(1992-12-27)

APM
Advanced Power Management

Apollo Computer
company A company making workstations often used for CAD.
Apollo became a division of Hewlett-Packard some time before November 1995.
[Dates? More details?]
(1998-03-13)

apostrophe
single quote

app
application program

APPC
Advanced Program-to-Program Communications

AppKit
tool A set of objects used by the application builder for the NEXTSTEP environment.
(1995-03-13)

APPLE
language A revision of APL for the Illiac IV.
(1995-04-28)

Apple Attachment Unit Interface
hardware, networking (AAUI) A 14-position, 0.050-inch-spaced ribbon contact connector. Early Power Macintosh and Quadras had an AAUI (Apple Attachment Unit Interface) port (rectangular shaped) for Ethernet, which requires a transceiver. To use twisted pair cabling, you would need to get a twisted pair transceiver for the computer with an AAUI port. Some Power Macintosh computers had both an AAUI and RJ-45 port; you can use one or the other, but not both.
The pin-out is:
Pin   Signal Name     Signal Description
----  --------------  ---------------------------------
1     FN Pwr          Power (+12V @ 2.1W or +5V @ 1.9W)
2     DI-A            Data In circuit A
3     DI-B            Data In circuit B
4     VCC             Voltage Common
5     CI-A            Control In circuit A
6     CI-B            Control In circuit B
7     +5V             +5 volts (from host)
8     +5V             Secondary +5 volts (from host)
9     DO-A            Data Out circuit A
10    DO-B            Data Out circuit B
11    VCC             Secondary Voltage Common
12    NC              Reserved
13    NC              Reserved
14    FN Pwr          Secondary +12V @ 2.1W or +5V @ 1.9W
Shell Protective Gnd Protective Ground
AAUI signals have the same description, function, and electrical requirements as the AUI signals of the same name, as detailed in IEEE 802.3-1990 CSMA/CD Standard, section 7.
(2000-02-10)

Apple Computer, Inc.
company Manufacturers of the Macintosh range of personal computers as well as the earlier Apple I, Apple II and Lisa. Founded on 1 April 1976 by Steve Jobs and Steve Wozniak.
Apples were among the first microcomputers. They originally used the 6502 processor and are still being made (August 1994), now using the 65816. The Apple II line, which includes the Apple I, is the longest existing line of microcomputers.
Steve Jobs left Apple (involuntarily) and started NeXT and later returned when Apple bought NeXT in late 1997(?).
Quarterly sales $2150M, profits $138M (Aug 1994). Home (http://www.apple.com/).
[Dates? More?]
(1998-03-13)

Apple II
computer An 8-bit personal computer with a 6502 processor, from Apple Computer. It was invented by Steve Wozniak and was very popular from about 1980 until the first several years of MS-DOS IBM PCs.
(1995-01-12)

Apple Macintosh
Macintosh

Apple Newton
computer A Personal Digital Assistant produced by Apple Computer. The Newton provides a clever, user-friendly interface and relies solely on pen-based input. Eagerly anticipated, the Newton uses handwriting recognition software to learn the users handwriting and provide reliable character recognition.
Various third-party software applications are available and add-on peripherals like wireless modems for Internet access are being sold by Apple Computer, Inc. and its licensees.
Newton Inc.'s NewtonOS competes with Microsoft Corporation's Windows CE, and was to be compatible with DEC's StrongARM SA-1100, an embedded 200MHz microprocessor, which was due in 1998.
Home (http://www.newton.apple.com/).
Handwriting recognition example (http://www-personal.engin.umich.edu/~jxm/tablespoons.html).
(1997-09-12)

Apple Open Collaboration Environment
tool (AOCE) Software for electronic mail and directory services.
(1995-03-08)

AppleScript
language An object-oriented shell language for the Macintosh, approximately a superset of HyperTalk.
(1995-12-10)

Applesoft BASIC
language A version of BASIC for Apple computers.
(1995-12-10)

applet
World-Wide Web A Java program which can be distributed as an attachment in a World-Wide Web document and executed a Java-enabled web browser such as Sun's HotJava or Netscape Navigator version 2.0 or later.
Navigator severely restricts the applet's file system and network access in order to prevent accidental or deliberate security violations. Full Java applications, which run outside of the browser, do not have these restrictions.
Web browsers can also be extended with plug-ins though these differ from applets in that they usually require manual installation and are platform-specific. Various other languages can now be embedded within HTML documents, the most common being JavaScript.
Despite Java's aim to be a write once, run anywhere language, the difficulty of accomodating the variety of browsers in use on the Internet has led many to abandon client-side processing in favour of server-side Java programs for which the term servlet was coined.
Merriam Webster Collegiate Edition gives a 1990 definition: a short application program especially for performing a simple specific task.
(2002-07-12)

Appletalk
networking, protocol A proprietary local area network protocol developed by Apple Computer, Inc. for communication between Apple products (e.g. Macintosh) and other computers. This protocol is independent of the network layer on which it runs. Current implementations exist for Localtalk, a 235 kilobyte per second local area network and Ethertalk, a 10 megabyte per second local area network.
(1995-03-08)

AppleTalk Data Stream Protocol
protocol (ADSP) A protocol which provides a simple transport method for data accross a network.
(1996-06-18)

AppleTalk Filing Protocol
networking (AFP) A client/server protocol used in AppleTalk communications networks. In order for non-Apple networks to access data in an AppleShare server, their protocols must translate into the AFP language.
See also: Columbia AppleTalk Package.
(1998-06-28)

application
1. application program.
2. function application.

Application Binary Interface
programming (ABI) The interface by which an application program gains access to operating system and other services. It should be possible to run the same compiled binary applications on any system with the right ABI.
Examples are 88open's Binary Compatibility Standard, the PowerOpen Environment and Windows sockets.
(1994-11-08)

Application Configuration Access Protocol
protocol (ACAP) A protocol which enhances IMAP by allowing the user to set up address books, user options, and other data for universal access. Currently (Feb 1997) no Internet proprietary products have implemented ACAP because the Internet Engineering Task Force has not yet approved the final specification. This was expected early in 1997.
[ Your E-Mail Is Obsolete , Byte, Feb 1997].
(1997-05-03)

Application Control Architecture
programming (ACA) DEC's implementation of ORB.
(1994-11-08)

application enablement services
programming IBM-speak for APIs to services such as telecoms, database, etc. within and between address spaces.
(1999-01-20)

Application environment specification
programming (AES) A set of specifications from OSF for programming and user interfaces, aimed at providing a consistent application environment on different hardware. It includes O/S for the operating system (user commands and program interfaces), U/E for the User Environment (Motif), and N/S for Network services.
[Reference?]
(1994-12-07)

Application Executive
language (AE) An embeddable language, written as a C interpreter by Brian Bliss at UIUC. AE is compiled with an application and thus exists in the same process and address space. It includes a dbx symbol table scanner to access compiled variables and routines, or you can enter them manually by providing a type/name declaration and the address. When the interpreter is invoked, source code fragments are read from the input stream (or a string), parsed, and evaluated immediately. The user can call compiled functions in addition to a few built-in intrinsics, declare new data types and data objects, etc. Different input streams can be evaluated in parallel on Alliant computers.
AE has been ported to SunOS (cc or gcc), Alliant FX and Cray YMP (soon).
(ftp://sp2.csrd.uiuc.edu/pub/at.tar.Z) (ftp://sp2.csrd.uiuc.edu/pub/bliss/ae.tex.Z).
(1992-04-21)

Application Integration Architecture
standard (AIA) DEC's open standards specifications.

application layer
networking The top layer of the OSI seven layer model. This layer handles issues like network transparency, resource allocation and problem partitioning. The application layer is concerned with the user's view of the network (e.g. formatting electronic mail messages). The presentation layer provides the application layer with a familiar local representation of data independent of the format used on the network.
(1994-11-28)

Application Portability Architecture
programming (APA) DEC's plan for portable applications software.
(1994-11-28)

application program
programming, operating system (Or application , app ) A complete, self-contained program that performs a specific function directly for the user. This is in contrast to system software such as the operating system kernel, server processes and libraries which exists to support application programs.
Editors for various kinds of documents, spreadsheets, and text formatters are common examples of applications. Network applications include clients such as those for FTP, electronic mail, telnet and WWW.
The term is used fairly loosely, for instance, some might say that a client and server together form a distributed application, others might argue that editors and compilers were not applications but tools for building applications.
One distinction between an application program and the operating system is that applications always run in user mode (or non-privileged mode ), while operating systems and related utilities may run in supervisor mode (or privileged mode ).
The term may also be used to distinguish programs which communicate via a graphical user interface from those which are executed from the command line.
(1994-11-28)

Application Program Interface
programming (API, or application programming interface ) The interface (calling conventions) by which an application program accesses operating system and other services. An API is defined at source code level and provides a level of abstraction between the application and the kernel (or other privileged utilities) to ensure the portability of the code.
An API can also provide an interface between a high level language and lower level utilities and services which were written without consideration for the calling conventions supported by compiled languages. In this case, the API's main task may be the translation of parameter lists from one format to another and the interpretation of call-by-value and call-by-reference arguments in one or both directions.
(1995-02-15)

Application Programming Interface
Application Program Interface

Application Protocol Data Unit
networking (APDU) A packet of data exchanged between two application programs across a network. This is the highest level view of communication in the OSI seven layer model and a single packet exchanged at this level may actually be transmitted as several packets at a lower layer as well as having extra information (headers) added for routing etc.
(1995-12-19)

application server
1. software A designer's or developer's suite of software that helps programmers isolate the business logic in their programs from the platform-related code. Application servers can handle all of the application logic and connectivity found in client-server applications. Many application servers also offer features such as transaction management, clustering and failover, and load balancing; nearly all offer ODBC support.
Application servers range from small footprint, web-based processors for intelligent appliances or remote embedded devices, to complete environments for assembling, deploying, and maintaining scalable multi-tier applications across an enterprise.
2. software Production programs run on a mid-sized computer that handle all application operations between browser-based computers and an organisation's back-end business applications or databases. The application server works as a translator, allowing, for example, a customer with a browser to search an online retailer's database for pricing information.
3. hardware The device on which application server software runs. Application Service Providers offer commercial access to such devices.
Citrix Application Serving White Paper (http://www.citrix.com/press/corpinfo/application_serving_wp_0700.pdf).
Application Server Sites, a list maintained by Vayda Herzum (http://www.componentfactory.org/links/appl.htm).
The Application Server Zone at DevX, (http://www.appserver-zone.com/default.asp).
TechMetrix Research's Application Server Directory, (http://www.techmetrix.com/trendmarkers/techmetrixasd.php3).
(2001-03-30)

Application Service Element
networking (ASE) Software in the presentation layer of the OSI seven layer model which provides an abstracted interface layer to service application protocol data units (APDU). Because applications and networks vary, ASEs are split into common services and specific services.
Examples of services provided by the common application service element (CASE) include remote operations (ROSE) and database concurrency control and recovery (CCR).
The specific application service element (SASE) provides more specialised services.
(1995-12-19)

application service provider
business, networking (ASP) A service (usually a business) that provides remote access to an application program across a network protocol, typically HTTP. A common example is a web site that other web sites use for accepting payment by credit card as part of their online ordering systems.
As this term is complex-sounding but vague, it is widely used by marketroids who want to avoid being specific and clear at all costs.
(2001-03-26)

applications language
Ousterhout's dichotomy

application software
application program

Application Software Installation Server
(ASIS) Something at CERN.
[What?]
(1999-10-21)

Application-Specific Integrated Circuit
hardware (ASIC) An integrated circuit designed to perform a particular function by defining the interconnection of a set of basic circuit building blocks drawn from a library provided by the circuit manufacturer.
(1995-02-15)

Applications Programming Interface
Application Programming Interface

applications software
application program

Application Visualisation System
tool, graphics (AVS) A portable, modular, Unix-based graphics package supported by a consortium of vendors including Convex, DEC, IBM, HP, SET Technologies, Stardent and WaveTracer.
(1994-11-28)

applicative language
language A functional language. Sometimes used loosely for any declarative language though logic programming languages are declarative but not applicative.
(1995-12-24)

Applicative Language for Digital Signal Processing
language (ALDiSP) A functional language with special features for real-time I/O and numerical processing, developed at the Technical University of Berlin in 1989.
[ An Applicative Real-Time Language for DSP - Programming Supporting Asynchronous Data-Flow Concepts , M. Freericks mfx@cs.tu-berlin.de in Microprocessing and Microprogramming 32, N-H 1991].
(1995-04-19)

applicative order reduction
programming An evaluation strategy under which an expression is evaluated by repeatedly evaluating its leftmost innermost redex. This means that a function's arguments are evaluated before the function is applied. This method will not terminate if a function is given a non-terminating expression as an argument even if the function is not strict in that argument. Also known as call-by-value since the values of arguments are passed rather than their names. This is the evaluation strategy used by ML, Scheme, Hope and most procedural languages such as C and Pascal.
See also normal order reduction, parallel reduction.
(1995-01-25)

APPLOG
language A language which unifies logic programming and functional programming.
[ The APPLOG Language , S. Cohen in Logic Programming, deGroot et al eds, P-H 1986, pp.39-276].
(1995-01-25)

APPN
Advanced Peer-to-Peer Networking

approximation algorithm
algorithm An algorithm for an optimisation problem that generates feasible but not necessarily optimal solutions.
Unlike heuristic , the term approximation algorithm often implies some proven worst or average case bound on performance. The terms are often used interchangeably however.
(1997-10-28)

April Fool's Joke
humour, event (AFJ) Elaborate April Fool's hoaxes are a long-established tradition on Usenet and Internet; see kremvax for an example. In fact, April Fool's Day is the *only* seasonal holiday marked by customary observances on the hacker networks.
(1995-01-25)

A Programming Language
language (APL) A language designed originally by Ken Iverson at Harvard University in 1957-1960 as a notation for the concise expression of mathematical algorithms. It went unnamed (or just called Iverson's Language) and unimplemented for many years. Finally a subset, APL 360, was implemented in 1964.
APL is an interactive array-oriented language and programming environment with many innovative features. It was originally written using a non-standard character set but now can use ISO8485. It is dynamically typed with dynamic scope. APL introduced several functional forms but is not purely functional.
Dyadic Systems APL/W is one of the languages that will be available under Microsoft's .NET initative.
Versions: APL 360, APL SV, Dyalog APL, VS APL, Sharp APL, Sharp APL/PC, APL*PLUS, APL*PLUS/PC, APL*PLUS/PC II, MCM APL, Honeyapple, DEC APL, Cognos APL2000 (http://www.apl2000.com/), IBM APL2.
See also Kamin's interpreters.
APLWEB translates WEB to APL.
Dijkstra said that APL was a language designed to perfection - in the wrong direction.
[ A Programming Language , Kenneth E. Iverson, Wiley, 1962].
[ APL: An Interactive Approach , 1976].
(2002-01-19)

APSE
Ada Programming Support Environment

APT
1. language Automatically Programmed Tools.
2. company Audio Processing Technology.
(1996-01-15)

APX III
language An early system on the Datatron 200 series.
[Listed in CACM 2(5):16 (May 1959)].
(1995-05-04)

aq
networking The country code for Antarctica.
(1999-01-27)

AQL
language A picture query language, extension of APL.
[ AQL: A Relational Database Management System and Its Geographical Applications , F. Antonacci et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp. 569-599].
(1995-05-04)

ar
networking The country code for Argentina.
(1999-01-27)

arbitrary precision calculator
tool An arbitrary precision C-like calculator. Interpreter version 1.26.4 by David I. Bell dbell@canb.auug.org.au . Ported to Linux.
(ftp://ftp.uu.net/pub/calc)
(1993-06-15)

ARC
Advanced RISC Computing Specification

arc
1. file format, tool An old archive format for IBM PC. The format is now so obscure that it is only likely to be supported by jack-of-all-trades decompression programs such as WINZIP.
2. mathematics, data An edge in a tree. branch is a generally more common synonym.
(1998-12-29)

Arcade
networking A UK BBS for the Acorn Archimedes. Also has links with Demon Internet.
Telephone: +44 (181) 654 2212 (24hrs, most speeds).
(1994-11-08)

ArchBSD
operating system 4.4 BSD-Lite for the Acorn Archimedes.
(1994-11-08)

archie
tool, networking A system to automatically gather, index and serve information on the Internet. The initial implementation of archie by McGill University School of Computer Science provided an indexed directory of filenames from all anonymous FTP archives on the Internet. Later versions provide other collections of information.
See also archive site, Gopher, Prospero, Wide Area Information Servers.
(1995-12-28)

Archimedes
computer A family of microcomputers produced by Acorn Computers, Cambridge, UK. The Archimedes, launched in June 1987, was the first RISC based personal computer (predating Apple Computer's Power Mac by some seven years). It uses the Advanced RISC Machine (ARM) processor and includes Acorn's multitasking operating system and graphical user interface, RISC OS on ROM, along with an interpreter for Acorn's enhanced BASIC, BASIC V.
The Archimedes was designed as the successor to Acorn's sucessful BBC Microcomputer series and includes some backward compatibility and a 6502 emulator. Several utilities are included free on disk (later in ROM) such as a text editor, paint and draw programs. Software emulators are also available for the IBM PC as well as add-on Intel processor cards.
There have been several series of Archimedes: A300, A400, A3000, A5000, A4000 and RISC PC.
Usenet FAQ (ftp://rtfm.mit.edu/pub/usenet/news.answers/acorn/). Archive site list (http://www.cs.vu.nl/~gerben/acorn/acorn-archives.txt). HENSA archive (ftp://micros.hensa.ac.uk/). Stuttgart archive (ftp://ftp.uni-stuttgart.de/pub/systems/acorn).
See also Crisis Software, Warm Silence Software.
(1998-04-03)

architecture
architecture Design, the way components fit together. The term is used particularly of processors, both individual and in general. The ARM has a really clean architecture . It may also be used of any complex system, e.g. software architecture , network architecture .
(1995-05-02)

Architecture Neutral Distribution Format
programming, operating system (ANDF) An emerging OSF standard for software distribution. Programs are compiled into ANDF before distribution and executables are produced from it for the local target system. This allows software to be developed and distributed in a single version then installed on a variety of hardware.
See also UNCOL.
[ Architecture Neutral Distribution Format: A White Paper , Open Software Foundation, Nov 1990].
(1995-10-20)

archive
1. file format A single file containing one or (usually) more separate files plus information to allow them to be extracted (separated) by a suitable program.
Archives are usually created for software distribution or backup. tar is a common format for Unix archives, and arc or PKZIP for MS-DOS and Microsoft Windows.
2. operating system To transfer files to slower, cheaper media (usually magnetic tape) to free the hard disk space they occupied. This is now normally done for long-term storage but in the 1960s, when disk was much more expensive, files were often shuffled regularly between disk and tape.
3. networking archive site.
(1996-12-08)

archive site
networking (Or FTP site , FTP archive ) An Internet host where program source, documents, e-mail or news messages are stored for public access via anonymous FTP, Gopher, World-Wide Web or other document distribution system. There may be several archive sites for e.g. a Usenet newsgroup though one may be recognised as the main one.
FTP servers were common on the Internet for many years before the World-Wide Web (WWW) was invented and are still used in preference to web servers for serving large files such as software distributions. This is because FTP is more efficient than HTTP, the protocol of the WWW. Many sites therefore run both HTTP and FTP servers.
[Is FTP more efficient? How much more?]
Some well-known archive sites include Imperial College, UK (ftp://src.doc.ic.ac.uk/), UUNET, USA(ftp://ftp.uu.net/).
See also archie, GNU archive site, mirror.
(1998-07-02)

ARCnet
networking A network developed by DataPoint. ARCnet was proprietary until the late 1980s and had about as large a marketshare as Ethernet among small businesses. It was almost as fast and was considerably cheaper at the time.
(1995-01-16)

ARCS
ARC

Arctic
language, music A real-time functional language, used for music synthesis.
[ Arctic: A Functional Language for Real-Time Control , R.B. Dannenberg, Conf Record 1984 ACM Symp on LISP and Functional Prog, ACM].
(1995-01-16)

arena
programming The area of memory attached to a Unix process by the brk and sbrk system calls and used by malloc as dynamic storage. So named from a malloc: corrupt arena message emitted when some early versions detected an impossible value in the free block list.
See overrun screw, aliasing bug, memory leak, memory smash, smash the stack.
[Jargon File]
(1995-12-28)

ARES
language A pictorial query language.
[ A Query Manipulation System for Image Data Retrieval , T. Ichikawa et al, Proc IEEE Workshop Picture Data Description and Management, Aug 1980, pp. 61-67].
(1995-10-10)

AREV
Advanced Revelation

AREXX
language REXX for the Amiga.
ARexxGuide (http://www.halcyon.com/robin/www/arexxguide/main.html)
(1996-02-06)

arg
argument

argument
programming (Or arg ) A value or reference passed to a function, procedure, subroutine, command or program, by the caller. For example, in the function
square(x) = x * x
x is the formal argument or parameter and in the call
y = square(3+3)
3+3 is the actual argument. This will, in most cases, execute the function square with x having the value 6.
There are many different conventions for passing arguments to functions and procedures including call-by-value, call-by-name, call-by-need. These affect whether the value of the argument is computed by the caller or the callee (the function) and whether the callee can modify the value of the argument as seen by the caller (if it is a variable).
Arguments to functions are usually, following mathematical notation, written in parentheses after the function name, separated by commas. Arguments to a program are usually given after the command name, separated by spaces, e.g.:
cat myfile yourfile hisfile
Here cat is the command and myfile , yourfile , and hisfile are the arguments.
See also: curried function.
(2002-07-02)

Argus
language A successor to CLU, from LCS at MIT. Argus supports distributed programming through guardians (like monitors, but can be created dynamically) and atomic actions (indivisible activity). It also has cobegin and coend.
[ Argus Reference Manual , B. Liskov et al., TR-400, MIT/LCS, 1987].
[ Guardians and Actions: Linguistic Support for Robust, Distributed Programs , B. Liskov liskov@lcs.mit.edu et al, TOPLAS 5(3):381-404 (1983)].
(1995-12-28)

Ariel
language An array-oriented language for the CDC 6400.
[ Ariel Reference Manual , P. Devel, TR 22, CC UC Berkeley, Apr 1968].
[ A New Survey of the Ariel Programming Language , P. Deuel, TR 4, Ariel Consortium, UC Berkeley, June 1972].
[Deuel or Devel?]
(1995-12-29)

ARI Service
company The trading name of the remnants of AST Research, Inc.. ARI Services is a wholly owned subsidiary of Samsung Electronics Co. Ltd., of Seoul, Korea. They no longer manufacture or distribute computer hardware, but they continue to provide worldwide technical and service support to owners of systems that they manufactured.
AST Computers, LLC is a separate company.
Headquarters: 16225 Alton Parkway, POB 57005, Irvine, California 92619-7005, USA.
Home (http://www.ari-service.com/).
(2000-03-28)

ARITH-MATIC
language An extension of Grace Hopper's A-2 programming language, developed in about 1955. ARITH-MATIC was originally known as A-3, but was renamed by the marketing department of Remington Rand UNIVAC.
(http://cispom.boisestate.edu/cis221emaxson/hophtm.htm).
[How was A-2 extended?]
(2001-01-27)

Arithmetic and Logic Unit
processor (ALU or mill ) The part of the central processing unit which performs operations such as addition, subtraction and multiplication of integers and bit-wise AND, OR, NOT, XOR and other Boolean operations. The CPU's instruction decode logic determines which particular operation the ALU should perform, the source of the operands and the destination of the result.
The width in bits of the words which the ALU handles is usually the same as that quoted for the processor as a whole whereas its external busses may be narrower. Floating-point operations are usually done by a separate floating-point unit . Some processors use the ALU for address calculations (e.g. incrementing the program counter), others have separate logic for this.
(1995-03-24)

arity
programming The number of arguments a function or operator takes. In some languages functions may have variable arity which sometimes means their last or only argument is actually a list of arguments.
(1997-07-21)

arj
tool, file format An archive format for the IBM PC. ARJ files are handled by the ARJ program, created by the American programmer Robert Jung.
[Available from? Compare with PKZIP?]
(1996-11-03)

Arjuna
language An object-oriented programming system developed by a team led by Professor Santosh Shrivastava at the University of Newcastle, implemented entirely in C++. Arjuna provides a set of tools for the construction of fault-tolerant distributed applications. It exploits features found in most object-oriented languages (such as inheritance) and only requires a limited set of system capabilities commonly found in conventional operating systems. Arjuna provides the programmer with classes that implement atomic transactions, object level recovery, concurrency control and persistence. The system is portable, modular and flexible; the system software has been available via FTP since 1992.
Home (http://arjuna.ncl.ac.uk/)
(1995-03-06)

ARL
ASSET Reuse Library

ARM
1. processor Advanced RISC Machine.
Originally Acorn RISC Machine.
2. company Advanced RISC Machines Ltd.
3. publication [ The Annotated C++ Reference Manual , Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley, 1990].
4. hardware Active Reconfiguring Message.
(1997-10-03)

ARM610
processor A 32-bit RISC microprocessor based on the ARM6 processor core designed by Advanced RISC Machines Ltd.
The ARM610 is the successor to the ARM3 processor and is produced by VLSI Technology Inc. It consumes 500mW at 33MHz with a 5V supply.
(1995-12-29)

ARM7
processor A RISC microprocessor architecture from Advanced RISC Machines Ltd. (ARM). Building upon the ARM6 family, the goal of the ARM7 design was to offer higher levels of raw compute performance at even lower levels of power consumption. The ARM7 architecture is now (Dec 1994) the most powerful low voltage RISC processor available on the market.
The ARM7 offers several architectural extensions which address specific market needs, encompassing fast multiply and innovative embedded ICE support. Software development tools are available.
The ARM7 architecture is made up of a core CPU plus a range of system peripherals which can be added to a CPU core to give a complete system on a chip, e.g. 4K or 8K cache, Memory Management Unit, Write Buffer, coprocessor interface, ICEbreaker embedded ICE support and JTAG boundary scan. The ARM710 microprocessor is built around the ARM7 core.
(http://www.systemv.com/armltd/arm7.html)
(1995-01-05)

ARM710
processor A 32-bit RISC microprocessor based on the ARM7 processor core designed by Advanced RISC Machines Ltd. The A710 is the successor to the ARM610 processor. It was released in July 1994 by VLSI Technology Inc.
The ARM710 can run at 40MHz (fastest sample 55MHz) dissipating 500mW with a 5V supply or 25MHz with 3.3V supply. It has an 8 kilobyte on-chip cache, memory management unit and write buffer.
The ARM700 and ARM710 processors represent a significant improvement over the ARM610 processors. They have a higher maximum clock speed and a number of architectural improvements such as double the size of internal cache, this means that more of any process can be executed internally without accessing the (relatively) slow external memory. Other improvements are an improved write buffer and an enlarged Translation Lookaside Buffer in the MMU. All of these improvements increase the performance of the system and deliver more real performance than a simple comparison of clock speeds would indicate.
The ARM710 has been optimised for integer performance. The FPA11 floating point coprocessor has a peak throughput of up to 5 MFLOPS and achieves an average throughput in excess of 3 MFLOPS for a range of calculations.
(1995-04-21)

ARM7500
processor An ARM7 core with I/O and VIDC20 all on one integrated circuit.
(1994-09-23)

ARM8
processor A RISC microprocessor core designed by Advanced RISC Machines Ltd. with 50000 transistors. The design of the ARM8 is not yet public but it is not superscalar. The ARM8 will form the core of the ARM800 microprocessor integrated circuit.
(1995-03-03)

ARM800
processor A microprocessor based on the ARM8 processor core designed by Advanced RISC Machines Ltd. Planned features include a 60-100Mhz clock rate; 0.35-0.4 micron silicon fabrication; an improvement on the ARM7's 1.4 cycle/instruction; a 16 Kbyte cache.
Some estimates were 100 MIPS and 120 Kdhrystones at 70Mhz (twice the ARM700). Samples of the ARM800 are expected to be available in late 1995.
It may run on a voltage below 3.3V.
Digital Semiconductor's Hudson fab is 0.35 micron and they have announced a licensing deal for the ARM architecture (see StrongARM).
(1995-02-07)

ARM Ltd
Advanced RISC Machines Ltd.

ARMM
Automated Retroactive Minimal Moderation

armour-plated
bulletproof

ARP
Address Resolution Protocol

ARPA
Defense Advanced Research Projects Agency

ARPANET
Advanced Research Projects Agency Network

ARQ
Automatic Repeat Request

array
1. programming A collection of identically typed data items distinguished by their indices (or subscripts ). The number of dimensions an array can have depends on the language but is usually unlimited.
An array is a kind of aggregate data type. A single ordinary variable (a scalar ) could be considered as a zero-dimensional array. A one-dimensional array is also known as a vector .
A reference to an array element is written something like A[i,j,k] where A is the array name and i, j and k are the indices. The C language is peculiar in that each index is written in separate brackets, e.g. A[i][j][k]. This expresses the fact that, in C, an N-dimensional array is actually a vector, each of whose elements is an N-1 dimensional array.
Elements of an array are usually stored contiguously. Languages differ as to whether the leftmost or rightmost index varies most rapidly, i.e. whether each row is stored contiguously or each column (for a 2D array).
Arrays are appropriate for storing data which must be accessed in an unpredictable order, in contrast to lists which are best when accessed sequentially.
See also associative array.
2. architecture A processor array, not to be confused with an array processor.
(1995-01-25)

array processor
processor (Or vector processor ) A computer, or extension to its arithmetic unit, that is capable of performing simultaneous computations on elements of an array or table of data in some number of dimensions.
Common uses for array processors include analysis of fluid dynamics and rotation of 3d objects, as well as data retrieval, in which elements of a database are scanned simultaneously. Array processors are very rare now (1998).
Array presentation (http://www.cs.njit.edu/leon/105/c5/index.htm).
[What sort of computations? How much parallelism? Example brands?]
(1998-03-13)

Array Processor Assembly Language
language (APAL) The assembly language for the DAP parallel computer.
(1994-11-28)

Array Theory
theory A theory developed by Trenchard More Jr. and used as the basis for the NIAL language.
Papers are available from the IBM Cambridge Scientific Center, Cambridge MA.
(1995-01-25)

arrow key
hardware One of four keys on a keyboard marked with arrows pointing up, down, left and right. The arrow keys are used for such things as moving the cursor in a text document, for moving the input focus between the fields of a form or sometimes for scrolling a picture.
(1998-06-26)

ART
language A real-time functional language. It timestamps each data value when it was created.
[ Applicative Real-Time Programming , M. Broy, PROC IFIP 1983, N-H].
(1996-01-15)

Artemis microkernel
operating system A microkernel currently under development by Dave Hudson dave@humbug.demon.co.uk , scheduled for release under GPL in May 1995. It is targeted at embedded applications on Intel 80386, Intel 486 and Pentium based systems.
(1995-03-29)

Artifex
programming, tool A CASE environment from ARTIS of Turin for the development of large event-driven distributed systems. It has code-generation and rapid prototyping features.
(1996-01-24)

artificial intelligence
artificial intelligence (AI) The subfield of computer science concerned with the concepts and methods of symbolic inference by computer and symbolic knowledge representation for use in making inferences. AI can be seen as an attempt to model aspects of human thought on computers. It is also sometimes defined as trying to solve by computer any problem that a human can solve faster.
Examples of AI problems are computer vision (building a system that can understand images as well as a human) and natural language processing (building a system that can understand and speak a human language as well as a human). These may appear to be modular, but all attempts so far (1993) to solve them have foundered on the amount of context information and intelligence they seem to require.
The term is often used as a selling point, e.g. to describe programming that drives the behaviour of computer characters in a game. This is often no more intelligent than Kill any humans you see; keep walking; avoid solid objects; duck if a human with a gun can see you .
See also AI-complete, neats vs. scruffies, neural network, genetic programming, fuzzy computing, artificial life.
ACM SIGART (http://sigart.acm.org/). U Cal Davis (http://phobos.cs.ucdavis.edu:8001). CMU Artificial Intelligence Repository (http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html).
(2002-01-19)

Artificial Intelligence Lab
MIT AI Lab

Artificial Life
algorithm, application (a-life) The study of synthetic systems which behave like natural living systems in some way. Artificial Life complements the traditional biological sciences concerned with the analysis of living organisms by attempting to create lifelike behaviours within computers and other artificial media. Artificial Life can contribute to theoretical biology by modelling forms of life other than those which exist in nature. It has applications in environmental and financial modelling and network communications.
There are some interesting implementations of artificial life using strangely shaped blocks. A video, probably by the company Artificial Creatures who build insect-like robots in Cambridge, MA (USA), has several mechanical implementations of artificial life forms.
See also evolutionary computing, Life.
[Christopher G. Langton (Ed.), Artificial Life , Proceedings Volume VI, Santa Fe Institute Studies in the Sciences of Complexity. Addison-Wesley, 1989].
Yahoo! (http://www.yahoo.com/Science/Artificial_Life/).
Santa Fe Institute (http://alife.santafe.edu/).
The Avida Group (http://www.krl.caltech.edu/avida/Avida.html).
(1995-02-21)

artificial neural network
artificial intelligence (ANN, commonly just neural network or neural net ) A network of many very simple processors ( units or neurons ), each possibly having a (small amount of) local memory. The units are connected by unidirectional communication channels ( connections ), which carry numeric (as opposed to symbolic) data. The units operate only on their local data and on the inputs they receive via the connections.
A neural network is a processing device, either an algorithm, or actual hardware, whose design was inspired by the design and functioning of animal brains and components thereof.
Most neural networks have some sort of training rule whereby the weights of connections are adjusted on the basis of presented patterns. In other words, neural networks learn from examples, just like children learn to recognise dogs from examples of dogs, and exhibit some structural capability for generalisation.
Neurons are often elementary non-linear signal processors (in the limit they are simple threshold discriminators). Another feature of NNs which distinguishes them from other computing devices is a high degree of interconnection which allows a high degree of parallelism. Further, there is no idle memory containing data and programs, but rather each neuron is pre-programmed and continuously active.
The term neural net should logically, but in common usage never does, also include biological neural networks, whose elementary structures are far more complicated than the mathematical models used for ANNs.
See Aspirin, Hopfield network, McCulloch-Pitts neuron.
Usenet newsgroup: news:comp.ai.neural-nets.
(1997-10-13)

Artisoft, Inc.
company, networking A company, known for the LANtastic range of networking products. Originally providers of proprietary, peer-to-peer network hardware and software for small installations, Artisoft now also sells Ethernet and Novell-compatible hardware and software.
Home (http://www.artisoft.com/)
Telephone: +1 (800) 809 1257.
Address: Tucson, Arizona, USA; Phoenix, Arizona, USA.
(1995-04-24)

Artistic license
legal The open source license applicable to Perl.
(1999-12-29)

ARTSPEAK
language An early simple language for plotter graphics.
[ The Art of Programming, ARTSPEAK , Henry Mullish, Courant Inst (Nov 1974)].
(1995-02-21)

AS
1. networking Autonomous System.
2. storage Address Strobe.
(1999-04-08)

as
networking The country code for American Samoa.
(1999-01-27)

as31
tool, programming An 8031/8051 assembler by Ken Stauffer stauffer@cpsc.ucalgary.ca and Theo Deraadt which produces a variety of object code output formats. The distribution includes an assembler, yacc parser, and documentation. as31 runs on Sun-3, Sun-4, SunOS 4.0, Tandy 6000, and Xenix.
Current version: 1, as of 1990-01-26.
as31 Home (http://www.pjrc.com/tech/8051/#as31_assembler).
(2002-05-07)

AS400
AS/400

AS/400
computer An IBM minicomputer for small business and departmental users, released in 1988 and still in production in October 1998.
Features include a menu-driven interface, multi-user support, terminals that are (in the grand IBM tradition) incompatible with anything else including the IBM 3270 series, and an extensive library-based operating system.
The machine survives because its API layer allows the operating system and application programs to take advantage of advances in hardware without recompilation and which means that a complete system that costs $9000 runs the exact same operating system and software as a $2 million system. There is a 64-bit RISC processor operating system implementation.
Programming languages include RPG, assembly language, C, COBOL, SQL, BASIC, and REXX. Several CASE tools are available: Synon, AS/SET, Lansa.
Home (http://www.as400.ibm.com/).
(1999-07-26)

ASA
Adaptive Simulated Annealing

asap
chat As soon as possible.
(1999-10-13)

asbestos
jargon Used as a modifier to anything intended to protect one from flames; also in other highly flame-suggestive usages. E.g., asbestos longjohns, asbestos cork award.
[Jargon File]
(1996-02-06)

asbestos cork award
humour Once, long ago at MIT, there was a flamer so consistently obnoxious that another hacker designed, had made, and distributed posters announcing that said flamer had been nominated for the asbestos cork award . (Any reader in doubt as to the intended application of the cork should consult the etymology under flame.) Since then, it is agreed that only a select few have risen to the heights of bombast required to earn this dubious dignity - but there is no agreement on *which* few.
[Jargon File]
(1996-02-06)

asbestos longjohns
humour Notional garments donned by Usenet posters just before emitting a remark they expect will elicit flamage. This is the most common of the asbestos coinages. Also asbestos underwear , asbestos overcoat , etc.
[Jargon File]
(1997-07-04)

ascender
text A lowercase letter that extends above the x-height (the height of the letter x ), such as d , t , or h . Also used to denote the part of the letter extending above the x-height.
Compare descender.
(1998-03-27)

ASCII
American Standard Code for Information Interchange

ASCII art
graphics (Or character graphics , ASCII graphics ) The fine art of drawing diagrams using the ASCII character set (mainly |-/ + ).
See also boxology. Here is a serious example:
o----)||(--+--| ----+   +---------o + D O
L  )||(  |        |   |             C U
A I  )||(  +-- |-+  |   +- / /-+--o -   T
C N  )||(        |  |   |      |        P
E  )||(  +-- |-+--)---+--)|--+-o      U
)||(  |        |          | GND    T
o----)||(--+--| ----+----------+
A power supply consisting of a full wave rectifier circuit feeding a capacitor input filter circuit
Figure 1.
And here are some very silly examples:
| / / /|     ____/|              ___    | _/|    ___
|      |       o.O|   ACK!      /    _  |` '|  _/
|      |      =(_)=  THPHTH!   /       /      /
| (o)(o)        U             /
C      _)  (__)                 / / /   _____  / / / /
| ,___|    (oo)                        /      /
|   /        /-------          U                  (__)
/____         ||     |      /---V  `v'-            oo )
/              ||---W||  *  * |--|   || |`.         |_/
//-o-
____---=======---____
====___    /.. ..    /___====      Klingons rule OK!
//        --- __O__/---
_                            /_/
_____
__...---'-----`---...__
_===============================
,----------------._/'      `---..._______...---'
(_______________||_) . .  ,--'
/    /.---'         `/
'--------_- - - - - _/
`--------'
Figure 2.
There is an important subgenre of ASCII art that puns on the standard character names in the fashion of a rebus.
+--------------------------------------------------------+
|      ^^^^^^^^^^^^                                      |
| ^^^^^^^^^^^            ^^^^^^^^^                       |
|                 ^^^^^^^^^^^^^            ^^^^^^^^^^^^^ |
|        ^^^^^^^         B       ^^^^^^^^^               |
|  ^^^^^^^^^          ^^^            ^^^^^^^^^^^^^^      |
+--------------------------------------------------------+
A Bee in the Carrot Patch
Figure 3.
Within humorous ASCII art, there is, for some reason, an entire flourishing subgenre of pictures of silly cows. One is shown in Figure 2; here are three more:
(__)              (__)              (__)
( /)              ($$)              (**)
/------- /        /------- /        /------- /
/ | 666 ||        / |=====||        / |     ||
*  ||----||       *  ||----||       *  ||----||
~~    ~~          ~~    ~~          ~~    ~~
Satanic cow    This cow is a Yuppie   Cow in love
Figure 4.
(http://gagme.wwa.com/~boba/scarecrow.html)
(1996-02-06)

ASCIIbetical order
jargon, programming /as'kee-be'-t*-kl or'dr/ Used to indicate that data is sorted in ASCII collated order rather than alphabetical order. The main difference is that, in ASCII, all the upper case letters come before any of the lower case letters so, e.g., Z comes before a .
[Jargon File]
(1999-04-08)

ASCIIbonics
chat (From ASCII and Ebonics) A style of text communication in English which is most common on talk systems such as irc. Its notable characteristics are:
Typing all in lowercase (and occasionally all in uppercase).
Copious use of abbreviations of the sort u for you 1 for one (and therefore some1 for someone , ne1 for anyone ), 2 for to , r for are , etc.
A general lack of punctuation, except for strings of question marks and exclamation marks.
Common use of the idiom m or f? , meant to elicit a statement of the listener's gender.
Typical extended discourse in ASCIIbonics: hey wasup ne1 want 2 cyber? m or f?
ASCIIbonics is similar to the way B1FF talked, although B1FF used more punctuation (lots more), and used all uppercase, rather than all lowercase. What's more, B1FF was only interested in warez, and so never asked m or f? .
It has been widely observed that some of the purest examples of ASCIIbonics come from non-native speakers of English.
The phenomenon of ASCIIbonics predates by several years the use of the word ASCIIbonics , as the word could only have been coined in or after late 1996, when Ebonics was first used in the US media to denote the US English dialects known in the linguistic literature as Black Vernacular English .
(1997-06-21)

ASCII character table
character The following list gives the octal, decimal and hexadecimal ASCII codes for each character along with its printed representation and common name(s).
Oct Dec Hex  Name
000   0 0x00 NUL
001   1 0x01 SOH, Control-A
002   2 0x02 STX, Control-B
003   3 0x03 ETX, Control-C
004   4 0x04 EOT, Control-D
005   5 0x05 ENQ, Control-E
006   6 0x06 ACK, Control-F
007   7 0x07 BEL, Control-G
010   8 0x08 BS, backspace, Control-H
011   9 0x09 HT, tab, Control-I
012  10 0x0a LF, line feed, newline, Control-J
013  11 0x0b VT, Control-K
014  12 0x0c FF, form feed, NP, Control-L
015  13 0x0d CR, carriage return, Control-M
016  14 0x0e SO, Control-N
017  15 0x0f SI, Control-O
020  16 0x10 DLE, Control-P
021  17 0x11 DC1, XON, Control-Q
022  18 0x12 DC2, Control-R
023  19 0x13 DC3, XOFF, Control-S
024  20 0x14 DC4, Control-T
025  21 0x15 NAK, Control-U
026  22 0x16 SYN, Control-V
027  23 0x17 ETB, Control-W
030  24 0x18 CAN, Control-X
031  25 0x19 EM, Control-Y
032  26 0x1a SUB, Control-Z
033  27 0x1b ESC, escape
034  28 0x1c FS
035  29 0x1d GS
036  30 0x1e RS
037  31 0x1f US
040  32 0x20 space
041  33 0x21 !, exclamation mark
042  34 0x22  , double quote
043  35 0x23 #, hash
044  36 0x24 $, dollar
045  37 0x25 %, percent
046  38 0x26  , ampersand
047  39 0x27 ', quote
050  40 0x28 (, open parenthesis
051  41 0x29 ), close parenthesis
052  42 0x2a *, asterisk
053  43 0x2b +, plus
054  44 0x2c ,, comma
055  45 0x2d -, minus
056  46 0x2e ., full stop
057  47 0x2f /, oblique stroke
060  48 0x30 0, zero
061  49 0x31 1
062  50 0x32 2
063  51 0x33 3
064  52 0x34 4
065  53 0x35 5
066  54 0x36 6
067  55 0x37 7
070  56 0x38 8
071  57 0x39 9
072  58 0x3a :, colon
073  59 0x3b ;, semicolon
074  60 0x3c  , less than
075  61 0x3d =, equals
076  62 0x3e  , greater than
077  63 0x3f ?, question mark
0100  64 0x40 @, commercial at
0101  65 0x41 A
0102  66 0x42 B
0103  67 0x43 C
0104  68 0x44 D
0105  69 0x45 E
0106  70 0x46 F
0107  71 0x47 G
0110  72 0x48 H
0111  73 0x49 I
0112  74 0x4a J
0113  75 0x4b K
0114  76 0x4c L
0115  77 0x4d M
0116  78 0x4e N
0117  79 0x4f O
0120  80 0x50 P
0121  81 0x51 Q
0122  82 0x52 R
0123  83 0x53 S
0124  84 0x54 T
0125  85 0x55 U
0126  86 0x56 V
0127  87 0x57 W
0130  88 0x58 X
0131  89 0x59 Y
0132  90 0x5a Z
0133  91 0x5b [, open square bracket
0134  92 0x5c  , backslash
0135  93 0x5d ], close square bracket
0136  94 0x5e ^, caret
0137  95 0x5f _, underscore
0140  96 0x60 `, back quote
0141  97 0x61 a
0142  98 0x62 b
0143  99 0x63 c
0144 100 0x64 d
0145 101 0x65 e
0146 102 0x66 f
0147 103 0x67 g
0150 104 0x68 h
0151 105 0x69 i
0152 106 0x6a j
0153 107 0x6b k
0154 108 0x6c l
0155 109 0x6d m
0156 110 0x6e n
0157 111 0x6f o
0160 112 0x70 p
0161 113 0x71 q
0162 114 0x72 r
0163 115 0x73 s
0164 116 0x74 t
0165 117 0x75 u
0166 118 0x76 v
0167 119 0x77 w
0170 120 0x78 x
0171 121 0x79 y
0172 122 0x7a z
0173 123 0x7b , open curly bracket
0174 124 0x7c |, vertical bar
0175 125 0x7d , close curly bracket
0176 126 0x7e ~, tilde
0177 127 0x7f delete
See NUL, SOH, STX, ETX, ETX, EOT, ENQ, ACK, BEL, BS, HT, line feed, VT, FF, CR, SO, SI, DLE, XON, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US, space, exclamation mark, double quote, hash, dollar, percent, ampersand, quote, open parenthesis, close parenthesis, asterisk, plus, comma, minus, full stop, oblique stroke, colon, semicolon, less than, equals, greater than, question mark, commercial at, open square bracket, backslash, close square bracket, caret, underscore, back quote, open curly bracket, vertical bar, close curly bracket, tilde, delete.
(1996-06-24)

ASCII graphics
ASCII art

ASDIMPL
ASDO IMPlementation Language

ASDL
Abstract-Type and Scheme-Definition Language

ASDO IMPlementation Language
language (ASDIMPL) A C-like language, run on Burroughs' mainframes in the early 1980s, and cross-compiled to x86-based embedded processors.
(1996-02-06)

ASE
1. programming Advanced Software Environment.
2. networking Application Service Element.
(1999-07-06)

A* search
algorithm A graph search algorithm. A* is guaranteed to find a minimal solution path before any other solution paths, if a solution exists, in other words, it is an admissible search algorithm. Each path is assigned a value based on the cost of the path (e.g. its length) and an (under)estimate of the cost of completing the path, i.e. the cost of a path from the end of the current path to a solution.
(1995-03-31)

ASF
Algebraic Specification Language

ash
tool A Bourne Shell clone by Kenneth Almquist. It works pretty well. For running scripts, it is sometimes better and sometimes worse than Bash.
Ash runs under 386BSD, NetBSD, FreeBSD, and Linux.
FTP Linux version (ftp://ftp.win.tue.nl/pub/linux/ports/ash-linux-0.1.tar.gz).
(1995-07-20)

Ashmedai
tool A symbolic mathematics package by Michael Levine levine@cpwsca.psc.edu that influenced SMP and FORM. There are versions for the Univac 1108 and VAX/VMS.
(1995-03-21)

Ashton-Tate Corporation
company The original developer and vendor of the dBASE relational database and application development tool. In the early 1990s it was taken over by Borland International, Inc.
[Dates? Address?]
(1996-03-09)

ASIC
Application-Specific Integrated Circuit

A Simulation Process-Oriented Language
language, simulation (ASPOL) An ALGOL-like language for computer simulation.
[ Process and Event Control in ASPOL , M.H. MacDougall, Proc Symp on Simulation of Computer Systems, NBS (Aug 1975)].
(1996-03-25)

ASIS
1. Application Software Installation Server.
2. language Ada Semantic Interface Specification.
(1999-10-21)

ASK
Amplitude Shift Keying

ASL
Algebraic Specification Language

ASL+
language, specification An algebraic specification language by David Aspinall of the University of Edinburgh. ASL+ has rules for proving the satisfaction of specifications. It can also be viewed as a type theory with subtyping, featuring contravariant refinement for Pi-abstracted specifications and a notion of stratified equality for higher-order objects.
(1994-09-14)

ASM
assembly language

ASME
American Society of Mechanical Engineers

ASN
Autonomous System Number

ASN.1
Abstract Syntax Notation 1

ASP
1. World-Wide Web Active Server Pages.
2. networking application service provider.
3. language A query language(?).
[Sammet 1969, p.702].
4. processor Attached Support Processor.
(2000-07-08)

ASPECT
tool, programming An IPSE developed by an Alvey project, using Z to specify the object-management system and tool interface.
(1996-03-25)

ASpecT
language Algebraic specification of abstract data types. A strict functional language that compiles to C.
Versions of ASpecT are available for Sun, Ultrix, NeXT, Macintosh, OS/2 2.0, Linux, RS/6000, Atari, Amiga.
(ftp://wowbagger.uni-bremen.de/pub/programming/languages).
(1996-03-25)

aspect
programming In aspect-oriented programming, a modular unit of control over emergent entities.
(1999-08-31)

aspect-oriented programming
programming (AOP) A style of programming that attempts to abstract out features common to many parts of the code beyond simple functional modules and thereby improve the quality of software.
Mechanisms for defining and composing abstractions are essential elements of programming languages. The design style supported by the abstraction mechanisms of most current languages is one of breaking a system down into parameterised components that can be called upon to perform a function.
But many systems have properties that don't necessarily align with the system's functional components, such as failure handling, persistence, communication, replication, coordination, memory management, or real-time constraints, and tend to cut across groups of functional components.
While they can be thought about and analysed relatively separately from the basic functionality, programming them using current component-oriented languages tends to result in these aspects being spread throughout the code. The source code becomes a tangled mess of instructions for different purposes.
This tangling phenomenon is at the heart of much needless complexity in existing software systems. A number of researchers have begun working on approaches to this problem that allow programmers to express each of a system's aspects of concern in a separate and natural form, and then automatically combine those separate descriptions into a final executable form. These approaches have been called aspect-oriented programming.
Xerox AOP homepage (http://www.parc.xerox.com/csl/projects/aop/).
AspectJ (http://AspectJ.org/).
ECOOPP'99 AOP workshop (http://wwwtrese.cs.utwente.nl/aop-ecoop99/)
(1999-11-21)

aspect ratio
graphics The ratio of width to height of a pixel, image, or display screen. Square pixels (1:1) are considered preferable but displays are usually about 5:4.
(1994-11-30)

ASPEN
language A toy language for teaching compiler construction.
[ ASPEN Language Specifications , T.R. Wilcox, SIGPLAN Notices 12(11):70-87, Nov 1977].
(1994-11-30)

ASPI
Advanced SCSI Peripheral Interface

ASPIK
language, specification A multiple-style specification language.
[ Algebraic Specifications in an Integrated Software Development and Verification System , A. Voss, Diss, U Kaiserslautern, 1985].
(1994-11-30)

Aspirin
language, tool A freeware language from MITRE Corporation for the description of neural networks. A compiler, bpmake, is included. Aspirin is designed for use with the MIGRAINES interface.
Version: 6.0, as of 1995-03-08.
(ftp://ftp.cognet.ucla.edu/alexis/).
(1995-03-08)

ASPLE
language A toy language.
[ A Sampler of Formal Definitions , M. Marcotty et al, Computing Surveys 8(2):191-276 (Feb 1976)].
(1995-02-08)

ASPOL
A Simulation Process-Oriented Language

ASQC
American Society for Quality Control

ASR
Automatic Send Receive

assembler
programming A program which converts assembly language into machine code.
(1996-03-25)

ASSEMBLY
language An early system on the IBM 702.
[Listed in CACM 2(5):1959-05-16].
(1996-06-27)

assembly code
assembly language

Assembly Language
language, robotics (AL) A language for industrial robots developed at Stanford University in the 1970s.
[ The AL Language for an Intelligent Robot , T. Binford in Langages et Methods de Programation des Robots Industriels, pp. 73-88, IRIA Press 1979].
[ AL User's Manual , M.S. Mujtaba et al, Stanford AI Lab, Memo AIM-323 (Jan 1979)].
(1994-11-24)

assembly language
language (Or assembly code ) A symbolic representation of the machine language of a specific processor. Assembly language is converted to machine code by an assembler. Usually, each line of assembly code produces one machine instruction, though the use of macros is common.
Programming in assembly language is slow and error-prone but is the only way to squeeze every last bit of performance out of the hardware.
Filename extension: .s (Unix), .asm (CP/M and others).
See also second generation language.
(1996-09-17)

Assembly Language Compiler
language (ALC) An alternative name for IBM 360 assembly language.
Compare BAL.
(1995-01-04)

Assembly Language for Multics
language (ALM) The assembly language of the GE645 in which critical portions of the Multics kernel were written.
(1994-11-24)

assertion
programming 1. An expression which, if false, indicates an error. Assertions are used for debugging by catching can't happen errors.
2. In logic programming, a new fact or rule added to the database by the program at run time. This is an extralogical or impure feature of logic programming languages.
(1997-06-30)

ASSET
Asset Source for Software Engineering Technology

asset management
business The process whereby a large organisation collects and maintains a comprehensive list of the items it owns such as hardware and software. This data is used in connection with the financial aspects of ownership such as calculating the total cost of ownership, depreciation, licensing, maintenance, and insurance.
(1997-03-30)

Asset Source for Software Engineering Technology
project (ASSET) A programme to promote software reuse by the US DoD.
See also ASSET Reuse Library.
(1996-08-19)

assigned numbers
standard The RFC STD 2 documenting the currently assigned values from several series of numbers used in network protocol implementations. This RFC is updated periodically and, in any case, current information can be obtained from the Internet Assigned Numbers Authority (IANA). If you are developing a protocol or application that will require the use of a link, socket, port, protocol, etc., you should contact the IANA to receive a number assignment.
(1996-08-19)

assignment
programming Storing the value of an expression in a variable. This is commonly written in the form v = e . In Algol the assignment operator was := (pronounced becomes ) to avoid mathematicians qualms about writing statements like x = x+1.
Assignment is not allowed in functional languages, where an identifier always has the same value.
See also referential transparency, single assignment, zero assignment.
(1996-08-19)

assignment problem
mathematics, algorithm (Or linear assignment ) Any problem involving minimising the sum of C(a, b) over a set P of pairs (a, b) where a is an element of some set A and b is an element of set B, and C is some function, under constraints such as each element of A must appear exactly once in P or similarly for B, or both.
For example, the a's could be workers and the b's projects.
The problem is linear because the cost function C() depends only on the particular pairing (a, b) and is independent of all other pairings.
(http://forum.swarthmore.edu/epigone/comp.soft-sys.matlab/bringhyclu). (http://www.soci.swt.edu/capps/prob.htm). (http://mat.gsia.cmu.edu/GROUP95/0577.html). (http://www.informs.org/Conf/WA96/TALKS/SB24.3.html).
[Algorithms?]
(1999-07-12)

Association Control Service Element
networking (ACSE) The OSI method for establishing a call between two application programs. ACSE checks the identities and contexts of the application entities, and could apply an authentication security check.
Documents: ITU Rec. X.227 (ISO 8650), X.217 (ISO 8649)
(1997-12-07)

Association for Computational Linguistics
body (ACL) The international scientific and professional society for people working on problems involving natural language and computation. Membership includes the ACL quarterly journal, Computational Linguistics , reduced registration at most ACL-sponsored conferences, discounts on ACL-sponsored publications, and participation in ACL Special Interest Groups. The ACL started in 1968; there are more than 2000 members worldwide.
E-mail: acl@aclweb.org .
Home (http://www.cs.columbia.edu/~acl/).
(1999-08-31)

Association for Computing
body (ACM, before 1997 - Association for Computing Machinery ) The largest and oldest international scientific and educational computer society in the industry. Founded in 1947, only a year after the unveiling of ENIAC, ACM was established by mathematicians and electrical engineers to advance the science and application of Information Technology. John Mauchly, co-inventor of the ENIAC, was one of ACM's founders.
Since its inception ACM has provided its members and the world of computer science a forum for the sharing of knowledge on developments and achievements necessary to the fruitful interchange of ideas.
ACM has 90,000 members - educators, researchers, practitioners, managers, and engineers - who drive the Association's major programs and services - publications, special interest groups, chapters, conferences, awards, and special activities.
The ACM Press publishes journals (notably CACM), book series, conference proceedings, CD-ROM, hypertext, video, and specialized publications such as curricula recommendations and self-assessment procedures.
Home (http://info.acm.org/).
(1998-02-24)

Association for Computing Machinery
Association for Computing

Association for Progressive Communications
body, philosophy (APC) A world-wide organisation of like-minded computer networks providing a global communications network dedicated to the free and balanced flow of information.
The APC defends and promotes non-commercial, productive online space for NGOs (Non-Governmental Organisations) and collaborates with like-minded organisations to ensure that the information and communication needs of civil society are considered in telecommunications, donor and investment policy.
A few of APC's partner organisations include The Institute for Global Communications (USA), GreenNet (UK), Nicarao (Nicaragua) Enda-Tiers Monde (Senegal) and GlasNet (Ukraine).
These organisations serve people working toward goals that include the prevention of warfare, elimination of militarism and poverty, protection of the environment, human rights, social and economic justice, participatory democracy, non-violent conflict resolution, and the promotion of sustainable development.
Home (http://www.apc.org/english/).
E-mail: apcadmin@apc.org .
(2000-10-08)

Association for SIMULA Users
body See SIMULA.
Address: Royal Institute of Technology, S-100 44 Stockholm, Sweden.
[Details?]
(1995-03-29)

Association Française des Utilisateurs d'Unix
body (et des systèmes ouverts, AFUU) French Association of Unix Users.
Home (http://www.afuu.fr/).
(1996-06-07)

Association of American Publishers
body, publication body (AAP) A group engaged in standardisation efforts in document preparation.
(2000-01-27)

Association of C and C++ Users
body (ACCU) A community of people with an interest in the C family of programming languages: K R C, ANSI C, and C++. The community includes professional programmers, the suppliers of compilers, and those who are just interested in the languages. ACCU members are using C and C++ on a wide range of platforms - Unix, MS-DOS, OS/2, CP/M - home computers, IBM PCs, workstations, and super-computers. Although the organisation is based in the UK, the membership is worldwide. There are members in the US, mainland Europe, Russia, the Middle East, and Australia.
E-mail: info@accu.org , membership@accu.org , academic@accu.org (Academic Liaison Officer).
Address: The Membership Secretary, 64 Southfield Road, Oxford OX4 1PA, United Kingdom.
(1996-12-02)

Association of Lisp Users
body (ALU) A user group which aims to promote Lisp, help inform and educate Lisp users in general, and help represent Lisp users as a group to the vendors. The ALU holds an annual conference and supports the formation of inter-vendor standards. ALU has international membership and is incorporated in the US.
Home (http://www.cs.rochester.edu/u/miller/ALU/home.html).
Usenet newsgroups: news:comp.org.lisp-users news:comp.std.lisp.
Mailing list: alu@ai.sri.com .
(1996-12-07)

associative array
programming An array where the indices are not just integers but may be arbitrary strings.
awk and its descendants (e.g. Perl) have associative arrays which are implemented using hash coding.
(1995-02-16)

associative memory
content addressable memory

Associative Memory Parallel Processing Language
language (AMPPL-II) A language from the early 1970s.
(1995-11-14)

AST
company 1. ARI Service.
2. AST Computers, LLC.
(2000-03-21)

ASTAP
Advanced STatistical Analysis Program

AST Computers, LLC
company The private company formed in January 1999 when Mr. Beny Alagem, the former chairman of Packard Bell NEC, Inc., bought the name and intellectual property of AST Research, Inc.. AST Computers, LLC provide hardware, software, and services for small US businesses.
Samsung Electronics Co. Ltd., of Seoul, Korea, owns a minority stake.
Home (http://www.ast.com/).
Address: Los Angeles, CA, USA.
(2000-03-28)

asterisk
character * ASCII code 42. Common names include: star; INTERCAL: splat; ITU-T: asterisk. Rare: wild card; gear; dingle; mult; spider; aster; times; twinkle; glob; Nathan Hale. Commonly used as the multiplication operator and as the Kleene star.
(2000-07-26)

asterix
spelling Do you mean asterisk (the star-shaped character), or Asterix the Gaul (http://www.webring.org/cgi-bin/webring?ring=asterixwebring index), the popular French cartoon by Goscinny and Uderzo?
(2000-07-26)

Astra Digital Radio
audio Digital Radio over satellite, compatible with analog television transmissions. Alternatively the normal TV subcarriers can be modulated by a MPEG-1 Layer-2 48 kHz 192 kbps signal. Quality is better than analog carriers and only needs half the bandwidth (analog stereo = 2 carrier, digital stereo = 1 carrier). Quality is limited and the data rate can't be increased.
(2001-12-13)

Astral
language A programming language based on Pascal, never implemented.
[ ASTRAL: A Structured and Unified Approach to Database Design and Manipulation , T. Amble et al, in Proc of the Database Architecture Conf, Venice, June 1979].
(2000-01-27)

AST Research, Inc.
company A company, formed some time before 1980, that was a leading personal computer manufacturer. AST developed desktop, mobile, and server PCs that were sold in more than 100 countries worldwide. It is now (2000-03-02) trading as ARI Service. In January 1999 the name and intellectual property were acquired by a new company named AST Computers, LLC.
(2000-03-21)

asymmetrical modulation
communications A scheme to maximise use of a communications line by giving a larger share of the bandwidth to the modem at the end which is transmitting the most information.
Only one end of the connection has full bandwidth, the other has only a fraction of the bandwidth. Normally, which end gets the full bandwidth is chosen dynamically.
Asymmetrical modulation was made famous by the HST mode of the early high-speed modems from US Robotics.
(1998-03-13)

Asymmetric Digital Subscriber Line
communications, protocol (ADSL, or Asymmetric Digital Subscriber Loop) A form of Digital Subscriber Line in which the bandwidth available for downstream connection is significantly larger then for upstream. Although designed to minimise the effect of crosstalk between the upstream and downstream channels this setup is well suited for web browsing and client-server applications as well as for some emerging applications such as video on demand.
The data-rate of ADSL strongly depends on the length and quality of the line connecting the end-user to the telephone company. Typically the upstream data flow is between 16 and 640 kilobits per second while the downstream data flow is between 1.5 and 9 megabits per second. ADSL also provides a voice channel.
ADSL can carry digital data, analog voice, and broadcast MPEG2 video in a variety of implementations to meet customer needs.
[ Data Cooks, But Will Vendors Get Burned? , Supercomm Spotlight On ADSL Lucent Sells Paradine , Wilson Carol, Inter@ctive Week Vol. 3 #13, p1 6, June 24 1996].
See also Carrierless Amplitude/Phase Modulation, Discrete MultiTone.
ADSL Forum (http://www.adsl.com/).
(1998-05-18)

Asymmetric Digital Subscriber Loop
Asymmetric Digital Subscriber Line

asynchronous
architecture Not synchronised by a shared signal such as clock or semaphore, proceeding independently.
Opposite: synchronous.
1. operating system A process in a multitasking system whose execution can proceed independently, in the background . Other processes may be started before the asynchronous process has finished.
2. communications A communications system in which data transmission may start at any time and is indicated by a start bit, e.g. EIA-232. A data byte (or other element defined by the protocol) ends with a stop bit. A continuous marking condition (identical to stop bits but not quantized in time), is then maintained until data resumes.
(1995-12-08)

Asynchronous Balanced Mode
protocol A communication mode of HDLC and derivative protocols, supporting peer-oriented point-to-point communications between two nodes, where either node can initiate transmission.
(1997-05-07)

Asynchronous Communications Interface Adapter
communications, hardware (ACIA) A kind of integrated circuit that provides data formatting and control to EIA-232 serial interfaces.
[Is this the same as a UART?]
(1997-05-07)

asynchronous logic
architecture A data-driven circuit design technique where, instead of the components sharing a common clock and exchanging data on clock edges, data is passed on as soon as it is available. This removes the need to distribute a common clock signal throughout the circuit with acceptable clock skew. It also helps to reduce power dissipation in CMOS circuits because gates only switch when they are doing useful work rather than on every clock edge.
There are many kinds of asynchronous logic. Data signals may use either dual rail encoding or data bundling . Each dual rail encoded Boolean is implemented as two wires. This allows the value and the timing information to be communicated for each data bit. Bundled data has one wire for each data bit and another for timing. Level sensitive circuits typically represent a logic one by a high voltage and a logic zero by a low voltage whereas transition signalling uses a change in the signal level to convey information. A speed independent design is tolerant to variations in gate speeds but not to propagation delays in wires; a delay insensitive circuit is tolerant to variations in wire delays as well.
The purest form of circuit is delay-insensitive and uses dual-rail encoding with transition signalling. A transition on one wire indicates the arrival of a zero, a transition on the other the arrival of a one. The levels on the wires are of no significance. Such an approach enables the design of fully delay-insensitive circuits and automatic layout as the delays introduced by the layout compiler can't affect the functionality (only the performance). Level sensitive designs can use simpler, stateless logic gates but require a return to zero phase in each transition.
(http://www.cs.man.ac.uk/amulet/async/)
(1995-01-18)

Asynchronous Transfer Mode
communications (ATM, or fast packet ) A method for the dynamic allocation of bandwidth using a fixed-size packet (called a cell).
See also ATM Forum, Wideband ATM.
ATM acronyms (http://www.atmforum.com/atmforum/acronym_index.html).
Indiana acronyms (http://cell-relay.indiana.edu/cell-relay/FAQ/ATM-Acronyms.html).
[More detail? Data rate(s)?]
(1996-04-01)

asyncronous
spelling It's spelled asynchronous .
(1996-12-13)

AT
IBM PC AT

at
1. character commercial at.
2. networking The country code for Austria.
(1999-01-27)

AT-3
language The original name of MATH-MATIC.
[Sammet 1969, p. 135].
(2000-02-24)

ATA
Advanced Technology Attachment

ATA-2
Advanced Technology Attachment Interface with Extensions

ATA-4
storage /ul'tr* D M A/ (Or Ultra DMA , UDMA , Ultra-ATA , Ultra-DMA/33 ) A development of the Advanced Technology Attachment specifications which gives nearly twice the maximum transfer speed of the ATA-3 standard (PIO Mode 4).
ATA-4 Extensions Ultra DMA/33 Synchronous DMA Mode maximum burst transfer rates:
Mode Cycle Time Transfer Rate nsMB/s 0 235 16 1 160 24 2 120 33
This is achieved by improving timing windows in the protocol on the ATA interface; reducing propagation delays by pipelining data transfers and transferring data in synchronous (strobed) mode.
Developed by Quantum Corporation, ATA-4 has been freely licensed to manufacturers and is supported by Intel Corporation.
(1998-09-30)

Atanasoff-Berry Computer
computer (ABC) The first electronic digital computer ever built. The ABC was built between 1937 and 1942 by Dr. John Vincent Atanasoff and Clifford Berry at Iowa State College. It incorporated binary arithmetic, regenerative memory, parallel processing, and separation of memory and computing functions.
Ideas from the ABC were used in the design of ENIAC (1943-1946).
(http://www.cs.iastate.edu/jva/jva-archive.shtml).
(2002-04-07)

Atanasoff, John Vincent
John Vincent Atanasoff

ATAPI
AT Attachment Packet Interface

ATA point
unit, text (Or Anglo-Saxon point ) One of the two most common variants of the point, equal to 0.3514598 mm, or 0.0138366 inch, or 1/72.272 inch. The ATA point is used on the island of the United Kingdom and on the American continent.
[What point do they use in Ireland?]
(2002-03-11)

Atari
1. company, computer A maker of arcade games, home video game systems, and home computers, especially during the 1970s and 1980s. Atari are best known for their range of 16- and 32-bit microcomputers, notable for having a built-in MIDI interface. As of February 1994 the range included the Atari 520ST, 1040ST, Mega ST, STe, STacy, Mega STe, TT, and Falcon. There are also emulators for the Apple Macintosh and IBM PC/XT/AT available.
Home (http://www.atarigames.com/).
Usenet newsgroups: news:comp.binaries.atari.st, news:comp.sys.atari.st.tech, news:comp.sources.atari.st, news:comp.sys.atari.st, news:comp.sys.atari.advocacy, news:comp.sys.atari.programmer.
Michigan U (ftp://atari.archive.umich.edu), UK (ftp://micros.hensa.ac.uk/), Germany (ftp://ftp.Germany.EU.net) [192.76.144.75], Netherlands (ftp://ftp.cs.ruu.nl/) [131.211.80.17], UK (ftp://src.doc.ic.ac.uk/computing/systems/atari/umich).
(1999-07-12)

AT Attachment
Advanced Technology Attachment

AT Attachment Packet Interface
storage (ATAPI) Part of the EIDE interface that provides additional commands to control a CD-ROM drive or magnetic tape.
[Winn L. Rosch The Winn L. Rosch Hardware Bible (Third Edition), Sams Publishing, 1994].
(1998-11-01)

AT bus architecture
Industry Standard Architecture

AtFS
Attributed File System

Athena
Project Athena

Atherton Technology
company The comapny that developed the Software BackPlane CASE framework. Their Atherton Tool Integration Services were the basis for the ATIS standard.
(2000-02-24)

Athlon
hardware (K7) AMD's 7th generation x86 processor, released in June 1999.
Athlon uses a Slot A motherboard and is not compatible with Slot 1 motherboards.
[Details? Reference?]
(1999-08-05)

ATIS
A Tools Integration Standard

ATK
Andrew Toolkit

ATLAS
Abbreviated Test Language for Avionics Systems

Atlas Autocode
language The Autocode for the Ferranti Atlas, which may have been the first commercial computer with hardware-paged virtual memory. Whereas other autocodes were basically assembly languages, Atlas Autocode was high-level and block-structured, resembling a cross between Fortran and ALGOL 60. It had call-by value, loops, declarations, complex numbers, pointers, heap and stack storage generators, dynamic arrays, and extensible syntax.
(2000-04-03)

ATM
1. communications Asynchronous Transfer Mode.
2. Automatic Teller Machine - a cash dispenser.
3. chat At the moment.
4. text Adobe Type Manager.
(1995-12-04)

ATM Forum
networking, body An international non-profit arganisation aiming to encourage the user of Asynchronous Transfer Mode through interoperability specifications and to promote cooperation and awareness.
The ATM Forum consists of a worldwide Technical Committee, three Marketing Committees for North America, Europe and Asia-Pacific as well as the User Committee, through which ATM end-users participate.
Worldwide Headquarters: 2570 West El Camino Real, Suite 304 Mountain View, CA 94040-1313 USA.
Telephone: +1 (650) 949 6700.
E-mail: ATM Forum info@atmforum.com .
Home (http://www.atmforum.com/).
(1999-06-14)

ATMP
Asynchronous Transfer Mode Protocol?
(2001-03-03)

atob
tool /A too B/ A utility that does ASCII to binary conversion. The reverse process is btoa.
[Algorithm?]
(1997-08-08)

ATOLL
Acceptance, Test Or Launch Language

atomic
jargon (From Greek atomos , indivisible) Indivisible; cannot be split up.
For example, an instruction may be said to do several things atomically , i.e. all the things are done immediately, and there is no chance of the instruction being half-completed or of another being interspersed. Used especially to convey that an operation cannot be interrupted.
An atomic data type has no internal structure visible to the program. It can be represented by a flat domain (all elements are equally defined). Machine integers and Booleans are two examples.
An atomic database transaction is one which is guaranteed to complete successfully or not at all. If an error prevents a partially-performed transaction from proceeding to completion, it must be backed out to prevent the database being left in an inconsistent state.
[Jargon File]
(2000-04-03)

A Tools Integration Standard
software, library (ATIS) An object-oriented interface to a set of services that allows the saving, accessing and managing of information in a common repository. Developed by Atherton Technology and DEC, based on an extended version of the Software BackPlane, proposed as an industry standard.
(1994-10-25)

ATRAC
Adaptive TRansform Acoustic Coding

ATS
Attribute Translation System

at sign
commercial at

AT T
American Telephone and Telegraph, Inc.

Attachment Unit Interface
networking (AUI) The part of the IEEE Ethernet standard located between the MAC, and the MAU. The AUI is a transceiver cable that provides a path between a node's Ethernet interface and the MAU.
(1996-12-08)

AT T Bell Labs
Bell Laboratories

atto-
prefix

attoparsec
unit, humour About 31 mm (one inch). atto- is the standard SI prefix for multiplication by 10^-18. A parsec (parallax-second) is 3.26 light-years; an attoparsec is thus 3.26 * 10^-18 light years. Thus, one attoparsec per microfortnight is about one inch per second.
This unit is reported to be in use (though probably not very seriously) among hackers in the UK.
[Jargon File]
(1996-12-08)

attribute
data A named value or relationship that exists for some or all instances of some entity and is directly associated with that instance.
Examples include the href attribute of an HTML anchor element, the columns of a database table considered as attributes of each row, and the members (properties and methods of an object in OOP. This contrasts with the contents of some kind of container (e.g. an array), which are typically not named. The contents of an associative array, though they might be considered to be named by their key values, are not normally thought of as attributes.
(2001-02-04)

Attributed File System
storage (AtFS) The basis of the Shape_VC toolkit.
Cooperative work within projects is supported by a status model controlling visibility of version objects, locking, and long transactions for synchronising concurrent updates. The concept of object attributes provides a basis for storing management information with versions and passing this information between individual tools. This mechanism is useful for building integrated environments from a set of unrelated tools.
(2000-02-24)

Attribute Translation System
grammar, tool (ATS) A BNF-based parser generator from the University of Saskatchewan(?). ATS generates table-driven LL1 parsers with full insert-only error recovery. It also has full left-attribute semantic handling, which is a dream compared to using YACC's parser actions.
(2000-04-08)

ATX
hardware, standardq An open PC motherboard specification by Intel.
ATX is a development of the Baby AT specification with the motherboard rotated 90 degrees in the chassis. The CPU and SIMM sockets have been relocated away from the expansion card slots meaning that all the slots support full-length cards. More I/O functions are integrated on the motherboard. As the longer edge of the board is now at the back of the chassis, there is more space for connectors; also, the I/O opening on the back panel of the chassis has been defined as double the previous height, allowing vendors to add extra on-board I/O functions over and above the standard.
Most Pentium Pro boards use this form factor.
As well as the motherboard size, layout, and placement, the ATX specification also includes requirements for power supply and fan specification and location.
The full size ATX board measures 305mm wide by 244mm deep. There is also a Mini-ATX form factor, 284mm by 208mm.
Home (http://developer.intel.com/design/motherbd/atx.htm).
(2001-07-16)

au
1. networking The two character country code for Australia used in Internet domain names.
2. filename extension audio.
(1995-02-15)

aubergine
jargon A secret term used to refer to computers in the presence of computerphobic third parties.
(1995-01-24)

audio
file format Sound, one component of multimedia. Computers (and audio compact discs and digital audio tape) work with digital audio, in contrast to vinyl disks or analogue tape.
(1999-07-30)

audiographics
Audiographic Teleconferencing

audiographic teleconferencing
communications (Or electronic whiteboarding , screen sharing ) A form of teleconferencing in real time using both an audio and a data connection. The computer screen is shared by more than one site, and used as an electronic blackboard, overhead projector or still video projector. Some systems allow for sharing software also.
(1995-10-06)

Audio IFF
file format, music (AIFF) A format developed by Apple Computer Inc. for storing high-quality digital audio and musical instrument information. It is also used by SGI and several professional audio packages.
(1994-10-10)

AudioOne
tool, music Digital recording and editing software developed by BizTrack Software Development for the dance, music, and audio industries. AudioOne includes a waveform recorder that allows signal manipulation, editing, and recording.
(1996-09-28)

Audio Processing Technology
company (APT) A company that produces codecs based on predictive analysis rather than frequency coding.
(1996-01-15)

Audio Video Interleave
multimedia (AVI) An audio-video standard designed by Microsoft. Apparently proprietary and Microsoft Windows-specific.
(http://www2.echo.lu/oii/en/video.html#AVI).
[Details?]
(1996-09-08)

Augmented Backus-Naur Form
language An extension of Backus-Naur Form documented in RFC 2234.
[Summary?]
(1997-11-23)

AUI
1. tool, product Adaptable User Interface.
2. networking Attachment Unit Interface.
(1996-12-08)

A'UM
language A stream-based, concurrent, logic, object-oriented language by K. Yoshida and Takashi Chikayama chikayama@klic.org , built on top of KL1.
[ A'UM - A Stream-based Concurrent Logic Object-Oriented Language , K. Yoshida et al, Proc 3rd Intl Conf Fifth Gen Comp Sys, Springer 1988, pp. 638-649].
(2000-07-16)

AUP
acceptable use policy

Aurora
[ The Aurora Or-Parallel Prolog System , E. Lusk et al, Proc 3rd Intl Conf on Fifth Generation Comp Systems, pp. 819-830, ICOT, A-W 1988].

Austin Kyoto Common Lisp
language (AKCL) A collection of ports, bug fixes, and performance improvements to KCL by William Schelter wfs@cli.com , wfs@math.utexas.edu , University of Texas.
Version 1-615 includes ports to Decstation 3100, HP9000/300, i386/Sys V, IBM-PS2/AIX, IBM-RT/AIX, SGI, Sun-3/Sunos 3 or 4, Sun-4, Sequent Symmetry, IBM370/AIX, VAX/BSD VAX/Ultrix, NeXT.
(ftp://rascal.ics.utexas.edu/pub/akcl-1-609.tar.Z)
(1992-04-29)

authentication
security The verification of the identity of a person or process. In a communication system, authentication verifies that messages really come from their stated source, like the signature on a (paper) letter.
(2001-03-16)

authoring
hypertext Creating a hypertext or hypermedia document.
(1994-11-07)

autobaud
automatic baud rate detection

autobogotiphobia
bogotify

AutoCAD
CAD, product A CAD software package for mechanical engineering, marketed by Autodesk, Inc.
(1994-11-09)

Autocode
language 1. The assembly language accepted by AUTOCODER.
2. A generic term for symbolic assembly language. Versions of Autocode were developed for Ferranti Atlas, Titan, Mercury and Pegasus and IBM 702 and IBM 705.
(2001-05-14)

AUTOCODER
language Possibly the first primitive compiler. AUTOCODER was written by Alick E. Glennie in 1952. It translated symbolic statements into machine language for the Manchester Mark I computer.
Autocoding later came to be a generic term for assembly language programming.
(1994-11-07)

Autodesk, Inc.
company The distributors of the AutoCAD CAD package.
Address: Sausalito, CA, USA.
(1994-11-09)

AUTOEXEC.BAT
operating system The batch file containing commands, loaded by MS-DOS after running CONFIG.SYS. AUTOEXEC.BAT contains normal DOS commands and can be used for additional system configuration such as setting paths and variables, configuring network connections and running application programs.
(1995-03-18)

AUTOGRAF
tool A system for describing bar charts.
[ User's Manual for AUTOGRAF , Cambridge Computer Assoc, Dec 1972].
(2001-05-14)

AUTOGRP
AUTOmated GRouPing system

Auto Idle
A facility provided by some Intel clock doubled microprocessors where the internal clock can be slowed to the external clock rate while the processor is waiting for data from memory, returning to full speed as soon as the data arrives.
See also System Management Mode.
(1994-11-09)

Autolisp
language A dialect of Lisp used by the Autocad CAD package from Autodesk.
(1994-11-09)

autoloader
stack loader

automagically
jargon /aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ Automatically, but in a way that, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), the speaker doesn't feel like explaining to you.
E.g. The C-INTERCAL compiler generates C, then automagically invokes cc to produce an executable.
See magic.
[Jargon File]
(2001-05-18)

automata
automaton

automata theory
automaton

Automated Engineering Design
language (AED) (Or ALGOL Extended for Design ) A systems language for the IBM 7090 and IBM 360 developed at MIT System Laboratory ca. 1965 by a team led by Douglas T. Ross (now at Softech). AED is an extension of ALGOL 60 with records ( plexes ), pointers, and dynamic allocation. DYNAMO II was written in AED, as was the first BCPL compiler.
Versions: AED-0, AED-1, AED-JR.
[ The Automated Engineering Design (AED) Approach to Generalized Computer-Aided Design , D.T. Ross, Proc ACM 22nd Natl Conf, 1967].
[Sammet 1969 and 1978].
(1995-03-26)

AUTOmated GRouPing system
tool, mathematics (AUTOGRP) An interactive statistical analysis system, an extension of CML.
[ AUTOGRP: An Interactive Computer System for the Analysis of Health Care Data , R.E. Mills et al, Medical Care 14(7), Jul 1976].
(1994-11-07)

Automated Retroactive Minimal Moderation
messaging (ARMM) A Usenet robot created by Dick Depew of Munroe Falls, Ohio. ARMM was intended to automatically cancel posts from anonymous-posting sites. Unfortunately, the robot's recogniser for anonymous postings triggered on its own automatically-generated control messages! Transformed by this stroke of programming ineptitude into a monster of Frankensteinian proportions, it broke loose on the night of 1993-03-31 and proceeded to spam news:news.admin.policy with a recursive explosion of over 200 messages.
Reactions varied from amusement to outrage. The pathological messages crashed at least one mail system, and upset people paying line charges for their Usenet feeds. One poster described the ARMM debacle as instant Usenet history (also establishing the term despew), and it has since been widely cited as a cautionary example of the havoc the combination of good intentions and incompetence can wreak on a network.
Compare Great Worm; sorcerer's apprentice mode. See also software laser, network meltdown.
(1996-01-08)

automated testing
testing Software testing assisted with software tools that require no operator input, analysis, or evaluation.
(2001-05-20)

AUTOMATH
language, mathematics A very high level language for writing proofs, from Eindhoven, Netherlands.
[ The Mathematical Language AUTOMATH, Its Usage and Some of its Extensions , N.G. deBruijn, in Symp on Automatic Demonstration, LNM 125, Springer 1970].
(2001-07-09)

Automatically Programmed Tools
language (APT) A language for numerically controlled machine tools.
Versions: APT II (IBM 704, 1958), APT III (IBM 7090, 1961).
[ APT Part Programming , McGraw-Hill].
[Sammet 1969, p. 605].
(1995-05-04)

automatic baud rate detection
communications (ABR, autobaud) A process by which a receiving device determines the speed, code level, and stop bits of incoming data by examining the first character, usually a preselected sign-on character. ABR allows the receiving device to accept data from a variety of transmitting devices operating at different speeds without needing to establish data rates in advance.
(1996-06-18)

automatic hyphenation
text A feature of some word processors which can insert hyphens into words which would otherwise extend beyond the right hand margin of the page.
More advanced word processors may have options to control the position of the hyphen, to restrict certain words from being hyphenated, and to allow custom dictionaries of hyphenation points to be built up.
(1996-08-02)

Automatic Mathematical TRANslation
mathematics, tool (AMTRAN) A system developed by NASA in Huntsville in 1966 for the IBM 1620, based on the Culler-Fried System. It required a special terminal.
[ AMTRAN: An Interactive Computing System , J. Reinfelds, Proc FJCC 37:537- 542, AFIPS (Fall 1970)].
(1995-11-14)

Automatic Network Routing
protocol (ANR) A source routing protocol used to route LU6.2 session and control traffic from node to node through a High Performance Routing network or subnet. ANR operates at the lower end of the SNA Path Control layer.
[Relationship to OS/390?]
(1997-05-08)

Automatic Number Identification
communications (ANI) A service that tells the recipient of a telephone call the telephone number of the person making the call. This number can be passed to computer equipment to automatically retrieve associated information about the caller, i.e. account status, billing records, etc.
See CTI.
(1996-12-08)

Automatic Repeat Request
communications (ARQ) A modem error control protocol in which the receiver asks the transmitter to resend corrupted data.
(1995-11-14)

Automatic Send Receive
hardware (ASR) Part of a designation for a hard-copy terminal, manufactured by Teletype Corporation, which could be commanded remotely to send the contents of its paper tape reader. The ASR-33 was the most common minicomputer terminal in the early 1970s.
(1995-11-23)

Automatic Sequence Controlled Calculator
Mark 1

automation
Automatic, as opposed to human, operation or control of a process, equipment or a system; or the techniques and equipment used to achieve this. Most often applied to computer (or at least electronic) control of a manufacturing process.
See also design automation, office automation, manularity, Manufacturing Automation Protocol, PEARL, QBE.
(1994-10-21)

Automatische Rechenplanfertigung
language A programming language published in 1952 by Heinz Rutishauser (1918-70).
[Features?]
(2001-07-09)

automaton
robotics, mathematics, algorithm (Plural automata) A machine, robot, or formal system designed to follow a precise sequence of instructions.
Automata theory, the invention and study of automata, includes the study of the capabilities and limitations of computing processes, the manner in which systems receive input, process it, and produce output, and the relationships between behavioural theories and the operation and use of automated devices.
See also cellular automaton, finite state machine.
(1996-04-23)

Automatrix, Inc.
company The company which produced CAM-PC.
Address: Ballston Spa, NY, USA.
Home (http://www.automatrix.com/)
(1995-04-21)

Autonomous System
networking, routing (AS) A collection of routers under a single administrative authority, using a common Interior Gateway Protocol for routing packets.
(2001-09-16)

Autonomous System Number
networking, routing (ASN) Used for routing on the Internet.
[Does each ASN uniquely identify an Autonomous System?]
(2001-09-16)

Autopass
programming
[ Autopass: An Automatic Programming System for Computer-Controlled Mechanical Assembly , L.I. Lieberman et al, IBM J Res Dev 21(4):321-333, 1979].
(2001-09-16)

autoprojector
theory A self-applicable partial evaluator.
(2001-09-16)

AUTO-PROMPT
language A numerical control language from IBM for 3D milling.
[Sammet 1969, p.606].
(2001-09-25)

Autostat
language A language for statistical programming.
[ Autostat: A Language for Statistical Programming , A.S. Douglas et al, Computer J 3:61, 1960].
(2001-09-25)

autostereogram
SIRDS

A/UX
operating system (Apple's UniX) Apple's first version of Unix for Macintosh computers. A/UX merges the Macintosh Finder (GUI) with a Unix core, offering functions from both systems. It will run on some late-model Motorola 68000 Macs, but not on the Power Macintosh.
A/UX is based on AT T Unix System V.2.2 with numerous extensions from V.3, V.4 and BSD 4.2/4.3. It also provides full POSIX compliance.
A/UX 3.x.x incorporates System 7 for the Macintosh, thus supporting the vast majority of Macintosh applications. System 7 and Unix are fully integrated under A/UX 3.x.x with the Unix file system being seen as a disk drive by the Finder.
jagubox's A/UX Home Page (http://jagubox.gsfc.nasa.gov/aux/Info/FAQ.auxl).
(1997-12-13)

auxiliary storage
storage An obsolete term for a hard disk drive.
(1997-04-14)

av
avatar

availability
system The degree to which a system suffers degradation or interruption in its service to the customer as a consequence of failures of one or more of its parts.
One of the components of RAS.
(2000-08-13)

Avalon/C++
language, parallel A concurrent extension of C++ with servers and transactions developed in 1986 for fault-tolerant distributed systems. Avalon/C++ was influenced by Argus.
[ Camelot and Avalon: A Distributed Transaction Facility , J.L. Eppinger et al, Morgan Kaufmann 1990].
(2002-01-13)

Avalon/Common LISP
language A LISP dialect available as a prototype only.
[ Reliable Distributed Computing with Avalon/Common LISP , S.M. Clamen et al, CMU-CS-89-186 and Proc Intl Conf on Computer Languages, Mar 1990].
(2002-02-03)

avatar
1. chat, virtual reality An image representing a user in a multi-user virtual reality (or VR-like, in the case of Palace) space.
2. (CMU, Tektronix) root, superuser. There are quite a few Unix computers on which the name of the superuser account is avatar rather than root . This quirk was originated by a CMU hacker who disliked the term superuser , and was propagated through an ex-CMU hacker at Tektronix.
[Jargon File]
(1997-09-14)

average seek time
storage The mean time it takes to move the head of a disk drive from one track to another, averaged over the source and destination cylinders.
The average seek time gives a good measure of the speed of the drive in a multi-user environment where successive read/write request are largely uncorrelated.
Ten ms is common for a hard disk and 200 ms for an eight-speed CD-ROM.
??
(1997-07-22)

AVI
Audio Video Interleave

Avon
A dataflow language.
[ AVON: A Dataflow Language , A. Deb, ICS 87, Second Intl Conf on Supercomputing, v.3, pp.9-19 (ISI 1987)].
(1994-11-28)

AVS
Application Visualisation System

aw
networking The country code for Aruba.
(1999-01-27)

AWE
Advanced WavEffect

AWG
American Wire Gauge

awk
1. tool, language (Named from the authors' initials) An interpreted language included with many versions of Unix for massaging text data developed by Alfred Aho, Peter Weinberger, and Brian Kernighan in 1978. It is characterised by C-like syntax, declaration-free variables, associative arrays, and field-oriented text processing.
There is a GNU version called gawk and other varients including bawk, mawk, nawk, tawk. Perl was inspired in part by awk but is much more powerful.
Unix manual page: awk(1).
netlib WWW (http://plan9.att.com/netlib/research/index.html). netlib FTP (ftp://netlib.att.com/netlib/research/).
[ The AWK Programming Language A. Aho, B. Kernighan, P. Weinberger, A-W 1988].
2. jargon An expression which is awkward to manipulate through normal regexp facilities, for example, one containing a newline.
[Jargon File]
(1995-10-06)

AWT
Abstract Window Toolkit

aXe
tool A text editor for the X Window System. No longer maintained.
(1998-03-13)

AXIOM
language A commercially available subset of Scratchpad, from IBM.
[ Axiom - The Scientific Computing System , R. Jenks et al, Springer 1992].
(1995-02-21)

axiom
logic A well-formed formula which is taken to be true without proof in the construction of a theory.
Compare: lemma.
(1995-03-31)

AXIOM*
mathematics, tool A symbolic mathematics system.
A# is one component of AXIOM*.
Version: 2.
(1995-02-21)

Axiomatic Architecture Description Language
[ AADL: A Net-Based Specification Method for Computer Architecture Design , W. Damm et al in Languages for Parallel Architectures, J.W. deBakker ed, Wiley 1989].
(1995-02-07)

axiomatic semantics
theory A set of assertions about properties of a system and how they are effected by program execution. The axiomatic semantics of a program could include pre- and post-conditions for operations. In particular if you view the program as a state transformer (or collection of state transformers), the axiomatic semantics is a set of invariants on the state which the state transformer satisfies.
E.g. for a function with the type:
sort_list :: [T] - [T]
we might give the precondition that the argument of the function is a list, and a postcondition that the return value is a list that is sorted.
One interesting use of axiomatic semantics is to have a language that has a finitely computable sublanguage that is used for specifying pre and post conditions, and then have the compiler prove that the program will satisfy those conditions.
See also operational semantics, denotational semantics.
(1995-11-09)

axiomatic set theory
theory Set theory, if approached naively, leads to all sorts of problems, the most famous being Russell's paradox. For this reason mathematicians do set theory axiomatically: that is, there is a formal language for talking about sets, and a collection of axioms describing how they behave, and the only legitimate way of drawing conclusions about sets is to use the axioms.
There are many different axiomatisations for set theory. Each takes a slightly different approach to the problem of finding a theory that captures as much as possible of the intuitive idea of what a set is, while avoiding the paradoxes that result from accepting all of it.
The main source of trouble in naive set theory is the idea that you can specify a set by saying whether each object in the universe is in the set or not. Accordingly, the most important differences between different axiomatisations of set theory concern the restrictions they place on this idea (known as comprehension ).
Zermelo Fränkel set theory, the most commonly used axiomatisation, gets round it by (in effect) saying that you can only use this principle to define subsets of existing sets.
NBG (von Neumann-Bernays-Goedel) set theory sort of allows comprehension for all formulae without restriction, but distinguishes between two kinds of set, so that the sets produced by applying comprehension are only second-class sets. NBG is exactly as powerful as ZF, in the sense that any statement that can be formalised in both theories is a theorem of ZF if and only if it is a theorem of ZFC.
MK (Morse-Kelley) set theory is a strengthened version of NBG, with a simpler axiom system. It is strictly stronger than NBG, and it is possible that NBG might be consistent but MK inconsistent.
NF (http://diamond.idbsu.edu/~holmes/holmes/nf.html) ( New Foundations ), a theory developed by Willard Van Orman Quine, places a very different restriction on comprehension: it only works when the formula describing the membership condition for your putative set is stratified , which means that it could be made to make sense if you worked in a system where every set had a level attached to it, so that a level-n set could only be a member of sets of level n+1. (This doesn't mean that there are actually levels attached to sets in NF). NF is very different from ZF; for instance, in NF the universe is a set (which it isn't in ZF, because the whole point of ZF is that it forbids sets that are too large ), and it can be proved that the Axiom of Choice is false in NF!
ML ( Modern Logic ) is to NF as NBG is to ZF. (Its name derives from the title of the book in which Quine introduced an early, defective, form of it). It is stronger than ZF (it can prove things that ZF can't), but if NF is consistent then ML is too.
(2001-02-11)

Axiom of Choice
mathematics (AC, or Choice ) An axiom of set theory:
If X is a set, and S is the union of all the elements of X, then there exists a function f:X - S such that for all non-empty x in X, f(x) is an element of x.
In other words, we can always choose an element from each set in a set of sets, simultaneously.
Function f is a choice function for X - for each x in X, it chooses an element of x.
Most people's reaction to AC is: But of course that's true! From each set, just take the element that's biggest, stupidest, closest to the North Pole, or whatever . Indeed, for any finite set of sets, we can simply consider each set in turn and pick an arbitrary element in some such way. We can also construct a choice function for most simple infinite sets of sets if they are generated in some regular way. However, there are some infinite sets for which the construction or specification of such a choice function would never end because we would have to consider an infinite number of separate cases.
For example, if we express the real number line R as the union of many copies of the rational numbers, Q, namely Q, Q+a, Q+b, and infinitely (in fact uncountably) many more, where a, b, etc. are irrational numbers no two of which differ by a rational, and
Q+a == q+a : q in Q
we cannot pick an element of each of these copies without AC.
An example of the use of AC is the theorem which states that the countable union of countable sets is countable. I.e. if X is countable and every element of X is countable (including the possibility that they're finite), then the sumset of X is countable. This requires AC to be true in general.
Even if one accepts the axiom, it doesn't tell you how to construct a choice function, only that one exists. Most mathematicians are quite happy to use AC if they need it, but those who are careful will, at least, draw attention to the fact that they have used it. There is something a little odd about Choice, and it has some alarming consequences, so results which actually need it are somehow a bit suspicious, e.g. the Banach-Tarski paradox. On the other side, consider Russell's Attic.
AC is not a theorem of Zermelo Fränkel set theory (ZF). Gödel and Paul Cohen proved that AC is independent of ZF, i.e. if ZF is consistent, then so are ZFC (ZF with AC) and ZF(~C) (ZF with the negation of AC). This means that we cannot use ZF to prove or disprove AC.
(1995-04-12)

Axiom of Comprehension
mathematics An axiom schema of set theory which states: if P(x) is a property then
x : P
is a set. I.e. all the things with some property form a set.
Acceptance of this axiom leads to Russell's Paradox which is why Zermelo set theory replaces it with a restricted form.
(1995-03-31)

AXLE
An early string processing language. Program consists of an assertion table which specifies patterns, and an imperative table which specifies replacements. AXLE: An Axiomatic Language for String Transformations , K. Cohen et al, CACM 8(11):657-661 (Nov 1965).

ayacc
A Yacc-like parser generator from the Irvine Research Unit in Software written in Ada that produce Ada output. Comes with aflex.
Version 1.2a.
(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)
Mailing list: irus-software-request@ics.uci.edu .
(1993-01-06)

AYT
chat Are you there?
(1996-03-09)

az
networking The country code for Azerbaijan.
(1999-01-27)

AZERTY
QWERTY

1. byte.
2. language A systems language written by Ken Thompson in 1970 mostly for his own use under Unix on the PDP-11. B was later improved by Kerninghan(?) and Ritchie to produce C. B was used as the systems language on Honeywell's GCOS-3.
B was, according to Ken, greatly influenced by BCPL, but the name B had nothing to do with BCPL. B was in fact a revision of an earlier language, bon, named after Ken Thompson's wife, Bonnie.
[ The Programming Language B , S.C. Johnson B.W. Kernighan, CS TR 8, Bell Labs (Jan 1973)].
[Features? Differences from C?]
(1997-02-02)
3. language A simple interactive programming language by Lambert Meertens and Steven Pemberton. B was the predecessor of ABC.
(ftp://ftp.uni-kl.de/pub/languages/B.tar.Z)
[ Draft Proposal for the B Language , Lambert Meertens, CWI, Amsterdam, 1981].
4. language, specification A specification language by Jean-Raymond Abrial of B Core UK, Magdalen Centre, Oxford Science Park, Oxford OX4 4GA. B is related to Z and supports development of C code from specifications. B has been used in major safety-critical system specifications in Europe, and is currently attracting increasing interest in industry. It has robust, commercially available tool support for specification, design, proof and code generation.
E-mail: Ib.Sorensen@comlab.ox.ac.uk .
(1995-04-24)

b
bit or maybe byte (B).
(1996-11-03)

B-0
language The original name of FLOW-MATIC from Remington Rand. B-0 was used on the UNIVAC I or II about 1958.
(1997-01-09)

B1FF
BIFF

B1 security
Orange Book

B2B
business to business

B2 security
Orange Book

B3 security
Orange Book

b4
chat before.

ba
networking The country code for Bosnia and Herzegowina.
(1999-01-27)

Baan
company A provider of enterprise resource planning and manufacturer resource planning software.
Home (http://www.baan.com/).
(1998-07-07)

Babbage
The structured assembly language for the General Electric Company 4xxx range of computers and their OS4000 operating system. It is strictly an assembler in that the generated code is relatively predictable but it can be written in a sufficiently structured manner, with indentation, control statements, function and procedure calls, to make the resultant source easy to read and manage. Even with this visible structure however, it is important to remember that the assembly of the statement is done left to right.
The British videotext system, Prestel is programmed in Babbage.
[1980's article in Datamation].

Babbage, Charles
Charles Babbage

babbling error
networking An Ethernet node attempting to transmit more than 1518 data bytes - the largest allowed Ethernet packet. This is why the Maximum Transmission Unit for IP traffic on Ethernet is 1500.
[Why 1518?]
(1998-03-13)

BABEL
1. A subset of ALGOL 60, with many ALGOL W extensions.
[ BABEL, A New Programming Language , R.S. Scowen, Natl Phys Lab UK, Report CCU7, 1969].
2. Mentioned in The Psychology of Computer Programming, G.M. Weinberg, Van Nostrand 1971, p.241.
3. A language based on higher-order functions and first-order logic.
[ Graph-Based Implementation of a Functional Logic Language , H. Kuchen et al, Proc ESOP 90, LNCS 432, Springer 1990, pp.271-290].
[ Logic Programming with Functions and Predicates: The Language BABEL , Moreno-Navarro et al, J Logic Prog 12(3) (Feb 1992)].
(1994-11-28)

BABT
British Approval Boards for Telecommunications

Baby AT
hardware The redesigned AT motherboard that had the same size as the XT motherboard had (8.5 x 11 ) and could thus fit into an XT case. The original 12 x 13 AT motherboards are now largely forgotten.
Compare ATX.
(1997-02-20)

BABYLON
A development environment for expert systems. It includes frames, constraints, a prolog-like logic formalism, and a description language for diagnostic applications. It requires Common Lisp.
(ftp://ftp.gmd.de/gmd/ai-research/Software/)
(1995-02-08)

BACAIC
Boeing Airplane Company Algebraic Interpreter Coding system.
A pre-Fortran system on the IBM 701 and IBM 650.
(1995-02-08)

Bachman
A proposed a style of Entity-Relationship model which differs from Chen's.
(1995-02-08)

Bachman Information Systems
company The company which merged with CADRE to form Cayenne Software in July 1996.
(1998-02-06)

backbone
networking The top level in a hierarchical network. Stub networks and transit networks which connect to the same backbone are guaranteed to be interconnected.
See also: Internet backbone.
(1998-07-02)

backbone cabal
networking A group of large-site administrators who pushed through the Great Renaming and reined in the chaos of Usenet during most of the 1980s. The cabal mailing list disbanded in late 1988 after a bitter internal cat-fight.
[Jargon File]
(1994-11-28)

backbone site
A key Usenet, electronic mail and/or Internet site; one that processes a large amount of third-party traffic, especially if it is the home site of any of the regional coordinators for the Usenet maps. Notable backbone sites as of early 1993 include uunet and the mail machines at Rutgers University, UC Berkeley, DEC's Western Research Laboratories, Ohio State University and the University of Texas.
Compare rib site, leaf site.
[Jargon File]
(1994-11-28)

back door
security (Or trap door , wormhole ). A hole in the security of a system deliberately left in place by designers or maintainers. The motivation for such holes is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by field service technicians or the vendor's maintenance programmers. See also iron box, cracker, worm, logic bomb.
Historically, back doors have often lurked in systems longer than anyone expected or planned, and a few have become widely known. The infamous RTM worm of late 1988, for example, used a back door in the BSD Unix sendmail(8) utility.
Ken Thompson's 1983 Turing Award lecture to the ACM revealed the existence of a back door in early Unix versions that may have qualified as the most fiendishly clever security hack of all time. The C compiler contained code that would recognise when the login command was being recompiled and insert some code recognizing a password chosen by Thompson, giving him entry to the system whether or not an account had been created for him.
Normally such a back door could be removed by removing it from the source code for the compiler and recompiling the compiler. But to recompile the compiler, you have to *use* the compiler - so Thompson also arranged that the compiler would *recognise when it was compiling a version of itself*, and insert into the recompiled compiler the code to insert into the recompiled login the code to allow Thompson entry - and, of course, the code to recognise itself and do the whole thing again the next time around! And having done this once, he was then able to recompile the compiler from the original sources; the hack perpetuated itself invisibly, leaving the back door in place and active but with no trace in the sources.
The talk that revealed this truly moby hack was published as [ Reflections on Trusting Trust , Communications of the ACM 27 , 8 (August 1984), pp. 761--763].
[Jargon File]
(1995-04-25)

back-end
programming Any software performing either the final stage in a process, or a task not apparent to the user. A common usage is in a compiler. A compiler's back-end generates machine language and performs optimisations specific to the machine's architecture.
The term can also be used in the context of network applications. E.g. The back-end of the system handles socket protocols .
Contrast front end.
(1996-04-09)

Back End Generator
tool (BEG) A code generator developed by H. Emmelmann et al at GMD, University Karlsruhe, Germany. Its input language is Back End Generator Language (BEGL).
(ftp://gatekeeper.dec.com/pub/gmd/cocktail/beg).
[ BEG - A Generator for Efficient Back Ends , H. Emmelmann et al, SIGPLAN Notices 24(7):227-237 (Jul 1989)].
[ BEG - A Back End Generator - User Manual , H. Emmelmann, GMD, U Karlsruhe, 1990].
[Summary?]
(2000-12-16)

Back End Generator Language
Back End Generator

backgammon
See bignum, moby, pseudoprime.
[Jargon File]

background
1. operating system A task running in the background (a background task) is detached from the terminal where it was started (and often running at a lower priority); opposite of foreground. This means that the task's input and output must be from/to files (or other processes).
Nowadays this term is primarily associated with Unix, but it appears to have been first used in this sense on OS/360.
Compare amp off, batch, slopsucker.
2. jargon For a human to do a task in the background is to do it whenever foreground matters are not claiming your undivided attention, and to background something means to relegate it to a lower priority. For now, we'll just print a list of nodes and links; I'm working on the graph-printing problem in the background. Note that this implies ongoing activity but at a reduced level or in spare time, in contrast to mainstream back burner (which connotes benign neglect until some future resumption of activity). Some people prefer to use the term for processing that they have queued up for their unconscious minds (often a fruitful tack to take upon encountering an obstacle in creative work).
(1996-05-28)

backing store
1. storage Computer memory, usually magnetic disks, storing data and programs. Sections of this information can then be copied into the main memory (RAM) for processing. Backing store is cheaper but RAM is faster. Such a hierarchy of memory devices allows a trade-off between performance and cost.
2. text Character storage in memory or on disk, as opposed to displayed or printed characters. This distinction is important where the visual ordering of characters differs from the order in which they are stored, e.g. bidirectional or non-spacing layout.
In a Unicode encoding, text is stored in sequential order in the backing store. Logical or backing store order corresponds to the order in which text is typed on the keyboard (after corrections such as insertions, deletions, and overtyping). A text rendering process converts Unicode text in the backing store to readable text.
[ The Unicode Standard: Worldwide Character Encoding , Version 1.0, Vol. 1. Addison-Wesley, 1991].
(2001-02-25)

back link
hypertext A link in one direction implied by the existence of an explicit link in the other direction.
(1996-05-28)

backoff
networking A host which has experienced a collision on a network waits for a amount of time before attempting to retransmit. A random backoff minimises the probability that the same nodes will collide again, even if they are using the same backoff algorithm. Increasing the backoff period after each collision also helps to prevent repeated collisions, especially when the network is heavily loaded.
An example algorithm is binary exponential backoff.
(1996-05-28)

BackOffice
software A suite of network server software from Microsoft that includes Windows NT Server, BackOffice Server (for the integrated development, deployment, and management of BackOffice applications in departments, branch offices, and medium sized businesses); Exchange Server; Proxy Server; Site Server for intranet publishing, management, and search; Site Server Commerce Edition For comprehensive Internet commerce transactions; Small Business Server for business operations, resource management, and customer relations; SNA Server for the integration of existing and new systems and data; SQL Server for scalable, reliable database and data-warehousing; Systems Management Server (SMS) for centralised change- and configuration-management.
Latest version: 4.5, as of 2000-12-16.
Home (http://www.microsoft.com/backofficeserver/).
(2000-12-16)

back-propagation
(Or backpropagation ) A learning algorithm for modifying a feed-forward neural network which minimises a continuous error function or objective function. Back-propagation is a gradient descent method of training in that it uses gradient information to modify the network weights to decrease the value of the error function on subsequent tests of the inputs. Other gradient-based methods from numerical analysis can be used to train networks more efficiently.
Back-propagation makes use of a mathematical trick when the network is simulated on a digital computer, yielding in just two traversals of the network (once forward, and once back) both the difference between the desired and actual output, and the derivatives of this difference with respect to the connection weights.

back quote
character ` ASCII code 96. Common names: left quote; left single quote; open quote; ITU-T: grave accent; grave. Rare: backprime; INTERCAL: backspark; unapostrophe; birk; blugle; back tick; back glitch; push; ITU-T: opening single quotation mark; quasiquote.
Back quote is used in Unix shells to invoke command substitution.
(1996-11-26)

backside cache
hardware, processor An implementation of secondary cache memory that allows it to be directly accessed by the CPU.
Backside cache is used by Apple Computers, Inc. in their PowerPC G3 processor. Previous PowerPC processors used the system bus to access both secondary cache and main memory. In the PowerPC G3 a dedicated bus handles only CPU/cache transactions. This bus can operate faster than the system bus thus improving the overall performance of the processor.
The term apparently derives from the relocation of the secondary cache from the motherboard to the processor card itself, i.e. on the backside of the processor card.
(1998-09-10)

backslash
character ASCII code 92. Common names: escape (from C/Unix); reverse slash; slosh; backslant; backwhack. Rare: bash; ITU-T: reverse slant; reversed virgule; INTERCAL: backslat.
Backslash is used to separate components in MS-DOS pathnames, and to introduce special character sequence in C and Unix strings, e.g. n for newline.
(2000-02-21)

backtick
back quote

backtracking
algorithm A scheme for solving a series of sub-problems each of which may have multiple possible solutions and where the solution chosen for one sub-problem may affect the possible solutions of later sub-problems.
To solve the overall problem, we find a solution to the first sub-problem and then attempt to recursively solve the other sub-problems based on this first solution. If we cannot, or we want all possible solutions, we backtrack and try the next possible solution to the first sub-problem and so on. Backtracking terminates when there are no more solutions to the first sub-problem.
This is the algorithm used by logic programming languages such as Prolog to find all possible ways of proving a goal. An optimisation known as intelligent backtracking keeps track of the dependencies between sub-problems and only re-solves those which depend on an earlier solution which has changed.
Backtracking is one algorithm which can be used to implement nondeterminism. It is effectively a depth-first search of a problem space.
(1995-04-13)

backup
operating system (Sometimes back up when used as a verb) A spare copy of a file, file system or other resource for use in the event of failure or loss of the original.
The term is most commonly used to refer to a copy of all the files on a computer's disks which is made periodically and kept on magnetic tape or other removable medium (also called a dump ).
This essential precaution is neglected by most new computer users until the first time they experience a disk crash or accidentally delete the only copy of the file they have been working on for the last six months.
Ideally the backup copies should be kept at a different site or in a fire safe since, though your hardware may be insured against fire, the data on it is almost certainly neither insured nor easily replaced.
See also incremental backup. Compare archive.
(1998-04-17)

backup pumpkin
pumpkin

Backus-Naur Form
language, grammar (BNF, originally Backus Normal Form ) A formal metasyntax used to express context-free grammars. Backus Normal Form was renamed Backus-Naur Form at the suggestion of Donald Knuth.
BNF is one of the most commonly used metasyntactic notations for specifying the syntax of programming languages, command sets, and the like. It is widely used for language descriptions but seldom documented anywhere (how do you document a metasyntax?), so that it must usually be learned by osmosis (but see RFC 2234).
Consider this BNF for a US postal address:
postal-address ::= name-part street-address zip-part
personal-part ::= name | initial .
name-part ::= personal-part last-name [ jr-part ] EOL
| personal-part name-part
street-address ::= [ apt ] house-num street-name EOL
zip-part ::= town-name , state-code ZIP-code EOL
This translates into English as: A postal-address consists of a name-part, followed by a street-address part, followed by a zip-code part. A personal-part consists of either a first name or an initial followed by a dot. A name-part consists of either: a personal-part followed by a last name followed by an optional jr-part (Jr., Sr., or dynastic number) and end-of-line, or a personal part followed by a name part (this rule illustrates the use of recursion in BNFs, covering the case of people who use multiple first and middle names and/or initials). A street address consists of an optional apartment specifier, followed by a street number, followed by a street name. A zip-part consists of a town-name, followed by a comma, followed by a state code, followed by a ZIP-code followed by an end-of-line.
Note that many things (such as the format of a personal-part, apartment specifier, or ZIP-code) are left unspecified. These lexical details are presumed to be obvious from context or specified somewhere nearby.
There are many variants and extensions of BNF, possibly containing some or all of the regexp wild cards such as * or + . EBNF is a common one. In fact the example above isn't the pure form invented for the ALGOL 60 report. [] was introduced a few years later in IBM's PL/I definition but is now universally recognised. ABNF is another extension.
(1997-11-23)

Backus Normal Form
Backus-Naur Form

backward analysis
theory An analysis to determine properties of the inputs of a program from properties or context of the outputs. E.g. if the output of this function is needed then this argument is needed.
Compare forward analysis.
(1997-11-23)

backward chaining
algorithm An algorithm for proving a goal by recursively braking it down into sub-goals and trying to prove these until facts are reached. Facts are goals with no sub-goals which are therefore always true. Backward training is the program execution mechanism used by most logic programming language like Prolog.
Opposite: forward chaining.
(1997-07-14)

backward combatability
humour /bak'w*d k*m-bat'*-bil'*-tee/ (Play on backward compatibility ) A property of hardware or software revisions in which previous protocols, formats, layouts, etc. are irrevocably discarded in favour of new and improved protocols, formats and layouts, leaving the previous ones not merely deprecated but actively defeated. (Too often, the old and new versions cannot definitively be distinguished, such that lingering instances of the previous ones yield crashes or other infelicitous effects, as opposed to a simple version mismatch message.) A backwards compatible change, on the other hand, allows old versions to coexist without crashes or error messages, but too many major changes incorporating elaborate backwards compatibility processing can lead to extreme software bloat.
See also flag day.
[Jargon File]
(1997-03-01)

backward compatible
jargon A system is backward compatible if it is compatible with (e.g. can share data with) earlier versions of itself, or sometimes other earlier systems, particularly systems it intends to supplant.
For example, WordPerfect 6.0 can read WordPerfect 5.1 files, so it is backward compatible. It can be said that Perl is backward compatible with awk, because Perl was (among other things) intended to replace awk, and can, with a converter, run awk programs.
See also: backward combatability.
Compare: forward compatible.
(1998-01-15)

backwards compatibility
backward compatible

backwards compatible
backward compatible

BAD
/B-A-D/ Broken As Designed, a play on working as designed , from IBM. Failing because of bad design and misfeatures rather than because of bugs.
[Jargon File]
(2002-04-14)

Bad command or file name
operating system The error message printed by MS DOS when it can't find a program or command to execute due to a typing error, incorrect PATH variable, or misplaced or missing executable.
(1996-04-07)

Bad Thing
jargon (From the 1930 Sellar Yeatman parody 1066 And All That ) Something that can't possibly result in improvement of the subject. This term is always capitalised, as in Replacing all of the 9600-baud modems with bicycle couriers would be a Bad Thing .
Opposite: Good Thing.
British correspondents confirm that Bad Thing and Good Thing (and probably therefore Right Thing and Wrong Thing) come from the book referenced in the etymology, which discusses rulers who were Good Kings but Bad Things. This has apparently created a mainstream idiom on the British side of the pond.
[Jargon File]

bag on the side
An extension to an established hack that is supposed to add some functionality to the original. Usually derogatory, implying that the original was being overextended and should have been thrown away, and the new product is ugly, inelegant, or bloated. Also to hang a bag on the side [of] . C++? That's just a bag on the side of C. They want me to hang a bag on the side of the accounting system.

BAL
Basic Assembly Language

balanced computing
jargon Matching computer tools to job activities so that the computer system structure parallels the organisation structure and work functions. Both personal computers and employees operate in a decentralised environment with monitoring of achievement of management objectives from centralised corporate systems.
(http://www.moultonco.com/balanced.htm)
(1996-04-15)

balanced tree
algorithm An optimisation of a tree which aims to keep equal numbers of items on each subtree of each node so as to minimise the maximum path from the root to any leaf node. As items are inserted and deleted, the tree is restructured to keep the nodes balanced and the search paths uniform. Such an algorithm is appropriate where the overheads of the reorganisation on update are outweighed by the benefits of faster search.
A B-tree is a kind of balanced tree that can have more than two subtrees at each node (i.e. one that is not restricted to being a binary tree).
(2000-01-10)

BALGOL
language ALGOL on Burroughs 220.
[Sammet 1969, p. 174].
(1996-04-15)

BALITAC
Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

BALM
Block And List Manipulation. Harrison, 1970. Extensible language with LISP-like features and ALGOL-like syntax, for CDC 6600. The Balm Programming Language , Malcolm Harrison, Courant Inst (May 1973).

balun
electronics A transformer connected between a balanced source or load and an unbalanced source or load. A balanced line has two conductors, with equal currents in opposite directions. The unbalanced line has just one conductor; the current in it returns via a common ground or earth path.
(1996-10-17)

bamf
/bamf/ 1. [Old X-Men comics] Notional sound made by a person or object teleporting in or out of the hearer's vicinity. Often used in virtual reality (especially MUD) electronic fora when a character wishes to make a dramatic entrance or exit.
2. The sound of magical transformation, used in virtual reality fora.
[Jargon File]

Banach algebra
mathematics An algebra in which the vector space is a Banach space.
(1997-02-25)

Banach inverse mapping theorem
mathematics In a Banach space the inverse to a continuous linear mapping is continuous.
(1998-06-25)

Banach space
mathematics A complete normed vector space. Metric is induced by the norm: d(x,y) = ||x-y||. Completeness means that every Cauchy sequence converges to an element of the space. All finite-dimensional real and complex normed vector spaces are complete and thus are are Banach spaces.
Using absolute value for the norm, the real numbers are a Banach space whereas the rationals are not. This is because there are sequences of rationals that converges to irrationals.
Several theorems hold only in Banach spaces, e.g. the Banach inverse mapping theorem. All finite-dimensional real and complex vector spaces are Banach spaces. Hilbert spaces, spaces of integrable functions, and spaces of absolutely convergent series are examples of infinite-dimensional Banach spaces. Applications include wavelets, signal processing, and radar.
[Robert E. Megginson, An Introduction to Banach Space Theory , Graduate Texts in Mathematics, 183, Springer Verlag, September 1998].
(2000-03-10)

Banach-Tarski paradox
mathematics It is possible to cut a solid ball into finitely many pieces (actually about half a dozen), and then put the pieces together again to get two solid balls, each the same size as the original.
This paradox is a consequence of the Axiom of Choice.
(1995-03-29)

banana label
The labels often used on the sides of macrotape reels, so called because they are shaped roughly like blunt-ended bananas. This term, like macrotapes themselves, is still current but visibly headed for obsolescence.
[Jargon File]

banana problem
(From the story of the little girl who said I know how to spell banana , but I don't know when to stop ). Not knowing where or when to bring a production to a close (compare fencepost error). One may say there is a banana problem of an algorithm with poorly defined or incorrect termination conditions, or in discussing the evolution of a design that may be succumbing to featuritis (see also creeping elegance, creeping featuritis). See item 176 under HAKMEM, which describes a banana problem in a Dissociated Press implementation. Also, see one-banana problem for a superficially similar but unrelated usage.
(1995-01-31)

bandwidth
communications The difference between the highest and lowest frequencies of a transmission channel (the width of its allocated band of frequencies).
The term is often used erroneously to mean data rate or capacity - the amount of data that is, or can be, sent through a given communications circuit per second.
[How is data capacity related to bandwidth?]
[Jargon File]
(2001-04-24)

bang
1. A common spoken name for ! (ASCII 33), especially when used in pronouncing a bang path in spoken hackish. In elder days this was considered a CMUish usage, with MIT and Stanford hackers preferring excl or shriek; but the spread of Unix has carried bang with it (especially via the term bang path) and it is now certainly the most common spoken name for ! . Note that it is used exclusively for non-emphatic written ! ; one would not say Congratulations bang (except possibly for humorous purposes), but if one wanted to specify the exact characters foo! one would speak Eff oh oh bang .
See pling, shriek, ASCII.
2. An exclamation signifying roughly I have achieved enlightenment! , or The dynamite has cleared out my brain! Often used to acknowledge that one has perpetrated a thinko immediately after one has been called on it.
[Jargon File]
(1995-01-31)

bang on
(Or pound on ). To stress-test a piece of hardware or software: I banged on the new version of the simulator all day yesterday and it didn't crash once. I guess it is ready for release.
[Jargon File]

bang path
1. communications An old-style UUCP electronic-mail address naming a sequence of hosts through which a message must pass to get from some assumed-reachable location to the addressee (a source route ). So called because each hop is signified by a bang sign (exclamation mark). Thus, for example, the path
...!bigsite!foovax!barbox!me
directs people to route their mail to computer bigsite (presumably a well-known location accessible to everybody) and from there through the computer foovax to the account of user me on barbox.
Before autorouting mailers became commonplace, people often published compound bang addresses using the convention (see glob) to give paths from *several* big computers, in the hope that one's correspondent might be able to get mail to one of them reliably. e.g.
...!seismo, ut-sally, ihnp4!rice!beta!gamma!me
Bang paths of 8 to 10 hops were not uncommon in 1981. Late-night dial-up UUCP links would cause week-long transmission times. Bang paths were often selected by both transmission time and reliability, as messages would often get lost.
2. operating system A shebang.
(1998-05-06)

banner
1. The title page added to printouts by most print spoolers. Typically includes user or account ID information in very large character-graphics capitals. Also called a burst page , because it indicates where to burst (tear apart) fanfold paper to separate one user's printout from the next.
2. A similar printout generated (typically on multiple pages of fan-fold paper) from user-specified text, e.g. by a program such as Unix's banner .
3. splash screen.
[Jargon File]
(1994-11-28)

Banyan
company A personal computer networking company, best known for its Vines products for local area networks.
Address: Westborough MA, USA.
[More info?]
(1995-03-01)

BAP
1. language An early system used on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-28)
2. language Brain Aid Prolog.
(1995-03-07)

BAPI
Business Application Programming Interface

bar
1. programming, convention /bar/ The second metasyntactic variable, after foo and before baz. E.g. Suppose function FOO calls functions BAR...
2. Often appended to foo to produce foobar.
[Jargon File]
(1995-03-07)

bar code
convention A printed horizontal strip of vertical bars of varying widths, groups of which represent decimal digits and are used for identifying commercial products or parts. Bar codes are read by a bar code reader and the code interpreted either through software or a hardware decoder.
All products sold in open trade are numbered and bar-coded to a worldwide standard, which was introduced in the US in 1973 and to the rest of the world in 1977. The Uniform Code Council in the US, along with the international article numbering authority, EAN International, allocate blocks of unique 12 or 13-digit numbers to member companies through a national numbering authority. In Britain this is the Article Number Association. Most companies are allocated 100,000 numbers that they can use to identify any of their products, services or locations.
Each code typically contains a leading quiet zone, start character, data character, optional check digit, stop character and a trailing quiet zone. The check digit is used to verify that the number has been scanned correctly. The quiet zone could be white, red or yellow if viewed by a red scanner. Bar code readers usually use visible red light with a wavelength between 632.8 and 680 nanometres.
[Details of code?]
(1997-07-18)

bare metal
1. New computer hardware, unadorned with such snares and delusions as an operating system, an HLL, or even assembler. Commonly used in the phrase programming on the bare metal , which refers to the arduous work of bit bashing needed to create these basic tools for a new computer. Real bare-metal programming involves things like building boot PROMs and BIOS chips, implementing basic monitors used to test device drivers, and writing the assemblers that will be used to write the compiler back ends that will give the new computer a real development environment.
2. Programming on the bare metal is also used to describe a style of hand-hacking that relies on bit-level peculiarities of a particular hardware design, especially tricks for speed and space optimisation that rely on crocks such as overlapping instructions (or, as in the famous case described in The Story of Mel, interleaving of opcodes on a magnetic drum to minimise fetch delays due to the device's rotational latency). This sort of thing has become less common as the relative costs of programming time and computer resources have changed, but is still found in heavily constrained environments such as industrial embedded systems, and in the code of hackers who just can't let go of that low-level control. See Real Programmer.
In the world of personal computing, bare metal programming is often considered a Good Thing, or at least a necessary evil (because these computers have often been sufficiently slow and poorly designed to make it necessary; see ill-behaved). There, the term usually refers to bypassing the BIOS or OS interface and writing the application to directly access device registers and computer addresses. To get 19.2 kilobaud on the serial port, you need to get down to the bare metal. People who can do this sort of thing well are held in high regard.
[Jargon File]

barf
/barf/ [mainstream slang for vomit ] 1. Term of disgust. This is the closest hackish equivalent of the Val -speak gag me with a spoon . (Like, euwww!) See bletch.
2. To say Barf! or emit some similar expression of disgust. I showed him my latest hack and he barfed means only that he complained about it, not that he literally vomited.
3. To fail to work because of unacceptable input, perhaps with a suitable error message, perhaps not. Examples: The division operation barfs if you try to divide by 0. (That is, the division operation checks for an attempt to divide by zero, and if one is encountered it causes the operation to fail in some unspecified, but generally obvious, manner.) The text editor barfs if you try to read in a new file before writing out the old one .
See choke, gag.
In Commonwealth Hackish, barf is generally replaced by puke or vom . barf is sometimes also used as a metasyntactic variable, like foo or bar.
(1996-02-26)

barfmail
messaging Multiple bounce messages accumulating to the level of serious annoyance, or worse. The sort of thing that happens when an inter-network mail gateway goes down or misbehaves.
[Jargon File]
(1996-01-05)

barfulation
/bar`fyoo-lay'sh*n/ Variation of barf used around the Stanford area. An exclamation, expressing disgust. On seeing some particularly bad code one might exclaim, Barfulation! Who wrote this, Quux?
[Jargon File]

barfulous
/bar'fyoo-l*s/ (Or barfucious , /bar-fyoo-sh*s/) Said of something that would make anyone barf, if only for aesthetic reasons.
(1995-02-22)

barney
In Commonwealth hackish, barney is to fred as bar is to foo. That is, people who commonly use fred as their first metasyntactic variable will often use barney second. The reference is, of course, to Fred Flintstone and Barney Rubble in the Flintstones cartoons.
[Jargon File]
(1994-11-28)

Baroque
An early logic programming language written by Boyer and Moore in 1972.
[ Computational Logic: Structure Sharing and Proof of program Properties , J. Moore, DCL Memo 67, U Edinburgh 1974].
[Jargon File]
(1995-02-22)

baroque
Feature-encrusted; complex; gaudy; verging on excessive. Said of hardware or (especially) software designs, this has many of the connotations of elephantine or monstrosity but is less extreme and not pejorative in itself. Metafont even has features to introduce random variations to its letterform output. Now *that* is baroque!
See also rococo.
[Jargon File]
(1995-02-22)

barrel shifter
hardware A hardware device that can shift or rotate a data word by any number of bits in a single operation. It is implemented like a multiplexor, each output can be connected to any input depending on the shift distance.
(1995-03-28)

base
mathematics radix.

base 64
file format, algorithm A file format using 64 ASCII characters to encode the six bit binary data values 0-63.
To convert data to base 64, the first byte is placed in the most significant eight bits of a 24-bit buffer, the next in the middle eight, and the third in the least significant eight bits. If there a fewer than three bytes to encode, the corresponding buffer bits will be zero. The buffer is then used, six bits at a time, most significant first, as indices into the string ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ and the indicated character output. If there were only one or two input bytes, the output is padded with two or one = characters respectively. This prevents extra bits being added to the reconstructed data. The process then repeats on the remaining input data.
Base 64 is used when transmitting binary data through text-only media such as electronic mail, though uuencode is more common.
(1995-03-21)

baseband
A transmission medium through which digital signals are sent without frequency shifting. In general, only one communication channel is available at any given time.
Ethernet is an example of a baseband network.
See also broadband.
(1995-02-22)

base class
programming (Or superclass ) The class from which another class (a subclass ) inherits.
base class is the term used in C++. The term superclass is perhaps confusing since objects of the subclass have a superset of the fields of objects in the superclass.
See inheritance.
(1996-08-04)

baseline
released version

base memory
hardware, jargon The lowest 640 kilobytes of memory in an IBM PC-compatible computer running MS-DOS. Other PC operating systems can usually compensate and ignore the fact that there is a 640K limit to base memory. This was put in place because the original CPU - the Intel 8088 - could only access one megabyte of memory, and IBM wanted to reserve the upper 384KB for device drivers. The high memory area (HMA) lies above 640KB and can be accessed on MS-DOS computers that have an A20 handler.
(1997-05-30)

basename
file system The name of a file which, in contrast to a pathname, does not mention any of the directories containing the file. Examples:
pathnamebasename ---------------- /etc/hostshosts ./almaalma korte/a.aa.a a.aa.a
See also pathname.
(1996-11-23)

Base Technology
company The company which developed and distributes Liana.
Home (http://www.BaseTechnology.com/).
E-mail: Jack Krupansky Jack@BaseTechnology.com (owner).
Address: Base Technology, Attn: Jack Krupansky, 1500 Mass. Ave. NW #114 Washington, DC 2005, USA. 800-786-9505
Telephone: +1 800 876 9505.
(1999-06-29)

bash
Bourne Again SHell. GNU's command interpreter for Unix. Bash is a Posix-compatible shell with full Bourne shell syntax, and some C shell commands built in. The Bourne Again Shell supports Emacs-style command-line editing, job control, functions, and on-line help. Written by Brian Fox of UCSB.
The latest version is 1.14.1. It includes a yacc parser, the interpreter and documentation.
(ftp://ftp.gnu.org/bash-1.14.1.tar.gz) or from a GNU archive site. E-mail: bug-bash@gnu.org . Usenet newsgroup: news:gnu.bash.bug.
(1994-07-15)

BASIC
language Beginner's All-purpose Symbolic Instruction Code.
A simple language designed by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963. It first ran on an IBM 704 on 1964-05-01. It was designed for quick and easy programming by students and beginners. BASIC exists in many dialects, and is popular on microcomputers with sound and graphics support. Most micro versions are interactive and interpreted, but the original Dartmouth BASIC was compiled.
BASIC was originally designed for Dartmouth's experimental time-sharing system and has since become the leading cause of brain-damage in proto-hackers. This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10--20 lines) very easily; writing anything longer is (a) very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year.
Originally, all references to code, both GOTO and GOSUB (subroutine call) referred to the destination by its line number. This allowed for very simple editing in the days before text editors were considered an essential tool on every computer. Just typing the line number deleted the line and to edit a line you just typed the new line with the same number. Programs were typically numbered in steps of ten to allow for insertions. Later versions, such as BASIC V, allow GOTO-less structured programming with named procedures and functions, IF-THEN-ELSE-ENDIF constructs and WHILE loops etc.
Early BASICs had no graphic operations except with graphic characters. In the 1970s BASIC interpreters became standard features in mainframes and minicomputers. Some versions included matrix operations as language primitives.
A public domain interpreter for a mixture of DEC's MU-Basic and Microsoft Basic is here (ftp://oak.oakland.edu/pub/Unix-c/languages/basic/basic.tar-z). A yacc parser and interpreter were in the comp.sources.unix archives volume 2.
See also ANSI Minimal BASIC, bournebasic, bwBASIC, ubasic.
[Jargon File]
(1995-03-15)

Basic Assembly Language
(BAL) What most people called IBM 360 assembly language.
See ALC.
(1995-04-13)

BASIC AUTOCODER
Early system on IBM 7070. Listed in CACM 2(5):16 (May 1959).

Basic COBOL
language A subset of COBOL from COBOL-60 standards.
[Sammet 1969, p. 339].
(1997-12-07)

Basic Encoding Rules
protocol, standard (BER) ASN.1 encoding rules for producing self-identifying and self-delimiting transfer syntax for data structures described in ASN.1 notations.
BER is an self-identifying and self-delimiting encoding scheme, which means that each data value can be identified, extracted and decoded individually.
Huw Rogers once described BER as a triumph of bloated theory over clean implementation . He also criticises it as designed around bitstreams with arbitrary boundaries between data which can only be determined at a high level.
Documents: ITU-T X.690, ISO 8825-1.
See also CER, DER, PER.
(1998-05-28)

Basic Fortran
language A subset of Fortran.
[Sammet 1969, p. 150].
(1999-06-09)

Basic Input/Output System
operating system (BIOS, ROM BIOS) The part of the system software of the IBM PC and compatibles that provides the lowest level interface to peripheral devices and controls the first stage of the bootstrap process, including installing the operating system. The BIOS is stored in ROM, or equivalent, in every PC. Its main task is to load and execute the operating system which is usually stored on the computer's hard disk, but may be loaded from CD-ROM or floppy disk at install time.
In order to provide acceptable performance (e.g. for screen display), some software vendors access the routines in the BIOS directly, rather than using the higher level operating system calls. Thus, the BIOS in the compatible computer must be 100% compatible with the IBM BIOS.
As if that wasn't bad enough, many application programs bypass even the BIOS and address the screen hardware directly just as the BIOS does. Consequently, register level compatibility is required in the compatible's display electronics, which means that it must provide the same storage locations and identification as the original IBM hardware.
(1999-06-09)

Basic JOVIAL
language A subset of JOVIAL written ca. 1965.
[Sammet 1969, p.529].
(1995-04-19)

Basic Language for Implementation of System Software
language (BLISS, or allegedly, System Software Implementation Language, Backwards ) A language designed by W.A. Wulf at CMU around 1969.
BLISS is an expression language. It is block-structured, and typeless, with exception handling facilities, coroutines, a macro system, and a highly optimising compiler. It was one of the first non-assembly languages for operating system implementation. It gained fame for its lack of a goto and also lacks implicit dereferencing: all symbols stand for addresses, not values.
Another characteristic (and possible explanation for the backward acronym) was that BLISS fairly uniformly used backward keywords for closing blocks, a famous example being ELUDOM to close a MODULE. An exception was BEGIN...END though you could use (...) instead.
DEC introduced the NOVALUE keyword in their dialects to allow statements to not return a value.
Versions: CMU BLISS-10 for the PDP-10; CMU BLISS-11, BLISS-16, DEC BLISS-16C, DEC BLISS-32, BLISS-36 for VAX/VMS, BLISS-36C.
[ BLISS: A Language for Systems Programming , CACM 14(12):780-790, Dec 1971].
[Did the B stand for Better ?]
(1997-03-01)

Basic Multilingual Plane
text, standard The first, and to date the only, UCS-2 plane defined. It was developed by merging the ISO draft for 16-bit character codes with the code used by Unicode. It inherited features from both, compatibility with other standards (such as ISO Latin 1) from the ISO draft, character combining (such as writing the letter á as a combination of a and ' ) from Unicode.
Presently the BMP is half empty, although it covers all major languages, including Roman, Greek, Cyrillic, Chinese, hiragana, katakana, Devanagari, Easter Island rongo-rongo , and even Elvish (but leaves out Klingon).
(1997-07-04)

Basic Object System
programming (BOS) A C-callable library that implements the notion of object and which uses Tcl as its interpreter for interpreted methods (you can have compiled methods in C, and mix compiled and interpreted methods in the same object, plus lots more). You can subclass and mix in existing objects using BOS to extend, among other things, the set of tk widgets. BOS is a class-free object system, also called a prototype-based object system; it is modelled loosely on the Self system from Stanford University.
Version 1.31 by Sean Levy Sean.Levy@cs.cmu.edu .
(ftp://barkley.berkeley.edu/tcl).
(1992-08-21)

Basic Operating System
operating system (BOS) An early [when?] IBM operating system.
According to folklore, BOS was the predecessor to TOS on the IBM 360 and it was IPL'd from a card reader. It may have been intended for very small 360's with no disks and limited tape drives.
BOS died out really early [when?] as disks such as the 2311 and 2314 became common with the IBM 360, whereas disks had been a real luxury on the IBM 7090.
(1999-01-29)

Basic Programming Support
operating system (BPS, colloquially: Barely Programming Support) A suite of utility routines from IBM to perform very simple procedures like formatting a disk or labelling a tape. BPS was only available on punched cards.
[Dates?]
(1998-07-08)

Basic Rate Interface
communications (BRI, 2B+D, 2B1D) An Integrated Services Digital Network channel consisting of two 64 kbps bearer (B) channels and one 16 kbps delta (D) channel, giving a total data rate of 144 kbps. The B channels are used for voice or user data, and the D channel is used for control and signalling and/or X.25 packet networking. BRI is the kind of ISDN interface most likely to be found in residential service.
(2002-01-13)

BASIC V
The version of the Basic programming language which comes on ROM in Acorn's RISC computers: the Archimedes range and the Risc PC. It features REPEAT and WHILE loops, multi-line IF statements, procedures and functions, local variables, error handling, system calls and a built-in assembler.
(1995-01-05)

Bastard Operator From Hell
humour (BOFH) A rogue network operator character invented by Simon Travaglia simontrav@hotmail.com , regularly featured in Computing and DATAMATION magazine.
See also: Dilbert.
Home (http://www.angelfire.com/bc/simont/index.html).
(1999-09-17)

bastion host
proxy gateway

batch file
operating system (Or script) A text file containing operating system commands which are executed automatically by the command-line interpreter. In Unix, this is called a shell script since it is the Unix shell which includes the command-line interpreter. Batch files can be used as a simple way to combine existing commands into new commands.
autoexec.bat is the best known example of an MS-DOS batch file.
(1996-01-07)

batch processing
programming A system that takes a set (a batch ) of commands or jobs, executes them and returns the results, all without human intervention. This contrasts with an interactive system where the user's commands and the computer's responses are interleaved during a single run.
A batch system typically takes its commands from a disk file (or a set of punched cards or magnetic tape in the old days) and returns the results to a file (or prints them). Often there is a queue of jobs which the system processes as resources become available.
Since the advent of the personal computer, the term batch has come to mean automating frequently performed tasks that would otherwise be done interactively by storing those commands in a batch file or script . Usually this file is read by some kind of command interpreter but batch processing is sometimes used with GUI-based applications that define script equivalents for menu selections and other mouse actions. Such a recorded sequence of GUI actions is sometimes called a macro . This may only exist in memory and may not be saved to disk whereas a batch normally implies something stored on disk.
(1998-06-26)

bathtub curve
Common term for the curve (resembling an end-to-end section of one of those claw-footed antique bathtubs) that describes the expected failure rate of electronics with time: initially high, dropping to near 0 for most of the system's lifetime, then rising again as it tires out . See also burn-in period, infant mortality.
[Jargon File]

baud
communications, unit /bawd/ (plural baud ) The unit in which the information carrying capacity or signalling rate of a communication channel is measured. One baud is one symbol (state-transition or level-transition) per second. This coincides with bits per second only for two-level modulation with no framing or stop bits.
A symbol is a unique state of the communication channel, distinguishable by the receiver from all other possible states. For example, it may be one of two voltage levels on a wire for a direct digital connection or it might be the phase or frequency of a carrier.
The term baud was originally a unit of telegraph signalling speed, set at one Morse code dot per second. Or, more generally, the reciprocal of the duration of the shortest signalling element. It was proposed at the International Telegraph Conference of 1927, and named after J.M.E. Baudot (1845-1903), the French engineer who constructed the first successful teleprinter.
The UK PSTN will support a maximum rate of 600 baud but each baud may carry between 1 and 16 bits depending on the coding (e.g. QAM).
Where data is transmitted as packets, e.g. characters, the actual data rate of a channel is
R D / P
where R is the raw rate in bits per second, D is the number of data bits in a packet and P is the total number of bits in a packet (including packet overhead).
The term baud causes much confusion and is usually best avoided. Use bits per second (bps), bytes per second or characters per second (cps) if that's what you mean.
(1998-02-14)

baud barf
jargon /bawd barf/ The garbage one gets on the display screen when using a modem connection with some protocol setting (especially line speed) incorrect, or when someone picks up a voice extension on the same line, or when really bad line noise disrupts the connection. Baud barf is not completely random, by the way; hackers with a lot of serial-line experience can usually tell whether the device at the other end is expecting a higher or lower speed than the terminal is set to. *Really* experienced ones can identify particular speeds.
[Jargon File]
(1996-02-22)

Baudot
Baudot code

Baudotbetical order
algorithm /baw do bet' i k*l/ Sorted into an order where numerics and special characters are intermixed by sorting a 5-bit Baudot code file ignoring the numeric shift and unshift codes.
(1997-02-11)

Baudot code
communications (For etymology, see baud) A character set predating EBCDIC and used originally and primarily on paper tape. Use of Baudot reportedly survives in TDDs and some HAM radio applications.
In Baudot, characters are expressed using five bits. Baudot uses two code sub-sets, the letter set (LTRS), and the figure set (FIGS). The FIGS character (11011) signals that the following code is to be interpreted as being in the FIGS set, until this is reset by the LTRS (11111) character.
binary  hex    LTRS   FIGS
--------------------------
00011  03      A      -
11001  19      B      ?
01110  0E      C      :
01001  09      D      $
00001  01      E      3
01101  0D      F      !
11010  1A      G
10100  14      H      #
00110  06      I      8
01011  0B      J      BELL
01111  0F      K      (
10010  12      L      )
11100  1C      M      .
01100  0C      N      ,
11000  18      O      9
10110  16      P      0
10111  17      Q      1
01010  0A      R      4
00101  05      S      '
10000  10      T      5
00111  07      U      7
11110  1E      V      ;
10011  13      W      2
11101  1D      X      /
10101  15      Y      6
10001  11      Z
01000  08      CR     CR
00010  02      LF     LF
00100  04      SP     SP
11111  1F      LTRS   LTRS
11011  1B      FIGS   FIGS
00000  00      [..unused..]
Where CR is carriage return, LF is linefeed, BELL is the bell, SP is space, and STOP is the stop character.
Note: these bit values are often shown in inverse order, depending (presumably) which side of the paper tape you were looking at.
Local implementations of Baudot may differ in the use of #, STOP, BELL, and '.
(1997-01-30)

baud rate
baud

bawk
An Awk-like pattern-matching language by Bob Brodt, distributed with MINIX.
(1994-11-28)

bay
hardware (As in an aeroplane cargo bay ) A space in a cabinet into which a device of a certain size can be physically mounted and connected to power and data.
Common examples are a drive bay into which a disk drive (usually either 3.5 inch or 5.25 inch) can be inserted or the space in a docking station where you insert a notebook computer or laptop computer to work in desktop mode or to charge their batteries, print, or connect to the office network, etc.
(1999-01-11)

baz
/baz/ The third metasyntactic variable Suppose we have three functions: FOO, BAR, and BAZ. FOO calls BAR, which calls BAZ... (See also fum). Occasionally appended to foo to produce foobaz .
Early versions of the Hacker Jargon dictionary derived baz as a Stanford corruption of bar. However, Pete Samson (compiler of the TMRC lexicon) reports it was already current when he joined TMRC in 1958. He says It came from Pogo . Albert the Alligator, when vexed or outraged, would shout Bazz Fazz! or Rowrbazzle! The club layout was said to model the (mythical) New England counties of Rowrfolk and Bassex (Rowrbazzle mingled with Norfolk/Suffolk/Middlesex/ Essex).
[Jargon File]

bb
networking The country code for Barbados.
(1999-01-27)

BBC
British Broadcasting Corporation

BBC Microcomputer
A series of 6502-based personal computers launched by Acorn Computers Ltd. in January 1982, for use in the British Broadcasting Corporation's educational programmes on computing. The computers are noted for their reliability (many are still in active service in 1994) and both hardware and software were designed for easy expansion. The 6502-based computers were succeeded in 1987 by the Acorn Archimedes family.
xbeeb is a BBC Micro emulator for Unix and X11.

BBC Networking Club
body A bulletin board run by the British Broadcasting Corporation Education department from April 1994 to 30 Nov 1995.
(1997-01-20)

BBL
chat (I will) be back later.

BBN
Bolt, Beranek and Newman

bboard
bulletin board system

BBS
bulletin board system

BC
An arbitrary precision numeric processing language with C-like syntax. Traditionally implemented as a front-end to DC. There is a GNU version called GNU BC.
Unix manual page: bc(1).

BCBF
Branch on Chip Box Full

BCC
1. Blind Carbon Copy.
2. Block Check Character.
3. Blocked Call Cleared.
(1997-02-05)

BCD
binary coded decimal

BCL
The successor to Atlas Commercial Language.
[ The Provisional BCL Manual , D. Hendry, U London 1966].

BC NELIAC
Version of NELIAC, post 1962. Sammet 1969, p.197.

BCNU
Be seein' you.

BCPL
language (Basic CPL) A British systems language developed by Richards in 1969 and descended from CPL (Combined Programming Language). BCPL is low-level, typeless and block-structured, and provides only one-dimensional arrays. Case is not significant, but conventionally reserved words begin with a capital. Flow control constructs include: If-Then, Test-Then-Else, Unless-Do, While-Do, Until-Do, Repeat, Repeatwhile, Repeatuntil, For-to-By-Do, Loop, Break and Switchon-Into-Case-Default-Endcase. BCPL has conditional expressions, pointers, and manifest constants. It has both procedures: 'Let foo(bar) Be command' and functions: 'Let foo(bar) = expression'. 'Valof $(..Resultis..$)' causes a compound command to produce a value. Parameters are call-by-value.
Program segments communicate via the global vector where system and user variables are stored in fixed numerical locations in a single array.
The first BCPL compiler was written in AED. BCPL was used to implement the TRIPOS operating system, which was subsequently reincarnated as AmigaDOS.
[ BCPL - The Language and its Compiler , Martin Richards Colin Whitby-Stevens, Cambridge U Press 1979].
See OCODE, INTCODE.
Oxford BCPL differed slightly: Test-Ifso-Ifnot, and section brackets in place of $( $).
The original INTCODE interpreter for BCPL is available for Amiga, Unix, MS-DOS (ftp://wuarchive.wustl.edu/systems/amiga/programming/languages/BCPL/).
A BCPL compiler bootstrap kit with an INTCODE interpreter in C was written by Ken Yap ken@syd.dit.csiro.au .
(1995-03-26)

BCS
1. British Computer Society.
2. Binary Compatibility Standard.

bd
networking The country code for Bangladesh.
(1999-01-27)

BDC
Backup Domain Controller

BDL
Block Diagram Compiler

BDPA
Black Data Processing Associates

be
networking The country code for Belgium.
(1999-01-27)

BEA
Basic programming Environment for interactive-graphical Applications, from Siemens-Nixdorf.

beam
[Star Trek Classic's Beam me up, Scotty! ] 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.
[Jargon File]

beamer
hardware, jargon A video projector that can be connected to a computer instead of, or as well as, a monitor, and used for making presentations.
[Examples? Proper term?]
(1999-10-24)

beam search
An optimisation of the best first search graph search algorithm where only a predetermined number of paths are kept as candidates. The number of paths is the width of the beam . If more paths than this are generated, the worst paths are discarded. This reduces the space requirements of best first search.

bean
JavaBeans

beanie key
feature key

bearer channel
communications Originally, a channel suited for carrying one voice-grade connection. Typically a DS0 channel.
Compare data channel.
(1997-03-7)

bear paw
jargon The Vulcan nerve pinch for SGI computers. The five key keyboard combination left Ctrl left Alt left Shift numeric keypad / F12 resets the graphics subsystem, including the window manager.
(1996-10-28)

Beats the shit outa me
exclamation (BSOM) I don't understand it . The last thing you say as you walk out on someone whose system you can't fix.
(1998-06-15)

BeBOP
language A language combining sequential and parallel logic programming, object-oriented and meta-level programming. Both don't know nondeterminism and stream AND-parallelism. Prolog theories are first order entities and may be updated or passed in messages. BeBOP is implemented by translation to NU-Prolog and PNU-Prolog.
(ftp://munnari.oz.au/pub/bebop.tar.Z).
E-mail: Andrew Davidson ad@cs.mu.oz.au .
(1996-10-27)

BeBox
computer A microcomputer produced by Be Inc, containing between two and eight PowerPCs (the initial model has two PPC 603s). The BeBox can take standard IBM PC peripherals, such as ISA and PCI cards, IDE and SCSI disks, and a standard PS/2 keyboard.
Newsgroup: news:comp.sys.be.
Home (http://www.be.com/).
[Dates?]
(1996-10-05)

BEDO
Burst Extended Data Out DRAM

Bedrock
A C++ class library for Macintosh user interface portability.

beep
bell

beeper
pager

BEG
Back End Generator

@Begin
text The Scribe equivalent of begin.
[Jargon File]

begin
text, chat The LaTeX command used with end to delimit an environment within which the text is formatted in a certain way. E.g. begintable... endtable.
Used humorously in writing to indicate a context or to remark on the surrounded text. For example:
beginflame
Predicate logic is the only good programming
language. Anyone who would use anything else
is an idiot. Also, all computers should be
tredecimal instead of binary.
endflame
Scribe users at CMU and elsewhere used to use @Begin/@End in an identical way (LaTeX was built to resemble Scribe). On Usenet, this construct would more frequently be rendered as FLAME ON and FLAME OFF (a la HTML), or #ifdef FLAME and #endif FLAME (a la C preprocessor).
(1998-09-21)

BEGL
Back End Generator

beige toaster
Macintosh

Be Inc
company The company that produced the BeBox, founded by Jean-Louis Gassee, former product chief at Apple.
(1996-10-05)

BEL
bell

belief revision
artificial intelligence The area of theory change in which preservation of the information in the theory to be changed plays a key role.
A fundamental issue in belief revision is how to decide what information to retract in order to maintain consistency, when the addition of a new belief to a theory would make it inconsistent. Usually, an ordering on the sentences of the theory is used to determine priorities among sentences, so that those with lower priority can be retracted. This ordering can be difficult to generate and maintain.
The postulates of the AGM Theory for Belief Revision describe minimal properties a revision process should have.
[Better definition?]
(1995-03-20)

BELL
An early system on the IBM 650 and Datatron 200 series.
Versions: BELL L2, BELL L3.
[Listed in CACM 2(5):16 (May 1959)].
[Is Datatron version the same?]
(1994-12-06)

Bell
company Bell Telephone or Bell Laboratories.
(1997-04-07)

bell
character ASCII 7, ASCII mnemonic BEL , the character code which prodces a standard audibile warning from the computer or terminal. In the teletype days it really was a bell, since the advent of the VDU it is more likely to be a sound sample (e.g. the sound of a bell) played through a loudspeaker.
Also called G-bell , because it is typed as Control-G.
The term beep is preferred among some microcomputer hobbyists.
Compare feep, visible bell.
(1997-04-08)

Bell 103
protocol The original variant of V.21 created by AT T when they had a telephone system monopoly in the USA.
(1995-02-02)

Bell Communications Research, Inc
(Bellcore) The research laboratory for the seven regional Bell Telephone companies in the USA that were created by the divestiture of AT T in 1984.
It can be compared to Bell Laboratories, for which many Bellcore employees used to work. Currently jointly owned by the seven baby bells (as they are called), there are rumours that it is to be sold by its current owners to become an independent research laboratory
Its headquarters are in Livingstone, New Jersey. It has offices in Morristown, Lincroft, and Piscataway, all in New Jersey, USA.
Telephone: +1 (201) 74 3000, +1 (800) 521 CORE.
(1994-12-06)

Bellcore
Bell Communications Research, Inc.

bell curve
statistics normal distribution.

Bell Laboratories
One of AT T's research sites, in Murray Hill, New Jersey, USA. It was the birthplace of the transistor, Unix, C and C++ and the current home of research on Plan 9 and ODE.
AT T Research (http://www.research.att.com/)
(ftp://ftp.research.att.com/)
netlib sources (ftp://netlib.att.com).
(1994-11-17)

Bell Labs
Bell Laboratories

bells and whistles
[By analogy with the toyboxes on theatre organs]. Features added to a program or system to make it more flavourful 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.
[Jargon File]

bells, whistles, and gongs
A standard elaborated form of bells and whistles; typically said with a pronounced and ironic accent on the gongs .

benchmark
benchmark A standard program or set of programs which can be run on different computers to give an inaccurate measure of their performance.
In the computer industry, there are three kinds of lies: lies, damn lies, and benchmarks.
A benchmark may attempt to indicate the overall power of a system by including a typical mixture of programs or it may attempt to measure more specific aspects of performance, like graphics, I/O or computation (integer or floating-point). Others measure specific tasks like rendering polygons, reading and writing files or performing operations on matrices. The most useful kind of benchmark is one which is tailored to a user's own typical tasks. While no one benchmark can fully characterise overall system performance, the results of a variety of realistic benchmarks can give valuable insight into expected real performance.
Benchmarks should be carefully interpreted, you should know exactly which benchmark was run (name, version); exactly what configuration was it run on (CPU, memory, compiler options, single user/multi-user, peripherals, network); how does the benchmark relate to your workload?
Well-known benchmarks include Whetstone, Dhrystone, Rhealstone (see h), the Gabriel benchmarks for Lisp, the SPECmark suite, and LINPACK.
See also machoflops, MIPS, smoke and mirrors.
Usenet newsgroup: news:comp.benchmarks.
Tennessee BenchWeb (http://netlib.org/benchweb/).
[Jargon File]
(2002-03-26)

Bend Over, Here It Comes Again
humour (BOHICA) An utterance of frustration by computer support personnel who anticipate being told (usually via phone) to do something that can't be done, by a boss who doesn't know his ass from deep center field about what he's asking his minions to do.
(1995-09-20)

Benoit B. Mandelbrot
Benoit Mandelbrot

Benoit Mandelbrot
person /ben'wa man'dl-bro/ Benoit B. Mandelbrot. The IBM scientist who wrote several original books on fractals and gave his name to the set he was discovered, the Mandelbrot set and coined the term fractal in 1975 from the Latin fractus or to break .
(1997-07-02)

Bentley Systems, Inc.
company The company that sells MicroStation.
Address: Exton, PA, USA.
Home (http://www.bentley.com/).
(2001-05-18)

BeOS
operating system The operating system designed to run on the BeBox microcomputer. BeOS is good at both multitasking and real-time operation. It has a bash command shell, with ports of many GNU programs by Be, Inc. It has a GUI front end (not X). A C++ compiler is supplied with the machine, and there are rumours of other languages being ported in the future.
(1996-10-05)

BER
1. protocol, standard Basic Encoding Rules.
2. communications Bit Error Rate.
(2001-05-14)

Berkeley
University of California at Berkeley

Berkeley 4.2
Berkeley Software Distribution

Berkeley EDIF200
translator-building toolkit
Wendell C. Baker and Prof A. Richard Newton of the Electronics Research Laboratory, Department of Electrical Engineering and Computer Sciences at the University of California, Berkeley.
Version 7.6. Restriction: no-profit without permission.
(ftp://ic.berkeley.edu/pub/edif)
(1990-07-01)

Berkeley FP
language A version of Backus's FP distributed with 4.2BSD Unix.
(ftp://apple.com/ArchiveVol1/Unix_lang)
(1997-12-15)

Berkeley Internet Name Domain
networking (BIND) An implementation of a DNS server developed and distributed by the University of California at Berkeley.
Many Internet hosts run BIND, and it is the ancestor of many commercial implementations.
(1997-12-15)

Berkeley Logo
language A Logo interpreter by Brian Harvey bh@cs.berkeley.edu . Berkeley Logo programs will run on Unix, IBM PC, or Macintosh. It doesn't do anything fancy about graphics and only allows one turtle.
Version: 4.6, as of 2000-03-21.
MswLogo is a Microsoft Windows front end.
(ftp://anarres.cs.berkeley.edu/pub/ucblogo).
(2000-03-28)

Berkeley Network
(B-NET) Top level Unix Ethernet software developed at the University of California at Berkeley. There are no formal specifications but UCB's 4.2BSD Unix implementation on the VAX is the de facto standard. Distributed by Unisoft. Includes net.o driver routines for specific hardware, pseudo ttys, daemons, hostname command to set/get name, /etc/hosts database of names and Internet addresses of other hosts, /etc/hosts.equiv host-wide database to control remote access, .rhosts per user version of hosts.equiv.
UCB's implementation of the Internet Protocol includes trailers to improve performance on paged memory management systems such as VAXen. These trailers are an exception to the Internet Protocol specification.

Berkeley Quality Software
abuse (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.
[Jargon File]
(1996-01-15)

Berkeley Software Design, Inc
company (BSDI) A company that sells BSD/OS, a commercial version of Berkeley Standard Distribution Unix, networking, and Internet technologies originally developed by the Computer Systems Research Group (CSRG) at the University of California at Berkeley.
Leading CSRG computer scientists founded BSDI in 1991. BSDI's BSD/OS represents over 20 years of development by the worldwide BSD technical community. BSD technology is known worldwide for its powerful, flexible and portable architecture and advanced development environments.
BSDI designs, develops, markets, and supports the BSD/OS operating system, Internet server software for IBM PCs, and other products. BSDI planned to release an Internet gateway product for Novell IPX networks in 1995.
Home (http://www.bsdi.com/)
E-mail: bsdi-info@bsdi.com .
Address: 5575 Tech Center Drive, #110, Colorado Springs, CO 80918, USA. Telephone: +1 (719) 593 9445. Fax: +1 (719) 598 4238.
(1996-01-13)

Berkeley Software Distribution
operating system (BSD) A family of Unix versions for the DEC VAX and PDP-11, developed by Bill Joy and others at the University of California at Berkeley. BSD Unix incorporates paged virtual memory, TCP/IP networking enhancements, and many other features.
BSD UNIX 4.0 was released on 19 October 1980. The BSD versions (4.1, 4.2, and 4.3) and the commercial versions derived from them (SunOS, ULTRIX, Mt. Xinu, Dynix) held the technical lead in the Unix world until AT T's successful standardisation efforts after about 1986, and are still widely popular.
See also Berzerkeley, USG Unix.
(1994-11-23)

Berkeley Softworks
company The company that wrote Graffiti and a similar scheme for the Commodore 64 (made it very Macintosh-like) and the Commodore 128 (which could multitask).
(1995-01-24)

Berkeley Unix
Berkeley Software Distribution

Berkeley Yacc
tool (byacc, previously Zeus, then Zoo) Probably the best variant of the Yacc parser generator. Written by Robert Corbett Robert.Corbett@eng.sun.com .
Latest version: 1.9, as of 2000-06-09.
(ftp://ftp.cs.berkeley.edu/pub/4bsd/byacc.1.9.tar.Z).
(2000-07-16)

berklix
/berk'liks/ (From Berkeley Unix) Berkeley Software Distribution. Not used at Berkeley itself. May be more common among suits attempting to sound like cognoscenti than among hackers, who usually just say BSD .
[Jargon File]
(1995-02-23)

Berners-Lee, Tim
Tim Berners-Lee

Bernoulli Box
storage A high capacity storage device, Iomega Corporation's first popular product, that spins a mylar disk over a read-write head using the Bernoulli principle.
(1997-04-15)

Bernoulli principle
(Or air foil principle , after Swiss mathematician Daniel Bernoulli, 1700-1782) The law that pressure in a fluid decreases with the rate of flow. It has been applied to a class of hard disk drives.
See Bernoulli Box.
(1997-04-15)

Bernstein condition
parallel Processes cannot execute in parallel if one effects values used by the other. Nor can they execute in parallel if any subsequent process uses data effected by both, i.e. whose value might depend on the order of execution.
(1995-02-23)

BERR
bus error

Bertrand
(Named after the British mathematician Bertrand Russell (1872-1970)). Wm. Leler. Rule-based specification language based on augmented term rewriting. Used to implement constraint languages. The user must explicitly specify the tree-search and the constraint propagation.
(ftp://nexus.yorku.ca/pub/scheme/scm/bevan.shar)
[ Constraint Programming Languages - Their Specification and Generation , W. Leler, A-W 1988, ISBN 0-201-06243-7].

Bertrand Meyer
The author of the Eiffel Language and many articles on object-oriented software techniques.
(1995-03-01)

Bertrand Russell
person (1872-1970) A British mathematician, the discoverer of Russell's paradox.
(1995-03-27)

Berzerkeley
humour /b*r-zer'klee/ (From berserk , via the name of a now-deceased record label) A humorous distortion of Berkeley used especially 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.
[Jargon File]
(1996-06-01)

Berzerkley
Berzerkeley

best effort
networking A classification of low priority network traffic, used especially the Internet.
Different kinds of traffic have different priorities. Videoconferencing and other types of real-time communication, for example, require a certain minimum guaranteed bandwidth and latency and so must be given a high priority. Electronic mail, on the other hand, can tolerate an arbitrarily long delay and is classified as a best-effort service.
[Scientific American, Nov. 1994, pp. 83-84].
(1995-04-04)

best first search
algorithm A graph search algorithm which optimises breadth first search by ordering all current paths according to some heuristic. The heuristic attempts to predict how close the end of a path is to a solution. Paths which are judged to be closer to a solution are extended first.
See also beam search, hill climbing.
(1995-12-09)

Best Fit
algorithm A resource allocation scheme (usually for memory). Best Fit tries to determine the best place to put the new data. The definition of 'best' may differ between implementations, but one example might be to try and minimise the wasted space at the end of the block being allocated - i.e. use the smallest space which is big enough.
By minimising wasted space, more data can be allocated overall, at the expense of a more time-consuming allocation routine.
Compare First Fit.
(1997-06-02)

BETA
Kristensen, Madsen olmadsen@daimi.aau.dk , Moller-Pedersen Nygaard, 1983. Object-oriented language with block structure, coroutines, concurrency, strong typing, part objects, separate objects and classless objects. Central feature is a single abstraction mechanism called patterns , a generalisation of classes, providing instantiation and hierarchical inheritance for all objects including procedures and processes.
Mjolner Informatics ApS, Aarhus, implementations for Mac, Sun, HP, Apollo.
E-mail: info@mjolner.dk .
Mailing list: usergroup@mjolner.dk .
[ Object-Oriented Programming in the BETA Programming Language , Ole Lehrmann et al, A-W June 1993, ISBN 0-201-62430-3].
[Jargon File]
(1995-10-31)

beta
/bay't*/, /be't*/ or (Commonwealth) /bee't*/
See beta conversion, beta test.
[Jargon File]

beta abstraction
[lambda-calculus] The conversion of an expression to an application of a lambda abstraction to an argument expression. Some subterm of the original expression becomes the argument of the abstraction and the rest becomes its body. E.g.
4+1 -- ( x . x+1) 4
The opposite of beta abstraction is beta reduction. These are the two kinds of beta conversion.

beta conversion
theory A term from lambda-calculus for beta reduction or beta abstraction.
(1999-01-15)

Betamaxed
jargon When a technology is overtaken in the market by inferior but better marketed competition. E.g. Microsoft betamaxed Apple right out of the market . The Betamex videotape standard lost to VHS.
(1999-01-15)

beta reduction
[lambda-calculus] The application of a lambda abstraction to an argument expression. A copy of the body of the lambda abstraction is made and occurrences of the bound variable being replaced by the argument. E.g.
( x . x+1) 4 -- 4+1
Beta reduction is the only kind of reduction in the pure lambda-calculus. The opposite of beta reduction is beta abstraction. These are the two kinds of beta conversion.
See also name capture.

beta testing
programming Testing a pre-release (potentially unreliable) version of a piece of software by making it available to selected 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.
An item in beta test is thus mostly working but still under test. In the Real World, systems (hardware or software) often go through two stages of release testing: Alpha (in-house) and Beta (out-house?). Beta releases are generally made available to a small number of lucky (or unlucky), trusted customers.
(1996-11-05)

beta version
beta testing

Bezier
graphics (After Frenchman Pierre Bézier from Regie Renault) A collection of formulae for describing curved lines (Bezier curve) and surfaces (Bezier surface), first used in 1972 to model automobile surfaces.
Curves and surfaces are defined by a set of control points which can be moved interactively making Bezier curves and surfaces convenient for interactive graphic design.
[ Principles of interactive computer graphics , William M. Newman, Graw-Hill].
(1995-04-04)

Bezier curve
graphics A type of curve defined by mathematical formulae, used in computer graphics. A curve with coordinates P(u), where u varies from 0 at one end of the curve to 1 at the other, is defined by a set of n+1 control points (X(i), Y(i), Z(i)) for i = 0 to n.
P(u) = Sum i=0..n [(X(i), Y(i), Z(i)) * B(i, n, u)]
B(i, n, u) = C(n, i) * u^i * (1-u)^(n-i)
C(n, i) = n!/i!/(n-i)!
A Bezier curve (or surface) is defined by its control points, which makes it invariant under any affine mapping (translation, rotation, parallel projection), and thus even under a change in the axis system. You need only to transform the control points and then compute the new curve. The control polygon defined by the points is itself affine invariant.
Bezier curves also have the variation-diminishing property. This makes them easier to split compared to other types of curve such as Hermite or B-spline.
Other important properties are multiple values, global and local control, versatility, and order of continuity.
[What do these properties mean?]
(1996-06-12)

Bezier surface
graphics A surface defined by mathematical formulae, used in computer graphics. A surface P(u, v), where u and v vary orthogonally from 0 to 1 from one edge of the surface to the other, is defined by a set of (n+1)*(m+1) control points (X(i, j), Y(i, j), Z(i, j)) for i = 0 to n, j = 0 to m.
P(u, v) = Sum i=0..n Sum j=0..m [ (X(i, j), Y(i, j), Z(i, j)) * B(i, n, u) * B(j, m, v)]
B(i, n, u) = C(n, i) * u^i * (1-u)^(n-i)
C(n, i) = n!/i!/(n-i)!
Bezier surfaces are an extension of the idea of Bezier curves, and share many of their properties.
(1996-06-12)

bf
networking The country code for Burkina Faso.
(1999-01-27)

BFI
brute force and ignorance

bg
networking The country code for Bulgaria.
(1999-01-27)

bgh
chat Be Good Humans.
(2001-03-28)

BGP
Border Gateway Protocol

bh
networking The country code for Bahrain.
(1999-01-27)

BHC Code
Bose-Chaudhuri-Hocquenghem Code

bi
networking The country code for Burundi.
(1999-01-27)

bib
BibTeX

bible
publication The most detailed and authoritative reference for a particular language, operating system or other complex software system. It is also used to denote one of a small number of such books such as Knuth and K R.
[Jargon File]
(1996-12-03)

BIBOP
Big bag of pages

BibTeX
text, tool A Tex extension package for bibliographic citations, distributed with LaTeX. BibTeX uses a style-independent bibliography database (.bib file) to produce a list of sources, in a customisable style, from citations in a Latex document. It also supports some other formats.
BibTeX is a separate program from LaTeX. LaTeX writes information about citations and which .bib files to use in a .aux file. BibTeX reads this file and outputs a .bbl file containing LaTeX commands to produce the source list. You must then run LaTeX again to incorporate the source list in your document. In typeset documents, BibTeX is written in upper case, with the IB slightly smaller and with the E as a subscript. BibTeX is described in the LaTeX book by Lamport.

BiCapitalisation
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 capitalisation. Too many marketroid types think this sort of thing is really cute, even the 2,317th time they do it.
Compare studlycaps.
(1995-02-23)

BiCMOS
hardware A manufacturing process for semiconductor devices that combines bipolar and CMOS to give the best balance between available output current and power consumption.
(1995-03-28)

bidirectional printing
hardware A feature of a printer whose printer head can print both when moving left to right and when moving right to left.
Also known as boustrophedonic .
(1995-04-13)

Bidouilleurs Sans Argent
body (BSA, French for Moneyless Hackers ) An association which aim is to help computer users who can't afford to buy commercial software. The main purpose of the association is the promotion of free software, and distribution of ex-commercial software. This is clearly an answer to the repressive attitude of the other BSA.
Among BSA members are Richard Stallman, creator of the GNU project.
Home (http://www.bsa.lu/).
(1998-10-27)

bi-endian
Silicon schizophrenia. Processors and other chips that have can be switched to work in in big-endian or little-endian mode.
The PowerPC chip has this ability, which allows it to run the little-endian Windows NT, or the big-endian Mac OS/PPC.
(1995-02-23)

BIFF
/bif/ (Or B1FF , from Usenet) The most famous pseudo, and the prototypical newbie. Articles from BIFF are characterised 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 chat abbreviations, a long sig block (sometimes even a doubled sig), and unbounded naivete. 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: BIFF@BIT.NET .
[1993: Now It Can Be Told! My spies inform me that BIFF was originally created by Joe Talmadge jat@cup.hp.com , also the author of the infamous and much-plagiarised Flamer's Bible . The BIFF filter he wrote was later passed to Richard Sexton, who posted BIFFisms much more widely. Versions have since been posted for the amusement of the net at large. - ESR]
[Jargon File]
(1997-09-22)

biff
/bif/ 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.
[Jargon File]

big
text Prefix of several LaTeX commands implying a larger symbol. See the command without big . Often used to convert a dyadic operator into a function which operates on a set. E.g. sqcup, bigsqcup.
(1995-02-03)

Big bag of pages
(BIBOP) Where data objects are tagged with some kind of descriptor (giving their size or type for example) memory can be saved by storing objects with the same descriptor in one page of memory. The most significant bits of an object's address are used as the BIBOP page number. This is looked up in a BIBOP table to find the descriptor for all objects in that page.
This idea is similar to the zones used in some Lisp systems (e.g. LeLisp).
[David R. Hanson. A portable storage management system for the Icon programming language . Software - Practise and Experience, 10:489-500 1980].
(1994-11-29)

big blue
International Business Machines

big-endian
1. data, architecture 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-1993, are big-endian.
See -endian.
2. networking, standard A backward electronic mail address. The world now follows the Internet hostname standard (see FQDN) and writes e-mail addresses starting with the name of the computer and ending up with the country code (e.g. fred@doc.acme.ac.uk). In the United Kingdom the Joint Networking Team decided to do it the other way round (e.g. me@uk.ac.wigan.cs) before the Internet domain standard was established. Most gateway sites required ad-hockery in their mailers to handle this.
By July 1994 this parochial idiosyncracy was on the way out and mailers started to reject big-endian addresses. By about 1996, people would look at you strangely if you suggested such a bizarre thing might ever have existed.
[Jargon File]
(1998-08-09)

Big Gray Wall
jargon 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, multi-vendor networking, and programming tools. Recent (since VMS version 5) DEC documentation comes with grey binders; under VMS version 4 the binders were orange and under version 3 they were blue. Often contracted to Gray Wall .
[Jargon File]
(1995-03-07)

big iron
jargon (Or heavy metal [Cambridge]) Large, expensive, ultra-fast computers. Used generally of number crunching supercomputers such as Crays, but can include more conventional big commercial IBMish mainframes. The term implies approval, in contrast to dinosaur .
[Jargon File]
(2000-11-09)

BIG-LAN
[ BIG-LAN Frequently Asked Questions Memo , BIG-LAN DIGEST V4:I8, February 14, 1992.]

Bigloo
A Scheme interpreter, compiler and run-time system by Manuel Serrano Manuel.Serrano@inria.fr which aims to deliver small, fast stand alone applications. The compiler produces ANSI C and supports optimisation. Bigloo conforms to the IEEE Scheme standard with some extensions for regular expression handling. It runs on Sun, Sony News, SGI, Linux, HP-UX and is easy to port to any Unix system. Version 1.4.
(ftp://ftp.inria.fr/INRIA/Projects/icsla/Implementations/)
(1993-09-08)

bignum
programming /big'nuhm/ (Originally from MIT MacLISP) A multiple-precision computer representation for very large integers.
Most computer languages provide a type of data called integer , but such computer integers are usually limited in size; usually they must be smaller than 2^31 (2,147,483,648) or (on a 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.
[Jargon File]
(1996-06-27)

bigot
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 . Real 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 favoured tool. It is truly said You can tell a bigot, but you can't tell him much. Compare weenie.
[Jargon File]

Big Red Switch
[IBM] The power switch on a computer, especially 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 TLAs, this is often abbreviated as BRS (this has also become established on FidoNet and in the IBM PC 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 mainframes 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
jargon, humour 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.
(1996-03-04)

big win
jargon An MIT term for a Good Thing or a lucky accident.
[Jargon File]
(1996-03-06)

bijection
mathematics A function is bijective or a bijection or a one-to-one correspondence if it is both injective (no two values map to the same value) and surjective (for every element of the codomain there is some element of the domain which maps to it). I.e. there is exactly one element of the domain which maps to each element of the codomain.
For a general bijection f from the set A to the set B:
f'(f(a)) = a where a is in A and f(f'(b)) = b where b is in B.
A and B could be disjoint sets.
See also injection, surjection, isomorphism, permutation.
(2001-05-10)

Bill Gates
person William Henry Gates III, Chief Executive Officer of Microsoft, which he co-founded in 1975 with Paul Allen. In 1994 Gates is a billionaire, worth $9.35b and Microsoft is worth about $27b. He was a computer nerd who dropped out of Harvard and one of the first programmers to oppose software piracy ( Open Letter to Hobbyists, Computer Notes, February 3, 1976).
(1995-03-02)

Bill Joy
William Joy

binaries
binary file

binary
1. mathematics Base two. A number representation consisting of zeros and ones used by practically all computers because of its ease of implementation using digital electronics and Boolean algebra.
2. file format Any file format for digital data encoded as a sequence of bits but not consisting of a sequence of printable characters (text). The term is often used for executable machine code.
Of course all digital data, including characters, is actually binary data (unless it uses some (rare) system with more than two discrete levels) but the distinction between binary and text is well established.
3. programming A description of an operator which takes two arguments. See also unary, ternary.
(1998-07-29)

binary coded decimal
data (BCD, packed decimal) A number representation where a number is expressed as a sequence of decimal digits and then each decimal digit is encoded as a four-bit binary number (a nibble). E.g. decimal 92 would be encoded as the eight-bit sequence 1001 0010.
In some cases, the right-most nibble contains the sign (positive or negative).
It is easier to convert decimal numbers to and from BCD than binary and, though BCD is often converted to binary for arithmetic processing, it is possible to build hardware that operates directly on BCD.
[Do calculators use BCD?]
(2001-01-27)

Binary Compatibility Standard
programming, standard (BCS) The ABI of 88open.
(1997-07-03)

binary counter
electronics, hardware A digital circuit which has a clock input and a number of count outputs which give the number of clock cycles. The output may change either on rising or falling clock edges. The circuit may also have a reset input which sets all outputs to zero when asserted. The counter may be either a synchronous counter or a ripple counter.
(1997-07-03)

binary data
binary file

binary exponential backoff
An algorithm for dealing with contention in the use of a network. To transmit a packet the host sets a local parameter, L to 1 and transmits in one of the next L slots. If a collision occurs, it doubles L and repeats.

binary file
storage, operating system A file containing binary data, i.e. arbitrary bytes or words, as opposed to a text file containing only printable characters (e.g. ASCII characters with codes 10, 13, and 32-126).
On modern operating systems a text file is simply a binary file that happens to contain only printable characters, but some older systems distinguish the two file types, requiring programs to handle them differently.
A common class of binary files is programs in machine language ( executable files ) ready to load into memory and execute. Binary files may also be used to store data output by a program, and intended to be read by that or another program but not by humans. Binary files are more efficient for this purpose because the data (e.g. numerical data) does not need to be converted between the binary form used by the CPU and a printable (ASCII) representation. The disadvantage is that it is usually necessary to write special purpose programs to manipulate such files since most general purpose utilities operate on text files. There is also a problem sharing binary numerical data between processors with different endianness.
Some communications protocols handle only text files, e.g. most electronic mail systems before MIME became widespread in about 1995. The FTP utility must be put into binary mode in order to copy a binary file since in its default ascii mode translates between the different text line terminator characters used on the sending and receiving computers.
Confusingly, some files produced by wordprocessors, and rich text files, are actually binary files because they contain non-printable characters and require special programs to view, edit, and print them.
(2002-01-19)

binary large object
database (BLOB) A large block of data stored in a database, such as an image or sound file. A BLOB has no structure which can be interpreted by the database management system but is known only by its size and location.
(1997-11-04)

binary package
software An archive file that contains all files and directories that must be installed in order to make a working installation of the program(s) included in the package, and the maintainer scripts necessary for the installation. A binary package is usually specific to a certain platform, in contrast to a source package.
(2001-01-27)

binary search
algorithm A search algorithm which repeatedly divides an ordered search space in half according to how the required (key) value compares with the middle element.
The following pseudo-C routine performs a binary search return the index of the element of vector thing[first..last] equal to target :
if (target   thing[first] || target   thing[last])
return NOT_FOUND;
while (first   last)

mid = (first+last)/2;/* truncate to integer */
if (target   thing[mid])
last = mid;
else if (target   thing[mid])
first = mid+1;
else
return mid;

if (target == thing[last])
return last;
return NOT_FOUND;
(1995-04-10)

Binary Synchronous Transmission
protocol (Bisynch) An IBM link protocol, developed in the 1960 and popular in the 1970s and 1980s.
Binary Synchronous Transmission has been largely replaced in IBM environments with SDLC. Bisync was developed for batch communications between a System 360 computer and the IBM 2780 and 3780 Remote Job Entry (RJE) terminals. It supports RJE and on-line terminals in the CICS/VSE environment. It operates with EBCDIC or ASCII character sets. It requires that every message be acknowledged (ACK) or negatively acknowledged (NACK) so it has high transmission overhead. It is typically character oriented and half-duplex, although some of the bisync protocol flavours or dialects support binary transmission and full-duplex operation.
(1997-01-07)

binary tree
(btree) A tree in which each node has at most two successors or child nodes. In Haskell this could be represented as
data BTree a = NilTree
| Node a (BTree a) (BTree a)
See also balanced tree.
(1994-11-29)

BIND
Berkeley Internet Name Domain

bindery
networking A Novell Netware database that contains definitions for entities such as users, groups, and workgroups. The bindery allows the network supervisor to design an organised and secure operating environment based on the individual requirements of each of these entities.
The bindery has three components: objects, properties, and property data sets. Objects represent any physical or logical entity, including users, user groups, file servers. Properties are characteristics of each object (e.g. passwords, account restrictions, internetwork addresses). Property data sets are the values assigned to an entity's bindery properties.
[Netware Version 3.11 Concepts documentation (a glossary of Netware-related terms)].
(1996-03-07)

binding handle
networking An identifier representing the connection between a client and server. An association between client/server end-points and protocols.
(1997-03-18)

binding-time analysis
compiler An analysis to identify sub-expressions which can be evaluated at compile-time or where versions of a function can be generated and called which are specialised to certain values of one or more arguments.
See partial evaluation.
(1995-03-28)

BinHex
file format A Macintosh format for representing a binary file using only printable characters. The file is converted to lines of letters, numbers and punctuation. Because BinHex files are simply text they can be sent through most electronic mail systems and stored on most computers. However the conversion to text makes the file larger, so it takes longer to transmit a file in BinHex format than if the file was represented some other way.
Filename extension: .hqx.
See also BinHex 4.0, uuencode.
[Encoding algorithm?]
(1994-11-30)

Binhex 4.0
file format A seven bit wide representation of a Macintosh file with CRC error checking. Binhex 4.0 files are designed for communication of Mac files over long distance, possibly noisy, seven bit wide paths.
[Difference from other binhex formats?]
(1996-09-17)

BinProlog
language Probably the fastest freely available C-emulated Prolog. BinProlog features:
logical and permanent global variables; backtrackable destructive assignment; circular term unification; extended DCGs (now built into the engine as invisible grammars ); intuitionistic and linear implication based hypothetical reasoning; a Tcl/Tk interface.
Version 3.30 runs on SPARC/Solaris 2.x, SunOS 4.x; DEC Alpha 64-bit version; DEC MIPS; SGI MIPS; 68k - NeXT, Sun-3; IBM RS6000; HP PA-RISC (two variants); Intel 80386, Intel 486/Linux, MS-DOS, Microsoft Windows 3.1 (with DOS-extender go32 v1.10).
Multi-BinProlog is a multi-threaded Linda-style parallel extension to BinProlog for Solaris 2.3.
(ftp://clement.info.umoncton.ca/BinProlog/)
E-mail: Paul Tarau tarau@info.umoncton.ca .
(1995-04-04)

BIOR
An early system on UNIVAC I or II.
[Listed in CACM 2(5):16 (May 1959)].
(1995-04-01)

BIOS
Basic Input/Output System

BIP
An incorrect singular of BIPS. One billion instructions per second is 1 BIPS, not 1 BIP.

bipartite graph
See complete graph.

bipolar
1. electronics See bipolar transistor.
2. communications In digital transmission, an electrical line signalling method where the mark value alternates between positive and negative polarities.
See also AMI.
(1995-03-02)

bipolar transistor
electronics A transistor made from a sandwich of n- and p-type semiconductor material: either npn or pnp. The middle section is known as the base and the other two as the collector and emitter . When used as an amplifying element, the base to emitter junction is in a forward-biased (conducting) condition, and the base to collector junction is reverse-biased or non-conducting. Small changes in the base to emitter current (the input signal) cause either holes (for pnp devices) or free electrons (for npn) to enter the base from the emitter. The attracting voltage of the collector causes the majority of these charges to cross into and be collected by the collector, resulting in amplification.
Contrast field effect transistor.
(1995-10-04)

BIPS
Billion (10^9) instructions per second. Same as GIPS.

Bird-Meertens Formalism
theory, programming (BMF) (Or Squiggol ) A calculus for derivation of functional programs from a specification. It consists of a set of higher-order functions that operate on lists including map, fold, scan, filter, inits, tails, cross product and function composition.
[ A Calculus of Functions for Program Derivation , R.S. Bird, in Res Topics in Fnl Prog, D. Turner ed, A-W 1990].
[ The Squiggolist , ed Johan Jeuring, published irregularly by CWI Amsterdam].
(1995-05-01)

Birds Of a Feather
(BOF) (From the saying Birds of a feather flock together ) An informal discussion group, scheduled on a conference program or formed ad hoc, to consider a specific issue or subject. It is not clear where or when this term originated, but it is now associated with the USENIX conferences for Unix techies and was already established there by 1984. It was used earlier than that at DECUS conferences and is reported to have been common at SHARE meetings as far back as the early 1960s.
(1994-10-11)

BISDN
Broadband Integrated Services Digital Network.

Bison
tool GNU's replacement for the yacc parser generator. Bison runs under Unix and on Atari computers. It was written by Robert Corbett.
Latest version: 1.28, as of 2000-05-22.
As of version 1.24, Bison will no longer apply the GNU General Public License to your code. You can use the output files without restriction.
FTP GNU.org (ftp://ftp.gnu.org/gnu/bison/) or your nearest GNU archive site.
E-mail: bug-bison@gnu.org .
Bison++ is a version which produces C++ output.
(2000-07-05)

Bison++
GNU's Yacc parser generator retargeted to C++ by Alain Coetmeur coetmeur@icdc.fr . Version 1.04.
(ftp://iecc.com/pub/file/bison++.tar.gz). (ftp://iecc.com/pub/file/misc++.tar.gz). (ftp://psuvax1.cs.psu.edu/pub/src/gnu/bison++-1.04.tar.Z).
(1993-07-08)

BIST
Built-in Self Test

bisync
Binary Synchronous Transmission

bit
unit (b) binary digit.
The unit of information; the amount of information obtained by asking a yes-or-no question; a computational quantity that can take on one of two values, such as false and true or 0 and 1; the smallest unit of storage - sufficient to hold one bit.
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.
The term bit first appeared in print in the computer-science sense in 1949, and seems to have been coined by the eminent statistician, John Tukey. Tukey records that it evolved over a lunch table as a handier alternative to bigit or binit .
See also flag, trit, mode bit, byte, word.
[Jargon File]
(2002-01-22)

bit bang
Transmission of data on a serial line accomplished by rapidly changing 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 Zilog 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.
[Jargon File]

bit bashing
(Also bit diddling or bit twiddling). Any of several kinds of low-level programming characterised by manipulation of bit, flag, nibble, 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 flavours 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.

bitblt
/bit'blit/ [BLT] 1. 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. blit, BLT.
[Jargon File]

bit bucket
jargon 1. (Or write-only memory , WOM ) 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 .
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.
In contrast, a chad box is a real container used to catch chad. This may be related to the origin of the term bit bucket [Comments ?].
(1996-11-20)

bit decay
bit rot

bit diddling
bit bashing

bite
spelling It's spelled byte to avoid confusion with bit .
(1996-12-13)

bitmap
graphics, file format A data file or structure which corresponds bit for bit with an image displayed on a screen, probably in the same format as it would be stored in the display's video memory or maybe as a device independent bitmap. A bitmap is characterised by the width and height of the image in pixels and the number of bits per pixel which determines the number of shades of grey or colours it can represent. A bitmap representing a coloured image (a pixmap ) will usually have pixels with between one and eight bits for each of the red, green, and blue components, though other colour encodings are also used. The green component sometimes has more bits that the other two to cater for the human eye's greater discrimination in this component.
See also vector graphics, image formats.
(1996-09-21)

bitmap display
hardware A computer output device where each pixel displayed on the monitor screen corresponds directly to one or more bits in the computer's video memory. Such a display can be updated extremely rapidly since changing a pixel involves only a single processor write to memory compared with a terminal or VDU connected via a serial line where the speed of the serial line limits the speed at which the display can be changed.
Most modern personal computers and workstations have bitmap displays, allowing the efficient use of graphical user interfaces, interactive graphics and a choice of on-screen fonts. Some more expensive systems still delegate graphics operations to dedicated hardware such as graphics accelerators.
The bitmap display might be traced back to the earliest days of computing when the Manchester University Mark I(?) computer, developed by F.C. Williams and T. Kilburn shortly after the Second World War. This used a storage tube as its working memory. Phosphor dots were used to store single bits of data which could be read by the user and interpreted as binary numbers.
[Is this history correct? Was it ever used to display graphics ? What was the resolution?]
(2002-05-15)

bitmap font
text A font where each character is stored as an array of pixels (a bitmap). Such fonts are not easily scalable, in contrast to vectored fonts (like those used in PostScript).
[Examples?]
(1995-02-16)

bitmapped display
bitmap display

bit mask
programming A pattern of binary values which is combined with some value using bitwise AND with the result that bits in the value in positions where the mask is zero are also set to zero. For example, if, in C, we want to test if bits 0 or 2 of x are set, we can write
int mask = 5;/* binary 101 */
if (x mask) ...
A bit mask might also be used to set certain bits using bitwise OR, or to invert them using bitwise exclusive OR.
(1995-05-12)

BITNET
networking /bit'net/ (Because It's Time NETwork) An academic and research computer network connecting approximately 2500 computers. BITNET provides interactive, electronic mail and file transfer services, using a store and forward protocol, based on IBM Network Job Entry protocols.
Bitnet-II encapsulates the Bitnet protocol within IP packets and depends on the Internet to route them. BITNET traffic and Internet traffic are exchanged via several gateway hosts.
BITNET is now operated by CREN.
BITNET is everybody's least favourite piece of the network. The BITNET hosts are a collection of IBM dinosaurs, VAXen (with lobotomised communications hardware), and Prime Computer supermini computers. They 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 is also notorious as the apparent home of BIFF.
[Jargon File]
(2002-09-02)

bitonal image
graphics An image consisting only of a foreground colour and a background colour.
Compare monochrome.
(1998-03-14)

bit-paired keyboard
hardware (Obsolete, or 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.
[Jargon File]
(1995-02-20)

bit pattern
data A sequence of bits, in a memory, a communications channel or some other device. The term is used to contrast this with some higher level interpretation of the bits such as an integer or an image. A bit string is similar but suggests an arbitrary, as opposed to predetermined, length.
(1998-09-27)

bit plane
graphics (Or bitplane ) The memory in a graphic display device which holds a complete one-bit-per-pixel image. Several bit planes may be used in conjunction to give more bits per pixel or to overlay several images or mask one with another.
Bit plane may be used as a synonym for bitmap , though the latter suggests the data itself rather than the memory and also suggests a graphics file format.
(1997-03-16)

bit-robbing
in-band signalling

bit rot
jargon A 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.
People with a physics background tend to prefer the variant bit decay for the analogy with particle decay.
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 detection circuitry to compensate for them). The notion long favoured among hackers that cosmic rays are among the causes of such events turns out to be a myth.
Bit rot is the notional cause of software rot.
See also computron, quantum bogodynamics.
[Jargon File]
(1998-03-15)

bit slice
architecture A technique for constructing a processor from modules, each of which processes one bit-field or slice of an operand. Bit slice processors usually consist of an ALU of 1, 2, 4 or 8 bits and control lines (including carry or overflow signals usually internal to the CPU). For example, two 4-bit ALUs could be arranged side by side, with control lines between them, to form an 8-bit ALU. A sequencer executes a program to provide data and control signals.
The AMD Am2901 is an example.
(1994-11-15)

bits per inch
unit (BPI) A measure of the recording density of a magnetic tape or disk.
(1995-04-13)

bits per pixel
hardware, graphics (bpp) The number of bits of information stored per pixel of an image or displayed by a graphics adapter. The more bits there are, the more colours can be represented, but the more memory is required to store or display the image.
A colour can be described by the intensities of red, green and blue (RGB) components. Allowing 8 bits (1 byte) per component (24 bits per pixel) gives 256 levels for each component and over 16 million different colours - more than the human eye can distinguish. Microsoft Windows [and others?] calls this truecolour. An image of 1024x768 with 24 bpp requires over 2 MB of memory.
High colour uses 16 bpp (or 15 bpp), 5 bits for blue, 5 bits for red and 6 bits for green. This reduced colour precision gives a slight loss of image quality at a 1/3 saving on memory.
Standard VGA uses a palette of 16 colours (4 bpp), each colour in the palette is 24 bit. Standard SVGA uses a palette of 256 colours (8 bpp).
Some graphics hardware and software support 32-bit colour depths, including an 8-bit alpha channel for transparency effects.
(1999-08-01)

bits per second
communications, unit (bps, b/s) The unit in which data rate is measured.
For example, a modem's data rate is usually measured in kilobits per second. In 1996, the maximum modem speed for use on the PSTN was 33.6 kbps, rising to 56 kbps in 1997.
Note that kilo- (k), mega- (M), etc. in data rates denote powers of 1000, not 1024.
(2002-03-23)

bit string
programming, data An ordered sequence of bits. This is very similar to a bit pattern except that the term string suggests an arbitrary length sequence as opposed to a pre-determined length pattern .

bit stuffing
protocol A protocol which guarantees the receiver of synchronous data can recover the sender's clock. When the data stream sent contains a large number of adjacent bits which cause no transition of the signal, the receiver cannot adjust its clock to maintain proper synchronised reception. To eliminate the possibility of such a pathological case, when a preset number of transitionless bits have been transmitted, a bit which does cause a transition is stuffed (transmitted) by the sender. The receiver follows the same protocol and removes the stuffed bit after the specified number of transitionless bits, but can use the stuffed bit to recover the sender's clock.
The advantage of bit stuffing is that only a bit (not a byte) is inserted in the data stream, and that only when the content of the data stream fails to provide a timing signal to the receiver. Thus very nearly 100% of the bits transported are useful data. In contrast, asynchronous transmission of data throws away a start bit and one or more stop bits for each data byte sent.
(1996-04-23)

bit twiddling
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, especially for some pointless goal.
3. bit bashing, especially used for the act of frobbing the device control register of a peripheral in an attempt to get it back to a known state.
[Jargon File]

bitty box
abuse (Or calculator ) /bit'ee boks/ A computer sufficiently small, primitive, or incapable as to cause a hacker acute claustrophobia at the thought of developing software on or for it. The term is especially used of small, obsolescent, single-tasking-only personal computers such as the Atari 800, Osborne, Sinclair, VIC-20, TRS-80 or IBM PC, but the term is a general pejorative opposite of real computer (see Get a real computer!).
See also mess-dos, toaster, toy.
(1994-11-29)

bitwise
programming A bitwise operator treats its operands as a vector of bits rather than a single number. Boolean bitwise operators combine bit N of each operand using a Boolean function (NOT, AND, OR, XOR) to produce bit N of the result.
For example, a bitwise AND operator ( in C) would evaluate 13 9 as (binary) 1101 1001 = 1001 = 9, whereas, the logical AND, (C ) would evaluate 13 9 as TRUE TRUE = TRUE = 1.
In some languages, e.g. Acorn's BASIC V, the same operators are used for both bitwise and logical operations. This usually works except when applying NOT to a value x which is neither 0 (false) nor -1 (true), in which case both x and (NOT x) will be non-zero and thus treated as TRUE.
Other operations at the bit level, which are not normally described as bitwise include shift and rotate.
(1995-05-12)

bitwise complement
The bitwise complement of a bit field is a bit field of the same length but with each zero changed to a one and vice versa. This is the same as the ones complement of a binary integer.
(1994-11-14)

bixie
/bik'see/ Variant emoticons used on Byte Information eXchange. The smiley bixie is @_@ , apparently intending to represent two cartoon eyes and a mouth. A few others have been reported.
[Jargon File]
(1994-11-29)

bj
networking The country code for Benin.
(1999-01-27)

Bjarne Stroustrup
person The father of C++ and author of the C++ bible.
[ The C++ Programming Language , Bjarne Stroustrup, Addison-Wesley, 1986].
[Details?]
(2000-05-12)

BJC4000
A colour bubble jet printer from Canon. Released in September 1994. It features 720 x 360 dots per inch in black and white mode and 360 x 360 in colour. It has two cartridges: one for black and one for the three primary colours so it prints true black when printing in colour.
(1994-11-29)

black art
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 optimisation 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.
[Jargon File]

black box
jargon An abstraction of a device or system in which only its externally visible behaviour is considered and not its implementation or inner workings .
See also functional testing.
(1997-07-03)

black-box testing
functional testing

Black Data Processing Associates
body (BDPA) A non-profit professional association, founded in 1975 to promote positive influence in the information technology (IT) industry and how it affects African Americans. The BDPA facilitates African American professional participation in local and national activities keeping up with developing IT trends.
BDPA offers a forum for exchanging information and ideas about the computer industry. It provides numerous networking opportunities through monthly program meetings, seminars, and workshops and the annual national conference. Membership is open to anyone interested in IT.
The Foundation provides scholarships to students who compete in an annual Visual Basic competition.
Home (http://www.bdpa.org/conf96)
E-mail: nbdpa@ix.netcom.com .
Telephone: Ms. Pat Drumming, +1 (800) 727-BDPA.
(1996-04-07)

black hole
1. An expression which depends on its own value or a technique to detect such expressions. In graph reduction, when the reduction of an expression is begun, the root of the expression can be overwritten with a black hole. If the expression depends on its own value, e.g.
x = x + 1
then it will try to evaluate the black hole which will usually print an error message and abort the program. A secondary effect is that, once the root of the expression has been black-holed, parts of the expression which are no longer required may be freed for garbage collection.
Without black holes the usual result of attempting to evaluate an expression which depends on itself would be a stack overflow. If the expression is evaluated successfully then the black hole will be updated with the value.
Expressions such as
ones = 1 : ones
are not black holes because the list constructor, : is lazy so the reference to ones is not evaluated when evaluating ones to WHNF.
2. Where an electronic mail message or news aritcle has gone if it disappears mysteriously between its origin and destination sites without returning a bounce message. Compare bit bucket.
[Jargon File]

black magic
jargon (Or FM ) A technique that works, though nobody really understands why. More obscure than voodoo programming, which may be done by cookbook.
Compare black art, deep magic, and magic number.
(2001-04-30)

blargh
/blarg/ [MIT] The opposite of ping. An exclamation indicating that one has absorbed or is emitting a quantum of unhappiness. Less common than ping.
[Jargon File]

blast
1. BLT, used especially for large data sends over a network or comm line. Opposite of snarf. Usage: uncommon. The variant blat has been reported.
2. [HP/Apollo] Synonymous with nuke. Sometimes the message Unable to kill all processes. Blast them (y/n)? would appear in the command window upon logout.

blat
1. blast.
2. See thud.
[Jargon File]

BLAZE
A single assignment language for parallel processing.
[ The BLAZE Language: A Parallel Language for Scientific Programming , P. Mehrotra mehrotra@csrd.uiuc.edu et al, J Parallel Comp 5(3):339-361 (Nov 1987)].

BLAZE 2
An object-oriented successor to BLAZE.
[ Concurrent Object Access in BLAZE 2 , P. Mehrotra et al, SIGPLAN Notices 24(4):40-42 (Apr 1989)].

bleam
jargon To transmit or send data.
Bleam that binary to me in an e-mail .
[Origin? Used where?]
(1997-05-14)

bleeper
pager

bletcherous
/blech'*-r*s/ Disgusting in design or function; aesthetically unappealing. This word is seldom used of people. This keyboard is bletcherous! (Perhaps the keys don't work very well, or are misplaced.) 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.
[Jargon File]

Bletchley Park
body, history A country house and grounds some 50 miles North of London, England, where highly secret work deciphering intercepted German military radio messages was carried out during World War Two. Thousands of people were working there at the end of the war, including a number of early computer pioneers such as Alan Turing.
The nature and scale of the work has only emerged recently, with total secrecy having been observed by all the people involved. Throughout the war, Bletchley Park produced highly important strategic and tactical intelligence used by the Allies, (Churchill's golden eggs ), and it has been claimed that the war in Europe was probably shortened by two years as a result.
An exhibition of wartime code-breaking memorabilia, including an entire working Colossus, restored by Tony Sale, can be seen at Bletchley Park on alternate weekends.
The Computer Conservation Society (CCS), a specialist group of the British Computer Society runs a museum on the site that includes a working Elliot mainframe computer and many early minicomputers and microcomputers. The CCS hope to have substantial facilities for storage and restoration of old artifacts, as well as archive, library and research facilities.
Telephone: Bletchley Park Trust office +44 (908) 640 404 (office hours and open weekends).
(1998-12-18)

Blind Carbon Copy
messaging (BCC) An electronic mail header which lists addresses to which a message should be sent, but which will not be seen by the recipients.
Bcc is defined in RFC 822 and supported by most e-mail systems. A normal, non-blind CC header would be visible to all recipients, thus allowing them to reply to each other as well as to the sender. According to RFC 822, the addresses listed in a BCC header are not included in the copies of the message sent to the recipients. RFC 822 says BCC addresses may appear in the copy sent to BCC recipients themselves (though this would be unusual).
(1998-03-14)

B-LINE
An early CAD language.
[ B-LINE, Bell Line Drawing Language , A.J. Frank, Proc Fall JCC 33 1968].
(1994-11-17)

blinkenlights
/blink'*n-li:tz/ Front-panel diagnostic lights on a computer, especially a dinosaur. 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:

BLISS
Basic Language for Implementation of System Software

BLISS-10
language A version of BLISS from CMU for the PDP-10.
(2002-02-01)

BLISS-11
language A cross-compiler for the PDP-11 running on a PDP-10. Written at CMU to support the C.mmp/Hydra project.
(2002-02-01)

BLISS-16C
language DEC's cross-compiler equivalent of BLISS-11.
(2002-02-01)

BLISS-32
language A version of BLISS from DEC for VAX/VMS.
(2002-02-01)

BLISS-36
language DEC's equivalent of BLISS-10.
(2002-02-01)

blit
/blit/ 1. 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. Sometimes all-capitalised as BLIT : an early experimental bit-mapped terminal designed by Rob Pike at Bell Labs, later commercialised 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).
[Jargon File]
(1994-11-16)

blitter
hardware, graphics /blit'r/ (Or raster blaster ). A special-purpose integrated circuit or hardware system built to perform blit (or bit bang ) operations, especially used for fast implementation of bit-mapped graphics.
The Commodore Amiga and a few other microcomputers have these, but in 1991 the trend is away from them (however, see cycle of reincarnation).
[Jargon File]
(1996-04-30)

blivet
/bliv'*t/ [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 realises that the parts fit together in an impossible way.
[Jargon File]

bloat
software bloat

bloatware
jargon, abuse Software suffering from software bloat.
(1995-10-14)

BLOB
1. binary large object.
2. architecture blitter object.
[Jargon File]

block
1. unit A unit of data or memory, often, but not exclusively, on a magnetic disk or magnetic tape.
Compare record, sector.
2. operating system To delay or sit idle while waiting for something.
Compare busy-wait.
(2000-07-17)

Block Diagram Compiler
simulation, language (BDL) A block diagram simulation tool, with associated language.
[ A Software Environment for Digital Signal-Processing Simulations, D.H. Johnson R.E. Vaughan, Circuits Systems and Signal Processing 6(1):31-43, 1987].
(2000-07-17)

blocked records
storage Several records written as a contiguous block on magnetic tape so that they may be accessed in a single I/O operation. Blocking increases the amount of data that may be stored on a tape because there are fewer inter-block gaps. It requires that the tape drive or processor have a sufficiently large buffer to store the whole block.
(1995-04-13)

Block Redundancy Check
Longitudinal Redundancy Check

Block Started by Symbol
(BSS) The uninitialised data segment produced by Unix linkers. The other segments are the text segment which contains the program code and the data segment contains initialised data. Objects in the bss segment have only a name and a size but no value.

block transfer computations
[UK television series Dr. Who ] Computations so fiendishly subtle and complex that they could not be performed by machines. Used to refer to any task that should be expressible as an algorithm in theory, but isn't.
[Jargon File]

Bloggs Family, the
An imaginary family consisting of Fred and Mary Bloggs and their children. Used as a standard example in knowledge representation to show the difference between extensional and intensional objects. For example, every occurrence of Fred Bloggs is the same unique person, whereas occurrences of person may refer to different people. Members of the Bloggs family have been known to pop up in bizarre places such as the DEC Telephone Directory. Compare Mbogo, Dr. Fred.

Blosim
Block-Diagram Simulator. A block-diagram simulator. A Tool for Structured Functional Simulation , D.G. Messerschmitt, IEEE J on Selected Areas in Comm, SAC-2(1):137-147, 1984.

blow an EPROM
/bloh *n ee'prom/ (Or blast , burn ) To program a read-only memory, e.g. for use with an embedded system. This term arose because the programming process for the Programmable Read-Only Memory (PROM) that preceded present-day Erasable Programmable Read-Only Memory (EPROM) involved intentionally blowing tiny electrical fuses on the chip. The usage lives on (it's too vivid and expressive to discard) even though the write process on EPROMs is nondestructive.
[Jargon File]
(1994-11-29)

blow away
operating system, jargon To remove (files and directories) from permanent storage, generally by accident. He reformatted the wrong partition and blew away last night's netnews .
Compare: nuke.
[Jargon File]
(1996-01-05)

blowing your buffer
jargon Losing your train of thought. A reference to buffer overflow.
(1999-01-15)

blow out
jargon (Probably from mining and tunnelling jargon) Of software, to fail spectacularly; almost as serious as crash and burn.
See blow past, blow up, die horribly.
[Jargon File]
(1994-11-29)

blow past
To blow out despite a safeguard. The server blew past the 5K reserve buffer.
[Jargon File]
(1994-11-29)

blow up
1. Of a scientific computation: to become unstable. It suggests that the computation is diverging so rapidly that it will soon overflow or at least go nonlinear.
2. blow out.
[Jargon File]

BLOX
A visual language.

BLT
1. /B-L-T/, /bl*t/ or (rarely) /belt/ Synonym for blit. This is the original form of blit and the ancestor of bitblt. It refers to any large bit-field copy or move operation (one resource-intensive memory-shuffling operation done on pre-paged versions of ITS, WAITS and TOPS-10 was sardonically referred to as The Big BLT ). The jargon usage has outlasted the PDP-10 BLock Transfer instruction from which BLT derives; nowadays, the assembly language mnemonic BLT almost always means Branch if Less Than zero .
2. bacon, lettuce and tomato (sandwich).
[Jargon File]

Blue
A language proposed by Softech to meet the DoD Ironman requirements which led to Ada. [ On the BLUE Language Submitted to the DoD , E.W. Dijkstra, SIGPLAN Notices 13(10):10-15 (Oct 1978)].

Blue Book
1. publication Informal name for one of the four standard references on the page-layout and graphics-control language PostScript. The other three official guides are known as the Green Book, the Red Book, and the White Book.
[ PostScript Language Tutorial and Cookbook , Adobe Systems, Addison-Wesley 1985, (ISBN 0-201-10179-3)].
2. publication Informal name for one of the three standard references on Smalltalk. This book also has green and red siblings.
[ Smalltalk-80: The Language and its Implementation , David Robson, Addison-Wesley 1983, (ISBN 0-201-11371-63)].
3. publication Any of the 1988 standards issued by the ITU-T's ninth plenary assembly. These include, among other things, the X.400 electronic mail specification and the Group 1 through 4 fax standards.
See also book titles.
[Jargon File]
(1995-10-12)

Blue Box
operating system The complete implementation of the Mac OS run-time environment on the more modern Rhapsody operating system. Blue Box is not an emulation layer; at any given time it will be based on the same source code and ROM image as the current version of Mac OS and will thus incorporate future Mac OS improvements.
(1997-10-15)

blue dot syndrome
graphics, jargon The inability to display an image file or text embedded in an image file on your monitor.
[Why?]
(2002-05-28)

Blue Glue
Systems Network Architecture

Blue Screen of Death
humour (BSOD) The infamous white-on-blue text screen which appears when Microsoft Windows crashes. BSOD is mostly seen on the 16-bit systems such as Windows 3.1, but also on Windows 95 and apparently even under Windows NT 4. It is most likely to be caused by a GPF, although Windows 95 can do it if you've removed a required CD-ROM from the drive. It is often impossible to recover cleanly from a BSOD.
The acronym BSOD is sometimes used as a verb, e.g. Windoze just keeps BSODing on me today .
(1998-09-08)

Blue Screen of Life
operating system (BSOL, by analogy with Blue Screen of Death ) The opening screen of Microsoft Windows NT.
This screen shows the file system loading, and any problems such as conversions from FAT to NTFS or a scan of a hard drive.
The Blue Screen of Life occurs in one way, as opposed to the Blue Screen of Death, which can occur in many different ways and times.
[Is this term ever used in connection with Windows 3.x or Windows 9x?]
(1999-04-18)

Blue Sky Software
company A vendor of Microsoft Windows application development tools such as RoboHELP and WinMaker Pro.
Address: 7777 Fay Avenue, Suite 201, La Jolla, CA 92037, USA. Telephone: +1-800-793-0364, +1 (619) 459 6365. Fax: +1 (619) 459 6366. (1997-01-19)

Bluetooth
protocol, standard A specification for short-range radio links between mobile computers, mobile phones, digital cameras, and other portable devices.
Home (http://www.bluetooth.com).
(2001-03-16)

blue wire
(IBM) Patch wires added to circuit boards at the factory to correct design or fabrication problems. These may be necessary if there hasn't been time to design and qualify another board version.
Compare purple wire, red wire, yellow wire.
[Jargon File]
(1994-11-29)

blurgle
/bler'gl/ [Great Britain] Spoken metasyntactic variable, to indicate some text that is obvious from context, or which is already known. If several words are to be replaced, blurgle may well be doubled or trebled. To look for something in several files use grep string blurgle blurgle . In each case, blurgle blurgle would be understood to be replaced by the file you wished to search. Compare mumble.
[Jargon File]

bm
networking The country code for Bermuda.
(1999-01-27)

BMAN
Broadband Metropolitan Area Network

BMASF
Basic Module Algebra Specification Language? Design of a Specification Language by Abstract Syntax Engineering , J.C.M. Baeten et al, in LNCS 490, pp.363-394.

BMDP
language BioMeDical Package.
A statistical language developed at UCB in 1961, first implemented in Fortran for the IBM 7090.
(1995-03-13)

B-Method
programming, tool A system for rigorous or formal development of software using the notion of Abstract Machines to specify and design software systems. The B-Method is supported by the B-Toolkit.
Abstract Machines are specified using the Abstract Machine Notation (AMN) which is in turn based on the mathematical theory of Generalised Substitutions.
(1995-03-13)

BMF
Bird-Meertens Formalism

BMP
Basic Multilingual Plane

bmp
file format, graphics Microsoft Windows bitmap format. Bmp files may use run-length encoding.
This is the only graphics format where compression actually enlarges the file. The format is widely used nonetheless.
[Format?]
(1998-03-14)

BMWF
body The Austrian, German and Swiss(?) Ministries of Science.
[Expansion?]
(1998-12-09)

bn
networking The country code for Brunei Darussalam.
(1999-01-27)

BNC
hardware A connector for coaxial cable such as that used for some video connections and RG58 cheapernet connections. A BNC connector has a bayonet-type shell with two small knobs on the female connector which lock into spiral slots in the male connector when it is twisted on.
Different sources expand BNC as Bayonet Navy Connector, British Naval Connector, Bayonet Neill Concelman, or Bayonet Nut Connection.
(1995-09-18)

BNF
Backus-Naur Form. Originally Backus Normal Form.
[Jargon File]

BNR Pascal
[ Remote Rendezvous , N. Gammage et al, Soft Prac Exp 17(10):741-755 (Oct 1987)].
(1994-12-21)

BNR Prolog
A constraint logic language.
[Details?]
(1994-12-21)

bo
networking The country code for Bolivia.
(1999-01-27)

boa
[IBM] Any one of the fat cables that lurk under the floor in a dinosaur pen. Possibly so called because they display a ferocious life of their own when you try to lay them straight and flat after they have been coiled for some time. It is rumored within IBM that channel cables for the 370 are limited to 200 feet because beyond that length the boas get dangerous --- and it is worth noting that one of the major cable makers uses the trademark Anaconda .
[Jargon File]

board
1. In-context synonym for bboard; sometimes used even for Usenet newsgroups.
2. An electronic circuit board.

boat anchor
1. Like doorstop but more severe; implies that the offending hardware is irreversibly dead or useless. That was a working motherboard once. One lightning strike later, instant boat anchor!
2. A person who just takes up space.
3. Obsolete but still working hardware, especially when used of an old S100-bus hobbyist system; originally a term of annoyance, but became more and more affectionate as the hardware became more and more obsolete.
[Jargon File]

Bob
David Betz. A tiny object-oriented language.
(ftp://ftp.mv.com/pub/ddj/packages/bob15.arc)
[Dr Dobbs J, Sep 1991, p.26].

Bobo the Webmonkey
World-Wide Web What B1FF was to BITNET users, Bobo the Webmonkey is to webmonkeys - the mythical prototype of incompetent web designers everywhere. In fact, Bobo may be what B1FF became when he grew up.
Bobo knows about HTML only what he has learned from viewing the source of other people's Web pages.
Bobo doesn't know what a MIME type is, even though someone gave him a hardcopy of the FOLDOC entry for it.
Bobo may have used an HTML code validator (http://validator.w3.org/) before, but isn't sure.
Bobo doesn't know what the difference between GIF and JPEG is. He thinks PNG is a foreign country.
All the pages Bobo has designed say Welcome to [organisation] online! at the top, and say click here! at least three times per page.
Bobo has used Photoshop before; he doesn't understand why people keep asking if he's ever been tested for color-blindness.
Bobo never got that its / it's distinction real clear, as you can tell from his pages.
Bobo likes BLINK .
(1998-04-04)

BOCS
Berard Object and Class Specifier, an Object-oriented CASE tool from Berard Software Engineering.

Boehm B.
Proposed the COCOMO technique for evaluating the cost of a software project.

BOEING
Early system on IBM 1103 or 1103A. Listed in CACM 2(5):16 (May 1959).

BOF
/B-O-F/ or /bof/ 1. Birds Of a Feather.
2. Boring Old Fart.
[Jargon File]

BOFH
Bastard Operator From Hell

bogometer
humour /boh-gom'-*t-er/ A notional instrument for measuring bogosity.
Compare the wankometer described in the wank entry.
[Jargon File]
(1999-06-10)

BogoMips
unit (From bogus , MIPS ) The timing unit of the Linux kernel.
A BogoMips is an unscientific measurement of processor speed made by the Linux kernel when it boots, to calibrate an internal busy-loop.
BogoMips MiniHowto (http://metalab.unc.edu/LDP/HOWTO/mini/BogoMips.html).
(1999-05-06)

bogon
/boh'gon/ [by analogy with proton/electron/neutron, but doubtless reinforced after 1980 by the similarity to Douglas Adams's Vogons ] 1. The elementary particle of bogosity (see quantum bogodynamics). For instance, the Ethernet is emitting bogons again means that it is broken or acting in an erratic or bogus fashion.
2. A query packet sent from a TCP/IP domain resolver to a root server, having the reply bit set instead of the query bit.
3. Any bogus or incorrectly formed packet sent on a network.
4. A person who is bogus or who says bogus things. This was historically the original usage, but has been overtaken by its derivative senses. See also bogosity; compare psyton, fat electrons, magic smoke.
The bogon has become the type case for a whole bestiary of nonce particle names, including the clutron or cluon (indivisible particle of cluefulness, obviously the antiparticle of the bogon) and the futon (elementary particle of randomness, or sometimes of lameness). These are not so much live usages in themselves as examples of a live meta-usage: that is, it has become a standard joke or linguistic maneuver to explain otherwise mysterious circumstances by inventing nonce particle names. And these imply nonce particle theories, with all their dignity or lack thereof (we might note parenthetically that this is a generalisation from (bogus particle) theories to bogus (particle theories) !). Perhaps such particles are the modern-day equivalents of trolls and wood-nymphs as standard starting-points around which to construct explanatory myths. Of course, playing on an existing word (as in the futon ) yields additional flavour.
[Jargon File]

bogon filter
/boh'gon fil'tr/ Any device, software or hardware, that limits or suppresses the flow and/or emission of bogons. Engineering hacked a bogon filter between the Cray and the VAXen, and now we're getting fewer dropped packets. See also bogosity.

bogon flux
/boh'gon fluhks/ A measure of a supposed field of bogosity emitted by a speaker, measured by a bogometer; as a speaker starts to wander into increasing bogosity a listener might say Warning, warning, bogon flux is rising . See quantum bogodynamics.
[Jargon File]

bogosity
/boh-go's*-tee/ The degree to which something is bogus in the hackish sense of bad . At CMU, bogosity is measured with a bogometer; in a seminar, when a speaker says something bogus, a listener might raise his hand and say My bogometer just triggered . More extremely, You just pinned my bogometer means you just said or did something so outrageously bogus that it is off the scale, pinning the bogometer needle at the highest possible reading (one might also say You just redlined my bogometer ). The agreed-upon unit of bogosity is the microLenat.
Also, the potential field generated by a bogon flux; see quantum bogodynamics. See also bogon flux, bogon filter.
(2002-04-14)

bogo-sort
algorithm, humour /boh goh-sort / (Or stupid-sort ) The archetypical perversely awful algorithm (as opposed to bubble sort, which is merely the generic *bad* algorithm). Bogo-sort is equivalent to repeatedly throwing a deck of cards in the air, picking them up at random, and then testing whether they are in order. It serves as a sort of canonical example of awfulness. Looking at a program and seeing a dumb algorithm, one might say Oh, I see, this program uses bogo-sort.
Also known as monkey sort after the Infinite Monkey Theorem.
Compare brute force, Lasherism.
An implementation (http://www.stdout.org/~adam/psort).
[Jargon File]
(2002-04-07)

bogotify
jargon /boh-go't*-fi:/ To make or become bogus ni the hackish sense of bad . A program that has been changed so many times as to become completely disorganised has become bogotified. If you tighten a nut too hard and strip the threads on the bolt, the bolt has become bogotified and you had better not use it any more. This coinage led to the notional autobogotiphobia defined as the fear of becoming bogotified ; but is not clear that the latter has ever been live jargon rather than a self-conscious joke in jargon about jargon.
See also bogosity.
(2001-03-16)

bogue out
/bohg owt/ To become bogus, suddenly and unexpectedly. His talk was relatively sane until somebody asked him a trick question; then he bogued out and did nothing but flame afterwards. See also bogosity.
[Jargon File]

BOHICA
humour /bo-hee-ka/ Bend Over, Here It Comes Again.

Bohr bug
jargon, programming /bohr buhg/ (From Quantum physics) A repeatable bug; one that manifests reliably under a possibly unknown but well-defined set of conditions.
Compare heisenbug. See also mandelbug, schroedinbug.
[Jargon File]
(1995-02-28)

boink
/boynk/ [Usenet: variously ascribed to the TV series Cheers Moonlighting , and Soap ] 1. To have sex with; compare bounce. (This is mainstream slang.) In Commonwealth hackish the variant bonk is more common.
2. After the original Peter Korn Boinkon Usenet parties, used for almost any net social gathering, e.g. Miniboink, a small boink held by Nancy Gillett in 1988; Minniboink, a Boinkcon in Minnesota in 1989; Humpdayboinks, Wednesday get-togethers held in the San Francisco Bay Area.
Compare @-party.
3. Variant of bonk ; see bonk/oif.
[Jargon File]

BOLERO
programming Software AG's object-oriented development environment and application server for Electronic Business applications.
(1999-03-06)

Bolt, Beranek and Newman, Inc.
(BBN) A company in Cambridge, Massachusetts, USA. They were awarded the original contract to build the ARPANET and have been extensively involved in Internet development. They are responsible for managing NNSC, CSNET, and NEARnet.
(1994-10-07)
[Butterfly?]

bomb
1. software General synonym for crash except that it is not used as a noun. Especially used of software or OS failures. Don't run Empire with less than 32K stack, it'll bomb .
2. operating system Atari ST and Macintosh equivalents of a Unix panic or Amiga guru, in which icons of little black-powder bombs or mushroom clouds are displayed, indicating that the system has died. On the Macintosh, this may be accompanied by a decimal (or occasionally hexadecimal) number indicating what went wrong, similar to the Amiga guru meditation number. MS-DOS computers tend to lock up in this situation.
3. software A piece of code embedded in a program that remains dormant until it is triggered. Logic bombs are triggered by an event whereas time bombs are triggered either after a set amount of time has elapsed, or when a specific date is reached.
[Jargon File]
(1996-12-08)

bon
language (From Bonnie , Ken Thompson's wife) A language designed by Ken Thompson and later revised by him to produce B.
[When? Features?]
(1997-02-04)

bondage-and-discipline language
A language (such as Pascal, Ada, APL, or Prolog) that, though ostensibly general-purpose, is designed so as to enforce an author's theory of right programming even though said theory is demonstrably inadequate for systems hacking or even vanilla general-purpose programming. Often abbreviated B D ; thus, one may speak of things having the B D nature .
See Pascal. Compare languages of choice.
[Jargon File]
(1996-01-05)

bonk/oif
/bonk/, /oyf/ In the MUD community, it has become traditional to express pique or censure by bonking the offending person. Convention holds that one should acknowledge a bonk by saying oif! and there is a myth to the effect that failing to do so upsets the cosmic bonk/oif balance, causing much trouble in the universe. Some MUDs have implemented special commands for bonking and oifing.
[Jargon File]
(1998-01-18)

Booch method
programming A widely used object-oriented analysis and object-oriented design method.
(http://www.hsr.ch/div/Booch/BoochReference/).
[Grady Booch, Object-oriented Analysis and Design with Applications , 2nd edition. Benjamin Cummings, Redwood City, ISBN 0-8053-5340-2, 1993]
(2000-05-23)

bookmark
World-Wide Web A user's reference to a document on the World-Wide Web or other hypermedia system, usually in the form of a URL and a title or comment string.
Most World-Wide Web and Gopher browsers can save and load a file of bookmarks to allow you to quickly locate documents to which you want to refer again.
(1997-06-09)

Bookreader
DEC's CD-ROM-based on-line documentation browser.

book titles
publication There is a tradition in hackerdom of informally tagging important textbooks and standards documents with the dominant colour of their covers or with some other conspicuous feature of the cover. Many of these are described in this dictionary under their own entries. See Aluminum Book, Blue Book, Cinderella Book, Devil Book, Dragon Book, Green Book, Orange Book, Pink-Shirt Book, Purple Book, Red Book, Silver Book, White Book, Wizard Book, Yellow Book, bible, rainbow series.
[Jargon File]
(1996-12-03)

Bookviewer
A hypertext documentation system from Oracle based on Oracle Toolkit. It allows the user to create private links and bookmarks, and to make multimedia annotations.

bool
Boolean

Boolean
mathematics, logic 1. Boolean algebra.
programming 2. (bool) The type of an expression with two possible values, true and false . Also, a variable of Boolean type or a function with Boolean arguments or result. The most common Boolean functions are AND, OR and NOT.
(1997-12-01)

Boolean algebra
mathematics, logic (After the logician George Boole)
1. Commonly, and especially in computer science and digital electronics, this term is used to mean two-valued logic.
2. This is in stark contrast with the definition used by pure mathematicians who in the 1960s introduced Boolean-valued models into logic precisely because a Boolean-valued model is an interpretation of a theory that allows more than two possible truth values!
Strangely, a Boolean algebra (in the mathematical sense) is not strictly an algebra, but is in fact a lattice. A Boolean algebra is sometimes defined as a complemented distributive lattice .
Boole's work which inspired the mathematical definition concerned algebras of sets, involving the operations of intersection, union and complement on sets. Such algebras obey the following identities where the operators ^, V, - and constants 1 and 0 can be thought of either as set intersection, union, complement, universal, empty; or as two-valued logic AND, OR, NOT, TRUE, FALSE; or any other conforming system.
a ^ b = b ^ a a V b = b V a (commutative laws)
(a ^ b) ^ c = a ^ (b ^ c)
(a V b) V c = a V (b V c) (associative laws)
a ^ (b V c) = (a ^ b) V (a ^ c)
a V (b ^ c) = (a V b) ^ (a V c) (distributive laws)
a ^ a = a a V a = a (idempotence laws)
--a = a
-(a ^ b) = (-a) V (-b)
-(a V b) = (-a) ^ (-b) (de Morgan's laws)
a ^ -a = 0 a V -a = 1
a ^ 1 = a a V 0 = a
a ^ 0 = 0 a V 1 = 1
-1 = 0 -0 = 1
There are several common alternative notations for the - or logical complement operator.
If a and b are elements of a Boolean algebra, we define a = b to mean that a ^ b = a, or equivalently a V b = b. Thus, for example, if ^, V and - denote set intersection, union and complement then = is the inclusive subset relation. The relation = is a partial ordering, though it is not necessarily a linear ordering since some Boolean algebras contain incomparable values.
Note that these laws only refer explicitly to the two distinguished constants 1 and 0 (sometimes written as LaTeX top and bot), and in two-valued logic there are no others, but according to the more general mathematical definition, in some systems variables a, b and c may take on other values as well.
(1997-02-27)

Boolean logic
mathematics A logic based on Boolean algebra.
(1995-03-25)

Boolean search
information science (Or Boolean query ) A query using the Boolean operators, AND, OR, and NOT, and parentheses to construct a complex condition from simpler criteria. A typical example is searching for combinatons of keywords on a World-Wide Web search engine.
Examples:
car or automobile
New York and not New York state
The term is sometimes stretched to include searches using other operators, e.g. near .
Not to be confused with binary search.
See also: weighted search.
(1999-10-23)

Boole, George
George Boole

Booster
A data-parallel language.
The Booster Language , E. Paalvast, TR PL 89-ITI-B-18, Inst voor Toegepaste Informatica TNO, Delft, 1989.

boot
operating system (from bootstrap or to pull oneself up by one's bootstraps ) To load and initialise the operating system on a computer.
See reboot, cold boot, warm boot, soft boot, hard boot, bootstrap, bootstrap loader.
[Jargon File]
(1995-11-27)

boot block
operating system A program at some fixed location on a hard disk, floppy disk or other media, which is loaded when the computer is turned on or rebooted and which controls the next phase of loading the actual operating system. The loading and execution of the boot block is usually controlled by firmware in ROM or PROM.
(1997-07-03)

boot disk
operating system The magnetic disk (usually a hard disk) from which an operating system kernel is loaded (or bootstrapped ). This second phase in system start-up is performed by a simple bootstrap loader program held in ROM, possibly configured by data stored in some form of writable non-volatile storage.
MS-DOS and Microsoft Windows can be configured (in the BIOS) to try to boot off either floppy disk or hard disk, in either order. By default they first check for the presence of a floppy disk in the drive at start-up and try to use that as a boot disk if present. If no disk is in the drive they then try to boot off the hard disk.
Some operating systems, notably SunOS and Solaris, can be configured to boot from a network rather than from disk. Such a system can thus run as a diskless workstation.
(1997-06-09)

BOOTP
The Bootstrap Protocol.
A protocol described in RFCs 951 and 1084 and used for booting diskless workstations.
See also Reverse Address Resolution Protocol.
(1995-02-16)

bootstrap
1. operating system (From to pull oneself up by one's bootstraps ) To load and initialise the operating system on a computer. Normally abbreviated to boot .
See bootstrap loader.
2. compiler (From to pull oneself up by one's bootstraps ) to use a compiler to compile itself.
The usual process is to write an interpreter for a language, L, in an existing language, M. The compiler is then written in L and the interpreter is used to run it. This produces an executable for compiling programs in L from the source of the compiler in L.
This technique is often used to verify the correctness of a compiler. It was first used in the LISP community.
See also my favourite toy language.
(27 November 1995)

bootstrap loader
operating system (from bootstrap or to pull oneself up by one's bootstraps ) A short program that was read in from cards or paper tape, or toggled in from the front panel switches, which read in a more complex program to which it gave control.
On early computers the bootstrap loader was always very short (great efforts were expended on making it short in order to minimise the labour and chance of error involved in toggling it in), but was just smart enough to read in a slightly more complex program (usually from a card or paper tape reader), to which it handed control; this program in turn was smart enough to read the application or operating system from a magnetic tape drive or disk drive. Thus, in successive steps, the computer pulled itself up by its bootstraps to a useful operating state. Nowadays the bootstrap is usually found in ROM or EPROM, and reads the first stage in from a fixed location on the disk, called the boot block . When this program gains control, it is powerful enough to load the actual OS and hand control over to it.
See boot.
(27 November 1995)

boot virus
An MS-DOS virus that infects the boot record program on hard disks and floppy disks or the master boot record on hard disks. The virus gets loaded into memory before MS-DOS and takes control of the computer, infecting any floppy disks subsequently accessed. An infected boot disk may stop the computer starting up at all.
(1995-02-16)

Border Gateway Protocol
(BGP) An Exterior Gateway Protocol defined in RFC 1267 and RFC 1268. Its design is based on experience gained with Exterior Gateway Protocol (EGP), as defined in STD 18, RFC 904 and EGP usage in the NSFNet backbone, as described in RFCs 1092 and 1093.
(1994-11-29)

borf
jargon To uncerimoniously disconnect someone from a system without prior warning. BBS Sysops routinely borf pest users by turning off the modem or by hitting the auto-borf key sequence.
You can also be borfed by software dropping carrier due to a bug.
The origin of the term is unknown but it has been in use since at least 1982.
(1997-03-21)

Borland International, Inc.
Borland Software Corporation

Borland Software Corporation
company A company that sells a variety of IBM PC software development and database systems. Borland was founded in 1983 and initially became famous for their low-cost software, particularly Turbo Pascal, Turbo C, and Turbo Prolog.
Current products include the Borland C++ C++ and C developement environment, the Paradox and dBASE databases, Delphi, JBuilder, and InterBase.
Borland has approximately 1000 employees worldwide and has operations in Australia, Canada, France, Germany, Japan, Netherlands, and the United Kingdom.
Borland sold Quattro Pro to Novell in 1994 for $100M. Novell later sold the product to Corel Corporation, who also bought Paradox. dBASE also was sold in 1999.
In Febuary 1998 Borland bought Visigenic Software, Inc..
The company changed its name to Inprise Corporation on 1998-04-29 and then on 2000-11-14 they announced they were changing it back to Borland from the first quarter of 2001.
Quarterly sales $69M, profits $61M (Aug 1994). $56M, $6.4M (July 2001)
Home (http://www.borland.com/).
Headquarters: 100 Borland Way, Scotts Valley, CA, 95066, USA. Telephone: +1 (408) 431 1000.
(2002-03-16)

BOS
1. operating system Basic Operating System.
2. tool A data management system written at DESY and used in some high energy physics programs.
3. programming The Basic Object System.
(1999-01-20)

Bose-Chaudhuri-Hocquenghem Code
data, communications (BHC Code) An error detection and correction technique based on Cyclic Redundancy Code, used in telecommunications applications.
(1995-01-16)

BOSS
Bridgport Operating System Software. A derivative of the ISO 1054 numerical machine control language for milling, etc.

bot
networking, chat, World-Wide Web (From robot ) Any type of autonomous software that operates as an agent for a user or a program or simulates a human activity. On the Internet, the most popular bots are programs (called spiders or crawlers) used for searching. They access web sites, retrieve documents and follow all the hyperlinks in them; then they generate catalogs that are accessed by search engines.
A chatbot converses with humans (or other bots). A shopbot searches the Web to find the best price for a product. Other bots (such as OpenSesame) observe a user's patterns in navigating a web site and customises the site for that user.
Knowbots collect specific information from web sites.
(1999-05-20)

botmaster
chat The owner of a bot.
(1997-04-07)

bottom
theory The least defined element in a given domain.
Often used to represent a non-terminating computation.
(In LaTeX, bottom is written as perp, sometimes with the domain as a subscript).
(1997-01-07)

bottom feeder
Synonym for slopsucker, derived from the fishermen's and naturalists' term for finny creatures who subsist on the primordial ooze.
[Jargon File]

bottom-unique
In domain theory, a function f is bottom-unique if
f x = bottom = x = bottom
A bottom-unique function is also strict.

bottom-up implementation
programming The opposite of top-down design. It is now received wisdom in most programming cultures that it is best to design from higher levels of abstraction down to lower, specifying sequences of action in increasing detail until you get to actual code. Hackers often find (especially in exploratory designs that cannot be closely specified in advance) that it works best to *build* things in the opposite order, by writing and testing a clean set of primitive operations and then knitting them together.
[Jargon File]
(1996-05-10)

bottom-up model
programming A method for estimating the cost of a complete software project by combining estimates for each component.
(1996-05-28)

bottom-up testing
programming An integration testing technique that tests the low-level components first using test drivers for those components that have not yet been developed to call the low-level components for test.
Compare bottom-up implementation.
(1996-05-10)

botwar
chat The epic struggle of bots vying for dominance.
Botwars are generally (and quite inappropriately) carried out on talk systems, typically IRC, where botwar crossfire (such as pingflooding) absorbs scarce server resources and obstructs human conversation.
The wisdom of experience indicates that Core Wars, not talk systems, are the appropriate venue for aggressive bots and their botmasters.
Compare penis war.
(1997-04-08)

bounce
1. (Perhaps by analogy to a bouncing check) An electronic mail message that is undeliverable and returns an error notification (a bounce message ) to the sender is said to bounce .
2. To play volleyball. The now-demolished D. C. Power Lab building used by the Stanford AI Lab in the 1970s had a volleyball court on the front lawn. From 5 PM to 7 PM was the scheduled maintenance time for the computer, so every afternoon at 5 would come over the intercom the cry: Now hear this: bounce, bounce! , followed by Brian McCune loudly bouncing a volleyball on the floor outside the offices of known volleyballers.
3. To engage in sexual intercourse; probably from the expression bouncing the mattress , but influenced by Roo's psychosexually loaded Try bouncing me, Tigger! from the Winnie-the-Pooh books.
Compare boink.
4. To casually reboot a system in order to clear up a transient problem. Reported primarily among VMS users.
5. (VM/CMS programmers) Automatic warm-start of a computer after an error. I logged on this morning and found it had bounced 7 times during the night
6. (IBM) To power cycle a peripheral in order to reset it.
[Jargon File]
(1994-11-29)

bounce message
A notification message returned to the sender by a site unable to relay e-mail to the intended recipient or the next link in a bang path. Reasons might include a nonexistent or misspelled user name or a down relay site. Bounce messages can themselves fail, with occasionally ugly results; see sorcerer's apprentice mode and software laser. The terms bounce mail and barfmail are also common.
[Jargon File]
(1994-11-29)

boundary scan
The use of scan registers to capture state from device input and output pins. IEEE Standard 1149.1-1990 describes the international standard implementation (sometimes called JTAG after the Joint Test Action Group which began the standardisation work).
(1995-02-14)

boundary value analysis
programming A test data selection technique in which values are chosen to lie along data extremes. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values. The hope is that, if a systems works correctly for these special values then it will work correctly for all values in between.
(1996-05-10)

bounded
theory In domain theory, a subset S of a cpo X is bounded if there exists x in X such that for all s in S, s = x. In other words, there is some element above all of S. If every bounded subset of X has a least upper bound then X is boundedly complete.
( = is written in LaTeX as subseteq).
(1995-02-03)

boundedly complete
In domain theory, a complete partial order is boundedly complete if every bounded subset has a least upper bound. Also called consistently complete.

bound variable
1. A bound variable or formal argument in a function definition is replaced by the actual argument when the function is applied. In the lambda abstraction
x . M
x is the bound variable. However, x is a free variable of the term M when M is considered on its own. M is the scope of the binding of x.
2. In logic a bound variable is a quantified variable. See quantifier.

bournebasic
A BASIC interpreter.
comp.sources.misc archives volume 1.

Bourne shell
(sh, Shellish). The original command-line interpreter shell and script language for Unix written by S.R. Bourne of Bell Laboratories in 1978. sh has been superseded for interactive use by the Berkeley C shell, csh but still widely used for writing shell scripts.
There were even earlier shells, see glob. [Details?]
ash is a Bourne Shell clone.
[ Unix Time-Sharing System: The Unix Shell , S.R. Bourne, Bell Sys Tech J 57(6):1971-1990 (Jul 1978)].

boustrophedonic
hardware (From the Greek boustrophe-don : turning like oxen in plowing; from bous : ox, cow; strephein : to turn) An ancient method of writing using alternate left-to-right and right-to-left lines. It used for an optimisation performed by some computer typesetting software and moving-head printers to reduce physical movement of the print head. The adverbial form boustrophedonically is also found.
(1994-11-29)

box
computer 1. A computer; especially in the construction foo box where foo is some functional qualifier, like graphics , or the name of an operating system (thus, Unix box , MS-DOS box , etc.) We preprocess the data on Unix boxes before handing it up to the mainframe. The plural boxen is sometimes seen.
2. Without qualification in an IBM SNA site, box refers specifically to an IBM front-end processor.
[Jargon File]
(1994-11-29)

boxed comments
programming Comments that occupy several lines by themselves; so called because in assembler and C code they are often surrounded by a box in a style similar to this:
/*************************************************
*
* This is a boxed comment in C style
*
*************************************************/
Common variants of this style omit the asterisks in column 2 or add a matching row of asterisks closing the right side of the box. The sparest variant omits all but the comment delimiters themselves; the box is implied.
Opposite of winged comments.
[Jargon File]
(1997-07-21)

boxen
/bok'sn/ (By analogy with VAXen) A fanciful plural of box often encountered in the phrase Unix boxen , used to describe commodity Unix hardware. The connotation is that any two Unix boxen are interchangeable.
[Jargon File]
(1994-11-29)

Boxer
1. language A visual language by Hal Abelson and Andy diSessa of Berkeley which claims to be the successor to Logo. Boxes are used to represent scope.
2. tool A text editor for MS-DOS and Microsoft Windows.
Home (http://www.boxersoftware.com/users/dhamel).
(2001-04-30)

boxology
graphics /bok-sol'*-jee/ ASCII art.
This term implies a more restricted domain, that of box-and-arrow drawings. His report has a lot of boxology in it.
Compare macrology.
[Jargon File]
(1994-12-02)

Boycott Apple
Some time before 1989, Apple Computer, Inc. started a lawsuit against Hewlett-Packard and Microsoft, claiming they had breeched Apple's copyright on the look and feel of the Macintosh user interface. In December 1989, Xerox failed to sue Apple Computer, claiming that the software for Apple's Lisa computer and Macintosh Finder, both copyrighted in 1987, were derived from two Xerox programs: Smalltalk, developed in the mid-1970s and Star, copyrighted in 1981.
Apple wanted to stop people from writing any program that worked even vaguely like a Macintosh. If such look and feel lawsuits succeed they could put an end to free software that could substitute for commercial software.
In the weeks after the suit was filed, Usenet reverberated with condemnation for Apple. GNU supporters Richard Stallman, John Gilmore, and Paul Rubin decided to take action against Apple. Apple's reputation as a force for progress came from having made better computers; but The League for Programming Freedom believed that Apple wanted to make all non-Apple computers worse. They therefore campaigned to discourage people from using Apple products or working for Apple or any other company threatening similar obstructionist tactics (e.g. Lotus and Xerox).
Because of this boycott the Free Software Foundation for a long time didn't support Macintosh Unix in their software. In 1995, the LPF and the FSF decided to end the boycott.
[Dates? Other events? Why did Xerox's case against Apple fail?]
(1995-04-18)

bozotic
abuse (From Bozo the Clown, a famous circus personality, via bozo - a clod, idiot or generally silly person) any form of clown-like or ludicrous behaviour. The word also has echoes of robotic , so bozotic behaviour is mindless, automaton-like stupidity.
[Jargon File]
(1996-01-05)

BPI
bits per inch

bpmake
Aspirin

bpp
bits per pixel

BPR
Business Process Re-engineering

BPS
Basic Programming Support

bps
bits per second

BQS
Berkeley Quality Software

br
networking The country code for Brazil.
(1999-01-27)

brace
character left brace or right brace.

bracket
character (Or square bracket) A left bracket or right bracket.
Often used loosely for parentheses, square brackets, braces, angle brackets, or any other kind of unequal paired delimiters.
(1996-09-08)

bracket abstraction
compiler An algorithm which turns a term into a function of some variable. The result of using bracket abstraction on T with respect to variable v, written as [v]T, is a term containing no occurrences of v and denoting a function f such that f v = T. This defines the function f = ( v . T). Using bracket abstraction and currying we can define a language without bound variables in which the only operation is monadic function application.
See combinator.
(1995-03-07)

braille
human language /breyl/ (Often capitalised) A class of writing systems, intended for use by blind and low-vision users, which express glyphs as raised dots. Currently employed braille standards use eight dots per cell, where a cell is a glyph-space two dots across by four dots high; most glyphs use only the top six dots.
Braille was developed by Louis Braille (pronounced /looy bray/) in France in the 1820s. Braille systems for most languages can be fairly trivially converted to and from the usual script.
Braille has several totally coincidental parallels with digital computing: it is binary, it is based on groups of eight bits/dots and its development began in the 1820s, at the same time Charles Babbage proposed the Difference Engine.
Computers output Braille on braille displays and braille printers for hard copy.
British Royal National Institute for the Blind (http://www.rnib.org.uk/wesupply/fctsheet/braille.htm).
(1998-10-19)

braille display
hardware (Or refreshable braille display , refreshable display ) An electromechanical device that renders braille with tiny, independently controlled pins used to represent the state of dots in braille cells. Each pin, in its on state, raises above the top of its hole in the screen; in its off state, it drops below the top of its hole. Older systems used tiny solenoids to control the state of the pins; modern systems are piezoelectric.
Typical dimensions of a braille display are 1 line of 40 cells, each cell of two-by-eight dots.
(1998-10-19)

Braille embosser
Braille printer

Braille printer
printer (Or (Braille) embosser ) A printer, necessarily an impact printer, that renders text as Braille. Blind users call other printers ink printers.
(1999-02-26)

Brain Aid Prolog
language (BAP) A parallel Prolog environment for transputer systems by Frank Bergmann fraber@cs.tu-berlin.de , Martin Ostermann ost@xan.dfv.rwth-aachen.de , and Guido von Walter guido@parsytec.de of Brain Aid Systems GbR. It is based on a model of communicating sequential Prolog processes. The run-time system consists of a multi-process operating system with support for several applications running concurrently.
Home (http://www.cs.tu-berlin.de/~fraber/bap.html)
Berlin FTP (ftp://unlisys.in-berlin.de/pub/brainaid/), CMU FTP (ftp://ftp.cs.cmu.edu/user/ai/lang/prolog/impl/parallel/bap/).
(1995-03-07)

brain-damaged
1. [generalisation of Honeywell Brain Damage (HBD), a theoretical disease invented to explain certain utter cretinisms in Honeywell Multics] Obviously wrong; cretinous; demented. There is an implication that the person responsible must have suffered brain damage, because he should have known better. Calling something brain-damaged is really bad; it also implies it is unusable, and that its failure to work is due to poor design rather than some accident. Only six monocase characters per file name? Now *that's* brain-damaged!
2. [especially in the Mac world] May refer to free demonstration software that has been deliberately crippled in some way so as not to compete with the commercial product it is intended to sell. Synonym crippleware.
[Jargon File]

brain-dead
Brain-damaged in the extreme. It tends to imply terminal design failure rather than malfunction or simple stupidity.

brain dump
(The act of telling someone) everything one knows about a particular topic. Typically used when someone is going to let a new party maintain a piece of code. Conceptually analogous to an operating system core dump in that it saves a lot of useful state before an exit. You'll have to give me a brain dump on FOOBAR before you start your new job at HackerCorp. At Sun, this is also known as TOI (transfer of information).
[Jargon File]

brain fart
jargon, humour 1. The actual result of a braino, as opposed to the mental glitch that is the braino itself. E.g. typing dir on a Unix box after a session with MS-DOS.
2. A biproduct of a bloated mind producing information effortlessly. A burst of useful information. I know you're busy on the Microsoft story, but can you give us a brain fart on the Mitnik bust?
(1997-04-29)

braino
thinko

branch
1. mathematics An edge in a tree.
2. programming A jump.
(1998-11-14)

Branch and Hang
humour (BRH) Originally a mythical instruction for the IBM 1130 at Indiana University.
Later some real examples were discovered. The Texas Instruments TI-980 allowed all addressing modes with all instructions, including Store Immediate Extended (stores the value into the extension word of the instruction) and Branch and Link Immediate (makes a subroutine call to the same instruction -- Branch and Hang).
Compare HCF.
(1997-02-12)

branch coverage testing
programming A test method which aims to ensure that each possible branch from each decision point (e.g. if statement) is executed at least once, thus ensuring that all reachable code is executed.
(1996-05-10)

branch delay slot
delayed control-transfer

Branch on Chip Box Full
humour (BCBF) A mythical IBM 1130 instruction whose action depended on the contents of the chip box. This was one of a long list of fake assembly language instructions that went around Indiana University in the 1970s.
(1997-02-12)

branch prediction
processor, algorithm A technique used in some processors with instruction prefetch to guess whether a conditional branch will be taken or not and prefetch code from the appropriate location.
When a branch instruction is executed, its address and that of the next instruction executed (the chosen destination of the branch) are stored in the Branch Target Buffer. This information is used to predict which way the instruction will branch the next time it is executed so that instruction prefetch can continue. When the prediction is correct (and it is over 90% of the time), executing a branch does not cause a pipeline break.
Some later CPUs simply prefetch both paths instead of trying to predict which way the branch will go.
An extension of the idea of branch prediction is speculative execution.
(1998-03-14)

Branch Target Buffer
processor (BTB) A register used to store the predicted destination of a branch in a processor using branch prediction?
[Is this correct? Examples?]
(1995-05-05)

branch to Fishkill
(IBM: from the location of one of the corporation's facilities) Any unexpected jump in a program that produces catastrophic or just plain weird results.
See jump off into never-never land, hyperspace.
[Jargon File]

Brazil
An operating system from Acorn Computers used on an ARM card which could be fitted to an IBM PC. There was also an ARM second processor for the BBC Microcomputer which used Brazil. Never used on the Archimedes(?).
(1994-12-05)

BRB
chat (I will) be right back.
(1998-01-18)

bread crumbs
Debugging statements inserted into a program that emit output or log indicators of the program's state to a file so you can see where it dies or pin down the cause of surprising behaviour. The term is probably a reference to the Hansel and Gretel story from the Brothers Grimm; in several variants, a character leaves a trail of bread crumbs so as not to get lost in the woods.
[Jargon File]

breadth first search
algorithm A graph search algorithm which tries all one-step extensions of current paths before trying larger extensions. This requires all current paths to be kept in memory simultaneously, or at least their end points.
Opposite of depth-first search. See also best first search.
(1996-01-05)

break
1. To cause to be broken (in any sense). Your latest patch to the editor broke the paragraph commands.
2. (Of a program) To stop temporarily, so that it may debugged. The place where it stops is a breakpoint .
3. To send an EIA-232 break (two character widths of line high) over a serial line.
4. [Unix] To strike whatever key currently causes the tty driver to send SIGINT to the current process. Normally, break, delete or control-C does this.
5. break break may be said to interrupt a conversation (this is an example of verb doubling). This usage comes from radio communications, which in turn probably came from landline telegraph/teleprinter usage, as badly abused in the Citizen's Band craze a few years ago.
6. pipeline break.
[Jargon File]

break-even point
In the process of implementing a new computer language, the point at which the language is sufficiently effective that one can implement the language in itself. That is, for a new language called, hypothetically, FOOGOL, one has reached break-even when one can write a demonstration compiler for FOOGOL in FOOGOL, discard the original implementation language, and thereafter use working versions of FOOGOL to develop newer ones. This is an important milestone. See My Favourite Toy Language.
[There actually is a language called Foogol].

breakpoint
programming A point in a program that, when reached, triggers some special behavior useful to the process of debugging; generally, breakpoints are used to either pause program execution, and/or dump the values of some or all of the program variables. Breakpoints may be part of the program itself; or they may be set by the programmer as part of an interactive session with a debugging tool for scrutinizing the program's execution.
(1999-06-07)

breath-of-life packet
(XEROX PARC) An Ethernet packet that contains bootstrap code, periodically sent out from a working computer to infuse the breath of life into any computer on the network that has crashed. Computers depending on such packets have sufficient hardware or firmware code to wait for (or request) such a packet during the reboot process.
See also dickless workstation.
The notional kiss-of-death packet , with a function complementary to that of a breath-of-life packet, is recommended for dealing with hosts that consume too many network resources. Though kiss-of-death packet is usually used in jest, there is at least one documented instance of an Internet subnet with limited address-table slots in a gateway computer in which such packets were routinely used to compete for slots, rather like Christmas shoppers competing for scarce parking spaces.
[Jargon File]
(1995-01-26)

breedle
feep

BRH
Branch and Hang

BRI
Basic Rate Interface

Brian Reid
person The person who cofounded Usenet's anarchic alt.* newsgroup hierarchy with John Gilmore.
(1997-04-12)

BRIDGE
A component of ICES for civil engineers.
[Sammet 1969, p. 616].

bridge
networking, hardware A device which forwards traffic between network segments based on data link layer information. These segments would have a common network layer address.
Every network should only have one root bridge.
See also gateway, router.
(2001-03-04)

Bridgetalk
language A visual language.
(2001-03-04)

briefcase
tool A Win95/WinNT utility for keeping files on two computers without permanent connection in sync.
The scenario briefcase was designed for is the combination of an office computer and a portable one. You connect the two before leaving your office, create a briefcase on the portable (if you don't already have one on it), then copy the files you want to work on while away into the briefcase. You can at this point disconnect the two computers, take the portable with you and work on the files in the briefcase at home or on the road. When you get back to your office the briefcase utility can automatically update the files you changed on the office computer.
(1998-05-18)

brightness
graphics (Or tone , luminance , value , luminosity , lightness ) The coordinate in the HSB colour model that determines the total amount of light in the colour. Zero brightness is black and 100% is white, intermediate values are light or dark colours.
The other coordinates are hue and saturation.
(1999-07-05)

Brilliant
One of five pedagogical languages based on Markov algorithms, used in [ Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics , B. Higman, ULICS Intl Report No ICSI 170, U London (1968)].
See also Diamond, Nonpareil, Pearl, Ruby.

bring X to its knees
To present a computer, operating system, piece of software, or algorithm with a load so extreme or pathological that it grinds to a halt. To bring a MicroVAX to its knees, try twenty users running vi - or four running Emacs. Compare hog.
[Jargon File]

British Broadcasting Corporation
company (BBC) The UK state television and radio company. They commissioned the BBC Micro from Acorn Computers for use in a television series about using computers. They also run the BBC Networking Club.
(1995-02-28)

British Library Method
algorithm Brute force searching.
According to legends circulating in the 1970s, in the British Library books are searched for by examining each book sequentially in the first shelf, then the next shelf, continuing until the book is found or the entire library has been searched.
The term was referred to in a Dutch coursebook, Inleiding In De Informatica (Introduction to Informatics) from a course given by C.H.A. Koster and Th.A. Zoethout. This was based on a course given at the TU Berlin.
[Reference?]
(1999-04-14)

British Standards Institute
body, standard (BSI) The British member of ISO.
(1996-06-12)

British Telecom
company (BT) The largest telecommunications provider in the UK.
Due to regulatory issues, BT had to sell off its interest in McCaw Cellular. BT sold it to AT T for something like 4B$. BT then invested that in MCI. As a part of the deal, MCI was given BT North America, which was the old Tymnet. MCI laid off about 40% of the Tymnet staff.
Home (http://www.intervid.co.uk/)
(1995-05-09)

British Telecom Research Laboratories
company (BTRL) The laboratories where British Telecom develops many of its new Network services.
Home (http://www.labs.bt.com/)
Address: Martlesham Heath, near Ipswich, Suffolk, UK.
(1995-04-25)

brittle
jargon Said of software that is functional but easily broken by changes in operating environment or configuration, or by any minor tweak to the software itself. Also, any system that responds inappropriately and disastrously to abnormal but expected external stimuli; e.g. a file system that is usually totally scrambled by a power failure is said to be brittle. This term is often used to describe the results of a research effort that were never intended to be robust, but it can be applied to commercially developed software, which displays the quality far more often than it ought to.
Opposite of robust.
[Jargon File]
(1995-05-09)

broadband
communications A transmission medium capable of supporting a wide range of frequencies, typically from audio up to video frequencies. It can carry multiple signals by dividing the total capacity of the medium into multiple, independent bandwidth channels, where each channel operates only on a specific range of frequencies.
See also baseband.
(1995-05-09)

broadcast
A transmission to multiple, unspecified recipients. On Ethernet, a broadcast packet is a special type of multicast packet which all nodes on the network are always willing to receive.

broadcast quality video
communications, multimedia Roughly, video with more than 30 frames per second at a resolution of 800 x 640 pixels.
The quality of moving pictures and sound is determined by the complete chain from camera to receiver. Relevant factors are the colour temperature of the lighting, the balance of the red, green and blue vision pick-up tubes to produce the correct display colour temperature (which will be different) and the gamma pre-correction to cancel the non-linear characteristic of cathode-ray tubes in television receivers. The resolution of the camera tube and video coding system will determine the maximum number of pixels in the picture.
Different colour coding systems have different defects. The NTSC system (National Television Systems Committee) can produce hue errors. The PAL system (Phase Alternation by Line) can produce saturation errors.
Television modulation systems are specified by ITU CCIR Report 624. Low-resolution systems have bandwidths of 4.2 MHz with 525 to 625 lines per frame as used in the Americas and Japan. Medium resolution of 5 to 6.5 MHz with 625 lines is used in Europe, Asia, Africa and Australasia. High-Definition Television (HDTV) will require 8 MHz or more of bandwidth.
A medium resolution (5.5 MHz in UK) picture can be represented by 572 lines of 402 pixels. Note the ratio of pixels to lines is not the same as the aspect ratio. A VGA display (480n lines of 640 pixels) could thus display 84% of the height of one picture frame.
Most compression techniques reduce quality as they assume a restricted range of detail and motion and discard details to which the human eye is not sensitive.
Broadcast quality implies something better than amateur or domestic video and therefore can't be retained on a domestic video recorder. Broadcasts use quadriplex or U-matic recorders.
The lowest frame rate used for commercial entertainment is the 24Hz of the 35mm cinema camera. When broadcast on a 50Hz television system, the pictures are screened at 25Hz reducing the running times by 4%. On a 60Hz system every five movie frames are screened as six TV frames, still at the 4% increased rate. The six frames are made by mixing adjacent frames, with some degradation of the picture.
A computer system to meet international standard reproduction would at least VGA resolution, an interlaced frame rate of 24Hz and 8 bits to represent the luminance (Y) component. For a component display system using red, green and blue (RGB) electron guns and phosphor dots each will require 7 bits. Transmission and recording is different as various coding schemes need less bits if other representations are used instead of RGB. Broadcasts use YUV and compression can reduce this to about 3.5 bits per pixel without perceptible degradation. High-quality video and sound can be carried on a 34 Mbaud channel after being compressed with ADPCM and variable length coding, potentially in real time.
(1997-07-04)

broadcast storm
networking An broadcast on a network that causes multiple hosts to respond by broadcasting themselves, causing the storm to grow exponentially in severity.
See network meltdown.
[Jargon File]
(1995-02-07)

Broadway
standard, operating system A standard which the X Consortium is currently (January 1997) developing and plans to release soon as an open standard. A prime goal is to be more bandwidth-efficient and easier to develop for (and to port) than the X Window System, which has been widely described as over-sized, over-featured, over-engineered and incredibly over-complicated.
Home (http://www.x.org/consortium/broadway.html).
(1997-05-15)

brochureware
marketing, jargon Planned but non-existent product like vaporware, but with the added implication that marketing is actively selling and promoting it (they've printed brochures). Brochureware is often deployed to con customers into not committing to an existing product of the competition's.
The term is now especially applicable to new web sites, web site revisions, and ancillary services such as customer support and product return.
Owing to the explosion of database-driven, cookie-using dot-coms (of the sort that can now deduce that you are, in fact, a dog), the term is now also used to describe sites made up of static HTML pages that contain not much more than contact info and mission statements. The term suggests that the company is small, irrelevant to the web, local in scope, clueless, broke, just starting out, or some combination thereof.
Many new companies without product, funding, or even staff, post brochureware with investor info and press releases to help publicise their ventures. As of December 1999, examples include pop.com and cdradio.com.
Small-timers that really have no business on the web such as lawncare companies and divorce laywers inexplicably have brochureware made that stays unchanged for years.
[Jargon File]
(2001-05-10)

broken
Not working properly (of programs).

broken arrow
communications The error code displayed on line 25 of a IBM 3270 terminal (or a terminal emulator emulating a 3270) for various kinds of protocol violations and unexpected error conditions (including connection to a down computer). On a PC, simulated with - /_ , with the two centre characters overstruck.
Broken arrow is also military jargon for an accident involving nuclear weapons.
[Jargon File]
(1995-02-07)

broker
object request broker

broket
character /broh'k*t/ or /broh'ket/ (From broken bracket) Either of the characters or when used as paired enclosing delimiters (angle brackets).
[Jargon File]
(1997-07-21)

Brooks's Law
programming Adding manpower to a late software project makes it later - a result of the fact that the expected advantage from splitting work among N programmers is O(N) (that is, proportional to N), but the complexity and communications cost associated with coordinating and then merging their work is O(N^2) (that is, proportional to the square of N).
The quote is from Fred Brooks, a manager of IBM's OS/360 project and author of The Mythical Man-Month .
The myth in question has been most tersely expressed as Programmer time is fungible and Brooks established conclusively that it is not. Hackers have never forgotten his advice; too often, management still does.
See also creationism, second-system effect, optimism.
[Jargon File]
(1996-09-17)

brouter
A device which bridges some packets (i.e. forwards based on data link layer information) and routes other packets (i.e. forwards based on network layer information). The bridge/route decision is based on configuration information.

Brouwer Fixed-Point Theorem
topology A well-known result in topology stating that any continuous transformation of an n-dimensional disk must have at least one fixed point.
[Is this correct?]
(2001-03-29)

Brown and Sharpe Wire Gauge
American Wire Gauge

brown paper bag bug
programming A programming bug that is so stupid that it makes the programmer want to put a brown paper bag over his head.
(2001-01-16)

browser
hypertext A program which allows a person to read hypertext. The browser gives some means of viewing the contents of nodes (or pages ) and of navigating from one node to another.
Netscape Navigator, NCSA Mosaic, Lynx, and W3 are examples for browsers for the World-Wide Web. They act as clients to remote web servers.
(1996-05-31)

BRS
Big Red Switch. This abbreviation is fairly common on-line.
[Jargon File]

BRUIN
Brown University Interactive Language.
A simple interactive language with PL/I-like syntax, for IBM 360.
[ Meeting the Computational Requirements of the University, Brown University Interactive Language , R.G. Munck, Proc 24th ACM Conf, 1969].
(1995-02-14)

brute force
programming A primitive programming style in which the programmer relies on the computer's processing power instead of using his own intelligence to simplify the problem, often ignoring problems of scale and applying naive methods suited to small problems directly to large ones. The term can also be used in reference to programming style: brute-force programs are written in a heavy-handed, tedious way, full of repetition and devoid of any elegance or useful abstraction (see also brute force and ignorance).
The canonical example of a brute-force algorithm is associated with the travelling salesman problem (TSP), a classical NP-hard problem:
Suppose a person is in, say, Boston, and wishes to drive to N other cities. In what order should the cities be visited in order to minimise the distance travelled?
The brute-force method is to simply generate all possible routes and compare the distances; while guaranteed to work and simple to implement, this algorithm is clearly very stupid in that it considers even obviously absurd routes (like going from Boston to Houston via San Francisco and New York, in that order). For very small N it works well, but it rapidly becomes absurdly inefficient when N increases (for N = 15, there are already 1,307,674,368,000 possible routes to consider, and for N = 1000 - well, see bignum). Sometimes, unfortunately, there is no better general solution than brute force. See also NP-complete.
A more simple-minded example of brute-force programming is finding the smallest number in a large list by first using an existing program to sort the list in ascending order, and then picking the first number off the front.
Whether brute-force programming should actually be considered stupid or not depends on the context; if the problem is not terribly big, the extra CPU time spent on a brute-force solution may cost less than the programmer time it would take to develop a more intelligent algorithm. Additionally, a more intelligent algorithm may imply more long-term complexity cost and bug-chasing than are justified by the speed improvement.
When applied to cryptography, it is usually known as brute force attack.
Ken Thompson, co-inventor of Unix, is reported to have uttered the epigram When in doubt, use brute force . He probably intended this as a ha ha only serious, but the original Unix kernel's preference for simple, robust and portable algorithms over brittle smart ones does seem to have been a significant factor in the success of that operating system. Like so many other tradeoffs in software design, the choice between brute force and complex, finely-tuned cleverness is often a difficult one that requires both engineering savvy and delicate aesthetic judgment.
[Jargon File]
(1995-02-14)

brute force and ignorance
jargon (BFI) A popular design technique at many software houses - brute force coding unrelieved by any knowledge of how problems have been previously solved in elegant ways. Dogmatic adherence to design methods tends to encourage this sort of thing. Characteristic of early larval stage programming; unfortunately, many never outgrow it.
Also encountered in the variants BFMI - brute force and massive ignorance, and BFBI - brute force and bloody ignorance.
Gak, they used a bubble sort! That's strictly BFI.
Compare bogosity.
[Jargon File]
(1996-06-12)

brute force attack
cryptography A method of breaking a cipher (that is, to decrypt a specific encrypted text) by trying every possible key. The quicker the brute force attack, the weaker the cipher. Feasibility of brute force attack depends on the key length of the cipher, and on the amount of computational power available to the attacker. Brute force attack is impossible against the ciphers with variable-size key, such as a one-time pad cipher.
Breaking ciphers with many workstations (http://www.distributed.net/projects.html.en).
(2000-01-16)

BS
character Backspace, the mnemonic for ASCII 8.
(1996-06-24)

bs
networking The country code for the Bahamas.
(1999-01-27)

BS2000
operating system An operating system from SNI for mainframes.
Home (http://www.mch.sni.de.public/bs2000/server.htm).
(1997-06-13)

BSA
1. Business Software Alliance.
2. Bidouilleurs Sans Argent.
(1998-10-26)

BSD
Berkeley Software Distribution

BSD386
386BSD

BSDI
Berkeley Software Design, Inc.

BSD/OS
operating system BSDI's commercial version of Berkeley Standard Distribution Unix. BSD/OS is a POSIX-compatible, Unix-like system for the 80386, 486, and Pentium. It is based on the BSD software from UCB, a number of other sources, and components engineered by BSDI. The initial production release of BSD/OS shipped in March, 1993.
(1996-01-13)

BSD Unix
Berkeley Software Distribution

BSI
British Standards Institute

BSL
language A variant of IBM's PL/S systems language. Versions: BSL1, BSL2.
(1998-06-15)

BSOD
Blue Screen of Death

BSOL
Blue Screen of Life

BSOM
Beats the shit outa me

BSP method
programming A CASE method from IBM.
(1998-02-24)

BSRAM
Burst Static Random Access Memory

BSS
Block Started by Symbol

BST
convention British Summer Time. The name for daylight-saving time in the UK GMT time zone.
(2000-03-28)

bt
networking The country code for Bhutan.
(1999-01-27)

BTB
Branch Target Buffer

btoa
tool, messaging, algorithm, file format /B too A/ A binary to ASCII conversion utility.
btoa is a uuencode or base 64 equivalent which addresses some of the problems with the uuencode standard but not as many as the base 64 standard. It avoids problems that some hosts have with spaces (e.g. conversion of groups of spaces to tabs) by not including them in its character set, but may still have problems on non-ASCII systems (e.g. EBCDIC).
btoa is primarily used to transfer binary files between systems across connections which are not eight-bit clean, e.g. electronic mail.
btoa takes adjacent sets of four binary octets and encodes them as five ASCII octets using ASCII characters '!' through to 'u'. Special characters are also used: 'x' marks the beginning or end of the archive; 'z' marks four consecutive zeros and 'y' (version 5.2) four consecutive spaces.
Each group of four octets is processed as a 32-bit integer. Call this 'I'. Let 'D' = 85^4. Divide I by D. Call this result 'R'. Make I = I - (R * D) to avoid overflow on the next step. Repeat, for values of D = 85^3, 85^2, 85 and 1. At each step, to convert R to the output character add decimal 33 (output octet = R + ASCII value for '!'). Five output octets are produced.
btoa provides some integrity checking in the form of a line checksum, and facilities for patching corrupted downloads.
The algorithm used by btoa is more efficient than uuencode or base 64. ASCII files are encoded to about 120% the size of their binary sources. This compares with 135% for uuencode or base 64.
C source (ftp://hpux.csc.liv.ac.uk/hpux/Misc/btoa-5.2/) (version 5.2 - ~1994).
Pre-compiled MS-DOS versions are also available.
(1997-08-08)

B-Toolkit
tool, programming, product A set of software tools designed to support a rigorous or formal development of software systems using the B-Method.
The Toolkit also provides a development environment automating the management of all associated files, ensuring that the entire development, including code and documentation, is always in a consistent state.
The Toolkit includes: a specification, design and code configuration management system, including integrity and dependency management and source file editing facilities; a set of software specification and design analysis tools, which includes syntax checkers, type checkers and a specification animator; a set of verification tools, which includes a proof-obligation generator and automatic and interactive provers; a set of coding tools, which includes a translator, linker, rapid prototyping facilities and a reusable specification/code module library; a documentation tool for automatically producing fully cross-referenced and indexed type-set documents from source files; a re-making tool for automatically re-checking and re-generating specifications, designs, code and documentation after modifications to source files.
A normal licence costs 25,000 pounds, academic 6,250 pounds.
(1995-03-13)

BTOS
Convergent Technologies Operating System

B-tree
algorithm A multi-way balanced tree.
The B in B-tree has never been officially defined. It could stand for balanced or Bayer , after one of the original designers of the algorithms and structure. A B-tree is _not_ (necessarily?) a binary tree .
A B+-tree (as used by IBM's VSAM) is a B-tree where the leaves are also linked sequentially, thus allowing both fast random access and sequential access to data.
[Knuth's Art of Computer Programming].
[Example algorithm?]
(2000-01-10)

BTRIEVE
1. company BTRIEVE Technologies, Inc..
2. tool A trademark of BTRIEVE Technologies, Inc. for their ISAM index file manager for IBM PCs.
(1995-03-28)

BTRIEVE Technologies, Inc.
company, database /bee-treev/ (BTI) A provider of client-server database engines. BTI was founded by former Novell, Inc. employees, including the original developers of the Btrieve database engine. BTI acquired the database product line from Novell in April, 1994.
Home (http://www.btrieve.com/)
Address: Austin, Texas, USA.
(1995-12-14)

BTRL
company British Telecom Research Laboratories.

BTS
Bug Tracking System

BTW
chat By the way.
(2002-06-12)

BUAF
[alt.fan.warlord] Big Ugly ASCII Font. A special form of ASCII art. Various programs exist for rendering text strings into block, bloob, and pseudo-script fonts in cells between four and six character cells on a side; this is smaller than the letters generated by older banner programs. These are sometimes used to render one's name in a sig block, and are critically referred to as BUAF s. See warlording.
[Jargon File]

BUAG
[alt.fan.warlord] Big Ugly ASCII Graphic. Pejorative term for ugly ASCII ART, especially as found in sig blocks. For some reason, mutations of the head of Bart Simpson are particularly common in the least imaginative sig blocks.
See warlording.

bubble memory
A storage device built using materials such as gadolinium gallium garnet which are can be magnetised easily in only one direction. A film of these materials can be created so that it is magnetisable in an up-down direction. The magnetic fields tend to join together, some with the north pole facing up, some with the south.
When a veritcal magnetic field is imposed on this, the areas in opposite alignment to the field shrink to circles, or 'bubbles'. A bubble can be formed by reversing the field in a small spot, and can be destroyed by increasing the field.
Bubble memory is a kind of non-volatile storage but EEPROM, Flash Erasable Programmable Read-Only Memory and ferroelectric technologies, which are also non-volatile, are faster.
[ Great Microprocessors of the Past and Present , V 4.0.0, John Bayko bayko@hercules.cs.uregina.ca , Appendix C]
(1995-02-03)

bubble sort
A sorting technique in which pairs of adjacent values in the list to be sorted are compared and interchanged if they are out of order; thus, list entries bubble upward in the list until they bump into one with a lower sort value. Because it is not very good relative to other methods and is the one typically stumbled on by naive and untutored programmers, hackers consider it the canonical example of a naive algorithm. The canonical example of a really *bad* algorithm is bogo-sort. A bubble sort might be used out of ignorance, but any use of bogo-sort could issue only from brain damage or willful perversity.
[Jargon File]

bucky bits
/buh'kee bits/ 1. Obsolete. The bits produced by the CONTROL and META shift keys on a SAIL keyboard (octal 200 and 400 respectively), resulting in a 9-bit keyboard character set. The MIT AI TV (Knight) keyboards extended this with TOP and separate left and right CONTROL and META keys, resulting in a 12-bit character set; later, LISP Machines added such keys as SUPER, HYPER, and GREEK (see space-cadet keyboard).
2. By extension, bits associated with extra shift keys on any keyboard, e.g. the ALT on an IBM PC or command and option keys on a Macintosh.
It has long been rumored that bucky bits were named after Buckminster Fuller during a period when he was consulting at Stanford. Actually, bucky bits were invented by Niklaus Wirth when *he* was at Stanford in 1964--65; he first suggested the idea of an EDIT key to set the 8th bit of an otherwise 7 bit ASCII character. It seems that, unknown to Wirth, certain Stanford hackers had privately nicknamed him Bucky after a prominent portion of his dental anatomy, and this nickname transferred to the bit. Bucky-bit commands were used in a number of editors written at Stanford, including most notably TV-EDIT and NLS.
The term spread to MIT and CMU early and is now in general use. Ironically, Wirth himself remained unaware of its derivation for nearly 30 years, until GLS dug up this history in early 1993! See double bucky, quadruple bucky.
(2001-06-22)

buffer
1. An area of memory used for storing messages. Typically, a buffer will have other attributes such as an input pointer (where new data will be written into the buffer), and output pointer (where the next item will be read from) and/or a count of the space used or free. Buffers are used to decouple processes so that the reader and writer may operate at different speeds or on different sized blocks of data.
There are many different algorithms for using buffers, e.g. first-in first-out (FIFO or shelf), last-in first-out (LIFO or stack), double buffering (allowing one buffer to be read while the other is being written), cyclic buffer (reading or writing past the end wraps around to the beginning).
2. An electronic device to provide compatibility between two signals, e.g. changing voltage levels or current capability.

buffered write-through
memory management A variation of write-through where the cache uses a write buffer to hold data being written back to main memory. This frees the cache to service read requests while the write is taking place. There is usually only one stage of buffering so subsequent writes must wait until the first is complete. Most accesses are reads so buffered write-through is only useful for very slow main memory.
(1998-04-24)

buffer overflow
programming What happens when you try to store more data in a buffer than it can handle. This may be due to a mismatch in the processing rates of the producing and consuming processes (see overrun and firehose syndrome), or because the buffer is simply too small to hold all the data that must accumulate before a piece of it can be processed. For example, in a text-processing tool that crunches a line at a time, a short line buffer can result in lossage as input from a long line overflows the buffer and overwrites data beyond it. Good defensive programming would check for overflow on each character and stop accepting data when the buffer is full.
See also spam, overrun screw.
[Jargon File]
(1996-05-13)

bug
programming An unwanted and unintended property of a program or piece of hardware, especially one that causes it to malfunction. Antonym of feature. E.g. There's a bug in the editor: it writes things out backwards. The identification and removal of bugs in a program is called debugging .
Admiral Grace Hopper (an early computing pioneer better known for inventing COBOL) liked to tell a story in which a technician solved a glitch in the Harvard Mark II machine by pulling an actual insect out from between the contacts of one of its relays, and she subsequently promulgated bug in its hackish sense as a joke about the incident (though, as she was careful to admit, she was not there when it happened). For many years the logbook associated with the incident and the actual bug in question (a moth) sat in a display case at the Naval Surface Warfare Center (NSWC). The entire story, with a picture of the logbook and the moth taped into it, is recorded in the Annals of the History of Computing , Vol. 3, No. 3 (July 1981), pp. 285--286.
The text of the log entry (from September 9, 1947), reads 1545 Relay #70 Panel F (moth) in relay. First actual case of bug being found . This wording establishes that the term was already in use at the time in its current specific sense - and Hopper herself reports that the term bug was regularly applied to problems in radar electronics during WWII.
Indeed, the use of bug to mean an industrial defect was already established in Thomas Edison's time, and a more specific and rather modern use can be found in an electrical handbook from 1896 ( Hawkin's New Catechism of Electricity , Theo. Audel Co.) which says: The term bug is used to a limited extent to designate any fault or trouble in the connections or working of electric apparatus. It further notes that the term is said to have originated in quadruplex telegraphy and have been transferred to all electric apparatus.
The latter observation may explain a common folk etymology of the term; that it came from telephone company usage, in which bugs in a telephone cable were blamed for noisy lines. Though this derivation seems to be mistaken, it may well be a distorted memory of a joke first current among *telegraph* operators more than a century ago!
Actually, use of bug in the general sense of a disruptive event goes back to Shakespeare! In the first edition of Samuel Johnson's dictionary one meaning of bug is A frightful object; a walking spectre ; this is traced to bugbear , a Welsh term for a variety of mythological monster which (to complete the circle) has recently been reintroduced into the popular lexicon through fantasy role-playing games.
In any case, in jargon the word almost never refers to insects. Here is a plausible conversation that never actually happened:
There is a bug in this ant farm!
What do you mean? I don't see any ants in it.
That's the bug.
[There has been a widespread myth that the original bug was moved to the Smithsonian, and an earlier version of this entry so asserted. A correspondent who thought to check discovered that the bug was not there. While investigating this in late 1990, your editor discovered that the NSWC still had the bug, but had unsuccessfully tried to get the Smithsonian to accept it - and that the present curator of their History of American Technology Museum didn't know this and agreed that it would make a worthwhile exhibit. It was moved to the Smithsonian in mid-1991, but due to space and money constraints has not yet been exhibited. Thus, the process of investigating the original-computer-bug bug fixed it in an entirely unexpected way, by making the myth true! - ESR]
[Jargon File]
(1999-06-29)

bug-compatible
Said of a design or revision that has been badly compromised by a requirement to be compatible with fossils or misfeatures in other programs or (especially) previous releases of itself. MS-DOS 2.0 used as a path separator to be bug-compatible with some cretin's choice of / as an option character in 1.0.
[Jargon File]

bug fix
programming A change to a program or system intended to permanently cure a bug. Often a fix for one bug inadvertantly introduces new bugs, hence the need for careful forethought and testing.
Compare: workaround.
(1998-06-25)

bug fix release
programming A release which introduces no new features, but which merely aims to fix bugs in previous releases. All too commonly new bugs are introduced at the same time.
(1996-08-04)

bug-for-bug compatible
Same as bug-compatible, with the additional implication that much tedious effort went into ensuring that each (known) bug was replicated.
[Jargon File]

buglix
/buhg'liks/ Pejorative term referring to DEC's ULTRIX operating system in its earlier *severely* buggy versions. Still used to describe ULTRIX, but without nearly so much venom. Compare AIDX, HP-SUX, Nominal Semidestructor, Telerat, sun-stools.

BUGSYS
programming A programming system for pattern recognition and preparing animated films, for IBM 7094 and IBM 360.
[ BUGSYS: A Programming System for Picture Processing - Not for Debugging , R.A. Ledley et al, CACM 9(2) (Feb 1966)].
(1995-02-14)

bug tracking system
programming (BTS) A system for receiving and filing bugs reported against a software project, and tracking those bugs until they are fixed. Most major software projects have their own BTS, the source code of which is often available for use by other projects.
Well known BTSs include GNATS, Bugzilla, and Debbugs.
(2002-06-12)

Bugzilla
programming The web-based bug tracking system used by the Mozilla project.
Bugzilla home (http://bugzilla.mozilla.org/).
(2002-06-12)

built-in
(Or primitive ) A built-in function or operator is one provided by the lowest level of a language implementation. This usually means it is not possible (or efficient) to express it in the language itself. Typical examples are the basic arithmetic and Boolean operators (in C syntax: +, -, *, /, %, !, , ||), bit manipulation operators (~, , |, ^) and I/O primitives. Other common functions may be provided in libraries but are not built-in if they are written in the language being implemented.
(1995-02-14)

Built-in Self Test
(BIST) The technique of designing circuits with additional logic which can be used to test proper operation of the primary (functional) logic.
(1995-02-14)

Bull
Bull Information Systems

bulletin board
bulletin board system

bulletin board system
communications, application (BBS, bboard /bee'bord/; after a physical piece of board on which people can pin messages written on paper for general consumption - a physical bboard ). A computer and associated software which typically provides an electronic message database where people can log in and leave messages. Messages are typically split into topic groups similar to the newsgroups on Usenet (which is like a distributed BBS). Any user may submit or read any message in these public areas.
Apart from public message areas, a BBS may provide archives of files, personal electronic mail and any other services or activities of interest to the bulletin board's system operator (the sysop ). Thousands of local BBSes are in operation throughout the world, typically run by amateurs for fun out of their homes on MS-DOS boxes with a single modem line each. Although BBSes have traditionally been the domain of hobbyists, an increasing number of BBSes are connected directly to the Internet, and many BBSes are currently operated by government, educational, and research institutions. Fans of Usenet and Internet or the big commercial time-sharing bboards such as CompuServe, CIX and GEnie tend to consider local BBSes the low-rent district of the hacker culture, but they serve a valuable function by knitting together lots of hackers and users in the personal-micro world who would otherwise be unable to exchange code at all.
Use of this term for a Usenet newsgroup generally marks one either as a newbie fresh in from the BBS world or as a real old-timer predating Usenet.
(1998-03-24)

bulletproof
Used of an algorithm or implementation considered extremely robust; lossage-resistant; capable of correctly recovering from any imaginable exception condition - a rare and valued quality. Synonym armor-plated.
[Jargon File]

Bull Information Systems
company A multinational I.T. group based in Europe with 21,000 people and operations in more than 85 countries. In 1997, Bull earned revenues of over $4 billion, including over 65% outside of France, its country of origin. The company is ranked as the third largest systems integrator in Europe.
Home (http://www.bull.com/).
(1998-07-02)

bum
1. To make highly efficient, either in time or space, often at the expense of clarity. I managed to bum three more instructions out of that code. I spent half the night bumming the interrupt code. In elder days, John McCarthy (inventor of Lisp) used to compare some efficiency-obsessed hackers among his students to ski bums ; thus, optimisation became program bumming , and eventually just bumming .
2. To squeeze out excess; to remove something in order to improve whatever it was removed from (without changing function; this distinguishes the process from a featurectomy).
3. A small change to an algorithm, program, or hardware device to make it more efficient. This hardware bum makes the jump instruction faster.
Usage: now uncommon, largely superseded by v. tune (and tweak, hack), though none of these exactly capture sense 2. All these uses are rare in Commonwealth hackish, because in the parent dialects of English bum is a rude synonym for buttocks .
[Jargon File]

bump
Increment. E.g. C's ++ operator. It is used especially of counter variables, pointers and index dummies in for , while , and do-while loops.
(1994-11-29)

burble
[Lewis Carroll's Jabberwocky ] Like flame, but connotes that the source is truly clueless and ineffectual (mere flamers can be competent). A term of deep contempt. There's some guy on the phone burbling about how he got a DISK FULL error and it's all our comm software's fault. This is mainstream slang in some parts of England.
[Jargon File]

Burge's Language
Unnamed functional language based on lambda-calculus. Recursive Programming techniques , W.H. Burge, A-W 1975.

buried treasure
A surprising piece of code found in some program. While usually not wrong, it tends to vary from crufty to bletcherous, and has lain undiscovered only because it was functionally correct, however horrible it is. Used sarcastically, because what is found is anything *but* treasure. Buried treasure almost always needs to be dug up and removed. I just found that the scheduler sorts its queue using bubble sort! Buried treasure!
[Jargon File]

burn-in
1. hardware screen saver.
2. hardware, testing burn-in period.
(1997-11-23)

burn-in period
1. A factory test designed to catch systems with marginal components before they get out the door; the theory is that burn-in will protect customers by outwaiting the steepest part of the bathtub curve (see infant mortality).
2. A period of indeterminate length in which a person using a computer is so intensely involved in his project that he forgets basic needs such as food, drink, sleep, etc. Warning: Excessive burn-in can lead to burn-out. See hack mode, larval stage.
[Jargon File]

Burroughs Corporation
company A company which merged with Sperry Univac to form Unisys Corporation.
(1994-11-22)

Burst EDO
Burst Extended Data Out DRAM

Burst Extended Data Out DRAM
storage (Burst EDO, BEDO) A variant on EDO DRAM in which read or write cycles are batched in bursts of four. The bursts wrap around on a four byte boundary which means that only the two least significant bits of the CAS address are modified internally to produce each address of the burst sequence. Consequently, burst EDO bus speeds will range from 40MHz to 66MHz, well above the 33MHz bus speeds that can be accomplished using Fast Page Mode or EDO DRAM.
Burst EDO was introduced sometime before May 1995.
(1996-06-25)

burst page
banner

Burst Static Random Access Memory
storage (BSRAM) A kind of SRAM used primarily for external Level 2 cache memory.
[How does it work?]
(1998-02-24)

bus
architecture One of the sets of conductors (wires, PCB tracks or connections in an integrated circuit) connecting the various functional units in a computer. There are busses both within the CPU and connecting it to external memory and peripheral devices. The data bus, address bus and control signals, despite their names, really constitute a single bus since each is useless without the others.
The width of the data bus, i.e. the number of parallel connectors, and its clock rate determine its data rate (the number of bytes per second which it can carry). This is one of the factors limiting a computer's performance. Most current microprocessors have 32-bit busses both internally and externally. 100 or 133 megahertz bus clock rates are common. The bus clock is typically slower than the processor clock.
Some processors have internal busses which are wider than their external busses (usually twice the width) since the width of the internal bus affects the speed of all operations and has less effect on the overall system cost than the width of the external bus.
Various bus designs have been used in the PC, including ISA, EISA, Micro Channel, VL-bus and PCI. Other peripheral busses are NuBus, TURBOchannel, VMEbus, MULTIBUS and STD bus.
Some networks are implemented as a bus at the physical layer, e.g. Ethernet - a one-bit bus operating at 10 (or later 100) megabits per second.
The term is almost certainly derived from the electrical engineering term bus bar - a substantial, rigid power supply conductor to which several connections are made. This was once written 'bus bar as it was a contraction of omnibus bar - a connection bar for all , by analogy with the passenger omnibus - a conveyance for all .
More on derivation (http://www.foldoc.org/pub/omnibus.html).
(2000-03-20)

bus error
processor A fatal failure in the execution of a machine language instruction resulting from the processor detecting an anomalous condition on its bus. Such conditions include invalid address alignment (accessing a multi-byte number at an odd address), accessing a physical address that does not correspond to any device, or some other device-specific hardware error. A bus error triggers a processor-level exception which Unix translates into a SIGBUS signal which, if not caught, will terminate the current process.
(2000-04-04)

Bush, Vannevar
Vannevar Bush

Business Application Programming Interface
business, application, programming (BAPI) /bap'ee/ A set of methods provided by an SAP business object.
Release 4.0 of SAP AG's R/3 system supports object-oriented programming via an interface defined in terms of objects and methods called BAPIs. For example if a material object provides a function to check availability, the corresponding SAP business object type Material might provide a BAPI called Material.CheckAvailability .
The definitions of SAP business objects and their BAPIs are kept in an SAP business object repository. SAP provide classes and libraries to enable a programming team to build SAP applications that use business objects and BAPIs. Supported environments include COM and Java.
The Open BAPI Network (http://www.sap.com/solutions/technology/bapis/index.htm) gives background information and lists objects and BAPIs.
(2002-08-30)

Business Process Re-engineering
business (BPR) Any radical change in the way in which an organisation performs its business activities. BPR involves a fundamental re-think of the business processes followed by a redesign of business activities to enhance all or most of its critical measures - costs, quality of service, staff dynamics, etc.
(1999-09-27)

Business Software Alliance
company The BSA was created by Microsoft in 1988 in an attempt to combat software theft. The alliance includes the majority of leading software publishers including Novell, Symantec, and Autodesk and is actively campaigning in over 65 countries.
The BSA operates a three-pronged approach: 1. Lobbying to strengthen copyright laws and co-operation with law enforcement agencies. 2. Educating the public through marketing, roadshows, etc. 3. Bringing legal actions against counterfeiters. BSA's aims are the same as the Federation Against Software Theft but it is not limited to the UK.
In December 1990 the BSA obtained the first legal order in the UK which allowed a surprise search on a company's offices for suspected copyright infringement.
Home (http://www.bsa.org/bsa)
UK Office: Business Software Alliance, 1st Floor, Leaconfield House, Curzon Street, London W1Y 8AS, United Kingdom.
See also software audit.
(1996-05-19)

business to business
business (B2B) Electronic commerce between businesses, as opposed to between a consumer and a business (B2C).
While derived from business to business , B2B is narrower in meaning.
(2001-03-26)

bus master
architecture The device in a computer which is driving the address bus and bus control signals at some point in time. In a simple architecture only the (single) CPU can be bus master but this means that all communications between ( slave ) I/O devices must involve the CPU. More sophisticated architectures allow other capable devices (or multiple CPUs) to take turns at controling the bus. This allows, for example, a network controller card to access a disk controller directly while the CPU performs other tasks which do not require the bus, e.g. fetching code from its cache.
Note that any device can drive data onto the data bus when the CPU reads from that device, but only the bus master drives the address bus and control signals.
Direct Memory Access is a simple form of bus mastering where the I/O device is set up by the CPU to read from or write to one or more contiguous blocks of memory and then signal to the CPU when it has done so. Full bus mastering (or First Party DMA , bus mastering DMA ) implies that the I/O device is capable of performing more complex sequences of operations without CPU intervention (e.g. servicing a complete NFS request). This will normally mean that the I/O device contains its own processor or microcontroller.
See also distributed kernel.
(1996-08-26)

bus mastering
bus master

bus network
networking A network in which all nodes are connected to a single wire (the bus). The two endpoints will have a terminator. Bus networks typically use CSMA/CD techniques to determine which node transmits data on the wire at any given time.
Examples are Ethernet 10Base2 and 10Base5 networks.
See also star network, ring network.
(1999-11-28)

Busy Beaver
theory (BB) One of a series of sets of Turing Machine programs. The BBs in the Nth set are programs of N states that produce a larger finite number of ones on an initially blank tape than any other program of N states. There is no program that, given input N, can deduce the productivity (number of ones output) of the BB of size N.
The productivity of the BB of size 1 is 1. Some work has been done to figure out productivities of bigger Busy Beavers - the 7th is in the thousands.
(1994-10-24)

busy-loop
tight loop

busy-wait
programming To wait for an event by spinning through a tight loop or timed-delay loop that polls for the event on each pass, as opposed to setting up an interrupt handler and continuing execution on another part of the task. This is a wasteful technique, best avoided on time-sharing systems where a busy-waiting program may hog the processor.
[Jargon File]
(1999-06-10)

Butterfly Common LISP
A parallel version of Common LISP for the BBN Butterfly computer.

Butterfly Scheme
A parallel version of Scheme for the BBN Butterfly computer.

button
1. electronics push-button.
2. operating system A graphical representation of an electrical push-button appearing as part of a graphical user interface. Moving the mouse pointer over the graphical button and pressing one of the physical mouse buttons starts some software action such as closing a window or deleting a file.
See also radio button.
(1997-07-07)

buzz
1. Of a program, to run with no indication of progress and perhaps without guarantee of ever finishing; especially said of programs thought to be executing a tight loop of code. A program that is buzzing appears to be catatonic, but never gets out of catatonia, while a buzzing loop may eventually end of its own accord. The program buzzes for about 10 seconds trying to sort all the names into order. See spin; see also grovel.
2. [ETA Systems] To test a wire or printed circuit trace for continuity by applying an AC rather than DC signal. Some wire faults will pass DC tests but fail a buzz test.
3. To process an array or list in sequence, doing the same thing to each element. This loop buzzes through the tz array looking for a terminator type.
[Jargon File]

bv
networking The country code for Bouvet Island.
(1999-01-27)

bw
networking The country code for Botswana.
(1999-01-27)

bwBASIC
Bywater BASIC interpreter.
A BASIC interpreter by Ted A. Campbell tcamp@delphi.com which implements a large superset of the ANSI Standard for Minimal BASIC (X3.60-1978) in ANSI C, and offers a simple interactive environment including some shell program facilities as an extension of BASIC. The interpreter source has been compiled successfully on a range of ANSI C compilers on varying platforms including MS-DOS, Unix, and Acorn RISC OS.
Version 2.10 was posted to news:comp.sources.misc, volume 40.
(1993-10-29)

BWQ
[IBM] Buzz Word Quotient. The percentage of buzzwords in a speech or documents. Usually roughly proportional to bogosity. See TLA.
[Jargon File]

by
networking The country code for Belarus.
(1999-01-27)

byacc
Berkeley Yacc

by hand
1. Said of an operation (especially a repetitive, trivial, and/or tedious one) that ought to be performed automatically by the computer, but which a hacker instead has to step tediously through. My mailer doesn't have a command to include the text of the message I'm replying to, so I have to do it by hand. This does not necessarily mean the speaker has to retype a copy of the message; it might refer to, say, dropping into a subshell from the mailer, making a copy of one's mailbox file, reading that into an editor, locating the top and bottom of the message in question, deleting the rest of the file, inserting characters on each line, writing the file, leaving the editor, returning to the mailer, reading the file in, and later remembering to delete the file. Compare eyeball search.
2. By extension, writing code which does something in an explicit or low-level way for which a presupplied library routine ought to have been available. This cretinous B-tree library doesn't supply a decent iterator, so I'm having to walk the trees by hand.
[Jargon File]

Byte
publication A popular computing magazine.
Home (http://www.byte.com).
(1997-03-27)

byte
unit /bi:t/ (B) A component in the machine data hierarchy usually larger than a bit and smaller than a word; now most often eight bits and the smallest addressable unit of storage. A byte typically holds one character.
A byte may be 9 bits on 36-bit computers. Some older architectures used byte for quantities of 6 or 7 bits, and the PDP-10 and IBM 7030 supported bytes that were actually bit-fields of 1 to 36 (or 64) bits! These usages are now obsolete, and even 9-bit bytes have become rare in the general trend toward power-of-2 word sizes.
The term was coined by Werner Buchholz in 1956 during the early design phase for the IBM Stretch computer. It was a mutation of the word bite intended to avoid confusion with bit . In 1962 he described it as a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units . The move to an 8-bit byte happened in late 1956, and this size was later adopted and promulgated as a standard by the System/360 operating system (announced April 1964).
James S. Jones jsjones@jsjones.graceland.edu adds:
I am sure I read in some historical brochure by IBM some 15-20 years ago that BYTE was an acronym that stood for Bit asYnchronous Transmission E__?__ which related to width of the bus between the Stretch CPU and its CRT-memory (prior to Core).
Terry Carr bear@mich.com says:
In the early days IBM taught that a series of bits transferred together (like so many yoked oxen) formed a Binary Yoked Transfer Element (BYTE).
[True origin? First 8-bit byte architecture?]
See also nibble, octet.
[Jargon File]
(1998-08-06)

byte-code
file format, software A binary file containing an executable program, formed by a sequence of op code/data pairs.
Byte-code op codes are most often fixed size binary patterns, but can be variable size. The data portion consists of zero or more bits, the format of the data portion may be determined by the identifier. The data is most often variable in size.
In some cases, by clever design, (e.g. some RISC instruction sets) the identifier/data pair is a fixed size. This can provide performance benefits.
A byte-code program is normally interpreted by a byte-code interpreter. The advantage of this technique compared with outputing machine code for a particular processor is that the same byte-code can be executed on any processor on which the byte-code interpreter runs. The byte-code may be compiled to machine code ( native code ) for speed of execution but this usually requires significantly greater effort for each new taraget architecture than simply porting the interpreter.
For example, Java is compiled to byte-code which runs on the Java Virtual Machine.
(1998-08-30)

byte-code compiler
programming, tool A compiler which outputs a program in some kind of byte-code.
Compare: byte-code interpreter.
(1995-11-04)

byte-code interpreter
software A program that executes a byte code program.
An example is the Java Virtual Machine.
(1999-11-28)

byte compiler
byte-code compiler

bytesexual
/bi:t sek shu-*l/ Said of hardware, denotes willingness to compute or pass data in either big-endian or little-endian format (depending, presumably, on a mode bit somewhere). See also NUXI problem.
[Jargon File]

Byzantine
jargon, architecture A term describing any system that has so many labyrinthine internal interconnections that it would be impossible to simplify by separation into loosely coupled or linked components.
The city of Byzantium, later renamed Constantinople and then Istanbul, and the Byzantine Empire were vitiated by a bureaucratic overelaboration bordering on lunacy: quadruple banked agencies, dozens or even scores of superfluous levels and officials with high flown titles unrelated to their actual function, if any.
Access to the Emperor and his council was controlled by powerful and inscrutable eunuchs and by rival sports factions.
[Edward Gibbon, Decline and Fall of the Roman Empire ].
(1999-01-15)

C
language A programming language designed by Dennis Ritchie at AT T Bell Labs ca. 1972 for systems programming on the PDP-11 and immediately used to reimplement Unix.
It was called C because many features derived from an earlier compiler named B . In fact, C was briefly named NB . B was itself strongly influenced by BCPL. Before Bjarne Stroustrup settled the question by designing C++, there was a humorous debate over whether C's successor should be named D or P (following B and C in BCPL ).
C is terse, low-level and permissive. It has a macro preprocessor, cpp.
Partly due to its distribution with Unix, C became immensely popular outside Bell Labs after about 1980 and is now the dominant language in systems and microcomputer applications programming. It has grown popular due to its simplicity, efficiency, and flexibility. C programs are often easily adapted to new environments.
C is often described, with a mixture of fondness and disdain, as a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language .
Ritchie's original C, known as K R C after Kernighan and Ritchie's book, has been standardised (and simultaneously modified) as ANSI C.
See also ACCU, ae, c68, c386, C-Interp, cxref, dbx, dsp56k-gcc, dsp56165-gcc, gc, GCT, GNU C, GNU superoptimiser, Harvest C, malloc, mpl, Pthreads, ups.
[Jargon File]
(1996-06-01)

C#
language /see sharp/ An object-oriented language devised and promoted by Microsoft, intended to replace Java, which it strongly resembles.
(http://csharpindex.com/).
(2001-10-04)

(c)
An ASCII rendition of the encircled c copyright symbol. Unfortunately, this rendition is not legally valid, the circle must be complete. The word copyright in full is perfectly adequate though.
(In LaTeX the copyright symbol is written as copyright).
[Jargon File]
(1995-02-03)

C*
language, parallel An object-oriented, data-parallel superset of ANSI C with synchronous semantics, for the Connection Machine, designed by Thinking Machines, 1987. C* adds a domain data type and a selection statement for parallel execution in domains.
An unimplemented language called Parallel C [which one?] influenced the design of C*. Dataparallel-C was based on C*.
Current version: 6.x, as of 1993-07-27.
[ C*: An Extended C Language for Data Parallel Programming , J.R. Rose et al, Proc Second Intl Conf on Supercomputing, L.P. Kartashev et al eds, May 1987, pp 2-16].
[ C* Programming Manual , Thinking Machines Corp, 1986].
[Jargon File]
(2000-11-14)

C++
language One of the most used object-oriented languages, a superset of C developed primarily by Bjarne Stroustrup bs@alice.att.com at AT T Bell Laboratories in 1986.
In C++ a class is a user-defined type, syntactically a struct with member functions. Constructors and destructors are member functions called to create or destroy instances. A friend is a nonmember function that is allowed to access the private portion of a class. C++ allows implicit type conversion, function inlining, overloading of operators and function names, and default function arguments. It has streams for I/O and references.
C++ 2.0 (May 1989) introduced multiple inheritance, type-safe linkage, pointers to members, and abstract classes.
C++ 2.1 was introduced in [ Annotated C++ Reference Manual , B. Stroustrup et al, A-W 1990].
MS-DOS (ftp://grape.ecs.clarkson.edu/pub/msdos/djgpp/djgpp.zip), Unix ANSI C++ (ftp://gnu.org/pub/gnu/g++-1.39.0.tar.Z) - X3J16 committee. (They're workin' on it).
See also cfront, LEDA, uC++.
Usenet newsgroup: news:comp.lang.c++.
[ The C++ Programming Language , Bjarne Stroustrup, A-W, 1986].
(1996-06-06)

C+-
language (C More or Less) A subject-oriented language (SOL). Each C+- class instance, known as a subject, holds hidden members, known as prejudices, agendas or undeclared preferences, which are impervious to outside messages; as well as public members, known as boasts or claims.
The following C operators are overridden as shown:
better than
worse than
way better than
forget it
! not on your life
== comparable, other things being equal
!== get a life, guy!
C+- is strongly typed, based on stereotyping and self-righteous logic. The Boolean variables TRUE and FALSE (known as constants in other, less realistic languages) are supplemented with CREDIBLE and DUBIOUS, which are fuzzier than Zadeh's traditional fuzzy categories. All Booleans can be declared with the modifiers strong and weak. Weak implication is said to preserve deniability and was added at the request of the DoD to ensure compatibility with future versions of Ada. Well-formed falsehoods (WFFs) are assignment-compatible with all Booleans. What-if and why-not interactions are aided by the special conditional EVENIFNOT X THEN Y.
C+- supports information hiding and, among friend classes only, rumor sharing. Borrowing from the Eiffel lexicon, non-friend classes can be killed by arranging contracts. Note that friendships are intransitive, volatile and non-Abelian.
Operator precedence rules can be suspended with the directive #pragma dwim, known as the Do what I mean pragma.
ANSIfication will be firmly resisted. C+-'s slogan is Be Your Own Standard.
[Jargon File]
(1999-06-15)

C+@
(Formerly Calico). An object-oriented language from Bell Laboratories which uniformly represents all data as a pointer to a self-described object. C+@ provides multiple inheritance with delegation and with control over which methods come from which delegated object; and default methodologies. It has a simple syntax with emphasis on graphics. It was originally used for prototyping of telecommunication services.
Unir Tech has the exclusive license from Bell Labs to distribute C+@. Unfortunately Unir is owned and operated by well-known anti-IETF ranter, Jim Fleming, which may have had something to do with the language's rapid disappearence from the radar screen.
It runs under SunOS and compiles to Vcode.
E-mail: Jim Vandendorpe jimvan@iexist.att.com .
[ A Dynamic C-Based Object-Oriented System for Unix , S. Engelstad et al, IEEE Software 8(3):73-85 (May 1991)].
[ The C+@ Programming Language , J. Fleming, Dr Dobbs J, Oct 1993, pp.24-32].
[Jargon File]
(2002-05-18)

C-10
An improved version of COLINGO.
[Sammet 1969, p.702].
(1994-10-28)

C1 security
Orange Book

c2man
tool An automatic documentation extraction tool by Graham Stoney greyham@research.canon.com.au . c2man extracts comments from C source code to generate functional interface documentation in the same format as sections 2 and 3 of the Unix Programmer's Manual. It looks for comments near the objects they document, rather than imposing a rigid syntax or requiring that the programmer use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications.
It supports both K R and ISO/ANSI C coding styles. Output can be in nroff -man, Texinfo or LaTeX format. It automagically documents enum parameter and return values, it handles both C (/* */) and C++ (//) style comments, but not C++ grammar (yet). It requires yacc, byacc or bison for syntax analysis; lex or flex for lexical analysis and nroff, groff, texinfo or LaTeX to format the output. It runs under Unix, OS/2 and MS-DOS.
Version 2.0 patchlevel 25 (1995-10-25).
Washington FTP (ftp://ftp.wustl.edu/usenet/comp.sources.reviewed/volume03/). Stuttgart FTP (ftp://ftp.informatik.uni-stuttgart.de/pub/archive/comp.sources/reviewed/). Patches (ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/).
Mailing list: listserv@research.canon.com.au ( subscribe c2man Your Name in the message body).
Patches posted to Usenet newsgroups news:comp.sources.bugs and news:comp.sources.reviewed.
(1994-02-21)

C2 security
Orange Book

c386
A compiler for K R C plus prototypes and other ANSI C features by Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker. c386 is targetted to several 68000 and Intel 80386 assemblers, including gas. floating-point support is by inline code or emulation. It can produce lots of warnings and generates better code than ACK.
Version 4.2a (ftp://bugs.nosc.mil/pub/Minix/common-pkgs/c386-4.2.tar.Z).
c386 has been ported to Intel 80386 and 68000 MINIX and should work on any Unix. It is actively worked on by the Walkers. Usenet newsgroup: news:comp.os.minix.

C5
An OPS5 implementation in C.

C64
Commodore 64

c68
c386 also produces 68000 code.

CA
1. theory, architecture cellular automaton.
2. company Computer Associates.
3. cryptography Certificate Authority.
(1996-09-28)

ca
networking The country code for Canada.
(1995-04-19)

cable modem
communications, hardware A type of modem that allows people to access the Internet via their cable television service.
A cable modem can transfer data at 500 kbps or higher, compared with 28.8 kbps for common telephone line modems, but the actual transfer rates may be lower depending on the number of other simultaneous users on the same cable.
Industry pundits often point out that the cable system still does not have the bandwidth or service level in many areas to make this feasible. For example, it has to be capable of two-way communication.
See also: DOCSIS.
(2000-12-19)

cache
memory management /kash/ A small fast memory holding recently accessed data, designed to speed up subsequent access to the same data. Most often applied to processor-memory access but also used for a local copy of data accessible over a network etc.
When data is read from, or written to, main memory a copy is also saved in the cache, along with the associated main memory address. The cache monitors addresses of subsequent reads to see if the required data is already in the cache. If it is (a cache hit) then it is returned immediately and the main memory read is aborted (or not started). If the data is not cached (a cache miss) then it is fetched from main memory and also saved in the cache.
The cache is built from faster memory chips than main memory so a cache hit takes much less time to complete than a normal memory access. The cache may be located on the same integrated circuit as the CPU, in order to further reduce the access time. In this case it is often known as primary cache since there may be a larger, slower secondary cache outside the CPU chip.
The most important characteristic of a cache is its hit rate - the fraction of all memory accesses which are satisfied from the cache. This in turn depends on the cache design but mostly on its size relative to the main memory. The size is limited by the cost of fast memory chips.
The hit rate also depends on the access pattern of the particular program being run (the sequence of addresses being read and written). Caches rely on two properties of the access patterns of most programs: temporal locality - if something is accessed once, it is likely to be accessed again soon, and spatial locality - if one memory location is accessed then nearby memory locations are also likely to be accessed. In order to exploit spatial locality, caches often operate on several words at a time, a cache line or cache block . Main memory reads and writes are whole cache lines.
When the processor wants to write to main memory, the data is first written to the cache on the assumption that the processor will probably read it again soon. Various different policies are used. In a write-through cache, data is written to main memory at the same time as it is cached. In a write-back cache it is only written to main memory when it is forced out of the cache.
If all accesses were writes then, with a write-through policy, every write to the cache would necessitate a main memory write, thus slowing the system down to main memory speed. However, statistically, most accesses are reads and most of these will be satisfied from the cache. Write-through is simpler than write-back because an entry that is to be replaced can just be overwritten in the cache as it will already have been copied to main memory whereas write-back requires the cache to initiate a main memory write of the flushed entry followed (for a processor read) by a main memory read. However, write-back is more efficient because an entry may be written many times in the cache without a main memory access.
When the cache is full and it is desired to cache another line of data then a cache entry is selected to be written back to main memory or flushed . The new line is then put in its place. Which entry is chosen to be flushed is determined by a replacement algorithm .
Some processors have separate instruction and data caches. Both can be active at the same time, allowing an instruction fetch to overlap with a data read or write. This separation also avoids the possibility of bad cache conflict between say the instructions in a loop and some data in an array which is accessed by that loop.
See also direct mapped cache, fully associative cache, sector mapping, set associative cache.
(1997-06-25)

cache block
cache line

cache coherency
storage (Or cache consistency ) /kash koh-heer'n-see/ The synchronisation of data in multiple caches such that reading a memory location via any cache will return the most recent data written to that location via any (other) cache.
Some parallel processors do not cache accesses to shared memory to avoid the issue of cache coherency. If caches are used with shared memory then some system is required to detect when data in one processor's cache should be discarded or replaced because another processor has updated that memory location. Several such schemes have been devised.
(1998-11-10)

cache conflict
storage A sequence of accesses to memory repeatedly overwriting the same cache entry. This can happen if two blocks of data, which are mapped to the same set of cache locations, are needed simultaneously.
For example, in the case of a direct mapped cache, if arrays A, B, and C map to the same range of cache locations, thrashing will occur when the following loop is executed:
for (i=1; i n; i++) C[i] = A[i] + B[i];
Cache conflict can also occur between a program loop and the data it is accessing.
See also ping-pong.
(1997-01-21)

cache consistency
cache coherency

cache hit
storage A request to read from memory which can satisfied from the cache without using the main memory.
Opposite: cache miss.
(1997-01-21)

cache line
storage (Or cache block) The smallest unit of memory than can be transferred between the main memory and the cache.
Rather than reading a single word or byte from main memory at a time, each cache entry is usually holds a certain number of words, known as a cache line or cache block and a whole line is read and cached at once. This takes advantage of the principle of locality of reference: if one location is read then nearby locations (particularly following locations) are likely to be read soon afterwards. It can also take advantage of page-mode DRAM which allows faster access to consecutive locations.
(1997-01-21)

cache memory
cache

cache miss
storage A request to read from memory which cannot be satisfied from the cache, for which the main memory has to be consulted.
Opposite: cache hit.
(1997-01-21)

Cache On A STick
architecture (COAST) Intel Corporation attempt to's standardise the modular L2 cache subsystem in Pentium-based computers.
A COAST module should be about 4.35 wide by 1.14 high. According to earlier specifications from Motorola, a module between 4.33 and 4.36 wide, and between 1.12 and 1.16 high is within the COAST standard. Some module vendors, including some major motherboard suppliers, greatly violate the height specification.
Another COAST specification violated by many suppliers concerns clock distribution in synchronous modules. The specification requires that the clock tree to each synchronous chip be balanced, i.e. equal length from edge of the connector to individual chips. An unbalanced clock tree increases reflections and noise.
For a 256 kilobyte cache module the standard requires the same clock be used for both chips but some vendors use separate clocks to reduce loading on the clock driver and hence increase the clock speed. However, this creates unbalanced loading in other motherboard configurations, such as motherboards with soldered caches in the system.
(1996-06-10)

caching
cache

CACI
A company developing and marketing SIMSCRIPT, MODSIM and other simulation software products.
Telephone: +1 (619) 457-9681.
(1994-09-22)

CACM
Communications of the ACM

CAD
Computer Aided Design

CAD/CAM
Computer Aided Design/Computer Aided Manufacturing.

CADD
Computer Aided Detector Design: a project to develop standards and methods to allow cooperation between HEP detector designers working in different institutes.

Cadence Design Systems
company A company that sells electronic design automation software and services.
Home (http://www.cadence.com/).
See also Verilog.
(1999-04-16)

CADET
Computer Aided Design Experimental Translator.
[Sammet 1969, p. 683].
(1994-11-29)

CADRE
company The US software engineering vendor which merged with Bachman Information Systems to form Cayenne Software in July 1996.
(1998-02-08)

CAE
1. operating system Common Applications Environment.
2. application Computer Aided Engineering.
(1999-09-17)

CAF
constant applicative form

CAFE
[ Job Control Languages: MAXIMOP and CAFE , J. Brandon, Proc BCS Symp on Job Control Languages--Past Present and Future, NCC, Manchester, England 1974].
(1994-10-28)

CAGE
Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).

CAI
Computer-Aided Instruction

Cairo
Windows NT 4

CAIS
Common APSE Interface Specification

CAIS-A
Common APSE Interface Set A
DoD-STD-1838A.

CAiSE
Conference on Advanced Information Systems Engineering.

CAJOLE
language (Chris And John's Own LanguagE) A dataflow language developed by Chris Hankin clh@doc.ic.ac.uk and John Sharp at Westfield College.
[ The Data Flow Programming Language CAJOLE: An Informal Introduction , C.L. Hankin et al, SIGPLAN Notices 16(7):35-44 (Jul 1981)].
(1994-11-08)

CAL
1. Computer Assisted Learning.
2. Course Author Language.
(1997-03-21)

Calc
tool, mathematics An extensible, advanced desk calculator and mathematical tool written in Emacs Lisp by Dave Gillespie daveg@synaptics.com . Calc runs as part of GNU Emacs. You can use Calc as only a simple four-function calculator, but it also provides additional features including choice of algebraic or RPN (stack-based) entry, logarithms, trigonometric and financial functions, arbitrary precision, complex numbers, vectors, matrices, dates, times, infinities, sets, algebraic simplification, differentiation, and integration.
Latest version: 2.02, as of 1994-11-08.
FTP calc-2.02.tar.z from your nearest GNU archive site.
(2000-10-20)

calculator
bitty box

Calculus of Communicating Systems
(CCS) A mathematical model (a formal language) for describing processes, mostly used in the study of parallelism. A CCS program, written in behaviour expressions syntax denotes a process behaviour. Programs can be compared using the notion of observational equivalence.
[ A Calculus of Communicating Systems , LNCS 92, Springer 1980].
[ Communication and Concurrency , R. Milner, P-H 1989].
(1994-11-29)

Calendar API
Calendar Application Programming Interface

Calendar Application Programming Interface
(CAPI, Calendar API) An API for calendar software.
Microsoft has defined a CAPI for their Schedule+ application.
(1995-01-11)

Caliban
A declarative annotation language for controlling the partitioning and placement of the evaluation of expressions in a distributed functional language. Designed by Paul Kelly phjk@doc.ic.ac.uk , Imperial College.
[ Functional Programming for Loosely-coupled Multiprocessors , P. Kelly, Pitman/MIT Press, 1989].
(1995-01-11)

Calico
C+@

California State University San Marcos
(CSUSM)
Home (http://coyote.csusm.edu/)
(1994-12-21)

callback
1. programming A scheme used in event-driven programs where the program registers a subroutine (a callback handler ) to handle a certain event. The program does not call the handler directly but when the event occurs, the run-time system calls the handler, usually passing it arguments to describe the event.
2. security A user authentication scheme used by some computers running dial-up services. The user dials in to the computer and gives his user name and password. The computer then hangs up the connection and uses an auto-dial modem to call back to the user's registered telephone number. Thus, if an unauthorised person discovers a user's password, the callback will go, not to him, but to the owner of that login who will then know that his account is under attack.
However, some PABXs can be fooled into thinking that the caller has hung up by sending them a dial tone. When the computer tries to call out on the same line it is not actually dialing through to the authorised user but is still connected to the original caller.
(1999-01-06)

call-by-name
(CBN) (Normal order reduction, leftmost, outermost reduction). An argument passing convention (first provided by ALGOL 60?) where argument expressions are passed unevaluated. This is usually implemented by passing a pointer to some code which will return the value of the argument and an environment giving the values of its free variables. This evaluation strategy is guaranteed to reach a normal form if one exists.
When used to implement functional programming languages, call-by-name is usually combined with graph reduction to avoid repeated evaluation of the same expression. This is then known as call-by-need. The opposite of call-by-name is call-by-value where arguments are evaluated before they are passed to a function. This is more efficient but is less likely to terminate in the presence of infinite data structures and recursive functions. Arguments to macros are usually passed using call-by-name.
(1994-11-29)

call-by-need
reduction A reduction strategy which delays evaluation of function arguments until they are needed because they are arguments to a primitive function or a conditional. Call-by-need is one part of lazy evaluation.
The term first appears in Chris Wadsworth's thesis Semantics and Pragmatics of the Lambda calculus (Oxford, 1971, p. 183). It was used later, by J. Vuillemin in his thesis (Stanford, 1973).
(1995-05-27)

call-by-reference
An argument passing convention where the address of an argument variable is passed to a function or procedure, as opposed to where the value of the argument expression is passed. Execution of the function or procedure may have side-effects on the actual argument as seen by the caller. The C language's (address of) and * (dereference) operators allow the programmer to code explicit call-by-reference. Other languages provide special syntax to declare reference arguments (e.g. ALGOL 60). See also call-by-name, call-by-value, call-by-value-result.

call-by-value
(CBV) An evaluation strategy where arguments are evaluated before the function or procedure is entered. Only the values of the arguments are passed and changes to the arguments within the called procedure have no effect on the actual arguments as seen by the caller. See applicative order reduction, call-by-value-result, strict evaluation, call-by-name, lazy evaluation.

call-by-value-result
An argument passing convention where the actual argument is a variable V whose value is copied to a local variable L inside the called function or procedure. If the procedure modifies L, these changes will not affect V, which may also be in scope inside the procedure, until the procedure returns when the final value of L is copied to V. Under call-by-reference changes to L would affect V immediately. Used, for example, by BBC BASIC V on the Acorn Archimedes.

call/cc
call-with-current-continuation

callee
programming The function or subroutine being called by the caller.
(2001-05-09)

Caller ID
(CID) A feature of some modems.

calling convention
programming The arrangement of arguments for a procedure or function call. Different programming languages may require arguments to be pushed onto a stack or entered in registers in left-to-right or right-to left order, and either the caller or the callee can be responsible for removing the arguments. The calling convention also determines if a variable number of arguments is allowed.
(1995-11-11)

Call-Level Interface
database, standard (SQL/CLI) A programming interface designed to support SQL access to databases from shrink-wrapped application programs.
CLI was originally created by a subcommittee of the SQL Access Group (SAG). The SAG/CLI specification was published as the Microsoft Open DataBase Connectivity (ODBC) specification in 1992. In 1993, SAG submitted the CLI to the ANSI and ISO SQL committees.
SQL/CLI provides an international standard implementation-independent CLI to access SQL databases. Client-server tools can easily access databases through dynamic link libraries. It supports and encourages a rich set of client-server tools.
SQL/CLI is an addendum to 1992 SQL standard (SQL-92). It was completed as ISO standard ISO/IEC 9075-3:1995 Information technology -- Database languages -- SQL -- Part 3: Call-Level Interface (SQL/CLI). The current SQL/CLI effort is adding support for SQL3.
(http://www.jcc.com/sql_cli.html).
(1996-10-27)

Call Unix
communications, tool (cu) The original Unix virtual terminal utility. cu allows a user on one computer to log in to another connected via Ethernet, direct serial line or modem. It shares some configuration files with UUCP in order to be able to use the same connections without conflict.
Unix manual page: cu(1).
(1997-12-01)

Callware
company The developers of Phonetastic.
(1996-12-08)

call-with-current-continuation
Lisp, programming (call/cc) A Lisp control function that takes a function f as its argument and calls f, passing it the current continuation, which is itself a function, k. k, which represents the context of the call to call/cc, takes the result of call/cc (which is the result of f) and returns the final result of the whole program. Thus if, for example, the final result is to print the value returned by call/cc then anything passed to k will also be printed.
E.g, in Scheme:
(define (f k)
(k 1)
(k 2)
3)
(display (call-with-current-continuation f))
Will display 1.
(2001-04-27)

CALS
Computer-Aided Acquisition and Logistics Support: a DoD standard for electronic exchange of data with commercial suppliers.

CAM
1. storage, architecture content addressable memory.
2. application computer aided manufacturing.
(1999-09-17)

CAM-6
Software for running cellular automata. CAM-6 has been implemented in hardware as CAM-PC.
(1995-04-21)

CAMAL
tool CAMbridge ALgebra system.
A symbolic mathematics system used in Celestial Mechanics and General Relativity. CAMAL was implemented in BCPL on Titan.
[ CAMAL User's Manual , John P. Fitch, Cambridge U, England (1975)].
[ The Design of the Cambridge Algebra System , S.R. Bourne et al, Proc 2nd Symp of Symb Alg Manip, SIGSAM 1971].
(1995-02-16)

Cambridge Lisp
A flavour of Lisp using BCPL. Sources owned by Fitznorman partners.

Camelot Library
library
[ The Camelot Library , J. Bloch, in Guide to the Camelot Distributed Transaction Facility: Release I , A.Z. Spector et al eds, CMU 1988, pp. 29-62].
[What is it?]
(1995-04-19)

camera ready
publication A final edition of a document or graphic (e.g. a newspaper advertisement or a technical paper for a journal) that is of suitable quality for mass reproduction by making printing plates from the negatives by photoengraving.
(1996-11-15)

CAMIL
Computer Assisted/Managed Instructional Language.
A language used for CAI at Lowry AFB, CO.
[ The CAMIL Programming Language , David Pflasterer, SIGPLAN Notices 13(11):43 (Nov 1978)].
(1994-11-09)

CAML
language
1. A language for preparation of animated movies. 1976.
(1994-11-09)
2. Categorical Abstract Machine Language.
(2000-07-06)

Caml Light
A small portable implementation of a version of CAML by Xavier Leroy Xavier.Leroy@inria.fr and Damien Doligez of INRIA. Caml Light uses a bytecode interpreter written in C. It adds a Modula-2-like module system, separate compilation, lazy streams for parsing and printing, graphics primitives and an interface with C.
Version 0.6 runs on Unix, MS-DOS, Macintosh, Atari ST and Amiga. It includes an interpreter, compiler, Emacs mode, libraries, scanner generator, parser generator, run-time support and an interactive development environment.
(ftp://ftp.inria.fr/lang/caml-light/)
E-mail: caml-light@margaux.inria.fr .
Mailing list: caml-list@margaux.inria.fr .
Usenet newsgroup: news:comp.lang.ml.
(1993-10-06)

CAM-PC
hardware A cellular automata circuit board which is a hardware implementation from Automatrix of the MIT CAM-6 machine. It comes with dozens of experiments and applications.
Home (http://www.automatrix.com/campc/index.html)
(1995-04-21)

Campus Wide Information System
(CWIS) Information and services made publicly available at university sites via kiosks running interactive computing systems, possibly via campus networks. Services routinely include directory information, calendars, bulletin boards and databases.
(1994-11-09)

CAN
Cancel

Canada
Country with domain ca .
(1995-04-06)

Cancel
character (CAN, Control-X) ASCII character 24.
(1996-06-28)

Cancelbunny
Cancelpoodle

Cancelm00se
Cancelmoose

Cancelmoose
messaging A semi-mythical being that cancels Usenet articles posted by others. (In general, an article can only be cancelled by its original author.)
The Cancelmoose's usual target is spam or extremely excessive cross-posting.
Some believe that the Cancelmoose exists only in the same mythic sense that B1FF, the NSA line eater and Shub Internet exist; others consider Cancelmoose's historicity to be closer to that of Kibo. The latter group assume that the real Cancelmoose is not one person (or moose), but instead is a cabal of NNTP wonks. However, the Cancelmoose is probably real, seeing as how it has its own web site.
Home (http://www.nocem.org/).
(1999-01-14)

Cancelpoodle
messaging (Or Cancelbunny) A manifestation of the Cancelmoose in the form of a more selective (and probably not automated) way to cancel Usenet articles.
The term became common during the alt.religion.scientology wars of the mid-90s, during which Cancelpoodles were used. The poodle part is an allusion to one of the parties obliquely involved in the fray, who an earlier well-known witticism had compared to a psychotic poodle .
(1999-01-14)

candidate key
database One of several possible attributes or combinations of attributes which can be used to uniquely identify a body of information (a record ).
(1997-04-26)

Candle
Part of the Scorpion environment development system.
(1994-11-09)

candygrammar
A programming-language grammar that is mostly syntactic sugar; the term is also a play on candygram . COBOL, Apple Computer's Hypertalk language, and a lot of the so-called 4GL database languages share this property. The usual intent of such designs is that they be as English-like as possible, on the theory that they will then be easier for unskilled people to program. This intention comes to grief on the reality that syntax isn't what makes programming hard; it's the mental effort and organisation required to specify an algorithm precisely that costs. Thus the invariable result is that candygrammar languages are just as difficult to program in as terser ones, and far more painful for the experienced hacker.
[The overtones from the old Chevy Chase skit on Saturday Night Live should not be overlooked. This was a Jaws parody. Someone lurking outside an apartment door tries all kinds of bogus ways to get the occupant to open up, while ominous music plays in the background. The last attempt is a half-hearted Candygram! When the door is opened, a shark bursts in and chomps the poor occupant. There is a moral here for those attracted to candygrammars. Note that, in many circles, pretty much the same ones who remember Monty Python sketches, all it takes is the word Candygram! , suitably timed, to get people rolling on the floor. - GLS]
[Jargon File]
(2001-06-22)

canonical
(Historically, according to religious law )
1. mathematics A standard way of writing a formula. 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. Things in canonical form are easier to compare.
2. jargon The usual or standard state or manner of something. The term acquired this meaning 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-technical 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 usages relating to religious law derive from this use of the Latin canon . It may also be related to arabic qanun (law).
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 incessant use of jargon. Over his loud objections, GLS and RMS made a point of using as much of it 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 .
(2002-02-06)

Canonical Encoding Rules
protocol, standard (CER) A restricted variant of BER for producing unequivocal transfer syntax for data structures described by ASN.1.
Whereas BER gives choices as to how data values may be encoded, CER and DER select just one encoding from those allowed by the basic encoding rules, eliminating all of the options. They are useful when the encodings must be preserved, e.g. in security exchanges.
CER and DER differ in the set of restrictions that they place on the encoder. The basic difference between CER and DER is that DER uses definitive length form and CER uses indefinite length form.
Documents: ITU-T X.690, ISO 8825-1.
See also PER.
(1998-05-19)

canonical name
(CNAME) A host's official name as opposed to an alias. The official name is the first hostname listed for its Internet address in the hostname database, /etc/hosts or the Network Information Service (NIS) map hosts.byaddr ( hosts for short). A host with multiple network interfaces may have more than one Internet address, each with its own canonical name (and zero or more aliases).
You can find a host's canonical name using nslookup if you say
set querytype=CNAME
and then type a hostname.
(1994-11-29)

canonicity
theory, jargon The extent to which something is canonical.
(1995-03-03)

C (ANSI)
ANSI C

can't happen
programming The traditional program comment for code executed under a condition that should never be true, for example a file size computed as negative. Often, such a condition being true indicates data corruption or a faulty algorithm; it is almost always handled by emitting a fatal error message and terminating or crashing, since there is little else that can be done.
Some case variant of can't happen is also often the text emitted if the impossible error actually happens. Although can't happen events are genuinely infrequent in production code, programmers wise enough to check for them habitually are often surprised at how frequently they are triggered during development and how many headaches checking for them turns out to head off.
See also firewall code, professional programming.
[Jargon File]
(1996-05-10)

Cantor
1. person, mathematics A mathematician.
Cantor devised the diagonal proof of the uncountability of the real numbers:
Given a function, f, from the natural numbers to the real numbers, consider the real number r whose binary expansion is given as follows: for each natural number i, r's i-th digit is the complement of the i-th digit of f(i).
Thus, since r and f(i) differ in their i-th digits, r differs from any value taken by f. Therefore, f is not surjective (there are values of its result type which it cannot return).
Consequently, no function from the natural numbers to the reals is surjective. A further theorem dependent on the axiom of choice turns this result into the statement that the reals are uncountable.
This is just a special case of a diagonal proof that a function from a set to its power set cannot be surjective:
Let f be a function from a set S to its power set, P(S) and let U = x in S: x not in f(x) . Now, observe that any x in U is not in f(x), so U != f(x); and any x not in U is in f(x), so U != f(x): whence U is not in f(x) : x in S . But U is in P(S). Therefore, no function from a set to its power-set can be surjective.
2. language An object-oriented language with fine-grained concurrency.
[Athas, Caltech 1987. Multicomputers: Message Passing Concurrent Computers , W. Athas et al, Computer 21(8):9-24 (Aug 1988)].
(1997-03-14)

CAP
1. networking Columbia AppleTalk Package.
2. communications Carrierless Amplitude/Phase Modulation.
3. networking Competitive Access Provider

Capabilities Maturity Model
software (CMM) The Software Engineering Institute's model of software engineering that specifies five levels of maturity of the processes of a software organisation. CMM offers a framework for evolutionary process improvement. Originally applied to software development (SE-CMM), it has been expanded to cover other areas including Human Resources and Software Acquitition.
The levels - focii - and key process areas are:
Level 1 Initial - Heroes - None.
Level 2 Repeatable - Project Management - Software Project Planning, Software Project Tracking and Oversight, Software Subcontract Management, Software Quality Assurance, Software Configuration Management, Requirements Management.
Level 3 Defined - Engineering Process - Organisation Process Focus, Organisation Process Definition, Peer Reviews, Training Program, Inter-group Coordination, Software Product Engineering, Integrated Software Management.
Level 4 Managed - Product and Process Quality - Software Quality Management, Quantitative Process Management.
Level 5 Optimising - Continuous Improvement - Process Change Management, Technology Change Management, Defect Prevention.
[Reference?]
(2001-04-28)

capability
operating system, security An operating system security or access control model where specific types of access to a specific object are granted by giving a process this data structure or token.
The token may be unforgeable (typically by using encryption or hardware tagged memory). Capabilities are used in OSes such as Hydra, KeyKOS, EROS, Chorus/Mix, and the Stanford V system. Similar to Kerberos, but in an OS context.
Compare access control list.
(1998-03-08)

Capability Maturity Model
Capabilities Maturity Model

capacitor
electronics An electronic device that can store electrical charge. The charge stored Q in Coulombs is related to the capacitance C in Farads and the voltage V across the capacitor in Volts by Q = CV.
The basis of a dynamic RAM cell is a capacitor. They are also used for power-supply smoothing (or decoupling ). This is especially important in digital circuits where a digital device switching between states causes a sudden demand for current. Without sufficient local power supply decoupling, this current spike cannot be supplied directly from the power supply due to the inductance of the connectors and so will cause a sharp drop in the power supply voltage near the switching device. This can cause other devices to malfunction resulting in hard to trace glitches.
(1995-04-12)

capacity
communications The maximum possible data transfer rate of a communications channel under ideal conditions. The total capacity of a channel may be shared between several independent data streams using some kind of multiplexing, in which case, each stream's data rate may be limited to a fixed fraction of the total capacity.
(2001-05-22)

CAPI
1. Calendar Application Programming Interface.
2. cryptography Cryptographic Application Programming Interface.
3. networking Common ISDN Application Programming Interface.
(1998-09-07)

Cap'n Crunch
Captain Crunch

Captain Abstraction
The champion of the principles of abstraction and modularity, who protects unwary students on MIT's course 6.001 from the nefarious designs of Sergeant Spaghetticode and his vile concrete programming practices.
See also spaghetti code.
(1994-11-22)

Captain Crunch
1. person ( Cap'n Crunch ) An early 1970s hacker/phreaker/phacker who used a free whistle included with Cap'n Crunch breakfast cereal to fake pay phone system tones and make large quantities of free phone calls. Also alludes to crunch .
Home (http://www.well.com/user/crunch/).
2. (After the above) wardialer.
3. Reportedly, a program which crashes a computer by overloading the interrupt stack.
(1998-08-25)

card
1. A circuit board.
2. A punched card.
3. hypertext An alternative term for a node in a system (e.g. HyperCard, Notecards) in which the node size is limited.

Cardbox for Windows
database A database handling program, especially useful for scholars and librarians.
[Details? Features? Developer? URL?]
(1997-05-14)

Cardbus
hardware The 32-bit version of the PCMCIA (PC Card) bus.
[Spec?]
(1996-08-20)

cardinality
mathematics The number of elements in a set. If two sets have the same number of elements (i.e. there is a bijection between them) then they have the same cardinality. A cardinality is thus an isomorphism class in the category of sets.
aleph 0 is defined as the cardinality of the first infinite ordinal, omega (the number of natural numbers).
(1995-03-29)

cardinal number
The cardinality of some set.

CARDS
Central Archive for Reusable Defense Software of the DoD.

card walloper
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.
[Jargon File]

Career Limiting Move
jargon (CLM, Sun) Any action endangering one's future prospects of getting plum projects and raises, and possibly one's job. E.g. His Halloween costume was a parody of his manager. He won the prize for best CLM . A severe bug discovered by a customer might be a CLM bug .
(2000-08-09)

caret
^
Common: hat; control; uparrow; caret; ITU-T: circumflex. Rare: chevron; INTERCAL: shark (or shark-fin); to the ( to the power of ); fang; pointer (in Pascal).

careware
/keir'weir/ (Or charityware ) 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.
Compare crippleware.
[Jargon File]
(1994-12-16)

cargo cult programming
programming, humour 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 centre on building elaborate mockups of aeroplanes and military style landing strips in the hope of bringing the return of the god-like aeroplanes that brought such marvelous cargo during the war. Hackish usage probably derives from Richard Feynman's characterisation 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).
[Jargon File]
(2002-05-28)

Caribou CodeWorks
company The company which sells QTRADER.
Director of Marketing: Norm Larsen wwcoinc@winternet.com .
(1995-11-05)

Carl Friedrich Gauss
person A German mathematician (1777 - 1855), one of all time greatest. Gauss discovered the method of least squares and Gaussian elimination.
Gauss was something of a child prodigy; the most commonly told story relates that when he was 10 his teacher, wanting a rest, told his class to add up all the numbers from 1 to 100. Gauss did it in seconds, having noticed that 1+...+100 = 100+...+1 = (101+...+101)/2.
He did important work in almost every area of mathematics. Such eclecticism is probably impossible today, since further progress in most areas of mathematics requires much hard background study.
Some idea of the range of his work can be obtained by noting the many mathematical terms with Gauss in their names. E.g. Gaussian elimination (linear algebra); Gaussian primes (number theory); Gaussian distribution (statistics); Gauss [unit] (electromagnetism); Gaussian curvature (differential geometry); Gaussian quadrature (numerical analysis); Gauss-Bonnet formula (differential geometry); Gauss's identity (hypergeometric functions); Gauss sums (number theory).
His favourite area of mathematics was number theory. He conjectured the Prime Number Theorem, pioneered the theory of quadratic forms, proved the quadratic reciprocity theorem, and much more.
He was the first mathematician to use complex numbers in a really confident and scientific way (Hardy Wright, chapter 12).
He nearly went into architecture rather than mathematics; what decided him on mathematics was his proof, at age 18, of the startling theorem that a regular N-sided polygon can be constructed with ruler and compasses if and only if N is a power of 2 times a product of distinct Fermat primes.
(1995-04-10)

Carnegie Mellon University
body, education (CMU) A university in Pittsburgh, Pennsylvania. School of Computer Science (http://www.cs.cmu.edu/Web/FrontDoor.html).
(1997-06-23)

carpal tunnel syndrome
overuse strain injury

Carriage Return
character (CR, Control-M, ASCII 13) The character which causes the cursor to move to the left margin, often used with line feed to start a new line of output.
Encoded in C and Unix as r .
(1996-06-24)

Carrierless Amplitude/Phase Modulation
communications (CAP) A design of Asymmetric Digital Subscriber Line transceiver developed by Bell Labs. CAP was the first ADSL design to be commercially deployed and, as of August 1996, was installed on more lines than any other.
CAP is a variation of Quadrature Amplitude Modulation, the modulation used by most existing modems in 1997. With CAP, the three channels (POTS, downstream data and upstream data) are supported by splitting the frequency spectrum. Voice occupies the standard 0-4 Khz frequency band, followed by the upstream channel and the high-speed downstream channel.
(1997-10-08)

carrier scanner
security (Or wardialer ) A program which uses a modem to dial a series of phone numbers (say, from 770-0000 to 770-9999), and keeps a log of what phone numbers answer with a modem carrier. The results of such a search were generally used by people looking to engage in random mischief in random machines.
Since the 1980s, wardialers have generally fallen into disuse, partly because of easily available caller ID technology, partly because fax machines are now in wide use and would often be logged as a carrier by a wardialer, and partly because there are so many new and more interesting venues for computerised mischief these days.
(1997-03-16)

carrier signal
communications A continuous signal of a single frequency capable of being modulated by a second, data-carrying signal. In radio communication, the two common kinds of modulation are amplitude modulation and frequency modulation.
(1995-03-01)

Cartesian coordinates
mathematics, graphics (After Renee Descartes, French philosopher and mathematician) A pair of numbers, (x, y), defining the position of a point in a two-dimensional space by its perpendicular projection onto two axes which are at right angles to each other. x and y are also known as the abscissa and ordinate.
The idea can be generalised to any number of independent axes.
Compare polar coordinates.
(1997-07-08)

Cartesian product
mathematics (After Renee Descartes, French philosper and mathematician) The Cartesian product of two sets A and B is the set
A x B = (a, b) | a in A, b in B.
I.e. the product set contains all possible combinations of one element from each set. The idea can be extended to products of any number of sets.
If we consider the elements in sets A and B as points along perpendicular axes in a two-dimensional space then the elements of the product are the Cartesian coordinates of points in that space.
See also tuple.
(1995-03-01)

CAS
Column Address Strobe

CAS 8051 Assembler
An experimental one-pass assembler for the 8051 with C-like syntax by Mark Hopkins. Most features of a modern assembler included except macros (soon to be added). Requires an ANSI-C compiler. Ported to MS-DOS, Ultrix, Sun-4. (July 1993).
Version 1.2. Assembler/linker, disassembler, documentation, examples.
(ftp://lyman.pppl.gov/pub/8051/assem), (ftp://nic.funet.fi/pub/microprocs/MCS-51/csd4-archive/assem). Other software tools and applications (ftp://nic.funet.fi/pub/compilers/8051/).
(1995-01-26)

cascade
1. compiler A huge volume of spurious error-messages output by a compiler with poor error recovery. Too frequently, one trivial syntax error (such as a missing ) or ) throws the parser out of synch so that much of the remaining program text, whether correct or not, is interpreted as garbaged or ill-formed.
2. messaging A chain of Usenet followups, each adding some trivial variation or 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.
3. networking A collection of interconneced networking devices, typically hubs, that allows those devices to act together as a logical repeater.
[Jargon File]
(1997-07-17)

Cascading Style Sheets
World-Wide Web (CSS) An extension to HTML to allow styles, e.g. colour, font, size to be specified for certain elements of a hypertext document. Style information can be included in-line in the HTML file or in a separate CSS file (which can then be easily shared by multiple HTML files). Multiple levels of CSS can be used to allow selective overriding of styles.
Home (http://www.w3.org/Style/CSS/).
(2000-07-26)

CASE
1. Computer Aided Software Engineering.
2. Common Application Service Element.

case
1. programming switch statement.
2. character Whether a character is a capital letter ( upper case - ABC..Z) or a small letter ( lower case - abc..z).
The term case comes from the printing trade when the use of moving type was invented in the early Middle Ages (Caxton or Gutenberg?) and the letters for each font were stored in a box with two sections (or cases ), the upper case was for the capital letters and the lower case was for the small letters. The Oxford Universal Dictionary of Historical Principles (Feb 1993, reprinted 1952) indicates that this usage of case (as the box or frame used by a compositor in the printing trade) was first used in 1588.
(1996-03-01)

case and paste
programming (From cut and paste ) 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.
At DEC, this is sometimes called clone-and-hack coding.
[Jargon File]
(1996-03-01)

case based reasoning
artificial intelligence (CBR) A technique for problem solving which looks for previous examples which are similar to the current problem. This is useful where heuristic knowledge is not available.
There are many situations where experts are not happy to be questioned about their knowledge by people who want to write the knowledge in rules, for use in expert systems. In most of these situations, the natural way for an expert to describe his or her knowledge is through examples, stories or cases (which are all basically the same thing). Such an expert will teach trainees about the expertise by apprenticeship, i.e. by giving examples and by asking the trainees to remember them, copy them and adapt them in solving new problems if they describe situations that are similar to the new problems. CBR aims to exploit such knowledge.
Some key research areas are efficient indexing, how to define similarity between cases and how to use temporal information.
(1996-05-28)

CASE Data Interchange Format
(CDIF) An emerging standard for interchange of data between CASE tools.
(1994-11-03)

CASE framework
A set of products and conventions that allow CASE tools to be integrated into a coherent environment.

case insensitive
case sensitivity

Case Integration Services
standard, programming (CIS) A committee formed to discuss CASE tool integration standards related to ATIS.
(1994-10-25)

CASE*Method
An analysis and design method from Oracle targeted at information management applications.
(1994-10-28)

case sensitive
case sensitivity

case sensitivity
text Whether a text matching operation distinguishes upper-case (capital) letters from lower case (is case sensitive ) or not ( case insensitive ).
Case in file names should be preserved (for readability) but ignored when matching (so the user doesn't have to get it right). MS-DOS does not preserve case in file names, Unix preserves case and matches are case sensitive.
Any decent text editor will allow the user to specify whether or not text searches should be case sensitive.
Case sensitivity is also relevant in programming (most programming languages distiguish between case in the names of identifiers), and addressing (Internet domain names are case insensitive but RFC 822 local mailbox names are case sensitive).
Case insensitive operations are sometimes said to fold case , from the idea of folding the character code table so that upper and lower case letters coincide. The alternative smash case is more likely to be used by someone who considers this behaviour a misfeature or in cases where one case is actually permanently converted to the other.
MS-DOS will automatically smash case in the names of all the files you create .
(1997-07-09)

CASE SOAP III
Version of SOAP assembly language for IBM 650. Listed in CACM 2(5):16 (May 1959).

case statement
switch statement

CASE tools
Software tools to help in the application of CASE methods to a software project.

cashe
spelling It's spelled cache .
(1996-12-13)

CAST
Computer Aided Software Testing

cast
explicit type conversion

casters-up mode
[IBM, probably from slang belly up] 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).
[Jargon File]

casting the runes
jargon What a guru does when you ask him or her to run a particular program because it never works for anyone else; especially 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.
(1997-12-26)

CAT
Common Abstract Tree Language. R. Voeller Uwe Schmidt, U Kiel, Germany 1983. Universal intermediate language, used by Norsk Data in their family of compilers. A Multi-Language Compiler System with Automatically Generated Codegenerators, U. Schmidt et al, SIGPLAN Notices 19(6):202-2121 (June 1984).
[Jargon File]

cat
tool (From catenate ) Unix's command which copies one or more entire files to the screen or some other output sink without pause.
See also dd, BLT.
Among Unix fans, cat is considered an excellent example of user-interface design, because it delivers the file contents without such verbosity as spacing or headers between the files (the pr command can be used to do this), 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 is considered the canonical example of *bad* user-interface design, because of its woefully unobvious name. It is far more often used to blast a file to standard output than to concatenate files. The name cat for the former operation is just as unintuitive as, say, LISP's cdr.
Of such oppositions are holy wars made.
(1994-11-29)

Cat 3
Category 3

Cat 5
Category 5

catatonic
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). Compare buzz.
[Jargon File]

CATE
Computer Aided Test Engineering: CASE methods applied to electronics testing and linked to CAE

Categorical Abstract Machine Language
Objective CAML

category
theory A category K is a collection of objects, obj(K), and a collection of morphisms (or arrows ), mor(K) such that
1. Each morphism f has a typing on a pair of objects A, B written f:A- B. This is read 'f is a morphism from A to B'. A is the source or domain of f and B is its target or co-domain .
2. There is a partial function on morphisms called composition and denoted by an infix ring symbol, o. We may form the composite g o f : A - C if we have g:B- C and f:A- B.
3. This composition is associative: h o (g o f) = (h o g) o f.
4. Each object A has an identity morphism id_A:A- A associated with it. This is the identity under composition, shown by the equations id_B o f = f = f o id_A.
In general, the morphisms between two objects need not form a set (to avoid problems with Russell's paradox). An example of a category is the collection of sets where the objects are sets and the morphisms are functions.
Sometimes the composition ring is omitted. The use of capitals for objects and lower case letters for morphisms is widespread but not universal. Variables which refer to categories themselves are usually written in a script font.
(1997-10-06)

Category 3
hardware (Cat 3, or voice grade ) An American Standards Institute standard for cables. Used, e.g., for 100BaseVG network cabling.
(1998-06-30)

Category 5
hardware (Cat 5) An American Standards Institute standard for cables. Used, e.g., for 100BaseTX cabling.
(1998-06-30)

CA-Telon
application A Computer Aided Software Engineering (CASE) tool for designing, generating and maintaining COBOL and PL/I application programs. Telon was developed by Pansophic Systems who were bought by Computer Associates in 1991, whereupon it was renamed CA-Telon.
It supports high-level, non-prodedural design and prototyping, combined with automatic code generation. There are mainframe and PC versions. The generated COBOL applications can execute in AIX, HP-UX, VSE, OS/400 for the AS/400, PC-DOS, or OS/2.
(2000-01-19)

cathode ray tube
hardware (CRT) An electrical device for displaying images by exciting phosphor dots with a scanned electron beam. CRTs are found in computer VDUs and monitors, televisions and oscilloscopes. The first commercially practical CRT was perfected on 29 January 1901 by Allen B DuMont.
A large glass envelope containing a negative electrode (the cathode) emits electrons (formerly called cathode rays ) when heated, as in a vacuum tube. The electrons are accelerated across a large voltage gradient towards the flat surface of the tube (the screen) which is covered with phosphor. When an electron strikes the phosphor, light is emitted. The electron beam is deflected by electromagnetic coils around the outside of the tube so that it scans across the screen, usually in horizontal stripes. This scan pattern is known as a raster. By controlling the current in the beam, the brightness at any particular point (roughly a pixel ) can be varied.
Different phosphors have different persistence - the length of time for which they glow after being struck by electrons. If the scanning is done fast enough, the eye sees a steady image, due to both the persistence of the phospor and of the eye itself. CRTs also differ in their dot pitch, which determines their spatial resolution, and in whether they use interlace or not.
(1994-11-17)

CATIA
tool, CAD, product A CAD/CAM system produced by Dassault Systemes and sold by IBM. CATIA is used heavily in the car and aerospace industries. It runs on various Unix platforms and Windows NT.
Home (http://www.catia.ibm.com/catmain.html).
(2002-06-12)

cationic cocktail
hardware (Or Downy cocktail ) Diluted fabric softener sprayed on computer room carpets to prevent static electricity from being built up by feet shuffling on carpet.
The canonical cationic cocktail is one part unscented liquid fabric softener (in the US, usually Downy brand) to five parts water.
Cationic is the chemical term for the most common active ingredient in fabric softeners. The use of the term cocktail may be influenced by its use in other jargons, especially pharmacological and chemical, to denote a mixture which, like cationic cocktail, typically contains no alcohol and would be unwise to drink.
(1998-04-04)

C/ATLAS
language A DoD test language. It is a variant of ATLAS.
(1995-05-01)

CATNIP
Common Architecture for Next Generation Internet Protocol

CATO
Fortran-like CAI language for PLATO system on CDC 1604. CSL PLATO System Manual , L.A. Fillman, U Illinois, June 1966.

Cauchy sequence
mathematics A sequence of elements from some vector space that converge and stay arbitrarily close to each other (using the norm definied for the space).
(2000-03-10)

cause-effect graphing
programming A testing technique that aids in selecting, in a systematic way, a high-yield set of test cases that logically relates causes to effects to produce test cases. It has a beneficial side effect in pointing out incompleteness and ambiguities in specifications.
(1996-05-10)

CAV
Constant Angular Velocity

Cayenne Software
company The company formed when CADRE merged with Bachman Information Systems in July 1996.
Home (http://www.cayennesoft.com/).
[Details?]
(2001-04-30)

CAYLEY
symbolic mathematics, tool A symbolic mathematics system for group theory written by John Cannon of the University of Sydney, Australia in 1976.
Cayley was used at about 100 sites but has been superseded by a much more general system, Magma.
[ An Introduction to the Group Theory Language CAYLEY , J. Cannon, Computational Group Theory, M.D. Atkinson ed, Academic Press 1984, pp. 148-183].
Current version: V3.7, for Sun, Apollo, VAX/VMS.
(2000-09-03)

cb
C Beautifier

CBASIC
A BASIC compiler by Gordon Eubanks, now at Symantec. It evolved from/into EBASIC.
(1994-11-29)

C-BC
A strongly typed version of BC by Mark Hopkins, with expanded C-like syntax, more base types and the ability to form array and pointer types of any dimension and to allocate/free arrays at run time.
Most POSIX-BC features are supported, except that functions must be declared consistently and declared before first use. String handling is slightly different. It requires and ANSI-C compiler and runs under MS-DOS or Unix.
Version 1.1.
Posted to alt.sources 1993-04-10.
(1993-08-23)

CBD
component based development

C Beautifier
(cb) A Unix tool for reformatting C source code.
Unix manual page: cb(1).

CBIR
image content-based information retrieval.
(1995-11-23)

CBN
call-by-name

CBR
case based reasoning

CBT
Computer-Based Training

CBV
call-by-value

cbw
Crypt Breakers Workbench

cc
networking The country code for the Cocos (Keeling) Islands.
(1999-01-27)

CC++
Compositional C++

C/C++
1. Borland C/C++.
2. Watcom C/C++.
3. Either C or C++.
(1996-04-06)

CCalc
A symbolic mathematics system for MS-DOS, available from Simtel.
(1995-04-12)

CCD
Charge-Coupled Device

CCIRN
Coordinating Committee for Intercontinental Research Networks.

CCITT
Commite' Consultatif International de Telegraphique et Telephonique. (International consultative committee on telecommunications and Telegraphy).
CCITT changed its name to ITU-T on 1 March 1993.
(1994-11-03)

CCITT HIgh-Level Language
language (CHILL) A real-time language widely used in telecommunications. CHILL was developed in the 1970s and improved in 1984, 1988, 1992, and 1996. It is used in several countries including Germany, Norway, Brasil, and South Korea.
Cygnus are developing a compiler based on gcc.
(http://www1.informatik.uni-jena.de/languages/chill/chill.htm).
[ An Analytical Description of CHILL, the CCITT High Level Language , P. Branquart, LNCS 128, Springer 1982].
[ CHILL User's Manual , ITU, 1986, ISBN 92-61-02601-X. ISO-9496 (1988?)].
(1997-01-20)

CCL
1. Coral Common LISP.
2. Computer Control Language. English-like query language based on COLINGO, for IBM 1401 and IBM 1410.

CCLU
Cambridge CLU. CLU extended to support concurrency, distributed programming and remote procedure call, by G. Hamilton et al at CUCL.
E-mail: Jean Bacon jmb@cl.cam.ac.uk .
(1994-10-13)

ccmail
It's written cc:mail.

cc:mail
tool, product Commercial electronic mail software by Lotus Corporation for Microsoft Windows.
(1995-03-14)

CCP
1. language Concurrent Constraint Programming.
2. Command Control Processor.
(2001-11-01)

CCR
1. condition code register.
2. (Database) concurrency control and recovery.

CCS
1. networking Common Communication Services.
2. language, parallel Calculus of Communicating Systems.
3. history Computer Conservation Society.
4. storage, standard Common Command Set.
5. communications centum call second.
(1997-10-22)

CCSP
Contextually Communicating Sequential Processes

CCTA
The Government Centre for Information Systems.
(Originally Central Computer and Telecommunications Agency ).
CCTA is part of the Office of Public Service and Science, which works to improve government's services to the public. They are responsible for stimulating and promoting the effective use of Information Systems in support of the efficient delivery of business objectives and improved quality of services by the public sector.
CCTA had to change its name as it was not an agency in the Next Steps sense. The letters were retained as customers were familiar with them.
Home (http://www.open.gov.uk/)
E-mail: info@open.gov.uk .
Address: Norwich, UK.
(1995-01-18)

CD
Compact Disc

cd
1. operating system change directory.
2. networking The country code for the Democratic Republic of the Congo (formerly Zaire, zr).
(1999-01-27)

CDA
1. file format Compound Document Architecture.
2. legal Communications Decency Act.

CDC
Control Data Corporation

CDDI
Copper Distributed Data Interface

CDD/Plus
DEC's CASE repository.

CDE
1. C Development environment from IDE.
2. Common Desktop Environment.
3. Co-operative Development Environment.
(1996-07-11)

CDF
Common Data Format. A library and toolkit for multi-dimensional data sets.

CD-i
Compact Disc interactive

CDIF
CASE Data Interchange Format

CDL
1. Computer Definition [Design?] Language. A hardware description language. Computer Organisation and Microprogramming , Yaohan Chu, P-H 1970.
2. Command Definition Language. Portion of ICES used to implement commands. Sammet 1969, p.618-620.
3. Compiler Description Language. C.H.A. Koster, 1969. Intended for implementation of the rules of an affix grammar by recursive procedures. A procedure may be a set of tree-structured alternatives, each alternative is executed until one successfully exits. Used in a portable COBOL-74 compiler from MPB, mprolog system from SzKI, and the Mephisto chess computer. CDL: A Compiler Implementation Language , in Methods of Algorithmic Language Implementation, C.H.A. Koster, LNCS 47, Springer 1977, pp.341-351. Using the CDL Compiler Compiler , C.H.A. Koster, 1974. Versions: CDL2, CDLM used at Manchester.
4. Common Design Language. Common Design Language , IBM, Software Engineering Inst, Sept 1983.
5. Control Definition Language. Ideas which contributed to Smalltalk.
[ Control Structures for Programming Languges , David A. Fisher, PhD Thesis, CMU 1970].

CDM
1. Content Data Model
2. Code Division Multiplexing

CDMA
Code Division Multiple Access

CDP1802
RCA 1802

CDPD
Cellular Digital Packet Data

cdr
/ku'dr/ or /kuh'dr/ [LISP] To skip past the first item from a list of things (generalised 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.
[Jargon File]
(2001-06-22)

CD-R
Compact Disc Recordable

CD-Read-Write
Compact Disc Rewritable

CD-Rewritable
Compact Disc Rewritable

CD-ROM
Compact Disc Read-Only Memory

CD-ROM drive
Compact Disc Read-Only Memory

CD-RW
Compact Disc Rewritable

CDS
Concrete Data Structure

cd tilde
/C-D til-d*/ To go home. From the Unix C shell and Korn-shell command cd ~ , which takes one to one's $HOME directory. cd with no arguments does the same thing.
[Jargon File]
(1994-10-28)

CE
IBM Customer Engineer

Cecil
AN object-oriented language combining multi-methods with a classless object model, object-based encapsulation and optional static type checking. It distinguishes between subtyping and code inheritance. Includes both explicit and implicit parameterisation of objects, types, and methods.
(ftp://cs.washington.edu/pub/chambers/cecil-spec.ps.Z)
[ The Cecil Language: Specification and Rationale , C. Chambers, TR 93-03-05, U Wash (Mar 1993)].
(1994-10-28)

Cedar
A superset of Mesa, from Xerox PARC, adding garbage collection, dynamic types and a universal pointer type (REF ANY). Cedar is a large complex language designed for custom Xerox hardware and the Cedar operating system/environment. Data types are atoms, lists, ropes ( industrial strength strings), conditions. Multi-processing features include threads, monitors, signals and catch phrases. It was used to develop the Cedar integrated programming environment.
[ A Description of the Cedar Language , Butler Lampson, Xerox PARC, CSL-83-15 (Dec 1983)].
[ The Structure of Cedar , D. Swinehart et al, SIGPLAN Notices 20(7):230-244 (July 1985)].
(1995-01-26)

CEEMAC+
Graphics language for DOS 3.3 on Apple II.

CEI-PACT
Central European Initiative on Parallel Computation.

Celeron
processor Intel Corporation's trade name for its family of Pentium II microprocessors meant for use in low-end computers.
The Celeron is constructed on the 0.25 micron Deschutes base. Clock rates of 266, 300 and 333 MHz are supported. It is built on the same daughterboard as the Pentium II without the black plastic case and heat sink. Four Celeron models are in production as of October 1998. The 266 and 300 MHz models are essentially Pentium II CPUs without the Level 2 cache RAM. The 300A and 333 MHz Celerons include 128k of Level 2 cache.
A special mounting bracket on the motherboard is used to secure the Celeron in place in its standard 242-pin Slot 1 socket. Intel calls the caseless design SEPP (Single Edge Processor Package) to differentiate it from the Pentium II SEC (Single Edge Cartridge). Some believe that the real purpose for the different mounting configurations is to prevent users from placing lower cost processors onto Pentium II motherboards.
A Celeron is about one third the cost of a similar speed Pentium II. Hardware hackers claim that the Celeron 300 without Level 2 cache could be overclocked to perform as well as a Pentium II at a fraction of the price.
Home (http://www.intel.com/Celeron/).
Tom's Hardware (http://www2.tomshardware.com/cpuslot1.html).
(1998-10-06)

CELIP
A cellular language for image processing.
[ CELIP: A cellular Language for Image Processing , W. Hasselbring willi@informatik.uni-essen.de , Parallel Computing 14:99-109 (1990)].
(1994-12-05)

cell
networking ATM's term for a packet.
(1996-08-21)

Cellang
See Cellular.

CELLAS
CELLular ASsemblies.
A concurrent block-structured language.
[Mentioned in Attribute Grammars , LNCS 323, p.97].
(1994-12-05)

Cello
World-Wide Web browser client for IBM PCs. Runs under Microsoft Windows.

CELLSIM
application A program for modelling populations of biological cells.
[ CELLSIM II User's Manual , C.E. Donaghey, U Houston. Sep 1975].
(1994-12-05)

Cellular
language, cellular automaton A system for cellular automaton programming by J Dana Eckart dana@faculty.cs.runet.edu . Cellular includes a byte-code compiler, run-time system, and a viewer.
Latest version: 2.0, as of 1993-04-03.
Posted to comp.sources.unix, volume 26.
See also Cellang.
(2000-10-07)

cellular automata
cellular automaton

cellular automaton
algorithm, parallel (CA, plural - automata ) A regular spatial lattice of cells , each of which can have any one of a finite number of states. The state of all cells in the lattice are updated simultaneously and the state of the entire lattice advances in discrete time steps. The state of each cell in the lattice is updated according to a local rule which may depend on the state of the cell and its neighbors at the previous time step.
Each cell in a cellular automaton could be considered to be a finite state machine which takes its neighbours' states as input and outputs its own state.
The best known example is J.H. Conway's game of Life.
FAQ (http://alife.santafe.edu/alife/topics/cas/ca-faq/ca-faq.html).
Usenet newsgroups: news:comp.theory.cell-automata, news:comp.theory.self-org-sys.
(1995-03-03)

Cellular Digital Packet Data
communications, protocol (CDPD) A wireless standard providing two-way, 19.2 kbps packet data transmission over exisiting cellular telephone channels.
[Reference?]
(1994-12-05)

cellular multiprocessing
architecture, parallel (CMP) The partitioning of processors into separate computing environments running different operating systems.
The term cellular multiprocessing appears to have been coined by Unisys, who are developing a system where computers communicate as clustered machines through a high speed bus, rather than through communication protocols such as TCP/IP.
The Unisys system is based on Intel processors, initially the Pentium II Xeon and moving on to the 64-bit Merced processors later in 1999. It will be scalable from four up to 32 processors, which can be clustered or partitioned in various ways. For example a sixteen processor system could be configured as four Windows NT systems (each functioning as a four-processor symmetric multiprocessing system), or an 8-way NT and 8-way Unix system.
Supported operating systems will be Windows NT, SCO's Unixware 7.0, Unisys' SVR4 Unix and possibly the OS2200 and MCP-AS mainframe operating systems (with the assistance of Unisys' own dedicated chipset).
Home (http://www.marketplace.unisys.com/ent/cmp.html).
(1998-09-09)

Cellular Neural Network
architecture (CNN) The CNN Universal Machine is a low cost, low power, extremely high speed supercomputer on a chip. It is at least 1000 times faster than equivalent DSP solutions of many complex image processing tasks. It is a stored program supercomputer where a complex sequence of image processing algorithms is programmed and downloaded into the chip, just like any digital computer. Because the entire computer is integrated into a chip, no signal leaves the chip until the image processing task is completed.
Although the CNN universal chip is based on analogue and logic operating principles, it has an on-chip analog-to-digital input-output interface so that at the system design and application perspective, it can be used as a digital component, just like a DSP. In particular, a development system is available for rapid design and prototyping. Moreover, a compiler, an operating system, and a user-friendly CNN high-level language, like the C language, have been developed which makes it easy to implement any image processing algorithm.
[Professor Leon Chua, University of California at Berkeley].
(1995-04-27)

CELP
language Computationally Extended Logic Programming.
[ Computationally Extended Logic Programming , M.C. Rubenstein et al, Comp Langs 12(1):1-7 (1987)].
(1995-04-27)

CEN
Conseil Européen pour la Normalisation.
A body coordinating standardisation activities in the EEC and EFTA countries.
(1994-12-14)

CENELEC
body, standard The European Committee for Electrotechnical Standardization. A body developing electrotechnical standards for the Single European Market / European Economic Area in order to reduce internal frontiers and trade barriers for electrotechnical products, systems and services. CENELEC's 19 member countries and 11 affiliate countries aim to adopt and implement the required standards, which are mostly identical to the International Electrotechnical Commission (IEC) standards. CENELEC works in co-operation with Comité Européen de Normalisation (CEN) and European Telecommunications Standards Institute (ETSI).
(1999-09-28)

centi-call second
spelling No, it's centum call second.
(2002-03-25)

central office
communications The place where telephone companies terminate customer lines and locate switching equipment to interconnect those lines with other networks.
(1995-03-20)

Central office exchange service
communications (Centrex) A PBX service providing switching at the central office instead of at the company premises. Typically, the telephone company owns and manages all the communications equipment necessary to implement the PBX and then sells various services to the company.
(1999-10-27)

central processing unit
architecture, processor (CPU, processor) The part of a computer which controls all the other parts. Designs vary widely but, in general, the CPU consists of the control unit, the arithmetic and logic unit (ALU) and memory (registers, cache, RAM and ROM) as well as various temporary buffers and other logic.
The control unit fetches instructions from memory and decodes them to produce signals which control the other part of the computer. This may cause it to transfer data between memory and ALU or to activate peripherals to perform input or output.
A parallel computer has several CPUs which may share other resources such as memory and peripherals.
The term processor has to some extent replaced CPU , though RAM and ROM are not normally considered as part of a processor. This is particularly true of common modern microprocessors though there have been microprocessors which include RAM and/or ROM on the same integrated circuit.
The CPU Info Center lists many kinds of CPU.
(1998-10-21)

Centrex
Central office exchange service

Centronics
hardware, printer (Named after the company who first used it(?)) A parallel interface for printers, found on many microcomputers.
[Pin-out? Origin?]
(1998-03-15)

Centrum voor Wiskunde en Informatica
(CWI, Centre for Mathematics and Computer Science) An independent research institute active in the fields of mathematics and computer science. CWI also aims to transfer new knowledge in these fields to society, trade and industry
CWI is funded for 70 percent by NWO, the National Organisation for Scientific Research. The remaining 30 percent is obtained through national and international programmes and contract research commissioned by industry.
Address: Kruislaan 413, 1098 SJ Amsterdam, The Netherlands; P.O.Box 94079, 1090 GB Amsterdam, The Netherlands.
Telephone: +31 (20) 5929 333.
Home (http://www.cwi.nl/)
(ftp://ftp.cwi.nl/pub/).

centum call second
unit (CCS) A unit used (in North America) to quantify the total traffic running in a network. 1 CCS is 100 call-seconds. That means 1 CCS could be 2 calls of 50 seconds duration or 20 calls of 5 seconds duration.
(2002-03-25)

century meltdown
Year 2000

cepstra
cepstrum

cepstrum
mathematics (Coined in a 1963 paper by Bogert, Healey, and Tukey) The Fourier transform of the log-magnitude spectrum:
fFt(ln( | fFt(window . signal) | ))
This function is used in speech recognition and possibly elsewhere. Note that the outer transform is NOT an inverse Fourier transform (as reported in many respectable DSP texts).
[What's it for?]
(1997-01-07)

CEPT
Comite Europeen des Postes et Telecommunications

CER
Canonical Encoding Rules

Ceramic Pin Grid Array
hardware, processor (CPGA) A form of Pin Grid Array package used by Cyrix III processors.
Compare PPGA and FC-PGA.
[Other uses?]
(2000-08-26)

Ceres workstation Oberon System
A complete Oberon compiler written in Oberon. Source to most of the complete Ceres workstation Oberon System, including the NS32032 code generator is available. Less of the low level system specific code is available.
(ftp://neptune.ethz.ch/Oberon/)
(1994-12-14)

Cerf, Vint
Vint Cerf

CERN
The European Laboratory for Particle Physics.

CERNLIB
The CERN Program Library.

CERT
Computer Emergency Response Team

Certificate Authority
cryptography, body (CA or Trusted Third Party ) An entity (typically a company) that issues digital certificates to other entities (organisations or individuals) to allow them to prove their identity to others. A Certificate Authority might be an external company such as VeriSign that offers digital certificate services or they might be an internal organisation such as a corporate MIS department. The Certificate Authority's chief function is to verify the identity of entities and issue digital certificates attesting to that identity.
The process uses public key cryptography to create a network of trust . If I want to prove my identity to you, I ask a CA (who you trust to have verified my identity) to encrypt a hash of my signed key with their private key. Then you can use the CA's public key to decrypt the hash and compare it with a hash you calculate yourself. Hashes are used to decrease the amount of data that needs to be transmitted. The hash function must be cryptographically strong, e.g. MD5.
(http://home.netscape.com/comprod/server_central/support/faq/certificate_faq.html#11).
(1998-03-30)

CESP
Common ESP

CESSL
CEll Space Simulation Language.
A language for simulating cellular space models.
[ The CESSL Programming Language , D.R. Frantz, 012520-6-T, CS Dept, U Michigan (Sept 1971)].
(1994-12-14)

cextract
programming, tool A C prototype extractor by Adam Bryant adb@cs.bu.edu . It can generate header files for large multi-file C programs, and will automatically generate prototypes for all of the functions in such a program. It can also generate a sorted list of all functions and their locations. cextract version 1.7 works with both ANSI C and K R C and runs under Unix and VMS.
Posted to comp.sources.reviewed.
(1992-11-03)

cf
networking The country code for the Central African Republic.
(1999-01-27)

CFD
Computational Fluid Dynamics.
A Fortran-based parallel language for the Illiac IV.
(1994-11-29)

CFML
ColdFusion Markup Language

cforth
A Forth interpreter.
Posted to comp.sources.unix volume 1.
(1994-11-29)

cfortran.h
library A transparent, machine independent interface between C and Fortran routines and global data by Burkhard Burow at CERN in Swizerland. It provides macros which allow the C preprocessor to translate a simple description of a C (Fortran) routine or global data into a Fortran (C) interface.
Version 2.6 runs on VAX/VMS/Ultrix, DECstation, Silicon Graphics, IBM RS/6000, Sun, Cray, Apollo, HP9000, LynxOS, f2c, NAG f90.
(ftp://zebra.desy.de/cfortran/)
It was reviewed in RS/Magazine November 1992 and a user's experiences with cfortran.h are described in the Jan 93 issue of Computers in Physics.
(1992-04-12)

CFP
1. Constraint Functional Programming.
2. Communicating Functional Processes.
3. Call For Papers (for a conference).

CFP92
SPEC CFP92

cg
networking The country code for Congo.
(1999-01-27)

CGA
Color Graphics Adapter

CGGL
( seagull ) Code-Generator Generator Language. A machine description language based on modelling the computer as a finite-state machine.
[ A Code Generator Generator Language , M.K. Donegan et al, SIGPLAN Notices 14(8):58-64 (Aug 1979)].
(1994-10-24)

CGI
1. World-Wide Web Common Gateway Interface.
2. graphics computer-generated imagery.
3. company A French software engineering vendor in the US.
4. company Computer Generation Incorporated.
(1997-02-11)

cgi-bin
Common Gateway Interface

CGI Joe
job, abuse (From GI Joe ) A hard-core CGI script programmer with all the social skills and charisma of a plastic action figure.
(1997-03-30)

CGI program
World-Wide Web (Often CGI script ) A program running on a web server to produce dynamic content, usually an HTML web page, in response to a user's request.
The Common Gateway Interface specification defines the interface between the web server and such programs. The program can access any data that a normal application program can, however the facilities available to CGI programs are usually limited for security.
Although CGI programs can be compiled programs, they are more often written in a (semi) interpreted language such as Perl, or as Unix shell scripts, hence the name CGI script .
Here is a trivial CGI script written in Perl. (It requires the CGI module available from CPAN).
#!/usr/bin/perl
use CGI qw(:standard);
print header, start_html,
h1( CGI Test ),
Your IP address is: , remote_host(),
end_html;
When run it produces an HTTP header and then a simple HTML page containing the IP address or hostname of the machine that generated the initial request. If run from a command prompt it outputs:
Content-Type: text/html
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML//EN
HTML HEAD TITLE Untitled Document /TITLE
/HEAD BODY H1 CGI Test /H1 Your IP address is:
localhost /BODY /HTML
The CGI program might be saved as the file test.cgi (or test.pl) in the appropriate directory on a web server, e.g. /home/httpd/cgi-bin/ .
A user could then type the appropriate URL, e.g. http://www.acme.com/cgi-bin/test.cgi, into their web browser to get the program to run and a custom page produced for them.
Early web servers required all CGI programs to be installed in one directory called cgi-bin but it is much better to keep them with the HTML files to which they relate unless they are truly global to the site. All modern web servers make this easy to do.
(2000-06-23)

CGI script
CGI program

CGM
Computer Graphics Metafile

CGOL
A package providing ALGOL-like surface syntax for MACLISP written by V.R. Pratt in 1977.
(ftp://mc.lcs.mit.edu/its/ai/lisp/cgol.fasl)
[ CGOL - An Alternative Exetrnal Representation for LISP Users , V. Pratt, MIT AI Lab, Working Paper 89, 1976].

cgram
An ANSI C LL1 or LL2 grammar written in Scheme by Mohd Hanafiah Abdullah napi@cs.indiana.edu . A program (f-f-d.s) extracts the FIRST/FOLLOW/DIRECTOR sets.
(ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z)

ch
networking The country code for Switzerland.
(1999-01-27)

chad
jargon, printer /chad/ (Or selvage /sel'v*j/ (sewing and weaving), perf , perfory , snaf ). 1. The perforated edge strips on paper for sprocket feed printers, after they have been separated from the printed portion.
The term perf may also refer to the perforations themselves, rather than the chad they produce when torn.
[Why snaf ?]
2. (Or chaff , computer confetti , keypunch droppings ) The confetti-like bits punched out of punched cards or paper tape which collected in the chad box.
One of the Jargon File's correspondents believed that chad derived from the chadless keypunch.
[Jargon File]
(1997-07-18)

chad box
hardware (IBM called this a chip box ) A metal box about the size of a lunchbox (or in some models a large wastebasket), for collecting the chad that accumulated in Iron Age card punches. 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 grey-and-blue box.
[Jargon File]
(1996-11-20)

Chadless keypunch
hardware A card punch which cut little U-shapes in punched cards, rather than punching out a circle or rectangle. The U's made a hole when folded back.
One of the Jargon File's correspondents believed that the term chad derived from the Chadless keypunch. Obviously, if the Chadless keypunch didn't make them, then the stuff that other keypunches made had to be chad . The assertion that the keypunch was was named after its inventor is not supported by any record in US or UK patents or surname references.
(2000-11-22)

chain
1. operating system (From BASIC's CHAIN statement) To pass control to a child or successor without going through the operating system command interpreter that invoked you. 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 microcomputers and is still widely supported for backward compatibility, the jargon usage is semi-obsolescent; in particular, Unix calls this exec.
Compare with the more modern subshell .
2. programming A series of linked data areas within an operating system or application program. Chain rattling is the process of repeatedly running through the linked data areas searching for one which is of interest. The implication is that there are many links in the chain.
3. theory A possibly infinite, non-decreasing sequence of elements of some total ordering, S
x0 = x1 = x2 ...
A chain satisfies:
for all x,y in S, x = y / y = x.
I.e. any two elements of a chain are related.
( = is written in LaTeX as sqsubseteq).
[Jargon File]
(1995-02-03)

Challenge-Handshake Authentication Protocol
networking, security, standard, protocol (CHAP) An authentication scheme used by PPP servers to validate the identity of the originator of the connection upon connection or any time later.
CHAP applies a three-way handshaking procedure. After the link is established, the server sends a challenge message to the originator. The originator responds with a value calculated using a one-way hash function. The server checks the response against its own calculation of the expected hash value. If the values match, the authentication is acknowledged; otherwise the connection is usually terminated.
CHAP provides protection against playback attack through the use of an incrementally changing identifier and a variable challenge value. The authentication can be repeated any time while the connection is open limiting the time of exposure to any single attack, and the server is in control of the frequency and timing of the challenges. As a result, CHAP provides greater security then PAP.
CHAP is defined in RFC 1334.
(1996-03-05)

Chalmers University of Technology
A Swedish university founded in 1829 offering master of science and doctoral degrees. Research is carried out in the main engineering sciences as well as in technology related mathematical and natural sciences. Five hundred faculty members work in more than 100 departments organised in nine schools. Chalmers collaborates with the University of Göteborg.
Around 8500 people work and study on the Chalmers campus, including around 500 faculty members and some 600 teachers and doctoral students. About 4800 students follow the master degree programs. Every year 700 Masters of Science in Engineering and in Architecture graduate from Chalmers, and about 190 PhDs and licentiates are awarded. Some 40% of Sweden's engineers and architects are Chalmers graduates.
About a thousand research projects are in progress and more than 1500 scientific articles and research reports are published every year. Chalmers is a partner in 80 EC research projects.
Home (http://www.chalmers.se/Home-E.html)
Address: S-412 96 Göteborg, SWEDEN.
Telephone: +46 (31) 772 10 00. Fax: +46 (31) 772 38 72.
(1995-02-16)

change management
A set of techniques that aid in evolution, composition and policy management of the design and implementation of an object or system.
(1995-02-16)

channel
chat (Or chat room , room , depending on the system in question) The basic unit of group discussion in chat systems like 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 typing in summaries of 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).
[Jargon File]
(1998-01-25)

channel hopping
To rapidly switch channels on IRC, or a GEnie chat board, just as a social butterfly might hop from one group to another at a party. This term may derive from the TV idiom, channel surfing .
[Jargon File]
(1994-11-29)

channel op
messaging /chan'l op/ (Or op , chan op , chop ) Someone who is endowed with privileges on a particular IRC channel. These privileges include the right to kick users, to change various status bits and to make others into CHOPs.
The full form, channel operator , is almost never used.
[Jargon File]
(1998-01-08)

channel service unit
(CSU) A type of interface used to connect a terminal or computer to a digital medium in the same way that a modem is used for connection to an analogue medium.
A CSU is provided by the communication carrier to customers who wish to use their own equipment to retime and regenerate the incoming signals. The customer must supply all of the transmit logic, receive logic, and timing recovery in order to use the CSU, whereas a digital service unit DSU performs these functions.
(1995-01-30)

channel service unit/data service unit
communications, hardware (CSU/DSU, or ..digital.. ) A device that performs both the channel service unit (CSU) and data service unit (DSU) functions. The Channel Service Unit (CSU) is used to terminate a DS1 or DS0 (56/64 kb/s) digital circuit. It peforms line conditioning, protection, loop-back and timing functions. The Data Service Unit (DSU) terminates the data circuit to the Data Terminal Equipment (DTE) and converts the customer's data stream into a bi-polar format for transmission.
(2001-10-19)

chan op
channel op

chaos
A property of some non-linear dynamic systems which exhibit sensitive dependence on initial conditions. This means that there are initial states which evolve within some finite time to states whose separation in one or more dimensions of state space depends, in an average sense, exponentially on their initial separation. Such systems may still be completely deterministic in that any future state of the system depends only on the initial conditions and the equations describing the change of the system with time. It may, however, require arbitrarily high precision to actually calculate a future state to within some finite precision.
[ On defining chaos , R. Glynn Holt rgholt@voyager.jpl.nasa.gov and D. Lynn Holt lholt@seraph1.sewanee.edu . (ftp://mrcnext.cso.uiuc.edu/pub/etext/ippe/preprints/Phil_of_Science/Holt_and_Holt.On_Defining_Chaos)]
Fixed precision floating-point arithmetic, as used by most computers, may actually introduce chaotic dependence on initial conditions due to the accumulation of rounding errors (which constitutes a non-linear system).
(1995-02-07)

CHAP
Challenge-Handshake Authentication Protocol

char
programming /keir/ or /char/; rarely, /kar/ character. Especially used by C programmers, as char is C's typename for character data.
[Jargon File]
(1994-11-29)

character
character An atom in a character repertoire.
Compare with glyph.
(1998-10-18)

character encoding
character (Or character encoding scheme ) A mapping of binary values to code positions and back; generally a 1:1 (bijective) mapping.
In the case of ASCII, this is generally a f(x)=x mapping: code point 65 maps to the byte value 65, and vice versa. This is possible because ASCII uses only code positions representable as single bytes, i.e., values between 0 and 255, at most. (US-ASCII only uses values 0 to 127, in fact.)
Unicode and many CJK coded character sets use many more than 255 positions, requiring more complex mappings: sometimes the characters are mapped onto pairs of bytes (see DBCS). In many cases, this breaks programs that assume a one-to-one mapping of bytes to characters, and so, for example, treat any occurrance of the byte value 13 as a carriage return. To avoid this problem, character encodings such as UTF-8 were devised.
(1998-10-18)

character encoding scheme
character encoding

character graphics
ASCII art

characteristic function
mathematics The characteristic function of set returns True if its argument is an element of the set and False otherwise.
(1995-04-13)

character repertoire
character The set of all characters onto which a coded character set maps integers (code positions).
For example, consider these two simple coded character sets:
Coded Character Set One:
integer 0 - the character A
integer 1 - the character B
Coded Character Set Two:
integer 0 - the character B
integer 1 - the character A
Both of these coded character sets map to the characters A and B , so they have the same character repertoire. But since the mapping is different (and obviously incompatible), these are different coded character sets.
(1998-12-17)

character set
character 1. A particular mapping between characters and byte strings, i.e. the combination of a particular character encoding (which maps between byte strings and integers) and a particular coded character set (which maps between integers and characters).
For example: ASCII (the ASCII coded character set, encoded directly as single-byte values), or UTF-8 (the Unicode coded character set, encoded with an 8-bit transformation method).
2. Occasionally: a character repertoire; or a coded character set.
(1998-12-17)

character set identifier
character (CSID) (IBM) A number that identifies a character set.
(1995-03-21)

Charge-Coupled Device
(CCD) A semiconductor technology used to build light-sensitive electronic devices such as cameras and image scanners. Such devices may detect either colour or black-and-white. Each CCD chip consists of an array of light-sensitive photocells. The photocell is sensitised by giving it an electrical charge prior to exposure.
(1995-01-04)

CHARITY
language A functional language based purely on category theory by Cockett, Spencer, and Fukushima, 1990-1991.
A version for Sun-4 is available from Tom Fukushima fukushim@ucalgary.ca .
[ About Charity , J.R.B. Cockett, U. Calgary, Canada, et al].
(2000-10-30)

charityware
careware

Charles Babbage
person The british inventor known to some as the Father of Computing for his contributions to the basic design of the computer through his Analytical Engine. His previous Difference Engine was a special purpose device intended for the production of mathematical tables.
Babbage was born on December 26, 1791 in Teignmouth, Devonshire UK. He entered Trinity College, Cambridge in 1814 and graduated from Peterhouse. In 1817 he received an MA from Cambridge and in 1823 started work on the Difference Engine through funding from the British Government. In 1827 he published a table of logarithms from 1 to 108000. In 1828 he was appointed to the Lucasian Chair of Mathematics at Cambridge (though he never presented a lecture). In 1831 he founded the British Association for the Advancement of Science and in 1832 he published Economy of Manufactures and Machinery . In 1833 he began work on the Analytical Engine. In 1834 he founded the Statistical Society of London. He died in 1871 in London.
Babbage also invented the cowcatcher, the dynamometer, standard railroad gauge, uniform postal rates, occulting lights for lighthouses, Greenwich time signals, and the heliograph opthalmoscope. He also had an interest in cyphers and lock-picking.
[Adapted from the text by J. A. N. Lee, Copyright September 1994].
Babbage, as (necessarily) the first person to work with machines that can attack problems at arbitrary levels of abstraction, fell into a trap familiar to toolsmiths since, as described here by the English ethicist, Lord Moulton:
One of the sad memories of my life is a visit to the celebrated mathematician and inventor, Mr Babbage. He was far advanced in age, but his mind was still as vigorous as ever. He took me through his work-rooms. In the first room I saw parts of the original Calculating Machine, which had been shown in an incomplete state many years before and had even been put to some use. I asked him about its present form. 'I have not finished it because in working at it I came on the idea of my Analytical Machine, which would do all that it was capable of doing and much more. Indeed, the idea was so much simpler that it would have taken more work to complete the Calculating Machine than to design and construct the other in its entirety, so I turned my attention to the Analytical Machine.'
After a few minutes' talk, we went into the next work-room, where he showed and explained to me the working of the elements of the Analytical Machine. I asked if I could see it. 'I have never completed it,' he said, 'because I hit upon an idea of doing the same thing by a different and far more effective method, and this rendered it useless to proceed on the old lines.' Then we went into the third room. There lay scattered bits of mechanism, but I saw no trace of any working machine. Very cautiously I approached the subject, and received the dreaded answer, 'It is not constructed yet, but I am working on it, and it will take less time to construct it altogether than it would have token to complete the Analytical Machine from the stage in which I left it.' I took leave of the old man with a heavy heart.
When he died a few years later, not only had he constructed no machine, but the verdict of a jury of kind and sympathetic scientific men who were deputed to pronounce upon what he had left behind him, either in papers or in mechanism, was that everything was too incomplete of be capable of being put to any useful purpose.
[Lord Moulton, The invention of algorithms, its genesis, and growth , in G. C. Knott, ed., Napier tercentenary memorial volume (London, 1915), p. 1-24; quoted in Charles Babbage Passage from the Life of a Philosopher , Martin Campbell-Kelly, ed. (Rutgers U. Press and IEEE Press, 1994), p. 34].
Compare: uninteresting, Ninety-Ninety Rule.
(1996-02-22)

Charles Simonyi
person Microsoft programmer, most famously responsible for Hungarian Notation.
Simonyi was born in Budapest in 1948, and for more than a decade was senior programmer at Microsoft in Redmond.
(1999-05-25)

CHARM
An explicitly parallel programming language based on C, for both shared and nonshared MIMD computers.
(ftp://a.cs.uiuc.edu/pub/CHARM)
Mailing list: charm@cs.uiuc.edu .
[ The CHARM(3.2) Programming Language Manual , UIUC (Dec 1992)].

CHARM++
An object-oriented parallel programming system, similar to CHARM but based on C++.
(ftp://a.cs.uiuc.edu/pub/CHARM/Charm++)
E-mail: Sanjeev Krishnan sanjeev@cs.uiuc.edu .
[TR 1796, UIUC].
(1994-11-29)

Charme
language, logic, Bull, nondeterminism A language with discrete combinatorial constraint logic aimed at industrial problems such as planning and scheduling. Implemented in C at Bull in 1989.
Charme is an outgrowth of ideas from CHIP. It is semantically nondeterministic, with choice and backtracking, similar to Prolog.
[ Charme Reference Manual , AI Development Centre, Bull, France 1990].
(1994-11-15)

CHARYBDIS
A Lisp program to display mathematical expressions. It is related to MATHLAB.
[Sammet 1969, p. 522].
(1994-11-15)

chase pointers
1. To go through multiple levels of indirection, as in traversing a linked list or graph structure. Used especially by programmers in C, where explicit pointers are a very common data type.
See dangling pointer and snap.
2. (Cambridge) pointer chase or pointer hunt : The process of going through a core dump, interactively or on a large piece of paper printed with hex runes, following dynamic data-structures. Used only in debugging.
[Jargon File]
(1995-05-11)

CHASM
CHeap ASseMbler.
A shareware assembler for MS-DOS.
(1994-11-15)

chat
chat, tool, networking, messaging Any system that allows any number of logged-in users to have a typed, real-time, on-line conversation, either by all users logging into the same computer, or more commonly nowadays, via a network.
The medium of chat is descended from talk, but the terms (and the media) have been distinct since at least the early 1990s. talk is prototypically for a small number of people, generally with no provision for channels. In chat systems, however, there are many channels in which any number of people can talk; and users may send private (one-to-one) messages.
Some well known chat systems to date (1998) include IRC, ICQ and Palace.
Chat systems have given rise to a distinctive style combining the immediacy of talking with all the precision (and verbosity) that written language entails. It is difficult to communicate inflection, though conventions have arisen to help with this.
The conventions of chat systems include special items of jargon, generally abbreviations meant to save typing, which are not used orally. E.g., re, BCNU, BBL, BTW, CUL, FWIW, FYA, FYI, IMHO, OTT, TNX, WRT, WTF, WTH, g , gr d , BBL, HHOK, NHOH, ROTFL, AFK, b4, TTFN, TTYL, OIC, re.
Much of the chat style is identical to (and probably derived from) Morse code jargon used by ham-radio amateurs since the 1920s, and there is, not surprisingly, some overlap with TDD jargon. Most of the jargan was in use in talk systems. Many of these expressions are also common in Usenet news and electronic mail and some have seeped into popular culture, as with emoticons.
The MUD community uses a mixture of emoticons, a few of the more natural of the old-style talk mode abbreviations, and some of the social list above; specifically, MUD respondents report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH. The use of re or rehi is also common; in fact, MUDders are fond of re- compounds and will frequently rehug or rebonk (see bonk/oif) people. In general, though, MUDders express a preference for typing things out in full rather than using abbreviations; this may be due to the relative youth of the MUD cultures, which tend to include many touch typists. Abbreviations specific to MUDs include: FOAD, ppl (people), THX (thanks), UOK? (are you OK?).
Some BIFFisms (notably the variant spelling d00d ) and aspects of ASCIIbonics appear to be passing into wider use among some subgroups of MUDders and are already pandemic on chat systems in general.
See also hakspek.
Suck article Screaming in a Vacuum (http://www.suck.com/daily/96/10/23/).
(1998-01-25)

chatbot
chat (Or chatterbot ) A bot meant to be able to interact conversationally with humans. A chatbot is either an exercise in AI or merely as an interface, as in an infobot.
One of the first and most famous chatterbots (prior to the Web) was Eliza.
(1999-06-19)

chat room
channel

chatterbot
chatbot

cheapernet
networking (Or thinnet ) A colloquial term for thin-wire Ethernet (10base2) that uses RG58 coaxial cable instead of the full-spec Yellow Cable .
(1995-03-28)

checkdigit
A one-digit checksum.

Checkout Test language
(CTL)
[ Checkout Test Language: An Interpretive Language Designed for Aerospace Checkout Tasks , G.S. Metsker, Proc FJCC 33(2) (1968)].
(1994-11-14)

checkpoint
Saving the current state of a program and its data, including intermediate results to disk or other non-volatile storage, so that if interrupted the program could be restarted at the point at which the last checkpoint occurred. This facility came into popular use in mainframe operating systemss such as OS/360 in which programs frequently ran for longer than the mean time between system failures. If a program run fails because of some event beyond the program's control (e.g. hardware or operating system failure) then the processor time invested before the checkpoint will not have been wasted.
(1995-02-07)

checksum
storage, communications A computed value which depends on the contents of a block of data and which is transmitted or stored along with the data in order to detect corruption of the data. The receiving system recomputes the checksum based upon the received data and compares this value with the one sent with the data. If the two values are the same, the receiver has some confidence that the data was received correctly.
The checksum may be 8 bits (modulo 256 sum), 16, 32, or some other size. It is computed by summing the bytes or words of the data block ignoring overflow. The checksum may be negated so that the total of the data words plus the checksum is zero.
Internet packets use a 32-bit checksum.
See also digital signature, cyclic redundancy check.
(1996-03-01)

chemist
(Cambridge) Someone who wastes computer time on number crunching when you'd far rather the computer 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.
[Jargon File]
(1995-02-07)

Chen
Peter Chen

CHEOPS
A satellite-based batch data dissemination project between CERN and member state institutes.

Chernobyl packet
/cher-noh'b*l pak'*t/ A network packet that induces a broadcast storm and/or network meltdown, 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.
[Jargon File]

chess
games A two-player game with perfect information.
Usenet newsgroup: news:rec.games.chess.
See also Internet Chess Server.
(1995-03-25)

CHI
A wide spectrum language, the forerunner of Refine. Research on Knowledge-Based Software Environments at Kestrel Institute , D.R. Smith et al, IEEE Trans Soft Eng, SE-11(11) (1985).

Chicago
Windows 95

chicken head
The Commodore Business Machines logo, which strongly resembles a poultry part. Rendered in ASCII as C= . With the arguable exception of the Amiga, Commodore's computers are notoriously crocky little bitty boxes (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 ; the novel is now sold under that title), in which a chickenhead is a mutant with below-average intelligence.
[Jargon File]

chicklet keyboard
spelling It's spelled chiclet keyboard .
(1997-05-16)

chiclet keyboard
hardware A keyboard with a small, flat 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 especially to describe the original IBM PCjr keyboard. Vendors unanimously liked these because they were cheap, and a lot of early portable and laptop computers were launched with them. Customers rejected the idea with almost equal unanimity, and chiclets are not often seen on anything larger than a digital watch any more.
[Jargon File]
(1997-05-16)

child
daughter

child process
operating system A process created by another process (the parent process). Each process may create many child processes but will have only one parent process, except for the very first process which has no parent. The first process, called init in Unix, is started by the kernel at boot time and never terminates. A child process inherits most of its attributes, such as open files, from its parent. In fact in Unix, a child process is created (using fork) as a copy of the parent. The chid process can then overlay itself with a different program (using exec) as required.
(1997-11-22)

child record
database A record lower in the hierarchical tree than a parent record; it is also directly liked to the parent and hierarchical databases.
(1995-04-13)

child version
A version of a version. See change management.

CHILI
D.L. Abt. Language for systems programming, based on ALGOL 60 with extensions for structure and type declarations. CHILI, An Algorithmic Language for Systems Programming , CHI-1014, Chi Corp (Sep 1975).

CHILL
CCITT HIgh-Level Language

Chimera
A modular, X Window System-based World-Wide Web browser for Unix. Chimera uses the Athena widget set so Motif is not needed. Chimera supports forms, inline images, TERM, SOCKS, proxy servers, Gopher, FTP, HTTP and local file accesses. Chimera can be extended using external programs. New protocols can easily be added and alternate image formats can be used for inline images (e.g. PostScript).
Version 1.60 is available for (ftp://ftp.cs.unlv.edu/pub/chimera).
Home (http://www.unlv.edu/chimera/)
Chimera runs on Sun SPARC SunOS 4.1.x, IBM RS/6000 AIX 3.2.5, Linux 1.1.x. It should run on anything with X11R[3-6], imake and a C compiler.
(1994-11-08)

chine nual
/sheen'yu-*l/ (MIT) The LISP Machine Manual, so called because the title was wrapped around the cover so only those letters showed on the front.
[Jargon File]
(1994-12-02)

Chinese Army technique
Mongolian Hordes technique

CHIP
1. A early system on the IBM 1103 or 1103A.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-15)
2. Constraint Handling In Prolog.

chip
integrated circuit

CHIP-48
A reimplementation of CHIP-8 for the HP-48 calculator by Andreas Gustafson gson@niksula.hut.fi .
Posted to news:comp.sys.handhelds in Sep 1990.
(ftp://vega.hut.fi/pub/misc/hp48sx/asap)
(1994-12-02)

CHIP-8
language, games A low-level interpretive language (really a high-level machine code) developed at RCA in the late 1970s for video games on computers using RCA's CDP1802 processor. It could also be used on the DREAM 6800.
Amiga interpreter (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f5/ff537/CHIP8.lzh).
(2002-04-09)

chip box
chad box

Chip Jewelry
jargon A euphamism for old computers destined to be scrapped or turned into decorative ornaments. I paid three grand for that Mac SE, and now it's nothing but chip jewelry.
(1997-03-30)

Chip Scale Packaging
hardware (CSP) Surface Mount International attendees debated chip scale technologies as system manufacturers seek new levels of package miniaturisation for chip-on-board, flip chip and multichip modules. Technical and marketing gurus furthered the technical debate by focussing on which chip scale packaging schemes would be the most cost-effective for future packages designated for high volume consumer applications. Bare chip package supporters noted that mainstream circuitry is readily available in known good die (KGD) from a number of suppliers. Traditional ball grid array packages received strong support for current high volume and high density manufacturing needs. Chip scale packages (CSP) provide pre-speed-sorted,pre-tested and pre-packaged die without requiring specialized testing. CSP supporters improved their position with ChipScale's announcement that Motorola will license its Micro SMT packaging technology.
[ Chip scale packaging gains at SMI. (Surface Mount International) , Bernard Levine, Electronic News (1991), Sept 4, 1995 v41 n2081 p1(2)].
[But what is it?]
(1996-07-09)

chip set
hardware A collection of integrated circuits that are designed to be used together for some specific purpose. E.g. control circuitry in an IBM PC.
(1995-03-27)

Chips Technologies
company An integrated circuit design company. They produce IBM PC chipsets, among other things.
Address: Silicon Valley, California, USA.
(1995-04-08)

CHISEL
An extension of C for VLSI design, implemented as a C preprocessor. It produces CIF as output.
[ CHISEL - An Extension to the Programming language C for VLSI Layout , K. Karplus, PHD Thesis, Stanford U, 1982].

chmod
file system ( Change mode ) The Unix command and system call to change the access permissions of a named file. Each file (directory, device, etc.) has nine kinds of access which can be allowed or denied. Different permissions apply to the owner of the file, the members of the group the file belongs to, and all users. Each of these classes of user (owner, group and other) can have permission to read, write or execute the file. Chmod can also set various other mode bits for a file or directory such as the sticky bit and the set user id bit.
Unix man page: chmod
(1995-01-31)

CHOCS
A generalisation of CCS.
[ A Calculus of Higher-Order Communicating Systems , B. Thomsen, 16th POPL pp.143-154 (1989)].

choke
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.
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.
[Jargon File]

chomp
jargon 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). 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.
(1996-06-01)

CHOP
channel op

Chop
A code generator by Alan L. Wendt wendt@CS.ColoState.EDU for the lcc C compiler front end. Version 0.6 is interfaced with Fraser and Hanson's lcc front end. The result is a C compiler with good code selection but no global optimisation. Chop can currently compile and run small test programs on the VAX. The NS32k and 68000 code generators are being upgraded for lcc compatibility.
(ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z)
[ Fast Code Generation Using Automatically-Generated Decision Trees , ACM SIGPLAN '90 PLDI].
(1993-04-28)

Chorus
A distributed operating system developed at INRIA.

Christmas tree
A kind of EIA-232 line tester or breakout box featuring rows of blinking red and green LEDs suggestive of Christmas lights.
[Jargon File]

Christmas tree packet
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-coloured light bulb, all turned on.)

Christopher Strachey
person Professor of Computation at Oxford, England, born 1916, died May 1975. He invented the term currying .
See also: General Purpose Macro-generator.
(1998-06-29)

chromatic number
mathematics The smallest number of colours necessary to colour the nodes of a graph so that no two adjacent nodes have the same colour.
See also: four colour map theorem.
Graph Theory Lessons (http://www.utc.edu/~cpmawata/petersen/lesson8.htm).
Eric Weisstein's World Of Mathematics (http://mathworld.wolfram.com/ChromaticNumber.html).
The Geometry Center (http://www.geom.umn.edu/~zarembe/grapht1.html).
(2000-03-18)

chrome
jargon (From automotive slang via wargaming) 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!
Chrome is 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 and sometimes used in conjunction with 'fluff', all the fluff and chrome that comes with Motif .
[Jargon File]
(1997-09-19)

chroot
operating system The UNIX command to make the root directory (/) become something other than its default for the lifetime of the current process. It can only be run by privileged users and is used to give a process (commonly a network server such as FTP or HTTP) access to a restricted portion of the file system.
The new root contains copies of all the essential files and directories, e.g. /lib, /dev/tty, /tmp.
(1996-12-08)

CHRP
PowerPC Platform

chug
jargon To run slowly; to grind or grovel. The disk is chugging like crazy.
[Jargon File]
(1995-03-25)

chunker
programming A program like Unix's split which breaks an input file into parts, usually of a pre-set size, e.g. the maximum size that can fit on a floppy. The parts can then be assembled with a dechunker, which is usually just the chunker in a different mode.
(1998-12-15)

Church, Alonzo
Alonzo Church

Church integer
A representation of integers as functions invented by Alonzo Church, inventor of lambda-calculus. The integer N is represented as a higher-order function which applies a given function N times to a given expression. In the pure lambda-calculus there are no constants but numbers can be represented by Church integers.
A Haskell function to return a given Church integer could be written:
church n = c
where
c f x = if n == 0 then x else c' f (f x)
where
c' = church (n-1)
A function to turn a Church integer into an ordinary integer:
unchurch c = c (+1) 0
See also von Neumann integer.
(1994-11-29)

Church of the SubGenius
body, humour 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.
Home (http://sunsite.unc.edu/subgenius/slack.html)
(1996-01-02)

Church-Rosser Theorem
This property of a reduction system states that if an expression can be reduced by zero or more reduction steps to either expression M or expression N then there exists some other expression to which both M and N can be reduced. This implies that there is a unique normal form for any expression since M and N cannot be different normal forms because the theorem says they can be reduced to some other expression and normal forms are irreducible by definition. It does not imply that a normal form is reachable, only that if reduction terminates it will reach a unique normal form.
(1995-01-25)

ci
networking The country code for Cote d'Ivoire (the Ivory Coast).
[Jargon File]
(1999-01-27)

CI$
CIS, CompuServe Information Service. Also Compu$erve. The dollar sign refers to CompuServe's rather steep line charges. Often used in sig blocks just before a CompuServe address.
[Jargon File]
(1995-01-25)

CICERO
Control Information system Concepts based on Encapsulated Real-time Objects.
A CERN DRDC proposal.
(1995-01-25)

CICS
Customer Information Control System

CID
Caller ID

CIDR
Classless Inter-Domain Routing

CIEL
An object-oriented Prolog-like language.
[ CIEL: Classes et Instances En Logique , M. Gandriau, Thesis ENSEEIHT (1988)].
(1995-01-25)

CIF
Caltech Intermediate Form.
Geometry language for VLSI design, in which the primitives are coloured rectangles.
[ Introduction to VLSI Systems , Mead Conway, A-W 1980, Section 4.5].
(1995-01-25)

CIFS
Common Internet File System

Cigale
language, tool A parser generator language with extensible syntax.
[ CIGALE: A Tool for Interactive Grammar Construction and Expression Parsing , F. Voisin, Sci Comp Prog 7:61-86, 1986].
(1999-01-14)

CIL
1. project Component Integration Laboratories.
2. language Common Intermediate Language.
(1999-01-14)

CIM
Computer Integrated Manufacturing

CIMS PL/I
language A PL/I subset from the Courant Institute of Mathematical Sciences.
[ CIMS PL/I , P.W. Abrahams, Courant Inst].
(1997-12-15)

Cinderella Book
publication 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. On the back cover, the device is in shambles after she has (inevitably) pulled on the rope.
See also book titles.
[Jargon File]
(1996-12-03)

CINT92
SPEC CINT92

C-Interp
An interpreter for a small subset of C, originally part of a communications package.
(ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit). E-mail: Chuck Shotton cshotton@oac.hsc.uth.tmc.edu .
(1993-05-14)

ciphertext
cryptography Text which has been encrypted by some encryption system.
Opposite: plaintext.
(1994-10-27)

CIP-L
CIP Language. (CIP stands for Computer-aided Intuition-guided Programming.) Wide-spectrum language for incremental program transformation. There are ALGOL-like and Pascal-like variants.
[ The Munich Project CIP, v.I: The Wide Spectrum Language CIP-L , LNCS 183, Springer 1984. Version: CIP85].

CIR
Committed Information Rate

CIRCAL
CIRcuit CALculus

circuit
1. communications A communications path in a circuit switching network.
2. electronics A complete path through which an electric current can flow.
The term is used loosely for any device or subsystem using electrical or electronic components. E.g. That lightning bolt fried the circuits in my GPS receiver . An integrated circuit (IC) contains components built on a Silicon die.
(2002-07-15)

CIRcuit CALculus
(CIRCAL) A process algebra used to model and verify the design correctness of concurrent systems such as digital logic.
[ CIRCAL and the Representation of Communication, Concurrency and Time , G.J. Milne milne@cis.unisa.edu.au , ACM TOPLAS 7(2):270-298, 1985].
(2001-03-25)

circuit switched
circuit switching

circuit switching
A communications paradigm in which a dedicated communication path is established between the sender and receiver along which all packets travel. The telephone system is an example of a circuit switched network. Also called connection-oriented. Contrast connectionless, packet switching.

circular buffer
programming An area of memory used to store a continuous stream of data by starting again at the beginning of the buffer after reaching the end. A circular buffer is usually written by one process and read by another. Separate read and write pointers are maintained. These are not allowed to pass each other otherwise either unread data would be overwritten or invalid data would be read.
A circuit may implement a hardware circular buffer.
(2000-06-17)

Cirrus Logic
company A manufacturer of integrated circuits including the Advanced RISC Machine and display interface processors and cards for use as Windows accelerators (requiring dedicated driver software).
Home (http://www.cirrus.com/).
[Other products?]
(1996-10-13)

CIS
1. standard, programming Case Integration Services.
2. networking Cooperative Information System.
3. business Customer Interaction Software, Customer Information Systems.
(1999-10-04)

CISC
Complex Instruction Set Computer

Cisco Systems, Inc.
company Ethernet hardware manufacturers.
Home (http://www.cisco.com/)
Address: 170 West Tasman Drive, San Jose, CA 95134-1706, USA. Telephone: +1 408 526 4000, +1 800 553 6387. Fax: +1 408 526 4100.
(1995-04-19)

CISI
A French software house.

CITRAN
Caltech's answer to MIT's JOSS.
[Sammet 1969, p.217].

CityScape
company A re-seller of Internet connections to the PIPEX backbone.
E-Mail: sales@cityscape.co.uk .
Address: CityScape Internet Services, 59 Wycliffe Rd., Cambridge, CB1 3JE, England. Telephone: +44 (1223) 566 950.
(1994-11-08)

CIX
1. networking Commercial Internet Exchange.
2. messaging Compulink Information eXchange.
(1997-07-16)

CJK
character In internationalisation, a collective term for Chinese, Japanese, and Korean.
These languages all share the fact that their writing systems are based partly on Han characters (i.e., hanzi or kanji ), which are complex enough of a system to require 16-bit character encodings. CJK character encodings should consist minimally of Han characters plus language-specific phonetic scripts such as pinyin, bopomofo, hiragana, hangul, etc.
CJKV is CJK plus Vietnamese.
(ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf).
(2001-01-01)

CJKV
character CJK plus Vietnamese. Vietnamese, like the other three CJK languages, requires 16-bit character encodings but it does not use Han characters.
[ CJKV Information Processing: Chinese, Japanese, Korean Vietnamese Computing , Ken Lunde, pub. O'Reilly 1998, (http://www.oreilly.com/catalog/cjkvinfo/)].
(2001-03-18)

ck
networking The country code for the Cook Islands.
(1999-01-27)

CL
language
1. Control Language.
2. Clausal Language.
(2002-05-28)

cl
networking The country code for Chile.
(1999-01-27)

CLAM
mathematics, tool A system for symbolic mathematics, especially General Relativity. It was first implemented in ATLAS assembly language and later Lisp.
See also ALAM.
[ CLAM Programmer's Manual , Ray d'Inverno Russell-Clark, King's College London, 1971].
(1994-11-08)

C Language Integrated Production System
language (CLIPS) A language produced by Gary Riley of NASA JSC in Houston, Texas, for developing expert systems, with the inferencing and representation capabilities of OPS5 and support for forward chaining rule-based, object-oriented and procedural programming. CLIPS has a Lisp-like syntax. It is available for MS-DOS and comes with source code in C.
COSMIC, U Georgia, (404) 542-3265. Austin Code Works info@acw.com (512) 258-0785.
Versions include CLIPS 5.1, CLIPS/Ada 4.3 and CLIPS6.0 (see PCLIPS).
Home (http://www.jsc.nasa.gov/~clips/CLIPS.html)
E-mail: service@cossack.cosmic.uga.edu .
Telnet: cosmic.uga.edu, user: cosline.
U. Michigan (ftp://earth.rs.itd.umich.edu/mac.bin/etc/compsci/Clips/), ENSMP, France (ftp://ftp.ensmp.fr/pub/clips/).
[ Expert Systems: Principles and Programming , Joseph Giarratano and Gary Riley, PWS Publ 1994, ISBN 0-534-93744-6].
(1994-12-16)

Clarify
company A software vendor, specialising in Customer Relationship Management software. A Nortel Networks Company.
Home (http://www.clarify.com/).
(2000-07-16)

Clarion
language A fourth generation language for MS-DOS.
[Details?]
(1994-11-09)

Claris
company A subsidiary company of Apple Computer, Inc.. In January 1998, Apple restructured Claris to concentrate on their FileMaker line of database software and changed the company's name to FileMaker, Inc..
(1998-02-18)

CLASP
Computer Language for AeronauticS and Programming.
A real-time language from NASA focussing on fixed-point mathematics. CLASP is a near subset of SPL, with some ideas from PL/I.
[ Flight Computer and Language Processor Study , Raymond J. Rubey, Management Information Services, Detroit, 1971].
(1994-10-13)

class
1. programming The prototype for an object in an object-oriented language; analogous to a derived type in a procedural language. A class may also be considered to be a set of objects which share a common structure and behaviour. The structure of a class is determined by the class variables which represent the state of an object of that class and the behaviour is given by a set of methods associated with the class.
Classes are related in a class hierarchy. One class may be a specialisation (a subclass ) of another (one of its superclasses ) or it may be composed of other classes or it may use other classes in a client-server relationship. A class may be an abstract class or a concrete class.
See also signature.
2. programming See type class.
3. networking One of three types of Internet addresses distinguished by their most significant bits.
3. language A language developed by the Andrew Project. It was one of the first attempts to add object-oriented features to C.
(1995-05-01)

class hierarchy
programming A set of classes and their interrelationships.
One class may be a specialisation (a subclass or derived class ) of another which is one of its superclasses or base classes .
When a method is invoked on an object it is first looked for in the object's class, then the superclass of that class, and so on up the hierarchy until it is found. Thus a class need only define those methods which are specific to it, and inherits methods from all its superclasses.
See also: multiple inheritance.
(1997-08-06)

classic
jargon An adjective used before or after a noun to describe the original version of something. This construction is especially used of product series in which the newer versions are considered worse than the older ones.
Examples include Star Trek Classic - the original TV series as opposed to the films, ST The Next Generation or any of the other spin-offs and follow-ups; or PC Classic - IBM's ISA-bus computers as opposed to the PS/2 series.
(1996-10-27)

Classic-Ada
An object-oriented extension to Ada, said to be like Smalltalk. It is implemented as an Ada preprocessor.
(1994-12-05)

classical logic
logic Non-intuitionistic logic.
(1995-04-13)

Classic C
/klas'ik C/ (Or C Classic , a play on Coke Classic ) The C programming language as defined in the first edition of K R, with some small additions. It is usually known as K R C . The name came into use while C was being standardised by the ANSI X3J11 committee.
See also classic.
[Jargon File]

Classless Inter-Domain Routing
networking (CIDR) /sid*r/ A scheme which allocates blocks of Internet addresses in a way that allows summarisation into a smaller number of routing table entries.
A CIDR block is a block of Internet addresses assigned to an Internet Service Provider (ISP) by the Internic.
CIDR was introduced to enable the use of more sophisticated routing protocols such as OSPF.
See RFC 1467, RFC 1518, RFC 1519 and RFC 1520.
[Is this true? Relation to classes?]
(1997-03-06)

class library
A library of reusable classes for use with an object-oriented programming system.
(1994-12-05)

class method
programming A kind of method, available in some object-oriented programming languages, that operates on the class as a whole, as opposed to an object method that operates on an object that is an instance of the class.
A typical example of a class method would be one that keeps a count of the number of objects of that class that have been created.
(2000-03-22)

Class Oriented Ring Associated Language
(CORAL) A language developed by L.G. Roberts at MIT in 1964 for graphical display and systems programming on the TX-2. It used rings (circular lists) from Sketchpad.
[ Graphical Communication and Control Languages , L.B. Roberts, Information System Sciences: Proc Second Congress, 1965].
[Sammet 1969, p.462].
(1994-11-30)

Class-Relation Method
A design technique based on the concepts of object-oriented programming and the Entity-Relationship model from the French company Softeam.
(1994-12-05)

Clausal Language
language (CL) A programming language and proof system developed by Paul Voda and a colleague since 1997, written in Trilogy II.
Paul Voda Home (http://www.fmph.uniba.sk/~voda).
(2002-05-28)

Clean
language A lazy higher-order purely functional language from the University of Nijmegen. Clean was originally a subset of Lean, designed to be an experimental intermediate language and used to study the graph rewriting model. To help focus on the essential implementation issues it deliberately lacked all syntactic sugar, even infix expressions or complex lists,
As it was used more and more to construct all kinds of applications it was eventually turned into a general purpose functional programming language, first released in May 1995. The new language is strongly typed (Milner/Mycroft type system), provides modules and functional I/O (including a WIMP interface), and supports parallel processing and distributed processing on loosely coupled parallel architectures. Parallel execution was originally based on the PABC abstract machine.
It is one of the fastest implementations of functional languages available, partly aided by programmer annotations to influence evaluation order.
Although the two variants of Clean are rather different, the name Clean can be used to denote either of them. To distinguish, the old version can be referred to as Clean 0.8, and the new as Clean 1.0 or Concurrent Clean.
The current release of Clean (1.0) includes a compiler, producing code for the ABC abstract machine, a code generator, compiling the ABC code into either object-code or assembly language (depending on the platform), I/O libraries, a development environment (not all platforms), and documentation. It is supported (or will soon be supported) under Mac OS, Linux, OS/2, Windows 95, SunOS, and Solaris.
Home (http://www.cs.kun.nl/~clean/). E-mail: clean@cs.kun.nl . Mailing list: clean-request@cs.kun.nl .
[ Clean - A Language for Functional Graph Rewriting , T. Brus et al, IR 95, U Nijmegen, Feb 1987].
[ Concurrent Clean , M.C. van Eekelen et al, TR 89-18, U Nijmegen, Netherlands, 1989].
[Jargon File]
(1995-11-08)

clean
1. 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. 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.
[Jargon File]
(1994-12-12)

Cleanroom
A software development approach aimed at producing software with the minimum number of errors.
(1994-12-12)

CLEAR
A specification language based on initial algebras.
[ An Informal Introduction to Specification Using CLEAR , R.M. Burstall in The Correctness Problem in Computer Science, R.S. Boyer et al eds, Academic Press 1981, pp. 185-213].
(1994-11-03)

clear box testing
white box testing

CLEO
Clear Language for Expressing Orders.
A language developed by ICL in the 1960s and used until early 1972 on Leo III mainframes.
(1994-11-03)

CLHEP
A C++ class library for high energy physics applications.
(1994-12-12)

CLI
1. operating system Command Line Interface.
2. database, standard Call-Level Interface.
(1997-03-04)

CLiCC
A Common Lisp to C compiler by Heinz Knutzen hk@informatik.uni-kiel.de , Ulrich Hoffman uho@informatik.uni-kiel.de and Wolfgang Goerigk wg@informatik.uni-kiel.de . CLiCC is meant to be used as a supplement to existing CLISP systems for generating portable applications. Target C code must be linked with CLiCC run-time library to produce an executable.
Version 0.6.2 conforms to a subset of Common Lisp and CLOS called CL_0 or CommonLisp_0 and based on CLtL1. It runs with Lucid Lisp, AKCL or CLISP. Work on CLtL2 and ANSI-CL conformance is in progress.
(ftp://ftp.informatik.uni-kiel.de/pub/kiel/apply/)
(1994-01-04)

click
hardware To press and release a button on a mouse or other pointing device. This generates an event, also specifying the screen position, which is processed by the window manager or application program. On a mouse with more than one button, the unqualified term usually implies pressing the left-most button (with the right index finger), other buttons would be qualified, e.g. right-click . Keyboard modifiers may also be used, e.g. shift-click , meaning to hold down the shift key on the keyboard while clicking the mouse button.
If the mouse moves while the button is pressed then this is a drag.
(1995-03-14)

client
programming A computer system or process that requests a service of another computer system or process (a server ) using some kind of protocol and accepts the server's responses. A client is part of a client-server software architecture.
For example, a workstation requesting the contents of a file from a file server is a client of the file server.
(1997-10-27)

client-server
programming A common form of distributed system in which software is split between server tasks and client tasks. A client sends requests to a server, according to some protocol, asking for information or action, and the server responds.
This is analogous to a customer (client) who sends an order (request) on an order form to a supplier (server) who despatches the goods and an invoice (response). The order form and invoice are part of the protocol used to communicate in this case.
There may be either one centralised server or several distributed ones. This model allows clients and servers to be placed independently on nodes in a network, possibly on different hardware and operating systems appropriate to their function, e.g. fast server/cheap client.
Examples are the name-server/name-resolver relationship in DNS, the file-server/file-client relationship in NFS and the screen server/client application split in the X Window System.
Usenet newsgroup: news:comp.client-server.
[ The Essential Client/Server Survival Guide , 2nd edition, 1996].
(1998-01-25)

client/server
client-server

client-server model
client-server

Client To Client Protocol
networking (CTCP) A type of protocol created to allow structured data such as font information to be exchanged between users on IRC. It is also used to send a query to a user. The available CTCP commands include VERSION, FINGER, DCC CHAT, DCC SEND, TIME, PING, ECHO, CLIENTINFO. Some commands are not available on some IRC client software.
(1995-04-12)

C++Linda
[ The AUC C++Linda System , C. Callsen et al, U Aalborg, in Linda-Like Systems and Their Implementation, G. Wilson ed, U Edinburgh TR 91-13, 1991].
(1994-12-12)

C-Linda
The most widely used variant of Linda, with C as the base language. It is available from Sci Comp Assocs linda@sca.com .
(1994-12-12)

CLIP
1. Compiler Language for Information Processing.
2. Common LISP in Parallel.

CLiP
programming, tool A documentation extractor by Eric W. van Ammers that recognises a particular style of comments. This style can be adjusted to suit virtually any programming language and target documentation language. CLiP was designed to be compatible with hypertext systems.
Version 2.1 runs on MS-DOS, VAX/VMS and Unix
(ftp://sun01.info.wau.nl/clip/)
(1993-11-18)

clipboard
operating system A temporary memory area, used to transfer information within a document being edited or between documents or between programs. The fundamental operations are cut which moves data from a document to the clipboard, copy which copies it to the clipboard, and paste which inserts the clipboard contents into the current document in place of the current selection.
Different Graphical User Interfaces vary in how they handle the different types of data which a user might want to transfer via the clipboard, some (e.g. the X Window System) support only plain text, others (e.g. NEXTSTEP) support arbitrarily typed data.
(1996-08-23)

Clipper
1. hardware, cryptography An integrated circuit which implements the SkipJack algorithm. The Clipper is manufactured by the US government to encrypt telephone data. It has the added feature that it can be decrypted by the US government, which has tried to make the chip compulsory in the United States. Phil Zimmerman (inventor of PGP) remarked, This doesn't even pass the sniff test (i.e. it stinks).
(http://www.wired.com/clipper/)
news:alt.privacy.clipper
2. A compiled dBASE dialect from Nantucket Corp, LA. Versions: Winter 85, Spring 86, Autumn 86, Summer 87, 4.5 (Japanese Kanji), 5.0.
(1995-03-25)

CLIPS
language C Language Integrated Production System.

clique
mathematics A maximal totally connected subgraph. Given a graph with nodes N, a clique C is a subset of N where every node in C is directly connected to every other node in C (i.e. C is totally connected), and C contains all such nodes (C is maximal). In other words, a clique contains all, and only, those nodes which are directly connected to all other nodes in the clique.
[Is this correct?]
(1996-09-22)

CLISP
1. Conversational LISP.
2. A Common Lisp implementation by Bruno Haible haible@ma2s2.mathematik.uni-karlsruhe.de of Karlsruhe University and Michael Stoll michael@rhein.iam.uni-bonn.de of Munich University, both in Germany. CLISP includes an interpreter, bytecode compiler, run-time library and editor and needs only 1.5 MB of RAM. German and English versions are available, French soon.
Packages running in CLISP include PCL and CLX on Unix machines. A native subset of CLOS is included.
Version 1993/10/06 conforms to CLtL1 and parts of CLtL2 and is distributed under the GNU General Public License.
CLISP runs on Atari, Amiga, MS-DOS, OS/2, Linux, Sun-4, Sun386i, HP90000/800 and others.
(ftp://ftp2.cons.org/pub/lisp/clisp/).
Mailing list: listproc@clisp.cons.org (send subscribe clisp-list ).
(1998-11-21)

Clive Sinclair
person Sir Clive Sinclair (1939- ) The British inventor who pioneered the home microcomputer market in the early 1980s, with the introduction of low-cost, easy to use 8-bit computers produced by his company, Sinclair Research.
Sir Clive also invented and produced a variety of electronic devices from the 1960s to 1990s, including pocket calculators (he marketed the first pocket calculator in the world), radios, and televisions. Perhaps he is most famous (or some might say notorious) for his range electric vehicles, especially the Sinclair C5, introduced in 1985. He has been a member of MENSA, the high IQ society, since 1962.
Planet Sinclair (http://www.nvg.ntnu.no/sinclair/).
[ The Sinclair Story , Rodney Dale, pub. Duckworth 1985]
(1998-11-09)

CLIX
[ Overview of a Parallel Object-Oriented Language CLIX , J. Hur et al, in ECOOP '87, LNCS 276, Springer 1987, pp.265-273].
(1994-12-16)

CLM
Career Limiting Move

CLNP
ConnectionLess Network Protocol

clobber
To overwrite, usually unintentionally: I walked off the end of the array and clobbered the stack.
Compare mung, scribble, trash, and smash the stack.
[Jargon File]
(1994-12-16)

clock
A processor's clock or one cycle thereof. The relative execution times of instructions on a computer are usually measured by number of clock cycles rather than seconds. One good reason for this is that clock rates for various models of the computer may increase as technology improves, and it is usually the relative times one is interested in when discussing the instruction set.
(1994-12-16)

clock rate
processor, benchmark The fundamental rate in cycles per second at which a computer performs its most basic operations such as adding two numbers or transfering a value from one register to another.
The clock rate of a computer is normally determined by the frequency of a crystal. The original IBM PC, circa 1981, had a clock rate of 4.77 MHz (almost five million cycles/second). As of 1995, Intel's Pentium chip runs at 100 MHz (100 million cycles/second). The clock rate of a computer is only useful for providing comparisons between computer chips in the same processor family. An IBM PC with an Intel 486 CPU running at 50 MHz will be about twice as fast as one with the same CPU, memory and display running at 25 MHz. However, there are many other factors to consider when comparing different computers. Clock rate should not be used when comparing different computers or different processor families. Rather, some benchmark should be used. Clock rate can be very misleading, since the amount of work different computer chips can do in one cycle varies. For example, RISC CPUs tend to have simpler instructions than CISC CPUs (but higher clock rates) and pipelined processors execute more than one instruction per cycle.
(1995-01-12)

clock speed
clock rate

clone
jargon 1. An exact copy of a product, made legally or illegally, from documentation or by reverse engineering, and usually cheaper.
E.g. PC clone : a PC-BUS/ISA, EISA, VESA, or PCI compatible x86-based microcomputer (this use is sometimes misspelled klone or PClone ). These invariably have much more bang per buck than the IB PCM they resemble.
E.g. Unix clone : An operating system designed to deliver a Unix-like environment without Unix licence fees or with additional mission-critical features such as support for real-time programming.
2. chat A clonebot.
[Jargon File]
(2000-06-15)

clone-and-hack coding
A DECism for case and paste.
[Jargon File]
(1994-12-16)

clonebot
chat (Or clone ) A bot meant to replicate itself en masse on a talk network (generally IRC). A bot appears on the network as several agents, and then carries out some task, typically that of flooding another user.
Compare ghost.
(1997-04-07)

CLOS
Common LISP Object System

closed-box testing
functional testing

closed set
mathematics A set S is closed under an operator * if x*y is in S for all x, y in S.
(1994-12-16)

closed term
theory A term with no free variables.
(1994-12-16)

Clos network
A network topology.
[What topology?]
(1994-12-16)

closure
1. programming In a reduction system, a closure is a data structure that holds an expression and an environment of variable bindings in which that expression is to be evaluated. The variables may be local or global. Closures are used to represent unevaluated expressions when implementing functional programming languages with lazy evaluation. In a real implementation, both expression and environment are represented by pointers.
A suspension is a closure which includes a flag to say whether or not it has been evaluated. The term thunk has come to be synonymous with closure but originated outside functional programming.
2. theory In domain theory, given a partially ordered set, D and a subset, X of D, the upward closure of X in D is the union over all x in X of the sets of all d in D such that x = d. Thus the upward closure of X in D contains the elements of X and any greater element of D. A set is upward closed if it is the same as its upward closure, i.e. any d greater than an element is also an element. The downward closure (or left closure ) is similar but with d = x. A downward closed set is one for which any d less than an element is also an element.
( = is written in LaTeX as subseteq and the upward closure of X in D is written uparrow_ D X).
(1994-12-16)

closure conversion
The transformation of continuation passing style code so that the only free variables of functions are names of other functions.
See also Lambda lifting.
(1994-12-16)

Clover
communications, protocol A protocoll similar to packet radio or AMTOR.
(1995-03-03)

clover key
feature key

CLP
1. Cornell List Processor.
2. Constraint Logic Programming.

CLP*
A derivative of Constraint Logic Programming (CLP).
[ CLP* and Constraint Abstraction , T. Hickey, 16th POPL, pp. 125-133, 1989].
(1994-11-01)

CLP(R)
Constraint Logic Programming (Real).
A constraint logic programming language with real arithmetic constraints developed by Joxan Jaffar joxan@watson.ibm.com of IBM TJWRC and S. Michaylov of Monash University in 1986.
The implementation contains a byte-code compiler and a built-in constraint solver which deals with linear arithmetic and contains a mechanism for delaying nonlinear constraints until they become linear. Since CLP(R) is a superse of PROLOG, the system is also usable as a general-purpose logic programming language. There are also powerful facilities for meta programming with constraints.
Significant CLP(R) applications have been published in diverse areas such as molecular biology, finance and physical modelling.
Version 1.2 for Unix, MS-DOS and OS/2 is available from the authors. It is free for academic and research purposes.
E-mail: Roland Yap roland@bruce.cs.monash.edu.au .
[ The CLP(R) Language and System , J. Jaffar et al, IBM RR RC16292 (#72336) (Nov 1990)].
(1992-10-14)

CLP(sigma*)
A constraint logic programming language with regular sets.
[ CLP(sigma*): Constraint Logic Programming with Regular Sets , C. Walinsky, Proc ICLP, 1989, pp.181-190].
(1994-12-16)

CLR
Consortium for Lexical Research

CLtL1
A report on Common LISP:
[ Common LISP: The Language , Guy L. Steele, Digital Press 1984, ISBN 0-932376-41-X].
(1994-12-16)

CLtL2
Aluminum Book

CLU
CLUster.
An object-oriented programming language developed at MIT by Liskov et al in 1974-1975.
CLU is an object-oriented language of the Pascal family designed to support data abstraction, similar to Alphard. It introduced the iterator: a coroutine yielding the elements of a data object, to be used as the sequence of values in a 'for' loop.
A CLU program consists of separately compilable procedures, clusters and iterators, no nesting. A cluster is a module naming an abstract type and its operations, its internal representation and implementation. Clusters and iterators may be generic. Supplying actual constant values for the parameters instantiates the module.
There are no implicit type conversions. In a cluster, the explicit type conversions 'up' and 'down' change between the abstract type and the representation. There is a universal type 'any', and a procedure force[] to check that an object is a certain type. Objects may be mutable or immutable.
Exceptions are raised using 'signal' and handled with 'except'. Assignment is by sharing, similar to the sharing of data objects in Lisp. Arguments are passed by call-by-sharing, similar to call-by-value, except that the arguments are objects and can be changed only if they are mutable. CLU has own variables and multiple assignment.
See also Kamin's interpreters, clu2c.
[ CLU Reference Manual , Barbara Liskov et al, LNCS 114, Springer 1981].
E-mail: Paul R. Johnson prj@pm-prj.lcs.mit.edu .
Versions for Sun and VAX/VMS (ftp://pion.lcs.mit.edu/pub/clu/). Portable version (ftp://mintaka.lcs.mit.edu/pub/dcurtis/).
(1994-12-16)

clu2c
tool A CLU to C compiler.
(ftp://ftp.is.titech.ac.jp/pub/clu2c/).
(2000-08-06)

cluster
file system An elementary unit of allocation of a disk made up of one or more physical blocks.
A file is made up of a whole number of possibly non-contiguous clusters. The cluster size is a tradeoff between space efficiency (the bigger is the cluster, the bigger is on the average the wasted space at the end of each file) and the length of the FAT.
(1996-11-04)

Cluster 86
A distributed object-oriented language by L. Shang lshang@inf.ethz.ch of Nanjing University, ca. 1986. A cluster is a metatype. There are versions for MS-DOS and Unix.
[ Cluster: An Informal Report , L. Shang, SIGPLAN Notices 26(1):57-76 (Jan 1991)].
(1994-12-21)

clustergeeking
jargon /kluh'st*r-gee king/ (CMU) Spending more time at a computer cluster doing CS homework than most people spend breathing.
[Jargon File]
(1994-12-21)

clustering
cluster

CLUT
colour palette

CLV
Constant Linear Velocity

CLX
library, graphics The Common Lisp library providing an interface to the X Window System, equivalent to Xlib. It works with CMU Common Lisp.
Latest version: 5.01, as of 1992-08-26.
(ftp://export.lcs.mit.edu/contrib/)
(1992-08-26)

CM
Configuration Management

cm
networking The country code for Cameroon.
(1999-01-27)

CMA
Concert Multithread Architecture from DEC.

CMAY
[ A Microkernel for Distributed Applications , R. Bagrodia et al, Proc 5th Intl Conf Distrib Comp Sys IEEE 1985, pp. 140-149].
(1994-12-21)

CMC
1. messaging Computer Mediated Communication.
2. hardware Common Mezzanine Card.

CMIP
Common Management Information Protocol

CMIS
Common Management Information Services

CML
1. A query language.
[ Towards a Knowledge Description Language , A. Borgida et al, in On Knowledge Base Management Systems, J. Mylopoulos et al eds, Springer 1986].
2. Concurrent ML.
(1994-12-21)

CMM
Capabilities Maturity Model

CMOS
Complementary Metal Oxide Semiconductor

CMP
cellular multiprocessing

CMS
A code management system from DEC.
(1994-12-21)

CMS-2
A general purpose language used for command and control applications in the US Navy. Variants: CMS-2M and CMS-2Y.
[ CMS-2Y Programmers Reference Manual , M-5049, PDCSSA, San Diego CA (Oct 1976)].
(1994-12-21)

CMU
Carnegie Mellon University

CMU CL
CMU Common Lisp

CMU Common Lisp
(CMU CL) A public domain industrial strength Common Lisp programming environment. Many of the X3J13 changes have been incorporated into CMU CL. Wherever possible, this has been done so as to transparently allow use of either CLtL1 or proposed ANSI CL. Probably the new features most interesting to users are SETF functions, LOOP and the WITH-COMPILATION-UNIT macro.
The new CMU CL compiler is called Python.
Version 17c includes an incremental compiler, profiler, run-time support, documentation, an editor and a debugger. It runs under Mach on SPARC, MIPS and IBM PC RT and under SunOS on SPARC.
(ftp://lisp-sun1.slisp.cs.cmu.edu/pub/)
E-mail: slisp@cs.cmu.edu .
(1993-11-18)

CMVC
Configuration Management Version Control from IBM.

CMYK
graphics cyan, magenta, yellow, key.
A colour model that describes each colour in terms of the quantity of each secondary colour (cyan, magenta, yellow), and key (black) it contains. The CMYK system is used for printing. For mixing of pigments, it is better to use the secondary colours, since they mix subtractively instead of additively. The secondary colours of light are cyan, magenta and yellow, which correspond to the primary colours of pigment (blue, red and yellow). In addition, although black could be obtained by mixing these three in equal proportions, in four-colour printing it always has its own ink. This gives the CMYK model. The K stands for Key' or 'blacK,' so as not to cause confusion with the B in RGB.
Alternative colour models are RGB and HSB.
(1994-12-22)

CMZ
A portable interactive code management system from CodeME S.A.R.L in use in the high-energy physics community.
(1994-12-22)

cn
networking The country code for China.
(1999-01-27)

CNAME
The canonical name query type for Domain Name System. This query asks a DNS server for a host's official hostname.
(1994-12-22)

CNC
Collaborative Networked Communication

CNET
Centre national d'Etudes des Telecommunications. The French national telecommunications research centre at Lannion.
(1994-12-22)

CNI
Coalition for Networked Information

CNN
architecture Cellular Neural Network.

CNRI
Corporation for National Research Initiatives.
A US research and development organisation in information processing technology.
Address: Reston, VA, USA.
(1994-12-22)

co
networking The country code for Colombia.
(1999-01-27)

CO2
An object-oriented database language combining C and O2, from GIP Altair, Versailles, France.
[Francois Bancilon et al, in Advances in Object-Oriented Database Systems, K.R. Dittrich ed, LNCS 334, Springer 1988].
(1994-12-22)

Coad/Yourdon
programming An object-oriented analysis and design methodology, developed by edward Yourdon and Peter Coad.
(1995-04-07)

COALA
[ COALA: The Object Code of the Compiler Producing System , S. Kruszewski et al, MERA, Warsaw 1974].
(1994-12-22)

coalesced sum
theory (Or smash sum ) In domain theory, the coalesced sum of domains A and B, A (+) B, contains all the non-bottom elements of both domains, tagged to show which part of the sum they come from, and a new bottom element.
D (+) E = bottom(D(+)E)
U (0,d) | d in D, d /= bottom(D)
U (1,e) | e in E, e /= bottom(E)
The bottoms of the constituent domains are coalesced into a single bottom in the sum. This may be generalised to any number of domains.
The ordering is
bottom(D(+)E) = v For all v in D(+)E
(i,v1) = (j,v2) iff i = j v1 = v2
= is usually written as LaTeX sqsubseteq and (+) as LaTeX oplus - a + in a circle.
(1994-12-22)

Coalition for Networked Information
(CNI) A consortium formed by American Research Libraries, CAUSE, and EDUCOM to promote the creation of, and access to, information resources in networked environments in order to enrich scholarship and enhance intellectual productivity.
(1994-12-22)

coarse grain
granularity

COAST
Cache On A STick

coax
coaxial cable

coaxial cable
hardware A kind of cable with a solid central conductor surrounded by insulator, in turn surrounded by a cylindrical shield woven from fine wires. It is used to carry high frequency signals such as video or radio. The shield is usually connected to electrical ground to reduce electrical interference.
(1995-03-28)

COBOL
COmmon Business Oriented Language

COBOL-1961 Extended
A short-lived separation of COBOL specifications.
[Sammet 1969, p. 339].
(1994-10-28)

COBOL fingers
/koh'bol fing'grz/ Reported from Sweden, a (hypothetical) disease one might get from coding in COBOL. The language requires code verbose beyond all reason (see candygrammar); thus it is alleged that programming too much in COBOL causes one's fingers to wear down to stubs by the endless typing.
[Jargon File]
(1994-12-22)

COBRA
Do you mean CORBA? Or is there a COBRA?
(1996-05-10)

cobweb site
jargon, World-Wide Web A World-Wide Web site that hasn't been updated for a long time. A dead web page.
(1997-04-29)

Cocktail
GMD Toolbox for Compiler Construction

cocktail shaker sort
algorithm A bi-directional bubble sort. Passes alternate between ascending through array indexes, pushing the largest item to the bottom; and descending through array indexes, pushing the smallest item to the top.
[Performace vs plain bubble?]
(2001-03-26)

CoCo
computer The Tandy Color Computer with a Motorola MC6809E CPU. The Dragon is a CoCo clone. The CoCo was as powerful as the IBM XT at the time it was made, and could run OS-9.
(1997-02-12)

Cocol
Coco Language

Coco Language
language (Cocol) A language for writing left-attributed LL1 grammars, used as the input language for the Coco LL1 parser generator, which produces Modula-2 table-driven parsers as output.
Cocol-2 is a version for the Coco-2 generator. Cocol/R is an improvement over the original Cocol and Cocol-2.
(ftp://neptune.inf.ethz.ch/)
[ A Compiler Generator for Microcomputers , P. Rechenberg et al, P-H 1989].
(1997-12-09)

Cocol/R
language (Coco Language) A language for writing left-attributed LL1 grammars, used as the input language for the Coco/R LL1 parser generators, which produce C++, Pascal, Modula-2, Java or Oberon recursive-descent parsers and associated scanners as output.
Cocol/R is an improvement over the original Cocol and Cocol-2.
[Moessenboeck, H., A Generator for Fast Compiler Front-Ends , Report 127, Dept. Informatik, ETH Zurich, 1990].
(1997-12-09)

COCOMO
Constructive Cost Model

Coco/R
tool A program by Hanspeter Moessenboeck moessenboeck@ssw.uni-linz.ac.at which generates recursive descent parsers and their associated scanners from attributed grammars (LL1). Coco/R can bootstrap itself to generate its own driver, parser, scanner and semantic evaluator from an attributed grammar included in the distribution.
Versions exist for generating Oberon, Modula-2, Pascal, C, and C++ source for MS-DOS and Unix. A Java implementation was planned.
Latest version: 1.34, as gf 1994-10-13.
Coco/R was ported to Modula-2 by Marc Brandis, Christof Brass, and Pat Terry.
Home (ftp://ftp.ssw.uni-linz.ac.at/pub/Coco).
Mail server: server@ftp.psg.com (Subject: send pub/modula-2/coco/).
E-mail: Pat Terry p.terry@ru.ac.za (Modula/Pascal versions), Hanspeter Moessenboeck moessenboeck@ssw.uni-linz.ac.at (Oberon, Java versions), Frankie Arzu farzu@uvg.edu.gt (C, C++ versions).
[ A compiler generator for microcomputers , by Rechenberg and Mossenbock, Prentice Hall, 1989, 0-13-155136-1].
[Moessenboeck, H., A Generator for Fast Compiler Front-Ends , Report 127, Dept. Informatik, ETH Zurich, 1990].
[Terry, P.D., Compilers and Compiler Generators: An Introduction with C++ , ITCP: ISBN 1-85032-298-8].
(1997-12-09)

CODASYL
Conference On DAta SYstems Languages

Codd's First Normal Form
database normalisation

Codd's reduction algorithm
database An algorithm to convert an arbitrary expression of the relational calculus to an equivalent expression of the relational algebra. This can be used as the basis of an implementation of the relational calculus.
(1998-10-05)

code
software Instructions for a computer in some programming language, often machine language. The word code is often used to distinguish instructions from data (e.g. The code is marked 'read-only' ) whereas software is used in contrast with hardware and may consist of more than just code.
(2000-04-08)

Code 2.0
language A large-grain dataflow language with a graphical interface for users to draw communication structure.
Home (http://www.cs.utexas.edu/users/code)
E-mail: Emery Berger emery@cs.utexas.edu .
[ The CODE 2.0 Parallel Programming Language , P. Newton et al, Proc ACM Intl Conf on Supercomput, Jul 1992].
(1996-01-13)

codebook
data dictionary

CODEC
coder/decoder

CodeCenter
(Formerly Saber-C) A proprietary software development environment for C programs, offering an integrated toolkit for developing, testing, debugging and maintainance.
(1994-12-23)

coded character set
character, standard A mapping from a set of integers to a set of characters. This mapping is generally 1:1 (i.e., bijective), for example, the code position 65 in ASCII maps only to A , and it's the only position that maps to A .
There are several standard coded character sets, the most widely used is ASCII, generally in its Latin-1 dialect, with Unicode becoming slowly more common; while EBCDIC and Baudot are extinct except in legacy systems.
A coded character set may include letters, digits, punctuation, control codes, various mathematical and typographic symbols, and other characters. Each character in the set is represented by a unique character code (or code position ).
(1998-10-18)

Code Division Multiple Access
communications (CDMA) (Or spread spectrum ) A form of multiplexing where the transmitter encodes the signal using a pseudo-random sequence which the receiver also knows and can use to decode the received signal. Each different random sequence corresponds to a different communication channel.
Motorola uses CDMA for digital cellular phones. Qualcomm pioneered the introduction of CDMA into wireless telephone services.
(2001-03-28)

code division multiplexing
Code Division Multiple Access

code grinder
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.
Used of or to a hacker, this term is a really serious slur on the person's creative ability; it connotes a design style characterised by primitive technique, rule-boundedness, brute force and utter lack of imagination.
See Real World. Compare card walloper. Contrast real programmer.
[Jargon File]
(1994-11-11)

code management
A source code management system helps program developers keep track of version history, releases, parallel versions etc. There are several in popular use.
(1994-12-23)

code police
(By analogy with George Orwell's Thought Police in 1984 ) 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 weenies. Dike out that goto or the code police will get you! The ironic usage is perhaps more common.
[Jargon File]
(1994-12-08)

code position
character An integer that a coded character set maps to a character. A code position is normally stored or transmitted by applying a character encoding to turn it into a byte string.
(2002-03-03)

coder/decoder
communications (CODEC) An integrated circuit or other electronic device combining the circuits needed to convert digital signals to and from analog (Pulse Code Modulation) form.
(1997-07-22)

codes
1. jargon Programs. This usage is common among scientific computing people who use supercumputers for heavy-duty number crunching.
2. cryptography Something to do with cryptography.
[Jargon File]
(1994-10-28)

C-odeScript
language A Liana interpreter, embeddable in C and C++ programs.
(1995-03-09)

code segment
processor, operating system (Intel 8086 CS) The area of memory containing the machine code instructions of an executing program. Unix, confusingly, calls this the text segment. The code segment of a program may be shared between multiple processes running that code so long as none of them tries to modify it.
Other segments are the data segment and, in Unix, the bss segment.
(1996-12-21)

code walk
programming Stepping through source code as part of a review.
(1997-04-02)

codewalker
programming, tool 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.
[Jargon File]
(1994-12-23)

CODIL
COntext Dependent Information Language.
An early language for non-numerical business problems.
[ CODIL, Part1. The Importance of Flexibility , C.F. Reynolds et al, Computer J 14(3):217-220 (May 1971)].
(1994-12-23)

codomain
The set of values or type containing all possible results of a function. The codomain of a function f of type D - C is C. A function's image is a subset of its codomain.
(1994-12-23)

coefficient of X
Hackish speech makes 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, 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* emphasises 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 .
[Jargon File]
(1994-11-29)

coercion
implicit type conversion

COFF
Common Object File Format

COGENT
COmpiler and GENeralized Translator.
A compiler writing language with pattern-directed string and list processing features, for CDC 3600 and CDC 3800. A program consists of productions defining a context-free language, plus analysis and synthesis function generators.
[ COGENT Programming Manual , J.C. Reynolds, ANL-7022, Argonne, Mar 1965].
[Sammet 1969, p.638].
[ An Introduction to the COGENT System , J.C. Reynolds, Proc ACM 20th Natl Conf, 1965].
(1994-12-23)

Cogent Prolog
language A full Edinburgh standard Prolog with debugger, listener, DCG, many built-ins, text windows, support for modules, and support for both 16-bit and 32-bit protected mode.
Contact: Dennis C. Merritt.
(1999-11-24)

Cognitech
A French software house specialising in artificial intelligence.
(1995-01-04)

cognitive architecture
architecture A computer architecure involving non-deterministic, multiple inference processes, as found in neural networks. Cognitive architectures model the human brain and contrast with single processor computers.
The term might also refer to software architectures, e.g. fuzzy logic.
[Origin? Better definition? Reference?]
(1995-11-29)

COGO
A subsystem of ICES aimed at coordinate geometry problems in Civil Engineering.
[ Engineer's Guide to ICES COGO I , R67-46, CE Dept MIT (Aug 1967)].
(1995-01-04)

Coherent Parallel C
A data parallel language.
[ Coherent Parallel C , E. Felten et al in Third Conf on Hypercube Concurrent Computers and Appls, ACM, 1988, pp.440-450].
(1995-01-04)

COHESION
DEC's CASE environment.
[Details?].
(1995-01-04)

COIF
Fortran with interactive graphic extensions for circuit design, on UNIVAC 1108.
[ An Interactive Software System for Computer-Aided Design: An Application to Circuit Projects , CACM 9(13) (Sep 1970)].
(1995-01-04)

cokebottle
/kohk'bot-l/ 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 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 , has a reserved keystroke for switching to the default set of keybindings and behaviour. 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.
[Jargon File]
(1995-01-04)

COLASL
An early system for numerical problems on the IBM 7030. It used a special character set for input of natural mathematical expressions.
[Sammet 1969, pp. 265-271].
(1995-01-04)

COLD
1. language A sugared version of COLD-K.
2. storage Computer Output to Laser Disc.
(1995-01-04)

cold boot
operating system A boot from power off.
Contrast warm boot.
[Jargon File]
(1995-11-27)

ColdFusion
World-Wide Web, database, tool Allaire Corporation's commercial database application development tool that allows databases to have a World-Wide Web interface, so a database can be queried and updated using a web browser.
The ColdFusion Server application runs on the web server and has access to a database. ColdFusion files on the web server are HTML pages with additional ColdFusion commands to query or update the database, written in CFML. When the page is requested by the user, the web server passes the page to the Cold Fusion application, which executes the CFML commands, places the results of the CFML commands in the HTML file, and returns the page to the web server. The page returned to the web server is now an ordinary HTML file, and it is sent to the user.
Examples of ColdFusion applications include order entry, event registration, catalogue search, directories, calendars, and interactive training. ColdFusion applications are robust because all database interactions are encapsulated in a single industrial-strength CGI script. The formatting and presentation can be modified and revised at any time (as opposed to having to edit and recompile source code).
ColdFusion Server can connect with any database that supports ODBC or OLE DB or one that has a native database driver. Native database drivers are available for Oracle and Sybase databases.
The current version is version 4, available for Windows, Solaris and HP-UX. A development environment for creating ColdFusion files, called ColdFusion Studio, is also available for Windows.
The filename extension for ColdFusion files is .cfm
Home (http://www.coldfusion.com/).
(1999-08-01)

ColdFusion Markup Language
language, World-Wide Web (CFML) A tag based markup language used to create ColdFusion applications by embedding ColdFusion commands in HTML files.
(1999-08-01)

COLD-K
Formal design kernel language for describing (sequential) software systems in intermediate stages of their design.
[ An Introduction to COLD-K , H.B.M. Jonkers in Algebraic Methods: Theory, Tools and Applications, M. Wirsing et al eds, LNCS 394, Springer 1989, pp. 139-205].
(1995-01-04)

COLINGO
Compile On-LINe and GO.
An english-like query system from MITRE Corporation. for the IBM 1401.
[ The COLINGO System Design Philosophy , Information System Sciences, Proc Second Congress, 1965].
[Sammet 1969, p. 664].
(1995-01-04)

collision
1. networking When two hosts transmit on a network at once causing their packets to collide and corrupt each other.
See collision detection.
2. programming hash collision.
(1995-01-06)

collision detection
networking A class of methods for sharing a data transmission medium in which hosts transmit as soon as they have data to send and then check to see whether their transmission has suffered a collision with another host's.
If a collision is detected then the data must be resent. The resending algorithm should try to minimise the chance that two hosts's data will repeatedly collide. For example, the CSMA/CD protocol used on Ethernet specifies that they should then wait for a random time before re-transmitting.
See also backoff.
This contrasts with slotted protocols and token passing.
(1997-03-18)

collocation
co-location

co-location
networking /koh'loh-kay`sh*n/ or /koh`loh-kay'sh*n/ (Or colocation ) Providing network connections such as Internet leased lines to several servers housed together in a server room. This is typically provided as a commercial service.
The hyphenated form is correct and the most common on the web, followed by colocation . collocation (/ko`loh-kay'sh*n/, not /koh'-/), is an old word with a similar meaning. It is common in dictionaries and follows the pattern of other Latin-derived words like collect, college, and collate, but is least common on the web.
The verbal form is to colocate or co-locate (commonly /koh'loh`kayt/, also (US) /koh`loh'kayt/).
(2000-10-03)

colon
character : . ASCII character 58. Common names: ITU-T: colon. Rare: dots; INTERCAL: two-spot.
(1995-09-25)

color
spelling American spelling of colour.
(1996-12-13)

Color Graphics Adapter
hardware, graphics (CGA) One of IBM's earliest hardware video display standards for use in IBM PCs. CGA can display 80*25 or 40*25 text in 16 colors, 640*200 pixels graphics in 2 colors or 320*200 in 4 colors (IBM PC video modes 0-6). It is now obsolete.
(1995-11-11)

color model
colour model

Colossus
(A huge and ancient statue on the Greek island of Rhodes).
1. computer The Colossus and Colussus Mark II computers used by Alan Turing at Bletchley Park, UK during the Second World War to crack the Tunny cipher produced by the Lorenz SZ 40 and SZ 42 machines. Colossus was a semi-fixed-program vacuum tube calculator (unlike its near-contemporary, the freely programmable Z3).
[ Breaking the enemy's code , Glenn Zorpette, IEEE Spectrum, September 1987, pp. 47-51.]
2. The computer in the film Colossus: The Forbin Project . Forbin is the designer of an incredibly sophisticated computer that will run all of America's nuclear defences. Shortly after being turned on, it detects the existence of Goliath, the Soviet counterpart, previously unknown to US Planners. Both computers insist that they be linked, and after taking safeguards to preserve confidential material, each side agrees to allow it. As soon as the link is established the two become a new super computer and threaten the world with the immediate launch of nuclear weapons if they are detached. Colossus begins to give its plans for the management of the world under its guidance. Forbin and the other scientists form a technological resistance to Colossus which must operate underground.
The Internet Movie Database (http://www.msstate.edu/M/title-exact?Colossus:%20The%20Forbin%20Project).
[Date?]
(2002-07-28)

colour
graphics (US color ) Colours are usually represented as RGB triples in a digital image because this corresponds most closely to the electronic signals needed to drive a CRT. Several equivalent systems ( colour models ) exist, e.g. HSB. A colour image may be stored as three separate images, one for each of red, green, and blue, or each pixel may encode the colour using separate bit-fields for each colour component, or each pixel may store a logical colour number which is looked up in a hardware colour palette to find the colour to display.
Printers may use the CMYK or Pantone representations of colours as well as RGB.
(1999-08-02)

colour depth
bits per pixel

colour look-up table
colour palette

colour model
graphics Any system for representing colours as ordered sets of numbers. The most common colour models are RGB, CMYK, and HSB. There are several others, e.g. CMY, and the Lab system(?).
See also: Pantone.
(1999-10-21)

colour palette
graphics, hardware (colour look-up table, CLUT) A device which converts the logical colour numbers stored in each pixel of video memory into physical colours, normally represented as RGB triplets, that can be displayed on the monitor. The palette is simply a block of fast RAM which is addressed by the logical colour and whose output is split into the red, green and blue levels which drive the actual display (e.g. CRT).
The number of entries (logical colours) in the palette is the total number of colours which can appear on screen simultaneously. The width of each entry determines the number of colours which the palette can be set to produce.
A common example would be a palette of 256 colours (i.e. addressed by eight-bit pixel values) where each colour can be chosen from a total of 16.7 million colours (i.e. eight bits output for each of red, green and blue).
Changes to the palette affect the whole screen at once and can be used to produce special effects which would be much slower to produce by updating pixels.
(1997-06-03)

Columbia AppleTalk Package
(CAP) An implementation of Apple Computer's AppleTalk protocols for Unix 4.2BSD and its derivatives, from Columbia University. There are two different LAP delivery mechanisms for: IPTalk and Ethertalk (possibly using UAB).
CAP supports the following AppleTalk protocols: AppleTalk Transaction Protocol (ATP), Name Binding Protocol (NBP), Printer Access Protocol (PAP), AppleTalk Session Protocol (ASP), AppleTalk Filing Protocol (AFP) client side. In addition, the Datagram Delivery Protocol (DDP) and Zone Information Protocol (ZIP) are partially available. The structure of the Internet Appletalk Bridge software makes it impossible to provide full DDP service. Only the Get Zone List ATP ZIP command is implemented for ZIP.
(1995-01-10)

Column Address Strobe
hardware (CAS) A signal sent from a processor (or memory controller) to a dynamic random access memory (DRAM) (qv) circuit to indicate that the column address lines are valid.
(1996-10-17)

COM
1. programming Component Object Model.
2. storage Computer Output on Microfilm.
(1999-06-12)

com
networking ( commercial ) The top-level domain typically for American companies, although it sees heavy use for international companies and vanity domains of all types, whether in the US or not.
(1999-01-26)

COMAL
COMmon Algorithmic Language

combination
1. mathematics A set containing a certain number of objects selected from another set.
The number of combinations of r objects chosen from a set of n is
n C r = n! / ((n-r)! r!)
where n C r is normally with n and r as subscripts or as n above r in parentheses.
See also permutation.
2. reduction In the theory of combinators, a combination denotes an expression in which function application is the only operation.
(1995-04-10)

combinator
A function with no free variables. A term is either a constant, a variable or of the form A B denoting the application of term A (a function of one argument) to term B. Juxtaposition associates to the left in the absence of parentheses. All combinators can be defined from two basic combinators - S and K. These two and a third, I, are defined thus:
S f g x= f x (g x) K x y= x I x= x= S K K x
Combinatory logic is equivalent to the lambda-calculus but a lambda expression of size O(n) is equivalent to a combinatorial expression of size O(n^2).
Other combinators were added by David Turner in 1979 when he used combinators to implement SASL:
B f g x = f (g x) C f g x = f x g S' c f g x = c (f x) (g x) B* c f g x = c (f (g x)) C' c f g x = c (f x) g
See fixed point combinator, curried function, supercombinators.
(1994-12-06)

combinatory logic
A system for reducing the operational notation of logic, mathematics or a functional language to a sequence of modifications to the input data structure. First introduced in the 1920's by Schoenfinkel. Re-introduced independently by Haskell Curry in the late 1920's (who quickly learned of Schoenfinkel's work after he had the idea). Curry is really responsible for most of the development, at least up until work with Feys in 1958.
See combinator.
(1995-01-05)

Comdex
A computer show that is held twice yearly, once in the spring (in Atlanta) and once in autumn (in Las Vegas). Comdex is a major show during which new releases of software and hardware are made. Microsoft, for example, often annouces its products at Comdex.
(1995-01-11)

COME FROM
programming 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, multitasking (or nondeterminism) 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 labelled 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.
SCL on VME mainframes has a similar language construct called whenever , used like this:
whenever x=123345 then S;
Meaning whenever variable x reached the value 123345 then execute statement S.
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.
[Jargon File]
(1998-04-19)

COMIS
A COMpilation and Interpretation System.
A Fortran interpreter use by the PAW system.
(1994-11-30)

COMIT
The first string-handling and pattern-matching language, designed in 1957-8 for applications in natural language translation. The user has a workspace organised into shelves. Strings are made of constituents (words), accessed by subscript. A program is a set of rules, each of which has a pattern, a replacement and goto another rule.
[ COMIT Programmer's Reference Manual , V.H. Yngve, MIT Press 1961].
[Sammet 1969, pp. 416-436].
(1994-11-30)

Comite Europeen des Postes et Telecommunications
body (CEPT, European Conference of Post and Telecommunications) The committee that defined the CEPT speech compression scheme.
[Details of compression scheme?]
(1998-03-16)

COMIT II
[ Computer Programming with COMIT II , Victor H. Yngve, MIT Press, 1963].
(1995-01-11)

Comma
COMputable MAthematics.
An ESPRIT project at KU Nijmegen.
(1994-11-30)

comma
character , ASCII character 44. Common names: ITU-T: comma. Rare: ITU-T: cedilla; INTERCAL: tail.
In the C programming language, , is an operator which evaluates its first argument (which presumably has side-effects) and then returns the value of its second argument. This is useful in for statements and macros.
(1995-03-10)

command
operating system A character string which tells a program to perform a specific action. Most commands take arguments which either modify the action performed or supply it with input. Commands may be typed by the user or read from a file by a command interpreter. It is also common to refer to menu items as commands.
(1997-06-21)

Command Control Processor
operating system (CCP) CP/M's command-line interpreter.
(2001-11-01)

command interpreter
operating system A program which reads textual commands from the user or from a file and executes them. Some commands may be executed directly within the interpreter itself (e.g. setting variables or control constructs), others may cause it to load and execute other files.
Unix's command interpreters are known as shells.
When an IBM PC is booted BIOS loads and runs the MS-DOS command interpreter into memory from file COMMAND.COM found on a floppy disk or hard disk drive. The commands that COMMAND.COM recognizes (e.g. COPY, DIR, PRN) are called internal commands, in contrast to external commands which are executable files.
(1995-03-16)

command key
feature key

command line interface
operating system A means of communication between a program and its user, based solely on textual input and output. Commands are input with the help of a keyboard or similar device and are interpreted and executed by the program. Results are output as text or graphics to the terminal.
Command line interfaces usually provide greater flexibility than graphical user interfaces, at the cost of being harder for the novice to use. Consequently, some hackers look down on GUIs as designed For The Rest Of Them.
(1996-01-12)

command-line interpreter
command interpreter

command line option
software (Or option , flag , switch , option switch ) An argument to a command that modifies its function rather than providing data. Options generally start with - in Unix or / in MS-DOS. This is usually followed by a single letter or occasionally a digit.
Some commands require each option to be a separate argument, introduced by a new - or / , others allow multiple option letters to be concatenated into a single argument with a single - or / , e.g. ls -al . A few Unix commands (e.g. ar, tar) allow the - to be omitted. Some options may or must be followed by a value, e.g. cc prog.c -o prog , sometimes with and sometimes without an intervening space.
getopt and getopts are commands for parsing command line options. There is also a C library routine called getopt for the same purpose.
(1996-12-11)

comma separated values
file format (CSV) A file format used as a portable representation of a database. Each line is one entry or record and the fields in a record are separated by commas. Commas may be followed by arbitrary space and/or tab characters which are ignored. If field includes a comma, the whole field must be surrounded with double quotes.
(1995-05-06)

COMMEN
[L.J. Cohen. Proc SJCC 30:671-676, AFIPS (Spring 1967)].
(1994-11-30)

comment
programming (Or remark ) Explanatory text embedded in program source (or less often data) intended to help human readers understand it.
Code completely without comments is often hard to read, but too heavily commented code isn't much better, especially if the comments are not kept up-to-date with changes to the code. Too much commenting may mean that the code is over-complicated. A good rule is to comment everything that needs it but write code that doesn't need much of it.
A particularly irksome form of over-commenting explains exactly what each statement does, even when it is obvious to any reasonably competant programmer, e.g.
/* Open the input file */ infd = open(input_file, O_RDONLY);
(1998-04-28)

comment out
programming 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. It is often done to temporarily disable the code, e.g. during debugging or when the code is redundant or obsolete, but is being left in the source to make the intent of the active code clearer.
The word comment is sometimes replaced with whatever syntax is used to mark comments in the language in question, e.g. hash out (shell script, Perl), REM out (BASIC), etc.
Compare condition out.
[Jargon File]
(1998-04-28)

commercial at
character @ . ASCII code 64. Common names: at sign, at, strudel. Rare: each, vortex, whorl, INTERCAL: whirlpool, cyclone, snail, ape, cat, rose, cabbage, amphora. ITU-T: commercial at.
The @ sign is used in an electronic mail address to separate the local part from the hostname.
It is ironic that @ has become a trendy mark of Internet awareness since it is a very old symbol, derived from the latin preposition ad (at).
Giorgio Stabile, a professor of history in Rome, has traced the symbol back to the Italian Renaissance in a Roman mercantile document signed by Francesco Lapi on 1536-05-04.
In Dutch it is called apestaartje (little ape-tail). The French name is arobase . In Spain and Portugal it denotes a weight of about 25 pounds, the weight and the symbol are called arroba . Italians call it chiocciola (snail).
See @-party.
(2000-11-18)

Commercial Internet eXchange
(CIX) The CIX is a non-profit, 501(c)6, trade association coordinating Internet services. Its member organisations provide TCP/IP or OSI data internetwork services to the general public. The CIX gives them unrestricted access to other worldwide networks. It also takes an interest in the development and future direction of the Internet.
The CIX provides a neutral forum to exchange ideas, information, and experimental projects among suppliers of internetworking services. The CIX broadens the base of national and international cooperation and coordination among member networks. Together, the membership may develop consensus positions on legislative and policy issues of mutual interest.
The CIX encourages technical research and development for the mutual benefit of suppliers and customers of data communications internetworking services. It assists its member networks in the establishment of, and adherence to, operational, technical, and administrative policies and standards necessary to ensure fair, open, and competitive operations and communication among member networks. CIX policies are formulated by a member-elected board of directors.
Home (http://cix.org/)
(1995-01-13)

Commercial Translator
An English-like pre-COBOL language for business data processing.
[Sammet 1969, p. 378].
(1994-11-08)

comm mode
chat /kom mohd/ (Or com mode ) An ITS feature supporting interactive on-line chat.
[Jargon File]
(1998-01-18)

Commodore 1010
storage A 3.5-inch floppy disk drive for the Amiga.
(1998-12-23)

Commodore 128
computer (C128) An expanded Commodore 64. The C128 was Commodore Business Machines' last commercially released 8-bit computer. However, they did prototype the Commodore 65 and Commodore SX64.
(1996-06-05)

Commodore 1541
storage The best know floppy disk drive for the Commodore 64. The 1541 was a single sided 160 Kb drive but converting to flippy disks would give another 160 Kb.
The disk drive used Group Code Recording and contained a 6502 processor as a disk controller. Some people wrote code for it to vibrate the head at different frequencies to play tunes.
The transfer rate was about 300 bytes per second. The 1541 used a bit-serial version of the IEEE 488 parallel protocol. Some third-party speed-ups could transfer about 4 kilobytes per second over the interface, and some fast loaders managed up to 10 kbps.
The Commodore 1570 was an upgraded 1541 for use with the Commodore 128.
(2000-03-07)

Commodore 1570
storage Commodore Business Machines's allegedly advanced disk drive for use with the C128. It is basically a 1541 with the capability to use burst loading (like the Commodore 1571), and lots of new bugs.
The Commodore 1571 was a double-sided version of the 1570.
(1996-04-07)

Commodore 1571
storage Commodore Business Machines's advanced disk drive for the C128. It was the double-sided version of the Commodore 1570 disk drive but, unlike the 1570, worked quite well.
The 1571 supported burst mode loading when used on a C128 in native mode, which increased the transfer speed from 1541 speed to about three kilobytes per second (about a 10-fold increase). The 1571 could be told to emulate a 1541 for use with a C64 or 1541 disks.
Bugs in early releases of the 1571 ROM affected access to the second side of the disk.
(1996-04-07)

Commodore 1581
storage Commodore Business Machines's 3.5 inch disk drive for the Commodore 64 and Commodore 128. The drive stores 800 kilobytes using an MFM format which is different from both messy-dos 720 kb, and the Amiga 880 kb formats.
The 1581 supports a poor imitation of directories which are really just partitions and largely unused. It also supports burst loading like the Commodore 1571, but is actually faster as it is better designed. It has 3160 blocks free when formatted.
The 1581 is the highest density C64 serial bus drive made by Commodore. However Creative Micro Designs (CMD) make the FD2000 (1.6MB) and (until recently) the FD4000 (3.2MB) 3.5 disk drives. GEOS users like 1581s as they are very fast when used with GEOS.
See also Commodore 1541, Commodore 1571.
(1998-12-23)

Commodore 64
computer (C64) An 8-bit Commodore Business Machines personal computer released around September 1981. Prototypes were (apparently) made before Christmas 1980 (and shown at some computer fair).
The CPU was a 6510 from MOS Technolgies (who were a wholly owned subsiduary of Commodore at this time(?)). The C64 had 64 kilobytes of RAM as standard and a 40-column text, 320x200 pixel display generating composite video, usually connected to a television.
DMA-based memory expanders for the C64 (and C128) allowed 128, 256, and 512 kb of RAM. Several third party manufacturers produce accelerators and RAM expanders for the C64 and C128. (Some, risking a holy war, compare this to putting a brick on roller-skates). Such accelerators come in speeds up to 20MHz (20 times the original) and RAM expanders to 16MB.
The C64's 1541 5.25 floppy disk drive had a 6502 processor as a disk controller.
See also Commodore 65.
[ Assembly language programming with the Commodore 64 , Marvin L. De Jong].
(1996-06-05)

Commodore 64DX
Commodore 65

Commodore 65
computer (Or Commodore 64DX, C65, C64DX) The last 8-bit computer designed by Commodore Business Machines, about 1989-1991. The C65 boasts an ugly collection of custom integrated circuits which makes even the Amiga hardware look standard.
The core of the C65 chipset is the CSG 4510 and CSG 4569. The 4510 is a 65CE02 with two 6526 CIAs. The 4569 is equivalent to a combination of the 6569 VIC-II and the MMU of the Commodore 64. The C65 also has a DMA controller (Commodore's purpose built DMAgic) which also functions as a simple blitter, and a floppy controller for the internal Commodore 1581-like disk drive. The floppy controller, known as the F011, supports seven drives (though the DOS only supports 2). The 4510 supports all the C64 video modes, plus an 80 column text mode, and bitplane modes. The bitplane modes can use up to eight bitplanes, and resolutions of up to 1280 x 400. The palette is 12-bit like the Amiga 500. It also has two SID's (MOS 8580/6581) for stereo audio.
The C65 has two busses, D and E, with 64 kilobytes of RAM on each. The VIC-III can access the D-bus while the CPU accesses the E-bus, and then they can swap around. This effectively makes the whole 8MB address space both chip ram and fast ram. RAM expansion is accomplished through a trap door slot in the bottom which uses a grock of a connector. The C65 has a C128-like native mode, where all of the new features are enabled, and the CPU runs at 3.5 megahertz with its pipeline enabled. It also has a C64 incompatibility mode which offers approx 50-80% compatibility with C64 software by turning off all its bells and whistles. The bells and whistles can still be accessed from the C64 mode, which is dissimilar to the C128's inescapable C64 mode.
Production of the C65 was dropped only a few weeks before it moved from the Alpha stage, possibly due to Commodore's cash shortage. Commodore estimate that between 50 and 10000 exist. There are at least three in Australia, about 30 in Germany and some in the USA and Canada.
(1996-04-07)

Commodore Business Machines
company (CBM) Makers of the PET, Commodore 64, Commodore 16, Commodore 128, and Amiga personal computers. Their logo is a chicken head.
On 29 April 1994, Commodore International announced that it had been unable to renegotiate terms of outstanding loans and was closing down the business. Commodore US was expected to go into liquidation. Commodore US, France, Spain, and Belgium were liquidated for various reasons. The names Commodore and Amiga were maintained after the liquidation.
On 1995-04-21 CBM was bought by Escom AG, a German company and production of the Amiga resumed. Production of the 8-bit range alledgedly never stopped during the time in liquidation because a Chinese company were producing the C64 in large numbers for the local market there.
(1996-07-22)

Commodore SX64
computer A portable Commodore 64. Shaped vaguely like a seat cushion, this cumbersome experiment in transportable computers had a detachable keyboard on one end which, when removed, revealed a 6 monitor and a 5 1/4 floppy disk drive. The curious combination of a bulky design and microscopic display are the most likely cause for the SX64's discontinuation.
[Processor? RAM? Dates?]
(1997-10-25)

COMmon Algorithmic Language
language (COMAL) A language for beginners developed by Benedict Loefstedt and Borge Christensen in 1973 and popular in Europe and Scandinavia. It has a Pascal-like structure added to BASIC. COMAL-80 has been adopted as an introductory language in Denmark.
There is a version for the Amiga and a well-supported version for the PC, running under MS-DOS and Microsoft Windows, called UniCOMAL. Recently, it has been developed as a web-scripting language called WebCOMAL.
macharsoft (http://www.macharsoft.demon.co.uk/).
There is a COMAL User's Group at 5501 Groveland Terr, Madison WI 53716, USA.
[ Beginning COMAL , B. Christensen, Ellis Harwood 1982].
(2000-11-14)

Common Applications Environment
(CAE) Part of X/Open, based on POSIX and C.
[Details?]

Common Applications Service Element
Common Application Service Element

Common Architecture for Next Generation Internet Protocol
networking (CATNIP, originally Common Architecture Technology for Next-generation Internet Protocol)
A network architecture designed to provide a compressed form of the existing network layer protocols and to integrate CLNP, IP, and IPX. It provides for any of the transport layer protocols in use, including TP4, CLTP, TCP, UDP, IPX, and SPX, to run over any of the network layer protocol formats: CLNP, IP (version 4), IPX, and CATNIP.
CATNIP was originally proposed by Robert L. Ullmann of Lotus Development Corporation on 1993-12-22. It was published as RFC 1707 in October 1994 but it is not an Internet standard of any kind.
(1996-03-23)

COmmon Business Oriented Language
language, business /koh'bol/ (COBOL) A programming language for simple computations on large amounts of data, designed by the CODASYL Committee in April 1960. COBOL's natural language style is intended to be largely self-documenting. It introduced the record structure.
COBOL was probably the most widely used programming language during the 1960s and 1970s. Many of the major programs that required repair or replacement due to Year 2000 software rot issues were originally written in COBOL, and this was responsible for a short-lived demand for programmers fluent in this dead language . Even in 2002 though, new COBOL programs are still being written in some organisations and many old COBOL programs are still running in dinosaur shops.
Major revisions in 1968 (ANS X3.23-1968), 1974 (ANS X3.23-1974) and 1985.
Many hackers regard COBOL with fear and loathing for being an evil, weak, verbose, and flabby language used by card wallopers to do boring mindless things on dinosaur mainframes. Many believe that all COBOL programmers are suits or code grinders, and would deny all knowledge of the language.
Usenet newsgroup: news:comp.lang.cobol.
[ Initial Specifications for a Common Business Oriented Language DoD, US GPO, Apr 1960].
(2002-02-21)

common carrier
communications, company (Or phone company ) A private company that offers telecommunications services to the public.
(1995-03-20)

Common Command Set
storage, standard (CCS) Additional requirements and features for direct-access SCSI devices.
In 1985 when the first SCSI standard was being finalised as an American National Standard, the X3T9.2 Task Group was approached by some manufacturers who wanted changes. Rather than delay the SCSI standard, X3T9.2 formed an ad hoc group to define CCS.
[Spec? Status? direct-access ?]
(1997-03-23)

Common Communication Services
(CCS) The standard program interface to networks in SAA.

Common Desktop Environment
(CDE) A desktop manager from COSE.
(1994-10-31)

Common ESP
language (CESP) A Unix-based version of ESP (Extended Self-containing Prolog) from Mitsubishi's AI Language Institute.
(2000-07-11)

Common Gateway Interface
World-Wide Web (CGI) A standard for running external programs from a World-Wide Web HTTP server. CGI specifies how to pass arguments to the executing program as part of the HTTP request. It also defines a set of environment variables. Commonly, the program will generate some HTML which will be passed back to the browser but it can also request URL redirection.
CGI allows the returned HTML (or other document type) to depend in any arbitrary way on the request. The CGI program can, for example, access information in a database and format the results as HTML. A CGI program can be any program which can accept command line arguments. Perl is a common choice for writing CGI scripts. Some HTTP servers require CGI programs to reside in a special directory, often /cgi-bin but better servers provide ways to distinguish CGI programs so they can be kept in the same directories as the HTML files to which they are related.
Whenever the server receives a CGI execution request it creates a new process to run the external program. If the process fails to terminate for some reason, or if requests are received faster than the server can respond to them, the server may become swamped with processes.
In order to improve performance, Netscape devised NSAPI and Microsoft developed the ISAPI standard which allow CGI-like tasks to run as part of the main server process, thus avoiding the overhead of creating a new process to handle each CGI invocation.
Current version: 1.1.
NCSA (http://hoohoo.ncsa.uiuc.edu/cgi).
(2002-06-03)

Common Hardware Reference Platform
PowerPC Platform

Common Intermediate Format
communications (CIF, or Full CIF (FCIF) to distinguish it from Quarter CIF (QCIF)) A video format used in videoconferencing systems, which supports both NTSC and PAL signals, with a data rate of 30 frames per second (fps), with each frame containing 288 lines and 352 luminance pixels per line. CIF is part of the ITU H.261 videoconferencing standard.
QCIF, a related video format standard, transfers one fourth as much data as CIF. QCIF is defined in ITU H.261 as having 144 lines and 176 pixels per line, with half as many chrominance pixels in each direction. QCIF is suitable for videoconferencing systems that use telephone lines. The codec standard specifies that QCIF compatibility is mandatory, and CIF compatibility is optional.
(1999-04-22)

Common Intermediate Language
language (CIL)
[Details?]
[ Construction of a Transportable, Milti-Pass Compiler for Extended Pascal , G.J. Hansen et al, SIGPLAN Notices 14(8):117-126, Aug 1979].
(1994-10-24)

Common Internet File System
protocol (CIFS) An Internet file system protocol, based on Microsoft's SMB. Microsoft has given CIFS to the Internet Engineering Task Force (IETF) as an Internet Draft. CIFS is intended to complement existing protocols such as HTTP, FTP, and NFS.
CIFS runs on top of TCP/IP and uses the Internet's Domain Name Service (DNS). It is optimised to support the slower speed dial-up connections common on the Internet.
CIFS is more flexible than FTP. FTP operations are carried out on entire files whereas CIFS is aimed at routine data access and incorporates high-performance multi-user read and write operations, locking, and file-sharing semantics.
CIFS is probably closest in functionality to NFS. NFS gives random access to files and directories, but is stateless. With CIFS, once a file is open, state about the current access to that file is stored on both the client and the server. This allows changes on the server side to be notified to the clientsthat are interested.
Home (http://www.cifs.com/).
What is CIFS? (http://www.cifs.com/whatcifs.html).
CIFS: An Internet File System Protocol (http://msdn.microsoft.com/workshop/networking/cifs/default.asp).
CIFS: A Common Internet File System, Paul Leach and Dan Perry (http://www.microsoft.com/Mind/1196/CIFS.htm).
IETF Specification. CIFS version 1 (ftp://ietf.org/internet-drafts/draft-leach-cifs-v1-spec-01.txt).
(1999-08-08)

Common-ISDN-API
Common ISDN Application Programming Interface

Common ISDN Application Programming Interface
networking (CAPI, Common-ISDN-API) A programming interface standard for an application program to communicate with an ISDN card.
Work on CAPI began in 1989, focussing on the German ISDN protocol, and was finished in 1990 by a CAPI working group consisting of application providers, ISDN equipment manufacturers, large customers, user groups and DBP Telekom, resulting in COMMON-ISDN-API Version 1.1. Following completion of the international protocol specification, almost every telecommunication provider offers BRI and PRI with protocols based on Q.931 / ETS 3009 102. Common-ISDN-API Version 2.0 was developed to support all Q.931 protocols.
Latest version: 2.0, as of 1998-09-07.
Home (http://www.capi.org/).
[Why not CIAPI?]
(1998-09-07)

Common Lisp
language A dialect of Lisp defined by a consortium of companies brought together in 1981 by the Defence Advanced Research Projects Agency (DARPA). Companies included Symbolics, Lisp Machines, Inc., Digital Equipment Corporation, Bell Labs., Xerox, Hewlett-Packard, Lawrence Livermore Labs., Carnegie-Mellon University, Stanford University, Yale, MIT and USC Berkeley. Common Lisp is lexically scoped by default but can be dynamically scoped.
Common Lisp is a large and complex language, fairly close to a superset of MacLisp. It features lexical binding, data structures using defstruct and setf, closures, multiple values, types using declare and a variety of numerical types. Function calls allow optional , keyword and rest arguments. Generic sequence can either be a list or an array. It provides formatted printing using escape characters. Common LISP now includes CLOS, an extended LOOP macro, condition system, pretty printing and logical pathnames.
Implementations include AKCL, CCL, CLiCC, CLISP, CLX, CMU Common Lisp, DCL, KCL, MCL and WCL.
Mailing list: common-lisp@ai.sri.com .
ANSI Common Lisp draft proposal (ftp://ftp.think.com/public/think/lisp:public-review.text).
[ Common LISP: The Language , Guy L. Steele, Digital Press 1984, ISBN 0-932376-41-X].
[ Common LISP: The Language, 2nd Edition , Guy L. Steele, Digital Press 1990, ISBN 1-55558-041-6].
(1994-09-29)

Common LISP in Parallel
(CLIP) A version of Common LISP from Allegro for the Sequent Symmetry.
(1994-12-12)

Common LISP Object System
(CLOS) An object-oriented extension to Common LISP, based on generic functions, multiple inheritance, declarative method combination and a meta-object protocol. A descendant of CommonLoops and based on Symbolics FLAVORS and Xerox LOOPS, among others.
See also PCL.
[ Common LISP Object System Specification X3J13 Document 88-002R , D.G. Bobrow et al, SIGPLAN Notices 23 (Sep 1988)].
(1994-11-30)

CommonLoops
Xerox's object-oriented Lisp which led to CLOS.
See also Portable CommonLoops.
(ftp://arisia.xerox.com/pub/pcl/September-16-92-PCL-c.tar.Z)
[ CommonLoops: Merging Lisp and Object-Oriented Programming , D.G. Bobrow et al, SIGPLAN Notices 21(11):17-29 (Nov 1986)].
(1999-07-02)

Common Management Information Protocol
protocol (CMIP) Part of the OSI body of standards specifying protocol elements that may be used to provide the operation and notification services described in the related standard, CMIS (Common Management Information Services).
Document: ISO/IEC 9596, or equivalent ITU X.711.
(1997-12-07)

Common Management Information Services
(CMIS) Part of the OSI body of network standards.
Network management information services are used by peer processes to exchange information and commands for the purpose of network management. CMIS defines a message set (GET, CANCEL-GET, SET, CREATE, DELETE, EVENT-REPORT and ACTION), and the structure and content of the messages such that they might be used by open systems. In concept, it is similar to SNMP, but more powerful (and hence more complex).
ISO/IEC 9595.
(1995-01-12)

Common Object File Format
(COFF) The executable and object file format used by Unix System V Release 3.
Unix manual page: coff(5).
(1995-01-10)

Common Object Model
Component Object Model

Common Object Request Broker Architecture
standard, programming (CORBA) An Object Management Group specification which provides the standard interface definition between OMG-compliant objects.
Version 1.1.
See also COSS.
(1994-11-11)

Common Objects
An object-oriented Lisp from Hewlett-Packard.
[ Inheritance and the Development of Encapsulated Software Components , A. Snyder, Proc 20th Hawaii Conf on Sys Sci, pp. 227-238 (1987)].
(1995-01-18)

Common Program Interface
programming (CPI) the API of SAA.
(1997-12-01)

Common User Access
programming (CUA) the user interface standard of SAA.
(1997-12-01)

Commonwealth Hackish
Hacker jargon as spoken outside the US, especially 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 (especially two-component 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 usually /bee't*/, zeta is usually /zee't*/, and so forth. Preferred metasyntactic variables include blurgle, eek , ook , frodo , and bilbo ; wibble , wobble , and in emergencies wubble ; banana , tom , dick , harry , wombat , frog , fish, and so on and on (see foo).
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, bum, chase pointers, cosmic rays, crippleware, crunch, dodgy, gonk, hamster, hardwarily, mess-dos, nibble, proglet, root, SEX, tweak, and xyzzy.
[Jargon File]
(1995-01-18)

Communicating Functional Processes
(CFP)
[ Communicating Functional Processes , M.C. van Eekelen et al, TR 89-3, U Nijmegen, Netherlands, 1989].
(1994-11-30)

Communicating Sequential Processes
language, parallel (CSP) A notation for concurrency based on synchronous message passing and selective communications designed by Anthony Hoare in 1978. It features cobegin and coend and was a precursor to occam.
See also Contextually Communicating Sequential Processes.
[ Communicating Sequential Processes , A.R. Hoare, P-H 1985].
(1994-11-01)

Communications Decency Act
legal (CDA) An amendment to the U.S. 1996 Telecommunications Bill that went into effect on 08 February 1996, outraging thousands of Internet users who turned their web pages black in protest. The law, originally proposed by Senator James Exon to protect children from obscenity on the Internet, ended up making it punishable by fines of up to $250,000 to post indecent language on the Internet anywhere that a minor could read it.
The Electronic Frontier Foundation created public domain blue ribbon icons that many web authors downloaded and displayed on their web pages.
On 12 June 1996, a three-judge panel in Philadelphia ruled the CDA unconstitutional and issued an injunction against the United States Justice Department forbidding them to enforce the indecency provisions of the law. Internet users celebrated by displaying an animated Free Speech fireworks icon to their web pages, courtesy of the Voters Telecommunications Watch. The Justice Department has appealed the decision to the U.S. Supreme Court.
(1996-11-03)

Communications of the ACM
publication (CACM) A monthly publication by the Association for Computing Machinery sent to all members. CACM is an influential publication that keeps computer science professionals up to date on developments. Each issue includes articles, case studies, practitioner oriented pieces, regular columns, commentary, departments, the ACM Forum, and technical correspondence, and advertisements.
Home (http://www.acm.org/cacm/).
(1995-01-18)

communications port
hardware, communications A connector for a communications interface, usually, a serial port.
(1996-08-04)

Communications Server
operating system IBM's rebranding of ACF.
(1999-01-20)

communications software
communications, software Application programs, operating system components, and probably firmware, forming part of a communication system. These different software components might be classified according to the functions within the Open Systems Interconnect model which they provide.
(2001-03-18)

communication system
communications A system or facility capable of providing information transfer between persons and equipment. The system usually consists of a collection of individual communication networks, transmission systems, relay stations, tributary stations, and terminal equipment capable of interconnection and interoperation so as to form an integrated whole. These individual components must serve a common purpose, be technically compatible, employ common procedures, respond to some form of control, and generally operate in unison.
[ Communications Standard Dictionary , 2nd Edition, Martin H. Weik].
(1995-02-06)

COMNET
A simulation tool from CACI for analysing wide-area voice or data networks, based on SIMSCRIPT.
(1995-01-19)

compact
1. (Or finite , isolated ) In domain theory, an element d of a cpo D is compact if and only if, for any chain S, a subset of D,
d = lub S = there exists s in S such that d = s.
I.e. you always reach d (or better) after a finite number of steps up the chain.
( = is written in LaTeX as sqsubseteq).
[Jargon File]
(1995-01-13)
2. 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 features 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).
(1995-01-13)

Compact COBOL
A subset of COBOL defined, but not published, ca. 1961.
[Sammet 1969, p. 339].
(1995-01-19)

Compact Disc
storage (CD) (Not disk , this spelling is part of the standard).
A 4.72 inch disc developed by Sony and Philips that can store, on the same disc, still and/or moving images in monochrome and/or color; stereo or two separate sound tracks integrated with and/or separate from the images; and digital program and information files.
The same fabrication process is used to make both audio CDs and CD-ROMs for storing computer data, the only difference is in the device used to read the CD (the player or drive).
CD Information Center (http://www.cd-info.com/cd-info/CDInfoCenter.html).
(1999-06-23)

Compact Disc interactive
(CD-i) An embedded application of CD-ROM allowing the user limited interaction with films, games and educational applications via a special controller.
(1994-11-02)

Compact Disc Read-Only Memory
storage (CD-ROM) A non-volatile optical data storage medium using the same physical format as audio compact discs, readable by a computer with a CD-ROM drive.
CD-ROM is popular for distribution of large databases, software and especially multimedia applications. The maximum capacity is about 600 megabytes. A CD can store around 640 megabytes of data - about 12 billion bytes per pound weight.
CD-ROM drives are rated with a speed factor relative to music CDs (1x or 1-speed which gives a data transfer rate of 150 kilobytes per second). 12x drives were common in April 1997. Above 12x speed, there are problems with vibration and heat. Constant angular velocity (CAV) drives give speeds up to 20x but due to the nature of CAV the actual throughput increase over 12x is less than 20/12.
20x was thought to be the maximum speed due to mechanical constraints but on 1998-02-24, Samsung Electronics introduced the SCR-3230, a 32x CD-ROM drive which uses a ball bearing system to balance the spinning CD-ROM in the drive to reduce noise.
CD-ROM drives may connect to an IDE interface, a SCSI interface or a propritary interface, of which there are three - Sony, Panasonic, and Mitsumi. Most CD-ROM drives can also play audio CDs.
There are several formats used for CD-ROM data, including Green Book CD-ROM, White Book CD-ROM and Yellow Book CD-ROM. ISO 9660 defines a standard file system.
See also Compact Disc Recordable, Digital Versatile Disc.
Byte, February 1997 (http://www.byte.com/art/9702/sec17/art5.htm).
(1998-03-16)

Compact Disc Read-Write
Compact Disc Rewritable

Compact Disc Recordable
storage (CD-R) A write-once version of CD-ROM. CD-Rs can hold about 650 megabytes of data. They are very durable and can be read by normal CD-ROM drives, but once data has been written it cannot be altered.
Standard prerecorded CDs have their information permanently stamped into an aluminium reflecting layer. CD-R discs have a dye-based recording layer and an additional golden reflecting layer.
Digital information is written to the disc by burning (forming) pits in the recording layer in a pattern corresponding to that of a conventional CD.
The laser beam heats the substrate and recording layer to approximately 250 C. The recording layer melts and the substrate expands into the space that becomes available.
Phillips: New Technologies (http://www-us.sv.philips.com/newtech/cdrewritable.html).
See also CD-RW and DVD-RAM.
(1999-08-01)

Compact Disc Rewritable
storage (CD-RW) A rewritable version of CD-ROM. A CD-RW drive can write about 650 megabytes of data to CD-RW media an unlimited number of times. Most CD-RW drives can also write once to CD-R media.
CD-RW media cannot be read by CD-ROM drives built prior to 1997 due to the reduced reflectivity (15% compared to 70%) of CD-RW media.
CD-RW drives and media are currently (1999) more expensive than CD-R drives and media. CD-R is sometimes considered a better technology for archival purposes as the data cannot be accidentally modified or tampered with, and encourages better archival practices.
Standard prerecorded CDs have their information permanently stamped into an aluminium reflecting layer. CD-WR discs have a phase-change recording layer and an additional silver (aluminium) reflecting layer.
A laser beam can melt crystals in the recording layer into a non-crystalline amorphous phase or anneal them slowly at a lower temperature back to the crystalline state. The different reflectance of the areas make them appear as the 'pits' and 'lands' of a standard CD.
Phillips: New Technologies (http://www-us.sv.philips.com/newtech/cdrewritable.html).
See also CD-R and DVD-RAM.
(1999-08-01)

compaction
compression

compactness preserving
In domain theory, a function f is compactness preserving if f c is compact whenever c is.
(1995-01-13)

Compaq Computer Corporation
company The largest US manufacturer and vendor of IBM PC compatible personal computers and servers. Compaq was started in 1982 by three ex-Texas Instruments employees.
Quarterly sales $2499M, profits $210M (Aug 1994).
Home (http://www.compaq.com/)
(1995-10-24)

Compas Pascal
The predecessor of Turbo Pascal, sol by POLY Data of Denmark. It was later renamed POLY Pascal, and afterwards sold to Borland.
(1995-01-19)

COMPASS
COMPrehensive ASSembler.
The assembly language on CDC computers.
(1995-01-19)

compatibility
compatible

compatible
jargon Different systems (e.g., programs, file formats, protocols, even programming languages) that can work together or exchange data are said to be compatible.
See also backward compatible, forward compatible.
(1998-01-15)

Compatible Timesharing System
operating system (CTSS) One of the earliest (1963) experiments in the design of interactive time-sharing operating systems. CTSS was ancestral to Multics, Unix, and ITS. It was developed at the MIT Computation Center by a team led by Fernando J. Corbato. CTSS ran on a modified IBM 7094 with a second 32K-word bank of memory, using two 2301 drums for swapping. Remote access was provided to up to 30 users via an IBM 7750 communications controller connected to dial-up modems.
The name ITS (Incompatible time-sharing System) was a hack on CTSS, meant both as a joke and to express some basic differences in philosophy about the way I/O services should be presented to user programs.
(1997-01-29)

Compel
COMpute ParallEL

Competitive Access Provider
networking (CAP, or Bypass Carrier ) A company which provides network links between the customer and the IntereXchange Carrier or even directly to the Internet Service Provider. CAPs operate private networks independent of Local Exchange Carriers.
[ Getting Connected The Internet at 56k and Up , Kevin Dowd, First Edition, p. 49, O'Reilly Associates, Inc., June 1996, ISBN 1-56592-154-2 (US), ISBN 1-56592-203-4 (international)].
(1997-07-23)

compiler
programming, tool A program that converts another program from some source language (or programming language) to machine language (object code). Some compilers output assembly language which is then converted to machine language by a separate assembler.
A compiler is distinguished from an assembler by the fact that each input statement does not, in general, correspond to a single machine instruction or fixed sequence of instructions. A compiler may support such features as automatic allocation of variables, arbitrary arithmetic expressions, control structures such as FOR and WHILE loops, variable scope, input/ouput operations, higher-order functions and portability of source code.
AUTOCODER, written in 1952, was possibly the first primitive compiler. Laning and Zierler's compiler, written in 1953-1954, was possibly the first true working algebraic compiler.
See also byte-code compiler, native compiler, optimising compiler.
(1994-11-07)

compiler compiler
compiler-compiler

Compiler-Compiler
An early compiler generator for the Atlas, with its own distinctive input language.
[ The Compiler-Compiler , R.A. Brooker et al, Ann Rev Automatic Programming 3:229-275, Pergamon 1963].
(1994-10-24)

compiler-compiler
A utility to generate the source code of a parser, interpreter or compiler from an annotated language description (usually in BNF). Most so called compiler-compilers are really just parser generators.
Examples are Bison, Eli, FSL, META 5, MUG2, Parsley, Pre-cc, Yacc.
(1995-01-23)

compiler jock
A programmer who specialises in writing compilers.
[Jargon File]
(1995-01-19)

Compiler Language for Information Processing
(CLIP) A language written in 1958-1959, based on IAL, which led to JOVIAL. CLIP was one of the first languages used to write its own compiler.
[Sammet 1969, p. 635].
(1994-12-12)

Compiler Target Language
(CTL) The intermediate language used by the ALICE parallel machine.
[ The Design and Implementation of ALICE: A Parallel Graph Reduction Machine , M.D. Cripps et al, Proc Workshop on Graph Reduction, Springer 1987].
(1994-11-14)

COMPL
[ The COMPL Language and Operating System , A.G. Fraser et al, Computer J 9(2):144-156 (1966)].
(1995-01-24)

complement
logic The other value or values in the set of possible values.
See logical complement, bitwise complement, set complement.
(1995-01-24)

Complementary Metal Oxide Semiconductor
integrated circuit (CMOS) A semiconductor fabrication technology using a combination of n- and p-doped semiconductor material to achieve low power dissipation. Any path through a gate through which current can flow includes both n and p type transistors. Only one type is turned on in any stable state so there is no static power dissipation and current only flows when a gate switches in order to charge the parasitic capacitance.
(1999-06-04)

complementary nondeterministic polynomial
complexity (Co-NP) The set (or property) of problems with a yes/no answer where the complementary no/yes problem is in the set NP.
[Example?]
(1995-04-27)

complete
See also complete graph, complete inference system, complete lattice, complete metric space, complete partial ordering, complete theory.
[1. or 2. or both?]
(1996-04-24)

complete graph
A graph which has a link between every pair of nodes. A complete bipartite graph can be partitioned into two subsets of nodes such that each node is joined to every node in the other subset.
(1995-01-24)

complete inference system
logic An inference system A is complete with respect to another system B if A can reach every conclusion which is true in B. The dual to completeness is soundness.
(1998-07-05)

complete lattice
A lattice is a partial ordering of a set under a relation where all finite subsets have a least upper bound and a greatest lower bound. A complete lattice also has these for infinite subsets. Every finite lattice is complete. Some authors drop the requirement for greatest lower bounds.
(1994-12-02)

complete metric space
theory A metric space in which every sequence that converges in itself has a limit. For example, the space of real numbers is complete by Dedekind's axiom, whereas the space of rational numbers is not - e.g. the sequence a[0]=1; a[n_+1]:=a[n]/2+1/a[n].
(1998-07-05)

completeness
complete

complete partial ordering
theory (cpo) A partial ordering of a set under a relation, where all directed subsets have a least upper bound. A cpo is usually defined to include a least element, bottom (David Schmidt calls this a pointed cpo). A cpo which is algebraic and boundedly complete is a (Scott) domain.
(1994-11-30)

complete theory
logic An abstract logical theory in which all true statements have formal proofs within the theory.
(1998-07-05)

complete unification
programming W.P. Weijland's name for unification without occur check.
(1996-01-11)

Complex Instruction Set Computer
(CISC) A processor where each instruction can perform several low-level operations such as memory access, arithmetic operations or address calculations. The term was coined in contrast to Reduced Instruction Set Computer.
Before the first RISC processors were designed, many computer architects were trying to bridge the semantic gap - to design instruction sets to support high-level languages by providing high-level instructions such as procedure call and return, loop instructions such as decrement and branch if non-zero and complex addressing modes to allow data structure and array accesses to be compiled into single instructions.
While these architectures achieved their aim of allowing high-level language constructs to be expressed in fewer instructions, it was observed that they did not always result in improved performance. For example, on one processor it was discovered that it was possible to improve the performance by NOT using the procedure call instruction but using a sequence of simpler instructions instead. Furthermore, the more complex the instruction set, the greater the overhead of decoding an instruction, both in execution time and silicon area. This is particularly true for processors which used microcode to decode the (macro) instruction. It is easier to debug a complex instruction set implemented in microcode than one whose decoding is hard-wired in silicon.
Examples of CISC processors are the Motorola 680x0 family and the Intel 80186 through Intel 486 and Pentium.
(1994-10-10)

complexity
algorithm The level in difficulty in solving mathematically posed problems as measured by the time, number of steps or arithmetic operations, or memory space required (called time complexity, computational complexity, and space complexity, respectively).
The interesting aspect is usually how complexity scales with the size of the input (the scalability ), where the size of the input is described by some number N. Thus an algorithm may have computational complexity O(N^2) (of the order of the square of the size of the input), in which case if the input doubles in size, the computation will take four times as many steps. The ideal is a constant time algorithm (O(1)) or failing that, O(N).
See also NP-complete.
(1994-10-20)

complexity analysis
In sructured program design, a quality-control operation that counts the number of compares in the logic implementing a function; a value of less than 10 is considered acceptable.

complexity class
algorithm A collection of algorithms or computable functions with the same complexity.
(1996-04-24)

complexity measure
algorithm A quantity describing the complexity of a computation.
(1996-04-24)

complex number
mathematics A number of the form x+iy where i is the square root of -1, and x and y are real numbers, known as the real and imaginary part. Complex numbers can be plotted as points on a two-dimensional plane, known as an Argand diagram, where x and y are the Cartesian coordinates.
An alternative, polar notation, expresses a complex number as (r e^it) where e is the base of natural logarithms, and r and t are real numbers, known as the magnitude and phase. The two forms are related:
r e^it = r cos(t) + i r sin(t)
= x + i y where x = r cos(t) y = r sin(t)
All solutions of any polynomial equation can be expressed as complex numbers. This is the so-called Fundamental Theorem of Algebra, first proved by Cauchy.
Complex numbers are useful in many fields of physics, such as electromagnetism because they are a useful way of representing a magnitude and phase as a single quantity.
(1995-04-10)

complex programmable logic device
hardware (CPLD) A programmable circuit similar to an FPGA, but generally on a smaller scale, invented by Xilinx, Inc.
(1998-09-26)

component
programming An object adhering to a component architecture.
(1997-11-20)

component architecture
programming A notion in object-oriented programming where components of a program are completely generic. Instead of having a specialised set of methods and fields they have generic methods through which the component can advertise the functionality it supports to the system into which it is loaded. This enables completely dynamic loading of objects. JavaBeans is an example of a component architecture.
See also design pattern.
(1997-11-20)

component based development
programming (CBD) The creation, integration, and re-use of components of program code, each of which has a common interface for use by multiple systems.
(1999-08-23)

Component Integration Laboratories
project (CIL) An effort to create a common framework for interoperability between application programs on desktop platforms, formed by Apple Computer, Inc., IBM, Novell, Oracle, Taligent, WordPerfect and Xerox.
[When? What happened?]
(1994-10-24)

Component Object Model
programming (COM) An open software architecture from DEC and Microsoft, allowing interoperation between ObjectBroker and OLE. Microsoft evolved COM into DCOM.
On page XV of Box's book in the foreword by Charlie Kindel he says, It is Mark Ryland's fault that some people call COM the 'Common Object Model.' He deeply regrets it and apologizes profusely.
[ Essential COM , Don Box].
[Details? URL?]
(1999-06-12)

com port
communications port

composite
aggregate

composition
1. function composition.
2. typesetting.
(2000-08-16)

Compositional C++
language, parallel (CC++) Extensions to C++ for compositional parallel programming.
FTP Caltech (ftp://csvax.cs.caltech.edu/pub/comp)
[Did Carl Kesselman at Cal Tech develop it?]
(2000-08-16)

Compound Document Architecture
file format (CDA) DEC's set of standards for compound document creation, storage, retrieval, interchange and manipulation.
(1996-11-03)

compound key
database (Or multi-part key , concatenated key ) A key which consists of more than one attribute of the body of information (e.g. database record ) it identifies.
(1997-04-26)

COMPREHENSIVE
An early system on MIT's Whirlwind.
[Listed in CACM 2(5):16, May 1959].
(2002-06-03)

Comprehensive Perl Archive Network
tool (CPAN) A collection of Internet archives containing material related to the Perl programming language.
Home (http://www.perl.com/CPAN).
(1999-12-04)

Comprehensive TeX Archive Network
text (CTAN) An archive site for the TeX text formatting package.
(http://www.tex.ac.uk). Gopher (gopher://gopher.tex.ac.uk/). (ftp://ftp.tex.ac.uk/). NFS: nfs.tex.ac.uk.
(1995-01-18)

compress
1. To feed data through any compression algorithm.
2. tool The Unix program compress , now largely supplanted by gzip.
Unix compress was written in C by Joseph M. Orost, James A. Woods et al., and was widely circulated via Usenet. It uses the Lempel-Ziv Welch algorithm and normally produces files with the suffix .Z .
Compress uses variable length codes. Initially, nine-bit codes are output until they are all used. When this occurs, ten-bit codes are used and so on, until an implementation-dependent maximum is reached.
After every 10 kilobytes of input the compression ratio is checked. If it is decreasing then the entire string table is discarded and information is collected from scratch.

Compressed SLIP
networking (CSLIP) VanJacobsen TCP header compression. A version of SLIP using compression. CSLIP has no effect on the data portion of the packet and has nothing to do with compression by modem. It does reduce the TCP header from 40 bytes to 7 bytes, a noticeable difference when doing telnet with lots of little packets. CSLIP has no effect on UDP, only TCP.
(1995-05-28)

compressed video
video compression

compression
1. application (Or compaction ) The coding of data to save storage space or transmission time. Although data is already coded in digital form for computer processing, it can often be coded more efficiently (using fewer bits). For example, run-length encoding replaces strings of repeated characters (or other units of data) with a single character and a count. There are many compression algorithms and utilities. Compressed data must be decompressed before it can be used.
The standard Unix compression utilty is called compress though GNU's superior gzip has largely replaced it. Other compression utilties include pack, zip and PKZIP.
When compressing several similar files, it is usually better to join the files together into an archive of some kind (using tar for example) and then compress them, rather than to join together individually compressed files. This is because some common compression algorithms build up tables based on the data from their current input which they have already compressed. They then use this table to compress subsequent data more efficiently.
See also TIFF, JPEG, MPEG, Lempel-Ziv Welch, lossy , lossless .
Compression FAQ (ftp://rtfm.mit.edu/pub/usenet/news.answers/compression-faq/).
Usenet newsgroups: news:comp.compression, news:comp.compression.research.
2. multimedia Reducing the dynamic range of an audio signal, making quiet sounds louder and loud sounds quieter. Thus, when discussing digital audio, the preferred term for reducing the total amount of data is compaction . Some advocate this term in all contexts.
(2001-01-30)

COMPROSL
COMpound PROcedural Scientific Language.
A language for scientists and engineers.
[Sammet 1969, pp. 299-300].

Compu$erve
(Or CompuSpend , Compu$pend ) A pejorative name for CompuServe Information Service (CI$) drawing attention to perceived high charges.
[Jargon File]
(1994-11-08)

Compulink Information eXchange
(CIX) A London-based conferencing system, also providing electronic mail, FTP, telnet, IRC, Gopher and World-Wide Web. Includes conferences archimedes or bbc for users of Acorn computers.
E-mail: cixadmin@cix.compulink.co.uk .
Telephone: +44 (181) 390 8446.
(1994-11-08)

CompuServe Corporation
company The parent organisation of CompuServe Information Service, CompuServe Network Services and CompuServe Remote Computing Services. CompuServe was owned by H.R. Block but is now (1999) owned by America On-Line.
Home (http://www.compuserve.com/).
(1995-09-12)

CompuServe Information Service
(CIS) One of the services run by CompuServe Corporation. CIS provides a wide variety of information and services, including bulletin boards, on-line conferencing, business news, sports and weather, financial transactions, electronic mail, travel and entertainment data as well as on-line editions of computer publications. CompuServe Information Service should not be confused with CompuServe Corporation's other sectors which offer many other services besides the consumer information service.
CIS is a large international conferencing system (albeit with a heavy US bias). It provides an access to the Usenet news (GO INTERNET). More comprehensive Internet access is planned for the end of 1994. Forum UKCOMP topic Acorn/Z88 is the place to find Acorn users.
Compuserve's main competitors are AOL and Prodigy.
Home (http://www.compuserve.com/)
Telephone: +44 (181) 801 2001 (London), +44 (121) 632 4858 (Birmingham), +44 (1734) 391 064 or 569 025 (Reading), +44 (1272) 255 111 (Bristol).
(1995-09-12)

Compusult Ltd.
A computer consulting firm (in Newfoundland, Canada?) that provides a public access Unix.
(1994-10-20)

computability theory
mathematics The area of theoretical computer science concerning what problems can be solved by any computer.
A function is computable if an algorithm can be implemented which will give the correct output for any valid input.
Since computer programs are countable but real numbers are not, it follows that there must exist real numbers that cannot be calculated by any program. Unfortunately, by definition, there isn't an easy way of describing any of them!
In fact, there are many tasks (not just calculating real numbers) that computers cannot perform. The most well-known is the halting problem, the busy beaver problem is less famous but just as fascinating.
[ Computability , N.J. Cutland. (A well written undergraduate-level introduction to the subject)].
[ The Turing Omnibus , A.K. Dewdeney].
(1995-01-13)

computable
computability theory

Computational Adequacy Theorem
This states that for any program (a non-function typed term in the typed lambda-calculus with constants) normal order reduction (outermost first) fails to terminate if and only if the standard semantics of the term is bottom. Moreover, if the reduction of program e1 terminates with some head normal form e2 then the standard semantics of e1 and e2 will be equal. This theorem is significant because it relates the operational notion of a reduction sequence and the denotational semantics of the input and output of a reduction sequence.

computational complexity
algorithm The number of steps or arithmetic operations required to solve a computational problem. One of the three kinds of complexity.
(1996-04-24)

computational geometry
mathematics The study of algorithms for combinatorial, topological, and metric problems concerning sets of points, typically in Euclidean space. Representative areas of research include geometric search, convexity, proximity, intersection, and linear programming.
(1997-08-03)

computational learning
grammatical inference

COMpute ParallEL
language (Compel) The first single-assignment language.
[ A Language Design for Concurrent Processes , L.G. Tesler et al, Proc SJCC 32:403-408, AFIPS (Spring 1968)].
(1995-01-19)

Computer
publication A journal of the IEEE Computer Society.
(1995-03-10)

computer
computer A machine that can be programmed to manipulate symbols. Computers can perform complex and repetative procedures quickly, precisely and reliably and can quickly store and retrieve large amounts of data.
The physical components from which a computer is constructed (electronic circuits and input/output devices) are known as hardware . Most computers have four types of hardware component: CPU, input, output and memory. The CPU (central processing unit) executes programs ( software ) which tell the computer what to do. Input and output (I/O) devices allow the computer to communicate with the user and the outside world. There are several kinds of memory - fast, expensive, short term memory (e.g. RAM) to hold intermediate results, and slower, cheaper, long-term memory (e.g. magnetic disk and magnetic tape) to hold programs and data between jobs.
See also analogue computer.
(1995-03-10)

Computer Aided Design
application (CAD) The part of CAE concerning the drawing or physical layout steps of engineering design. Often found in the phrase CAD/CAM for .. manufacturing .
(1994-11-30)

Computer Aided Engineering
application (CAE) Use of computers to help with all phases of engineering design work. Like computer aided design, but also involving the conceptual and analytical design steps.
[Does it include manufacturing? Example systems?]
(1994-10-28)

Computer-Aided Instruction
application, education (CAI, or assisted , learning , CAL) The use of (personal) computers for education and training.
(1995-04-13)

Computer-Aided Learning
Computer-Aided Instruction

Computer Aided Software Engineering
programming (CASE, or assisted ) A technique for using computers to help with one or more phases of the software life-cycle, including the systematic analysis, design, implementation and maintenance of software. Adopting the CASE approach to building and maintaining systems involves software tools and training for the developers who will use them.
(1996-05-10)

Computer-Aided Software Testing
programming (CAST) Automated software testing in one or more phases of the software life-cycle.
(1996-05-10)

Computer Animation Movie Language
[ A Computer Animation Movie Language for Educational Motion Pictures , D.D. Weiner et al, Proc FJCC 33(2), AFIPS (Fall 1968)].
(1994-11-30)

Computer-Assisted Learning
Computer-Aided Instruction

Computer-Assisted Software Engineering
Computer-Aided Software Engineering

Computer Associates
company (CA) A US software development company, best known for Ingres which they got by buying out ASK Corporation.
Quarterly sales $477M, profits -$86M (Aug 1994).
Home (http://www.cai.com/).
(2000-01-09)

Computer-Based Training
application (CBT) Training (of humans) done by interaction with a computer. The programs and data used in CBT are known as courseware.
(1995-03-13)

Computer Compiler
Proposed language for compiler design.
[Sammet 1969, p. 695].

computer confetti
jargon (Or chad ) A common term for punched-card chad, which, however, does not make good confetti, 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.
[Jargon File]
(2001-06-22)

Computer Conservation Society
(CCS) A specialist group of the British Computer Society.
See also Bletchley Park.
(1994-11-17)

computer crime
legal Breaking the criminal law by use of a computer.
See also computer ethics, software law.
(1997-07-09)

Computer Design Language
An ALGOL-like language for computer design.
[ An ALGOL-like Computer Design Language , Y. Chu, CACM 8(10) (Oct 1965)].
(1994-11-17)

computer dictionary
Free On-line Dictionary of Computing

Computer Emergency Response Team
security, body (CERT) An organisation formed by DARPA in November 1988 in response to the needs exhibited during the Internet worm incident. The CERT charter is to work with the Internet community to facilitate its response to computer security events involving Internet hosts, to take proactive steps to raise the community's awareness of computer security issues and to conduct research targeted at improving the security of existing systems. CERT products and services include 24-hour technical assistance for responding to computer security incidents, product vulnerability assistance, technical documents and tutorials.
(ftp://cert.org)
E-mail: cert@cert.org (incident reports).
Telephone +1 (412) 268 7090 (24-hour hotline).
(2000-07-09)

computer ethics
philosophy Ethics is the field of study that is concerned with questions of value, that is, judgments about what human behaviour is good or bad . Ethical judgments are no different in the area of computing from those in any other area. Computers raise problems of privacy, ownership, theft, and power, to name but a few.
Computer ethics can be grounded in one of four basic world-views: Idealism, Realism, Pragmatism, or Existentialism. Idealists believe that reality is basically ideas and that ethics therefore involves conforming to ideals. Realists believe that reality is basically nature and that ethics therefore involves acting according to what is natural. Pragmatists believe that reality is not fixed but is in process and that ethics therefore is practical (that is, concerned with what will produce socially-desired results). Existentialists believe reality is self-defined and that ethics therefore is individual (that is, concerned only with one's own conscience). Idealism and Realism can be considered ABSOLUTIST worldviews because they are based on something fixed (that is, ideas or nature, respectively). Pragmatism and Existentialism can be considered RELATIVIST worldviews because they are based or something relational (that is, society or the individual, respectively).
Thus ethical judgments will vary, depending on the judge's world-view. Some examples:
First consider theft. Suppose a university's computer is used for sending an e-mail message to a friend or for conducting a full-blown private business (billing, payroll, inventory, etc.). The absolutist would say that both activities are unethical (while recognising a difference in the amount of wrong being done). A relativist might say that the latter activities were wrong because they tied up too much memory and slowed down the machine, but the e-mail message wasn't wrong because it had no significant effect on operations.
Next consider privacy. An instructor uses her account to acquire the cumulative grade point average of a student who is in a class which she instructs. She obtained the password for this restricted information from someone in the Records Office who erroneously thought that she was the student's advisor. The absolutist would probably say that the instructor acted wrongly, since the only person who is entitled to this information is the student and his or her advisor. The relativist would probably ask why the instructor wanted the information. If she replied that she wanted it to be sure that her grading of the student was consistent with the student's overall academic performance record, the relativist might agree that such use was acceptable.
Finally, consider power. At a particular university, if a professor wants a computer account, all she or he need do is request one but a student must obtain faculty sponsorship in order to receive an account. An absolutist (because of a proclivity for hierarchical thinking) might not have a problem with this divergence in procedure. A relativist, on the other hand, might question what makes the two situations essentially different (e.g. are faculty assumed to have more need for computers than students? Are students more likely to cause problems than faculty? Is this a hold-over from the days of in loco parentis ?).
Philosophical Bases of Computer Ethics , Professor Robert N. Barger (http://www.nd.edu/~rbarger/metaethics.html).
Usenet newsgroups: news:bit.listserv.ethics-l, news:alt.soc.ethics.
(1995-10-25)

computer geek
jargon (Or turbo nerd , turbo geek ) One who eats (computer) bugs for a living. One who fulfils all the dreariest negative stereotypes about hackers: an asocial, malodourous, pasty-faced monomaniac with all the personality of a cheese grater. The term 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.
See also Alpha Geek, propeller head, clustergeeking, geek out, wannabee, terminal junkie, spod, weenie.
[Jargon File]
(1997-06-26)

computer-generated imagery
graphics (CGI) Animatied graphics produced by computer and used in film or television.
(1998-10-13)

Computer Generation Incorporated
company (CGI) A US software development company and systems integrator.
Home (http://www.compgen.com/).
E-mail: Paul G. Smith pauls@compgen.com
Telephone: +1 (404) 705 2800
Address: Bldg. G, 4th Floor, 5775 Peachtree-Dunwoody Rd., Atlanta, GA 30342, USA.
(1997-02-11)

Computer Graphics Metafile
graphics, file format (CGM) A standard file format for storage and communication of graphical information, widely used on personal computers and accepted by desktop publishing and technical illustration systems.
MIME type: image/cgm.
ANSI/ISO 8632-1987. Worked on by the ISO/IEC group JTC1/SC24.
CGM Open Consortium (http://www.cgmopen.org/).
See also: WebCGM.
(1999-02-16)

computer language
programming language

computer law
legal Apart from software law, other relevant laws include those concerning the sale of goods. Communication law is more relevant to the Internet, it has to do with media issues in general, e.g. free speech.
(1994-12-05)

computer literacy
education Basic skill in use of computers, from the perspective of such skill being a necessary societal skill.
The term was coined by Andrew Molnar, while director of the Office of Computing Activities at the National Science Foundation.
We started computer literacy in '72 [...] We coined that phrase. It's sort of ironic. Nobody knows what computer literacy is. Nobody can define it. And the reason we selected [it] was because nobody could define it, and [...] it was a broad enough term that you could get all of these programs together under one roof (cited in Aspray, W., (September 25, 1991) Interview with Andrew Molnar, OH 234. Center for the History of Information Processing, Charles Babbage Institute, University of Minnesota).
The term, as a coinage, is similar to earlier coinages, such as visual literacy , which Merriam-Webster (http://www.m-w.com/) dates to 1971, and the more recent media literacy .
(1998-09-07)

Computer Mediated Communication
messaging (CMC) Communication that takes place through, or is facilitated by, computers. Examples include Usenet and e-mail, but CMC also covers real-time chat tools like lily (http://www.lily.org/), IRC, and even video conferencing.
(1996-11-26)

computer nerd
computer geek

computer network
network

Computer Output to Laser Disk
storage (COLD) The capture of large (typically mainframe generated) reports on optical media such that sections are accessible as individual documents. A successor technology to COM (Computer Output on Microfilm).
In 1999 the AIIM renamed COLD to ERM/COLD (Enterprise Report Management), to better reflect the changes and improvements this technology has undergone throughout the years.
An example application is PearlDoc QuickFile Information Management System (http://www.pearldoc.com/) (IMS).
(2001-04-30)

Computer Professionals for Social Responsibility
(CPSR) A non-profit organisation whose mission is to provide the public and policymakers with realistic assessments of the power, promise and problems of Information Technology and the effects of computers on society. CPSR is supported by its membership and has chapters throughout the USA. CPSR sponsors conferences such as our Annual Meeting, Directions and Implications in Advanced Computing (DIAC), the Participatory Design Conference (PDC) and the Computers, Freedom and Privacy (CFP) conference.
Home (http://www.cpsr.org/home)
(1994-11-30)

computer program
software

Computer + Science NETwork
(CSNET) The networking organisation which combined with BITNET to form CREN.
(1994-11-30)

computer security
security

computer sex
jargon Two computers interfaced with each other.
(1996-02-22)

Computer Software Configuration Item
jargon, software (CSCI) The thing that a change control request is requesting to be changed.
(2000-09-06)

Computer Supported Cooperative Work
tool (CSCW) (Or groupware ) Software tools and technology to support groups of people working together on a project, often at different sites.
See also Lotus Notes.
(1994-11-30)

Computer Telephone Integration
communications (CTI or - Telephony - ) Enabling computers to know about and control telephony functions such as making and receiving voice, fax, and data calls, telephone directory services, and caller identification. The integration of telephone and computer systems and is a major development in the evolution of the automated office.
CTI is not a new concept - such links have been used in the past in large telephone networks - but only dedicated call centres could justify the costs of the required equipment installation. Primary telephone service providers are now beginning to offer information services such as Automatic Number Identification and Dialled Number Identification Service on a scale wide enough for its implementation to bring real value to business or residential telephone usage. A new generation of applications (middleware) is being developed as a result of standardisation and availability of low cost computer-telephony links. This can link personal computers with telephones and/or a local area server with a PBX. Leading telephony and software vendors such as AT T, British Telecom, IBM, Novell, Microsoft and Intel are developing better telephony services and capabilities which should eventually enable low cost CTI.
The main CTI functions are integrating messaging with databases, word processors etc.; controlling voice, fax, and e-mail messaging systems from a single application program; graphical call control - using a graphical user interface to perform functions such as making and receiving calls, forwarding and conferencing; call and data association - provision of information about the caller from databases or other applications automatically before the call is answered or transferred; speech synthesis and speech recognition; automatic logging of call related information for invoicing purposes or callback.
Typical productivity benefits are improved customer service; increased productivity; reduced costs; enhanced workflow automation; protected investment in computers and telephony; computerised telephony intelligence.
IBM were one of the first with workable CTI, now sold as CallPath . Callware's Phonetastic is typical of the new breed of middleware.
See also Telephony Application Programming Interface.
(1996-12-08)

Computer Telephony Integration
Computer Telephone Integration

computer virus
virus

computer vision
A branch of artificial intelligence and image processing concerned with computer processing of images from the real world. Computer vision typically requires a combination of low level image processing to enhance the image quality (e.g. remove noise, increase contrast) and higher level pattern recognition and image understanding to recognise features present in the image.
Usenet newsgroup: news:comp.ai.vision.
(1994-11-30)

compute server
computer, parallel A kind of parallel processor where the parallel processors have no I/O except via a bus or other connection to a front-end processor which handles all I/O to disks, terminals and network.
In some antiquated IBM mainframes, a second CPU was provided that could not access I/O devices, known as the slave or attached processor, while the CPU having access to all devices was known as the master processor.
(1995-03-19)

computing
computer

Computing Devices Canada Ltd.
company Canada's largest defence electronics company. It has extensive hardware and software developmental capabilities. Its list of achievements includes: direct and indirect fire control systems, vehicle electronics, reconnaissance vehicle surveillance systems, computerised laser sight for anti-tank weapons, tactical communication systems, headquarters information distribution system, tactical voice and distribution systems, acoustic signal processing, ASW mission systems, sonobuoy processors, active sonar systems, towed array sonar systems, tactical acoustic trainer, Mil-Spec electroluminiscent displays, large multi-sensor displays, coastal intrusion detection systems, and fibre-optic distribution systems.
Computing Devices Canada was founded in 1948 and is part of the Ceridian group of companies, owned 100% by the Minneapolis-based company.
Annual revenue for 1996 was $376 million.
(1997-07-31)

computing dictionary
Free On-line Dictionary of Computing

computron
/kom'pyoo-tron / 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 fuelled by an exhaustible natural resource called mana .)
[Jargon File]

Compuware Corporation
company A software and service company with over 11,000 employees worldwide, including more than 7,000 in its professional services organisation. Since 1973, Compuware has focused on optimising business software development, testing, and operation. With revenues of more than $1.6 billion in 1999, Compuware is a world leader in client-server development.
Home (http://www.compuware.com/).
Telephone: +1 (800) 521 9353.
(1999-06-14)

COMSL
[ COMSL - A Communication System Simulation Language , R.L. Granger, Proc FJCC 37 (1970)].

COMTRAN
[ Communications Computer Language COMTRAN , D.W. Clark et al, RADC-TR-69-190, Rose Air Development Center, Griffiss AFB, NY, July 1969].
[Sammet 1969, p.324, 331].

con
[SF fandom] A science-fiction convention. Not used of other sorts of conventions, such as professional meetings. This term, unlike many others of SF-fan slang, is widely recognised even by hackers who aren't fans. We'd been corresponding on the net for months, then we met face-to-face at a con.
[Jargon File]

ConC
language A concurrent extension of C based on decomposed Petri nets. It uses the 'handshake' and 'unit' constructs.
[ ConC: A Language for Distributed Real-Time Programming , V.K. Garg et al, Computer Langs 16(1):5-18 (1991)].
(1995-03-02)

concatenate
To join together two or more files or lists to form one big one.
The Unix cat command can be used to concatenate files.
(1995-12-22)

concatenated key
compound key

concentrator
communications A device that combines the data streams from many simultaneously active inputs into one shared channel in such a way that the streams can be separated after transmission. The concentrator's output bandwidth must be at least as great as the total bandwidth of all simultaneously active inputs. A concentrator is one kind of multiplexing device.
For example, a concentrator may be used to connect 24 2400 bps TTYs to a host via a 57600 bps channel.
(2000-03-01)

conceptualisation
artificial intelligence The collection of objects, concepts and other entities that are assumed to exist in some area of interest and the relationships that hold among them. A conceptualisation is an abstract, simplified view of the world that we wish to represent. For example, we may conceptualise a family as the set of names, sexes and the relationships of the family members. Choosing a conceptualisation is the first stage of knowledge representation.
Every knowledge base, knowledge-based system, or knowledge-level agent is committed to some conceptualisation, explicitly or implicitly.
(1994-10-19)

Concert/C
language, parallel A parallel extension of ANSI C with asynchronous message passing developed at the IBM TJWRC in July 1993.
(ftp://software.watson.ibm.com/pub/concert/).
(2000-08-13)

ConCoord
programming, parallel An environment for programming networks of sequential and parallel computers. ConCoord offers two contributions to concurrent programming. First, it supports explicit exploitation of a variety of grains of concurrency. Second, it separates the treatment of sequential and of concurrent aspects of programming into computation and coordination respectively. Sequential algorithms can be reused within computation and concurrent ones within coordination.
(1995-05-01)

concrete class
programming In object-oriented programming, a class suitable to be instantiated, as opposed to an abstract class.
(1995-05-01)

Concrete Data Structure
(CDS) A model of programming language terms developed in the context of constructing fully abstract semantics for sequential languages. A CDS is a 4-tuple (C,V,E,|-) where C is a cell, V is a value, E is an event and |- is an enabling relation . An event is a cell and a value. A cell C is enabled by a set of events S if S |- C. A state is a set of events which are consistent in that the values they give for any cell are all equal. Every cell in a state is enabled.
[G. Berry, P.-L. Curien, Theory and practice of sequential algorithms: the kernel of applicative language CDS , Algebraic methods in semantics, CUP 1985].
(1994-11-30)

concrete syntax
language The concrete syntax of a language including all the features visible in the source program such as parentheses and delimiters. The concrete syntax is used when parsing the program or other input, during which it is usually converted into some kind of abstract syntax tree.
Compare: abstract syntax.
(1997-07-21)

CONCUR
[ CONCUR, A Language for Continuous Concurrent Processes , R.M. Salter et al, Comp Langs 5(3):163-189 (1981)].

concurrency
multitasking

Concurrent C
1. An extension of C with rendezvous-based concurrency. Versions for most Unix systems are available commercially from AT T.
[ Concurrent C , N.H. Gehani et al, Soft Prac Exp 16(9):821-844 (1986)].
[ The Concurrent C Programming Language , N. Gehani et al, Silicon Press 1989].
(1994-11-11)
2. An extension of C with asynchronous message passing.
[ Concurrent C: A Language for Distributed Systems , Y. Tsujino et al, Soft Prac Exp 14(11):1061-1078 (Nov 1984)].
(1994-11-11)

Concurrent C++
[ Concurrent C++: Concurrent Programming with Class(es) , N. Gehani, Bell labs 1986].

Concurrent Clean
language An alternative name for Clean 1.0.
(1995-11-08)

Concurrent CLU
Hamilton, 1984.
[ Preserving Abstraction in Concurrent Programming , R. Cooper et al, IEEE Trans Soft Eng SE-14(2):258-263 (Feb 1988)].

Concurrent Constraint Programming
language (CCP) Not a language, but a general approach.
[Details?]
(2001-11-01)

Concurrent Euclid
A concurrent extension of a subset of Euclid ( Simple Euclid ) developed by J.R. Cordy and R.C. Holt of the University of Toronto in 1980.
It features separate compilation, modules, processes and monitors, signal and wait on condition variables, 'converters' to defeat strong type checking, absolute addresses. All procedures and functions are re-entrant. TUNIS (a Unix-like operating system) is written in Concurrent Euclid.
[ Specification of Concurrent Euclid , J.R. Cordy R.C. Holt, Reports CSRI-115 CSRI-133, CSRI, U Toronto, Jul 1980, rev. Aug 1981].
[ Concurrent Euclid, The Unix System, and Tunis, R.C. Holt, A-W, 1983].

Concurrent LISP
[ A Multi-Processor System for Concurrent Lisp , S. Sugimoto et al, Proc 1983 Intl Conf parallel Proc, 1983 pp.135-143].

Concurrent Massey Hope
language, functional programming An extension of Massey Hope, by Peter Burgess, Robert Pointon, and Nigel Perry N.Perry@massey.ac.nz of Massey University, NZ, that provides multithreading and typed inter-thread communication. It uses C for intermediate code rather than assembly language.
(1999-08-04)

Concurrent ML
language (CML) A concurrent extension of SML/NJ written by J. Reppy at Cornell University in 1990. CML supports dynamic thread creation and synchronous message passing on typed channels. Threads are implemented using first-class continuations. First-class synchronous operations allow users to tailor their synchronisation abstractions for their application. CML also supports both stream I/O and low-level I/O in an integrated fashion.
Latest version: 0.9.8, as of 1994-12-21, requires SML/NJ 0.75 or later.
(ftp://ftp.cs.cornell.edu/pub/).
E-mail: sml-bugs@research.att.com (bugs).
[ CML: A Higher-Order Concurrent Language , John H. Reppy, SIGPLAN Notices 26(6):293-305, June 1991].
(2000-08-09)

Concurrent Oberon
A concurrent version of Oberon. There is an implementation the Ceres workstation.
[ Adding Concurrency to the Oberon System , S. Lalis et al, ETH Zurich, 1993].
(1994-11-11)

Concurrent Object-Oriented C
language (cooC) A language with concurrent object execution from Toshiba. It has synchronous and asynchronous message passing. It has been implemented for SunOS.
(ftp://tsbgw.isl.rdc.toshiba.co.jp/pub/toshiba/cooc-beta.1.1.tar.Z).
[SIGPLAN Notices 28(2)].
(2000-08-13)

Concurrent Object-Oriented Language
(COOL) An extension of C++ with task-level parallelism for shared-memory multi-processors.
[ COOL: A Language for Parallel Programming , R. Chandra rohit@seagull.stanford.edu et al in Languages and Compilers for Parallel Computing, D. Gelernter et al eds, MIT Press 1990, pp. 126-148].
E-mail: Rohit Chandra rohit@cool.stanford.edu .
(1994-11-30)

Concurrent Pascal
An extension of a Pascal subset, Sequential Pascal, developed by Brinch Hansen in 1972-75. Concurrent Pascal was the first language to support monitors. It provided access to hardware devices through monitor calls and supported also processes and classes.
[ The Programming Language Concurrent Pascal , Per Brinch Hansen, IEEE Trans Soft Eng 1(2):199-207 (Jun 1975)].
(1994-11-30)

Concurrent Prolog
A Prolog variant with guarded clauses and committed-choice nondeterminism (don't-care nondeterminism) by Ehud Udi Shapiro, Yale shapiro-ehud@yale.edu . A subset has been implemented, but not the full language.
See also Mandala.
[ Concurrent Prolog: Collected Papers , E. Shapiro, V.1-2, MIT Press 1987].
(1994-11-30)

Concurrent Scheme
A parallel Lisp, for the Mayfly by M. Swanson swanson%teewinot@cs.utah.edu .
[ Concurrent Scheme , R.R. Kessler et al, in Parallel Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989].
(1994-11-30)

ConcurrentSmalltalk
A concurrent variant of Smalltalk.
[ Concurrent Programming in ConcurrentSmalltalk , Y. Yokote et al in Object-Oriented Concurrent Programming, A. Yonezawa et al eds, MIT Press 1987, pp. 129-158].
(1994-11-30)

Concurrent SP/k
language (CSP/k) A PL/I-like concurrent language.
[ Structured Concurrent Programming with Operating System Applications , R.C. Holt et al, A-W 1978].
(1997-12-15)

condela
Connection Definition Language.
A procedural, parallel language for defining neural networks.
(ftp://tut.cis.ohio-state.edu/pub/condela)
(1994-11-30)

condition out
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 of these directives are #if 0 (or #ifdef notdef , though some find the latter bletcherous) and #endif in C. Compare comment out.
[Jargon File]
(1994-11-30)

condom
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.
3. keyboard condom : A flexible, transparent plastic cover for a keyboard, designed to provide some protection against dust and programming fluid without impeding typing.
4. elephant condom : the plastic shipping bags used inside cardboard boxes to protect hardware in transit.
[Jargon File]
(1995-03-14)

Conference On DAta SYstems Languages
database (CODASYL) An ancient and obsolete database model which was nonetheless the first to allow one-to-many relations.
(1998-03-16)

Conferencing over IP
communications, standard (CoIP) The IMTC Activity Group trying to standardise IP Telephony through the use of ITU-T H.323.
The VoIP forum of the IMTC merged with the H.323 Activity Group in January 1999 to form the Conferencing over IP (CoIP) Activity Group.
VoIP uses VoIP Devices as gateways to route voice packets over the Internet or PSTN. It uses protocols such as SGCP and its successor MGCP.
Home (http://www.imtc.org/act_coipbody.htm).
(1999-03-17)

confidence test
testing Tests to confirm that the results of a program lie within certain ranges according to the expected probability distribution.
(1997-10-27)

CONFIG.SYS
operating system A text file containing special system configuration commands. It is found in the root directory on an MS-DOS computer, typically on drive C (the hard disk). It is read by MS-DOS at boot time, after the setup has been read from from CMOS RAM and before running AUTOEXEC.BAT. It can be modified by the user.
Some example commands which CONFIG.SYS might contain are:
DEVICE=C: DOS HIMEM.SYS /testmem:off
Load the extended memory manager.
DEVICE=C: DOS EMM386.EXE RAM
Load the expanded memory manager.
BUFFERS=10,0
Specify memory for disk buffers.
FILES=70
Set the number of files that can be open at once.
DOS=UMB
DOS is located in UppeMemoryBlock.
LASTDRIVE=Z
Disk drives are A: to Z:.
FCBS=16,0
Set the number of file control blocks.
DEVICEHIGH /L:1,12048 =C: DOS SETVER.EXE
Report the DOS version to older programs.
DOS=HIGH
DOS should maintain a link to UMB.
COUNTRY=358,437 C: DOS COUNTRY.SYS
Set the country code for some programs.
STACKS=9,256
Set dynamic stacks for hardware control.
SHELL=C: DOS COMMAND.COM C: DOS /E:1024 /p
Set the location of the command interpreter.
(1995-03-16)

configuration item
jargon Hardware or software, or an aggregate of both, which is designated by the project configuration manager (or contracting agency) for configuration management.
(1996-05-29)

configuration management
job A discipline applying technical and administrative controls to:
1. Identification and documentation of physical and functional characteristics of configuration items.
2. Any changes to characteristics of those configuration items.
3. Recording and reporting of change processing and implementation of the system.
See also code management, software life-cycle.
(1996-05-29)

configuration programming
programming An approach that advocates the use of a separate configuration language to specify the coarse-grain structure of programs. Configuration programming is particularly attractive for concurrent, parallel and distributed systems that have inherently complex program structures.
Darwin is an example of a configuration language.
(1995-03-14)

conflation
database Combining or blending of two or more versions of a text; confusion or mixing up. Conflation algorithms are used in databases.
[Any specific technical meaning?]
(1996-04-14)

ConflictNet
An IGC network serving groups and individuals working for social justice and conflict resolution. ConflictNet's resources include guidelines for choosing a neutral third party, sample case development in conflict resolution, extensive bibliographies, legislative updates, educational materials and newsletters from around the world.

congestion
When the offered load of a data communication path exceeds the capacity.

CONIC
[ Dynamic Configuration for Distributed Systems , J. Kramer et al, IEEE Trans Soft Eng SE-11(4):424-436 (Apr 1985)].

conjunction
AND

Conjunctive Normal Form
logic (CNF) A logical formula consisting of a conjunction of disjunctions of terms where no disjunction contains a conjunction. Such a formula might also be described as a product of sums. E.g. the CNF of
(A and B) or C is (A or C) and (B or C).
Contrast Disjunctive Normal Form.
(1995-12-10)

connect
library, networking Unix socket library routine to connect a socket that has been created on the local hosts to one at a specified socket address on the remote host.
Unix manual pages: connect(2), accept(2).
(1995-03-21)

connected graph
mathematics A graph such that there is a path between any pair of nodes (via zero or more other nodes).
Thus if we start from any node and visit all nodes connected to it by a single edge, then all nodes connected to any of them, and so on, then we will eventually have visited every node in the connected graph.
(1996-09-22)

connected subgraph
mathematics A connected graph consisting of a subset of the nodes and edges of some other graph.
(1996-09-22)

connectionless protocol
The data communication method in which communication occurs between hosts with no previous setup. Packets sent between two hosts may take different routes. UDP is a connectionless protocol. Also called packet switching. Contrast circuit switching, connection-oriented.

Connection Machine LISP
language Lisp with a parallel data structure, the 'xapping', an array of values assigned to an array of sites.
[G.L. Steele et al, Connection Machine LISP: Fine-Grained Parallel Symbolic Processing , in Proc 1986 ACM Conf on LISP and Functional Prog, Aug 1986, pp.279-297].
[ Connection Machine LISP Reference Manual , Thinking Machines Corp, Feb 1987].
(1995-02-28)

connection-oriented
networking (Or connection-based, stream-oriented). A type of transport layer data communication service that allows a host to send data in a continuous stream to another host. The transport service will guarantee that all data will be delivered to the other end in the same order as sent and without duplication. Communication proceeds through three well-defined phases: connection establishment, data transfer, connection release. The most common example is Transmission Control Protocol (TCP).
Opposite of connectionless, datagram. See also circuit switching, packet switching, virtual circuit.

connection-oriented network service
networking (CONS) Because of the relatively long transit delays and inferior bit error rate of WANs, a more sophisticated connection-oriented protocol is normally used.
(1997-11-08)

connective
An operator used in logic to combine two logical formulas. See first order logic.

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]. 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 licence the design and thus effectively locked third parties out of competition for the lucrative Massbus peripherals market. This policy 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. Older Apple Macintoshes took this one step further, requiring not only a hex wrench but a specialised 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.
[Jargon File]

CONNIVER
Artificial intelligence language for automatic theorem proving. An outgrowth of PLANNER, based on coroutines rather than backtracking. Allowed multiple database contexts with hypothetical assertions.
[ The CONNIVER Reference Manual , D. McDermott G.J. Sussman gjs@zurich.ai.mit.edu , AI Memo 259, MIT AI Lab, 1973].
(1995-01-10)

Co-NP
complementary nondeterministic polynomial

CONS
connection-oriented network service

cons
/konz/ or /kons/ [LISP, construct ] A Lisp function which takes an element H and a list T and returns a new list whose head is H and whose tail is T.
In Lisp, cons is the most fundamental operation for building structures. It actually takes any two objects and returns a dotted-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.
[Jargon File]

conservative evaluation
Under this parallel evaluation strategy, no evaluation is started unless it is known to be needed. Opposite of speculative evaluation.

considered harmful
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 realisation that both sides were wrong, but use of such titles has remained as a persistent minor in-joke.
[Jargon File]

consistently complete
[domain theory] boundedly complete.

console
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 time-sharing operating systems, 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.
[Jargon File]

console jockey
terminal junkie

Consortium for Lexical Research
(CLR) The Consortium for Lexical Research is a repository for natural language processing software, lexical data, tools and resources. It was set up in July 1991 in the Computing Research Laboratory of New Mexico State University, Las Cruces, New Mexico.
CLR maintains a public ftp site, and a separate members-only library. Currently (Feb 1994) CLR has about 60 members, mostly academic institutions, including most US natural language processing centres. Materials can be contributed to the archives in exchange for membership.
(ftp://clr.nmsu.edu/) (128.123.1.12). E-mail: lexical@crl.nmsu.edu .

constant angular velocity
storage (CAV) A disk driving scheme in which the angular velocity of the disk is kept constant. This means that the linear velocity of the disk be larger when the reading or writing the outer tracks. The disadvantage of this technique is that the read/write speed varies from track to track. However, as mechanical stability puts an upper limit on the angular velocity (and not the linear velocity) this allows the full potential of the drive is used.
(1998-03-27)

constant applicative form
(CAF) (Functional programming) A supercombinator which is not a lambda abstraction. This includes truly constant expressions such as 12, (+ 1 2), [1,2,3] as well as partially applied functions such as (+ 4). Note that this last example is equivalent under eta abstraction to x . + 4 x which is not a CAF.
Since a CAF is a supercombinator, it contains no free variables. Moreover, since it is not a lambda abstraction it contains no variables at all. It may however contain identifiers which refer to other CAFs, e.g.
c 3 where c = (* 2).
A CAF can always be lifted to the top level of the program. It can either be compiled to a piece of graph which will be shared by all uses or to some shared code which will overwrite itself with some graph the first time it is evaluated. A CAF such as
ints = from 1 where from n = n : from (n+1)
can grow without bound but may only be accessible from within the code of one or more functions. In order for the garbage collector to be able to reclaim such structures, we associate with each function a list of the CAFs to which it refers. When garbage collecting a reference to the function we collect the CAFs on its list.
(1994-11-30)

constant folding
compiler A compiler optimisation technique where constant subexpressions are evaluated at compile time. This is usually only applied to built-in numerical and boolean operators whereas partial evaluation is more general in that expressions involving user-defined functions may also be evaluated at compile time.
(1997-02-20)

Constantine/Yourdon
Yourdon/Constantine

constant linear velocity
storage (CLV) A disk driving scheme in which the linear velocity of the disk is kept constant. This requires that the angular velocity of the disk be larger when the reading or writing tracks closer to the axis. The advantage of this technique is that the read/write speed is constant. However, as mechanical stability puts an upper limit on the angular velocity (and not the linear velocity) using the same linear velocity throughout, i.e., using less then the maximal angular velocity at outer tracks means that the full potential of the drive is not used.
(1998-03-27)

constant mapping
Some TCP software constructs the destination Ethernet address from the top 24 bits of the Ethernet address followed by the low 24 bits of the (class A) destination Internet address. For this scheme the top 24 bits of the Ethernet address must be the same on all hosts on the net. Contrast ARP.

constraint
programming, mathematics A Boolean relation, often an equality or ineqality relation, between the values of one or more mathematical variables (often two). E.g. x 3 is a constraint on x. constraint satisfaction attempts to assign values to variables so that all constraints are true.
Usenet newsgroup: news:comp.constraints. FAQ (http://www.cs.unh.edu/ccc/archive/).
(2002-06-08)

constraint functional programming
programming (CFP) functional programming plus constraints.
(2002-06-08)

Constraint Handling In Prolog
language (CHIP) A constraint logic programming language developed by M. Dincbas at ECRC, Munich, Germany in 1985 which includes Boolean unification and a symbolic simplex-like algorithm. CHIP introduced the domain-variable model.
[ The Constraint Logic Programming Language CHIP , M. Dincbas et al, Proc 2nd Intl Conf on Fifth Generation Computer Sys, Tokyo (Nov 1988), pp.249-264].
[ Constraint Satisfaction in Logic Programming , Van Hentenryck. Available from COSYTEC, 4 rue Jean Rostand, F91893 Orsay, France].
(1994-11-15)

ConstraintLisp
language An object-oriented constraint language based on CSP. An extension of Common Lisp and CLOS.
[ ConstraintLisp: An Object-Oriented Constraint Programming Language , Bing Liu (ex bing@iti.gov.sg) et al, SIGPLAN Notices 27(11):17-26, Nov 1992].
(2000-04-02)

Constraint Logic Programming
(CLP) A programming framework based (like Prolog) on LUSH (or SLD) resolution, but in which unification has been replaced by a constraint solver. A CLP interpreter contains a Prolog-like inference engine and an incremental constraint solver. The engine sends constraints to the solver one at a time. If the new constraint is consistent with the collected constraints it will be added to the set. If it was inconsistent, it will cause the engine to backtrack.
CLP* is a variant.
[ Constraint Logic Programming , J. Jaffar et al, 14th POPL, ACM 1987].
(1994-11-01)

CONSTRAINTS
A language for solving constraints using value inference.
[ CONSTRAINTS: A Language for Expressing Almost-Hierarchical Descriptions , G.J. Sussman et al, Artif Intell 14(1):1-39 (Aug 1980)].
(1994-11-01)

constraint satisfaction
application The process of assigning values to variables while meeting certain requirements or constraints . For example, in graph colouring, a node is a variable, the colour assigned to it is its value and a link between two nodes represents the constraint that those two nodes must not be assigned the same colour. In scheduling, constraints apply to such variables as the starting and ending times for tasks.
The Simplex method is one well known technique for solving numerical constraints.
The search difficulty of constraint satisfaction problems can be determined on average from knowledge of easily computed structural properties of the problems. In fact, hard instances of NP-complete problems are concentrated near an abrupt transition between under- and over-constrained problems. This transition is analogous to phase transitions in physical systems and offers a way to estimate the likely difficulty of a constraint problem before attempting to solve it with search.
Phase transitions in search (ftp://parcftp.xerox.com/pub/dynamics/constraints.html) (Tad Hogg, XEROX PARC).
(1995-02-15)

constructed type
A type formed by applying some type constructor function to one or more other types. The usual constructions are functions: t1 - t2, products: (t1, t2), sums: t1 + t2 and lifting: lift(t1).
(In LaTeX, the lifted type is written with a subscript perp).
See also algebraic data type, primitive type.
(1995-02-03)

constructive
mathematics A proof that something exists is constructive if it provides a method for actually constructing it. Cantor's proof that the real numbers are uncountable can be thought of as a *non-constructive* proof that irrational numbers exist. (There are easy constructive proofs, too; but there are existence theorems with no known constructive proof).
Obviously, all else being equal, constructive proofs are better than non-constructive proofs. A few mathematicians actually reject *all* non-constructive arguments as invalid; this means, for instance, that the law of the excluded middle (either P or not-P must hold, whatever P is) has to go; this makes proof by contradiction invalid. See intuitionistic logic for more information on this.
Most mathematicians are perfectly happy with non-constructive proofs; however, the constructive approach is popular in theoretical computer science, both because computer scientists are less given to abstraction than mathematicians and because intuitionistic logic turns out to be the right theory for a theoretical treatment of the foundations of computer science.
(1995-04-13)

Constructive Cost Model
programming (COCOMO) A method for evaluating the cost of a software package proposed by Dr Barry Boehm. There are a number of different types:
The Basic COCOMO Model estimates the effort required to develop software in three modes of development (Organic Mode, Semidetached Mode, or Embedded Mode) using only DSIs as an input. The Basic model is good for quick, early, and rough order of magnitude estimates.
The Intermediate COCOMO Model an extension of the Basic COCOMO model. The Intermediate model uses an Effort Adjustment Factor (EAF) and slightly different coefficients for the effort equation than the Basic model. It produces better results than the Basic model because the user supplies settings for cost drivers that determine the effort and duration of the software projects. The Intermediate model also allows the system to be divided and estimated in components. DSI values and cost drivers can be chosen for individual components instead of for the system as a whole.
The Detailed COCOMO Model differs from the Intermediate COCOMO model in that it uses effort multipliers for each phase of the project. These phase dependent effort multipliers yield better estimates because the cost driver ratings may be different during each phase. The detailed model also provides a three-level product hierarchy and has some other capabilities such as a procedure for adjusting the phase distribution of the development schedule.
[ Software Engineering Economics , B. Boehm, Prentice-Hall, 1981].
(1996-05-29)

constructive solid geometry
graphics (CSG) A method for describing the geometry of complex scenes by applying set operations to primitive objects.
See also CSG-tree.
[What operations? What objects?]
(1998-06-09)

constructor
programming 1. In functional programming and type theory, one of the symbols used to create an object with an algebraic data type.
2. A function provided by a class in C++ and some other object-oriented languages to instantiate an object, i.e. to name it and initialise it. The constructor function has the same name as the class. A class may also have a destructor function to destroy objects of that class.
(1994-10-20)

Consul
language A constraint-based [future-based?] language with Lisp-like syntax.
[ Consul: A Parallel Constraint Language , D. Baldwin, IEEE Software 6(4):62-71].
(1994-11-30)

container class
A class whose instances are collections of other objects. Examples include stacks, queues, lists and arrays.

content addressable memory
(CAM, or associative memory ) A kind of storage device which includes comparison logic with each bit of storage. A data value is broadcast to all words of storage and compared with the values there. Words which match are flagged in some way. Subsequent operations can then work on flagged words, e.g. read them out one at a time or write to certain bit positions in all of them. A CAM can thus operate as a data parallel (SIMD) processor.
CAMs are often used in caches and memory management units.
(1995-02-16)

content-based information retrieval
image, algorithm (CBIR) A general term for methods for using information stored in image archives.
[Details?]
[IEEE Computer, September 1995].
(1995-11-23)

Content Data Model
(CDM) An SGML-based DoD specification for interactive manuals.
(1995-02-15)

content-free
1. (By analogy with context-free ) 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 centred on concerns irrelevant to the subject ostensibly at hand. Perhaps most used with reference to speeches by company presidents and other professional manipulators.
See also four-colour glossies.
2. Within British schools the term refers to general-purpose software such as a word processor, a spreadsheet or a program that tests spelling of words supplied by the teacher. This is in contrast to software designed to teach a particular topic, e.g. a plant growth simulation, an interactive periodic table or a program that tests spelling of a predetermined list of words. Content-free software can be more cost-effective as it can be reused for many lessons throughout the syllabus.
[Jargon File]
(1998-08-26)

contention slot
(Or contention period). Minimum time a host must transmit for before it can be sure that no other host's packet has collided with its transmission. If the maximum propagation delay from one host to any other is T, then a host that starts to transmit at time t0 may collide with a host that starts just before t0 + T. The first host will not detect the collision until time t0 + 2T.

context
That which surrounds, and gives meaning to, something else.
grammar In a grammar it refers to the symbols before and after the symbol under consideration. If the syntax of a symbol is independent of its context, the grammar is said to be context-free.

context clash
grammar When a parser cannot tell which alternative production of a syntax applies by looking at the next input token ( lexeme ).
E.g. given syntax
C - A | b c
A - d | b e
If you're parsing non-terminal C and the next token is 'b', you don't know whether it's the first or second alternative of C since they both can start with b.
To discover whether a grammar has a context clash:
For each non-terminal, N, with multiple alternatives, look at the first symbol of each alternative's right-hand side, call it s. If s is the empty string, then find the set FOLLOWER(N) otherwise find the set FIRST*(s). If any of the sets for N's alternatives intersect then there will be a context clash when parsing N. If the next input symbol is one of those in the intersection of two sets then you won't know which of the alternatives applies.
FIRST(s) is the set of symbols with which s can start, including s itself. If s is a non-terminal then FIRST(s) also includes the first symbol of each alternative right-hand side of s. The '*' in FIRST*(s) means the transitive closure of FIRST which means keep applying FIRST to each element of the result until the result doesn't change. I.e. start with just the set R = s, then for each non-terminal x in R, add FIRST(x) to R. Keep doing this until nothing new is added. (We are really only interested in the terminals in FIRST*(s) but some definitions include the non-terminals).
FOLLOWER(N) is the set of symbols which can come after N in a sentence. Find each occurrence of N on the right-hand side of a rule, e.g.
M - ... | ... N ... | ...
If there is a symbol s immediately following N then add FIRST*(s) to the result (again, we're only interested in the terminal symbols in FIRST*(s)) if there is no symbol after N in the alternative then add FOLLOWER(M) to the result (i.e. if N can be the last symbol in an M then anything that can follow M can also follow N).
If a grammar can generate the same sentence in multiple different ways (with different parse tress) then it is ambiguous. An ambiguity must start with a context clash (but not all context clashes imply ambiguity). The context clash occurs when trying to parse the first token of the phrase with multiple parses - you will not be able to tell which alternative to take. To see if a context clash is also a case of ambiguity you would need to follow the alternatives involved in each context clash to see if they can generate the same complete sequence of tokens.
(1995-04-05)

context-free
Said of a grammar where the syntax of each constituent is independent of the symbols occuring before and after it in a sentence. Parsers for such grammars are simpler than those for context-dependent grammars because the parser need only know the current symbol.

context-sensitive menu
operating system A menu which appears in response to a user action (typically a mouse click) and whose contents are determined by which application window was clicked or has the input focus.
Most GUIs use a secondary mouse button (right or middle) to call up a context-sensitive menu as the primary mouse button is normally used to interact with objects which are already visible.
The context-sensitive menu often contains functions that are also available in a menu bar but the context-sensitive menu provides quick access to a subset of functions that are particularly relevant to the window area clicked on.
The RISC OS WIMP uses only context-sensitive menus (always invoked using the middle mouse button). This saves screen space and reduces mouse movement compared to a menu bar.
(1999-09-22)

context switch
operating system When a multitasking operating system stops running one process and starts running another. Many operating systems implement concurrency by maintaining separate environments or contexts for each process. The amount of separation between processes, and the amount of information in a context, depends on the operating system but generally the OS should prevent processes interfering with each other, e.g. by modifying each other's memory.
A context switch can be as simple as changing the value of the program counter and stack pointer or it might involve resetting the MMU to make a different set of memory pages available.
In order to present the user with an impression of parallism, and to allow processes to respond quickly to external events, many systems will context switch tens or hundreds of times per second.
(1996-12-18)

Contextually Communicating Sequential Processes
(CCSP) A notation based on CSP.
[ Contextually Communicating Sequential Processes - A Software Engineering Approach , M. Hull et al, Software Prac Exp 16(9):845-864 (Sept 1986)].
(1994-11-01)

continental drift
In 1980 David Turner remarked that KRC ran at the speed of the continental drift .
(1994-12-06)

continuation
See continuation passing style.

Continuation Passing Style
(CPS) A semantically clean language with continuations used as an intermediate language for Scheme and the SML/NJ compiler.
[ Rabbit: A Compiler for Scheme , G.L. Steele, AI-TR-474, MIT (May 1978)].
[ Compiling With Continuations , A. Appel, Cambridge U Press 1992].

continuation passing style
programming (CPS) A style of programming in which every user function f takes an extra argument c known as a continuation. Whenever f would normally return a result r to its caller, it instead returns the result of applying the continuation to r. The continuation thus represents the whole of the rest of the computation. Some examples:
normal (direct style) -- continuation passing
square x = x * xsquare x k = k (x*x)
g (square 23)square 23 g
(square 3) + 1square 3 ( s . s+1 )
(1995-04-04)

continuations
See continuation passing style.

continuous function
A function f : D - E, where D and E are cpos, is continuous if it is monotonic and
f (lub Z) = lub f z | z in Z
for all directed sets Z in D. In other words, the image of the lub is the lub of any directed image.
All additive functions (functions which preserve all lubs) are continuous. A continuous function has a least fixed point if its domain has a least element, bottom (i.e. it is a cpo or a pointed cpo depending on your definition of a cpo). The least fixed point is
fix f = lub f^n bottom | n = 0..infinity
(1994-11-30)

Continuous System Modeling Program
simulation (CSMP) A program for simulation of dynamics of continuous systems. CSMP is similar to CSSL.
[ A Guide to Using CSMP - The Continuous System Modeling Program , Frank H. Speckhart et al, P-H 1976].
(1995-02-23)

continuous wave
communications (CW) A term from early radio history, when the spark gap method of transmission was replaced by vacuum-tube oscillators. A spark gap initiates a ringing, damped sinusoidal wave in a tuned circuit consisting of an inductor and capacitor. The energy in this circuit is constantly changing between the capacitor's electrostatic field and the inductor's magnetic field. The energy is then coupled, loosely (so as not to dampen the wave too quickly), to the radiating antenna.
In contrast, a vacuum-tube oscillator constantly adds energy to the tuned circuit, compensating for the amount coupled to the antenna, and the transmitted energy or wave, is therefore continuous .
Many (especially radio amateurs) continue to understand CW to mean transmission by means a signal of a single frequency which is either on or off (e.g. Morse code), as opposed to a carrier which varies continuously in amplitude, frequency or phase. Some would even call the former unmodulated even though turning on and off is actually an extreme form of amplitude modulation.
(1995-03-15)

contraction
reduction

control
character (Or ctrl , ^ ) One (or a pair) of modifier keys found on all modern keyboards. If the control key is held down while pressing and releasing certain other keys then a control character is generated, e.g. holding control and hitting A generates control-A (ASCII code 1). The ASCII code for the control character is generally 64 less than that for the unmodified character.
The control key does not generate any character on its own but most modern keyboards and operating systems allow a program to tell whether each of the individual keys on the keyboard (including modifier keys) is pressed at any time.
Control characters mostly have some kind of non-printing effect on the output such as ringing the bell (Control-G) or advancing to the next line (Control-J). Most have alternative names suggesting these functions (Bell, Line Feed, etc.).
See ASCII character table.
(1997-07-10)

Control and Status Register
hardware (CSR) A register in most CPUs which stores additional information about the results of machine instructions, e.g. comparisons. It usually consists of several independent flags such as carry, overflow and zero. The CSR is chiefly used to determine the outcome of conditional branch instructions or other forms of conditional execution.
(1998-06-26)

control-C
character (Or ETX, End of Text) The ASCII character with code 3.
Control-C is the interrupt character used on many operating systems, including Unix and MS-DOS to abort a running program.
Among BSD Unix hackers, the canonical humorous response to Give me a break! is Control C .
[Jargon File]
(1995-03-16)

control code
character A character which is input or output to cause some special action rather than to appear as part of the data.
Most control characters are input by holding down (either of) the Control key(s) on the keyboard and simultaneously pressing another key which may be a letter or (depending on the keyboard and operating system) certain punctuation characters. Some control codes usually have their own special keys: escape, tab, delete, backspace, return and can thus be entered with a single keypress.
Different operating systems and programs have different conventions for what effect typing certain control codes will have, such as interrupting the current process or suspending output.
Control codes may be output for their effect on the output device, e.g. moving the cursor or print head to the start of a new line.
See control-O, control-Q, control-S.
(1995-03-23)

control flow
programming (Or flow of control ) The sequence of execution of instructions in a program. This is determined at run time by the input data and by the control structures (e.g. if statements) used in the program.
Not to be confused with flow control .
(1997-09-14)

control-G
bell

Control Language
language (CL) The batch language for IBM RPG/38, used in conjunction with RPG III.
See also OCL.
(2000-04-08)

controller
hardware Part of a computer, typically a separate circuit board, which allows the computer to use certain kinds of peripheral devices. A disk controller is used to connect hard disks and floppy disks, a network controller is used for Ethernet. Other controllers are: keyboard controller, interrupt controller and graphics controller.
(1998-03-16)

control-O
character ASCII character 15 (SI).
The character used on some operating systems to abort output but allow the program to keep on running. The name SI comes from its use on some terminals to shift in an alternative character set. SO is Control-N.
Compare control-S.
[Jargon File]
(1995-03-16)

Control Program
operating system (CP) The component of IBM's Virtual Machine (VM) that provides guest support for operating systems that run on IBM mainframe compatible processors. Cp does this by providing a seamless emulation of privileged functions in the problem program environment.
(1999-01-19)

Control Program for Microcomputers
operating system (CP/M) An early microcomputer operating system written by Gary Kildall of Digital Research for 8080 and Zilog Z80-based 8-bit computers. CP/M was very popular in the late 1970s but was virtually wiped out by MS-DOS after the release of the IBM PC in 1981.
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.
CP/M might have been the OS for the IBM PC instead of MS-DOS but Kildall wanted to keep control of his creation and only license it to IBM. Big Blue however wanted to own and control it completely. Kildall spent the day IBM's reps wanted to meet him enjoying the perfect flying weather in his private plane.
[Did CP/M use the same FAT file system as MS-DOS?]
(1996-01-07)

control-Q
character (Or XON, DC1, Device Control 1) The character with ASCII code 17, used in software handshaking to resume output after a previous control-S.
[Jargon File]
(1996-06-28)

control-S
character (Or XOFF, DC3, Device Control 3) The character with ASCII code 19, used in software handshaking to temporarily suspend output until a control-Q is received.
[Jargon File]
(1996-06-28)

control structure
programming One of the instructions, statements or groups of statements in a programming language which determines the sequence of execution of other instructions or statements (the control flow).
In assembly language this typically consists of jumps and conditional jumps along with procedure call and return though some architectures include other constructs such as an instruction which skips the following instruction depending on some condition (PDP?), various kinds of loop instructions (later Motorola 680x0) or conditional execution of all instructions (Advanced RISC Machine).
Basic control structures (whatever their names in particular languages) include if CONDITION then EXPRESSION else EXPRESSION , the switch statement, while CONDITION do EXPRESSION , gosub , the suspect goto and the much-feared come from . Other constructs handle errors and exceptions such as traps and interrupts.
(1997-09-14)

control tty
(/dev/ptyp*) The network side of a pseudo-tty.

control unit
processor The part of a CPU responsible for performing the machine cycle - fetch, decode, execute, store.
(1995-04-23)

conventional memory
storage The first 640 kilobytes of an IBM PC's memory. Prior to EMS, XMS, and HMA, real mode application could use only this part of the memory.
(1996-01-10)

Convergent Technologies
company A company formed by a small group of people who left Intel Corporation in 1979. Convergent Technologies' first product was the IWS (Integrated Workstation) based on the Intel 8086, which ran Convergent Technologies Operating System - their first operating system.
Unisys bought Convergent Technologies in 1988.
[Who bought/merged with who and when?]
(1998-04-03)

Convergent Technologies Operating System
operating system (CTOS, BTOS, STARSYS) /see-toss/ A modular, message-passing, multi-process based operating system.
Convergent Technologies' first product was the IWS (Integrated Workstation) based on the Intel 8086, which had CTOS as its operating system. It is a modular operating system with built in local area networking. CTOS supports multiple processes or threads, and message-based inter-process communication.
Companies which have licensed CTOS include Burroughs (BTOS) and Bull (STARSYS). The largest customer was Unisys, with whom Convergent Technologies merged to become one company in 1988. CTOS now has over 800,000 users worldwide.
CTOS runs on Intel Pentium computers, and can run concurrently with Microsoft Windows NT.
For some reason, CTOS is no longer marketted to new customers, although there is a support comittment for existing customers until 2001. Major customers include Police Forces, Banks, and Airlines.
Latest version: CTOS III 1.3.2.
[ Exploring CTOS , Miller E., Crook J., Loy J. - Prentice Hall, ISBN 0-13-297342-1, 1991].
(1996-09-24)

Conversational LISP
(CLISP) A mixed English-like, ALGOL-like surface syntax for Interlisp.
[ CLISP: Conversational LISP , W. Teitelman, in Proc Third Intl Joint Conf on AI, Stanford, Aug 1973, pp.686-690].
(1994-11-01)

Conversational Monitor System
Virtual Machine/Conversational Monitor System

converse
logic The truth of a proposition of the form A = B and its converse B = A are shown in the following truth table:
A B | A = B B = A ------+---------------- f f | t t f t | t f t f | f t t t | t t
(2002-07-12)

conversion to iteration
A transformation applied to functional programs to replace recursion with iteration. A tail-recursive function can be compiled to an iterative loop where the recursive call becomes a jump back to the start and the parameters are held in registers which are updated with new values each time around the loop. See Iteration, Tail recursion optimisation.

CONVERT
1. String processing language, combined the pattern matching and transformation operations of COMIT with the recursive data structures of Lisp. Convert , A. Guzman et al, CACM 9(8):604-615 (Aug 1966).
2. Early language to convert programs and data from one language to another. CONVERT Manual , OLI Systems Inc (Oct 1976).

convert.f90
A Fortran77 to Fortran90 translator by Michael Metcalf metcalf@cernvm.cern.ch . The significant differences between the two Fortrans make this package useful.
(ftp://jkr.cc.rl.ac.uk/pub/MandR/convert.f90)
(1993-07-17)

Convex Computer Corporation
company A mini-super-computer manufacturer.
Address: Richardson, Texas, USA.
(1995-03-01)

convex hull
mathematics, graphics For a set S in space, the smallest convex set containing S. In the plane, the convex hull can be visualized as the shape assumed by a rubber band that has been stretched around the set S and released to conform as closely as possible to S.
(1997-08-03)

Conway, John Horton
John Horton Conway

Conway's Law
project, humour The rule that the organisation of the software and the organisation 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 .
Melvin Conway, an early proto-hacker, 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.
[Jargon File]

Conway's Life
Life

cooC
Concurrent Object-Oriented C.

cooccurrence matrix
mathematics Given a position operator P(i,j), let A be a nxn matrix whose element A[i][j] is the number of times that points with grey level (intensity) g[i] occur, in the position specified by P, relative to points with grey level g[j]. Let C be the nxn matrix that is produced by dividing A with the total number of point pairs that satisfy P. C[i][j] is a measure of the joint probability that a pair of points satisfying P will have values g[i], g[j]. C is called a cooccurrence matrix defined by P. Examples for the operator P are: i above j , i one position to the right and two below j , etc.
(1995-05-11)

cookbook
programming (From amateur electronics and radio) 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), also known as the Blue Book 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 function is analogous to the role of phrasebooks in human languages.
[Jargon File]
(1994-11-04)

cooked mode
The normalUnix character-input mode, with interrupts enabled and with erase, kill and other special-character interpretations performed directly by the tty driver. Opposite of raw mode. See also rare mode. 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.
[Jargon File]

cookie
1. protocol 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).
Another example is an HTTP cookie.
Compare magic cookie; see also fortune cookie.
2. security, jargon A cracker term for the password list on a multi-user computer.
3. jargon An adjective describing a computer that just became toast.
(1997-04-14)

cookie bear
cookie monster

cookie file
operating system A collection of fortune cookies in a format that facilitates retrieval by a fortune program. There are many cookie files in public distribution, and site admins often assemble their own from various sources.
[Jargon File]
(1997-01-07)

cookie jar
1. programming An area of memory set aside for storing cookies. Most commonly heard in the Atari ST community; many useful ST programs record their presence by storing a distinctive magic number in the jar. Programs can inquire after the presence or otherwise of other programs by searching the contents of the jar.
2. security A cracker term for the password file of a multi-user computer.
[Jargon File]
(1997-02-12)

cookie monster
recreation (From the children's TV program Sesame Street ) 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.
[Jargon File]
(1997-02-12)

cooky
cookie

COOL
1. Concurrent Object-Oriented Language.
2. CLIPS Object-Oriented Language?
3. A C++ class library developed at Texas Instruments. COOL contains a set of containers like Vectors, List, Hash_Table, etc. It uses a shallow hierarchy with no common base class. The functionality is close to Common Lisp data structures (like libg++). The template syntax is very close to Cfront3.x and g++2.x. Can build shared libraries on Suns.
JCOOL's main difference from COOL and GECOOL is that it uses real C++ templates instead of a similar syntax that is preprocessed by a special 'cpp' distributed with COOL and GECOOL.
(ftp://csc.ti.com/pub/COOL.tar.Z)
GECOOL, JCOOL: (ftp://cs.utexas.edu/pub/COOL/).
E-mail: Van-Duc Nguyen nguyen@crd.ge.com
(1992-08-05)

CooL
language Combined object-oriented Language.
An object-oriented language from the ITHACA Esprit project, which combines C-based languages with database technology.
(1995-03-15)

COOL:Gen
language A rapid application development environment, produced by Sterling Software, Inc..
Home (http://www.cool.sterling.com/products/Gen/prodinfo.htm).
(1999-12-06)

Co-operative Development Environment
tool, product (CDE) A set of tools from Oracle for enterprise-wide, client/server application development.
(1995-03-15)

Cooperative Information System
networking (CIS) Networked computers which support individual or collaborative human work, and manage access to information and computing services. Computation is done concurrently over the network by cooperative database systems, expert systems, multi-agent planning systems, and other software application systems ranging from the conventional to the advanced.
(1995-05-11)

cooperative multitasking
parallel, operating system A form of multitasking where it is the responsibility of the currently running task to give up the processor to allow other tasks to run. This contrasts with pre-emptive multitasking where the task scheduler periodically suspends the running task and restarts another.
Cooperative multitasking requires the programmer to place calls at suitable points in his code to allow his task to be descheduled which is not always easy if there is no obvious top-level main loop or some routines run for a long time. If a task does not allow itself to be descheduled all other tasks on the system will appear to freeze and will not respond to user action.
The advantage of cooperative multitasking is that the programmer knows where the program will be descheduled and can make sure that this will not cause unwanted interaction with other processes. Under pre-emptive multitasking, the scheduler must ensure that sufficient state for each process is saved and restored that they will not interfere. Thus cooperative multitasking can have lower overheads than pre-emptive multitasking because of the greater control it offers over when a task may be descheduled.
Cooperative multitasking is used in RISC OS, Microsoft Windows and Macintosh System 7.
(1995-03-20)

coordinate
mathematics One member of a tuple of numbers which defines the position of a point in some space. Commonly used coordinate systems have as many coordinates as their are dimensions in the space, e.g. a pair for two dimensions. The most common coordinate system is Cartesian coordinates, probably followed by polar coordinates.
(1997-07-09)

Coordinated Universal Time
time, standard (UTC, World Time) The standard time common to every place in the world. UTC is derived from International Atomic Time (TAI) by the addition of a whole number of leap seconds to synchronise it with Universal Time 1 (UT1), thus allowing for the eccentricity of the Earth's orbit, the rotational axis tilt (23.5 degrees), but still showing the Earth's irregular rotation, on which UT1 is based.
Coordinated Universal Time is expressed using a 24-hour clock and uses the Gregorian calendar. It is used in aeroplane and ship navigation, where it also sometimes known by the military name, Zulu time . Zulu in the phonetic alphabet stands for Z which stands for longitude zero.
UTC was defined by the International Radio Consultative Committee (CCIR), a predecessor of the ITU-T. CCIR Recommendation 460-4, or ITU-T Recommendation X.680 (7/94), contains the full definition.
The language-independent international abbreviation, UTC, is neither English nor French. It means both Coordinated Universal Time and Temps Universel Coordonné .
BIPM (http://www.bipm.fr/enus/5_Scientific/c_time/time_1.html).
The Royal Observatory Greenwich (http://www.rog.nmm.ac.uk/leaflets/time/time.html).
History of UTC and GMT (http://ecco.bsee.swin.edu.au/chronos/GMT-explained.html).
U.S. National Institute of Standards Technology (http://www.its.bldrdoc.gov/fs-1037/dir-009/_1277.htm).
UK National Physical Laboratory (http://www.npl.co.uk/npl/ctm/time_scales.html).
US Naval Observatory (http://tycho.usno.navy.mil/systime.html).
International Telecommunications Union (http://www.itu.int/radioclub/rr/arts02.htm).
Earth's irregular rotation (http://www.foldoc.org/pub/earth_rotation).
(2001-08-30)

Coordinating Committee for Intercontinental Research Networks
(CCIRN) A committee that includes the United States FNC and its counterparts in North America and Europe. Co-chaired by the executive directors of the Federal Networking Council and the European Association of Research Networks (RARE), the CCIRN provides a forum for cooperative planning among the principal North American and European research networking bodies.
(1994-11-30)

copious free time
(Apple; originally from the introduction to Tom Lehrer's song It Makes A Fellow Proud To Be A Soldier ) 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.
The phrase is also used for time reserved for bogus or otherwise idiotic tasks, such as implementation of bad chrome, or the stroking of suits. I'll get back to him on that feature in my copious free time.
[Jargon File]
(1994-11-30)

copper
Conventional electrical network cable with a core conductor of copper (or aluminium!)
Opposed to light pipe or, say, a short-range microwave link.
[Jargon File]
(1994-11-30)

Copper Distributed Data Interface
(CDDI) FDDI running over conventional copper cables. A Cisco/Crescendo copyright term(?). All FDDI connections, single-attached or dual-attached, can be either optical fibre or copper.
(1994-12-14)

coprocessor
Any computer processor which assists the main processor (the CPU ) by performing certain special functions, usually much faster than the main processor could perform them in software. The coprocessor often decodes instructions in parallel with the main processor and executes only those instructions intended for it.
The most common example is a floating point coprocessor (or FPU ), others are graphics and networking.
(1995-01-05)

copy and paste
text (Or cut and paste , after the paper, scissors and glue method of document production) The system supported by most document editing applications (e.g. text editors) and most operating systems that allows you to select a part of the document and then save it in a temporary buffer (known variously as the clipboard , cut buffer , kill ring ). A copy leaves the document unchanged whereas a cut deletes the selected part.
A paste inserts the data from the clipboard at the current position in the document (usually replacing any currently selected data). This may be done more than once, in more than one position and in different documents.
More sophisticated operating systems support copy and paste of different data types between different applications, possibly with automatic format conversion, e.g from rich text to plain ASCII.
GNU Emacs uses the terms kill instead of cut and yank instead of paste and data is stored in the kill ring .
[Origin? Macintosh? Xerox?]
(1998-07-01)

copybook
programming, library (Or copy member , copy module ) A common piece of source code designed to be copied into many source programs, used mainly in IBM DOS mainframe programming.
In mainframe DOS (DOS/VS, DOS/VSE, etc.), the copybook was stored as a book in a source library. A library was comprised of books , prefixed with a letter designating the language, e.g., A.name for Assembler, C.name for Cobol, etc., because DOS didn't support multiple libraries, private libraries, or anything. This term is commonly used by COBOL programmers but is supported by most mainframe languages. The IBM OS series did not use the term copybook , instead it referred to such files as libraries implemented as partitioned data sets or PDS.
Copybooks are functionally equivalent to C and C++ include files.
(1997-07-31)

copybroke
security /kop'ee-brohk/ (Or copywronged - a play on copyright ) 1. Used to describe an instance of a copy-protected program that has been broken ; that is, a copy with the copy-protection scheme disabled or removed.
2. Copy-protected software which is unusable because of some bit-rot or bug that has confused the copy protection.
3. Used to describe data damaged because of a side effect of a copy protection system.
[Jargon File]
(1997-03-16)

copying garbage collection
A garbage collection method where memory is divided into two equal halves, known as the from space and to space . Garbage collection copies active cells from the from space to the to space and leaves behind an invisible pointer (an indirection ) from the old position to the new copy. Once all active cells have been copied in one direction, the spaces are swapped and the process repeated in the opposite direction.

copyleft
legal /kop'ee-left/ (A play on copyright ) The copyright notice and General Public License applying to the works of the Free Software Foundation, granting reuse and reproduction rights to everyone.
Typically copyrights take away freedoms; copyleft preserves them. It is a legal instrument that requires those who pass on a program to include the rights to use, modify, and redistribute the code; the code and the freedoms become legally inseparable.
The copyleft used by the GNU Project combines a regular copyright notice and the GNU General Public License (GPL). The GPL is a copying license which basically says that you have the aforementioned freedoms. The license is included in each GNU source code distribution and manual.
See also General Public Virus.
[Jargon File]
(1995-04-18)

copy member
copybook

copy module
copybook

copy protection
A class of methods for preventing incompetent pirates from stealing software and legitimate customers from using it. Considered silly.
[Jargon File]

copyright
legal The exclusive rights of the owner of the copyright on a work to make and distribute copies, prepare derivative works, and perform and display the work in public (these last two mainly apply to plays, films, dances and the like, but could also apply to software).
A work, including a piece of software, is under copyright by default in most coutries, whether of not it displays a copyright notice. However, a copyright notice may make it easier to assert ownership. The copyright owner is the person or company whose name appears in the copyright notice on the box, or the disk or the screen or wherever.
A copyright notice has three parts. The first can be either a c with a circle around it (LaTeX copyright), or the word Copyright or the abbreviation Copr. A c in parentheses: (c) has no legal meaning. This is followed by the name of the copyright holder and the year of first publication.
Countries around the world have agreed to recognise and uphold each others' copyrights, but this world-wide protection requires the use of the c in a circle.
Originally, most of the computer industry assumed that only the program's underlying instructions were protected under copyright law but, beginning in the early 1980s, a series of lawsuits involving the video screens of game programs extended protections to the appearance of programs.
Use of copyright to restrict redistribution is actually immoral, unethical, and illegitimate. It is a result of brainwashing by monopolists and corporate interests and it violates everyone's rights. Copyrights and patents hamper technological progress by making a naturally abundant resource scarce. Many, from communists to right wing libertarians, are trying to abolish intellectual property myths.
See also public domain, copyleft, software law.
US Copyright Office Circular 61 - Copyright Registration for Computer Programs (gopher://marvel.loc.gov:70/0/copyright/circs/circ61).
The US Department of Education's How Does Copyright Law Apply to Computer Software (gopher://ericir.syr.edu:70/0/FAQ/CopyrightSoftware).
Usenet newsgroup: news:misc.legal.computing.
[Is this definition correct in the UK? In the US? Elsewhere?]
(2000-03-23)

copywronged
copybroke

CORAL
1. Class Oriented Ring Associated Language.
2. A deductive database and logic programming system based on Horn-clause rules with extensions like SQL's group-by and aggregation operators. CORAL was developed at the University of Wisconsin-Madison. It is implemented in C++ and has a Prolog-like syntax.
Many evaluation techniques are supported, including bottom-up fixpoint evaluation and top-down backtracking. Modules are separately compiled; different evaluation methods can be used in different modules within a single program. Disk-resident data is supported via an interface to the Exodus storage manager. There is an on-line help facility. It requires AT T C++ 2.0 (or G++ soon) and runs on Decstation and Sun-4.
(ftp://ftp.cs.wisc.edu/)
(1993-01-29)

CORAL 66
A real-time system programming language derived from JOVIAL and ALGOL 60. It was adopted as the British military standard from 1970 until the arrival of Ada.
[ Official Definition of CORAL 66 , P.M. Woodward et al, HMSO, London, 1970].

CORBA
Common Object Request Broker Architecture

CORBIE
language An early system on the IBM 704.
[Listed in CACM 2(5):16, May 1959].
(1996-05-10)

CORC
CORnell Compiler. Simple language for student math problems.
[ The Cornell Computing Language , R.W. Conway et al, CACM 6(6):317-320 (Jun 1963) Sammet 1969, p.294-296].

core
1. storage Main memory or RAM. This term dates from the days of ferrite core memory; now archaic 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 (paged in, as opposed to on disk , paged out), and both core dump and the core image or core file produced by one are terms in favour. Some varieties of Commonwealth hackish prefer store.
[Jargon File]
(1995-03-03)
2. processor An integrated circuit design, usually for a microprocessor, which includes only the CPU and which is intended to form part of a complete circuit design which incorporates other circuits on the same chip such as cache, memory management unit, I/O ports and timers.
The ARM6, ARM7 and ARM8 are examples.
3. language A varient on kernel as used to describe features built into a language as opposed to those provided by libraries.
(1995-03-03)

core cancer
jargon A process that exhibits a slow but inexorable resource leak - like a cancer, it kills by crowding out productive tissue .
[Jargon File]
(1997-11-10)

core dump
[Common Iron Age jargon, preserved by Unix] 1. A copy of the contents of core, produced when a process is aborted by certain kinds of internal error.
2. A complete account of a human's knowledge on some subject (also brain dump), especially 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).
[Jargon File]

core gateway
Historically, one of a set of gateways (routers) operated by the Internet Network Operations Center at Bolt, Beranek and Newman (BBN). The core gateway system formed a central part of Internet routing in that all groups must advertise paths to their networks from a core gateway.

Corel Corporation
company A software publisher best known for the CorelDraw application. Founded in June 1985 by Dr. Michael Cowpland, Corel Corporation was originally a systems integration company. In January 1989, however they entered the software publishing market with the introduction of CorelDraw. Corel became the second largest maker of personal productivity software in January 1996 when they purchased the WordPerfect family of software from Novell, Inc..
Home (http://www.corel.com/).
(1997-03-12)

core leak
memory leak

Corel VENTURA
text, graphics (Previously Ventura Publisher ) The first full-featured desktop publishing program available for the IBM personal computer and compatibles. Ventura Publisher was originally distributed by Ventura, a wholy owned subsiduary of Xerox Corporation but was acquired by Corel Corporation in September 1993.
Current version: Corel VENTURA 8, as of 1999-04-05.
Home (http://www.corelnet.com/products/graphicsandpublishing/ventura8/index.htm).
(1999-04-05)

Core War
games (Or more recently, Core Wars ) A game played between assembly code programs running in the core of a simulated machine (and vicariously by their authors). The objective is to kill your opponents' programs by overwriting them.
The programs are written using an instruction set called Redcode and run on a virtual machine called MARS (Memory Array Redcode Simulator).
Core War was devised by Victor Vyssotsky, Robert Morris Sr., and Dennis Ritchie in the early 1960s (their original game was called Darwin and ran on a PDP-1 at Bell Labs). It was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada).
Dewdney wrote several Computer Recreations articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in the two anthologies cited below. A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current.
The International Core War Society (ICWS) creates and maintains Core War standards and the runs Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88).
[ The Armchair Universe: An Exploration of Computer Worlds , A. K. Dewdney, W. H. Freeman, New York, 1988, ISBN 0-7167-1939-8, LCCN QA76.6 .D517 1988]
[ The Magic Machine: A Handbook of Computer Sorcery , A. K. Dewdney, W. H. Freeman, New York, 1990, ISBN 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback), LCCN QA76.6 .D5173 1990].
(1998-10-30)

corge
/korj/ Yet another metasyntactic variable, named after a cat invented by Mike Gallaher and propagated by the GOSMACS documentation.
See grault.
[Jargon File]
(1994-12-08)

Cornell List Processor
(CLP) A list processing language, an extension of CORC, used for simulation.
[Sammet 1969, p. 461].
(1994-11-01)

Cornell Theory Center
(CTC) One of four supercomputing centers funded by the US National Science Foundation. The CTC also receives funding from the Advanced Research Projects Agency, the National Institutes of Health, New York State, IBM Corporation, and other members of the center's Corporate Research Institute.
Home (http://www.tc.cornell.edu/)
(1994-12-08)

Cornell University
body, education A US Ivy League University founded in 1868 by businessman Ezra Cornell and respected scholar Andrew Dickson White. Cornell includes thirteen colleges and schools. On the Ithaca campus are the seven undergraduate units and four graduate and professional units. The Medical College and the Graduate School of Medical Sciences are in New York City. Cornell has 13,300 undergraduates and 6,200 graduate and professional students.
See also Concurrent ML, Cornell Theory Center, Cornell University Programming Language, CU-SeeMe, ISIS.
Home (http://www.cornell.edu/).
(1996-12-01)

Coroutine Pascal
[ Control Separation in Programming languages , Lemon et al, ACM Ann Conf 1977].
(1994-12-08)

Corporation for Open Systems
(COS) An international consortium of computer users and vendors set up to provide ways of testing OSI implementations.
(1994-11-30)

Corporation for Research and Educational Networking
body (CREN) The organisation responsible for providing networking service to BITNET and CSNET users. CREN was formed in October 1989, when BITNET and CSNET were combined under one authority. CSNET is no longer operational, but CREN still runs BITNET.
[Still true?]
(1996-05-17)

CORREGATE
Based on Internal Translator (IT).
[Sammet 1969, p. 139].
(1994-11-30)

Correlatives and Conversions
The data description language used in the Pick operating system.
[ Exploring the Pick Operating System , J.E. Sisk et al, Hayden 1986].
(1994-11-30)

Cortex
An experimental slow controls project at CERN.
(1994-11-30)

CORTL
An intermediate language, a form of RTL, by Carl McConnell mcconnell@cs.uiuc.edu .
(1994-11-30)

COS
1. Cray Operating System.
2. Corporation for Open Systems.

COSE
Common Open Software Environment. An initiative by Hewlett-Packard, Sun, IBM, Novell, Univel and SCO to move towards consistency and interoperability between Unix suppliers.

COSINE
Cooperation for Open Systems Interconnection Networking in Europe. A EUREKA project.

cosmic rays
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 one has to design memories to withstand these hits.
[Jargon File]

COSS
Common Object Services Specification in CORBA.

Cost Driver Attribute
programming Factors affecting the productivity of software development. These include attributes of the software, computers, personnel, and project.
(1996-05-28)

Cost/Schedule Control System Criteria
project (C/SCSC) A set of criteria specified by the Federal Government for reporting project schedule and financial information.
(1996-05-29)

COTS
commercial off-the-shelf.

Cougar
World-Wide Web, standard A former (development) name for the W3C's HTML 4 standard.
(2001-02-06)

cough and die
jargon 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, scream and die.
[Jargon File]
(1995-03-07)

countable
mathematics A term describing a set which is isomorphic to a subet of the natural numbers. A countable set has countably many elements. If the isomorphism is stated explicitly then the set is called a counted set or an enumeration .
Examples of countable sets are any finite set, the natural numbers, integers, and rational numbers. The real numbers and complex numbers are not [proof?].
(1999-08-29)

countably many
countable

counted
mathematics A term describing a set with an explicit isomorphism to the natural numbers.
Compare: countable.
(1995-04-13)

country code
networking, standard Originally, a two-letter abbreviation for a particular country, generally used as a top-level domain.
Originally, as the name implies, country codes were meant just for countries; but over time, country codes were allocated for many areas (mostly islands) that aren't countries -- such as Antarctica (aq), Christmas Island (cx) and Saint Pierre et Miquelon (pm).
Country codes are based on ISO 3166 and are used as the top level domain for Internet hostnames in most countries but hardly ever in the USA (code us ).
Latest list (ftp://info.ripe.net/iso3166-countrycodes).
(1999-01-26)

coupling
programming, hardware The degree to which components depend on one another. There are two types of coupling, tight and loose . Loose coupling is desirable for good software engineering but tight coupling may be necessary for maximum performance. Coupling is increased when the data exchanged between components becomes larger or more complex.
(1996-08-01)

Course Author Language
language (CAL) The CAI language for the IBM 360.
[ Design of a Programming Language for Computer Assisted Learning , F.M. Tonge, Proc IFIP Congress 1968, v2].
(1994-11-08)

courseware
application Programs and data used in Computer-Based Training.
(1995-03-13)

Coursewriter III
language, education A simple CAI language, developed around 1976.
[ Coursewriter III, Version 3 Author's Guide , SH20-1009, IBM].
(1995-03-13)

cowboy
[Sun, from William Gibson's cyberpunk SF] Synonym for hacker. It is reported that at Sun this word is often said with reverence.
[Jargon File]

COWSEL
COntrolled Working SpacE Language. Burstall and Popplestone, U Edinburgh, 1964-66. LISP-like semantics with FORTH-like stack, and reverse Polish syntax. Forerunner of POP. EPU-R-12, U Edinburgh (Apr 1966).

CP
A concurrent Prolog.
The Concurrent Logic Programming Language CP : Definition and Operational Semantics , V. Saraswat, 14th POPL, ACM 1987, pp.49-62.

CPAN
Comprehensive Perl Archive Network

CParaOps5
language A parallel version of OPS5 written at CMU, in C and compiling to C. CParaOps5 is available for Unix, Mach, Encore Multimaxen, and Sequent.
Latest version: 5.4, as of 1999-08-30.
Home (http://www.cs.ucsb.edu/~acha/software.html).
(1999-08-30)

CPE
Customer Premises Equipment

CPGA
Ceramic Pin Grid Array

CPI
Common Program Interface

CPL
Combined Programming Language. U Cambridge and U London. A very complex language, syntactically based on ALGOL 60, with a pure functional subset. Provides the ..where.. form of local definitions. Strongly typed but has a general type enabling a weak form of polymorphism. Functions may be defined as either normal or applicative order. Typed array and polymorphic list structures. List selection is through structure matching. Partially implemented on the Titan (Atlas 2) computer at Cambridge. Led to the much simpler BCPL. The Main Features of CPL , D.W. Barron et al, Computer J 6(2):134-143 (Jul 1963).

CPLD
complex programmable logic device

CPM
Control Program for Microcomputers

CP/M
Control Program for Microcomputers

cpo
complete partial ordering

cpp
C preprocessor.

cppp
tool A compiler front-end for C++ by Tony Davis ted@cs.brown.edu with complete semantic processing. cppp is based on Yacc and outputs an abstract syntax graph. Version: 1.14.
(ftp://wilma.cs.brown.edu/pub/cppp.tar.Z)
(1993-05-26)

C preprocessor
tool, programming (cpp) The standard Unix macro-expansion utility run as the first phase of the C compiler, cc. Cpp interprets lines beginning with # such as
#define BUFFER_SIZE 256
as a textual assignment giving the symbol BUFFER_SIZE a value 256 . Symbols defined with cpp are traditionally given upper case names to distinguish them from C identifiers. This symbol can be used later in the input, as in
char input_buffer[BUFFER_SIZE];
This use of cpp to name constants, rather than writing these magic numbers inline, makes a program easier to read and maintain, especially if there is more than one occurrence of BUFFER_SIZE all of which must all have the same value.
Cpp macros can have parameters:
#define BIT(n) (1 (n))
This can be used with any appropriate actual argument:
msb = BIT(nbits-1);
Note the parentheses around the n in the definition of BIT. Without these, operator precedence might mean that the expression substituted in in place of n might not be interpreted correctly (though the example above would be OK).
Cpp also supports conditional compilation with the use of
#ifdef SYMBOL ... #else ... #endif and #if EXPR ... #else ... #endif
constructs, where SYMBOL is a Cpp symbol which may or may not be defined and EXPR is an arithmetic expression involving only Cpp symbols, constants and C operators which Cpp can evaluate to a constant at compile time.
Decus cpp is a free implementation for VMS.
The most widely used C preprocessor today is the GNU CPP, distributed as part of GCC.
(2001-12-31)

C Programmer's Disease
programming The tendency of the undisciplined C programmer to set arbitrary but supposedly generous static limits on table sizes (defined, if you're lucky, by constants in header files) rather than taking the trouble to do proper dynamic storage allocation. If an application user later needs to put 68 elements into a table of size 50, the afflicted programmer reasons that he or she can easily reset the table size to 68 (or even as much as 70, to allow for future expansion) and recompile. This gives the programmer the comfortable feeling of having made the effort to satisfy the user's (unreasonable) demands, and often affords the user multiple opportunities to explore the marvellous consequences of fandango on core. In severe cases of the disease, the programmer cannot comprehend why each fix of this kind seems only to further disgruntle the user.
[Jargon File]
(2001-12-31)

C-Prolog
language, Prolog An implementation of Prolog in C, developed by F. Pereira pereira@research.att.com et al in July 1982. It had no garbage collection.
It is not in the public domain.
(1994-10-13)

cproto
programming, tool A translator , written by Chin Huang at canrem.com, that generates ANSI C function prototypes from K R C function definitions. It can also translate function definition heads between K R style and ANSI C style.
Posted to comp.sources.misc, volume 29. Runs under Unix, MS-DOS.
(1992-07-18)

CPS
1. Conversational Programming System. An interactive extended subset of PL/I from Allen-Babcock Corp in 1965.
[ Conversational Programming System under TSO (PBPO), Terminal User's Manual , SH20-1197, IBM].
[Sammet 1969, p. 232-240].
2. Continuation Passing Style.

CPSR
Computer Professionals for Social Responsibility

CPU
architecture 1. central processing unit.
2. Occasionally used (although less and less) to refer to the system unit.
(2000-08-10)

CPU Info Center
processor A World-Wide Web site at the University of California at Berkeley describing many different computers and their performance.
(http://bwrc.eecs.berkeley.edu/CIC/).
(2000-01-12)

CPU time
processor time

CPU Wars
/C-P-U worz/ 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.
[Jargon File]

CR
Carriage Return

cr
networking The country code for Costa Rica.
(1999-01-27)

cracker
jargon An individual who attempts to gain unauthorised access to a computer system. These individuals are often malicious and have many means at their disposal for breaking into a system. The term was coined ca. 1985 by hackers in defence against journalistic misuse of hacker . An earlier attempt to establish worm in this sense around 1981--82 on Usenet was largely a failure.
Use of both these neologisms reflects a strong revulsion against the theft and vandalism perpetrated by cracking rings. The neologism cracker in this sense may have been influenced not so much by the term safe-cracker as by the non-jargon term cracker , which in Middle English meant an obnoxious person (e.g., What cracker is this same that deafs our ears / With this abundance of superfluous breath? -- Shakespeare's King John, Act II, Scene I) and in modern colloquial American English survives as a barely gentler synonym for white trash .
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 except for immediate practical reasons (for example, if it's necessary to get around some security in order to get some work done).
Contrary to widespread myth, cracking 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.
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 hacker poly-culture; though crackers often like to describe *themselves* as hackers, most true hackers consider them a separate and lower form of life, little better than virus writers. 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.
See also Computer Emergency Response Team, dark-side hacker, hacker ethic, phreaking, samurai, Trojan Horse.
[Jargon File]
(1998-06-29)

cracking
cracker

crack root
security, jargon To defeat the security system of a Unix machine and gain root privileges thereby.
See cracker.
[Jargon File]
(1996-08-10)

crank
(Automotive slang) 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 vectorised operations.
[Jargon File]
(1994-12-01)

crapplet
World-Wide Web, abuse A badly written or profoundly useless Java applet. I just wasted 30 minutes downloading this stinkin' crapplet!
(1997-03-30)

CrApTeX
/krap'tekh/ (University of York, England) Term of abuse used to describe TeX and LaTeX when they don't work (when used by TeXhackers), or all the time (by everyone else). The non-TeX enthusiasts generally dislike it because it is more verbose than other formatters (e.g. troff) and because (particularly if the standard Computer Modern fonts are used) it generates vast output files.
See religious issues.
[Jargon File]
(1994-12-01)

crash
1. A sudden, usually drastic failure. Most often said of the system, especially of magnetic disk drives (the term originally described what happened when the air gap of a hard disk collapses). Three lusers 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. 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.
[Jargon File]
(1994-12-01)

crash and burn
jargon A spectacular crash, in the mode of the conclusion of the car-chase scene in the movie Bullitt and many subsequent imitators (compare die horribly). A Sun-3 display screen losing the flyback transformer and lightning strikes on VAX-11/780 backplanes are notable crash and burn generators.
The construction crash-and-burn machine is reported for a computer used exclusively for alpha or beta testing, or reproducing bugs (i.e. not for development). The implication is that it wouldn't be such a disaster if that machine crashed, since only the testers would be inconvenienced.
[Jargon File]
(1996-02-22)

crawler
robot

crawling horror
jargon Ancient crufty hardware or software that is kept obstinately alive by forces beyond the control of the hackers at a site. Like dusty deck or gonkulator, but connotes that the thing described is not just an irritation but an active menace to health and sanity. Mostly we code new stuff in C, but they pay us to maintain one big Fortran II application from nineteen-sixty-X that's a real crawling horror.
Compare WOMBAT.
[Jargon File]
(1994-12-01)

Cray instability
A shortcoming of a program or algorithm that manifests itself only when a large problem is being run on a powerful machine such as a Cray. Generally more subtle than bugs that can be detected in smaller problems running on a workstation or minicomputer.
[Jargon File]
(1994-10-13)

crayola
/kray-oh'l*/ A super-minicomputer or super-microcomputer that provides some reasonable percentage of supercomputer performance for an unreasonably low price. A crayola might also be a killer micro.
[Jargon File]
(1994-10-13)

crayola books
publication A humorous and/or disparaging term for the rainbow series of National Computer Security Center (NCSC) computer security standards.
See also Orange Book.
[Jargon File]
(1996-12-03)

crayon
1. Someone who works on Cray supercomputers. More specifically, it implies a programmer, probably of the CDC ilk, probably male, and almost certainly wearing a tie (irrespective of gender). Systems types who have a Unix background tend not to be described as crayons.
2. A computron that participates only in number crunching.
3. A unit of computational power equal to that of a single Cray-1. There is a standard joke about this usage that derives from an old Crayola crayon promotional gimmick: When you buy 64 crayons you get a free sharpener.
[Jargon File]
(1994-10-13)

Cray Research, Inc.
company US manufacturer of large powerful mainframe supercomputers, co-founded by noted computer architect, Seymour Cray.
Quarterly sales $216M, profits $8M (Aug 1994).
Cray were bought by Silicon Graphics, Inc..
[More details?]
(1999-10-19)

CRC
cyclic redundancy check

creationism
The (false) belief that large, innovative software designs can be completely specified in advance and then painlessly magicked out of the void by the normal efforts of a team of normally talented programmers. In fact, experience has shown repeatedly that good designs arise only from evolutionary, exploratory interaction between one (or at most a small handful of) exceptionally able designer(s) and an active user population - and that the first try at a big new idea is always wrong. Unfortunately, because these truths don't fit the planning models beloved of management, they are generally ignored.
[Jargon File]

creeping elegance
Describes a tendency for parts of a design to become elegant past the point of diminishing return, something which often happens at the expense of the less interesting parts of the design, the schedule, and other things deemed important in the Real World. See also creeping featurism, second-system effect, tense.

creeping featurism
jargon /kree'ping fee'chr-izm/ (Or feature creep ) A systematic tendency to load more chrome and features onto systems at the expense of whatever elegance they may have possessed when originally designed. The main problem with BSD Unix has always been creeping featurism.
More generally, creeping featurism is the tendency for anything to become more complicated because people keep saying Gee, it would be even better if it had this feature too . The result is usually a patchwork because it grew one ad-hoc step at a time, rather than being planned. Planning is a lot of work, but it's easy to add just one extra little feature to help someone, and then another, and another, .... When creeping featurism gets out of hand, it's like a cancer.
Usually this term is used to describe computer programs, but it could also be said of the federal government, the IRS 1040 form, and new cars. A similar phenomenon sometimes afflicts conscious redesigns; see second-system effect. See also creeping elegance.
[Jargon File]
(1997-08-03)

creeping featuritis
jargon /kree'ping fee'-chr-i:`t*s/ A variant of creeping featurism, with its own spoonerism: feeping creaturitis . Some people like to reserve this form for the disease as it actually manifests in software or hardware, as opposed to the lurking general tendency in designers' minds. -ism means condition or pursuit of , whereas -itis usually means inflammation of .
[Jargon File]
(1997-08-03)

C-Refine
A preprocessor for C and languages with similar syntax by Lutz Prechelt prechelt@ira.uka.de . C-Refine allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary.
Version 3.0 is available from comp.sources.reviewed archives. It is highly portable and has been ported to Unix, MS-DOS, Atari, Amiga.
(ftp://ftp.uu.net/usenet/comp.sources.reviewed/volume02/crefine)
(1992-07-16)

CREN
Corporation for Research and Educational Networking

CREW PRAM
concurrent read, exclusive write PRAM.

crippleware
1. Software that has some important functionality deliberately removed, so as to entice potential users to pay for a working version.
2. (Cambridge) Guiltware that exhorts you to donate to some charity.
Compare careware, nagware.
3. Hardware deliberately crippled, which can be upgraded to a more expensive model by a trivial change (e.g. removing a jumper). A correspondant gave the following example:
In 1982-5, a friend had a Sharp scientific calculator which was on the list of those permitted in exams. No programmable calculators were allowed.
A very similar, more expensive, programmable model had two extra keys for programming where the cheaper version just had blank metal.
My friend took his calculator apart (as you would) and lo and behold, the rubber switches of the program keys were there on the circuit board. So all he had to do was cut a hole in the face. For exams he would pre-load the calculator with any useful routines, put a sticker with his name on it over the hole, and press the buttons through the sticker with a pen.
[Jargon File]
(2001-05-12)

criptography
spelling It's spelled cryptography .
(1996-12-13)

Crisis Software
A small UK company producing software for the Acorn Archimedes range of computers.
Home (http://www.dcs.warwick.ac.uk/~phid/Crisis/)
(1994-11-10)

CRISP
A Lisp-like language and compiler for the IBM 370 written by Jeff Barnett of SDC, Santa Monica, CA, USA in the early 1970s. It generalised Lisp's two-part cons nodes to n-part nodes.
(1994-11-10)

crisp
(Or discrete ) The opposite of fuzzy .
(1994-12-23)

Crispy Critters
(Or Crispy Crittered . From the Post breakfast cereal of the same name) A term used to describe hardware which is fried or toast.
(1995-01-31)

critical mass
In physics, the minimum amount of fissionable material required to sustain a chain reaction. Of a software product, describes a condition of the software such that fixing one bug introduces one plus epsilon bugs. (This malady has many causes: creeping featurism, ports to too many disparate environments, poor initial design, etc.) When software achieves critical mass, it can never be fixed; it can only be discarded and rewritten.
[Jargon File]
(1994-12-23)

critical section
A non-re-entrant piece of code that can only be executed by one process at a time. It will usually terminate in bounded time and a process will only have to wait a bounded time to enter it. Some synchronisation mechanism is required at the entry and exit of the critical section to ensure exclusive use.

CRL
Carnegie Representation Language.
Carnegie Group, Inc. Frame language derived from SRL. Written in Common LISP. Used in the product Knowledge Craft.

CRLF
character /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ A carriage return (CR, ASCII 13) followed by a line feed (LF, ASCII 10). Under Unix influence this usage has become less common because Unix uses just line feed as its line terminator.
See newline, terpri.
[Jargon File]
(1995-03-27)

CRM
1. business Customer Relationship Management.
2. networking Cisco Resource Manager.
(1999-10-04)

crock
[American scatologism crock of shit ] 1. An awkward feature or programming technique that ought to be made cleaner. For example, using small integers to represent error codes without the program interpreting them to the user (as in, for example, Unix make(1) , which returns code 139 for a process that dies due to segfault).
2. A technique that works acceptably, but which is quite prone to failure if disturbed in the least. For example, a too-clever programmer might write an assembler which mapped instruction mnemonics to numeric opcodes algorithmically, a trick which depends far too intimately on the particular bit patterns of the opcodes. (For another example of programming with a dependence on actual opcode values, see The Story of Mel.) Many crocks have a tightly woven, almost completely unmodifiable structure. See kluge, brittle. The adjectives crockish and crocky , and the nouns crockishness and crockitude , are also used.
[Jargon File]

cron
operating system The Unix clock daemon that executes commands at specified dates and times according to instructions in a crontab file.
Unix manual page: cron(8).
(1997-04-10)

cross-assembler
An assembler which runs on one type of processor and produces machine code for another.
There is a set of 6502, 68xx and Zilog Z80 and 8085 cross-assemblers in C by msmakela@cc.helsinki.fi and Alan R. Baldwin. They run under MS-DOS and could be compiled to run under Unix and on the Amiga and Atari ST.
See also fas.
(ftp://ccosun.caltech.edu/)
(1993-03-10)

cross-compiler
programming A compiler which runs on one platform and produces code for another, as opposed to a native code compiler which produces code for the platform on which it runs.
(1998-02-24)

cross-platform
software, hardware A term that describes a language, software application or hardware device that works on more than one system platform (e.g. Unix, Microsoft Windows, Macintosh). E.g. Netscape Navigator, Java.
(1998-02-24)

cross-post
[Usenet] To post a single article simultaneously to several newsgroups. Distinguished from posting the article repeatedly, once to each newsgroup, which causes people to see it multiple times (which is very bad form). Gratuitous cross-posting without a Followup-To line directing responses to a single followup group is frowned upon, as it tends to cause followup articles to go to inappropriate newsgroups when people respond to only one part of the original posting.
[Jargon File]

cross software
Software developed on one kind of computer for use on another (usually because the other computer does not have itself adequate facilities for software development).

CROSSTABS
Simple language for statistical analysis of tabular data. User's Manual for the CROSSTABS System , Cambridge Computer Assoc (Feb 1977).

crosstalk
electronics Interference caused by two signals becoming partially superimposed on each other due to electromagnetic (inductive) or electrostatic (capacitive) coupling between the conductors carrying the signals. A common example of crosstalk is where the magnetic field from changing current flow in one wire induces current in another wire running parallel to the other, as in a transformer. Crosstalk can be reduced by using shielded cables and increasing the distance between conductors.
(1995-12-20)

CROW PRAM
concurrent read, owner write PRAM.

CRT
cathode ray tube

crudware
/kruhd'weir/ Pejorative term for the hundreds of megabytes of low-quality freeware circulated by user's groups and BBSs in the micro-hobbyist world.
[Jargon File]

cruft
/kruhft/ [back-formation from crufty] 1. An unpleasant substance. The dust that gathers under your bed is cruft; the TMRC Dictionary correctly noted that attacking it with a broom only produces more.
2. The results of shoddy construction.
3. [ hand cruft , pun on hand craft ] To write assembler code for something normally (and better) done by a compiler (see hand-hacking).
4. Excess; superfluous junk; used especially of redundant or superseded code.
This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building. It is said to have been the physics department's radar lab during WWII. To this day (early 1993) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.

cruftsmanship
/kruhfts'm*n-ship / [cruft] The antithesis of craftsmanship.
[Jargon File]

cruft together
(Also cruft up ) To throw together something ugly but temporarily workable. Like kluge up, but more pejorative. There isn't any program now to reverse all the lines of a file, but I can probably cruft one together in about 10 minutes. See hack together, hack up, kluge up, crufty.

crufty
/kruhf'tee/ [Possibly from crusty ] 1. Poorly built, possibly over-complex. The canonical example is This is standard old crufty DEC software . In fact, one fanciful theory of the origin of crufty holds that it was originally a mutation of crusty applied to DEC software so old that the s characters were tall and skinny, looking more like f characters.
2. (Sometimes spelled cruftie ) A small crufty object (see frob); often one that doesn't fit well into the scheme of things. A Lisp property list is a good place to store crufties (or, collectively, random cruft).
[Jargon File]

crumb
Two binary digits; a quad. Larger than a bit, smaller than a nibble. Considered silly. Synonym tayste.

crunch
1. jargon To process, usually in a time-consuming or complicated way. Connotes an essentially trivial operation that is nonetheless painful to perform. The pain may be due to the triviality's being embedded in a loop from 1 to 1,000,000,000. Fortran programs do mostly number crunching.
2. compression To reduce the size of a file without losing information by a complicated scheme that produces bit configurations completely unrelated to the original data, such as by a Huffman code. Since such compression usually takes more computations than simpler methods such as run-length encoding, the term is doubly appropriate. (This meaning is usually used in the construction file crunching to distinguish it from number crunching.) Use of crunch itself in this sense is rare among Unix hackers.
3. The hash character. Used at XEROX and CMU, among other places.
4. To squeeze program source to the minimum size that will still compile or execute. The term came from a BBC Microcomputer program that crunched BBC BASIC source in order to make it run more quickly (apart from storing keywords as byte codes, the language was wholly interpreted, so the number of characters mattered). Obfuscated C Contest entries are often crunched; see the first example under that entry.
[Jargon File]
(2002-03-14)

cruncha cruncha cruncha
/kruhn'ch* kruhn'ch* kruhn'ch*/ An encouragement sometimes muttered to a machine bogged down in a serious grovel. Also describes a notional sound made by grovelling hardware. See wugga wugga, grind (sense 3).

crunchy
floppy disk

cryppie
job, cryptography /krip'ee/ A cryptographer. One who hacks or implements software or hardware for cryptography.
[Jargon File]
(1996-08-23)

crypt
Unix command to perform encryption and decryption.

cryptanalysis
The branch of cryptography concerned with decoding encrypted messages when you're not supposed to be able to.
(1994-12-06)

Crypt Breakers Workbench
(cbw) A freely distributable multi-window integrated workbench of tools for cryptanalysis of files encrypted with the 4.2BSD Unix crypt command. It was originally written by Robert W. Baldwin at MIT.
(ftp://black.ox.ac.uk/src/security), (ftp://scitsc.wlv.ac.uk/pub/infomagic/usenet.cdrom/sources/unix/volume10), (ftp://ftp.sunet.se/pub/usenet/comp.sources.unix/volume10).
(1994-12-06)

cryptography
cryptography The practise and study of encryption and decryption - encoding data so that it can only be decoded by specific individuals. A system for encrypting and decrypting data is a cryptosystem. These usually involve an algorithm for combining the original data ( plaintext ) with one or more keys - numbers or strings of characters known only to the sender and/or recipient. The resulting output is known as ciphertext .
The security of a cryptosystem usually depends on the secrecy of (some of) the keys rather than with the supposed secrecy of the algorithm. A strong cryptosystem has a large range of possible keys so that it is not possible to just try all possible keys (a brute force approach). A strong cryptosystem will produce ciphertext which appears random to all standard statistical tests. A strong cryptosystem will resist all known previous methods for breaking codes ( cryptanalysis ).
See also cryptology, public-key encryption, RSA.
Usenet newsgroups: news:sci.crypt, news:sci.crypt.research.
FAQ MIT (ftp://rtfm.mit.edu/pub/usenet/news.answers/cryptography-faq/).
Cryptography glossary (http://www.io.com/~ritter/GLOSSARY.HTM#BruteForceAttack).
RSA cryptography glossary (http://www.rsasecurity.com/rsalabs/faq/glossary.html).
Cryptography, PGP, and Your Privacy (http://draco.centerline.com:8080/~franl/crypto.html).
(2000-01-16)

cryptology
The study of cryptography and cryptanalysis.
(1994-12-06)

Crystal
Concurrent Representation of Your Space-Time ALgorithms.
A recursion equation parallel language.
[ A Parallel Language and its Compilation to Multiprocessor Machines or VLSI , M.C. Chen, 13th POPL, ACM 1986 pp.131-139].
(1994-12-06)

CS-4
[ CS-4 Language Reference Manual and Operating System Interface , Ben M. Brosgol et al, Report IR-130-2, Intermetrics, Cambridge MA, Oct 1975].
(1995-01-19)

C-Scheme
MIT Scheme

CSCI
Computer Software Configuration Item

C/SCSC
Cost/Schedule Control System Criteria

CSCW
Computer Supported Cooperative Work

CSG
constructive solid geometry

CSG-tree
graphics (Or status tree ?) An approach used in ray tracing to evaluate constructive solid geometry structures.
[Better explanation? Evaluate ?]
(1998-06-09)

csh
C shell

C sharp
C#

C shell
operating system (csh) The Unix command-line interpreter shell and script language by William Joy, originating from Berkeley Unix.
Unix systems up to around Unix Version 7 only had one shell - the Bourne shell, sh. Csh had better interactive features, notably command input history, allowing earlier commands to be recalled and edited (though it was still not as good as the VMS equivalent of the time).
Presumably, csh's C-like syntax was intended to endear it to programmers but sadly it lacks some sh features which are useful for writing shell scripts so you need to know two different syntaxes for every shell construct.
A plethora of different shells followed csh, e.g. tcsh, ksh, bash, rc, but sh and csh are the only ones which are provided with most versions of Unix.
(1998-04-04)

.cshrc
operating system (C Shell run commands) A C Shell startup configuration file. This file is found in a user's home directory and can contain shell and other commands to set variables, define aliases, and perform any other initialisation which should happen for every shell (as opposed to .login which is only run for a login shell).
Compare AUTOEXEC.BAT on MS-DOS.
See also rc.
(1996-04-09)

CSID
character set identifier

C++SIM
A class library like the simulation class libraries of SIMULA, by Mark Little M.C.Little@newcastle.ac.uk . Version: 1.0.
(ftp://arjuna.ncl.ac.uk/)
(1993-06-04)

CSK Software
company (Formerly Quay Financial Software ) An Irish company owned by the CSK Corporation of Japan (owner of Sega and Segasoft). Quay's main product is Slingshot, the first real-time financial server for the Internet.
Home (http://www.slingshot.ie/).
E-mail: John Slattery jslatter@quay.ie .
Address: Lisle House, 33 Molesworth Street, Dublin 2, Ireland.
Telephone: +353 (1) 604 6300. Fax: +353 (1) 662 2195.
(1997-05-13)

CSL
1. Computer Structure Language. A computer hardware description language, written in BCPL.
[ Computer Structure Language (CSL) , Proc 1975 Symp on Comp Hardware Description Languages and their Appl, ACM (Sep 1975)].
2. Control and Simulation Language. A language for industrial simulation from Esso and IBM.
[ Control and Simulation Language , J.N. Buxton et al, Computer J 5(3):194-199 (Oct 1962). Version: CSL 2 (1966 for IBM 7094)].

CSLIP
Compressed SLIP

CSM
[ CSM - A Distributed Programming Language , S. Zhongxiu et al, IEEE Trans Soft Eng SE-13(4):497-500 (Apr 1987)].

CSMA/CD
Carrier Sense Multiple Access / Collision Detect.
The low level network arbitration protocol used on Ethernet. Nodes wait for quiet on the net before starting to transmit and listen while they are transmitting. If two nodes transmit at once the data gets corrupted. The nodes detect this and continue to transmit for a certain length of time to ensure that all nodes detect the collision. The transmitting nodes then wait for a random time before attempting to transmit again thus minimising the chance of another collision. The ability to detect collision during transmission reduces the amount of bandwidth wasted on collisions compared with simple ALOHA broadcasting.
(1995-02-23)

CSMP
Continuous System Modeling Program

CSNET
Computers and Science Network, operated by CREN for US computer science institutes. It provides electronic mail service via dial-up lines, X.25 and Internet services.

CSO
Campus Phone Book software developed for, and originally used at, the Computer Services Office of the University of Illinois at Urbana-Champaign. The server software is known as qi and the client is ph . Recent versions of the software refer to CCSO (Computing Communications Service Office).
(ftp://uxc.cso.uiuc.edu/)

CSP
1. language Communicating Sequential Processes.
2. hardware Chip Scale Packaging.

CSP/80
Based on CSP.
CSP/80: A Language for Communicating Processes , M. Jazayeri et al, Proc Fall COMPCON80, IEEE pp.736-740 (Sept 1980).

CS/PCode
Used at Microsoft.

CSP/k
Concurrent SP/k

CS-Prolog
Distributed logic language.
CS-Prolog on Multi-Transputer Systems , I. Futo et al, Microprocessors Microsystems, March 1989.

CSPS
[ Toward Comprehensive Specification of Distributed Systems , G. Roman et al, Proc 7th Intl Conf on Distrib Comp Sys, IEEE 1987, pp. 282-289].

CSP-S
[ Implementation of CSP-S for Description of Distributed Algorithms , L. Patniak et al, Comput Lang 9(3):193-202 (1984)].

CS/QCode
Used at Microsoft.
[More detail?]

CSR
Control and Status Register

CSS
Cascading Style Sheets

CSSA
An object-oriented language.
[ Key Concepts in the INCAS Multicomputer Project , J. Nehmer et al, IEEE Trans Soft Eng SE-13(8):913-923 (Aug 1987)].

CSS/II
Computer System Simulator II. Like GPSS, for IBM 360.
[ Computer System Simulator II (CSS II) Program Description and Operations Manual , SH20-0875, IBM].

CSSL
Continuous System Simulation Language.
Versions include ACSL, HYTRAN, SL-I, S/360 and CSMP.
[ The SCi Continuous System Simulation Language (CSSL) , Simulation, 9(6) (Dec 1967)].
(1994-12-06)

CSTools
Concurrency through message-passing to named message queues.

CSU
1. California State University.
2. Cleveland State University.
3. Channel Service Unit.

CSU/DSU
channel service unit/digital service unit

CSV
comma separated values

CTC
Cornell Theory Center

CTCP
networking Client To Client Protocol

CTI
1. communications Computer Telephone Integration.
2. education Computers in Teaching Initiative. A UK government scheme.
(1996-12-08)

CTL
1. Checkout Test language.
2. Compiler Target Language.
3. Computational Tree Logic

CTOS
1. operating system Computerised Tomography Operating System.
2. operating system Convergent Technologies Operating System.
(1997-06-23)

ctrl
control

CTS
1. communications clear to send.
2. medical overuse strain injury.
(1999-10-03)

CTSS
Compatible Timesharing System

CTY
/sit'ee/ or /C-T-Y/ [MIT] The terminal physically associated with a computer's system console. The term is a contraction of Console tty , that is, Console TeleTYpe . This ITS- and TOPS-10-associated term has become less common, as most Unix hackers simply refer to the CTY as the console .
[Jargon File]

CU
chat see you .
(1997-12-01)

cu
1. communications Call Unix.
2. networking The country code for Cuba.
(1999-01-27)

CUA
Common User Access

Cube
Three-dimensional visual language for higher-order logic.
The Cube Language , M. Najork et al, 1991 IEEE Workshop on Visual Langs, Oct 1991, pp.218-224.
[Jargon File]

cube
1. [short for cubicle ] A module in the open-plan offices used at many programming shops. I've got the manuals in my cube.
2. A NeXT machine (which resembles a matte-black cube).

cubing
[parallel with tubing ] 1. Hacking on an IPSC (Intel Personal SuperComputer) hypercube. Louella's gone cubing *again*!!
[Jargon File]

CUCH
CUrry-CHurch.
Lambda-calculus
[ A Type-Theoretical Alternative to CUCH, ISWIM, OWHY , Dana Scott, Oxford U 1969].
[ Introduction to the CUCH , C. Bohm et al, in Automata Theory, E.R. Caianiello ed, A-P 1966, pp.35-65].
(1994-12-02)

Cuckoo's Egg
The Cuckoo's Egg

CUL
chat See you later .
(1997-12-01)

Culler-Fried System
A system for interactive mathematics.
[Sammet 1969, p. 253-255].
(1994-11-15)

CUPID
A graphic query language.
[ CUPID: A Graphic Oriented Facility for Support of Nonprogrammer Interactions with a Database , N. McDonald, PhD Thesis, CS Dept, UC Berkeley 1975].

CUPL
Cornell University Programming Language.
A language for simple mathematics problems, based on CORC, with PL/I-like syntax.
[ An Instruction Language for CUPL , R.J. Walker, Cornell U, Jul 1967].
(1994-11-15)

curly bracket
brace

current
electronics The quantity of charge per unit time, measured in Amperes (Amps, A). By historical convention, the sign of current is positive for currents flowing from positive to negative potential, but experience indicates that electrons are negatively charged and flow in the opposite direction.
(1995-10-05)

curried function
mathematics, programming A function of N arguments that is considered as a function of one argument which returns another function of N-1 arguments. E.g. in Haskell we can define:
average :: Int - (Int - Int)
(The parentheses are optional). A partial application of average, to one Int, e.g. (average 4), returns a function of type (Int - Int) which averages its argument with 4. In uncurried languages a function must always be applied to all its arguments but a partial application can be represented using a lambda abstraction:
x - average(4,x)
Currying is necessary if full laziness is to be applied to functional sub-expressions.
It was named after the logician Haskell Curry but the 19th-century logician, Gottlob Frege was the first to propose it and it was first referred to in [ Uber die Bausteine der mathematischen Logik , M. Schoenfinkel, Mathematische Annalen. Vol 92 (1924)].
David Turner said he got the term from Christopher Strachey who invented the term currying and used it in his lecture notes on programming languages written circa 1967. Strachey also remarked that it ought really to be called Schoenfinkeling .
Stefan Kahrs smk@dcs.ed.ac.uk reported hearing somebody in Germany trying to introduce scho nen for currying and finkeln for uncurrying . The verb scho nen means to beautify ; finkeln isn't a German word, but it suggests to fiddle .
[ Some philosophical aspects of combinatory logic , H. B. Curry, The Kleene Symposium, Eds. J. Barwise, J. Keisler, K. Kunen, North Holland, 1980, pp. 85-101]
(2002-07-24)

currying
Turning an uncurried function into a curried function.

curseperl
A curses library for Perl by the author of Perl, Larry Wall lwall@netlabs.com . It comes with Perl.
(1994-12-06)

curses
A set of subroutines in Unix for handling navigation on a terminal screen using the cursor.

cursor
1. hardware A visually distinct mark on a display indicating where newly typed text will be inserted. The cursor moves as text is typed and, in most modern editors, can be moved around within a document by the user to change the insertion point.
2. database In SQL, a named control structure used by an application program to point to a row of data. The position of the row is within a table or view, and the cursor is used interactively so select rows from columns.
(1996-12-27)

cursor dipped in X
jargon The metaphorical source of the electronic equivalent of a poisoned-pen letter. Derived from English metaphors of the form pen dipped in X (where X = e.g. acid , bile , vitriol ). These map over neatly to this hackish usage (the cursor being what moves, leaving letters behind, when one is composing on-line).
Talk about a nastygram! He must've had his cursor dipped in acid when he wrote that one!
[Jargon File]
(1996-12-27)

CU-SeeMe
communications /see`-yoo-see'-mee/ ( CU from Cornell University) A shareware personal computer-based videoconferencing program for use over the Internet, developed at Cornell University, starting in 1992.
CU-SeeMe allows for direct audiovisual connections between clients, or, like irc, it can support multi-user converencing via servers (here called reflectors ) to distribute the video and audio signals between multiple clients.
CU-SeeMe was the first videoconferencing tool available at a reasonable price (in this case, free) to users of personal computers.
Home (http://cu-seeme.cornell.edu/).
(http://home.stlnet.com/~hubble/cuseeme/index.html).
Compare with multicast backbone.
(1996-12-01)

CUSI
A collection of indices to various World-Wide Web and other Internet documents. It is located at Nexor in the UK.
(http://web.nexor.co.uk/public/cusi/cusi.html)
(1994-11-29)

cuspy
/kuhs'pee/ [WPI: from the DEC abbreviation CUSP, for Commonly Used System Program , i.e. a utility program used by many people] 1. (of a program) Well-written.
2. Functionally excellent. A program that performs well and interfaces well to users is cuspy. See rude.
[Jargon File]

Customer Information Control System
(CICS) An IBM communications system that got converted for database handling.
(1994-11-29)

Customer Information Systems
Customer Relationship Management

Customer Interaction Software
Customer Relationship Management

Customer Relationship Management
business (CRM, CIS, Customer Information Systems, Customer Interaction Software, TERM, Technology Enabled Relationship Manager) Enterprise-wide software applications that allow companies to manage every aspect of their relationship with a customer. The aim of these systems is to assist in building lasting customer relationships - to turn customer satisfaction into customer loyalty.
Customer information acquired from sales, marketing, customer service, and support is captured and stored in a centralised database. The system may provide data-mining facilities that support an opportunity management system. It may also be integrated with other systems such as accounting and manufacturing for a truly enterprise-wide system with thousands of users.
(1999-08-20)

CUT
Coordinated Universal Time

cut and paste
copy and paste

cut a tape
To write a software or document distribution on magnetic tape for shipment. Has nothing to do with physically cutting the medium! Cutting a disk has also been reported as live usage. Related slang usages are mainstream business's cut a check , the recording industry's cut a record , and the military's cut an order .
All of these usages reflect physical processes in obsolete recording and duplication technologies. The first stage in manufacturing an old-style vinyl record involved cutting grooves in a stamping die with a precision lathe. More mundanely, the dominant technology for mass duplication of paper documents in pre-photocopying days involved cutting a stencil , punching away portions of the wax overlay on a silk screen. More directly, paper tape with holes punched in it was an important early storage medium.
[Jargon File]

cutover
communications, networking /cut-ov*/ Switching from an old (hardware and/or software) system to a replacement system, covering the overlap from when the new system is live until the old system has been shut down.
(1997-07-09)

cv
networking The country code for Cape Verde.
(1999-01-27)

CVS
A code management system based on RCS.

CW
continuous wave

CWeb
language An ANSI C implementation of the Web literate programming language. Version 3.1 by Levy, Knuth, and Marc van Leeuwen is writen in, and outputs, ANSI C and C++.
(ftp://ftp.cwi.nl/pub/cweb/).
(1993-12-16)

CWI
Centrum voor Wiskunde en Informatica

CWIC
Compiler for Writing and Implementing Compilers. Val Schorre. One of the early metacompilers. Compare Meta-II.

CWIS
Campus-Wide Information System

C with Classes
Short-lived predecessor to C++.
[ Classes: An Abstract Data Type Facility for the C Language , B. Stroustrup, CSTR-84 Bell Labs, Apr 1980]. Also in [SIGPLAN Notices (Jan 1982)].

cx
networking The country code for Christmas Island.
(1999-01-27)

cxref
tool A cross-reference generator by Arnold Robbins from Georgia Institute of Technology.
(2000-02-29)

cy
networking The country code for Cyprus.
(1999-01-27)

Cy486SLC
A version of the Intel 486 made by Cyrix. It has a 486SX instruction set, a 1 kilobyte cache, and an Intel 80386SX-compatible pinout and thus, 16-bit data bus.
(1994-11-30)

cyber
chat To have cybersex.
(1997-06-21)

cyberbunny
abuse Someone who knows absolutely nothing about computers and advises people who know absolutely nothing about computers. The term is used mostly on AOL, Prodigy, Compuserve, etc.
(1996-02-18)

cyberchondriac
jargon, humour (After hypochondriac ) 1. A user who always thinks there is something wrong with his computer.
2. Someone who uses the World-Wide Web to indulge their hyperchondria.
(2001-03-10)

cybercrud
jargon /si:'ber-kruhd/ 1. (Coined by Ted Nelson) Obfuscatory tech-talk. Verbiage with a high MEGO factor. The computer equivalent of bureaucratese.
2. Incomprehensible stuff embedded in e-mail. First there were the Received headers that show how mail flows through systems, then MIME (Multi-purpose Internet Mail Extensions) headers and part boundaries, and now huge blocks of hex for PEM (Privacy Enhanced Mail) or PGP (Pretty Good Privacy) digital signatures and certificates of authenticity. This stuff all has a purpose and good user interfaces should hide it, but all too often users are forced to wade through it.
[Jargon File]
(1995-04-04)

CyberGlove
hardware, virtual reality A data glove sold by Virtual Technologies for $9800. It is the state-of-the-art, high-end data glove for completely reactive immersive environments. The spandex-like glove houses 18 sensors to track accurately just about every move your hand is capable of making. The accompanying software includes a three-dimensional hand model that can he added to any virtual reality application. The glove includes a mount for Polhemus and Ascension sensors.
(1995-04-04)

cybernetics
robotics /si:`b*-net'iks/ The study of control and communication in living and man-made systems.
The term was first proposed by Norbert Wiener in the book referenced below. Originally, cybernetics drew upon electrical engineering, mathematics, biology, neurophysiology, anthropology, and psychology to study and describe actions, feedback, and response in systems of all kinds. It aims to understand the similarities and differences in internal workings of organic and machine processes and, by formulating abstract concepts common to all systems, to understand their behaviour.
Modern second-order cybernetics places emphasis on how the process of constructing models of the systems is influenced by those very systems, hence an elegant definition - applied epistemology .
Related recent developments (often referred to as sciences of complexity) that are distinguished as separate disciplines are artificial intelligence, neural networks, systems theory, and chaos theory, but the boundaries between those and cybernetics proper are not precise.
See also robot.
The Cybernetics Society (http://www.cybsoc.org) of the UK.
American Society for Cybernetics (http://www.asc-cybernetics.org/).
IEEE Systems, Man and Cybernetics Society (http://www.isye.gatech.edu/ieee-smc/).
International project Principia Cybernetica (http://pespmc1.vub.ac.be/DEFAULT.html).
Usenet newsgroup: sci.systems (news:sci.systems).
[ Cybernetics, or control and communication in the animal and the machine , N. Wiener, New York: John Wiley Sons, Inc., 1948]
(2002-01-01)

cyberpunk
/si:'ber-puhnk/ (Originally coined by SF writer Bruce Bethke and/or editor Gardner Dozois) A subgenre of SF launched in 1982 by William Gibson's epoch-making novel Neuromancer (though its roots go back through Vernor Vinge's True Names to John Brunner's 1975 novel The Shockwave Rider ). Gibson's near-total ignorance of computers and the present-day hacker culture enabled him to speculate about the role of computers and hackers in the future in ways hackers have since found both irritatingly na ive and tremendously stimulating. Gibson's work was widely imitated, in particular by the short-lived but innovative Max Headroom TV series. See cyberspace, ice, jack in, go flatline.
Since 1990 or so, popular culture has included a movement or fashion trend that calls itself cyberpunk , associated especially with the rave/techno subculture. Hackers have mixed feelings about this. On the one hand, self-described cyberpunks too often seem to be shallow trendoids in black leather who have substituted enthusiastic blathering about technology for actually learning and *doing* it. Attitude is no substitute for competence. On the other hand, at least cyberpunks are excited about the right things and properly respectful of hacking talent in those who have it. The general consensus is to tolerate them politely in hopes that they'll attract people who grow into being true hackers.
[Jargon File]

cyberrhea
humour, jargon /si:'ber-eer/ An affliction of some word processor users; excessive frequency and looseness of productivity. Particularly virulent among those who have not discovered the fortifying virtues of revision.
[ Right Words, Right Places Scott Rice, Wadsworth, 1993, A5.]
(1997-02-25)

cybersex
networking Sex performed in real time via a digital medium.
Compare teledildonics.
[Details?]
(1998-02-10)

cyberspace
jargon /si:'ber-spays/ 1. (Coined by William Gibson) Notional information-space loaded with visual cues and navigable with brain-computer interfaces called cyberspace decks ; a characteristic prop of cyberpunk SF. In 1991 serious efforts to construct virtual reality interfaces modelled explicitly on Gibsonian cyberspace were already under way, using more conventional devices such as glove sensors and binocular TV headsets. Few hackers are prepared to deny outright the possibility of a cyberspace someday evolving out of the network (see network, the).
2. Occasionally, the metaphoric location of the mind of a person in hack mode. Some hackers report experiencing strong eidetic imagery when in hack mode; interestingly, independent reports from multiple sources suggest that there are common features to the experience. In particular, the dominant colours of this subjective cyberspace are often grey and silver, and the imagery often involves constellations of marching dots, elaborate shifting patterns of lines and angles, or moire patterns.
[Jargon File]
(1999-02-01)

cyberspastic
humour A person suffering from information overload while browsing the Internet or World-Wide Web.
Compare webhead.
(1995-11-09)

cyber-squatting
jargon, networking The practice of registering famous brand names as Internet domain names, e.g. harrods.com, ibm.firm or sears.shop, in the hope of later selling them to the appropriate owner at a profit.
(1998-01-22)

CyberWand
hardware, virtual reality A virtual reality controller. The CyberWand costs $99, or $765 with optional Polhemus sensor. It is basically the handle of a flight control system without the base. The controller's four buttons and 2-D hat sensor track six degrees of movement.
(1995-04-04)

CyberZine
publication A combination paper and World-Wide Web on-line Cyberspace guide. Upon payment you will be given a user name and password to access CyberZine on-line and the paper version will be posted first class. Subscribers can also use the CyberZine help desk.
Home (http://cyberzine.org/).
(1994-09-22)

CYBIL
Control Data's system programming language in the 80's. Major parts of CDC systems written in this.

Cyc
artificial intelligence A large knowledge-based system.
Cyc is a very large, multi-contextual knowledge base and inference engine, the development of which started at the Microelectronics and Computer Technology Corporation (MCC) in Austin, Texas during the early 1980s.
Over the past eleven years the members of the Cyc team, lead by Doug Lenat, have added to the knowledge base a huge amount of fundamental human knowledge: facts, rules of thumb, and heuristics for reasoning about the objects and events of modern everyday life.
Cyc is an attempt to do symbolic AI on a massive scale. It is not based on numerical methods such as statistical probabilities, nor is it based on neural networks or fuzzy logic. All of the knowledge in Cyc is represented declaratively in the form of logical assertions. Cyc presently contains approximately 400,000 significant assertions, which include simple statements of fact, rules about what conclusions to draw if certain statements of fact are satisfied, and rules about how to reason with certain types of facts and rules. The inference engine derives new conclusions using deductive reasoning.
To date, Cyc has made possible ground-breaking pilot applications in the areas of heterogeneous database browsing and integration, captioned image retrieval, and natural language processing.
In January of 1995, a new independent company named Cycorp was created to continue the Cyc project. Cycorp is still in Austin, Texas. The president of Cycorp is Doug Lenat.
The development of Cyc has been supported by several organisations, including Apple, Bellcore, DEC, DoD, Interval, Kodak, and Microsoft.
Home (http://www.cyc.com/).
Unofficial FAQ (http://www.robotwisdom.com/ai/cycfaq.html).
(1999-09-07)

CYCL
A frame language.
[ Building Large Knowledge-Based Systems , Doug B. Lenat et al, A-W 1990].

cycle
unit A basic unit of computation, one period of a computer clock.
Each instruction takes a number of clock cycles. Often the computer can access its memory once on every clock cycle, and so one speaks also of memory cycles .
Every hacker wants more cycles (noted hacker Bill Gosper describes himself as a cycle junkie ). There are only so many cycles per second, and when you are sharing a computer the cycles get divided up among the users. The more cycles the computer spends working on your program rather than someone else's, the faster your program will run. That's why every hacker wants more cycles: so he can spend less time waiting for the computer to respond.
The use of the term cycle for a computer clock period can probably be traced back to the rotation of a generator generating alternating current though computers generally use a clock signal which is more like a square wave. Interestingly, the earliest mechanical calculators, e.g. Babbage's Difference Engine, really did have parts which rotated in true cycles.
[Jargon File]
(1997-09-30)

cyclebabble
jargon Advertising raw clock speed, instead of bus speed.
IBM uses raw clock speed as the speed of the computer. In the IBM PC and IBM PC XT, the clock is divided by 4 to produce the 4-phase bus clocks. Thus a 4 MHz IBM XT really runs at 0.895 MHz, because that 4 MHz was really 3.58 MHz which gets divided by four.
A Tandy Color Computer ran at exactly the same speed, but clock speed was specified as bus speed, 0.895 MHz, leaving the impression that it was 4 times slower. Actually it ran a little faster with a more efficient instruction set. If the actual clock frequency had been specified on a CoCo 3, it would have been 14.32 MHz, although the bus speed was still 0.895 MHz. That high speed also generated video, color, and hidden refresh timing.
100 MHz computers are running at bus speeds of around 25 MHz.
(1997-02-13)

cycle crunch
jargon A situation wherein the number of people trying to use a computer simultaneously has reached the point where no one can get enough cycles because they are spread too thin and the system has probably begun to thrash.
This scenario is an inevitable result of Parkinson's Law applied to time-sharing. Usually the only solution is to buy more computer. Happily, this has rapidly become easier since the mid-1980s, so much so that the very term cycle crunch now has a faintly archaic flavour; most hackers now use workstations or personal computers as opposed to traditional time-sharing systems.
[Jargon File]
(1994-11-29)

cycle drought
A scarcity of cycles. It may be due to a cycle crunch, but it could also occur because part of the computer is temporarily not working, leaving fewer cycles to go around. The high moby is down, so we're running with only half the usual amount of memory. There will be a cycle drought until it's fixed.
[Jargon File]
(1994-11-29)

cycle of reincarnation
A term coined by Ivan Sutherland ca. 1970 to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward more computing power as it does its job, then somebody notices that it is inefficient to support two asymmetrical processors in the architecture and folds the function back into the main CPU, at which point the cycle begins again.
Several iterations of this cycle have been observed in graphics-processor (blitter) design, and at least one or two in communications and floating-point processors. Also known as the Wheel of Life , the Wheel of Samsara and other variations of the basic Hindu/Buddhist theological idea.
[Jargon File]
(1994-11-16)

cycle server
jargon A powerful computer that exists primarily for running large batch jobs. The term implies that interactive tasks such as editing are done on other machines on the network, such as workstations.
[Jargon File]
(1998-03-13)

cyclic redundancy check
algorithm (CRC or cyclic redundancy code ) A number derived from, and stored or transmitted with, a block of data in order to detect corruption. By recalculating the CRC and comparing it to the value originally transmitted, the receiver can detect some types of transmission errors.
A CRC is more complicated than a checksum. It is calculated using division either using shifts and exclusive ORs or table lookup (modulo 256 or 65536).
The CRC is redundant in that it adds no information. A single corrupted bit in the data will result in a one bit change in the calculated CRC but multiple corrupted bits may cancel each other out.
CRCs treat blocks of input bits as coefficient-sets for polinomials. E.g., binary 10100000 implies the polynomial: 1*x^7 + 0*x^6 + 1*x^5 + 0*x^4 + 0*x^3 + 0*x^2 + 0*x^1 + 0*x^0. This is the message polynomial . A second polynomial, with constant coefficients, is called the generator polynomial . This is divided into the message polynomial, giving a quotient and remainder. The coefficients of the remainder form the bits of the final CRC. So, an order-33 generator polynomial is necessary to generate a 32-bit CRC. The exact bit-set used for the generator polynomial will naturally affect the CRC that is computed.
Most CRC implementations seem to operate 8 bits at a time by building a table of 256 entries, representing all 256 possible 8-bit byte combinations, and determining the effect that each byte will have. CRCs are then computed using an input byte to select a 16- or 32-bit value from the table. This value is then used to update the CRC.
Ethernet packets have a 32-bit CRC. Many disk formats include a CRC at some level.
(1997-08-02)

cyclic redundancy code
cyclic redundancy check

Cyclo
programming, tool (Cyclomatic complexity tool) A C and C++ code analysis tool by Roger D. Binns. It measures cyclomatic complexity, shows function calls, and can draw flowgraphs of ANSI C and C++ code. It requires Lex and C++.
Posted to alt.sources, 1993-06-28.
(1993-06-28)

cyclomatic complexity
programming, testing A measure of the number of linearly independent paths through a program module. Cyclomatic complexity is a measure for the complexity of code related to the number of ways there are to traverse a piece of code. This determines the minimum number of inputs you need to test all ways to execute the program.
(1998-03-17)

Cygnus Tcl Tools
Cygnus, Tcl, Tk, tool A rebundling of Tcl and Tk into the Cygnus GNU build framework with configure by david d 'zoo' zuhn zoo@cygnus.com .
Latest version: Release-930124, as of 1993-01-24.
(ftp://cygnus.com/pub/)
(2000-09-25)

cylinder
storage The set of tracks on a multi-headed disk that may be accessed without head movement. That is, the collection of disk tracks which are the same distance from the spindle about which the disks rotate. Each such group forms the shape of a cylinder. Placing data that are likely to be accessed together in cylinders reduces the access significantly as head movement (seeking) is slow compared to disk rotation and switching between heads.
(1997-07-15)

CypherText
language An interactive language for text formatting and typesetting.
[ CypherText: An Extensible Composing and Typesetting Language , C.G. Moore et al, Proc FJCC 37, AFIPS (Fall 1970)].
(1995-05-10)

Cyrix
company A microprocessor manufacturer. They produce an Intel 486 equivalent - the Cy486SLC and a Pentium equivalent - the Cyrix 6x86.
Home (http://www.cyrix.com/).
(1996-03-23)

Cyrix 6x86
processor (6x86) IBM and Cyrix's sixth-generation, 64-bit 80x86-compatible microprocessor. The 6x86 combines aspects of both RISC and CISC. It has a superscalar, superpipelined core, and performs register renaming, speculative execution, out-of-order completion, and data dependency removal. It has a 16-kilobyte primary cache and is socket-compatible with the Pentium P54C. It has four performance levels: PR 120+, PR 150+, PR 166+ and PR 200+.
The chip was designed by Cyrix and is manufactured by IBM.
The architecture of the 6x86 is more advanced than that of the Pentium, incorporating some of the features of Intel's Pentium Pro. At a given clock rate it executes most code more quickly than a Pentium would. However, its FPU is considerably less efficient than Intel's.
IBM FAQ (http://www.chips.ibm.com/products/x86/6x86/faqs/6x86_faqs.html), Cyrix FAQ (http://www.cyrix.com/process/prodinfo/6x86/faq-6x86.htm).
(1997-05-26)

cz
networking The country code for the Czech Republic.
(1999-01-27)

1. The Data Language. MS-DOS 4GL.
2. A Haskell-like language, with type classes.
E-mail: polar@cs.syr.edu .

DAA
Distributed Application Architecture: under design by Hewlett-Packard and Sun. A distributed object management environment that will allow applications to be developed independent of operating system, network or windowing system.

DAC
Digital to Analog Converter

DACAPO
Broad-range hardware specification language. Mixed Level Modelling and Simulation of VLSI Systems , F.J. Rammig in Logic Design and Simulation, E. Horbst ed, N-H 1986.

DACNOS
A prototype network operating system for multi-vendor environments, from IBM European Networking Centre Heidelberg and University of Karlsruhe.
(1995-01-16)

D/A converter
Digital to Analog Converter

DACTL
Declarative Alvey Compiler Target Language.
An intermediate language from the University of East Anglia, used in the Flagship project. DACTL is based on a form of graph rewriting which can be used to implement functional languages, logic languages and imperative languages. The current version is Dactl0.
[ DACTL - A Computational Model and Compiler Target Language Based on Graph Reduction , J.R.W. Glauert et al, ICL Tech J 5(3) (1987)].
(1994-09-22)

DADS
Dictionary of Algorithms and Data Structures

daemon
operating system /day'mn/ or /dee'mn/ (From the mythological meaning, later rationalised as the acronym Disk And Execution MONitor ) A program that is not invoked explicitly, but lies dormant waiting for some condition(s) to occur. The idea is that the perpetrator of the condition need not be aware that a daemon is lurking (though often a program will commit an action only because it knows that it will implicitly invoke a daemon).
For example, under ITS writing a file on the LPT spooler's directory would invoke the spooling daemon, which would then print the file. The advantage is that programs wanting files printed need neither compete for access to, nor understand any idiosyncrasies of, the LPT. They simply enter their implicit requests and let the daemon decide what to do with them. Daemons are usually spawned automatically by the system, and may either live forever or be regenerated at intervals.
Unix systems run many daemons, chiefly to handle requests for services from other hosts on a network. Most of these are now started as required by a single real daemon, inetd, rather than running continuously. Examples are cron (local timed command execution), rshd (remote command execution), rlogind and telnetd (remote login), ftpd, nfsd (file transfer), lpd (printing).
Daemon and demon are often used interchangeably, but seem to have distinct connotations (see demon). The term daemon was introduced to computing by CTSS people (who pronounced it /dee'mon/) and used it to refer to what ITS called a dragon.
[Jargon File]
(1995-05-11)

DAG
1. architecture Data Address Generator.
2. mathematics directed acyclic graph.
(1997-08-30)

Daisy
A functional language.
[ Daisy Programming Manual , S.D. Johnson, CS Dept TR, Indiana U, 1988].

DAISY 201
An early system on G-15.
[Listed in CACM 2(5):16 (May 1959)].

daisy chain
networking A bus wiring scheme in which, for example, device A is wired to device B, device B is wired to device C, etc. The last device is normally wired to a resistor or terminator. All devices may receive identical signals or, in contrast to a simple bus, each device in the chain may modify one or more signals before passing them on.
Characteristic of RS-485, of Apple's LocalTalk, and of various industrial control networks; also often used to describe Thinwire Ethernet (10base2).
(1997-01-07)

daisywheel printer
printer A kind of impact printer where the characters are arranged on the ends of the spokes of a wheel (resembling the petals on a daisy).
The wheel (usually made of plastic) is rotated to select the character to print and then an electrically operated hammer mechanism bends the selected spoke forward slightly, sandwiching an ink ribbon between the character and the paper, as in a typewriter.
One advantage of this arrangement over that of a typewriter is that different wheels may be inserted to produce different typefaces.
(1998-04-28)

dangling pointer
programming A reference that doesn't actually lead anywhere. In C and some other languages, a pointer that doesn't actually point at anything valid. Usually this happens because it formerly pointed to something that has moved or disappeared, e.g. a heap-allocated block which has been freed and reused.
Used as jargon in a generalisation of its technical meaning; for example, a local phone number for a person who has since moved is a dangling pointer.
[Jargon File]

DANTE
A company established by the national research networks in Europe to provide international network services.

DAP Fortran
[ Efficient High Speed Computing with the Distributed Array Processor , P.M. Flanders et al, pp.113-127 (1977)].
[Same as Fortran- Plus?]

DAPLEX
[ The Functional Data Model and the Data Language DAPLEX , D.W. Shipman, ACM Trans Database Sys, 6(1):140-173 (Mar 1981)].

DARE
Differential Analyzer REplacement. A family of simulation languages for continuous systems.
[ Digital Continuous System Simulation , G.A. Korn et al, P-H 1978].

dark-side hacker
A criminal or malicious hacker; a cracker. From George Lucas's Darth Vader, seduced by the dark side of the Force . The implication that hackers form a sort of elite of technological Jedi Knights is intended.
Opposite: samurai.
[Jargon File]
(1997-04-28)

Darms
language, music A music language.
[ The Darms Project: A Status Report , R.F. Erickson, Computers and the Humanities 9(6):291-298 (June 1975)].
(1995-05-12)

DARPA
Defense Advanced Research Projects Agency

Dartmouth BASIC
language The original BASIC by Kemeny and Kurtz.
(1995-05-12)

Darwin
1. programming, tool A general purpose structuring tool of use in building complex distributed systems from diverse components and diverse component interaction mechanisms. Darwin is being developed by the Distributed Software Engineering Section of the Department of Computing at Imperial College. It is in essence a declarative binding language which can be used to define hierarchic compositions of interconnected components. Distribution is dealt with orthogonally to system structuring. The language allows the specification of both static structures and dynamic structures which evolve during execution. The central abstractions managed by Darwin are components and services. Bindings are formed by manipulating references to services.
The operational semantics of Darwin is described in terms of the Pi-calculus, Milner's calculus of mobile processes. The correspondence between the treatment of names in the Pi-calculus and the management of service references in Darwin leads to an elegant and concise Pi-calculus model of Darwin's operational semantics. The model has proved useful in arguing the correctness of Darwin implementations and in designing extensions to Darwin and reasoning about their behaviour.
Distributed Software Engineering Section (http://www-dse.doc.ic.ac.uk/). Darwin publications (http://scorch.doc.ic.ac.uk/dse-papers/darwin/).
E-mail: Jeff Magee jnm@doc.ic.ac.uk , Naranker Dulay nd@doc.ic.ac.uk .
2. Core War.
(1998-10-30)

DAS
Digital Analog Simulator.
Represents analog computer design.
(1994-11-08)

DASD
Direct-Access Storage Device

DASE
Distributed Application Support Environment

DASL
Datapoint's Advanced System Language.
A cross between C and Pascal by Gene Hughes with custom features for Datapoint hardware (no stack). It is used internally by Datapoint.
(1994-11-08)

DAT
1. Digital Audio Tape.
2. Dynamic Address Translation.

data
data, data processing, jargon /day't*/ (Or raw data ) Numbers, characters, images, or other method of recording, in a form which can be assessed by a human or (especially) input into a computer, stored and processed there, or transmitted on some digital channel. Computers nearly always represent data in binary.
Data on its own has no meaning, only when interpreted by some kind of data processing system does it take on meaning and become information.
People or computers can find patterns in data to perceive information, and information can be used to enhance knowledge. Since knowledge is prerequisite to wisdom, we always want more data and information. But, as modern societies verge on information overload, we especially need better ways to find patterns.
1234567.89 is data.
Your bank balance has jumped 8087% to $1234567.89 is information.
Nobody owes me that much money is knowledge.
I'd better talk to the bank before I spend it, because of what has happened to other people is wisdom.
(1999-04-30)

data abstraction
abstract data type

Data Address Generator
architecture (DAG) The mechanism which generates temporary memory addresses for data that is transferred between memory and registers in a Digital Signal Processor.
Certain DSP architectures incorporate more than one DAG to simplify the programming needed to move blocks of data between buffers.
For instance, certain Fast Fourier Transform algorithms requiring bit reversing, can use the DAG for that purpose, or they can use two DAGS, one for Program Memory Data (PMD), and the other for Data Memory Data (DMD).
(1997-08-12)

database
1. database One or more large structured sets of persistent data, usually associated with software to update and query the data. A simple database might be a single file containing many records, each of which contains the same set of fields where each field is a certain fixed width.
A database is one component of a database management system.
See also ANSI/SPARC Architecture, atomic, blob, data definition language, deductive database, distributed database, fourth generation language, functional database, object-oriented database, relational database.
Carol E. Brown's tutorial (http://www2.bus.orst.edu/faculty/brownc/lectures/db_tutor/).
2. hypertext A collection of nodes managed and stored in one place and all accessible via the same server. Links outside this are external , and those inside are internal .
On the World-Wide Web this is called a web site.
3. All the facts and rules comprising a logic programming program.
(2002-02-09)

database administrator
An individual responsible for the design and management of the database and for the evaluation, selection and implementation of the database management system. In smaller organisations, the data administrator and database administrator are often one in the same; however, when they are different, the database administrator's function is more technical. The database administrator would implement the database software that meets the requirements outlined by the organisation's data administrator and systems analysts.

database machine
A computer or special hardware that stores and retrieves data from a database. It is specially designed for database access and is coupled to the main (front-end) computer(s) by a high-speed channel. This contrasts with a database server, which is a computer in a local area network that holds a database. The database machine is tightly coupled to the main CPU, whereas the database server is loosely coupled via the network.

database management system
database (DBMS) A suite of programs which typically manage large structured sets of persistent data, offering ad hoc query facilities to many users. They are widely used in business applications.
A database management system (DBMS) can be an extremely complex set of software programs that controls the organisation, storage and retrieval of data (fields, records and files) in a database. It also controls the security and integrity of the database. The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.
When a DBMS is used, information systems can be changed much more easily as the organisation's information requirements change. New categories of data can be added to the database without disruption to the existing system.
Data security prevents unauthorised users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of the database, called subschemas (pronounced sub-skeema ). For example, an employee database can contain all the data about an individual employee, but one group of users may be authorised to view only payroll data, while others are allowed access to only work history and medical data.
The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can keep duplicate records out of the database; for example, no two customers with the same customer numbers (key fields) can be entered into the database.
Query languages and report writers allow users to interactively interrogate the database and analyse its data.
If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organisation. These controls are only available when a set of application programs are customised for each data entry and updating function.
A business information system is made up of subjects (customers, employees, vendors, etc.) and activities (orders, payments, purchases, etc.). Database design is the process of deciding how to organize this data into record types and how the record types will relate to each other. The DBMS should mirror the organisation's data structure and process transactions efficiently.
Organisations may use one kind of DBMS for daily transaction processing and then move the detail onto another computer that uses another DBMS better suited for random inquiries and analysis. Overall systems design decisions are performed by data administrators and systems analysts. Detailed database design is performed by database administrators.
The three most common organisations are the hierarchical database, network database and relational database. A database management system may provide one, two or all three methods. Inverted lists and other methods are also used. The most suitable structure depends on the application and on the transaction rate and the number of inquiries that will be made.
Database machines are specially designed computers that hold the actual databases and run only the DBMS and related software. Connected to one or more mainframes via a high-speed channel, database machines are used in large volume transaction processing environments. Database machines have a large number of DBMS functions built into the hardware and also provide special techniques for accessing the disks containing the databases, such as using multiple processors concurrently for high-speed searches.
The world of information is made up of data, text, pictures and voice. Many DBMSs manage text as well as data, but very few manage both with equal proficiency. Throughout the 1990s, as storage capacities continue to increase, DBMSs will begin to integrate all forms of information. Eventually, it will be common for a database to handle data, text, graphics, voice and video with the same ease as today's systems handle data.
See also: intelligent database.
(1998-10-07)

database manager
The part of the database management system (DBMS) that handles the organisation, storage and retrieval of the data. A database manager may work with traditional programming languages, such as COBOL and BASIC, or may work only with its proprietary programming language. The terms database manager and database management system are used interchangeably.
A database manager links two or more files together and is the foundation for developing routine business systems. Contrast with file manager, which works with only one file at a time and is typically used interactively on a personal computer for managing personal, independent files, such as name and address lists.

database normalisation
database A series of steps followed to obtain a database design that allows for efficient access and storage of data in a relational database. These steps reduce data redundancy and the chances of data becoming inconsistent.
A table in a relational database is said to be in normal form if it satisfies certain constraints. Codd's original work defined three such forms but there are now five generally accepted steps of normalisation. The output of the first step is called First Normal Form (1NF), the output of the second step is Second Normal Form (2NF), etc.
First Normal Form eliminates repeating groups by putting each into a separate table and connecting them with a one-to-many relationship.
Second Normal Form eliminates functional dependencies on a partial key by putting the fields in a separate table from those that are dependent on the whole key.
Third Normal Form eliminates functional dependencies on non-key fields by putting them in a separate table. At this stage, all non-key fields are dependent on the key, the whole key and nothing but the key.
Fourth Normal Form separates independent multi-valued facts stored in one table into separate tables.
Fifth Normal Form breaks out data redundancy that is not covered by any of the previous normal forms.
(http://home.earthlink.net/~billkent/Doc/simple5.htm).
[What about non-relational databases?]
(1999-05-05)

database query language
database A language in which users of a database can (interactively) formulate requests and generate reports. The best known is SQL.
(1998-04-15)

database server
A stand-alone computer in a local area network that holds and manages the database. It implies that database management functions, such as locating the actual record being requested, is performed in the server computer. Contrast with file server, which acts as a remote disk drive and requires that large parts of the database, for example, entire indexes, be transmitted to the user's computer where the real database management tasks are performed.
First-generation personal computer database software was not designed for a network; thus, modified versions of the software released by the vendors employed the file server concept. Second-generation products, designed for local area networks, perform the management tasks in the server where they should be done, and consequently are turning the file server into a database server.

Data/BASIC
language (Or Pick BASIC ) A BASIC-like language with database capabilities, the main programming language on the Pick OS.
[ The Data/BASIC Language - A Data Processing Language for Non-Professional Programmers , P.C. Dressen, Proc SJCC 36, AFIPS, Spring 1970].
(2001-04-30)

DATABUS
DATApoint BUSiness Language.
A language like an interpreted assembly language, used for custom applications on Datapoint computers.
(1995-01-16)

data bus
architecture The bus (connections between and within the CPU, memory, and peripherals) used to carry data. Other connections are the address bus and control signals.
The width and clock rate of the data bus determine its data rate (the number of bytes per second it can carry), which is one of the main factors determining the processing power of a computer. Most current processor designs use a 32-bit bus, meaning that 32 bits of data can be transferred at once. Some processors have an internal data bus which is wider than their external bus in order to make external connections cheaper while retaining some of the benefits in processing power of a wider bus.
See also data path.
(1995-01-16)

data channel
communications A channel (on a BRI or PRI line) used to carry control information, to set up connections on the associated bearer channels. The name wasn't too bad back when users were sending voice (not data) over the bearer channels, but in 1997 it's quite a misnomer.
(1997-03-10)

DATACODE I
language An early system used on the Datatron 200 series.
[Listed in CACM 2(5):16, May 1959].
(1994-12-06)

Datacom
A DBMS from Computer Associates International.
(1994-12-06)

Data Communication Equipment
communications, hardware (DCE) The devices and connections of a communications network that connect the communication circuit between the data source and destination (the Data Terminal Equipment or DTE). A modem is the most common kind of DCE.
Before data can be transmited over a modem, the DTR (Data Terminal Ready) signal must be active. DTR tells the DCE that the DTE is ready to transmit and receive data.
DCE and DTE are usually connected by an EIA-232 serial line. It is necessary to distinguish these two types of device because their connectors must be wired differently if a straight-through cable (pin 1 to pin 1, pin 2 to pin 2 etc.) is to be used. DCE should have a female connector and should transmit on pin two and receive on pin three. It is a curious fact that many modems are DTE according to the original standard.
(1995-02-28)

Data Communications Equipment
Data Communication Equipment

data compression
algorithm compression. Probably to distinguish it from (electronic) signal compression.
(1995-04-02)

Data definition language
language, database (DDL)
1. A language enabling the structure and instances of a database to be defined in a human-, and machine-readable form.
SQL contains DDL commands that can be used either interactively, or within programming language source code, to define databases and their components, e.g. CREATE and DROP.
See also Data manipulation language (DML).
2. A specification language for databases, based on the entity-relationship model. It is used in the Eli compiler-compiler to manage type definitions.
[ DDL Reference Manual , ECE Dept U Colorado, 1991].
(1999-04-26)

data dictionary
database A data structure that stores meta-data, i.e. data about data. The term data dictionary has several uses.
Most generally it is a set of data descriptions that can be shared by several applications.
Usually it means a table in a database that stores the names, field types, length, and other characteristics of the fields in the database tables.
An active data dictionary is automatically updated as changes occur in the database. A passive data dictionary must be manually updated.
In a DBMS, this functionality is performed by the system catalog. The data dictionary is a more general software utility used by designers, users, and administrators for information resource management.
The data dictionary may maintain information on system hardware, software, documentation, users, and other aspects.
Data dictionaries are also used to document the database design process itself and can accumulate meta-data ready to feed into the system catalog.
[Does anybody call them codebooks ?]
(2001-04-24)

data dictionary file
database (DDF) A set of files describing the structure of a database file. DDFs define database tables and include information about file locations, field layouts and indexes. DDFs are the standard method for defining field and index characteristics for Btrieve files.
(1997-06-03)

data driven
A data driven architecture/language performs computations in an order dictated by data dependencies. Two kinds of data driven computation are dataflow and demand driven.
From about 1970 research in parallel data driven computation increased. Centres of excellence emerged at MIT, CERT-ONERA in France, NTT and ETL in Japan and Manchester University.

Data Driven Machine
language (DDM) A dataflow language.
[ The Architecture and System Method of DDM-1: A Recursively Structured Data Driven Machine , A. Davis, Proc 5th Ann Symp Comp Arch, IEEE 1978].
(1999-04-26)

Data Encryption Algorithm
(DEA) An ANSI standard defined in ANSI X3.92-1981. It is identical to the Data Encryption Standard (DES).
(1994-12-06)

Data Encryption Key
(DEK) Used for the encryption of message text and for the computation of message integrity checks (signatures).
See cryptography.
(1994-12-06)

Data Encryption Standard
(DES) The NBS's popular, standard encryption algorithm. It is a product cipher that operates on 64-bit blocks of data, using a 56-bit key. It is defined in FIPS 46-1 (1988) (which supersedes FIPS 46 (1977)). DES is identical to the ANSI standard Data Encryption Algorithm (DEA) defined in ANSI X3.92-1981.
DES has been implemented in VLSI. SunOS provides a des command which can make use of DES hardware if fitted. Neither the software nor the hardware are supposed to be distributed outside the USA.
Unix manual pages: des(1), des(3), des(4).
(1994-12-06)

data flow
A data flow architecture or language performs a computation when all the operands are available. Data flow is one kind of data driven architecture, the other is demand driven. It is a technique for specifying parallel computation at a fine-grain level, usually in the form of two-dimensional graphs in which instructions that are available for concurrent execution are written alongside each other while those that must be executed in sequence are written one under the other. Data dependencies between instructions are indicated by directed arcs. Instructions do not reference memory since the data dependence arcs allow data to be transmitted directly from the producing instruction to the consuming one.
Data flow schemes differ chiefly in the way that they handle re-entrant code. Static schemes disallow it, dynamic schemes use either code copying or tagging at every point of reentry.
An example of a data flow architecture is MIT's VAL machine.

data flow analysis
programming A process to discover the dependencies between different data items manipulated by a program. The order of execution in a data driven language is determined solely by the data dependencies. For example, given the equations
1. X = A + B 2. B = 2 + 2 3. A = 3 + 4
a data-flow analysis would find that 2 and 3 must be evaluated before 1. Since there are no data dependencies between 2 and 3, they may be evaluated in any order, including in parallel.
This technique is implemented in hardware in some pipelined processors with multiple functional units. It allows instructions to be executed as soon as their inputs are available, independent of the original program order.
(1996-05-13)

Data Flow Diagram
A graphical notation used to describe how data flows between processes in a system. An important tool of most structured analysis techniques.

data fork
file system See Macintosh file system.
(1996-03-04)

data frame
activation record

Data General
company A US computer manufacturer. Responsible for the Nova minicomputer.
Quarterly sales $284M, profits -$12M (Aug 1994).
(1994-09-26)

Data General mN601
Data General MicroNova 601

data glove
hardware, virtual reality An input device for virtual reality in the form of a glove which measures the movements of the wearer's fingers and transmits them to the computer. Sophisticated data gloves also measure movement of the wrist and elbow. A data glove may also contain control buttons or act as an output device, e.g. vibrating under control of the computer. The user usually sees a virtual image of the data glove and can point or grip and push objects.
Examples are Fifth Dimension Technologies (5DT)'s 5th Glove, and Virtual Technologies' CyberGlove. A cheaper alternative is InWorld VR's CyberWand.
[ Full freedom plus input , PC Magazine, Mar 14 1995, pp. 168-190].
[Inventor?]
(1995-04-04)

datagram
A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network.
See also connectionless, frame, packet.

data hierarchy
The system of data objects which provide the methods for information storage and retrieval. Broadly, a data hierarchy may be considered to be either natural, which arises from the alphabet or syntax of the language in which the information is expressed, or machine, which reflects the facilities of the computer, both hardware and software.
A natural data hierarchy might consist of bits, characters, words, phrases, sentences, paragraphs, and chapters. One might use components bound to an application, such as field, record, and file, and these would ordinarily be further specified by having data descriptors such as name field, address field, etc. On the other hand, a machine or software system might use bit, byte, word, block, partition, channel, and port.
Programming languages often provide types or objects which can create data hierarchies of arbitrary complexity, thus allowing software system designers to model language structures described by the linguist to greater or lesser degree.
The distinction between the natural form of data and the facilities provided by the machine may be obscure, because users force their needs into the molds provided, and programmers change machine designs. As an example, the natural data type character and the machine type byte are often used interchangably, because the latter has evolved to meet the need of representing the former.
(1995-11-03)

Data Interchange Standards Association
standard (DISA) A not-for-profit corporation that acts as the secretariat for ANSI's EDI standards committee, ASC X12 that works on ANSI X12. DISA manages ASC X12's membership, balloting, standards development and maintenance, publications, and communications with ANSI.
(1999-09-18)

Data Jack
hardware A wall-mounted or desk-mounted connector (frequently a wide telephone-style 8-pin RJ-45) for connecting to data cabling in a building.
(1997-01-07)

Datakit
networking A circuit-switched digital network, similar to X.25. Datakit supports host-to-host connections and EIA-232 connections for terminals, printers, and hosts.
Most of Bell Laboratories is trunked together on Datakit. On top of DK transport service, people run UUCP for electronic mail and dkcu for remote login.
ISN is the version of Datakit supported by AT T Information Systems. Bell Laboratories in Holmdel, New Jersey, uses ISN for internal data communication.
(http://www.fc.net:80/phrack/files/p18/p18-9.html).
[ Towards a universal data transport system , A. G. Fraser, IEEE Journal on Selected Areas in Communications, SAC-1(5) pp. 803-16, 1983].
(1996-10-20)

Data Link Connection Identifier
networking (DLCI) A channel number which is attached to data frames to tell a Frame Relay network how to route the data. In Frame Relay, multiple logical channels are multiplexed over a single physical channel. The DLCI says which of these logical channels a particular data frame belongs to.
(http://www.etinc.com/frmain.htm#whatsadlci).
(2000-02-13)

data link layer
networking Layer two, the second lowest layer in the OSI seven layer model. The data link layer splits data into frames (see fragmentation) for sending on the physical layer and receives acknowledgement frames. It performs error checking and re-transmits frames not received correctly. It provides an error-free virtual channel to the the network layer. The data link layer is split into an upper sublayer, Logical Link Control (LLC), and a lower sublayer, Media Access Control (MAC).
Example protocols at this layer are ABP, Go Back N, SRP.
(1995-02-14)

data link level
data link layer

Data Link Provider Interface
networking (DLPI) The interface that a network driver presents to the (higher level) logical link layer for driving the network at the datagram level in a Unix STREAMS environment and possibly elsewhere.
DLPI corresponds to ISO 8802/2 (LLC) which covers both connection-oriented and connectionless protocols.
[Is this correct? Better explanation?]
(1996-01-29)

Data Management Language
language (DML)
1. Any language for manipulating data or files, e.g. IBM's Distributed Data Management (DDM).
2. An early ALGOL-like language with lists and graphics, that ran on the Honeywell 635.
[ DML: A Data Management Language , D.W. Bray et al, GE, Syracuse NY].
(1999-06-07)

Data Manipulation Language
language, database (DML, or Data Management Language) A language for the manipulation of data in a database by applications and/or directly by end-users.
SQL contains DML commands such as INSERT, UPDATE, and DELETE.
See also Data Definition Language (DDL).
(1999-04-26)

data mart
database A type of data warehouse designed primarily to address a specific function or department's needs, as opposed to a data warehouse which is traditionally meant to address the needs of the organisation from an enterprise perspective. In addition, a data mart often uses aggregation or summarisation of the data to enhance query performance. However, it is important to maintain the ability to access the underlying base data to enable drill-down analysis as necessary.
(1998-04-24)

Datamation
/day t*-may sh*n/ A magazine that many hackers assume all suits read. Used to question an unbelieved quote, as in Did you read that in Datamation? It used to publish something hackishly funny every once in a while, like the original paper on COME FROM in 1973, and Ed Post's Real Programmers Don't Use Pascal ten years later, but it has since become much more exclusively suit-oriented and boring.
[Jargon File]

data mining
database Analysis of data in a database using tools which look for trends or anomalies without knowledge of the meaning of the data. Data mining was invented by IBM who hold some related patents.
Data mining may well be done on a data warehouse.
ShowCase STRATEGY (http://www.showcasecorp.com/) is an example of a data mining tool.
(2001-02-08)

data model
database The product of the database design process which aims to to identify and organize the required data logically and physically.
A data model says what information is to be contained in a database, how the information will be used, and how the items in the database will be related to each other.
For example, a data model might specify that a customer is represented by a customer name and credit card number and a product as a product code and price, and that there is a one-to-many relation between a customer and a product.
It can be difficult to change a database layout once code has been written and data inserted. A well thought-out data model reduces the need for such changes. Data modelling enhances application maintainability and future systems may re-use parts of existing models, which should lower development costs.
A data modelling language is a mathematical formalism with a notation for describing data structures and a set of operations used to manipulate and validate that data.
One of the most widely used methods for developing data models is the entity-relationship model. The relational model is the most widely used type of data model. Another example is NIAM.
[ Principles of Database and Knowledge-Base Systems , J.D. Ullman, Volume I, Computer Science Press, 1988, p. 32].
(2000-06-24)

data modeling
spelling US spelling of data modelling .
(2000-06-24)

data modelling
data model

Data Over Cable Service Interface Specification
communications, networking ITU-approved interface requirements for cable modems involved in high-speed data distribution over a cable television network. DOCSIS compatible equipment uses a 6 MHz carrier band for downstream, using 64 and 256 QAM (ITU Annex B), and QPSK and 16 QAM for upstream, allowing up to 36 and 10 Mb/s, respectively for downstream and upstream channels.
CableLabs FAQ (http://www.cablemodem.com/FAQs.html).
(2001-07-10)

Data Over Cable Systems Interface Specifications
Data Over Cable Service Interface Specification

data packet
packet

Dataparallel-C
language, parallel C with parallel extensions by Hatcher and Quinn of the University of New Hampshire. Dataparallel-C was based on an early version of C* and runs on the Intel iPSC-2 and nCube.

Data Parallel Haskell
language, parallel Adds Parallel Objects with arbitrary Dimension (PODs) and POD comprehensions to Haskell.
(ftp://redstar.dcs.qmw.ac.uk/cpc/jon_hill/dpGlue.ps.Z)
[ Data Parallel Haskell: Mixing Old and New Glue , J. Hill].
(1995-03-30)

data path
architecture A CPU's internal data bus and functional units. The width of the data path in bits is a major determiner of the processor's performance.
(1997-07-09)

Dataphone Digital Service
communications, product (DDS) The first private-line digital service offered by AT T, with data rates typically at 2.4, 4.8, 9.6 and 56 kilobits per second. DDS is now part of AT T's Accunet family of services. Most LEC (local exchange carriers) and IXC (IntereXchange Carriers) offer similar services.
(1995-02-28)

data processing
application The input, verification, organisation, storage, retrieval, transformation, and extraction of information from data. The term is normally associated with commercial applications such as stock control or payroll.
(1995-03-30)

data rate
communications, unit (Or data ransfer rate , transmission rate ) The amount of data transferred per second by a communications channel or a computing or storage device.
Data rate is measured in units of bits per second (written b/s or bps ), bytes per second (Bps), or baud.
When applied to data rate, the multiplier prefixes kilo- , mega- , giga- , etc. (and their abbreviations, k , M , G , etc.) always denote powers of 1000. For example, 64 kbps is 64,000 bits per second. This contrasts with units of storage where they stand for powers of 1024, e.g. 1 KB = 1024 bytes.
(2002-03-23)

data service unit
communications (DSU or data service unit ) A device used in digital transmission for connecting a CSU (Channel Service Unit) to Data Terminal Equipment (a terminal or computer), in the same way that a modem is used for connection to an analogue medium.
A DSU provides a standard interface to a user's terminal which is compatible with modems and handles such functions as signal translation, regeneration, reformatting, and timing. The transmitting portion of the DSU processeses the customers' signal into bipolar pulses suitable for transmission over the digital facility. The receiving portion of the DSU is used both to extract timing information and to regenerate mark and space information from the received bipolar signal.
(1995-01-30)

data set
operating system, storage An IBM term for a file.
(1997-04-15)

data set organization
operating system, storage An IBM term for the way a file is structured. Examples are partitioned, sequential or VSAM.
(1997-04-15)

Datastorm Technologies, Inc.
company Suppliers of Procomm.
Address: Columbia MO, USA.
(1995-04-04)

data striping
storage Segmentation of logically sequential data, such as a single file, so that segments can be written to multiple physical devices (usually disk drives) in a round-robin fashion. This technique is useful if the processor is capable of reading or writing data faster than a single disk can supply or accept it. While data is being transferred from the first disk, the second disk can locate the next segment.
Data striping is used in some modern databases, such as Sybase, and in certain RAID devices under hardware control, such as IBM's RAMAC array subsystem (9304/9395).
Data striping is different from, and may be used in conjunction with, mirroring.
(1996-10-17)

Data Structures Language
language A dialect of MAD with extensions for lists and graphics, on Philco 212.
[ A Compiler Language for Data Structures , N. Laurance, Proc ACM 23rd Natl Conf 36 (1968)].
(1995-02-28)

Data Terminal Equipment
communications, hardware (DTE) A device which acts as the source and/or destination of data and which controls the communication channel. DTE includes terminals, computers, protocol converters, and multiplexors.
DTE is usually connected via an EIA-232 serial line to Data Communication Equipment (DCE), typically a modem. It is necessary to distinguish these two types of device because their connectors must be wired differently if a straight-through cable (pin 1 to pin 1, pin 2 to pin 2 etc.) is to be used. DTE should have a male connector and should transmit on pin three and receive on pin two. It is a curious fact that many modems are actually DTE according to the original standard.
(1995-02-28)

Data Terminal Ready
communications (DTR) The wire in a full RS-232 connection that tells the Data Communication Equipment (DCE, typically a modem) that the Data Terminal Equipment (DTE, typically a computer or terminal) is ready to transmit and receive data.
(2000-04-05)

DATA-TEXT
tool A system from Harvard for numerical computations in the Social Sciences.
[ DATA-TEXT Primer , D.J. Armor, Free Press 1972].
(1994-12-06)

data transfer rate
communications (Or throughput ) The ammount of data transferred in one direction over a link divided by the time taken to transfer it, usually expressed in bits or bytes per second.
Where data transfer is not continuous throughout the given time interval, the data transfer rate is thus an average rate that will be lower than the peak rate. The peak or maximum possible rate may itself be lower than the capacity of the communication channel used if the channel is shared, or part of the signal is not considered as data, e.g. checksum or routing information.
The other important characteristic of a channel is its latency.
[Is this correct?]
(2001-05-22)

DATATRIEVE
A query and report system for use with DEC's VMS system (RMS, VAX Rdb/VMS or VAX DBMS).

data type
type

DataViews
Graphical user interface development software from V.I.Corporation, aimed at constructing platform-independent interactive views of dynamic data.
(1994-12-07)

DataVis
A dataflow language for scientific visualisation.
[ Data Flow Visual Programming Languages , D. Hils, J Vis Langs and Comput, Dec 1991].
(1994-12-06)

data warehouse
database 1. A generic term for a system for storing, retrieving and managing large amounts of any type of data. Data warehouse software often includes sophisticated compression and hashing techniques for fast searches, as well as advanced filtering.
2. A database, often remote, containing recent snapshots of corporate data. Planners and researchers can use this database freely without worrying about slowing down day-to-day operations of the production database.
Compare data mart.
(1998-04-30)

data warehousing
data warehouse

date
convention, data A string unique to a time duration of 24 hours between 2 successive midnights defined by the local time zone. The specific representation of a date will depend on which calendar convention is in force; e.g., Gregorian, Islamic, Japanese, Chinese, Hebrew etc. as well as local ordering conventions such as UK: day/month/year, US: month/day/year.
Inputting and outputting dates on computers is greatly complicated by these localisation issues which is why they tend to operate on dates internally in some unified form such as seconds past midnight at the start of the first of January 1970.
Many software and hardware representations of dates allow only two digits for the year, leading to the year 2000 problem.
Unix manual page: date(1), ctime(3).
(1997-07-11)

DAU
/dow/ [German Fidonet] D ummster Anzunehmender User. A German acronym for stupidest imaginable user. From the engineering-slang GAU for Gr osster Anzunehmender Unfall (worst foreseeable accident), especially of a LNG tank farm plant or something with similarly disastrous consequences. In popular German, GAU is used only to refer to worst-case nuclear accidents such as a core meltdown.
See cretin, loser and weasel.
[Jargon File]
(1994-12-06)

daughter
mathematics, data (Or child , successor ) In a tree, a node pointed to by a parent, i.e. another node closer to the root node.
(1998-11-14)

David Turner
person Professor David A Turner. One of the pioneers of functional languages. He designed several languages, including, SASL (1976), KRC (1981), and Miranda, many of which were implemented using combinators and the S-K reduction machine which he defined.
He coined the name ZF expression for the list comprehension.
He worked at UKC and set up a company, Research Software Limited to market Miranda.
(1994-12-06)

day mode
See phase (sense 1). Used of people only.
[Jargon File]

DAZIX
Daisy/Cadnetix Corporation.
A supplier of digital electronic CAE systems.
(1994-12-06)

DB
database

DB2
database A relational database from IBM.
When running under IBM's MVS (Multiple Virtual Storage) operating system, DB2 is implemented on top of VSAM and uses its underlying data structures.
DB2, later called DB2 Universal DataBase , also runs under windows NT, AIX, Solaris and, most recently, Linux.
[Details? Was there a DB1 ?]
(1999-02-01)

DB-25
hardware The standard 25-pin D-shell connector used for EIA-232 serial communication.
DE-9 is a common alternative.
(1996-12-08)

DBA
database administrator

dBASE
tool, product, language A DBMS from Ashton-Tate Corporation and the language used by it.
The first release was dBASE II, ca 1980. There never was a dBASE I . Later versions: dBASE III, dBASE III+, and dBASE IV.
Visual dBASE is a graphical development environment.
(1996-11-05)

DBC
language, parallel A data-parallel bit-serial C based on MPL. SRC, Bowie MD.
E-mail: maya@super.org .
(1995-05-01)

DBCS
character (IBM) double-byte character set.
A character set that uses 16 bits to represent a character.
(1995-03-21)

dBFAST
dBASE dialect for MS-DOS and MS-Windows.

DBH
Denis Howe

DBMS
database management system

DBPL
A procedural language with relational database constructs. A successor to Pascal/R and Modula/R.
[ DBPL Report , J.W. Schmidt et al, DBPL-Memo 111-88, Fachbereich Informatik, Johann Wolfgang Goethe-Universitaet, Frankfurt, Germany, 1988].
(1994-12-07)

DBRI
Dual Basic Rate Interface

dBXL
A dBASE-like interpreter/language for MS-DOS from WordTech, Orinda, CA.
(1994-12-07)

DC
language, tool The Unix arbitrary precision postfix calculator and its language.
Here is an example program which prints out factorials:
echo [la1+dsa*pla2220 y]sy0sa1lyx | dc
Unix manual page: dc(1).
bc provides a somewhat more readable syntax which is compiled into dc. There is also a GNU DC.
(1995-03-17)

DC1
control-Q

DC2
Device Control 2

DC3
Control-S

DC4
Device Control 4

DCA
1. Defense Communications Agency. See DISA.
2. Document Content Architecture from IBM.

DCALGOL
Data Communications ALGOL. A superset of Burroughs Extended ALGOL used for writing Message Control Systems.

DCC
1. audio Digital Compact Cassette.
2. networking Direct Client to Client Protocol.
(2001-12-02)

DCDL
Digital Control Design Language. A language for simulating computer systems.
[ DCDS Digital Simulating System , H. Potash et al, Proc FJCC 35, AFIPS (Fall 1969)].

DCE
1. Data Communication Equipment.
2. Data Circuit-terminating Equipment.
3. Distributed Computing Environment from OSF.

DCG
Definite Clause Grammar

DCI
Display Control Interface

DCL
1. DIGITAL Command Language. The interactive command and scripting language for VAX/VMS.
2. Delphi Common LISP. An implementation of Common LISP that has been used as a basis for CLOS.

DCOM
Distributed Component Object Model

DCP
definitional constraint programming

D. C. Power Lab
The former site of SAIL. This name was very funny because the obvious connection to electrical engineering was nonexistent - the lab was named after a Donald C. Power. Compare Marginal Hacks.
[But did DCP's parents realise the joke?]
[Jargon File]

DCS
Digital Cellular System

DCT
Discrete Cosine Transform

DD
1. storage double density.
2. Data Dictionary.
[Jargon File]
(1998-08-28)

dd
A Unix copy command with special options suitable for block-oriented devices; it was often used in heavy-handed system maintenance, as in Let's dd the root partition onto a tape, then use the boot PROM to load it back on to a new disk .
The Unix dd was designed with a weird, distinctly non-Unixy keyword option syntax reminiscent of IBM System/360 JCL (which had an elaborate DD Dataset Definition specification for I/O devices); though the command filled a need, the interface design was clearly a prank.
The jargon usage is now very rare outside Unix sites and now nearly obsolete even there, as dd has been deprecated for a long time (though it has no exact replacement). The term has been displaced by BLT or simple English copy .
[Jargon File]
(1995-02-03)

DDB
device independent bitmap

DDCMP
Digital Data Communications Message Protocol (DEC).

DDE
Dynamic Data Exchange

DDE Manager
An Oracle product that lets Microsoft Windows applications that support the Dynamic Data Exchange (DDE) protocol act as front end tools for Oracle. It allows applications like Excel, Word, Ami Professional, WingZ and ToolBook to query, update, graph and report information stored in Oracle.

DDIF
Digital Document Interchange Format. A CDA specification for representing compound documents in revisable format; a DEC standard for document encoding.

DDL
1. [ A Digital System Design Language (DDL) , J.R. Duley, IEEE Trans on Computers c-17(9), pp. 850-861, Sep 1968].
2. language, games An adventure language developed by M. Urban, C. Kostanick et al of the UCLA Computer Club. DDL was the the forerunner of ADL.
3. Data Definition Language.
4. Document Description Language.
5. Dynamic Data Exchange. (Originally Linking ).
(1997-06-05)

DDM
1. protocol, database Distributed Data Management.
2. language Data Driven Machine.
(1999-06-07)

DDN
Defense Data Network

DDO
Dynamic Drive Overlay

DDP
Distributed Data Processing

DDR-RAM
Double Data Rate Random Access Memory

DDR-SDRAM
Double Data Rate Random Access Memory

DDS
1. Digital Data Service.
2. Digital Data System.
3. Dataphone Digital Service.

DDT
1. Generic term for a program that assists in debugging other programs by showing individual machine instructions in a readable symbolic form and letting the user change them. In this sense the term DDT is now archaic, having been widely displaced by debugger or names of individual programs like adb , sdb , dbx , or gdb .
2. Under MIT's fabled ITS operating system, DDT (running under the alias HACTRN) was also used as the shell or top level command language used to execute other programs.
3. Any one of several specific debuggers supported on early DEC hardware. The DEC PDP-10 Reference Handbook (1969) contained a footnote on the first page of the documentation for DDT that illuminates the origin of the term:
Historical footnote: DDT was developed at MIT for the PDP-1 computer in 1961. At that time DDT stood for DEC Debugging Tape . Since then, the idea of an on-line debugging program has propagated throughout the computer industry. DDT programs are now available for all DEC computers. Since media other than tape are now frequently used, the more descriptive name Dynamic Debugging Technique has been adopted, retaining the DDT abbreviation. Confusion between DDT-10 and another well known pesticide, dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal since each attacks a different, and apparently mutually exclusive, class of bugs.
(The tape referred to was, incidentally, not magnetic but paper.) Sadly, this quotation was removed from later editions of the handbook after the suits took over and DEC became much more businesslike .
The history above is known to many old-time hackers. But there's more: Peter Samson, compiler of the original TMRC lexicon, reports that he named DDT after a similar tool on the TX-0 computer, the direct ancestor of the PDP-1 built at MIT's Lincoln Lab in 1957. The debugger on that ground-breaking machine (the first transistorised computer) rejoiced in the name FLIT (FLexowriter Interrogation Tape).
[Jargon File]

de
networking The country code for Germany.
(1999-01-27)

DE-9
hardware The standard 9-pin D-shell connector used for EIA-232 serial communication. DE-9 is a common alternative to DB-25, especially on personal computers.
(1999-12-08)

DEA
Data Encryption Algorithm

DEACON
Direct English Access and CONtrol. English-like query system. Sammet 1969, p.668.

dead
1. Non-functional; down; crashed. Especially used of hardware.
2. At XEROX PARC, software that is working but not undergoing continued development and support.
[Jargon File]

DEADBEEF
convention, storage /ded-beef/ The hexadecimal pattern used to fill words of freshly allocated memory under a number of IBM environments including the RS/6000; equal to decimal 3,735,928,559 (unsigned) or -559,038,737 (32-bit signed). As in Your program is DEADBEEF (meaning gone, aborted, flushed from memory).
(1998-06-29)

dead code
programming (Or infeasible path , grunge ) Any part of a program that can never be accessed because all calls to it have been removed, or because it is guarded by a control structure that provably must always transfer control somewhere else. The presence of dead code may reveal either logical errors due to alterations in the program or significant changes in the assumptions and environment of the program (see also software rot); a good compiler should report dead code so a maintainer can think about what it means. Sometimes it simply means that an *extremely* defensive programmer has inserted can't happen tests which really can't happen - yet.
Synonym grunge.
[Jargon File]
(1996-05-22)

deadlock
parallel, programming A situation where two or more processes are unable to proceed because each is waiting for one of the others to do something.
A common example is a program waiting for output from a server while the server is waiting for more input from the controlling program before outputting anything. It is reported that this particular flavour of deadlock is sometimes called a starvation deadlock , though the term starvation is more properly used for situations where a program can never run simply because it never gets high enough priority.
Another common flavour is constipation , in which each process is trying to send stuff to the other but all buffers are full because nobody is reading anything). See deadly embrace.
Another example, common in database programming, is two processes that are sharing some resource (e.g. read access to a table) but then both decide to wait for exclusive (e.g. write) access.
The term deadly embrace is mostly synonymous, though usually used only when exactly two processes are involved. This is the more popular term in Europe, while deadlock predominates in the United States.
Compare: livelock. See also safety property, liveness property.
[Jargon File]
(2000-07-26)

deadly embrace
deadlock

dead tree
publication, jargon Paper.
Use of this term emphasises the waste of natural resources and limited features available from the printed form of a document compared with an electronic rendition.
E.g. I read the dead tree edition of the Guardian (http://www.guardian.co.uk/) on the train .
See also tree-killer.
(1999-11-03)

dead tree edition
dead tree

deamon
spelling It's spelled daemon .
(1996-12-13)

death code
A routine whose job is to set everything in the computer - registers, memory, flags - to zero, including that portion of memory where it is running; its last act is to stomp on its own store zero instruction. Death code isn't very useful, but writing it is an interesting hacking challenge on architectures where the instruction set makes it possible, such as the PDP-8 or the Data General Nova.
Perhaps the ultimate death code is on the TI 990 series, where all registers are actually in RAM, and the instruction store immediate 0 has the opcode 0. The program counter will immediately wrap around core as many times as it can until a user hits HALT. Any empty memory location is death code. Worse, the manufacturer recommended use of this instruction in startup code (which would be in ROM and therefore survive).
[Jargon File]

Death Star
[ Star Wars film] 1. The AT T corporate logo, which appears on computers sold by AT T and bears an uncanny resemblance to the Death Star in the movie. This usage is particularly common among partisans of BSD Unix, who tend to regard the AT T versions as inferior and AT T as a bad guy. Copies still circulate of a poster printed by Mt. Xinu showing a starscape with a space fighter labelled 4.2BSD streaking away from a broken AT T logo wreathed in flames.
2. AT T's internal magazine, Focus , uses death star to describe an incorrectly done AT T logo in which the inner circle in the top left is dark instead of light - a frequent result of dark-on-light logo images.

deb
filename extension, Debian The filename extension for a Debian binary package.
(2001-01-27)

Debbugs
programming The bug tracking system used by the Debian Project. Each bug is given a number, and is kept on file until it is marked as having been dealt with. The system is mainly controlled by electronic mail, but the bug reports can be viewed via the World-Wide Web.
Debbugs home (http://www.debian.org/Bugs/).
(2002-06-12)

Debian
operating system /deb'ee`n/, *not* /deeb'ee`n/ The non-profit volunteer organisation responsible for Debian GNU/Linux and Debian GNU/Hurd. Debian's Linux distribution is dedicated to free and open source software; the main goal of the distribution is to ensure that one can download and install a fully-functional operating system that is completely adherent to the Debian Free Software Guidelines (DFSG).
Debian was begun in August 1993 by Ian Murdock, and was sponsored by the Free Software Foundation from November 1994 to November 1995. The name Debian is a contraction of DEB(ra) and IAN Murdock.
Debian's packaging system (dpkg) is similar to other popular packaging systems like RPM. There are over 2200 packages of precompiled software available in the main (free) section of the Debian 2.1 distribution alone -- this is what sets Debian apart from many other Linux distributions. The high quality and huge number of official packages (most Debian systems' /usr/local/ remains empty -- almost everything most Linux users want is officially packaged) are what draw many people to use Debian.
Another unique aspect to the Debian project is the open development; pre-releases are made available from Day 1 and if anyone wishes to become a Debian developer, all that is needed is proof of identification and a signed PGP or GPG key. There are over 400 Debian developers all around the world -- many developers have never met face-to-face, and most development talks take place on the many mailing lists and the IRC network.
Home (http://www.debian.org/).
Debian Linux archives (ftp://ftp.debian.org/debian).
(1999-02-23)

Debian GNU/Hurd
operating system A GNU distribution based on the Hurd kernel instead of the more well known Linux kernel.
[Reference?]
(2001-12-02)

Debian GNU/Linux
Debian

debianize
Debian To take a source package and make the necessary modifications to allow it to be built as a policy compliant Debian package.
(2000-05-31)

deboursification
jargon Removal of irrelevant newsgroups from the Newsgroups header of a followup. The term applies particularly to the removal of frivolous groups added by one of the Kooks.
See also: sneck.
[Sam Spade anti-spam software].
(1999-09-15)

De Bruijn graph
mathematics A class of graphs with elegant properties.
De Bruijn graphs are especially easy to use for routing, with shifting of source and destination addresses.
[What properties? How are they used in routing?]
(1998-04-28)

De Bruijn notation
A variation of lambda notation for specifying functions using numbers instead of names to refer to formal parameters. A reference to a formal parameter is a number which gives the number of lambdas (written as here) between the reference and the lambda which binds the parameter. E.g. the function f . x . f x would be written . . 1 0. The 0 refers to the innermost lambda, the 1 to the next etc. The chief advantage of this notation is that it avoids the possibility of name capture and removes the need for alpha conversion. [N.G. De Bruijn, Lambda Calculus Notation with Nameless Dummies: A Tool for Automatic Formula Manipulation, with Application to the Church-Rosser Theorem , Indag Math. 34, pp 381-392]

debugging
programming Attempting to determine the cause of the symptoms of malfunctions detected by testing or by frenzied user complaints.
The term is said to have been coined by Grace Hopper, based on the term bug .
(1999-06-29)

DEC
Digital Equipment Corporation

dec
programming /dek/ decrement, decrease by one. Especially used by assembly language programmers, as many assembly languages have a dec mnemonic.
Opposite: inc.
[Jargon File]

DEC Alpha
processor A RISC microprocessor from DEC. In November 1995, the Alpha was purportedly the fastest non-research chip used in commonly available workstations. It is superpipelined and superscalar. In February 1996 it was clocked at 200 MHz and in March 1998 at 666 MHz.
(1998-03-17)

decay
[Nuclear physics] An automatic conversion which is applied to most array-valued expressions in C; they decay into pointer-valued expressions pointing to the array's first element. This term is not used in the official standard for the language.
[Jargon File]

DECdesign
A software analysis and design tool from DEC supporting several methodologies. Now replaced by Teamwork.
(1994-09-05)

DECdns
Distributed Naming Service.
Adopted by OSF as the naming service for DCE.

DEChead
/dek'hed/ 1. A DEC field servoid. Not flattering.
2. [ deadhead ] A Grateful Dead fan working at DEC.
[Jargon File]

dechunker
chunker

decidability
mathematics A property of sets for which one can determine whether something is a member or not in a finite number of computational steps.
Decidability is an important concept in computability theory. A set (e.g. all numbers with a 5 in them ) is said to be decidable if I can write a program (usually for a Turing Machine) to determine whether a number is in the set and the program will always terminate with an answer YES or NO after a finite number of steps.
Most sets you can describe easily are decidable, but there are infinitely many sets so most sets are undecidable, assuming any finite limit on the size (number of instructions or number of states) of our programs. I.e. how ever big you allow your program to be there will always be sets which need a bigger program to decide membership.
One example of an undecidable set comes from the halting problem. It turns out that you can encode every program as a number: encode every symbol in the program as a number (001, 002, ...) and then string all the symbol codes together. Then you can create an undecidable set by defining it as the set of all numbers that represent a program that terminates in a finite number of steps.
A set can also be semi-decidable - there is an algorithm that is guaranteed to return YES if the number is in the set, but if the number is not in the set, it may either return NO or run for ever.
The halting problem's set described above is semi-decidable. You decode the given number and run the resulting program. If it terminates the answer is YES. If it never terminates, then neither will the decision algorithm.
(1995-01-13)

decidable
decidability

decimal point
character . ASCII character 46. Common names are: point; dot; ITU-T, USA: period; ITU-T: decimal point. Rare: radix point; UK: full stop; INTERCAL: spot.
(1995-03-14)

decision problem
theory A problem with a yes/no answer. Determining whether some potential solution to a question is actually a solution or not. E.g. Is 43669 a prime number? . This is in contrast to a search problem which must find a solution from scratch, e.g. What is the millionth prime number? .
See decidability.
(1996-05-03)

decision support
Software used to aid management decision making, typically relying on a decision support database.
[Examples?]
(1995-02-14)

decision support database
A database from which data is extracted and analysed statistically (but not modified) in order to inform business or other decisions. This is in contrast to an operational database which is being continuously updated.
For example, a decision support database might provide data to determine the average salary of different types of workers, whereas an operational database containing the same data would be used to calculate pay check amounts.
Often, decision support data is extracted from operation databases.
(1995-02-14)

Decision Support Systems
application, tool (DSS) Software tools to help with decision support.
(1995-02-14)

decision theory
probability A branch of statistics concerning strategies for decision making in non-deterministic systems. Decision theory seeks to find strategies that maximise the expected value of a utility function measuring the desirability of possible outcomes.
(1995-09-22)

deckle
/dek'l/ (From dec- and nibble ; the original spelling seems to have been decle ) Two nickles; 10 bits. Reported among developers for Mattel's GI 1600 (the Intellivision games processor), a chip with 16-bit wide RAM but 10-bit wide ROM.
[Jargon File]
(1994-11-23)

declarative language
A general term for a relational language or a functional language, as opposed to an imperative language. Imperative (or procedural) languages specify explicit sequences of steps to follow to produce a result, while declarative languages describe relationships between variables in terms of functions or inference rules and the language executor (interpreter or compiler) applies some fixed algorithm to these relations to produce a result. The most common examples of declarative languages are logic programming languages such as Prolog and functional languages like Haskell.
See also production system.
(1994-11-23)

DECmate
DEC's original competition for the IBM PC. It used the Intersil 6120 microprocessor.
(1994-11-23)

DECnet
A proprietary network protocol designed by Digital Equipment Corporation. The functionality of each Phase of the implementation, such as Phase IV and Phase V, is different.

Decomposed Petri Net
(DPN) The basis of concurrency in ConC.

decompress
compression, data To reverse the effects of data compression.
(2001-01-30)

decryption
cryptography Any procedure used in cryptography to convert ciphertext (encrypted data) into plaintext.
(1995-05-10)

DECstation
computer A range of RISC based workstations manufactured by DEC.
[Details?]
(1997-04-29)

DECT
Digital Enhanced Cordless Telecommunications

DECtape
hardware, storage A reel of magnetic tape about 4 inches in diameter and one inch wide. Unlike today's macrotapes, microtape drivers allowed random access to the data, and therefore could be used to support file systems and even for swapping (this was generally done purely for hack value, as they were far too slow for practical use). DECtape was a variant on LINCtape.
In their heyday DECtapes were used in pretty much the same ways one would now use a floppy disk: as a small, portable way to save and transport files and programs.
(1995-03-16)

DECUS
Digital Equipment Computer Users Society

Decus cpp
An almost-ANSI C preprocessor by Martin Minow. It is shipped with X11R5 (contrib/util/cpp) because some systems don't have a working cpp.
It runs on VMS (Vax C, Decus C), RSX-11M, RSTS/E, P/OS, RT11, A/UX and Apollo Domain/IX 9.6 and is highly portable.
(1994-11-03)

DEC Wars
A 1983 Usenet posting by Alan Hastings and Steve Tarr spoofing the Star Wars movies in hackish terms. Some years later, ESR (disappointed by Hastings and Tarr's failure to exploit a great premise more thoroughly) posted a 3-times-longer complete rewrite called Unix WARS ; the two are often confused.
[Jargon File]

DECwindows
DEC's windowing environment based on the X Window System.

DECwrite
DEC's CDA-based, WYSIWYG document processing application. It can generate and import SGML marked-up documents.

DED
Dark-Emitting Diode (that is, a burned-out LED). Compare SED, LER, write-only memory. In the early 1970s both Signetics and Texas instruments released DED spec sheets as AFJs (suggested uses included as a power-off indicator ).
[Jargon File]

dedicated line
communications A telephone line leased expressly for the purpose of connecting two users more-or-less permenantly.. Such lines may be voice grade which provides the bandwidth and signal to noise ratio of ordinary public switched telephone network circuits, or specified in ways which allow transport of suitably encoded digital signals at faster rates.
In some cases, lines may be physical wires between the communicating parties. Over longer distances, it is common for the connection to be virtual, which means that although the two users can communicate only with each other, their signals and others are multiplexed, amplified, switched, scrambled, demultiplexed and so on in complex ways between the end points.
This contrasts with a dial-up connection which is only opened when one end requires it.
(1996-08-10)

deductive database
database A combination of a conventional database containing facts, a knowledge base containing rules, and an inference engine which allows the derivation of information implied by the facts and rules.
Commonly, the knowledge base is expressed in a subset of first-order logic and either a SLDNF or Datalog inference engine is used.
(1995-04-27)

deductive tableau
tool A theorem proof system consisting of a table whose rows contain assertions or goals. Variables in assertions are implicitly universally quantified and variables in goals are implicitly existentially quantified. The declarative meaning of a tableau is that if every instance of every assertion is true then some instance of at least one of the goals is true.
(1994-12-07)

Deep Blue
computer A super computer developed by researchers at IBM to explore the use of parallel processing to solve complex computing problems. It is known as the first computer to beat the current chess World Grand Master.
Deep Blue started it's life as a PhD project at Carnegie Mellon University by PhD students Feng-hsiung Hsu and Murray Campbell. Chiptest, as it was known then, consisted of a custom designed chip hosted in a Sun 3/160 computer.
The project moved over to IBM in 1989 when Hsu and Campbell joined IBM. Deep Thought, as it was known by then, played for the first time against Garry Kasparov in the same year. The game of two matches was easily won by Kasparov.
The next match against Kasparov took place in February 1996. By then the machine was again renamed, at that time it was known as Deep Blue. It was also heavily re-engineered: it was by then running on a 32-node RS/6000 cluster, each containing 8 custom designed chips. Alas, Kasparov won again.
The breakthrough finally happened in February 1997: with both the algorithm and the raw speed significantly improved, Deep Blue beat Kasparov 3.5:2.5.
HOME (http://www.chess.ibm.com).
(1997-06-16)

deep hack mode
See hack mode.
[Jargon File]

deep magic
[possibly from C. S. Lewis's Narnia books] An awesomely arcane technique central to a program or system, especially one neither generally published nor available to hackers at large (compare black art); one that could only have been composed by a true wizard. Compiler optimisation techniques and many aspects of OS design used to be deep magic; many techniques in cryptography, signal processing, graphics, and AI still are. Compare heavy wizardry. Especially found in comments of the form Deep magic begins here. . Compare voodoo programming.

deep space
1. The notional location of any program that has gone off the trolley. Especially used of programs that just sit there silently grinding long after either failure or some output is expected. Uh oh. I should have had a prompt ten seconds ago. The program's in deep space somewhere. Compare buzz, catatonic, hyperspace.
2. The metaphorical location of a human so dazed and/or confused or caught up in some esoteric form of bogosity that he or she no longer responds coherently to normal communication.
[Jargon File]

de facto standard
A widespread consensus on a particular product or protocol which has not been ratified by any official standards body, such as ISO, but which nevertheless has a large market share.
The archetypal example of a de facto standard is the IBM PC which, despite is many glaring technical deficiencies, has gained such a large share of the personal computer market that it is now popular simply because it is popular and therefore enjoys fierce competition in pricing and software development.
(1994-10-27)

default route
networking A routing table entry which is used to direct packets addressed to hosts or networks not explicitly listed in the routing table.
(1996-05-13)

defect
bug

defect analysis
programming Using defects as data for continuous quality improvement. Defect analysis generally seeks to classify defects into categories and identify possible causes in order to direct process improvement efforts.
(1996-05-13)

defect density
programming The ratio of the number of defects to program length.
(1996-05-13)

Defense Advanced Research Project Agency
Defense Advanced Research Projects Agency

Defense Advanced Research Projects Agency
body (DARPA, ARPA) An agency of the US Department of Defense responsible for the development of new technology for use by the military. DARPA was established in 1958 in response to the Soviet launching of Sputnik, with the mission of keeping the US's military technology ahead of its enemies. DARPA is independent from other more conventional military R D and reports directly to senior DoD management. DARPA has around 240 personnel (about 140 technical) directly managing a $2 billion budget. These figures are on average since DARPA focusses on short (two to four-year) projects run by small, purpose-built teams.
ARPA was its original name, then it was renamed DARPA (for Defense) in 1972, then back to ARPA [When?], and then, incredibly, back to DARPA again on 1996-03-11!
ARPA was responsible for funding development of ARPANET (which grew into the Internet), as well as the Berkeley version of Unix and TCP/IP.
Home (http://www.darpa.mil/).
History (http://www.foldoc.org/pub/darpa).
(1999-07-17)

Defense Communications Agency
(DCA) Now called Defense Information Systems Agency (DISA).

Defense Data Network
(DDN) A global communications network serving the US Department of Defense. Composed of MILNET, other portions of the Internet, and classified networks which are not part of the Internet. The DDN is used to connect military installations and is managed by the Defense Information Systems Agency.
(1994-12-01)

Defense Data Network Network Information Center
(DDN NIC or just The NIC ) The DDN NIC's primary responsibility is the assignment of Internet addresses and Autonomous System numbers, the administration of the root domain, and providing information and support services to the DDN. It is also a primary repository for RFCs.
See also Internet Registry.
(1994-12-07)

Defense Information Systems Agency
(DISA) Formerly called the Defense Communications Agency (DCA), this is the government agency responsible for managing the Defense Data Network (DDN) portion of the Internet, including the MILNET. Currently, DISA administers the DDN, and supports the user assistance services of the DDN NIC.
Home (http://www.disa.mil/)
(1994-12-01)

Defense Trade Regulations
legal The U.S. law governening munitions export and defense technology (F-16s, TOW missiles and cryptology). According to the U.S. (and Canada) cryptography is a munition and people who export it can be charged as though they were exporting bombs or state secrets. People have been.
See also EFF.
(1995-06-19)

deferral
Waiting for quiet on the Ethernet.

definite clause
logic A Horn clause that has exactly one positive literal.
(2000-01-24)

definite sentence
A collection of definite clauses.

definitional constraint programming
language (DCP) A declarative, programming paradigm which integrates concurrent constraint programming, constraint logic programming and functional programming. In this setting a concurrent constraint language becomes a coordination system that organises the concurrent interaction of parallel functional computations. The language is also a generalisation of parallel functional programming languages, such as Id, where constraints and constraint abstractions are reused to define new constraints, as the means of programming logical variables for parallel coordination.
Goffin is a DCP language.
(1995-03-28)

deflate
file format, compression A compression standard derived from LZ77; it is reportedly used in zip, gzip, PKZIP, and png, among others.
Unlike LZW, deflate compression does not use patented compression algorithms.
Used as a verb to mean to compress (not decompress!) a file which has been compressed using deflate compression. The opposite, inflate, means to decompress data which has been deflated.
Deflate is described in RFC 1951.
(1997-06-21)

deflate compression
deflate

deflate/inflate compression
deflate

deforestation
programming A technique invented by Phil Wadler for eliminating intermediate data structures built and passed between composed functions in function languages.
(1997-06-21)

defrag
defragment

defragment
tool, file system /dee-frag(-ment)'/ (Or defrag ) To coalesce files and free space on a file system.
As modern file systems are used and files are deleted and created, the total free space becomes split into smaller non-contiguous blocks (composed of clusters or sectors or some other unit of allocation). Eventually new files being created, and old files being extended, cannot be stored each in a single contiguous block but become scattered across the file system. This degrades performance as multiple seek operations are required to access a single fragmented file.
Defragmenting consolidates each existing file and the free space into a continuous group of sectors. Access speed will be improved due to reduced seeking.
The rate of fragmentation depends on the algorithm used to allocate space and the number and position of free sectors. A nearly-full file system will fragment more quickly.
MSDOS and Microsoft Windows use the simplest algorithm to allocate free clusters and so fragmentaton occurs quickly. A disk should be defragmented before fragmentation reaches 10%.
(1997-08-29)

defunct process
zombie process

degree
The degree (or valency) of a node in a graph is the number of edges joined to it.

degrees of freedom
robotics The number of independent parameters required to specify the position and orientation of an object. Often used to classify robot arms. For example, an arm with six degrees of freedom could reach any position close enough and could orient it's end effector (grip or tool etc.) at any angle about the three perpendicular axes.

dehose
/dee-hohz/ To clear a hosed condition.
[Jargon File]

DEK
Data Encryption Key

Delaunay triangulation
mathematics, graphics (After B. Delaunay) For a set S of points in the Euclidean plane, the unique triangulation DT(S) of S such that no point in S is inside the circumcircle of any triangle in DT(S). DT(S) is the dual of the voronoi diagram of S.

delayed control-transfer
SPARC, programming A technique used on the SPARC to reduce the effect of pipeline breaks by executing the instruction after a branch instruction (the delay instruction in the delay slot ). If there is no useful instruction which can be placed in the delay slot then the annul bit on the control transfer instruction can be set, preventing execution of the delay instruction (unless the control transfer is conditional and is taken).
Annulled branches are indicated in SPARC assembler language by appending ,A to the operation code. For example,
LOOP: ...
CMP %L0,10
BLE,A LOOP
ADD %L2, %L3, #L4
If the delay instruction is also a control transfer instruction then it gets more complicated. Both control transfer instructions are executed (but not the following instruction) and, assuming they are both taken, control is transferred briefly to the destination of the first and then immediately to the destination of the second.
(2001-06-26)

delay instruction
delayed control-transfer

delay slot
delayed control-transfer

delete
1. operating system (Or erase ) To make a file inaccessible.
Usually this operation only deletes information from the tables the file system uses to locate named files; the file's contents still exist on disk and can sometimes be recovered by scanning the whole disk for strings which are known to have been in the file. Files created subsequently on the same disk are quite likely to reuse the same blocks and thus overwrite the deleted file's data permanently.
2. character The control character with ASCII code 127. Usually entering this character from the keyboard deletes the last character typed from the input buffer. Sadly there is great confusion between operating systems and keyboard manufacturers as to whether this function should be assigned to the delete or backspace key/character.
The choice of code 127 (binary 1111111) is not arbitrary but dates back to the use of paper tape for input. The delete key rewound the tape by one character and punched out all seven holes, thus obliterating whatever character was there before. The tape reading software ignored any delete characters in the input.
(1996-12-01)

delimiter
character A character or string used to separate, or mark the start and end of, items of data in, e.g., a database, source code, or text file.
See also: record.
(2001-03-16)

delint
/dee-lint/ To modify code to remove problems detected when linting. Confusingly, this process is also referred to as linting code.
[Jargon File]

Delirium
An embedding coordinate language for parallel programming, implemented on Sequent Symmetry, Cray, BBN Butterfly.
[ Parallel Programming with Coordination Structures , S. Lucco et al, 18th POPL, pp.197-208 (1991)].

Delivered Source Instruction
programming, unit (DSI) One line of source code (LOC) developed by a project.
DSI is the primary input to many tools for estimating software cost. The term delivered is generally meant to exclude non-delivered support software such as test drivers. However, if these are developed with the same care as delivered software, with their own reviews, test plans, documentation, etc., then they should be counted. The source instructions include all program instructions created by project personnel and processed into machine code by some combination of preprocessors, compilers, and assemblers. It excludes comments and unmodified utility software. It includes job control language, format statements, and data declarations.
(1996-05-29)

Dell Computer Corporation
company One of the biggest US manufacturers of IBM PC compatibles.
From notebooks to networks , their slogan says.
Home (http://www.us.dell.com).
(1996-05-29)

Delphi
1. company, communications A US Internet service provider.
[Addresses?]
(1995-04-06)
2. language Borland's Object Oriented Pascal (OOPascal) Rapid Application Development package for Microsoft Windows. Delphi combines visual, component-based design with an optimising native code compiler and scalable database access.
(1996-05-27)

Delphi Technique
programming, tool A group forecasting technique, generally used for future events such as technological developments, that uses estimates from experts and feedback summaries of these estimates for additional estimates by these experts until reasonable consensus occurs. It has been used in various software cost-estimating activities, including estimation of factors influencing software costs.
(1996-05-29)

Delta
language
1. An expression-based language developed by J.C. Cleaveland in 1978.
2. A string-processing language with single-character commands from Tandem Computers.
3. A language for system specification of simulation execution.
[ System Description and the DELTA Language , E. Holback-Hansen et al, DELTA Proj Rep 4, Norweg Comput Ctr, Feb 1977].
4. A COBOL generating language produced by Delta Software Entwicklung GmbH (http://www.delta-software.de/).
(2000-08-02)

delta
1. A quantitative change, especially a small or incremental one (this use is general in physics and engineering). I just doubled the speed of my program! What was the delta on program size? About 30 percent. (He doubled the speed of his program, but increased its size by only 30 percent.)
2. [Unix] A diff, especially a diff stored under the set of version-control tools called SCCS (Source Code Control System) or RCS (Revision Control System). See change management.
3. A small quantity, but not as small as epsilon. The jargon usage of delta and epsilon stems from the traditional use of these letters in mathematics for very small numerical quantities, particularly in epsilon-delta proofs in limit theory (as in the differential calculus). The term delta is often used, once epsilon has been mentioned, to mean a quantity that is slightly bigger than epsilon but still very small. The cost isn't epsilon, but it's delta means that the cost isn't totally negligible, but it is nevertheless very small. Common constructions include within delta of --- , within epsilon of --- : that is, close to and even closer to .
[Jargon File]
(2000-08-02)

Delta-4
Definition and Design of an open Dependable Distributed system architecture. An Esprit project investigating the achievement of dependability in open distributed systems, including real-time systems.

delta conversion
delta reduction

Delta-Prolog
A Prolog extension with AND-parallelism, don't-know nondeterminism and interprocess communication using synchronous event goals and distributed backtracking.
[ Delta-Prolog: A Distributed Logic Programming Language , L.M. Pereira et al, Intl Conf 5th Gen Comp Sys, Nov 1984].

delta reduction
theory In lambda-calculus extended with constants, delta reduction replaces a function applied to the required number of arguments (a redex) by a result. E.g. plus 2 3 -- 5. In contrast with beta reduction (the only kind of reduction in the pure lambda-calculus) the result is not formed simply by textual substitution of arguments into the body of a function. Instead, a delta redex is matched against the left hand side of all delta rules and is replaced by the right hand side of the (first) matching rule. There is notionally one delta rule for each possible combination of function and arguments. Where this implies an infinite number of rules, the result is usually defined by reference to some external system such as mathematical addition or the hardware operations of some computer. For other types, all rules can be given explicitly, for example Boolean negation:
not True = False not False = True
(1997-02-20)

DELTASE
A distributed processing environment concerned with fault-tolerant and process-control applications from the Esprit Delta-4 project.

demand driven
A demand driven architecture/language performs computations when the result is required by some other computation. E.g. Imperial College's ALICE running HOPE.
See also data flow, lazy evaluation, reduction.
(1995-02-16)

demand paged
demand paging

demand paging
memory management A kind of virtual memory where a page of memory will be paged in if an attempt is made to access it and it is not already present in main memory. This normally involves a memory management unit which looks up the virtual address in a page map to see if it is paged in. If it is not then the operating system will page it in, update the page map and restart the failed access. This implies that the processor must be able to recover from and restart a failed memory access or must be suspended while some other mechanism is used to perform the paging.
Paging in a page may first require some other page to be moved from main memory to disk ( paged out ) to make room. If this page has not been modified since it was paged in, it can simply be reused without writing it back to disk. This is determined from the modified or dirty flag bit in the page map. A replacement algorithm or policy is used to select the page to be paged out, often this is the least recently used (LRU) algorithm.
Prepaging is generally more efficient than demand paging.
(1998-04-24)

DeMarco
Tom DeMarco proposed a form of structured analysis.
(1995-02-16)

DeMarco/Yourdon
Yourdon/Demarco

demented
Yet another term of disgust used to describe a program. The connotation in this case is that the program works as designed, but the design is bad. Said, for example, of a program that generates large numbers of meaningless error messages, implying that it is on the brink of imminent collapse.
[Jargon File]
(1994-12-07)

Demeter
A CASE tool developed mainly by Karl Lieberherr.
[ Contributions to Teaching Object-Oriented Design and Programming Aug/Sep 1988 issue of JOOP, OOPSLA '89 Proceedings].
(1994-12-07)

demigod
person A hacker with years of experience, a national reputation, and a major role in the development of at least one design, tool, or game used by or known to more than half of the hacker community. To qualify as a genuine demigod, the person must recognisably identify with the hacker community and have helped shape it. Major demigods include Ken Thompson and Dennis Ritchie (co-inventors of Unix and C) and Richard Stallman (inventor of Emacs). In their hearts of hearts, most hackers dream of someday becoming demigods themselves, and more than one major software project has been driven to completion by the author's veiled hopes of apotheosis.
See also net.god, true-hacker.
[Jargon File]
(1994-10-27)

De-Militarised Zone
networking (DMZ) (From the military term for an area between two opponents where fighting is prevented) DMZ Ethernets connect networks and computers controlled by different bodies. They may be external or internal. External DMZ Ethernets link regional networks with routers to internal networks. Internal DMZ Ethernets link local nodes with routers to the regional networks.
Compare red zone.
(1995-02-23)

demo
/de'moh/ 1. A demonstration of a product, often of an early version or prototype. A demo is a far more effective way of inducing bugs to manifest themselves than any number of test runs, especially when important people are watching.
2. demo version.
3. A program written to demonstrate the programmer's coding ability and/or the power of the computer it runs on. Such demos are nearly always written in machine code and traditionally feature scrolling text about the author, his friends, his code and anything else he fancies and animated graphics.
[Jargon File]
(1994-11-04)

demodulate
demodulation

demodulation
communications To recover the signal from the carrier. For example, in a radio broadcast using amplitude modulation the audio signal is transmitted as the mean amplitude of a radio-frequency carrier so demodulation requires a circuit which measures the amplitude and filters out the carrier. There are many other kinds of modulation and corresponding demodulation.
(1998-07-29)

demo mode
(Sun) 1. The state of being heads down in order to finish code in time for a demo, usually due yesterday.
2. games (Or attract mode ) A mode in which video games sit by themselves running through a portion of the game. Some serious apps have a demo mode they use as a screen saver, or may go through a demo mode on startup (for example, the Microsoft Windows opening screen - which lets you impress your neighbors without actually having to put up with Microsloth Windows).
[Jargon File]
(1995-02-22)

demon
1. operating system (Often used equivalently to daemon, especially in the Unix world, where the latter spelling and pronunciation is considered mildly archaic). A program or part of a program which is not invoked explicitly, but that lies dormant waiting for some condition(s) to occur.
At MIT they use demon for part of a program and daemon for an operating system process.
Demons (parts of programs) are particularly common in AI programs. For example, a knowledge-manipulation program might implement inference rules as demons. Whenever a new piece of knowledge was added, various demons would activate (which demons depends on the particular piece of data) and would create additional pieces of knowledge by applying their respective inference rules to the original piece. These new pieces could in turn activate more demons as the inferences filtered down through chains of logic. Meanwhile, the main program could continue with whatever its primary task was. This is similar to the triggers used in relational databases.
The use of this term may derive from Maxwell's Demons - minute beings which can reverse the normal flow of heat from a hot body to a cold body by only allowing fast moving molecules to go from the cold body to the hot one and slow molecules from hot to cold. The solution to this apparent thermodynamic paradox is that the demons would require an external supply of energy to do their work and it is only in the absence of such a supply that heat must necessarily flow from hot to cold.
Walt Bunch believes the term comes from the demons in Oliver Selfridge's paper Pandemonium , MIT 1958, which was named after the capital of Hell in Milton's Paradise Lost . Selfridge likened neural cells firing in response to input patterns to the chaos of millions of demons shrieking in Pandemonium.
2. company Demon Internet Ltd.
3. A program generator for differential equation problems.
[N.W. Bennett, Australian AEC Research Establishment, AAEC/E142, Aug 1965].
[Jargon File]
(1998-09-04)

Demon Internet Ltd.
company One of the first company to provide public Internet access in the UK.
The staff of Demon Systems Ltd., an established software house, started Demon Internet on 1992-06-01 and it was the first system in the United Kingdom to offer low cost full Internet access. It was started with the support of about 100 founder members who discussed the idea on Compulink Information Exchange, and were brave enough to pay a year's subscription in advance. They aimed to have 200 members in the first year to cover costs, ignoring any time spent. After about two weeks they realised they needed nearer 400. By November 1993 they had over 2000 subscribers and by August 1994 they had about 11000 with 20% per month growth. All revenues have been reinvested in resources and expansion of service.
Demon link to Sprintlink in the United States making them totally independent. They peer with EUNet and PIPEX to ensure good connectivity in Great Britain as well as having links to the JANET/JIPS UK academic network. A direct line into the Department of Computing, Imperial College, London (http://sunsite.doc.ic.ac.uk) from their Central London Point of Presence (PoP) (styx.demon.co.uk) gives access to the biggest FTP and Archie site in Europe.
Demon provide local call access to a large proportion of the UK. The central London PoP provides leased line connections at a cheaper rate for those customers in the central 0171 area. Further lines and PoPs are being added continuously.
Subscribers get allocated an Internet Address and can choose a hostname within the demon.co.uk domain. They can have any number of e-mail address at that host.
In October 1994 Demon confirmed a large contract with the major telecommunications provider Energis. They will supply guaranteed bandwidth to Demon's 10Mb/s backbone from several cities and towns. Several PoPs will be phased out and replaced with others during 1995.
E-mail: internet@demon.net .
(ftp://ftp.demon.co.uk/)
Home (http://www.demon.co.uk/).
Usenet newsgroup: news:demon.announce.
Telephone: +44 (181) 349 0063.
Address: Demon Internet Ltd., 42 Hendon Lane, Finchley, London N3 1TT, UK.
(1994-11-08)

DeMorgan's theorem
logic A logical theorem which states that the complement of a conjunction is the disjunction of the complements or vice versa. In symbols:
not (x and y) = (not x) or (not y) not (x or y) = (not x) and (not y)
E.g. if it is not the case that I am tall and thin then I am either short or fat (or both). The theorem can be extended to combinations of more than two terms in the obvious way.
The same laws also apply to sets, replacing logical complement with set complement, conjunction ( and ) with set intersection, and disjunction ( or ) with set union.
A (C) programmer might use this to re-write
if (!foo !bar) ... as if (!(foo || bar)) ...
thus saving one operator application (though an optimising compiler should do the same, leaving the programmer free to use whichever form seemed clearest).
(1995-12-14)

demo version
1. An early, barely-functional version of a program which can be used for demonstration purposes as long as the operator uses *exactly* the right commands and skirts its numerous bugs, deficiencies, and unimplemented portions.
2. A special version of a finished program (frequently with some features crippled) which is distributed at little or no cost to the user for enticement purposes. See crippleware.
(1994-11-04)

Denis Howe
person Denis B. Howe. Editor of the Free On-line Dictionary of Computing.
(2000-05-16)

Dennis Ritchie
Dennis M. Ritchie, co-author of the Unix operating system, inventor of the C programming language and demigod.
See also K R, Core War, If you want X, you know where to find it.

denotational semantics
theory A technique for describing the meaning of programs in terms of mathematical functions on programs and program components. Programs are translated into functions about which properties can be proved using the standard mathematical theory of functions, and especially domain theory.
Compare axiomatic semantics, operational semantics, standard semantics.
(1996-08-21)

Denotational Semantics Language
specification, language (DSL) The specification language used by the SIS compiler generator.
[ SIS - Semantics Implementation System , P.D. Mosses, TR DAIMI MD-30, Aarhus U, Denmark].
(1996-10-13)

Department of Defense
body (DoD) The US military body responsible for sponsoring many software engineering standards.
(1996-05-29)

Department of Defense Network
networking (DDN) A military subset of the Internet, which includes ARPAnet.
(1994-12-07)

depeditate
/dee-ped'*-tayt/ [by (faulty) analogy with decapitate ] Humorously, to cut off the feet of. When one is using some computer-aided typesetting tools, careless placement of text blocks within a page or above a rule can result in chopped-off letter descenders. Such letters are said to have been depeditated.
[Jargon File]

dependability
See software reliability.

dependable software
See software reliability.

deprecated
Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favour of a specified replacement. Deprecated features can, unfortunately, linger on for many years. This term appears with distressing frequency in standards documents when the committees writing the documents realise that large amounts of extant (and presumably happily working) code depend on the feature(s) that have passed out of favour.
See also dusty deck.
[Jargon File]
(1995-04-19)

depth-first search
algorithm A graph search algorithm which extends the current path as far as possible before backtracking to the last choice point and trying the next alternative path. Depth-first search may fail to find a solution if it enters a cycle in the graph. This can be avoided if we never extend a path to a node which it already contains.
Opposite of breadth first search. See also iterative deepening.
(1995-04-19)

DER
Distinguished Encoding Rules

dereference
programming To access the thing to which a pointer points, i.e. to follow the pointer. E.g. in C, the declarations
int i; int *p = i;
declare i as an integer and p as a pointer to integer. p is initialised to point at i ( i is the address of i - the inverse of * ). The expression *p dereferences p to yeild i as an lvalue, i.e. something which can appear either on the left of an assignment or anywhere an integer expression is valid. Thus
*p = 17;
would set i to 17. *p++ is not the same as i++ however since it is parsed as *(p++), i.e. increment p (which would be an invalid thing to do if it was pointing to a single int, as in this example) then dereference p's old value.
The C operator - also dereferences its left hand argument which is assumed to point to a structure or union of which the right hand argument is a member.
At first sight the word dereference might be thought to mean to cause to stop referring but its meaning is well established in jargon.
(1998-12-15)

de-rezz
jargon /dee-rez'/ (Or derez ) de-resolve via the film Tron . 1. To disappear or dissolve; the image that goes with it is of an object breaking up into raster lines and static and then dissolving. Occasionally used of a person who seems to have suddenly fuzzed out mentally rather than physically. Usage: extremely silly, also rare. This verb was actually invented as *fictional* hacker jargon, and adopted in a spirit of irony by real hackers years after the fact.
2. The Macintosh resource decompiler. On a Macintosh, many program structures (including the code itself) are managed in small segments of the program file known as resources ; Rez and DeRez are a pair of utilities for compiling and decompiling resource files. Thus, decompiling a resource is derezzing . Usage: very common.
[Jargon File]

derived class
programming (Or subclass ) In object-oriented programming, a class that is derived from a base class by inheritance. The derived class contains all the features of the base class, but may have new features added or redefine existing features.
The synonym subclass is possibly confusing since the derived class has a superset of the base class's features.
Compare derived type.
(2001-09-14)

derived type
programming A type constructed from primitive types or other derived types using a type constructor function. This term is usually applied to procedural languages such as C or Ada. C's derived types are the array, function, pointer, structure, and union.
Compare derived class.
(2001-09-14)

DES
Data Encryption Standard

descender
text A lowercase letter that extends below the base line, such as g , j , or p . Also used to denote the part of the letter extending below the base line. Compare ascender.
(1998-03-27)

descent function
If a recursive function is of the form
f x = ... f (d x) ...
then d is known as the descent function.

Descriptive Intermediate Attributed Notation for Ada
language (DIANA) A formerly de facto standard intermediate language for Ada programs, developed by Goos and Wulf at CMU in January 1981. DIANA is an attributed tree representation, with an abstract interface defined in Interface Description Language (Nestor, Lamb and Wulf, CMU, 1981; Snodgrass(?), 1989(?)). DIANA resulted from a merger of AIDA and TCOL.Ada. At the present (2001) it is no longer used by the major ADA compilers
[ DIANA - An Intermediate Language for Ada , G.T. Goos et al, LNCS 161, Springer 1983].
(2001-09-15)

Descriptive Top-Level Specification
(DTLS) A language used in POSIX and TRUSIX.
(1994-11-11)

descriptor
operating system An integer, string or other small data value which refers to one of several objects allocated to a program by the operating system, usually the kernel. A common example is a Unix file descriptor which is a small integer that identifies an I/O channel. Another example is a reference to an area of memory (e.g. shared memory).
Compare capability.
(1998-02-06)

design
process The approach that engineering (and some other) disciplines use to specify how to create or do something. A successful design must satisfies a (perhaps informal) functional specification (do what it was designed to do); conforms to the limitations of the target medium (it is possible to implement); meets implicit or explicit requirements on performance and resource usage (it is efficient enough).
A design may also have to satisfy restrictions on the design process itself, such as its length or cost, or the tools available for doing the design.
In the software life-cycle, design follows requirements analysis and is followed by implementation.
[ Object-Oriented Analysis and Design with Applications , 2nd ed., Grady Booch].
(1996-12-08)

Design In Real Time
programming (Dirt) A user interface builder for the X Window System by R. Hesketh.
(1994-12-07)

design pattern
programming A description of an object-oriented design technique which names, abstracts and identifies aspects of a design structure that are useful for creating an object-oriented design. The design pattern identifies classes and instances, their roles, collaborations and responsibilities. Each design pattern focuses on a particular object-oriented design problem or issue. It describes when it applies, whether it can be applied in the presence of other design constraints, and the consequences and trade-offs of its use.
Home (http://st-www.cs.uiuc.edu/users/patterns/patterns.html).
[ Design Patterns: Elements of Reusable Object-Oriented Software , Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides].
(1997-07-21)

design recovery
process A subtask of reverse engineering in which domain knowledge, external information, and deduction of fuzzy reasoning are added to the observations of the subject system to identify meaningful higher level abstractions beyond those obtained directly by examining the system itself.
In other words, design recovery aims to work out what a system or component was designed to do rather than just examining its subcomponents and their interrelationships.
(1996-12-08)

Design System language
J. Gaffney, Evans Sutherland 1976. Interpretive FORTH-like language for 3d graphics databases. Earliest forerunner of both Interpress and PostScript. Mentioned in PostScript Language Reference Manual, Adobe Systems, A-W 1985.

desk check
programming To grovel over hardcopy of source code, mentally simulating the control flow; a method of catching bugs. No longer common practice in this age of on-screen editing, fast compiles, and sophisticated debuggers - though some maintain stoutly that it ought to be.
Compare dry run, eyeball search, vdiff, vgrep.
[Jargon File]
(1996-05-13)

desktop database
Macintosh file system

Desktop Management Interface
standard, operating system (DMI) A specification from the Desktop Management Task Force (DMTF) that establishes a standard framework for managing networked computers. DMI covers hardware and software, desktop systems and servers, and defines a model for filtering events and describing interfaces.
DMI provides a common path for technical support, IT managers, and individual users to access information about all aspects of a computer - including processor type, installation date, attached printers and other peripherals, power sources, and maintenance history. It provides a common format for describing products to aid vendors, systems integrators, and end users in enterprise desktop management.
DMI is not tied to any specific hardware, operating system, or management protocols. It is easy for vendors to adopt, mappable to existing management protocols such as Simple Network Management Protocol (SNMP), and can be used on non-network computers.
DMI's four components are:
Management Information Format (MIF) - a text file containing information about the hardware and software on a computer. Manufacturers can create their own MIFs specific to a component.
Service layer - an OS add-on that connects the management interface and the component interface and allows management and component software to access MIF files. The service layer also includes a common interface called the local agent, which is used to manage individual components.
Component interface (CI) - an application program interface (API) that sends status information to the appropriate MIF file via the service layer. Commands include Get, Set, and Event.
Management interface (MI) - the management software's interface to the service layer. Commands are Get, Set, and List.
CI, MI, and service layer drivers are available on the Internet. Intel's LANDesk Client Manager (LDCM) is based on DMI.
Version: 2.0s (as of 2000-01-19).
Home (http://www.dmtf.org/spec/dmis.html).
Sun overview (http://www.sun.com/solstice/products/ent.agents/presentations/sld014.html).
(2000-01-19)

Desktop Management Task Force
body (DMTF) The industry consortium that develops, supports, and maintains standards for systems management of PC systems and products, to reduce total cost of ownership. These include the Desktop Management Interface (DMI), the most-widely used management standard today.
The DMTF is participating in an industry effort to create a standard for management over the Internet. They are defining an object-oriented common information model (CIM).
Home (http://www.dmtf.org/).
(2000-01-19)

desktop manager
A user interface to system services, usually icon and menu based like the Macintosh Finder, enabling the user to run application programs and use a file system without directly using the command language of the operating system.
(1994-12-07)

desktop publishing
text, application (DTP) Using computers to lay out text and graphics for printing in magazines, newsletters, brochures, etc. A good DTP system will provide, among other things, facilities to fit text into irregular shapes in a variety of fonts and sizes.
(http://www.cs.purdue.edu/homes/gwp/dtp/dtp.html)
[Other features? Usenet newsgroup? Software?]
(1995-01-05)

DESQview
A system from Quarterdeck Office Systems implementing multitasking under MS-DOS.

destructor
programming A function provided by a class in C++ and some other object-oriented languages to delete an object, the inverse of a constructor.
(1998-04-28)

DESY
Deutsches Electronen Synchrotron Laboratory, Hamburg, Germany.

DETAB
DEcision TABle.
A decision table COBOL preprocessor written by A. Chapman in 1964.
Versions: DETAB 65, DETAB X.
[Sammet 1969, p. 315].
(1994-12-07)

deterministic
1. probability Describes a system whose time evolution can be predicted exactly.
Contrast probabilistic.
2. algorithm Describes an algorithm in which the correct next step depends only on the current state. This contrasts with an algorithm involving backtracking where at each point there may be several possible actions and no way to chose between them except by trying each one and backtracking if it fails.
(1995-09-22)

deterministic automaton
theory A finite-state automaton in which the overall course of the computation is completely determined by the program, the starting state, and the initial inputs. The class of problems solvable by such automata is the class P (see polynomial-time algorithm).
(1996-05-03)

DETOL
language Directly Executable Test Oriented Language.
(1995-09-29)

developer
programmer

development
The process of analysis, design, coding and testing software.

Developmental Test and Evaluation
programming (DT E) Activity which focuses on the technological and engineering aspects of a system or piece of equipment.
(1996-05-13)

development environment
programming, tool An integrated suite of tools to aid the development of software in a particular language or for a particular application. Usually, this consists of a compiler and editor and may also include one or more of a debugger, profiler, and source code manager.
See also: IDE.
(1999-08-01)

device
peripheral

Device Control
character One of the four ASCII characters, DC1, DC2, DC3, and DC4, once used to remotely control equipment (e.g. a paper tape reader) via electromagnetic switches. The characters were usually paired, DC1/DC3 turning one device on/off, and DC2/DC4 another.
[Other examples of equipment?]
(1996-08-20)

Device Control 1
Control-Q

Device Control 2
character (DC2) The mnemonic for ASCII character 18, one of the four Device Control characters.
(1996-06-28)

Device Control 3
Control-S

Device Control 4
character (DC4) The mnemonic for ASCII character 20, one of the four Device Control characters.
(1996-06-28)

device driver
operating system Software to control a hardware component or peripheral device of a computer such as a magnetic disk, magnetic tape or printer.
A device driver is responsible for accessing the hardware registers of the device and often includes an interrupt handler to service interrupts generated by the device.
Device drivers often form part of the lowest level of the operating system kernel, with which they are linked when the kernel is built. Some more recent systems have loadable device drivers which can be installed from files after the operating system is running.
(1994-10-27)

device independent bitmap
graphics, file format (DIB) An image format in which the sequence and depth of pixels in the file is not specifically related to their layout in any particular device. This allows any device dependent bitmap (DDB) image to be converted to or DIB format without loss of information, and this can then later be converted to other DDB formats for, e.g., printing or display. Rather than requiring converters from each DDB format to all other formats, only converters to and from DIB are needed.
DIB images are normally transferred in metafiles, bmp files, and the clipboard.
Transferring colour bitmaps from one device to another was not possible in versions of Microsoft Windows earlier than 3.0. Application programs can build DIB images without any interaction with Windows. If Windows lacks a drawing primitive, the application can simulate it directly into the DIB instead of using the existing graphics device interface (GDI) primitives. Unfortunately, under Windows versions 3.0 and 3.1, GDI cannot perform output operations directly to a DIB.
Conversion between DIB and DDB is performed by the device driver. Where the driver does not have this facility, the conversion is performed by GDI but only in monochrome. DIBs are slower to use than device dependent bitmaps due to the conversions required.
(1996-09-20)

Devil Book
publication The Design and Implementation of the 4.3BSD Unix Operating System , by Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, and John S. Quarterman (Addison-Wesley Publishers, 1989, ISBN 0-201-06196-1).
The standard reference book on the internals of BSD Unix. So called because the cover has a picture depicting a little devil (a visual play on daemon) in sneakers, holding a pitchfork (referring to one of the characteristic features of Unix, the fork(2) system call).
[Jargon File]
(1996-12-03)

/dev/null
/dev-nuhl/ [The Unix null device, used as a data sink] A notional black hole in any information space being discussed, used, or referred to. A controversial posting, for example, might end Kudos to rasputin@kremlin.org, flames to /dev/null . See bit bucket.
[Jargon File]

devo
/dee'voh/ (In-house jargon at Symbolics) A person in a development group. See also doco and mango.
(1994-11-04)

DEX
A cross between Modula-2 and C by W. van Oortmerssen.
Amiga version 1.2 (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f7/ff743/TurboDEX.lzh).

DFA
Deterministic Finite-state Automaton. See Finite State Machine.

DFC
A dataflow language.
[ Data Flow Language DFC: Design and Implementation , S. Toshio et al, Systems and Computers in Japan, 20(6):1- 10 (Jun 1989)].

DFD
Data Flow Diagram

DFS
1. algorithm Depth-First Search.
2. file system Distributed File System.

DFT
discrete Fourier transform

DGL
1. Data Generation Language. A tool for generating test data for hardware or software systems.
2. Distributed GL.

DG/L
1. Descriptive Geometry Language. Early CAD/CAE language, used light pen. Interactive Graphic Consoles - Environment and Software , R.L. Beckermeyer, Proc FJCC 37 (1970).
2. Data General ca 1973-1974. Derivative of ALGOL 60, developed from DG's ALGOL-5, used as the systems language under AOS and RDOS for the DG Eclipse family of computers. Replaced by PL/I in the early 80's. Data General manual 093-000229-01.

DHCP
Dynamic Host Configuration Protocol

Dhrystone
benchmark A short synthetic benchmark program by Reinhold Weicker weicker.muc@sni.de , weicker.muc@sni-usa.com , intended to be representative of system (integer) programming. It is available in ADA, Pascal and C.
The current version is Dhrystone 2.1. The author says, Relying on MIPS V1.1 (the result of V1.1) numbers can be hazardous to your professional health.
Due to its small size, the memory system outside the cache is not tested. Compilers can too easily optimise for Dhrystone. String operations are somewhat over-represented.
Sources (ftp://ftp.nosc.mil/pub/aburto/).
Results (http://performance.netlib.org/performance/html/dhrystone.data.col0.html).
(2002-03-26)

DHSD
Duplex High Speed Data

DHTML
Dynamic HTML

DIALOG
1. A commercial bibliographic database and retrieval service from DIALOG Information Services.
2. Interactive mathematics using a graphics tablet by Illinois Inst Tech, 1966.
[ DIALOG: A Conversational Programming System with a Graphical Orientation , S.H. Cameron et al, CACM 10:349-357 (1967). Sammet 1969, p.255-258].

dialup
A temporary, as opposed to dedicated, connection between machines established over a telephone line using modems.

DIAMAG
An interactive extension of ALGOL.
[Sammet 1969, p.195].

diameter
The diameter of a graph is the maximum value of the minimum distance between any two nodes.

Diamond
One of five pedagogical languages based on Markov algorithms, used in Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics , B. Higman, ULICS Intl Report No ICSI 170, U London (1968). (cf. Brilliant, Nonpareil, Pearl[3], Ruby[2]).

DIANA
Descriptive Intermediate Attributed Notation for Ada

DIB
device independent bitmap

DIBOL
Digital Interactive Business Oriented Language.
DEC, 1970.
Fortran syntax with BCD arithmetic.
Versions for PDP-8 and RT-11.
ANSI X3.165-1988.

dickless workstation
abuse Extremely pejorative hackerism for diskless workstation .
[Jargon File]
(1995-03-28)

Dick Size War
penis war

DICOM
medical, standard (From Digital Imaging and COmmunications in Medicine) A standard developed by ACR-NEMA (American College of Radiology - National Electrical Manufacturer's Association) for communications between medical imaging devices. It conforms to the ISO reference model for network communications and incorporates object-oriented design concepts.
(1995-03-29)

Dictionary APL
Sharp APL

dictionary flame
[Usenet] An attempt to sidetrack a debate away from issues by insisting on meanings for key terms that presuppose a desired conclusion or smuggle in an implicit premise. A common tactic of people who prefer argument over definitions to disputes about reality. Compare spelling flame.
[Jargon File]

Dictionary of Algorithms and Data Structures
algorithm (DADS) A dictionary by Paul Black.
Home (http://hissa.nist.gov/dads).
(2001-03-26)

Dictionary of Computing
Free On-line Dictionary of Computing

DID
Direct Inward Dialing

diddle
1. To work with or modify in a not particularly serious manner. I diddled a copy of ADVENT so it didn't double-space all the time. Let's diddle this piece of code and see if the problem goes away.
See tweak and twiddle.
2. The action or result of diddling.
See also tweak, twiddle, frob.
[Jargon File]
(1995-01-31)

Didot point
unit, text A variant of the point, equal to 0.3759 mm, or 1/72 of a French Royal inch (27.07 mm), or about 1/68 inch. Didot points are used in Europe. This unit is named after the French printer François Ambroise Didot (1730 - 1804) who defined the point-based typographical measurement system.
(2002-03-11)

die
1. jargon crash. Unlike crash, which is used primarily of hardware, this verb is used of both hardware and software.
See also go flatline, casters-up mode.
2. electronics An unpackaged integrated circuit.
[Jargon File]
(1996-05-28)

die horribly
jargon The software equivalent of crash and burn, and the preferred emphatic form of die. The converter choked on an FF in its input and died horribly .
[Jargon File]
(1996-05-28)

diff
/dif/ 1. A change listing, especially giving differences between (and additions to) different versions of a piece of source code or documentation (the term is often used in the plural diffs ). Send me your diffs for the Jargon File!
Compare vdiff.
2. Specifically, such a listing produced by the diff Unix command, especially when used as input to the patch utility (which actually performs the modifications). This is a common method of distributing patches and source updates.
3. To compare (whether or not by use of automated tools on machine-readable files).
See also vdiff, mod.
[Jargon File]
(1995-02-10)

Difference Engine
computer, history Charles Babbage's design for the first automatic mechanical calculator. The Difference Engine was a special purpose device intended for the production of mathematical tables. Babbage started work on the Difference Engine in 1823 with funding from the British Government. Only one-seventh of the complete engine, about 2000 parts, was built in 1832 by Babbage's engineer, Joseph Clement. This was demonstrated successfully by Babbage and still works perfectly. The engine was never completed and most of the 12,000 parts manufactured were later melted for scrap.
It was left to Georg and Edvard Schuetz to construct the first working devices to the same design which were successful in limited applications. The Difference Engine No. 2 was finally completed in 1991 at the Science Museum, London, UK and is on display there.
The engine used gears to compute cumulative sums in a series of registers: r[i] := r[i] + r[i+1]. However, the addition had the side effect of zeroing r[i+1]. Babbage overcame this by simultaneously copying r[i+1] to a temporary register during the addition and then copying it back to r[i+1] at the end of each cycle (each turn of a handle).
Difference Engine at the Science Museum (http://www.nmsi.ac.uk/on-line/treasure/plan/2ndcomp.htm#babbage).
(1997-09-29)

difference equation
A relation between consecutive elements of a sequence. The first difference is
D u(n) = u(n+1) - u(n)
where u(n) is the nth element of sequence u. The second difference is
D2 u(n) = D (D u(n)) = (u(n+2) - u(n+1)) - (u(n+1) - u(n)) = u(n+2) - 2u(n+1) + u(n)
And so on. A recurrence relation such as
u(n+2) + a u(n+1) + b u(n) = 0
can be converted to a difference equation (in this case, a second order linear difference equation):
D2 u(n) + p D u(n) + q u(n) = 0
and vice versa. a, b, p, q are constants.
(1995-02-10)

differential
hardware differential line.

differential driver
hardware An electronic device (commonly an integrated circuit), containing two amplifiers, used to drive a differential line.
(1995-03-14)

differential line
hardware A kind of electrical connection using two wires, one of which carries the normal signal (V) and the other carries an inverted version the signal (-V). A differential amplifier at the receiver subtracts the inverted signal from the normal signal to yeild a signal proportional to V. This subtraction is intended to cancel out any noise induced in the wires, on the assmption that the same level of noise will have been induced in both wires. Twisted pair wiring is often used to try to ensure that this is the case.
The two wires might be connected at the receiver to separate analogue to digital converters and the subtraction performed digitally.
The RS-422 serial line standard specifies differential drivers and receivers, whereas the earlier RS-232 standard does not.
Opposite: single ended.
(1995-03-08)

Diffie-Hellman
cryptography A public-key encryption key exchange algorithm.
FAQ (http://www.rsa.com/rsalabs/faq/html/3-6-1.html).
(1999-03-15)

digerati
jargon (Or digirati . By analogy with literati - people knowledgeable about literature) People knowledgeable about computers, computer literate .
[Newsweek, March 1995?].
(1995-05-07)

digest
A periodical collection of messages which have been posted to a newsgroup or mailing list. A digest is prepared by a moderator who selects articles from the group or list, formats them and adds a contents list. The digest is then either mailed to an alternative mailing list or posted to an alternative newsgroup.
Some news readers and electronic mail programs provide commands to undigestify a digest, i.e. to split it up into individual articles which may then be read and saved or discarded separately.

Digex
Digital Express Group, Inc.

DigiCash
company A company, started in April 1990, which aims to develop and license products to support electronic payment methods including chip card, software only, and hybrid.
Ecash is their trial form of software-only electronic money.
Home (http://www.digicash.com/home.html)
(1995-04-10)

Digicom
(ftp://ftp.whnet.com/pub/wolfgang), (ftp://softmodem.whnet.com/pub/wolfgang), (ftp://ftp.netcom.com/pub/wolfgang). (http://ftp.whnet.com/wolfgang/).
[Description?]

digirati
digerati

digit
An employee of Digital Equipment Corporation. See also VAX, VMS, PDP-10, TOPS-10, DEChead, double DECkers, field circus.
[Jargon File]

Digital
company Common abbreviation for Digital Equipment Corporation.
(1995-12-18)

digital
data A description of data which is stored or transmitted as a sequence of discrete symbols from a finite set, most commonly this means binary data represented using electronic or electromagnetic signals.
The opposite is analogue.
(1998-10-28)

digital audio
multimedia, file format A sequence of discrete samples taken from a continuous sound (audio) waveform. Tens of thousands of samples are taken each second. Each sample represents the intensity of the sound pressure wave at that instant. Apart from the sampling frequency, the other parameter is the digital encoding of each sample including the number of bits used. The encoding may be linear, logarithmic or mu-law.
Digital audio is typically created by taking 16-bit samples over a spectrum of 44.1 thousand cycles per second (kHz), this means that CD quality sound requires 1.4 million bits of data per second. Digital telephone systems use lower sample rates.
Filename extension: .au (Unix), .snd (MS-DOS, MS Windows).
See also Audio IFF, MP3, wav.
Usenet newsgroups: alt.binaries.sounds.*.
A FAQ on audio file formats is available. Part 1 (ftp://ftp.cwi.nl/pub/audio/AudioFormats.part1), Part 2 (ftp://ftp.cwi.nl/pub/audio/AudioFormats.part2).
(1999-07-30)

Digital Audio Tape
storage, music (DAT) A format for storing music on magnetic tape, developed in the mid-1980s by Sony and Philips. As digital music was popularized by compact discs, the need for a digital recording format for the consumer existed. The problem is that digital music contains over 5 megabytes of data per minute before error correction and supplementary information. Before DAT, the only way to record digitally was to use a video or a reel-to-reel recorder.
DAT uses a rotary-head (or helical scan ) format, where the read/write head spins diagonally across the tape like a video cassette recorder. Thus the proper name is R-DAT , where R for rotary distinguishes it from S-DAT , a stationary design that did not make it out of the laboratories. Studio reel-to-reel decks are able to use stationary heads because they can have wider tape and faster tape speeds, but for the desired small medium of DAT the rotary-head compromise was made despite the potential problems with more moving parts.
Most DAT recorders appear to be a cross between a typical analog cassette deck and a compact disc player. In addition to the music, one can record subcode information such as the number of the track (so one can jump between songs in a certain order) or absolute time (counted from the beginning of the tape). The tape speed is much faster than a regular deck (one can rewind 30 minutes of music in 10-25 seconds), though not quite as fast as a compact disc player. DAT decks have both analog and digital inputs and outputs.
DAT tapes have only one recordable side and can be as long 120 minutes.
DAT defines the following recording modes with the following performance specifications...
2 channel 48KHz Sample rate, 16-bit linear encoding
120 min max.
Frequency Response 2-22KHz (+-0.5dB)
SN = 93 dB DR = 93 dB
2 channel 44.1Khz Sample rate, 16-bit linear encoding
120 min max
Frequency Response 2-22KHz (+-0.5dB)
SN = 93 dB DR = 93 dB
2 channel 32KHz Sample Rate, 12-bit non-linear encoding
240 min max
Frequency Response 2-14.5KHz (+-0.5dB)
SN = 92 dB DR = 92 dB
4 channel 32KHz (not supported by any deck)
DAT is also used for recording computer data. Most computer DAT recorders use DDS format which is the same as audio DAT but they usually have completely different connectors and it is not always possible to read tapes from one system on the other. Computer tapes can be used in audio machines but are usually more expensive. You can record for two minutes on each metre of tape.
(1995-02-09)

digital camera
graphics, hardware A camera that captures and stores still images as digital data instead of on photographic film.
The first digital cameras became available in the early 1990s[?].
[Which and when was the first?]
(2000-08-10)

digital carrier
hardware, communications A medium which can carry digital signals; broadly equivalent to the physical layer of the OSI seven layer model of networks. Carriers can be described as baseband or broadband. A baseband carrier can include direct current (DC), whereas broadband carriers are modulated by various methods into frequency bands which do not include DC.
Sometimes a modem (modulator/demodulator) or codec (coder/decoder) combines several channels on one transmission path. The combining of channels is called multiplexing, and their separation is called demultiplexing, independent of whether a modem or codec bank is used. Modems can be associated with frequency division multiplexing (FDM) and codecs with time division multiplexing (TDM) though this grouping of concepts is somewhat arbitrary.
If the medium of a carrier is copper telephone wire, the circuit may be called T1, T3, etc. as these designations originally described such.
T1 carriers used a restored polar line coding scheme which allowed a baseband signal to be transported as broadband and restored to baseband at the receiver. T1 is not used in this sense today, and indeed it is often confused with the DS1 signal carried.
(1996-03-31)

digital computer
computer A computer that represents numbers and other data using discrete internal states, in contrast to the continuously varying quantities used in an analog computer.
Some of the fundamental ideas behind the digital computer were proposed by Alan Turing between 1936 and 1938. The first electronic digital computer built was the Atanasoff-Berry Computer (ABC, 1937-1942), closely followed by the ENIAC (1943-1946).
(2002-04-07)

digital dashboard
software A personalised desktop portal that focuses on business intelligence and knowledge management.
Microsoft's version has a launch screen including stock quotes, voice mail and e-mail messages, a calendar, a weather forecast, traffic information, access to news feeds, customer and sales data, and Internet conferences. A digital dashboard might previously have been thought of as an executive information system. In the future, digital dashboards could be available on personal digital assistants and cellular phones.
[ Gates pitches 'digital dashboards' to bevy of top CEOs , Bob Trott, pub. InfoWorld Electric, 1999-05-19].
(1999-09-14)

Digital Data Service
communications (DDS) The class of service offered by telecommunications companies for transmitting digital data as opposed to voice.
(1995-02-28)

Digital Enhanced Cordless Telecommunications
communications, standard (DECT, formerly .. European .. ) A standard developed by the European Telecommunication Standard Institute from 1988, governing pan-European digital mobile telephony. DECT covers wireless PBXs, telepoint, residential cordless telephones, wireless access to the public switched telephone network, Closed User Groups (CUGs), Local Area Networks, and wireless local loop.
DECT defines only the radio connection between two points and can be used for remote access to public and private networks. Other mobility standards, such as GSM, TACS, and DCS 1800 add the necessary switching, signaling, and management functions that are not specified by DECT.
The DECT Common Interface radio standard is a multicarrier time division multiple access, time division duplex (MC-TDMA-TDD) radio transmission technique using ten radio frequency channels from 1880 to 1930 MHz, each divided into 24 time slots of 10ms, and twelve full-duplex accesses per carrier, for a total of 120 possible combinations.
A DECT base station (an RFP, Radio Fixed Part) can transmit all 12 possible accesses (time slots) simultaneously by using different frequencies or using only one frequency. All signaling information is transmitted from the RFP within a multiframe (16 frames). Voice signals are digitally encoded into a 32 kbit/s signal using Adaptive Differential Pulse Code Modulation.
The handover process is requested autonomously by the portable terminal and the Radio Fixed Parts, according to the carrier signal levels. A Generic Access Profile defines a minimum set of requirements for the support of speech telephony.
(http://www.italtel.it/catalog/data/inglese/capc_5.htm).
(1999-04-13)

digital envelope
cryptography
(http://www.rsa.com/rsalabs/faq/html/2-2-4.html).
[Summary?]
(1999-03-16)

Digital Equipment Computer Users Society
body, DEC (DECUS) A world wide organisation of Information Technology professionals interested in the products, services, and technologies of Digital Equipment Corporation and related vendors. Membership in the US chapter is free and provides participants with the means to enhance their professional development, forums for technical training, mechanisms for obtaining up-to-date information, advocacy programs, and opportunities for informal disclosure and interaction with professional colleagues of like interest.
Address: 334 South Street, SHR3-1/T25, Shrewsbury, MA 01545-4195, USA.
Telephone: +1 (800) DECUS55.
(1995-02-08)

Digital Equipment Corporation
company (DEC) A computer manufacturer and software vendor.
Before the killer micro revolution of the late 1980s, hackerdom was closely symbiotic with DEC's pioneering time-sharing machines. The first of the group of hacker cultures nucleated around the PDP-1 (see TMRC). Subsequently, the PDP-6, PDP-10, PDP-20, PDP-11 and VAX were all foci of large and important hackerdoms, and DEC machines long dominated the ARPANET and Internet machine population.
DEC was the technological leader of the minicomputer era (roughly 1967 to 1987), but its failure to embrace microcomputers and Unix early cost it heavily in profits and prestige after silicon got cheap. However, the microprocessor design tradition owes a heavy debt to the PDP-11 instruction set, and every one of the major general-purpose microcomputer operating systems so far (CP/M, MS-DOS, Unix, OS/2) were either genetically descended from a DEC OS, or incubated on DEC hardware or both. Accordingly, DEC is still regarded with a certain wry affection even among many hackers too young to have grown up on DEC machines. The contrast with IBM is instructive.
Quarterly sales $3923M, profits -$1746M (Aug 1994).
DEC was taken over by Compaq Computer Corporation in 1998.
Home (http://www.digital.com/.html).
(1999-06-03)

Digital Equipment Corporation Network
networking (DECNET) Ethernet software used on DEC computers such as the Vax.
[More details?]
(1999-06-03)

Digital European Cordless Telecommunications
Digital Enhanced Cordless Telecommunications

Digital Express Group, Inc.
(Digex) The largest Internet provider in the Washington metropolitan area with POPs in Maryland, Virginia, New Jersey, New York and California.
(http://www.digex.net)
(1994-10-25)

Digital Lempel Ziv 1
algorithm (DLZ1) A Lempel-Ziv compression algorithm which maps variable length input strings to variable length output symbols. During compression, the algorithm builds a dictionary of strings which is accessed by means of a hash table. Compression occurs when input data matches a string in the table and is replaced with the output symbol.
DLZ1 is used on Digital Linear Tape.
(1997-04-05)

Digital Library Initiative
A project to research digital libraries which aims to provide real collections to real users (high school students, University researchers and students, users in public libraries). The project is sponsored jointly by three US federal funding agencies, led by the National Science Foundation.
The University of Michigan, one of the six sites selected in 1994 to collaborate, will provide collections on earth and space sciences. The project, known there as the University of Michigan Digital Library Project (UMDL), is a large, multi-year project headed by Daniel Atkins, Dean of the School of Information and Library Studies.
UMDL (http://http2.sils.umich.edu/UMDL/HomePage.html)
(1995-02-23)

Digital Linear Tape
storage (DLT) A kind of magnetic tape drive originally developed by DEC and now marketed by Quantum.
DLT drives implement the Digital Lempel Ziv 1 (DLZ1) compression algorithm in a combination of hardware and firmware. They use a popular chip by Stac (now hi/fn) to do the string searching. Counting, sorting and Huffman encoding are done in firmware (with hardware support for the Huffman algorithm?).
In April 1997 DLT drives can transfer 5 megabytes per second and can store 35 gigabytes on a single cartridge. Compression might roughly double these figures.
(1997-04-05)

Digital Multimeter
electronics (DMM) A peice of test equipment used for measuring voltage, current, resistance, and possibly other electircal quantities and displaying the value in number form.
(1997-02-12)

Digital Radio Mondiale
communications (DRM) A form of monaural digital broadcast using carrier frequencies below 30 MHz. DRM uses MPEG-4 AAC Main Profile and SBR at data rates of 16-25 kbps.
Home (http://www.drm.org/).
(2001-12-20)

Digital Research
company The company which developed CP/M, the operating system used on many of the first generation 8-bit microprocessor-based personal computers. Digital Research also produced DR-DOS.
Address: Santa Cruz, CA, USA.
(1998-03-17)

digital service unit
data service unit

Digital Signal Processing
(DSP) Computer manipulation of analog signals (commonly sound or image) which have been converted to digital form (sampled).
(1994-12-07)

Digital Signal Processing Language
language (DSPL) A C-derived DSP language.
[ The Programming Language DSPL , A. Schwarte H. Hanselmann, Proc PCIM 90, 1990].
(1994-12-01)

digital signature
cryptography Extra data appended to a message which identifies and authenticates the sender and message data using public-key encryption.
The sender uses a one-way hash function to generate a hash-code of about 32 bits from the message data. He then encrypts the hash-code with his private key. The receiver recomputes the hash-code from the data and decrypts the received hash with the sender's public key. If the two hash-codes are equal, the receiver can be sure that data has not been corrupted and that it came from the given sender.
(1995-02-07)

digital signatures
digital signature

Digital Signature Standard
cryptography, standard The NIST's standard for digital signatures (authenticating both a message and the signer) that was first announced in 1991. It is based on an algorithm using discrete logarithms, which is a variant of the Elgamal algorithm with Schnorr's improvements. DSS's security is currently considered very strong - comparable to RSA. It is estimated that DSS's 1024-bit keys would take 1.4E16 MIPS-years to crack.
(1995-11-16)

Digital Simulation Language
language (DSL) Extensions to Fortran to simulate analog computer functions. Version DSL/90 ran on the IBM 7090.
[ DSL/90 - A Digital Simulation Program for Continuous System Modelling , Proc SJCC 28, AFIPS, Spring 1966].
[Sammet 1969, p 632].
(1996-10-13)

Digital Simultaneous Voice and Data
communications (DSVD) A technique supported by some modems for multiplexing compressed speech with digital data for transmission over a normal telephone line.
DSVD isn't standardised yet, so generally you have to have the same make of modem at both ends for it to work.
[How does it work? Which modems? References?]
(1997-06-05)

DIGITAL Standard MUMPS
(DSM) DEC's version of MUMPS.
(1995-01-10)

Digital Subscriber Line
communications, protocol (DSL, or Digital Subscriber Loop, xDSL - see below) A family of digital telecommunications protocols designed to allow high speed data communication over the existing copper telephone lines between end-users and telephone companies.
When two conventional modems are connected through the telephone system (PSTN), it treats the communication the same as voice conversations. This has the advantage that there is no investment required from the telephone company (telco) but the disadvantage is that the bandwidth available for the communication is the same as that available for voice conversations, usually 64 kb/s (DS0) at most. The twisted-pair copper cables into individual homes or offices can usually carry significantly more than 64 kb/s but the telco needs to handle the signal as digital rather than analog.
There are many implementation of the basic scheme, differing in the communication protocol used and providing varying service levels. The throughput of the communication can be anything from about 128 kb/s to over 8 Mb/s, the communication can be either symmetric or asymmetric (i.e. the available bandwidth may or may not be the same upstream and downstream). Equipment prices and service fees also vary considerably.
The first technology based on DSL was ISDN, although ISDN is not often recognised as such nowadays. Since then a large number of other protocols have been developed, collectively referred to as xDSL, including HDSL, SDSL, ADSL, and VDSL. As yet none of these have reached very wide deployment but wider deployment is expected for 1998-1999.
(http://www.cyberventure.com/~cedpa/databus-issues/v38n1/xdsl.html).
2Wire DSL provider lookup (http://www.2Wire.com/).
[ Data Cooks, But Will Vendors Get Burned? , Supercomm Spotlight On ADSL Lucent Sells Paradine , Wilson Carol, Inter@ctive Week Vol. 3 #13, p1 6, June 24 1996].
(2001-04-30)

Digital Subscriber Line Access Module
networking, hardware (DSLAM, or Digital Subscriber Line Access Multiplexer) The generic term for the Central Office (CO) equipment where xDSL lines are terminated. The multiple DSL signals may be multiplexed onto a wideband channel such as ATM.
(2000-04-05)

Digital Subscriber Loop
Digital Subscriber Line

Digital Switched Network
communications (DSN) The completely digital version of the PSTN.
(1997-07-18)

Digital to Analog Converter
electronics (DAC) A device which takes a digital value and outputs a voltage which is proportional to the input value.
Typical uses include digital generation of audio signals or conversion of a bitmap image to a signal to drive a CRT.
(1998-02-15)

Digital Versatile Disc
storage (DVD, formerly Digital Video Disc ) An optical storage medium with improved capacity and bandwidth compared with the Compact Disc. DVD, like CD, was initally marketed for entertainment and later for computer users. [When was it first available?]
A DVD can hold a full-length film with up to 133 minutes of high quality video, in MPEG-2 format, and audio.
The first DVD drives for computers were read-only drives ( DVD-ROM ). These provide over seven times the storage capacity of CD-ROM (4.7 GBytes). DVD-ROM drives read existing CD-ROMs and music CDs and are compatible with installed sound and video boards. Additionally, the DVD-ROM drive can read DVD films using an advanced (MPEG-2) video board, required to decode the high resolution video format.
The first drives, using a single-layer disc of 4.7GB, were expected to be available during the second half of 1996 from Toshiba, Philips, Sony, Hitachi and others. In 1997, dual-layer discs were expected to increase the disc capacity to 8.5 GB. Double-sided, dual-layer discs will eventually increase the capacity to 17 GB.
Write-once DVD-R ( recordable ) drives record a 3.9GB DVD-R disc that can be read on a DVD-ROM drive. The first DVD-R drive was expected by mid 1997.
By the end of 1997, the rewritable DVD-RAM (by false analogy with random access memory) drive was expected to become available. DVD-RAM drives read and write to a 2.6 GB DVD-RAM disc, read and write-once to a 3.9GB DVD-R disc, and read a 4.7 GB or 8.5 GB DVD-ROM. Also, it was expected that a DVD-RAM disc would be readable on both the DVD-R and DVD-ROM drives.
Background (http://www.tacmar.com/dvd_background.htm). RCA home (http://www.imagematrix.com/DVD/home.html). (http://www.zdnet.com/products/special/current/dvd.html). (http://www.zdnet.com/products/special/current/dvdsum.html).
[Did this happen as predicted? Current state?]
(1999-07-08)

Digital Video Disc
Digital Versatile Disc

Dijkstra's guarded command language
language A language invented by Edsger Dijkstra ca. 1974. It introduced the concept of guards and committed choice nondeterminism (don't care nondeterminism). Described and used in [ A Discipline of Programming , E. Dijkstra, P-H 1976].
(1994-12-07)

dike
To remove or disable a portion of something, as a wire from a computer or a subroutine from a program. A standard slogan is When in doubt, dike it out . (The implication is that it is usually more effective to attack software problems by reducing complexity than by increasing it.) The word dikes is widely used among mechanics and engineers to mean diagonal cutters , especially the heavy-duty metal-cutting version, but may also refer to a kind of wire-cutters used by electronics technicians. To dike something out means to use such cutters to remove something. Indeed, the TMRC Dictionary defined dike as to attack with dikes . Among hackers this term has been metaphorically extended to informational objects such as sections of code.
[Jargon File]

DIL
Dual In-Line Package

Dilbert
humour A cartoon computer worker drawn by Scott Adams scottadams@aol.com , who works in Silicon Valley. The cartoon became so popular he left his day job. The cartoon satirises typical corporate life, especially that which revolves around computers.
See also: BOFH.
Home (http://www.unitedmedia.com/comics/dilbert/).
(1996-10-11)

Dilberted
jargon To be exploited and oppressed by your boss. Derived from the experiences of Dilbert, the geek-in-hell comic strip character. I've been dilberted again. The old man revised the specs for the fourth time this week.
(1997-03-29)

DIM
DIM statement

DIMATE
language Depot Installed Maintenance Automatic Test Equipment. A language for programming automatic test equipment. It Runs on the RCA 301.
[ A Simple User-Oriented Source Language for Programming Automatic Test Equipment , B.H. Scheff, CACM 9(4) (Apr 1966)].
[Sammet 1969, p. 647].
(1996-01-07)

DIMM
Dual In-Line Memory Module

DIM statement
programming (From dimension ) A keyword in most versions of the BASIC programming language that declares the size of an array. E.g.
DIM A(100)
declares a one-dimensional array with 101 numeric elements (including A(0)).
Visual Basic uses the DIM (or Dim ) statement for any variable declaration, even scalars, e.g.
Dim DepartmentNumber As Integer
which declares a single (scalar) variable of type Integer.
(1999-03-26)

DIN
Deutsche Institut fuer Normung. The German standardisation body, a member of ISO.

DIN-8
hardware An 8-pin round connector, sometimes used for EIA-232 serial communication when space is restricted, such as on laptop computers.
(1996-12-08)

ding
1. Synonym for feep. Usage: rare among hackers, but commoner in the Real World.
2. dinged : What happens when someone in authority gives you a minor bitching about something, especially something trivial. I was dinged for having a messy desk.
[Jargon File]

Dining Philosophers Problem
parallel (DPP) A problem introduced by Dijkstra concerning resource allocation between processes. The DPP is a model and universal method for testing and comparing theories on resource allocation. Dijkstra hoped to use it to help create a layered operating system, by creating a machine which could be consider to be an entirely deterministic automaton.
The problem consists of a finite set of processes which share a finite set of resources, each of which can be used by only one process at a time, thus leading to potential deadlock.
The DPP visualises this as a number of philosophers sitting round a dining table with a fork between each adjacent pair. Each philosopher may arbitrarily decide to use either the fork to his left or the one to his right but each fork may only be used by one philosopher at a time.
Several potential solutions have been considered.
Semaphores - a simple, but unfair solution where each resources is a binary semaphore and additional semaphores are used to avoid deadlock and/or starvation.
Critical Regions - each processor is protected from interference while it exclusively uses a resource.
Monitors - the process waits until all required resources are available then grabs all of them for use.
The best solution allows the maximum parallelism for any number of processes (philosophers), by using an array to track the process' current state (i.e. hungry, eating, thinking). This solution maintains an array of semaphores, so hungry philosophers trying to acquire resources can block if the needed forks are busy.
(1998-08-09)

dink
/dink/ Said of a machine that has the bitty box nature; a machine too small to be worth bothering with - sometimes the system you're currently forced to work on. First heard from an MIT hacker working on a CP/M system with 64K, in reference to any 6502 system, then from fans of 32 bit architectures about 16-bit machines. GNUMACS will never work on that dink machine. Probably derived from mainstream dinky , which isn't sufficiently pejorative.
See macdink.
[Jargon File]
(1994-10-31)

DinnerBell
An object-oriented dataflow language with single assignment.
[ Object-Oriented Load Distribution in DinnerBell , S. Kono kono@csl.sony.co.jp et al, in TOOLS Pacific 90].
(1994-10-31)

DINO
Data parallel superset of C.
(ftp://ftp.cs.colorado.edu/pub/cs/distribs/dino/)
[ The DINO Parallel Programming Language , M. Rosing et al, J Parallel Dist Comp 13(9):30-42 (Sep 1991)].
[ DINO Parallel Programming Language , M. Rosing et al, CU-CS-457-90, U Colorado, April 1990].

dinosaur
1. Any hardware requiring raised flooring and special power. Used especially of old minicomputers and mainframes, in contrast with newer microprocessor-based machines.
In a famous quote from the 1988 Unix EXPO, Bill Joy compared the liquid-cooled mainframe in the massive IBM display with a grazing dinosaur with a truck outside pumping its bodily fluids through it . IBM was not amused.
Compare big iron; see also dinosaurs mating.
2. [IBM] A very conservative user; a zipperhead.
[Jargon File]

dinosaur pen
A traditional mainframe computer room complete with raised flooring, special power, its own ultra-heavy-duty air conditioning, and a side order of Halon fire extinguishers.
See boa.
(1995-11-17)

dinosaurs mating
humour The activity said to occur when yet another big iron merger or buy-out occurs; reflects a perception by hackers that these signal another stage in the long, slow dying of the mainframe industry. Also described as elephants mating : lots of noise and action at a high level, with an eventual outcome in the somewhat distant future.
In its glory days of the 1960s, it was IBM and the Seven Dwarves : Burroughs, Control Data, General Electric, Honeywell, NCR, RCA, and Univac. Early on, RCA sold out to Univac and GE also sold out, and it was IBM and the BUNCH (an acronym for Burroughs, Univac, NCR, Control Data, and Honeywell) for a while. Honeywell was bought out by Bull.
Univac in turn merged with Sperry to form Sperry/Univac, which was later merged (although the employees of Sperry called it a hostile takeover) with Burroughs to form Unisys in 1986 (this was when the phrase dinosaurs mating was coined). In 1991 AT T absorbed NCR, only to spit it out again in 1996. Unisys bought Convergent Technologies in 1988 and later others.
More such earth-shaking unions of doomed giants seem inevitable.
[More dates?]
[Jargon File]
(1998-07-10)

diode
hardware, electronics A semiconductor device which conducts electric current run in one direction only. This is the simplest kind of semiconductor device, it has two terminals and a single PN junction. One diode can be used as a half-wave rectifier or four as a full-wave rectifier.
(1995-03-14)

Diophantine equation
mathematics Equations with integer coefficients to which integer solutions are sought. Because the results are restricted to integers, different algorithms must be used from those which find real solutions.
[More details?]
(1998-08-27)

DIP
1. Dual In-line Package.
2. Document Image Processing.

diplex
communications (From telegraphy) Two simultaneous transmissions in one direction.
Compare: duplex.
(2000-03-30)

Direct-Access Storage Device
hardware (DASD) IBM mainframe terminology for a disk drive, in contrast with a tape drive which is a sequential access device.
(1995-03-01)

Direct Client to Client Protocol
networking (DCC) An IRC protocol created to allow users to chat privately and to send and receive files directly instead of having to go thorugh the IRC servers. DCC protects users from being monitored by IRC Server operators that have enabled conversation logging. It also allows much more efficient use of available bandwidth as the data does not need to be broadcast all over the world just to reach a specific user.
The available DCC commands include DCC CHAT (direct user to user chat), DCC SEND (direct user to user file send) and DCC GET (file acknowledgement from a receiver).
(1995-04-12)

Direct Connection
A re-seller of Internet connections to the PIPEX backbone.

directed acyclic graph
(DAG) A directed graph containing no cycles. This means that if there is a route from node A to node B then there is no way back.
(1994-12-07)

directed graph
(digraph) A graph with one-way edges.
See also directed acyclic graph.
(1994-11-11)

Directed Oc
language (Doc) A language related to Oc.
[ Programming Language Doc and Its Self-Description, or 'X=X Is Considered Harmful' , M. Hirata, Proc 3rd Conf Japan Soc Soft Sci Tech, pp. 69-72, 1986].
(1999-10-08)

directed set
theory A set X is directed under some relation, = (less than or equal), if it is non-empty and if for any two elements x and y there exists an element z such that x = z and y = z. I.e. all pairs have an upper bound.
(1994-11-11)

Direct Inward Dialing
communications (DID) A service offered by telephone companies which allows the last 3 or 4 digits of a phone number to be transmitted to the destination exchange.
For example, a company could have 10 incoming lines, all with the number 234 000. If a caller dials 234 697, the call is sent to 234 000 (the company's exchange), and the digits 697 are transmitted. The company's exchange then routes the call to extension 697. This gives the impression of 1000 direct dial lines, whereas in fact there are only 10. Obviously, only 10 at a time can be used.
This system is also used by fax servers. Instead of an exchange at the end of the 234 000 line, a computer running fax server software and fax modem cards uses the last three digits to identify the recipient of the fax. This allows 1000 people to have their own individual fax numbers, even though there is only one 'fax machine'.
Dictionary of PC Hardware and Data Communications Terms (http://www.ora.com/reference/dictionary/terms/D/Direct_Inward_Dialing.htm)
(1997-06-29)

directional coupler
communications (tap) A passive device used in cable systems to divide and combine radio frequency signals. A directional coupler has at least three ports: line in, line out, and the tap. The signal passes between line in and line out ports with loss referred to as the insertion loss. A small portion of the signal power applied to the line in port passes to the tap port. A signal applied to the tap port is passed to the line in port less the tap attenuation value. The tap signals are isolated from the line out port to prevent reflections. A signal applied to the line out port passes to the line in port and is isolated from the tap port. Some devices provide more than one tap output line (multi-taps).
(1995-12-23)

Directly Executable Test Oriented Language
language (DETOL) A simple language to control a specific type of test equipment.
[ Improved DETOL Programming Manual for the Series 5500 Automatic Test System , Pub. 5500-31-0-1, AAI Corporation Sep 1973].
(1995-09-29)

direct mapped cache
architecture A cache where the cache location for a given address is determined from the middle address bits. If the cache line size is 2^n then the bottom n address bits correspond to an offset within a cache entry. If the cache can hold 2^m entries then the next m address bits give the cache location. The remaining top address bits are stored as a tag along with the entry.
In this scheme, there is no choice of which block to flush on a cache miss since there is only one place for any block to go. This simple scheme has the disadvantage that if the program alternately accesses different addresses which map to the same cache location then it will suffer a cache miss on every access to these locations. This kind of cache conflict is quite likely on a multi-processor. See also fully associative cache, set associative cache.

Direct Memory Access
architecture (DMA) A facility of some architectures which allows a peripheral to read and write memory without intervention by the CPU. DMA is a limited form of bus mastering.
(1996-08-23)

directory
file system A node in a hierarchical file system which contains zero or more other nodes - generally, files or other directories.
Compare folder.
(1997-04-10)

Directory Access Protocol
X.500 protocol used for communication between a Directory User Agent and a Directory System Agent.

directory service
database, networking A structured repository of information on people and resources within an organisation, facilitating management and communication.
On a LAN or WAN the directory service identifies all aspects of the network including users, software, hardware, and the various rights and policies assigned to each. As a result applications access information without knowing where a particular resource is physically located and users interact oblivious to the network topology and protocols.
To allow heterogeneous networks to share directory information the ITU proposed a common structure called X.500. However, its complexity and lack of seamless Internet support led to the development of Lightweight Directory Access Protocol (LDAP) which has continued to evolve under the aegis of the IETF. Despite its name LDAP is too closely linked to X.500 to be lightweight .
LDAP was adopted by several companies such as Netscape Communications Corporation (Netscape Directory Server) and has become a de facto standard for directory services. Other LDAP compatible offerings include Novell, Inc.'s Novell Directory Services (NDS) and Microsoft Corporation's Active Directory. The Netscape and Novell products are available for Windows NT and Unix platforms. Novell Directory Services also run on Novell platforms. Microsoft Corporation's Active Directory is an integral part of Microsoft's Windows 2000 and although it can interface with directory services running on other systems it is not available for other platforms.
(2001-01-02)

Directory System Agent
(DSA) The software that provides the X.500 Directory Service for a portion of the directory information base. Generally, each DSA is responsible for the directory information for a single organisation or organisational unit.
(1994-12-07)

Directory User Agent
(DUA) The software that accesses the X.500 Directory Service on behalf of the directory user. The directory user may be a person or another software element.
(1994-12-07)

DirectX
programming, hardware A Microsoft programming interface standard, first included with Windows 95. DirectX gives (games) programmers a standard way to gain direct access to enhanced hardware features under Windows 95 instead of going via the Windows 95 GDI. Some DirectX code runs faster than the equivalent under MS DOS.
DirectX promises performance improvements for graphics, sound, video, 3D, and network capabilites of games, but only where both hardware and software support DirectX.
DirectX 2 introduced the Direct3D interface. Version 5 was current at 1998-02-01. Version 8.1 is included in Windows XP.
Current version: 8.1 (as of 2001-12-31).
Home (http://www.microsoft.com/directx/).
(2001-12-31)

Dirt
Design In Real Time

dirtball
(XEROX PARC) A small, perhaps struggling outsider; not in the major or even the minor leagues. For example, Xerox is not a dirtball company .
Outsiders often observe in the PARC culture an institutional arrogance which usage of this term exemplifies. The brilliance and scope of PARC's contributions to computer science have been such that this superior attitude is not much resented. - ESR
[Jargon File]
(1994-12-07)

dirty power
Electrical mains voltage that is unfriendly to the delicate innards of computers. Spikes, drop-outs, average voltage significantly higher or lower than nominal, or just plain noise can all cause problems of varying subtlety and severity (these are collectively known as power hits).
[Jargon File]

DISA
1. body Defense Information Systems Agency.
2. standard Data Interchange Standards Association.
(1999-09-18)

disc
storage, spelling British spelling of disk , normally only used for compact disc .
(1995-07-30)

disc drive
disc

disclaimer
networking Statement ritually appended to many Usenet postings (sometimes automatically, by the posting software) reiterating the fact (which should be obvious, but is easily forgotten) that the article reflects its author's opinions and not necessarily those of the organisation running the computer through which the article entered the network.
[Jargon File]
(1995-07-30)

disconnect
SCSI reconnect

Discordianism
recreation /dis-kor'di-*n-ism/ The veneration of Eris, also known as Discordia; widely popular among hackers. Discordianism was popularised by Robert Shea and Robert Anton Wilson's novel Illuminatus! as a sort of self-subverting Dada-Zen for Westerners - it should on no account be taken seriously but is far more serious than most jokes. Consider, for example, the Fifth Commandment of the Pentabarf, from Principia Discordia : A Discordian is Prohibited of Believing What he Reads. Discordianism is usually connected with an elaborate conspiracy theory/joke involving millennia-long warfare between the anarcho-surrealist partisans of Eris and a malevolent, authoritarian secret society called the Illuminati.
See Religion, Church of the SubGenius, and ha ha only serious.
[Jargon File]
(1997-04-12)

discrete cosine transform
mathematics (DCT) A technique for expressing a waveform as a weighted sum of cosines.
The DCT is central to many kinds of signal processing, especially video compression.
Given data A(i), where i is an integer in the range 0 to N-1, the forward DCT (which would be used e.g. by an encoder) is:
B(k) = sum A(i) cos((pi k/N) (2 i + 1)/2)
i=0 to N-1
B(k) is defined for all values of the frequency-space variable k, but we only care about integer k in the range 0 to N-1. The inverse DCT (which would be used e.g. by a decoder) is:
AA(i)= sum B(k) (2-delta(k-0)) cos((pi k/N)(2 i + 1)/2)
k=0 to N-1
where delta(k) is the Kronecker delta.
The main difference between this and a discrete Fourier transform (DFT) is that the DFT traditionally assumes that the data A(i) is periodically continued with a period of N, whereas the DCT assumes that the data is continued with its mirror image, then periodically continued with a period of 2N.
Mathematically, this transform pair is exact, i.e. AA(i) == A(i), resulting in lossless coding; only when some of the coefficients are approximated does compression occur.
There exist fast DCT algorithms in analogy to the Fast Fourier Transform.
(1997-03-10)

discrete Fourier transform
mathematics (DFT) A Fourier transform, specialized to the case where the abscissas are integers.
The DFT is central to many kinds of signal processing, including the analysis and compression of video and sound information.
A common implementation of the DFT is the Fast Fourier Transform (FFT).
See also discrete cosine transform.
(1997-03-10)

discrete preorder
mathematics A preorder is said to be discrete if any two of its elements are incomparable.
(1995-09-21)

discriminated union
theory The discriminated union of two sets A and B is
A + B = (inA, a) | a in A U (inB, b)| b in B
where inA and inB are arbitrary tags which specify which summand an element originates from.
A type (especially an algebraic data type) might be described as a discriminated union if it is a sum type whose objects consist of a tag to say which part of the union they belong to and a value of the corresponding type.
(1995-04-25)

discussion group
messaging Any system that supports group messaging, e.g. a shared mailbox, Usenet, bulletin board system, or possibly a mailing list, used to publish messages on some particular topic.
(2000-11-16)

Disiple
language, DSP A DSP language.
[ A Compiler that Easily Retargets High Level Language Programs for Different Signal Processing Architectures , J.E. Peters S.M. Dunn, Proc ICASSP 89, pp. 1103-1106, May 1989].
(2000-11-16)

disjoint union
In domain theory, a union (or sum) which results in a domain without a least element.

Disjunctive Normal Form
(DNF) A logical formula consisting of a disjunction of conjunctions where no conjunction contains a disjunction. E.g. the DNF of (A or B) and C is (A and C) or (B and C).
(1994-12-07)

disk
storage 1. magnetic disk.
2. compact disc.
3. optical disk.
Note: the american spelling, disk , is normal for most computer disks whereas compact disc , having come to computers via the audio world, is correctly spelled with a c , indeed, this spelling is part of the CD standard.
(1995-07-30)

disk controller
hardware, storage (Or hard disk controller , HDC) The circuit which allows the CPU to communicate with a hard disk, floppy disk or other kind of disk drive.
The most common disk controllers in use are IDE and SCSI controllers. Most home personal computers use IDE controllers. High end PCs, workstations and network file servers mostly have SCSI adaptors.
(1998-03-16)

disk drive
hardware, storage (Or hard disk drive , hard drive , floppy disk drive , floppy drive ) A peripheral device that reads and writes hard disks or floppy disks. The drive contains a motor to rotate the disk at a constant rate and one or more read/write heads which are positioned over the desired track by a servo mechanism. It also contains the electronics to amplify the signals from the heads to normal digital logic levels and vice versa.
In order for a disk drive to start to read or write a given location a read/write head must be positioned radially over the right track and rotationally over the start of the right sector.
Radial motion is known as seeking and it is this which causes most of the intermittent noise heard during disk activity. There is usually one head for each disk surface and all heads move together. The set of locations which are accessible with the heads in a given radial position are known as a cylinder . The seek time is the time taken to seek to a different cylinder.
The disk is constantly rotating (except for some floppy disk drives where the motor is switched off between accesses to reduce wear and power consumption) so positioning the heads over the right sector is simply a matter of waiting until it arrives under the head. With a single set of heads this rotational latency will be on average half a revolution but some big drives have multiple sets of heads spaced at equal angles around the disk.
If seeking and rotation are independent, access time is seek time + rotational latency. When accessing multiple tracks sequentially, data is sometimes arranged so that by the time the seek from one track to the next has finished, the disk has rotated just enough to begin accessing the next track.
See also sector interleave.
The disks may be removable disks; floppy disks always are, removable hard disks were common on mainframes and minicomputers but less so on microcomputers until the mid 1990s(?) with products like the Zip Drive.
A CD-ROM drive is not usually referred to as a disk drive.
Two common interfaces for disk drives (and other devices) are SCSI and IDE. ST506 used to be common in microcomputers (in the 1980s?).
(1997-04-15)

disk duplexing
hardware, storage A variation on disk mirroring where, as well as redundant disk drives, a second disk controller or host adapter is also present.
(1996-02-22)

diskette
floppy disk

disk farm
jargon (Or laundromat ) A large room or rooms filled with disk drives (especially washing machines).
[Jargon File]
(1995-03-27)

diskless workstation
computer, networking A personal computer or workstation which has neither a hard disk nor floppy disk drive and which performs all file access via a local area network connection to a file server. The lowest level bootstrap code is stored in non-volatile storage. This uses a simple protocol such as BOOTP to request and download more sophisticated boot code and eventually, the operating system.
The archtypal product was the 3Station developed by Bob Metcalfe at 3Com. Another example was the Sun 3/50.
Diskless workstations are ideal when many users are running the same application. They are small, quiet, more reliable than products with disks, and help prevent both the theft of data and the introduction of viruses since the software and data available on them is controlled by the network administrator or system administrator. They do however rely on a server which becomes a disadvantage if it is heavily loaded or down.
See also breath-of-life packet.
(1995-03-28)

disk mirroring
hardware, storage Use of one or more mirrors of a hard disk.
(1996-02-17)

Disk Operating System
operating system (DOS) The original disk operating system from IBM.
DOS was the low-end OS of choice on the IBM 360, the high-end system was called just OS . DOS had a smaller kernel and less functionality than OS and could run on the typical 32K 360/30 and 64K 360/40 class machines.
DOS was a successor to TOS.
(1999-01-20)

disk operating system
operating system (DOS) The name of a number of operating systems which include facilities for storing files on disk. Such a system must handle physical disk I/O, the mapping of file names to disk addresses and protection of files from unauthorised access (in a multi-user system).
A DOS should present a uniform interface to different storage device such as floppy disks, hard disks and magnetic tape drives. It may also provide some kind of locking to prevent unintentional simultaneous access by two processes to the same file (or record).
(1998-07-08)

disk striping
data striping

Dislang
language
[ Dislang: A Distributed Programming Language/System , C. Li et al, Proc 2nd Intl Conf Distrib Comp Sys, IEEE 1981, pp. 162-172].
(1995-05-10)

display
1. hardware monitor.
2. language A vector of pointers to activation records. The Nth element points to the activation record containing variables declared at lexical depth N. This allows faster access to variables from outer scopes than the alternative of linked activation records (but most variable accesses are either local or global or occasionally to the immediately enclosing scope). Displays were used in some ALGOL implementations.
(1996-02-22)

display hack
graphics A program with the same approximate purpose as a kaleidoscope: to make pretty pictures. Famous display hacks include munching squares, smoking clover, the BSD Unix rain(6) program, worms(6) on miscellaneous Unixes, and the X kaleid(1) program. Display hacks can also be implemented without programming by creating text files containing numerous escape sequences for interpretation by a video terminal; one notable example displayed, on any VT100, a Christmas tree with twinkling lights and a toy train circling its base. The hack value of a display hack is proportional to the aesthetic value of the images times the cleverness of the algorithm divided by the size of the code. Synonym psychedelicware.
[Jargon File]
(1995-05-10)

Display PostScript
An extended form of PostScript permitting its interactive use with bitmap displays.

display standard
hardware IBM and others have introduced a bewildering plethora of graphics and text display standards for IBM PCs. The standards are mostly implemented by plugging in a video display board (or graphics adaptor ) and connecting the appropriate monitor to it. Each new standard subsumes its predecessors. For example, an EGA board can also do CGA and MDA.
With the PS/2, IBM introduced the VGA standard and built it into the main system board motherboard. VGA is also available as a plug-in board for PCs from third-party vendors. Also with the PS/2, IBM introduced the 8514 high-resolution graphics standard. An 8514 adaptor board plugs into the PS/2, providing a dual-monitor capability.
Graphics software has to support the major IBM graphics standards and many non-IBM, proprietary standards for high-resolution displays. Either software vendors provide display drivers, or display vendors provide drivers for the software package. In either case, switching software or switching display systems is fraught with compatibility problems.
Display Resolution Colours SponsorSystems
MDA 720x350 T 2 IBM PC
CGA 320x200 4 IBM PC
EGA 640x350 16 IBM PC
PGA 640x480256 IBM PC
Hercules 729x348 2 non-IBMPC
MCGA 720x400 T
320x200 G256PS/2
VGA 720x400 T
640x480 G 16
SVGA 800x600 16VESA
XVGA 1024x768256(IBM name: 8514)
T: text, G: graphics.
More colours are available from third-party vendors for some display types.
See also MDA, CGA, EGA, PGA, Hercules, MCGA, VGA, SVGA, 8514, VESA.

display standards
display standard

display terminal
visual display unit

Dissociated Press
[Play on Associated Press ; perhaps inspired by a reference in the 1949 Bugs Bunny cartoon What's Up, Doc? ] An algorithm for transforming any text into potentially humorous garbage even more efficiently than by passing it through a marketroid. The algorithm starts by printing any N consecutive words (or letters) in the text. Then at every step it searches for any random occurrence in the original text of the last N words (or letters) already printed and then prints the next word or letter. Emacs has a handy command for this. Here is a short example of word-based Dissociated Press applied to an earlier version of the Jargon File:
wart: A small, crocky feature that sticks out of an array (C has no checks for this). This is relatively benign and easy to spot if the phrase is bent so as to be not worth paying attention to the medium in question.
Here is a short example of letter-based Dissociated Press applied to the same source:
window sysIWYG: A bit was named aften /bee't*/ prefer to use the other guy's re, especially in every cast a chuckle on neithout getting into useful informash speech makes removing a featuring a move or usage actual abstractionsidered interj. Indeed spectace logic or problem!
A hackish idle pastime is to apply letter-based Dissociated Press to a random body of text and vgrep the output in hopes of finding an interesting new word. (In the preceding example, window sysIWYG and informash show some promise.) Iterated applications of Dissociated Press usually yield better results. Similar techniques called travesty generators have been employed with considerable satirical effect to the utterances of Usenet flamers; see pseudo.
[Jargon File]

distfix
programming ( distributed fixity ?) A description of an operator represented by multiple symbols before, between, and/or after the arguments.
The classical example is the C conditional operator, ?: which is written
E1 ? E2 : E3
If E1 is true it returns E2 otherwise it returns E3. Several functional programming languages, e.g. Hope, Haskell, have similar operators ( if E1 then E2 else E3 ).
Objective C messages are effectively distfix operator applications:
getRow:row andColumn:col ofCell:cell
is a message with three arguments, row, col, and cell.
(1997-01-21)

Distributed Component Object Model
programming (DCOM) Microsoft's extension of their Component Object Model (COM) to support objects distributed across a network. DCOM has been submitted to the IETF as a draft standard. Since 1996, it has been part of Windows NT and is also available for Windows 95.
Unlike CORBA, which runs on many operating systems, DCOM is currently (Dec 1997) only implemented by Microsoft for Microsoft Windows and by Software AG, under the name EntireX , for Unix and IBM mainframes. DCOM serves the same purpose as IBM's DSOM protocol.
DCOM is broken because it's an object model that has no provisions for inheritance, one of the major reasons for object oriented programming in the first place.
Home (http://www.microsoft.com/com/tech/DCOM.asp).
[Details?]
(2000-08-02)

Distributed Computing Environment
(DCE) An architecture consisting of standard programming interfaces, conventions and server functionalities (e.g. naming, distributed file system, remote procedure call) for distributing applications transparently across networks of heterogeneous computers. DCE is promoted and controlled by the Open Software Foundation (OSF).
Usenet newsgroup: news:comp.soft-sys.dce.
(http://www.dstc.edu.au/AU/research_news/dce/dce.html)
(1994-12-07)

distributed database
A collection of several different databases that looks like a single database to the user. An example is the Internet Domain Name System (DNS).
(1994-12-07)

Distributed Data Management
protocol, database (DDM) An IBM data protocol architecture for data management services across distributed systems in an SNA environment.
DDM provides a common data management language for data interchange among different IBM system platforms.
Products supporting DDM include AS/400, System/36, System/38 and CICS/DDM.
On the AS/400, DDM controls remote file processing. DDM enables application programs running on one AS/400 system to access data files stored on another system supporting DDM. Similarly, other systems that have DDM can access files in the database of the local AS/400 system. DDM makes it easier to distribute file processing between two or more systems.
OS/400 Distributed Data Management V3R6 Reference (http://as400bks.rochester.ibm.com/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/QBJALH00/CCONTENTS).
(1999-04-26)

Distributed Eiffel
[ Distributed Eiffel: A Language for Programming Multi-Granular Distributed Objects on the Clouds Operating System , L. Gunaseelan et al, IEEE Conf Comp Langs, 1992].
(1994-12-07)

Distributed Logic Programming
language (DLP) A logic programming language similar to Prolog, combined with parallel object orientation similar to POOL. DLP supports distributed backtracking over the results of a rendezvous between objects. Multi-threaded objects have autonomous activity and may simultaneously evaluate method calls.
[ DLP: A Language for Distributed Logic Programming , A. Eliens, Wiley 1992].
(1996-01-07)

Distributed Management Environment
(DME) An OSF standard. It had reached the RFT stage.
(1995-02-22)

distributed memory
architecture The kind of memory in a parallel processor where each processor has fast access to its own local memory and where to access another processor's memory it must send a message via the inter-processor network.
Opposite: shared memory.
(1995-03-22)

Distributed Network Operating System
operating system (DNOS) A proprietary operating system for Texas Instruments 990-series minicomputers.
(1996-04-01)

Distributed Operating Multi Access Interactive Network
(DOMAIN) The proprietary network protocol used by Apollo workstations.
(1995-02-16)

Distributed Processes
(DP) The first concurrent language based on remote procedure calls.
[ Distributed Processes: A Concurrent Programming Concept , Per Brinch Hansen CACM 21(11):934-940 (Nov 1978)].
(1994-12-02)

Distributed Queue Dual Bus
networking, standard (DQDB) An IEEE standard for metropolitan area networks.
(http://www.ece.wpi.edu/~vlad/ee535/hw5/page1.html).
[Details?]
(2000-08-02)

Distributed Smalltalk
[ The Design and Implementation of DIstributed Smalltalk , J. Bennett, SIGPLAN Notices 22(12):318-330 (Dec 1980)].
(1994-12-02)

distributed system
A collection of (probably heterogeneous) automata whose distribution is transparent to the user so that the system appears as one local machine. This is in contrast to a network, where the user is aware that there are several machines, and their location, storage replication, load balancing and functionality is not transparent. Distributed systems usually use some kind of client-server organisation.
Distributed systems are considered by some to be the next wave of computing.
Distributed Computing Environment is the Open Software Foundation's software architecture for distributed systems.
(http://www.dstc.edu.au/AU/research_news/dist-env.html)
(1994-12-06)

distributed systems
distributed system

distribution
1. software A software source tree packaged for distribution; but see kit.
2. messaging A vague term encompassing mailing lists and Usenet newsgroups (but not BBS fora); any topic-oriented message channel with multiple recipients.
3. messaging An information-space domain (usually loosely correlated with geography) to which propagation of a Usenet message is restricted; a much-underused feature.
[Jargon File]

distributive lattice
theory A lattice for which the least upper bound (lub) and greatest lower bound (glb) operators distribute over one another so that
a lub (b glb c) == (a lub c) glb (a lub b)
and vice versa.
( lub and glb are written in LateX as sqcup and sqcap).
(1998-11-09)

disusered
(Usenet) Said of a person whose account on a computer has been removed, especially for cause rather than through normal attrition. He got disusered when they found out he'd been cracking through the school's Internet access. The verb disuser is less common. Both usages probably derive from the DISUSER account status flag on VMS; setting it disables the account.
[Jargon File]
(1994-12-08)

dithering
A technique used in computer graphics to create additional colors and shades from an existing palette by interspersing pixels of different colours. On a monochrome display, areas of grey are created by varying the proportion of black and white pixels. In color displays, colors and textures are created by varying the proportions of existing colors. The different colours can either be distributed randomly or regularly. The higher the resolution of the display, the smoother the dithered colour will appear to the eye.
Dithering is used to create patterns for use as backgrounds, fills and shading, as well as for creating halftones for printing. It is also used in anti-aliasing in order to make jagged lines appear smoother on screen.
(1994-11-02)

Ditto Drive
hardware, storage The Ditto tape drives range in capacity from 120 megabytes to 1.6 gigabytes (data compression can roughly double these figures). The newer devices are designed for special tapes, though they will read standard tape types.
The largest of tape stores up 3.2 GB. Using an enhanced floppy drive card the transfer rate approaches the claimed 19 MB/minute. External parallel port versions are also available.
Compatibility details (http://www.iomega.com/support/techs/ditto/3040.html).
(1997-03-26)

diverge
If a series of approximations to some value get progressively further from it then the series is said to diverge.
The reduction of some term under some evaluation strategy diverges if it does not reach a normal form after a finite number of reductions.
(1994-12-08)

divisor
A quantity that evenly divides another quantity.
Unless otherwise stated, use of this term implies that the quantities involved are integers. (For non-integers, the more general term factor may be more appropriate.)
Example: 3 is a divisor of 15.
Example: 3 is not a divisor of 14.
(1997-03-07)

dj
networking The country code for Djibouti.
(1999-01-27)

DJGPP
tool A 32-bit GNU C/C++/etc development system for MS-DOS.
Home (http://www.delorie.com/djgpp/)
Address: DJ Delorie, Rochester, NH, USA.
(1995-04-10)

DjVu
application, compression, file format, graphics, World-Wide Web (pronounced like deja vu ) An image compression algorithm and software developped by Yann LeCun's research group at AT T Labs, which provides high resolution digital images for distribution over the Internet. DjVu is five to 20 times more efficient than JPEG or GIF. A free web browser plug-in allows users to display DjVu images.
Home (http://djvu.research.att.com/).
(1999-10-07)

DK
Datakit

dk
networking The country code for Denmark.
(1999-01-27)

DL/1
Query language, linear keyword.

DLC
Data Link Control

DLCI
Data Link Connection Identifier
[Is this correct?]
(1997-03-01)

DLE
character Data Link Escape, the mnemonic for ASCII 16.
(1996-06-24)

DLG
(DFA-based Lexical analyser Generator) The lexical analyser generator in the Purdue Compiler-Construction Tool Set.

DL/I
The data manipulation language of IMS.

DLL
1. networking Data Link Layer.
2. library Dynamically Linked Library.
3. Dial Long Line equipment.
(2000-04-05)

DLM
Distributed Lock Manager on distributed VMS systems.

DLP
language Distributed Logic Programming.
(1996-01-07)

DLPI
Data Link Provider Interface

DLT
Digital Linear Tape

DLUR/DLUS
networking Dependent Logical Unit Requester/Server. The DLUR function is an APPN enhancement for an end node or network node that supports dependent LUs. The DLUS function is a product feature of an interchange node or a T5 network node supporting session services extensions.
(http://booksrv2.raleigh.ibm.com/cgi-bin/bookmgr/bookmgr.cmd/BOOKS/DLUR7/).
(1997-05-08)

DLZ1
Digital Lempel Ziv 1

dm
networking The country code for Dominica.
(1999-01-27)

DMA
Direct Memory Access

DMAD
Diagnostic Machine Aid-Digital. A system for functional testing of digital devices.
[ DMAD M/MM Manual , BR-8392, Raytheon Co. (Oct 1973)]
(1994-11-02)

dmake
Required by uC++.
(ftp://plg.uwaterloo.ca/pub/dmake/dmake38.tar.Z)
[What is it?]
(1994-11-02)

DMALGOL
ALGOL with extensions to interface to DMS II, the Burroughs database.
(1995-02-22)

DME
Distributed Management Environment

DMI
Desktop Management Interface

DML
language
1. Data Manipulation Language.
2. Data Management Language.
3. [ DML: A Meta-language and System for the Generation of Practical and Efficient Compilers from Denotational Specifications , M. Pettersson et al, IEEE Conf Comp Langs, 1992].
(1999-04-27)

DMM
Digital Multimeter

DMTF
Desktop Management Task Force

DMZ
De-Militarised Zone

DNA computing
architecture The use of DNA molecules to encode computational problems. Standard operations of molecular biology can then be used to solve some NP-hard search problems in parallel using a very large number of molecules. The exponential scaling of NP-hard problems still remains, so this method will require a huge amount of DNA to solve large problems.
[L. M. Adleman, Molecular Computation of Solutions to Combinatorial Problems , Science 266:1021-1024, 1994].
(1997-02-11)

DNF
disjunctive normal form

DNIS
Dialled Number Identification Service

DNIX
operating system A flavor of Unix that is proprietary to Olivetti and Wang Global.
[Details? Reference?]
(2000-12-16)

DNOS
Distributed Network Operating System

DNS
1. Domain Name System.
2. Distributed Name Service. See DECdns.

do
1. programming repeat loop.
2. networking The country code for Dominican Republic.
(1999-06-10)

DOA
jargon Dead on arrival. A piece of hardware that has never worked.
(2000-12-19)

Doc
Directed Oc

doc
/dok/ Common spoken and written shorthand for documentation . Often used in the plural docs and in the construction doc file (i.e. documentation available on-line).
[Jargon File]

docking station
hardware A desktop mains powered unit into which a laptop or other portable computer can be connected via fixed connectors at the rear of the computer to provide quick and convenient connection of peripherals not normally used with a laptop. These can include power supply, expansion cards, additional storage, an external monitor, network card, CD-ROM, full-size keyboard, printer, and mouse. The alternative would require each of the above to be connected to the laptop individually.
(2000-04-10)

DOCMaker
text, tool, product An application for the Apple Macintosh which creates stand-alone, self-running document files. It features scrollable and re-sizable windows, graphics, varied text styles and fonts, full printing capability, and links to other software and information.
Companies such as Federal Express, GTE, Hewlett-Packard, Iomega, Adobe Systems, Inc., Apple Computer and Aladdin use DOCMaker to distribute disk-based documentation with their products.
(http://www.hsv.tis.net/~greenmtn/docm1.html)
(1998-01-27)

doco
jargon /do'koh/ 1. (In-house jargon at Symbolics) A documentation writer.
See also devo and mango.
2. (UK) A short technical document. A doco is often not the documentation passed to management.
Compare doc.
[Jargon File]
(1999-10-08)

DOCSIS
Data Over Cable Service Interface Specification

document
A term used on some systems (e.g. Intermedia) for a hypertext node. It is sometimes used for a collection of nodes on related topics, possibly stored or distributed as one.

documentation
The multiple kilograms of macerated, pounded, steamed, bleached, and pressed trees that accompany most modern software or hardware products (see also tree-killer). Hackers seldom read paper documentation and (too) often resist writing it; they prefer theirs to be terse and on-line. A common comment on this predilection is You can't grep dead trees . See drool-proof paper, verbiage, treeware.
[Jargon File]

Document Examiner
hypertext, tool A high-performance hypertext system by Symbolics that provides on-line access to their user documentation.
(1995-04-16)

Document Image Processing
(DIP) Storage, management and retrieval of images.
(1994-11-11)

Document Object Model
hypertext, language, World-Wide Web A W3C specification for application program interfaces for accessing the content of HTML and XML documents.
Home (http://www.w3.org/DOM/).
(1999-12-14)

Document Style Semantics and Specification Language
(DSSSL) An ISO standard under preparation, addressing the semantics of high-quality composition in a manner independent of particular formatting systems or processes. DSSSL is intended as a complementary standard to SGML for the specification of semantics.

Document Type Definition
text, standard (DTD) The definition of a document type in SGML or XML, consisting of a set of mark-up tags and their interpretation.
Docbook DTD home (http://www.oasis-open.org/docbook/).
XML DTD Tutorial (http://www.xml101.com/dtd).
(2001-04-30)

DOCUS
Display Oriented Computer Usage System. Interactive system using push buttons. Sammet 1969, p.678

DoD
1. body Department of Defense.
2. Dial on Demand.
(2000-03-25)

DoD-1
Unofficial name of the language that became Ada.

dodgy
Synonym with flaky. Preferred outside the US
[Jargon File]

DOD-STD-2167A
standard A DoD standard specifying the overall process for the development and documentation of mission-critical software systems.
(1996-05-28)

DoD-STD-2168
standard A DoD standard for software quality assurance procedures.
(1996-05-29)

DOE
Distributed Object Environment: a distributed object-oriented application framework from SunSoft.

DOF
degrees of freedom

dogcow
/dog'kow/ See Moof.
[Jargon File]

dogpile
(Usenet, probably from mainstream puppy pile ) When many people post unfriendly responses in short order to a single posting, they are sometimes said to dogpile or dogpile on the person to whom they're responding. For example, when a religious missionary posts a simplistic appeal to alt.atheism, he can expect to be dogpiled.
(1994-12-08)

dogwash
/dog'wosh/ (A quip in the urgency field of a very optional software change request, ca. 1982. It was something like Urgency: Wash your dog first ) A project of minimal priority, undertaken as an escape from more serious work. Many games and much freeware get written this way, including this dictionary.
[Jargon File]
(1994-12-08)

DOL
Display Oriented Language. Subsystem of DOCUS. Sammet 1969, p.678.

dollar
$
Common: ITU-T: dollar sign. Rare: currency symbol; buck; cash; string (from BASIC); escape (when used as the echo of ASCII ESC); ding; cache; INTERCAL: big money.
(1995-03-06)

do loop
repeat loop

DOM
Document Object Model

domain
1. mathematics In the theory of functions, the set of argument values for which a function is defined.
See domain theory.
2. networking A group of computers whose hostnames share a common suffix, the domain name . The last component of this is the top-level domain.
See administrative domain, Domain Name System, fully qualified domain name.
3. Distributed Operating Multi Access Interactive Network.
4. programming A specific phase of the software life cycle in which a developer works. Domains define developers' and users' areas of responsibility and the scope of possible relationships between products.
5. The subject or market in which a piece of software is designed to work.
(1997-12-26)

domain address
networking The name of a host on the Internet belonging to the hierarchy of Internet domains.
(1994-10-27)

Domain Analysis
systems analysis 1. Determining the operations, data objects, properties and abstractions appropriate for designing solutions to problems in a given domain.
2. The domain engineering activity in which domain knowledge is studied and formalised as a domain definition and a domain specification. A software reuse approach that involves combining software components, subsystems, etc., into a single application system.
3. The process of identifying, collecting organising, analysing and representing a domain model and software architecture from the study of existing systems, underlying theory, emerging technology and development histories within the domain of interest.
4. The analysis of systems within a domain to discover commonalities and differences among them.
(1997-12-26)

domain architecture
systems analysis A generic, organisational structure or design for software systems in a domain. The domain architecture contains the designs that are intended to satisfy requirements specified in the domain model. A domain architecture can be adapted to create designs for software systems within a domain and also provides a framework for configuring assets within individual software systems.
(1997-12-26)

Domain Architecture Model
systems analysis A set of software architectures generic to a domain that define organising frameworks for constructing new application designs and implementations within the domain, consistent with the domain requirements model.
(1997-12-26)

domain calculus
database A form of relational calculus in which scalar variables take values drawn from a given domain.
Examples of the domain calculus are ILL, FQL, DEDUCE and the well known Query By Example (QBE). INGRES is a relational DBMS whose DML is based on the relational calculus.

domain engineering
systems analysis 1. The development and evolution of domain specific knowledge and artifacts to support the development and evolution of systems in the domain. Domain engineering includes engineering of domain models, components, methods and tools and may also include asset management.
2. The engineering process of analysing and modelling a domain, designing and modelling a generic solution architecture for a product line within that domain, implementing and using reusable components of that architecture and maintaining and evolving the domain, architecture and implementation models.
3. A reuse-based approach to defining the scope (domain definition), specifying the structure (domain architecture) and building the Assets (requirements, designs, software code, documentation) for a class of systems, subsystems or applications. Domain engineering can include domain definition, domain analysis, developing the domain architecture domain implementation.

domainist
jargon /doh-mayn'ist/ 1. Said of a domain address (as opposed to a bang path) because the part to the right of the @ specifies a nested series of domains ; for example, esr@snark.thyrsus.com specifies the machine called snark in the subdomain called thyrsus within the top-level domain called com. See also big-endian.
2. Said of a site, mailer or routing program which knows how to handle domainist addresses.
3. Said of a person (especially a site admin) who prefers domain addressing, supports a domainist mailer, or proselytises for domainist addressing and disdains bang paths. This term is now (1993) semi-obsolete, as most sites have converted.
[Jargon File]
(1995-04-21)

domain maturity
systems analysis The level of stability and depth of understanding that has been achieved in an area for which applications are developed.
(1997-12-26)

domain model
systems analysis 1. A definition of the functions, objects, data, requirements, relationships and variations in a particular domain.
2. A product of domain analysis which provides a representation of the requirements of the domain. The domain model identifies and describes the structure of data, flow of information, functions, constraints and controls within the Domain that are included in software systems in the domain. The Domain Model describes commonalities and variabilities among requirements for software systems in the domain.
(1997-12-26)

domain name
fully qualified domain name

Domain Name Server
spelling Domain Name System.
(1997-12-15)

Domain Name System
networking (DNS) A general-purpose distributed, replicated, data query service chiefly used on Internet for translating hostnames into Internet addresses. Also, the style of hostname used on the Internet, though such a name is properly called a fully qualified domain name. DNS can be configured to use a sequence of name servers, based on the domains in the name being looked for, until a match is found.
The name resolution client (e.g. Unix's gethostbyname() library function) can be configured to search for host information in the following order: first in the local /etc/hosts file, second in NIS and third in DNS. This sequencing of Naming Services is sometimes called name service switching . Under Solaris is configured in the file /etc/nsswitch.conf.
DNS can be queried interactively using the command nslookup. It is defined in STD 13, RFC 1034, RFC 1035, RFC 1591.
BIND is a common DNS server.
Info from Virtual Office, Inc. (http://virtual.office.com/domains.html).
(2001-05-14)

domain selection
systems analysis The prioritisation and selection of one or more domains for which specific software reuse engineering projects are to be initiated.
(1997-12-26)

Domain Software Engineering Environment
programming (DSEE) A proprietary CASE framework and configuration management system from Apollo.
(1996-05-29)

domain-specific language
language A machine-processable language whose terms are derived from a domain model and that is used for the definition of components or software architectures supporting that domain. A domain-specific language is often used as input to an application generator.
(1997-12-26)

domain theory
theory A branch of mathematics introduced by Dana Scott in 1970 as a mathematical theory of programming languages, and for nearly a quarter of a century developed almost exclusively in connection with denotational semantics in computer science.
In denotational semantics of programming languages, the meaning of a program is taken to be an element of a domain. A domain is a mathematical structure consisting of a set of values (or points ) and an ordering relation, = on those values. Domain theory is the study of such structures.
( = is written in LaTeX as subseteq)
Different domains correspond to the different types of object with which a program deals. In a language containing functions, we might have a domain X - Y which is the set of functions from domain X to domain Y with the ordering f = g iff for all x in X, f x = g x. In the pure lambda-calculus all objects are functions or applications of functions to other functions. To represent the meaning of such programs, we must solve the recursive equation over domains,
D = D - D
which states that domain D is (isomorphic to) some function space from D to itself. I.e. it is a fixed point D = F(D) for some operator F that takes a domain D to D - D. The equivalent equation has no non-trivial solution in set theory.
There are many definitions of domains, with different properties and suitable for different purposes. One commonly used definition is that of Scott domains, often simply called domains, which are omega-algebraic, consistently complete CPOs.
There are domain-theoretic computational models in other branches of mathematics including dynamical systems, fractals, measure theory, integration theory, probability theory, and stochastic processes.
See also abstract interpretation, bottom, pointed domain.
(1999-12-09)

DOMF
Distributed Object Management Facility.
An OMG-compliant object management system; part of DOE. Produced by SunSoft.
(1994-11-04)

Donald Knuth
person Donald E. Knuth, the author of the TeX document formatting system, Metafont its font-design program and the 3 volume computer science Bible of algorithms, The Art of Computer Programming .
Knuth suggested the name Backus-Naur Form and was also involved in the SOL simulation language, and developed the WEB literate programming system.
See also MIX, Turingol.
(1994-11-04)

dongle
hardware, security /dong'gl/ (From dangle (because it dangles off the back of the computer)?) A security or copy protection device for commercial microcomputer programs that must be connected to an I/O port of the computer while the program is run. Programs that use a dongle query the port at start-up and at programmed intervals thereafter, and terminate if it does not respond with the expected validation code.
One common form consisted of a serialised EPROM and some drivers in a D-25 connector shell.
Dongles attempt to combat software theft by ensuring that, while users can still make copies of the program (e.g. for backup), they must buy one dongle for each simultaneous use of the program.
The idea was clever, but initially unpopular with users who disliked tying up a port this way. By 1993 almost all dongles passed data through transparently while monitoring for their particular magic codes (and combinations of status lines) with minimal if any interference with devices further down the line. This innovation was necessary to allow daisy-chained dongles for multiple pieces of software.
In 1998, dongles and other copy protection systems are fairly uncommon for Microsoft Windows software but one engineer in a print and CADD bureau reports that their Macintosh computers typically run seven dongles: After Effects, Electric Image, two for Media 100, Ultimatte, Elastic Reality and CADD. These dongles are made for the Mac's daisy-chainable ADB port.
The term is used, by extension, for any physical electronic key or transferable ID required for a program to function. Common variations on this theme have used the parallel port or even the joystick port or a dongle-disk.
An early 1992 advertisment from Rainbow Technologies (a manufacturer of dongles) claimed that the word derived from Don Gall , the alleged inventor of the device. The company's receptionist however said that the story was a myth invented for the ad.
[Jargon File]
(1998-12-13)

dongle-disk
/don'gl disk/ (Or key disk ) A kind of dongle consisting of a special floppy disk that is required in order to perform some task. Some contain special coding that allows an application to identify it uniquely, others *are* special code that does something that normally-resident programs don't or can't.
For example, AT T's Unix PC would only come up in root mode with a special boot disk.
[Jargon File]
(1998-12-13)

Don't do that then!
humour (From an old doctor's office joke about a patient with a trivial complaint) A stock response to a user complaint. When I type control-S, the whole system comes to a halt for thirty seconds. Well don't do that then!
[Jargon File]
(1998-12-13)

donuts
(Obsolete) A collective noun for any set of memory bits. This usage is extremely archaic and may no longer be live jargon; it dates from the days of ferrite core memories in which each bit was implemented by a doughnut-shaped magnetic flip-flop.
[Jargon File]

DOOM
games A simulated 3D moster-hunting action game for IBM PCs, created and published by id Software. The original press release was dated January 1993. A cut-down shareware version v1.0 was released on 10 December 1993 and again with some bug-fixes, as v1.4 in June 1994.
DOOM is similar to Wolfenstein 3d (id Software, Apogee) but has better texture mapping; walls can be at any angle, of any thickness and have windows; lighting can fade into the distance or come from point sources; floors and ceilings can be of any height; many surfaces are animated; up to four players can play over a network or two by serial link; it has a high frame rate (comparable to TV on a 486/33); DOOM isn't just a collection of connected closed rooms like Wolfenstein but sounds can travel anywhere and alert monsters of your approach.
The shareware version is available from these sites: Cactus (ftp://cactus.org/pub/IHHD/multi-player/), Manitoba (ftp://ftp.cc.umanitoba.ca/pub/doom/), UK (ftp://ftp.demon.co.uk/pub/ibmpc/games/id/), South Africa (ftp://ftp.sun.ac.za/pub/msdos/games/id/), UWP ftp (ftp://archive.uwp.edu/pub/msdos/games/id/), UWP http (http://archive.uwp.edu/pub/msdos/games/id/), Finland (ftp://ftp.funet.fi/pub/msdos/games/id), Washington (ftp://wuarchive.wustl.edu/pub/MSDOS_UPLOADS/games/doom).
A FAQ by Hank Leukart: UWP (ftp://ftp.uwp.edu/pub/msdos/games/id/home-brew/doom), Washington (ftp://wuarchive.wustl.edu/pub/MSDOS_UPLOADS/games/doomstuff). FAQ on WWW (http://venom.st.hmc.edu/~tkelly/doomfaq/intro.html). Other links (http://www.gamesdomain.co.uk/descript/doom.html).
Usenet newsgroups: news:rec.games.computer.doom.announce, news:rec.games.computer.doom.editing, news:rec.games.computer.doom.help, news:rec.games.computer.doom.misc, news:rec.games.computer.doom.playing, news:alt.games.doom, news:comp.sys.ibm.pc.games.action, news:comp.sys.ibm.pc.games.announce, news:comp.sys.ibm.pc.games.misc.
Mailing List: listserv@cedar.univie.ac.at ( sub DOOML in the message body, no subject).
Telephone: +44 (1222) 362 361 - the UK's first multi-player DOOM and games server.
(1994-12-14)

DOORS
Dynamic Object Oriented Requirements System

doorstop
Used to describe equipment that is non-functional and halfway expected to remain so, especially obsolete equipment kept around for political reasons or ostensibly as a backup. When we get another Wyse-50 in here, that ADM 3 will turn into a doorstop.
Compare boat anchor.
[Jargon File]

Dorito Syndrome
humour Feelings of emptiness and dissatisfaction triggered by addictive substances that lack nutritional content. I just spent six hours surfing the Web, and now I've got a bad case of Dorito Syndrome.
(1997-03-30)

DORUM
Draft Once ReUse Many

DOS
operating system 1. The common abbreviation for MS-DOS.
2. IBM's Disk Operating System.
3. Any disk operating system.
(2001-03-16)

DOS/360
operating system The operating system announced by IBM at the low end for the System/360 in 1964 and delivered in 1965 or 1966.
Following the failure of OS, IBM designed DOS for the low end machines, able to run in 16KB(?) and 64KB memory.
DOS/360 used three memory partitions, but it had no serious memory protection. The three partitions were not specialised, but frequently one was used for spooling punched cards to disk, another one for batch job execution and another for spooling disk to printers.
With DOS/VS, introduced in 1970, the number of partitions was increased, virtual memory was introduced and the minimum memory requirements increased.
Later they released DOS/VSE and ESA/VSE. DOS/360 successors are still alive today (1997) though not as popular as in the late 1960s.
Contrary to the Hacker's Jargon File, GECOS was not copied from DOS/360.
(1997-09-22)

DOS Protected Mode Interface
(DPMI) The method which Microsoft prescribes for a DOS program to access extended memory under a multitasking environment, e.g. Microsoft Windows. This service is provided by the HIMEM.SYS driver on IBM PCs.
The DPMI specification was finalized in 1990. The specification itself is available from Intel Literature Sales.
VCPI (Virtual Control Program Interface), which was an alternative, and incompatible method for doing the same thing.
[ Windows 3.1 Secrets , Brian Livingston, 1992, ISBN 1-878058-43-6, pages 280-281 and 302].
(1995-01-12)

DOS requester
networking An MS-DOS client that provides transparent redirection of printing and file accesses to a network server. It handles levels 3, 4 and 5 of the Open Systems Interconnect seven layer model.
A DOS requester under Novell NetWare will interface to a network card driver with an ODI interface, and will be either a single executable (netx.exe) or a set of VLMs that are loaded on demand.
In the IBM/Microsoft LAN Manager/SMB world, where the name DOS redirector is more common, there will be an NDIS interface driver and a net.exe executable.
NetWare Client 32 for DOS/Windows (http://developer.novell.com/research/appnotes/1996/may/01/).
(http://www.cad.strath.ac.uk/~davidm/projects/guide/requester.html).
(1998-01-05)

dot
character decimal point.
See also dot file, dot notation.
(1995-03-14)

dot address
An Internet address in dot notation.

dot file
operating system, convention A Unix application program configuration file. On Unix, files named with a leading dot are not normally shown in directory listings. Many programs define one or more dot files in which startup or configuration information may be optionally recorded; a user can customise the program's behaviour by creating the appropriate file in the current or home directory.
Dot files tend to proliferate - with every nontrivial application program defining at least one, a user's home directory can be filled with scores of dot files, without the user really being aware of it. Common examples are .profile, .cshrc, .login, .emacs, .mailrc, .forward, .newsrc, .plan, .rhosts, .sig, .xsession.
See also profile, rc file.
[Jargon File]
(1994-12-07)

dot matrix printer
hardware, printer A kind of printer with a vertical column of up to 48 small closely packed needles or pins each of which can be individually forced forwards to press an ink ribbon against the paper. The print head is repeatedly scanned across the page and different combinations of needles activated at each point.
Dot matrix printers are noisy compared to non-impact printers.
[Other pin arrangements?]
(1995-03-14)

dot notation
networking Berkeley Unix notation for an Internet address, consisting of one to four numbers (a dotted quad ) in hexadecimal (leading 0x), octal (leading 0), or (usually) decimal. It represents a 32-bit address. Each leading number represents eight bits of the address (high byte first) and the last number represents the rest. E.g. address 0x25.32.0xab represents 0x252000ab. By far the most common form is four decimal numbers, e.g. 146.169.22.42.
Many programs accept an address in dot notation in place of a hostname.
(2000-08-10)

dot pitch
hardware The distance between a dot and the closest dot of the same colour (red, green or blue) on a color CRT. Dot pitch is typically from 0.28 to 0.51 mm but large presentation monitors may go up to 1.0 mm. The smaller the dot pitch, the crisper the image, 0.31 or less provides a sharp image, especially when displaying text.
Dot pitch measurements between conventional tubes and Sony's Trinitron tubes are roughly, but not exactly comparable. Sony's CRTs use vertical stripes, not dots, and its measurement is the distance between stripes, not the diagonal distance between dots.
[ The Computer Glossary , Alan Freedman].
(1995-12-14)

dotted quad
dot notation

double bucky
Using both the CTRL and META keys. The command to burn all LEDs is double bucky F.
This term originated on the Stanford extended-ASCII keyboard, and was later taken up by users of the space-cadet keyboard at MIT. A typical MIT comment was that the Stanford bucky bits (control and meta shifting keys) were nice, but there weren't enough of them; you could type only 512 different characters on a Stanford keyboard. An obvious way to address this was simply to add more shifting keys, and this was eventually done; but a keyboard with that many shifting keys is hard on touch-typists, who don't like to move their hands away from the home position on the keyboard. It was half-seriously suggested that the extra shifting keys be implemented as pedals; typing on such a keyboard would be very much like playing a full pipe organ. This idea is mentioned in a parody of a very fine song by Jeffrey Moss called Rubber Duckie , which was published in The Sesame Street Songbook (Simon and Schuster 1971, ISBN 0-671-21036-X). These lyrics were written on May 27, 1978, in celebration of the Stanford keyboard:
Double Bucky
Double bucky, you're the one!
You make my keyboard lots of fun.
Double bucky, an additional bit or two:
(Vo-vo-de-o!)
Control and meta, side by side,
Augmented ASCII, nine bits wide!
Double bucky! Half a thousand glyphs, plus a few!
Oh,
I sure wish that I
Had a couple of
Bits more!
Perhaps a
Set of pedals to
Make the number of
Bits four:
Double double bucky!
Double bucky, left and right
OR'd together, outta sight!
Double bucky, I'd like a whole word of
Double bucky, I'm happy I heard of
Double bucky, I'd like a whole word of you!
- The Great Quux
(With apologies to Jeffrey Moss. This, by the way, is an excellent example of computer filk --- ESR).
See also meta bit, cokebottle, and quadruple bucky.
[Jargon File]
(1994-12-07)

double-click
operating system To click a mouse button twice in rapid succession without moving the mouse. Often used as a shortcut, combining the actions of selecting, and then opening a document (or activating some other kind of object) within a graphical user interface. Some text editors use double-click to select the word under the mouse pointer.
(1997-03-21)

Double Data Rate Random Access Memory
storage (DDR-RAM, DDR-SDRAM ...Synchronous...) RAM that transfers data on both 0-1 and 1-0 clock transitions, theoretically yielding twice the data transfer rate of normal RAM or SDRAM.
DDR-RAM Article (http://www.pcreview.co.uk/Article.php?aid=9).
DDR-SDRAM Article (http://www4.tomshardware.com/mainboard/00q4/001030/).
(2001-05-24)

Double Data Rate Synchronous Random Access Memory
Double Data Rate Random Access Memory

double DECkers
jargon Married couples in which both partners work for Digital Equipment Corporation.
[Jargon File]
(1994-12-07)

double density
floppy disk

doubled sig
A sig block that has been included twice in a Usenet article or, less commonly, in an electronic mail message. An article or message with a doubled sig can be caused by improperly configured software. More often, however, it reveals the author's lack of experience in electronic communication.
See BIFF, pseudo.
[Jargon File]
(1994-12-07)

double-duplex
communications (From telegraphy) A full-duplex link with two telegraphers (a sender and a receiver) at each end, to simultaneously transmit in both directions.
Compare: single-duplex.
(2000-03-30)

double quote
character ' ' ASCII character 34. Often used in programming languages to delimit strings. In Unix shells and Perl it delimits a string inside which variable substitution may occur.
Common names: quote. Rare: literal mark; double-glitch; ITU-T: quotation marks; ITU-T: dieresis; dirk; INTERCAL: rabbit-ears; double prime.
(1995-03-28)

doubly linked list
programming A data structure in which each element contains pointers to the next and previous elements in the list, thus forming a bidirectional linear list.
(1995-03-28)

DOUGLAS
An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-07)

Douglas Engelbart
person The inventor(?) of the mouse.
(http://www2.bootstrap.org/dce-bio.htm).
Tia O'Brien, The Mouse , Silicon Valley News (http://www.mercurycenter.com/svtech/news/special/engelbart/).
(http://inventors.about.com/library/weekly/aa081898.htm).
(2000-02-14)

Doug Lenat
person One of the world's leading computer scientists specialising in Artificial Intelligence. He is currently (1999) head of the Cyc Project at MCC, and President of Cycorp. He has been a Professor of Computer Science at Carnegie-Mellon University and Stanford University.
See also microLenat.
(1999-08-24)

DOW COMPILER
An early system on the Datatron 200 series.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-07)

down
1. Not operating. The up escalator is down is considered a humorous thing to say, and The elevator is down always means The elevator isn't working and never refers to what floor the elevator is on. With respect to computers, this term has passed into the mainstream; the extension to other kinds of machine is still hackish.
2. go down To stop functioning; usually said of the system. The message from the console that every hacker hates to hear from the operator is System going down in 5 minutes .
3. take down , bring down To deactivate purposely, usually for repair work or PM. I'm taking the system down to work on that bug in the tape drive. Occasionally one hears the word down by itself used as a verb in this sense.
See crash; opposite: up.
[Jargon File]
(1994-12-07)

download
jargon To transfer data or (especially) code from one computer to another. The distinction between downloading and uploading is hazy but downloading often refers to transfer from a larger host system (especially a server or mainframe) to a smaller client system, especially a microcomputer or specialised peripheral.
Opposite: upload.
However, note that ground-to-space communications has its own usage rule for this term. Space-to-earth transmission is always down and the reverse up regardless of the relative size of the computers involved. So far the in-space machines have invariably been smaller; thus the upload/download distinction has been reversed from its usual sense.
[Jargon File]
(1994-12-07)

downloading
download

downsizing
jargon The process of moving an application program from a mainframe to a cheaper system, typically a client-server system.
(1995-03-27)

downstream
upstream

down-time
jargon A period of time during which a (computer) system is not operational, due to a malfunction or maintenance.
(1997-06-08)

downward closed
closure

Downy cocktail
cationic cocktail

DP
1. data processing.
According to hackers, use of the term marks one immediately as a suit.
See DPer.
2. dot pitch.
3. Dissociated Press.
[Jargon File]
(1996-07-22)

DPB
/d*-pib'/ The PDP-10 instruction DePosit Byte that inserts some bits into the middle of some other bits. Hackish usage has been kept alive by the Common LISP function of the same name.
[Jargon File]
(1994-12-07)

DPer
/dee-pee-er/ Data Processor. Hackers are absolutely amazed that suits use this term self-referentially. *Computers* process data, not people!
See DP.
[Jargon File]
(1994-12-07)

dpi
Dots per inch.
A measure of resolution for printers, scanners and displays.
Laser printers typically reach 300 DPI, though 600 DPI is becoming more common. Commercial typesetters are usually around 1200 DPI.
(1995-01-05)

DPL
DECmmp Parallel Language.
A C-like parallel language for the DECmpp machine.
(1994-12-07)

DPL-82
[ DPL-82: A Language for Distributed Processing , L. Ericson, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.526-531].
(1994-12-07)

DPLL
Digital Phase-Locked Loop

DPMI
DOS Protected Mode Interface

DPMS
hardware Display Power Management Signaling.
(1995-12-11)

DPN
Decomposed Petri Net

DPP
Dining Philosophers Problem

d-Prolog
language A version of Prolog extended with defeasible reasoning.
(ftp://aisun1.ai.uga.edu/ai.prolog/) for MS-DOS and Unix.
(1994-12-07)

DPS
1. language, text Display PostScript.
2. language A real-time language with direct expression of timing requests.
[ Language Constructs for Distributed Real-Time PRogramming , I. Lee et al Proc IEEE Real-Time Sys Symp pp.57-66 (Dec 1985)].
[What does it stand for?]
(1995-03-28)

dpSather
Data-parallel Sather. Fine-grained deterministic parallelism.
E-mail: hws@csis.dit.csiro.au . (ftp://lynx.csis.dit.csiro.au/p/pub/ather/dpsather.papers).

DPSK
communications Differential Phase Shift Keying.

DQDB
Distributed Queue Dual Bus

draco
A blend of Pascal, C and ALGOL 68 developed by Chris Gray in 1987. It has been implemented for CP/M-80 and Amiga.
(1994-11-04)

Draft Once ReUse Many
jargon (DORUM) Reusing parts of a document to produce parts of an entirely new document. The term normally refers to text documents but the practise is equally common in programming.
(1998-05-09)

drag and drop
A common method for manipulating files (and sometimes text) under a graphical user interface or WIMP environment. The user moves the pointer over an icon representing a file and presses a mouse button. He holds the button down while moving the pointer (dragging the file) to another place, usually a directory viewer or an icon for some application program, and then releases the button (dropping the file). The meaning of this action can often be modified by holding certain keys on the keyboard at the same time.
Some systems also use this technique for objects other than files, e.g. portions of text in a word processor.
The biggest problem with drag and drop is does it mean copy or move ? The answer to this question is not intuitively evident, and there is no consensus for which is the right answer. The same vendor even makes it move in some cases and copy in others. Not being sure whether an operation is copy or move will cause you to check very often, perhaps every time if you need to be certain. Mistakes can be costly. People make mistakes all the time with drag and drop. Human computer interaction studies show a higher failure rate for such operations, but also a higher forgiveness rate (users think silly me ) than failures with commands (users think stupid machine ). Overall, drag and drop took some 40 times longer to do than single-key commands.
[Erik Naggum erik@naggum.no ]

drag-n-drop
spelling Stupid spelling of drag and drop.
(1996-12-13)

DRAGON
1. An Esprit project aimed at providing effective support to reuse in real-time distributed Ada application programs.
2. An implementation language used by BTI Computer Systems.
E-mail: Pat Helland helland@hal.com .
[Jargon File]
(1994-12-08)

dragon
[MIT] A program similar to a daemon, except that it is not invoked at all, but is instead used by the system to perform various secondary tasks. A typical example would be an accounting program, which keeps track of who is logged in, accumulates load-average statistics, etc. Under ITS, many terminals displayed a list of people logged in, where they were, what they were running, etc., along with some random picture (such as a unicorn, Snoopy or the Enterprise), which was generated by the name dragon . Use is rare outside MIT, under Unix and most other operating systems this would be called a background demon or daemon. The best-known Unix example of a dragon is cron. At SAIL, they called this sort of thing a phantom .
[Jargon File]

Dragon Book
publication The classic text Compilers: Principles, Techniques and Tools , by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman (Addison-Wesley 1986; ISBN 0-201-10088-6). So called because of the cover design featuring a dragon labelled complexity of compiler design and a knight bearing the lance LALR parser generator among his other trappings. This one is more specifically known as the Red Dragon Book (1986); an earlier edition, sans Sethi and titled Principles Of Compiler Design (Alfred V. Aho and Jeffrey D. Ullman; Addison-Wesley, 1977; ISBN 0-201-00022-9), was the Green Dragon Book (1977). (Also New Dragon Book , Old Dragon Book .) The horsed knight and the Green Dragon were warily eying each other at a distance; now the knight is typing (wearing gauntlets!) at a terminal showing a video-game representation of the Red Dragon's head while the rest of the beast extends back in normal space.
See also book titles.
(1996-12-03)

DRAGOON
language A distributed, concurrent, object-oriented Ada-based language developed in the Esprit DRAGON project by Colin Atkinson at Imperial College in 1989 (Now at University of Houston, Clear Lake). DRAGOON supports object-oriented programming for embeddable systems and is presently implemented as an Ada preprocessor.
[ Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach , C. Atkinson, A-W 1991, ISBN 0-2015-6-5277].
(1999-11-22)

drain
[IBM] Synonym for flush. Has a connotation of finality about it; one speaks of draining a device before taking it off-line.
[Jargon File]

DRAM
dynamic random access memory

DRAM refresh
storage The operation which cycles through a DRAM reading each row and writing it back again to compensate for the gradual leakage of charge from the capacitors which store the data. This may be done by the CPU but is often done by a dedicated memory controller.
(1997-02-23)

Drawing eXchange Format
(DXF) A file format for graphical information, similar to IGES. Commonly used by CAD systems like AutoCAD.
(1994-12-08)

dread high bit disease
character A condition endemic to PRIME (also known as PR1ME ) minicomputers that results in all the characters having their high bit (0x80, see meta bit) ON rather than OFF. This complicates transporting files to other systems and talking to true 8-bit devices. Folklore had it that PRIME adopted the convention in order to save 25 cents per serial line per machine; PRIME old-timers, on the other hand, claim they inherited the disease from Honeywell via customer NASA's compatibility requirements and struggled heroically to cure it. Whoever was responsible, this probably qualifies as one of the most cretinous design tradeoffs ever made. A few other machines have exhibited similar brain damage.
[Jargon File]
(2002-04-09)

DREAM 6800
computer A computer based on the Motorola 6800 microprocessor.
The DREAM 6800 could be programmed in CHIP-8.
(2002-04-09)

DRECNET
/drek'net/ [Yiddish/German dreck , meaning filth] Deliberate distortion of DECNET, a networking protocol used in the VMS community. So called because DEC helped write the Ethernet specification and then (either stupidly or as a malignant customer-control tactic) violated that spec in the design of DRECNET in a way that made it incompatible. See also connector conspiracy.

driver
1. operating system device driver.
2. programming The main loop of an event-processing program; the code that gets commands and dispatches them for execution.
3. tool In the TeX world and the computerised typesetting world in general, a program that translates some device-independent or other common format to something a real device can actually understand.
[Jargon File]

drivers
driver

Dr. James H. Clark
person The founder of Silicon Graphics, Inc. and co-founder of Netscape Communications Corporation.
(1998-05-21)

DRM
Digital Radio Mondiale

droid
abuse, robotics (From android , SF terminology for a humanoid robot of essentially biological (as opposed to mechanical or electronic) construction). A person (especially a low-level bureaucrat or service-business employee) exhibiting most of the following characteristics: (a) naive trust in the wisdom of the parent organisation or the system ; (b) a blind-faith propensity to believe obvious nonsense emitted by authority figures (or computers!); (c) a rule-governed mentality, one unwilling or unable to look beyond the letter of the law in exceptional situations; (d) a paralysing fear of official reprimand or worse if Procedures are not followed No Matter What; and (e) no interest in doing anything above or beyond the call of a very narrowly-interpreted duty, or in particular in fixing that which is broken; an It's not my job, man attitude.
Typical droid positions include supermarket checkout assistant and bank clerk; the syndrome is also endemic in low-level government employees. The implication is that the rules and official procedures constitute software that the droid is executing; problems arise when the software has not been properly debugged. The term droid mentality is also used to describe the mind-set behind this behaviour.
Compare suit, marketroid.
[Jargon File]
(1995-09-27)

DROOL
games Dave's Recycled Object-Oriented Language. Language for writing adventure games. An updated implementation of AdvSys. multiple inheritance, garbage collection.
[ Dave's Recycled OO Language , David Betz, Dr. Dobbs J, Oct 1993, pp.74-78].

drool-proof paper
jargon Documentation that has been obsessively dumbed down, to the point where only a cretin could bear to read it, is said to have succumbed to the drool-proof paper syndrome or to have been written on drool-proof paper . For example, this is an actual quote from Apple Computer's LaserWriter manual: Do not expose your LaserWriter to open fire or flame.
[Jargon File]
(1997-06-23)

drop cable
Wiring between a computer and its Ethernet transceiver. Maximum length if full-spec is 47m.

drop-down list
pull-down list

drop-down menu
pull-down menu

drop-ins
[analogy with drop-outs] Spurious characters appearing on a terminal or console as a result of line noise or a system malfunction of some sort. Especially used when these are interspersed with one's own typed input.
[Jargon File]

drop on the floor
To react to an error condition by silently discarding messages or other valuable data. The gateway ran out of memory, so it just started dropping packets on the floor. Also frequently used of faulty mail and netnews relay sites that lose messages. See also black hole, bit bucket.

drop-outs
1. A variety of power glitch (see glitch); momentary 0 voltage on the electrical mains.
2. Missing characters in typed input due to software malfunction or system saturation (one cause of such behaviour under Unix when a bad connection to a modem swamps the processor with spurious character interrupts; see screaming tty).
3. Mental glitches; used as a way of describing those occasions when the mind just seems to shut down for a couple of beats. See glitch, fried.
[Jargon File]
(2001-02-22)

DrScheme
Scheme A popular Scheme implementation from the PLT team at Rice University.
Home (http://www.cs.rice.edu/CS/PLT/packages/drscheme/).
(2001-02-22)

DRUCO I
Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

drugged
(Or on drugs ) 1. Conspicuously stupid, heading toward brain-damaged. Often accompanied by a pantomime of toking a joint.
2. Of hardware, very slow relative to normal performance.
[Jargon File]

drum
Ancient slow, cylindrical magnetic media that were once state-of-the-art storage devices. Under BSD Unix the disk partition used for swapping is still called /dev/drum ; this has led to considerable humour and not a few straight-faced but utterly bogus explanations getting foisted on newbies.
See also The Story of Mel .
(1994-12-22)

drunk mouse syndrome
(Also mouse on drugs ) A malady exhibited by the mouse pointing device of some computers. The typical symptom is for the mouse cursor on the screen to move in random directions and not in sync with the motion of the actual mouse. Can usually be corrected by unplugging the mouse and plugging it back again. Another recommended fix for optical mice is to rotate your mouse mat 90 degrees.
At Xerox PARC in the 1970s, most people kept a can of copier cleaner (isopropyl alcohol) at their desks. When the steel ball on the mouse had picked up enough cruft to be unreliable, the mouse was doused in cleaner, which restored it for a while. However, this operation left a fine residue that accelerated the accumulation of cruft, so the dousings became more and more frequent. Finally, the mouse was declared alcoholic and sent to the clinic to be dried out in a CFC ultrasonic bath.
[Jargon File]

dry run
programming To execute a program by hand, writing values of variables and other run-time data on paper, in order to check its operation or to track down a bug. A dry run is an extreme form of desk check and is practical only for fairly simple programs and small amounts of data.
(1996-05-13)

DS0
communications The zeroth DS level, having a transmission rate of 64,000 bits per second (64 kb/s), intended to carry one voice channel (a phone call).
(2001-03-18)

DS1
communications A DS level and framing specification for synchronous digital streams, over circuits in the North American digital transmission hierarchy, at the T1 transmission rate of 1,544,000 bits per second (baud).
In the US a DS1 frame is composed of 24 eight-bit bytes (commonly from 24 DS0 sources, originally digitised voice-grade telephone signals), plus one framing bit (193 bits). 8000 bytes per second come from each source, and thus 8000 frames per second are transported by the DS1 signal. The result is 193*8000 = 1,544,000 bits per second.
In the original standard, the framing bits continuously repeated the sequence 110111001000, and such a 12-frame unit is called a super-frame. In voice telephony, errors are acceptable (early standards allowed as much as one frame in six to be missing entirely), so the least significant bit in two of the 24 streams was used for signaling between network equipments. This is called robbed-bit signaling.
To promote error-free transmission, an alternative called the extended super-frame (ESF) of 24 frames was developed. In this standard, six of the 24 framing bits provide a six bit cyclic redundancy check (CRC-6), and six provide the actual framing. The other 12 form a virtual circuit of 4000 bits per second for use by the transmission equipment, for call progress signals such as busy, idle and ringing. DS1 signals using ESF equipment are nearly error-free, because the CRC detects errors and allows automatic re-routing of connections.
Compare T-carrier systems.
[Kenneth Sherman, Data Communications : a user's guide , third edition (1990), Reston/Prentice-Hall/Simon Schuster].
(1996-03-30)

DS1C
communications A DS level and framing specification for digital signals in the North American digital transmission hierarchy. A DS1C signal uses 48 PCM channels and has a transmission rate of 3.15 Megabits per second, twice that of DS1.
DS1C uses two DS1 signals combined and sent on a 3.152 megabit per second carrier which allows 64 kilobits per second for synchronisation and framing using pulse stuffing . The channel 2 signal is logically inverted, and a framing bit is stuffed in two out of three code words, resulting in 26-bit information units. The channels are interleaved and then scrambled by the addition modulo 2 of the signal with the previous bit. Finally the bit stream is combined with a control bit sequence that permits the demultiplexor to function by preceding each 52 bits with one DS1C framing bit. A series of 24 such 53-bit frames forms a 1272-bit M-frame .
(1995-02-07)

DS2
communications A DS level and framing specification for digital signals in the North American digital transmission hierarchy. A DS2 signal uses 96 PCM channels and has a transmission rate of 6.31 Megabits per second, twice that of DS1C.
(1995-02-07)

DS3
communications The third DS level, a framing specification for digital signals in the North American digital transmission hierarchy. A DS3 signal has a transmission rate of 44.736 Megabits per second.
DS3 is used, for example, on T3 synchronous Integrated Services Digital Network lines.
(1995-01-12)

DSA
Directory System Agent

DSDM
Dynamic Systems Development Method

DSE
Data Structure Editor

DSEE
Domain Software Engineering Environment

D-shell connector
hardware One of the family of connectors: DA-15, DB-25, DC-37, DD-50, DE-9, and DEH-15 [VGA]. The D is the shape of the shell, the next letter determines connector size, and the number is the maximum pin count.
(1999-12-08)

DSI
Delivered Source Instruction

DSL
1. communications Digital Subscriber Line.
2. language Digital Simulation Language.
3. language Denotational Semantics Language.
(1996-10-13)

DSLAM
Digital Subscriber Line Access Module

DS level
communications (Digital Signal or Data Service level) Originally an AT T classification of transmitting one or more voice conversations in one digital data stream. The best known DS levels are DS0 (a single conversation), DS1 (24 conversations multiplexed), DS1C, DS2, and DS3.
By extension, the DS level can refer to the raw data rate necessary for transmission:
DS0 64 Kb/s
DS1 1.544 Mb/s
DS1C 3.15 Mb/s
DS2 6.31 Mb/s
DS3 44.736 Mb/s
DS4 274.1 Mb/s
(where K and M signify multiplication by 1000 and 1000000, rather than powers of two). In this sense it can be used to measure of data service rates classifying the user access rates for various point-to-point WAN technologies or standards (e.g. X.25, SMDS, ISDN, ATM, PDH).
Japan uses the US standards for DS0 through DS2 but Japanese DS5 has roughly the circuit capacity of US DS4, while the European standards are rather different (see E1). In the US all of the transmission rates are integral multiples of 8000 bits per second but rates above DS1 are not necessarily integral multiples of 1,544 kb/s.
(1998-05-18)

DSM
1. Data Structure Manager.
An object-oriented language by J.E. Rumbaugh and M.E. Loomis of GE, similar to C++. It is used in implementation of CAD/CAE software. DSM is written in DSM and C and produces C as output.
[ DSM: An Object-Relationship Modeling Language , A. Shah et al, SIGPLAN Notices 24(10):191-202 (OOPSLA '89) (Oct 1989)].
2. DIGITAL Standard MUMPS.
(1995-01-10)

DSN
Digital Switched Network

DSP
digital signal processing

DSP32 Assembly Language
A high-level assembly language for the DSP32 Programmable DSP Chip.

DSP56000
A digital signal processing chip from Motorola.
An assembler called a56 and a port of gcc called dsp56k-gcc are available.

DSP56001
A digital signal processing chip from Motorola.
An assembler called a56 is available.

dsp56165-gcc
A port of gcc version 1.40 to the Motorola DSP56156 and DSP56000 by Andrew Sterian asterian@eecs.umich.edu .
alt.sources

dsp56k-gcc
Motorola's port of gcc version 1.37.1 to the Motorola DSP56000.
Finland (ftp://nic.funet.fi/pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z). Australia (ftp://evans.ee.adfa.oz.au/pub/micros/56k/g56k.tar.Z).

DSP/C
Numerical extension to C, for DSP applications.
[ DSP/C: A Standard High Level Language for DSP and Numeric Processing , K. Leary W. Waddington, Proc ICASSP 90, Apr 1990, pp.1065-1068].

DSPL
Digital Signal Processing Language

DSR
Dynamic Service Register

DSS
1. Decision Support Systems.
2. Digital Signature Standard.
(1995-11-16)

DSSSL
Document Style Semantics and Specification Language

DST
Daylight-Saving Time.

DSU
1. communications Data Service Unit.
2. Disk Subsystem Unit (Artecon).
3. humour Dwarf Storage Unit.
(1996-12-01)

DSVD
Digital Simultaneous Voice and Data

DSW
penis war

DTALGOL
Decision Table ALGOL.
An ALGOL superset from Victoria University, Wellington that added decision tables and runs on Burroughs Large System.
(1995-02-02)

DTD
Document Type Definition

DTE
Data Terminal Equipment

DT E
Developmental Test and Evaluation

DTLS
Descriptive Top-Level Specification

DTMF
Dual Tone Multi Frequency

DTP
desktop publishing

DTR
Data Terminal Ready

DTS
1. Distributed Time Service.
2. audio Digital Theatre Sound.
(2001-12-24)

DTSS
operating system The first commercial time-sharing system, created by Dartmouth College and sold by General Electric around 1967.
GE's Information Service Divsion (ISD) marketed DTSS which was running on a system called GE-265 (a combination of the front-end processor the Datanet-30 and the GE-235).
DTSS was ported (and significantly improved by GE ISD around 1965-1966 on a combination of DN-30 and GE-635). This proprietary system, called Mk-II, later improved by GE and renamed Mk-III, is still working today (1997) as part of the GE service bureau that also includes IBM and Unix computers.
(1997-09-16)

D-type
1. hardware A type of computer peripheral connector so named because one side is shorter (with one less pin) than the other giving a (squarish) D shape. The connectors have two rows of pins (or holes). Common types are 25-way (13+12 pins) and 9-way (5+4 pins). They are often used for serial lines, especially EIA-232.
(1995-01-05)
2. D-type flip-flop.

D-type flip-flop
hardware A digital logic device that stores the status of its D input whenever its clock input makes a certain transition (low to high or high to low). The output, Q , shows the currently stored value.
Compare J-K flip-flop.
(1995-03-28)

DUA
Directory User Agent

dual
mathematics Every field of mathematics has a different meaning of dual. Loosely, where there is some binary symmetry of a theory, the image of what you look at normally under this symmetry is referred to as the dual of your normal things.
In linear algebra for example, for any vector space V, over a field, F, the vector space of linear maps from V to F is known as the dual of V. It can be shown that if V is finite-dimensional, V and its dual are isomorphic (though no isomorphism between them is any more natural than any other).
There is a natural embedding of any vector space in the dual of its dual:
V - V'': v - (V': w - wv : F)
(x' is normally written as x with a horizontal bar above it). I.e. v'' is the linear map, from V' to F, which maps any w to the scalar obtained by applying w to v. In short, this double-dual mapping simply exchanges the roles of function and argument.
It is conventional, when talking about vectors in V, to refer to the members of V' as covectors.
(1997-03-16)

DUAL-607
An early system on the IBM 701.
[CACM 2(5):16 (May 1959)].
(1994-12-13)

dual-attached
The form of FDDI interface where a device is connected to both FDDI token-passing rings, so that uninterrupted operation continues in the event of a failure of either of the rings. All connections to the main FDDI rings are dual-attached. Typically, a small number of critical infrastructure devices such as routers and concentrators are dual-attached, whereas host computers are normally single-attached or dual-homed to a router or concentrator.
For example, a ring could be formed between a single router and two concentrators (all dual-attached) then all other components that need to be fault-tolerant (typically file servers) can be dual-homed to both concentrators.
(1994-12-13)

dual-homed
networking A kind of connection to a FDDI network where a host is simultaneously connected to two separate devices in the same FDDI ring. One of the connections becomes active while the other one is automatically blocked. If the first connection fails, the backup link takes over with no perceptible delay.
A dual-homed device can tolerate a fault in one of its homes whereas a dual-attached device can tolerate a fault in one of the rings.
(1994-12-13)

Dual In-Line
hardware Dual In-Line Package.

Dual In-line Memory Module
storage Small circuit boards carrying memory integrated circuits, with signal and power pins on both sides of the board, in contrast to single-in-line memory modules (SIMM).
The individual gold or lead connectors (pins) on SIMMs, although they are on both sides of the chip, are connected to the same memory chip, while on a DIMM, the connections on each side of the module connect to different chips. This allows for a wider data path, as more modules can be accessed at once. DIMM pins are arranged in a zigzag design to allow PCB tracks to pass between them.
The 8-byte DIMM format with dual-sided contacts can accommodate 4- and 16-megabit dynamic RAM chips, and is predicted to handle 64- and 256-Mbit devices. The 8-byte DIMM will hold up to 32 megabytes of memory using 16-Mbit DRAMs, but with the 256-Mbit future-generation DRAM, it will be able to hold a 64-Mx64 configuration. Another variation, the 72-pin SO-DIMM, is designed to connect directly to 32 bit data buses, and is intended for use in memory-expansion applications in notebook computers.
A Dual in-line memory module (DIMM), as opposed to SIMMs (used by the majority of the PC industry) allows for a 128-bit data path by interleaving memory on alternating memory access cycles. SIMMs on the other hand, have a 64-bit data path. Suppliers are unanimous in their belief that the DIMM will eventually replace the SIMM as the market's preferred memory module.
(1996-01-28)

Dual In-Line Package
hardware (DIL, DIP) The most common type of package for small and medium scale integrated circuits, with up to about 48 pins. The pins hang vertically from the two long edges of the rectangular package, spaced at intervals of 0.1 inch. The pins fit through holes in the circuit board to which they are soldered or into a socket.
[More than 48 pins?]
(1995-02-06)

dual ported
A term used to describe memory integrated circuits which can be accessed simultaneously via two independent address and data busses.
Dual ported memory is often used in video display hardware, especially in conjunction with Video Random Access Memory (VRAM). The two ports allow the video display hardware to read memory to display the contents on screen at the same time as the CPU writes data to other areas of the same memory. In single-ported memory these two processes cannot occur simultanteously, the CPU must wait, thus resulting in slower access times. Cycle stealing is one technique used to avoid this in single-ported video memory.
(1995-01-12)

dual-stack
networking A term used to describe a network node running both IPv4 and IPv6 protocol stacks (or possibly others) at the same time. Such a machine can act as a protocol converter between the two networks.
(2000-12-19)

Dual Tone Multi Frequency
communications (DTMF, or touch-tone ) A method used by the telephone system to communicate the keys pressed when dialling. Pressing a key on the phone's keypad generates two simultaneous tones, one for the row and one for the column. These are decoded by the exchange to determine which key was pressed.
(1995-03-28)

DUEL
A front end to gdb by Michael Golan mg@cs.princeton.edu . DUEL implements a language designed for debugging C programs. It mainly features efficient ways to select and display data items. It is normally linked into the gdb executable, but could stand alone. It interprets a subset of C in addition to its own language.
Version 1.10.
(ftp://ftp.cs.princeton.edu/duel/)
(1993-03-20)

Duff's device
The most dramatic use yet seen of fall through in C, invented by Tom Duff when he was at Lucasfilm. Trying to bum all the instructions he could out of an inner loop that copied data serially onto an output port, he decided to unroll it. He then realised that the unrolled version could be implemented by *interlacing* the structures of a switch and a loop:
register n = (count + 7) / 8; /* count 0 assumed */
switch (count % 8)

case 0: do *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
while (--n 0);

Shocking though it appears to all who encounter it for the first time, the device is actually perfectly valid, legal C. C's default fall through in case statements has long been its most controversial single feature; Duff observed that This code forms some sort of argument in that debate, but I'm not sure whether it's for or against.
[For maximal obscurity, the outermost pair of braces above could be actually be removed - GLS]
[Jargon File]
(2001-06-22)

dumbed down
jargon Simplified, with a strong connotation of *over*simplified. Often, a marketroid will insist that the interfaces and documentation of software be dumbed down after the designer has burned untold gallons of midnight oil making it smart. This creates friction.
See user-friendly.
(1995-04-14)

dumb terminal
hardware A type of terminal that consists of a keyboard and a display screen that can be used to enter and transmit data to, or display data from, a computer to which it is connected. A dumb terminal, in contrast to an intelligent terminal, has no independent processing capability or auxiliary storage and thus cannot function as a stand-alone device.
The dumbest kind of terminal is a glass tty. The next step up has a minimally addressable cursor but no on-screen editing or other features normally supported by an intelligent terminal.
Once upon a time, when glass ttys were common and addressable cursors were something special, what is now called a dumb terminal could pass for a smart terminal.
[Examples?]
[Jargon File]
(1995-04-14)

dump
operating system 1. An undigested and voluminous mass of information about a problem or the state of a system, especially one routed to the slowest available output device (compare core dump), and most especially one consisting of hexadecimal or octal runes describing the byte-by-byte state of memory, mass storage, or some file. In elder days, debugging was generally done by groveling over a dump (see grovel); increasing use of high-level languages and interactive debuggers has made such tedium uncommon, and the term dump now has a faintly archaic flavour.
2. A backup. This usage is typical only at large time-sharing installations.
Unix manual page: dump(1).
[Jargon File]
(1994-12-01)

dumpster diving
/dump'-ster di:'-ving/ 1. The practice of sifting refuse from an office or technical installation to extract confidential data, especially security-compromising information ( dumpster is an Americanism for what is elsewhere called a skip ). Back in AT T's monopoly days, before paper shredders became common office equipment, phone phreaks (see phreaking) used to organise regular dumpster runs against phone company plants and offices. Discarded and damaged copies of AT T internal manuals taught them much. The technique is still rumored to be a favourite of crackers operating against careless targets.
2. The practice of raiding the dumpsters behind buildings where producers and/or consumers of high-tech equipment are located, with the expectation (usually justified) of finding discarded but still-valuable equipment to be nursed back to health in some hacker's den. Experienced dumpster-divers not infrequently accumulate basements full of moldering (but still potentially useful) cruft.
[Jargon File]

Dungeon
Zork

dup killer
/d[y]oop kill'r/ Software that is supposed to detect and delete duplicates of a message that may have reached the FidoNet system via different routes.
See also dup loop.
[Jargon File]
(1995-02-02)

duplex
communications Used to describe a communications channel that can carry signals in both directions, in contrast to a simplex channel which only ever carries a signal in one direction.
If signals can only flow in one direction at a time the communications is half-duplex , like a single-lane road with traffic lights at each end. Walkie-talkies with a press-to-talk button provide half-duplex communications.
If signals can flow in both directions simultaneously the communications is full-duplex , like a normal two-lane road. Telephones provide full-duplex communications.
The term duplex was first used in wireless, telegraph, and telephone communications. Nearly all communications circuits used by computers are two-way, so the term is seldom used.
(http://www.cit.ac.nz/smac/dc100www/dc_014.htm).
(2001-07-21)

Duplex High Speed Data
(DHSD) A term which describes a full-duplex channel that can carry 64 kilobits per second.
This is the kind of service provided by an Inmarsat-B type portable earth station or a leased line (not ISDN).
(1995-02-02)

dup loop
/d[y]oop loop/ (also dupe loop ) [FidoNet] An infinite stream of duplicated, near-identical messages on a FidoNet echo, the only difference being unique or mangled identification information applied by a faulty or incorrectly configured system or network gateway, thus rendering dup killers ineffective. If such a duplicate message eventually reaches a system through which it has already passed (with the original identification information), all systems passed on the way back to that system are said to be involved in a dup loop.
[Jargon File]

Durra
Description language for coarse-grained concurrency on heterogeneous processors. Durra: A Task-level Description Language , M.R. Barbacci et al, CMU/SEI-86-TR-3, CMU 1986.

dusty deck
Old software (especially applications) which one is obliged to remain compatible with, or to maintain. DP types call this legacy code , a term hackers consider smarmy and excessively reverent. The term implies that the software in question is a holdover from card-punch days. Used especially when referring to old scientific and number crunching software, much of which was written in Fortran and very poorly documented but is believed to be too expensive to replace. See fossil; compare crawling horror.
[Jargon File]

DV cartridge
games (Digital Video?) A plug-in circuit cartridge required by some games consoles in order to play MPEG video material.
(1994-11-02)

DVD
Digital Versatile Disc

DVD-R
Digital Versatile Disc

DVD-ROM
Digital Versatile Disc

DVI
file format Device independent file format. A dvi file containing a description of a formatted document is the usual output of TeX. A number of utiltiies exist to view and print DVI files on various systems and devices.
(1996-11-17)

Dvorak
hardware A configuration of (computer) keyboard keys arranged to increase the speed and ease of typing over the normal qwerty layout; the most common characters (for English) have been put on the home row.
The standard Dvorak International layout is:
`~ 1! 2@ 3# 4% 5^ 6^ 7 8* 9( 0) [ ] |
' , . p y f g c r l /? +=
a o e u i d h t n s -_
;: q j k x b m w v z
[Do other Dvorak-like layout standards exist for other languages?]
(2002-03-14)

Dwarf Storage Unit
humour (DSU) An IBM term for a cupboard.
(1996-06-24)

DWDM
wavelength division multiplexing

dweeb
An even lower form of life than the spod, found in much the same habitat as the former. though more prevailent on talker systems. Unlike spods, upon receiving the desired response to the question Are you male or female? , dweebs will then engage upon a detailed description of themselves and how wonderful they are, often in the hopes of truly impressing the other with their charm and wit . Nearly all dweebs are male, but very few actually live up to the image that they present. Dweebs, unfortunately, are often the cause of ill-will, and may well bring a bad reputation to the system in question. They are often, however, easy to wind up and can be the source of great mirth to the seasoned user.

dwg
filename extension The filename extension for Autodesk drawing files.
(http://www.faqs.org/faqs/graphics/fileformats-faq/part3/).
(2000-08-02)

DWIM
/dwim/ [acronym, Do What I Mean (not what I say)] 1. Able to guess, sometimes even correctly, the result intended when bogus input was provided.
2. The BBNLISP/INTERLISP function that attempted to accomplish this feat by correcting many of the more common errors. See hairy.
3. Occasionally, an interjection hurled at a balky computer, especially when one senses one might be tripping over legalisms (see legalese).
Warren Teitelman originally wrote DWIM to fix his typos and spelling errors, so it was somewhat idiosyncratic to his style, and would often make hash of anyone else's typos if they were stylistically different. Some victims of DWIM thus claimed that the acronym stood for Damn Warren's Infernal Machine!'.
In one notorious incident, Warren added a DWIM feature to the command interpreter used at Xerox PARC. One day another hacker there typed delete *$ to free up some disk space. (The editor there named backup files by appending $ to the original file name, so he was trying to delete any backup files left over from old editing sessions.) It happened that there weren't any editor backup files, so DWIM helpfully reported *$ not found, assuming you meant 'delete *' . It then started to delete all the files on the disk! The hacker managed to stop it with a Vulcan nerve pinch after only a half dozen or so files were lost.
The disgruntled victim later said he had been sorely tempted to go to Warren's office, tie Warren down in his chair in front of his workstation, and then type delete *$ twice.
DWIM is often suggested in jest as a desired feature for a complex program; it is also occasionally described as the single instruction the ideal computer would have. Back when proofs of program correctness were in vogue, there were also jokes about DWIMC (Do What I Mean, Correctly). A related term, more often seen as a verb, is DTRT (Do The Right Thing); see Right Thing.
[Jargon File]

DX4
Intel DX4

DXF
Drawing Exchange Format

dyadic
programming binary (describing an operator).
Compare monadic.
(1998-07-24)

Dyadic Systems Limited
company The company that developed and sells Dyalog APL.
Dyadic Home (http://www.dyadic.com/).
(2002-01-02)

Dyalog APL
language Arguably the current (2001) market-leading implementation of APL, from Dyadic Systems Limited. It runs under Windows 95, Windows 98, Windows NT, and Windows 2000; and for several popular UNIX systems including Linux.
Dyalog APL complies with ISO 8485 and has many features that make it good for complex GUI applications.
Dyalog APL was introduced in 1983 and is currently (2002) in active development.
Dyadic Home (http://www.dyadic.com/).
(2002-01-02)

DYANA
DYnamics ANAlyzer

Dylan
DYnamic LANguage

Dylperl
A dynamic linking package for Perl by Roberto Salama rs@fi.gs.com . Dynamically loaded functions are accessed as if they were user-defined functions. This code is based on Oliver Sharp's May 1993 article in Dr. Dobbs Journal ( Dynamic Linking under Berkeley Unix ).
Posted to news:comp.lang.perl on 1993-08-11.
(1993-08-11)

dynamic adaptive routing
Automatic rerouting of traffic based on analysis of current network conditions. This does not include routing decisions based on predefined information.
(1995-01-30)

Dynamic Address Translation
architecture (DAT) Conversion of a virtual address into a physical address, as performed by a memory management unit and an operating system which supports virtual memory.
(1995-01-30)

Dynamically Linked Library
library (DLL) A library which is linked to application programs when they are loaded or run rather than as the final phase of compilation. This means that the same block of library code can be shared between several tasks rather than each task containing copies of the routines it uses. The executable is compiled with a library of stubs which allow link errors to be detected at compile-time. Then, at run time, either the system loader or the task's entry code must arrange for library calls to be patched with the addresses of the real shared library routines, possibly via a jump table.
The alternative is to make library calls part of the operating system kernel and enter them via some kind of trap instruction. This is generally less efficient than an ordinary subroutine call.
It is important to ensure that the version of a dynamically linked library is compatible with what the executable expects.
Examples of operating systems using dynamic linking are SunOS (.so - shared object files), Microsoft Windows (.dll) and RISC OS on the Acorn Archimedes (relocatable modules).
(1995-12-12)

dynamically scoped
dynamic scope

dynamic analysis
programming Evaluation of a program based on its execution. Dynamic analysis relies on executing a piece of software with selected test data.
(1996-05-13)

dynamic binding
The property of object-oriented programming languages where the code executed to perform a given operation is determined at run time from the class of the operand(s) (the receiver of the message). There may be several different classes of objects which can receive a given message. An expression may denote an object which may have more than one possible class and that class can only be determined at run time. New classes may be created that can receive a particular message, without changing (or recompiling) the code which sends the message. An class may be created that can receive any set of existing messages.
C++ implements dynamic binding using virtual member functions .
One important reason for having dynamic binding is that it provides a mechanism for selecting between alternatives which is arguably more robust than explicit selection by conditionals or pattern matching. When a new subclass is added, or an existing subclass changes, the necessary modifications are localised: you don't have incomplete conditionals and broken patterns scattered all over the program.
See overloading.

dynamic database management system
database (dynamic DBMS) A database with value-based relationships where typically the relationship is specified at retrieval time and the locations of related records are discovered during retrieval. Both Independent Logical File (ILF) databases and relational databases are value-based.
The opposite is a static database management system.
(1998-10-07)

Dynamic Data Exchange
language (DDE, originally Dynamic Data Linking, DDL) A Microsoft Windows 3 hotlink protocol that allows application programs to communicate using a client-server model. Whenever the server (or publisher ) modifies part of a document which is being shared via DDE, one or more clients ( subscribers ) are informed and include the modification in the copy of the data on which they are working.
(1997-06-05)

Dynamic Data Linking
Dynamic Data Exchange

dynamic DBMS
dynamic database management system

Dynamic Drive Overlay
storage, software (DDO) Software to allow a system BIOS that does not support Logical Block Addressing to access drives larger than 528 MB.
The alternatives are to update the system BIOS or install an EIDE controller card with a suitable on-board BIOS.
Seagate (http://www.seagate.com/support/disc/drivers/discfile.shtml).
(2001-03-18)

Dynamic Execution
processor A combination of techniques - multiple branch prediction, data flow analysis and speculative execution. Intel implemented Dynamic Execution in the P6 after analysing the execution of billions of lines of code.
(1995-05-05)

Dynamic Host Configuration Protocol
protocol (DHCP) A protocol that provides a means to dynamically allocate IP addresses to computers on a local area network. The system administrator assigns a range of IP addresses to DHCP and each client computer on the LAN has its TCP/IP software configured to request an IP address from the DHCP server. The request and grant process uses a lease concept with a controllable time period.
DHCP is defined in RFC 2131.
Microsoft introduced DHCP on their NT server with version 3.5 in late 1994.
(http://www.dhcp.org/).
(1998-11-22)

Dynamic HTML
language, World-Wide Web (DHTML) An extension of HTML giving greater control over the layout of page elements and the ability to have web pages which change and interact with the user without having to communicate with the server.
DHTML was created by Microsoft can be viewed in Internet Explorer 4.0 and Netscape Communicator 4.0 but, as usual, Microsoft and Netscape disagree on how DHTML should be implemented. The Document Object Model Group of the World Wide Web Consortium is developing standards for DHTML.
(http://www.w3c.org/DOM/).
(1998-07-02)

DYnamic LANguage
language (Dylan) A simple object-oriented Lisp dialect, most closely resembling CLOS and Scheme, developed by Advanced Technology Group East at Apple Computer.
Thomas is a Dylan compiler implemented in Scheme.
See also Marlais.
[ Dylan(TM) an Object-Oriented Dynamic Language , Apple Computer, Eastern Research and Technology, April 1992].
(1995-04-19)

dynamic link
compiler A pointer from an activation record to the activation record for the scope from which the current scope was called at run time. This is used in a statically scoped language to restore the environment pointer on exit from a scope. To access a non-local variable in a dynamically scoped language, dynamic links are followed until a binding for the given variable name is found.
(1995-03-07)

dynamic link library
Dynamically Linked Library

Dynamic Object-Oriented Requirements System
programming, tool, product (DOORS) A tool from Quality Systems Software Ltd. for handling all kinds of requirements (in fact, any information at all) as modules containing trees of text objects, qualified by an arbitrary number of user-defined attributes, and cross-linked by directional links.

dynamic RAM
dynamic random access memory

dynamic random access memory
storage (DRAM) A type of semiconductor memory in which the information is stored in capacitors on a MOS integrated circuit. Typically each bit is stored as an amount of electrical charge in a storage cell consisting of a capacitor and a transistor. Due to leakage the capacitor discharges gradually and the memory cell loses the information. Therefore, to preserve the information, the memory has to be refreshed periodically. Despite this inconvenience, the DRAM is a very popular memory technology because of its high density and consequent low price.
The first commercially available DRAM chip was the Intel 1103, introduced in 1970.
The early DRAM chips up to a 16k x 1 (16384 locations of one bit each) model needed 3 supply voltages (+5V, -5V and +12V). Beginning with the 64 kilobit chips, charge pumps were included on-chip to create the necessary supply voltages out of a single +5V supply. This was necessary to fit the device into a 16-pin DIL package, which was the preferred package at the time, and also made them easier to use.
To reduce the pin count, thereby helping miniaturisation, DRAMs generally had a single data line which meant that a computer with an N bit wide data bus needed a bank of (at least) N DRAM chips. In a bank, the address and control signals of all chips were common and the data line of each chip was connected to one of the data bus lines.
Beginning with the 256 kilobit DRAM, a tendency towards surface mount packaging arose and DRAMs with more than one data line appeared (e.g. 64k x 4), reducing the number of chips per bank. This trend has continued and DRAM chips with up to 36 data lines are available today. Furthermore, together with surface mount packages, memory manufacturers began to offer memory modules, where a bank of memory chips was preassembled on a little printed circuit board (SIP = Single Inline Pin Module, SIMM = Single Inline Memory Module, DIMM = Dual Inline Memory Module). Today, this is the preferred way to buy memory for workstations and personal computers.
DRAM bit cells are arranged on a chip in a grid of rows and columns where the number of rows and columns are usually a power of two. Often, but not always, the number of rows and columns is the same. A one megabit device would then have 1024 x 1024 memory cells. A single memory cell can be selected by a 10-bit row address and a 10-bit column address.
To access a memory cell, one entire row of cells is selected and its contents are transferred into an on-chip buffer. This discharges the storage capacitors in the bit cells. The desired bits are then read or written in the buffer. The (possibly altered) information is finally written back into the selected row, thereby refreshing all bits (recharging the capacitors) in the row.
To prevent data loss, all bit cells in the memory need to be refreshed periodically. This can be done by reading all rows in regular intervals. Most DRAMs since 1970 have been specified such that one of the rows needs to be refreshed at least every 15.625 microseconds. For a device with 1024 rows, a complete refresh of all rows would then take up to 16 ms; in other words, each cell is guaranteed to hold the data for 16 ms without refresh. Devices with more rows have accordingly longer retention times.
Many varieties of DRAM exist today. They differ in the the way they are interfaced to the system - the structure of the memory cell itself is essentially the same.
Traditional DRAMs have multiplexed address lines and separate data inputs and outputs. There are three control signals: RAS (row address strobe), CAS (column address strobe), and WE (write enable) (the backslash indicates an active low signal). Memory access procedes as follows: 1. The control signals initially all being inactive (high), a memory cycle is started with the row address applied to the address inputs and a falling edge of RAS . This latches the row address and opens the row, transferring the data in the row to the buffer. The row address can then be removed from the address inputs since it is latched on-chip. 2. With RAS still active, the column address is applied to the address pins and CAS is made active as well. This selects the desired bit or bits in the row which subsequently appear at the data output(s). By additionally activating WE the data applied to the data inputs can be written into the selected location in the buffer. 3. Deactivating CAS disables the data input and output again. 4. Deactivating RAS causes the data in the buffer to be written back into the memory array.
Certain timing rules must be obeyed to guarantee reliable operation. 1. RAS must remain inactivate for a while before the next memory cycle is started to provide sufficient time for the storage capacitors to charge (Precharge Time). 2. It takes some time from the falling edge of the RAS or CAS signals until the data appears at the data output. This is specified as the Row Access Time and the Column Access Time. Current DRAM's have Row Access Times of 50-100 ns and Column Access Times of 15-40 ns. Speed grades usually refer to the former, more important figure.
Note that the Memory Cycle Time, which is the minimum time from the beginning of one access to the beginning of the next, is longer than the Row Access Time (because of the Precharge Time).
Multiplexing the address pins saves pins on the chip, but usually requires additional logic in the system to properly generate the address and control signals, not to mention further logic for refresh. Therefore, DRAM chips are usually preferred when (because of the required memory size) the additional cost for the control logic is outweighed by the lower price.
Based on these principles, chip designers have developed many varieties to improve performance or ease system integration of DRAMs:
PSRAMs (Pseudo Static Random Access Memory) are essentially DRAMs with a built-in address multiplexor and refresh controller. This saves some system logic and makes the device look like a normal SRAM. This has been popular as a lower cost alternative for SRAM in embedded systems. It is not a complete SRAM substitute because it is sometimes busy when doing self-refresh, which can be tedious.
Nibble Mode DRAM can supply four successive bits on one data line by clocking the CAS line.
Page Mode DRAM is a standard DRAM where any number of accesses to the currently open row can be made while the RAS signal is kept active.
Static Column DRAM is similar to Page Mode DRAM, but to access different bits in the open row, only the column address needs to be changed while the CAS signal stays active. The row buffer essentially behaves like SRAM.
Extended Data Out DRAM (EDO DRAM) can continue to output data from one address while setting up a new address, for use in pipelined systems.
DRAM used for Video RAM (VRAM) has an additional long shift register that can be loaded from the row buffer. The shift register can be regarded as a second interface to the memory that can be operated in parallel to the normal interface. This is especially useful in frame buffers for CRT displays. These frame buffers generate a serial data stream that is sent to the CRT to modulate the electron beam. By using the shift register in the VRAM to generate this stream, the memory is available to the computer through the normal interface most of the time for updating the display data, thereby speeding up display data manipulations.
SDRAM (Synchronous DRAM) adds a separate clock signal to the control signals. It allows more complex state machines on the chip and high speed burst accesses that clock a series of successive bits out (similar to the nibble mode).
CDRAM (Cached DRAM) adds a separate static RAM array used for caching. It essentially combines main memory and cache memory in a single chip. The cache memory controller needs to be added externally.
RDRAM (Rambus DRAM) changes the system interface of DRAM completely. A byte-wide bus is used for address, data and command transfers. The bus operates at very high speed: 500 million transfers per second. The chip operates synchronously with a 250MHz clock. Data is transferred at both rising and falling edges of the clock. A system with signals at such frequencies must be very carefully designed, and the the signals on the Rambus Channel use nonstandard signal levels, making it incompatible with standard system logic. These disadvantages are compensated by a very fast data transfer, especially for burst accesses to a block of successive locations.
A number of different refresh modes can be included in some of the above device varieties:
RAS only refresh: a row is refreshed by an ordinary read access without asserting CAS . The data output remains disabled.
CAS before RAS refresh: the device has a built-in counter for the refresh row address. By activating CAS before activating RAS , this counter is selected to supply the row address instead of the address inputs.
Self-Refresh: The device is able to generate refresh cycles internally. No external control signal transitions other than those for bringing the device into self-refresh mode are needed to maintain data integrity.
(1996-07-11)

dynamic routing
networking (Or adaptive routing ) Routing that adjusts automatically to network topology or traffic changes.
(1997-05-08)

DYnamics ANAlyzer
language (DYANA) An early language specialised for vibrational and other dynamic physical systems.
[Sammet 1969, p. 628].
(1997-07-20)

dynamic scope
language In a dynamically scoped language, e.g. most versions of Lisp, an identifier can be referred to, not only in the block where it is declared, but also in any function or procedure called from within that block, even if the called procedure is declared outside the block.
This can be implemented as a simple stack of (identifier, value) pairs, accessed by searching down from the top of stack for the most recent instance of a given identifier.
The opposite is lexical scope. A common implementation of dynamic scope is shallow binding.
(1996-07-11)

dynamic scoping
dynamic scope

Dynamic Systems Development Method
programming (DSDM) An independent software development framework.
DSDM.org Home (http://www.dsdm.org/).
[What is it?]
(2002-02-14)

dynamic translation
architecture A virtual machine implementation approach, used to speed up execution of byte-code programs. To execute a program unit such as a method or a function, the virtual machine compiles its bytecodes into (hardware) machine code. The translated code is also placed in a cache, so that next time that unit's machine code can be executed immediately, without repeating the translation.
This technique was pioneered by the commercial Smalltalk implementation currently known as VisualWorks, in the early 1980s. Currently it is also used by some implementations of the Java Virtual Machine under the name JIT (Just In Time compilation).
[Peter L. Deutsch and Alan Schiffman. Efficient Implementation of the Smalltalk-80 System , 11th Annual Symposium on Principles of Programming Languages, Jan 1984, pp. 297-302].
(2002-04-15)

DYNAMO
DYNamic MOdels. A language for continuous simulation including economic, industrial and social systems, developed by Phyllis Fox and A.L. Pugh in 1959.
Versions include DYNAMO II, DYNAMO II/370, DYNAMO II/F, DYNAMO III and Gaming DYNAMO.
[ DYNAMO User's Manual , A.L. Pugh, MIT Press 1976].

Dynix
library A host-based library automation system from Dynix Automated Library Systems. First installed in 1993, it is now used in over 2000 libraries worldwide.
Dynix runs on Unix using the UniVerse post relational database. The software is configurable using tables of parameters. It includes modules for cataloguing, circulation, OPAC, acquisitions, serials, reserve book room, advance bookings, homebound, BiblioBus, Pac Plus for Windows, Kids Catalog, Dynix Online Catalog, media bookings, and community information.
(http://www.uk.dynix.com/classic.html)
(1995-04-28)

Dynix Automated Library Systems
company The world's largest supplier of library automation systems with European offices in France, Germany, Ireland, the Netherlands and the UK.
Dynix sell two library management systems - Horizon (client/server) and, Dynix (host-based). Both have GUI or terminal interfaces. Dynix also sell other products and services for database enrichment, interconnectivity, and on-line and CD-ROM databases.
Home (http://www.uk.dynix.com/dynix.html)
(1995-04-28)

dynner
data, jargon /din'r/ 32 bits, by analogy with byte. Usage: rare and extremely silly.
See also playte, tayste, crumb.
[Jargon File]
(1997-12-03)

DYSAC
Digital Simulated Analog Computer.
[Sammet 1969, p. 629].

DYSTAL
DYnamic STorage ALlocation.
Adds lists, strings, sorting, statistics and matrix operations to Fortran. Sammet 1969, p.388. DYSTAL: Dynamic Storage Allocation Language in FORTRAN , J.M. Sakoda, in Symbol Manipulation Languages and Techniques, D.G. Bobrow ed, N-H 1971, pp.302- 311.
(1995-03-17)

dz
networking The country code for Algeria.
(1999-01-27)

1. An extension of C++ with database types and persistent objects. E is a powerful and flexible procedural programming language. It is used in the Exodus database system.
See also GNU E.
(ftp://ftp.cs.wisc.edu/exodus/E/)
[ Persistence in the E Language: Issues and Implementation , J.E. Richardson et al, Soft Prac Exp 19(12):1115-1150 (Dec 1989)].
2. language A procedural language by Wouter van Oortmerssen with semantics similar to C. E features lists, low-level polymorphism, exception handling, quoted expressions, pattern matching and object inheritance. Amiga E is a version for the Amiga.
(1999-10-05)

E1
communications A European framing specification for the transmission of 32 DS0 (64 kb/s) data streams. By extension, it can also denote the transmission rate required (2.048 Mb/s = 2048 kb/s). Unlike DS1 it is free of bit-robbing.
(2002-03-22)

E2
communications A European framing specification for the transmission of four multiplexed E1 data streams, resulting in a transmission rate of 8.448 Mb/s (= 8448 kb/s).
(2002-03-22)

E3
communications A European framing specification for the transmission of 16 multiplexed E1 data streams, resulting in a transmission rate of 34.368 Mb/s (= 34,368 kb/s).
(2002-03-22)

E4
communications A European framing specification for the transmission of 64 multiplexed E1 data streams, resulting in a transmission rate of 139.264 Mb/s (= 139,264 kb/s).
(2002-03-22)

E5
communications A European framing specification for the transmission of 256 multiplexed E1 data streams, resulting in a transmission rate of 565.148 Mbps (= 565,148 kb/s).
(2002-03-22)

EAF
Effort Adjustment Factor

EAG
Extended Affix Grammar

eager evaluation
Any evaluation strategy where evaluation of some or all function arguments is started before their value is required. A typical example is call-by-value, where all arguments are passed evaluated. The opposite of eager evaluation is call-by-need where evaluation of an argument is only started when it is required.
The term speculative evaluation is very close in meaning to eager evaluation but is applied mostly to parallel architectures whereas eager evaluation is used of both sequential and parallel evaluators.
Eager evaluation does not specify exactly when argument evaluation takes place - it might be done fully speculatively (all redexes in the program reduced in parallel) or may be done by the caller just before the function is entered.
The term eager evaluation was invented by Carl Hewitt and Henry Baker hbaker@netcom.com and used in their paper [ The Incremental Garbage Collection of Processes , Sigplan Notices, Aug 1977. (ftp://ftp.netcom.com/pub/hb/hbaker/Futures.html)]. It was named after their eager beaver evaluator.
See also conservative evaluation, lenient evaluation, strict evaluation.
(1994-12-22)

Eagle
A dBASE-like dialect bundled with Emerald Bay, sold by Migent from 1986-1988, later renamed Vulcan when Wayne Ratliff reacquired the product.

EAI
Enterprise Application Integration

EAPROM
Electrically Alterable Programmable Read-Only Memory

earliest deadline first
operating system, algorithm (EDF) A strategy for CPU or disk access scheduling. With EDF, the task with the earliest deadline is always executed first.
Scan-EDF is an example.
(1995-11-15)

Early PL/I
language (EPL) A PL/I subset dialect by McIlroy, Morris et al, the first running PL/I compiler. It was used by Bell Labs and MIT to write Multics. EPL had extensions to handle the segment/offset nature of Multics pointers.
See also REPL, TMG.
[ EPL Reference Manual , Project MAC, April 1966].
[Sammet 1969, p. 542].
(1995-11-15)

EARN
networking European Academic and Research Network.
(1995-11-15)

EAROM
Electrically Alterable Read-Only Memory.
EEPROM

earthquake
(IBM) The ultimate real-world shock test for computer hardware. Hackish sources at IBM deny the rumor that the San Francisco Bay Area quake of 1989 was initiated by the company to test quality-assurance procedures at its California plants.
[Jargon File]
(1995-04-22)

Ease
General purpose parallel programming language, combining the process constructs of CSP and the distributed data structures of Linda. Programming with Ease: Semiotic Definition of the Language , S.E. Zenith, zenith-steven@yale.edu Yale U TR-809, Jul 1990.

EASE II
Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

EASIAC
Early system on Midac computer. Listed in CACM 2(5):16 (May 1959).

EAST
A Eureka project developing a software engineering platform.
(1994-12-07)

easter egg
jargon (From the custom of the Easter Egg hunt observed in the US and many parts of Europe)
1. A message hidden in the object code of a program as a joke, intended to be found by persons disassembling or browsing the code.
2. A message, graphic, sound effect, or other behaviour emitted by a program (or, on an IBM PC, the BIOS ROM) in response to some undocumented set of commands or keystrokes, intended as a joke or to display program credits.
One well-known early Easter egg found in a couple of operating systems caused them to respond to the command make love with not war? . Many personal computers have much more elaborate eggs hidden in ROM, including lists of the developers' names (e.g. Microsoft Windows 3.1x), political exhortations and snatches of music. The Tandy Color Computer 3 (CoCo) had images of the entire development team. Microsoft Excel 97 includes a flight simulator!
(http://www.eeggs.com/).
[Jargon File]
(1999-07-08)

Easter egging
jargon (IBM, From the custom of the Easter Egg hunt observed in the US and many parts of Europe) The act of replacing unrelated components more or less at random in the hope that a malfunction will go away. Hackers consider this the normal operating mode of field circus techs and do not love them for it.
Compare Easter egg, shotgun debugging.
[Jargon File]
(1998-03-18)

Eastern Washington University
A university 20 miles southwest of Spokane, WA on the edge of the rolling Palouse Prairie.
Home (http://www.ewu.edu/)
Address: Cheney, Washington, USA.
(1995-02-28)

EASY FOX
An early system on the JOHNNIAC computer.
[Listed in CACM 2(5):16 (May 1959)].

eat flaming death
A construction popularised among hackers by the infamous CPU Wars comic; supposedly derive from a famously turgid line in a WWII-era anti-Nazi propaganda comic that ran Eat flaming death, non-Aryan mongrels! or something of the sort (however, it is also reported that the Firesign Theater's 1975 album In The Next World, You're On Your Own included the phrase Eat flaming death, fascist media pigs ; this may have been an influence). Used in humorously overblown expressions of hostility. Eat flaming death, EBCDIC users!
[Jargon File]

EBASIC
A BASIC by Gordon Eubanks, now at Symantec, that led to CBASIC.

EBCDIC
Extended Binary Coded Decimal Interchange Code

EBCIDIC
spelling It's spelled EBCDIC .
(1996-12-13)

EBNF
language Extended Backus-Naur Form.

Ebone
A pan-European backbone network service.

ec
networking The country code for Ecuador.
(1999-01-27)

EC++
A preprocessor by Glauco Masotti masotti@lipari.usc.edu that translates Extended C++ into C++.
(ftp://ftp.uu.net/languages/c++/EC++.tar.Z)
(1989-10-10)

ECAP II
Electronic Circuit Analysis Program. Simple language for analysing electrical networks. Introduction to Computer Analysis: ECAP for Electronics Technicians and Engineers , H. Levin, P-H 1970.

E-carrier system
communications A series of digital transmission formats promulgated by the ITU and used outside of North America and Japan.
The basic unit of the E-carrier system is the DS0, which has a transmission rate of 64 Kbps, and is commonly used for one voice circuit. The E1 format consists of 32 DS0 channels, for a total capacity of 2.048 Mbps. E2, E3, E4, and E5 circuits carry multiple E1 channels multiplexed, resulting in transmission rates of up to 565.148 Mbps.
The E-carrier system is similar to, and compatible with, the T-carrier system used in North America, but has higher capacity since it uses out-of-band signaling in contrast to the in-band signaling or bit-robbing used in the T-system.
(2000-03-10)

Ecash
application A trial form of electronic funds transfer over the Internet (and soon by electronic mail).
The ecash software stores digital money, signed by a bank, on the user's local computer. The user can spend the digital money at any shop accepting ecash, without the trouble of having to open an account there first, or having to transmit credit card numbers. The shop just has to accept the money, and deposit it at the bank. The security is provided by a public-key digital signature.
There process involves the issuing banks who exchange real money for ecash, users who have and spend ecash, shops who accept ecash payments, and clearing banks who clear payments received by shops.
At the moment, all users and shops must have an account at DigiCash's own bank, the First Digital Bank at bank.digicash.com. They can withdraw money from the bank, and convert it to ecash. Shops can be started by any ecash user.
Home (http://www.digicash.com/ecash/ecash-home.html)
(1995-04-10)

ECC
error detection and correction

Eccles-Jordan circuit
flip-flop

Echidna
Constraint logic programming embedded in an object-oriented language. The syntax is an extension of Edinburgh Prolog.
[ Hierarchical Arc Consistency Applied to Numeric Processing in Constraint Logic Programming , G. Sidebottom et al, TR-91-06, CSS-IS, Simon Fraser U, and Comp Intell 8(4) (1992)].
(ftp://cs.sfu.edu/pub/ecl/papers)
E-mail: expert@cs.sfu.edu .
(1994-12-08)

echo
1. A topic group on FidoNet's echomail system.
Compare newsgroup.
2. A Unix command that just prints its arguments.
[Jargon File]

echo cancellation
A process which removes unwanted echoes from the signal on a telephone line. Echoes are usually caused by impedance mismatches along an analogue line.

ECHT
European Conference on Hypertext.

ECIP2
An Esprit project on the definition of a specification language at the requirement level.

ECIS
European Committee for Interoperable Systems

Eckert-Mauchly Computer Corporation
company The company which designed and built Univac computers.
(1995-03-01)

ECL
1. hardware Emitter Coupled Logic.
2. language Extensible CL.
Wegbreit, ca 1970.
[ The ECL Programming System , B. Wegbreit, Proc FJCC 39:253-261, AFIPS (Fall 1971)].
[ ECL Programmer's Manual , B. Wegbreit, TR 23-74, Harvard U (Dec 1974)].
(1994-11-09)

ECLIPSE
A Prolog + CLP compiler from ECRC.

ECM
storage error correcting memory.
(1995-10-10)

ECMA
1. European Computer Manufacturers Association.
2. A subset of ALGOL. [Sammet 1969, p.180].
(1998-09-07)

e-commerce
electronic commerce

Econet
1. One of the IGC networks. EcoNet serves individuals and organisations working for environmental preservation and sustainability. Important issues covered include: global warming, energy policy, rainforest preservation, legislative activities, water quality, toxics and environmental education.
EcoNet users can send and receive private messages, including fax and telex, to and from more than 18,000 international users on the APC networks or to millions on other networks. EcoNet seeks to build coalitions and partnerships with activist and non-profit organisations to develop the use of the electronic communications medium. EcoNet provides subsidies and financial incentives to environmental organisations and committed individuals who foster the effectiveness of organisations through the use of electronic networking. FTP/Telnet: igc.apc.org.
2. A network produced by Acorn Computers Ltd. for the BBC Microcomputer and its successors.

ECOOP
European Conference on Object-oriented Programming.

ECP
1. Engineering Change Proposal.
2. Enhanced Capabilities Port.
3. Extended Capabilities Port.
4. Extended Concurrent Prolog.
(1997-12-01)

ECRC
European Computer-Industry Research Centre GmbH

ECRC-Prolog
Evidently Prolog with coroutine extensions.
See also SEPIA.
[ ECRC-Prolog User's Manual Version 1.0 , K. Estenfeld, TR-LP-08 ECRC, Feb 1986].
(1994-12-01)

ECSL
Extended CSL.
A discrete simulation language, the successor to CSL.
[ Extended Control and Simulation Language , A.T. Clementson, Comp J 9(3):215-220 (1966)].
(1994-12-08)

ECSP
An extension to CSP, supporting dynamic communication channels and nested processes.
[ Static Type Checking of Interprocess Communication in ECSP , F. Baiardi et al, SIGPLAN Notices 19(6):290-299 (June 1984)].
(1994-12-08)

ECSS II
Extendable Computer System Simulator.
An extension of SIMSCRIPT II.
[ The ECSS II Language for Simulating Computer Systems , D.W. Kosy, R-1895-GSA, Rand Corp].
(1994-12-08)

ECSSL
Formerly APSE. An equation-oriented specification language for continuous simulations. The compiler outputs HYTRAN, which must be run on an analog processor.
(1994-12-08)

ed
tool, text (editor) Unix's line editor. Ed is rarely used by humans since even vi is better.
Unix manual page: ed(1).
(1999-03-01)

EDA
1. Electronic Design Automation.
2. Exploratory Data Analysis.
3. A product line from Dazix.
(1995-10-02)

e-ddress
electronic mail address

Eden
A concurrent, object-oriented, distributed operating system and language, based on remote procedure call. It has both synchronous and asynchronous message passing.
[ The Eden System: A Technical Review , G. Almes et al, IEEE Trans Soft Eng SE-11(1):43-59 (Jan 1985)].

EDF
algorithm earliest deadline first.
(1995-11-12)

EDI
Electronic Data Interchange

EDIF
Electronic Design Interchange Format.
Not a programming language, but a format to simplify data transfer between CAD/CAE systems. LISP-like syntax. See also Berkeley EDIF200.
E-mail: edif-support@cs.man.ac.uk (ftp://edif.cs.man.ac.uk/pub/edif).
[ Designer's Guide to EDIF , E. Marx et al, EDN 1987. EDIF Electronic Design Interchange Format Version 200 , ANSI/EIA Standard 548].
(1995-03-10)

EDIFACT
ISO 9735:1988

Edinburgh Multi Access System
operating system (EMAS) One of the first operating systems written in a high-level language (IMProved Mercury autocode), apparently predating Unix.
[Papers in J. British Computer Society].
[More info? Dates?]
(1996-04-07)

Edinburgh Prolog
Prolog dialect which eventually developed into the standard, as opposed to Marseille Prolog. (The difference is largely syntax.) Clocksin Mellish describe Edinburgh Prolog. Version: C-Prolog.
(1995-03-10)

Edinburgh SML
(EdML) Implementation of the Core language of SML. Byte-code interpreter in C. Ported to Amiga, Atari, Archimedes and IBM PC.
Version: 0.44.
(ftp://ftp.dcs.ed.ac.uk/pub/edml/EDML4)
E-mail: lfcs@ed.ac.uk .
(1994-12-08)

Edison
1. (Named after the American inventor Thomas Edison (1847-1931))
A simplified Pascal by Per Brinch Hansen with modules and concurrency (cobegin/coend).
[ Edison - A Multiprocessor Language , P. Brinch Hansen, CS Dept, USC, Sep 1980].
[ Programming a Personal Computer , Brinch Hansen, P-H 1977].
2. A language which adds an OPS5-like rete-based production system system to C. It is implemented as a C preprocessor.
[ Edison, A Unix and C Friendly Rete Based Production System , B. Thirion, SIGPLAN Notices 27(1):75-84 (Jan 1992)].
(1994-12-08)

EDL
1. Experiment Description Language. J.S. Jenkins.
A Programmable System for Acquisition and Reduction of Respiratory Physiological Data , J.S. Jenkins et al, Ann Biomed Eng, 17:93-108 (1989).
2. Event Description Language.
[ EDL: A Basis for Distributed System Debugging Tools , P.C. Bates et al, in Proc Hawaii Intl Conf on Sys Sci, Jan 1982, pp.86-93].

EDM
Electronic Data Management

EdML
Edinburgh SML

EDMS
Electronic Document Management System

EDO DRAM
Extended Data Out Dynamic Random Access Memory

EDO memory
Extended Data Out Dynamic Random Access Memory

EDO RAM
Extended Data Out Dynamic Random Access Memory

EDP
Electronic Data Processing

EDRAM
storage Enhanced Dynamic Random Access Memory.
(1995-11-19)

e-dress
electronic mail address

EDS+
A database accelerator built by ICL as part of the EDS project. The machine has up to 64 nodes, each node having 64Mb of memory, 2 SPARC processors and a 1Gb of disk.
See also PARADE.
(1994-11-02)

edu
networking ( education ) The top-level domain for educational establishments in the USA (and some other countries). E.g. mit.edu . The UK equivalent is ac.uk .
(1999-01-26)

edutainment
application Interactive education and entertainment services or software, usually supplied commercially via a cable network or on CD-ROM.
(1995-03-30)

Edward Lorenz
person A mathematical meteorologist who discovered the Lorenz attractor in the 1960s.
(1996-01-13)

Edward Yourdon
person A software engineering consultant, widely known as the developer of the Yourdon method of structured systems analysis and design, as well as the co-developer of the Coad/Yourdon method of object-oriented analysis and design. He is also the editor of three software journals - American Programmer, Guerrilla Programmer, and Application Development Strategies - that analyse software technology trends and products in the United States and several other countries around the world.
Ed Yourdon received a B.S. in Applied Mathematics from MIT, and has done graduate work at MIT and at the Polytechnic Institute of New York. He has been appointed an Honorary Professor of Information Technology at Universidad CAECE in Buenos Aires, Argentina and has received numerous honors and awards from other universities and professional societies around the world.
He has worked in the computer industry for 30 years, including positions with DEC and General Electric. Earlier in his career, he worked on over 25 different mainframe computers, and was involved in a number of pioneering computer projects involving time-sharing and virtual memory.
In 1974, he founded the consulting firm, Yourdon, Inc.. He is currently immersed in research in new developments in software engineering, such as object-oriented software development and system dynamics modelling.
Ed Yourdon is the author of over 200 technical articles; he has also written 19 computer books, including a novel on computer crime and a book for the general public entitled Nations At Risk. His most recent books are Object-Oriented Systems Development (1994), Decline and Fall of the American Programmer (1992), Object-Oriented Design (1991), and Object-Oriented Analysis (1990). Several of his books have been translated into Japanese, Russian, Chinese, Spanish, Portugese, Dutch, French, German, and other languages, and his articles have appeared in virtually all of the major computer journals.
He is a regular keynote speaker at major computer conferences around the world, and serves as the conference Chairman for Digital Consulting's SOFTWARE WORLD conference. He was an advisor to Technology Transfer's research project on software industry opportunities in the former Soviet Union, and a member of the expert advisory panel on CASE acquisition for the U.S. Department of Defense.
Mr. Yourdon was born on a small planet at the edge of one of the distant red-shifted galaxies. He now lives in the Center of the Universe (New York City) with his wife, three children, and nine Macintosh computers, all of which are linked together through an Appletalk network.
(1995-04-16)

ee
networking The country code for Estonia.
(1999-01-27)

EEMA
European Electronic Messaging Association

EEPROM
Electrically Erasable Programmable Read-Only Memory
See also EAPROM.

EER
An extended entity-relationship model.

E. F. Codd
person The inventor of the relational data model of databases.
[Name? More?]
(1995-11-29)

EFF
Electronic Frontier Foundation

effective computable
theory A term describing a function for which there is an effective algorithm that correctly calculates the function. The algorithm must consist of a finite sequence of instructions.
(1996-05-03)

effective number of bits
hardware (ENOB) An indication of the quality of an analog to digital converter. The measurement is related to the test frequency and the signal-to-noise ratio.
[Better definition?]
(1998-06-15)

Effort Adjustment Factor
programming (EAF) A term used in COCOMO to calculate a cost driver attribute's effect on a project. It is the product of the effort multipliers corresponding to each of the cost drivers for the project.
(1996-05-29)

EFL
Extended Fortran Language

EFNet
networking (From Eris-free Net , eris being eris.berkeley.edu).
The dominant Internet Relay Chat network.
See also Undernet.
(1995-11-09)

Eforth
language A system produced by Ting to help implementers produce Forths for different targets, using assemblers.
(1996-07-28)

E-Forth
language A Forth interpreter written in Motorla 6809 assembly code by Lennart Benschop lennart@blade.stack.urc.tue.nl . Posted to Usenet newsgroup alt.sources on 1993-11-03 with a Motorola 6809 assembler.
(1993-11-03)

EFT
electronic funds transfer

EFTS
electronic funds transfer

eg
networking The country code for Egypt.
(1999-01-27)

EGA
Enhanced Graphics Adapter

egosurfing
jargon Scanning the World-Wide Web, databases, print media or research papers looking for the mention of your name.
(1997-04-17)

EGP
Exterior Gateway Protocol

egrep
An extended version of the Unix command grep. Egrep accepts extended regular expressions (RE) including * following multi-character REs; + (one or more matches); ? (zero or one matches); | separating two REs matches either. REs may be bracketed with (). Despite its additional complexity, egrep is usually faster that fgrep or grep.

Eh
/A/. Software Portability Group, U Waterloo. A typeless language derived from (and similar to) B. Provides guaranteed order of evaluation for side effects in expressions. Also character indexing operators.
See also Zed.
[ Eh Reference Manual , R.S.C. Braga, RR CS-76-45, U Waterloo, Nov 1976].

eh
networking The country code for Western Sahara.
(1999-01-27)

EHTS
Emacs HyperText System.
An experimental multi-user hypertext system from the University of Aalborg. It consists of a text editor (based on Epoch and GNU Emacs and written in elisp) and a graphical browser (based on XView and written in C) running under the X Window System and OpenWindows. Both tools use HyperBase as their database.
(1995-01-05)

EIA
Electronics Industry Association

EIA-232
communications, standard (Formerly RS-232 ) The most common asynchronous serial line standard. EIA-232 is the EIA equivalent of ITU-T V.24, and V.28.
EIA-232 specifies the gender and pin use of connectors, but not their physical type. RS-423 specifies the electrical signals. 25-way D-type connectors are common but often only three wires are connected - one ground (pin 7) and one for data in each direction. The other pins are primarily related to hardware handshaking between sender and receiver and to carrier detection on modems, inoperative circuits, busy conditions etc.
The standard classifies equipment as either Data Communications Equipment (DCE) or Data Terminal Equipment (DTE). DTE receives data on pin 3 and transmits on pin 2 (TD). A DCE EIA-232 interface has a female connector. DCE receives data from DTE on pin 2 (TD) and sends that data out the analog line. Data received from the analog line is sent by the DCE on pin 3(RD).
Originally DCE was a modem and DTE was a computer or terminal. The terminal or computer was connected (via EIA-232) to two modems, which were connected via a telephone line.
The above arrangement allows a computer or terminal to be connected to a modem with a straight-through (2-2, 3-3) cable. It is common, however, to find equipment with the wrong sex connector or with pins two and three reversed, requiring the insertion of a cable or adaptor wired as a gender mender or null modem. Such an adaptor is also required when connecting a computer directly to a terminal or to another computer without the use of modems.
(1999-12-28)

EIDE
Advanced Technology Attachment Interface with Extensions

Eiffel
language An object-oriented language produced by Bertrand Meyer in 1985. Eiffel has classes with multiple inheritance and repeated inheritance, deferred classes (like Smalltalk's abstract class), and clusters of classes. Objects can have both static types and dynamic types. The dynamic type must be a descendant of the static (declared) type. Dynamic binding resolves multiple inheritance clashes. It has flattened forms of classes, in which all of the inherited features are added at the same level and generic classes parametrised by type.
Other features are persistent objects, garbage collection, exception handling, foreign language interface. Classes may be equipped with assertions (routine preconditions and postconditions, class invariants) implementing the theory of Design by Contract and helping produce more reliable software.
Eiffel is compiled to C. It comes with libraries containing several hundred classes: data structures and algorithms (EiffelBase), graphics and user interfaces (EiffelVision) and language analysis (EiffelLex, EiffelParse).
The first release of Eiffel was release 1.4, introduced at the first OOPSLA in October 1986. The language proper was first described in a University of California, Santa Barbara report dated September 1985.
Eiffel is available, with different libraries, from several sources including Interactive Software Engineering, USA (ISE Eiffel version 3.3); Sig Computer GmbH, Germany (Eiffel/S); and Tower, Inc., Austin (Tower Eiffel).
The language definition is administered by an open organisation, the Nonprofit International Consortium for Eiffel (NICE). There is a standard kernel library.
An Eiffel source checker and compiler front-end is available.
Latest version: 4.2, as of 1998-10-28.
Latest version: ISE Eiffel version 3.3.
See also Sather, Distributed Eiffel, Lace, shelf.
E-mail: queries@eiffel.com .
[ Eiffel: The Language , Bertrand Meyer, P-H 1992].
(1998-11-15)

Eiffel source checker
A compiler front-end for Eiffel 3 by Olaf Langmack langmack@inf.fu-berlin.de and Burghardt Groeber. It was generated automatically with the Karlsruhe toolbox for compiler construction according to the most recent public language definition. The parser derives an easy-to-use abstract syntax tree, supports elementary error recovery and provides a precise source code indication of errors. It performs a strict syntax check and analyses 4000 lines of source code per second on a Sun SPARC workstation.
(ftp://ftp.fu-berlin.de/pub/heron/ep.tar.Z)
(1992-12-14)

eigenvalue
mathematics The factor by which a linear transformation multiplies one of its eigenvectors.
(1995-04-10)

eigenvector
mathematics A vector which, when acted on by a particular linear transformation, produces a scalar multiple of the original vector. The scalar in question is called the eigenvalue corresponding to this eigenvector.
It should be noted that vector here means element of a vector space which can include many mathematical entities. Ordinary vectors are elements of a vector space, and multiplication by a matrix is a linear transformation on them; smooth functions are vectors , and many partial differential operators are linear transformations on the space of such functions; quantum-mechanical states are vectors , and observables are linear transformations on the state space.
An important theorem says, roughly, that certain linear transformations have enough eigenvectors that they form a basis of the whole vector states. This is why Fourier analysis works, and why in quantum mechanics every state is a superposition of eigenstates of observables.
An eigenvector is a (representative member of a) fixed point of the map on the projective plane induced by a linear map.
(1996-09-27)

eight-bit clean
software A term which describes a system that deals correctly with extended character sets which (unlike ASCII) use all eight bits of a byte. Many programs and communications systems assume that all characters have codes in the range 0 to 127. This leaves the top bit of each byte free for use as a parity bit or some kind of flag bit. These assumptions break down when the program is used in some non-english-speaking countries with larger alphabets.
If a binary file is transmitted via a communications link which is not eight-bit clean, it will be corrupted. To combat this you can encode it with uuencode which uses only ASCII characters. There are some links however which are not even seven-bit clean and cause problems even for uuencoded data.
(1995-01-05)

eight queens problem
eight queens puzzle

eight queens puzzle
algorithm A puzzle in which one has to place eight queens on a chessboard such that no queen is attacking any other, i.e. no two queens occupy the same row, column or diagonal. One may have to produce all possible such configurations or just one.
It is a common students assignment to devise a program to solve the eight queens puzzle. The brute force algorithm tries all 64*63*62*61*60*59*58*57 = 178,462,987,637,760 possible layouts of eight pieces on a chessboard to see which ones meet the criterion. More intelligent algorithms use the fact that there are only ten positions for the first queen that are not reflections of each other, and that the first queen leaves at most 42 safe squares, giving only 10*42*41*40*39*38*37*36 = 1,359,707,731,200 layouts to try, and so on.
The puzzle may be varied with different number of pieces and different size boards.
[Best algorithm?]
(1999-07-28)

eighty-column mind
abuse The sort said to be possessed by persons for whom the transition from punched card to paper tape was traumatic (nobody has dared tell them about disks yet). It is said that these people, including (according to an old joke) the founder of IBM, will be buried face down, 9-edge first (the 9-edge being the bottom of the card). This directive is inscribed on IBM's 1402 and 1622 card readers and is referenced in a famous bit of doggerel called The Last Bug , the climactic lines of which are as follows:
He died at the console
Of hunger and thirst.
Next day he was buried,
Face down, 9-edge first.
The eighty-column mind is thought by most hackers to dominate IBM's customer base and its thinking.
See fear and loathing, card walloper.
[Jargon File]
(1996-08-16)

EISA
Extended Industry-Standard Architecture

EJB
Enterprise JavaBeans

EL1
Extensible Language One. An extensible language by B. Wegbreit of Harvard ca 1974. EL1 is internally somewhat Lisp-like, but fully typed with records and pointers. The external syntax is ALGOL-like and extensible, supporting user-defined data structures, control structures and operations. The parser is table-driven, with a modifiable set of productions. Used as the basis for the ECL operating system.
[ Studies in Extensible Programming Languages , B. Wegbreit, Garland. Pub 1980].

el(alpha)
Aims to be a high-level language that knows about real hardware, for systems programming. Essential Language el(alpha) - A Reduced Expression Set Language for Systems Programming , T. Watanabe et al, SIGPLAN Notices 26(1):85-98.

Elan
[ Top-down Programming with Elan , C.H.A. Koster, Ellis Horwood 1987].

El Camino Bignum
humour /el' k*-mee'noh big'nuhm/ The road mundanely called El Camino Real, a road through the San Francisco peninsula that originally extended all the way down to Mexico City and many portions of which are still intact. Navigation on the San Francisco peninsula is usually done relative to El Camino Real, which defines logical north and south even though it isn't really north-south many places. El Camino Real runs right past Stanford University.
The Spanish word real (which has two syllables: /ray-al'/) means royal ; El Camino Real is the royal road . In the Fortran language, a real quantity is a number typically precise to seven significant digits, and a double precision quantity is a larger floating-point number, precise to perhaps fourteen significant digits (other languages have similar real types).
When a hacker from MIT visited Stanford in 1976, he remarked what a long road El Camino Real was. Making a pun on real , he started calling it El Camino Double Precision - but when the hacker was told that the road was hundreds of miles long, he renamed it El Camino Bignum , and that name has stuck. (See bignum).
[Jargon File]
(1996-07-16)

elder days
The heroic age of hackerdom (roughly, pre-1980); the era of the PDP-10, TECO, ITS and the ARPANET. This term has been rather consciously adopted from J. R. R. Tolkien's fantasy epic The Lord of the Rings .
Compare Iron Age. See also elvish and Great Worm.
[Jargon File]

Electing a Pope
electronics, humour (From the smoke signals given out when the guys in funny hats choose a new Pope) Causing an integrated circuit or other electronic component to emit smoke by passing too much current through it.
See magic smoke.
(1995-08-18)

Electrically Alterable Programmable Read-Only Memory
storage (EAPROM) A PROM whose contents can be changed.
[What's the difference between EAPROM and EEPROM?]
(1995-11-12)

Electrically Erasable Programmable Read-Only Memory
storage (EEPROM) A non-volatile storage device using a technique similar to the floating gates in EPROMs but with the capability to discharge the floating gate electrically. Usually bytes or words can be erased and reprogrammed individually during system operation.
In contrast to RAM, writing takes much longer than reading and EEPROM is more expensive and less dense than RAM. It is appropriate for storing small amounts of data which is changed infrequently, e.g. the hardware configuration of an Acorn Archimedes.
[Difference from EAPROM?]
(1995-04-22)

Electromagnetic Compatibility
hardware, testing (EMC) The extent to which a piece of hardware will tolerate electrical interference from other equipment, and will interfere with other equipment.
There are strict legal EMC requirements for the sale of any electrical or electronic hardware in most countries, although the actual standards differ. See, for example, EMCNet (http://www.emcnet.com/).
See also Electrostatic Discharge, Radio Frequency Interference.
(1997-12-19)

electromigration
electronics Mass transport due to momentum exchange between conducting electrons and diffusing metal atoms. Electromigration causes progressive damage to the metal conductors in an integrated circuit. It is characteristic of metals at very high current density and temperatures of 100C or more.
The term was coined by Professor Hilbert Huntington in the late 1950s because he didn't like the German use of the word electrotransport .
Mass transoport occurs via the Einstein relation J=DFC/kT where F is the driving force for the transoport. For electromigraiton F is z*epj and z* is an electromigration parameter relating the momentum exchange and z is the charge of the diffusing species.
(1999-02-25)

electron
electronics A sub-atomic particle with a negative quantised charge. A flow of electrical current consists of the unidirectional (on average) movement of many electrons. The more mobile electrons are in a given material, the greater it electrical conductance (or equivalently, the lower its resistance).
(1995-10-06)

electronic commerce
application, communications (EC) The conducting of business communication and transactions over networks and through computers. As most restrictively defined, electronic commerce is the buying and selling of goods and services, and the transfer of funds, through digital communications. However EC also includes all inter-company and intra-company functions (such as marketing, finance, manufacturing, selling, and negotiation) that enable commerce and use electronic mail, EDI, file transfer, fax, video conferencing, workflow, or interaction with a remote computer.
Electronic commerce also includes buying and selling over the World-Wide Web and the Internet, electronic funds transfer, smart cards, digital cash (e.g. Mondex), and all other ways of doing business over digital networks.
[Electronic Commerce Dictionary].
(1995-10-08)

Electronic Commerce Dictionary
publication A lexicon of electronic commerce terms. It includes over 900 terms and acronyms, and over 200 web site addresses. It has entries on commerce over the World-Wide Web, Internet payment systems, The National Information Infrastructure, Electronic Data Interchange, Electronic Funds Transfer, Public Key Cryptography, smart cards and digital cash, computer and network security for commerce, marketing through electronic media.
Home (http://www.tedhaynes.com/haynes1/intro.html).
(1999-03-24)

electronic data interchange
application, communications (EDI) The exchange of standardised document forms between computer systems for business use. EDI is part of electronic commerce.
EDI is most often used between different companies ( trading partners ) and uses some variation of the ANSI X12 standard (USA) or EDIFACT (UN sponsored global standard).
[Electronic Commerce Dictionary].
(1995-10-06)

Electronic Data Processing
application (EDP) data processing by electronic machines, i.e. computers.
(1995-03-30)

Electronic Design Automation
application (EDA) Software tools for the development of integrated circuits and systems.
Companies selling EDA tools include Cadence, Intergraph, Mentor, Synopsys, Viewlogic. Zuken-Redac Dazix has been acquired by Intergraph.
(1995-10-09)

Electronic Frontier Foundation
body (EFF) A group established to address social and legal issues arising from the impact on society of the increasingly pervasive use of computers as a means of communication and information distribution. EFF is a non-profit civil liberties public interest organisation working to protect freedom of expression, privacy, and access to on-line resources and information.
Home (http://www.eff.org/)
(1994-12-08)

electronic funds transfer
application, communications (EFT, EFTS, - system) Transfer of money initiated through electronic terminal, automated teller machine, computer, telephone, or magnetic tape. In the late 1990s, this increasingly includes transfer initiated via the World-Wide Web. The term also applies to credit card and automated bill payments.
Glossary (http://www.fms.treas.gov/eft/glossary.html).
(1999-12-08)

electronic funds transfer system
electronic funds transfer

electronic magazine
messaging, publication, World-Wide Web (e-zine) A regular publication on some particular topic distributed in digital form, chiefly now via the World-Wide Web but also by electronic mail or floppy disk. E-zines are often distributed for free by enthusiasts.
(1996-08-04)

electronic mail
messaging (e-mail) Messages automatically passed from one computer user to another, often through computer networks and/or via modems over telephone lines.
A message, especially one following the common RFC 822 standard, begins with several lines of headers, followed by a blank line, and the body of the message. An increasing number of e-mail systems support the MIME standard which allows the message body to contain attachments of different kinds rather than just one block of plain ASCII text. It is conventional for the body to end with a signature.
Headers give the name and electronic mail address of the sender and recipient(s), the time and date when it was sent and a subject. There are many other headers which may get added by different message handling systems during delivery.
The message is composed by the sender, usuallya using a special program - a Mail User Agent (MUA). It is then passed to some kind of Message Transfer Agent (MTA) - a program which is responsible for either delivering the message locally or passing it to another MTA, often on another host. MTAs on different hosts on a network often communicate using SMTP. The message is eventually delivered to the recipient's mailbox - normally a file on his computer - from where he can read it using a mail reading program (which may or may not be the same MUA as used by the sender).
Contrast snail-mail, paper-net, voice-net.
The form email is also common, but is less suggestive of the correct pronunciation and derivation than e-mail . The word is used as a noun for the concept ( Isn't e-mail great? , Are you on e-mail? ), a collection of (unread) messages ( I spent all night reading my e-mail ), and as a verb meaining to send (something in) an e-mail message ( I'll e-mail you (my report) ). The use of an e-mail as a count noun for an e-mail message, and plural e-mails , is now (2000) also well established despite the fact that mail is definitely a mass noun.
Oddly enough, the word emailed is actually listed in the Oxford English Dictionary. It means embossed (with a raised pattern) or arranged in a net work . A use from 1480 is given. The word is derived from French emmailleure , network. Also email is German for enamel.
The story of the first e-mail message (http://www.pretext.com/mar98/features/story2.htm).
(2002-07-14)

electronic mail address
messaging (Usually e-mail address , rarely e-dress , e-ddress ) The string used to specify the source or destination of an electronic mail message. E.g. john@doc.acme.ac.uk .
The RFC 822 standard is probably the most widely used on the Internet though X.400 is also in use in Europe and Canada. UUCP-style (bang path) addresses or other kinds of source route became virtually extinct in the 1990s.
In the example above, john is the local part which is the name of a mailbox on the destination computer. If the sender and recipient use the same computer, or the same LAN, for electronic mail then the local part is usually all that is required.
If they use different computers, e.g. they work at different companies or use different Internet service providers, then the host part , e.g. sales.acme.com must be appended after an @ . This usually takes the form of a fully qualified domain name or, within a large organisation, it may be just the hostname part, e.g. sales . The destination computer named by the host part is often a server of some kind rather than an individual's workstation or PC. The user's mail is stored on the server and read later via client mail software running on the user's computer.
Large organisations, such as universities will often set up a global alias directory which maps a simple user name such as jsmith to an address which contains more information such as jsmith@london.bigcomp.co.uk . This hides the detailed knowledge of where the message will be delivered from the sender, making it much easier to redirect mail if a user leaves or moves to a different computer for example.
(1996-10-22)

electronic meeting
messaging, conferencing, meeting /e'lek-tro'nik mee'ting/ The use of a network of personal computers to improve communication that takes place in a meeting. The computers are used for typically 30-50% of the meeting. They do not eliminate conversation, discussion, or humour from the meeting.
Electronic meetings are effective with as few as two participants and with over 100 participants. Participants can be face-to-face in a meeting room or distributed around the world. They may all be participating at the same time or different times.
Getting Results from Electronic Meetings (http://www.emsl.co.uk/).
(2000-11-16)

Electronic Numerical Integrator and Computer
computer (ENIAC) The second general-purpose electronic digital computer and an ancestor of most computers in use today. ENIAC was developed by Dr. John W. Mauchly and J. Presper Eckert during World War II at the Moore School of the University of Pennsylvania.
In 1940 Dr. John Vincent Atanasoff attended a lecture by Mauchly and subsequently agreed to show him his computer, the Atanasoff-Berry Computer (ABC), which was built between 1937-1942. Mauchly used ideas from the ABC in the design of ENIAC, which was started in June 1943 and released publicly in 1946.
ENIAC was underwritten and its development overseen by Lieutenant Herman Goldstine of the U.S. Army Ballistic Research Laboratory (BRL). While the prime motivation for constructing the machine was to automate the wartime production of firing and bombing tables, the very first program run on ENIAC was a highly classified computation for Los Alamos. Later applications included weather prediction, cosmic ray studies, wind tunnel design, petroleum exploration, and optics.
ENIAC had 20 registers made entirely from vacuum tubes. It had no other no memory as we currently understand it. The machine performed an addition in 200 microseconds, a multiplication in about three milliseconds, and a division in about 30 milliseconds.
John von Neumann, a world-renowned mathematician serving on the BRL Scientific Advisory Committee, soon joined the developers of ENIAC and made some critical contributions. While Mauchly, Eckert and the Penn team continued on the technological problems, he, Goldstine, and others took up the logical problems. In 1947, while working on the design for the successor machine, EDVAC, von Neumann realized that ENIAC's lack of a centralized control unit could be overcome to obtain a rudimentary stored program computer. Modifications were undertaken, that eventually led to an instruction set of 92 orders . Von Neumann also proposed the fetch-execute cycle.
[R. F. Clippinger, A Logical Coding System Applied to the ENIAC , Ballistic Research Laboratory Report No. 673, Aberdeen Proving Ground, MD, September 1948. (http://ftp.arl.mil/~mike/comphist/48eniac-coding)].
[H. H. Goldstine, The Computer from Pascal to von Neumann , Princeton University Press, 1972].
[K. Kempf, Electronic Computers within the Ordnance Corps , Aberdeen Proving Ground, MD, 1961. (http://ftp.arl.mil/~mike/comphist/61ordnance)].
[M. H. Weik, The ENIAC Story , J. American Ordnance Assoc., 1961. (http://ftp.arl.mil/~mike/comphist/eniac-story.html)].
(2002-06-03)

Electronic Performance Support System
tool (EPSS) A system that provides electronic task guidance and support to the user at the moment of need. EPSS can provide application help, reference information, guided instructions and/or tutorials, subject matter expert advice and hints on how to perform a task more efficiently. An EPSS can combine various technologies to present the desired information. The information can be in the form of text, graphical displays, sound, and video presentations.
[ Electronic Performance Support Systems: How and Why to Remake the Workplace Through the Strategic Application of Technology , Gloria Gerry, Weingarten Press].
(1997-10-24)

Electronics Industry Association
body, standard (EIA) A body which publishes Recommended Standards (RS) for physical devices and their means of interfacing. EIA-232 is their standard that defines a computer's serial port, connector pin-outs, and electrical signaling.
(1995-03-02)

electronic whiteboarding
Audiographic Teleconferencing

electron model
electronics A model of semiconductor behaviour in which donors contribute the charge of an electron, and acceptors contribute a space for same, in effect contributing a fictional positive charge of similiar magnitude. Physicists use the electron model. Some language theorists consider language and the electron to be models in themselves.
Contrast hole model.
(1995-10-06)

electron tube
electronics (Or tube, vacuum tube, UK: valve, electron valve, thermionic valve, firebottle, glassfet) An electronic component consisting of a space exhausted of gas to such an extent that electrons may move about freely, and two or more electrodes with external connections. Nearly all tubes are of the thermionic type where one electrode, called the cathode, is heated, and electrons are emitted from its surface with a small energy (typically a Volt or less). A second electrode, called the anode (plate) will attract the electrons when it is positive with respect to the cathode, allowing current in one direction but not the other.
In types which are used for amplification of signals, additional electrodes, called grids, beam-forming electrodes, focussing electrodes and so on according to their purpose, are introduced between cathode and plate and modify the flow of electrons by electrostatic attraction or (usually) repulsion. A voltage change on a grid can control a substantially greater change in that between cathode and anode.
Unlike semiconductors, except perhaps for FETs, the movement of electrons is simply a function of electrostatic field within the active region of the tube, and as a consequence of the very low mass of the electron, the currents can be changed quickly. Moreover, there is no limit to the current density in the space, and the electrodes which do dissapate power are usually metal and can be cooled with forced air, water, or other refrigerants. Today these features cause tubes to be the active device of choice when the signals to be amplified are a power levels of more than about 500 watts.
The first electronic digital computers used hundreds of vacuum tubes as their active components which, given the reliability of these devices, meant the computers needed frequent repairs to keep them operating. The chief causes of unreliability are the heater used to heat the cathode and the connector into which the tube was plugged.
Vacuum tube manufacturers in the US are nearly a thing of the past, with the exception of the special purpose types used in broadcast and image sensing and displays. Eimac, GE, RCA, and the like would probably refer to specific types such as Beam Power Tetrode and the like, and rarely use the generic terms.
The cathode ray tube is a special purpose type based on these principles which is used for the visual display in television and computers. X-ray tubes are diodes (two element tubes) used at high voltage; a tungsten anode emits the energetic photons when the energetic electrons hit it. Magnetrons use magnetic fields to constrain the electrons; they provide very simple, high power, ultra-high frequency signals for radar, microwave ovens, and the like. Klystrons amplify signals at high power and microwave frequencies.
(1996-02-05)

Electrostatic Discharge
hardware, testing (ESD) One kind of test that hardware usually has to pass to prove it is suitable for sale and use. The hardware must still work after is has been subjected to some level of electrostatic discharge. Some organisations have their own ESD requirements which hardware must meet before it will be considered for purchase.
Different countries have different legal regulations about levels of ESD.
See also Radio Frequency Interference, Electromagnetic Compatibility.
(1997-12-19)

elegant
(From Mathematics) Combining simplicity, power, and a certain ineffable grace of design. Higher praise than clever , winning or even cuspy.
The French aviator, adventurer, and author Antoine de Saint-Exup'ery, probably best known for his classic children's book The Little Prince , was also an aircraft designer. He gave us perhaps the best definition of engineering elegance when he said A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.
[Jargon File]
(1994-11-29)

element
1. data, programming One of the items of data in an array.
2. language, text One kind of node in an SGML, HTML, or XML document tree. An SGML element is typically represented by a start tag ( p ) and an end tag ( /p ). In some SGML implementations, some tags are omissible, as with /p in HTML.
The start tag can contain attributes ( p lang= en-UK class='stuff' ), which are an unordered set of key-value bindings for that element. Both the start tag and end tag for an element typically contain the tag name (also called the GI or generic identifier) for that element.
In XML, an element is always represented either by an explicit start tag and end tag, or by an empty element tag ( img src='thing.png' alt='a dodad' / ).
Other kinds of SGML node are: a section of character data ( foo ), a comment ( !-- bar -- ), a markup declaration ( !ENTITY reg CDATA ' #174' ), or a processing instruction ( ?xml-stylesheet href= shop-english.xsl type= text/xsl ? ).
(2001-01-30)

elephant
Large, grey, four-legged mammal.

elephantine
Used of programs or systems that are both conspicuous hogs (owing perhaps to poor design founded on brute force and ignorance) and exceedingly hairy in source form. An elephantine program may be functional and even friendly, but (as in the old joke about being in bed with an elephant) it's tough to have around all the same (and, like a pachyderm, difficult to maintain). In extreme cases, hackers have been known to make trumpeting sounds or perform expressive proboscatory mime at the mention of the offending program. Usage: semi-humorous. Compare has the elephant nature and the somewhat more pejorative monstrosity. See also second-system effect and baroque.
[Jargon File]

elevator controller
An archetypal dumb embedded-systems application, like toaster (which superseded it). During one period (1983--84) in the deliberations of ANSI X3J11 (the C standardisation committee) this was the canonical example of a really stupid, memory-limited computation environment. You can't require printf(3) to be part of the default run-time library - what if you're targeting an elevator controller? Elevator controllers became important rhetorical weapons on both sides of several holy wars.

ELF
Binary format used by System V Release 4 Unix.

ELI
1. language An early system on the IBM 705 and IBM 650.
[Listed in CACM 2(5):16 (May 1959)].
2. Embedded Lisp Interpreter.

Eli Compiler Construction System
tool A compiler generation package which integrates off-the-shelf tools and libraries with specialised language processors to generate complete compilers quickly and reliably. It simplifies the development of new special-purpose languages, implementation of existing languages on new hardware and extension of the constructs and features of existing languages.
It runs on Sun-4 SunOS 4, 5, Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux.
Latest version 4.3.1, as of 2000-08-07
Colorado U (ftp://ftp.cs.colorado.edu/pub/cs/distribs/eli/). Europe (ftp://ftp.upb.de/unix/eli).
Mailing list: eli-request@cs.colorado.edu .
E-mail: compiler@uni-paderborn.de , Developers elibugs@cs.colorado.edu , Users eli@cs.colorado.edu .
(2000-08-12)

ELISP
1. language A Lisp variant originally implemented for DEC-20s by Chuck Hedrick of Rutgers.
2. language A common abbreviation for Emacs Lisp. Use of this abbreviation is discouraged because Elisp is or was a trademark.
[Still a trademark? Whose?]
(1995-04-04)

elite
1. security A term used to describe skilled crackers or hackers, or their deeds. In the last sense, compare to elegant.
The term is also used to describe exclusive forums (ftp sites, BBSs) used for trading pirated software, cracking tools, or phreaking codes.
(1997-01-31)

ELIZA
artificial intelligence A famous program by Joseph Weizenbaum, which simulated a Rogerian psychoanalyst by rephrasing many of the patient's statements as questions and posing them to the patient. It worked by simple pattern recognition and substitution of key words into canned phrases. It was so convincing, however, that there are many anecdotes about people becoming very emotionally caught up in dealing with ELIZA. All this was due to people's tendency to attach to words meanings which the computer never put there.
See also ELIZA effect.
(1997-09-13)

ELIZA effect
jargon /e-li:'z* *-fekt'/ (From ELIZA) The tendency of humans to attach associations to terms from prior experience. For example, there is nothing magic about the symbol + that makes it well-suited to indicate addition; it's just that people associate it with addition. Using + or plus to mean addition in a computer language is taking advantage of the ELIZA effect.
The ELIZA effect is a Good Thing when writing a programming language, but it can blind you to serious shortcomings when analysing an Artificial Intelligence system.
Compare ad-hockery; see also AI-complete.
[Jargon File]
(1997-09-13)

Elk
Extension Language Kit

ELLA
A hardware design language from DRA Malvern. Implemented in ALGOL68-RS.
E-mail: ella@dra.hmg.gb . SPARC version (ftp://src.doc.ic.ac.uk/packages/ELLA).
[ ELLA 2000: A Language for Electronic System Design , J.D. Morison and A.S. Clarke, McGraw-Hill 1993].

Ellemtel
A C++ style-guide originated by Ellemtel Telecom Systems, Stockholm.

Ellie
language An object-oriented language with fine-grained parallelism for distributed computing. Ellie is based on BETA, Smalltalk, and others. Parallelism is supported by unbounded RPC and future objects. Synchronisation is by dynamic interfaces. Classes, methods, blocks, and objects are all modelled by first-class Ellie objects . It supports genericity, polymorphism, and delegation/inheritance.
Home (http://www.diku.dk/ellie/papers/)?
[ Ellie Language Definition Report , Birger Andersen birger.andersen@acm.org , SIGPLAN Notices 25(11):45-65, Nov 1990].
(2000-04-02)

ELLIS
EuLisp LInda System. An object-oriented Linda system written for EuLisp. Using Object-Oriented Mechanisms to Describe Linda , P. Broadbery pab@maths.bath.ac.uk et al, in Linda-Like Systems and Their Implementation, G. Wilson ed, U Edinburgh TR 91-13, 1991.

elm
messaging A full-screen MUA for Unix, MS-DOS, MS Windows, and OS/2.
Usenet newsgroup: news:comp.mail.elm.
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/elm/FAQ/faq.html).
(1996-03-20)

ELMAGUIDE
language The metalanguage used for interpretation of user actions in the ELMA compiler writer developed at Tallinn Poly Institute in 1978.
(1996-03-20)

ELMAMETA
A Fortran extension, written at the Tallinn Poly Inst in 1978, used for lexical, syntactic and semantic sepecification in the ELMA compiler writer. This system was widely used in the Soviet Union, and produced an Ada to Diana compiler.
(1994-12-08)

ELP
1. English Language Programs. Language for testing avionics equipment, on Varian 620/i.
Multiband Automatic test Equipment - A Computer Controlled Checkout System , T. Kuroda et al, Proc SJCC, 38 (1971).
2. Equational Logic Programming. A semantically pure, fully lazy language by M.J. O'Donnell odonnell@cs.uchicago.edu . Current version: 4.2.
Sun and DEC versions (ftp://gargoyle.uchicago.edu/pub/equations/eq4.2.tar.Z).
[ Equational Logic as a Programming Language , M.J. O'Donnell, MIT Press 1985].

ELSIE
language A distributed version of ELLIS.
[ Using Object-Oriented Mechanisms to Describe Linda , P. Broadbery pab@maths.bath.ac.uk et al, in Linda-Like Systems and Their Implementati on, G. Wilson ed, U Edinburgh TR 91-13, 1991].
(1995-11-16)

Elvis
tool A vi lookalike which supports nearly all of the vi/ex commands, in both visual mode and colon mode.
Like vi/ex, elvis stores most of the text in a temporary file instead of RAM. This allows it to edit files that are too large to fit in a single process' data space.
Elvis runs under BSD UNIX, AT T SysV UNIX, MINIX, MS-DOS, Atari TOS, Coherent, OS9/68000, VMS, Windows 95 and Windows NT.
Elvis is just as awful to use as vi, so someone will like it.
Version 1.8pl14 (1995-09-04).
FTP Delft (ftp://dutepp0.et.tudelft.nl/pub/Unix/Editors/), FTP PDX (ftp://ftp.cs.pdx.edu/pub/elvis/).
E-mail: Steve Kirkendall kirkenda@cs.pdx.edu .
(1995-11-16)

elvish
character 1. The Tengwar of Feanor, a table of letterforms resembling the beautiful Celtic half-uncial hand of the Book of Kells . Invented and described by J.R.R. Tolkien in The Lord of The Rings as an orthography for his fictional elvish languages, this system (which is both visually and phonetically elegant) has long fascinated hackers (who tend to be intrigued by artificial languages in general). It is traditional for graphics printers, plotters, window systems, and the like to support a Feanorian typeface as one of their demo items. By extension, the term might be used for any odd or unreadable typeface produced by a graphics device.
2. The typeface mundanely called B ocklin , an art-decoish display font. [Why?]
[Jargon File]
(1998-04-28)

EM
End of Medium

EM-1
language A stack-oriented intermediate language from Vrije University Amsterdam, used by the Amsterdam Compiler Kit.
E-mail: Andrew Tanenbaum ast@cs.vu.nl .
(1996-04-07)

EMA
Extended Mercury Autocode.
See Autocode.
(1995-01-24)

Emacs
text, tool /ee'maks/ (Editing MACroS, or Extensible MACro System, GNU Emacs) A popular screen editor for Unix and most other operating systems.
Emacs is distributed by the Free Software Foundation and was Richard Stallman's first step in the GNU project. Emacs is extensible - it is easy to add new functions; customisable - you can rebind keys, and modify the behaviour of existing functions; self-documenting - there is extensive on-line, context-sensitive help; and has a real-time what you see is what you get display. Emacs is writen in C and the higher levels are programmed in Emacs Lisp.
Emacs has an entire Lisp system inside it. It was originally written in TECO under ITS at the MIT AI lab. AI Memo 554 described it as an advanced, self-documenting, customisable, extensible real-time display editor .
It includes facilities to view directories, run compilation subprocesses and send and receive electronic mail and Usenet news (GNUS). W3 is a web browser, the ange-ftp package provides transparent access to files on remote FTP servers. Calc is a calculator and symbolic mathematics package. There are modes provided to assist in editing most well-known programming languages. Most of these extra functions are configured to load automatically on first use, reducing start-up time and memory consumption. Many hackers (including Denis Howe) spend more than 80% of their tube time inside Emacs.
GNU Emacs is available for Unix, VMS, GNU/Linux, FreeBSD, NetBSD, OpenBSD, MS Windows, MS-DOS, and other systems. Emacs has been re-implemented more than 30 times. Other variants include GOSMACS, CCA Emacs, UniPress Emacs, Montgomery Emacs, and XEmacs. Jove, epsilon, and MicroEmacs are limited look-alikes.
Some Emacs versions running under window managers iconify as an overflowing kitchen sink, perhaps to suggest the one feature the editor does not (yet) include. Indeed, some hackers find Emacs too heavyweight and baroque for their taste, and expand the name as Escape Meta Alt Control Shift to spoof its heavy reliance on keystrokes decorated with bucky bits. Other spoof expansions include Eight Megabytes And Constantly Swapping , Eventually malloc()'s All Computer Storage , and Emacs Makes A Computer Slow (see recursive acronym). See also vi.
Latest version: 20.6, as of 2000-05-11. 21.1 (RSN) adds a new redisplay engine with support for proportional text, images, tool bars, tool tips, toolkit scroll bars, and a mouse-sensitive mode line.
FTP from your nearest GNU archive site.
E-mail: (bug reports only) bug-gnu-emacs@gnu.org .
Usenet newsgroups: news:gnu.emacs.help, news:gnu.emacs.bug, news:alt.religion.emacs, news:gnu.emacs.sources, news:gnu.emacs.announce.
[Jargon File]
(1997-02-04)

Emacs Lisp
language A dialect of Lisp used to implement the higher layers of the Free Software Foundation's editor, GNU Emacs. Sometimes abbreviated to elisp . An enormous number of Emacs Lisp packages have been written including modes for editing many programming languages and interfaces to many Unix programs.

e-mail
electronic mail

e-mail address
electronic mail address

EMAS
Edinburgh Multi Access System

Embedded Lisp Interpreter
language (ELI) A small Common Lisp-like interpreter embedded in the Andrew mail system, written by Bob Glickstein at CMU.
(2000-04-05)

Embedded Mode
programming A term used by COCOMO to describe a project development that is characterised by tight, inflexible constraints and interface requirements. The product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations and operational procedures. An embedded mode project will require a great deal of innovation. An example would be a real-time system with timing constraints and customised hardware.
(1996-05-29)

embedded system
computer Hardware and software which forms a component of some larger system and which is expected to function without human intervention.
A typical embedded system consists of a single-board microcomputer with software in ROM, which starts running some special purpose application program as soon as it is turned on and will not stop until it is turned off (if ever).
An embedded system may include some kind of operating system but often it will be simple enough to be written as a single program. It will not usually have any of the normal peripherals such as a keyboard, monitor, serial connections, mass storage, etc. or any kind of user interface software unless these are required by the overall system of which it is a part. Often it must provide real-time response.
Usenet newsgroup: news:comp.arch.embedded.
(1995-04-12)

embedding
1. mathematics One instance of some mathematical object contained with in another instance, e.g. a group which is a subgroup.
2. theory (domain theory) A complete partial order F in [X - Y] is an embedding if
(1) For all x1, x2 in X, x1 = x2 = F x1 = F x2 and
(2) For all y in Y, x | F x = y is directed.
( = is written in LaTeX as sqsubseteq).
(1995-03-27)

EMBLA Pro
messaging, tool An IMAP-compliant electronic mail client from WinSoft Products Ltd. EMBLA Pro allows you to use an IMAP mail server in a true client/server network manner, once you've connected to the IMAP server, you can organise messages into folders on the server and you can view messages and any attached files at the server before deciding whether or not to download them to your local system. IMAP allows the user to select individual message attachments to be viewed and/or downloaded. You can delete files and messages from the server, move or copy them to the local computer or leave them for future retrieval. EMBLA Pro also supports the standard POP3 protocol. Both POP3 and IMAP2 run over E-SMTP.
The IMAP Unix daemons can support specific environments, for example, Sun MailTool attachments. All flavours of Unix are catered for with a suite of binary mail daemons, eg: SunSoft Solaris, HP, IBM and SCO.
EMBLA conforms to the SMTP, E-SMTP, MIME and IMAP Internet standards - RFC1590 (RFC1521), RFC1522, RFC1426, RFC1425, RFC1176, RFC0822, RFC0821 and the draft update of RFC1176.
Home (http://www.ftech.co.uk/~winsoft/embla.htm)
(1996-03-11)

embosser
Braille printer

EMC
Electromagnetic Compatibility

EMD Enterprises, Inc.
company A software development and consulting firm specialising in database and client-server applications.
(http://www.emdent.com/)
(1994-12-12)

EMDIR
The CERN Electronic Mail DIRectory utility.
[Details?]
(1995-02-23)

Emerald
An object-oriented distributed programming language and environment developed at the University of Washington in the early 1980s. Emeral was the successor to EPL. It is strongly typed and uses signatures and prototypes rather than inheritance.
[ Distribution and Abstract Types in Emerald , A. Black et al, IEEE Trans Soft Eng SE-13(1):65-76 (Jan 1987)].
(1994-11-09)

Emitter Coupled Logic
(ECL) (Or Current Mode Logic ) A technology for building logic gates where the emitter of a transistor is used as the output rather than its collector. ECL has a propagation time of 0.5 - 2 ns (faster than TTL) and a power dissipation 3 - 10 times higher than TTL.
(1994-11-09)

EML
Extended ML. A language for formally specifying SML programs.
[ Formal Program Development in Extended ML for the Working Programmer , D. Sannella, Proc 3rd BCS/FACS Workshop on Refinement , Springer 1990].

EMM
storage Expanded Memory Manager.
(1996-01-12)

EMM386
software, storage An expanded memory manager for IBM PCs with an Intel 80386 or higher processor, part of MS-DOS version 5.00 or higher. EMM386 uses extended memory to simulate expanded memory and also provides upper memory blocks. It must be loaded by a DEVICE= command in your CONFIG.SYS file.
(1996-01-13)

emote
chat (emotion) A command used on talk systems and MUDs to indicate the performance of an action, usually a facial expression of emotional state.
(1996-11-28)

emoticon
/ee-moh'ti-kon/ An ASCII glyph used to indicate an emotional state in electronic mail or news. Although originally intended mostly as jokes, emoticons (or some other explicit humour indication) are virtually required under certain circumstances in high-volume text-only communication forums such as Usenet; the lack of verbal and visual cues can otherwise cause what were intended to be humorous, sarcastic, ironic, or otherwise non-100%-serious comments to be badly misinterpreted (not always even by newbies), resulting in arguments and flame wars.
Hundreds of emoticons have been proposed, but only a few are in common use. These include:
:-) smiley face (for humour, laughter, friendliness, occasionally sarcasm)
:-( frowney face (for sadness, anger, or upset)
;-) half-smiley (ha ha only serious); also known as semi-smiley or winkey face .
:-/ wry face
These may become more comprehensible if you tilt your head sideways, to the left. The first two are by far the most frequently encountered. Hyphenless forms of them are common on CompuServe, GEnie, and BIX; see also bixie. On Usenet, smiley is often used as a generic term synonymous with emoticon, as well as specifically for the happy-face emoticon.
It appears that the emoticon was invented by one Scott Fahlman on the CMU bboard systems around 1980. He later wrote: I wish I had saved the original post, or at least recorded the date for posterity, but I had no idea that I was starting something that would soon pollute all the world's communication channels. [GLS confirms that he remembers this original posting].
As with exclamation marks, overuse of the smiley is a mark of loserhood! More than one per paragraph is a fairly sure sign that you've gone over the line.
[Jargon File]
(1994-12-02)

empeg
hardware An in-car audio product that plays MP3 files from a hard disk. It is based around a DEC/Intel StrongARM S-1100 processor and runs a version of Linux. The user interface is written in Python.
Home (http://www.empeg.com/).
See also MPEG.
(1999-09-14)

empire
games Any of a family of military simulations derived from a game written by Peter Langston many years ago. Five or six multi-player variants of varying degrees of sophistication exist, and one single-player version implemented for both Unix and VMS; the latter is even available as MS-DOS freeware. All are notoriously addictive.
[Jargon File]
(1995-08-06)

empty element tag
tag

EMS
Expanded Memory Specification

emTeX
language, text, tool (Eberhard Mattes TeX) Eberhard Mattes mattes@azu.informatik.uni-stuttgart.de 's version of the LaTeX document preparation system designed for DOS and OS/2.
(2001-05-24)

EMU8000
multimedia, hardware, music The Advanced WavEffect music synthesizer integrated circuit used on the SB AWE32 card.
The EMU8000 is a sub-system offering high quality music synthesis and an effect engine which provides musical effects like reverb and chorus to MIDI playback. The EMU8000 supports up to 32 voices, and the effect amount for each voice can be controlled via MIDI.
(1996-12-15)

emulation
One system is said to emulate another when it performs in exactly the same way, though perhaps not at the same speed. A typical example would be emulation of one computer by (a program running on) another. You might use an emulation as a replacement for a system whereas you would use a simulation if you just wanted to analyse it and make predictions about it.
(1995-05-12)

emulator
Hardware or software that performs emulation.
(1995-05-12)

Emulator program
networking (EP) IBM software that emulates a 2701/2/3 hard-wired IBM 360 communications controller and resides in a 370x/372x/374x comms controller.
See also Partitioned Emulation Program (PEP).
(1999-01-29)

EMX
A programming environment for OS/2 by Eberhard Mattes mattes@azu.informatik.uni-stuttgart.de . EMX supports programming in C, C++ and Objective C. It works with gcc, g++, gdb, libg++, .obj linkage, DLL and headers. Version 0.8g.
Europe (ftp://ftp.uni-stuttgart.de/soft/os2/emx-0.8g). US (ftp://ftp-os2.cdrom.com/os2/2_x/Unix/gnu/emx0.8g).
Mailing list: listserv@ludd.luth.se ( subscribe to emx-list ).
(1992-09-21)

enabling
software enabling

Encapsulated PostScript
(EPS) An extension of the PostScript graphics file format developed by Adobe Systems. EPS is used for PostScript graphics files that are to be incorporated into other documents. An EPS file includes pragmas (special PostScript comments) giving information such as the bounding box, page number and fonts used.
On some computers, EPS files include a low resolution version of the PostScript image. On the Macintosh this is in PICT format, while on the IBM PC it is in TIFF or Microsoft Windows metafile format.
[Spec?]
(1995-01-04)

encapsulation
1. The technique used by layered protocols in which a layer adds header information to the protocol data unit (PDU) from the layer above. As an example, in Internet terminology, a packet would contain a header from the physical layer, followed by a header from the network layer (IP), followed by a header from the transport layer (TCP), followed by the application protocol data.
2. The ability to provide users with a well-defined interface to a set of functions in a way which hides their internal workings. In object-oriented programming, the technique of keeping together data structures and the methods (procedures) which act on them.
(1998-09-07)

encode
1. algorithm, hardware To convert data or some physical quantity into a given format. E.g. uuencode.
See also encoder.
2. cryptography To encrypt, to perform encryption.
(1999-07-06)

encoder
1. algorithm, hardware Any program, circuit or algorithm which encodes.
Example usages: MPEG encoder , NTSC encoder , RealAudio encoder .
2. hardware A sensor or transducer for converting rotary motion or position to a series of electronic pulses.
(1997-03-04)

encryption
algorithm, cryptography Any procedure used in cryptography to convert plaintext into ciphertext in order to prevent any but the intended recipient from reading that data.
There are many types of data encryption, and they are the basis of network security. Common types include Data Encryption Standard and public-key encryption.
The Unix command crypt performs encryption.
(http://eff.org/)
(1995-05-02)

-endian
data, architecture The ordering of bytes in a multi-byte number.
The term comes 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, 1980-04-01.
The Lilliputians, being very small, had correspondingly small political problems. The Big-Endian and Little-Endian parties debated over whether soft-boiled eggs should be opened at the big end or the little end.
See big-endian, little-endian, middle-endian, holy wars, NUXI problem, swab.
(1998-08-09)

endless loop
infinite loop

End Of Line
character (EOL) Synonym for newline, derived perhaps from the original CDC6600 Pascal. The abbreviation EOL is now rare, but widely recognised and occasionally used for brevity. Used in the example entry under BNF.
Out of context this would probably be (deliberately) ambiguous because different systems used different (combinations of) characters to mark the end of a line. Unix uses a line feed; DOS uses carriage return, line feed (CRLF) and the Macintosh uses carriage return.
See also EOF.
(2002-03-22)

End of Medium
character (EM) ASCII character 25.
(1996-06-28)

End Of Text
control-C

End Of Transmission
character (EOT) The mnemonic for ASCII character 4.

end tag
tag

End Transmission Block
character (ETB) The mnemonic for ASCII character 23.
(1996-06-28)

end-user
job The person who uses a computer application, as opposed to those who developed or support it. The end-user may or may not know anything about computers, how they work, or what to do if something goes wrong. End-users do not usually have administrative responsibilities or privileges.
End users are certain to have a different set of assumptions than the developers who created the application.
(1997-03-29)

Engelbart, Douglas
Douglas Engelbart

engine
jargon 1. A piece of hardware that encapsulates some function but can't be used without some kind of front end. Today we have, especially, print engine : the guts of a laser printer.
2. An analogous piece of software; notionally, one that does a lot of noisy crunching, such as a database engine , or search engine .
The hackish senses of engine are actually close to its original, pre-Industrial-Revolution sense of a skill, clever device, or instrument (the word is cognate to ingenuity ). This sense had not been completely eclipsed by the modern connotation of power-transducing machinery in Charles Babbage's time, which explains why he named the stored-program computer that he designed in 1844 the Analytical Engine .
[Jargon File]
(1996-05-31)

English
1. (Obsolete) The source code for a program, which may be in any language, as opposed to the linkable or executable binary produced from it by a compiler. The idea behind the term is that to a real hacker, a program written in his favourite programming language is at least as readable as English. Usage: mostly by old-time hackers, though recognisable in context.
2. The official name of the database language used by the Pick operating system, actually a sort of crufty, brain-damaged SQL with delusions of grandeur. The name permits marketroids to say Yes, and you can program our computers in English! to ignorant suits without quite running afoul of the truth-in-advertising laws.
[ Exploring the Pick Operating System , J.E. Sisk et al, Hayden 1986].
[Jargon File]

Enhanced Capabilities Port
hardware (ECP) The most common parallel printer interface on current (1997) IBM PC compatibles.
Enhanced Capabilities Port is defined in standard IEEE 1284. It is bi-directional and faster than earlier parallel ports.
Not to be confused with Extended Capabilities Port.
(1997-12-01)

Enhanced Dynamic Random Access Memory
(EDRAM) (http://www.ruralnet.net/~prairie).
[Summary?]
(1995-11-23)

Enhanced Graphics Adapter
graphics, hardware (EGA) An IBM PC display standard with a resolution of 640 x 350 pixels of 16 colours.
(1995-06-28)

Enhanced IDE
Advanced Technology Attachment Interface with Extensions

Enhanced Integrated Drive Electronics
Advanced Technology Attachment Interface with Extensions

enhanced parallel port
hardware (EPP) A parallel port that confirms to the IEEE's EPP standard. An EPP is actually an expansion bus that can handle 64 disk drives and other peripherals.
[ PC Magazine , 1996-01-09, p. 262].
[Details? Manufacturers?]
(1996-04-07)

Enhanced Small Disk Interface
storage, hardware (ESDI) Compaq's hard disk controller standard which was supposed to be faster than SCSI and IDE but unfortunately never caught on. It is found in some Compaq personal computers and most MicroChannel IBM PS/2s.
(1995-11-23)

enhancement
1. A change to a product which is intended to make it better in some way, e.g. new functions, faster, or occasionally more compatible with other systems. Enhancements to hardware components, especially integrated circuits often mean they are smaller and less demanding of resources. Sadly, this is almost never true of software enhancements.
2. Marketroid-speak for a bug fix. This abuse of language is a popular and time-tested way to turn incompetence into increased revenue. A hacker being ironic would instead call the fix a feature, or perhaps save some effort by declaring That's not a bug, that's a feature! .
[Jargon File]
(1998-04-04)

ENIAC
Electronic Numerical Integrator and Computer

Enigma
hardware, cryptography The electro-mechanical cipher engine used by the Germans in World War II. Many of their messages were deciphered at Bletchley Park, by Alan Turing and others.
(2000-09-30)

ENOB
effective number of bits

ENQ
1. character /enkw/ or /enk/ ENQuire. The mnemonic for ASCII character 5.
2. chat An on-line convention for querying someone's availability. After opening a chat connection to someone apparently in heavy hack mode, one might type SYN SYN ENQ? (the SYNs representing notional synchronisation bytes), and expect a return of ACK or NAK depending on whether or not the person felt interruptible.
Compare ping, finger.
[Jargon File]
(1998-01-18)

Ente Nazionale Italiano di Unificazione
(UNI) The Italian national standards body, a member of ISO.

enterprise
body A business, generally a large one.
(1994-11-22)

Enterprise Application Integration
software (EAI) The use of middleware to integrate the application programs, databases, and legacy systems involved in an organisation's critical business processes.
[Example?]
(1999-09-28)

Enterprise JavaBeans
specification, business, programming (EJB) A server-side component architecture for writing reusable business logic and portable enterprise applications. EJB is the basis of Sun's Java 2 Platform, Enterprise Edition (J2EE).
Enterprise JavaBean components are written entirely in Java and run on any EJB compliant server. They are operating system, platform, and middleware independent, preventing vendor lock-in.
EJB servers provide system-level services (the plumbing ) such as transactions, security, threading, and persistence.
The EJB architecture is inherently transactional, distributed, multi-tier, scalable, secure, and wire protocol neutral - any protocol can be used: IIOP, JRMP, HTTP, DCOM etc. EJB 1.1 requires RMI for communication with components. EJB 2.0 is expected to require support for RMI/IIOP.
EJB applications can serve assorted clients: browsers, Java, ActiveX, CORBA etc. EJB can be used to wrap legacy systems.
EJB 1.1 was released in December 1999. EJB 2.0 is in development.
Sun claims broad industry adoption. 30 vendors are shipping server products implementing EJB. Supporting vendors include IBM, Fujitsu, Sybase, Borland, Oracle, and Symantec.
An alternative is Microsoft's MTS (Microsoft Transaction Server).
Home (http://java.sun.com/products/ejb/).
FAQ (http://java.sun.com/products/ejb/faq.html).
(2000-04-20)

Enterprise Resource Planning
application, business (ERP) Any software system designed to support and automate the business processes of medium and large businesses. This may include manufacturing, distribution, personnel, project management, payroll, and financials.
ERP systems are accounting-oriented information systems for identifying and planning the enterprise-wide resources needed to take, make, distribute, and account for customer orders. ERP systems were originally extensions of MRP II systems, but have since widened their scope. An ERP system also differs from the typical MRP II system in technical requirements such as relational database, use of object oriented programming language, computer aided software engineering tools in development, client/server architecture, and open system portability.
JBOPS are the major producers of ERP software.
ERP Systems - Using IT to gain a competitive advantage , Shankarnarayanan S. (http://www.expressindia.com/newads/bsl/advant.htm).
(1999-07-27)

Enterprise Systems CONnectivity
networking (ESCON) Optical fibre connections between a mainframe and its peripherals. Also an IBM registered trademark.
(1997-03-31)

EntireX
operating system The German company Software AG's implementation of DCOM under Unix and on IBM mainframes, released at the end of 1997. EntireX enables users to exchange their DCOM components between Windows 95, Windows NT, Unix and OS/390 and to build application programs with components running on any of those platforms.
Home (http://www.softwareag.com/corporat/solutions/entirex/entirex.htm).
(1999-02-05)

entity-relationship diagram
entity-relationship model

entity-relationship model
database, specification An approach to data modelling proposed by P. Chen in 1976. The model says that you divide your database in two logical parts, entities (e.g. customer , product ) and relations ( buys , pays for ).
Entity-relationship diagrams can be used to represent a model.
[ The entity-relationship model: toward a unified view of data , P.P. Chen, ACM Transactions on Database Systems 1:1 pp 9-36, 1976].
(1998-03-20)

entropy
theory A measure of the disorder of a system. Systems tend to go from a state of order (low entropy) to a state of maximum disorder (high entropy).
The entropy of a system is related to the amount of information it contains. A highly ordered system can be described using fewer bits of information than a disordered one. For example, a string containing one million 0 s can be described using run-length encoding as [( 0 , 1000000)] whereas a string of random symbols (e.g. bits, or characters) will be much harder, if not impossible, to compress in this way.
Shannon's formula gives the entropy H(M) of a message M in bits:
H(M) = -log2 p(M)
Where p(M) is the probability of message M.
(1998-11-23)

Entry Sequenced Data Set
database (ESDS) An IBM straight sequential flat file (like QSAM) but externally managed via IDCAMS. ESDS is used in VSAM.
(1999-01-11)

enumerated type
programming (Or enumeration ) A type which includes in its definition an exhaustive list of possible values for variables of that type. Common examples include Boolean, which takes values from the list [true, false], and day-of-week which takes values [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]. Enumerated types are a feature of strongly typed languages, including C and Ada.
Characters, (fixed-size) integers and even floating-point types could be (but are not usually) considered to be (large) enumerated types.
(1996-11-28)

enumeration
1. mathematics A bijection with the natural numbers; a counted set.
Compare well-ordered.
2. programming enumerated type.
(1996-11-28)

environment
environment variable

environment variable
programming, operating system A variable that is bound in the current environment. When evaluating an expression in some environment, the evaluation of a variable consists of looking up its name in the environment and substituting its value.
Most programming languages have some concept of an environment but in Unix shell scripts it has a specific meaning slightly different from other contexts. In shell scripts, environment variables are one kind of shell variable. They differ from local variables and command line arguments in that they are inheritted by a child process. Examples are the PATH variable that tells the shell the file system paths to search to find command executables and the TZ variable which contains the local time zone. The variable called SHELL specifies the type of shell being used.
These variables are used by commands or shell scripts to discover things about the environment they are operating in. Environment variables can be changed or created by the user or a program.
To see a list of environment variables type setenv at the csh or tcsh prompt or set at the sh, bash, jsh or ksh prompt.
In other programming languages, e.g. functional programming languages, the environment is extended with new bindings when a function's parameters are bound to its actual arguments or when new variables are declared. In a block-structured procedural language, the environment usually consists of a linked list of activation records.
(1999-01-26)

Envoy
Motorola's integrated personal wireless communicator. Envoy is a personal digital assistant which incorporates two-way wireless and wireline communication. It was announced on 7 March 1994 and released in the third quarter of 1994. It runs Genral Magic's Magic Cap operating system and Telescript(TM) communications language on Motorola's Dragon chip set. This includes the highly integrated Motorola 68349 processor and a special purpose application specific integrated circuit (ASIC) referred to as Astro. This chip set was designed specifically for Magic Cap and Telescript.
A user can write on the Envoy communicator with the accompanying stylus or a finger, to type and select or move objects on its screen. An on-screen keyboard can be used to input information, draw or write personal notations, or send handwritten messages and faxes.
Envoy can send a wireless message to another Envoy, PC or fax; broadcast a message to a group, with each member of that group receiving the message in their preferred format; gather information based on your requirements; schedule a meeting and automatically invite attendees; screen, route and organise messages; send a business card to another Envoy across a conference room table; access real-time scheduling and pricing information for US airline flights, then order tickets via fax or electronic mail; keep track of contacts through an address book; receive daily news summaries and stock information; capture, organize and review business and personal expenses on-the-go; gather, edit and analyze information in spreadsheets and graphs compatible with Lotus 1-2-3 and Excel; shop in an electronic mall.
(http://www.motorola.com/MIMS/WDG/Technology/Envoy/)
[Was it released in Q3 '94?]
(1995-01-18)

EOF
End Of File
1. The out-of-band value returned by C's sequential character-input functions (and their equivalents in other environments) when end of file has been reached. This value is -1 under C libraries postdating V6 Unix, but was originally 0.
2. The keyboard character (usually control-D, the ASCII EOT (End Of Transmission) character) that is mapped by the Unix terminal driver into an end-of-file condition.
[Jargon File]
(1995-01-18)

EOL
1. End Of Line.
2. Expression Oriented Language. A low-level language for strings. Versions: EOL-1, EOL-2, EOL-3. [ EOL - A Symbol Manipulation Language , L. Lukaszewicz, Computer J 10(1):53 (May 1967)].
[Jargon File]

EOT
1. character End Of Transmission
2. storage End Of Tape. A marker used on magnetic tapes.
(1996-06-24)

EOU
character, humour The mnemonic of a mythical ASCII control character (End Of User) that would make an ASR-33 Teletype explode on receipt. This construction parodies the numerous obscure delimiter and control characters left in ASCII from the days when it was associated more with wire-service teletypes than computers (e.g. FS, GS, RS, US, EM, SUB, ETX, and especially EOT). It is worth remembering that ASR-33s were big, noisy mechanical beasts with a lot of clattering parts; the notion that one might explode was nowhere near as ridiculous as it might seem to someone sitting in front of a tube or flatscreen today.
[Jargon File]
(1996-06-29)

EOUG
European ORACLE Users Group.

EP
Emulator program

EPCS
Experimental Physics Control Systems

EPILOG
1. Extended Programming In LOGic. PROLOG with several AND's having different time constraints.
[ Epilog: A Language for Extended Programming in Logic , A. Porto in Implementations of Prolog, J.A. Campbell ed, Ellis Horwood 1984].
2. A data-driven PROLOG, with both AND parallelism and OR parallelism. [ EPILOG = PROLOG + Data Flow , M.J. Wise, SIGPLAN Noices 17:80-86 (1982)].

EPIM
Enterprise Product Information Management

EPL
1. Early PL/I.
2. Experimental Programming Language.
3. Eden Programming Language. U Washington. Based on Concurrent Euclid and used with the Eden distributed OS. Influenced Emerald and Distributed Smalltalk. EPL Programmer's Guide , A. Black et al, U Washington June 1984.
4. Equational Programming Language. Szymanski, RPI. Equational language for parallel scientific applications. EPL - Parallel Programming with Recurrent Equations , B. Szymanski in Parallel Functional Languages and Compilers, B. Szymanski et al, A-W 1991.

epoch
1. [Unix: probably from astronomical timekeeping] The time and date corresponding to 0 in an operating system's clock and timestamp values. Under most Unix versions the epoch is 00:00:00 GMT, January 1, 1970; under VMS, it's 00:00:00 of November 17, 1858 (base date of the US Naval Observatory's ephemerides); on a Macintosh, it's the midnight beginning January 1 1904. System time is measured in seconds or ticks past the epoch. Weird problems may ensue when the clock wraps around (see wrap around), which is not necessarily a rare event; on systems counting 10 ticks per second, a signed 32-bit count of ticks is good only for 6.8 years. The 1-tick-per-second clock of Unix is good only until January 18, 2038, assuming at least some software continues to consider it signed and that word lengths don't increase by then. See also wall time.
2. (Epoch) A version of GNU Emacs for the X Window System from NCSA.
[Jargon File]

EPP
Enhanced Parallel Port

EPROM
Erasable Programmable Read-Only Memory

EPROM OTP
Erasable Programmable Read-Only Memory One Time Programmable

EPROS
A specification/prototyping language. Implemented in Franz Lisp.
(ftp://utsun.s.u-tokyo.jp/lang/epros)
[ Software Prototyping, Formal Methods and VDM , Sharam Hekmatpour et al, A-W 1988].

EPS
Encapsulated PostScript

EPSILON
language A macro language with high level features including strings and lists, developed by A.P. Ershov at Novosibirsk in 1967. EPSILON was used to implement ALGOL 68 on the M-220.
[ Application of the Machine-Oriented Language Epsilon to Software Development , I.V. Pottosin et al, in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, pp. 417-434].
[Jargon File]
(1995-05-10)

epsilon
1. character The fifth letter of the Greek alphabet.
2. mathematics (From the Hungarian mathematician Paul Erdos) A very small, insignificant, or negligible quantity of something.
The use of epsilon is from the epsilon-delta method of proof in differential calculus.
(2001-07-06)

epsilon squared
jargon A quantity even smaller than epsilon, as small in comparison to epsilon as epsilon is to something normal; completely negligible. If you buy a supercomputer for a million dollars, the cost of the thousand-dollar terminal to go with it is epsilon, and the cost of the ten-dollar cable to connect them is epsilon squared.
Compare lost in the underflow, lost in the noise.
(1997-09-05)

EPSIMONE
Concurrent simulation language derived from Simone. EPSIMONE Manual , J. Beziin et al, Pub Int No 90, IRISA, Sept 1978.

EPSS
Electronic Performance Support System

EqL
An equational language. Bharat Jayaraman bharat@cs.buffalo.edu . EqL: The Language and its Implementation , B. Jayaraman et al, IEEE Trans Soft Eng SE-15(6):771-780 (June 1989).

EQLOG
Equality, types and generic modules for logic programming. A language using Horn clauses. J.A. Goguen, J. Meseguer.

EQLog
OBJ2 plus logic programming based on Horn logic with equality.
EQLog: Equality, Types and Generic Modules for Logic Programming , J. Goguen et al in Functional and Logic Programming, D. DeGroot et al eds, pp.295-363, P-H 1986.

Eqn
Language for typesetting mathematics.
A System for Typesetting Mathematics , B.W. Kernighan and L.L. Cherry, CACM 18(3):151-157 (Mar 1975).

equals
character = , ASCII character 61.
Common names: ITU-T: equals; gets; takes. Rare: quadrathorpe; INTERCAL: half-mesh.
Equals is used in many languages as the assignment operator though earlier languages used := ( becomes equal to ) to avoid upsetting mathematicians with statements such as x = x+1 . It is also used in compounds such as = , = , == , /= , != for various comparison operators and in C's += , *= etc. which mimic the primitive operations of two-address code.
(1995-03-29)

equational logic
logic First-order equational logic consists of quantifier-free terms of ordinary first-order logic, with equality as the only predicate symbol. The model theory of this logic was developed into Universal algebra by Birkhoff et al. [Birkhoff, Gratzer, Cohn]. It was later made into a branch of category theory by Lawvere ( algebraic theories ).
(1995-02-21)

Equel
Embedded Quel. INGRES, Inc. Combines QUEL theories with C code.

equivalence class
mathematics An equivalence class is a subset whose elements are related to each other by an equivalence relation. The equivalence classes of a set under some relation form a partition of that set (i.e. any two are either equal or disjoint and every element of the set is in some class).
(1996-05-13)

equivalence class partitioning
programming A software testing technique that involves identifying a small set of representative input values that invoke as many different input conditions as possible.
(1996-05-13)

equivalence relation
mathematics A relation R on a set including elements a, b, c, which is reflexive (a R a), symmetric (a R b = b R a) and transitive (a R b R c = a R c). An equivalence relation defines an equivalence class.
See also partial equivalence relation.
(1996-05-13)

ER
Entity-Relationship

er
networking The country code for Eritrea.
(1999-01-27)

ERA
Entity-Relationship-Attribute

era
Synonym epoch. Webster's Unabridged makes these words almost synonymous, but era usually connotes a span of time rather than a point in time.

Erasable Programmable Read-Only Memory
storage (EPROM) A type of storage device in which the data is determined by electrical charge stored in an isolated ( floating ) MOS transistor gate. The isolation is good enough to retain the charge almost indefinitely (more than ten years) without an external power supply. The EPROM is programmed by injecting charge into the floating gate, using a technique based on the tunnel effect. This requires higher voltage than in normal operation (usually 12V - 25V). The floating gate can be discharged by applying ultraviolet light to the chip's surface through a quartz window in the package, erasing the memory contents and allowing the chip to be reprogrammed.
(1995-04-22)

erase
delete

ERC
database An extended entity-relationship model.
[Details? What does it stand for?]
(1997-12-23)

ERCIM
European Research Consortium on Informatics and Mathematics. An association of European research organisations promoting cooperative research on key issues in Information Technology.
(2000-12-30)

ERD
entity-relationship diagram

EREW PRAM
exclusive read, exclusive write PRAM.

ERFPI
An early system on the LGP-30 computer.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-08)

ergonomic
Concerning ergonomics or exhibitting good ergonimics.
(1995-04-14)

ergonomics
The study of the design and arrangement of equipment so that people will interact with the equipment in healthy, comfortable, and efficient manner. As related to computer equipment, ergonomics is concerned with such factors as the physical design of the keyboard, screens, and related hardware, and the manner in which people interact with these hardware devices.
(1995-04-14)

ERGO-Shell
operating system, tool An ergonomic X Window System Unix shell for software engineers by Regine Freitag freitag@gmd.de . ERGO-Shell is now obsolete.
Version: 2.1.
(ftp://ftp.gmd.de/gmd/ergo/)
E-mail: Dr. Wolfgang Dzida, GMD dzida@gmd.de or the author.
(2000-12-19)

Eric Conspiracy
person, humour A shadowy group of moustachioed hackers named Eric first pinpointed as a sinister conspiracy by an infamous talk.bizarre posting ca. 1986. This was doubtless influenced by the numerous Eric jokes in the Monty Python oeuvre. There do indeed seem to be considerably more moustachioed Erics in hackerdom than the frequency of these three traits can account for unless they are correlated in some arcane way. Well-known examples include Eric Allman (of the Allman style described under indent style), Erik Fair (co-author of NNTP), Eric S. Raymond and about fifteen others. The organisation line Eric Conspiracy Secret Laboratories now emanates regularly from more than one site.
[Jargon File]
(1998-10-20)

Eric S. Raymond
person One of the authors of the Hacker's Jargon File. Eric was involved in the JOLT project and GNU Emacs as well as maintaining several FAQ lists. He is a keen advocate of open source.
Home (http://www.ccil.org/~esr).
E-mail: esr@snark.thyrsus.com
(1998-10-20)

Eris
/e'ris/ The Greek goddess of Chaos, Discord, Confusion, and Things You Know Not Of; her name was latinised to Discordia and she was worshiped by that name in Rome. Not a very friendly deity in the Classical original, she was reinvented as a more benign personification of creative anarchy starting in 1959 by the adherents of Discordianism and has since been a semi-serious subject of veneration in several fringe cultures, including hackerdom.
See Church of the SubGenius.
[Jargon File]
(1994-12-08)

Erlang
1. person A. K. Erlang. (The other senses were named after him).
2. language A concurrent functional language for large industrial real-time systems by Armstrong, Williams and Virding of Ellemtel, Sweden.
Erlang is untyped. It has pattern matching syntax, recursion equations, explicit concurrency, asynchronous message passing and is relatively free from side-effects. It supports transparent cross-platform distribution. It has primitives for detecting run-time errors, real-time garbage collection, modules, dynamic code replacement (change code in a continuously running real-time system) and a foreign language interface.
An unsupported free version is available (subject to a non-commercial licence). Commercial versions with support are available from Erlang Systems AB. An interpreter in SICStus Prolog and compilers in C and Erlang are available for several Unix platforms.
Open Telecom Platform (OTP) is a set of libraries and tools.
Commercial version (http://www.erlang.se/) - sales, support, training, consultants. Open-source version (http://www.erlang.org/) - downloads, user-contributed software, mailing lists.
E-mail: erlang@erix.ericsson.se .
[Erlang - Concurrent Programming in Erlang , J. Armstrong, M. Williams R. Virding, Prentice Hall, 1993. ISBN 13-285792-8.]
3. unit 36 CCS per hour, or 1 call-second per second.
Erlang is a unit without dimension, accepted internationally for measuring the traffic intensity. This unit is defined as the aggregate of continuous occupation of a channel for one hour (3600 seconds). An intensity of one Erlang means the channel is continuously occupied.
(2001-08-28)

erotica
pornography

ERP
Enterprise Resource Planning

error
1. A discrepancy between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition.
2. programming A mental mistake made by a programmer that may result in a program fault.
3. (verb) What a program does when it stops as result of a programming error.
(2000-03-28)

error-based testing
programming Testing where information about programming style, error-prone language constructs, and other programming knowledge is applied to select test data capable of detecting faults, either a specified class of faults or all possible faults.
(1996-05-13)

error correcting memory
storage (ECM) RAM using some kind of error detection and correction (EDAC) scheme. The two types of memory errors in RAM (especially DRAM) are soft errors due to radiation-induced bit switching, and hard errors due to the unexpected deterioration of a memory chip. Soft errors do not indicate lasting damage to the memory board, but they do corrupt programs or data. Hard errors demand physical repairs. Single bit memory failures are the most common. A hard single bit failure, such as that caused by a completely dead chip can be corrected by EDAC if each chip supplies only one bit of each word. EDAC memory is the most common level of protection for minicomputers and mainframes whereas the cheaper parity protection is more common in microcomputers.
[Clearpoint, The Designer's Guide to Add-In Memory , Third Addition].
(1995-10-10)

error detection and correction
algorithm, storage (EDAC, or error checking and correction , ECC) A collection of methods to detect errors in transmitted or stored data and to correct them. This is done in many ways, all of them involving some form of coding. The simplest form of error detection is a single added parity bit or a cyclic redundancy check. Multiple parity bits can not only detect that an error has occurred, but also which bits have been inverted, and should therefore be re-inverted to restore the original data. The more extra bits are added, the greater the chance that multiple errors will be detectable and correctable.
Several codes can perform Single Error Correction, Double Error Detection (SECDEC). One of the most commonly used is the Hamming code.
At the other technological extreme, cuniform texts from about 1500 B.C. which recorded the dates when Venus was visible, were examined on the basis of contained redundancies (the dates of appearance and disappearance were suplemented by the length of time of visibility) and the worst data set ever seen by [Huber, Zurich] was corrected.
RAM which includes EDAC circuits is known as error correcting memory (ECM).
[Wakerly, Error Detecting Codes , North Holland 1978].
[Hamming, Coding and Information Theory , 2nd Ed, Prentice Hall 1986].
(1995-03-14)

es
1. networking The country code for Spain.
2. operating system Extensible Shell.
3. (Expert System) An expert system for the IBM PC featuring forward chaining, backward chaining and fuzzy set relations.
(ftp://ftp.uu.net/pub/ai/expert-sys/summers.tar.Z)
[BYTE Oct 1990].
(1999-02-01)

ES-1
text, tool An early text editing interpreter.
[Sammet 1969, p. 684].
(1999-02-01)

ESA
1. architecture Enterprise Systems Architecture.
2. body European Space Agency.
(1999-10-31)

ESC
escape

ESCAPE
language An early system on the IBM 650.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-05)

escape
character (ESC) ASCII character 27.
When sent by the user, escape is often used to abort execution or data entry. When sent by the computer it often starts an escape sequence.
(1997-11-27)

escape sequence
character (Or escape code ) A series of characters starting with the escape character (ASCII 27). Escape sequences are often used to control display devices such as VDUs. An escape sequence might change the colour of subsequent text, reassign keys on the keyboard, change printer settings or reposition the cursor. The escape sequences of the DEC vt100 video terminal have become a de facto standard for this purpose.
The term is also used for any sequence of characters that temporarily suspends normal processing of a stream of characters to perform some special function. For example, the Hayes modem uses the sequence +++ to escape to command mode in which characters are interpreted as commands to the modem itself rather than as data to pass through.
[Was the character named after this use or vice versa?]
(1997-11-27)

ESCD
Extended System Configuration Data

ESCON
Enterprise Systems CONnectivity

escrow
security An arrangement where something (generally money or documents) is held in trust ( in escrow ) by a trusted third party until certain agreed conditions are met. In computing the term is used for key escrow and also for source code escrow.
(1999-12-14)

ESD
Electrostatic Discharge

ESDI
Enhanced Small Disk Interface

ESF
Eureka Software Factory.

ESI
1. European Software Institute.
2. A dialect of JOSS.
[Sammet 1969, p. 217].

esim
A language for simulation of VLSI at the switch level. The primitives are nodes and transistors.
[C.M. Baker et al, Tools for Verifying Integrated CIrcuit Design , Lambda 1(3):22-30 (1980)].
(1994-10-20)

ESL
Expert Systems Ltd.

ESLPDPRO
ESL public domain version of Edinburgh Prolog for MS-DOS. The code is totally compatible with C-Prolog.
(ftp://aisun1.ai.uga.edu/ai.prolog/eslpdpro.zip)

ESML
Extended Systems Modelling Language: a real-time software engineering methodology based on RTSA.

ESMTP
messaging, protocol Extended SMTP. Initially defined in RFC 1869 and extended thereafter.
See also ETRN.
(1997-11-21)

ESP
1. Extra Simple Pascal. Subset of Pascal.
2. Econometric Software Package. Statistical analysis of time series. Econometric Software Package, User's Manual , J.P. Cooper, Graduate School of Business, U Chicago. Sammet 1978.
3. Extended Self-containing Prolog.
4. An early symbolic mathematics system.
[A. Rom, Celest Mech 3:331-345 (1971)].
(1994-12-08)

ESPOL
Executive Systems Programming Oriented Language

ESPRIT
European Strategic Programme for Research in Information Technology

ESR
Eric S. Raymond

essential complexity
programming A measure of the structuredness of a program.
(1996-05-13)

Estelle
A Pascal extension for formal specification of computer network protocols. Protocols are described by modules which are communicating NFAs. Modules are arranged in a dynamic hierarchy and communicate at named interaction points.
EstPC (ftp:osi.ncsl.nist.gov/pub/osikit/estpc) Compiles Estelle into C. petdingo Translates Estelle into C++
Adopted by ITU-T. ISO 9074 (1989).
[ The Formal Description Technique Estelle , M. Diaz et al eds, N-H 1989].

Esterel
A distributed language for synchronous interaction of real-time systems with their environment. Uses explicit timing requests. Esterel programs are compiled into finite automata.
[ The ESTEREL Programming Language and its Mathematical Semantics , G. Berry L. Cosserat, TR 327, INRIA, 1984].

EstPC
A compiler from Estelle to C.
(ftp:osi.ncsl.nist.gov/pub/osikit/estpc)
(1994-09-19)

ET
Bernd Gersdorf, U Bremen. An integration of functional and logic programming.

et
networking The country code for Ethiopia.
(1999-01-27)

ET++
A Smalltalk-like system for Suns, built on C++ by Weinand of UBILAB Zurich. Version 3.0-alpha includes class libraries and documentation.
(ftp://iamsun.unibe.ch/C++/ET++/et2.2.tar.Z)
E-mail: Erich Gamma gamma@ifi.unizh.ch .
(1992-10-26)

eta abstraction
eta conversion

eta conversion
theory In lambda-calculus, the eta conversion rule states
x . f x -- f
provided x does not occur as a free variable in f and f is a function. Left to right is eta reduction, right to left is eta abstraction (or eta expansion).
This conversion is only valid if bottom and x . bottom are equivalent in all contexts. They are certainly equivalent when applied to some argument - they both fail to terminate. If we are allowed to force the evaluation of an expression in any other way, e.g. using seq in Miranda or returning a function as the overall result of a program, then bottom and x . bottom will not be equivalent.
See also observational equivalence, reduction.

eta expansion
See eta conversion.

eta reduction
See eta conversion.

ETB
End Transmission Block

ETC
ExTendible Compiler. Fortran-like, macro extendible. ETC - An Extendible Macro-Based Compiler , B.N. Dickman, Proc SJCC 38 (1971).

e-text
electronic text

ETHER
language A concurrent object-oriented language?
(1997-03-18)

EtherGate
Multi-protocol Ethernet gateway made by LRT. See Computer Systems, October 1985.

Ethernet
networking A local area network first described by Metcalfe Boggs of Xerox PARC in 1976. Specified by DEC, Intel and XEROX (DIX) as IEEE 802.3 and now recognised as the industry standard.
Data is broken into packets and each one is transmitted using the CSMA/CD algorithm until it arrives at the destination without colliding with any other packet. The first contention slot after a transmission is reserved for an acknowledge packet. A node is either transmitting or receiving at any instant. The bandwidth is about 10 Mbit/s. Disk-Ethernet-Disk transfer rate with TCP/IP is typically 30 kilobyte per second.
Version 2 specifies that collision detect of the transceiver must be activated during the inter-packet gap and that when transmission finishes, the differential transmit lines are driven to 0V (half step). It also specifies some network management functions such as reporting collisions, retries and deferrals.
Ethernet cables are classified as XbaseY , e.g. 10base5, where X is the data rate in Mbps, base means baseband (as opposed to radio frequency) and Y is the category of cabling. The original cable was 10base5 ( full spec ), others are 10base2 ( thinnet ) and 10baseT ( twisted pair ) which is now (1998) very common. 100baseT ( Fast Ethernet ) is also increasingly common.
Usenet newsgroup: news:comp.dcom.lans.ethernet.
(http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html)
(1997-04-16)

Ethernet address
networking (Or MAC address ) The physical address identifying an individual Ethernet controller board. An Ethernet addess is a 48-bit number aabbccddeeff where a-f are hexadecimal digits. The first 24 bits, aabbcc, identify the manufacturer of the controller. The Ethernet address is hard-wired on some controllers, stored in a ROM on some, and others allow it to be changed from software. It is usually written as six hexadecimal numbers, e.g. 08:00:20:03:72:DC.
See also ARP, Internet address.
(1996-02-21)

Ethernet meltdown
A network meltdown on Ethernet.
(1994-11-29)

EtherTalk
networking An Apple Computer network standard used to extend an AppleTalk network across an Ethernet network.
Compare LocalTalk.
(1994-11-29)

ethics
computer ethics

ETM
database An active DBMS from the University of Karlsruhe.
[Expansion? Features?]
(1997-06-23)

ETRN
messaging, protocol ( Extended TURN ) An ESMTP command (first defined in RFC 1985) with which a client asks the server to deliver queued mail to the client via a new ESMTP connection.
ETRN supersedes the SMTP TURN command in the same way that ESMTP's EHLO supersedes SMTP's HELO .
(1997-11-21)

ETSI
European Telecommunications Standards Institute

ETX
End Of Text

Euclid
language (Named after the Greek geometer, fl ca 300 BC.) A Pascal descendant for development of verifiable system software. No goto, no side effects, no global assignments, no functional arguments, no nested procedures, no floats, no enumeration types. Pointers are treated as indices of special arrays called collections. To prevent aliasing, Euclid forbids any overlap in the list of actual parameters of a procedure. Each procedure gives an imports list, and the compiler determines the identifiers that are implicitly imported. Iterators.
Ottawa Euclid is a variant.
[ Report on the Programming Language Euclid , B.W. Lampson et al, SIGPLAN Notices 12(2):1-79, Feb 1977].
(1998-11-23)

Euclidean Algorithm
Euclid's Algorithm

Euclid's Algorithm
algorithm (Or Euclidean Algorithm ) An algorithm for finding the greatest common divisor (GCD) of two numbers. It relies on the identity
gcd(a, b) = gcd(a-b, b)
To find the GCD of two numbers by this algorithm, repeatedly replace the larger by subtracting the smaller from it until the two numbers are equal. E.g. 132, 168 - 132, 36 - 96, 36 - 60, 36 - 24, 36 - 24, 12 - 12, 12 so the GCD of 132 and 168 is 12.
This algorithm requires only subtraction and comparison operations but can take a number of steps proportional to the difference between the initial numbers (e.g. gcd(1, 1001) will take 1000 steps).
(1997-06-30)

Eudora
Electronic mail software for communicating over TCP/IP from Macintosh, Microsoft Windows, Windows NT, and IBM OS/2 computers. Both commercial and free versions are produced by QUALCOMM, Inc.

EULA
end-user license agreement

EULER
[Named after the Swiss mathematician Leonhard Euler (1707-1783)] A revision of ALGOL by Niklaus Wirth. A small predecessor of Pascal.
[ EULER: A Generalisation of ALGOL and Its Formal Definition , N. Wirth, CACM 9(1) (Jan 1966) and 9(2) (Feb 1966)].

EuLisp
1985-present. A Lisp dialect intended to be a common European standard, with influences from Common LISP, Le LISP, Scheme and T. First-class functions, classes and continuations, both static scope and dynamic scope, modules, support for parallelism. The class system (TELOS) incorporates ideas from CLOS, ObjVLisp and Oaklisp.
See also Feel.
E-mail: eudist@maths.bath.ac.uk .

EUnet Ltd.
EUnet Ltd. is jointly owned by the EUnet national service providers and EurOpen, the European Forum for Open Systems.
EUnet services include electronic mail (Internet-style RFC 822 as well as X.400), InterEUnet (Internet Protocol) connectivity and services such as remote login and file transfer over leased lines, dial-up lines, X.25 and Integrated Services Digital Network. EUnet is the primary European region provider of network news and the top-level European distributor of Internet Talk Radio.
EUnet operates its own infrastructure across Europe and is the largest European component of the Internet. EUnet is a member of Commercial Internet Exchange and Ebone93, a research network consortium.
E-mail: info@EU.net . (http://www.eu.net/).

Euphoria
End User Programming with Hierarchical Objects for Robust Interpreted Applications. Interpreted language with dynamic storage and dynamic typing. Rapid Deployment Software.
E-mail: robert.craig@canrem.com .

Eureka
A European technological development programme.

Eureka step
In program transformation, a transformation which is not obvious or easy to define as an algorithm.
(1994-12-08)

Eurisko
artificial intelligence A language for opportunistic programming written by Doug Lenat in 1978. Eurisko constructs its own methods and modifies its strategies as it tries to solve a problem.
(http://homepages.enterprise.net/hibou/aicourse/lenat.txt).
[Mentioned by Alan Kay, SIGPLAN Notices 28(3), March 1993, p. 88].
(1994-12-08)

Eurocard
A range of standard circuit board sizes.
Normal double Eurocard = 233.4 x 160 mm Extended double Eurocard = 233.4 x 220 mm Super extended double Eurocard = 233.4 x 250 mm Hyper extended double Eurocard = 233.4 x 280 mm

Euro-ISDN
European Integrated Services Digital Network.
An ETSI standard for Integrated Services Digital Network being phased in in March 1994. Euro-ISDN will allow full transparent interworking between all European countries (members of the CEPT). It is available on a commercial basis in most European countries.
(1994-12-08)

EuroNet
company An IAP from Amsterdam, The Netherlands operating since 1994-08-01 and owned by France Telecom since 1998-11-06.
Home (http://www.euronet.nl/).
E-mail: info@euro.net .
Telephone: +31 (020) 535 5555.
Fax: +31 (020) 535 5400.
Address: Herengracht 208-214, 1016 BS Amsterdam, The Netherlands.
(1999-01-17)

EuropaNET
A combination of pan-European backbone services run by DANTE.

European Academic and Research Network
networking (EARN) A self-managing network in the research community originally sponsored by IBM. It uses BITNET protocols and connects to BITNET in the USA.
(1995-11-15)

European Computer-Industry Research Centre GmbH
body (ECRC) A joint research organisation founded in 1984 on the initiative of three major European manufacturers: Bull (France), ICL (UK) and Siemens (Germany). Its activities were intended to enhance the future competitive ability of the European Information Technology industry and thus complement the work of national and international bodies.
The Centre is intended to be the breeding ground for those ideas, techniques and products which are essential for the future use of electronic information processing. The work of the Centre will focus on advanced information processing technology for the next generation of computers.
ECRC is an independent company, owned equally by its shareholders. The formal interface between ECRC and its shareholders consists of two bodies: The Shareholders' Council, which approves the Centre's programmes and budgets and supervises their execution and the Scientific Advisory Board, which advises the Shareholders' Council in determining future research directions.
There are many collaborations between ECRC and its shareholders' companies on specific projects (Technology Transfer, prospective studies etc). The Centre is staffed by highly qualified scientists drawn from different countries. Research staff are hired directly by ECRC, as well as some who come on assignment from the member companies, and others seconded from public research agencies and universities.
Seminars are held which bring together specialists from the Centre and the member companies.
ECRC's mission is to pursue research in fundamental areas of computer science. The aim is to develop the theory, methodologies and tools needed to build innovative computer applications. ECRC contributes actively to the international effort that is expanding the frontiers of knowledge in computer science. It plays an important role in bridging the gap between research and industry by striving to work at the highest academic level with a strong industrial focus. ECRC constitutes an opportunity in Europe for the best scientists and offers young researchers the possibility to mature in an environment which exposes them to both fundamental research and the process of delivering the results to industry.
ECRC plays an important role in Europe and is involved in several European Community initiatives. It is regularly consulted by the Commission of the European Communities on strategic issues, such as the definition of future research plans, international co-operation and relationships between academia and industry.
Address: ECRC GmbH, Arabellastrasse 17, D-81925 Munich, Germany.
(http://www.ecrc.de/)
Telephone: +49 (89) 926 99 0. Fax: +49 (89) 926 99 170.
(1994-12-01)

European Strategic Programme for Research in Information Technology
project (ESPRIT) A funding programme to develop Information Technology in the European Economic Communities. Superseded by Framework 4.
(1996-05-13)

European Telecommunications Standards Institute
body (ETSI) A European version of the ITU-T(?).
(1996-05-13)

EUUG
European Unix User Group

EV6
hardware, protocol (Alpha EV6) Compaq's bus protocol for Slot A motherboards. The Alpha EV6 bus protocol is capable of bus speeds from 40 to 400 MHz and uses a point-to-point topology with clock forwarding.
(1999-08-05)

Eva
1. A toy ALGOL-like language used in Formal Specification of Programming Languages: A Panoramic Primer , F.G. Pagan, P-H 1981.
2. Explicit Vector Language.

EVALUATE
programming The COBOL85 keyword for a switch statement.
(1997-06-10)

evaluation
programming 1. Converting an expression into a value using some reduction strategy.
2. The process of examining a system or system component to determine the extent to which specified properties are present.
(1996-05-13)

evaluation strategy
reduction strategy

evaluator
theory Geoff Burn defines evaluators E0, E1, E2 and E3 which when applied to an expression, reduce it to varying degrees. E0 does no evaluation, E1 it evaluates to weak head normal form (WHNF), E2 evaluates the structure of a list, i.e. it evaluates it either to NIL or evaluates it to a CONS and then applies E2 to the second argument of the CONS. E3 evaluates the structure of a list and evaluates each element of the list to WHNF. This concept can be extended to data structures other than lists and forms the basis of the evaluation transformer style of strictness analysis.
(1994-12-12)

EVE
Extensible VAX Editor

event
1. software An occurrence or happening of significance to a task or program, such as the completion of an asynchronous input/output operation. A task may wait for an event or any of a set of events or it may (request to) receive asynchronous notification (a signal or interrupt) that the event has occurred.
See also event-driven.
2. data A transaction or other activity that affects the records in a file.
(2000-02-09)

event-driven
programming A kind of program, such as a graphical user interface, with a main loop which just waits for events to occur. Each event has an associated handler which is passed the details of the event, e.g. mouse button 3 pressed at position (355, 990).
For example, X window system and most Visual Basic application programs are event-driven.
See also callback.
(2000-02-09)

EVGA
Extended Video Graphics Array

evil
As used by a hacker, implies that some system, program, person, or institution is sufficiently maldesigned as to be not worth the bother of dealing with. Unlike the adjectives in the cretinous, losing, brain-damaged series, evil does not imply incompetence or bad design, but rather a set of goals or design criteria fatally incompatible with the speaker's. This usage is more an aesthetic and engineering judgment than a moral one in the mainstream sense. We thought about adding a Blue Glue interface but decided it was too evil to deal with. TECO is neat, but it can be pretty evil if you're prone to typos. Often pronounced with the first syllable lengthened, as /eeee'vil/.
Compare evil and rude.
[Jargon File]
(1994-12-12)

evil and rude
Both evil and rude, but with the additional connotation that the rudeness was due to malice rather than incompetence. Thus, for example: Microsoft's Windows NT is evil because it's a competent implementation of a bad design; it's rude because it's gratuitously incompatible with Unix in places where compatibility would have been as easy and effective to do; but it's evil and rude because the incompatibilities are apparently there not to fix design bugs in Unix but rather to lock hapless customers and developers into the Microsoft way. Hackish evil and rude is close to the mainstream sense of evil .
[Jargon File]
(1994-12-12)

evolutionary algorithm
(EA) An algorithm which incorporates aspects of natural selection or survival of the fittest. An evolutionary algorithm maintains a population of structures (usually randomly generated initially), that evolves according to rules of selection, recombination, mutation and survival, referred to as genetic operators. A shared environment determines the fitness or performance of each individual in the population. The fittest individuals are more likely to be selected for reproduction (retention or duplication), while recombination and mutation modify those individuals, yielding potentially superior ones.
EAs are one kind of evolutionary computation and differ from genetic algorithms. A GA generates each individual from some encoded form known as a chromosome and it is these which are combined or mutated to breed new individuals.
EAs are useful for optimisation when other techniques such as gradient descent or direct, analytical discovery are not possible. Combinatoric and real-valued function optimisation in which the optimisation surface or fitness landscape is rugged , possessing many locally optimal solutions, are well suited for evolutionary algorithms.
(1995-02-03)

evolutionary computation
Computer-based problem solving systems that use computational models of evolutionary processes as the key elements in design and implementation.
A number of evolutionary computational models have been proposed, including evolutionary algorithms, genetic algorithms, the evolution strategy, evolutionary programming, and artificial life.
The Hitchhiker's Guide to Evolutionary Computation (http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/comp/ai/genetic/top.html).
Bibliography (http://liinwww.ira.uka.de/bibliography/Ai/EC-ref.html).
Usenet newsgroup: news:comp.ai.genetic.
(1995-03-02)

evolutionary programming
(EP) A stochastic optimisation strategy originally conceived by Lawrence J. Fogel in 1960.
An initially random population of individuals (trial solutions) is created. Mutations are then applied to each individual to create new individuals. Mutations vary in the severity of their effect on the behaviour of the individual. The new individuals are then compared in a tournament to select which should survive to form the new population.
EP is similar to a genetic algorithm, but models only the behavioural linkage between parents and their offspring, rather than seeking to emulate specific genetic operators from nature such as the encoding of behaviour in a genome and recombination by genetic crossover.
EP is also similar to an evolution strategy (ES) although the two approaches developed independently. In EP, selection is by comparison with a randomly chosen set of other individuals whereas ES typically uses deterministic selection in which the worst individuals are purged from the population.
(1995-02-03)

evolution strategy
(ES) A kind of evolutionary algorithm where individuals (potential solutions) are encoded by a set of real-valued object variables (the individual's genome ). For each object variable an individual also has a strategy variable which determines the degree of mutation to be applied to the corresponding object variable. The strategy variables also mutate, allowing the rate of mutation of the object variables to vary.
An ES is characterised by the population size, the number of offspring produced in each generation and whether the new population is selected from parents and offspring or only from the offspring.
ES were invented in 1963 by Ingo Rechenberg, Hans-Paul Schwefel at the Technical University of Berlin (TUB) while searching for the optimal shapes of bodies in a flow.
(1995-02-03)

EWOS
European Workshop for Open Systems

exa-
prefix

Exabyte
company, storage A company and, by extension, a tape format for computer data backup and transfer. The tape is a data quality 8mm video cassette recorder tape. Exabyte units can store between five and fourteen gigabytes of data per tape. Exabytes are usually attached to Unix workstations.
[What different tape capacities exist? Compare with DAT?]
(1995-07-06)

exabyte
unit 2^60 = 1,152,921,504,606,846,976 bytes = 1024 petabytes or roughly 10^18 bytes.
See prefix.
(1996-08-12)

examining the entrails
The process of grovelling through a core dump or hex image in an attempt to discover the bug that brought a program or system down. The reference is to divination from the entrails of a sacrified animal.
Compare runes, incantation, black art, desk check.
[Jargon File]
(1994-12-12)

EXAPT
EXtended APT.

Exceed
interface A tool to display remote X Window System applications on Microsoft Windows. Exceed is not an X server.
(2001-04-29)

Excel
Microsoft Excel

Excelan
Manufacturers of intelligent Ethernet cards. Software and addresses are down-loadable. The cards have their own RAM for buffers.

Excelerator
A set of CASE tools from Index Technology Corporation.

exception
An error condition that changes the normal flow of control in a program. An exception may be generated ( raised ) by hardware or software. Hardware exceptions include reset, interrupt or a signal from a memory management unit. Exceptions may be generated by the arithmetic logic unit or floating-point unit for numerical errors such as divide by zero, overflow or underflow or instruction decoding errors such as privileged, reserved, trap or undefined instructions. Software exceptions are even more varied and the term could be applied to any kind of error checking which alters the normal behaviour of the program.
(1994-10-31)

exception handler
Special code which is called when an exception occurs during the execution of a program. If the programmer does not provide a handler for a given exception, a built-in system exception handler will usually be called resulting in abortion of the program run and some kind of error indication being returned to the user.
Examples of exception handler mechanisms are Unix's signal calls and Lisp's catch and throw.
(1994-10-31)

EXCH
jargon /eks'ch*/ or /eksch/ To exchange two things, each for the other; to swap places. If you point to two people sitting down and say Exch! , you are asking them to trade places. EXCH, meaning EXCHange, was originally the name of a PDP-10 instruction that exchanged the contents of a register and a memory location.
Many newer hackers are probably thinking instead of the PostScript exchange operator (which is usually written in lowercase).
[Jargon File]
(1999-09-17)

Exchange Server
Microsoft Exchange

excl
exclamation mark

exclamation mark
character The character ! with ASCII code 33.
Common names: bang; pling; excl (/eks'kl/); shriek; ITU-T: exclamation mark. Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey; wham; eureka; soldier; INTERCAL: spark-spot.
The Commonwealth Hackish, pling , is common among Acorn Archimedes owners. Bang is more common in the USA.
The occasional CMU usage, shriek , is also used by APL fans and mathematicians, especially category theorists.
Exclamation mark is used in C and elsewhere as the logical negation operation (NOT).
(1998-09-17)

EXE
/eks'ee/ or /eek'see/ or /E-X-E/ An executable binary file. Some operating systems (notably MS-DOS, VMS, and TWENEX) use the extension .EXE to mark such files. This usage is also occasionally found among Unix programmers even though Unix executables don't have any required suffix.
[Jargon File]

EXEC
language An early batch language for the IBM VM/CMS systems.
[SC19-6209 Virtual Machine/ System Product CMS Command and Macro Reference, Appendix F. CMS EXEC Control Statements].
[Was EXEC 2 was a later version?]
(2000-08-06)

exec
/eg-zek'/ operating system 1. execute.
A synonym for chain derived from the Unix exec system call.
Unix manual page: execve(2).
2. (Obsolete) executive.
The mainstream exec as an abbreviation for (human) executive is *not* used. To a hacker, an exec is a always a program, never a person.
3. At IBM and VM/CMS shops, the equivalent of a shell command file.
4. operating system The innermost kernel of the Amiga operating system which provides shared-library support, device interface, memory management, CPU management, basic IPC, and the basic structures for OS extension. The rest of the Amiga OS (windowing, file system, third-party extensions, etc.) is built using these structures.
[Jargon File]
(1997-08-01)

EXEC 2
1. language A scripting language produced by IBM in the late 1970s.
Superseded by REXX.
[SC24-5219, Virtual Machine/System Product EXEC 2 Reference ].
[Successor to EXEC 1? With or without a space?]
2. operating system An archaic operating system from UNIVAC. By about 1980 it had been replaced by EXEC 8.
[Dates? Did EXEC 3 to EXEC 7 exist?]
(2000-08-06)

EXEC 8
operating system Unisys's operating system from about 1980 to 2000, by which time it was a dying breed with Unisys moving to Windows NT and Unix.
[Was 8 the successor to EXEC 2?]
(2000-08-06)

executable
operating system A binary file containing a program in machine language which is ready to be executed (run).
The term might also be, but generally isn't, applied to scripts which are interpreted by a command line interpreter. Executables are distinguished in Unix by having the execute permission bits set, at least for the owner. MS-DOS uses the filename extension .exe .
(1997-06-21)

executable content
operating system Executable programs sent by one computer to another via a network. For example a Java applet is executable content. Usage: rare.
(1998-03-23)

execute
execution

execution
operating system, programming The process of carrying out the instructions in a computer program by a computer.
See also dry run.
(1996-05-13)

executive
operating system The command interpreter or shell for an operating system. The term is used especially around mainframes and probably derived from UNIVAC's archaic EXEC 2 and current (in 2000) EXEC 8 operating systems.
(2000-08-06)

Executive Systems Programming Oriented Language
language An ALGOL superset with high level instructions for low level actions, e.g. interrupting another processor on a multiprocessor system. Its single pass compiler was very fast: over 250 lines/s on a 10MHz processor.
ESPOL was used to write the MCP (Master Control Program) on the Burroughs 6700. It was superseded by NEWP.
[ The B6700 ESPOL Reference Manual , Burroughs, 1970].
(2001-06-14)

exercise, left as an
Used to complete a proof in technical books when one doesn't mind a handwave, or to avoid one entirely. The complete phrase is: The proof [or the rest ] is left as an exercise for the reader. This comment *has* occasionally been attached to unsolved research problems by authors possessed of either an evil sense of humour or a vast faith in the capabilities of their audiences.
[Jargon File]
(1995-02-20)

exhaustive testing
programming Executing a program with all possible combinations of inputs or values for program variables.
(1996-05-13)

existential quantifier
quantifier

EXODUS
database An extensible database project developed at the University of Wisconsin.
(1996-05-13)

eXodus
A package from White Pines allowing the Macintosh to be used as an X server.

EXOS
A brand of Ethernet controller card and Ethernet software for Unix.
(1995-01-12)

expanded memory
storage Memory used through EMS. In systems based on Intel 80386 or later processor expanded memory is part of the extended memory that is mapped into the expanded memory page frame by the processor. The mapping is controlled by the EMM. In earlier systems, a dedicated EMS hardware adaptor is needed to map memory into the page frame. In both cases, an appropriate device driver is needed for the proper communication between hardware and EMM.
(1996-01-10)

expanded memory manager
software, storage (EMM) IBM PC memory manager software implementing Expanded Memory Specification, such as EMM386 or QEMM386. EMMs can usually provide UMB as well.
(1996-01-10)

expanded memory page frame
storage The part of the IBM PC reserved memory address space used by EMS.
(1996-01-10)

Expanded Memory Specification
storage (EMS) An IBM PC memory paging scheme enabling access to memory other than conventional memory in real mode.
Expanded memory is provided through a page frame of at least 64 kilobytes in the reserved memory address region. Access to this memory is provided by an expanded memory manager (EMM) software. The EMM functions are accessible through interrupt 67H.
In 8086 or 8088 based systems this is the only way to use memory beyond conventional memory. In systems based on 80286 or later, XMS and HMA provide alternative methods.
EMS was developed jointly by Lotus, Intel, and Microsoft prior to 1988. Accordingly, this specification is sometimes referred to as LIM EMS.
A complete discussion of EMS and programming examples can be found in [ PC System Programming for developers , 1989, ISBN 1-55755-035-2 (Book only) and ISBN 1-55755-036-0 (Book and diskette)].
EEMS, a competing expanded memory management standard, was developed by AST Research, Quadram and Ashton-Tate.
See also upper memory block.
(1996-01-10)

expansion card
hardware A circuit board which can be plugged into one of a computer's expansion slots to provide some optional extra facility such as additional RAM, disk controller, coprocessor, graphics accelerator, communication device or some special-purpose interface.
Different computers have different standards for the cards they accept, e.g. PCI.
(1998-06-26)

expansion slot
hardware A connector in a computer into which an expansion card can be plugged. The connector supplies power to the card and connects it to the data bus, address bus and control signals of the motherboard.
(1998-06-26)

expect
language, tool A Unix tool written in Tcl and a script language for automating the operation of interactive applications such as telnet, FTP, passwd, fsck, rlogin, tip, etc.. Expect can feed input to other programs and perform pattern matching on their output. It is also useful for testing these applications. By adding Tk, you can also wrap interactive applications in X11 GUIs.
Home (http://expect.nist.gov/).
[ expect: Scripts for Controlling Interactive Tasks , Don Libes, Comp Sys 4(2), U Cal Press Journals, Nov 1991].
(1997-06-09)

eXperimental LISP
language (xlisp) An experimental programming language combining a subset of Common Lisp with an object-oriented extension capability (Class and Object types). It was implemented by David Micheal Betz at Apple to allow experimentation with object-oriented programming on small computers. The C source code has been ported to Unix, Microsoft Windows, Macintosh, Amiga, Atari, and MS-DOS.
Version 2.1 of the interpreter, by Tom Almy is closer to Common Lisp.
Latest version: 2.1, as of 1992-05-26.
(ftp://wasp.eng.ufl.edu/), (ftp://cs.orst.edu/), (ftp://glia.biostr.washington.edu/).
E-mail: Tom Almy toma@sail.labs.tek.com .
Microsoft Windows version (ftp://ftp.cica.indiana.edu/util/wxlslib.zip).
Macintosh version (ftp://netcom.com/pub/bskendig/).
Usenet newsgroup: news:comp.lang.lisp.x.
(2000-08-14)

Experimental Physics Control Systems
(EPCS) A group of the European Physical Society, focussing on all aspects of controls, especially informatics, in experimental physics, including accelerators and experiments.
(1994-12-12)

Experimental Programming Language
(EPL) A language by David May which influenced occam.
[ EPL: An Experimental Language for Distributed Computing , D.C. May, in Trends and Applications 1978: Distributed Processing, NBS, pp.69-71].
(1994-11-18)

Expert Judgement Models
programming A method of software estimation that is based on consultation with one or more experts that have experience with similar projects. An expert-consensus mechanism such as the Delphi Technique may be used to produce the estimate.
(1996-05-29)

expert system
artificial intelligence A computer program that contains a knowledge base and a set of algorithms or rules that infer new facts from knowledge and from incoming data.
An expert system is an artificial intelligence application that uses a knowledge base of human expertise to aid in solving problems. The degree of problem solving is based on the quality of the data and rules obtained from the human expert. Expert systems are designed to perform at a human expert level. In practice, they will perform both well below and well above that of an individual expert.
The expert system derives its answers by running the knowledge base through an inference engine, a software program that interacts with the user and processes the results from the rules and data in the knowledge base.
Expert systems are used in applications such as medical diagnosis, equipment repair, investment analysis, financial, estate and insurance planning, route scheduling for delivery vehicles, contract bidding, counseling for self-service customers, production control and training.
[Difference from knowledge-based system ?]
(1996-05-29)

Expert Systems Ltd.
company (ESL) Distributors of ESLPDPRO.
Adderss: Magdalen Centre, Oxford Science Park, Oxford, OX4 4GA. Telephone +44 (865) 784474.
(1996-05-29)

explicit parallelism
A feature of a programming language for a parallel processing system which allows or forces the programmer to annotate his program to indicate which parts should be executed as independent parallel tasks. This is obviously more work for the programmer than a system with implicit parallelism (where the system decides automatically which parts to run in parallel) but may allow higher performance.

explicit type conversion
programming (Or cast in C and elsewhere). A programming construct (syntax) to specify that an expression's value should be converted to a different type.
For example, in C, to convert an integer (usually 32 bits) to a char (usually 8 bits) we might write:
int i = 42; char *p = buf; *p = (char) i;
The expression (char) (called a cast ) converts i's value to char type. Casts (including this one) are often not strictly necessary, due to automatic coercions performed by the compiler, but can be used to make the conversion obvious and to avoid warning messages.
(1999-09-19)

exploit
security A security hole or an instance of taking advantage of a security hole.
[...] hackers say exploit. sysadmins say hole -- Mike Emke (http://emke.com/)
Emke reports that the stress is on the second syllable. If this is true, this may be a case of of hackerly zero-deriving verbs (especially instantials) from nouns, akin to write as a noun to describe an instance of a disk drive writing to a disk.
(2001-11-24)

Exploratory Data Analysis
(EDA)
[J.W.Tukey, Exploratory Data Analysis , 1977, Addisson Wesley].

exponent
programming (Or characteristic ) The part of a floating-point number specifying the power of ten by which the mantissa should be multiplied. In the common notation, e.g. 3.1E8, the exponent is 8.
(1995-02-27)

exponential
1. mathematics A function which raises some given constant (the base ) to the power of its argument. I.e.
f x = b^x
If no base is specified, e, the base of natural logarthims, is assumed.
2. complexity exponential-time algorithm.
(1995-04-27)

exponential-time
complexity The set or property of problems which can be solved by an exponential-time algorithm but for which no polynomial-time algorithm is known.
(1995-04-27)

exponential-time algorithm
complexity An algorithm (or Turing Machine) that is guaranteed to terminate within a number of steps which is a exponential function of the size of the problem.
For example, if you have to check every number of n digits to find a solution, the complexity is O(10^n), and if you add an extra digit, you must check ten times as many numbers.
Even if such an algorithm is practical for some given value of n, it is likely to become impractical for larger values. This is in contrast to a polynomial-time algorithm which grows more slowly.
See also computational complexity, polynomial-time, NP-complete.
(1995-04-27)

Express
1. A language supporting concurrency through message passing to named message queues from ParaSoft Corporation
(ftp://ftp.parasoft.com/express/docs)
2. Data definition language, meant to become an ISO standard for product data representation and exchange. TC 184/SC4 N83, ISO, 1991-05-31. E-mail: smith@cme.nist.gov .
3. A data modelling language adopted by the ISO working group on STEP.

expression
programming Any piece of program code in a high-level language which, when (if) its execution terminates, returns a value. In most programming languages, expressions consist of constants, variables, operators, functions, and parentheses. The operators and functions may be built-in or user defined. Languages differ on how expressions of different types may be combined - with some combination of explicit casts and implicit coercions.
The syntax of expressions generally follows conventional mathematical notation, though some languages such as Lisp or Forth have their own idiosyncratic syntax.
(2001-05-14)

expression tree
mathematics, grammar The syntax tree of an expression.
(1998-11-14)

extend
programming To add features to a program, especially through the use of hooks.
Extend is very often used in the phrase extend the functionality of a program.
Plug-ins are one form of extension.
(1997-06-21)

Extended Affix Grammar
language, grammar (EAG) A formalism developed by Marc Seutter marcs@cs.kun.nl for describing both the context free syntax and the context sensitive syntax of languages.
EAG is a member of the family of two-level grammars. They are very closely related to two-level van Wijngaarden grammars. The EAG compiler will generate either a recogniser, a transducer, a translator, or a syntax directed editor for a language described in the EAG formalism.
FTP KUN (ftp://hades.cs.kun.nl/pub/eag/)
(1996-05-29)

Extended ALGOL
language An extension of ALGOL 60, used to write the ESPOL compiler on the Burroughs B5500, Burroughs B6500, and Burroughs B6700.
[ Burroughs B6700 Extended ALGOL Language Information Manual , No. 5000128 (Jul 1971)].
[Sammet 1969, p. 196].
(1995-05-09)

Extended Architecture
storage (XA) A CD-ROM drive specification required by Green Book CD-ROM and White Book CD-ROM formats. Drives labelled XA ready may require a firmware upgrade.
(1994-11-02)

Extended Backus-Naur Form
language Any variation on the basic Backus-Naur Form (BNF) meta-syntax notation with (some of) the following additional constructs: square brackets [..] surrounding optional items, suffix * for Kleene closure (a sequence of zero or more of an item), suffix + for one or more of an item, curly brackets enclosing a list of alternatives, and super/subscripts indicating between n and m occurrences.
All these constructs can be expressed in plain BNF using extra productions and have been added for readability and succinctness.
(1995-04-28)

Extended Binary Coded Decimal Interchange Code
character, standard /eb's*-dik/, /eb'see`dik/, /eb'k*-dik/, /ee`bik'dik`/, /*-bik'dik`/ (EBCDIC) A proprietary 8-bit character set used on IBM dinosaurs, the AS/400, and e-Server.
EBCDIC is an extension to 8 bits of BCDIC (Binary Coded Decimal Interchange Code), an earlier 6-bit character set used on IBM computers. EBCDIC was [first?] used on the successful System/360, anounced on 1964-04-07, and survived for many years despite the almost universal adoption of ASCII elsewhere. Was this concern for backward compatibility or, as many believe, a marketing strategy to lock in IBM customers?
IBM created 57 national EBCDIC character sets and an International Reference Version (IRV) based on ISO 646 (and hence ASCII compatible). Documentation on these was not easily accessible making international exchange of data even between IBM mainframes a tricky task.
US EBCDIC uses more or less the same characters as ASCII, but different code points. It has non-contiguous letter sequences, some ASCII characters do not exist in EBCDIC (e.g. square brackets), and EBCDIC has some (cent sign, not sign) not in ASCII. As a consequence, the translation between ASCII and EBCDIC was never officially completely defined. Users defined one translation which resulted in a so-called de-facto EBCDIC containing all the characters of ASCII, that all ASCII-related programs use.
Some printers, telex machines, and even electronic cash registers can speak EBCDIC, but only so they can converse with IBM mainframes.
For an in-depth discussion of character code sets, and full translation tables, see Guidelines on 8-bit character codes (ftp://ftp.ulg.ac.be/pub/docs/iso8859/iso8859.networking).
A history of character codes (http://tronweb.super-nova.co.jp/characcodehist.html).
Here is a simple translation table:
Least significant nibble -
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 ... controls ... 1 2 3 ... controls ... 4 â ä à á ã å ç ñ ¢ . ( + | 5 é ê ë è í î ï ì ! $ * ) ; ^ 6 - / â ä à á ã å ç ñ ¦ , % _ ? 7 ø é ê ë è í î ï ì ` : # @ ' = 8 ø a b c d e f g h i ð ý þ ± 9 º j k l m n o p q r ª
E.g. the EBCDIC code for A is hexadecimal C1 .
(2002-03-03)

Extended BNF
Extended Backus-Naur Form

Extended C++
language EC++ extended by G. Masotti masotti@lipari.usc.edu with preconditions, postconditions and class invariants, parameterised classes, exception handling and garbage collection. EC++ translates Extended C++ into C++.
(1989-10-10)

Extended Capabilities Port
hardware (ECP) A parallel printer interface for IBM PC compatibles, supported by several, mainly US, manufacturers.
Not to be confused with the more common Enhanced Capabilities Port.
(1997-12-01)

Extended Concurrent Prolog
language (ECP) Concurrent Prolog with OR parallelism, set abstraction and meta-inference features.
[ AND-OR Queuing in Extended Concurrent Prolog , J. Tanaka et al, Proc Logic Prog Conf '85, LNCS 193, Springer 1985].
(1994-12-01)

Extended Data Out Dynamic Random Access Memory
storage (EDO DRAM, EDO RAM) A type of DRAM designed to access nearby memory locations faster than FPM DRAM.
Extended Data Out DRAM (EDO-DRAM) allows the data outputs to be kept active after the CAS signal goes inactive, using an additional signal OE to control the data outputs. This can be used in pipelined systems for overlapping accesses where the next cycle is started before the data from the last cycle is removed from the bus.
EDO DRAM is primarily used with Intel's Pentium processors since with slower processors there is no significant performance gain. To make use of the advanced features of EDO an appropriate chipset, such as Triton, must be used. In early 1995, EDO DRAM was available for computers from Micron, Gateway 2000, and Intel Corporation; since then other manufactures followed suit.
Note that in comparison to Burst EDO EDO is sometimes referred to as Standard EDO .
(1996-06-25)

Extended Data Out Random Access Memory
Extended Data Out Dynamic Random Access Memory

Extended Fortran Language
(EFL) A Fortran preprocessor to provide structured programming constructs much like C. EFL is a descendant of RATFOR. It is written in C.
[ An Informal Description of EFL , S.I. Feldman].

eXtended Graphics Array
hardware (XGA) An IBM display standard introduced in 1990.
XGA supports a resolution of 1024 x 768 pixels with a palette of 256 colours, or 640 x 480 with high colour (16 bits per pixel).
XGA-2 added 1024 x 768 support for high colour and higher refresh rates, improved performance, and supports 1360 x 1024 in 16 colours.
XGA is probably not the same as 8514-A.
See also VESA's EVGA released at a similar time.
(1999-08-01)

Extended Industry-Standard Architecture
architecture, standard (EISA) /eesa/ A bus standard for IBM compatibles that extends the ISA bus architecture to 32 bits and allows more than one CPU to share the bus. The bus mastering support is also enhanced to provide access to 4 GB of memory. Unlike MCA, EISA can accept older XT bus architecture and ISA boards.
EISA was announced in late 1988 by compatible vendors as a counter to IBM's MCA in its PS/2 series. Although somewhat inferior to the MCA it became much more popular due to the proprietary nature of MCA.
[Main sponsors? Open standard?]
(1996-06-25)

extended memory
storage Memory above the first megabyte of address space in an IBM PC with an 80286 or later processor.
Extended memory is not directly available in real mode, only through EMS, UMB, XMS, or HMA; only applications executing in protected mode can use extended memory directly. In this case, the extended memory is provided by a supervising protected-mode operating system such as Microsoft Windows. The processor makes this memory available through a system of global descriptor tables and local descriptor tables. The memory is protected in the sense that memory assigned a local descriptor cannot be accessed by another program without causing a hardware trap. This prevents programs running in protected mode from interfering with each other's memory.
A protected-mode operating system such as Windows can also run real-mode programs and provide expanded memory to them. DOS Protected Mode Interface is Microsoft's prescribed method for an MS-DOS program to access extended memory under a multitasking environment.
Having extended memory does not necessarily mean that you have more than one megabyte of memory since the reserved memory area may be partially empty. In fact, if your 386 or higher uses extended memory as expanded memory then that part is not in excess of 1Mb.
See also conventional memory.
(1996-01-10)

extended memory manager
software, storage (XMM) The memory manager software implementing Extended Memory Specification, such as HIMEM or QEMM386. XMM's can usually also act as A20 handlers.
(1996-01-10)

Extended Memory Specification
storage (XMS) The specification describing the use of IBM PC extended memory in real mode for storing data (but not executable code). Memory is made available by extended memory manager (XMM) software. The XMM functions are accessible through interrupt 2FH.
(1996-01-10)

Extended ML
A language by Don Sannella of the University of Edinburgh combining algebraic specification and functional programming.
[ Program Specification and Development in Standard ML , D. Sannella et al, 12th POPL, ACM 1985].
(1994-12-12)

Extended Pascal
A superset of ANSI and ISO Pascal with many enhancements, including modules, separate compilation, type schemata, variable-length strings, direct-access files, complex numbers, initial values, constant expressions. ANSI/IEEE770X3.160-1989 and ISO 10206.
(1994-12-12)

Extended Self-containing Prolog
language (ESP) An object-oriented extension of KL0 by Chikayama. ESP has backtracking-based control, unification-based parameter passing and object-oriented calling. An object in ESP is an axiom set. A class definition consists of nature definitions (inheritance), slot definitions (class variables) and clause definitions. ESP has multiple inheritance similar to Flavors. It has been implemented for ICOT's PSI Sequential Inference machine.
See also CESP.
E-mail: k-hata@air.co.jp .
[ Unique Features of ESP , T. Chikayama, Proc Intl Conf 5th Gen Comp Sys, ICOT 1984].
(1994-12-08)

Extended System Configuration Data
operating system (ESCD) An area of memory, not exceeding 32 kilobytes in size, used by MS-DOS(?) as NVRAM for PNP BIOS and PNP OS. It must be writeable at run time.
Intel's ICU also uses ESCD to store information for PNP ISA cards and legacy ISA cards.
(1999-11-22)

Extended Tiny
A research/educational tool for experimenting with array data dependence tests and reordering transformations. It works with a language tiny, which does not have procedures, goto's, pointers, or other features that complicate dependence testing.
Michael Wolfe's original tiny has been extended substantially by William Pugh pugh@cs.umd.edu et al. at the University of Maryland.
Version 3.0 (Dec 12th, 1992) includes a programming environment, dependence tester, tests translator (Fortran- tiny), documentation, and technical reports. It should run on any Unix system.
(ftp://cs.umd.edu/pub/omega)
E-mail: Omega test research group omega@cs.umd.edu .
(1992-12-12)

Extended Video Graphics Array
hardware, graphics (EVGA) A display standard introduced by VESA in 1991.
It offers a maximum resolution of 1024 x 768 pixels (non-interlaced) and a 70 Hz refresh rate.
EVGA should not be confused with the older EGA (Enhanced Graphics Array) or XGA (eXtended Graphics Array).
[Same as eXtended Video Graphics Array (XVGA)?]
(1999-08-01)

eXtended Video Graphics Array
hardware (XVGA) A display standard with a resolution of 1024 by 768 pixels of 256 colours. IBM call this mode 8514 .
[Same as Extended Video Graphics Array (EVGA)?]
(1997-12-11)

extensible
programming Said of a system (e.g., program, file format, programming language, protocol, etc.) designed to easily allow the addition of new features at a later date, e.g. through the use of hooks, an API or plug-ins.
See also extend, forward compatible.
(1998-01-15)

extensible database
database A DBMS that allows access to data from remote sources as if the remote data were part of the database.
[Example?]
(1997-11-20)

Extensible Markup Language
language, text (XML) An initiative from the W3C defining an extremely simple dialect of SGML suitable for use on the World-Wide Web.
(http://www.w3.org/XML/).
[Relationship to the XSL forthcoming subset of DSSSL?]
(1997-11-20)

Extensible Shell
operating system (es) A Unix shell written by Byron Rakitzis byron@netapp.com and Paul Haahr haahr@adobe.com , derived from rc. Es has real functions, closures, exceptions and lets you redefine most internal shell operations.
Version: 0.84.
(ftp://ftp.sys.utoronto.ca/pub/es/).
[ Es - A Shell with Higher Order Functions , P. Haahr et al, Proc Winter 1993 Usenix Technical Conference].
(1993-04-30)

Extensible Stylesheet Language
World-Wide Web (XSL) A W3C standard defining stylesheets for (and in) XML.
Home (http://www.w3.org/Style/XSL/).
See also XSLT.
[Summary?]
(2001-04-01)

Extensible Stylesheet Language Transformations
World-Wide Web (XSLT) A W3C standard for transforming XML documents into other XML documents or other formats. This was conceived as part of XSL but has been found to have wider applications.
(http://www.w3.org/TR/xslt).
(2001-10-04)

Extensible VAX Editor
text, tool (EVE) A DEC product implemented using DEC's Text Processing Utility (TPU).
[Details?]
(2000-05-08)

extension
1. filename extension filename extension.
2. programming A feature or piece of code which extends a program's functionality, e.g. a plug-in.
(1997-06-21)

extensional
Extensional properties, e.g. extensional equality, relate to the black-box behaviour of an object, i.e. how its output depends on its input. The opposite is intensional which concerns how the object is implemented.

extensional equality
(Or extensionality). Functions, f and g are extensionally equal if and only if
f x = g x for all x.
where = means both expressions fail to terminate (under some given reduction strategy) or they both terminate with the same basic value.
Two functions may be extensionally equal but not inter-convertible (neither is reducible to the other). E.g. x . x+x and x . 2*x. See also observational equivalence, referential transparency.

extensionality
extensional equality

Extension Language Kit
language (Elk) A Scheme interpreter by Oliver Laumann net@cs.tu-berlin.de and Carsten Bormann cabo@cs.tu-berlin.de of the Technical University of Berlin. Elk was designed to be used as a general extension language. New types and primitive procedures can easily be added. It has first-class environments, dynamic-wind, fluid-let, macros, autoloading and a dump. It provides interfaces to Xlib, Xt and various widget sets; dynamic loading of extensions and object files; almost all artificial limitations removed; generational/incremental garbage collector; Unix system call extensions; Records (structures) and bit strings.
Version: 2.2 is mostly R3RS compatible and runs on Unix, Ultrix, VAX, Sun-3, Sun-4, 68000, i386, MIPS, IBM PC RT, RS/6000, HP700, SGI, Sony, MS-DOS (gcc+DJGPP or go32).
Germany (ftp://ftp.fu-berlin.de/pub/Unix/languages/scheme/elk-2.2.tar.gz). US (ftp://ftp.x.org/contrib/elk-2.2.tar.gz). US (ftp://gatekeeper.dec.com/pub/comp.sources.misc/volume8/elk).
(1994-12-15)

Exterior Gateway Protocol
(EGP) A protocol which distributes routing information to the routers which connect autonomous systems. The term gateway is historical, and router is currently the preferred term. There is also a routing protocol called EGP defined in STD 18, RFC 904. See also Border Gateway Protocol, Interior Gateway Protocol.

eXternal Data Representation
(XDR) A standard for machine independent data structures developed by Sun Microsystems for use in remote procedure call systems. It is defined in RFC 1014 and is similar to ASN.1.
(1994-12-13)

external memory
storage A vague term for slower, non-volatile storage, usually magnetic disk, in contrast to main memory which is usually volatile semiconductor RAM.
[Jargon File]
(1997-02-17)

EXTRA
Object-oriented, Pascal style, handles sets. A Data Model and Query Language for EXODUS , M.J. Carey et al, SIGMOD 88 Conf Proc, pp.413- 423, ACM SIGMOD Record 17:3 (Sept 1988).

extranet
World-Wide Web The extension of a company's intranet out onto the Internet, e.g. to allow selected customers, suppliers and mobile workers to access the company's private data and applications via the World-Wide Web. This is in contrast to, and usually in addition to, the company's public web site which is accessible to everyone. The difference can be somewhat blurred but generally an extranet implies real-time access through a firewall of some kind.
Such facilities require very careful attention to security but are becoming an increasingly important means of delivering services and communicating efficiently.
[Did Marc Andreessen invent the term in September 1996?]
(1997-12-17)

EXUG
European X User Group

eyeball search
jargon (Or vgrep) To look for something in a mass of code or data with one's own native optical sensors, as opposed to using some sort of pattern matching software like grep or any other automated search tool.
Compare vdiff, desk check.
[Jargon File]
(1997-12-17)

EZ
High-level string-processing language derived from SNOBOL4, SL5 and Icon.
[ The EZ Reference Manual , C.W. Fraser et al, CS TR 84-1, U Arizona, 1984].

ezd
graphics, tool (Easy drawing) A graphics server that sits between an application program and an X server and allows both existing and new programs easy access to structured graphics. Ezd users have been able to have their programs produce interactive drawings within hours of reading the manual page. Ezd supports structured graphics - application defined graphical objects are ordered into drawings by the application. Unlike most X tools, ezd does not require any event handling by the application. The ezd server maintains the window contents. When an event occurs an application supplied Scheme expression is evaluated.
Current version: 15mar93 (as of 1993-03-10).
(ftp://gatekeeper.dec.com/pub/DEC/ezd/).
Contact: Joel Bartlett.
(2000-03-25)

e-zine
electronic magazine

A Fortran 77 to C translator by S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer. Produces ANSI C or C++.
(ftp://netlib.bell-labs.com/netlib/f2c).
E-mail: dmg@bell-labs.com .
Current version: 1997.07.24.
(1997-08-01)

F2F
face-to-face

F68K
A portable Forth system for Motorola 680x0 computers by Joerg Plewe joerg.plewe@mpi-dortmund.mpg.de . Ported to Atari ST, Atari TT, Amiga, Sinclair QL and OS9. Easily ported to Motorola 68000 based systems.
(ftp://archive.umich.edu/atari/Languages/)
(1992-12-14)

FAC
Functional Array Calculator. An APL-like language, but purely functional and lazy. It allows infinite arrays.
[ FAC: A Functional APL Language , H.-C. Tu and A.J. Perlis, IEEE Trans Soft Eng 3(1):36-45 (Jan 1986)].

face time
jargon Time spent interacting with somebody face-to-face (as opposed to via electronic links). Oh, yeah, I spent some face time with him at the last Usenix.
[Jargon File]

face-to-face
jargon, chat (F2F, IRL) Used to describe personal interaction in real life as opposed to via some digital or electronic communications medium.
(1997-01-31)

Facile
language A concurrent extension of ML from ECRC.
(http://www.ecrc.de/facile/facile_home.html)
[ Facile: A Symmetric Integration of Concurrent and Functional Programming , A. Giacalone et al, Intl J Parallel Prog 18(2):121-160, Apr 1989].
(1994-12-01)

facsimile
communications ( fax ) A process by which fixed graphic material including pictures, text, or images is scanned and the information converted into electrical signals which are transmitted via telephone to produce a paper copy of the graphics on the receiving fax machine.
Some modems can be used to send and receive fax data.
[Details? Standards?]
(1995-11-15)

FACT
Fully Automated Compiling Technique

fact
artificial intelligence, programming The kind of clause used in logic programming which has no subgoals and so is always true (always succeeds). E.g.
wet(water). male(denis).
This is in contrast to a rule which only succeeds if all its subgoals do. Rules usually contain logic variables, facts rarely do, except for oddities like equal(X,X). .
(1996-10-20)

factor
A quantity which is multiplied by another quantity. See coefficient of X. See also divisor.
[Jargon File]

FAD
[ FAD, A Simple and Powerful Database Language , F. Bancilon et al, Proc 13th Intl Conf on VLDB, Brighton, England, Sep 1987].

failover
reliability Automatically switching to a redundant or standby server, system, or network upon the failure or abnormal termination of the currently-active server, system, or network (a hot standby or warm standby ). Failover happens without human intervention. This feature is usually built-in to expensive systems which must be available continuously.
(2001-03-19)

failure
The inability of a system or system component to perform a required function within specified limits. A failure may be produced when a fault is encountered.
(1996-05-13)

failure-directed testing
programming (Or heuristics testing ) Software testing based on the knowledge of the types of errors made in the past that are likely for the system under test.
(1996-05-16)

FAIR
language An early system on the IBM 705.
[Listed in CACM 2(5):1959-05-16].
(1996-05-13)

Fairchild F8
processor An 8-bit microprocessor. The processor itself had no address bus - program and data memory access were contained in separate units, which reduced the number of pins and the associated cost. It also featured 64 registers, accessed by the ISAR register in cells (register windows) of eight, which meant external RAM wasn't always needed for small applications. In addition, the 2-chip processor didn't need support chips, unlike others which needed seven or more.
The F8 inspired other similar CPUs, such as the Intel 8048. The use of the ISAR register allowed a subroutine to be entered without saving a bunch of registers, speeding execution - the ISAR would just be changed. Special purpose registers were stored in the second cell (regs 9-15), and the first eight registers were accessed directly. The windowing concept was useful, but only the register pointed to by the ISAR could be accessed - to access other registers the ISAR was incremented or decremented through the window.
(1994-11-16)

fall back
A feature of a modem protocol where two modems which experience data corruption, e.g. due to line noise, can renegotiate to use a lower speed connection. See also fall forward.

fall forward
A feature of a modem protocol where two modems which fall back to a lower speed because of data corruption can later return to the higher speed if the connection improves.

fall over
[IBM] Yet another synonym for crash or lose. Fall over hard equates to crash and burn.
[Jargon File]

fall through
programming (The American misspelling fall thru is also common)
1. To exit a loop by exhaustion, i.e. by having fulfilled its exit condition rather than via a break or exception condition that exits from the middle of it. This usage appears to be *really* old, dating from the 1940s and 1950s.
2. To fail a test that would have passed control to a subroutine or some other distant portion of code.
3. In C, fall-through occurs when the flow of execution in a switch statement reaches a case label other than by jumping there from the switch header, passing a point where one would normally expect to find a break . A trivial example:
switch (colour) case GREEN:
do_green();
break; case PINK:
do_pink();
/* FALL THROUGH */ case RED:
do_red();
break; default:
do_blue();
break;
The effect of the above code is to do_green() when colour is GREEN , do_red() when colour is RED , do_blue() on any other colour other than PINK , and (and this is the important part) do_pink() *and then* do_red() when colour is PINK . Fall-through is considered harmful by some, though there are contexts (such as the coding of state machines) in which it is natural; it is generally considered good practice to include a comment highlighting the fall-through where one would normally expect a break. See also Duff's Device.

fall thru
spelling It's spelled fall through .
(1996-12-13)

FALSE
A small, compiled extensible language with lambda abstractions by W. van Oortmerssen.
For Amiga (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff885)

fandango on core
(Unix/C, from the Mexican dance) In C, a wild pointer that runs out of bounds, causing a core dump, or corrupts the malloc arena in such a way as to cause mysterious failures later on, is sometimes said to have done a fandango on core . On low-end personal machines without an MMU, this can corrupt the operating system itself, causing massive lossage. Other frenetic dances such as the rhumba, cha-cha, or watusi, may be substituted.
See aliasing bug, precedence lossage, smash the stack, memory leak, memory smash, overrun screw, core.
[Jargon File]
(1994-12-16)

FAP
The assembly language for Sperry-Rand 1103 and 1103A.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-16)

FAQ
frequently asked question

FAQL
frequently asked question

FAQ list
frequently asked question

faradise
/far'*-di:z/ [US Geological Survey] To start any hyper-addictive process or trend, or to continue adding current to such a trend. Telling one user about a new octo-tetris game you compiled would be a faradising act - in two weeks you might find your entire department playing the faradic game.

farkled
jargon /far'kld/ (From DeVry Institute of Technology, Atlanta) A synonym for hosed. Possibly related to Yiddish farblondjet and/or the Farkle Family skits on Rowan Martin's Laugh-In.
[Jargon File]
(1998-09-07)

farm
processor farm

farming
jargon (From Adelaide University, Australia) What the heads of a disk drive are said to do when they plow little furrows in the magnetic media during a head crash. Typically used as follows: Oh no, the machine has just crashed; I hope the hard drive hasn't gone farming again.
[Jargon File]
(2001-03-26)

FARNET
A non-profit corporation, established in 1987, whose mission is to advance the use of computer networks to improve research and education.

fas
1. Frankenstein Cross Assemblers. A reconfigurable assembler package, especially suited for 8-bit processors, consisting of a base assembler module and a yacc parser, for each microprocessor, to handle mnemonics and addressing. Second party parser modules available from many sites.
Base assembler and yacc parser modules by Mark Zenier. FTP: ftp.njit.edu/pub/msdos/frankasm/frankasm.zoo.
2. FAS. A general purpose language sponsored by the Finnish government in the 70's and 80's.

FASBOL
[ FASBOL. A SNOBOL4 Compiler , P.J. Santos, Memo ERL-M134, UC Berkeley 1971].

fascist
1. Said of a computer system with excessive or annoying security barriers, usage limits, or access policies. The implication is that said policies are preventing hackers from getting interesting work done. The variant fascistic seems to have been preferred at MIT, possibly by analogy with touristic (see tourist).
2. In the design of languages and other software tools, the fascist alternative is the most restrictive and structured way of capturing a particular function; the implication is that this may be desirable in order to simplify the implementation or provide tighter error checking. Compare bondage-and-discipline language, although that term is global rather than local.
[Jargon File]

FASE
Fundamentally Analyzable Simplified English.
L.E. McMahon, Bell Labs.
[Sammet 1969, p.720].
(1994-11-09)

FAST
1. body Federation Against Software Theft.
2. language Fortran Automatic Symbol Translator.
(1996-05-19)

Fast ATA
Advanced Technology Attachment Interface with Extensions

Fast ATA-2
Advanced Technology Attachment Interface with Extensions

Fast Ethernet
networking A version of Ethernet developed in the 1990s(?) which can carry 100 Mbps compared with standard Ethernet's 10 Mbps. It requires upgraded network cards and hubs.
The relevant standards are 100BaseT, 100BaseFX and 100BaseVG.
(1998-03-23)

Fast Fourier Transform
algorithm (FFT) An algorithm for computing the Fourier transform of a set of discrete data values. Given a finite set of data points, for example a periodic sampling taken from a real-world signal, the FFT expresses the data in terms of its component frequencies. It also solves the essentially identical inverse problem of reconstructing a signal from the frequency data.
The FFT is a mainstay of numerical analysis. Gilbert Strang described it as the most important algorithm of our generation . The FFT also provides the asymptotically fastest known algorithm for multiplying two polynomials.
Versions of the algorithm (in C and Fortran) can be found on-line from the GAMS server here (http://gams.nist.gov/cgi-bin/gams-serve/class/J1.html).
[ Numerical Methods and Analysis , Buchanan and Turner].
(1994-11-09)

Fast Packet
Asynchronous Transfer Mode

Fast Page Mode Dynamic Random Access Memory
hardware, storage Is this the same as Page Mode Dynamic Random Access Memory?
(1996-10-06)

Fast SCSI
hardware A variant on the SCSI-2 bus. It uses the same 8-bit bus as the original SCSI-1 but runs at up to 10MB/s - double the speed of SCSI-1.
(1994-11-24)

FAT
File Allocation Table

FAT32
File Allocation Table

fatal
programming Resulting in termination of the program.
(1997-08-03)

fatal error
programming, operating system Any error which causes abrupt termination of the program. The program may be terminated either by itself or by the operating system (a fatal exception ). In the former instance, the program contains code which catches the error and, as a result, returns to the operating system or calls an operating system service to terminate the program.
(1997-08-03)

fatal exception
programming, operating system A program execution error which is trapped by the operating system and which results in abrupt termination of the program.
It may be possible for the program to catch some such errors, e.g. a floating point underflow; others, such as an invalid memory access (an attempt to write to read-only memory or an attempt to read memory outside of the program's address space), may always cause control to pass to the operating system without allowing the program an opportunity to handle the error. The details depend on the language's run-time system and the operating system.
See also: fatal error.
(1997-08-03)

fat binary
operating system An executable file containing code for more than one CPU. The correct code is selected automatically at run time. This is convenient for distributing software and sharing it between multiple platforms.
NEXTSTEP supports fat binaries, e.g. for Motorola 68000, Intel 80486 and SPARC ( triple fat ). Mac OS supports fat binaries for both 680x0 and PowerPC native code.
[Other OSes?]
(1995-09-23)

fat client
networking Opposite of thin client .
(1996-12-08)

fat electrons
electronics, humour Old-time hacker David Cargill's theory on the cause of computer glitches. Your typical electricity company draws its line current out of the big generators with a pair of coil taps located near the top of the dynamo. When the normal tap brushes get dirty, they take them off line to clean them up, and use special auxiliary taps on the *bottom* of the coil. Now, this is a problem, because when they do that they get not ordinary or thin electrons, but the fat sloppy electrons that are heavier and so settle to the bottom of the generator. These flow down ordinary wires just fine, but when they have to turn a sharp corner (as in an integrated-circuit via), they're apt to get stuck. This is what causes computer glitches.
[Obviously, fat electrons must gain mass by bogon absorption - ESR]
Compare bogon, magic smoke.
[Jargon File]
(1996-12-08)

fault
1. programming A manifestation of an error in software. A fault, if encountered, may cause a failure.
2. architecture page fault.
(1996-05-14)

fault-based testing
testing Software testing using test data designed to demonstrate the absence of a set of pre-specified faults; typically, frequently occurring faults. For example, to demonstrate that the software handles or avoids divide by zero correctly, the test data would include zero.
(1996-05-15)

fault tolerance
architecture 1. The ability of a system or component to continue normal operation despite the presence of hardware or software faults. This often involves some degree of redundancy.
2. The number of faults a system or component can withstand before normal operation is impaired.
(1995-04-06)

fault tolerant
fault tolerance

fault tree analysis
programming A form of safety analysis that assesses hardware safety to provide failure statistics and sensitivity analyses that indicate the possible effect of critical failures.
(1996-05-15)

fax
facsimile

Fax over IP
communications (FoIP) Transmission of a facsimile over an IP networking instead of PSTN, analogous to Voice over IP.
(1999-04-26)

FC
language A functional language.
[ FC Manual , L. Augustsson, Memo 13, Programming Methodology Group, Chalmers U, Sweden 1982].
(1995-03-22)

FC-AL
Fibre Channel-Arbitrated Loop.

FCB
operating system file control block.

F-code
The code for the FP/M abstract machine.
[ FP/M Abstract Syntax Description , Roger Bailey, Dept Computing, Imperial College, U London, 1985]1w.
(1994-12-01)

FCP
Flat Concurrent Prolog.
[ Design and Implementation of Flat Concurrent Prolog , C. Mierowsky, TR CS84-21 Weizmann Inst, Dec 1984].
(1994-10-20)

FC-PGA
Flip Chip Pin Grid Array

FCS
Frame Check Sequence

FDC
Floppy Disk Controller

FDDI
Fiber Distributed Data Interface

FDISK
operating system, tool (Fixed disk utility) An MS-DOS utility program which prepares a hard disk so that it can be used as a boot disk and file systems can be created on it. OS/2, NT, Windows 95, Linux, and other Unix versions all have this command or something similar.
(1996-12-23)

fd leak
file descriptor leak

fdlibm
A new version of the C maths library, libm, by Dr. K-C Ng. It is the basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC and for future Solaris 2 releases for x86 and PowerPC. It provides the standard functions necessary to pass the usual test suites. This new libm can be configured to handle exceptions in accordance with various language standards or in the spirit of IEEE 754. The C source code should be portable to any IEEE 754 system.
E-mail: netlib@research.att.com ( send all from fdlibm ), fdlibm-comments@sunpro.eng.sun.com (comments and bug reports).
(ftp://netlib.att.com/netlib).
(1993-12-18).

FDMA
frequency division multiple access

FDSE
full-duplex Switched Ethernet

FDSP
full-duplex speaker phone

FDT
Formal Description Technique

fdx
full-duplex

FEA
finite element analysis

fear and loathing
(Hunter S. Thompson) A state inspired by the prospect of dealing with certain real-world systems and standards that are totally brain-damaged but ubiquitous - Intel 8086s, COBOL, EBCDIC, or any IBM machine except the Rios (also known as the RS/6000).
[Jargon File]
(1994-12-06)

feasible
algorithm A description of an algorithm that takes polynomial time (that is, for a problem set of size N, the resources required to solve the problem can be expressed as some polynomial involving N).
Problems that are feasible are said to be in P where P is polynomial time. Problems that are possible but not feasible are said to be in NP .
(2001-04-12)

feature
jargon 1. A good property or behaviour (as of a program). Whether it was intended or not is immaterial.
2. An intended property or behaviour (as of a program). Whether it is good or not is immaterial (but if bad, it is also a misfeature).
3. A surprising property or behaviour; in particular, one that is purposely inconsistent because it works better that way - such an inconsistency is therefore a feature and not a bug. This kind of feature is sometimes called a miswart.
4. A property or behaviour that is gratuitous or unnecessary, though perhaps also impressive or cute. For example, one feature of Common LISP's format function is the ability to print numbers in two different Roman-numeral formats (see bells, whistles, and gongs).
5. A property or behaviour that was put in to help someone else but that happens to be in your way.
6. A bug that has been documented. To call something a feature sometimes means the author of the program did not consider the particular case, and that the program responded in a way that was unexpected but not strictly incorrect. A standard joke is that a bug can be turned into a feature simply by documenting it (then theoretically no one can complain about it because it's in the manual), or even by simply declaring it to be good. That's not a bug, that's a feature! is a common catch-phrase. Apparently there is a Volkswagen Beetle in San Francisco whose license plate reads FEATURE .
See also feetch feetch, creeping featurism, wart, green lightning.
The relationship among bugs, features, misfeatures, warts and miswarts might be clarified by the following hypothetical exchange between two hackers on an airliner:
A: This seat doesn't recline.
B: That's not a bug, that's a feature. There is an emergency exit door built around the window behind you, and the route has to be kept clear.
A: Oh. Then it's a misfeature; they should have increased the spacing between rows here.
B: Yes. But if they'd increased spacing in only one section it would have been a wart - they would've had to make nonstandard-length ceiling panels to fit over the displaced seats.
A: A miswart, actually. If they increased spacing throughout they'd lose several rows and a chunk out of the profit margin. So unequal spacing would actually be the Right Thing.
B: Indeed.
Undocumented feature is a common euphemism for a bug.
7. An attribute or function of a class in Eiffel.
[Jargon File]
(1995-10-22)

feature creature
[Possibly from slang creature feature for a horror movie] 1. One who loves to add features to designs or programs, perhaps at the expense of coherence, concision or taste.
2. Alternately, a mythical being that induces otherwise rational programmers to perpetrate such crocks. See also feeping creaturism, creeping featurism.
[Jargon File]

feature creep
creeping featurism

featurectomy
/fee ch*r-ek t*-mee/ The act of removing a feature from a program. Featurectomies come in two flavours, the righteous and the reluctant . Righteous featurectomies are performed because the remover believes the program would be more elegant without the feature, or there is already an equivalent and better way to achieve the same end. (Doing so is not quite the same thing as removing a misfeature.) Reluctant featurectomies are performed to satisfy some external constraint such as code size or execution speed.
[Jargon File]
(1994-10-20)

feature key
hardware (Or flower , pretzel , clover , propeller , beanie (from propeller beanie), splat, command key ) The Macintosh key with the cloverleaf graphic on its keytop.
The feature key is the Mac's equivalent of an alt key (and so labelled on on some Mac II keyboards). The proliferation of terms for this creature may illustrate one subtle peril of iconic interfaces.
Many people have been mystified by the cloverleaf-like symbol that appears on the feature key. Its oldest name is cross of St. Hannes , but it occurs in pre-Christian Viking art as a decorative motif. Throughout Scandinavia today the road agencies use it to mark sites of historical interest. Apple Computer picked up the symbol from an early Macintosh developer who happened to be Swedish. Apple documentation gives the translation interesting feature !
There is some dispute as to the proper (Swedish) name of this symbol. It technically stands for the word sev ardhet (interesting feature) many of these are old churches. Some Swedes report as an idiom for it the word kyrka , cognate to English church and Scots-dialect kirk but pronounced /shir'k*/ in modern Swedish. Others say this is nonsense.
[Jargon File]
(1997-11-20)

feature shock
[Alvin Toffler's book title Future Shock ] A user's (or programmer's!) confusion when confronted with a package that has too many features and poor introductory material.
[Jargon File]

FEC
Forward Error Correction

Federal Geographic Data Committee
(FGDC)
(ftp://fgdc.er.usgs.gov/gdc/html/fgdc.html)
[Summary?]
(1995-03-06)

Federal Information Exchange
networking (FIX) One of the connection points between the American governmental internets and the Internet.
(2001-05-14)

Federal Information Processing Standards
(FIPS) United States Government technical standards published by the National Technical Information Service (NTIS). Computer-related products bought by the US Government must conform to these standards.
(1995-03-01)

Federal Networking Council
(FNC) The coordinating group of representatives from federal agencies involved in the development and use of federal networking, especially those networks using TCP/IP and the Internet. Current members include representatives from DOD, DOE, DARPA, NSF, NASA, and HHS.
(1994-11-17)

Federation Against Software Theft
body, legal (FAST) A non-profitmaking organisation, formed in 1984 by the software industry with the aim of eradicating software theft within the UK. Prosecuting on average one organisation every ten days, FAST gives a member organisation, which has signed a Code of Ethics and is committed to the carrying out of a regular software audit, a period of grace before bringing action if there is evidence of irregularities by the member organisation.
In addition to prosecuting organisations and individuals for software theft, FAST set up a campaign of public education and awareness to ensure that users of commercial software understand the effects of software theft - primarily the legal penalties for copyright breach and the increased risk of virus infection through the uncontrolled spread of software. It is estimated that European software houses alone lose $6 billion per year through the unlawful copying and distribution of software, with much of this loss being through business users rather than basement hackers . One Italian pirating operation employed over 100 staff and had a turnover of $10m.
However, FAST is limited to the UK and in 1995 proposed to merge with the Business Software Alliance created by Microsoft and which has a world-wide influence. However, the talks fell through and in 1996, Novell and Adobe Systems, Inc. defected to BSA.
Home (http://www.serverworld/com/fast.html).
Telephone: +44 (1753) 527 999.
(1996-09-27)

feedback
electronics Part of a system output presented at its input. Feedback may be unintended. When used as a design feature, the output is usually transformed by passive components which attenuate it in some manner; the result is then presented at the system input.
Feedback is positive or negative, depending on the sign with which a positive change in the original input reappears after transformation. Negative feedback was invented by Black to stabilise vacuum tube amplifiers. The behaviour becomes largely a function of the feedback transformation and only minimally a function of factors such as transistor gain which are imperfectly known.
Positive feedback can lead to instability; it finds wide application in the construction of oscillators.
Feedback can be used to control a system, as in feedback control.
(1996-01-02)

feedback control
electronics A control system which monitors its effect on the system it is controlling and modifies its output accordingly. For example, a thermostat has two inputs: the desired temperature and the current temperature (the latter is the feedback). The output of the thermostat changes so as to try to equalise the two inputs.
Computer disk drives use feedback control to position the read/write heads accurately on a recording track. Complex systems such as the human body contain many feedback systems that interact with each other; the homeostasis mechanisms that control body temperature and acidity are good examples.
(1996-01-02)

feed-forward
A multi-layer perceptron network in which the outputs from all neurons (see McCulloch-Pitts) go to following but not preceding layers, so there are no feedback loops.

Feel
(Free and Eventually Eulisp) An initial implementation of an EuLisp interpreter by Pete Broadbery pab@maths.bath.ac.uk . Version 0.75 features an integrated object system, modules, parallelism, interfaces to PVM library, TCP/IP sockets, futures, Linda and CSP. Portable to most Unix systems. Can use shared memory and threads if available.
(ftp://ftp.bath.ac.uk/pub/eulisp/)
(1992-09-14)

feep
/feep/ 1. The soft electronic bell sound of a display terminal (except for a VT-52); a beep (in fact, the microcomputer world seems to prefer beep).
2. To cause the display to make a feep sound. ASR-33s (the original TTYs) do not feep; they have mechanical bells that ring. Alternate forms: beep, bleep , or just about anything suitably onomatopoeic. (Jeff MacNelly, in his comic strip Shoe , uses the word eep for sounds made by computer terminals and video games; this is perhaps the closest written approximation yet.) The term breedle was sometimes heard at SAIL, where the terminal bleepers are not particularly soft (they sound more like the musical equivalent of a raspberry or Bronx cheer; for a close approximation, imagine the sound of a Star Trek communicator's beep lasting for five seconds). The feeper on a VT-52 has been compared to the sound of a '52 Chevy stripping its gears. See also ding.
[Jargon File]

feeper
/fee'pr/ The device in a terminal or workstation (usually a loudspeaker of some kind) that makes the feep sound.

feeping creature
[feeping creaturism] An unnecessary feature; a bit of chrome that, in the speaker's judgment, is the camel's nose for a whole horde of new features.
[Jargon File]

feeping creaturism
/fee'ping kree ch*r-izm/ A deliberate spoonerism for creeping featurism, meant to imply that the system or program in question has become a misshapen creature of hacks. This term isn t really well defined, but it sounds so neat that most hackers have said or heard it. It is probably reinforced by an image of terminals prowling about in the dark making their customary noises.

FEL
Function Equation Language. Programs are sets of definitions. Sequences are lists stored in consecutive memory. FEL Programmer's Guide , R. M. Keller, AMPS TR 7, U Utah, March 1982.

femto-
prefix

fence
1. A sequence of one or more distinguished (out-of-band) characters (or other data items), used to delimit a piece of data intended to be treated as a unit (the computer-science literature calls this a sentinel ). The NUL (ASCII 0000000) character that terminates strings in C is a fence. Hex FF is also (though slightly less frequently) used this way. See zigamorph.
2. An extra data value inserted in an array or other data structure in order to allow some normal test on the array's contents also to function as a termination test. For example, a highly optimised routine for finding a value in an array might artificially place a copy of the value to be searched for after the last slot of the array, thus allowing the main search loop to search for the value without having to check at each pass whether the end of the array had been reached.
3. [among users of optimising compilers] Any technique, usually exploiting knowledge about the compiler, that blocks certain optimisations. Used when explicit mechanisms are not available or are overkill. Typically a hack: I call a dummy procedure there to force a flush of the optimiser's register-colouring info can be expressed by the shorter That's a fence procedure .
[Jargon File]
(1999-01-08)

fencepost error
1. (Rarely lamp-post error ) A problem with the discrete equivalent of a boundary condition, often exhibited in programs by iterative loops. From the following problem: If you build a fence 100 feet long with posts 10 feet apart, how many posts do you need? (Either 9 or 11 is a better answer than the obvious 10).
For example, suppose you have a long list or array of items, and want to process items m through n; how many items are there? The obvious answer is n - m, but that is off by one; the right answer is n - m + 1. The obvious formula exhibits a fencepost error.
See also zeroth and note that not all off-by-one errors are fencepost errors. The game of Musical Chairs involves a catastrophic off-by-one error where N people try to sit in N - 1 chairs, but it's not a fencepost error. Fencepost errors come from counting things rather than the spaces between them, or vice versa, or by neglecting to consider whether one should count one or both ends of a row.
2. (Rare) An error induced by unexpected regularities in input values, which can (for instance) completely thwart a theoretically efficient binary tree or hash coding implementation. The error here involves the difference between expected and worst case behaviours of an algorithm.
[Jargon File]
(1994-12-01)

fepped out
jargon /fept owt/ The Symbolics 3600 LISP Machine has a Front-End Processor (FEP). When the main processor gets wedged, the FEP takes control of the keyboard and screen. Such a machine is said to have fepped out or dropped into the fep .
[Jargon File]
(1994-12-01)

FEPROM
Flash Erasable Programmable Read-Only Memory

Fermat prime
mathematics A prime number of the form 2^2^n + 1. Any prime number of the form 2^n+1 must be a Fermat prime. Fermat conjectured in a letter to someone or other that all numbers 2^2^n+1 are prime, having noticed that this is true for n=0,1,2,3,4.
Euler proved that 641 is a factor of 2^2^5+1. Of course nowadays we would just ask a computer, but at the time it was an impressive achievement (and his proof is very elegant).
No further Fermat primes are known; several have been factorised, and several more have been proved composite without finding explicit factorisations.
Gauss proved that a regular N-sided polygon can be constructed with ruler and compasses if and only if N is a power of 2 times a product of distinct Fermat primes.
(1995-04-10)

Ferranti F100-L
An 8-bit processor, with 16-bit addressing, but which could only access 32K of memory (1-bit for indirection). The Ferranti F100-L was designed by a British company for the British Military.
The unique feature of the F100-L was that it had a complete control bus available for a coprocessor. Any instruction the F100-L couldn't decode was sent directly to the coprocessor for processing. Applications for coprocessors at the time were limited, but the design is still used in modern processors, such as the National Semiconductor 320xx series.
(1994-11-17)

ferrite core memory
storage (Or core ) An early form of non-volatile storage built (by hand) from tiny rings of magnetisable material threaded onto very fine wire to form large (e.g. 13 x13 or more) rectangluar arrays. Each core stored one bit of data. These were sandwiched between printed circuit boards(?). Sets of wires ran horizontally and vertically and where a vertical and horizontal wire crossed, a core had both wires threaded through it.
A single core could be selected and magnetised by passing sufficient current through its horizontal and vertical wires. A core would retain its magnetisation until it was re-magnetised. The two possible polarities of magnetisation were used to represent the binary values zero and one.
A third sense wire, passed through the core and, if the magnetisation of the core was changed, a small pulse would be induced in the sense wire which could be detected and used to deduce the core's original state.
Some core memory was immersed in a bath of heated oil to improve its performance.
Core memory was rendered obsolete by semiconductor memory.
For example, the 1970s-era NCR 499 had two boards, each with 16 kilobytes of core memory.
(1996-03-04)

Ferroelectric RAM
Ferroelectric Random Access Memory

Ferroelectric Random Access Memory
storage (FRAM) A type of non-volatile read/write random access semiconductor memory. FRAM combines the advantages of SRAM - writing is roughly as fast as reading, and EPROM - non-volatility and in-circuit programmability. Current (Feb 1997) disadvantages are high cost and low density, but that may change in the future. Density is currently at most 32KB on a chip, compared with 512KB for SRAM, 1MB for EPROM and 8MB for DRAM.
A ferroelectric memory cell consists of a ferroelectric capacitor and a MOS transistor. Its construction is similar to the storage cell of a DRAM. The difference is in the dielectric properties of the material between the capacitor's electrodes. This material has a high dielectric constant and can be polarized by an electric field. The polarisation remains until it gets reversed by an opposite electrical field. This makes the memory non-volatile. Note that ferroelectric material, despite its name, does not necessarily contain iron. The most well-known ferroelectric substance is BaTiO3, which does not contain iron.
Data is read by applying an electric field to the capacitor. If this switches the cell into the opposite state (flipping over the electrical dipoles in the ferroelectric material) then more charge is moved than if the cell was not flipped. This can be detected and amplified by sense amplifiers. Reading destroys the contents of a cell which must therefore be written back after a read. This is similar to the precharge operation in DRAM, though it only needs to be done after a read rather than periodically as with DRAM refresh. In fact it is most like the operation of ferrite core memory.
FRAM has similar applications to EEPROM, but can be written much faster. The simplicity of the memory cell promises high density devices which can compete with DRAM.
RAMTRON is the company behind FRAM.
(1997-02-17)

Fetch
A Macintosh program by Jim Matthews Fetch@Dartmouth.edu for transferring files using File Transfer Protocol (FTP). Fetch requires a Mac 512KE, System 4.1, and either KSP 1.03 or MacTCP.
Current version: 2.1.2.
Fetch is Copyright 1992, Trustees of Dartmouth College.
(ftp://ftp.Dartmouth.edu/pub/mac/Fetch_2.1.2.sit.hqx). (ftp://src.doc.ic.ac.uk/computing/systems/mac/info-mac/comm/tcp).
(1994-11-30)

fetch-execute cycle
architecture, processor The sequence of actions that a central processing unit performs to execute each machine code instruction in a program.
At the beginning of each cycle the CPU presents the value of the program counter on the address bus. The CPU then fetches the instruction from main memory (possibly via a cache and/or a pipeline) via the data bus into the instruction register.
From the instruction register, the data forming the instruction is decoded and passed to the control unit which sends a sequence of control signals to the relevant function units of the CPU to perform the actions required by the instruction such as reading values from registers, passing them to the ALU to add them together and writing the result back to a register.
The program counter is then incremented to address the next instruction and the cycle is repeated.
The fetch-execute cycle was first proposed by John von Neumann.
(1998-06-25)

FF
form feed

ffccc
Floppy Fortran coding convention checker.

FFP
Formal FP. A language similar to FP, but with regular sugarless syntax, for machine execution.
See also FL.
[ Can Programming be Liberated From the von Neumann Style? A Functional Style and Its Algebra of Programs , John Backus, 1977 Turing Award Lecture, CACM 21(8):165-180 (Aug 1978)].
(1994-10-24)

FFT
Fast Fourier Transform

FGDC
Federal Geographic Data Committee

FGHC
Flat GHC. A flat variant of GHC in which guard calls can be only to primitives.
See also KL1.
(1994-10-24)

FGL
1. Flow Graph Lisp. A distributed dataflow language for AMPS (Applicative Multi-Processing System). A Loosely-Coupled Applicative Multi-Processing System , R. Keller et al, NCC, AFIPS June 1979, pp.613- 622.
2. Function Graph Language. Related to FEL.

FGL+LV
[ Functional Programming and the Logical Variable , G. Lindstrom, POPL 1985, pp. 266-280].
(1994-11-30)

FGRAAL
Fortran extended GRAph Algorithmic Language. A Fortran extension for handling sets and graphs. On a Programming Language for Graph Algorithms , W.C. Rheinboldt et al, BIT 12(2) 1972.

fgrep
tool A variant of the Unix grep command which searches for fixed (uninterpreted) strings rather than regular expressions. Surprisingly, this is not always faster.
(1996-10-27)

FhG
Fraunhofer Gesellschaft

FHS
Filesystem Hierarchy Standard

fi
networking The country code for Finland.
(1999-01-27)

Fiber Distributed Data Interface
(FDDI) A 100 Mbit/s ANSI standard local area network architecture, defined in X3T9.5. The underlying medium is optical fibre (though it can be copper cable, in which case it may be called CDDI) and the topology is a dual-attached, counter-rotating token ring.
FDDI rings are normally constructed in the form of a dual ring of trees . A small number of devices, typically infrastructure devices such as routers and concentrators rather than host computers, are connected to both rings - these are referred to as dual-attached . Host computers are then connected as single-attached devices to the routers or concentrators. The dual ring in its most degenerate form is simply collapsed into a single device. In any case, the whole dual ring is typically contained within a computer room.
This network topology is required because the dual ring actually passes through each connected device and requires each such device to remain continuously operational (the standard actually allows for optical bypasses but these are considered to be unreliable and error-prone). Devices such as workstations and minicomputers that may not be under the control of the network managers are not suitable for connection to the dual ring.
As an alternative to a dual-attached connection, the same degree of resilience is available to a workstation through a dual-homed connection which is made simultaneously to two separate devices in the same FDDI ring. One of the connections becomes active while the other one is automatically blocked. If the first connection fails, the backup link takes over with no perceptible delay.
Usenet newsgroup: news:comp.dcom.lans.fddi.
(1994-12-13)

Fiber Optic InterRepeater Link
networking (FOIRL) An older standard of fiber optic guides used for carrying 10 MBps Ethernet. The maximum length of a segment is 1 km. A FOIRL multiport repeater and transceivers are necessary to carry the signal to multiple devices.
The more resent version of Ethernet over fiber optic cables is 10baseFL with a maximum segment length of 2 km.
(1998-06-28)

fiber optics
spelling US spelling of fibre optics . See optical fibre.
(1997-03-31)

Fibonacci series
mathematics The infinite sequence of numbers beginning
1, 1, 2, 3, 5, 8, 13, ...
in which each term is the sum of the two terms preceding it.
The ratio of successive Fibonacci terms tends to the golden ratio, namely (1 + sqrt 5)/2.
(1997-07-14)

Fibre Channel
communications An ANSI standard.
WebStart C C (http://www.cmpcmm.com/cc/standards.html#FCS).
Amdahl Introduction (http://www.amdahl.com/ext/CARP/FCA/FCintro.html).
[Summary?]
(1996-10-30)

Fibre Channel-Arbitrated Loop
hardware, standard (FC-AL) A fast serial bus interface standard intended to replace SCSI on high-end servers.
FC-AL has a number of advantages over SCSI. It offers higher speed: the base speed is 100 megabytes per second, with 200, 400, and 800 planned. Many devices are dual ported, i.e., can be accessed through two independent ports, which doubles speed and increases fault tolerance. Cables can be as long as 30 m (coaxial) or 10 km (optical). FC-AL enables self-configuring and hot swapping and the maximum number of devices on a single port is 126. Finally, it provides software compatibility with SCSI.
Despite all these features FC-AL is unlikely to appear on desktops anytime soon, partly because its price, partly because typical desktop computers would not take advantage of many of the advanced features. On these systems FireWire has more potential.
[Current status? Reference?]
(1999-09-12)

fibre optics
optical fibre

FIDIL
Based on maps , generalised arrays whose index sets ( domains ) are arbitrary D-dimensional sets. Domains are first-class objects and may be constructed by union, intersection, etc.
[ Fidil: A Language for Scientific Programming , P.N. Hilfinger et al, TR UCRL-98057, LLNL Jan 1988].

FIDO
FInite DOmains. A constraint language implemented on top of Prolog.
(ftp://ftp.uni-kl.de/pub1/Unix/languages/fido/)

FidoNet
A worldwide hobbyist network of personal computers which exchanges e-mail, discussion groups, and files. Founded in 1984 and originally consisting only of IBM PCs and compatibles, FidoNet now includes such diverse machines as Apple IIs, Ataris, Amigas, and Unix systems. Though it is much younger than Usenet, FidoNet is already (in early 1991) a significant fraction of Usenet's size at some 8000 systems.
[Jargon File]

field
data, database An area of a database record, or graphical user interface form, into which a particular item of data is entered.
Example usage: The telephone number field is not really a numerical field , Why do we need a four-digit field for the year? .
A database column is the set of all instances of a given field from all records in a table.
(1999-04-26)

field circus
A derogatory pun on field service . The field service organisation of any hardware manufacturer, but especially DEC. There is an entire genre of jokes about DEC field circus engineers:
Q: How can you recognise a DEC field circus engineer with a flat tire?
A: He's changing one tire at a time to see which one is flat.
Q: How can you recognise a DEC field circus engineer who is out of gas?
A: He's changing one tire at a time to see which one is flat.
See Easter egging for additional insight on these jokes.
There is also the Field Circus Cheer (from the plan file for DEC on MIT-AI):
Maynard! Maynard!
Don't mess with us!
We're mean and we're tough!
If you get us confused
We'll screw up your stuff.
(DEC's service HQ is located in Maynard, Massachusetts).
[Jargon File]
(1994-12-01)

field effect transistor
electronics (FET) A transistor with a region of donor material with two terminals called the source and the drain , and an adjoining region of acceptor material between, called the gate . The voltage between the gate and the substrate controls the current flow between source and drain by depleting the donor region of its charge carriers to greater or lesser extent.
There are two kinds of FET's, Junction FETs and MOSFETs.
Because no current (except a minute leakage current) flows through the gate, FETs can be used to make circuits with very low power consumption.
Contrast bipolar transistor.
(1995-10-05)

field mouse
wireless mouse

field-programmable gate array
hardware (FPGA) A gate array where the logic network can be programmed into the device after its manufacture. An FPGA consists of an array of logic elements, either gates or lookup table RAMs, flip-flops and programmable interconnect wiring.
Most FPGAs are reprogrammable, since their logic functions and interconnect are defined by RAM cells. The Xilinx LCA, Altera FLEX and AT T ORCA devices are examples. Others can only be programmed once, by closing antifuses . These retain their programming permanently. The Actel FPGAs are the leading example of such devices. Atmel FPGAs are currently (July 1997) the only ones in which part of the array can be reprogrammed while other parts are active.
As of 1994, FPGAs have logic capacity up to 10K to 20K 2-input-NAND-equivalent gates, up to about 200 I/O pins and can run at clock rates of 50 MHz or more. FPGA designs must be prepared using CAD software tools, usually provided by the chip vendor, to do technology mapping, partitioning and placement, routing, and binary output. The resulting binary can be programmed into a ROM connected to the FPGA or downloaded to the FPGA from a connected computer.
In addition to ordinary logic applications, FPGAs have enabled the development of logic emulators. There is also research on using FPGAs as computing devices, taking direct advantage of their reconfigurability into problem-specific hardware processors.
Usenet newsgroup: news:comp.arch.fpga.
(1997-07-11)

field servoid
[Play on android ] /fee'ld ser'voyd/ Representative of a field service organisation (see field circus). This has many of the implications of droid.
[Jargon File]

FIFO
first-in first-out

Fifth
An enhanced version of FORTH. M.S. Dissertation, Cliff Click cliff@cs.rice.edu , Texas A M, 1985. Available from the Software Construction Co, (409)696-5432.

Fifth Dimension Technologies
company, virtual reality (5DT) Manufacturers of the 5th Glove.
(1995-04-04)

fifth generation language
language, artificial intelligence A myth the Japanese spent a lot of money on. In about 1982, MITI decided it would spend ten years and a lot of money applying artificial intelligence to programming, thus solving the software crisis. The project spent its money and its ten years and in 1992 closed down with a wimper.
(1996-11-06)

fifth normal form
database normalisation

Fight-o-net
messaging A distortion of FidoNet, often applied after a flurry of flamage in a particular echo, especially the SYSOP echo or Fidonews (see 'Snooze).
[Jargon File]
(1996-11-04)

file
file system An element of data storage in a file system.
The history of computing is rich in varied kinds of files and file systems, whether ornate (e.g., Macintosh file system for a well-known case) or deficient (e.g., many simple pre-1980s file systems don't allow directories).
However, the prototypical file has these characteristics:
* It is a single sequence of bytes (but consider Macintosh resource forks).
* It has a finite length, unlike, e.g. a Unix device.
* It is stored in a non-volatile storage medium (but see ramdrive).
* It exists (nominally) in a directory.
* It has a name that it can be referred to by in file operations, possibly in combination with its path.
Additionally, a file system may associate other information with a file, such as permission bits or other file attributes; timestamps for file creation, last revision, and last access; revision numbers (a` la VMS), and other kinds of magic.
(1997-04-08)

File Allocation Table
file system (FAT) The component of an MS-DOS or Windows 95 file system which describes the files, directories, and free space on a hard disk or floppy disk.
A disk is divided into partitions. Under the FAT file system each partition is divided into clusters, each of which can be one or more sectors, depending on the size of the partition. Each cluster is either allocated to a file or directory or it is free (unused). A directory lists the name, size, modification time and starting cluster of each file or subdirectory it contains.
At the start of the partition is a table (the FAT) with one entry for each cluster. Each entry gives the number of the next cluster in the same file or a special value for not allocated or a special value for this is the last cluster in the chain . The first few clusters after the FAT contain the root directory.
The FAT file system was originally created for the CP/M[?] operating system where files were catalogued using 8-bit addressing. MS DOS's FAT allows only 8.3 filenames.
With the introduction of MS-DOS 4 an incompatible 16-bit FAT (FAT16) with 32-kilobyte clusters was introduced that allowed partitions of up to 2 gigabytes.
Microsoft later created FAT32 to support partitions larger than two gigabytes and pathnames greater that 256 characters. It also allows more efficient use of disk space since clusters are four kilobytes rather than 32 kilobytes. FAT32 was first available in OEM Service Release 2 of Windows 95 in 1996. It is not fully backward compatible with the 16-bit and 8-bit FATs.
IDG article (http://www.idg.net/idgframes/english/content.cgi?vc=docid_9-62525.html). (http://home.c2i.net/tkjoerne/os/fat.htm). (http://www.teleport.com/~brainy/). (http://209.67.75.168/hardware/fatgen.htm). (http://support.microsoft.com/support/kb/articles/q154/9/97.asp).
Compare: NTFS.
[How big is a FAT? Is the term used outside MS DOS? How long is a FAT16 filename?]
(2000-02-05)

File Attach
[FidoNet] 1. A file sent along with a mail message from one BBS to another.
2. Sending someone a file by using the File Attach option in a BBS mailer.
[Jargon File]

File Composition
A typesetting language.
[ File Composition System Reference Manual , No. 90388, Information Intl].

file compression
algorithm The compression of data in a file, usually to reduce storage requirements.
(1995-04-06)

file control block
operating system (FCB) An MS-DOS data structure that stores information about an open file. The number of FCBs is configured in CONFIG.SYS with a command
FCBS=x,y
where x (between 1 and 255 inclusive, default 4) specifies the number of file control blocks to allocate and therefore the number of files that MS-DOS can have open at one time. y (not needed from DOS 5.0 onwards) specifies the number of files to be closed automatically if all x are in use.
(1995-03-21)

file descriptor
programming, operating system An integer that identifies an open file within a process. This number is obtained as a result of opening a file. Operations which read, write, or close a file would take the file descriptor as an input parameter.
In many operating system implementations, file descriptors are small integers which index a table of open files. In Unix, file descriptors 0, 1 and 2 correspond to the standard input, standard output and standard error files respectively.
See file descriptor leak.
(1998-02-06)

file descriptor leak
programming (Or fd leak /F D leek/) A kind of programming bug analogous to a core leak, in which a program fails to close file descriptors ( fd s) after file operations are completed, and thus eventually runs out of them.
See leak.
(1994-11-30)

file extension
filename extension

FileMaker
software A database application developed by Claris. It is currently the leading database application for the Macintosh and is the second most popular standalone package for Windows.
(1998-02-18)

FileMaker, Inc.
company The company that distributes the FileMaker database. FileMaker, Inc. was previously known as Claris and was renamed after a restructuring in January 1998.
Home (http://www.filemaker.com/).
(1998-02-18)

filename extension
filename extension The portion of a filename, following the final point, which indicates the kind of data stored in the file.
Many operating systems use filename extensions, e.g. Unix, VMS, MS-DOS, Microsoft Windows. They are usually from one to three letters (some sad old OSes support no more than three). Examples include c for C source code, ps for PostScript, txt for arbitrary text.
NEXTSTEP and its descendants also use extensions on directories for a similar purpose.
Apart from informing the user what type of content the file holds, filename extensions are typically used to decide which program to launch when a file is run , e.g. by double-clicking it in a GUI file browser. They are also used by Unix's make to determine how to build one kind of file from another.
Compare: MIME type.
Tony Warr's comprehensive list (http://camalott.com/~rebma/filex.html).
FAQS.org Graphics formats (http://www.faqs.org/faqs/graphics/fileformats-faq/).
(2002-04-19)

FileNet
storage A system for storage of images on laser disk using COLD.
(1995-11-09)

File Request
1. The FidoNet equivalent of FTP, in which one BBS system automatically dials another and snarfs one or more files. Often abbreviated FReq ; files are often announced as being available for FReq in the same way that files are announced as being available for/by anonymous FTP on the Internet.
2. The act of getting a copy of a file by using the File Request option of the BBS mailer.
[Jargon File]
(1995-01-05)

File Separator
character (FS) ASCII character 28.
(1996-06-28)

file server
Hardware and software that together provide file-handling and storage functions for multiple users on a local area network. The most common choices for file server software are Sun Microsystems' Network File System for Unix and Novell Netware for IBM PC compatibles. There is also a version of NFS for PCs called PC-NFS. Storing files on a file server saves having multiple copies stored on individual computers, thus economising on disk space and also makes administrating and updating the files easier.

File Service Protocol
protocol (FSP) A protocol, similar to FTP, for copying files between computers. It's designed for anonymous archives, and has protection against server and network overloading. It doesn't use connections so it can survive interruptions in service.
Until 1993-08-12, FSP didn't stand for anything. Wen-King was responsible for the initials and Michael Grubb mg@ac.duke.edu for their eventual expansion. Other suggestions were File Slurping Protocol , Flaky Stream Protocol and FTP's Sexier Partner .
FAQ (ftp://ftp.germany.eu.net/pub/networking/inet/fsp/fsp-faq/).
[fsp-faq, 1993-08-12].
(1997-12-07)

file signature
A magic number.
[Jargon File]

file system
operating system (FS, or filesystem ) 1. A system for organizing directories and files, generally in terms of how it is implemented in the disk operating system. E.g., The Macintosh file system is just dandy as long as you don't have to interface it with any other file systems .
2. The collection of files and directories stored on a given drive (floppy drive, hard drive, disk partition, logical drive, RAM drive, etc.). E.g., mount attaches a named file system to the file system hierarchy at the pathname location directory [...] -- Unix manual page for mount(8) .
As an extension of this sense, file system is sometimes used to refer to the representatation of the file system's organisation (e.g. its file allocation table) as opposed the actual content of the files in the file system.
Unix manual page: fs(5), mount(8).
(1997-04-10)

Filesystem Hierarchy Standard
storage, standard (FHS) A standard designed to be used by Unix distribution developers, package developers, and system implementors.
FHS consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.
The guidelines are intended to support interoperability of applications, system administration tools, development tools, and scripts. These systems should also be supported with greater documentation uniformity.
The standard is primarily intended to be a reference and is not a tutorial on how to manage a Unix filesystem or directory hierarchy.
Home (http://www.pathname.com/fhs/).
RedHat deviation (http://www.redhat.com/corp/support/manuals/RHL-6.0-Manual/install-guide/manual/doc084.html).
(2001-05-24)

file transfer
networking Copying a file from one computer to another over a computer network.
See also File Transfer Protocol, Kermit, Network File System, rcp, uucp, XMODEM, ZMODEM.
(1997-04-10)

File Transfer Protocol
(FTP) A client-server protocol which allows a user on one computer to transfer files to and from another computer over a TCP/IP network. Also the client program the user executes to transfer files. It is defined in STD 9, RFC 959.
See also anonymous FTP, FSP, TFTP.
Unix manual page: ftp(1).
(1994-12-01)

file type
file format The kind of data stored in a file. Most modern operating systems use the filename extension to determine the file type though some store this information elsewhere in the file system. The file type is used to choose an appropriate icon to represent the file in a GUI and the correct application with which to view, edit, run, or print the file.
Different operating systems support different sets of file types though most agree on a large common set and allow arbitrary new types to be defined.
See also MIME.
[URL of list of file types?]
(1997-02-13)

filing system
file system

filk
/filk/ [SF fandom, where a typo for folk was adopted as a new word] A popular or folk song with lyrics revised or completely new lyrics, intended for humorous effect when read, and/or to be sung late at night at SF conventions. There is a flourishing subgenre of these called computer filks , written by hackers and often containing rather sophisticated technical humour. See double bucky for an example. Compare grilf, hing and newsfroup.
[Jargon File]

fill-out form
programming A type of user interface used, for example, on the World-Wide Web, to organise a set of questions or options for the user so that it resembles a traditional paper form that is filled out. Typical query types are: fill-in-the-blank (text), menu of options, select zero or more, or select exactly one ( radio buttons ).
Most World-Wide Web browsers support fill-out forms. Overview (http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html).
(1998-03-24)

film at 11
jargon (MIT, in parody of US TV newscasters) 1. Used in conversation to announce ordinary events, with a sarcastic implication that these events are earth-shattering. ITS crashes; film at 11. Bug found in scheduler; film at 11.
2. Also widely used outside MIT to indicate that additional information will be available at some future time, *without* the implication of anything particularly ordinary about the referenced event. For example, The mail file server died this morning; we found garbage all over the root directory. Film at 11. would indicate that a major failure had occurred but that the people working on it have no additional information about it as yet; use of the phrase in this way suggests gently that the problem is liable to be fixed more quickly if the people doing the fixing can spend time doing the fixing rather than responding to questions, the answers to which will appear on the normal 11:00 news , if people will just be patient.
[Jargon File]
(1998-03-24)

FILO
stack

Filtabyte
networking, hardware An Ethernet controller card made by LRT based on the LANCE and SIA. It uses DMA. Its Ethernet address can be changed by software.
(1994-12-01)

filter
1. (Originally Unix, now also MS-DOS) A program that processes an input data stream into an output data stream in some well-defined way, and does no I/O to anywhere else except possibly on error conditions; one designed to be used as a stage in a pipeline (see plumbing). Compare sponge.
2. (functional programming) A higher-order function which takes a predicate and a list and returns those elements of the list for which the predicate is true. In Haskell:
filter p [] = [] filter p (x:xs) = if p x then x : rest else rest
where
rest = filter p xs
See also filter promotion.
[Jargon File]

filter promotion
In a generate and test algorithm, combining part of the filter with the generator in order to reduce the number of potential solutions generated. A trivial example:
filter ( 100) [1..1000] == [1..99]
where [1..n] generates the list of integers from 1 to n. Here the filter has been combined completely with the generator. This is an example of fusion.

FIMS
Form Interface Management System.

Finagle's Law
humour The generalised or folk version of Murphy's Law, fully named Finagle's Law of Dynamic Negatives and usually rendered Anything that can go wrong, will . One variant favoured among hackers is The perversity of the Universe tends towards a maximum .
The label Finagle's Law was popularised by SF author Larry Niven in several stories depicting a frontier culture of asteroid miners; this Belter culture professed a religion and/or running joke involving the worship of the dread god Finagle and his mad prophet Murphy.
[Jargon File]
(1995-12-14)

Financial Information eXchange
business, protocol (FIX) A standard messaging protocol for the real-time electronic exchange of securities transactions.
[Reference?]
(2001-05-14)

fine adjuster
jargon, tool, humour A tool used for percussive maintenance, also known as a hammer .
(1999-01-15)

fine grain
granularity

finger
tool 1. (From WAITS, via BSD Unix) A program that displays information about a particular user or all users logged on the system, or a remote system. Finger typically shows full name, last login time, idle time, terminal line, and terminal location (where applicable). It may also display a plan file left by the user (see also Hacking X for Y). Some versions take a -l (long) argument which yeilds more information.
2. Any picture (composed of ASCII art) depicting the finger . Originally a humorous component of one's plan file to deter the curious fingerer, it has entered the arsenal of some flamers.
[Jargon File]
(1995-12-14)

finger-pointing syndrome
programming All-too-frequent result of bugs, especially in new or experimental configurations. The hardware vendor points a finger at the software. The software vendor points a finger at the hardware. All the poor users get is the finger.
[Jargon File]
(1995-12-14)

finite
compact

Finite Automata
Finite State Machine

Finite Automaton
Finite State Machine

finite differencing
strength reduction

Finite Impulse Response
electronics, DSP (FIR) A type of digital signal filter, in which every sample of output is the weighted sum of past and current samples of input, using only some finite number of past samples.
(2001-06-06)

Finite State Automata
Finite State Machine

Finite State Automaton
Finite State Machine

Finite State Machine
mathematics, algorithm, theory (FSM or Finite State Automaton , transducer ) An abstract machine consisting of a set of states (including the initial state), a set of input events, a set of output events, and a state transition function. The function takes the current state and an input event and returns the new set of output events and the next state. Some states may be designated as terminal states . The state machine can also be viewed as a function which maps an ordered sequence of input events into a corresponding sequence of (sets of) output events.
A deterministic FSM (DFA) is one where the next state is uniquely determinied by a single input event. The next state of a nondeterministic FSM (NFA) depends not only on the current input event, but also on an arbitrary number of subsequent input events. Until these subsequent events occur it is not possible to determine which state the machine is in.
It is possible to automatically translate any nondeterministic FSM into a deterministic one which will produce the same output given the same input. Each state in the DFA represents the set of states the NFA might be in at a given time.
In a probabilistic FSM [proper name?], there is a predetermined probability of each next state given the current state and input (compare Markov chain).
The terms acceptor and transducer are used particularly in language theory where automata are often considered as abstract machines capable of recognising a language (certain sequences of input events). An acceptor has a single Boolean output and accepts or rejects the input sequence by outputting true or false respectively, whereas a transducer translates the input into a sequence of output events.
FSMs are used in computability theory and in some practical applications such as regular expressions and digital logic design.
See also state transition diagram, Turing Machine.
[J.H. Conway, regular algebra and finite machines , 1971, Eds Chapman Hall].
[S.C. Kleene, Representation of events in nerve nets and finite automata , 1956, Automata Studies. Princeton].
[Hopcroft Ullman, 1979, Introduction to automata theory, languages and computations , Addison-Wesley].
[M. Crochemore tranducters and repetitions , Theoritical. Comp. Sc. 46, 1986].
(2001-09-22)

finn
jargon, chat To pull rank on somebody based on the amount of time one has spent on IRC. The term derives from the fact that IRC was originally written in Finland in 1987.
[Jargon File]
(2000-08-05)

FIPS
Federal Information Processing Standards

FIR
1. electronics Finite Impulse Response (filter).
2. standard Fast Infrared. Infrared standard from IrDA, part of IrDA Data. FIR supports synchronous communications at 4 Mbps (and 1.115 Mbps?), at a distance of up to 1 metre.
(1999-10-14)

firebottle
electron tube

firefighting
1. What sysadmins have to do to correct sudden operational problems. An opposite of hacking. Been hacking your new newsreader? No, a power glitch hosed the network and I spent the whole afternoon fighting fires.
2. The act of throwing lots of manpower and late nights at a project, especially to get it out before deadline. See also gang bang, Mongolian Hordes technique; however, the term firefighting connotes that the effort is going into chasing bugs rather than adding features.
(1994-12-01)

firehose syndrome
In mainstream folklore it is observed that trying to drink from a firehose can be a good way to rip your lips off. On computer networks, the absence or failure of flow control mechanisms can lead to situations in which the sending system sprays a massive flood of packets at an unfortunate receiving system, more than it can handle.
Compare overrun, buffer overflow.
[Jargon File]

firewall
1. firewall code.
2. firewall machine.

firewall code
1. The code you put in a system (say, a telephone switch) to make sure that the users can't do any damage. Since users always want to be able to do everything but never want to suffer for any mistakes, the construction of a firewall is a question not only of defensive coding but also of interface presentation, so that users don't even get curious about those corners of a system where they can burn themselves.
2. Any sanity check inserted to catch a can't happen error. Wise programmers often change code to fix a bug twice: once to fix the bug, and once to insert a firewall which would have arrested the bug before it did quite as much damage.
[Jargon File]

firewall machine
networking A dedicated gateway machine with special security precautions on it, used to service outside network, especially Internet, connections and dial-in lines. The idea is to protect a cluster of more loosely administered machines hidden behind it from crackers. The typical firewall is an inexpensive microprocessor-based Unix machine with no critical data, with modems and public network ports on it, but just one carefully watched connection back to the rest of the cluster. The special precautions may include threat monitoring, call-back, and even a complete iron box keyable to particular incoming IDs or activity patterns.
Firewalls often run proxy gateways.
Synonym flytrap, Venus flytrap.
(1997-06-08)

FireWire
High Performance Serial Bus

fireworks mode
The mode a machine is sometimes said to be in when it is performing a crash and burn operation.
[Jargon File]

Firmware
Software stored in read-only memory (ROM) or programmable ROM (PROM). Easier to change than hardware but harder than software stored on disk. Firmware is often responsible for the behaviour of a system when it is first switched on. A typical example would be a monitor program in a microcomputer which loads the full operating system from disk or from a network and then passes control to it.

firmy
stiffy

first class module
programming A module that is a first class data object of the programming language, e.g. a record containing functions. In a functional language, it is standard to have first class programs, so program building blocks can have the same status.
Claus Reinke's Virtual Bookshelf (http://www.informatik.uni-kiel.de/~cr/bib/bookshelf/Modules.html). Mark Jones' home page (http://www.cs.nott.ac.uk/Department/Staff/mpj/).
(1997-06-17)

First Fit
algorithm A resource allocation scheme (usually for memory). First Fit fits data into memory by scanning from the beginning of available memory to the end, until the first free space which is at least big enough to accept the data is found. This space is then allocated to the data. Any left over becomes a smaller, separate free space.
If the data to be allocated is bigger than the biggest free space, the request cannot be met, and an error is generated.
Compare Best Fit.
(1997-06-02)

first generation computer
architecture A prototype computer based on vacuum tubes and other esoteric technologies. Chronologically, any computer designed before the mid-1950s. Examples include Howard Aiken's Mark 1 (1944), Maunchly and Eckert's ENIAC (1946), and the IAS computer.
(1996-11-22)

first generation language
Raw machine code. When computers were first programmed from an input device, rather than by being rewired, they were fed input in the form of numbers, which they then interpreted as commands. This was really low level, and a program fragment might look like 010307 010307 . Almost no one programs in machine language anymore, because translators are nearly trivial to write.
(1994-12-01)

first-in first-out
algorithm (FIFO, or queue ) A data structure or hardware buffer from which items are taken out in the same order they were put in. Also known as a shelf from the analogy with pushing items onto one end of a shelf so that they fall off the other. A FIFO is useful for buffering a stream of data between a sender and receiver which are not synchronised - i.e. not sending and receiving at exactly the same rate. Obviously if the rates differ by too much in one direction for too long then the FIFO will become either full (blocking the sender) or empty (blocking the receiver). A Unix pipe is a common example of a FIFO.
A FIFO might be (but isn't ever?) called a LILO - last-in last-out. The opposite of a FIFO is a LIFO (last-in first-out) or stack .
(1999-12-06)

first normal form
database normalisation

first-order
Not higher-order.
(1995-03-06)

first-order logic
language, logic The language describing the truth of mathematical formulas. Formulas describe properties of terms and have a truth value. The following are atomic formulas:
True
False
p(t1,..tn)where t1,..,tn are terms and p is a predicate.
If F1, F2 and F3 are formulas and v is a variable then the following are compound formulas:
F1 ^ F2conjunction - true if both F1 and F2 are true,
F1 V F2disjunction - true if either or both are true,
F1 = F2implication - true if F1 is false or F2 is true, F1 is the antecedent, F2 is the consequent (sometimes written with a thin arrow),
F1 = F2true if F1 is true or F2 is false,
F1 == F2true if F1 and F2 are both true or both false (normally written with a three line equivalence symbol)
~F1negation - true if f1 is false (normally written as a dash '-' with a shorter vertical line hanging from its right hand end).
For all v . Funiversal quantification - true if F is true for all values of v (normally written with an inverted A).
Exists v . Fexistential quantification - true if there exists some value of v for which F is true. (Normally written with a reversed E).
The operators ^ V = = == ~ are called connectives. For all and Exists are quantifiers whose scope is F. A term is a mathematical expression involving numbers, operators, functions and variables.
The order of a logic specifies what entities For all and Exists may quantify over. First-order logic can only quantify over sets of atomic propositions. (E.g. For all p . p = p). Second-order logic can quantify over functions on propositions, and higher-order logic can quantify over any type of entity. The sets over which quantifiers operate are usually implicit but can be deduced from well-formedness constraints.
In first-order logic quantifiers always range over ALL the elements of the domain of discourse. By contrast, second-order logic allows one to quantify over subsets of M.
[ The Realm of First-Order Logic , Jon Barwise, Handbook of Mathematical Logic (Barwise, ed., North Holland, NYC, 1977)].
(1995-05-02)

First Party DMA
bus mastering

fish
(Adelaide University, Australia) 1. Another metasyntactic variable. See foo. Derived originally from the Monty Python skit in the middle of The Meaning of Life entitled Find the Fish .
2. storage microfiche. A microfiche file cabinet may be referred to as a fish tank .
[Jargon File]
(1994-12-01)

FISH queue
humour (By analogy with FIFO - first-in, first-out) first in, still here.
A joking way of pointing out that processing of a particular sequence of events or requests has stopped dead. Also FISH mode and FISHnet ; the latter may be applied to any network that is running really slowly or exhibiting extreme flakiness.
[Jargon File]
(1994-12-01)

FITNR
(Thinking Machines, Inc.) Fixed In the Next Release.
A written-only notation attached to bug reports. Often wishful thinking.
[Jargon File]
(1994-12-01)

FITS
Flexible Image Transport System. The standard data interchange and archive format of the astronomy community.
(1994-12-01)

FIX
1. networking Federal Information Exchange.
2. business, protocol Financial Information eXchange.
(2001-05-14)

fix
1. mathematics The fixed point combinator. Called Y in combinatory logic. Fix is a higher-order function which returns a fixed point of its argument (which is a function).
fix :: (a - a) - a fix f = f (fix f)
Which satisfies the equation
fix f = x such that f x = x.
Somewhat surprisingly, fix can be defined as the non-recursive lambda abstraction:
fix = h . ( x . h (x x)) ( x . h (x x))
Since this involves self-application, it has an infinite type. A function defined by
f x1 .. xN = E
can be expressed as
f = fix ( f . x1 ... xN . E)
= ( f . x1 ... xN . E) (fix ( f . x1 ... xN . E))
= let f = (fix ( f . x1 ... xN . E))
in x1 ... xN . E
If f does not occur free in E (i.e. it is not recursive) then this reduces to simply
f = x1 ... xN . E
In the case where N = 0 and f is free in E, this defines an infinite data object, e.g.
ones = fix ( ones . 1 : ones)
= ( ones . 1 : ones) (fix ( ones . 1 : ones))
= 1 : (fix ( ones . 1 : ones))
= 1 : 1 : ...
Fix f is also sometimes written as mu f where mu is the Greek letter or alternatively, if f = x . E, written as mu x . E.
Compare quine.
[Jargon File]
(1995-04-13)
2. bug fix.
(1998-06-25)

fixed disk
storage A hard disk which is not a removable disk.

fixed point
mathematics The fixed point of a function, f is any value, x for which f x = x. A function may have any number of fixed points from none (e.g. f x = x+1) to infinitely many (e.g. f x = x). The fixed point combinator, written as either fix or Y will return the fixed point of a function.
See also least fixed point.
(1995-04-13)

fixed-point
programming A number representation scheme where a number R is represented by an integer N such that R=N*B, where B is the (assumed) base of the representation.
On computers with no floating-point unit fixed-point calculations can be significantly faster as all the operations are basically integer operations. Apart from that, fixed-point representation has the advantage of having uniform density, i.e., the smallest resolvable difference of the representation is B throughout the representable range, in sharp contrast to floating-point representations.
(1998-05-18)

fixed point combinator
mathematics (Y) The name used in combinatory logic for the fixed point function, also written as fix .
(1994-10-20)

fixed-width
record

FIXME
programming A standard tag often put in comments near a piece of code that needs work. The point of doing so is that a grep or a similar pattern-matching tool can find all such places quickly. This is common in GNU code. Compare XXX.
[Jargon File]
(2001-03-16)

fixpoint
fixed point

fj
networking The country code for Fiji.
(1999-01-27)

Fjolnir
language An Icelandic programming language for the IBM PC from the University of Iceland.
[Pall Haraldsson pallha@rhi.hi.is ].
(1995-03-17)

fk
networking The country code for the Falkland Islands (Malvinas).
(1999-01-27)

FL
language Function Level.
John Backus's successor to FP, developed ca. 1985. FL is dynamically typed and adds higher-order functions, exceptions, user-defined types and other features.
[ FL Language Manual, Parts 1 2 , J. Backus et al, IBM Research Report RJ 7100 (1989)].
(1994-10-20)

F+L
language Functions plus Logic. Equational clauses within function definitions to solve for logic variable bindings.
[ Functions plus Logic in Theory and Practice , R.B. Kieburtz, Feb 1987, unpublished].
(1994-10-20)

flag
1. programming A variable or quantity that can take on one of two values; a bit, particularly one that is used to indicate one of two outcomes or is used to control which of two things is to be done. This flag controls whether to clear the screen before printing the message. The program status word contains several flag bits. See also hidden flag, mode bit.
2. command line option.
[Jargon File]
(1998-05-02)

flag day
jargon A software change that is neither forward- nor backward-compatible, and which is costly to make and costly to reverse. E.g. Can we install that without causing a flag day for all users?
This term has nothing to do with the use of the word flag to mean a variable that has two values. It came into use when a massive change was made to the Multics time-sharing system to convert from the old ASCII code to the new one; this was scheduled for Flag Day (a US holiday), June 14, 1966.
See also backward combatability, lock-in.
[Jargon File]
(1998-01-15)

FLAIR
language An early system on the IBM 650.
[Listed in CACM 2(5):16 (May 1959)].
(1995-03-17)

flaky
(Or flakey ) Subject to frequent lossage. This use is of course related to the common slang use of the word to describe a person as eccentric, crazy, or just unreliable. A system that is flaky is working, sort of - enough that you are tempted to try to use it - but fails frequently enough that the odds in favour of finishing what you start are low. Commonwealth hackish prefers dodgy.
[Jargon File]
(1996-01-05)

flamage
flame

flame
messaging To rant, to speak or write incessantly and/or rabidly on some relatively uninteresting subject or with a patently ridiculous attitude or with hostility towards a particular person or group of people. Flame is used as a verb ( Don't flame me for this, but... ), a flame is a single flaming message, and flamage /flay'm*j/ the content.
Flamage may occur in any medium (e.g. spoken, electronic mail, Usenet news, World-Wide Web). Sometimes a flame will be delimited in text by marks such as flame on ... flame off .
The term was probably independently invented at several different places.
Mark L. Levinson says, When I joined the Harvard student radio station (WHRB) in 1966, the terms flame and flamer were already well established there to refer to impolite ranting and to those who performed it. Communication among the students who worked at the station was by means of what today you might call a paper-based Usenet group. Everyone wrote comments to one another in a large ledger. Documentary evidence for the early use of flame/flamer is probably still there for anyone fanatical enough to research it.
It is reported that flaming was in use to mean something like interminably drawn-out semi-serious discussions (late-night bull sessions) at Carleton College during 1968-1971.
Usenetter Marc Ramsey, who was at WPI from 1972 to 1976, says: I am 99% certain that the use of flame originated at WPI. Those who made a nuisance of themselves insisting that they needed to use a TTY for real work came to be known as flaming asshole lusers . Other particularly annoying people became flaming asshole ravers , which shortened to flaming ravers , and ultimately flamers . I remember someone picking up on the Human Torch pun, but I don't think flame on/off was ever much used at WPI. See also asbestos.
It is possible that the hackish sense of flame is much older than that. The poet Chaucer was also what passed for a wizard hacker in his time; he wrote a treatise on the astrolabe, the most advanced computing device of the day. In Chaucer's Troilus and Cressida , Cressida laments her inability to grasp the proof of a particular mathematical theorem; her uncle Pandarus then observes that it's called the fleminge of wrecches. This phrase seems to have been intended in context as that which puts the wretches to flight but was probably just as ambiguous in Middle English as the flaming of wretches would be today. One suspects that Chaucer would feel right at home on Usenet.
[Jargon File]
(2001-03-11)

flame bait
messaging A Usenet posting or other message intended to trigger a flame war, or one that invites flames in reply.
[Jargon File]
(1998-05-27)

flame off
flame on

flame on
messaging, jargon To begin or continue to flame. The punning reference to Marvel Comics's Human Torch is no longer widely recognised.
The phrase flame on may actually precede the flame, in which case flame off will follow it.
See rave, burble.
[Jargon File]
(1996-10-29)

flamer
jargon, person (Or pain in the net ) One who habitually flames. Said especially of obnoxious Usenet personalities.
[Jargon File]
(1996-08-26)

flame war
messaging, jargon An acrimonious dispute conducted on a public electronic forum such as Usenet. See flame.
[Jargon File]
(1998-05-27)

flaming
flame

FLAP
A symbolic mathematics package for IBM 360.
[ FLAP Programmer's Manual , A.H. Morris Jr., TR-2558 (1971) US Naval Weapons Lab].
[Sammet 1969, p. 506].
[Jargon File]
(1994-10-17)

flap
1. storage, jargon To unload a DECtape (so it goes flap, flap, flap). Old-time hackers at MIT tell of the days when the disk was device 0 and microtapes were 1, 2, etc. and attempting to flap device 0 would instead start a motor banging inside a cabinet near the disk.
The term is used, by extension, for unloading any magnetic tape. See also macrotape. Modern cartridge tapes no longer actually flap, but the usage has remained.
The term could well be re-applied to DEC's TK50 cartridge tape drive, a spectacularly misengineered contraption which makes a loud flapping sound, almost like an old reel-type lawnmower, in one of its many tape-eating failure modes.
2. networking See flapping router.
[Jargon File]
(1997-06-17)

flapping router
networking A router that transmits routing updates alternately advertising a destination network first via one route, then via a different route.
Flapping routers are identified on more advanced protocol analysers such as the Network General (TM) Sniffer.
(1999-08-24)

flarp
/flarp/ [Rutgers University] Yet another metasyntactic variable (see foo). Among those who use it, it is associated with a legend that any program not containing the word flarp somewhere will not work. The legend is discreetly silent on the reliability of programs which *do* contain the magic word.
[Jargon File]

Flash
file format, World-Wide Web (Or Shockwave Flash ) A file format for delivering interactive vector graphics and animation on the World-Wide Web, developed by Macromedia.
Home (http://www.macromedia.com/software/flash/).
(1998-07-07)

flash
1. chat A program which allows one to flood another Unix user's terminal with garbage, through exploiting a common security hole in the victim's host's talk daemon. Users with messages off (mesg n) and users on systems running fixed talk daemons, or not running talk daemons at all, are immune.
(1996-09-08)
2. See Flash Erasable Programmable Read-Only Memory.
(1997-02-02)

Flash EPROM
Flash Erasable Programmable Read-Only Memory

Flash Erasable Programmable Read-Only Memory
storage (FEPROM, flash memory ) A kind of non-volatile storage device similar to EEPROM, but where erasing can only be done in blocks or the entire chip.
In 1995 this relatively new technology started to replace EPROMs because reprogramming could be done with the chip installed. At that time FEPROMs could be rewritten about 1000 times.
Like EAPROM and ferro-magnetic material, FEPROMs rely on FN tunnelling. Some flash memory supports block erase.
(1995-04-22)

flash memory
Flash Erasable Programmable Read-Only Memory

Flash ROM
Flash Erasable Programmable Read-Only Memory

flat
1. Lacking any complex internal structure. That bitty box has only a flat file system, not a hierarchical one. The verb form is flatten. Usually used pejoratively (at least with respect to file systems).
2. Said of a memory architecture like that of the VAX or Motorola 680x0 that is one big linear address space (typically with each possible value of a processor register corresponding to a unique address). This is a Good Thing. The opposite is a segmented architecture like that of the Intel 80x86 in which addresses are composed from a base-register/offset pair. Segmented designs are generally considered cretinous.
3. A flat domain is one where all elements except bottom are incomparable (equally well defined). E.g. the integers.
[Jargon File]

flat address space
architecture The memory architecture in which any memory location can be selected from a single contiguous block by a single integer offset.
Almost all popular processors have a flat address space, but the Intel x86 family has a segmented address space. A flat address space greatly simplifies programming because of the simple correspondence between addresses (pointers) and integers.
(1996-09-10)

flat ASCII
text (Or plain ASCII ) Said of a text file that contains only 7-bit ASCII characters and uses only ASCII-standard control characters (that is, has no embedded codes specific to a particular text formatter markup language, or output device, and no meta-characters).
Compare flat file.
[Jargon File]
(1996-01-26)

flat file
operating system, storage A single file containing flat ASCII representing or encoding some structure, e.g. of a database, tree, or network. Flat files can be processed with general purpose tools (e.g. awk or Perl) and text editors but are often less efficient than some kind of binary file if they must be parsed repeatedly by a program. Flat files are more portable between different operating systems and application programs than binary files, and are more easily transmitted in electronic mail.
See also flatten, sharchive.
[Jargon File]
(1996-01-26)

flatten
To remove structural information, especially to filter something with an implicit tree structure into a simple sequence of leaves; also tends to imply mapping to flat ASCII. This code flattens an expression with parentheses into an equivalent canonical form.
[Jargon File]

flat thunk
programming A software mechanism that allows a Win32 application to load and call a 16-bit DLL, or a 16-bit application to load and call a Win32 DLL.
See also generic thunk, universal thunk.
(1999-04-05)

flavor
spelling US spelling of flavour .
[Jargon File]
(1997-03-18)

flavorful
flavour

Flavors
Lisp with object-oriented features by D. Weinreb and D.A. Moon moon@cambridge.apple.com , 1980.
[ Object-Oriented Programming with Flavors , D.A. Moon, SIGPLAN Notices 21(11):1-8 (OOPSLA '86) (Nov 1986)].
(1994-12-01)

flavour
jargon (US: flavor) 1. Variety, type, kind. DDT commands come in two flavors. These lights come in two flavors, big red ones and small green ones. See vanilla.
2. The attribute that causes something to be flavourful. Usually used in the phrase yields additional flavour . This convention yields additional flavor by allowing one to print text either right-side-up or upside-down. See vanilla.
This usage was certainly reinforced by the terminology of quantum chromodynamics, in which quarks (the constituents of, e.g. protons) come in six flavors (up, down, strange, charm, top, bottom) and three colours (red, blue, green), however, hackish use of flavor at MIT predated QCD.
3. The term for class (in the object-oriented sense) in the LISP Machine Flavors system. Though the Flavors design has been superseded (notably by the Common LISP CLOS facility), the term flavor is still used as a general synonym for class by some Lisp hackers.
(1994-11-01)

Fleng
A parallel logic language.
[ Massively Parallel Implementation of Flat GHC on the Connection Machine , M. Nilsson, Proc Intl Conf on 5th Gen Comp Sys, 1988, pp.1031-1040].

FLEX
language 1. Faster LEX. A reimplementation of the Lex scanner generator by Vern Paxson vern@ee.lbl.gov .
Flex++ produces C++ and aflex produces Ada.
FTP flex-2.3.8.tar.Z from a GNU archive site or (ftp://ftp.ee.lbl.gov/pub/flex-2.4.3.tar.Z).
[ The FLEX Scanner Generator , Vern Paxson vern@ee.lbl.gov , Systems Engineering, LBL, CA].
2. A real-time language for dynamic environments.
[ FLEX: Towards Flexible Real-Time Programs , K. Lin et al, Computer Langs 16(1):65-79, Jan 1991].
3. An early object-oriented language developed for the FLEX machine by Alan Kay in about 1967. The FLEX language was a simplification of Simula and a predecessor of Smalltalk.
(1995-03-29)

Flex
software, hardware A system developed by Ian Currie (Iain?) at the (then) Royal Signals and Radar Establishment at Malvern in the late 1970s. The hardware was custom and microprogrammable, with an operating system, (modular) compiler, editor, garbage collector and filing system all written in Algol-68. Flex was also re-implemented on the Perq(?).
[I. F. Currie and others, Flex Firmware , Technical Report, RSRE, Number 81009, 1981].
[I. F. Currie, In Praise of Procedures , RSRE, 1982].
(1997-11-17)

Flex++
GNU's Flex scanner generator retargeted to C++ by Alain Coetmeur coetmeur@icdc.fr . Version 3.0.
(ftp://iecc.com/pub/file/flex++.tar.gz). (ftp://iecc.com/pub/file/misc++.tar.gz). (ftp://ftp.th-darmstadt.de/pub/programming/languages/C++/tools/flex++-3.0.tar.gz).
(1993-07-08)

Flex 2
A preprocessor designed to make Fortran look more like Pascal. (About 1980). DECUS?

flib
/flib/ (WPI) A meta-number, said to be an integer between 3 and 4.
See grix, N.
(1995-01-31)

FLIC
Functional Language Intermediate Code.
An intermediate language used in the Chalmers LML compiler.
[ FLIC - A Functional Language Intermediate Code , S. Peyton Jones simonpj@dcs.gla.ac.uk et al, RR 148, U Warwick, Sep 1989].
(1995-01-31)

FLIP
1. An early assembly language on the G-15.
[Listed in CACM 2(5):16 (May 1959)].
2. [ FLIP User's Manual , G. Kahn, TR 5, INRIA 1981].
3. Formal LIst Processor.
An early language for pattern-matching on Lisp structures, similar to CONVERT.
[ FLIP, A Format List Processor , W. Teitelman, Memo MAC-M-263, MIT 1966].
(1995-01-31)

Flip Chip Pin Grid Array
hardware, processor (FC-PGA) The package of certain Intel Celeron and Pentium III processors. FC-PGA processors fit into Socket 370 motherboard sockets.
The Flip Chip Pin Grid Array is is similar to PPGA, except that the silicon core is facing up and the heat slug is exposed.
FC-PGA packaging is used by Pentium III processors, and Celeron 566 processors onwards. Earlier Celeron processors used PPGA packaging.
Celeron processors are also available in Slot 1 SEPP packaging and Pentium III processors in Slot 1 SECC2 packaging.
Adapters are available to allow a PPGA Celeron to plug into a Slot 1 connector.
(2000-08-26)

flip-flop
hardware A digital logic circuit that can be in one of two states which it switches (or toggles ) between under control of its inputs. It can thus be considered as a one bit memory. Three types of flip-flop are common: the SR flip-flop, the JK flip-flop and the D-type flip-flop (or latch).
Early literature refers to the Eccles-Jordan circuit and the Eccles-Jordan binary counter , using two vacuum tubes as the active (amplifying) elements for each bit of information storage. Later implementations using bipolar transistors could operate at up to 20 million state transitions per second as early as 1963.
(1995-11-11)

flippy
storage /flip'ee/ A single-sided floppy disk altered for double-sided use by addition of a second write-notch, so called because it must be flipped over for the second side (the flip side ) to be accessible. Used in the Commodore 1541 and elsewhere. No longer common.
[Jargon File]
(2000-03-07)

FLIP-SPUR
Early system on IBM 1103 or 1103A. Listed in CACM 2(5):16 (May 1959).

floating-point
programming A number representation consisting of a mantissa, M, an exponent, E, and an (assumed) radix (or base ) . The number represented is M*R^E where R is the radix - usually ten but sometimes 2.
Many different representations are used for the mantissa and exponent themselves. The IEEE specify a standard representation which is used by many hardware floating-point systems.
See also floating-point accelerator, floating-point unit.
Normalisation is the process of converting a floating point number into canonical form where any number other than zero has a mantissa whose first digit is non-zero.
Opposite: fixed-point.
(1995-03-21)

floating-point accelerator
(FPA) Additional hardware to perform functions on floating-point numbers such as addition, multiplication, logarithms, exponentials, trigonometric functions and various kinds of rounding and error detection. A floating-point accelerator often functions as a co-processor to the CPU.
The term floating-point accelerator suggests a physically larger system, often an extra circuit board, whereas a floating-point unit is probably a single chip or even part of a chip.
(1994-12-01)

Floating-Point SPECbaserate
SPECrate_base_fp92

Floating-Point SPECbaseratio
SPECbase_fp92

Floating-Point SPECrate
SPECrate_fp92

Floating-Point SPECratio
SPECfp92

floating point underflow
underflow

Floating-Point Unit
(FPU) A floating-point accelerator, usually in a single integrated circuit, possible on the same IC as the central processing unit.
(1994-10-27)

floating underflow
underflow

F-Logic
An object-oriented language and deductive database system.
[ F-Logic: A Higher-Order Language for Reasoning about Objects, Inheritance and Scheme , ACM SIGMOD May 1989, pp. 134-146].
(1994-10-20)

flood
chat On a real-time network (whether at the level of TCP/IP, or at the level of, say, IRC), to send a huge amount of data to another user (or a group of users, in a channel) in an attempt to annoy him, lock his terminal, or to overflow his network buffer and thus lose his network connection.
The basic principles of flooding are that you should have better network bandwidth than the person you're trying to flood, and that what you do to flood them (e.g., generate ping requests) should be *less* resource-expensive for your machine to produce than for the victim's machine to deal with. There is also the corrolary that you should avoid being caught.
Failure to follow these principles regularly produces hilarious results, e.g., an IRC user flooding himself off the network while his intended victim is unharmed, the attacker's flood attempt being detected, and him being banned from the network in semi-perpetuity.
See also pingflood, clonebot and botwar.
[Jargon File]
(1997-04-07)

FLOP
1. An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-14)
2. Erroneous singular of FLOPS.

Floppy
programming, tool A Fortran coding convention checker. A later version can generate HTML.
See also Flow.
ffccc posted to comp.sources.misc volume 12.
(1996-08-23)

floppy
floppy disk

floppy disk
hardware, storage (Or floppy , diskette ) A small, portable plastic disk coated in a magnetisable substance used for storing computer data, readable by a computer with a floppy disk drive. The physical size of disks has shrunk from the early 8 inch, to 5 1/4 inch ( minifloppy ) to 3 1/2 inch ( microfloppy ) while the data capacity has risen.
These disks are known as floppy disks (or diskettes) because the disk is flexible and the read/write head is in physical contact with the surface of the disk in contrast to hard disks (or winchesters) which are rigid and rely on a small fixed gap between the disk surface and the heads. Floppies may be either single-sided or double-sided.
3.5 inch floppies are less floppy than the larger disks because they come in a stiff plastic envelope or case, hence the alternative names stiffy or crunchy sometimes used to distinguish them from the floppier kind.
The following formats are used on IBM PCs and elsewhere:
Capacity Density Width
360K double 5.25
720K double 3.5
1.2M high 5.25
1.44M high 3.5
Double denisty and high density are usually abbreviated DD and HD. HD 3.5 inch disks have a second hole in the envelope and an overlapping HD logo.
(1996-08-23)

floppy disk drive
disk drive

floppy drive
disk drive

FLOPS
Floating-point operations per second.

Flops
benchmark The MFLOPS benchmark.

floptical
hardware, storage (From floppy disk and optical ) A floppy disk which uses an optical tracking mechanism to improve the positioning accuracy of an ordinary magnetic head, thereby allowing more tracks and greater density.
Storage media FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/arch-storage/part1/faq.html).
(1995-03-15)

Flow
tool A companion utility to Floppy by Julian James Bunn julian@vxcrna.cxern.ch . Flow allows the user to produce various reports on the structure of Fortran 77 code, such as flow diagrams and common block tables. It runs under VMS, Unix, CMS.
Posted to comp.sources.misc volume 31.
(1995-03-14)

flow chart
programming An archaic form of visual control-flow specification employing arrows and speech balloons of various shapes.
Hackers never use flow charts, consider them extremely silly, and associate them with COBOL programmers, card wallopers, and other lower forms of life. This attitude follows from the observations that flow charts (at least from a hacker's point of view) are no easier to read than code, are less precise, and tend to fall out of sync with the code (so that they either obfuscate it rather than explaining it, or require extra maintenance effort that doesn't improve the code).
See also Program Design Language.
[Jargon File]
(1994-12-01)

flow control
communications, protocol The collection of techniques used in serial communications to stop the sender sending data until the receiver can accept it. This may be either software flow control or hardware flow control. The receiver typically has a fixed size buffer into which received data is written as soon as it is received. When the amount of buffered data exceeds a high water mark , the receiver will signal to the transmitter to stop transmitting until the process reading the data has read sufficient data from the buffer that it has reached its low water mark , at which point the receiver signals to the transmitter to resume transmission.
(1995-03-22)

flower key
feature key

FLOW-MATIC or FLOWMATIC
(Originally B-0) Possibly the first English-like DP language. Developed at Remington Rand in 1958 for the UNIVAC I.
[Sammet 1969, pp. 316-324].
(1994-10-24)

flow of control
control flow

FLPL
Fortran List Processing Language. A package of Fortran subroutines for handling lists by H. Gelernter et al, ca 1960.
[Sammet 1969, p. 388].
(1994-10-24)

FLUB
language The abstract machine for bootstrapping STAGE2.
[Mentioned in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, p. 271].
(1995-03-13)

Fluegelman, Andrew
Andrew Fluegelman

flush
1. To delete something, usually superfluous, or to abort an operation.
Flush was standard ITS terminology for aborting an output operation. One spoke of the text that would have been printed, but was not, as having been flushed. It is speculated that this term arose from a vivid image of flushing unwanted characters by hosing down the internal output buffer, washing the characters away before they could be printed.
2. To force temporarily buffered data to be written to more permanent memory. E.g. flushing buffered disk I/O to disk, as with C's standard I/O library fflush(3) call. This sense was in use among BLISS programmers at DEC and on Honeywell and IBM machines as far back as 1965. Another example of this usage is flushing a cache on a context switch where modified data stored in the cace which belongs to one processes must be written out to main memory so that the cache can be used by another process.
[Jargon File]

Flynn's taxonomy
A classification of computer architectures based on the number of streams of instructions and data:
Single instruction/single data stream (SISD) - a sequential computer.
Multiple instruction/single data stream (MISD) - unusual.
Single instruction/multiple data streams (SIMD) - e.g. an array processor.
Multiple instruction/multiple data streams (MIMD) - multiple autonomous processors simultaneously executing different instructions on different data.
[ A Survey of Parallel Computer Architectures , Duncan, Ralph, IEEE Computer. February 1990, pp. 5-16].
(1994-11-08)
[Flynn's original paper?]

fly page
/fli:'payj/ banner.
[Jargon File]

Flyspeck 3
Standard name for any font that is so tiny as to be unreadable (by analogy with names like Helvetica 10 for 10-point Helvetica). Legal boilerplate is usually printed in Flyspeck 3.
(1994-11-08)

flytrap
firewall machine

FM
1. communications Frequency Modulation.
2. jargon Fucking Manual, a back-formation from RTFM. Used to refer to the manual itself.
3. jargon Fucking Magic, in the sense of black magic.
(2001-04-30)

fm
networking The country code for the Federated States of Micronesia.
Heavily used for vanity domains by FM radio stations.
(1999-01-27)

FMPL
Frobozz Magic Programming Language

FMQ
A BNF-based paser generator with an error corrector generator, by Jon Mauney.
(ftp://csczar.ncsu.edu/)
(1990-03-31)

FMS
Flexible Manufacturing System (factory automation).

FMV
full-motion video

FNAL
Fermi National Accelerator Laboratory (Illinois, USA).

FNC
Federal Networking Council

fnord
1. convention A word used in electronic mail and news messages to tag utterances as surrealist mind-play or humour, especially in connection with Discordianism and elaborate conspiracy theories. I heard that David Koresh is sharing an apartment in Argentina with Hitler. (Fnord.) Where can I fnord get the Principia Discordia from?
2. programming A metasyntactic variable, commonly used by hackers with ties to Discordianism or the Church of the SubGenius.
The word fnord was invented in the Illuminatus! trilogy by Robert Shea and Robert Anton Wilson.
[Jargon File]
(1995-02-28)

FN tunnelling
Fowler-Nordheim tunnelling

fo
networking The country code for the Faroe Islands.
(1999-01-27)

FOAD
chat fuck off and die.
(1998-01-18)

FOAF
[Usenet] Friend Of A Friend. The source of an unverified, possibly untrue story. This term was not originated by hackers (it is used in Jan Brunvand's books on urban folklore), but is much better recognised on Usenet and elsewhere than in mainstream English.
[Jargon File]

FOCAL
1. FOrmula CALculator.
An interactive system written by Rick Merrill of DEC in 1969 for PDP-5 and PDP-8. It was a descendant of AID/JOSS.
Versions: FOCAL-69, FOCAL-1971, FOCAL-11 (for PDP-11 under RT-11).
(1994-12-21)
2. Forty-One CAlculator Language.
The programming language of the HP-41 calculator line.
(1994-12-21)

FOCL
An expert system shell and backward chaining rule interpreter for the Macintosh.
(ftp://ics.uci.edu/pub/machine-learning-programs/KR-FOCL-ES.cpt.hqx)
E-mail: pazzani@ics.uci.edu .
(1994-12-21)

FOCUS
database, language A hierarchical database language from Information Builders, Inc.
(1994-12-21)

focus group
product An event where market researchers meet (potential) users of a product to try to plan how to improve it.
(1999-02-24)

FOD
/fod/ [Abbreviation for Finger of Death , originally a spell-name from fantasy gaming] To terminate with extreme prejudice and with no regard for other people. From MUDs where the wizard command FOD player results in the immediate and total death of player , usually as punishment for obnoxious behaviour. This usage migrated to other circumstances, such as I'm going to fod the process that is burning all the cycles. Compare gun.
In aviation, FOD means Foreign Object Damage, e.g. what happens when a jet engine sucks up a rock on the runway or a bird in flight. Finger of Death is a distressingly apt description of what this generally does to the engine.
[Jargon File]

FOIL
File Oriented Interpretive Language. CAI language.
[ FOIL - A File Oriented Interpretive Language , J.C. Hesselbart, Proc ACM 23rd National Conf (1968)].

FoIP
Fax over IP

FOIRL
Fiber Optic InterRepeater Link

fold case
case sensitivity

folder
operating system A directory in the sense of a collection of computer files. The term is more common in systems such as the Macintosh or Windows 95 which have a graphical user interface and provide a graphical file browser in which directories are traditionally depicted as folders (like small briefcases).
(1997-03-20)

FOLDOC
Free On-line Dictionary of Computing

followup
On Usenet, a posting generated in response to another posting (as opposed to a reply, which goes by e-mail rather than being broadcast). Followups include the ID of the parent message in their headers; smart news-readers can use this information to present Usenet news in conversation sequence rather than order-of-arrival. See thread.
[Jargon File]

font
text A set of glyphs (images) representing the characters from some particular character set in a particular size and typeface. The image of each character may be encoded either as a bitmap (in a bitmap font) or by a higher-level description in terms of lines and areas (an outline font).
There are several different computer representations for fonts, the most widely known are Adobe Systems, Inc.'s PostScript font definitions and Apple's TrueType. Window systems can display different fonts on the screen and print them.
[Other types of font?]
(2001-04-27)

fontology
(XEROX PARC) The body of knowledge dealing with the construction and use of new fonts (e.g. for window systems and typesetting software). It has been said that fontology recapitulates file-ogeny.
Unfortunately, this reference to the embryological dictum that Ontogeny recapitulates phylogeny is not merely a joke. On the Macintosh, for example, System 7 has to go through contortions to compensate for an earlier design error that created a whole different set of abstractions for fonts parallel to files and folders - ESR
[Jargon File]
(1994-12-01)

foo
jargon /foo/ A sample name for absolutely anything, especially programs and files (especially scratch files). First on the standard list of metasyntactic variables used in syntax examples. See also bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud.
The etymology of foo is obscure. When used in connection with bar it is generally traced to the WWII-era Army slang acronym FUBAR, later bowdlerised to foobar.
However, the use of the word foo itself has more complicated antecedents, including a long history in comic strips and cartoons.
FOO often appeared in the Smokey Stover comic strip by Bill Holman. This surrealist strip about a fireman appeared in various American comics including Everybody's between about 1930 and 1952. FOO was often included on licence plates of cars and in nonsense sayings in the background of some frames such as He who foos last foos best or Many smoke but foo men chew .
Allegedly, FOO and BAR also occurred in Walt Kelly's Pogo strips. In the 1938 cartoon The Daffy Doc , a very early version of Daffy Duck holds up a sign saying SILENCE IS FOO! . Oddly, this seems to refer to some approving or positive affirmative use of foo. It has been suggested that this might be related to the Chinese word fu (sometimes transliterated foo ), which can mean happiness when spoken with the proper tone (the lion-dog guardians flanking the steps of many Chinese restaurants are properly called fu dogs ).
Earlier versions of this entry suggested the possibility that hacker usage actually sprang from FOO, Lampoons and Parody , the title of a comic book first issued in September 1958, a joint project of Charles and Robert Crumb. Though Robert Crumb (then in his mid-teens) later became one of the most important and influential artists in underground comics, this venture was hardly a success; indeed, the brothers later burned most of the existing copies in disgust. The title FOO was featured in large letters on the front cover. However, very few copies of this comic actually circulated, and students of Crumb's oeuvre have established that this title was a reference to the earlier Smokey Stover comics.
An old-time member reports that in the 1959 Dictionary of the TMRC Language , compiled at TMRC there was an entry that went something like this:
FOO: The first syllable of the sacred chant phrase FOO MANE PADME HUM. Our first obligation is to keep the foo counters turning.
For more about the legendary foo counters, see TMRC. Almost the entire staff of what became the MIT AI LAB was involved with TMRC, and probably picked the word up there.
Another correspondant cites the nautical construction foo-foo (or poo-poo ), used to refer to something effeminate or some technical thing whose name has been forgotten, e.g. foo-foo box , foo-foo valve . This was common on ships by the early nineteenth century.
Very probably, hackish foo had no single origin and derives through all these channels from Yiddish feh and/or English fooey .
[Jargon File]
(1998-04-16)

foobar
Another common metasyntactic variable; see foo. Hackers do *not* generally use this to mean FUBAR in either the slang or jargon sense.
[Jargon File]

foogol
A tiny ALGOL-like language by Per Lindberg, based on the VALGOL I compiler, G.A. Edgar, DDJ May 1985. Runs on vaxen. Posted to comp.sources.Unix archive volume 8.
(ftp://ftp.wustl.edu/systems/amiga/fish/fish/ff066)

FOOL
Fool's Lisp. A small Scheme interpreter.
(ftp://scam.berkeley.edu/src/local/fools.tar.Z)
(1994-10-04)

fool file
jargon A term found on Usenet for a notional repository of all the most dramatically and abysmally stupid utterances ever. An entire subgenre of sig blocks consists of the header From the fool file: followed by some quote the poster wishes to represent as an immortal gem of dimwittery; for this usage to be really effective, the quote has to be so obviously wrong as to be laughable. More than one Usenetter has achieved an unwanted notoriety by being quoted in this way.
(2001-01-05)

Fools' Lisp
A small Scheme interpreter by Jonathan Lee jonathan@scam.berkeley.edu . Version 1.3.2 is R4RS conformant. It runs on Sun-3, Sun-4, Decstation, VAX (Ultrix), Sequent, Apollo.
(ftp://scam.berkeley.edu/src/local/fools.tar.Z)
(1991-10-31)

Foonly
1. The PDP-10 successor that was to have been built by the Super Foonly project at the Stanford Artificial Intelligence Laboratory along with a new operating system. The intention was to leapfrog from the old DEC time-sharing system SAIL was then running to a new generation, bypassing TENEX which at that time was the ARPANET standard. ARPA funding for both the Super Foonly and the new operating system was cut in 1974. Most of the design team went to DEC and contributed greatly to the design of the PDP-10 model KL10.
2. The name of the company formed by Dave Poole, one of the principal Super Foonly designers, and one of hackerdom's more colourful personalities. Many people remember the parrot which sat on Poole's shoulder and was a regular companion.
3. Any of the machines built by Poole's company. The first was the F-1 (a.k.a. Super Foonly), which was the computational engine used to create the graphics in the movie TRON . The F-1 was the fastest PDP-10 ever built, but only one was ever made. The effort drained Foonly of its financial resources, and the company turned towards building smaller, slower, and much less expensive machines. Unfortunately, these ran not the popular TOPS-20 but a TENEX variant called Foonex; this seriously limited their market. Also, the machines shipped were actually wire-wrapped engineering prototypes requiring individual attention from more than usually competent site personnel, and thus had significant reliability problems. Poole's legendary temper and unwillingness to suffer fools gladly did not help matters. By the time of the Jupiter project cancellation in 1983, Foonly's proposal to build another F-1 was eclipsed by the Mars, and the company never quite recovered. See the Mars entry for the continuation and moral of this story.
[Jargon File]

FOOP
OBJ2 plus object-orientation. Extensions and Foundations for Object-Oriented Programming , J. Goguen et al, in Research Directions in Object-Oriented Programming, B. Shriver et al eds, MIT Press 1987.

footprint
1. jargon, hardware The floor or desk area taken up by a piece of hardware.
2. jargon, storage The amount of disk or RAM taken up by a program or file.
3. (IBM) The audit trail left by a crashed program (often footprints ).
See also toeprint.
[Jargon File]
(1995-04-25)

for
for loop

fora
forum

FORC
Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).

Force
A dBASE dialect for MS-DOS.

ForceOne
A programming language by Andrew K. Wright.
[ Polymorphism in the Compiled Language ForceOne , G.V. Cormack et al, Proc 20th Annual Hawaii Intl Conf on System Sciences, 1987, pp.284-292].
[ Design of the Programming Language ForceOne , A.K. Wright, MS Thesis, U Waterloo 1987].
(1994-10-24)

ForceTwo
An unofficial successor to ForceOne by Andrew K. Wright.

foreground
(Unix) On a time-sharing system, a task executing in foreground is one able to accept input from and return output to the user in contrast to one running in the background. Nowadays this term is primarily associated with Unix, but it appears first to have been used in this sense on OS/360. Normally, there is only one foreground task per terminal (or terminal window). Having multiple processes simultaneously reading the keyboard is confusing.
[Jargon File]
(1994-10-24)

foreign key
database Attributes contained within a database record (or other collection of related data items) which uniquely identify another record, but not the one within which they are contained. A foreign key is a reference from one record to another.
(1997-04-28)

Foresight
graphics, tool A software product from Nu Thena providing graphical modelling tools for high level system design and simulation.
(1994-10-24)

for free
Said of a capability of a programming language or hardware equipment that is available by its design without needing cleverness to implement: In APL, we get the matrix operations for free. And owing to the way revisions are stored in this system, you get revision trees for free. The term usually refers to a serendipitous feature of doing things a certain way (compare big win), but it may refer to an intentional but secondary feature.
[Jargon File]
(1994-12-14)

fork
operating system A Unix system call used by a process (the parent ) to make a copy (the child ) of itself. The child process is identical to the parent except it has a different process identifier and a zero return value from the fork call. It is assumed to have used no resources.
A fork followed by an exec can be used to start a different process but this can be inefficient and some later Unix variants provide vfork as an alternative mechanism for this.
See also fork bomb.
(1996-12-08)

fork bomb
programming A particular species of wabbit that can be written in one line of C:
main() for(;;)fork();
or shell:
$0 $0
on any Unix system, or occasionally created by an egregious coding bug. A fork bomb process explodes by recursively spawning copies of itself using the Unix system call fork(2) . Eventually it eats all the process table entries and effectively wedges the system. Fortunately, fork bombs are relatively easy to spot and kill, so creating one deliberately seldom accomplishes more than to bring the just wrath of the gods down upon the perpetrator.
See also logic bomb.
[Jargon File]
(1994-12-14)

forked
(Unix; probably after fucked ) Terminally slow, or dead. Originated when one system was slowed to a snail's pace by an inadvertent fork bomb.
[Jargon File]
(1994-12-14)

for loop
programming A loop construct found in many imperative programming languages which repeatedly executes some instructions while a condition is true.
In C, the for loop is written in the form;
for (INITIALISATION; CONDITION; AFTER)
STATEMENT;
where INITIALISATION is an expression that is evaluated once before the loop, CONDITION is evaluated before each iteration and the loop exits if it is false, AFTER is evaluated after each iteration, and STATEMENT is any statement including a compound statement within braces .. that is executed if CONDITION is true.
For example:
int i;
for (i = 0; i 10; i++)

printf( Hello n );

prints Hello 10 times.
The for loop is an alternative way of writing a while loop that is convenient because the loop control logic is collected in a single place. It is also closely related to the repeat loop.
(1999-07-07)

FORM
mathematics, tool A system written by Jos Vermaseren t68@nikhefh.nikhef.nl in 1989 for fast handling of very large-scale symbolic mathematics problems. FORM is a descendant of Schoonschip and is available for many personal computers and workstations.
(ftp://acm.princeton.edu/), (ftp://nikhefh.nikhef.nl/).
Mailing list: form@can.nl .
(1995-04-12)

FORMAC
FORmula MAnipulation Compiler. J. Sammet Tobey, IBM Boston APD, 1962. An extension of Fortran for symbolic mathematics. Versions: PL/I-FORMAC and FORMAC73.
[ Introduction to FORMAC , J.E. Sammet et al, IEEE Trans Elec Comp (Aug 1964)].
[Sammet 1969, pp. 474-491].

FORMAL
1. FORmula MAnipulation Language.
An early Fortran extension for symbolic mathematics.
[ FORMAL, A Formula Manipulation Language , C.K. Mesztenyi, Computer Note CN-1, CS Dept, U Maryland (Jan 1971)].
2. A data manipulation language for nonprogrammers from IBM LASC.
[ FORMAL: A Forms-Oriented and Visual-Directed Application System , N.C. Shu, IEEE Computer 18(8):38-49 (1985)].
(1994-12-06)

formal argument
programming (Or parameter ) A name in a function or subroutine definition that is replaced by, or bound to, the corresponding actual argument when the function or subroutine is called. In many languages formal arguments behave like local variables which get initialised on entry.
See: argument.
(2002-07-02)

Formal Description Technique
specification, protocol (FDT) A formal method for developing telecomunications services and protocols. FDTs range from abstract to implementation-oriented descriptions. All FDTs offer the means for producing unambiguous descriptions of OSI services and protocols in a more precise and comprehensive way than natural language descriptions. They provide a foundation for analysis and verification of a description. The target of analysis and verification may vary from abstract properties to concrete properties. Natural language descriptions remain an essential adjunct to formal description, enabling an unfarmiliar reader to gain rapid insight into the structure and function of services and protocols.
Examples of FDTs are LOTOS, Z, SDL, and Estelle.
[ISO/IEC DTR10167: Guidelines for the application of Estelle, LOTOS and SDL ].
(1994-12-06)

formal methods
mathematics, specification Mathematically based techniques for the specification, development and verification of software and hardware systems.
Referentially transparent languages are amenable to symbolic manipulation allowing program transformation (e.g. changing a clear inefficient specification into an obscure but efficient program) and proof of correctness.
Oxford FM archive (http://www.comlab.ox.ac.uk/archive/formal-methods.html)
(1996-05-15)

Formal Object Role Modeling Language
language (FORML) A CASE language?
(1997-04-12)

formal review
project A technical review conducted with the customer including the types of reviews called for in DOD-STD-2167A (Preliminary Design Review, Critical Design Review, etc.)
(1996-05-15)

FORMAT-Fortran
Fortran Matrix Abstraction Technique Fortran

Formatting Output Specification Instance
text, standard (FOSI) An old SGML DTD standard for document management in the US military, to be replaced (soon after Oct 1996?) by the ISO standard DSSSL.
(1996-10-07)

Formes
language, music An object-oriented language for music composition and synthesis, written in VLISP.
[ Formes: Composition and Scheduling of Processes , X. Rodet P. Cointe, Computer Music J 8(3):32-50 (Fall 1984)].
(1996-06-24)

form factor
hardware The type of packaging of a processor integrated circuit, e.g. PPGA, FC-PGA.
More generally, a term popular among marketroids in 1998, denoting the shape of something designed.
(2000-08-26)

form feed
character (FF, Control-L, ASCII 12) The character used to start a new page on a printer. This is done by feeding a new page (or form ) through the printer.
(1996-06-24)

form function
jargon The shape of something designed. This term is currently (Feb 1998) in vogue among marketroids.
(1998-02-11)

FORML
1. language Formal Object Role Modeling Language.
2. event Forth Modification Lab.
(1997-04-12)

forms
1. programming fill-out form.
2. library (Xforms) A GUI component library for X11.
(1998-03-24)

formula
1. In logic, a sequence of symbols representing terms, predicates, connectives and quantifiers which is either true or false.
2. language, music FORTH Music Language. An extension of FORTH with concurrent note-playing processes. Runs on Macintosh and Atari ST with MIDI output.
[ Formula: A Programming Language for Expressive Computer Music , D.P. Anderson et al Computer 24(7):12 (Jul 1991)].
3. Preprocessor language for the Acorn Archimedes, allowing inline high-level statements to be entered in an assembly program. Written in nawk.

Formula ALGOL
An ALGOL extension for symbolic mathematics, strings and lists, developed by A.J. Perlis and R. Iturriaga at Carnegie for the CDC G-20 in 1962.
[ An Extension of ALGOL for Manipulating Formulae , A.J. Perlis et al, CACM 7(2):127-130 (Feb 1964)].
[Sammet 1969, p. 583].
(1995-02-15)

Forsythe
A descendent of Algol 60, intended to be as uniform and general as possible, while retaining the basic character of its progenitor. Forsythe features higher-order procedures and intersection types.
(ftp://e.ergo.cs.cmu.edu/)
[ Preliminary Design of the Programming Language Forsythe , J.C. Reynolds, CMU-CS-88-159, 1988].

FORTH
1. language An interactive extensible language using postfix syntax and a data stack, developed by Charles H. Moore in the 1960s. FORTH is highly user-configurable and there are many different implementations, the following description is of a typical default configuration.
Forth programs are structured as lists of words - FORTH's term which encompasses language keywords, primitives and user-defined subroutines. Forth takes the idea of subroutines to an extreme - nearly everything is a subroutine. A word is any string of characters except the separator which defaults to space. Numbers are treated specially. Words are read one at a time from the input stream and either executed immediately ( interpretive execution ) or compiled as part of the definition of a new word.
The sequential nature of list execution and the implicit use of the data stack (numbers appearing in the lists are pushed to the stack as they are encountered) imply postfix syntax. Although postfix notation is initially difficult, experienced users find it simple and efficient.
Words appearing in executable lists may be primitives (simple assembly language operations), names of previously compiled procedures or other special words. A procedure definition is introduced by : and ended with ; and is compiled as it is read.
Most Forth dialects include the source language structures BEGIN-AGAIN, BEGIN-WHILE-REPEAT, BEGIN-UNTIL, DO-LOOP, and IF-ELSE-THEN, and others can be added by the user. These are compiling structures which may only occur in a procedure definition.
FORTH can include in-line assembly language between CODE and ENDCODE or similar constructs. Forth primitives are written entirely in assembly language, secondaries contain a mixture. In fact code in-lining is the basis of compilation in some implementations.
Once assembled, primitives are used exactly like other words. A significant difference in behaviour can arise, however, from the fact that primitives end with a jump to NEXT , the entry point of some code called the sequencer, whereas non-primitives end with the address of the EXIT primitive. The EXIT code includes the scheduler in some multi-tasking systems so a process can be descheduled after executing a non-primitive, but not after a primitive.
Forth implementations differ widely. Implementation techniques include threaded code, dedicated Forth processors, macros at various levels, or interpreters written in another language such as C. Some implementations provide real-time response, user-defined data structures, multitasking, floating-point arithmetic, and/or virtual memory.
Some Forth systems support virtual memory without specific hardware support like MMUs. However, Forth virtual memory is usually only a sort of extended data space and does not usually support executable code.
FORTH does not distinguish between operating system calls and the language. Commands relating to I/O, file systems and virtual memory are part of the same language as the words for arithmetic, memory access, loops, IF statements, and the user's application.
Many Forth systems provide user-declared vocabularies which allow the same word to have different meanings in different contexts. Within one vocabulary, re-defining a word causes the previous definition to be hidden from the interpreter (and therefore the compiler), but not from previous definitions.
FORTH was first used to guide the telescope at NRAO, Kitt Peak. Moore considered it to be a fourth-generation language but his operating system wouldn't let him use six letters in a program name, so FOURTH became FORTH.
Versions include fig-FORTH, FORTH 79 and FORTH 83.
FAQs (http://www.complang.tuwien.ac.at/forth/faq/faq-general-2.html). ANS Forth standard, dpANS6 (http://www.taygeta.com/forth/dpans.html).
FORTH Interest Group, Box 1105, San Carlos CA 94070.
See also 51forth, F68K, cforth, E-Forth, FORML, TILE Forth.
[Leo Brodie, Starting Forth ].
[Leo Brodie, Thinking Forth ].
[Jack Woehr, Forth, the New Model ].
[R.G. Loeliger, Threaded Interpretive Languages ].
2. FOundation for Research and Technology - Hellas.
(1997-04-16)

for The Rest Of Them
for The Rest Of Us

for The Rest Of Us
abuse (From the Macintosh slogan The computer for the rest of us ) 1. Used to describe a spiffy product whose affordability shames other comparable products, or (more often) used sarcastically to describe spiffy but very overpriced products.
2. Describes a program with a limited interface, deliberately limited capabilities, non-orthogonality, inability to compose primitives, or any other limitation designed to not confuse a naïve user. This places an upper bound on how far that user can go before the program begins to get in the way of the task instead of helping accomplish it.
Used in reference to Macintosh software which doesn't provide obvious capabilities because it is thought that the poor luser might not be able to handle them. Becomes the rest of *them* when used in third-party reference; thus, Yes, it is an attractive program, but it's designed for The Rest Of Them means a program that superficially looks neat but has no depth beyond the surface flash.
See also point-and-drool interface, user-friendly.
[Jargon File]
(2000-08-08)

Forth Modification Lab
event (FORML) A Forth conference held every November on the West coast of the USA ().
(1997-04-12)

Fortran
language (Formula Translation) The first and, for a long time, the most widely used programming language for numerical and scientific applications. The original versions lacked recursive procedures and block structure and had a line-oriented syntax in which certain columns had special significance.
There have been a great many versions.
The name is often written FORTRAN , harking back to the days before computers were taught about lower case, but ANSI decreed, in about 1985 via the ANSI FORTRAN Technical Committee TC, that it should be Fortran .
See also: Fortrash.
[Was Fortran I the first version?]
(2000-07-07)

Fortran 66
Fortran IV standardised. ASA X3.9-1966.

Fortran 77
A popular version of Fortran with Block IF, PARAMETER and SAVE statements added, but still no WHILE. It has fixed-length character strings, format-free I/O, and arrays with lower bounds.
[ANSI X3.9-1978].
GNU version (ftp://gnu.org/pub/gnu/g77)
Amiga version (ftp://ftp.cso.uiuc.edu/amiga/fish/ff470/BCF).
(1994-12-16)

Fortran 90
(Previously Fortran 8x and Fortran Extended ) An extensive enlargement of Fortran 77. Fortran 90 has derived types, assumed shape arrays, array sections, functions returning arrays, case statement, module subprograms and internal subprograms, optional and keyword subprogram arguments, recursion, and dynamic allocation. It is defined in ISO 1539:1991, soon to be adopted by ANSI.
[ Fortran 90 Explained , M. Metcalf et al, Oxford University Press 1990].
(1994-12-16)

Fortran Automatic Symbol Translator
language (FAST) An assembly language for the IBM 650 by MITRE Corporation.
[CACM 2(5):16 (May 1959)].
[Sammet 1969, p.526].
(1994-11-09)

Fortran D
A data-parallel Fortran developed by Ken Kennedy at Rice University.
[ Fortran D Language Specification , G. Fox et al, TR 90079, Rice U, March 1991].
E-mail: Theresa Chapman tlc@cs.rice.edu .
(1994-12-16)

Fortran I
An early version of Fortran designed by John Backus at IBM for the IBM 704. The design was begun in 1954 and a compiler released in April 1957.
[Was this the first Fortran?]
(1995-02-15)

Fortran II
1958. Added subroutines.

Fortran III
This was only distributed to ca. 20 sites. See Wexelblat.

Fortran IV
IBM 1962. For the IBM 7090/94. Many implementations went well beyond the original definition.

Fortran-Linda
Scientific Computer Assocs linda@sca.com .

Fortran M
Parallel extensions to Fortran with processes and channels by Ian Foster fortran-m@mcs.anl.gov .
[ Fortran M: A Language for Modular Parallel Programming , I. Foster et al, MCS-P327-0992, ANL, 1992].
(1994-10-26)

Fortran Matrix Abstraction Technique Fortran
language (FORMAT-Fortran) A language for manipulation, printing and plotting of large matrices.
[ FORMAT-FORTRAN Matrix Abstraction Technique (Vol. V) AFFDL-TR-66-207, Douglas Aircraft Co. Oct 1968].
(1996-09-29)

Fortran-Plus
Fortran for the DAP parallel machine, implements many Fortran 90 features.

FORTRANSIT
language Fortran Internal Translator.
A subset of Fortran translated into IT on the IBM 650. It was in use in the late 1950s and early 1960s.
Compilation took place in several steps (using punched cards as the only input/output media). FORTRANSIT was converted to IT Internal Translator which was converted into SOAP and thence to machine code.
In the SOAP - machine code step, the user had to include card decks for all the subroutines used in his FORTRANSIT program (including e.g. square root, sine, and even basic floating point routines).
[Sammet 1969, p. 141].
(1995-03-30)

Fortran V
Preliminary work on adding character handling to Fortran by IBM ca. 1962. This name as never really used.
(1994-10-26)

Fortran VI
IBM's internal name for early PL/I work ca. 1963.
[Sammet 1969, p. 540].
(1994-10-25)

Fortrash
abuse, language /for'trash/ Hackerism for the Fortran language, referring to its primitive design, gross and irregular syntax, limited control constructs, and slippery, exception-filled semantics.
[Jargon File]
(1994-10-26)

FORTRUNCIBLE
A cross between Fortran and RUNCIBLE for the IBM 650. Listed in CACM 2(5):16 (May 1959).

fortune cookie
(WAITS, via the Unix fortune program) A quotation, item of trivia, joke, or maxim selected at random from a collection (the cookie file ) and printed to the user's tty at login time or (less commonly) at logout time.
There was a fortune program on TOPS-20.
[First program?]
[Jargon File]
(1995-02-14)

forum
messaging (Plural fora or forums ) Any discussion group accessible through a dial-in BBS (e.g. GEnie, CI$), a mailing list, or a Usenet newsgroup (see network, the). A forum functions much like a bulletin board; users submit postings for all to read and discussion ensues.
Contrast real-time chat or point-to-point personal e-mail.
[Jargon File]
(1998-01-18)

for values of
jargon A common rhetorical maneuver at MIT is to use any of the canonical random numbers as placeholders for variables. The max function takes 42 arguments, for arbitrary values of 42 . There are 69 ways to leave your lover, for 69 = 50 . This is especially likely when the speaker has uttered a random number and realises that it was not recognised as such, but even non-random numbers are occasionally used in this fashion. A related joke is that pi equals 3 - for small values of pi and large values of 3.
This usage probably derives from the programming language MAD (Michigan Algorithm Decoder), an ALGOL-like language that was the most common choice among mainstream (non-hacker) users at MIT in the mid-1960s. It had a control structure FOR VALUES OF X = 3, 7, 99 DO ... that would repeat the indicated instructions for each value in the list (unlike the usual FOR that generates an arithmetic sequence of values). MAD is long extinct, but similar for-constructs still flourish (e.g. in Unix's shell languages).
[Jargon File]
(1994-12-16)

forward
messaging (verb) To send (a copy of) an electronic mail message that you have received on to one or more other addressees. Most e-mail systems can be configured to do this automatically to all or certain messages, e.g. Unix sendmail looks for a .forward file in the recipient's home directory.
A mailing list server (or mail exploder ) is designed to forward messages automatically to lists of people.
Unix manual page: aliases(5).
(2000-03-22)

forward analysis
An analysis which determines properties of the output of a program from properties of the inputs.

forward chaining
A data-driven technique used in constructing goals or reaching inferences derived from a set of facts. Forward chaining is the basis of production systems. Oppose backward chaining.
(1994-10-28)

forward compatibility
forward compatible

forward compatible
jargon A system is forward compatible if it is designed to be compatible with planned later versions of itself.
See also extensible.
Compare: backward compatible.
(1999-11-03)

forward delta
The delta which, when combined with a version, creates a child version. See change management

forward engineering
process The traditional process of moving from high-level abstractions and logical, implementation-independent designs to the physical implementation of a system.
Contrast reverse engineering.
(1996-10-02)

Forward Error Correction
algorithm (FEC) A class of methods for controling errors in a one-way communication system. FEC sends extra information along with the data, which can be used by the receiver to check and correct the data.
A CPU writing data to RAM is a kind of one-way communication - see error correcting memory and error checking and correction.
(1996-10-02)

forwards compatibility
forward compatible

forwards compatible
forward compatible

FORWISS
Bayerische Forschungszentrum fuer Wissensbasierte Systeme (Bavarian research centre for knowledge-based systems) in Passau.

For Your Information
(FYI) A subseries of RFCs that are not technical standards or descriptions of protocols. FYIs convey general information about topics related to TCP/IP or the Internet.
See also STD.
(1994-10-26)

FOSI
Formatting Output Specification Instance

FOSIL
Fredette's Operating System Interface Language

fossil
1. In software, a misfeature that becomes understandable only in historical context, as a remnant of times past retained so as not to break compatibility. Example: the retention of octal as default base for string escapes in C, in spite of the better match of hexadecimal to ASCII and modern byte-addressable architectures. See dusty deck.
2. More restrictively, a feature with past but no present utility. Example: the force-all-caps (LCASE) bits in the V7 and BSD Unix tty driver, designed for use with monocase terminals. (In a perversion of the usual backward-compatibility goal, this functionality has actually been expanded and renamed in some later USG Unix releases as the IUCLC and OLCUC bits.)
3. The FOSSIL (Fido/Opus/Seadog Standard Interface Level) driver specification for serial-port access to replace the brain-dead routines in the IBM PC ROMs. Fossils are used by most MS-DOS BBS software in preference to the supported ROM routines, which do not support interrupt-driven operation or setting speeds above 9600; the use of a semistandard FOSSIL library is preferable to the bare metal serial port programming otherwise required. Since the FOSSIL specification allows additional functionality to be hooked in, drivers that use the hook but do not provide serial-port access themselves are named with a modifier, as in video fossil .
[Jargon File]

foundation
The axiom of foundation states that the membership relation is well founded, i.e. that any non-empty collection Y of sets has a member y which is disjoint from Y. This rules out sets which contain themselves (directly or indirectly).

FOundation for Research and Technology - Hellas
company (FORTH) A small Greek software and research company associated with the Institute of Computer Science,
Address: Science and Technology Park of Crete, Vassilika Vouton, P.O.Box 1385 GR 711 10 Heraklion, Crete, Greece.
Telephone: +30 (81) 39 16 00, Fax: +30 (81) 39 16 01.
(1997-04-12)

four-colour glossies
1. Literature created by marketroids that allegedly contains technical specs but which is in fact as superficial as possible without being totally content-free. Forget the four-colour glossies, give me the tech ref manuals. Often applied as an indication of superficiality even when the material is printed on ordinary paper in black and white. Four-colour-glossy manuals are *never* useful for finding a problem.
2. [rare] Applied by extension to manual pages that don't contain enough information to diagnose why the program doesn't produce the expected or desired output.

four colour map theorem
mathematics, application (Or four colour theorem ) The theorem stating that if the plane is divided into connected regions which are to be coloured so that no two adjacent regions have the same colour (as when colouring countries on a map of the world), it is never necessary to use more than four colours.
The proof, due to Appel and Haken, attained notoriety by using a computer to check tens of thousands of cases and is thus not humanly checkable, even in principle. Some thought that this brought the philosophical status of the proof into doubt.
There are now rumours of a simpler proof, not requiring the use of a computer.
See also chromatic number
(1995-03-25)

four colour theorem
four colour map theorem

Fourier transform
mathematics A technique for expressing a waveform as a weighted sum of sines and cosines.
Computers generally rely on the version known as discrete Fourier transform.
Named after J. B. Joseph Fourier (1768 -- 1830).
See also wavelet, discrete cosine transform.
(1997-03-9)

fourth generation computer
architecture A computer built using Very Large Scale Integration (VLSI) integrated circuits, especially a microcomputer based on a microprocesseor, or a parallel processor containing two to thousands of CPUs.
VLSI made it routine to fabricate an entire CPU, main memory, or similar device with a single integrated circuit that can be mass produced at very low cost. This has resulted in new classes of machines such as personal computers, and high performance parallel processors that contains thousands of CPUs.
(1996-11-22)

fourth generation language
An application specific language. The term was invented by Jim Martin to refer to non-procedural high level languages built around database systems. The first three generations were developed fairly quickly, but it was still frustrating, slow, and error prone to program computers, leading to the first programming crisis , in which the amount of work that might be assigned to programmers greatly exceeded the amount of programmer time available to do it. Meanwhile, a lot of experience was gathered in certain areas, and it became clear that certain applications could be generalised by adding limited programming languages to them. Thus were born report-generator languages, which were fed a description of the data format and the report to generate and turned that into a COBOL (or other language) program which actually contained the commands to read and process the data and place the results on the page.
Some other successful 4th-generation languages are: database query languages, e.g. SQL; Focus, Metafont, PostScript, RPG-II, S, IDL-PV/WAVE, Gauss, Mathematica and data-stream languages such as AVS, APE, Iris Explorer.

fourth normal form
database normalisation

Fowler-Nordheim tunnelling
electronics (US: tunneling ) The quantum mechanical effect exploited in EAPROM and Flash Erasable Programmable Read Only Memory. It differs from Frenkel-Pool Tunnelling in that it does not rely on defects in the semiconductor.
[More detail?]
(2001-09-27)

FoxBASE+
database A dBASE III+-like product from Fox Software.
[Features? Dates? Status?]
(1997-11-18)

FoxPRO
database A dBASE IV-like product originally from Fox Software which (well before 2000) mutated into Microsoft Visual FoxPro.
[Features? Dates?]
(2000-08-06)

Fox Software
company Developers of FoxBASE+ and FoxPRO. Fox Software merged with Microsoft around 1992.
Addresss: Perrysburg, OH, USA.
[More details?]
(1997-11-18)

FP
1. functional programming.
2. floating-point.
3. Functional Programming. A combinator-based functional language by John Backus stressing the use of higher-order functions.
Implementation by Andy Valencia. (ftp://apple.com/comp.sources.Unix/volume13).
See also FFP, FL, IFP, Berkeley FP.
[ Can Programming be Liberated From the von Neumann Style? A Functional Style and Its Algebra of Programs , John Backus, 1977 Turing Award Lecture, CACM 21(8):165-180 (Aug 1978)].
4. programming Function Point.
(1995-03-12)

FP2
Functional Parallel Programming. A term rewriting language which unifies functional programming and parallel programming. Every object is a term and every computation is done by rewriting. Rewrite rules are used to specify algebraic data types and parallel processes.
[ Term Rewriting as a Basis for the Design of a Functional and Parallel Programming Language. A Case Study: The Language FP2 , Ph. Jorrand in Fundamentals of Artificial Intelligence, LNCS 258, Springer 1986, pp. 221-276].
(1994-10-20)

FPA
1. hardware floating-point accelerator.
2. programming Function Point Analysis.

fpc
A translator from Backus's FP to C.
(ftp://apple.com/comp.sources.Unix/Volume20)

FPGA
Field-Programmable Gate Array

FPLMTS
communications Future Public Land Mobile Telecommunications System.

FPM
Fast Page Mode Dynamic Random Access Memory

FP/M
programming An abstract machine and intermediate language for functional languages, used to implement Hope. FP/M is an optimisation of the SECD machine.
[ The Compilation of FP/M Programs into Conventional Machine Code , A.J. Field, Imperial College, London, 1985].
[ Functional Programming , A.J. Field P.G. Harrison, A-W 1988].
(1994-10-20)

FPM DRAM
Fast Page Mode Dynamic Random Access Memory

fprintf
library Variant of the C library routine printf which prints to a given stream. E.g.
fprintf(stderr, %s: can't open file %s . , argv[0], argv[1]);
which prints to the standard error output stream.
(1995-04-25)

fps
frames per second

FPU
floating-point unit

FQDN
fully qualified domain name

FQL
language A functional database language.
[ An Implementation Technique for Database Query Languages , O.P. Buneman et al, ACM Trans Database Sys 7(2):164-186 (June 1982)].
(1995-04-27)

fr
networking The country code for France.
(1999-01-27)

fractal
mathematics, graphics A fractal is a rough or fragmented geometric shape that can be subdivided in parts, each of which is (at least approximately) a smaller copy of the whole. Fractals are generally self-similar (bits look like the whole) and independent of scale (they look similar, no matter how close you zoom in).
Many mathematical structures are fractals; e.g. Sierpinski triangle, Koch snowflake, Peano curve, Mandelbrot set and Lorenz attractor. Fractals also describe many real-world objects that do not have simple geometric shapes, such as clouds, mountains, turbulence, and coastlines.
Benoit Mandelbrot, the discoverer of the Mandelbrot set, coined the term fractal in 1975 from the Latin fractus or to break . He defines a fractal as a set for which the Hausdorff Besicovich dimension strictly exceeds the topological dimension. However, he is not satisfied with this definition as it excludes sets one would consider fractals.
sci.fractals FAQ (ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/sci.fractals/).
See also fractal compression, fractal dimension, Iterated Function System.
Usenet newsgroups: news:sci.fractals, news:alt.binaries.pictures.fractals, news:comp.graphics.
[ The Fractal Geometry of Nature , Benoit Mandelbrot].
[Are there non-self-similar fractals?]
(1997-07-02)

fractal compression
algorithm A technique for encoding images using fractals.
Yuval Fisher's fractal image compression site (http://inls.ucsd.edu/y/Fractals/).
[Summary?]
(1998-03-27)

fractal dimension
mathematics A common type of fractal dimension is the Hausdorff-Besicovich Dimension, but there are several different ways of computing fractal dimension. Fractal dimension can be calculated by taking the limit of the quotient of the log change in object size and the log change in measurement scale, as the measurement scale approaches zero. The differences come in what is exactly meant by object size and what is meant by measurement scale and how to get an average number out of many different parts of a geometrical object. Fractal dimensions quantify the static *geometry* of an object.
For example, consider a straight line. Now blow up the line by a factor of two. The line is now twice as long as before. Log 2 / Log 2 = 1, corresponding to dimension 1. Consider a square. Now blow up the square by a factor of two. The square is now 4 times as large as before (i.e. 4 original squares can be placed on the original square). Log 4 / log 2 = 2, corresponding to dimension 2 for the square. Consider a snowflake curve formed by repeatedly replacing ___ with _/ _, where each of the 4 new lines is 1/3 the length of the old line. Blowing up the snowflake curve by a factor of 3 results in a snowflake curve 4 times as large (one of the old snowflake curves can be placed on each of the 4 segments _/ _). Log 4 / log 3 = 1.261... Since the dimension 1.261 is larger than the dimension 1 of the lines making up the curve, the snowflake curve is a fractal. [sci.fractals FAQ].

FRAD
communications Frame Relay Access Device.

fragile
brittle

fragment
fragmentaton

fragmentation
1. networking segmentation.
2. The process, or result, of splitting a large area of free memory (on disk or in main memory) into smaller non-contiguous blocks. This happens after many blocks have been allocated and freed. For example, if there is 3 kilobytes of free space and two 1k blocks are allocated and then the first one (at the lowest address) is freed, then there will be 2k of free space split between the two 1k blocks. The maximum size block that could then be allocated would be 1k, even though there was 2k free. The solution is to compact the free space by moving the allocated blocks to one end (and thus the free space to the other). See garbage collection.

FRAM
Ferroelectric Random Access Memory

frame
1. networking A data link layer packet which contains the header and trailer information required by the physical medium. That is, network layer packets are encapsulated to become frames.
See also datagram, encapsulation, packet, Maximum Transmission Unit.
2. programming (language implementation) See activation record.
3. hardware One complete scan of the active area of a display screen. Each frame consists of a number N of horizontal scan lines, each of which, on a computer display, consists of a number M of pixels. N is the vertical resolution of the display and M is the horizontal resolution. The rate at which the displayed image is updated is the refresh rate in frames per second.
(2000-10-07)

frame buffer
hardware Part of a video system in which an image is stored, pixel by pixel and which is used to refresh a raster image. The term video memory suggests a fairly static display whereas a frame buffer holds one frame from a sequence of frames forming a moving image.
Frame buffers are found in frame grabbers and time base correction systems, for example.
(1997-10-03)

Frame Check Sequence
communications (FCS) The extra characters added to a frame for error detection and correction(?). FCS is used in X.25, HDLC, Frame Relay, and other data link layer protocols.
(1998-02-27)

frame grabber
hardware A device that captures a single frame from an analog video signal (from a video camera or VCR) and stores it as a digital image under computer control.
(1997-07-11)

FrameKit
language A frame language.
[ The FrameKit User's Guide , E. Nyberg, TR CMU- CMT-88-MEMO, CMU 1988].
(1994-10-20)

FrameMaker
text A commercial document preparation program produced by Frame Technology Corporation who were taken over by Adobe Systems, Inc. in 1995/6. FrameMaker is available for a wide variety of workstations and is designed for technical and scientific documents. It uses a powerful system of templates and paragraph styles to control WYSIWYG formatting. It supports graphics, tables, and contents pages among other things.
Version: FrameMaker 6, due April 2000.
See also Maker Interchange Format.
(2000-04-04)

frame pointer
A pointer to the current activation record in an implementation of a block structured language.
(1994-10-20)

frame rate
graphics The number of frames of an animation which are displayed every second, measured in frames per second (fps). The higher the frame rate, the smoother the animation will appear but the more processing power and system bandwidth is required.
At less than 30 fps, the human eye can see the new pictures coming onto the screen.
(2000-02-02)

Frame Relay
communications A DTE-DCE interface specification based on LAPD (Q.921), the Integrated Services Digital Network version of LAPB (X.25 data link layer). A common specification was produced by a consortium of StrataCom, Cisco, Digital, and Northern Telecom.
Frame Relay is the result of wide area networking requirements for speed; LAN-WAN and LAN-LAN internetworking; bursty data communications; multiplicity of protocols and protocol transparency. These requirements can be met with technology such as optical fibre lines, allowing higher speeds and fewer transmission errors; intelligent network end devices (personal computers, workstations, and servers); standardisation and adoption of ISDN protocols. Frame Relay could connect dedicated lines and X.25 to ATM, SMDS, BISDN and other fast packet technologies.
Frame Relay uses the same basic data link layer framing and Frame Check Sequence so current X.25 hardware still works. It adds addressing (a 10-bit Data Link Connection Identifier (DLCI)) and a few control bits but does not include retransmissions, link establishment, windows or error recovery. It has none of X.25's session layer but adds some simple interface management. Any network layer protocol can be used over the data link layer Frames.
Frame Relay Resource Center (http://www.alliancedatacom.com/framerelay.asp).
(2000-07-14)

Frame Relay Access Device
communications (FRAD) Hardware and software that turns packets from TCP, SNA, IPX, etc into frames that can be sent over a Frame Relay wide area network.
FRADs are a hot topic in data comms because companies like Netlink, Motorola, Stratacom are making lots of money out of them.
(1995-11-17)

frames per second
unit (fps) The unit of measurement of the frame rate of a moving image.
(2000-02-02)

Frame Technology Corporation
company The company which developed FrameMaker, taken over by Adobe Systems, Inc. in late 1995/early 1996.
(1995-01-30)

framework
In object-oriented systems, a set of classes that embodies an abstract design for solutions to a number of related problems.
(1995-01-30)

Framework 4
A European Union funding programme, the information technology portion of which replaced ESPRIT.
(1994-09-19)

framing specification
A specification of the protocol bits that surround the data bits on a communications channel to allow the data to be framed into chunks, like start and stop bits in EIA-232. It allows a receiver to synchronize at points along the data stream.
(1995-01-13)

FRANK
[ Using BINS for Interprocess Communication , P.C.J. Graham, SIGPLAN Notices 20(2):32-41 (Feb 1985)].
(1995-01-13)

Franz Lisp
language A MacLisp-like dialect of Lisp, developed primarily for work in symbolic algebra by R. Fateman et al at Ucb in about 1980. It was named after the Hungarian composer Franz Liszt (1811-1886). Franz Lisp was written in C and includes a compiler called Liszt .
[ The FRANZ LISP Manual , J.K. Foderaro et al. UC Berkeley 1980].
Version: Opus 38.22. Liszt 8.08.
(ftp://ted.cs.uidaho.edu/pub/hol/franz.tar.Z)
(2001-12-04)

Fraunhofer Gesellschaft
company (FhG, FhG IIS, Institut für Integrierte Schaltungen) A german company, named after the physicist. IIS is Integrated Circuit Institute.
FhG are known for their research on audio compression, especially MPEG-1 Layer-3 (MP3).
(2001-12-04)

FRED
Robert Carr. Language used by Framework, Ashton-Tate.
[Jargon File]

fred
1. The personal name most frequently used as a metasyntactic variable (see foo). Allegedly popular because it's easy for a non-touch-typist to type on a standard QWERTY keyboard. Unlike J. Random Hacker or J. Random Loser , this name has no positive or negative loading (but see Mbogo, Dr. Fred). See also barney.
2. An acronym for Flipping Ridiculous Electronic Device ; other F-verbs may be substituted for flipping .

Fredette's Operating System Interface Language
language, operating system (FOSIL) A portable job control language for IBM OS360, UNIVAC EXEC 8 and Honeywell GCOS.
[ Fredette's Operating System Interface Language (FOSIL) , G.N. Baird in Command Languages, C. Unger ed, N-H 1973].
(2000-08-06)

frednet
/fred'net/ Used to refer to some random and uncommon protocol encountered on a network. We're implementing bridging in our router to solve the frednet problem.
[Jargon File]

free
See free software, free variable.

FreeBSD
operating system A free operating system based on the BSD 4.4-lite release from Computer Systems Research Group at the University of California at Berkeley.
FreeBSD requires an ISA, EISA, VESA, or PCI based computer with an Intel 80386SX to Pentium CPU (or compatible AMD or Cyrix CPU) with 4 megabytes of RAM and 60MB of disk space.
Some of FreeBSD's features are: preemptive multitasking with dynamic priority adjustment to ensure smooth and fair sharing of the computer between applications and users. Multiuser access - peripherals such as printers and tape drives can be shared between all users. Complete TCP/IP networking including SLIP, PPP, NFS and NIS. Memory protection, demand-paged virtual memory with a merged VM/buffer cache design. FreeBSD was designed as a 32 bit operating system. X Window System (X11R6) provides a graphical user interface. Binary compatibility with many programs built for SCO, BSDI, NetBSD, 386BSD, and Linux. Hundreds of ready-to-run applications in the FreeBSD ports collection. FreeBSD is source code compatible with most popular commercial Unix systems and thus most applications require few, if any, changes to compile. Shared libraries. A full compliment of C, C++, Fortran and Perl development tools and many other languages. Source code for the entire system is available. Extensive on-line documentation.
Home (http://www.freebsd.org/).
(ftp://ftp.freebsd.org/pub/FreeBSD) or try your nearest mirror site listed at the home site or buy the CD-ROM from Walnut Creek.
(1998-11-24)

FreeHEP
An organisation offering a repository of software and related information for high energy physics applications.

Freenet
Community-based bulletin board system with e-mail, information services, interactive communications, and conferencing. Freenets are funded and operated by individuals and volunteers - in one sense, like public television. They are part of the National Public Telecomputing Network (NPTN), an organisation based in Cleveland, Ohio, devoted to making computer telecommunication and networking services as freely available as public libraries.

FreePPP
networking The latest incarnation of MacPPP. FreePPP continues to be used by many MacOS users as an alternative to Apple's TCP/IP stack.
Home (http://www.rockstar.com/ppp.shtml).
(2000-11-25)

freerexx
REXX interpreters for Unix in C++.
(ftp://rexx.uwaterloo.ca/pub/freerexx/rx102.tar.Z)

free software
According to Richard Stallman and the Free Software Foundation, free software is software that everyone is free to copy, redistribute and modify. That implies it must be available as source code. It does not imply that it is free of charge, so anyone can sell free software so long as they don't impose any new restrictions on its redistribution or use.
This dictionary is free in this sense, though it is not really software.
There are many other kinds of free software in the more obvious sense of free of charge . See -ware .

Free Software Foundation
body (FSF) An organisation devoted to the creation and dissemination of free software, i.e. software that is free from licensing fees or restrictions on use. The Foundation's main work is supporting the GNU project, started by Richard Stallman (RMS), partly to proselytise for his position that information is community property and all software source should be shared.
The GNU project has developed the GNU Emacs editor and a C compiler, gcc, replacements for many Unix utilities and many other tools. A complete Unix-like operating system (HURD) is in the works (April 1994).
Software is distributed under the terms of the GNU General Public License, which also provides a good summary of the Foundation's goals and principles. The Free Software Foundation raises most of its funds from distributing its software, although it is a charity rather than a company. Although the software is freely available (e.g. by FTP - see below) users are encouraged to support the work of the FSF by paying for their distribution service or by making donations.
One of the slogans of the FSF is Help stamp out software hoarding! This remains controversial because authors want to own, assign and sell the results of their labour. However, many hackers who disagree with RMS have nevertheless cooperated to produce large amounts of high-quality software for free redistribution under the Free Software Foundation's imprimatur.
See copyleft, General Public Virus, GNU archive site.
(ftp://ftp.gnu.ai.mit.edu)
Unofficial WWW pages: PDX (http://www.cs.pdx.edu/~trent/gnu/), DeLorie (http://www.delorie.com/gnu/).
E-mail: gnu@gnu.org .
Address: Free Software Foundation, Inc., 675 Massachusetts Avenue, Cambridge, MA 02139, USA.
Telephone: +1 (617) 876 3296.
(1995-12-10)

free variable
1. A variable referred to in a function, which is not an argument of the function. In lambda-calculus, x is a bound variable in the term M = x . T, and a free variable of T. We say x is bound in M and free in T. If T contains a subterm x . U then x is rebound in this term. This nested, inner binding of x is said to shadow the outer binding. Occurrences of x in U are free occurrences of the new x.
Variables bound at the top level of a program are technically free variables within the terms to which they are bound but are often treated specially because they can be compiled as fixed addresses. Similarly, an identifier bound to a recursive function is also technically a free variable within its own body but is treated specially.
A closed term is one containing no free variables.
See also closure, lambda lifting, scope.
2. In logic, a variable which is not quantified (see quantifier).

freeware
legal Software, often written by enthusiasts and distributed at no charge by users' groups, or via electronic mail, local bulletin boards, Usenet, or other electronic media.
At one time, freeware was a trademark of Andrew Fluegelman, the author of the well-known MS-DOS communications program PC-TALK III. It wasn't enforced after his mysterious disappearance and presumed death in 1984.
Freeware should not be confused with free software (roughly, software with unrestricted redistribution) or shareware (software distributed without charge for which users can pay voluntarily).
[Jargon File]
(1995-08-06)

freeze
To lock an evolving software distribution or document against changes so it can be released with some hope of stability. Carries the strong implication that the item in question will unfreeze at some future date.
There are more specific constructions on this term. A feature freeze , for example, locks out modifications intended to introduce new features but still allows bugfixes and completion of existing features; a code freeze connotes no more changes at all. At Sun Microsystems and elsewhere, one may also hear references to code slush - that is, an almost-but-not-quite frozen state.
[Jargon File]

Frege, Gottlob
Gottlob Frege

frequency division multiple access
frequency division multiplexing

frequency division multiplexing
communications (FDM) The simultaneous transmission of multiple separate signals through a shared medium (such as a wire, optical fibre, or light beam) by modulating, at the transmitter, the separate signals into separable frequency bands, and adding those results linearly either before transmission or within the medium. While thus combined, all the signals may be amplified, conducted, translated in frequency and routed toward a destination as a single signal, resulting in economies which are the motivation for multiplexing. Apparatus at the receiver separates the multiplexed signals by means of frequency passing or rejecting filters, and demodulates the results individually, each in the manner appropriate for the modulation scheme used for that band or group.
Bands are joined to form groups, and groups may then be joined into larger groups; this process may be considered recursively, but such technique is common only in large and sophisticated systems and is not a necessary part of FDM.
Neither the transmitters nor the receivers need be close to each other; ordinary radio, television, and cable service are examples of FDM. It was once the mainstay of the long distance telephone system. The more recently developed time division multiplexing in its several forms lends itself to the handling of digital data, but the low cost and high quality of available FDM equipment, especially that intended for television signals, make it a reasonable choice for many purposes.
Compare wavelength division multiplexing, time division multiplexing, code division multiplexing.
(2001-06-28)

Frequency Modulation
communications (FM) A method of encoding data by varying the frequency of a constant amplitude carrier signal.
Contrast Amplitude Modulation.
(2001-04-02)

Frequency Shift Keying
communications (FSK) The use of frequency modulation to transmit digital data, i.e. two different carrier frequencies are used to represent zero and one.
FSK was originally used to transmit teleprinter messages by radio (RTTY) but can be used for most other types of radio and land-line digital telegraphy. More than two frequencies can be used to increase transmission rates.
(1997-07-14)

frequently asked question
convention (FAQ, or rarely FAQL, FAQ list) A document provided for many Usenet newsgroups (and, more recently, World-Wide Web services) which attempts to answer questions which new readers often ask. These are maintained by volunteers and posted regularly to the newsgroup. You should always consult the FAQ list for a group before posting to it in case your question or point is common knowledge.
The collection of all FAQ lists is one of the most precious and remarkable resources on the Internet. It contains a huge wealth of up-to-date expert knowledge on many subjects of common interest. Accuracy of the information is greatly assisted by its frequent exposure to criticism by an interested, and occasionally well-informed, audience (the readers of the relevant newsgroup).
The main FTP archive for FAQs is on a computer called RTFM at MIT, where they can be accessed either by group (ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/) or by hierarchy (ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/). There is another archive at Imperial College (ftp://src.doc.ic.ac.uk/usenet/news-info/), London, UK and a World-Wide Web archive in Ohio (http://www.cis.ohio-state.edu/hypertext/faq/usenet/top.html), USA.
The FAQs are also posted to Usenet newsgroups: news:comp.answers, news:news.answers and news:alt.answers.
(1997-12-08)

Fresco
1. standard, programming An object-oriented API for graphical user interfaces, under development by the X Consortium as an open, multi-vendor standard.
2. language, specification An object-oriented specification language.
[ Refinement in Fresco , in Object Oriented Specification Case Studies, K. Lano et al eds, P-H 1993].
(1996-04-28)

Fresh
language
[ Fresh: A Higher-Order Language Based on Unification , G. Smolka, in Logic Programming: Functions, Relations and Equations , D. DeGroot et al, P-H 1986, pp. 469-524].
(1996-04-28)

friction feed
printer A method some printers and plotters use to move paper by rotating one or both of a pair of spring-loaded rubber-coated rollers with the paper sandwiched between them.
Friction feed printers are notorious for slipping when the rollers wear out, but can take standard typing paper.
For printers with a sheet feeder, friction feed is more appropriate than sprocket feed which requires the holes in the paper to engage with the sprockets of the feed mechanism.
(1997-07-09)

fried
1. hardware Non-working due to hardware failure; burnt out. Especially used of hardware brought down by a power glitch (see glitch), drop-outs, a short, or some other electrical event. (Sometimes this literally happens to electronic circuits! In particular, resistors can burn out and transformers can melt down, emitting noxious smoke - see friode, SED and LER. However, this term is also used metaphorically.) Compare frotzed.
2. jargon Of people, exhausted. Said particularly of those who continue to work in such a state. Often used as an explanation or excuse. Yeah, I know that fix destroyed the file system, but I was fried when I put it in. Especially common in conjunction with brain : My brain is fried today, I'm very short on sleep.
[Jargon File]
(1996-04-28)

Friend
Relationship between classes in the language C++.

FRINGE
C. Katz, GE, 1961. Subcomponent of GE-255 GECOM system. Sorting and merging of data, reports and file maintenance.

frink
/frink/ The unknown ur-verb, fill in your own meaning. Found especially on the Usenet newsgroup news:alt.fan.lemurs, where it is said that the lemurs know what frink means, but they aren't telling.
Compare gorets.
[Jargon File]
(1994-12-16)

friode
humour, electronics /fri:'ohd/ (TMRC) A reversible (that is, fused, blown, or fried) diode. A friode may have been a SED at some time.
See also LER.
[Jargon File]
(1996-04-28)

fritterware
An excess of capability that serves no productive end. The canonical example is font-diddling software on the Mac (see macdink); the term describes anything that eats huge amounts of time for quite marginal gains in function but seduces people into using it anyway. See also window shopping.
[Jargon File]

FRL
Frame Representation Language.
MIT.
[ The FRL Manual , R. Roberts et al, AI Memo 409, MIT AI Lab, 1977].
(1994-12-16)

FRMT-FTRN
Scientific language. 1976.

frob
/frob/ 1. [MIT] The TMRC definition was FROB = a protruding arm or trunnion ; by metaphoric extension, a frob is any random small thing; an object that you can comfortably hold in one hand; something you can frob (sense 2). See frobnitz.
2. Abbreviated form of frobnicate.
3. [MUD] A command on some MUDs that changes a player's experience level (this can be used to make wizards); also, to request wizard privileges on the professional courtesy grounds that one is a wizard elsewhere. The command is actually frobnicate but is universally abbreviated to the shorter form.
[Jargon File]

frobnicate
/frob'ni-kayt/ (Possibly from frobnitz, and usually abbreviated to frob, but frobnicate is recognised as the official full form). To manipulate or adjust, to tweak. One frequently frobs bits or other 2-state devices. Thus: Please frob the light switch (that is, flip it), but also Stop frobbing that clasp; you'll break it . One also sees the construction to frob a frob .
Usage: frob, twiddle, and tweak sometimes connote points along a continuum. Frob connotes aimless manipulation; twiddle connotes gross manipulation, often a coarse search for a proper setting; tweak connotes fine-tuning. If someone is turning a knob on an oscilloscope, then if he's carefully adjusting it, he is probably tweaking it; if he is just turning it but looking at the screen, he is probably twiddling it; but if he's just doing it because turning a knob is fun, he's frobbing it. The variant frobnosticate has also been reported.
(1994-12-16)

frobnitz
/frob'nits/, plural frobnitzem /frob'nit-zm/ or frobni /frob'ni:/ (TMRC) An unspecified physical object, a widget. Also refers to electronic black boxes. This rare form is usually abbreviated to frotz , or more commonly to frob. Also used are frobnule (/frob'n[y]ool/) and frobule (/frob'yool/). Starting perhaps in 1979, frobozz /fr*-boz'/ (plural: frobbotzim /fr*-bot'zm/) has also become very popular, largely through its exposure as a name via Zork. These variants can also be applied to nonphysical objects, such as data structures.
Pete Samson, compiler of the original TMRC lexicon, adds,q Under the TMRC (railway) layout were many storage boxes, managed (in 1958) by David R. Sawyer. Several had fanciful designations written on them, such as Frobnitz Coil Oil . Perhaps DRS intended Frobnitz to be a proper name, but the name was quickly taken for the thing . This was almost certainly the origin of the term.
[Jargon File]
(1994-12-16)

Frobozz Magic Programming Language
object-oriented language, functional language (FMPL of Accardi). A prototype-based, object-oriented, event-driven (mainly I/O events) interpreted language with functional features. Developed at the Experimental Computing Facility, University of California, Berkeley.
There is an interpreter by Jon Blow blojo@xcf.berkeley.edu .
Latest version: 1, as of 1992-06-02.
(ftp://xcf.berkeley.edu/src/local/fmpl)
Mailing list: fmpl@xcf.berkeley.edu .
E-mail: Jack Hsu tcl-archive@barkley.berkeley.edu .
(1992-06-02)

frogging
(University of Waterloo) 1. Partial corruption of a text file or input stream by some bug or consistent glitch, as opposed to random events like line noise or media failures. Might occur, for example, if one bit of each incoming character on a tty were stuck, so that some characters were correct and others were not.
See terminak for a historical example.
2. By extension, accidental display of text in a mode where the output device emits special symbols or mnemonics rather than conventional ASCII. This often happens, for example, when using a terminal or comm program on a device like an IBM PC with a special high-half character set and with the bit-parity assumption wrong. A hacker sufficiently familiar with ASCII bit patterns might be able to read the display anyway.
[Jargon File]

Frolic
A Prolog system in Common Lisp.
(ftp://ftp.cs.utah.edu/pub/frolic.tar.Z)
(1991-11-23)

front end
1. An intermediary computer that does set-up and filtering for another (usually more powerful but less friendly) machine (a back end ).
2. Software that provides an interface to another program behind it, which may not be as user-friendly. Probably from analogy with hardware front-ends that interfaced with mainframes.
[Jargon File]

front-end processor
(FEP) 1. A small computer necessary to enable an IBM mainframe using SNA to communicate beyond the limits of the dinosaur pen.
2. A small computer controlling the screen and keyboard of a Symbolics 3600 LISP Machine.

front side bus
hardware (FSB) The bus via which a processor communicates with its RAM and chipset; one half of the Dual Independent Bus, the other half being the backside bus. The L2 cache is usually on the FSB, unless it is on the same chip as the processor [example?].
In PCI systems, the PCI bus runs at half the FSB speed.
Intel's Pentium 60 processor used a bus speed and processor speed of 60 MHz. All later processors have used multipliers to increase the internal clock speed while maintaining the same external clock speed, e.g. the Pentium 90 used a 1.5x multiplier. Modern Socket 370 motherboards support multipliers from 4.5x to 8.0x, and FSB speeds from 50 MHz to a proposed 83 MHz standard. These higher speeds may cause problems with some PCI hardware.
Altering the FSB speed and the multiplier ratio are the two main ways of overclocking processors.
Toms Hardware - The Bus Speed Guide (http://www.tomshardware.com/busspeed.html).
Toms Hardware - The Overclocking Guide (http://www.tomshardware.com/overclock.html).
(2002-02-21)

frotz
/frots/ 1. See frobnitz.
2. mumble frotz : An interjection of mildest disgust.
[Jargon File]

frotzed
/frotst/ down because of hardware problems. Compare fried. A machine that is merely frotzed may be fixable without replacing parts, but a fried machine is more seriously damaged.

frowney
(Or frowney face ) See emoticon.
[Jargon File]

fry
1. To fail. Said especially of smoke-producing hardware failures. More generally, to become non-working. Usage: never said of software, only of hardware and humans. See fried, magic smoke.
2. To cause to fail; to roach, toast, or hose a piece of hardware. Never used of software or humans, but compare fried.

FS
1. file system file system.
2. character File Separator.

FSB
front side bus

fsck
operating system file system check. The Unix program that checks a file system for internal consistency and bad blocks etc. and can repair some faults.
fsck is often used after a crash when the file system has been left in an inconsistent state, e.g. due to incomplete flushing of buffers.
Used on Usenet newsgroup alt.sysadmin.recovery as substitute for fuck and became more main-stream after the Communications Decency Act.
(1998-03-06)

FSF
Free Software Foundation

FSK
Frequency Shift Keying

FSL
Formal Semantics Language.
A language for compiler writing.
[ A Formal Semantics for Computer Languages and its Application in a Compiler-Compiler , J.A. Feldman, CACM 9(1) (Jan 1966)].
[Sammet 1969, p. 641].
(1995-01-23)

FSM
1. mathematics, algorithm, theory Finite State Machine.
2. networking FDDI Switching Module.
(3Com implements this device on its LAN switches).
[What is it?]
(1997-05-16)

FSP
File Service Protocol

fsplit
A tool to split up monolithic Fortran programs.

FT
fault tolerant

FTAM
File Transfer, Access, and Management: an application layer protocol for file transfer and remote manipulation (ISO 8571).

FTP
File Transfer Protocol

FTP archive
archive site

FTP by mail
A service offered by DEC to allow people without Internet access to get copies of files which are available by anonymous FTP. Send a message with just the word help in the body to ftpmail@decwrl.dec.com .

FTP server
networking A network server program or computer which responds to requests for files via FTP.
A busy Internet archive site may have one or more computers dedicated to running FTP server software. These will typically have hostnames beginning with ftp. , e.g. ftp.denet.dk.
(1998-07-02)

FTP Software, Inc.
company Developers of the original PC/TCP Packet Driver specification.
Address: 26 Princess St. Wakefield, MA 01880-3004. Telephone: +1 (617) 246 0900.
(1994-12-05)

FTTP
Do you mean FTP or HTTP?

FTX
operating system Stratus' Unix operating system.
(1998-07-06)

FUBAR
1. (WWII military slang) Fucked up beyond all recognition (or repair).
See foobar.
2. hardware The Failed UniBus Address Register in a VAX. A good example of how jargon can occasionally be snuck past the suits.
Larry Robinson lrobins@indiana.edu reports the following nonstandard use for FUBAR:
One day somebody got mad at the card reader (or card eater that day) on our Univac 3200. He taped a sign, This thing is FUBAR , on the metal weight that sits on the stack of unread cards. The sign stayed there for over a year. One day, somebody said, Don't forget to put the fubar on top of the stack . It stuck! We called that weight the fubar until they took away the machine. The replacement card reader had two spring loaded card clamps, one for the feed and one for the return, and we called THOSE fubars until we dumped punch cards.
Incidently, the way he taped the sign on the weight made up for the lack of a little nylon piece that was missing from it, and fixed the card reader. That's why the sign stayed there.
[Jargon File]
(1997-03-18)

FUD
jargon /fuhd/ An acronym invented by Gene Amdahl after he left IBM to found his own company: FUD is the fear, uncertainty, and doubt that IBM sales people instill in the minds of potential customers who might be considering [Amdahl] products. The idea, of course, was to persuade them to go with safe IBM gear rather than with competitors' equipment. This implicit coercion was traditionally accomplished by promising that Good Things would happen to people who stuck with IBM, but Dark Shadows loomed over the future of competitors' equipment or software.
[Jargon File]
(1995-05-23)

fudge
1. To perform in an incomplete but marginally acceptable way, particularly with respect to the writing of a program. I didn't feel like going through that pain and suffering, so I fudged it - I'll fix it later.
2. The resulting code.
[Jargon File]

fudge factor
A value or parameter that is varied in an ad hoc way to produce the desired result. The terms tolerance and slop are also used, though these usually indicate a one-sided leeway, such as a buffer that is made larger than necessary because one isn't sure exactly how large it needs to be, and it is better to waste a little space than to lose completely for not having enough. A fudge factor, on the other hand, can often be tweaked in more than one direction. A good example is the fuzz typically allowed in floating-point calculations: two numbers being compared for equality must be allowed to differ by a small amount; if that amount is too small, a computation may never terminate, while if it is too large, results will be needlessly inaccurate. Fudge factors are frequently adjusted incorrectly by programmers who don't fully understand their import. See also coefficient of X.

Fudgets
programming (From functional widgets ) Graphical user interface widgets available as The Fudget library - a toolkit for concurrent programming of graphical user interfaces, client/servers and more written in Haskell by Thomas Hallgren hallgren@cs.chalmers.se and Magnus Carlsson magnus@cs.chalmers.se .
Version: h9 1995-07-04 (Baastad Spring School Release).
Home (http://www.cs.chalmers.se/Fudgets/)
(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers)
(1996-03-17)

FUDGIT
A double-precision multi-purpose fitting program by Thomas Koenig ig25@rz.uni-karlsruhe.de . It can manipulate complete columns of numbers in the form of vector arithmetic. FUDGIT is also an expression language interpreter understanding most of C grammar except pointers. Morever, FUDGIT is a front end for any plotting program supporting commands from stdin, e.g. Gnuplot.
Version 2.27 runs on AIX, HP-UX, Linux, IRIX, NeXT, SunOS, Ultrix.
(ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/)
(1993-03-22)

FUD wars
/fuhd worz/ Political posturing, intended to create FUD, engaged in by hardware and software vendors ostensibly committed to standardisation but actually willing to fragment the market to protect their own shares. The Unix International vs. OSF conflict is but one outstanding example.
[Jargon File]
(1994-12-01)

Fuel-can
A derogatory term for the Atari Falcon.
(1994-12-22)

Fugue
language, music A music language implemented in Xlisp.
[ Fugue: A Functional Language for Sound Synthesis , R.B. Dannenberg et al, Computer 24(7):36-41 (Jul 1991)].
(1994-12-01)

Fujitsu
company A Japanese elecronics corporation. Fujitsu owns ICL, Amdahl Corporation, and DMR.
Home USA (http://www.fujitsu.com/), Japan (http://www.fujitsu.co.jp/index-e.html).
(2000-04-03)

full-custom
Design of integrated circuits at the transistor or polygon level. This is in contrast to the use of libraries of components. Full-custom design requires considerable skill and experience and is usually only feasible for simple circuits, especially ones with much repetition, such as memory device, where a small saving in the size and power consumption of a component will yeild a large overall saving.
(1994-12-01)

full-duplex
communications (fdx, from telegraphy) 1. A type of duplex communications channel which carries data in both directions at once.
On purely digital connections, full-duplex communication requires two pairs of wires. On analog networks or in digital networks using carriers, it is achieved by dividing the bandwidth of the line into two frequencies, one for sending, and the other for receiving.
2. An obsolete term for remote echo.
Compare simplex, half-duplex, double-duplex.
(2001-07-21)

full-duplex Switched Ethernet
networking (FDSE) A Switched Ethernet link which can carry data in both directions simultaneously, doubling transmission capacity from the usual 10 to 20 megabits per second.
(1996-06-20)

full laziness
functional programming A transformation, described by Wadsworth in 1971, which ensures that subexpressions in a function body which do not depend on the function's arguments are only evaluated once. E.g. each time the function
f x = x + sqrt 4
is applied, (sqrt 4) will be evaluated. Since (sqrt 4) does not depend on x, we could transform this to:
f x = x + sqrt4 sqrt4 = sqrt 4
We have replaced the dynamically created (sqrt 4) with a single shared constant which, in a graph reduction system, will be evaluated the first time it is needed and then updated with its value.
See also fully lazy lambda lifting, let floating.
(1994-11-09)

full-motion video
(FMV) Any system used to deliver moving video images and sound on a computer. Video images and sound are stored on disk; compact disc is preferred because of the amount of data required. Some form of video compression is used to reduce the amount of data and to allow it to be read from disk quickly enough. Compression can be relatively slow but decompression is done in real-time with the picture quality and frame rate varying with the processing power available, the size of the picture and whether it appears in a window or uses the whole screen.
Acorn Computers' system is called Replay and Apple Computer's is QuickTime.
Compare MPEG, H.261.
[IBM PC equivalent? Do they all use compression? Web page?]
(1994-11-09)

full outer join
outer join

fully associative cache
A cache where data from any address can be stored in any cache location. The whole address must be used as the tag. All tags must be compared simultaneously (associatively) with the requested address and if one matches then its associated data is accessed. This requires an associative memory to hold the tags which makes this form of cache more expensive. It does however solve the problem of contention for cache locations (cache conflict) since a block need only be flushed when the whole cache is full and then the block to flush can be selected in a more efficient way.
See also direct mapped cache, set associative cache.

Fully Automated Compiling Technique
language (FACT, Honeywell-800 Business Compiler ) A pre-COBOL English-like business data processing language for the Honeywell 800, developed ca. 1959.
[Sammet 1969, p. 327].
(1994-12-01)

fully lazy lambda lifting
John Hughes's optimisation of lambda lifting to give full laziness. Maximal free expressions are shared to minimise the amount of recalculation. Each inner sub-expression is replaced by a function of its maximal free expressions (expressions not containing any bound variable) applied to those expressions. E.g.
f = x . ( y . (+) (sqrt x) y)
((+) (sqrt x)) is a maximal free expression in ( y . (+) (sqrt x) y) so this inner abstraction is replaced with
( g . y . g y) ((+) (sqrt x))
Now, if a partial application of f is shared, the result of evaluating (sqrt x) will also be shared rather than re-evaluated on each application of f. As Chin notes, the same benefit could be achieved without introducing the new higher-order function, g, if we just extracted out (sqrt x).
This is similar to the code motion optimisation in procedural languages where constant expressions are moved outside a loop or procedure.
(1994-12-01)

fully qualified domain name
networking (FQDN) The full name of a system, consisting of its local hostname and its domain name, including a top-level domain (tld). For example, venera is a hostname and venera.isi.edu is an FQDN. An FQDN should be sufficient to determine a unique Internet address for any host on the Internet. This process, called name resolution , uses the Domain Name System (DNS).
With the explosion of interest in the Internet following the advent of the World-Wide Web, domain names (especially the most significant two components, e.g. sun.com , and especially in the .com tld) have become a valuable part of many companies' brand . The allocation of these, overseen by ICANN, has therefore become highly political and is performed by a number of different registrars. There are different registries for the different tlds.
See also network, the, network address.
(2000-03-25)

fum
[XEROX PARC] At PARC, often the third of the standard metasyntactic variables (after foo and bar). Competes with baz, which is more common outside PARC.
[Jargon File]

Fun
A typed lambda-calculus, similar to SOL[2]. On Understanding Types, Data Abstractions and Polymorphism , L. Cardelli et al, ACM Comp Surveys 17(4) (Dec 1985).

function
1. mathematics (Or map , mapping ) If D and C are sets (the domain and codomain) then a function f from D to C, normally written f : D - C is a subset of D x C such that:
1. For each d in D there exists some c in C such that (d,c) is an element of f. I.e. the function is defined for every element of D.
2. For each d in D, c1 and c2 in C, if both (d,c1) and (d,c2) are elements of f then c1 = c2. I.e. the function is uniquely defined for every element of D.
See also image, inverse, partial function.
2. programming Computing usage derives from the mathematical term but is much less strict. In programming (except in functional programming), a function may return different values each time it is called with the same argument values and may have side effects.
A procedure is a function which returns no value but has only side-effects. The C language, for example, has no procedures, only functions. ANSI C even defines a type, void, for the result of a function that has no result.
(1996-09-01)

functional
1. Working correctly.
2. Pertaining to functional programming.
3. higher-order function.

functional database
database, language A database which uses a functional language as its query language.
Databases would seem to be an inappropriate application for functional languages since, a purely functional language would have to return a new copy of the entire database every time (part of) it was updated. To be practically scalable, the update mechanism must clearly be destructive rather than functional; however it is quite feasible for the query language to be purely functional so long as the database is considered as an argument.
One approach to the update problem would use a monad to encapsulate database access and ensure it was single threaded. Alternative approaches have been suggested by Trinder, who suggests non-destructive updating with shared data structures, and Sutton who uses a variant of a Phil Wadler's linear type system.
There are two main classes of functional database languages. The first is based upon Backus' FP language, of which FQL is probably the best known example. Adaplan is a more recent language which falls into this category.
More recently, people have been working on languages which are syntactically very similar to modern functional programming languages, but which also provide all of the features of a database language, e.g. bulk data structures which can be incrementally updated, type systems which can be incrementally updated, and all data persisting in a database. Examples are PFL [Poulovassilis Small, VLDB-91], and Machiavelli [Ohori et al, ACM SIGMOD Conference, 1998].
Query optimisation is very important for database languages in general and the referential transparency of functional languages allows optimisations which would be harder to verify in presence of side-effects.
[Trinder, P., Referentially transparent database languages , 1989 Glasgow Workshop on Functional programming]
[Breazu-Tannen et al., DBPL-91].
[Poulovassilis, VLDB-94].
(1995-05-09)

functional dependency
database Given a relation R (in a relational database), attribute Y of R is functionally dependent on attribute X of R and X of R functionally determines Y of R (in symbols R.X - R.Y) if and only if each X in R has associated with it precisely one Y in R (at any one time). Attributes X and Y may be composite.
This is very close to a function in the mathematical sense.
(1997-09-01)

functionality
programming Waffle for features or function . The capabilities or behaviours of a program, part of a program, or system, seen as the sum of its features. Roughly, the things it can do . Generally used in a comparitive sense, e.g. The latest update adds some useful functionality .
(1997-07-14)

functional language
language A language that supports and encourages functional programming.
(1995-11-08)

functional program
language A program employing the functional programming approach or written in a functional language.
(1995-11-07)

functional programming
programming (FP) A program in a functional language consists of a set of (possibly recursive) function definitions and an expression whose value is output as the program's result. Functional languages are one kind of declarative language. They are based on the typed lambda-calculus with constants. There are no side-effects to expression evaluation so an expression (e.g. a function applied to certain arguments) will always evaluate to the same value (if its evaluation terminates). Furthermore, an expression can always be replaced by its value without changing the overall result (referential transparency).
The order of evaluation of subexpressions is determined by the language's evaluation strategy. In a strict (call-by-value) language this will specify that arguments are evaluated before applying a function whereas in a non-strict (call-by-name) language arguments are passed unevaluated.
Programs written in a functional language are generally compact and elegant, but have tended, until recently, to run slowly and require a lot of memory.
Examples of functional languages are Clean, FP, Haskell, Hope, LML, Miranda and SML. Many other languages such as Lisp have a subset which is purely functional but also contain non-functional constructs.
See also lazy evaluation, reduction.
Lecture notes (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.ps) or the same in dvi-format (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.dvi).
FAQ (http://www.cs.nott.ac.uk/Department/Staff/gmh/faq.html).
SEL-HPC Article Archive (http://www.lpac.ac.uk/SEL-HPC/Articles/).
(1999-01-08)

functional programming language
language A language that supports and encourages functional programming.
(1995-11-08)

functional requirements
specification What a system should be able to do, the functions it should perform.
This term is used at both the user requirements analysis and software requirements specifications phases in the software life-cycle.
An example of a non-functional requirement is an initialisation sequence incorporated into the software that is specific to a given customer.
(2001-05-22)

functional specification
programming, project A description of what a system (e.g. a piece of software) does or should do (but not how it should do it). The functional specification is one of the inputs to the design process.
See IEEE/ANSI Std. 610.12-1990.
(1999-04-07)

functional testing
testing (Or black-box testing , closed-box testing ) The application of test data derived from the specified functional requirements without regard to the final program structure.
(1996-05-15)

functional unit
A subsystem of the central processing unit of a computer. E.g. arithmetic and logic unit, memory address register, barrel shifter, register file.
(1995-02-10)

function application
A function applied to (some of) its arguments. If it is not applied to all its argument then it is a partial application . Application is usually written in the form f(x) but some languages such as command-line interpreters and many functional languages use juxtaposition: f x. Lisp places the parentheses around the whole application: (f x).

function complete
programming State of a software component or system such that each function described by the software's functional specification can be reached by at least one functional path, and attempts to operate as specified.
(1999-04-07)

Function Graph Language
(FGL) Used as the machine language for the AMPS (Applicative Multi-Processing System) proposed by Robert Keller, Gary Lindstrom and Suhas Patil at the University of Utah.

function key
hardware (From the IBM 3270 terminal's Programmed Function Keys (PF keys)) One of a set of special keys on a computer or terminal keyboard which can be programmed so as to cause an application program to perform certain actions.
Function keys on a terminal may either generate short fixed sequences of characters, often beginning with the escape character (ASCII 27), or the characters they generate may be configured by sending special character sequences to the the terminal.
On a microcomputer keyboard, the function keys may generate a fixed, single byte code, outside the normal ASCII range, which is translated into some other configurable sequence by the keyboard device driver or interpreted directly by the application program.
(1995-02-07)

Function Point Analysis
programming (FPA) A standard metric for the relative size and complexity of a software system, originally developed by Alan Albrecht of IBM in the late 1970s.
Functon points (FPs) can be used to estimate the relative size and complexity of software in the early stages of development - analysis and design. The size is determined by identifying the components of the system as seen by the end-user: the inputs, outputs, inquiries, interfaces to other systems, and logical internal files. The components are classified as simple, average, or complex. All of these values are then scored and the total is expressed in Unadjusted FPs (UFPs). Complexity factors described by 14 general systems characteristics, such as reusability, performance, and complexity of processing can be used to weight the UFP. Factors are also weighted on a scale of 0 - not present, 1 - minor influence, to 5 - strong influence. The result of these computations is a number that correlates to system size.
Although the FP metric doesn't correspond to any actual physical attribute of a software system (such as lines of code or the number of subroutines) it is useful as a relative measure for comparing projects, measuring productivity, and estimating the amount a development effort and time needed for a project.
See also International Function Point Users Group.
(1996-05-16)

functor
In category theory, a functor F is an operator on types. F is also considered to be a polymorphic operator on functions with the type
F : (a - b) - (F a - F b).
Functors are a generalisation of the function map . The type operator in this case takes a type T and returns type list of T . The map function takes a function and applies it to each element of a list.
(1995-02-07)

funky
Said of something that functions, but in a slightly strange, klugey way. It does the job and would be difficult to change, so its obvious non-optimality is left alone. Often used to describe interfaces. The more bugs something has that nobody has bothered to fix because workarounds are easier, the funkier it is. TECO and UUCP are funky. The Intel i860's exception handling is extraordinarily funky. Most standards acquire funkiness as they age. The new mailer is installed, but is still somewhat funky; if it bounces your mail for no reason, try resubmitting it. This UART is pretty funky. The data ready line is active-high in interrupt mode and active-low in DMA mode.
[Jargon File]

FUNLOG
Functional programming plus unification. Lazy in the sense that expressions are reduced only if they are not unifiable.
[ FUNLOG: A Computational Model Integrating Logic Programming and Functional Programming , P.A. Subrahmanyam et al, in Logic Programming: Functions, Relations and Equations, D. DeGroot et al eds, P-H 1986].

FunnelWeb
A literate-programming tool by Ross Williams ross@spam.adelaide.edu.au . It emphasises simplicity and reliability. It provides a macro facility and assists in the production of typeset documentation. It is independent of the input programming language.
Posted to comp.sources.unix volume 26 under CopyLeft. Runs on Sun, Vax, Macintosh and IBM PC.
(1993-04-11)

funny money
Notional units of computing time and/or storage handed to students at the beginning of a computer course; also called play money or purple money (in implicit opposition to real or green money).
In New Zealand and Germany the odd usage paper money has been recorded; in Germany, the particularly amusing synonym transfer ruble commemorates the funny money used for trade between COMECON countries back when the Soviet Bloc still existed.
When your funny money ran out, your account froze and you needed to go to a professor to get more. Fortunately, the plunging cost of time-sharing cycles has made this less common. The amounts allocated were almost invariably too small, even for the non-hackers who wanted to slide by with minimum work. In extreme cases, the practice led to small-scale black markets in bootlegged computer accounts. By extension, phantom money or quantity tickets of any kind used as a resource-allocation hack within a system.
[Jargon File]

furigana
human language, Japanese (Or rubi ) Small hiragana, written above kanji (and these days sometimes above Latin characters) as a phonetic comment and reading aid. The singular and plural are both furigana .
(2000-12-30)

furrfu
jargon Written-only rot13 Sheesh! . furrfu evolved in mid-1992 as a response to postings repeating urban myths on newsgroup news:alt.folklore.urban, after some posters complained that Sheesh! as a response to newbies was being overused.
(1995-10-25)

FUSE
A DEC software development environment for ULTRIX, offering an integrated toolkit for developing, testing, debugging and maintenance.

FUSION
Software package supplied by Network Research Corporation claiming to connect various different configurations of LAN.

fusion
programming A program transformation where a composition of two functions is replaced by in-lining them and combining their bodies. E.g.
f x = g (h x)== f x = g (2 * x) g x = x + 1f x = 2 * x + 1 h x = 2 * x
This has the beneficial effect of reducing the number of function calls. It can be especially useful where the intermediate result is a large data structure which can be eliminated.
See also vertical loop combination.
(1994-12-05)

FutureBasic
language A BASIC compiler for the Macintosh.
(http://www.stazsoftware.com/futurebasic/).
[Summary? Version?]
(2002-08-28)

future date testing
testing The process of setting a computer's date to a future date to test a program's (expected or unexpected) date sensitivity. Future date testing only shows the effects of dates on the computer(s) under scrutiny, it does not take into account knock-on effects of dates on other connected systems.
(2000-09-11)

futz
jargon To waste time on non-productive activity. Not normally used for game playing.
(1995-03-27)

fuzzball
A DEC LSI-11 running a particular suite of homebrewed software written by Dave Mills and assorted co-conspirators, used in the early 1980s for Internet protocol testbedding and experimentation. These were used as NSFnet backbone sites in its early 56KB-line days. A few were still active on the Internet in early 1991, doing odd jobs such as network time service.
[Jargon File]
(1994-12-05)

fuzzy computing
fuzzy logic

fuzzy logic
A superset of Boolean logic dealing with the concept of partial truth -- truth values between completely true and completely false . It was introduced by Dr. Lotfi Zadeh of UCB in the 1960's as a means to model the uncertainty of natural language.
Any specific theory may be generalised from a discrete (or crisp ) form to a continuous (fuzzy) form, e.g. fuzzy calculus , fuzzy differential equations etc. Fuzzy logic replaces Boolean truth values with degrees of truth which are very similar to probabilities except that they need not sum to one. Instead of an assertion pred(X), meaning that X definitely has the property associated with predicate pred , we have a truth function truth(pred(X)) which gives the degree of truth that X has that property. We can combine such values using the standard definitions of fuzzy logic:
truth(not x) = 1.0 - truth(x) truth(x and y) = minimum (truth(x), truth(y)) truth(x or y) = maximum (truth(x), truth(y))
(There are other possible definitions for and and or , e.g. using sum and product). If truth values are restricted to 0 and 1 then these functions behave just like their Boolean counterparts. This is known as the extension principle .
Just as a Boolean predicate asserts that its argument definitely belongs to some subset of all objects, a fuzzy predicate gives the degree of truth with which its argument belongs to a fuzzy subset.
Usenet newsgroup: news:comp.ai.fuzzy.
E-mail servers: fuzzynet@aptronix.com , rnalib@its.bldrdoc.gov , fuzzy-server@til.com .
(ftp://ftp.hiof.no/pub/Fuzzy), (ftp://ntia.its.bldrdoc.gov/pub/fuzzy).
FAQ (ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/fuzzy-logic).
James Brule, Fuzzy systems - a tutorial , 1985 (http://life.anu.edu.au/complex_systems/fuzzy.html).
STB Software Catalog (http://krakatoa.jsc.nasa.gov/stb/catalog.html), includes a few fuzzy tools.
[H.J. Zimmerman, Fuzzy Sets, Decision Making and Expert Systems , Kluwer, Dordrecht, 1987].
[ Fuzzy Logic, State of the Art , Ed. R. Lowen, Marc Roubens, Theory and Decision Library, D: System theory, Knowledge Engineering and Problem Solving 12, Kluwer, Dordrecht, 1993, ISBN 0-7923-2324-6].
(1995-02-21)

fuzzy subset
In fuzzy logic, a fuzzy subset F of a set S is defined by a membership function which gives the degree of membership of each element of S belonging to F.

fweep
(WPI) One step below a gweep, a person who uses the system solely to play games and use electronic mail.
Compare dweeb, twink, terminal junkie, tourist, weenie.
(1995-01-31)

FWIW
For what it's worth.

fx
networking The country code for metropolitan France.
Apprently not widely used.
(1999-01-27)

FX-87
Effects. A polymorphic language based on Scheme, allowing side effects and first-class functions. It attempts to integrate functional and imperative programming. Expressions have types, side effects (e.g. reading, writing or allocating) and regions (stating where the effects may occur).
Versions: FX-89, FX-90.
(ftp://brokaw.lcs.mit.edu/)
[ The FX-87 Reference Manual , D.K. Gifford gifford@lcs.mit.edu et al, MIT/LCS/TR-407, Oct 1987].
(1995-01-31)

FX-90
A language with partial type and effect reconstruction and first-class modules.
(1995-01-31)

FYA
For your amusement.

FYI
For Your Information

FYI4
[Malkin, G., and A. Marine, FYI on Questions and Answers: Answers to Commonly asked New Internet User Questions , FYI 4, RFC 1325, Xylogics, SRI, May 1992.]

1. language [ G: A Functional Language with Generic Abstract Data Types , P.A.G. Bailes, Computer Langs 12(2):69-94 (1987)].
2. language A language developed at Oregon State University in 1988 which combines functional programming, object-oriented programming, relational, imperative and logic programming (you name it we got it).
[ The Multiparadigm Language G , J. Placer, Computer Langs 16:235-258(1991)].
3. unit The abbreviated form of giga-.
[Jargon File]
(1996-08-12)

g
chat grin. An alternative to smiley.
[Jargon File]
(1998-01-18)

G2
A real-time expert system from Gensym Corporation.

G3
1. protocol, compression Group 3 fax.
2. hardware, processor PowerPC G3.
(1998-09-10)

G4
Group 4

GA
genetic algorithm

ga
networking The country code for Gabon.
(1999-01-27)

Gabriel
language A graphical DSP language for simulation and real systems.
[ A Design Tool for Hardware and Software for Multiprocessor DSP Systems, E.A. Lee, E. Goei, J. Bier S. Bhattacharya, DSP Systems, Proc ISCAS-89, 1989].
[Jargon File]
(1994-12-23)

gabriel
/gay'bree-*l/ (After Richard Gabriel) An unnecessary (in the opinion of the opponent) stalling tactic, e.g. tying one's shoelaces or combing one's hair repeatedly, asking the time, etc. Also used to refer to the perpetrator of such tactics. Also, pulling a Gabriel , Gabriel mode .
[Jargon File]
(1999-10-12)

Gabriel, Richard
Richard Gabriel

GADS
Picture retrieval language. Integrated Geographical Databases: The GADS Experience , P.E. Mantey et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp.193-198.

Gaelic
For automated test programs. Used in military, essentially replaced by ATLAS.

gag
Equivalent to choke, but connotes more disgust. Hey, this is Fortran code. No wonder the C compiler gagged. See also barf.
[Jargon File]

GAIA
GUI Application Interoperability Architecture. An OSF project.

GAL
hardware Generic Array Logic.
(1995-12-09)

Galaxy
language An extensible language in the vein of EL/1 and RCC.
[ Introduction to the Galaxy Language , Anne F. Beetem et al, IEEE Software 6(3):55-62].
(1995-12-09)

Galileo
[ Galileo: A Strongly Typed Interactive Conceptual Language , A. Albano et al, ACM Trans Database Sys 10(2):230-260 (June 1985)].

Gambit
language A variant of Scheme R3.99 supporting the future construct of Multilisp by Marc Feeley feeley@iro.umontreal.ca . Implementation includes optimising compilers for Macintosh (with Toolbox and built-in editor) and Motorola 680x0 Unix systems and HP300, BBN GP100 and NeXT. Version 2.0 conforms to the IEEE Scheme standard.
Gambit used PVM as its intermediate language.
(ftp://acorn.cs.brandeis.edu/dist), (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f7/ff764/Gambit_Terp). (ftp://ftp.iro.umontreal.ca/pub/parallele/gambit/).
Mailing list: gambit@trex.umontreal.ca.
(1998-02-10)

games
games The time you enjoy wasting is not time wasted. -- Bertrand Russell.
Here are some games-related pages on the Web: Imperial Nomic (http://www.mit.edu:8001/people/achmed/fascist/), Thoth's games and recreations page (http://www.cis.ufl.edu/~thoth/library/recreation.html), Games Domain (http://wcl-rs.bham.ac.uk/GamesDomain), Zarf'sList of Games on the Web (http://www.leftfoot.com/games.html), Dave's list of pointers to games resources (http://wcl-rs.bham.ac.uk/~djh/index.html), Collaborative Fiction (http://asylum.cid.com/fiction/fiction.html).
See also 3DO, ADL, ADVENT, ADVSYS, alpha/beta pruning, Amiga, CHIP-8, Core Wars, DROOL, empire, I see no X here., Infocom, Inglish, initgame, life, minimax, moria, mudhead, multi-user Dimension, nethack, ogg, plugh, rogue, SPACEWAR, virtual reality, wizard mode, wumpus, xyzzy, ZIL, zorkmid.
See also game theory.
(1996-03-03)

game tree
games A tree representing contingencies in a game. Each node in a game tree represents a possible position (e.g., possible configuration of pieces on a chessboard) in the game, and each branching ( edge in graph terms) represents a possible move.
(1998-11-14)

GAMMA
language 1. A language for matrices and generation of mathematical programming reports.
[ GAMMA 3.3 for MPS/MPSX, IBM System:/360 , Bonnor Moore Assocs (Mar 1975)].
2. A high-level parallel language.
[Research Directions in High-Level Parallel Languages, LeMetayer ed, Springer 1992].
(1994-11-29)

gamma correction
hardware Adjustments applied during the display of a digital representation of colour on a screen in order to compensate for the fact that the Cathode Ray Tubes used in computer monitors (and televisions) produce a light intensity which is not proportional to the input voltage. The light intensity is actually proportional to the input voltage raised to the inverse power of some constant, called gamma. Its value varies from one display to another, but is usually around 2.5.
Because it is more intuitive for the colour components (red, green and blue) to be varied linearly in the computer, the actual voltages sent to the monitor by the display hardware must be adjusted in order to make the colour component intensity on the screen proportional to the value stored in the computer's display memory. This process is most easily achieved by a dedicated module in the display hardware which simply scales the outputs of the display memory before sending them to the digital-to-analogue converters.
More expensive graphics cards and workstations (particularly those used for CAD applications) will have a gamma correction facility.
In combination with the white-point gamma correction is used to achieve precise colour matching.
Robert Berger's explanation of monitor gamma (http://www.cs.cmu.edu/afs/cs.cmu.edu/user/rwb/www/gamma.html).
[ Digital Imaging in C and the World Wide Web , W. David Schwaderer (http://www.itknowledge.com/)].
(1999-02-01)

GAMS
Guide to Available Mathematical Software

gamut
The gamut of a monitor is the set of colours it can display. There are some colours which can't be made up of a mixture of red, green and blue phosphor emissions and so can't be displayed by any monitor.
[Examples?]
(1994-11-29)

GAN
Generating and Analyzing Networks. GAN - A System for Generating and Analyzing Activity Networks , A. Schurmann, CACM 11(10) (Oct 1968).

GANDALF
A software development environment from Carnegie Mellon University.

gang bang
The use of large numbers of loosely coupled programmers in an attempt to wedge a great many features into a product in a short time. Though there have been memorable gang bangs (e.g. that over-the-weekend assembler port mentioned in Steven Levy's Hackers ), most are perpetrated by large companies trying to meet deadlines; the inevitable result is enormous buggy masses of code entirely lacking in orthogonality. When market-driven managers make a list of all the features the competition has and assign one programmer to implement each, the probability of maintaining a coherent (or even functional) design goes infinitesimal. See also firefighting, Mongolian Hordes technique, Conway's Law.
[Jargon File]

GAP
mathematics, tool Groups Algorithms and Programming.
A system for symbolic mathematics for computational discrete algebra, especially group theory, by Johannes Meier, Alice Niemeyer, Werner Nickel, and Martin Schonert of Aachen. GAP was designed in 1986 and implemented 1987. Version 2.4 was released in 1988 and version 3.1 in 1992.
Sun version (ftp://ftp.math.rwth-aachen.de/pub/gap)
[ GAP 3.3 Manual, M. Schonert et al, Lehrstuhl D Math, RWTH Aachen, 1993].
(1995-04-12)

GAPLog
General Amalgamated Programming with Logic. LOGPRO group, Linkoping Sweden. A restricted version of constraint logic programming, using S-unification but not restricted to a single domain.
[Chapter in forthcoming Springer book on ESPRIT]

garbageabetical order
humour 1. The result of using an insertion sort to merge data into an unsorted list.
2. The state of any file or list that is supposed to be sorted, but is not.
(1997-02-11)

garbage collect
garbage collection

garbage collection
programming (GC) The process by which dynamically allocated storage is reclaimed during the execution of a program. The term usually refers to automatic periodic storage reclamation by the garbage collector (part of the run-time system), as opposed to explicit code to free specific blocks of memory.
Automatic garbage collection is usually triggered during memory allocation when the amount free memory falls below some threshold or after a certain number of allocations. Normal execution is suspended and the garbage collector is run. There are many variations on this basic scheme.
Languages like Lisp represent expressions as graphs built from cells which contain pointers and data. These languages use automatic dynamic storage allocation to build expressions. During the evaluation of an expression it is necessary to reclaim space which is used by subexpressions but which is no longer pointed to by anything. This reclaimed memory is returned to the free memory pool for subsequent reallocation.
Without garbage collection the program's memory requirements would increase monotonically throughout execution, possibly exceeding system limits on virtual memory size.
The three main methods are mark-sweep garbage collection, reference counting and copying garbage collection.
See also the AI koan about garbage collection.
(1997-08-25)

Gargoyle
A language for compiler writing.
[J.V. Garwick, CACM 7(1):16-20, (Jan 1964)].
(1994-11-04)

Garnet
1. A graphical object editor and Macintosh environment.
2. A user interface development environment for Common Lisp and X11 from The Garnet project team. It helps you create graphical, interactive user interfaces.
Version 2.2 includes the following: a custom object-oriented programming system which uses a prototype-instance model. automatic constraint maintenance allowing properties of objects to depend on properties of other objects and be automatically re-evaluated when the other objects change. The constraints can be arbitrary Lisp expressions. Built-in, high-level input event handling. Support for gesture recognition. Widgets for multi-font, multi-line, mouse-driven text editing. Optional automatic layout of application data into lists, tables, trees or graphs. Automatic generation of PostScript for printing. Support for large-scale applications and data visualisation.
Also supplied are: two complete widget sets, one with a Motif look and feel implemented in Lisp and one with a custom look and feel. Interactive design tools for creating parts of the interface without writing code: Gilt interface builder for creating dialog boxes. Lapidary interactive tool for creating new widgets and for drawing application-specific objects. C32 spreadsheet system for specifying complex constraints.
Not yet available: Jade automatic dialog box creation system. Marquise interactive tool for specifying behaviours.
(ftp://a.gp.cs.cmu.edu/usr/garnet/garnet).
(1999-07-02)

GARP
A graphical language for concurrent programming.
[ Visual Concurrent Programmint in GARP , S.K. Goering er al, PARLE '89 v.II, LNCS 366, pp. 165-180].
(1994-11-03)

garply
/gar'plee/ A metasyntactic variable like foo, once popular among SAIL hackers.
[Jargon File]
(1994-11-03)

Gartner Group
company One of the biggest IT industry research firms.
Address: Connecticut, USA.
[URL?]
(1997-09-30)

gas
GNU assembler

GASP
Graph Algorithm and Software Package

gas plasma display
electronics A type of display containing super-energised neon gas, used mostly in flat monitor and television screens. Each pixel has a transistor that controls its colour and brightness.
Plasma (http://www.kipinet.com/mmp/mmp_apr96/dep_techwatch.html). Flat Screen Technology (http://www.montegonet.com/plasma.html). More about Gas Plasma (http://advancedplasma.com/whatis.html).
[How does it work?]
(1998-04-30)

GAT
Generalized Algebraic Translator. Improved version of IT. On IBM 650 RAMAC.
[Sammet 1969, p. 142].

GATE
GAT Extended? Based on IT.
[Sammet 1969, p. 139].

gate
hardware A low-level digital logic component. Gates perform Boolean functions (e.g. AND, NOT), store bits of data (e.g. a flip-flop), and connect and disconnect various parts of the overall circuit to control the flow of data (tri-state buffer).
In a CPU, the term applies particularly to the buffers that route data between the various functional units. Each gate allows data to flow from one unit to another or enables data from one output onto a certain bus.
(1999-09-02)

gated
/gayt-dee/ Gate daemon.
A program which supports multiple routing protocols and protocol families. It may be used for routing, and makes an effective platform for routing protocol research.
(ftp://gated.cornell.edu)
See also Exterior Gateway Protocol, Open Shortest Path First, Routing Information Protocol, routed.
(1994-12-07)

Gates
Bill Gates

gateway
1. networking A deprecated term for a device that enables data to flow between different networks (forming an internet).
Preferred terms are protocol converter (connects networks that use different protocols), router (connects two broadcast networks at layer 3 (network layer). Another example is a mail gateway, which is a layer 7 (application layer) gateway.
2. hypertext An interface between an information source and a World-Wide Web server. Common Gateway Interface is a standard for such interfaces. The information source can be any system that can be accessed by a program running on the web server. A typical example is a relational database.
(2000-05-24)

Gateway 2000
company One of the lagest US manufacturers of IBM compatibles, founded by CEO Ted Waitt in September 1985, in Sioux City, Iowa. In 1990 the company moved to North Sioux City, South Dakota.
In August 1994, quarterly profits were $4 million on sales of $617 million. Sales for the first quarter of 1997 were $1.42 billion.
On 1997-05-15 Gateway bought the Amiga brand.
Home (http://www.gw2k.com/).
(1998-07-30)

Gauss
1. person Carl Friedrich Gauss
2. statistics Gaussian distribution.
See normal distribution.
3. unit The unit of magnetic field strength. 1 gauss = 1 Maxwell / cm^2.
A good loudspeaker coil magnet flux density is of the order of 10 000 gauss.
(1995-03-18)

Gaussian distribution
statistics normal distribution.

gawk
tool, language GNU awk. Gawk is a superset of standard awk and includes some Plan 9 features.
David Trueman and Arnold Robbins of Georgia Institute of Technology were developing it in 1993. It has been ported to Unix, MS-DOS, Macintosh, and Archimedes.
Latest version: 2.15.3, as of 1993-11-08.
Available by FTP from your nearest GNU archive site.
Mac version (ftp://archive.umich.edu/mac/utilities/developerhelps/macgawk2.11.cpt.hqx).
(2000-10-21)

GB
unit gigabytes or gigabits - see MB. Giga stands for 10^9 - a US billion, or in computing for 2^30.
The text of a thirty volume encyclopaedia would require about one gigabyte of ASCII storage.
(1997-03-27)

Gb
unit Gigabit. 10^9 bits. Might also be wrongly used for gigabyte (GB).
(1997-03-27)

gb
networking (Great Britain) A country code for United Kingdom. uk is generally used instead.
(1999-01-27)

g-bell
bell

GBIP
General Purpose Interface Bus

GBML
Genetics Based Machine Learning

gbps
gigabits per second

GC
1. garbage collection.
2. A storage allocator with garbage collection by Hans-J. Boehm and Alan J. Demers. Gc is a plug-in replacement for C's malloc. Since the collector does not require pointers to be tagged, it does not attempt to ensure that all inaccessible storage is reclaimed.
Version 3.4 has been ported to Sun-3, Sun-4, Vax/BSD, Ultrix, Intel 80386/Unix, SGI, Alpha/OSF/1, Sequent (single threaded), Encore (single threaded), RS/600, HP-UX, Sony News, A/UX, Amiga, NeXT.
(ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z)
(2000-04-19)

GCC
The GNU C compiler by Richard Stallman et al. A very high quality, very portable compiler for C, C++ and Objective C. The compiler is designed to support multiple front-ends and multiple back-ends by translating first into Register Transfer Language and from there into assembly code for the target architecture. Front ends for Ada, Pascal and Fortran are under development.
GNU C is a superset of K R C and ANSI C. The extensions include compound statement within an expression, pointers to labels, local labels, nested functions, typeof operator, compound and conditional expressions and casts allowed as lvalues, long long ints, arrays of variable length, macros with variable number of arguments, nonconstant initialisers, constructor expressions, labelled elements in initialisers, case ranges, variable attributes, global register variables.
Version: 2.5.7. Distributed under GNU General Public License. Ported to 3b1, AMD 29k, AIX385, DEC Alpha, Altos3068, Amix, ARM, Convex, CRDS, Elxsi, FX2800, FX80, Genix, HP320, Clipper, Intel 80386 - MS-DOS, ISC, SCO, SysV.3, SysV.4, Mach, BSD, Linux, MS Windows, OS/2 - Iris, i860, i960, Irix4, 68000, Motorola m88k SvsV.3, MIPS-news, mot3300, NeXT, NS32K, NWS3250-v.4, HP-PA, PC532, Plexus, Pyramid, ROMP, RS/6000, SPARC-SunOs, SPARC-Solaris2, SPARC-SysV.4, SPUR, Sun386, Tahoe, TOW, Umpis, VAX-VMS, VAX-BSD, WE32K, Hitachi-SH, Hitachi-8300.
dsp56k-gcc is Motorola's port to the Motorola DSP56000.
FTP gcc-2.X.X.tar.gz from your nearest GNU archive site. MS-DOS (ftp://oak.oakland.edu/pub/msdos/djgpp/). Mailing list: gnu.gcc.help. E-mail: gnu.gcc.bug (bug reports), gnu.gcc.announce (announcements).
[ Using and Porting GNU CC , R.M. Stallman, 1992-12-16].
(1993-11-27)

GCL
General Control Language. A portable job control language.
[ A General Control Interface for Satellite Systems , R.J. Dakin in Command Languages, C. Unger ed, N-H 1973].

G-Code
1. Johnsson Augustsson, Chalmers Inst Tech. Intermediate language used by the G-machine, an implementation of graph reduction based on supercombinators. Efficient Compilation of Lazy Evaluation , T. Johnsson, SIGPLAN Notices 19(6):58-69 (June 1984).
2. A machine-like language for the representation and interpretation of attributed grammars. Used as an intermediate language by the Coco compiler generator. A Compiler Generator for Microcomputers , P. Rechenberg et al, P-H 1989.

GCOS
operating system /jee'kohs/ An operating system developed by General Electric from 1962; originally called GECOS (the General Electric Comprehensive Operating System).
The GECOS-II operating system was developed by General Electric for the 36-bit GE-635 in 1962-1964. Contrary to rumour, GECOS was not cloned from System/360 [DOS/360?] - the GE-635 architecture was very different from the IBM 360 and GECOS was more ambitious than DOS/360.
GE Information Service Divsion developed a large special multi-computer system that was not publicised because they did not wish time sharing customers to challenge their bills. Although GE ISD was marketing DTSS - the first commercial time sharing system - GE Computer Division had no license from Dartmouth and GE-ISD to market it to external customers, so they designed a time-sharing system to sell as a standard part of GECOS-III, which replaced GECOS-II in 1967. GECOS TSS was more general purpose than DTSS, it was more a programmer's tool (program editing, e-mail on a single system) than a BASIC TSS.
The GE-645, a modified 635 built by the same people, was selected by MIT and Bell for the Multics project. Multics' infancy was as painful as any infancy. Bell pulled out in 1969 and later produced Unix.
After the buy-out of GE's computer division by Honeywell, GECOS-III was renamed GCOS-3 (General Comprehensive Operating System). Other OS groups at Honeywell began referring to it as God's Chosen Operating System , allegedly in reaction to the GCOS crowd's uninformed and snotty attitude about the superiority of their product. [Can anyone confirm this?] GCOS won and this led in the orphaning and eventual death of Honeywell Multics.
Honeywell also decided to launch a new product line called Level64, and later DPS-7. It was decided to mainatin, at least temporarily, the 36-bit machine as top of the line, because GCOS-3 was so successfull in the 1970s. The plan in 1972-1973 was that GCOS-3 and Multics should converge. This plan was killed by Honeywell management in 1973 for lack of resources and the inability of Multics, lacking databases and transaction processing, to act as a business operating system without a substantial reinvestment.
The name GCOS was extended to all Honeywell-marketed product lines and GCOS-64, a completely different 32-bit operating system, significanctly inspired by Multics, was designed in France and Boston. GCOS-62, another different 32-bit low-end DOS level was designed in Italy. GCOS-61 represented a new version of a small system made in France and the new DPS-6 16-bit minicomputer line got GCOS-6.
When the intended merge between GCOS-3 and Multics failed, the Phoenix designers had in mind a big upgrade of the architecture to introduce segmentation and capabilities. GCOS-3 was renamed GCOS-8, well before it started to use the new features which were introduced in next generation hardware.
The GCOS licenses were sold to the Japanese companies NEC and Toshiba who developed the Honeywell products, including GCOS, much further, surpassing the IBM 3090 and IBM 390.
When Honeywell decided in 1984 to get its top of the range machines from NEC, they considered running Multics on them but the Multics market was considered too small. Due to the difficulty of porting the ancient Multics code they considered modifying the NEC hardware to support the Multics compilers.
GCOS3 featured a good Codasyl database called IDS (Integrated Data Store) that was the model for the more successful IDMS.
Several versions of transaction processing were designed for GCOS-3 and GCOS-8. An early attempt at TP for GCOS-3, not taken up in Europe, assumed that, as in Unix, a new process should be started to handle each transaction. IBM customers required a more efficient model where multiplexed threads wait for messages and can share resources. Those features were implemented as subsystems.
GCOS-3 soon acquired a proper TP monitor called Transaction Driven System (TDS). TDS was essentially a Honeywell development. It later evolved into TP8 on GCOS-8. TDS and its developments were commercially successful and predated IBM CICS, which had a very similar architecture.
GCOS-6 and GCOS-4 (ex-GCOS-62) were superseded by Motorola 68000-based minicomputers running Unix and the product lines were discontinued.
In the late 1980s Bull took over Honeywell and Bull's management choose Unix, probably with the intent to move out of hardware into middleware. Bull killed the Boston proposal to port Multics to a platform derived from DPS-6. Very few customers rushed to convert from GCOS to Unix and new machines (of CMOS technology) are still to be introduced in 1997 with GCOS-8. GCOS played a major role in keeping Honeywell a dismal also-ran in the mainframe market.
Some early Unix systems at Bell Labs used GCOS machines for print spooling and various other services. The field added to /etc/passwd to carry GCOS ID information was called the GECOS field and survives today as the pw_gecos member used for the user's full name and other human-ID information.
[Jargon File]
(1998-04-23)

GCR
Group Code Recording

GCT
programming, tool A test-coverage tool by Brian Marick marick@testing.com , based on GNU C. Version 1.4 was ported to Sun-3, Sun-4, RS/6000, 68000, 88000, HP-PA, IBM 3090, Ultrix, Convex, SCO but not Linux, Solaris, or Microsoft Windows.
Commercial support is available from the author (+1 217 351 7228).
(ftp://cs.uiuc.edu/pub/testing/gct.file/).
(1999-07-08)

gd
networking The country code for Grenada.
(1999-01-27)

GDB
GNU debugger. The FSF's symbolic debugger for C, C++ and other languages. Developed by many people but most recently Fred Fish fnf@cygnus.com , Stu Grossman grossman@cygnus.com and John Gilmore gnu@cygnus.com all of Cygnus Support. GDB fills the same niche as dbx. Programs must be compiled to include debugging symbols.
Version 4.11. Distributed under GNU CopyLeft. It runs on most Unix variants, VMS, VXWorks, Amiga and MS-DOS.
FTP gdb-*.tar.[zZ] from a GNU archive site. E-mail: bug-gdb@gnu.org (bug reports).
(1993-10-29)

GDBPSK
Gaussian Differential Binary Phase Shift Keying

Gödel, Kurt
Kurt Gödel

GDI
Graphic Display Interface

GDMO
Guidelines for the Definition of Managed Objects.
A standard (ISO/IEC 10165-4) for defining data models on ASN.1

GDPL
Generalized Distributed Programming Language. GDPL - A Generalized Distributed Programming Language , K. Ng et al, Proc 4th Intl Conf Distrib Comp Sys, IEEE 1984, pp.69-78.

GE
General Electric

ge
networking The country code for Georgia.
(1999-01-27)

GEA
Graph Extended ALGOL. Extension of ALGOL 60 for graph manipulation, on UNIVAC 1108. A Language for Treating Graphs , S. Crespi-Reghizzi et al, CACM 13(5) (May 1970).

GEANT
A simulation, tracking and drawing package for HEP.

GECOM
language A language for the GE-255 series, like COBOL with some ALGOL features added, in use around 1964-5. GECOM included many of the early COBOL constructs including report writer and TABSOL (programming by truth table). Another (planned but unimplemented?) component was FRINGE.
[Sammet 1969, p. 329].
[Dates?]
(1996-09-15)

GECOS
GCOS

Gedanken
John Reynolds, 1970. GEDANKEN - A Simple Typeless Language Based on the Principle of Completeness and the Reference Concept , J.C. Reynolds, CACM 13(5):308-319 (May 1970).
[Jargon File]

gedanken
/g*-dahn'kn/ Ungrounded; impractical; not well-thought-out; untried; untested.
Gedanken is a German word for thought . A thought experiment is one you carry out in your head. In physics, the term gedanken experiment is used to refer to an experiment that is impractical to carry out, but useful to consider because it can be reasoned about theoretically. (A classic gedanken experiment of relativity theory involves thinking about a man in an elevator accelerating through space.) Gedanken experiments are very useful in physics, but must be used with care. It's too easy to idealise away some important aspect of the real world in constructing the apparatus .
Among hackers, accordingly, the word has a pejorative connotation. It is typically used of a project, especially one in artificial intelligence research, that is written up in grand detail (typically as a Ph.D. thesis) without ever being implemented to any great extent. Such a project is usually perpetrated by people who aren't very good hackers or find programming distasteful or are just in a hurry. A gedanken thesis is usually marked by an obvious lack of intuition about what is programmable and what is not, and about what does and does not constitute a clear specification of an algorithm. See also AI-complete, DWIM.

geef
(Ostensibly from gefingerpoken ) mung.
See also blinkenlights.
[Jargon File]
(1995-01-18)

geek
computer geek

geek out
To temporarily enter techno-nerd mode while in a non-hackish context, for example at parties held near computer equipment. Especially used when you need to do or say something highly technical and don't have time to explain: Pardon me while I geek out for a moment.
See computer geek, propeller head.
[Jargon File]
(1995-01-18)

GEI
A German software engineering company.

GE Information Services
networking, company One of the leading on-line services, started on 1st October 1985, providing subscribers with hundreds of special interest areas, computer hardware and software support, award-winning multi-player games, the most software files in the industry (over 200 000), worldwide news, sports updates, business news, investment strategies, and Internet electronic mail and fax (GE Mail). Interactive conversations (Chat Lines) and bulletin boards (Round Tables) with associated software archives are also provided.
GEnie databases (through the ARTIST gateway) allow users to search the full text of thousands of publications, including Dun Bradstreet Company Profiles; a GEnie NewsStand with more than 900 newspapers, magazines, and newsletters; a Reference Center with information ranging from Agriculture to World History; the latest in medical information from MEDLINE; and patent and trademark registrations.
Home (http://www.genie.com/). Shopping 2000 (http://www.shopping2000.com/shopping2000/genie/).
Telephone: +1 (800) 638 9636.
TDD: +1 (800) 238 9172.
E-mail: info@genie.geis.com .
[Connection with: GE Information Services, Inc., a division of General Electric Company, Headquarters: Rockville, Maryland, USA?]
(1995-04-13)

GEM
operating system One of the first commercially available GUIs. Borrowing heavily from the Macintosh WIMP-style interface it was available for both the IBM compatible market (being packaged with Amstrad's original PC series) and more successfully for the Atari ST range. The PC version was produced by Digital Research (more famous for DR-DOS, their MS-DOS clone), and was not developed very far. The Atari version, however, continued to be developed until the early 1990s and the later versions supported 24-bit colour modes, full colour icons and a nice looking sculpted 3D interface.
(1997-01-10)

gen
generate

gender mender
hardware (Or gender bender , gender blender , sex changer , and even homosexual adaptor ) A cable connector shell with either two male or two female connectors on it, used to correct the mismatches that result when some loser didn't understand the EIA-232C specification and the distinction between DTE and DCE. Used especially for EIA-232C parts in either the original D-25 or the IBM PC's D-9 connector.
There appears to be some confusion as to whether a male homosexual adaptor has pins on both sides (is doubly male) or sockets on both sides (connects two males).
[Jargon File]
(1995-04-16)

Gene Amdahl
person A former IBM engineer who founded Amdahl Corporation.
(1995-05-23)

General Electric
company (GE) A US company that manufactured computers from 1956 until 1970, when it sold its computer division to Honeywell and left the computer business. Notable GE computers were the GE265 which supported the Dartmouth Time-sharing System (DTSS), and the GE645 used for Multics development.
See also GCOS.
Not to be confused with the General Electric Company (GEC) in the UK (where FOLDOC's first seeds were sown).
(2002-02-27)

General Electric Comprehensive Operating System
GCOS

General Magic
A software company based in Mountain View, California. Products released in 1994 after four years in development include: Telescript - a communications-oriented programming language; Magic Cap - an OOPS designed for PDAs; and a new, third generation GUI. Motorola's Envoy, due for release in the third quarter of 1994, will use Magic Cap as its OS.
What PostScript did for cross-platform, device-independent documents, Telescript aims to do for cross-platform, network-independent messaging. Telescript protects programmers from many of the complexities of network protocols.
Competitors for Magic Cap include Microsoft's Windows for Pens/Winpad, PenPoint, Apple Computer's Newton Intelligence and GEOS by GeoWorks.
Home (http://www.genmagic.com/)
(1995-02-23)

General Packet Radio Service
communications (GPRS) A GSM data transmission technique that does not set up a continuous channel from a portable terminal for the transmission and reception of data, but transmits and receives data in packets. It makes very efficient use of available radio spectrum, and users pay only for the volume of data sent and received.
See also: packet radio.
(1999-09-12)

General Protection Failure
(GPF, or General Protection Fault) An addressing error, caught by the processor's memory protection hardware, that cannot be attributed to any expected condition such as a page fault.
(1995-03-28)

General Protection Fault
General Protection Failure

General Public Licence
spelling It's spelled General Public License .
(In the UK, licence is a noun and license is a verb (like advice / advise ) but in the US both are spelled license ).
(1995-05-12)

General Public License
legal (GPL, note US spelling) The licence applied to most software from the Free Software Foundation and the GNU project and other authors who choose to use it.
The licences for most software are designed to prevent users from sharing or changing it. By contrast, the GNU General Public License is intended to guarantee the freedom to share and change free software - to make sure the software is free for all its users. The GPL is designed to make sure that anyone can distribute copies of free software (and charge for this service if they wish); that they receive source code or can get it if they want; that they can change the software or use pieces of it in new free programs; and that they know they can do these things. The GPL forbids anyone to deny others these rights or to ask them to surrender the rights. These restrictions translate to certain responsibilities for those who distribute copies of the software or modify it.
See also General Public Virus.
(1994-10-27)

General Public Virus
software, legal A pejorative name for some versions of the GNU project copyleft or General Public License (GPL), which requires that any tools or application programs incorporating copylefted code must be source-distributed on the same terms as GNU code. Thus it is alleged that the copyleft infects software generated with GNU tools, which may in turn infect other software that reuses any of its code.
Copyright law limits the scope of the GPL to programs textually incorporating significant amounts of GNU code so GPL is only passed on if actual GNU source is transmitted. This used to be the case with the Bison parser skeleton until its licence was fixed.
(http://org.gnu.de/manual/bison/html_chapter/bison_2.html#SEC2).
[Jargon File]
(1999-07-14)

General Purpose Graphic Language
[ A General Purpose Graphic Language , H.E. Kulsrud, CACM 11(4) (Apr 1968)].

General Purpose Interface Bus
IEEE 488

General Purpose Language
(GPL) An ALGOL 60 variant with user-definable types and operators.
[Sammet 1969, p. 195].
[ The GPL Language , J.V. Garwick et al, TER-05, CDC, Palo Alto 1969].

General Purpose Macro-generator
language (GPM) An early text-processing language similar to TRAC, implemented on the Atlas 2.
[ A General Purpose Macrogenerator , C. Strachey, Computer J 8(3):225-241, Oct 1965].
[Was this Christopher Strachey?]
(1998-06-29)

General Recursion Theorem
mathematics Cantor's theorem, originally stated for ordinals, which extends inductive proof to recursive construction. The proof is by pasting together attempts (partial solutions).
[Better explanation?]
(1995-06-15)

generate
To produce something according to an algorithm or program or set of rules, or as a (possibly unintended) side effect of the execution of an algorithm or program.
The opposite of parse.
[Jargon File]
(1995-06-15)

generation
An attempt to classify the degree of sophistication of programming languages.
See First generation language -- Fifth generation language.
(1995-06-15)

Generic Array Logic
hardware, integrated circuit (GAL) A newer kind of Programmable Array Logic based on EEPROM storage cells, been pioneered by Lattice. GALs can be erased and reprogrammed and usually replace a whole set of different PALs (hence the name).
(1995-12-09)

Generic Expert System Tool
artificial intelligence (GEST) An expert system shell for Symbolics Lisp machine, with frames, forward chaining, backward chaining and fuzzy logic; written by John Gilmore(?) at GA Tech.
Current version: 4.0, as of 1995-04-16.
(ftp://ftp.gatech.edu/pub/ai/gest.tar.Z).
(1995-04-16)

generic identifier
language, text A string constituting the name of a element in an SGML document.
(2001-01-31)

genericity
programming The possibility for a language to provided parameterised modules or types. E.g. List(of:Integer) or List(of:People).
(1996-05-19)

generic markup
text In computerised document preparation, a method of adding information to the text indicating the logical components of a document, such as paragraphs, headers or footnotes. SGML is an example of such a system. Specific instructions for layout of the text on the page do not appear in the markup.
(1996-05-19)

generic programming
programming A programming technique which aims to make programs more adaptable by making them more general. Generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic programs are often quite rich in structure. For example they may be other programs, types or type constructors or even programming paradigms.
(1997-11-22)

Generic Routing Encapsulation
networking, protocol (GRE) A protocol which allows an arbitrary network protocol A to be transmitted over any other arbitrary network protocol B, by encapsulating the packets of A within GRE packets, which in turn are contained within packets of B.
Defined in RFC 1701 and RFC 1702 (GRE over IP).
(1998-07-19)

Generic Security Service Application Programming Interface
security, programming (GSS-API) An application level interface (API) to system security services. It provides a generic interface to services which may be provided by a variety of different security mechanisms. Vanilla GSS-API supports security contexts between two entities (known as principals ).
GSS-API is a draft internet standard which is being developed in the Common Authentication Technology Working Group (cat-wg) of the Internet Engineering Task Force (IETF).
Initial specifications for GSS-API appeared in RFC 1508 and RFC 1509. Subsequent revisions appeared in several draft standards documents.
(http://www.dstc.qut.edu.au/~barton/work/project.html).
(1996-05-19)

generic thunk
programming A software mechanism that allows a 16-bit Windows application to load and call a Win32 DLL under Windows NT and Windows 95.
See also flat thunk, universal thunk.
(1999-04-05)

generic type variable
programming (Also known as a schematic type variable ). Different occurrences of a generic type variable in a type expression may be instantiated to different types. Thus, in the expression
let id x = x in (id True, id 1)
id's type is (for all a: a - a). The universal quantifier for all a: means that a is a generic type variable. For the two uses of id, a is instantiated to Bool and Int. Compare this with
let id x = x in let f g = (g True, g 1) in f id
This looks similar but f has no legal Hindley-Milner type. If we say
f :: (a - b) - (b, b)
this would permit g's type to be any instance of (a - b) rather than requiring it to be at least as general as (a - b). Furthermore, it constrains both instances of g to have the same result type whereas they do not. The type variables a and b in the above are implicitly quantified at the top level:
f :: for all a: for all b: (a - b) - (b, b)
so instantiating them (removing the quantifiers) can only be done once, at the top level. To correctly describe the type of f requires that they be locally quantified:
f :: ((for all a: a) - (for all b: b)) - (c, d)
which means that each time g is applied, a and b may be instantiated differently. f's actual argument must have a type at least as general as ((for all a: a) - (for all b: b)), and may not be some less general instance of this type. Type variables c and d are still implicitly quantified at the top level and, now that g's result type is a generic type variable, any types chosen for c and d are guaranteed to be instances of it.
This type for f does not express the fact that b only needs to be at least as general as the types c and d. For example, if c and d were both Bool then any function of type (for all a: a - Bool) would be a suitable argument to f but it would not match the above type for f.

Genesia
An expert system developed by Electricite de France and commercialised by STERIA (Paris).

genetic algorithm
(GA) An evolutionary algorithm which generates each individual from some encoded form known as a chromosome or genome . Chromosomes are combined or mutated to breed new individuals. Crossover , the kind of recombination of chromosomes found in sexual reproduction in nature, is often also used in GAs. Here, an offspring's chromosome is created by joining segments choosen alternately from each of two parents' chromosomes which are of fixed length.
GAs are useful for multidimensional optimisation problems in which the chromosome can encode the values for the different variables being optimised.
Illinois Genetic Algorithms Laboratory (http://GAL4.GE.UIUC.EDU/illigal.home.html) (IlliGAL).
(1995-02-03)

genetic algorithms
genetic algorithm

genetic programming
programming (GP) A programming technique which extends the genetic algorithm to the domain of whole computer programs. In GP, populations of programs are genetically bred to solve problems. Genetic programming can solve problems of system identification, classification, control, robotics, optimisation, game playing, and pattern recognition.
Starting with a primordial ooze of hundreds or thousands of randomly created programs composed of functions and terminals appropriate to the problem, the population is progressively evolved over a series of generations by applying the operations of Darwinian fitness proportionate reproduction and crossover (sexual recombination).
(1995-03-31)

GEnie Services
GE Information Services

Genken Programming Language
language (GPL) A variant of PL360 by K. Asai of the Japan Atomic Energy Research Institute.
[ Experience With GPL , K. Asai, in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, pp. 371-376].
(1995-04-13)

GENOVA
An old statistical package still in use on some VM computers.
(1995-11-28)

gensym
library /jen'sim/ (From the MacLISP for generated symbol ) To invent a new name for something temporary, in such a way that the name is almost certainly not in conflict with one already in use.
The canonical form of a gensym is Gnnnn where nnnn represents a number; any LISP hacker would recognise G0093 (for example) as a gensym. Gensymmed names are useful for storing or uniquely identifying crufties (see cruft).
[Jargon File]
(1999-10-31)

Gensym Corporation
company A company that supplies software and services for intelligent operations management. Common applications include quality management, process optimisation, dynamic scheduling, network management, energy and environmental management, and process modelling and simulation.
Their products include G2.
Home (http://www.gensym.com/).
(1999-10-31)

Gensym Standard Interface
programming (GSI) A set of C libraries and programming tools used to interface G2 to external systems. Commercially available bridges are available to SCADA systems and PLCs.
(1997-02-11)

Gentleman's Portable Coroutine System
A coroutine package in Fortran.
[ A Portable Coroutine System , W.M. Gentleman, Info Proc 71, C.V. Freiman ed, 1972].
(1995-02-01)

GEN-X
An expert system developed by General Electric.

Geographical Information System
Geographic Information System
[Which is more common?]
(1995-12-21)

Geographic Information System
application (GIS) A computer system for capturing, storing, checking, integrating, manipulating, analysing and displaying data related to positions on the Earth's surface. Typically, a GIS is used for handling maps of one kind or another. These might be represented as several different layers where each layer holds data about a particular kind of feature (e.g. roads). Each feature is linked to a position on the graphical image of a map.
Layers of data are organised to be studied and to perform statistical analysis (i.e. a layer of customer locations could include fields for Name, Address, Contact, Number, Area). Uses are primarily government related, town planning, local authority and public utility management, environmental, resource management, engineering, business, marketing, and distribution.
GIS dictionary (http://www.geo.ed.ac.uk/root/agidict/html/welcome.html).
(http://www.ncl.ac.uk/~ngraphic/wotzagis.html)
(1995-12-21)

GEORGE
Charles Hamblin, 1957. One of the earliest programming languages, stack-oriented, used reverse Polish notation. Implemented on the English Electric DEUCE. GEORGE: A Semi-Translation Programming Scheme for the DEUCE, Programming and Operations Manual , C. L. Hamblin, U New S Wales (1958). Computer Languages , C.L. Hamblin, Aust J Sci 20(5):135-139 (Dec 1957) and Aust Comp J 17(4):195-198 (Nov 1985).

George Boole
person 1815-11-02 - 1864-12-08. An English mathematician best known for his contribution to symbolic logic (Boolean Algebra) but also active in other fields such as probability theory, algebra, analysis, and differential equations. He lived, taught, and is buried in Cork City, Ireland. The Boole library at University College Cork is named after him.
For centuries philosophers have studied logic, which is orderly and precise reasoning. George Boole argued in 1847 that logic should be allied with mathematics rather than with philosophy.
Demonstrating logical principles with mathematical symbols instead of words, he founded symbolic logic, a field of mathematical/philosophical study. In the new discipline he developed, known as Boolean algebra, all objects are divided into separate classes, each with a given property; each class may be described in terms of the presence or absence of the same property. An electrical circuit, for example, is either on or off. Boolean algebra has been applied in the design of binary computer circuits and telephone switching equipment. These devices make use of Boole's two-valued (presence or absence of a property) system.
Born in Lincoln, Lincolnshire, UK, George Boole was the son of a tradesman and was largely self-taught. He began teaching at the age of 16 to help support his family. In his spare time he read mathematical journals and soon began to write articles for them. By the age of 29, Boole had received a gold medal for his work from the British Royal Society. His 'Mathematical Analysis of Logic', a pamphlet published in 1847, contained his first statement of the principles of symbolic logic. Two years later he was appointed professor of mathematics at Queen's College in Ireland, even though he had never studied at a university.
He died in Ballintemple, Ireland, on 1864-12-08.
Compton's Encyclopedia Online (http://comptons2.aol.com/encyclopedia/ARTICLES/00619_A.html).
(1998-11-19)

GEOS
A small windowing, microkernel (less than 64 kbytes long) operating system written in heavily bummed assembly language for MS-DOS computers. It multitasks rather nicely on a 6 Mhz Intel 80286 with at least 512K memory.
It was adapted to PDAs by adding pen recognition, which doesn't work very well.
Usenet newsgroup: news:comp.os.geos.
(1995-01-21)

GEPURS
An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-21)

Gerald
[ Gerald: An Exceptional Lazy Functional Programming Language , A.C. Reeves et al, in Functional Programming, Glasgow 1989, K. Davis et al eds, Springer 1990].
(1995-01-10)

Gerald Sussman
person (Gerald J. Sussman, Jerry) A noted hacker at MIT and one of the developers of SCHEME and 6.001.
(http://martigny.ai.mit.edu/~gjs/gjs.html)
(1996-11-29)

German
human language j*r'mn A human language written (in latin alphabet) and spoken in Germany, Austria and parts of Switzerland.
German writing normally uses four non-ASCII characters: äöü , the first three have umlauts (two dots over the top): A O and U and the last is a double-S ( scharfes S ) which looks like the Greek letter beta (except in capitalised words where it should be written SS ). These can be written in ASCII in several ways, the most common are ae, oe ue AE OE UE ss or sz and the TeX versions a o u A O U s.
See also ABEND, blinkenlights, DAU, DIN, gedanken, GMD, kluge.
Usenet newsgroup: news:soc.culture.german. (ftp://src.doc.ic.ac.uk/usenet/news-info/soc.answers/german-faq), (ftp://alice.fmi.uni-passau.de/pub/dictionaries/german.dat.Z).
(1995-03-31)

GEST
Generic Expert System Tool

Get a life!
abuse Standard way of suggesting that someone has succumbed to terminal geekdom. Often heard on Usenet, especially as a way of suggesting that the target is taking some obscure issue of theology too seriously. This exhortation was popularised by William Shatner on a Saturday Night Live episode in a speech that ended Get a *life*! , but some respondents believe it to have been in use before then. It was certainly in wide use among hackers for at least five years before achieving mainstream currency in early 1992.
[Jargon File]
(1995-01-18)

Get a real computer!
jargon A typical hacker response to news that somebody is having trouble getting work done on a toy system or bitty box.
The threshold for real computer rises with time. As of mid-1993 it meant multi-tasking, with a hard disk, and an address space bigger than 16 megabytes. At this time, according to GLS, computers with character-only displays were verging on unreal . In 2001, a real computer has a one gigahertz processor, 128 MB of RAM, 20 GB of hard disk, and runs Linux.
[Jargon File]
(2001-06-22)

get.com
operating system A command which can be created using debug in MS DOS to set the errorlevel according to which key is pressed. The errorlevel can then be interrogated from a batch file by a series of commands like this:
get
if errorlevel 118 goto E118
if errorlevel 117 goto E117
if errorlevel 116 goto E116
if errorlevel 115 goto E115
if errorlevel 114 goto E114
where E118 etc. are labels in the batch file.
(1996-02-01)

getty
operating system A Unix program which sets terminal type, modes, speed and line discipline for a serial port, and is used in the login process.
(1996-12-08)

gf
networking The country code for French Guiana.
(1999-01-27)

g file
messaging (General file) A mid 1980s term for text files, usually short and unpublished found on BBSs. The g-files section on BBSs contain text files of general interest, viewable on-line; this is as opposed to files in the file transfer section, which are generally downloadable but not viewable on-line.
When used on the Internet, this term generally refers to the types of file most often associated with old BBSs such as instructions on phreaking or making bombs.
(1996-06-20)

GFLOPS
gigaflops

GFR
Grim File Reaper

gh
networking The country code for Ghana.
(1999-01-27)

GHC
language
1. Guarded horn clauses.
2. Glasgow Haskell Compiler.
(1999-01-05)

ghost
chat (Or zombie ) The image of a user's session on IRC and similar systems, left when the session has been terminated (properly or, often, improperly) but the server (or the network at large) believes the connection is still active and belongs to a real user.
Compare clonebot.
(1997-04-07)

ghostscript
The GNU PostScript interpreter with previewers for serval systems and many fonts. Written by L. Peter Deutsch ghost@aladdin.com . Version 2.6.1.
FTP from a GNU archive site or (ftp://ftp.cs.wisc.edu/pub/X).
(1993-05-29)

ghostview
An X Window System interface to the ghostscript PostScript interpreter.

GHz
GigaHertz

GI
generic identifier

gi
networking The country code for Gibraltar.
(1999-01-27)

Gibson, William
William Gibson

gid
1. operating system group identifier.
2. filename extension global index.
(1997-01-30)

GIF
Graphics Interchange Format

GIF89
Graphics Interchange Format

GIF89a
animated GIF

GIFF
Do you mean GIF or is this some kind of IFF?

gig
gigabyte

giga-
prefix

gigabit
unit 2^30 bits, 1,073,741,824 bits.
See prefix.
(1995-11-12)

gigabits per second
unit Gbps A unit of information transfer rate.
See gigabit.
(1996-05-25)

gigabyte
unit 2^30 = 1,073,741,824 bytes = 1024 megabytes.
Roughly the amount of data required to encode a human gene sequence (including all the redundant codons).
See prefix.
(1995-09-29)

gigaflop
gigaflops

gigaflops
unit (GFLOPS) One thousand million (10^9) floating point operations per second.
One of them is strictly one gigaflops in the same way that one mile per hour isn't 1 MP.
See prefix.
(1998-04-19)

GigaHertz
unit (GHz) Billions of cycles per second.
The unit of frequency used to measure the clock rate of modern digital logic, including microprocessors.
(2001-05-14)

GIGO
/gi:'goh/ 1. Garbage In, Garbage Out. A reference to the fact that computers, unlike humans, will unquestioningly process the most nonsensical of input data and produce nonsensical output. Of course a properly written program will reject input data that is obviously erroneous but such checking is not always easy to specify and is tedious to write.
GIGO is usually said in response to lusers who complain that a program didn't do the right thing when given imperfect input or otherwise mistreated in some way. Also commonly used to describe failures in human decision making due to faulty, incomplete, or imprecise data.
2. Garbage In, Gospel Out. This more recent expansion is a sardonic comment on the tendency human beings have to put excessive trust in computerised data.
[Jargon File]

gilley
humour (Usenet) The unit of analogical bogosity. According to its originator, the standard for one gilley was the act of bogotoficiously comparing the shutting down of 1000 machines for a day with the killing of one person . The milligilley has been found to suffice for most normal conversational exchanges.
(1995-03-17)

gillion
unit /gil'y*n/ or /jil'y*n/ (From giga- by analogy with mega/million and tera/trillion) 10^9.
Same as an American billion or a British milliard . How one pronounces this depends on whether one speaks giga- with a hard or soft g .
[Jargon File]
(1995-03-17)

Gilmore, John
John Gilmore

GIM-1
Generalized Information Management Language. Nelson, Pick, Andrews. Proc SJCC 29:169-73, AFIPS (Fall 1966).

GIN
A special-purpose macro assembler used to build the GEORGE 3 operating system for ICL1900 series computers.
(1994-11-02)

GINA
Generic Interactive Application. An application framework based on Common Lisp and OSF/Motif, designed to simplify the construction of graphical interactive applications.
GINA consists of CLM - a language binding for OSF/Motif in Common Lisp; the GINA application framework - a class library in CLOS; the GINA interface builder - an interactive tool implemented with GINA to design Motif windows.
Version 2.2 requires OSF/Motif 1.1 or better, Common Lisp with CLX, CLOS, PCL and processes. It runs with Franz Allegro, Lucid, CMU CL and Symbolics Genera.
Germany (ftp://ftp.gmd.de/gmd/gina). N. America (ftp://export.lcs.mit.edu/contrib/). Mailing list: gina-users-request@gmdzi.gmd.de.
(1994-11-02)

Ginger
A simple functional language from the University of Warwick with parallel constructs.
(1994-11-02)

GIP
1. General Interpretive Programme.
A 1956 interpreted language for the English Electric DEUCE, with array operations and an extensive library of numerical methods.
[ Interpretive and Brick Schemes, with Special Reference to Matrix Operations , English Electric COmpany, DEUCE News No. 10 (1956)].
(1994-11-02)
2. An erroneous singular of GIPS.

GIPS
/gips/ or /jips/ [Analogy with MIPS] Giga-Instructions per Second (or possibly Gillions of Instructions per Second ; see gillion).
In 1991, this was used of only a handful of highly parallel machines and one sequential processor built with Josephson devices. DEC's Alpha AXP 21164 processor was the first commercially available 1 GIPS sequential processor (7 Sep 1994). Compare KIPS.
[ A 1-GIPS Josephson Data Processor , Yuji Hatano et al, IEEE J Solid State Circuits, vol 26, 6, June 1991]
[Jargon File]
(1994-11-02)

GIRL
Graph Information Retrieval Language. A language for handling directed graphs.
[ Graph Information Retrieval Language , S. Berkowitz, Report 76-0085, Naval Ship Res Dev Center, (Feb 1976)].
(1994-11-02)

GIS
Geographical Information System

GKS
Graphical Kernel System

GKS-3D
The three-dimensional version of GKS, a standard for graphics I/O (ISO 8805).
(1994-11-02)

GL
Graphics Language. A graphics package from Silicon Graphics.

gl
networking The country code for Greenland.
(1999-01-27)

Glammar
A pattern transformation language for text-to-text translation. Used for compiler writing and linguistics.
(ftp://phoibos.cs.kun.nl/pub/GLASS/glammar.tar.Z)

glark
/glark/ To figure something out from context. The System III manuals are pretty poor, but you can generally glark the meaning from context. Interestingly, the word was originally glork ; the context was This gubblick contains many nonsklarkish English flutzpahs, but the overall pluggandisp can be glorked [sic] from context (David Moser, quoted by Douglas Hofstadter in his Metamagical Themas column in the January 1981 Scientific American ). It is conjectured that hackish usage mutated the verb to glark because glork was already an established jargon term.
Compare grok, zen.
[Jargon File]

Glasgow Haskell Compiler
language (GHC) A Haskell 1.2 compiler written in Haskell by the AQUA project at Glasgow University, headed by Simon Peyton Jones simonpj@dcs.glasgow.ac.uk throughout the 1990's [started?]. GHC can generate either C or native code for SPARC, DEC Alpha and other platforms. It can take advantage of features of gcc such as global register variables and has an extensive set of optimisations.
GHC features an extensible I/O system based on a monad , in-line C code, fully fledged unboxed data types, incrementally-updatable arrays, mutable reference types, generational garbage collector, concurrent threads. Time and space profiling is also supported.
It requires GNU gcc 2.1+ and Perl.
GHC runs on Sun-4, DEC Alpha, Sun-3, NeXT, DECstation, HP-PA and SGI.
Latest version: 4.01, as of 1998-11-30.
Glasgow FTP (ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/glasgow/). Yale (ftp://nebula.cs.yale.edu/pub/haskell/glasgow/). Sweden (ftp://ftp.cs.chalmers.se/pub/haskell/glasgow/).
Papers (ftp://ftp.dcs.glasgow.ac.uk/pub/glasgow-fp).
[ Imperative functional programming , Peyton Jones Wadler, POPL '93].
[ Unboxed data types as first-class citizens , Peyton Jones Launchbury, FPCA '91].
[ Profiling lazy functional languages , Sansom Peyton Jones, Glasgow workshop '92].
[ Implementing lazy functional languages on stock hardware , Peyton Jones, Journal of Functional Programming, Apr 1992].
E-mail: glasgow-haskell-request@dcs.glasgow.ac.uk .
(1999-01-05)

GLASS
General LAnguage for System Semantics.
An Esprit project at the University of Nijmegen.
(ftp://phoibos.cs.kun.nl/pub/GLASS)
(1995-01-25)

glass
(IBM) silicon.
[Jargon File]

glass box testing
white box testing

glassfet
/glas'fet/ [Analogy with MOSFET] (or firebottle ) A humorous way to refer to a vacuum tube.
[Jargon File]

glass tty
/glas T-T-Y/ or /glas ti'tee/ A terminal that has a display screen but which, because of hardware or software limitations, behaves like a teletype or some other printing terminal, thereby combining the disadvantages of both: like a printing terminal, it can't do fancy display hacks, and like a display terminal, it doesn't produce hard copy. An example is the early dumb version of Lear-Siegler ADM 3 (without cursor control). See tube, tty; compare dumb terminal, smart terminal. See TV Typewriters for an interesting true story about a glass tty.

GLB
greatest lower bound

glibc
GNU C Library

Glish
Glish is an interpretive language for building loosely-coupled distributed systems from modular, event-oriented programs. Written by Vern Paxson vern@ee.lbl.gov . These programs are written in conventional languages such as C, C++, or Fortran.
Glish scripts can create local and remote processes and control their communication. Glish also provides a full, array-oriented programming language (similar to S) for manipulating binary data sent between the processes. In general Glish uses a centralised communication model where interprocess communication passes through the Glish interpreter, allowing dynamic modification and rerouting of data values, but Glish also supports point-to-point links between processes when necessary for high performance.
Version 2.4.1 includes an interpreter, C++ class library and user manual. It requires C++ and there are ports to SunOS, Ultrix, an HP/UX (rusty).
(ftp://ftp.ee.lbl.gov/glish/glish-2.4.1.tar.Z)
[ Glish: A User-Level Software Bus for Loosely-Coupled Distributed Systems, Vern Paxson and Chris Saltmarsh, Proceedings of the 1993 Winter USENIX Conference, San Diego, CA, January, 1993].
(1993-11-01)

Glisp
Generalized LISP. D.C. Smith, Aug 1990. A coordinated set of high-level syntaxes for Common LISP. Contains Mlisp, Plisp and ordinary LISP, with an extensible framework for adding others. Written in Plisp.
(ftp://bric-a-brac.apple.com/dts/mac/lisp)

glitch
/glich/ [German glitschen to slip, via Yiddish glitshen , to slide or skid] 1. (Electronics) When the inputs of a circuit change, and the outputs change to some random value for some very brief time before they settle down to the correct value. If another circuit inspects the output at just the wrong time, reading the random value, the results can be very wrong and very hard to debug (a glitch is one of many causes of electronic heisenbugs).
2. A sudden interruption in electric service, sanity, continuity, or program function. Sometimes recoverable. An interruption in electric service is specifically called a power glitch (or power hit), of grave concern because it usually crashes all the computers. See also gritch.
2. [Stanford] To scroll a display screen, especially several lines at a time. WAITS terminals used to do this in order to avoid continuous scrolling, which is distracting to the eye.
4. Obsolete. Same as magic cookie.
[Jargon File]

glob
/glob/, *not* /glohb/ To expand wild card characters in a path name.
In Unix the file name wild cards are:
* = zero or more characters (E.g. UN*X)
? = any single character
[] any of the enclosed characters
indicate alternation of comma-separated alternatives, thus
foobaz,qux would expand to foobaz or fooqux . This
syntax generates a list of all possible expansions, rather
than matching one.
These have become sufficiently pervasive that hackers use them in written English, especially in electronic mail or Usenet news on technical topics. E.g. He said his name was [KC]arl (expresses ambiguity). I don't read talk.politics.* (any of the talk.politics subgroups on Usenet). Other examples are given under the entry for X. Note that glob patterns are similar, but not identical, to those used in regexps.
glob was a subprogram that expanded wild cards in archaic pre-Bourne versions of the Unix shell.
(1997-07-16)

global index
filename extension (gid) The filename extension of a Windows 95 global index file. .gid files are created by the help browser internal to Windows 95 (also available for other Windows versions) for WinHelp files (hlp), as well as for storing user preferences, such as window position.
(1997-01-30)

globalisation
internationalisation

Global Network Navigator
(GNN) A collection of free services provided by O'Reilly Associates.
The Whole Internet Catalog describes the most useful Net resources and services with live links to those resources. The GNN Business Pages list companies on the Internet. The Internet Help Desk provides help in starting Internetq exploration. NetNews is a weekly publication that reports on the news of the Internet, with weekly articles on Internet trends and special events, sports, weather, and comics. There are also pages aobut travel and personal finance.
Home page (http://www.gnn.com/)
E-mail: support@gnn.com .
Telephone: (800) 998 9938 (USA), +1 (707) 829 0515 (outside USA).
(1995-01-10)

Global Positioning System
communications (GPS) A system for determining postion on the Earth's surface by comparing radio signals from several satellites. When completed the system will consist of 24 satellites equipped with radio transmitters and atomic clocks.
Depending on your geographic location, the GPS receiver samples data from up to six satellites, it then calculates the time taken for each satellite signal to reach the GPS receiver, and from the difference in time of reception, determines your location.
[ Global Positioning by Satellite ? Precison? Coverage? Web page?]
(1998-02-10)

Global System for Mobile Communications
communications (GSM, originally Groupe de travail Spéciale pour les services Mobiles ) A standard for digital cellular communications (in the process of being) adopted by over 60 countries. The GSM standard is currently used in the 900 MHz and 1800 MHz bands.
In the USA trial systems akin to the related Digital Cellular System (DCS) 18000 have been set up in several metropolitan areas.
HSCSD is a proposed standard for circuit switched data communications over GSM.
(http://www.gsmworld.com/).
[IEEE spectrum August 1999, pp. 26].
[Details? Current status? Whose standard?]
(1999-11-25)

glork
/glork/ 1. Used as a name for just about anything.
See foo.
2. Similar to glitch, but usually used reflexively. My program just glorked itself.
See also glark.
[Jargon File]

GLOS
Graphics Language Object System.

GLOW
language A POP-11 variant with lexical scope.
Available from Andrew Arnblaster, Bollostraat 6, B-3140 Keerbergen, Belgium, for Mac or MS-DOS.
[Byte's UK edition, May 1992, p.84UK-8].
(1997-02-07)

GLS
Guy Lewis Steele, Jr.

GLU
language A practical coarse grain implementation of the Lucid dataflow language for networks.
(1998-03-07)

glue
jargon A generic term for any interface logic or protocol that connects two component blocks. For example, Blue Glue is IBM's SNA protocol, and hardware designers call anything used to connect large VLSI's or circuit blocks glue logic .
[Jargon File]
(1999-02-22)

glue language
language Any language, usually a scripting language, used to write glue to integrate tools and other programs to solve some problem.
(1999-02-22)

glyph
character An image used in the visual representation of characters; roughly speaking, how a character looks. A font is a set of glyphs.
In the simple case, for a given font (typeface and size), each character corresponds to a single glyph but this is not always the case, especially in a language with a large alphabet where one character may correspond to several glyphs or several characters to one glyph (a character encoding).
Usually used in reference to outline fonts, in particular TrueType.
(1998-05-31)

Glypnir
1966. An ALGOL-like language with parallel extensions. Similar to Actus. GLYPNIR - A Programming Language for the Illiac IV , D.H. Lawrie et al, CACM 18(3) (Mar 1975).

gm
networking The country code for Gambia.
(1999-01-27)

GMAP
GCOS Macro Assembler Program. The macro assembler for the GCOS 8 operating system on Honeywell/Bull DPS-8 computers.
[ GCOS8 OS GMAP User's Guide , Bull].

GMD
company Full name: GMD - Forschungszentrum Informationstechnik GmbH (German National Research Center for Information Technology).
Before April 1995, GMD stood for Gesellschaft für Mathematik und Datenverarbeitung - National Research Center for Computer Science, it is retained for historical reasons.
Home (http://www.gmd.de/GMDHome.english.html)
Address: D-53754 Sankt Augustin, Germany.
(1995-04-10)

GMD Toolbox for Compiler Construction
(Or Cocktail) A huge set of compiler building tools for MS-DOS, Unix and OS/2.
parser generator (LALR - C, Modula-2), documentation, parser generator (LL(1) - C, Modula-2), tests, scanner generator (- C, Modula-2), tests translator (Extended BNF - BNF), translator (Modula-2 - C), translator (BNF (yacc) - Extended BNF), examples abstract syntax tree generator, attribute-evaluator generator, code generator
Current version: 9209.
The MS-DOS version requires DJ Delorie's DOS extender (go32) and the OS/2 version requires the emx programming environment.
(ftp://ftp.karlsruhe.gmd.de/pub/cocktail/dos). OS/2 FTP (ftp://ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo).
Mailing list: listserv@eb.ele.tue.nl (subscribe to Cocktail). E-mail: Josef Grosch grosch@karlsruhe.gmd.de , Willem Jan Withagen wjw@eb.ele.tue.nl (OS/2).
(1992-01-01)

GMT
Universal Time 1

gn
networking The country code for Guinea.
(1999-01-27)

gnarly
jargon /nar'lee/ Both obscure and hairy. Yow! - the tuned assembler implementation of BitBlt is really gnarly! From a similar but less specific usage in surfer slang.
[Jargon File]
(1996-09-17)

Gnat
language, tool An Ada compiler written in Ada using the gcc code generator to allow easy porting to a variety of platforms. Gnat is the only Ada compiler that completely implements the Ada standard, including all the annexes.
The compiler is released under the GNU license and is currently maintained by Ada Core Technologies (ACT).
Home (http://www.gnat.com/).
(1999-06-24)

GNATS
GNU Problem Report Management System

GNN
Global Network Navigator

GNOME
GNU Network Object Model Environment

Gnome Computers
company A small UK hardware and software company. They make transputer boards for the Acorn Archimedes among other things.
E-mail: Chris Stenton chris@gnome.co.uk .
(1994-09-30)

GNU
body, project /g*noo/ 1. A recursive acronym: GNU's Not Unix! . The Free Software Foundation's project to provide a freely distributable replacement for Unix. The GNU Manifesto was published in the March 1985 issue of Dr. Dobb's Journal but the GNU project started a year and a half earlier when Richard Stallman was trying to get funding to work on his freely distributable editor, Emacs.
Emacs and the GNU C compiler, gcc, two tools designed for this project, have become very popular. GNU software is available from many GNU archive sites.
See also Hurd.
2. person John Gilmore.
[Jargon File]
(1997-04-12)

GNU archive site
body The main GNU FTP archive is on gnu.org but copies ( mirrors ) of some or all of the files there are also held on many other computers around the world. To avoid overloading gnu.org and the Internet you should FTP files from the machine closest to yours (you may be able to use traceroute to determine which is logically closest if it's not obvious from the transfer rate). Trans-ocean TCP/IP links are very expensive and usually very slow.
The following hosts mirror GNU files. Look for a directory like /pub/gnu, /mirrors/gnu, /systems/gnu or /archives/gnu. Electronic mail addresses of administrators and Internet addresses are given for some hosts.
Original list (ftp://src.doc.ic.ac.uk/gnu/GNUinfo/FTP).
Australia: archie.au, archie.oz, archie.oz.au
Brazil: ccsun.unicamp.br (143.106.1.5, root@ccsun.unicamp.br )
Denmark: ftp.denet.dk
Europe: archive.eu.net (192.16.202.1)
Finland: ftp.funet.fi (128.214.6.100, gnu-adm)
France: irisa.irisa.fr, ftp.univ-lyon1.fr ( ftpmaint@ftp.univ-lyon1.fr )
Germany (ftp://ftp.informatik.tu-muenchen.de/), (ftp://ftp.informatik.rwth-aachen.de/), ftp://ftp.germany.eu.net/)
Israel: ftp.technion.ac.il ( ftp-admin@ftp.technion.ac.il )
Japan: utsun.s.u-tokyo.ac.jp, ftp.cs.titech.ac.jp
Korea: cair.kaist.ac.kr (143.248.11.170)
Netherlands: hp4nl.nluug.nl, ftp.win.tue.nl (131.155.70.100)
Norway: ugle.unit.no (129.241.1.97)
South Africa: ftp.sun.ac.za
Sweden: isy.liu.se, ftp.stacken.kth.se, ftp.luth.se, ftp.sunet.se, archive@ftp.sunet.se , sdi.slu.se.
Switzerland: ftp.eunet.ch, nic.switch.ch
Thailand: ftp.nectec.or.th (192.150.251.32, ftp@nwg.nectec.or.th )
UK: src.doc.ic.ac.uk (146.169.3.7, info-server@doc.ic.ac.uk , lmjm@doc.ic.ac.uk also sun cartridge or exabyte tapes); info-server@cs.nott.ac.uk ( jpo@cs.nott.ac.uk ); I.G.Batten@fulcrum.bt.co.uk (also qic-21 and qic-24 tapes); ftp.mcc.ac.uk (130.88.203.12); Unix.hensa.ac.uk; ftp.warwick.ac.uk (137.205.192.14, Unixhelp@warwick.ac.uk ).
USA: louie.udel.edu, ftp.kpc.com (Silicon Valley, CA) ftp.hawaii.edu, f.ms.uky.edu, ftp.digex.net (Internet address 164.109.10.23, run by mcguire@digex.net ), wuarchive.wustl.edu, col.hp.com, ftp.cs.columbia.edu, vixen.cso.uiuc.edu, mrcnext.cso.uiuc.edu, jaguar.utah.edu, gatekeeper.dec.com, labrea.stanford.edu, ftp.cs.widener.edu, archive.cis.ohio-state.edu, and ftp.uu.net.
Western Canada: ftp.cs.ubc.ca ( ftp-admin@cs.ubc.ca )
(1999-12-09)

GNU assembler
(GAS) A Unix assembler for the GNU project. Many CPU types are handled and COFF and IEEE-695 formats are supported as well as standard a.out.
Current version 2.2 ported to Sun-3, Sun-4, i386, 386BSD, BSD/386, Linux, PS/2-AIX, VAX, Ultrix, BSD, VMS.
The assembler has been merged with GNU Binutils.
E-mail: bug-gnu-utils@gnu.org .
(1995-04-18)

GNU awk
gawk

GNU BC
A GNU version of BC which is self-contained and internally executes its own compiled code rather than acting as a front-end to DC like the standard Unix bc.
Version 1.02
parser (yacc), interpreter, BC math library
Philip A. Nelson phil@cs.wwu.edu
FTP bc-1.02.tar.Z from a GNU archive site.
requires:vsprintf and vfprintf routines
ports: Unix (BSD, System V, MINIX, POSIX) Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.

GNU C
language The extension of C compiled by gcc.
(1997-09-30)

GNU C Library
library (glibc) The run-time library for the GNU C compiler, gcc, and others. glibc is the source code for libc.a. It is maintained separately from the compilers and is a superset of ANSI C and POSIX.1 and a large subset of POSIX.2.
Current version: 2.1.3, as of 2000-04-29
Home (http://www.gnu.org/glibc).
Mailing list: bug-glibc@gnu.org (bugs).
(2000-05-31)

GNU DC
GNU Desktop Calculator.
An interpreter for a subset of the standard Unix DC that handles all its operations, except the (undocumented) array operations. Integration with GNU BC is being attempted.
Version 0.2.
FTP dc-0.2.tar.Z from your nearest GNU archive site.
(1993-05-21)

GNU E
A persistent C++ variant
Version 2.3.3
compiler
(ftp://ftp.cs.wisc.edu/exodus/E/)
GNU E is a persistent, object oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations.
GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new persistent storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data.
restriction: Copyleft; not all run-time sources are available (yet)
requires:release 2.1.1 of the Exodus storage manager
E-mail: exodus@cs.wisc.edu .
(1993/01/20)

GNU Emacs
Emacs

GNU Free Documentation License
legal (GFDL) The Free Software Foundation's license designed to ensure the same freedoms for documentation that the GPL gives to software.
This dictionary is distributed under the GFDL, see the copyright notice in the Free On-line Dictionary of Computing section (at the start of the source file). The full text follows.
Version 1.1, March 2000
Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other written document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of copyleft , which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The Document , below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you .
A Modified Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
A Transparent copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not Transparent is called Opaque .
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section entitled History , and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
K. In any section entitled Acknowledgements or Dedications , preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
M. Delete any section entitled Endorsements . Such a section may not be included in the Modified Version.
N. Do not retitle any existing section as Endorsements or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section entitled Endorsements , provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled History in the various original documents, forming one section entitled History ; likewise combine any sections entitled Acknowledgements , and any sections entitled Dedications . You must delete all sections entitled Endorsements.
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an aggregate , and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See here (http://www.gnu.org/copyleft/).
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
End of full text of GFDL.
(2002-03-09)

GNU General Public License
General Public License

GNUMACS
/gnoo'maks/ [contraction of GNU Emacs ] Often-heard abbreviated name for the GNU project's flagship tool, Emacs. Used especially in contrast with GOSMACS.
[Jargon File]

GNU mirror site
GNU archive site

GNU Network Object Model Environment
operating system (GNOME) A project to build a complete, user-friendly desktop based entirely on free software. GNOME is part of the GNU project and part of the OpenSource movement. The desktop will consist of small utilities and larger applications which share a consistent look and feel. GNOME uses GTK+ as the GUI toolkit for applications.
GNOME is intended to run on any modern and functional Unix-like system. The current version runs on Linux, FreeBSD, IRIX and Solaris.
Home (http://www.gnome.org/).
(1998-10-17)

Gnuplot
tool A command-driven interactive graphing program. Gnuplot can plot two-dimensional functions and data points in many different styles (points, lines, error bars); and three-dimensional data points and surfaces in many different styles (contour plot, mesh). It supports complex arithmetic and user-defined functions and can label title, axes, and data points. It can output to several different graphics file formats and devices. Command line editing and history are supported and there is extensive on-line help.
Gnuplot is copyrighted, but freely distributable. It was written by Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John Campbell, Gershon Elber, Alexander Woo and many others. Despite its name, gnuplot is not related to the GNU project or the FSF in any but the most peripheral sense. It was designed completely independently and is not covered by the General Public License. However, the FSF has decided to distribute gnuplot as part of the GNU system, because it is useful, redistributable software.
Gnuplot is available for: Unix (X11 and NEXTSTEP), VAX/VMS, OS/2, MS-DOS, Amiga, MS-Windows, OS-9/68k, Atari ST and Macintosh.
E-mail: info-gnuplot@dartmouth.edu .
FAQ - Germany (http://fg70.rz.uni-karlsruhe.de/~ig25/gnuplot-faq/), UK (ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics.gnuplot), USA (http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/gnuplot-faq/faq.html).
Usenet newsgroup: news:comp.graphics.gnuplot.
(1995-05-04)

GNU Problem Report Management System
programming (GNATS) GNU's bug tracking system. Users who experience problems use electronic mail, web-based or other clients communicating with the GNATS network daemon running at the support site, or direct database submissions to communicate these problems to maintainers at that Support Site.
(http://www.gnu.org/software/gnats).
(2002-06-12)

GNU public licence
legal Properly known as the General Public License. Improperly known as the General Public Virus.
(1995-05-04)

GNUS
tool, networking GNU news.
A GNU Emacs subsystem for reading and sending Usenet news, written by Masanobu Umeda umerin@mse.kyutech.ac.jp . You can use GNUS to browse through news groups, look at summaries of articles in a specific group, and read articles of interest. You can respond to authors or write articles or replies to all the readers of a news group.
GNUS can be configured to use the NNTP protocol to get news from a remove server or it can read it from local news spool files.
Usenet newsgorup: news:gnu.emacs.gnus.
(1995-05-04)

GNU sed
tool, text A GNU version of the standard Unix Sed stream editor. GNU sed was written by Tom Lord lord+@andrew.cmu.edu . Version 2.03.
FTP from your nearest GNU archive site.
E-mail: bug-gnu-utils@gnu.org (bugs).
(1993-08-09)

GNU Smalltalk
language A GNU version of Smalltalk, by Steven Byrne sbb@eng.sun.com .
Version 1.1.1,
FTP from your nearest GNU archive site.
msgGUI is a graphical user interface library for GNU Smalltalk.
(1991-09-15)

GNUStep
operating system A GNU implementation of OpenStep. Work has started on an implementation using an existing library written in Objective-C. Much work remains to be done to bring this library close to the OpenStep specifications. Adam Fedor is head of the project.
Home (http://www.gnustep.org/).
[Current status? Newsgroup?]
(1999-11-25)

GNU superoptimiser
(GSO) A function sequence generator that uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. Written by Torbjorn Granlund tege@gnu.ai.mit.edu and Tom Wood. You have to tell the superoptimiser which function and which CPU you want to get code for. This is useful for compiler writers.
FTP superopt-2.2.tar.Z from a GNU archive site.
Generates code for DEC Alpha, SPARC, Intel 80386, 88000, RS/6000, 68000, 29000 and Pyramid (SP, AP and XP).
(1993-02-16)

Go
games, application A thinking game with an oriental origin estimated to be around 4000 years old. Nowadays, the game is played by millions of people in (most notably) China, Japan, Korea and Taiwan. In the Western world the game is practised by a yearly increasing number of players. On the Internet Go players meet, play and talk 24 hours/day on the Internet Go Server (IGS).
(http://www.cwi.nl/~jansteen/go/go.html)
Usenet newsgroup: news:rec.games.go.
(1995-03-17)

goal
programming In logic programming, a predicate applied to its arguments which the system attempts to prove by matching it against the clauses of the program. A goal may fail or it may succeed in one or more ways.
(1997-07-14)

Go Back N
A data link layer protocol.

gobble
1. To consume, usually used with up . The output spy gobbles characters out of a tty output buffer.
2. To obtain, usually used with down . I guess I'll gobble down a copy of the documentation tomorrow.
See also snarf.
[Jargon File]

Godzillagram
/god-zil'*-gram/ [Japan's national hero and datagram] 1. A network packet that in theory is a broadcast to every machine in the universe. The typical case is an IP datagram whose destination IP address is [255.255.255.255]. Fortunately, few gateways are foolish enough to attempt to implement this case!
2. A network packet of maximum size. An IP Godzillagram has 65,536 octets. Compare super source quench.

Goedel
language (After the mathematician Kurt Gödel) A declarative, general-purpose language for artificial intelligence based on logic programming. It can be regarded as a successor to Prolog. The type system is based on many-sorted logic with parametric polymorphism. Modularity is supported, as well as infinite precision arithmetic and finite sets.
Goedel has a rich collection of system modules and provides constraint solving in several domains. It also offers metalogical facilities that provide significant support for metaprograms that do analysis, transformation, compilation, verification, and debugging.
A significant subset of Goedel has been implemented on top of SISCtus Prolog by Jiwei Wang jiwei@lapu.bristol.ac.uk .
FTP Bristol, UK (ftp://ftp.cs.bris.ac.uk/goedel), FTP K U Leuven (ftp://ftp.cs.kuleuven.ac.be/pub/logic-prgm/goedel).
E-mail: goedel@compsci.bristol.ac.uk .
(1995-05-02)

go-faster stripes
jargon chrome. Mainstream in some parts of UK.
[Jargon File]
(1998-07-05)

Gofer
language A lazy functional language designed by Mark Jones mpj@cs.nott.ac.uk at the Programming Research Group, Oxford, UK in 1991. It is very similar to Haskell 1.2. It has lazy evaluation, higher order functions, pattern matching, and type classes, lambda, case, conditional and let expressions, and wild card, as and irrefutable patterns. It lacks modules, arrays and standard classes.
Gofer comes with an interpreter (in C), a compiler which compiles to C, documentation and examples. Unix Version 2.30 (1994-06-10) Mac_Gofer version 0.16 beta. Ported to Sun, Acorn Archimedes, IBM PC, Macintosh, Atari, Amiga.
Version 2.30 added support for contexts in datatype and member function definitions, Haskell style arrays, an external function calling mechanism for gofc, an experimental implementation of Launchbury/Peyton Jones style lazy functional state threads, an experimental implementation of do notation for monad comprehensions.
Latest version: HUGS.
[ Introduction to Gofer 2.20 , M.P. Jones.]
[The implementation of the Gofer functional programming system, Mark P. Jones, Research Report YALEU/DCS/RR-1030, Yale University, Department of Computer Science, May 1994. FTP: nebula.cs.yale.edu/pub/yale-fp/reports].
(http://www.cs.nott.ac.uk/Department/Staff/mpj/)
FTP Yale (ftp://nebula.cs.yale.edu/), FTP Glasgow (ftp://ftp.dcs.glasgow.ac.uk/), FTP Chalmers (ftp://ftp.cs.chalmers.se/pub/haskell/gofer/).
(1995-02-14)

Goffin
language A definitional constraint language for declarative parallel programming. Goffin systematically integrates equational constraints and functions within a uniform framework of concurrent programming.
Goffin is an embedding of a functional language kernel (Haskell) into a layer of constraint logic, which allows logical variables inside functional expressions. In order to preserve referential transparency, functional reduction suspends until logical variables become bound.
Logical variables are bound by equational constraints, which impose relations over expressions. Hence, constraints are the means to structure the concurrent reduction of functional expressions.
(1995-02-21)

go flatline
[Cyberpunk SF, refers to flattening of EEG traces upon brain-death] also flatlined . 1. To die, terminate, or fail, especially irreversibly. In hacker parlance, this is used of machines only, human death being considered somewhat too serious a matter to employ jargon-jokes about.
2. To go completely quiescent; said of machines undergoing controlled shutdown. You can suffer file damage if you shut down Unix but power off before the system has gone flatline.
3. Of a video tube, to fail by losing vertical scan, so all one sees is a bright horizontal line bisecting the screen.
[Jargon File]

GO-GO
ALPS

GOL
General Operating Language. Subsystem of DOCUS. [Sammet 1969, p.678].

golden
[Probabaly from folklore's golden egg ] When used to describe a magnetic medium (e.g. golden disk , golden tape ), describes one containing a tested, up-to-spec, ready-to-ship software version. Compare platinum-iridium.
[Jargon File]

golf ball printer
printer The IBM 2741, a slow but letter-quality printing device and terminal based on the IBM Selectric typewriter. The golf ball was a little spherical frob bearing reversed embossed images of 88 different characters arranged on four parallels of latitude; one could change the font by swapping in a different golf ball.
This was the technology that enabled APL to use a non-EBCDIC, non-ASCII, and in fact completely non-standard character set. This put it 10 years ahead of its time - where it stayed, firmly rooted, for the next 20, until character displays gave way to programmable bit-mapped devices with the flexibility to support other character sets.
(1994-12-15)

GOM
Good Old MAD.
Don Boettner, U Mich. MAD for the IBM 360. Parts of the MTS time-sharing system were written in GOM.

gonk
jargon /gonk/ 1. To prevaricate or to embellish the truth beyond any reasonable recognition. In German the term is (mythically) gonken ; in Spanish the verb becomes gonkar . You're gonking me. That story you just told me is a bunch of gonk. In German, for example, Du gonkst mir (You're pulling my leg).
See also gonkulator.
2. (British) To grab some sleep at an odd time.
Compare gronk out.
[Jargon File]
(1995-03-07)

gonkulator
/gon'kyoo-lay-tr/ (From Hogan's Heroes , the TV series) A pretentious piece of equipment that actually serves no useful purpose. Usually used to describe one's least favourite piece of computer hardware.
See gonk.
[Jargon File]
(1995-03-07)

GOOD
Graph-Oriented Object Database

Good Thing
convention (From the 1930 Sellar and Yeatman parody 1066 And All That ) Often capitalised; always pronounced as if capitalised.
1. Self-evidently wonderful to anyone in a position to notice: The Trailblazer's 19.2 Kbaud PEP mode with on-the-fly Lempel-Ziv compression is a Good Thing for sites relaying netnews .
2. Something that can't possibly have any ill side-effects and may save considerable grief later: Removing the self-modifying code from that shared library would be a Good Thing .
3. When said of software tools or libraries, as in Yacc is a Good Thing , specifically connotes that the thing has drastically reduced a programmer's work load.
Opposite: Bad Thing, compare big win.
[Jargon File]
(1995-05-07)

Google
World-Wide Web The World-Wide Web search engine that indexes the greatest number of web pages - over two billion by December 2001 and provides a free service that searches this index in less than a second.
The site's name is apparently derived from googol , but note the difference in spelling.
The Google spelling is also used in The Hitchhikers Guide to the Galaxy by Douglas Adams, in which one of Deep Thought's designers asks, And are you not, said Fook, leaning anxiously foward, a greater analyst than the Googleplex Star Thinker in the Seventh Galaxy of Light and Ingenuity which can calculate the trajectory of every single dust particle throughout a five-week Dangrabad Beta sand blizzard?
Home (http://www.google.com/).
(2001-12-28)

googol
mathematics The number represented in base-ten by a one with a hundred zeroes after it.
According to Webster's Dictionary, the name was coined in 1938 by Milton Sirotta, the nine-year-old nephew of American mathematician, Edward Kasner.
See also googolplex.
(2001-03-29)

googolplex
mathematics The number represented in base-ten by a one with a googol zeroes after it.
(2001-03-29)

gopher
networking, protocol A distributed document retrieval system which started as a Campus Wide Information System at the University of Minnesota, and which was popular in the early 1990s.
Gopher is defined in RFC 1436. The protocol is like a primitive form of HTTP (which came later). Gopher lacks the MIME features of HTTP, but expressed the equivalent of a document's MIME type with a one-character code for the Gopher object type . At time of writing (2001), all Web browers should be able to access gopher servers, although few gopher servers exist anymore.
Tim Berners-Lee, in his book Weaving The Web (pp.72-73), related his opinion that it was not so much the protocol limitations of gopher that made people abandon it in favor of HTTP/HTML, but instead the legal missteps on the part of the university where it was developed:
It was just about this time, spring 1993, that the University of Minnesota decided that it would ask for a license fee from certain classes of users who wanted to use gopher. Since the gopher software being picked up so widely, the university was going to charge an annual fee. The browser, and the act of browsing, would be free, and the server software would remain free to nonprofit and educational institutions. But any other users, notably companies, would have to pay to use gopher server software.
This was an act of treason in the academic community and the Internet community. Even if the university never charged anyone a dime, the fact that the school had announced it was reserving the right to charge people for the use of the gopher protocols meant it had crossed the line. To use the technology was too risky. Industry dropped gopher like a hot potato.
(2001-03-31)

Gopher client
networking A program which runs on your local computer and provides a user interface to the Gopher protocol and to gopher servers. Web browsers can act as Gopher clients and simple Gopher-only clients are available for ordinary terminals, the X Window System, GNU Emacs, and other systems.
(ftp://boombox.micro.umn.edu/)
(2001-03-31)

Gopher object type
A character specifying how to display a Gopher document. Current types are:
0 document
1 menu
2 CSO phone book entity
3 error
4 binhex binary
5 DOS binary (deprecated)
6 UU binary (deprecated)
7 index search
8 telnet connection
9 binary
+ duplicate server for previous object
I image
M MIME document
T tn3270 based telnet connection
c cal
g GIF image
h HTML
s binary
u Usenet newsgroup
(1999-10-14)

gorets
/gor'ets/ The unknown ur-noun, fill in your own meaning. Found especially on the Usenet newsgroup alt.gorets, which seems to be a running contest to redefine the word by implication in the funniest and most peculiar way, with the understanding that no definition is ever final. [A correspondent from the Former Soviet Union informs me that gorets is Russian for mountain dweller - ESR] Compare frink.
[Jargon File]

gorilla arm
The side-effect that destroyed touch-screens as a mainstream input technology despite a promising start in the early 1980s. It seems the designers of all those spiffy touch-menu systems failed to notice that humans aren't designed to hold their arms in front of their faces making small motions. After more than a very few selections, the arm begins to feel sore, cramped, and oversized - the operator looks like a gorilla while using the touch screen and feels like one afterwards. This is now considered a classic cautionary tale to human-factors designers; Remember the gorilla arm! is shorthand for How is this going to fly in *real* use? .

go root
[Unix] To temporarily enter root mode in order to perform a privileged operation. This use is deprecated in Australia, where the verb root refers to animal sex. See su.
[Jargon File]

gorp
/gorp/ (CMU, perhaps from the canonical hiker's food, Good Old Raisins and Peanuts) Another metasyntactic variable, like foo and bar.

GOSIP
Government OSI Profile

Gosling, James
James Gosling

GOSMACS
/goz'maks/ Gosling Emacs. The first Emacs implementation in C, predating but now largely eclipsed by GNU Emacs. Originally freeware; a commercial version is now modestly popular as UniPress Emacs. The author (James Gosling) went on to invent NeWS.
[Jargon File]

Gosperism
/gos'p*r-izm/ A hack, invention, or saying due to arch-hacker R. William (Bill) Gosper. This notion merits its own term because there are so many of them. Many of the entries in HAKMEM are Gosperisms.
See also life.

GOSPL
Graphics-Oriented Signal Processing Language. A graphical DSP language for simulation.
[ Graphic Oriented Signal Processing Language - GOSPL , C.D. Covington et al, Proc ICASSP-87, 1987].

gotcha
jargon, programming A misfeature of a system, especially a programming language or environment, that tends to breed bugs or mistakes because it both enticingly easy to invoke and completely unexpected and/or unreasonable in its outcome.
For example, a classic gotcha in C is the fact that
if (a=b) code;
is syntactically valid and sometimes even correct. It puts the value of b into a and then executes code if a is non-zero. What the programmer probably meant was
if (a==b) code;
which executes code if a and b are equal.
[Jargon File]
(1995-04-17)

goto
programming (Or GOTO , go to , GO TO , JUMP , JMP ) A construct and keyword found in several higher-level programming languages (e.g. Fortran, COBOL, BASIC, C) to cause an unconditional jump or transfer of control from one point in a program to another. The destination of the jump is usually indicated by a label.
In some languages, a label is a line number, in which case every statement may be labelled, in others a label is an optional alphanumeric identifier. In any case, the destination label usually follows the GOTO keyword.
Use of the GOTO instruction in high level language programming fell into disrepute with the development and general acceptance of structured programming, and especially following the famous article GOTO statement considered harmful . Since a GOTO is effectively an assignment to the program counter, it is tempting to make the generalisation assignment considered harmful and indeed, this is the basis of functional programming.
Nearly(?) all machine language instruction sets include a GOTO instruction, though in this context it is usually called branch or jump or some mnemonic based on these.
See also COME FROM.
(2000-12-13)

Gottlob Frege
person, history, philosophy, mathematics, logic, theory (1848-1925) A mathematician who put mathematics on a new and more solid foundation. He purged mathematics of mistaken, sloppy reasoning and the influence of Pythagoras. Mathematics was shown to be a subdivision of formal logic.
[Where?]
(1997-07-14)

gov
networking The top-level domain for US government bodies.
(1999-01-26)

Government OSI Profile
networking, standard (GOSIP) A subset of OSI standards specific to US Government procurements, designed to maximize interoperability in areas where plain OSI standards are ambiguous or allow excessive options.
(1995-12-13)

go voice
communications When two or more parties stop communicating digitally and resuming the conversation via voice communication over the telephone.
Prototypically this is used (e.g., Wanna go voice? ) between two modem users to denote the action of picking up the phone while shutting off the modem, in order to use the same line for voice communication as had was being used for data transmission.
Compare: Voice-Net.
(1997-01-31)

GP
Early system on UNIVAC I or II. Listed in CACM 2(5):16 (May 1959).

gp
networking The country code for Guadeloupe.
(1999-01-27)

GPF
General Protection failure/fault

GPIB
IEEE 488

GPL
1. General Purpose Language.
2. [ A Sample Management Application Program in a Graphical Data-driven Programming language , A.L. Davis et al, Digest of Papers, Compcon Spring 81, Feb 1981, pp. 162-167].
3. Genken Programming Language.
4. General Public License.
[Jargon File]

GPM
General Purpose Macro-generator

GPRS
General Packet Radio Service

GPS
Global Positioning System

GPSS
General Purpose Systems Simulator. Geoffrey Gordon, 1960. Discrete simulations. The Application of GPSS V to Discrete System Simulation , G. Gordon, P-H 1975. Versions include GPSS II (1963), GPSS III (1965), GPS/360 (1967), and GPSS V (1970).

GPV
General Public Virus

GPX
Early system on UNIVAC II. Listed in CACM 2(5):16 (May 1959).

gq
networking The country code for Equatorial Guinea.
(1999-01-27)

gr
networking The country code for Greece.
(1999-01-27)

GRAAL
( Grail ) General Recursive Applicative and Algorithmic Language. FP with polyadic combinators. Graal: A Functional Programming System with Uncurryfied Combinators and its Reduction Machine , P. Bellot in ESOP 86, G. Goos ed, LNCS 213, Springer 1986.

Grace Hopper
person US Navy Rear Admiral Grace Brewster Hopper (1906-12-09 to 1992-01-01), née Grace Brewster Murray.
Hopper is believed to have concieved the concept of the compiler with the A-0 in 1952. She also developed the first commercial high-level language, which eventually evolved into COBOL. She worked on the Mark I computer with Howard Aiken and with BINAC in 1949.
She is credited with having coined the term debug , and the adage it is always easier to ask forgiveness than it is to get permission (with various wordings), which has been the guiding principle in sysadmin decisions ever since.
See also the entries debug and bug.
Hopper is buried at Arlington National Cemetery. In 1994, the US Navy named a new ship, the guided-missile destroyer USS Hopper (http://www.hopper.navy.mil/), after her.
(1999-06-29)

GRAF
GRaphic Additions to Fortran.
Fortran plus graphic data types.
[ GRAF: Graphic Additions to Fortran , A. Hurwitz et al, Proc SJCC 30 (1967)].
[Sammet 1969, p. 674].
(1995-01-23)

Graffiti
Handwriting recognition software for the Newton and Zoomer which recognises symbols that aren't necessarily letters. This gives greater speed and accuracy. It was written by Berkeley Softworks.
(1995-01-24)

GRAIL
Graphical Input Language.
A flow chart language entered on a graphics tablet. The graphical follow-on to JOSS.
[ The GRAIL Language and Operations , T.O. Ellis et al, RM-6001-ARPA, RAND, Sept 1969].
(1995-01-23)

GRAIN
A pictorial query language.
[ Pictorial Information Systems , S.K. Chang et al eds, Springer 1980].
(1995-01-23)

grain
granularity

GRAM
An extension of BNF used by the SIS compiler generator.
[ SIS - Semantics Implementation System , P.D. Mosses, TR DAIMI MD-30, Aarhus U, Denmark].
(1995-01-23)

grammar
A formal definition of the syntactic structure of a language (see syntax), normally given in terms of production rules which specify the order of constituents and their sub-constituents in a sentence (a well-formed string in the language). Each rule has a left-hand side symbol naming a syntactic category (e.g. noun-phrase for a natural language grammar) and a right-hand side which is a sequence of zero or more symbols. Each symbol may be either a terminal symbol or a non-terminal symbol. A terminal symbol corresponds to one lexeme - a part of the sentence with no internal syntactic structure (e.g. an identifier or an operator in a computer language). A non-terminal symbol is the left-hand side of some rule.
One rule is normally designated as the top-level rule which gives the structure for a whole sentence.
A grammar can be used either to parse a sentence (see parser) or to generate one. Parsing assigns a terminal syntactic category to each input token and a non-terminal category to each appropriate group of tokens, up to the level of the whole sentence. Parsing is usually preceded by lexical analysis. Generation starts from the top-level rule and chooses one alternative production wherever there is a choice.
See also BNF, yacc, attribute grammar, grammar analysis.

grammar analysis
A program written in ABC for answering such questions as what are the start symbols of all rules , what symbols can follow this symbol , which rules are left recursive , and so on. Includes a grammar of ISO Pascal.
Version 1 by Steven Pemberton Steven.Pemberton@cwi.nl . Ports to Unix, MS-DOS, Atari, Macintosh. FTP: ftp.eu.net, ftp.nluug.net programming/languages/abc/examples/grammar/.
(1993-07-05)

grammatical inference
Deducing a grammar from given examples. Also known as inductive inference and recently as computational learning .

granularity
jargon, parallel The size of the units of code under consideration in some context. The term generally refers to the level of detail at which code is considered, e.g. You can specify the granularity for this profiling tool .
The most common computing use is in parallelism where fine grain parallelism means individual tasks are relatively small in terms of code size and execution time, coarse grain is the opposite. You talk about the granularity of the parallelism.
The smaller the granularity, the greater the potential for parallelism and hence speed-up but the greater the overheads of synchronisation and communication.
(1997-05-08)

Grapes
A Modula-like system description language.
E-mail: peter@cadlab.cadlab.de .
[ GRAPES Language Description. Syntax, Semantics and Grammar of GRAPES-86 , Siemens Nixdorf Inform, Berlin 1991, ISBN 3-8009-4112-0].

Grapevine
A distributed system project.
[Who? Where? Why?]

graph
1. mathematics A collection of nodes and edges.
See also connected graph, degree, directed graph, Moore bound, regular graph, tree.
2. graphics A visual representation of algebraic equations or data.
(1996-09-22)

Graph Algorithm and Software Package
library (GASP) A PL/I extension for programming graph algorithms.
[ GASP - Gprah Algorithm Software Package , S. Chase, TR CS Dept, U Illinois, Dec 1969].
(1998-02-27)

graph coloring
graph colouring

graph colouring
application A constraint-satisfaction problem often used as a test case in research, which also turns out to be equivalent to certain real-world problems (e.g. register allocation). Given a connected graph and a fixed number of colours, the problem is to assign a colour to each node, subject to the constraint that any two connected nodes cannot be assigned the same colour. This is an example of an NP-complete problem.
See also four colour map theorem.

Graphic ALGOL
Generation of shaded perspective picures in real time.
[ An Extended ALGOL 60 for Shaded Computer Graphics , B. Jones, Proc ACM Symp on Graphic Languages, Apr 1976].

Graphical Kernel System
graphics, standard (GKS) The widely recognised standard ANSI X3.124 for graphical input/output. GKS is worked on by the ISO/IEC group JTC1/SC24. It provides applications programmers with standard methods of creating, manipulating, and displaying or printing computer graphics on different types of computer graphics output devices. It provides an abstraction to save programmers from dealing with the detailed capabilities and interfaces of specific hardware.
GKS defines a basic two-dimensional graphics system with: uniform input and output primitives; a uniform interface to and from a GKS metafile for storing and transferring graphics information. It supports a wide range of graphics output devices including such as printers, plotters, vector graphics devices, storage tubes, refresh displays, raster displays, and microfilm recorders.
(1999-04-01)

Graphical User Interface
operating system (GUI) The use of pictures rather than just words to represent the input and output of a program. A program with a GUI runs under some windowing system (e.g. The X Window System, MacOS, Microsoft Windows, Acorn RISC OS, NEXTSTEP). The program displays certain icons, buttons, dialogue boxes, etc. in its windows on the screen and the user controls it mainly by moving a pointer on the screen (typically controlled by a mouse) and selecting certain objects by pressing buttons on the mouse while the pointer is pointing at them. This contrasts with a command line interface where communication is by exchange of strings of text.
Windowing systems started with the first real-time graphic display systems for computers, namely the SAGE Project [Dates?] and Ivan Sutherland's Sketchpad (1963). Douglas Engelbart's Augmentation of Human Intellect project at SRI in the 1960s developed the On-Line System, which incorporated a mouse-driven cursor and multiple windows. Several people from Engelbart's project went to Xerox PARC in the early 1970s, most importantly his senior engineer, Bill English. The Xerox PARC team established the WIMP concept, which appeared commercially in the Xerox 8010 (Star) system in 1981.
Beginning in 1980(?), led by Jef Raskin, the Macintosh team at Apple Computer (which included former members of the Xerox PARC group) continued to develop such ideas in the first commercially successful product to use a GUI, the Apple Macintosh, released in January 1984. In 2001 Apple introduced Mac OS X.
Microsoft modeled the first version of Windows, released in 1985, on Mac OS. Windows was a GUI for MS-DOS that had been shipped with IBM PC and compatible computers since 1981. Apple sued Microsoft over infringement of the look-and-feel of the MacOS. The court case ran for many years.
[Wikipedia].
(2002-03-25)

Graphic Display Interface
hardware (GDI) graphics adaptor.
(1995-03-16)

Graphic Language
For specifying graphic operations.
[ A Problem Oriented Graphic Language , P.J. Schwinn, proc ACM 22nd Natl Conf, 1967].
[Sammet 1969, p. 677].

graphics accelerator
graphics, hardware Hardware (often an extra circuit board) to perform tasks such as plotting lines and surfaces in two or three dimensions, filling, shading and hidden line removal.
(1997-07-14)

graphics adapter
graphics adaptor

graphics adaptor
hardware, graphics (Or graphics adapter , graphics card , video adaptor , etc.) A circuit board fitted to a computer, especially an IBM PC, containing the necessary video memory and other electronics to provide a bitmap display.
Adaptors vary in the resolution (number of pixels) and number of colours they can display, and in the refresh rate they support. These parameters are also limited by the monitor to which the adaptor is connected. A number of such display standards, e.g. SVGA, have become common and different software requires or supports different sets.
(1996-09-16)

graphics card
graphics adaptor

Graphics Interchange Format
graphics, file format /gif/, occasionally /jif/ (GIF, GIF 89A) A standard for digitised images compressed with the LZW algorithm, defined in 1987 by CompuServe (CIS).
Graphics Interchange Format and GIF are service marks of CompuServe Incorporated. This only affects use of GIF within Compuserve, and pass-through licensing for software to access them, it doesn't affect anyone else's use of GIF. It followed from a 1994 legal action by Unisys against CIS for violating Unisys's LZW software patent. The CompuServe Vice President has stated that CompuServe is committed to keeping the GIF 89A specification as an open, fully-supported, non-proprietary specification for the entire on-line community including the World-Wide Web .
Filename extension: .gif.
File format (ftp://peipa.essex.ac.uk/ipa/info/file-formats).
GIF89a specification (http://asterix.seas.upenn.edu/~mayer/lzw_gif/gif89a.html).
See also progressive coding, animated GIF.
(2000-09-12)

Graphics Interface Format
spelling You mean Graphics Interchange Format .
(1999-10-11)

Graphics Language Object System
graphics, language (GLOS) A language with statements for describing graphics objects (line, circle, polygon, etc.), written by Michael J McLean and Brian Hicks at the University of Queensland, St. Lucia in 1978. New objects are defined using procedures. 2-D transformations are context dependent and may be nested.
[M.J. McLean, The Semantics of Computer Drafting Languages , PhD thesis, University of Queensland, 1978].
[Hicks, B.W., and McLean, M.J. A Graphic Language for Describing Line Objects , Proceedings of the DECUS-Australia August 1973 Symposium, Melbourne, 1973].
(2002-06-01)

graphic workstation
graphics, computer A workstation specifically configured for graphics works such as image manipulation, bitmap graphics ( paint ), and vector graphics ( draw ) type applications. Such work requires a powerful CPU and a high resolution display.
A graphic workstation is very similar to a CAD workstation and, given the typical specifications of personal computers currently available in 1999, the distinctions are very blurred and are more likely to depend on availability of specific software than any detailed hardware requirements.
(1999-05-04)

Graph-Oriented Object Database
language, database (GOOD) A graph manipulation language for use as a database query language.
[ A Graph-Oriented Object Database Model , M. Gyssens et al, Proc ACM Symp Princs of Database Sys, Mar 1990].
(1995-03-07)

graph plotter
plotter

graph reduction
A technique invented by Chris Wadsworth where an expression is represented as a directed graph (usually drawn as an inverted tree). Each node represents a function call and its subtrees represent the arguments to that function. Subtrees are replaced by the expansion or value of the expression they represent. This is repeated until the tree has been reduced to a value with no more function calls (a normal form).
In contrast to string reduction, graph reduction has the advantage that common subexpressions are represented as pointers to a single instance of the expression which is only reduced once. It is the most commonly used technique for implementing lazy evaluation.

graph rewriting system
An extension of a term rewriting system which uses graph reduction on terms represented by directed graphs to avoid duplication of work by sharing expressions.

GRAPPLE
GRAPh Processing LanguagE. 1968.
[ A Directed Graph Representation for Computer Simulation of Belief Systems , L.G. Tesler et al, Math Biosciences 2:19-40 (1968)].

GRAS
A public domain graph-oriented database system for software engineering applications from RWTH Aachen.

GRASP/Ada
Graphical Representation of Algorithms, Structures and Processes.
[ A Graphically Oriented Specification Language for Automatic Code Generation , J.H. Cross, Auburn U, NASA CR-183212, 1989].

GRASPIN
An Esprit project to develop a personal software engineering environment to support the construction and verification of distributed and non-sequential software systems.

grault
/grawlt/ Yet another metasyntactic variable, invented by Mike Gallaher and propagated by the GOSMACS documentation. See corge.
[Jargon File]

Gray
A parser generator written in Forth by Martin Anton Ertl anton@mips.complang.tuwien.ac.at . Gray takes grammars in an extended BNF and produces executable Forth code for recursive descent parsers. There is no special support for error handling. Version 3 runs under Tile Forth Release 2 by Mikael Patel.
(1992-05-22)

graybar land
jargon The place you go while you're staring at a computer that's processing something very slowly (while you watch the grey bar creep across the screen).
I was in graybar land for hours, waiting for that CAD rendering .
(1997-04-17)

gray code
hardware A binary sequence with the property that only one bit changes between any two consecutive elements (the two codes have a Hamming distance of one).
The gray code originated when digital logic circuits were built from vacuum tubes and electromechanical relays. Counters generated tremendous power demands and noise spikes when many bits changed at once. E.g. when incrementing a register containing 11111111, the back-EMF from the relays' collapsing magnetic fields required copious noise suppression. Using gray code counters, any increment or decrement changed only one bit, regardless of the size of the number.
Gray code can also be used to convert the angular position of a disk to digital form. A radial line of sensors reads the code off the surface of the disk and if the disk is half-way between two positions each sensor might read its bit from both positions at once but since only one bit differs between the two, the value read is guaranteed to be one of the two valid values rather than some third (invalid) combination (a glitch).
One possible algorithm for generating a gray code sequence is to toggle the lowest numbered bit that results in a new code each time. Here is a four bit gray code sequence generated in this way:
0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0
The codes were patented in 1953 by Frank Gray, a Bell Labs researcher.
(http://www.nist.gov/dads/HTML/graycode.html).
(2002-08-29)

gray-scale
spelling US spelling of grey-scale .

gr d
chat Grinning, running and ducking.
See emoticon.
(1995-03-17)

GRE
Generic Routing Encapsulation

greater than
character ASCII character 62.
Common names: ITU-T: greater than; ket ( = bra); right angle; right angle bracket; right broket. Rare: into, towards; write to; blow ( = suck); gozinta; out; zap (all from Unix I/O redirection); INTERCAL: right angle.
See also less than.
(1995-03-17)

greatest common divisor
mathematics (GCD) A function that returns the largest positive integer that both arguments are integer multiples of.
See also Euclid's Algorithm. Compare: lowest common multiple.
(1999-11-02)

greatest lower bound
theory (glb, meet, infimum) The greatest lower bound of two elements, a and b is an element c such that c = a and c = b and if there is any other lower bound c' then c' = c.
The greatest lower bound of a set S is the greatest element b such that for all s in S, b = s. The glb of mutually comparable elements is their minimum but in the presence of incomparable elements, if the glb exists, it will be some other element less than all of them.
glb is the dual to least upper bound.
(In LaTeX = is written as sqsubseteq, the glb of two elements a and b is written as a sqcap b and the glb of set S as bigsqcap S).
(1995-02-03)

Great Renaming
Usenet, history The flag day in 1986 on which all of the non-local groups on the Usenet had their names changed from the net.- format to the current multiple-hierarchies scheme. Used especially in discussing the history of newsgroup names. The oldest sources group is comp.sources.misc; before the Great Renaming, it was net.sources.
FAQ (http://www.vrx.net/usenet/history/rename.html).
[Jargon File]
(2000-07-14)

Great Runes
Uppercase-only text or display messages. Some archaic operating systems still emit these.
See also runes, smash case, fold case.
Decades ago, back in the days when it was the sole supplier of long-distance hardcopy transmittal devices, the Teletype Corporation was faced with a major design choice. To shorten code lengths and cut complexity in the printing mechanism, it had been decided that teletypes would use a monocase font, either ALL UPPER or all lower. The Question Of The Day was therefore, which one to choose. A study was conducted on readability under various conditions of bad ribbon, worn print hammers, etc. Lowercase won; it is less dense and has more distinctive letterforms, and is thus much easier to read both under ideal conditions and when the letters are mangled or partly obscured. The results were filtered up through management. The chairman of Teletype killed the proposal because it failed one incredibly important criterion:
It would be impossible to spell the name of the Deity
correctly.
In this way (or so, at least, hacker folklore has it) superstition triumphed over utility. Teletypes were the major input devices on most early computers, and terminal manufacturers looking for corners to cut naturally followed suit until well into the 1970s. Thus, that one bad call stuck us with Great Runes for thirty years.
(1994-12-02)

Great Worm
Internet Worm

greek
1. text, graphics To display text as abstract dots and lines in order to give a preview of layout without actually being legible. This is faster than drawing the characters correctly which may require scaling or other transformations. Greeking is particularly useful when displaying a reduced image of a document where the text would be too small to be legible on the display anyway.
2. lorem ipsum.
(1999-06-27)

greeking
greek

Green
A language proposed by Cii Honeywell-Bull to meet the DoD Ironman requirements which led to Ada. This language won in 1979.
[ On the GREEN Language Submitted to the DoD , E.W. Dijkstra, SIGPLAN Notices 13(10):16-21 (Oct 1978)].
(1994-12-02)

Green Book
1. publication Informal name for one of the four standard references on PostScript. The other three official guides are known as the Blue Book, the Red Book, and the White Book.
[ PostScript Language Program Design , Adobe Systems, Addison-Wesley, 1988 (ISBN 0-201-14396-8)].
2. publication Informal name for one of the three standard references on SmallTalk. Also associated with blue and red books.
[ Smalltalk-80: Bits of History, Words of Advice , by Glenn Krasner (Addison-Wesley, 1983; QA76.8.S635S58; ISBN 0-201-11669-3)].
3. publication The X/Open Compatibility Guide , which defines an international standard Unix environment that is a proper superset of POSIX/SVID. It also includes descriptions of a standard utility toolkit, systems administrations features, and the like. This grimoire is taken with particular seriousness in Europe. See Purple Book.
4. publication The IEEE 1003.1 POSIX Operating Systems Interface standard has been dubbed The Ugly Green Book .
5. publication Any of the 1992 standards issued by the ITU-T's tenth plenary assembly. These include, among other things, the dreadful X.400 electronic mail standard and the Group 1 through 4 fax standards.
6. Green Book CD-ROM.
See also book titles.
[Jargon File]
(1996-12-03)

Green Book CD-ROM
A standard CD-ROM format developed by Philips for CD-i. It is ISO 9660 compliant and uses mode 2 form 2 addressing. It can only be played on drives which are XA (Extended Architecture) compatible.
Many Green Book discs contain CD-i applications which can only be played on a CD-i player but many others contain films or music videos. Video CDs in Green Book format are normally labelled Digital Video on CD
Green Book was obsoleted by White book CD-ROM in March 1994.
(1994-11-02)

green bytes
(Or green words ) Meta-information embedded in a file, such as the length of the file or its name; as opposed to keeping such information in a separate description file or record. The term comes from an IBM user's group meeting (ca. 1962) at which these two approaches were being debated and the diagram of the file on the blackboard had the green bytes drawn in green.
By extension, the non-data bits in any self-describing format. A GIF file contains, among other things, green bytes describing the packing method for the image .
Compare out-of-band, zigamorph, fence.
[Jargon File]
(1994-11-02)

green card
[after the IBM System/360 Reference Data card] A summary of an assembly language, even if the colour is not green. Less frequently used now because of the decrease in the use of assembly language. I'll go get my green card so I can check the addressing mode for that instruction. Some green cards are actually booklets.
The original green card became a yellow card when the System/370 was introduced, and later a yellow booklet. An anecdote from IBM refers to a scene that took place in a programmers' terminal room at Yorktown in 1978. A luser overheard one of the programmers ask another Do you have a green card? The other grunted and passed the first a thick yellow booklet. At this point the luser turned a delicate shade of olive and rapidly left the room, never to return.
[Jargon File]

green lightning
[IBM] 1. Apparently random flashing streaks on the face of 3278-9 terminals while a new symbol set is being downloaded. This hardware bug was left deliberately unfixed, as some genius within IBM suggested it would let the user know that something is happening . That, it certainly does. Later microprocessor-driven IBM colour graphics displays were actually *programmed* to produce green lightning!
2. [proposed] Any bug perverted into an alleged feature by adroit rationalisation or marketing. Motorola calls the CISC cruft in the 88000 architecture compatibility logic , but I call it green lightning . See also feature.

green machine
A computer or peripheral device that has been designed and built to military specifications for field equipment (that is, to withstand mechanical shock, extremes of temperature and humidity, and so forth). Comes from the olive-drab uniform paint used for military equipment.
[Jargon File]

green monitor
Advanced Power Management

Green's Theorem
humour (TMRC) For any story, in any group of people there will be at least one person who has not heard the story. A refinement of the theorem states that there will be *exactly* one person (if there were more than one, it wouldn't be as bad to re-tell the story). The name of this theorem is a play on a fundamental theorem in calculus.
[Jargon File]
(1994-12-16)

Greenwich Mean Time
time, standard (GMT) The local time on the Greenwich meridian, based on the hypothetical mean sun (which averages out the effects of the Earth's elliptical orbit and its tilted axis). GMT is the basis of the civil time for the UK.
In 1925 the reference point was changed from noon to midnight and it was recommended that the term Universal Time should be used for the new GMT.
Authorities disagreed on whether GMT equates with UT0 or UT1, however the differences between the two are of the order of thousandths of a second. GMT is no longer used for scientific purposes.
(2001-08-02)

Greg Olson
person President and CEO of Sendmail Inc.. Olson is an industry veteran who worked on distributed systems at Summit Systems Inc. then at Britton Lee Inc., Sybase Inc. and Integrated Systems Inc..
(1998-08-25)

grep
tool, information science tool A Unix command for searching files for lines matching a given regular expression (RE). Named after the qed/ed editor subcommand g/re/p , where re stands for a regular expression, to Globally search for the Regular Expression and Print the lines containing matches to it. There are two other variants, fgrep which searches only for fixed strings and egrep which accepts extended REs but is usually the fastest of the three.
Used by extension to mean to look for something by pattern . When browsing through a large set of files, one may speak of grepping around . Grep the bulletin board for the system backup schedule, would you? See also vgrep.
[Jargon File]

grey-scale
graphics (US gray-scale ) 1. Composed of (discrete) shades of grey. If the pixels of a grey-scale image have N bits, they may take values from zero, representing black up to 2^N-1, representing white with intermediate values representing increasingly light shades of grey. If N=1 the image is not called grey-scale but could be called monochrome.
2. A range of acurately known shades of grey printed out for use in calibrating those shades on a display or printer.
(1995-03-17)

Greystone Technologies
company The producers of the GT/M MUMPS compiler and GT/SQL pre-processor for VAX and DEC Alpha.
[Address?]
(1995-01-10)

GRG
A computer algebra system for differential geometry, gravitation and field theory. Version 3.1 works with PSL-based REDUCE 3.3 or 3.4.
E-mail: V.V. Zhytnikov vvzhy@phy.ncu.edu.tw .
(1994-12-16)

GRIB
GRid In Binary.
The World Meteorological Organization's data format.
(1995-01-10)

grick
/grik/ (WPI, first used by Tim Haven to describe grick trigonometry , a shortcut method of determing attack angles in grid-based games like Star Trek) Any integral increment of measurement. E.g. Please turn the stereo up a few gricks .
(1995-01-31)

grilf
Girl-friend.
Like newsfroup and filk, a typo incarnated as a new word. Seems to have originated sometime in 1992.
[Jargon File]
(1995-01-31)

Grim File Reaper
storage, operating system (GFR) An ITS and LISP Machine utility to remove files according to some program-automated or semi-automatic manual procedure, especially one designed to reclaim mass storage space or reduce name-space clutter (the original GFR actually moved files to tape).
See also prowler, reaper. Compare GC, which discards only provably worthless stuff.
(1996-06-20)

GRIND
GRaphical INterpretive Display.
A graphics input language for the PDP-9.
[ GRIND: A Language and Translator for Computer Graphics , A.P. Conn, Dartmouth, June 1969].
[Jargon File]
(1995-01-31)

grind
1. (MIT and Berkeley) To prettify hardcopy of code, especially LISP code, by reindenting lines, printing keywords and comments in distinct fonts (if available), etc. This usage was associated with the MacLISP community and is now rare; prettyprint was and is the generic term for such operations.
2. (Unix) To generate the formatted version of a document from the nroff, troff, TeX, or Scribe source.
3. To run seemingly interminably, especially (but not necessarily) if performing some tedious and inherently useless task. Similar to crunch or grovel. Grinding has a connotation of using a lot of CPU time, but it is possible to grind a disk, network, etc.
See also hog.
4. To make the whole system slow. Troff really grinds a PDP-11.
5. grind grind excl. Roughly, Isn't the machine slow today!
[Jargon File]
(1994-12-16)

grind crank
A mythical accessory to a terminal. A crank on the side of a monitor, which when operated makes a zizzing noise and causes the computer to run faster. Usually one does not refer to a grind crank out loud, but merely makes the appropriate gesture and noise. See grind and wugga wugga.
Historical note: At least one real machine actually had a grind crank - the R1, a research machine built toward the end of the days of the great vacuum tube computers, in 1959. R1 (also known as The Rice Institute Computer (TRIC) and later as The Rice University Computer (TRUC)) had a single-step/free-run switch for use when debugging programs. Since single-stepping through a large program was rather tedious, there was also a crank with a cam and gear arrangement that repeatedly pushed the single-step button. This allowed one to crank through a lot of code, then slow down to single-step for a bit when you got near the code of interest, poke at some registers using the console typewriter, and then keep on cranking.
[Jargon File]

GRIP
Graph Reduction In Parallel.
Simon Peyton Jones's GRIP machine built at UCL, now at the University of Glasgow. It has many processors (Motorola 68020 or other) on Futurebus with intelligent memory units.
(1994-12-14)

gripenet
[IBM] A wry (and thoroughly unofficial) name for IBM's internal VNET system, deriving from its common use by IBMers to voice pointed criticism of IBM management that would be taboo in more formal channels.
[Jargon File]

gritch
/grich/ 1. A complaint (often caused by a glitch).
2. To complain. Often verb-doubled: Gritch gritch .
3. A synonym for glitch (as verb or noun).
(1995-01-31)

grix
/griks/ (WPI) A meta-number, said to be an integer between 6 and 7. Used either alone or with flib or suffixes such as -ty, -teen, etc. to denote an arbitrary integer (see N). This system will bomb if there are grixty-flib users on it.
(1995-01-31)

groff
GNU roff.
GNU's implementation of roff in C++.
See also nroff, troff.
Version 1.07 by James J. Clark jjc@jclark.com .
FTP groff-1.07.tar.z from a GNU archive site.
(1993-03-03)

grok
/grok/, /grohk/ (From the novel Stranger in a Strange Land , by Robert A. Heinlein, where it is a Martian word meaning literally to drink and metaphorically to be one with )
1. To understand, usually in a global sense. Connotes intimate and exhaustive knowledge.
Contrast zen, which is similar supernal understanding experienced as a single brief flash. See also glark.
2. Used of programs, may connote merely sufficient understanding. Almost all C compilers grok the void type these days.
[Jargon File]
(1995-01-31)

gronk
/gronk/ Popularised by Johnny Hart's comic strip B.C. but the word apparently predates that.
1. To clear the state of a wedged device and restart it. More severe than to frob (sense 2).
2. [TMRC] To cut, sever, smash, or similarly disable.
3. The sound made by many 3.5-inch diskette drives. In particular, the microfloppies on a Commodore Amiga go grink, gronk .
[Jargon File]

gronked
1. Broken. The teletype scanner was gronked, so we took the system down.
2. Of people, the condition of feeling very tired or (less commonly) sick. I've been chasing that bug for 17 hours now and I am thoroughly gronked! Compare broken, which means about the same as gronk used of hardware, but connotes depression or mental/emotional problems in people.

group
A group G is a non-empty set upon which a binary operator * is defined with the following properties for all a,b,c in G:
Closure: G is closed under *, a*b in G
Associative: * is associative on G, (a*b)*c = a*(b*c)
Identity: There is an identity element e such that
a*e = e*a = a.
Inverse: Every element has a unique inverse a' such that
a * a' = a' * a = e. The inverse is usually
written with a superscript -1.
(1998-10-03)

Group 3
protocol, compression (G3) The CCITT fax protocol which uses data compression and allows a variety of file types (e.g. electronic mail, pictures, PostScript) to be transmitted over analogue telephone lines.
The Group 3 protocol was published by CCITT in 1993. Full details of the protocol are available from ITU-T.
See also Group 4.
(1998-10-03)

Group 4
protocol, compression (G4) The CCITT fax protocol which uses data compression and allows a variety of file types (e-mail, pictures, PostScript, etc.) to be transmitted over digital (ISDN) telephone lines.
The Group 4 protocol was published by CCITT in 1993. Full details of the protocol are available from ITU-T.
See also Group 3.
(1998-09-10)

Group Code Recording
storage (GCR) A recording method used for 6250 BPI magnetic tapes.
GCR typically uses a group of five bits of code to represent four bits of data, where the encoding ensures no more than two or three zeros occur in a row, and no more than eight or so ones occur in a row, where zeros represent an absense of magnetic change.
GCR is also used on Commodore Business Machines diskette drives; the 4040, 8050, 154x, 157x and 158x series of 5.25 and 3.5 low and high density diskette drives used with 8-bit home computers circa 1977 to 1992. Also used on Amiga internal and external drives.
Compare NRZI, PE.
(1997-08-29)

group identifier
operating system (gid) A unique number, between 0 an 32767, identifying a set of users under Unix. Gids are found in the /etc/passwd and /etc/group databases (or their NIS equivalents) and one is also associated with each file, indicating the group to which its group permissions apply.
(1996-12-01)

Group Separator
character (GS) ASCII character 29.
(1996-06-28)

Group-Sweeping Scheduling
storage, algorithm (GSS) A disk scheduling strategy in which requests are served in cycles, in a round-robin manner. To reduce disk arm movements ( seeking ), the set of streams is divided into groups that are served in fixed order. Streams within a group are served according to SCAN .
If all clients are assigned to one group, GSS reduces to SCAN, and if all clients are assigned to separate groups, GSS effectively becomes round-robin scheduling. The service order within one group is not fixed, and a stream may in fact be first in one cycle while last in the next. This variation has to be masked by extra buffering but whereas SCAN requires buffer space for all streams, GSS can reuse the buffer for each group and effect a trade-off between seek optimisation and buffer requirements.
(1995-11-12)

Groupware
See CSCW.

Groupwise
software, networking A workgroup application suite offering electronic mail and diary scheduling from Novell, Inc.. It can operate on a number of platforms.
Groupwise was previously known as WordPerfect Office, and is an extensible system suitable for LAN or WAN operation. Mail gateway software is available for a number of protocols including SMTP, allowing the exchange of mail with the Internet.
(1995-09-23)

grovel
1. To work interminably and without apparent progress. Often used transitively with over or through . The file scavenger has been groveling through the /usr directories for 10 minutes now. Compare grind and crunch. Emphatic form: grovel obscenely .
2. To examine minutely or in complete detail. The compiler grovels over the entire source program before beginning to translate it. I grovelled through all the documentation, but I still couldn't find the command I wanted.
[Jargon File]

grunge
/gruhnj/ 1. That which is grungy, or that which makes it so.
2. [Cambridge] Code which is inaccessible due to changes in other parts of the program. The preferred term in North America is dead code.

gry
puzzle Angry and hungry are two words that end in gry . There are three words in the English language. What is the third word? Everyone knows what it means and everyone uses it every day. Look closely and I have already given you the third word. What is it?
Answer: language .
This puzzle has circulated widely on the Internet for some years, but usually in an abbreviated form such as Name three common English words ending in 'gry' , which has no good third answer.
(http://www.word-detective.com/gry.html).
(2001-04-09)

GS
Group Separator

gs
networking The country code for South Georgia and the South Sandwich Islands.
(1999-01-27)

GSBL
GSBL: An Algebraic Specification Language Based on Inheritance , S. Clerici et al in in ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988, pp.78-92.

GSI
Gensym Standard Interface

GSL
Grenoble System Language. M. Berthaud, IBM, Grenoble. GSL Language Reference Manual , M. Berthaud et al, March 1973. A MOL-Based Software Construction System , M. Berthaud et al, in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, pp.151-157.

GSM
Global System for Mobile Communications

GSPL
language Greenberg's System Programming Language.
Bernard Greenberg.
(1995-05-09)

GSS
storage Group-Sweeping Scheduling.
(1995-11-12)

GSS-API
Generic Security Service Application Programming Interface

gt
networking The country code for Guatemala.
(1999-01-27)

gtg
chat Got to go. The user is about to stop chatting.
(1999-06-07)

GTL
Gunning Transceiver Logic

GT/SQL
tool An SQL pre-processor from Greystone Technologies which combines MUMPS code with SQL code and generates code that can work with a database from both the MUMPS and SQL perspectives. This is often done when a database is to be made available in a client/server environment, where the MUMPS database serves one or more SQL clients.
(1995-01-10)

gu
networking The country code for Guam.
(1999-01-27)

guaranteed scheduling
algorithm A scheduling algorithm used in multitasking operating systems that guarantees fairness by monitoring the amount of CPU time spent by each user and allocating resources accordingly.
[How does it allocate resources?]
(1998-04-26)

guard
programming 1. In functional programming, a Boolean expression attached to a function definition specifying when (for what arguments) that definition is appropriate.
2. In (parallel) logic programming, a Boolean expression which is used to select a clause from several alternative matching clauses.
See Guarded Horn Clauses.
3. In parallel languages, a Boolean expression which specifies when an message may be sent or received.
(1995-05-09)

Guarded Horn Clauses
language (GHC) A parallel dialect of Prolog by K. Ueda in which each clause has a guard. GHC is similar to Parlog. When several clauses match a goal, their guards are evaluated in parallel and the first clause whose guard is found to be true is used and others are rejected. It uses committed-choice nondeterminism.
See also FGHC, KL1.
(1995-05-09)

gubbish
jargon /guhb'*sh/ (A portmanteau of garbage and rubbish which may have originated with SF author Philip K. Dick) Garbage; crap; nonsense. What is all this gubbish? The opposite portmanteau rubbage is also reported.
[Jargon File]
(1995-05-09)

GUI
Graphical User Interface

GUIDE
Graphical User Interface Development Environment from Sun.

Guide
A hypertext system from the University of Kent (GB) and OWL for displaying on-line documentation.

Guide to Available Mathematical Software
mathematics
Home (http://gams.nist.gov/)
(1995-04-28)

guiltware
/gilt'weir/ 1. A piece of freeware decorated with a message telling one how long and hard the author worked on it and intimating that one is a no-good freeloader if one does not immediately send the poor suffering martyr gobs of money.
2. Shareware that works.
[Jargon File]

gun
jargon (ITS, from the :GUN command) To forcibly terminate a program or job (computer, not career). Some idiot left a background process running soaking up half the cycles, so I gunned it.
Compare can.
(1995-02-27)

gunch
/guhnch/ jargon (TMRC) To push, prod, or poke at a device that has almost (but not quite) produced the desired result. Implies a threat to mung.
[Jargon File]
(1995-02-27)

Gunning Transceiver Logic
electronics, hardware, integrated circuit, standard (GTL) A standard for electrical signals in CMOS circuits used to provide higher data transfer speeds with smaller voltage swings [compared with what?].
The GTL signal swings between 0.4 volts and 1.2 volts with a reference voltage of about 0.8 volts. Only a small deviation of 0.4 volts (or thereabouts) from the reference voltage is required to switch between on and off states. Therefore, a GTL signal is said to be a low voltage swing logic signal.
Gunning Transceiver Logic has several advantages. The resistive termination of a GTL signal provides a clean signalling environment [what?]. Moreover, the low terminating voltage of 1.2 volts results in reduced voltage drops across the resistive elements. GTL has low power dissipation and can operate at high frequency and causes less electromagnetic interference (EMI).
GTL/BTL: A Low-Swing Solution for High-Speed Digital Logic (http://www.edtn.com/scribe/reference/appnotes/md003ecc.htm).
(2000-01-16)

gunzip
tool, compression The decompression utility corresponding to gzip. In operating systems with links, gunzip is just a link to gzip and its function can be invoked by passing a -d flag to gzip.
(1996-01-03)

Gupta Corporation
company The vendor of SQLWindows.
Gupta Corporation provides application development and deployment software for client-server applications, consisting of a relational database, application development tools and transparent connectivity software.
Gupta employs 400 people in 15 offices worldwide, including the United States, Europe and Asia. Gupta's 1993 fiscal year income was $5.6 million and their revenue was $56.1 million. Gupta sells client-server system components for networks of personal computers.
Home (http://www.wji.com/gupta/htmls/homepage.html).
Address: 1060 Marsh Road, Menlo Park, CA 94025, USA.
Telephone: +1 (415) 321 9500. Fax: +1 (415) 321 5471.
(1997-04-28)

gurfle
exclamation /ger'fl/ An expression of shocked disbelief. He said we have to recode this thing in Fortran by next week. Gurfle!
Compare weeble.
[Jargon File]
(1996-06-01)

guru
job An expert, especially in Unix guru . Implies not only wizard skill but also a history of being a knowledge resource for others. Less often, used (with a qualifier) for other experts on other systems, as in VMS guru .
See source of all good bits.
[Jargon File]
(1996-06-01)

guru meditation
operating system, exception The Amiga equivalent of Unix's panic (sometimes just called a guru or guru event ). When the system crashes, a cryptic message of the form GURU MEDITATION #XXXXXXXX.YYYYYYYY may appear, indicating what the problem was. An Amiga guru can figure things out from the numbers.
In the earliest days of the Amiga, there was a device called a Joyboard which was basically a plastic board built onto a joystick-like device; it was sold with a skiing game cartridge for the Atari game machine. It is said that whenever the prototype OS crashed, the system programmer responsible would concentrate on a solution while sitting cross-legged, balanced on a Joyboard, resembling a meditating guru. Sadly, the joke was removed in AmigaOS 2.04.
The Jargon File claimed that a guru event had to be followed by a Vulcan nerve pinch but, according to a correspondent, a mouse click was enough to start a reboot.
(2002-06-25)

Guy Lewis Steele, Jr.
person (GLS) A software engineer whose most notable contributions to the art of computing include the design of Scheme (in cooperation with Gerald Sussman) and the design of the original command set of Emacs. He is also known for his contribution to the Jargon File and for being the first to port TeX (from WAITS to ITS). He wrote the book Common Lisp , which virtually defines the language.
He was working at Sun Microsystems, Inc. from 1996 to the present (June 2001).
(2001-06-14)

Guy Steele
Guy Lewis Steele, Jr.

GVL
Graphical View Language. A visual language for specifying interactive graphical output by T.C.N. Graham J.R. Cordy, Queen's University, Canada.
[ GVL: A Graphical, Functional Language for the Specification of Output in Programming Languages , J.R. Cordy T.C.N. Graham, Proc IEEE Intl Conf on Comp Lang ICCL'90 (March 1990)].

gw
networking The country code for Guinea-Bissau.
(1999-01-27)

GW-Ada
A new version of Ada/Ed?
MS-DOS version (ftp://wuarchive.wustl.edu/languages/ada/compiler/adaed/gwu/9309/dos), Macintosh version (ftp://wuarchive.wustl.edu/languages/ada/compilers/adaed/gwu/mac).
(1993-09-01)

GW-BASIC
language An early version of MS-BASIC.
(1995-05-12)

gweep
/gweep/ To hack, usually at night, or one who does so. At WPI, from 1977 onwards, gweeps could often be found at the College Computing Center punching cards or crashing the PDP-10 or, later, the DEC-20. The term has survived the demise of those technologies, however, and is still alive in late 1991. I'm going to go gweep for a while. See you in the morning. I gweep from 8 PM till 3 AM during the week.
Gweep originated as an onomatopeiac term, evoking the sound of the (once-ubiquitous) Hazeltine 9000 terminals' bell on WPI campus.
A gweep is one step above a fweep.
[Jargon File]
(1995-01-31)

GWHIS
World-Wide Web A commercial version of NCSA Mosaic for MS Windows 3.x and Windows for Workgroups. GWHIS was released by Quadralay Corporation on 30 September 1994.
GWHIS Viewer for Microsoft Windows differs from NCSA Mosaic for Microsoft Windows in several ways including:
A hotlist similiar to the X Window System version. Edit Annotation and Delete Annotation work. All Buttons and Menu Items are greyed out while files are being retreived and processed. This prevents the user from queing up requests to the TCP/IP stack which causes many crashes. Look and Feel are similiar to the X version. On-line help is complete. Functional Setup program. Greater overall stability.
(1994-12-16)

GWM
Generic Window Manager. An extensible window manager for the X Window System. It is built on top of an interpreter for the WOOL language.
(ftp://export.lcs.mit.edu/contrib/gwm), (ftp://avahi.inria.fr/contrib/gwm).

gy
networking The country code for Guyana.
(1999-01-27)

Gypsy
Specification and verification of concurrent systems software. Message passing using named mailboxes. Separately compilable units: routine (procedure, function, or process), type and constant definition, each with a list of access rights.
[ Report on the Language Gypsy , A.L. Ambler et al, UT Austin ICSCS-CMP-1976-08-1].

gz
gzip

gzip
tool, compression GNU compression utility. Gzip reduces the size of the named files using Lempel-Ziv LZ77 compression. Whenever possible, each file is replaced by one with the filename extension .gz . Compressed files can be restored to their original form using gzip -d or gunzip or zcat.
The Unix compress utility is patented (by two separate patents, in fact) and is thus shunned by the GNU Project since it is not free software. They have therefore chosen gzip, which is free of any known software patents and which tends to compress better anyway. All compressed files in the GNU anonymous FTP area (gnu.org/pub/gnu) are in gzip format and their names end in .gz (as opposed to compress -compressed files, which end in .Z ).
Gzip can uncompress compress -compressed files and pack files (which end in .z ). The decompression algorithms are not patented, only compression is.
The gzip program is available from any GNU archive site in shar, tar, or gzipped tar format (for those who already have a prior version of gzip and want faster data transmission). It works on virtually every Unix system, MS-DOS, OS/2 and VMS.

1. A simple markup language intended for quick conversion of existing text to hypertext.
2. A method of marking common words to call attention to the fact that they are being used in a nonstandard, ironic, or humorous way. Originated in the fannish catchphrase Bheer is the One True Ghod! from decades ago. H-infix marking of Ghod and other words spread into the 1960s counterculture via underground comix, and into early hackerdom either from the counterculture or from SF fandom (the three overlapped heavily at the time). More recently, the h infix has become an expected feature of benchmark names (Dhrystone, Rhealstone, etc.); this follows on from the original Whetstone (the name of a laboratory) but may have been influenced by the fannish/counterculture h infix.
[Jargon File]
(1994-11-04)

H.261
networking, standard A video compression standard developed by ITU-T before 1992 to work with integrated service digital network. Data is compressed at the rate of 64P kilobits per second, where P can range from 1 to 30 depending on the number of ISDN channels used. This standard was developed primarily to support video phones and video conferencing.
See also ivs.
(http://www.crs4.it/~luigi/MPEG/mpeggloss-h.html#H.261)
[Date? Details?]
(1994-11-03)

H.323
communications, standard The ITU-T standard for sending voice (audio) and video using IP on the Internet and within intranets. H.323 is sponsored[?] by the IMTC's Conferencing over IP Activity Group.
(1999-04-26)

Habitat
networking, graphics The original term for on-line graphical virtual communities or worlds. Created at Lucasfilm in 1985 by Randy Farmer and Chip Morningstar.
(http://www.communities.com/habitat.html).
(1996-06-12)

hack
jargon 1. Originally, a quick job that produces what is needed, but not well.
2. An incredibly good, and perhaps very time-consuming, piece of work that produces exactly what is needed.
3. To bear emotionally or physically. I can't hack this heat!
4. To work on something (typically a program). In an immediate sense: What are you doing? I'm hacking TECO. In a general (time-extended) sense: What do you do around here? I hack TECO. More generally, I hack foo is roughly equivalent to foo is my major interest (or project) . I hack solid-state physics. See Hacking X for Y.
5. To pull a prank on. See hacker.
6. To interact with a computer in a playful and exploratory rather than goal-directed way. Whatcha up to? Oh, just hacking.
7. Short for hacker.
8. See nethack.
9. (MIT) To explore the basements, roof ledges, and steam tunnels of a large, institutional building, to the dismay of Physical Plant workers and (since this is usually performed at educational institutions) the Campus Police. This activity has been found to be eerily similar to playing adventure games such as Dungeons and Dragons and Zork. See also vadding.
See also neat hack, real hack.
[Jargon File]
(1996-08-26)

hack attack
jargon (Possibly by analogy with Big Mac Attack from advertisements for the McDonald's fast-food chain; the variant big hack attack is reported) Nearly synonymous with hacking run, though the latter more strongly implies an all-nighter.
[Jargon File]
(1996-08-26)

hacked off
jargon (Analogous to pissed off ) Said of system administrators who have become annoyed, upset, or touchy owing to suspicions that their sites have been or are going to be victimised by crackers, or used for inappropriate, technically illegal, or even overtly criminal activities. For example, having unreadable files in your home directory called worm , lockpick , or goroot would probably be an effective (as well as impressively obvious and stupid) way to get your sysadmin hacked off at you.
[Jargon File]
(1996-08-26)

hacked up
jargon, programming Sufficiently patched, kluged, and tweaked that the surgical scars are beginning to crowd out normal tissue (compare critical mass). Not all programs that are hacked become hacked up ; if modifications are done with some eye to coherence and continued maintainability, the software may emerge better for the experience.
Contrast hack up.
[Jargon File]
(1996-08-26)

hacker
person, jargon (Originally, someone who makes furniture with an axe) 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary.
2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming.
3. A person capable of appreciating hack value.
4. A person who is good at programming quickly.
5. An expert at a particular program, or one who frequently does work using it or on it; as in a Unix hacker . (Definitions 1 through 5 are correlated, and people who fit them congregate.)
6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example.
7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations.
8. (Deprecated) A malicious meddler who tries to discover sensitive information by poking around. Hence password hacker , network hacker . The correct term is cracker.
The term hacker also tends to connote membership in the global community defined by the net (see The Network and Internet address). It also implies that the person described is seen to subscribe to some version of the hacker ethic.
It is better to be described as a hacker by others than to describe oneself that way. Hackers consider themselves something of an elite (a meritocracy based on ability), though one to which new members are gladly welcome. Thus while it is gratifying to be called a hacker, false claimants to the title are quickly labelled as bogus or a wannabee .
9. (University of Maryland, rare) A programmer who does not understand proper programming techniques and principles and doesn't have a Computer Science degree. Someone who just bangs on the keyboard until something happens. For example, This program is nothing but spaghetti code. It must have been written by a hacker .
[Jargon File]
(1996-08-26)

hacker ethic
philosophy 1. The belief that information-sharing is a powerful positive good, and that it is an ethical duty of hackers to share their expertise by writing free software and facilitating access to information and to computing resources wherever possible.
2. The belief that system-cracking for fun and exploration is ethically OK as long as the cracker commits no theft, vandalism, or breach of confidentiality.
Both of these normative ethical principles are widely, but by no means universally, accepted among hackers. Most hackers subscribe to the hacker ethic in sense 1, and many act on it by writing and giving away free software. A few go further and assert that *all* information should be free and *any* proprietary control of it is bad; this is the philosophy behind the GNU project.
Sense 2 is more controversial: some people consider the act of cracking itself to be unethical, like breaking and entering. But the belief that ethical cracking excludes destruction at least moderates the behaviour of people who see themselves as benign crackers (see also samurai). On this view, it may be one of the highest forms of hackerly courtesy to (a) break into a system, and then (b) explain to the sysop, preferably by e-mail from a superuser account, exactly how it was done and how the hole can be plugged - acting as an unpaid (and unsolicited) tiger team.
The most reliable manifestation of either version of the hacker ethic is that almost all hackers are actively willing to share technical tricks, software, and (where possible) computing resources with other hackers. Huge cooperative networks such as Usenet, FidoNet and Internet (see Internet address) can function without central control because of this trait; they both rely on and reinforce a sense of community that may be hackerdom's most valuable intangible asset.
(1995-12-18)

hacker humour
A distinctive style of shared intellectual humour found among hackers, having the following marked characteristics:
1. Fascination with form-vs.-content jokes, paradoxes, and humour having to do with confusion of metalevels (see meta). One way to make a hacker laugh: hold a red index card in front of him/her with GREEN written on it, or vice-versa (note, however, that this is funny only the first time).
2. Elaborate deadpan parodies of large intellectual constructs, such as specifications (see write-only memory), standards documents, language descriptions (see INTERCAL), and even entire scientific theories (see quantum bogodynamics, computron).
3. Jokes that involve screwily precise reasoning from bizarre, ludicrous, or just grossly counter-intuitive premises.
4. Fascination with puns and wordplay.
5. A fondness for apparently mindless humour with subversive currents of intelligence in it - for example, old Warner Brothers and Rocky Bullwinkle cartoons, the Marx brothers, the early B-52s, and Monty Python's Flying Circus. Humour that combines this trait with elements of high camp and slapstick is especially favoured.
6. References to the symbol-object antinomies and associated ideas in Zen Buddhism and (less often) Taoism. See has the X nature, Discordianism, zen, ha ha only serious, AI koan.
See also filk and retrocomputing. If you have an itchy feeling that all 6 of these traits are really aspects of one thing that is incredibly difficult to talk about exactly, you are (a) correct and (b) responding like a hacker. These traits are also recognizable (though in a less marked form) throughout science-fiction fandom.
(1995-12-18)

hacking run
jargon (Analogy with bombing run or speed run ) A hack session extended long outside normal working times, especially one longer than 12 hours. May cause you to change phase the hard way .
[Jargon File]
(1996-08-26)

Hacking X for Y
[ITS] Ritual phrasing of part of the information which ITS made publicly available about each user. This information (the INQUIR record) was a sort of form in which the user could fill out various fields. On display, two of these fields were always combined into a project description of the form Hacking X for Y (e.g. Hacking perceptrons for Minsky ). This form of description became traditional and has since been carried over to other systems with more general facilities for self-advertisement (such as Unix plan files).
[Jargon File]

Hackintosh
1. jargon, computer An Apple Lisa that has been hacked into emulating a Macintosh (also called a Mac XL ).
2. jargon, computer A Macintosh assembled from parts theoretically belonging to different models in the line.
(1995-03-08)

hackish
jargon /hak'ish/ 1. Said of something that is or involves a hack.
2. Of or pertaining to hackers or the hacker subculture.
See also true-hacker.
[Jargon File]
(1995-03-08)

hackishness
jargon The quality of being or involving a hack. This term is considered mildly silly.
Synonym hackitude.
[Jargon File]
(1995-03-08)

hackitude
jargon An even sillier word for hackishness.
[Jargon File]
(1995-03-08)

hack mode
jargon Engaged in hacking. A Zen-like state of total focus on The Problem that may be achieved when one is hacking (this is why every good hacker is part mystic). Ability to enter such concentration at will correlates strongly with wizardliness; it is one of the most important skills learned during larval stage. Sometimes amplified as deep hack mode .
Being yanked out of hack mode (see priority interrupt) may be experienced as a physical shock, and the sensation of being in hack mode is more than a little habituating. The intensity of this experience is probably by itself sufficient explanation for the existence of hackers, and explains why many resist being promoted out of positions where they can code. See also cyberspace.
Some aspects of hackish etiquette will appear quite odd to an observer unaware of the high value placed on hack mode. For example, if someone appears at your door, it is perfectly okay to hold up a hand (without turning one's eyes away from the screen) to avoid being interrupted. One may read, type, and interact with the computer for quite some time before further acknowledging the other's presence (of course, he or she is reciprocally free to leave without a word). The understanding is that you might be in hack mode with a lot of delicate state in your head, and you dare not swap that context out until you have reached a good point to pause. See also juggling eggs.
[Jargon File]
(1996-07-31)

hack on
To hack; implies that the subject is some pre-existing hunk of code that one is evolving, as opposed to something one might hack up.
[Jargon File]

hack together
To throw something together so it will work. Unlike kluge together or cruft together, this does not necessarily have negative connotations.

hack up
To hack, but generally implies that the result is a quick hack. Contrast this with hack on. To hack up on implies a quick-and-dirty modification to an existing system. Contrast hacked up; compare kluge up, monkey up, cruft together.
[Jargon File]

hack value
Often adduced as the reason or motivation for expending effort toward a seemingly useless goal, the point being that the accomplished goal is a hack. For example, MacLISP had features for reading and printing Roman numerals, which were installed purely for hack value. See display hack for one method of computing hack value, but this cannot really be explained, only experienced. As Louis Armstrong once said when asked to explain jazz: Man, if you gotta ask you'll never know. (Feminists please note Fats Waller's explanation of rhythm: Lady, if you got to ask you ain't got it. )

ha ha only serious
(SF fandom, originally as mutation of HHOK, Ha Ha Only Kidding ) A phrase (often seen abbreviated as HHOS) that aptly captures the flavour of much hacker discourse. Applied especially to parodies, absurdities, and ironic jokes that are both intended and perceived to contain a possibly disquieting amount of truth, or truths that are constructed on in-joke and self-parody.
The Jargon File contains many examples of ha-ha-only-serious in both form and content. Indeed, the entirety of hacker culture is often perceived as ha-ha-only-serious by hackers themselves; to take it either too lightly or too seriously marks a person as an outsider, a wannabee, or in larval stage. For further enlightenment on this subject, consult any Zen master. See also AI koan.
[Jargon File]

hair
[back-formation from hairy] The complications that make something hairy. Decoding TECO commands requires a certain amount of hair. Often seen in the phrase infinite hair , which connotes extreme complexity. Also in hairiferous (tending to promote hair growth): GNUMACS elisp encourages lusers to write complex editing modes. Yeah, it's pretty hairiferous all right. (Or just: Hair squared! )

hairy
1. Annoyingly complicated. DWIM is incredibly hairy.
2. Incomprehensible. DWIM is incredibly hairy.
3. Of people, high-powered, authoritative, rare, expert, and/or incomprehensible. Hard to explain except in context: He knows this hairy lawyer who says there's nothing to worry about. See also hirsute.
The adjective long-haired is well-attested to have been in slang use among scientists and engineers during the early 1950s; it was equivalent to modern hairy and was very likely ancestral to the hackish use. In fact the noun long-hair was at the time used to describe a hairy person. Both senses probably passed out of use when long hair was adopted as a signature trait by the 1960s counterculture, leaving hackish hairy as a sort of stunted mutant relic.
4. topology hairy ball.
[Jargon File]
(2001-03-29)

hairy ball
topology A result in topology stating that a continuous vector field on a sphere is always zero somewhere. The name comes from the fact that you can't flatten all the hair on a hairy ball, like a tennis ball, there will always be a tuft somewhere (where the tangential projection of the hair is zero). An immediate corollary to this theorem is that for any continuous map f of the sphere into itself there is a point x such that f(x)=x or f(x) is the antipode of x. Another corollary is that at any moment somewhere on the Earth there is no wind.
(2002-01-07)

HAKMEM
publication /hak'mem/ MIT AI Memo 239 (February 1972). A legendary collection of neat mathematical and programming hacks contributed by many people at MIT and elsewhere. (The title of the memo really is HAKMEM , which is a 6-letterism for hacks memo .) Some of them are very useful techniques, powerful theorems, or interesting unsolved problems, but most fall into the category of mathematical and computer trivia. Here is a sampling of the entries (with authors), slightly paraphrased:
Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less than 2^18.
Item 46 (Rich Schroeppel): The most *probable* suit distribution in bridge hands is 4-4-3-2, as compared to 4-3-3-3, which is the most *evenly* distributed. This is because the world likes to have unequal numbers: a thermodynamic effect saying things will not be in the state of lowest energy, but in the state of lowest disordered energy.
Item 81 (Rich Schroeppel): Count the magic squares of order 5 (that is, all the 5-by-5 arrangements of the numbers from 1 to 25 such that all rows, columns, and diagonals add up to the same number). There are about 320 million, not counting those that differ only by rotation and reflection.
Item 154 (Bill Gosper): The myth that any given programming language is machine independent is easily exploded by computing the sum of powers of 2. If the result loops with period = 1 with sign +, you are on a sign-magnitude machine. If the result loops with period = 1 at -1, you are on a twos-complement machine. If the result loops with period greater than 1, including the beginning, you are on a ones-complement machine. If the result loops with period greater than 1, not including the beginning, your machine isn't binary - the pattern should tell you the base. If you run out of memory, you are on a string or bignum system. If arithmetic overflow is a fatal error, some fascist pig with a read-only mind is trying to enforce machine independence. But the very ability to trap overflow is machine dependent. By this strategy, consider the universe, or, more precisely, algebra: Let X = the sum of many powers of 2 = ...111111 (base 2). Now add X to itself: X + X = ...111110. Thus, 2X = X - 1, so X = -1. Therefore algebra is run on a machine (the universe) that is two's-complement.
Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only number such that if you represent it on the PDP-10 as both an integer and a floating-point number, the bit patterns of the two representations are identical.
Item 176 (Gosper): The banana phenomenon was encountered when processing a character string by taking the last 3 letters typed out, searching for a random occurrence of that sequence in the text, taking the letter following that occurrence, typing it out, and iterating. This ensures that every 4-letter string output occurs in the original. The program typed BANANANANANANANA.... We note an ambiguity in the phrase, the Nth occurrence of. In one sense, there are five 00's in 0000000000; in another, there are nine. The editing program TECO finds five. Thus it finds only the first ANA in BANANA, and is thus obligated to type N next. By Murphy's Law, there is but one NAN, thus forcing A, and thus a loop. An option to find overlapped instances would be useful, although it would require backing up N - 1 characters before seeking the next N-character string.
Note: This last item refers to a Dissociated Press implementation. See also banana problem.
HAKMEM also contains some rather more complicated mathematical and technical items, but these examples show some of its fun flavour.
HAKMEM is available from MIT Publications as a TIFF file.
(ftp://ftp.netcom.com/pub/hb/hbaker)
(1996-01-19)

hakspek
jargon /hak'speek/ A shorthand method of spelling found on many British academic bulletin boards and chat systems. Syllables and whole words in a sentence are replaced by single ASCII characters the names of which are phonetically similar or equivalent, while multiple letters are usually dropped. Hence, for becomes 4 ; two , too , and to become 2 ; ck becomes k . Before I see you tomorrow becomes b4 i c u 2moro . First appeared in London about 1986, and was probably caused by the slowness of available talk systems, which operated on archaic machines with outdated operating systems and no standard methods of communication. Has become rarer since.
See also chat, B1FF, ASCIIbonics.
[Jargon File]
(1998-01-25)

HAL
1. computer HAL 9000, the murdering computer on the spaceship in the science fiction classic 2001, A Space Odyssey by Arthur C. Clark.
HAL is IBM with each letter changed to the one before and there is an unconfirmed rumour that 9000 is the sum of the various IBM computer numbers that were in service at the time. However, in the sequel 2010 , Clarke emphatically denies that HAL's name is supposed to be one step ahead of IBM . It is, rather, short for heuristic algorithm .
2. operating system Hardware Abstraction Layer.
(1995-11-09)

half-duplex
communications (hdx, from telegraphy) 1. A type of communication channel using a single circuit which can carry data in either direction but not both directions at once.
Compare: simplex, full-duplex.
2. An obsolete term for local echo.
(2001-07-21)

halftone
graphics The reproducion of greyscale images using dots of a single shade but varying size to simulate the different shades of grey.
Laser printers that cannot print different sized dots, halftones are produced by varying the numbers of dots in a given area.
This process is also used to produce a black and white version of a colour original using shades of grey in place of colours.
See also device independent bitmap.
(1996-09-20)

HALGOL
language A simple language from Hewlett-Packard for communicating with devices such as modems and X.25 PADs.
(1995-04-12)

HALMAT
Intermediate language used by HAL/S.

HAL/S
A real-time language used by NASA for onboard shuttle software.
[ Two-Dimensional Characteristics of HAL, A Language for Spaceflight Applications , J.S. Miller, SIGPLAN Notices 7(10) (Oct 1972)].
(1994-10-20)

Halt and Catch Fire
humour, processor (HCF) Any of several undocumented and semi-mythical machine instructions with destructive side-effects, supposedly included for test purposes on several well-known architectures going as far back as the IBM 360. The Motorola 6800 microprocessor was the first for which an HCF opcode became widely known. This instruction caused the processor to toggle a subset of the bus lines as rapidly as it could; in some configurations this could actually cause lines to burn up.
[Confirm?]
(1995-12-14)

halting problem
The problem of determining in advance whether a particular program or algorithm will terminate or run forever. The halting problem is the canonical example of a provably unsolvable problem. Obviously any attempt to answer the question by actually executing the algorithm or simulating each step of its execution will only give an answer if the algorithm under consideration does terminate, otherwise the algorithm attempting to answer the question will itself run forever.
Some special cases of the halting problem are partially solvable given sufficient resources. For example, if it is possible to record the complete state of the execution of the algorithm at each step and the current state is ever identical to some previous state then the algorithm is in a loop. This might require an arbitrary amount of storage however. Alternatively, if there are at most N possible different states then the algorithm can run for at most N steps without looping.
A program analysis called termination analysis attempts to answer this question for limited kinds of input algorithm.
(1994-10-20)

Hamilton
William Hamilton

Hamiltonian cycle
Hamiltonian problem

Hamiltonian path
Hamiltonian problem

Hamiltonian problem
computability (Or Hamilton's problem ) A problem in graph theory posed by William Hamilton: given a graph, is there a path through the graph which visits each vertex precisely once (a Hamiltonian path )? Is there a Hamiltonian path which ends up where it started (a Hamiltonian cycle or Hamiltonian tour )?
Hamilton's problem is NP-complete. It has numerous applications, sometimes completely unexpected, in computing.
Home (http://www.ing.unlp.edu.ar/cetad/mos/Hamilton.html).
(1997-07-18)

Hamiltonian tour
Hamiltonian problem

Hamilton's problem
Hamiltonian problem

hammer
Commonwealth hackish synonym for bang on.
[Jargon File]
(1995-02-16)

Hamming code
algorithm Extra, redundant bits added to stored or transmitted data for the purposes of error detection and correction.
Named after the mathematician Richard Hamming, Hamming codes greatly improve the reliability of data, e.g. from distant space probes, where it is impractical, because of the long transmission delay, to correct errors by requesting retransmission.
[Detail? Connection with Hamming Distance?]
(2002-07-02)

Hamming distance
data The minimum number of bits that must be changed in order to convert one bit string into another.
Named after the mathematician Richard Hamming.
[Connection with Hamming code?].
(2002-07-02)

Hamming, Richard
Richard Hamming

hamster
1. programming (From Fairchild) A particularly slick little piece of code that does one thing well; a small, self-contained hack. The image is of a hamster happily spinning its exercise wheel.
2. hardware A tailless mouse; that is, one with an infrared link to a receiver on the machine, as opposed to the conventional cable.
3. product (UK) Any item of hardware made by Amstrad, a company famous for its cheap plastic PC-almost-compatibles.
[Jargon File]
(1995-02-16)

Han character
character (From the Han dynasty, 206 B.C.E to 25 C.E.) One of the set of glyphs common to Chinese (where they are called hanzi ), Japanese (where they are called kanji), and Korean (where they are called hanja).
Han characters are generally described as ideographic , i.e., picture-writing; but see the reference below.
Modern Korean, Chinese and Japanese fonts may represent a given Han character as somewhat different glyphs. However, in the formulation of Unicode, these differences were folded, in order to conserve the number of code positions necessary for all of CJK. This unification is referred to as Han Unification , with the resulting character repertoire sometimes referred to as Unihan .
Unihan reference at the Unicode Consortium (http://charts.unicode.org/unihan.html)
[John DeFrancis, The Chinese Language: Fact and Fantasy , University of Hawaii Press, 1984].
(1998-10-18)

HAND
chat Have A Nice Day. Often used sarcastically and in connection with HTH, as in:
Where's the point of alt.stupidity?
Between the 't' and the 's'. HTH. HAND.
(1998-03-06)

hand cruft
humour, jargon A pun on hand craft .
See cruft.
[Jargon File]
(1995-02-16)

Handel
language An imperative language with primitives for controlling parallel programs.
Used by Wayne Luk for work in compilation of programs to hardware (FPGAs).
(1995-02-28)

hand-hacking
1. The practice of translating a hot spot of a program in a HLL into hand-tuned assembly language, as opposed to trying to coerce the compiler into generating better code. Both the term and the practice are becoming uncommon.
See tune, bum, by hand; synonym with cruft.
2. More generally, manual construction or patching of data sets that would normally be generated by a translation utility and interpreted by another program, and aren't really designed to be read or modified by humans.
[Jargon File]
(1995-02-16)

Hand-held Personal Computer
palmtop

handle
1. jargon (From Citizen's Band amateur radio slang) An electronic pseudonym or nom de guerre intended to conceal the user's true identity. Network and BBS handles function as the same sort of simultaneous concealment and display one finds on CB.
Use of grandiose handles is characteristic of crackers, weenies, spods, and other lower forms of network life; true hackers travel on their own reputations rather than invented legendry.
Compare nick.
2. programming (Macintosh) A pointer to a pointer to dynamically-allocated memory. The extra level of indirection allows on-the-fly memory compaction (to cut down on fragmentation) or garbage collection of unused resources, with minimal impact on the (possibly multiple) parts of the larger program containing references to the allocated memory.
Compare snap (to snap a handle would defeat its purpose). See also aliasing bug, dangling pointer.
[Jargon File]
(1995-02-28)

hand-roll
jargon (From mainstream slang hand-rolled cigarette in opposition to ready-made ) To perform a normally automated software installation or configuration process by hand; implies that the normal process failed due to bugs or was defeated by something exceptional in the local environment. The worst thing about being a gateway between four different nets is having to hand-roll a new sendmail configuration every time any of them upgrades.
[Jargon File]
(1995-02-28)

handshake
handshaking

handshaking
1. Predetermined hardware or software activity designed to establish or maintain two machines or programs in synchronisation. Handshaking often concerns the exchange of messages or packets of data between two systems with limited buffers. A simple handshaking protocol might only involve the receiver sending a message meaning I received your last message and I am ready for you to send me another one. A more complex handshaking protocol might allow the sender to ask the receiver if he is ready to receive or for the receiver to reply with a negative acknowledgement meaning I did not receive your last message correctly, please resend it (e.g. if the data was corrupted en route).
Hardware handshaking uses voltage levels or pulses on wires to carry the handshaking signals whereas software handshaking uses data units (e.g. ASCII characters) carried by some underlying communication medium.
Flow control in bit-serial data transmission such as EIA-232 may use either hardware or software handshaking.
2. The method used by two modems to establish contact with each other and to agreee on baud rate, error correction and compression protocols.
3. The exchange of predetermined signals between agents connected by a communications channel to assure each that it is connected to the other (and not to an imposter). This may also include the use of passwords and codes by an operator.
[Jargon File]
(1995-01-13)

handwave
[possibly from gestures characteristic of stage magicians] To gloss over a complex point; to distract a listener; to support a (possibly actually valid) point with blatantly faulty logic.
If someone starts a sentence with Clearly... or Obviously... or It is self-evident that... , it is a good bet he is about to handwave (alternatively, use of these constructions in a sarcastic tone before a paraphrase of someone else's argument suggests that it is a handwave). The theory behind this term is that if you wave your hands at the right moment, the listener may be sufficiently distracted to not notice that what you have said is wrong. Failing that, if a listener does object, you might try to dismiss the objection with a wave of your hand.
The use of this word is often accompanied by gestures: both hands up, palms forward, swinging the hands in a vertical plane pivoting at the elbows and/or shoulders (depending on the magnitude of the handwave); alternatively, holding the forearms in one position while rotating the hands at the wrist to make them flutter. In context, the gestures alone can suffice as a remark; if a speaker makes an outrageously unsupported assumption, you might simply wave your hands in this way, as an accusation, far more eloquent than words could express, that his logic is faulty.
[Jargon File]

hang
1. To wait for an event that will never occur. The system is hanging because it can't read from the crashed drive . See wedged, hung.
2. To wait for some event to occur; to hang around until something happens. The program displays a menu and then hangs until you type a character. Compare block.
3. To attach a peripheral device, especially in the construction hang off : We're going to hang another tape drive off the file server. Implies a device attached with cables, rather than something that is strictly inside the machine's chassis.

hanja
Han characters

Hanoi
Towers of Hanoi

Han Unification
Han character

hanzi
Han characters

happily
Of software, used to emphasise that a program is unaware of some important fact about its environment, either because it has been fooled into believing a lie, or because it doesn't care. The sense of happy here is not that of elation, but rather that of blissful ignorance. The program continues to run, happily unaware that its output is going to /dev/null.
[Jargon File]

Happy
tool A dyslexic acronym for A Yacc-like Haskell Parser generator .
An LALR1 grammar parser generator for Haskell. Happy is written in Haskell, uses a parser generated by itself, and can be compiled using ghc, hbc or gofer. Happy uses an implementation of monadic IO built on top of stream IO, but this should change when the Haskell 1.3 standard has been implemented.
Version: 0.9 (1996-02-28).
Happy is covered by the General Public License.
Home (http://www.dcs.gla.ac.uk/fp/software/happy.html)
(ftp://ftp.dcs.gla.ac.uk/pub/haskell/happy/)
E-mail: andy@dcs.gla.ac.uk , simonm@dcs.gla.ac.uk .
(1996-03-21)

haque
spelling, jargon /hak/ (Usenet) A variant spelling of hack, used only for the noun form and connoting an elegant hack.
[Jargon File]
(1995-02-22)

hard boot
operating system A boot which resets the entire system.
The phrase has connations of hostility towards, or frustration with, the computer being booted. For example, I'll have to hard boot this losing Sun , or I recommend booting it hard .
Hard boots are often performed with a power cycle.
Contrast soft boot. See also cold boot and reboot
[Jargon File]
(1995-11-27)

hard-coded
jargon (By analogy with hard-wired ) Said of a data value or behaviour written directly into a program, possibly in multiple places, where it cannot be easily modified. There are several alternatives, depending on how often the value is likely to change. It may be replaced with a compile-time constant, such as a C #define macro, in which case a change will still require recompilation; or it may be read at run time from a profile, resource (see de-rezz), or environment variable that a user can easily modify; or it may be read as part of the program's input data.
To change something hard-coded requires recompilation (if using a compiled language of course) but, more seriously, it requires sufficient understanding of the implementation to be sure that the change will not introduce inconsistency and cause the program to fail.
For example, The line terminator is hard-coded as newline; who in their right mind would use anything else?
See magic number.
[Jargon File]
(1999-10-18)

hardcopy
jargon A paper printout of data displayed on a screen.
Contrast softcopy.
(1995-08-31)

hard disk
storage (In contrast to floppy disk). One or more rigid magnetic disks rotating about a central axle with associated read/write heads and electronics, used to store data. Most hard disks are permanently connected to the drive (fixed disks) though there are also removable disks.
High speed disks have an access time of 28 milliseconds or less, and low-speed disks run 65 milliseconds or more. The higher speed disks also transfer their data faster than the slower speed units.
Each surface of each disk is divided into a number of evenly spaced concentric circular tracks. The set of all tracks at a given radius on all surfaces (the tracks which can be accessed without moving the heads) are known as a cylinder. Each track is divided into sectors.
Disk drives are commonly characterised by the kind of interface used to connect to the computer, e.g. ATA, IDE, SCSI.
See also winchester.
Suchanka's PC-DISK library (http://www.pc-disk.de/).
(1999-01-07)

hard disk drive
storage (HDD) A disk drive used to read and write hard disks.
(1995-03-14)

hard drive
hard disk drive

hard link
file system One of several directory entries which refer to the same Unix file. A hard link is created with the ln (link) command:
ln old name new name
where old name and new name are pathnames within the same file system. Hard links to the same file are indistinguishable from each other except that they have different pathnames. They all refer to the same inode and the inode contains all the information about a file.
The standard ln command does not usually allow you to create a hard link to a directory, chiefly because the standard rm and rmdir commands do not allow you to delete such a link. Some systems provide link and unlink commands which give direct access to the system calls of the same name, for which no such restrictions apply.
Normally all hard links to a file must be in the same file system because a directory entry just relates a pathname to an inode within the same file system. The only exception is a mount point.
The restrictions on hard links to directories and between file systems are very common but are not mandated by POSIX. Symbolic links are often used instead of hard links because they do not suffer from these restrictions.
The space associated with a file is not freed until all the hard links to the file are deleted. This explains why the system call to delete a file is called unlink .
(1997-10-22)

hard sector
storage An archaic floppy disk format employing multiple synchronisation holes in the media to define the sectors.
(1995-01-24)

hardware
hardware The physical, touchable, material parts of a computer or other system. The term is used to distinguish these fixed parts of a system from the more changable software or data components which it executes, stores, or carries.
Computer hardware typically consists chiefly of electronic devices (CPU, memory, display) with some electromechanical parts (keyboard, printer, disk drives, tape drives, loudspeakers) for input, output, and storage, though completely non-electronic (mechanical, electromechanical, hydraulic, biological) computers have also been conceived of and built.
See also firmware, wetware.
(1997-01-23)

Hardware Abstraction Layer
operating system (HAL) The layer of Microsoft Windows NT where they have isolated their assembly language code.
(1995-04-17)

hardware circular buffer
programming, hardware digital signal processors which support hardware circular buffers automatically generate and increment pointers for memory accesses which wrap to the beginning of the buffer when its end is reached, thus saving the time and instructions otherwise needed to ensure that the address pointer stays within the boundary of the buffer, and speeding the execution of repetitive DSP algorithms.
Digital Signal Processor For Digital Audio Applications (http://www.analog.com/publications/documentation/21065L_Audio_Tutorial.PDF)
(2000-06-17)

Hardware Description Language
language (HDL) A kind of language used for the conceptual design of integrated circuits. Examples are VHDL and Verilog.
(1995-04-18)

hardware handshaking
communications A technique for regulating the flow of data across an interface by means of signals carried on separate wires.
A common example is the RTS (Request to Send) and CTS (Clear to Send) signals on an EIA-232 serial line.
The alternative, software handshaking, uses two special characters inserted into the data stream to carry the same information.
(1995-01-23)

hardwarily
/hard-weir'*-lee/ In a way pertaining to hardware. The system is hardwarily unreliable. The adjective hardwary is *not* traditionally used, though it has recently been reported from the U.K.
See softwarily.
[Jargon File]
(1995-01-23)

hard-wired
1. electronics An aspect of an electronic circuit which is determined by the wiring of the hardware, as opposed to being programmable in software or controlled by a switch.
2. software, jargon In software, a synonym for hard-coded.
3. By extension, anything that is not modifiable, especially in the sense of customisable to one's particular needs or tastes.
[Jargon File]
(1999-10-18)

Harris Semiconductor Ltd.
company
Address: Riverside Way, Camberley, Surrey, CU15 3YQ, UK.
Telephone: +44 (1276) 686 886. Fax: +44 (1276) 682 323.
(1995-11-21)

Harvard Graphics
graphics, tool A presentation graphics product by Software Publishing Corporation (SPC) for creating presentations, speeches, slides, etc..
(1998-07-20)

Harvest
tool, networking A highly scalable, customisable system for discovering resources on the Internet.
Version: 1.3.
Home (http://www.tardis.ed.ac.uk/harvest/).
(1999-01-16)

Harvest C
A C compiler, assembler and linker for the Macintosh by Eric W. Sink. The parts of the system are integrated in a single application, which manages a project composed by several C source files and resource files (which contain data). Version 1.3.
(ftp://archive.umich.edu/mac/development/languages/)
(1992-05-26)

hash
1. character hash character.
2. programming hash coding.
3. The preferred term for a Perl associative array.
(1995-03-06)

hash bucket
hash coding

hash character
character # , ASCII character 35.
Common names: number sign; pound; pound sign; hash; sharp; crunch; hex; INTERCAL: mesh. Rare: grid; crosshatch; octothorpe; flash; ITU-T: square, pig-pen; tictactoe; scratchmark; thud; thump; splat.
The pronunciation of # as pound is common in the US but a bad idea; Commonwealth Hackish has its own, rather more apposite use of pound sign (confusingly, on British keyboards the pound graphic happens to replace # ; thus Britishers sometimes call # on a US-ASCII keyboard pound , compounding the American error). The US usage derives from an old-fashioned commercial practice of using a # suffix to tag pound weights on bills of lading. The character is usually pronounced hash outside the US.
(2002-03-14)

hash coding
programming, algorithm (Or hashing ) A scheme for providing rapid access to data items which are distinguished by some key. Each data item to be stored is associated with a key, e.g. the name of a person. A hash function is applied to the item's key and the resulting hash value is used as an index to select one of a number of hash buckets in a hash table. The table contains pointers to the original items.
If, when adding a new item, the hash table already has an entry at the indicated location then that entry's key must be compared with the given key to see if it is the same. If two items' keys hash to the same value (a hash collision ) then some alternative location is used (e.g. the next free location cyclically following the indicated one). For best performance, the table size and hash function must be tailored to the number of entries and range of keys to be used. The hash function usually depends on the table size so if the table needs to be enlarged it must usually be completely rebuilt.
When you look up a name in the phone book (for example), you typically hash it by extracting its first letter; the hash buckets are the alphabetically ordered letter sections.
See also: btree, checksum, CRC, pseudorandom number, random, random number, soundex.
(1997-08-03)

hash collision
programming (Or hash clash ) When two different keys hash to the same value, i.e. to the same location in a hash table.
ESR once asked a friend what he expected Berkeley to be like. The friend replied, Well, I have this mental picture of naked women throwing Molotov cocktails, but I think that's just a collision in my hash tables.
[Jargon File]
(1995-01-23)

hash function
programming A hash coding function which assigns a data item distinguished by some key into one of a number of possible hash buckets in a hash table. The hash function is usually combined with another more precise function.
For example a program might take a string of letters and put it in one of of twenty six lists depending on its first letter. Ideally, a hash function should distribute items evenly between the buckets to reduce the number of hash collisions. If, for example, the strings were names beginning with Mr. , Miss or Mrs. then taking the first letter would be a very poor hash function because all names would hash the same.
(1997-08-03)

hashing
hash coding

hash table
hash coding

Haskell
language (Named after the logician Haskell Curry) A lazy purely functional language largely derived from Miranda but with several extensions. Haskell was designed by a committee from the functional programming community in April 1990. It features static polymorphic typing, higher-order functions, user-defined algebraic data types, and pattern-matching list comprehensions. Innovations include a class system, systematic operator overloading, a functional I/O system, functional arrays, and separate compilation.
Haskell 1.3 added many new features, including monadic I/O, standard libraries, constructor classes, labeled fields in datatypes, strictness annotations, an improved module system, and many changes to the Prelude.
Gofer is a cut-down version of Haskell with some extra features.
Filename extension: .hs, .lhs (literate programming).
Home (http://haskell.org/).
[ Report on the Programming Language Haskell Version 1.1 , Paul Hudak P. Wadler eds, CS Depts, U Glasgow and Yale U., Aug 1991].
[Version 1.2: SIGPLAN Notices 27(5), Apr 1992].
Haskell 1.3 Report (http://haskell.cs.yale.edu/haskell-report/haskell-report.html).
Mailing list: haskell-request@cs.yale.edu .
Yale Haskell - Version 2.0.6, Haskell 1.2 built on Common Lisp.
(ftp://nebula.cs.yale.edu/pub/haskell/yale/).
Glasgow Haskell (GHC) - Version 2.04 for DEC Alpha/OSF2; HPPA1.1/HPUX9,10; SPARC/SunOs 4, Solaris 2; MIPS/Irix 5,6; Intel 80386/Linux,Solaris 2,FreeBSD,CygWin 32; PowerPC/AIX. GHC generates C or native code.
(ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/glasgow/)
E-mail: glasgow-haskell-request@dcs.glasgow.ac.uk .
Haskell-B - Haskell 1.2 implemented in LML, generates native code.
(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers/)
E-mail: hbc@cs.chalmers.se .
(1997-06-06)

Haskell B
language An early version of Haskell by Lennart Augustsson augustss@cs.chalmers.se from Chalmers. Haskell B evolved into a full-featured implementation of Haskell 1.2, with quite a few extensions.
Ports exist for many platforms including Sun, DEC, Sequent, IBM PC, Symmetry and unsupported versions for NS32000, IBM RT/PC, Cray, Sun-3, Vax, ARM, and RS/6000.
Version 0.999.5 included a compiler, interpreter, library, documentation, and examples.
(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers/).
Mailing list: haskell-request@cs.yale.edu .
E-mail: hbc@cs.chalmers.se .
(1996-08-21)

Haskell Curry
person Haskell Brooks Curry (1900-09-12 - 1982-09-01). The logician who re-invented and developed combinatory logic.
The functional programming language Haskell was named after him.
Biography (http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Curry.html).
(1999-01-08)

Haskell User's Gofer System
language (HUGS) An implementation of Haskell derived from Gofer 2.30b with an interactive development environment much like Gofer's. Almost all of the features of Haskell 1.2 are implemented with the exception of the module system. Hugs supports Haskell style type classes, a full prelude, derived instances, defaults, overloaded numeric literals and pattern matching, and bignum arithmetic.
Home (http://www.cs.nott.ac.uk/Department/Staff/mpj/hugs.html).
(ftp://ftp.cs.nott.ac.uk/pub/haskell/hugs)
E-mail: Mark P. Jones mpj@cs.nott.ac.uk .
(1995-02-14)

HASL
language SASL plus conditional unification.
[ A Prological Definition of HASL, A Purely Functional Language with Unification Based Conditional Binding Expressions , H. Abramson in Logic Programming: Functions, Relations and Equations, D. DeGroot et al eds, P-H 1986].
(1996-08-21)

HASP
Houston Automatic Spooling Program

has the X nature
(From Zen Buddhist koans of the form Does an X have the Buddha-nature? ) Common hacker construction for is an X , used for humorous emphasis. Anyone who can't even use a program with on-screen help embedded in it truly has the loser nature! See also the X that can be Y is not the true X.
[Jargon File]
(1995-01-11)

hat
A common (spoken) name for the circumflex ( ^ , ASCII 94) character.
See ASCII for other synonyms.
[Jargon File]

Hayes
A modem manufacturer.
(gopher://leapfrog.almac.co.uk:70/00/business/comms/hayes/corporat.txt)
Address: Atlanta, Georgia, USA.
(1995-01-30)

Hayes-compatible
communications A description of a modem which understands the same set of commands as one made by Hayes.
[What are the commands?]
(1996-12-08)

HBOOK
A histogramming package in the CERN program library.

hc
The compiler for the h hyperbook language.

HCF
1. operating system Host Command Facility.
2. architecture Halt and Catch Fire.
[Jargon File]
(1999-01-24)

HCI
1. Human-Computer Interaction.
2. Human-Computer Interface.
3. Host Control Interface.
(2002-06-21)

HCLP
Hierarchical CLP.
[ Constraint Hierarchies and Logic Programming , A. Borning et al, in Proc Sixth Intl Logic Prog Conf, June 1989, pp. 149-164].

HCPRVR
HCPRVR: An Interpreter for Logic Programs , D. Chester in Proc First Natl Conf on AI, Stanford, 1980.

HCS
Heterogeneous Computer System
A distributed system project.
[Where? When? What?]
(1995-02-01)

HD
high density

HD6309
Hitachi 6309

HDA
Head Disk Assembly

HDC
Disk Controller

HDD
hard disk drive

HDF
Hierarchical Data Format

HDFL
A single assignment language.
[ Methods for Handling Structures in Data-Flow Systems , J.L. Gaudiot, Proc 12th Intl Symp Comp Arch, June 1985].

HDL
Hardware Description Language

HDLC
High-level Data Link Control

HDM
See SPECIAL.

HDSL
High bit-rate Digital Subscriber Line

HDTV
High Definition Television

hdx
half-duplex

Head Disk Assembly
hardware, storage (HDA) A sealed, high capacity mainframe hard disk with integral heads, as opposed to a removable disk.
(1999-01-13)

header
1. The portion of a packet, preceding the actual data, containing source and destination addresses, error checking and other fields.
2. The part of an electronic mail message or news article that precedes the body of a message and contains, among other things, the sender's name and e-mail address and the date and time the message was sent.

head normal form
(HNF) A lambda expression is in head normal form if its top level is either a variable, a data value, a built-in function applied to too few arguments or a lambda abstraction whose body is not reducible. I.e. the top level is neither a redex nor a lambda abstraction with a reducible body.
An expression in HNF may contain redexes in argument postions whereas a normal form may not. See also Weak head normal form.

head normalisation theorem
Under the typed lambda-calculus, beta/delta reduction of the left-most redex (normal order reduction) is guaranteed to terminate with a head normal form if one exists. See also Church-Rosser theorem.

heads down
[Sun] Concentrating, usually so heavily and for so long that everything outside the focus area is missed. See also hack mode and larval stage, although this mode is hardly confined to fledgling hackers.
[Jargon File]

head-strict
theory A head-strict function will not necessarily evaluate every cons cell of its (list) argument, but whenever it does evaluate a cons cell it will also evaluate the element in the head of that cell. An example of a head-strict function is
beforeZero :: [Int] - [Int] beforeZero [] = [] beforeZero (0:xs) = [] beforeZero (x:xs) = x : beforeZero xs
which returns a list up to the first zero.
This pattern of evaluation is important because it is common in functions which operate on a list of inputs.
See also tail-strict, hyperstrict.
(1995-05-11)

heap
1. programming An area of memory used for dynamic memory allocation where blocks of memory are allocated and freed in an arbitrary order and the pattern of allocation and size of blocks is not known until run time. Typically, a program has one heap which it may use for several different purposes.
Heap is required by languages in which functions can return arbitrary data structures or functions with free variables (see closure). In C functions malloc and free provide access to the heap.
Contrast stack. See also dangling pointer.
2. programming A data structure with its elements partially ordered (sorted) such that finding either the minimum or the maximum (but not both) of the elements is computationally inexpensive (independent of the number of elements), while both adding a new item and finding each subsequent smallest/largest element can be done in O(log n) time, where n is the number of elements.
Formally, a heap is a binary tree with a key in each node, such that all the leaves of the tree are on two adjacent levels; all leaves on the lowest level occur to the left and all levels, except possibly the lowest, are filled; and the key in the root is at least as large as the keys in its children (if any), and the left and right subtrees (if they exist) are again heaps.
Note that the last condition assumes that the goal is finding the minimum quickly.
Heaps are often implemented as one-dimensional arrays. Still assuming that the goal is finding the minimum quickly the invariant is
heap[i] = heap[2*i] and heap[i] = heap[2*i+1] for all i,
where heap[i] denotes the i-th element, heap[1] being the first. Heaps can be used to implement priority queues or in sort algorithms.
(1996-02-26)

heartbeat
1. networking The signal emitted by a Level 2 Ethernet transceiver at the end of every packet to show that the collision-detection circuit is still connected.
2. A periodic synchronisation signal used by software or hardware, such as a bus clock or a periodic interrupt.
3. The natural oscillation frequency of a computer's clock crystal, before frequency division down to the machine's clock rate.
4. A signal emitted at regular intervals by software to demonstrate that it is still alive. Sometimes hardware is designed to reboot the machine if it stops hearing a heartbeat. See also breath-of-life packet, watchdog.
[Jargon File]
(1996-03-12)

heatseeker
person, jargon (IBM) A customer who can be relied upon to buy, without fail, the latest version of an existing product (not quite the same as a member of the lunatic fringe). A 1993 example of a heatseeker is someone who, owning a 286 PC and Windows 3.0, goes out and buys Windows 3.1 (which offers no worthwhile benefits unless you have a 386). If all customers were heatseekers, vast amounts of money could be made by just fixing the bugs in each release (n) and selling it to them as release (n+1).
[Jargon File]
(1996-03-12)

heat sink
hardware /heet sink/ (from sink , electronics jargon for something which takes in current) A piece of thermally conductive metal attached to a semiconductor or other electronic device and designed to prevent it from overheating by conducting heat away from it and radiating it to the environment. Heat sinks often have fins to increase their surface area. They occasionally have fans attached. Heat sink compound can be smeared between the device and the heat sink to improve thermal conduction.
(1997-06-10)

heat slug
hardware, processor A metal plate that helps dissipate heat away from the silicon core of a processor to the packaging or heat-sink.
(2000-08-26)

heavy metal
big iron

heavyweight
High-overhead; baroque; code-intensive; featureful, but costly. Especially used of communication protocols, language designs, and any sort of implementation in which maximum generality and/or ease of implementation has been pushed at the expense of mundane considerations such as speed, memory use and startup time. Emacs is a heavyweight editor; X is an *extremely* heavyweight window system. This term isn't pejorative, but one hacker's heavyweight is another's elephantine and a third's monstrosity.
Opposite: lightweight . Usage: now borders on technical especially in the compound heavyweight process .
(1994-12-22)

heavy wizardry
Code or designs that trade on a particularly intimate knowledge or experience of a particular operating system or language or complex application interface. Distinguished from deep magic, which trades more on arcane *theoretical* knowledge. Writing device drivers is heavy wizardry; so is interfacing to X (sense 2) without a toolkit. Especially found in source-code comments of the form Heavy wizardry begins here .
Compare voodoo programming.
[Jargon File]

Hebbian
Refers to the most common way for a neural network to learn, namely supervised learning. Using a training sample which should produce known responses, the connection weights are adjusted so as to minimise the differences between the desired and actual outputs for the training sample.

heisenbug
jargon /hi:'zen-buhg/ (From Heisenberg's Uncertainty Principle in quantum physics) A bug that disappears or alters its behaviour when one attempts to probe or isolate it. (This usage is not even particularly fanciful; the use of a debugger sometimes alters a program's operating environment significantly enough that buggy code, such as that which relies on the values of uninitialised memory, behaves quite differently.)
In C, nine out of ten heisenbugs result from uninitialised auto variables, fandango on core phenomena (especially lossage related to corruption of the malloc arena) or errors that smash the stack.
Opposite: Bohr bug. See also mandelbug, schroedinbug.
[Jargon File]
(1995-02-28)

Helen Keller mode
1. State of a hardware or software system that is deaf, dumb, and blind, i.e. accepting no input and generating no output, usually due to an infinite loop or some other excursion into deep space. (Unfair to the real Helen Keller, whose success at learning speech was triumphant.) See also go flatline, catatonic.
2. On IBM PCs under MS-DOS, refers to a specific failure mode in which a screen saver has kicked in over an ill-behaved application which bypasses the very interrupts the screen saver watches for activity. Your choices are to try to get from the program's current state through a successful save-and-exit without being able to see what you're doing, or to re-boot the machine. This isn't (strictly speaking) a crash.
[Jargon File]

Helix
A hardware description language from Silvar-Lisco.

hello packet
networking, communications An OSPF packet sent periodically on each network interface, real or virtual, to discover and test connections to neighbours. Hello packets are multicast on physical networks capable of multicasting or broadcasting to enable dynamic router discovery. They include the parameters that routers connected to a common network must agree on.
Hello packets increase network resilience by, e.g., allowing a router to establish a secondary connection when a primary connection fails.
(1999-11-02)

hello, sailor!
Occasional West Coast equivalent of hello, world; seems to have originated at SAIL, later associated with the game Zork (which also included hello, aviator and hello, implementor ). Originally from the traditional hooker's greeting to a swabbie fresh off the boat, of course.
[Jargon File]

hello, world
The canonical minimal test message in the C/Unix universe or any of the minimal programs that emit this message. Traditionally, the first program a C coder writes in a new environment is one that just prints hello, world to standard output (and indeed it is the first example program in K R). Environments that generate an unreasonably large executable for this trivial test or which require a hairy compiler-linker invocation to generate it are considered bad (see X).

HELP
1. language, robotics DEA. A Language for industrial robots.
2. (Help Est un Lisp Paresseux - Help Is a Lazy Lisp). A lazy version of Scheme with strictness annotations, by Thomas Schiex schiex@europe.cert.fr .

henry
unit (H) The SI unit of inductance: one henry is the inductance of a closed loop in which the induced voltage is one volt if the current flowing through it changes by one ampere each second, i.e., 1 H = 1 Vs/A. Named after the American physicist Joseph Henry (1797-1878).
(1997-03-16)

HENSA
Higher Education National Software Archive

HEP
High Energy (Particle) Physics.

HEPDB
A database management system for HEP.

HEPiX
A recently formed collaboration among various HEP institutes aiming at providing compatible versions of the Unix operating system at their sites.

HEPnet
An association concerned with networking requirements for high energy physicists.

HEPVM
A collaboration among various HEP institutes to implement compatible versions of IBM's VM-CMS operating system at their sites.

HEQS
E. Derman. Constraint language for financial modelling. Uses an extension of the equation solver in IDEAL. A Simple Equation Solver and Its Application to Financial Modeling , E. Derman et al, Soft Prac Exp 14(12):1169-1181 (Dec 1984).

HERA
An electron-proton collider at DESY, W. Germany.

HERAKLIT
language A distributed object-oriented language.
[ Definition einer objektorientierten Programmiersprache mit hierarchischem Typkonzept , B. Hindel, diss U Erlangen-Nuernberg, Dec 1987].
(1995-03-16)

here document
operating system Data included in a Unix shell script or Perl script using the syntax.
(1995-04-19)

Herman Hollerith
person The promulgator of the punched card. Hollerith was born on 1860-02-29 and died on 1929-11-17. He graduated from Columbia University, NewYork, NY, USA. He joined the US Census Bureau as a statistician where he used a punched card device to help analyse the 1880 US census data. This punched card system stored data in 80 columns. This 80-column concept has carried forward in various forms into modern applications.
In 1896, Hollerith founded the Tabulating Machine Company to exploit his invention and in 1924 his firm became part of IBM. The Hollerith system was used for the 1911 UK census.
A correspondant writes:
Wasn't Hollerith's original machine first used for the 1990 US census? And I think I am right in saying that the physical layout was a 20x12 grid of round holes. The one I have seen (picture only, unfortunately, not the real thing) did not use 'columns' as such but holes were grouped into irregularly-shaped fields, such that each hole had a more-or-less independent function.
(2001-08-30)

Hermes
language An experimental, very high level, integrated language and system from the IBM Watson Research Centre, produced in June 1990. It is designed for implementation of large systems and distributed applications, as well as for general-purpose programming. It is an imperative, strongly typed and process-oriented successor to NIL.
Hermes hides distribution and heterogeneity from the programmer. The programmer sees a single abstract machine containing processes that communicate using calls or sends. The compiler, not the programmer, deals with the complexity of data structure layout, local and remote communication, and interaction with the operating system. As a result, Hermes programs are portable and easy to write. Because the programming paradigm is simple and high level, there are many opportunities for optimisation which are not present in languages which give the programmer more direct control over the machine.
Hermes features threads, relational tablesHermes is, typestate checking, capability-based access and dynamic configuration.
Version 0.8alpha patchlevel 01 runs on RS/6000, Sun-4, NeXT, IBM-RT/BSD4.3 and includes a bytecode compiler, a bytecode- C compiler and run-time support.
0.7alpha for Unix (ftp://software.watson.ibm.com/pub/hermes).
E-mail: hermes-request@watson.ibm.com , Andy Lowry lowry@watson.ibm.com .
Usenet newsgroup: news:comp.lang.hermes.
[ Hermes: A Language for Distributed Computing . Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Prentice-Hall, Englewood Cliffs, NJ. 1991. ISBN: O-13-389537-8].
(1992-03-22)

Hesiod
project The name server of the Athena project.
[Details?]
(1997-10-27)

heterogeneous
Composed of unrelated parts, different in kind.
Often used in the context of distributed systems that may be running different operating systems or network protocols (a heterogeneous network).
For examples see: interoperable database, middleware.
Constrast homogeneous.
(1999-05-06)

heterogeneous network
networking A network running multiple network layer protocols such as DECnet, IP, IPX, XNS.
(1997-10-27)

heterogenous
spelling It's spelled heterogeneous.
(1999-06-10)

heuristic
1. programming A rule of thumb, simplification, or educated guess that reduces or limits the search for solutions in domains that are difficult and poorly understood. Unlike algorithms, heuristics do not guarantee optimal, or even feasible, solutions and are often used with no theoretical guarantee.
2. algorithm approximation algorithm.
(2001-04-12)

heuristics testing
failure-directed testing

Hewlett-Packard
(HP) Hewlett-Packard designs, manufactures and services electronic products and systems for measurement, computation and communications. The company's products and services are used in industry, business, engineering, science, medicine and education in approximately 110 countries.
HP was founded in 1939 and employs 96600 people, 58900 in the USA. They have manufacturing and R D establishments in 54 cities in 16 countries and approximately 600 sales and service offices in 110 countries. Their revenue (in 1992/1993?) was $20.3 billion. The Chief Executive Officer is Lewis E. Platt. HP's stock is traded on the New York Stock Exchange and the Pacific, Tokyo, London, Frankfurt, Zurich and Paris exchanges.
Quarterly sales $6053M, profits $347M (Aug 1994).
(http://www.hp.com/home.html)
(1994-09-26)

Hewlett-Packard Graphics Language
graphics, language (HP-GL) A vector graphics language used by HP plotters.
[Details? On-line spec?]
(1994-10-27)

Hewlett-Packard Interface Bus
IEEE 488

Hewlett Packard Multi Processing Executive
operating system (HP-MPE) The standard operating system on all HP3000 minicomputers, in the same way that HP9000 computers run HP-UX.
Current version: MPE/IX Version 5.5.04, as of 1998-02-17.
(1998-02-17)

Hewlett Packard Precision Architecture
(HP-PA) Hewlett Packard's range of RISC processors.
[Details?]
(1995-02-22)

Hewlett-Packard Visual Engineering Environment
(HP VEE) A package similar in intention to LabVIEW, running on Unix workstations under OSF/Motif.
(1997-05-12)

hex
1. hexadecimal.
2. A 6-pack of anything (compare quad). Neither usage has anything to do with magic or black art, though the pun is appreciated and occasionally used by hackers. True story: As a joke, some hackers once offered some surplus ICs for sale to be worn as protective amulets against hostile magic. The chips were, of course, hex inverters.
3. character The hash character, used to introduce hexadecimal constants in some assembly languages.
[Jargon File]
(1995-03-06)

hexadecimal
mathematics (Or hex ) Base 16. A number representation using the digits 0-9, with their usual meaning, plus the letters A-F (or a-f) to represent hexadecimal digits with values of (decimal) 10 to 15. The right-most digit counts ones, the next counts multiples of 16, then 16^2 = 256, etc.
For example, hexadecimal BEAD is decimal 48813:
digit weight value B = 11 16^3 = 4096 11*4096 = 45056 E = 14 16^2 = 256 14* 256 = 3584 A = 10 16^1 = 16 10* 16 = 160 D = 13 16^0 = 1 13* 1 = 13
----- BEAD = 48813
There are many conventions for distinguishing hexadecimal numbers from decimal or other bases in programs. In C for example, the prefix 0x is used, e.g. 0x694A11.
Hexadecimal is more succinct than binary for representing bit-masks, machines addresses, and other low-level constants but it is still reasonably easy to split a hex number into different bit positions, e.g. the top 16 bits of a 32-bit word are the first four hex digits.
The term was coined in the early 1960s to replace earlier sexadecimal , which was too racy and amusing for stuffy IBM, and later adopted by the rest of the industry.
Actually, neither term is etymologically pure. If we take binary to be paradigmatic, the most etymologically correct term for base ten, for example, is denary , which comes from deni (ten at a time, ten each), a Latin distributive number; the corresponding term for base sixteen would be something like sendenary . Decimal is from an ordinal number; the corresponding prefix for six would imply something like sextidecimal . The sexa- prefix is Latin but incorrect in this context, and hexa- is Greek. The word octal is similarly incorrect; a correct form would be octaval (to go with decimal), or octonary (to go with binary). If anyone ever implements a base three computer, computer scientists will be faced with the unprecedented dilemma of a choice between two *correct* forms; both ternary and trinary have a claim to this throne.
[Jargon File]
(1996-03-09)

hexidecimal
spelling Mis-spelling of hexadecimal .
(1998-03-03)

hexit
jargon /hek'sit/ A hexadecimal digit (0-9, and A-F or a-f). Used by people who claim that there are only *ten* digits, sixteen-fingered human beings being rather rare, despite what some keyboard designs might seem to imply (see space-cadet keyboard).
[Jargon File]
(1996-03-09)

HFC
1. networking Hybrid Fiber Coax.
2. hardware hydrofluorocarbon.
(1999-11-02)

HHCP
Host Host Copy

HHOJ
chat ha ha only joking.
Contrast ha ha only serious.
(1998-01-18)

HHOK
ha ha only kidding. See ha ha only serious.
[Jargon File]

HHOS
ha ha only serious

HIBOL
A variant of DIBOL, used in Infotec computers.
(1994-11-24)

HID
Human Interface Device

hidden flag
(scientific computation) An extra option added to a routine without changing the calling sequence. For example, instead of adding an explicit input variable to instruct a routine to give extra diagnostic output, the programmer might just add a test for some otherwise meaningless feature of the existing inputs, such as a negative mass. The use of hidden flags can make a program very hard to debug and understand, but is all too common wherever programs are hacked in a hurry.
[Jargon File]
(1994-11-24)

hierarchical database
database A kind of database management system that links records together like a family tree such that each record type has only one owner, e.g. an order is owned by only one customer. Hierarchical structures were widely used in the first mainframe database management systems. However, due to their restrictions, they often cannot be used to relate structures that exist in the real world.

Hierarchical Data Format
file format, data (HDF) A library and multi-object file format for the transfer of graphical and numerical data between computeres. The freely available HDF distribution consists of the library, command line utilities, test suite source, Java interface, and the Java-based HDF Viewer (JHV).
HDF supports several different data models, including multidimensional arrays, raster images, and tables. Each defines a specific aggregate data type and provides an API for reading, writing, and organising the data and metadata. New data models can be added by the HDF developers or users.
HDF is self-describing, allowing an application to interpret the structure and contents of a file without any outside information.
One HDF file can hold a mixture of related objects which can be accessed as a group or as individual objects. Users can create their own grouping structures called vgroups .
HDF files can be shared across most common platforms, including many workstations and high performance computers. An HDF file created on one computer can be read on a different system without modification.
Home (http://hdf.ncsa.uiuc.edu/).
(2001-07-02)

hierarchical file system
file system A file system in which the files are organised into a hierarchy. The nodes of the hierarchy are called directories while the leaves are the files themselves.
See also root directory. Compare flat file system.
(1996-11-21)

Hierarchical Music Specification Language
language, music (HMSL) A programming language for experimental music composition and performance. It is a set of object-oriented extensions to Forth. (Its near-total unintelligibility to people unfamiliar with Forth has led some to expand HMSL as Her Majesty's Secret Language .)
Phil Burk (who also later developed pForth), Larry Polansky, and David Rosenboom started developing HMSL in 1980 while working at the Mills College Center for Contemporary Music (http://www.mills.edu/LIFE/CCM/CCM.homepage.html). As of June 1998, development is ongoing.
(http://www.softsynth.com/hmsl/).
(1998-09-07)

hierarchical routing
The complex problem of routing on large networks can be simplified by breaking a network into a hierarchy of smaller networks, where each level is responsible for its own routing. The Internet has, basically, three levels: the backbones, the mid-levels, and the stub networks. The backbones know how to route between the mid-levels, the mid-levels know how to route between the sites, and each site (being an autonomous system) knows how to route internally. See also Exterior Gateway Protocol, Interior Gateway Protocol, transit network.

hierarchy
An organisation with few things, or one thing, at the top and with several things below each other thing. An inverted tree structure. Examples in computing include a directory hierarchy where each directory may contain files or other directories; a hierarchical network (see hierarchical routing), a class hierarchy in object-oriented programming.
(1994-10-11)

high bit
[high-order bit] The most significant bit in a byte. See also meta bit, hobbit, dread high bit disease.
[Jargon File]

High bit-rate Digital Subscriber Line
communications, protocol (HDSL) A form of Digital Subscriber Line, providing T1 or E1 connections over two or three twisted-pair copper lines, respectively. Unlike most other forms of DSL HDSL is not a typical consumer service, it's used mostly to replace traditional T1/E1 connections, such as connecting PBXes to telco offices. The advantage of HDSL over the Alternate Mark Inversion line coding scheme traditionally used on T1/E1 lines is that it requires about an order of magnitude lower bandwidth to carry the same traffic.
(1998-05-18)

high colour
hardware A colour depth of 16 (or 15) bits per pixel.
Compare true colour.
(1999-08-01)

high density
floppy disk

Higher Education National Software Archive
(HENSA)
Home (http://www.hensa.ac.uk/)
(1995-01-06)

higher-order function
(HOF) A function that can take one or more functions as argument and/or return a function as its value. E.g. map in (map f l) which returns the list of results of applying function f to each of the elements of list l. See also curried function.

higher-order macro
A means of expressing certain higher-order functions in a first order language. Proposed by Phil Wadler. Higher-order macros cannot be recursive at the top level but they may contain recursive definitions. E.g.
map f l = m l
where
m [] = []
m (x:xs) = f x : m xs
Expanding a call to this macro is equivalent to specialising a call to map in its first argument.
See partial evaluation.

High-level Data Link Control
networking (HDLC) A general-purpose data link control protocol defined by ISO for use on both point-to-point and multipoint (multidrop) data links. It supports full-duplex, transparent-mode operation. It is used extensively in both multipoint and computer networks.
Some manufacturers and other standards bodies still use their own acronyms, e.g. IBM's SDLC (Synchronous Data Link Control), the forerunner of HDLC and ANSI's ADCCP (Advanced Data Communications Control Procedure).
[Fred Halsall, Data Communications, Computer Networks and Open Systems 4th edition, 1996, p.237, Addison-Wesley Publishing Co. Reading, Mass., USA].
(1997-11-09)

high-level language
(HLL) A programming language which provides some level of abstraction above assembly language. These normally use statements consisting of English-like keywords such as FOR , PRINT or GOTO , where each statement corresponds to several machine language instructions. It is much easier to program in a high-level language than in assembly language though the efficiency of execution depends on how good the compiler or interpreter is at optimising the program.
Rarely, the variants VHLL and MLL are found.
See also languages of choice, generation.
(1994-12-07)

high memory area
storage (HMA) The first 64 kilobytes (minus 16 byte) of the extended memory on an IBM PC. By a strange design glitch the Intel 80x86 processors can actually address 17*64 kbyte minus 16 byte of memory (from 0000:0000 to ffff:ffff) in real mode. In the Intel 8086 and Intel 8088 processors, unable to handle more than 1 megabyte of memory, addressing wrapped around, that is, address ffff:0010 was equivalent to 0000:0000. For compatibility reasons, later processors still wrapped around by default, but this feature could be switched off. Special programs called A20 handlers can control the addressing mode dynamically, thereby allowing programs to load themselves into the 1024--1088 kbyte region and run in real mode. From version 5.0 parts of MS-DOS can be loaded into HMA as well freeing up to 46 kbytes of conventional memory.
(1995-01-10)

high moby
/hi:' mohb'ee/ The high half of a 512K PDP-10's physical address space; the other half was of course the low moby. This usage has been generalised in a way that has outlasted the PDP-10; for example, at the 1990 Washington D.C. Area Science Fiction Conclave (Disclave), when a miscommunication resulted in two separate wakes being held in commemoration of the shutdown of MIT's last ITS machines, the one on the upper floor was dubbed the high moby and the other the low moby . All parties involved grokked this instantly. See moby.
[Jargon File]

High Performance Computing and Communications
(HPCC) High performance computing includes scientific workstations, supercomputer systems, high speed networks, special purpose and experimental systems, the new generation of large scale parallel systems, and application and systems software with all components well integrated and linked over a high speed network.
[ Grand Challenges 1993: High Performance Computing and Communications , Committee on Physical, Mathematical and Engineering Sciences of the Federal Coordinating Council for Science, Engineering and Technology.]

High Performance File System
file system (HPFS) The native file system for IBM's OS/2.
(1995-03-06)

High Performance Fortran
language (HPF) A data parallel language extension to Fortran 90 which provides a portable programming interface for a wide variety of target platforms. The original HPF language specification was produced by the High Performance Fortran Forum, a broad consortium of industry and academia, which met regularly throughout 1992 and early 1993. HPF compilers are now available on most commonly-used computing systems, and users are beginning to gain first hand experience with this language. The Forum has continued to meet in order to address advanced topics.
HPF+ at Vienna (http://www.par.univie.ac.at/hpf+/).
[ High Performance Fortran: Status Report , G.L. Steele Jr gls@think.com , SIGPLAN Notices 28(1):1-4 (Jan 1993)].
(1996-09-09)

High Performance Parallel Interface
hardware, standard (HIPPI, previously HPPI) A connection-oriented, point-to-point networking standard using circuit-switching technology at a speed of 800 Mbits/s or 1.6 Gbits/s (simplex or full-duplex). HIPPI is often used for short distances (up to 10km depending on cable type) to connect a supercomputer to routers, frame buffers, mass-storage peripherals and other computers.
HIPPI was developed at Los Alamos National Laboratory and is now ANSI standard X3T9/88-127. Standards for interconnecting with ATM, SONet, and fibre channel are in development.
HIPPI Networking Forum (http://www.esscom.com/hnf).
(1997-06-29)

High Performance Routing
networking (HPR) Routing designed to work in conjunction with APPN Intermediate Session Routing (ISR) network nodes. HPR nodes perform many of the same functions as ISR nodes. For example, HPR nodes use the same method of calculating routes based on the Topology Routing Service database and class of service tables. HPR nodes also supports such APPN features as connection networks and support for parallel transmission groups (TGs). In the HPR architecture, both partner nodes must support HPR for RTP connections to take place between the nodes. If one node supports HPR and the partner node does not, then the link will support ISR functionality only.
[ APPN Architecture and Product Implementations Tutorial , IBM, GG24-3669-92].
(1997-05-08)

High Performance Serial Bus
bus, standard (Or IEEE 1394 , FireWire , I-Link ) A 1995 Macintosh/IBM PC serial bus interface standard offering high-speed communications and isochronous real-time data services.
1394 can transfer data between a computer and its peripherals at 100, 200, or 400 Mbps, with a planed increase to 2 Gbps. Cable length is limited to 4.5 m but up to 16 cables can be daisy-chained yielding a total length of 72 m.
It can daisy-chain together up to 63 peripherals in a tree-like structure (as opposed to SCSI's linear structure). It allows peer-to-peer device communication, such as communication between a scanner and a printer, to take place without using system memory or the CPU. It is designed to support plug-and-play and hot swapping. Its six-wire cable is not only more convenient than SCSI cables but can supply up to 60 watts of power, allowing low-consumption devices to operate without a separate power cord.
Some expensive camcorders have included this bus since Autumn 1995. It is expected to be used to carry SCSI, with possible application to home automation using repeaters.
See also Universal Serial Bus, FC-AL.
(2000-09-03)

High Speed Circuit Switched Data
communications (HSCSD) A planned feature of GSM Phase 2 defining a standard for circuit switched data transmission over a GSM link at up to 57.6 (78.8?) kbps. This is achieved by concatenating up to four consecutive GSM timeslots, each of which is capable of 14.4 kbit/s. It uses multiplexing and compression or filtering.
The following services towards the fixed network are supported: V.34 up to 28.8 kbps and V.110 with rate adaptation up to 38.4 kbps.
HSCSD is aimed at mobile workstation users. As it is circuit switched, it is suited to streaming applications such as video conferencing and multimedia. Bursty applications like electronic mail, are more suited to packet switched data (as in GPRS).
Ericsson (http://www.ericsson.com/wireless/products/mobsys/gsm/subpages/wise/subpages/hscsd.shtml).
(http://www.gsmworld.com/).
(1999-12-04)

High Speed Connect
hardware (HSC) A Hewlett-Packard bus like EISA.
[HP9000 Configuration Guide, January 1996].
[Details?]
(1996-06-06)

high speed serial interface
hardware, communications (HSSI) A serial port which supports serial transmit speeds of up to 52 megabits per second. It is typically used for leased lines such as DS3 (44.736 Mbps) and E3 (34 Mbps) and for Wide Area Network devices such as routers.
(1995-11-20)

High Voltage Differential
hardware (HVD) Differential SCSI scheme that has been in use for years. The terminators run on 5 Volts DC.
See also LVD.
(1999-02-16)

HIGZ
High Level Interface to Graphics and Zebra. Part of the PAW system.

hill climbing
algorithm A graph search algorithm where the current path is extended with a successor node which is closer to the solution than the end of the current path.
In simple hill climbing, the first closer node is chosen whereas in steepest ascent hill climbing all successors are compared and the closest to the solution is chosen. Both forms fail if there is no closer node. This may happen if there are local maxima in the search space which are not solutions. Steepest ascent hill climbing is similar to best first search but the latter tries all possible extensions of the current path in order whereas steepest ascent only tries one.
(1995-12-09)

HiLog
A higher-order logic programming language. An extension of normal logic programming where predicate symbols may be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to their arguments.
(ftp://sbcs.sunysb.edu/SB-hilog)
[ HiLog as a Platform for Database Languages (Or Why Predicate Calculus is Not Enough) , W. Chen et al, Stony Brook, 2nd Intl Workshop on Database Prog Langs, Morgan Kaufmann, 1989].
(1994-12-07)

HIMEM
software, storage An IBM PC extended memory manager, part of MS-DOS version 5.00 or higher. HIMEM can also act as an A20 handler.
(1996-01-10)

hing
(IRC) Fortuitous typo for hint , now in wide intentional use among players of initgame.
Compare newsfroup, filk.
[Jargon File]
(1994-12-07)

HINT
Hierarchical Information NeTs.
A language for the CDC 3600.
[ HINT: A Graph Processing Language , R.D. Hart, Michigan State U, Apr 1970].
(1994-12-07)

HiPAC
An active DBMS from Xerox Advanced Information Technology.

HIPPI
High Performance Parallel Interface

hiragana
Japanese The cursive formed Japanese kana syllabary. Hiragana is mostly used for grammatical particles, verb-inflection, and Japanese words which are not written in kanji or which are too difficult for an educated person to read or write in kanji. Hiragana are also used for furigana.
(2001-03-18)

hirsute
Occasionally used as a humorous synonym for hairy.
[Jargon File]

HISTORIAN
A source code management system sold by OPCODE, Inc.

history
1. operating system A record of previous user inputs (e.g. to a command interpreter) which can be re-entered without re-typing them. The major improvement of the C shell (csh) over the Bourne shell (sh) was the addition of a command history. This was still inferior to the history mechanism on VMS which allowed you to recall previous commands as the current input line. You could then edit the command using cursor motion, insert and delete. These sort of history editing facilities are available under tcsh and GNU Emacs.
2. history The history of computing (http://ei.cs.vt.edu/~history/index.html).
3. See Usenet newsgroups news:soc.history and news:alt.history for discussion of the history of the world.
(1995-04-05)

hit
1. architecture cache hit.
2. World-Wide Web A request to a web server from a web browser or other client (e.g. a robot).
The number of hits on a server may be important for determining advertising revenue.
In the course of loading a single web page, a browser may hit a web server many times e.g. to retrieve the page itself and each image on the page. In contrast, caching by browsers and web proxies reduces the number of hits on the server because some requests are satisfied from the cache.
3. jargon To press and release a key on the keyboard. Some prefer the less aggressive tap .
(2000-02-20)

Hitachi 6309
processor (HD6309) Hitachi's version of the Motorola 6809 microprocessor. Compatible with the 6809, it added two new eight-bit registers that could be added to form a second 16-bit register, and all four eight-bit registers could form a 32-bit register. It also featured division, and some 32-bit arithmetic and was generally 30% faster in native mode. This information, surprisingly, was never published by Hitachi.
Technical reference (http://www.sandelman.ottawa.on.ca/People/Alan_DeKok/interests/6309.techref).
(1997-03-21)

Hitachi HD64180
processor A processor family which adds peripherals and an MMU to the Zilog Z80.
(1995-10-06)

HITL
Human Interface Technology Laboratory

hit rate
architecture The fraction of all memory reads which are satisfied from the cache.
(1997-01-21)

hk
networking The country code for Hong Kong.
(1999-01-27)

HL7
protocol An information exchange protocol used in medicine, and possibly elsewhere. It is different from DICOM.
[Details?]
(1998-12-23)

HLISP
Monocopy and Associative Algorithms in an Extended Lisp , E. Goto, U Tokyo May 1974.

HLL
high-level language

HLLAPI
High Level Language Application Programming Interface

hlp
filename extension A Microsoft Windows filename extension for hypertext WinHelp files. These are in a proprietary format, and are compiled from source files written in a dialect of RTF.
See also gid.
Usenet newsgroup: news:comp.os.ms-windows.programmer.winhelp.
(1997-01-30)

hm
networking The country code for the Heard and McDonald Islands.
(1999-01-27)

HMA
High Memory Area

HMAC
Keyed-Hashing Message Authentication

HMP
hybrid multiprocessing

HMSL
Hierarchical Music Specification Language

HMTL
spelling Do you mean HTML?
(1998-06-30)

hn
networking The country code for Honduras.
(1999-01-27)

Hoare powerdomain
powerdomain

Hobbit
A Scheme to C compiler by Tanel Tammet tammet@cs.chalmers.se . Hobbit attempts to retain most of the original Scheme program structure, making the output C program readable and modifiable. Hobbit is written in Scheme and is able to self-compile. Hobbit release 1 works together with the scm release scm4b3. Future releases of scm and hobbit will be coordinated.
Current version: release 2.
(ftp://altdorf.ai.mit.edu/archive/scm/hobbit2.tar.Z)
(1993/04/25)
2. The non-ITS name of vad@ai.mit.edu (*Hobbit*), master of lasers.

hobbit
High order bit. The most significant bit (of a byte). Also known as the meta bit or high bit.
[Jargon File]

hog
1. Favoured term to describe programs or hardware that seem to eat far more than their share of a system's resources, especially those which noticeably degrade interactive response. *Not* used of programs that are simply extremely large or complex or that are merely painfully slow themselves (see pig, run like a). More often than not encountered in qualified forms, e.g. memory hog , core hog , hog the processor , hog the disk . A controller that never gives up the I/O bus gets killed after the bus-hog timer expires.
2. Also said of *people* who use more than their fair share of resources (particularly disk, where it seems that 10% of the people use 90% of the disk, no matter how big the disk is or how many people use it). Of course, once disk hogs fill up one file system, they typically find some other new one to infect, claiming to the sysadmin that they have an important new project to complete.

HOL
Higher Order Logic. A proof-generating system for higher order logic based on LCF. Implementations include HOL-88 and HOL-90.
(ftp://ted.cs.uidaho.edu/pub/hol). Mailing list: info-hol@ted.cs.uidaho.edu.
[ HOL: A Machine Oriented Formulation of Higher Order Logic , M.J.C. Gordon, Report 68, Comp Lab U Cambridge (1985)].
[ Introduction to HOL , M.J.C. Gordon et al, Cambridge U Press 1993 ISBN 0-521-441897].

HOL-88
An implementation of HOL built on ML by Mike Gordon mjcg@cl.cam.ac.uk .

HOL-90
An implementation of HOL built on SML/NJ by Brian Graham graham@cpsc.ucalgary.ca . Runs on Sun-4.
(ftp://fsa.cpsc.ucalgary.ca/pub/hol90.tar.Z). Mailing list: info-hol@clover.ucdavis.edu.

hole
electronics The absence of an electron in a semiconductor material. In the electron model, a hole can be thought of as an incomplete outer electron shell in a doping substance. Holes can also be thought of as positive charge carriers; while this is in a sense a fiction, it is a useful abstraction.
(1995-10-06)

hole model
electronics A model of semiconductor behaviour in which donors contribute a positive charge equal in magnitude to the charge of an electron, and acceptors contribute space for such a charge within the crystal lattice. Honored by history well before electrons were discovered and described, much of electronics, especially at the engineering level, continues to consider current as flowing from positive to negative.
(1995-10-05)

Hollerithabetical order
algorithm Sorted into the order a standard Hollerith card sorting machine produces, with special characters interleaved within the alphabet.
(1997-02-11)

Hollerith, Herman
Herman Hollerith

Hollywired
Siliwood

HOL-UNITY
A verification tool for UNITY? Version 2.1.
E-mail: Flemming Andersen fa@tfl.dk ?

holy wars
[Usenet, but may predate it] flame wars over religious issues. The paper by Danny Cohen that popularised the terms big-endian and little-endian was entitled On Holy Wars and a Plea for Peace . Other perennial Holy Wars have included Emacs vs. vi, my personal computer vs. everyone else's personal computer, ITS vs. Unix, Unix vs. VMS, BSD Unix vs. USG Unix, C vs. Pascal, C vs. Fortran, etc., ad nauseam. The characteristic that distinguishes holy wars from normal technical disputes is that in a holy wars most of the participants spend their time trying to pass off personal value choices and cultural attachments as objective technical evaluations. See also theology.
[Jargon File]

home box
A hacker's personal machine, especially one he or she owns. Yeah? Well, *my* home box runs a full 4.2BSD, so there!

home machine
1. Synonym home box.
2. The machine that receives your e-mail. These senses might be distinct, for example, for a hacker who owns one computer at home, but reads e-mail at work.
[Jargon File]

home page
World-Wide Web 1. The top-level entry point web page relating to an individual or institution, or possibly a subject area. This often has a URL consisting of just a hostname, e.g. http://www.ncsa.uiuc.edu/. All other pages on a web site are usually accessible by following links from the home page.
2. The web page a user's web browser is configured to load each time it is started. This will typically default to the home page (sense 1) of the organisation that produced or distributed the browser.
(1999-03-21)

Home Phoneline Networking Alliance
communications, networking, protocol, standard (HomePNA) A non-profit association of more than 100 technology companies working together to ensure adoption of a phone line networking standard which should provide high-speed, affordable home networking.
The Home Phoneline Networking Alliance (HomePNA) was founded in June 1998 by 3Com, AMD, AT T Wireless Services, Compaq, Conexant, Epigram, Hewlett-Packard, IBM, Intel, Lucent Technologies, Rockwell Semiconductor Systems, and Tut Systems. The membership now spans the networking, telecommunications, hardware, software, and consumer electronics industries.
The alliance was originally formed because of the increasing demand for home networking caused by the growing number of homes with multiple PCs (and other devices) to connect together to provide facilities such as shared Internet access, networked gaming, and sharing of peripherals, files and applications.
The member companies aimed to develop open standards to ensure compatibility between different manufacturers' products. They also decided that this should be done using the phone wiring that already existed in people's homes. The concept of no new wires networking meant installation was simpler.
HomePNA's original specifications could be used to create a 1 Mbps (megabits per second) Ethernet-compatible LAN with no hubs, routers, splitters or terminations. Adapters would allow any computer (or other device) with an Ethernet port to be linked to the home network. Up to 25 PCs, peripherals and network devices can be connected to such a network.
On 1999-12-01, the HomePNA announced a new release of its networking technology specification, called Home PNA 2.0. Like the first specification, it uses existing phone lines, but it can operate at speeds up to 10 Mbps. The new version is backwardly compatible with the original 1 Mbps HomePNA technology, and is designed to provide faster networks suitable for future voice, video and data applications.
HomePNA.org (http://www.homepna.org/). HomePNA.Com (http://www.HomePNA.com/).
(2000-03-24)

HomePNA
Home Phoneline Networking Alliance

homogeneous
(Or homogenous ) Of uniform nature, similar in kind.
1. In the context of distributed systems, middleware makes heterogeneous systems appear as a homogeneous entity. For example see: interoperable network.
Constrast heterogeneous.
2. mathematics (Of a polynomial) containing terms of the same degree with respect to all the variables, as in x^2 + 2xy + y^2.
3. mathematics (Of a function) containing a set of variables such that when each is multiplied by a constant, this constant can be eliminated without altering the value of the function, as in cos x/y + x/y.
4. mathematics (of an equation) containing a homogeneous function made equal to 0.
(1999-05-06)

homogenous
homogeneous

homomorphism
A map f between groups A and B is a homomorphism of A into B if f(a1 * a2) = f(a1) * f(a2) for all a1,a2 in A.
where the *s are the respective group operations.

Honeywell-800 Business Compiler
Another name for FACT. Sammet 1969, p.327.

HOOD
Hierarchical Object Oriented Design: a method for Architectural Design primarily for software to be developed in Ada, leading to automated checking, documentation and source code generation.

HOOK
? Object Oriented Kernel. Delphia. An object-oriented extension of Delphia Prolog.
[Jargon File]

hook
programming A software or hardware feature included in order to simplify later additions or changes by a user.
For example, a simple program that prints numbers might always print them in base 10, but a more flexible version would let a variable determine what base to use; setting the variable to 5 would make the program print numbers in base 5. The variable is a simple hook. An even more flexible program might examine the variable and treat a value of 16 or less as the base to use, but treat any other number as the address of a user-supplied routine for printing a number. This is a hairy but powerful hook; one can then write a routine to print numbers as Roman numerals, say, or as Hebrew characters, and plug it into the program through the hook.
Often the difference between a good program and a superb one is that the latter has useful hooks in judiciously chosen places. Both may do the original job about equally well, but the one with the hooks is much more flexible for future expansion of capabilities.
Emacs, for example, is *all* hooks.
The term user exit is synonymous but much more formal and less hackish.
(1997-06-25)

hop
1. messaging One point-to-point transmission in a series required to get a message from point A to point B on a store and forward network. On such networks (including UUCPNET and FidoNet), an important inter-machine metric is the hop count of the shortest path between them. This can be more significant than their geographical separation.
Each exclamation mark in a bang path represents one hop.
2. networking One direct host-to-host connection forming part of the route between two hosts in a routed network such as the Internet. Some protocols place an upper limit on the hop count in order to detect routing loops.
3. jargon, networking To log in to a remote computer, especially via rlogin or telnet. I'll hop over to foovax to FTP that.
[Jargon File]
(1997-06-25)

Hope
language A functional programming language designed by R.M. Burstall, D.B. MacQueen and D.T. Sanella at University of Edinburgh in 1978. It is a large language supporting user-defined prefix, infix or distfix operators. Hope has polymorphic typing and allows overloading of operators which requires explicit type declarations. Hope has lazy lists and was the first language to use call-by-pattern.
It has been ported to Unix, Macintosh, and IBM PC.
See also Hope+, Hope+C, Massey Hope, Concurrent Massey Hope.
(ftp://brolga.cc.uq.oz.au/pub/hope).
[R.M.Burstall, D.B.MacQueen, D.T.Sanella, HOPE: An experimental applicative language , Proc. 1980 Lisp conf., Stanford, CA, p.136-143, Aug 1980].
[ A HOPE Tutorial , R. Bailey, BYTE Aug 1985, pp.235-258].
[ Functional Programming with Hope , R. Bailey, Ellis Horwood 1990].
(1992-11-27)

Hope+
language, functional programming An extension of Hope implemented in the Alvey Flagship project at Imperial College. Hope+ has vectors, real numbers, best fit pattern matching, lazy data constructors, absolute set abstractions and constraints. It has a continuation-based I/O system which posesses referential transparency and is capable of handling all common I/O tasks such as terminal and file I/O, signal handling and interprocess communications. It has modules and separate compilation.
See also Hope+C, Massey Hope, Concurrent Massey Hope.
[ Hope+ , N. Perry, Imperial College, IC/FPR/LANG/2.5.1/7, 1988.]
(1999-08-24)

Hope+C
language A further evolution of Hope+ with continuation-based I/O, coroutines, and RFCs. Hope+C was developed as part of the Flagship project at Imperial College. It has been implemented for Sun-3s with Motorola FPUs.
See also Massey Hope, Concurrent Massey Hope.
E-mail: John Darlington jd@doc.ic.ac.uk .
[What kind of RFCs?]
(1999-06-23)

Hopfield model
Hopfield network

Hopfield network
artificial intelligence (Or Hopfield model ) A kind of neural network investigated by John Hopfield in the early 1980s. The Hopfield network has no special input or output neurons (see McCulloch-Pitts), but all are both input and output, and all are connected to all others in both directions (with equal weights in the two directions). Input is applied simultaneously to all neurons which then output to each other and the process continues until a stable state is reached, which represents the network output.
(1997-10-11)

horizontal application
An application program common to different business processes, e.g. office automation.
Compare vertical application.
(1994-12-12)

horizontal encoding
processor An instruction set where each field (a bit or group of bits) in an instruction word controls some functional unit or gate directly, as opposed to vertical encoding where instruction fields are decoded (by hard-wired logic or microcode) to produce the control signals. Horizontal encoding allows all possible combinations of control signals (and therefore operations) to be expressed as instructions whereas vertical encoding uses a shorter instruction word but can only encode those combinations of operations built into the decoding logic.
An instruction set may use a mixture of horizontal and vertical encoding within each instruction. Because an architecture using horizontal encoding typically requires more instruction word bits it is sometimes known as a very long instruction word (VLIW) architecture.
(1995-04-23)

horizontal loop combination
See tupling.

horizontal microcode
processor Microcode using horizontal encoding.
(1995-04-23)

horizontal scan rate
hardware (HSR) The measure of how many scan lines of pixels a monitor can display in one second, expressed in kHz (generally somewhere between 20 and 100 kHz).
The HSR is controlled by the horizontal sync signal generated by the video controller, but is limited by the speed with which the monitor can scan the electron beam horizontally across the screen and then return it to the beginning of the next line.
(1996-02-09)

horizontal tabulation
character (tab, Control-I, HT, ASCII 9) A character which when displayed or printed causes the following character to be placed at the next tabstop - the column whose number is a multiple of the current tab width. Commonly (especially in Unix(?)) the tab width is eight, so, counting from the left margin (column zero), the tab stops are at columns 8, 16, 24, up to the width of the screen or page.
A tab width of four or two is often preferred when indenting program source code to conserve indentation.
Represented as t in C, Unix, and derivatives.
(1999-07-05)

Horn clause
logic A set of atomic literals with at most one positive literal. Usually written
L - L1, ..., Ln or - L1, ..., Ln
where n =0. If L is false the clause is regarded as a goal. Horn clauses can express a subset of statements of first order logic.
The name Horn Clause comes from the logician Alfred Horn, who first pointed out the significance of such clauses in 1951, in the article On sentences which are true of direct unions of algebras , Journal of Symbolic Logic, 16, 14-21.
A definite clause is a Horn clause that has exactly one positive literal.
(2000-01-24)

hose
1. To make non-functional or greatly degraded in performance. That big ray-tracing program really hoses the system. See hosed.
2. A narrow channel through which data flows under pressure. Generally denotes data paths that represent performance bottlenecks.
3. Cabling, especially thick Ethernet cable. This is sometimes called bit hose or hosery (a play on hosiery ) or etherhose . See also washing machine.
[Jargon File]

hosed
jargon A somewhat humorous variant of down , used primarily by Unix hackers. Hosed implies a condition thought to be relatively easy to reverse. It is also widely used of people in the mainstream sense of in an extremely unfortunate situation . The term was popularised by fighter pilots refering to being hosed by machine gun fire (date?). Usage in hackerdom dates back to CMU in the 1970s or earlier.
Acronyms and Abbreviations from UCC, Ireland (http://www.ucc.ie/cgi-bin/acronym) expands it as Hardware Or Software Error Detected , though this is probably a back-formation.
The Jargon File version 4.1.4 1999-06-17 says that it was probably derived from the Canadian slang hoser (meaning a man, esp. one who works at a job that uses physical rather than mental skills and whose habits are slightly offensive but amusing ).
One correspondant speculates about an allusion to a hose-like body part.
Once upon a time, a Cray that had been experiencing periodic difficulties crashed, and it was announced to have been hosed. It was discovered that the crash was due to the disconnection of some coolant hoses. The problem was corrected, and users were then assured that everything was OK because the system had been rehosed. See also dehose.
See also: hose.
(1999-10-28)

HOS-STPL
Hospital Operating System - STructured Programming Language. A Fortran-like language with structured extensions.
[ HOS-STPL User Manual , Health Services Research, US Public Health Service (Jan 1975)].

host
1. networking A computer connected to a network.
The term node includes devices such as routers and printers which would not normally be called hosts .
2. communications A computer to which one connects using a terminal emulator.
(1995-02-16)

host adaptor
SCSI adaptor

Host Command Facility
operating system (HCF) Used to access IBM S/36 and AS/400 computers from a mainframe.
[What is it?]
(1999-01-24)

host-host layer
transport layer

hostname
1. (Or sitename ). The unique name by which a computer is known on a network, used to identify it in electronic mail, Usenet news, or other forms of electronic information interchange.
On Internet the hostname is an ASCII string, e.g. foldoc.doc.ic.ac.uk which, consists of a local part (foldoc) and a domain name (doc.ic.ac.uk). The hostname is translated into an Internet address either via the /etc/hosts file, NIS or by the Domain Name System (DNS) or resolver. It is possible for one computer to have several hostnames (aliases) though one is designated as its canonical name.
It is often possible to guess a hostname for a particular institution. This is useful if you want to know if they operate network services like anonymous FTP, World-Wide Web or finger. First try the institution's name or obvious abbreviations thereof, with the appropriate domain appended, e.g. mit.edu . If this fails, prepend ftp. or www. as appropriate, e.g. www.data-io.com . You can use the ping command as a quick way to test whether a hostname is valid.
The folklore interest of hostnames stems from the creativity and humour they often display. Interpreting a sitename is not unlike interpreting a vanity licence plate; one has to mentally unpack it, allowing for mono-case and length restrictions and the lack of whitespace. Hacker tradition deprecates dull, institutional-sounding names in favour of punchy, humorous, and clever coinages (except that it is considered appropriate for the official public gateway machine of an organisation to bear the organisation's name or acronym). Mythological references, cartoon characters, animal names, and allusions to SF or fantasy literature are probably the most popular sources for sitenames (in roughly descending order). The obligatory comment is Harris's Lament: All the good ones are taken!
See also network address.
2. Berkeley Unix command to set and get the application level name used by the host.
Unix manual page: hostname(1).
(1995-02-16)

host number
networking The host part of an Internet address. The rest is the network number.
(1994-10-27)

Hot Fix
storage Novell, Inc.'s term for the feature of their network file server operating system, Novell NetWare, which handles errors in disk write operations. The OS re-reads every block it writes to disk while it holds the data to be written in memory. In the case of an error, the data block is written to a spare area on the disk.
The feature lost much of its importance with the widespread use of hard disk drives with built-in error correction and bad block re-mapping.
(1997-05-27)

HotJava
World-Wide Web A modular, extensible World-Wide Web browser from Sun Microsystems that can execute programs written in the Java programming language. These programs, known as applets , can be included (like images) in HTML pages. Because Java programs are compiled into machine independent bytecodes, applets can run on any platform on which HotJava runs - currently (December 1995) SPARC/Solaris 2 and Intel 80x86/Windows 95, Windows NT.
Home (http://java.sun.com/hotjava.html)
(1995-12-10)

Hotline
1. company Hotline Communications Ltd..
2. messaging Hotline Connect.
(1999-12-07)

Hotline Communications Ltd.
company The company that developes and distributes Hotline Connect.
Home (http://www.BigRedH.com/index2.html).
(1999-12-07)

Hotline Connect
messaging A suite of communication products developed by Hotline Communications Ltd. Hotline Connect is a real-time, multi-platform Internet/Intranet communication suite, that operates independent of the World-Wide Web. It provides easy-to-use private and public virtual community building and live interaction with real-time chat, conferencing, messaging, data warehousing, file transfer, and viewing.
Version: 1.7.2, as of 1999-12-07.
(1999-12-07)

hotlink
A mechanism for sharing data between two application programs where changes to the data made by one application appear instantly in the other's copy.
Under System 7 on the Macintosh the users establishes a hotlink by doing a Create Publisher on the server and Subscribe on the client.
Under Windows 3 it's Cut Special (?) and Paste Special (as opposed to the normal Cut and Paste).
(1995-02-16)

hotlist
World-Wide Web (From hypertext hot spot ) A document on the World-Wide Web or a user's browser configuration file containing hypertext links, often unorganised and undocumented, to notable pages on the Web.
Compare the 19th century notion of a commonplace book (http://c.gp.cs.cmu.edu:5103/prog/webster?commonplace+book).
(1995-04-16)

hot spot
1. (primarily used by C/Unix programmers, but spreading) It is received wisdom that in most programs, less than 10% of the code eats 90% of the execution time; if one were to graph instruction visits versus code addresses, one would typically see a few huge spikes amidst a lot of low-level noise. Such spikes are called hot spots and are good candidates for heavy optimisation or hand-hacking. The term is especially used of tight loops and recursions in the code's central algorithm, as opposed to (say) initial set-up costs or large but infrequent I/O operations.
See tune, bum, hand-hacking.
2. The active location of a cursor on a bit-map display. Put the mouse's hot spot on the ON widget and click the left button.
3. A screen region that is sensitive to mouse clicks, which trigger some action. Hypertext help screens are an example, in which a hot spot exists in the vicinity of any word for which additional material is available.
4. In a massively parallel computer with shared memory, the one location that all 10,000 processors are trying to read or write at once (perhaps because they are all doing a busy-wait on the same lock).
5. More generally, any place in a hardware design that turns into a performance bottleneck due to resource contention.
[Jargon File]
(1995-02-16)

Hot Swapable Routing Protocol
protocol (HSRP) A mirrored router in passive mode sending hello packets, waiting for a lead router to die and, without dropping a packet, take over from that router.
[Specification?]
(1997-04-25)

hot swapping
hardware The connection and disconnection of peripherals or other components without interrupting system operation. This facility may have design implications for both hardware and software.
[More detail?]
(1997-03-15)

HOTT
(Hot Off The Tree) An Internet-based electronic magazine edited by David Scott Lewis d.s.lewis@ieee.org and distributed by electronic mail.
(1994-12-23)

house wizard
(Probably from ad-agency tradetalk, house freak ) A hacker occupying a technical-specialist, R D, or systems position at a commercial shop. A really effective house wizard can have influence out of all proportion to his/her ostensible rank and still not have to wear a suit. Used especially of Unix wizards. The term house guru is equivalent.
[Jargon File]
(1995-02-16)

Houston Automatic Spooling Program
operating system (HASP) A program developed [by ?] in the 1960s to SPOOL output on OS/MFT and OS/MVT.
(1999-01-12)

HP
Hewlett-Packard

hp2ps
tool An HP-GL interpreter written in PostScript by Alun Jones. hp2ps runs on the printer itself. Version 1.9c.
(1999-11-23)

H/PC
Hand-held Personal Computer

HPCC
High Performance Computing and Communications

HPcode
Stack-based intermediate language used by HP in many of its compilers for RISC and stack-based architectures. Supports Fortran, Ada, Pascal, COBOL and C++. Descended from Stanford's U-code.

HPCode-Plus
A descendant of HPcode with data types, developed to be an ANDF language.
[ ANDF: Finally an UNCOL After 30 Years , M.E. Benitez, Jack Davidson jwd@virginia.edu et al, CS TR-91-05 U Virginia (Mar 1991)].
(1995-03-16)

HPF
High Performance Fortran

HPFS
High Performance File System

HP-GL
Hewlett-Packard Graphics Language

HP-GL/2
HP-GL/2 Programmer's Guide , No. 5959-9733, HP. (See PCL.)

HP-IB
IEEE 488

HPL
Language used in HP9825A/S/T Desktop Calculators , 1978(?) and ported to the early Series 200 family (9826 and 9836, 68000). Fairly simple and standard, but with extensive I/O support for data acquisition and control (BCD, Serial, 16 bit custom and IEEE 488 interfaces), including interrupt handling. Currently owned by Structured Software Systems. HPL Operating Manual for Series 200, Models 216, 226 and 235 6 , HP 98614-90010, Jan 1984.

HPLOT
A graphical output facility for HBOOK.
(1995-02-22)

HP-MPE
Hewlett Packard Multi Processing Executive

HP-PA
Hewlett Packard Precision Architecture

HPPI
High Performance Parallel Interface

HPR
High Performance Routing

HP-SUX
abuse, operating system /H-P suhks/ An unflattering hackerism for HP-UX which features some truly unique bogosities in the file system internals and elsewhere (these occasionally create portability problems). HP-UX is often referred to as hockey-pux inside HP, and one respondent claims that the proper pronunciation is /H-P ukkkhhhh/ as though one were about to spit. Another such alternate spelling and pronunciation is H-PUX /H-puhks/. Hackers at HP/Apollo (the former Apollo Computers which was swallowed by HP in 1989) have been heard to complain that Mr. Packard should have pushed to have his name first, if for no other reason than the greater eloquence of the resulting acronym.
Compare AIDX, buglix, Telerat, Open DeathTrap, ScumOS, sun-stools.
[Jargon File]
(1997-05-12)

HP-UX
operating system The version of Unix running on Hewlett-Packard workstations.
HP-UX conforms to X/Open's Portability Guide Issue 4 (XPG4), Federal Information Processing Specification (FIPS) 151.1, POSIX 1003.1, POSIX 1003.2, AT T's System V Interface Definition 2 (SVID 2). HP-UX incorporates selected features from the University of California at Berkeley Software Distribution 4.3 (4.3BSD).
It is known by some as HP-SUX .
[Features?]
(1997-05-12)

HP VEE
Hewlett-Packard Visual Engineering Environment

hqx
binhex

hr
networking The country code for Croatia.
(1999-01-27)

hs
Haskell

HSB
hue, saturation, brightness

HSC
High Speed Connect

HSCSD
High Speed Circuit Switched Data

HSL-FX
Hierarchical Specification Language - Function Extension

HSRP
Hot Swapable Routing Protocol

HSSI
high speed serial interface

HSV
hue, saturation, value

HT
horizontal tabulation

ht
networking The country code for Haiti.
(1999-01-27)

HTH
chat Hope This Helps. Often used sarcastically, see HAND.
(1998-03-06)

HTLM
Do you mean HTML?

HTML
Hypertext Markup Language

HTML+
hypertext, standard A proposed successor to HTML. HTML+ was a superset of HTML designed to extend the capabilities of the language to incorporate better support for multimedia objects in documents.
(1994-10-27)

HTTL
Do you mean HTTP or HTML?

HTTP
Hypertext Transfer Protocol

HTTP/1.0
Hypertext Transfer Protocol version 1.0.

HTTP cookie
World-Wide Web A packet of information sent by an HTTP server to a World-Wide Web browser and then sent back by the browser each time it accesses that server. Cookies can contain any arbitrary information the server chooses and are used to maintain state between otherwise stateless HTTP transactions. Typically this is used to authenticate or identify a registered user of a web site without requiring them to sign in again every time they access that site. Other uses are, e.g. maintaining a shopping basket of goods you have selected to purchase during a session at a site, site personalisation (presenting different pages to different users), tracking a particular user's access to a site.
(http://www.illuminatus.com/cookie).
(1997-01-15)

HTTPd
World-Wide Web (Hypertext transfer protocol daemon).
An HTTP/1.0-compatible server, written by Rob McCool robm@ncsa.uiuc.edu of NCSA, for making hypertext and other documents available to World-Wide Web browsers.
HTTPd is designed to be small and fast and to work with most HTTP/0.9 and HTTP/1.0 browsers. You can customise your server to execute searches and handle HTML forms. It also supports server side include files, allowing you to include the output of commands or other files in HTML documents.
The current (1994-08-08) version is 1.3.
(http://hoohoo.ncsa.uiuc.edu/docs/Overview.html)
E-mail: httpd@ncsa.uiuc.edu .
(1995-01-16)

HTTPS
HyperText Transmission Protocol, Secure

HTTP server
World-Wide Web (Or web server ) A server process running at a web site which sends out web pages in response to HTTP requests from remote browsers.
If one site runs more than one server they must use different port numbers. Alternatively, several hostnames may be mapped to the same computer in which case they are known as virtual servers .
Apache and NCSA HTTPd are two popular web servers. There are many others including some for practically every platform. Servers differ mostly in the server-side features they offer such as server-side include, and in their authentication and access control mechanisms. All decent servers support CGI and most have some binary API as well.
(1997-02-05)

hu
networking The country code for Hungary.
(1999-01-27)

hub
networking (By analogy with the hub of a wheel) A device connected to several other devices.
In ARCnet, a hub is used to connect several computers together. In a message handling service, a number of local computers might exchange messages solely with a hub computer. The hub would be responsible for exchanging messages with other hubs and non-local computers.
(1995-01-16)

Hubnet
networking A 50 Mb/s optical fibre network developed at Toronto University. Network topology is a rooted tree with a maximum of 65536 hosts with maximum separation of 2 km. The protocol is multiple access, collision avoidance, echo detect and retry.
[Computer Systems Equipment Design, Jan 85].
(1994-11-22)

hubs
hub

hue
graphics (Or tint ) The coordinate in the HSB colour model that determines the frequency of light or the position in the spectrum or the relative amounts of red, green and blue. Hue corresponds to the common definition of colour, e.g. red , orange , violet etc. The other coordinates are saturation and brightness.
(1999-07-05)

hue, saturation, brightness
graphics (HSB) A colour model that describes colours in terms of hue, saturation, and brightness.
In the tables below, a hue is a pure colour, i.e. one with no black or white in it. A shade is a dark colour, i.e. one produced by mixing a hue with black. A tint is a light colour, i.e. one produced by mixing a hue with white. A tone is a colour produced by mixing a hue with a shade of grey.
Microsoft Windows colour dialogs, PagePlus, and Paint Shop Pro use HSB but call the third dimension luminosity or lightness . It ranges from 0% (black) to 100% (white). A pure hue is 50% luminosity, 100% saturation.
Colour type S L
Black Any 0%
White Any 100%
Grey 0% 1-99%
Hue 100% 50%
Shade 100% 1-49%
Tint 100% 51-99%
Tone 1-99% 1-99%
Quattro Pro, CorelDraw, and PhotoShop use a variant (Quattro Pro calls the third parameter brightness ) in which a brightness of 100% can produce white, a pure hue, or anything in between, depending on the saturation.
Colour type S B
Black Any 0%
White 0% 100%
Grey 0% 1-99%
Hue 100% 100%
Shade 100% 1-99%
Tint 1-99% 100%
Tone 1-99% 1-99%
[Same as HSV?]
(1999-07-05)

hue, saturation, value
graphics (HSV) A colour model that describes colours in terms of hue (or tint ), saturation (or shade ) and value (or tone or luminance ).
[Same as HSB?]
(1999-07-05)

huff
To compress data using a Huffman code. Various programs that use such methods have been called HUFF or some variant thereof.
Opposite: puff. Compare crunch, compress.
[Jargon File]
(1994-12-23)

Huffman coding
algorithm A data compression technique which varies the length of the encoded symbol in proportion to its information content, that is the more often a symbol or token is used, the shorter the binary string used to represent it in the compressed stream. Huffman codes can be properly decoded because they obey the prefix property, which means that no code can be a prefix of another code, and so the complete set of codes can be represented as a binary tree, known as a Huffman tree. Huffman coding was first described in a seminal paper by D.A. Huffman in 1952.
(1994-12-23)

HUGO
A bytecode-interpreted transaction handler from Geac.
(1994-12-23)

HUGS
Haskell User's Gofer System

Human-Computer Interaction
software, hardware (HCI) The study of how humans interact with computers, and how to design computer systems that are easy, quick and productive for humans to use.
See also Human-Computer Interface.
HCI Sites (http://www.acm.org/sigchi/hci-sites/).
(1999-05-09)

Human-Computer Interface
software, hardware (HCI) Any software or hardware that allows a user to interact with a computer. Examples are WIMP, command-line interpreter, or virtual reality.
See also Human-Computer Interaction.
(1999-05-09)

Human Interface Device
hardware (HID) Any device to interact directly with humans (mostly input) like keyboard, mouse, joystick, or graphics tablet.
(2001-03-29)

Human Interface Technology Laboratory
(HITL) The Human Interface Technology Laboratory at the University of Washington was founded in 1990. It is a centre for research and development of advanced interface technology. Located on the university campus, HITL forms a bridge between academia and industry. It maintains its industrial focus via the Virtual Worlds Consortium and maintains contacts with academia by training students and teaching courses. The lab has access to faculty and students throughout the State of Washington.
Address: Human Interface Technology Laboratory, University of Washington, Seattle, USA.
(1995-02-13)

humanist technology
philosophy Technology centered around the interests, needs, and well-being of humans.
(2002-07-16)

humma
chat A filler word used on various chat and talk programs when you had nothing to say but felt that it was important to say something.
The word apparently originated (at least with this definition) on the MECC Timeshare System (MTS, a now-defunct educational time-sharing system running in Minnesota during the 1970s and the early 1980s) but was later sighted on early Unix systems.
[Jargon File]
(1999-02-27)

humor
hacker humour

humour
hacker humour

hung
[ hung up ] Equivalent to wedged, but more common at Unix/C sites. Not generally used of people. Synonym with locked up, wedged; compare hosed. See also hang. A hung state is distinguished from crashed or down, where the program or system is also unusable but because it is not running rather than because it is waiting for something. However, the recovery from both situations is often the same.
[Jargon File]

Hungarian Notation
language, convention A linguistic convention requiring one or more letters to be added to the front of variable names to denote scope and/or type.
Hungarian Notation is mainly confined to Microsoft Windows programming environments, such as Microsoft C, C++ and Visual Basic.
It was originally devised by Charles Simonyi, a Hungarian, who was a senior programmer at Microsoft for many years. He disliked the way that names in C programs could stand for any kind of variable. This was for ever leading to mistakes, as programmers tried to manipulate variables in ways that their type prohibited, which they would never had done if they remembered what sort they were.
According to legend, fellow programmers at Microsoft looked at the convoluted, vowel-less variable names produced by his scheme and, like everyone else who has come into contact with them since, said something like This might as well be in Greek - or even Hungarian! . They almost certainly had in mind as well another kind of mathematical system called Polish notation (a variant form called reverse Polish notation is commonly used in calculators, which leads to expressions without brackets or punctuation which are easier to enter). They put the two together and made up the name Hungarian notation .
Hungarian Notation is not really necessary when using a modern strongly-typed language as the compiler warns the programmer if a variable of one type is used as if it were another type. It is less useful in object-oriented programming languages such as C++, where many variables are going to be instances of classes [Why?].
In addition, variable names are essentially only comments, and thus are just as susceptible to becoming out of date and incorrect as any other comment. For example, if a signed short int becomes an unsigned long int, the variable name, and every use of it throughout the program, should be changed to reflect its new type.
If used appropriately however, it does enforce a certain consistency, especially when scoping is taken into account as well as type (for example g_ for global variables, m_ for members, c_ for static members, l_ for local, etc.).
Simonyi's original monograph (http://www.strangecreations.com/library/c/naming.txt).
Microsoft VB Naming Conventions (http://support.microsoft.com/support/kb/articles/Q110/2/64.asp).
(1999-06-03)

Hungry Programmers
body A group of programmers producing free software.
Home (http://www.hungry.com/)
(1995-03-20)

hungry puppy
Synonym slopsucker.
[Jargon File]

Hungry ViewKit
operating system, library A C++ class library for developing Motif application programs (although this restriction will be lifted once LessTif is finished). It follows the API of the Iris(tm) ViewKit, put out by SGI. The Hungry ViewKit is a superset of the Iris ViewKit, so any code developed for the Iris version will work with the Hungry version, but possibly not vice versa.
Home (http://www.hungry.com/products/viewkit/)
(1995-03-20)

hungus
jargon /huhng'g*s/ (Perhaps related to slang humongous ) Large, unwieldy, usually unmanageable. E.g. TCP is a hungus piece of code.
[Jargon File]
(1999-01-26)

Hunt the Wumpus
games, history (Or Wumpus ) /huhnt th* wuhm'p*s/ A famous family of computer games, dating back at least to 1972 (several years before ADVENT) on the Dartmouth Time-Sharing System.
Hunt the Wumpus was created by Ken Thompson on an early version of Unix. It was created from a game in a children's magazine, and was made to give his young son something to do on the computer.
The wumpus lived somewhere in a cave with the topology of an dodecahedron's edge/vertex graph (later versions supported other topologies, including an icosahedron and M obius strip). The player started somewhere at random in the cave with five crooked arrows ; these could be shot through up to three connected rooms, and would kill the wumpus on a hit (later versions introduced the wounded wumpus, which got very angry). Unfortunately for players, the movement necessary to map the maze was made hazardous not merely by the wumpus (which would eat you if you stepped on him) but also by bottomless pits and colonies of super bats that would pick you up and drop you at a random location (later versions added anaerobic termites that ate arrows, bat migrations and earthquakes that randomly changed pit locations).
This game appears to have been the first to use a non-random graph-structured map (as opposed to a rectangular grid like the even older Star Trek games). In this respect, as in the dungeon-like setting and its terse, amusing messages, it prefigured ADVENT and Zork and was directly ancestral to both (Zork acknowledged this heritage by including a super-bat colony). A port was distributed with SunOS and as freeware for the Macintosh. There is a freeware C emulation of the original Basic game.
(1999-02-15)

Hurd
The Hurd will be the foundation of the whole GNU system. It is built on top of the Mach 3.0 kernel, a free message-passing kernel developed by CMU. Mach's virtual memory management and message-passing facilities are extensively used by the Hurd. The GNU C Library will provide the Unix system call interface, and will call the Hurd for needed services it can't provide itself.
One goal of the Hurd is to establish a framework for shared development and maintenance. The Hurd is like GNU Emacs in that it will allow a broad range of users to create and share useful projects without knowing much about the internal workings of the system -- projects that might never have been attempted without freely available source, a well-designed interface, and a multi-server-based design.
Currently there are free ports of the Mach kernel to the Intel 80386 IBM PC, the DEC PMAX workstation, the Luna 88k and several other machines, with more in progress, including the Amiga and DEC Alpha-3000 machines. Contact mach@cs.cmu.edu , if you want to help with one of these or start your own. Porting the GNU Hurd and GNU C Library is easy (easier than porting GNU Emacs, certainly easier than porting GCC) once a Mach port to a particular platform exists.
[June 1994 GNU's Bulletin].
(1994-12-07)

HVD
High Voltage Differential

Hybrid
A concurrent object-oriented language.
[ Active Objects in Hybrid , O.M. Nierstrasz, SIGPLAN Notices 22(12):243-253 (OOPSLA '87) (Dec 1987)].
(1994-12-07)

Hybrid Fiber Coax
networking (HFC) A kind of physical connection used in networks for audio, video, and data. DVB (Digital Video Broadcast) is used in Europe and DOCSIS is used in N America.
[What is the relationship between HFC, DVB, DOCSIS?]
(1999-11-02)

hybrid multiprocessing
parallel (HMP) The kind of multitasking which OS/2 supports. HMP provides some elements of symmetric multiprocessing, using add-on IBM software called MP/2. OS/2 SMP was planned for release in late 1993.
(1995-03-19)

hybrid testing
testing A combination of top-down testing with bottom-up testing of prioritised or available components.
(1996-05-22)

hydrofluorocarbon
hardware (HFC) A suggested replacement for the chlorofluorocarbon (CFC) coolant gas used in chillers and air conditioners.
(1996-11-05)

HyperBase
database An experimental active multi-user database for hypertext systems from the University of Aalborg, written in C++. It is built on the client-server model enabling distributed, concurrent, and shared access from workstations in a local area network.
See also EHTS.
(1995-03-19)

Hyper-C
A data parallel extension of C from HyperParallel Tech, France, for PVM, CM and Maspar. It is available from Fortunel Systems fortunel@vnet.net , +1 (919) 319 1624.
E-mail: hyperc-support@hyperparallel.polytechnique.fr .
(1994-11-17)

HyperCard
A software package by Bill Atkinson for storage and retrieval of information on the Macintosh. It can handle images and is designed for browsing. The powerful customisable interactive user interface allows new applications to be easily constructed by manipulating objects on the screen, often without conventional programming, though the language HyperTalk can be used for more complex tasks.
Usenet newsgroup: news:comp.sys.mac.hypercard.
[ Apple Macintosh HyperCard User Guide , Apple Computer 1987].
(1995-02-10)

hypercube
A cube of more than three dimensions. A single (2^0 = 1) point (or node ) can be considered as a zero dimensional cube, two (2^1) nodes joined by a line (or edge ) are a one dimensional cube, four (2^2) nodes arranged in a square are a two dimensional cube and eight (2^3) nodes are an ordinary three dimensional cube. Continuing this geometric progression, the first hypercube has 2^4 = 16 nodes and is a four dimensional shape (a four-cube ) and an N dimensional cube has 2^N nodes (an N-cube ). To make an N+1 dimensional cube, take two N dimensional cubes and join each node on one cube to the corresponding node on the other. A four-cube can be visualised as a three-cube with a smaller three-cube centred inside it with edges radiating diagonally out (in the fourth dimension) from each node on the inner cube to the corresponding node on the outer cube.
Each node in an N dimensional cube is directly connected to N other nodes. We can identify each node by a set of N Cartesian coordinates where each coordinate is either zero or one. Two node will be directly connected if they differ in only one coordinate.
The simple, regular geometrical structure and the close relationship between the coordinate system and binary numbers make the hypercube an appropriate topology for a parallel computer interconnection network. The fact that the number of directly connected, nearest neighbour , nodes increases with the total size of the network is also highly desirable for a parallel computer.
(1994-11-17)

Hyperion
computer An MS-DOS personal computer that was manufactured in Kanata (near Ottawa, Ontario, Canada) in the mid-1980s. It received considerable government subsidies and, while it was considered well-designed and manufactured and a real threat to the Compaq Portable, the Ottawa firm that designed it was unable to beat Compaq.
(1997-07-21)

hyperlink
hypertext A reference (link) from some point in one hypertext document to (some point in) another document or another place in the same document. A browser usually displays a hyperlink in some distinguishing way, e.g. in a different colour, font or style. When the user activates the link (e.g. by clicking on it with the mouse) the browser will display the target of the link.
(1995-02-10)

Hyper-Man
A browser available with Epoch giving hypertext access to the Unix manual.

hypermedia
hypertext

HyperNeWS
A Hypertext system from the Turing Institute Glasgow, based on NeWS.

Hyperscript
Informix. The object-based programming language for Wingz, used for creating charts, graphs, graphics, and customised data entry.

hyperspace
/hi:'per-spays/ A memory location that is *far* away from where the program counter should be pointing, often inaccessible because it is not even mapped in. (Compare jump off into never-never land.)
This usage is from the SF notion of a spaceship jumping into hyperspace , that is, taking a shortcut through higher-dimensional space - in other words, bypassing this universe. The variant east hyperspace is recorded among CMU and Bliss hackers.
[Jargon File]
(1994-11-23)

HyperSPARC
processor The successor to the SuperSPARC processor, based on the SPARC ISA. The HyperSPARC has smaller caches than the SuperSPARC: 8kb on-chip and 256kb off-chip (compared with 36kb and 1Mb). The HyperSPARC's memory management is optimised for more efficient out-of-cache addressing which means quicker access to external (slower, cheaper) memory.
(1994-11-23)

Hyperstrict
A function which is hyperstrict in some argument will fully evaluate that argument. To fully evaluate an object, evaluate it to WHNF and if it is a constructed data object (e.g. a list or tuple) then fully evaluate every component and so on recursively. Thus a hyperstrict function will fail to terminate if its argument or any component or sub-component of its argument fails to terminate (i.e. if its argument is not total ).

HyperTalk
A verbose semicompiled language by Bill Atkinson and Dan Winkler, with loose syntax and high readability.
HyperTalk uses HyperCard as an object management system, development environment and interface builder. Programs are organised into stacks of cards , each of which may have buttons and fields . All data storage is in zero-terminated strings in fields, local, or global variables; all data references are through chunk expressions of the form:
'last item of background field Name List of card ID 34217'.
Flow of control is event-driven and uses message-passing among scripts that are attached to stack, background, card, field and button objects.
Apple Computer has taken back distribution and maintenance of HyperCard from Claris Corporation
[ HyperTalk Language Reference Manual , A-W 1988].
(1994-11-17)

hypertext
hypertext A term coined by Ted Nelson around 1965 for a collection of documents (or nodes ) containing cross-references or links which, with the aid of an interactive browser program, allow the reader to move easily from one document to another.
The extension of hypertext to include other media - sound, graphics, and video - has been termed hypermedia , but is usually just called hypertext , especially since the advent of the World-Wide Web and HTML.
(2000-09-10)

Hypertext Markup Language
hypertext, World-Wide Web, standard (HTML) A hypertext document format used on the World-Wide Web. HTML is built on top of SGML. Tags are embedded in the text. A tag consists of a , a directive (case insensitive), zero or more parameters and a . Matched pairs of directives, like TITLE and /TITLE are used to delimit text which is to appear in a special place or style.
Links to other documents are in the form
A HREF= http://machine.edu/subdir/file.html foo /A
where A and /A delimit an anchor , HREF introduces a hypertext reference, which is most often a Uniform Resource Locator (URL) (the string in double quotes in the example above). The link will be represented in the browser by the text foo (typically shown underlined and in a different colour).
A certain place within an HTML document can be marked with a named anchor, e.g.:
A NAME= baz
The fragment identifier , baz , can be used in an HREF by appending #baz to the document name.
Other common tags include P for a new paragraph, B .. /B for bold text, UL for an unnumbered list, PRE for preformated text, H1 , H2 .. H6 for headings.
HTML supports some standard SGML national characters and other non-ASCII characters through special escape sequences, e.g. eacute; for a lower case 'e' with an acute accent. You can sometimes get away without the terminating semicolon but it's bad style.
The World-Wide Web Consortium (W3C) is the international standards body for HTML.
Latest version: XHTML 1.0, as of 2000-09-10.
Home (http://www.w3.org/MarkUp/).
Character escape sequences (http://www.w3.org/hypertext/WWW/MarkUp/ISOlat1.html).
See also weblint.
(2000-09-10)

Hypertext Transfer Protocol
protocol (HTTP) The client-server TCP/IP protocol used on the World-Wide Web for the exchange of HTML documents. It conventionally uses port 80.
Current version: HTTP 1.1, defined in RFC 2068, as of May 1997.
See also Uniform Resource Locator.
(1994-10-27)

HyperText Transmission Protocol, Secure
protocol (HTTPS) A variant of HTTP used by Netscape for handling secure transactions.
The Netscape Navigator supports a URL access method, https , for connecting to HTTP servers using SSL.
https is a unique protocol that is simply SSL underneath HTTP. You need to use https:// for HTTP URLs with SSL, whereas you continue to use http:// for HTTP URLs without SSL. The default https port number is 443, as assigned by the Internet Assigned Numbers Authority.
(http://www.netscape.com/info/security-doc.html)
(1995-01-16)

hyperware
hypertext Software that implements or uses hypertext.
(2000-09-11)

hysterical reasons
(Or hysterical raisins ) A variant on the stock phrase for historical reasons , indicating specifically that something must be done in some stupid way for backwards compatibility, and moreover that the feature it must be compatible with was the result of a bad design in the first place. All IBM PC video adaptors have to support MDA text mode for hysterical reasons. Compare bug-for-bug compatible.
[Jargon File]

Hytelnet
networking A hypertext database of publicly accessible Internet sites created and maintained by Peter Scott scottp@moondog.usask.ca . Hytelnet currently lists over 1400 sites, including Libraries, Campus-Wide Information Systems, Gopher, WAIS, WWW and Freenets.
Hytelnet software is available for the IBM PC, Macintosh, Unix and VMS systems.
(ftp://ftp.usask.ca/pub/hytelnet) (128.233.3.11). Telnet (telnet://access.usask.ca/), login: hytelnet.
Mailing list: listserv@library.berkeley.edu (no subject, body: subscribe hytelnet FirstName LastName).
(1995-10-18)

HyTime
Hypermedia/Time-based Structuring Language: an emerging ANSI/ISO Standard from the SGML Users' Group's Special Interest Group on Hypertext and Multimedia (SIGhyper). A hypermedia extension of SGML.
[ The HyTime Hypermedia/Time-based Document Structuring Language , S. Newcomb et al, CACM 34(11):67-83 (Nov 1991)].

internationalisation

I2O
Intelligent Input/Output

i386
Intel 80386

i486
Intel 486

i487
Intel 487SX

i860
processor A 32/64-bit superscalar RISC microprocessor from Intel, released in 1989. Originally codenamed N10 . It has a 32-bit integer ALU and a 64-bit floating-point unit. It has a 64-bit data bus with an initialisation mode which only uses eight bits of the data bus to allow the use of a small boot ROM. It has a 32-bit wide instruction cache and a separate 64-bit wide data cache. It uses register scoreboarding and register bypassing. The clock rate is 33 MHz with a clock-doubled version available.
(1998-03-28)

IA
Information Appliance

IAB
Internet Architecture Board

IAD
A dynamic analyser from IBM giving information on run-time performance and code use.

IAL
ALGOL 58

IAM
Interactive Algebraic Manipulation. Interactive symbolic mathematics for PDP-10.
[ IAM, A System for Interactive Algebraic Manipulation , C. Christensen et al, Proc Second Symp Symb Alg Manip, ACM Mar 1971].

IANA
Internet Assigned Numbers Authority

IANAL
chat I Am Not A Lawyer (but my legal opinion is...).
(1998-07-28)

IAP
Internet Access Provider

I-APL
A version of APL. (ftp://watserv1.waterloo.edu/languages/apl/).
(1992-07-06)

IAR
Instruction Address Register.
The IBM name for program counter.
(1995-03-21)

IAS
computer The first modern computer. It had main registers, processing circuits, information paths within the central processing unit and used Von Neumann's fetch-execute cycle.
The IAS machine's basic unit of information was a 40 bit word and the memory had 4096 words. A word stored in memory could represent either an instruction or data. Each IAS instruction was twenty bits long, so that two instructions could be stored in each 40-bit memory location. Each instruction consisted of an 8-bit operation code and a 12-bit address that could identify any of 2^12 locations that may be used to store an operand of the instruction.
The CPU consisted of a data processing unit and a program control unit. It contained various processing and control circuits along with a set of high-speed registers for the temporary storage of instructions, memory addresses and data.
The main actions specified by instructions were performed by the arithmetic-logic circuits of the data processing unit. An electronic clock circuit was used to generate the signals needed to synchronise the operation of the different parts of the system.
(1996-11-24)

IAW
inactive window.
Used in talk systems to mean that that person will not be taking part in the conversation for a while. The sadly mispelled alternative, unactive window (UAW) has also been reported.
(1994-12-05)

IBEX
The command language for Honeywell's CP-6 operating system.
(1994-12-06)

IBM
International Business Machines

IBM 1403
printer A printer used with the IBM 360 mainframe, a successor to the 1401.
(1999-01-11)

IBM 1620
computer A computer built by IBM and released in late 1959. The 1620 cost from around $85,000(?) up to hundreds of thousands of dollars(?) according to the configuration. It was billed as a small scientific computer to distinguish it from the business-oriented IBM 1401. It was regarded as inexpensive, and many schools started out with one.
It was either developed for the US Navy to teach computing, or as a replacement for the very successful IBM 650 which did quite well in the low end scientific market. Rumour has it that the Navy called this computer the CADET - Can't Add, Doesn't Even Try.
The ALU used lookup tables to add, subtract and multiply but it could do address increments and the like without the tables. You could change the number base by adjusting the tables, which were input during the boot sequence from Hollerith cards. The divide instruction required additional hardware, as did floating point operations.
The basic machine had 20,000 decimal digits of ferrite core memory arranged as a 100 by 100 array of 12-bit locations, each holding two digits. Each digit was stored as four numeric bits, one flag bit and one parity bit. The numeric bits stored a decimal digit (values above nine were illegal).
Memory was logically divided into fields. On the high-order digit of a field the flag bit indicated the end of the field. On the low-order digit it indicated a negative number. A flag bit on the low order of the address indicated indirect addressing if you had that option installed. A few illegal bit combinations were used to store things like record marks and numeric blanks .
On a subroutine call it stored the return address in the five digits just before the entry point to the routine, so you had to build your own stack to do recursion.
The enclosure was grey, and the core was about four or five inches across. The core memory was kept cool inside a temperature-controlled box. The machine took a few minutes to warm up after power on before you could use it. If it got too hot there was a thermal cut-out switch that would shut it down.
Memory could be expanded up to 100,000 digits in a second cabinet. The cheapest package used paper tape for I/O. You could also get punched cards and later models could be hooked up to a 1311 disk drive (a two-megabyte washing machine), a 1627 plotter, and a 1443 line printer.
Because the 1620 was popular with colleges, IBM ran a clearing house of software for a nominal cost such as Snobol, COBOL, chess games, etc.
The model II, released about three years later, could add and subtract without tables. The clock period decreased from 20 to 10 microseconds, instruction fetch sped up by a few cycles and it added index registers of some sort. Some of the model I's options were standard on the model II, like indirect addressing and the console teletype changed from a model C to a Selectric. Later still, IBM marketed the IBM 1710.
A favorite use was to tune a FM radio to pick up the interference from the lights on the console. With the right delay loops you could generate musical notes. Hackers wrote interpreters that played music from notation like C44 .
1620 consoles were used as props to represent Colossus in the film The Forbin Project , though most of the machines had been scrapped by the time the film was made.
A fully configured 1620 (http://uranus.ee.auth.gr/TMTh/exhibit.htm).
IBM 1620 console picture (http://www.foldoc.org/pub/IBM1620-console.jpg).
[ Basic Programming Concepts and the IBM 1620 Computer , Leeson and Dimitry, Holt, Rinehart and Winston, 1962].
(1997-08-05)

IBM 1710
computer An IBM 1620 with additional features useful for industrial process control: A/D convertors, D/A convertors, general-purpose I/O lines, and interrupts.
[Date?]
(1997-07-20)

IBM 2741
golf ball printer

IBM 3270
hardware A class of terminals made by IBM known as Display Devices , normally used to talk to IBM mainframes. The 3270 attempts to minimise the number of I/O interrupts required by accepting large blocks of data, known as datastreams, in which both text and control (or formatting functions) are interspersed allowing an entire screen to be painted as a single output operation. The concept of formatting in these devices allows the screen to be divided into clusters of contiguous character cells for which numerous attributes (color, highlighting, character set, protection from modification) can be set. Further, using a technique known as 'Read Modified' the changes from any number of formatted fields that have been modified can be read as a single input without transferring any other data, another technique to enhance the terminal throughput of the CPU.
The 3270 had twelve, and later twenty-four, special Programmed Function Keys, or PF keys. When one of these keys was pressed, it would cause the device to generate an I/O interrupt and present a special code identifying which key was pressed. Application program functions such as termination, page-up, page-down or help could be invoked by a single key-push, thereby reducing the load on very busy processors.
A version of the IBM PC called the 3270 PC was released in October 1983. It included 3270 terminal emulation.
tn3270 is modified version of Telnet which acts as a 3270 terminal emulator and can be used to connect to an IBM computer over a network.
See also broken arrow.
(1995-02-07)

IBM 360
computer The generic name for the CPUs and architecture released by IBM in 1964. The 360 was marketed as a general purpose computer with 'all round' functionality - hence 360 (degrees).
Models ranged from the 360/20 to the 360/65 and later the 360/95, with typical memory configurations from 16K to 1024K.
Elements of the architecture, such as the basic instruction set are still in use on IBM mainframes today. Associated operating systems included DOS, OS/MFT and OS/MVT.
The 360 architecture was based on an 8-bit byte, 16 general purpose registers, 24-bit addressing, and a PSW (Program Status Word) including a location counter.
Gene Amdahl, then an IBM employee, is generally acknowledged as the 360's chief architect. He later went on to found Amdahl Corporaton, a manufacture of PCM mainframe equipment.
The 360's predecessors were the smaller IBM 1401 and the large IBM 7090 series.
See also ABEND, ALC, BAL, Big Red Switch, HCF, mode bit, PL360, PL/S.
(1999-01-24)

IBM 3720
hardware A communications controller made by IBM, suitable for use in an IBM S/390. Official service support was withdrawn in 1999 in favour of the IBM 3745.
(http://www.ibm.com/search?q=3720 realm=Networking).
(2000-02-21)

IBM 650
computer A computer, produced ca. 1955 and in use in the late 1950s, with rotating magnetic drum storage and punched card input. Its memory words could store 10-digit decimal numbers and each instruction had two addresses, one for the operand and one for address of the next instruction on the drum.
SOAP was its (optimising) assembler. Languages used on it included BACAIC, BALITAC, BELL, CASE SOAP III, DRUCO I, EASE II, ELI, ESCAPE, FAST, FLAIR, FORTRANSIT, FORTRUNCIBLE, GAT, IPL, Internal Translator, KISS, MITILAC, MYSTIC, OMNICODE, PIT, RELATIVE, RUNCIBLE, SIR, SOAP, Speedcoding, SPIT, SPUR.
[More details?]
(1995-03-30)

IBM 704
computer A large, scientific computer made by IBM and used by the largest commercial, government and educational institutions.
The IBM 704 had 36-bit memory words, 15-bit addresses and instructions with one address. A few index register instructions had the infamous 15-bit decrement field in addition to the 15-bit address.
The 704, and IBM 709 which had the same basic architecture, represented a substantial step forward from the IBM 650's magnetic drum storage as they provided random access at electronic speed to core storage, typically 32k words of 36 bits each.
[Or did the 704 actually come *before* the 650?]
A typical 700 series installation would be in a specially built room of perhaps 1000 to 2000 square feet, with cables running under a raised floor and substantial air conditioning. There might be up to eight magnetic tape transports, each about 3 x 3 x 6 feet, on one or two channels. The 1/2 inch tape had seven tracks and moved at 150 inches per second, giving a read/write speed of 15,000 six bit characters (plus parity) per second.
In the centre would be the operator's console consisting of cabinets and tables for storage of tapes and boxes of cards; and a card reader, a card punch, and a line printer, each perhaps 4 x 4 x 5 feet in dimension. Small jobs could be entered via punched cards at the console, but as a rule the user jobs were transferred from cards to magnetic tape by off-line equipment and only control information was entered at the console (see SPOOL). Before each job, the operating system was loaded from a read-only system tape (because the system in core could have been corrupted by the previous user), and then the user's program, in the form of card images on the input tape, would be run. Program output would be written to another tape (typically on another channel) for printing off-line.
Well run installations would transfer the user's cards to tape, run the job, and print the output tape with a turnaround time of one to four hours.
The processing unit typically occupied a position symmetric but opposite the operator's console. Physically the largest of the units, it included a glass enclosure a few feet in dimension in which could be seen the core about one foot on each side. The 36-bit word could hold two 18-bit addresses called the Contents of the Address Register (CAR) and the Contents of the Decrement Register (CDR).
On the opposite side of the floor from the tape drives and operator's console would be a desk and bookshelves for the ever-present (24 hours a day) field engineer dressed in, you guessed it, a grey flannel suit and tie. The maintenance of the many thousands of vacuum tubes, each with limited lifetime, and the cleaning, lubrication, and adjustment of mechanical equipment, was augmented by a constant flow of bug reports, change orders to both hardware and software, and hand-holding for worried users.
The 704 was oriented toward scientific work and included floating point hardware and the first Fortran implementation. Its hardware was the basis for the requirement in some programming languages that loops must be executed at least once.
The IBM 705 was the business counterpart of the 704. The 705 was a decimal machine with a circular register which could hold several variables (numbers, values) at the same time.
Very few 700 series computers remained in service by 1965, but the IBM 7090, using transistors but similar in logical structure, remained an important machine until the production of the earliest integrated circuits.
[Was the 704 scientific, business or general purpose? Difference between 704 and 709?]
(1996-01-24)

IBM 7040
computer A scaled down version of the IBM 7090.
(1997-02-23)

IBM 705
computer A business-oriented counterpart of the IBM 704. The 705 was a decimal machine with a circular register which could hold several values at the same time.
Languages incuded ACOM, Autocode, ELI, PRINT, PRINT I, SOHIO, SYMBOLIC ASSEMBLY.
(2000-06-01)

IBM 709
computer A computer made by IBM oriented towards scientific work. The 709 had the same basic architecture as the IBM 704 but with many I/O and performance refinements over the 704.
The IBM 709 (like the 704) had 36-bit memory words, 15-bit addresses and instructions with one address. A few index register instructions had the infamous 15-bit decrement field in addition to the 15-bit address.
The IBM 7090 was a transistorised version of the 709.
[Difference between 704 and 709?]
(1999-01-19)

IBM 7090
computer A transistorised version of the IBM 709 which was a very popular high end computer in the early 1960s. The 7090 had 32Kbytes of 36-bit core memory and a hardware floating point unit. Fortran was its most popular language, but it supported many others. It was later upgraded to the IBM 7094, and a scaled down version, the IBM 7040 was also introduced.
IBM 7090s controlled the Mercury and Gemini space flights, the Balistic Missile Early Warning System (until well into the 1980s), and the CTSS time sharing system at MIT.
The 7090 was not good at unit record I/O, so in small configurations an IBM 1401 was used for SPOOL I/O and in large configurations (such as a 7090/94) a 7040/44 would be directly coupled and dedicated to handling printers and card readers. (See the film Dr Strangelove).
(1999-01-19)

IBM 7094
computer A faster version of the IBM 7090 with more index registers.
(1997-02-23)

IBM 801
The original IBM RISC processor, developed as a research project. It was named after the building in which it was designed.
[Features? Dates?]
(1995-03-01)

IBM compatible
computer A computer which can use hardware and software designed for the IBM PC (or, less often, IBM mainframes).
This was once a key phrase in marketing a new PC clone but now in 1998 is rarely used, the non-IBM wintel personal computer manufacturers such as Compaq, Dell and Gateway 2000 and OS vendor Microsoft having taken control of the market, marginalising IBM.
(1998-07-30)

IBM Customer Engineer
job (CE) A hardware guy from IBM.
[Are/were any CEs female?]
(1998-07-08)

IBM discount
A price increase. Outside IBM, this derives from the common perception that IBM products are generally overpriced (see clone); inside, it is said to spring from a belief that large numbers of IBM employees living in an area cause prices to rise.
[Jargon File]
(1995-02-07)

IBM PC
computer International Business Machines Personal Computer.
IBM PCs and compatible models from other vendors are the most widely used computer systems in the world. They are typically single user personal computers, although they have been adapted into multi-user models for special applications.
Note: IBM PC is used in this dictionary to denote IBM and compatible personal computers, and to distinguish these from other personal computers, though the phrase PC is often used elsewhere, by those who know no better, to mean IBM PC or compatible .
There are hundreds of models of IBM compatible computers. They are based on Intel's microprocessors: Intel 8086, Intel 8088, Intel 80286, Intel 80386, Intel 486 or Pentium. The models of IBM's first-generation Personal Computer (PC) series have names: IBM PC, IBM PC XT, IBM PC AT, Convertible and Portable. The models of its second generation, the Personal System/2 (PS/2), are known by model number: Model 25, Model 30. Within each series, the models are also commonly referenced by their CPU clock rate.
All IBM personal computers are software compatible with each other in general, but not every program will work in every machine. Some programs are time sensitive to a particular speed class. Older programs will not take advantage of newer higher-resolution display standards.
The speed of the CPU (microprocessor) is the most significant factor in machine performance. It is determined by its clock rate and the number of bits it can process internally. It is also determined by the number of bits it transfers across its data bus. The second major performance factor is the speed of the hard disk.
CAD and other graphics-intensive application programs can be sped up with the addition of a mathematics coprocessor, a chip which plugs into a special socket available in almost all machines.
Intel 8086 and Intel 8088-based PCs require EMS (expanded memory) boards to work with more than one megabyte of memory. All these machines run under MS-DOS. The original IBM PC AT used an Intel 80286 processor which can access up to 16 megabytes of memory (though standard MS-DOS applications cannot use more than one megabyte without EMS). Intel 80286-based computers running under OS/2 can work with the maximum memory.
Although IBM sells printers for PCs, most printers will work with them. As with display hardware, the software vendor must support a wide variety of printers. Each program must be installed with the appropriate printer driver.
The original 1981 IBM PC's keyboard was severely criticised by typists for its non-standard placement of the return and left shift keys. In 1984, IBM corrected this on its AT keyboard, but shortened the backspace key, making it harder to reach. In 1987, it introduced its Enhanced keyboard, which relocated all the function keys and placed the control key in an awkward location for touch typists. The escape key was relocated to the opposite side of the keyboard. By relocating the function keys, IBM made it impossible for software vendors to use them intelligently. What's easy to reach on one keyboard is difficult on the other, and vice versa. To the touch typist, these deficiencies are maddening.
An IBM PC compatible may have a keyboard which does not recognize every key combination a true IBM PC does, e.g. shifted cursor keys. In addition, the compatible vendors sometimes use proprietary keyboard interfaces, preventing you from replacing the keyboard.
The 1981 PC had 360K floppy disks. In 1984, IBM introduced the 1.2 megabyte floppy disk along with its AT model. Although often used as backup storage, the high density floppy is not often used for interchangeability. In 1986, IBM introduced the 720K 3.5 microfloppy disk on its Convertible laptop computer. It introduced the 1.44 megabyte double density version with the PS/2 line. These disk drives can be added to existing PCs.
Fixed, non-removable, hard disks for IBM compatibles are available with storage capacities from 20 to over 600 megabytes. If a hard disk is added that is not compatible with the existing disk controller, a new controller board must be plugged in. However, one disk's internal standard does not conflict with another, since all programs and data must be copied onto it to begin with. Removable hard disks that hold at least 20 megabytes are also available.
When a new peripheral device, such as a monitor or scanner, is added to an IBM compatible, a corresponding, new controller board must be plugged into an expansion slot (in the bus) in order to electronically control its operation. The PC and XT had eight-bit busses; the AT had a 16-bit bus. 16-bit boards will not fit into 8-bit slots, but 8-bit boards will fit into 16-bit slots. Intel 80286 and Intel 80386 computers provide both 8-bit and 16-bit slots, while the 386s also have proprietary 32-bit memory slots. The bus in high-end models of the PS/2 line is called Micro Channel . EISA is a non-IBM rival to Micro Channel.
The original IBM PC came with BASIC in ROM. Later, Basic and BasicA were distributed on floppy but ran and referenced routines in ROM.
IBM PC and PS/2 models
PC range
Intro CPU Features
PCAug 1981 8088 Floppy disk system
XTMar 1983 8088 Slow hard disk
XT/370Oct 1983 8088 IBM 370 mainframe emulation
3270 PCOct 1983 8088 with 3270 terminal emulation
PCjrNov 1983 8088 Floppy-based home computer
PC PortableFeb 1984 8088 Floppy-based portable
ATAug 1984 286 Medium-speed hard disk
ConvertibleApr 1986 8088 Microfloppy laptop portable
XT 286Sep 1986 286 Slow hard disk
PS/2 range
Intro CPU Features
Model 1987-08-25 8086 PC bus (limited expansion)
Model 1987-04-30 8086 PC bus
Model 30 1988-09-286 286 PC bus
Model 1987-04-50 286 Micro Channel bus
Model 50ZJun 1988 286 Faster Model 50
Model 55 SXMay 1989 386SX Micro Channel bus
Model 1987-04-60 286 Micro Channel bus
Model 1988-06-70 386 Desktop, Micro Channel bus
Model P1989-05-70 386 Portable, Micro Channel bus
Model 1987-04-80 386 Tower, Micro Channel bus
IBM PC compatible specifications
CPU CPU Clock Bus Floppy Hard
bus speed width RAM disk disk OS
bit Mhz bit byte inch byte Mbyte
8088 16 4.8-9.58 1M* 5.25 360K 10-40 DOS
3.5 720K
3.5 1.44M
8086 16 6-12 16 1M* 20-60
286 16 6-25 16 1-8M* 5.25 360K 20-300 DOS
5.25 1.2M OS/2
386 32 16-33 32 1-16M** 3.5 720K Unix
3.5 1.44M 40-600
386SX 32 16-33 16 1-16M** 40-600
*Under DOS, RAM is expanded beyond 1M with EMS memory boards
**Under DOS, RAM is expanded beyond 1M with normal extended memory and a memory management program.
See also BIOS, display standard.
(1995-05-12)

IBM PC AT
computer ( Advanced Technology ) A version of the IBM PC, released in Aug 1984 with an Intel 80286 processor, a 16-bit bus, a medium-speed hard disk and a 1.2 megabyte floppy disk drive. It had a larger case than the PC, which allowed it to accept tall cards .
The AT keyboard corrected the PC's non-standard placement of the return and left shift keys but shortened the backspace key, making it harder to reach.
(1995-03-01)

IBM PCjr
computer (IBM PC Junior) A floppy disk-based home computer with an Intel 8088 CPU and a chiclet keyboard, released in November 1983. The PCjr could be expanded to have two floppy drives and 640 kilobytes of RAM using sidecars. Some even had a mouse and could run drawing programs with popup menus.
(1995-10-06)

IBM PC XT
computer An IBM PC with a (slow) hard disk. The XT was released in March 1983. It had an Intel 8088 CPU. The XT/370, released in October 1983, added IBM 370 mainframe emulation, and the XT 286 followed in September 1986 with an Intel 80286 CPU [Why?].
(1996-05-21)

IBM Systems Engineer
job (SE) A software guy from IBM.
[Are/were any SEs female?]
(1998-07-08)

Ibpag2
Icon-Based Parser Generation System 2
Ibpag2 is a parser generator for Icon by Richard L. Goerwitz goer@midway.uchicago.edu . It does most of what you would expect. Latest version can handle both SLR1 grammars and even GLR grammars (Tomita grammars). Ibpag2 runs under Unix. Version: 1.0 (beta).
Posted to comp.sources.misc.
(1993-07-13)

Iburg
A program by Christopher W. Fraser cwf@research.att.com , David R. Hanson drh@princeton.edu and Todd A. Proebsting todd@cs.arizona.edu that generates a fast tree parser.
Iburg is compatible with Burg. Both programs accept a cost-augmented tree grammar and emit a C program that discovers an optimal parse of trees in the language described by the grammar. They have been used to construct fast optimal instruction selectors for use in code generation. Burg uses BURS. Iburg's matchers do dynamic programming at compile time.
(ftp://ftp.cs.princeton.edu/pub/iburg.tar.Z)
(1993-02-10)

IC
1. hardware integrated circuit.
2. Independent Carrier.
3. Imperial College.
(1997-04-12)

ICAM
Integrated Computer Aided Manufacturing

ICANN
Internet Corporation for Assigned Names and Numbers

I-CASE
Integrated CASE. Another term for an IPSE.

ICBM address
networking, humour (Or missile address ) The form used to register a site with the Usenet mapping project includes a space for longitude and latitude, preferably to seconds-of-arc accuracy. This is actually used for generating geographically-correct maps of Usenet links on a plotter; however, it has become traditional to refer to this as one's ICBM address or missile address , and many people include it in their sig block with that name. (A real missile address would include target altitude.)
[Jargon File]
(1994-12-15)

ICE
1. electronics in-circuit emulator.
2. security, jargon Intrusion Countermeasure Electronics.
(2000-03-18)

icebreaker
security, jargon A program designed for cracking security on a system.
See also: ICE.
[Jargon File]
(2000-03-18)

ICES
Integrated Civil Engineering System. Subsystems include COGO, STRUDL, BRIDGE, LEASE, PROJECT, ROADS and TRANSET. Internal languages include ICETRAN and CDL. An Integrated Computer System for Engineering Problem Solving , D. Roos, Proc SJCC 27(2), AFIPS (Spring 1965). Sammet 1969, pp.615-620.

ICETRAN
An extension of Fortran IV and a component of ICES.
[Sammet 1969, p. 617].

ICI
language An extensible, interpretated language by Tim Long with syntax similar to C. ICI adds high-level garbage-collected associative data structures, exception handling, sets, regular expressions, and dynamic arrays.
Libraries provide additional types and functions to support common needs such as I/O, simple databases, character based screen handling, direct access to system calls, safe pointers, and floating-point.
ICI runs on Microsoft Windows, MS-DOS, Unix, and Linux and in embedded environments.
Home (http://www.zeta.org.au/~atrn/ici/).
(ftp://ftp.research.canon.com.au/pub/misc/ici).
E-mail: Andy Newman andy@research.canon.com.au .
Mailing list: ici@research.canon.com.au.
(1999-12-07)

ICL
company International Computers Limited.

ICMP
Internet Control Message Protocol

ICMP Router Discovery Protocol
protocol (IRDP) A routing protocol used by Microsoft Windows DHCP clients and various Unix flavors.
Vulnerability (http://www.securiteam.com/securitynews/Most_DHCP_clients_are_vulnerable_to_an_IRDP_attack.html).
[Details? Reference?]
(1999-10-31)

I-Comm
tool, World-Wide Web A graphical World-Wide Web browser for IBM PCs with a window system (Windows 95, Windows NT or OS/2). I-Comm does NOT require a SLIP or PPP connection, just a modem. It is available as a shareware program.
Version: 1.15 Beta1.
Home (http://www.talentcom.com/icomm/icomm.htm), mirror (http://www.best.com:80/~icomm/icomm/icomm.htm).
FTP netcom.com (ftp://ftp.netcom.com/pub/ic/icomm/), FTP best.com (ftp://ftp.best.com/pub/icomm/icomm/).
E-Mail: icomm@talentcom.com .
(1996-03-22)

iCOMP
Intel Comparative Microprocessor Performance index

Icon
language A descendant of SNOBOL4 with Pascal-like syntax, produced by Griswold in the 1970's. Icon is a general-purpose language with special features for string scanning. It has dynamic types: records, sets, lists, strings, tables. If has some object oriented features but no modules or exceptions. It has a primitive Unix interface.
The central theme of Icon is the generator: when an expression is evaluated it may be suspended and later resumed, producing a result sequence of values until it fails. Resumption takes place implicitly in two contexts: iteration which is syntactically loop-like ('every-do'), and goal-directed evaluation in which a conditional expression automatically attempts to produce at least one result. Expressions that fail are used in lieu of Booleans. Data backtracking is supported by a reversible assignment. Icon also has co-expressions, which can be explicitly resumed at any time.
Version 8.8 by Ralph Griswold ralph@cs.arizona.edu includes an interpreter, a compiler (for some platforms) and a library (v8.8). Icon has been ported to Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MS-DOS, MVS, OS/2, Unix, VMS, Acorn.
See also Ibpag2.
(ftp://cs.arizona.edu/icon/), MS-DOS FTP (ftp://bellcore.com norman/iconexe.zip).
Usenet newsgroup: news:comp.lang.icon.
E-mail: icon-project@cs.arizona.edu , mengarini@delphi.com .
Mailing list: icon-group@arizona.edu.
[ The Icon Programmming Language , Ralph E. Griswold and Madge T. Griswold, Prentice Hall, seond edition, 1990].
[ The Implementation of the Icon Programmming Language , Ralph E. Griswold and Madge T. Griswold, Princeton University Press 1986].
(1992-08-21)

icon
graphics (From minature religious statues) A small picture intended to represent something (a file, directory, or action) in a graphical user interface. When an icon is clicked on, some action is performed such as opening a directory or aborting a file transfer. Icons are usually stored as bitmap images.
(1995-03-07)

Iconicode
1990-1992. Visual dataflow language, token-based with hierarchical, recursive and iterative constructs. Version: IDF with extensions for image processing.
[ IDF: A Graphical Data Flow Programming Language for Image Processing and Computer Vision , Neil Hunt, Proc IEEE Conf on Systems Man Cybernetics, IEEE, Nov 1990. Available from Iconicon icon@teleos.com ].

ICONIX Software Engineering, Inc.
company Makers of ICONIX PowerTools, software development tools, and the first CD-ROM training course in object-oriented methods. ICONIX started operating in 1984.
Home (http://www.biap.com/iconix/)
Address: 2800 28th Street, Suite 320, Santa Monica, CA 90405, USA. Telephone: +1 (310) 458 0092
(1995-04-30)

IC-Prolog
Clark McCabe, Imperial College 1979. Logic language with coroutining.
[ IC-Prolog Language Features , K.L. Clark klc@doc.ic.ac.uk et al in Logic Programming, K.L. Clark et al eds, pp.253-266, Academic Press 1982].

IC Prolog II
language, prolog Imperial College Prolog. A Prolog with multi-threading, TCP primitives for interprocess communication, mailboxes, and an interface to Parlog.
(ftp://doc.ic.ac.uk/computing/programming/languages).
[ IC Prolog II: A Language for Implementing Multi-Agent Systems , Y. Cosmadopoulos et al, in Tutorial and Workshop on Cooperating Knowledge Based Systems, Keele U 1992].
(1994-11-01)

ICQ
chat 1. Abbreviation for I seek you .
2. A proprietary chat system created by a couple of israeli guys, who later founded mirabilis . ICQ was sold to America On-Line around 1998.
The name ICQ is a play on cq , the radio signal for seeking conversation.
Home (http://www.icq.com/).
[Confirm derivation? TCP? Summary?]
(2000-04-03)

ICSI
International Computer Science Institute at Berkeley, CA.

ICT
1. testing In Circuit Test.
2. education Information and Communication Technology.
(2000-04-04)

ICW
Interactive CourseWare

ICWS
International Core War Society.

Id
Irvine Dataflow

id
networking The country code for Indonesia.
(1999-01-27)

I-D
Internet-Draft

IDAMS
A pictorial retrieval language implemented in APL.
[ Concept of the Diagnostic Image Workstation , D. Meyer-Ebrecht, Proc 2nd Conf on Picture Archiving (PACS II), SPIE 418, pp.180-183 (1983)].

IDE
1. storage Integrated Drive Electronics, see Advanced Technology Attachment.
2. programming, tool integrated development environment.
3. company Interactive Development Environments.
(2002-04-14)

IDEA
1. language Interactive Data Entry/Access.
2. algorithm International Data Encryption Algorithm.
(1996-02-16)

IDEAL
1. Ideal DEductive Applicative Language. A language by Pier Bosco and Elio Giovannetti combining Miranda and Prolog. Function definitions can have a guard condition (introduced by :- ) which is a conjunction of equalities between arbitrary terms, including functions. These guards are solved by normal Prolog resolution and unification. It was originally compiled into C-Prolog but was eventually to be compiled to K-leaf.
2. A numerical constraint language written by Van Wyk of Stanford in 1980 for typesetting graphics in documents. It was inspired partly by Metafont and is distributed as part of Troff.
[ A High-Level Language for Specifying Pictures , C.J. Van Wyk, ACM Trans Graphics 1(2):163-182 (Apr 1982)].
(1994-12-15)

ideal
theory In domain theory, a non-empty, downward closed subset which is also closed under binary least upper bounds. I.e. anything less than an element is also an element and the least upper bound of any two elements is also an element.
(1997-09-26)

Idealized CSP
language A programming language combining simply typed, call-by-name procedures with asynchronous communicating processes, assuming fair parallel execution. Idealized CSP generalises Anthony Hoare's original CSP and Kahn's networks of deterministic processes, and is closely related to Parallel Algol by Stephen Brookes of CMU.
Procedures permit the encapsulation of common protocols and parallel programming idioms. Local variables and local channel declarations provide a way to delimit the scope of interference between parallel agents, and allow a form of concurrent object-oriented programming.
[Was this language also designed by Brookes?]
(1997-09-26)

Idealized Instruction Set
language (IIS) The assembly language for the Flagship parallel machine.
[ An Idealized Instruction Set for a Packet Rewrite Machine , J. Sargeant, Manchester U, 1988].
(1994-11-07)

IDEF
ICAM Definition.

idempotent
1. A function f : D - D is idempotent if
f (f x) = f x for all x in D.
I.e. repeated applications have the same effect as one. This can be extended to functions of more than one argument, e.g. Boolean has x x = x. Any value in the image of an idempotent function is a fixed point of the function.
2. This term can be used to describe C header files, which contain common definitions and declarations to be included by several source files. If a header file is ever included twice during the same compilation (perhaps due to nested #include files), compilation errors can result unless the header file has protected itself against multiple inclusion; a header file so protected is said to be idempotent.
3. The term can also be used to describe an initialisation subroutine that is arranged to perform some critical action exactly once, even if the routine is called several times.
[Jargon File]
(1995-01-11)

IDF
networking Intermediate Distribution Frame.

I didn't change anything!
An aggrieved cry often heard as bugs manifest during a regression test. The canonical reply to this assertion is Then it works just the same as it did before, doesn't it? See also one-line fix. This is also heard from applications programmers trying to blame an obvious applications problem on an unrelated systems software change, for example a divide-by-0 fault after terminals were added to a network. Usually, their statement is found to be false. Upon close questioning, they will admit some major restructuring of the program that shouldn't have broken anything, in their opinion, but which actually hosed the code completely.
[Jargon File]

IDL
1. Interactive Data analysis Language. Xerox. Built on Interlisp-D.
2. Interface Description Language (Snodgrass, UNC, Arizona).
3. Interface Definition Language (SunSoft, OMG).
4. Interactive Data Language (Research Systems).

IDMS
1. language, database A pictorial query language, an extension of Sequel2.
[ A Management System for an Integrated Database of Pictures and Alphanumeric Data , G.Y. Tang, Computer Graphics Image Processing 16:270-286 (1981)].
2. database Integrated Database Management System.
(2002-06-10)

IDMSX
database IDMS extended.
(1995-04-19)

Id Nouveau
A dataflow language by Arvind arvind@lcs.mit.edu and R.S. Nikhil nikhil@crl.dec.com , MIT LCS, ca. 1986.
Id Nouveau began as a functional language, added streams, resource managers and I-structures (mutable arrays). Loops are syntactic sugar for tail recursion.
See also Id.
[ Id Nouveau Reference Manual , R.S. Nikhil, CS TR, MIT, March 1988].
[ Id (Version 90.1) Reference Manual , R.S. Nikhil, CSG Memo 284-2, LCS MIT, July 15, 1991].

IDOL
Icon-Derived Object Language. An object-oriented preprocessor for Icon.
(ftp://src.doc.ic.ac.uk/pub/languages/icon/idol.tar.Z)
[ Programming in Idol: An Object Primer , C.L. Jeffery, U Arizona CS TR #90-10].

IDS/I
Integrated Data Store. AN extension to COBOL involving chains (circular lists), for General Electric computers.
[ A General Purpose Programming System for Random Access Memories , C.W. Bachman et al, Proc FJCC 26(1), AFIPS (Fall 1964)].
[Sammet 1969, p. 376].

id Software
games Creators and publishers of the DOOM game for IBM PCs.
E-mail: help@idsoftware.com . Telephone: +1 800-ID-GAMES (Orders only).

IDSS
Intelligent Decision Support Systems

IE
Internet Explorer

ie
networking The country code for Ireland.
(1999-01-27)

IEC
International Electrotechnical Commission

IEC 559
IEEE Floating Point Standard

IEEE
Institute of Electrical and Electronics Engineers

IEEE 1076
The IEEE standard for VHDL.

IEEE 1394
High Performance Serial Bus

IEEE 488
hardware, standard (GPIB, General-Purpose Interface Bus, HP-IB, Hewlett-Packard Interface Bus) An 8-bit parallel bus common on test equipment.
The IEEE-488 standard was proposed by Hewlett-Packard in the late 1970s and has undergone a couple of revisions. HP documentation (including data sheets and manuals) calls it HP-IB, or Hewlett-Packard Interface Bus.
It allows up to 15 intelligent devices to share a single bus, with the slowest device participating in the control and data transfer handshakes to drive the speed of the transaction. The maximum data rate is about one megabit per second.
Other standards committees have adopted HP-IB (American Standards Institute with ANSI Standard MC 1.1 and International Electro-technical Commission with IEC Publication 625-1).
To paraphrase from the HP 1989 Test Measurement Catalog (the 50th Anniversary version): The HP-IB has a party-line structure wherein all devices on the bus are connected in parallel. The 16 signal lines within the passive interconnecting HP-IB (IEEE-488) cable are grouped into three clusters according to their functions (Data Bus, Data Byte Transfer Control Bus, General Interface Management Bus).
In June 1987 the IEEE approved a new standard for programmable instruments called IEEE Std. 488.2-1987 Codes, Formats, Protocols, and Common Commands. It works with the IEEE Standard Digital Interface for Programmable Instrumentation, IEEE 488-1978 (now 488.1). HP-IB is Hewlett-Packard's implementation of IEEE 488.1.
(1996-05-10)

IEEE 754
IEEE Floating Point Standard

IEEE 802
networking, standard The IEEE standards for local area networks. The spanning tree algorithm is defined in IEEE 802.1 (under consideration), Logical Link Control (LLC, the upper portion of the data link layer) in IEEE 802.2, Ethernet in IEEE 802.3, Token Bus in IEEE 802.4 and IBM Token Ring in IEEE 802.5.
The equivalent ISO standard is IS 8802.
(1995-02-15)

IEEE 802.2
(Networks) The IEEE standard defining Logical Link Control (LLC, the upper portion of the data link layer) for local area networks.
(1995-02-14)

IEEE 802.3
The IEEE standard defining the hardware layer and transport layer of (a varient of) Ethernet. The maximum segment length is 500m and the maximum total length is 2.5km. The maximum number of hosts is 1024.
The maximum packet size is 1518 bytes. If the upper layer protocol submits a PDU less than 64 bytes, 802.3 will pad the LLC Info field to achieve the minimum 64 bytes.
Although it is not technically correct, the terms packet and frame are used interchangeably. The ISO/IEC 8802-3 ANSI/IEEE 802.3 Standards refer to MAC sub-layer frames consisting of the Destination Address, Source Address, Length, LLC Info., and FCS fields. The Preamble and SFD are (usually) considered a header to the MAC Frame. This header plus the MAC Frame constitute a Packet .
(1995-07-09)

IEEE 802.3u
networking, standard The IEEE committee working on standards for Fast Ethernet.
(1998-06-30)

IEEE 802.3z
networking, standard The IEEE committee working on standards for Gigabit Ethernet.
(1998-06-30)

IEEE 802.4
networking, standard The IEEE Token Bus standard.
(1996-12-12)

IEEE 802.5
The IEEE token ring standard. The most common type of token ring.
(1994-10-27)

IEEE Computer Society
body The society of the IEEE which publishes the journal Computer .
Home (http://www.computer.org/)
(1995-03-10)

IEEE Floating Point Standard
standard, mathematics (IEEE 754) IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) or IEC 559: Binary floating-point arithmetic for microprocessor systems . A standard, used by many CPUs and FPUs, which defines formats for representing floating-point numbers; representations of special values (e.g. infinity, very small values, NaN); five exceptions, when they occur, and what happens when they do occur; four rounding modes; and a set of floating-point operations that will work identically on any conforming system.
IEEE 754 specifies four formats for representing floating-point values: single-precision (32-bit), double-precision (64-bit), single-extended precision (80-bit?) and double-extended precision (128-bit). Only 32-bit values are required by the standard, the others are optional though 64-bit is required by standard C.
[On-line document?]
(1997-12-19)

IEEE Standard 1149.1
Joint Test Action Group

IEF
Information Engineering Facility

IEN
Internet Experiment Note

IEPG
Internet Engineering and Planning Group

IESG
Internet Engineering Steering Group

IETF
Internet Engineering Task Force

IF1
language A graph language used as an intermediate language for dataflow hardware. Used by the OSC SISAL compiler.
[ The Manchester Prototype Dataflow Computer , J.R. Gurd et al, CACM 28(1):34-52, Jan 1985].
(1996-01-05)

IF2
language S graph language used by the OSC SISAL compiler, a superset of IF1.
[ IF2: An Applicative Language Intermediate Form with Explicit Memory Management , M. L. Welcome et al, UC-LLNL, Nov 1986].
(1996-01-05)

IFAC
International Federation of Automatic Control, involved in informatics related to control systems.

ifdef out
/if'def owt/ v. Synonym for condition out, specific to C.
[Jargon File]

IFDL
language Independent Form Description Language.
DEC's language for describing form-based human interfaces in DECforms.
(1995-04-21)

IFF
1. file format Interchange File Format.
2. Identify friend or foe (radar).

IFIP
1. International Federation for Information Processing.
2. A subset of ALGOL.
[Sammet 1969, p. 180].

IFP
Illinois FP. An interpreter written in portable C by Arch D. Robinson for a variant of Backus' FP with syntax like ALGOL or Modula-2. IFP Runs under Unix, CTSS (Cray) and MS-DOS. Version 0.5.
(ftp://a.cs.uiuc.edu/pub/ifp). Posted to comp.sources.unix volume 10.
[ The Illinois Functional Programming Interpreter , A.D. Robison, Proc 1987 SIGPLAN Conf on Interpreters and Interpretive Techniques (June 1987), pp. 64-73].
[ Illinois Functional Programming: A Tutorial , A.D. Robison, BYTE Feb 1987, pp. 115-125].
(1994-10-24)

IFS
1. operating system internal field separators.
2. operating system Installable File System.
3. graphics Iterated Function System.
(1999-04-07)

IFX
[ Type Reconstruction with First-Class Polymorphic Values , J. O'Toole et al, SIGPLAN Notices 24(7):207-217 (Jul 1989)].

If you want X, you know where to find it.
exclamation There is a legend that Dennis Ritchie, inventor of C, once responded to demands for features resembling those of what at the time was a much more popular language by observing If you want PL/I, you know where to find it. Ever since, this has been hackish standard form for fending off requests to alter a new design to mimic some older (and, by implication, inferior and baroque) one. The case X = Pascal manifests semi-regularly on Usenet's news:comp.lang.c newsgroup. Indeed, the case X = X has been reported in discussions of graphics software (see X Window System).
[Jargon File]
(1995-10-25)

IGC
Institute for Global Communications

IGES
Initial Graphics Exchange Specification: an ASME/ANSI standard for the exchange of CAD data.

IGL
Interactive Graphic Language. Used primarily by Physics Dept at Brooklyn Poly, uses numerical methods on vectors to approximate continuous function problems that don't have closed form solutions.
[Is this being confused with Tektronix's graphics library by the same name?]

IGMP
Internet Group Management Protocol

IGP
Interior Gateway Protocol

IGPL
Interest Group in Pure and Applied Logics

IGU
chat I Give Up. Often found appended to documents, e-mail, programs that don't work, etc.
(1999-09-30)

IHS
Integrated Home System

IHV
Independent Hardware Vendor

IIcx
Apple IIcx

IIDMS/R
Integrated database management system

IIL
Integrated Injection Logic

IINREN
Interagency Interim National Research and Education Network

IIOP
Internet Inter-ORB Protocol

IIR
Infinite Impulse Response

IIRC
chat If I recall/remember correctly.
(1996-11-28)

IIS
1. World-Wide Web Internet Information Server.
2. language Idealized Instruction Set.
(1999-08-26)

IIT
Integrated Information Technology

IITF
Information Infrastructure Task Force

IITRAN
Simple PL/I-like language for students, on IBM 360.
[ The IITRAN Programming Language , R. Dewar et al, CACM 12(10):569-575 (Oct 1969)].

il
networking The country code for Israel.
(1999-01-27)

ILBM
interleaved bit-map

ILF
Independent Logical File

ILIAD
language, real-time A real-time language.
[ On the Design of a Language for Programming Real-Time Concurrent Processes , H.A. Schutz, IEEE Trans Soft Eng SE-5(3):248-255, May 1979].
(2000-09-03)

I-Link
bus, standard Sony's name for High Performance Serial Bus.
(2000-09-03)

ILISP
A somewhat LISP Machine-like interface to lisp listeners from Emacs.
Version 5.0 Emacs interface by ? Ivan Vazquez ivan@haldane.bu.edu .
(ftp://haldane.bu.edu/) (128.197.54.25). E-mail: ilisp-bug@darwin.bu.edu , ilisp-bugs@darwin.bu.edu , ilisp-request@darwin.bu.edu (discussion).
(1993-06-28)

ill-behaved
1. [numerical analysis] Said of an algorithm or computational method that tends to blow up because of accumulated roundoff error or poor convergence properties.
2. Software that bypasses the defined operating system interfaces to do things (like screen, keyboard, and disk I/O) itself, often in a way that depends on the hardware of the machine it is running on or which is nonportable or incompatible with other pieces of software.
In the IBM PC/mess-dos world, there is a folk theorem (nearly true) to the effect that (owing to gross inadequacies and performance penalties in the OS interface) all interesting applications are ill-behaved.
See also bare metal. Opposite: well-behaved, compare PC-ism.
[Jargon File]

ILLIAC
Assembly language for the ILLIAC computer. Listed in CACM 2(5):16, (May 1959) p.16.

Illiac IV
computer One of the most infamous supercomputers ever. It used early ideas on SIMD (single instruction stream, multiple data streams). The project started in 1965, it used 64 processors and a 13MHz clock. In 1976 it ran its first sucessfull application. It had 1MB memory (64x16KB).
Its actual performance was 15 MFLOPS, it was estimated in initial predictions to be 1000 MFLOPS. It totally failed as a computer, only a quarter of the fully planned machine was ever built, costs escalated from the $8 million estimated in 1966 to $31 million by 1972, and the computer took three more years of enginering before it was operational.
The only good it did was to push research forward a bit, leading way for machines such as the Thinking Machines CM-1 and CM-2.
(1995-04-28)

ILOC
Rice U. Register-oriented intermediate language targeted to PC/RT. Source languages include Fortran and Russell.

Ilog Solver
A commercial constraint programming system.
(1994-11-15)

image
1. data, graphics Data representing a two-dimensional scene. A digital image is composed of pixels arranged in a rectangular array with a certain height and width. Each pixel may consist of one or more bits of information, representing the brightness of the image at that point and possibly including colour information encoded as RGB triples.
Images are usually taken from the real world via a digital camera, frame grabber, or scanner; or they may be generated by computer, e.g. by ray tracing software.
See also image formats, image processing.
(1994-10-21)
2. mathematics The image (or range) of a function is the set of values obtained by applying the function to all elements of its domain. So, if f : D - C then the set f(D) = f(d) | d in D is the image of D under f. The image is a subset of C, the codomain.
(2000-01-19)

image formats
graphics, file format There are many formats used to store images in files. GIF, TIFF and JPEG are very common. Others are BIFF, bmp, Clear, FITS, IFF, NFF, OFF, PCX, PNG, TGA, XBM.
Some of these are documented on-line at the following sites:
The Graphics File Format Page (http://www.dcs.ed.ac.uk/~mxr/gfx/). The NCSA file formats archive (ftp://ftp.ncsa.uiuc.edu/misc/file.formats/graphics.formats). The Avalon repository (ftp://avalon.viewpoint.com/pub/format_specs).
[Others?]
(1997-08-07)

image map
World-Wide Web An image in an HTML document with hot spots which when clicked on in a suitable browser, act as anchors or links to other information. For example, an image of a map of the world might provide links to resources related to different countries. Clicking on a country would take the user to the relevant information.
[Documentation URL?]
(1995-12-05)

image processing
graphics Computer manipulation of images. Some of the many algorithms used in image processing include convolution (on which many others are based), FFT, DCT, thinning (or skeletonisation), edge detection and contrast enhancement. These are usually implemented in software but may also use special purpose hardware for speed.
Image processing contrasts with computer graphics, which is usually more concerned with the generation of artificial images, and visualisation, which attempts to understand (real-world) data by displaying it as an artificial image (e.g. a graph). Image processing is used in image recognition and computer vision.
Silicon Graphics manufacture workstations which are often used for image processing. There are a few programming languages designed for image processing, e.g. CELIP, VPL.
See also Pilot European Image Processing Archive.
Usenet newsgroup: news:sci.image.processing.
[Other algorithms, languages? FAQ?]
(1995-04-12)

image recognition
graphics, artificial intelligence The identification of objects in an image. This process would probably start with image processing techniques such as noise removal, followed by (low-level) feature extraction to locate lines, regions and possibly areas with certain textures.
The clever bit is to interpret collections of these shapes as single objects, e.g. cars on a road, boxes on a conveyor belt or cancerous cells on a microscope slide. One reason this is an AI problem is that an object can appear very different when viewed from different angles or under different lighting. Another problem is deciding what features belong to what object and which are background or shadows etc. The human visual system performs these tasks mostly unconsciously but a computer requires skillful programming and lots of processing power to approach human performance.
(1997-07-20)

imaging
graphics The production of graphic images, either from a video camera or from digitally generated data (see visualisation), or the recording of such images on microfilm, videotape or laser disk.
See also scanner.
(1997-07-20)

Imago Europe plc
A UK Internet provider. There sevice is called Imago On-line. E-mail: info@imago.com .

Imago On-line
An Internet electronic mail and news service in the United Kingdom provided by Imago Europe plc.
A one year subscription to the service costs just seventy five pounds plus VAT and offers dial-up access with a graphical user interface for users of Macintosh and Microsoft Windows PCs and the Apple Newton MessagePad PDA family.

imake
A tool which generates Makefiles from a template, a set of cpp macros, and a per-directory input file called an Imakefile. This allows machine dependencies (such has compiler options, alternate command names, and special make rules) to be kept separate from the descriptions of the various items to be built.
imake is distributed with, and used extensively by, the X Window System.
(1995-02-21)

IMAO
IMHO

IMAP
Internet Message Access Protocol

imc
language A REXX interpreter for SunOS.
Current version 1.3 [?].
(ftp://rexx.uwaterloo.ca/pub/freerexx/imc/)
(2000-11-07)

IMD
intermodulation distortion

IMHO
chat (From SF fandom via Usenet) In My Humble Opinion. Also seen in variant forms such as IMO, IMNSHO (In My Not-So-Humble Opinion) and IMAO (In My Arrogant Opinion).
[Jargon File]
(1998-09-24)

IML
Initial Microprogram Load

immediate version
child version

Imminent Death Of The Net Predicted!
messaging Since Usenet first got off the ground in 1980-81, it has grown exponentially, approximately doubling in size every year. On the other hand, most people feel the signal-to-noise ratio of Usenet has dropped steadily. These trends led, as far back as mid-1983, to predictions of the imminent collapse (or death) of the net. Ten years and numerous doublings later, enough of these gloomy prognostications have been confounded that the phrase Imminent Death Of The Net Predicted! has become a running joke, hauled out any time someone grumbles about the S/N ratio or the huge and steadily increasing volume, or the possible loss of a key node or link, or the potential for lawsuits when ignoramuses post copyrighted material etc.
[Jargon File]
(1998-09-24)

IMNSHO
IMHO

IMO
IMHO

IMP
1. language IMProved Mercury autocode.
2. language An extensible dialect of ALGOL 60, for CDC 1604.
[ Experience with an Extensible Language , Edgar T. Irons, CACM 13(1):31-39, Jan 1970].
3. language Interpretive Menu Processor.
4. language IMPlementation language.
5. networking Interface Message Processor.
(1996-04-07)

impact printer
printer The earlier, noisier kind of printer where part of the mechanism comes into contact with the paper. The term would only be only used in contrast to non-impact printer . Examples include line printer, daisy wheel printer, golf ball printer, dot matrix printer, Braille printer.
(1998-10-13)

imperative language
procedural language

Imperial Software Technology
company A software engineering company which emerged from Imperial College in about 1982. It enjoys a world-wide reputation for technical excellence as a software product and technology provider in the Open Systems market. Its flagship product is X-Designer, the award-winning graphical user interface builder. It also has considerable expertise in the Z language and Formal Methods.
Home (http://www.ist.co.uk/)
(1995-11-23)

IMPlementation language
language (IMP) An extension of B with floating-point operations, developed by W. Davidsen at General Electric in 1970 for the GE 600. It was also cross-compiled to VAX and Intel 8080.
(1996-04-07)

implicit parallelism
parallel A feature of a programming language for a parallel processing system which decides automatically which parts to run in parallel.
The best way of providing implicit parallelism is still (1995) an active research topic. The problem is to generate the right number of parallel tasks of the right size (or granularity ). Too many tasks and the system gets bogged down in house-keeping, or memory for waiting tasks runs out, too few tasks and processors are left idle.
The best performance is usually achieved with explicit parallelism where the the programmer can annotate his program to indicate which parts should be executed as independent parallel tasks.
(1995-02-16)

implicit type conversion
programming (Or coercion ) The abilty of some compilers to automatically insert type conversion functions where an expression of one type is used in a context where another type is expected.
A common example is coercion of integers to reals so that an expression like sin(1) is compiled as sin(integerToReal(1)) where sin is of type Real - Real.
A coercion is usually performed automatically by the compiler whereas a cast is an explicit type conversion inserted by the programmer.
See also subtype.
(1997-07-28)

implies
logic (= or a thin right arrow) A binary Boolean function and logical connective. A = B is true unless A is true and B is false. The truth table is
A B | A = B ----+------- F F | T F T | T T F | F T T | T
It is surprising at first that A = B is always true if A is false, but if X = Y then we would expect that (X Z) = Y for any Z.
(1995-09-30)

imprecise probability
probability A probability that is represented as an interval (as opposed to a single number) included in [0,1].
(2001-02-21)

IMProved Mercury autocode
language (IMP) A version of Autocode used to program the Edinburgh Multi Access System (EMAS), one of the first operating systems written in a high-level language, apparently predating Unix.
Luis Damas' Prolog interpreter in IMP for EMAS led to C-Prolog.
[Papers in J. British Computer Society].
(1996-04-07)

IMR
Internet Monthly Report

IMS
Information Management System

IMS 6100
Intersil 6100

Imsai
company One of the companies that made very early microprocessor systems.
[Where? When? Who? What?]
(1995-05-12)

IMS/Data Base
database (IMS/DB) A hierarchical high performance database for IBM mainframes, part of IMS. IMS/DB is implemented on top of VSAM and uses its underlying data structures.
(1999-01-11)

IMS/Data Communications
database (IMS/DC) The teleprocessing monitor/transaction processing sytem in IMS from IBM.
(1999-01-11)

IMSE
Integrated Modelling Support Environment

IMTC
International Multimedia Teleconferencing Consortium

in
networking The country code for India.
(1999-01-27)

Ina Jo
specification, language [FDM?]
[ The Ina Jo Specification Language Reference Manual , J. Scheid et al, TR TM-(L)-6021/001/00, SDC Mar 1985].
(2000-02-24)

InARP
Inverse Address Resolution Protocol

in-band
communications (bit-robbing) The exchange of call control information on the same channel as the telephone call or data transmission. Since one bit in a frame is periodically used for signalling instead of data, this is often referred to as bit robbing.
This is the reason why a D1 channel in the T-carrier system can only carry 56 Kbps of usable data instead of the 64 Kbps carried by the D0 channel in the E-carrier system.
(2000-03-10)

inc
/ink/ increment, i.e. increase by one. Especially used by assembly programmers, as many assembly languages have an inc mnemonic.
Antonym: dec.
[Jargon File]

incantation
Any particularly arbitrary or obscure command that one must mutter at a system to attain a desired result. Not used of passwords or other explicit security features. Especially used of tricks that are so poorly documented that they must be learned from a wizard. This compiler normally locates initialised data in the data segment, but if you mutter the right incantation they will be forced into text space.

include
[Usenet] 1. To duplicate a portion (or whole) of another's message (typically with attribution to the source) in a reply or followup, for clarifying the context of one's response. See the discussion of inclusion styles under Hacker Writing Style .
2. [C] #include disclaimer.h has appeared in sig blocks to refer to a notional standard disclaimer file .
[Jargon File]

include war
Excessive multi-leveled including within a discussion thread, a practice that tends to annoy readers. In a forum with high-traffic newsgroups, such as Usenet, this can lead to flames and the urge to start a kill file.

inclusive
theory In domain theory, a predicate P : D - Bool is inclusive iff
For any chain C, a subset of D, and for all c in C, P(c) = P(lub C)
In other words, if the predicate holds for all elements of an increasing sequence then it holds for their least upper bound.
( lub is written in LaTeX as sqcup).
(1995-02-03)

incomparable
mathematics Two elements a, b of a set are incomparable under some relation = if neither a = b, nor b = a.
(1995-09-21)

incremental analysis
testing Partial analysis of an incomplete product to allow early feedback on its development.
(1996-05-22)

incremental backup
A copy of all files which have changed since the date of some previous backup. The first backup of a file system should include all files. Call this level 0. The next backup could also be a full level 0 backup but it is usually much quicker to do a level 1 backup which will include only those files which have changed since the level 0 backup. Together the level 0 and level 1 backups will include the latest version of every file. Level 1 backups can be made until, say, the backup tape is nearly full, after which we can switch to level 2. Each level includes those files which have changed since the last backup at a lower level. The more levels you use, the longer it will take to restore the latest version of a file (or all files) if you don't know when it was last modified.

incremental constraint solver
A system in which a constraint solver is given constraints one at a time by an inference engine (as is found in Prolog). The solver adds the new constraint to an initially empty set of solved constraints. If the new constraint is consistent with the solved constraints it will be added to the set. If it was inconsistent, the inference engine backtracks. This is the basis of Constraint Logic Programming.
(1994-11-01)

Incremental Prototyping Technology for Embedded Realtime Systems
project An Esprit project.
[Partners? Results?]
(1998-11-27)

[incr Tcl]
language An extension of Tcl that adds classes and inheritence.
The name is a pun on C++ - an object-oriented extension of C - [incr variable] is the Tcl syntax for adding one to a variable.
[Origin? Availability?]
(1998-11-27)

indent style
programming The rules one uses to indent code in a readable fashion. There are four major C indent styles, described below; all have the aim of making it easier for the reader to visually track the scope of control constructs. The significant variable is the placement of and with respect to the statement(s) they enclose and to the guard or controlling statement ( if , else , for , while , or do ) on the block, if any.
K R style - Named after Kernighan Ritchie, because the examples in K R are formatted this way. Also called kernel style because the Unix kernel is written in it, and the One True Brace Style (abbreviation 1TBS) by its partisans. The basic indent shown here is eight spaces (or one tab) per level; four spaces are occasionally seen, but are much less common.
if (cond) body

Allman style - named after Eric Allman, a Berkeley hacker who wrote a lot of the BSD utilities in it (it is sometimes called BSD style ). Resembles normal indent style in Pascal and ALGOL. Basic indent per level shown here is eight spaces, but four spaces are just as common (especially in C++ code).
if (cond)
body

Whitesmiths style - popularised by the examples that came with Whitesmiths C, an early commercial C compiler. Basic indent per level shown here is eight spaces, but four spaces are occasionally seen.
if (cond) body
GNU style - Used throughout GNU Emacs and the Free Software Foundation code, and just about nowhere else. Indents are always four spaces per level, with and halfway between the outer and inner indent levels.
if (cond)

body

Surveys have shown the Allman and Whitesmiths styles to be the most common, with about equal shares. K R/1TBS used to be nearly universal, but is now much less common. The opening brace tends to get lost against the right parenthesis of the guard part in an if or while , which is a Bad Thing. Defenders of 1TBS argue that any putative gain in readability is less important than their style's relative economy with vertical space, which enables one to see more code on one's screen at once. Doubtless these issues will continue to be the subject of holy wars.
[Jargon File]
(1995-07-24)

Independent Logical File
database (ILF) One kind of dynamic database management system.
Examples of ILF databases are INQUIRE, ADABAS, NOMAD, FOCUS and DATACOM.
[More details?]
(1998-10-07)

Independent Verification and Validation
testing (IV V) The verification and validation of a software product by an organisation that is both technically and managerially separate from the organisation responsible for developing the product.
(1996-12-27)

index
(Plural indices or indexes )
1. programming A number used to select an element of a list, vector, array or other sequence. Such indices are nearly always non-negative integers but see associative array.
2. database See inverted index. [Other kinds?]
3. World-Wide Web A search engine.
4. World-Wide Web A subject index.
4. jargon See coefficient of X.
[Jargon File]
(1997-04-09)

Index Data
company A Danish company who have released a lot of ANSI Z39.50 related source under GPL.
Home (http://130.228.5.168).
(1996-07-22)

Indexed Sequential Access Method
(ISAM) A file access method supporting both sequential and indexed access.
[Details? Origin?]
(1995-03-28)

indices
spelling A plural of index .

indirect address
processor An addressing mode found in many processors' instruction sets where the instruction contains the address of a memory location which contains the address of the operand (the effective address ) or specifies a register which contains the effective address. In the first case (indirection via memory), accessing the operand requires two memory accesses - one to fetch the effective address and another to read or write the actual operand. Register indirect addressing requires only one memory access.
An indirect address may be indicated in assembly language by an operand in parentheses, e.g. in Motorola 68000 assembly
MOV D0,(A0)
writes the contents of register D0 to the location pointed to by the address in register A0.
Indirect addressing is often combined with pre- or post- increment or decrement addressing, allowing the address of the operand to be increased or decreased by one (or some specified number) either before or after using it.
(1994-11-07)

indirect addressing
indirect address

indirection
programming Manipulating data via its address. Indirection is a powerful and general programming technique. It can be used for example to process data stored in a sequence of consecutive memory locations by maintaining a pointer to the current item and incrementing it to point to the next item.
Indirection is supported at the machine language level by indirect addressing. Many processor and operating system architectures use vectors which are also an instance of indirection, being locations which hold the address of a routine to handle a particular event. The event handler can be changed simply by pointing the vector at a new piece of code.
C includes operators which returns the address of a variable and its inverse * which returns the variable at a given address.
(1997-02-06)

induction
logic A method of proving statements about well-ordered sets. If S is a well-ordered set with ordering , and we want to show that a property P holds for every element of S, it is sufficient to show that, for all s in S,
IF for all t in S, t s = P(t) THEN P(s)
I.e. if P holds for anything less than s then it holds for s. In this case we say P is proved by induction.
The most common instance of proof by induction is induction over the natural numbers where we prove that some property holds for n=0 and that if it holds for n, it holds for n+1.
(In fact it is sufficient for to be a well-founded partial order on S, not necessarily a well-ordering of S.)
(1999-12-09)

inductive inference
grammatical inference

inductive relation
A relation R between domains D and E is inductive if for all chains d1 .. dn in D and e1 .. en in E,
For all i, di R ei = lub(d) R lub(e)

Industrial Programming, Inc.
company The company which developed MTOS.
Home (http://www.ipi.com).
E-mail: info@ipi.com .
Telephone: +1 (516) 938 6600. Address: 100 Jericho Quadrangle, Jericho, NY 11753, USA.
(1997-07-23)

Industrial Robot Language
language, robotics (IRL) A high-level language for programming industrial robots.
[ IRL, Industrial Robot Language , DIN 66312, Beuth-Verlag 1992].
(1996-11-28)

Industry Standard Architecture
architecture, standard (ISA) A bus standard for IBM compatibles that extends the XT bus architecture to 16 bits. It also allows for bus mastering although only the first 16 MB of main memory is available for direct access. In reference to the XT bus architecture it is sometimes referred to as AT bus architecture .
Compare EISA, MCA.
(1996-06-25)

inetd
networking, tool Berkeley daemon program that listens for connection requests or messages for certain ports and starts server programs to perform the services associated with those ports. Sometimes known as netd.
Unix manual page: inetd(8).
(1995-03-20)

inews
messaging, application A Unix program for posting Usenet news articles, written by Rich $alz rsalz@uunet.uu.net for InterNetNews. inews reads an article (perhaps with headers) from a file or standard, adds some headers and possibly a signature, and, if the article passes some consistency checks (too much quoting, non-existent newsgroup) then inews sends the article to the local news server for distribution.
If an unapproved posting is made to a moderated newsgroup, inews will try to send the article to the moderator (specified in a configuration file) by electronic mail.
Version: 1.25, dated 1993/03/18.
Unix manual page: inews(1).
(1996-02-27)

infant mortality
hardware It is common lore among hackers (and in the electronics industry at large) that the chances of sudden hardware failure drop off exponentially with a machine's time since first use (that is, until the relatively distant time at which enough mechanical wear in I/O devices and thermal-cycling stress in components has accumulated for the machine to start going senile). Up to half of all chip and wire failures happen within a new system's first few weeks; such failures are often referred to as infant mortality problems (or, occasionally, as sudden infant death syndrome ).
See bathtub curve, burn-in period.
[Jargon File]
(1995-03-20)

infeasible path
dead code

inference
logic The logical process by which new facts are derived from known facts by the application of inference rules.
See also symbolic inference, type inference.
(1995-03-20)

inference engine
A program that infers new facts from known facts using inference rules. Commonly found as part of a Prolog interpreter, expert system or knowledge based system.
(1994-11-01)

inference rule
A procedure which combines known facts to produce ( infer ) new facts. For example, given that
1. Socrates is a man and that 2. all men are motal,
we can infer that Socrates is mortal. This uses the rule known as modus ponens which can be written in Boolean algebra as
(A A = B) = B
(if proposition A is true, and A implies B, then B is true).
Or given that,
1. Either Denis is programming or Denis is sad and 2. Denis is not sad,
we can infer that Denis is programming. This rule can be written
((A OR B) not B) = A
(If either A is true or B is true (or both), and B is false, then A must be true).
(1994-10-31)

infimum
greatest lower bound

infinite
mathematics 1. Bigger than any natural number. There are various formal set definitions in set theory: a set X is infinite if
(i) There is a bijection between X and a proper subset of X.
(ii) There is an injection from the set N of natural numbers to X.
(iii) There is an injection from each natural number n to X.
These definitions are not necessarily equivalent unless we accept the Axiom of Choice.
2. The length of a line extended indefinitely.
See also infinite loop, infinite set.
[Jargon File]
(1995-03-29)

Infinite Impulse Response
electronics, DSP A type of digital signal filter, in which every sample of output is the weighted sum of past and current samples of input, using all past samples, but the weights of past samples are an inverse function of the sample age, approaching zero for old samples.
(2001-06-06)

infinite loop
programming (Or endless loop ) Where a piece of program is executed repeatedly with no hope of stopping. This is nearly always because of a bug, e.g. if the condition for exiting the loop is wrong, though it may be intentional if the program is controlling an embedded system which is supposed to run continuously until it is turned off. The programmer may also intend the program to run until interrupted by the user. An endless loop may also be used as a last-resort error handler when no other action is appropriate. This is used in some operating system kernels following a panic.
A program executing an infinite loop is said to spin or buzz forever and goes catatonic. The program is wound around the axle .
A standard joke has been made about each generation's exemplar of the ultra-fast machine: The Cray-3 is so fast it can execute an infinite loop in under 2 seconds!
See also black hole, recursion, infinite loop.
[Jargon File]
(1996-05-11)

Infinite Monkey Theorem
humour If you put an infinite number of monkeys at typewriters, eventually one will bash out the script for Hamlet. (One may also hypothesise a small number of monkeys and a very long period of time.) This theorem asserts nothing about the intelligence of the one random monkey that eventually comes up with the script (and note that the mob will also type out all the possible *incorrect* versions of Hamlet). It may be referred to semi-seriously when justifying a brute force method; the implication is that, with enough resources thrown at it, any technical challenge becomes a one-banana problem.
This theorem was first popularised by the astronomer Sir Arthur Eddington. It became part of the idiom through the classic short story Inflexible Logic by Russell Maloney, and many younger hackers know it through a reference in Douglas Adams's Hitchhiker's Guide to the Galaxy .
See also: RFC 2795.
[Jargon File]
(2002-04-07)

infinite set
mathematics A set with an infinite number of elements. There are several possible definitions, e.g.
(i) ( Dedekind infinite ) A set X is infinite if there exists a bijection (one-to-one mapping) between X and some proper subset of X.
(ii) A set X is infinite if there exists an injection from N (the set of natural numbers) to X.
In the presence of the Axiom of Choice all such definitions are equivalent.
(1995-03-27)

infinity
1. mathematics The size of something infinite.
Using the word in the context of sets is sloppy, since different infinite sets aren't necessarily the same size cardinality as each other.
See also aleph 0
2. programming The largest value that can be represented in a particular type of variable (register, memory location, data type, whatever).
See also minus infinity.
[Jargon File]
(1994-11-18)

infix notation
language One of the possible orderings of functions and operands: in infix notation the functions are placed between their operands, such as 1+2 . Although infix notation is limited to binary functions most languages mix infix notation with prefix or postfix notation, as a form of syntactic sugar.
(1997-01-17)

infix syntax
infix notation

inflate
deflate

INFN
Istituto Nazionale di Fisica Nucleare: an Italian State research organisation.

Infobahn
(After the German Autobahn ) Information Superhighway.

Info BASIC
Variant of Pick BASIC used with PRIME's PRIMOS.

infobot
chat A bot that serves as a common database of information (often noteworthy URLs) for users on a chat system. Infobots often have a simple chatbot interface, responding to key-phrases, as well as to direct queries.
Here, in a real conversation, the bot Purl's first response is triggered by the phrase just tell me , and its second response is triggered by being directly asked perlfunc? :
eesh can someone tell me what: $num9 =
substr($number,9,1); means
Tkil eesh -- man perlfunc, look at substr .
eesh just tell me
purl Didn't your momma ever tell you, Go
look it up in the dictionary ?!
Tkil eesh -- no. that's all we'll tell
you. read the documentation.
Tkil eesh -- if you haven't man pages or
perldoc, you can read them on the 'net.
Tkil purl, perlfunc?
purl well, perlfunc is Perl builtin
functions, at man perlfunc or
http://www.perl.com/CPAN-local/doc/manual/html/pod/perlfunc.html
(http://www.cs.cmu.edu/~lenzo/infobot.html/).
(1998-10-30)

Informatics Corporation
company Renamed to Sterling Software Corp.
[When?]
(1998-10-30)

Information Algebra
Theoretical formalism for DP, never resulted in a language. Language Structure Group of CODASYL, ca. 1962. Sammet 1969, 709.

Information and Communication Technology
education (ICT) The study of the technology used to handle information and aid communication. The phrase was coined by [?] Stevenson in his 1997 report to the UK government and promoted by the new National Curriculum documents for the UK in 2000.
(http://rubble.ultralab.anglia.ac.uk/stevenson/ICTUKIndex.html).
(2000-11-06)

Information Appliance
hardware (IA) A consumer device that performs only a few targeted tasks and is controlled by a simple touch-screen interface or push buttons on the device's enclosure.
[How does this differ from a PDA?]
(1998-02-24)

Information Builders
Distributors of LEVEL5 OBJECT. Telephone +1 800 969 INFO.

Information Engineering Facility
(IEF) A CASE tool from Texas Instruments which generates code from graphical business process models.
(1994-12-22)

information highway
information superhighway

Information Innovation
A group of companies with offices in Amsterdam and New York which acts as an information filter for the World-Wide Web. They analyse what happens in the Web community and organise the Web's information so that it is accessible and efficient to use.
Information Innovation provides:
The Management Guide - a guide for managers in the information age. The Guide consists of 22 parts, each concentrating on a particular technology or issue facing managers. Topics range from Artificial Intelligence and Telecommunications to Finance and Marketing. Each part contains references to additional valuable information, including CD ROMs, conferences, magazines, articles and books.
The Hypergraphic Matrix - a hypergraphic matrix of 250 graphics discussing the interrelationships between technology, change, business functions and specific industries.
Dictionary - the largest Internet dictionary on management and technology.
The Delphi Oracle - a comprehensive guide to the latest management ideas and issues. Over 500 articles and books have been read, analysed, rated and catalogued.
Management Software - a guide to software which is useful to managers. Both Web software, Internet software and commecial products are included in this guide.
The Web Word - an information service about the Web. It includes a regular newsletter and databases about Web resources, news, interviews with Web personalities and, of course, the most comprehensive guide to sites.
Web Bibliography - a guide to the latest Web information printed. Over 150 articles, magazines, market research reports and books are catalogued.
The Power Launch Pad - our own list of useful sites on the Web. Also includes links to our own lists of special subjects such as Finance, Telecommunications, Manufacturing, Technology and so forth.
(http://www.euro.net/innovation/WelcomeHP.html). E-mail: innovation@euronet.nl .
(1994-10-27)

information island
jargon A body of information (i.e. electronic files) that needs to be shared but has no network connection.
(1995-03-16)

Information Management
The planning, budgeting, control and exploitation of the information resources in an organisation. The term encompasses both the information itself and the related aspects such as personnel, finance, marketing, organisation and technologies and systems. Information Managers are responsible for the coordination and integration of a wide range of information handling activities within the organisation. These include the formulation of corporate information policy, design, evaluation and integration of effective information systems and services, the exploitation of IT for competitive advantage and the integration of internal and external information and data.

Information Management System
database (IMS, IMS/VS, IMS/ESA) A database system from IBM consisting of IMS/Data Base and IMS/Data Communications.
(1999-01-11)

Information Processing Language
(IPL) Said to be the first list-processing language, also the first language to support recursion. Written by Allen Newell, J.C. Shaw and H. Simon at Carnegie ca. 1956. It was very low level.
Versions: IPL-I (never implemented), IPL-II (1957 for JOHNNIAC), IPL-III (existed briefly), IPL-IV, IPL-V (1958, for IBM 650, IBM 704, IBM 7090, many others. Widely used), IPL-VI.
[Sammet 1969, pp. 388-400].
[ Information Processing Language-V Manual , A. Newell ed, P-H 1965].
(1994-11-04)

Information Resource Management
(IRM) A philosophical and practical approach to managing government information. Information is regarded as a valuable resource which should be managed like other resources, and should contribute directly to accomplishing organisational goals and objectives. IRM provides an integrated view for managing the entire life-cycle of information, from generation, to dissemination, to archiving and/or destruction, for maximising the overall usefulness of information, and improving service delivery and program management.
IRM views information and Information Technology as an integrating factor in the organisation, that is, the various organisational positions that manage information are coordinated and work together toward common ends. Further, IRM looks for ways in which the management of information and the management of Information Technology are interrelated, and fosters that interrelationship and organisational integration.
IRM includes the management of (1) the broad range of information resources, e.g., printed materials, electronic information, and microforms, (2) the various technologies and equipment that manipulate these resources, and (3) the people who generate, organise, and disseminate those resources. Overall the intent of IRM is to increase the usefulness of government information both to the government and to the public.
[Gary D. Blass et al. Finding Government Information: The Federal Information Locator System (FILS) , Government Information Quarterly, JAI Press, Inc., Greenwich, Connecticut. Vol. 8, No. 1, pp. 11-32. 1991].
(1995-11-12)

information superhighway
communications (Or Infobahn , Info Strada ) The name coined by US Vice-president Al Gore in the early 1990s for the emerging high-speed global communications network capable of carrying voice, data, video, and other services around the world. These services use satellite, copper cable, optical fibre, cellular telecommunications, and are accessible via set-top boxes or suitably equipped computers.
See also National Information Infrastructure.
(2001-03-31)

Information Systems Factory
(ISF) An equivalent to an SEE.
[Simultaneous Engineering Environment or Software Engineering Environment?]
(2000-12-30)

Information Technology
business, jargon (IT) Applied computer systems - both hardware and software, and often including networking and telecommunications, usually in the context of a business or other enterprise. Often the name of the part of an enterprise that deals with all things electronic.
The term computer science is usually reserved for the more theoretical, academic aspects of computing, while the vaguer terms information systems (IS) or information services may include more of the human activities and non-computerised business processes like knowledge management. Others say that IT includes computer science.
(2000-10-02)

Information Technology Infrastructure Library
(ITIL) A method of organising the system and network management departments of large organisations. ITIL defines the (work) processes involved and the interfaces between them.
(1995-06-27)

Informix
A relational DBMS vendor.

InfoSeek
company A company providing InfoSeek Net Search, a free World-Wide Web search service which, in August 1995, indexed the full text of over 400,000 web pages. Net Search was rated as the fourth most popular site on the web by Interactive Age magazine.
The also sell a commercial service, InfoSeek Search, that offers access to all the Usenet news groups, daily newswires, business and computer periodicals, and more.
Home (http://www2.infoseek.com/)
(1995-11-09)

InfoStreet, Inc.
company An Internet consulting and development company dedicated to assisting companies in establishing an Internet presence. InfoStreet develope Internet strategies, design and create web pages, and host and maintain web sites.
InfoStreet, has been recognized by PC/Computing as the Best of the Top Home Page Services (August 1996) and has been featured in Netguide magazine and the Wiley and Son's Electronic Marketing book.
Home (http://www.InfoStreet.com/).
Home page hosting service (http://www.instantweb.com).
(1997-01-30)

InfoWord Office
tool A suite of applications for Unix including a word processor, spreadsheet and database.
Light Infocon S.A. (http://www.light.com.br/).
(1998-07-21)

infrared
electronics (IR) Electromagnetic waves in the frequency range just below visible light corresponding to radiated heat. IR waves can be generated by a kind of LED and are often used for remote controls for televisions etc. and in some docking stations.
(1997-01-30)

Infrared Data Association
standard, body (IrDA) A non-profit trade association providing standards to ensure the quality and interoperability of infrared (IR) hardware.
The association currently has a membership of over 160 companies from around the world, representing computer and telecommunications hardware, software, components and adapters.
IrDA typically uses direct infrared i.e. point-to-point, line-of-sight, one-to-one communications. The standards include: IrDA Data (SIR, FIR, VFIR), IrDA Control, and AIR.
Ports built to the above standards can be found in products such as PDAs, Palm devices, printers, desktop adapters, notebooks, and digital cameras.
Home (http://www.irda.org).
IrDA Serial Infrared Interface (http://cesdis1.gsfc.nasa.gov/linux/misc/irda.html).
Linux-IrDA support (http://www.cs.uit.no/linux-irda/).
(1999-10-14)

infrastructure
Basic support services for computing, particularly national networks.
See also information superhighway.
(1995-06-27)

Inglish
games An English-like language used for Adventure games like The Hobbit . Inglish could distinguish between take the rope and axe and take the money and run .
(1995-06-27)

INGRES
A relational DBMS vendor.

inheritance
programming, object-oriented In object-oriented programming, the ability to derive new classes from existing classes. A derived class (or subclass ) inherits the instance variables and methods of the base class (or superclass ), and may add new instance variables and methods. New methods may be defined with the same names as those in the base class, in which case they override the original one.
For example, bytes might belong to the class of integers for which an add method might be defined. The byte class would inherit the add method from the integer class.
See also Liskov substitution principle, multiple inheritance.
(2000-10-10)

initgame
games /in-it'gaym/ [IRC] An IRC version of the venerable trivia game 20 questions , in which one user changes his nick to the initials of a famous person or other named entity, and the others on the channel ask yes or no questions, with the one to guess the person getting to be it next. As a courtesy, the one picking the initials starts by providing a 4-letter hint of the form sex, nationality, life-status, reality-status. For example, MAAR means Male, American, Alive, Real (as opposed to fictional ). Initgame can be surprisingly addictive. See also hing.
[Jargon File]

initialise
programming To give a variable its first value. This may be done automatically by some languages or it may require explicit code by the programmer. Some languages allow initialisation to be combined with variable definition, e.g. in C:
int i = 0;
Failing to initialise a variable before using it is a common programming error, but one which compilers and automatic checkers like lint can easily detect.
(1997-06-08)

Initial Microprogram Load
operating system (IML) Loading microcode into microcode memory.
(1997-08-31)

Initial Operational Test and Evaluation
testing (IOT E) The first phase of operational test and evaluation conducted on pre-protectional items, prototypes, or pilot production items and normally completed prior to the first major production decision. Conducted to provide a valid estimate of expected system operational effectiveness and suitability.
(1996-12-27)

Initial Program Load
operating system (IPL) The procedure used to (re-)start a computer system by copying the operating system kernel into main memory and running it. Part of the boot sequence.
(1997-08-31)

Initial Program Loader
operating system (IPL) A bootstrap loader which loads the part of an operating system needed to load the remainder of the operating system.
(1997-08-31)

initiator
SCSI initiator

injection
1. mathematics A function, f : A - B, is injective or one-one, or is an injection, if and only if
for all a,b in A, f(a) = f(b) = a = b.
I.e. no two different inputs give the same output (contrast many-to-one). This is sometimes called an embedding. Only injective functions have left inverses f' where f'(f(x)) = x, since if f were not an injection, there would be elements of B for which the value of f' was not unique. If an injective function is also a surjection then is it a bijection.
2. reduction An injection function is one which takes objects of type T and returns objects of type C(T) where C is some type constructor. An example is
f x = (x, 0).
The opposite of an injection function is a projection function which extracts a component of a constructed object, e.g.
fst (x,y) = x.
We say that f injects its argument into the data type and fst projects it out.
(1995-03-14)

inkjet printer
hardware, printer A class of printer in which small ink droplets are sprayed electrostatically from a nozzle onto the paper.
Inkjet printers are very quiet in comparison to impact printers.
A popular example is the Olivetti BJ10.
(1995-03-14)

ink printer
printer A retronym used by Blind users to refer to all printers which are not Braille printers, regardless of whether they actually use ink.
(1998-10-13)

inline
programming (Or unfold ) To replace a function call with an instance of the function's body. Actual argument expressions are substituted for formal parameters as in beta reduction. Inlining is usually done as a compile-time transformation.
If done recklessly (e.g. attempting to inline a recursive function) the compiler will fail to terminate. If done over-enthusiastically the code size may increase exponentially, e.g. if function f calls g twice, and g calls h twice and h is inlined in g which is inlined in f (in either order) then there will be four copies of h's body in f.
See also linear argument, unfold/fold.
(1994-11-03)

inline image
World-Wide Web An image that appears within the body of a web page. Most graphical web browsers can display both GIF and JPG images inline. The web browser may give the user an option to turn off inline images, to speed up the display of web pages.
Other image formats may have to be displayed in a separate window and/or by another application program.
An inline image in a web page is achieved with the IMG HTML tag, which can take many attributes. The SRC attribute gives the URL from which to fetch the image and the ALT attribute gives text to display in place of the image for users with images disabled or who are using text-only browsers or text-to-speech convertors (e.g. blind users).
(1999-10-27)

INMOS transputer
transputer

inner join
database (Commonly join , but see also outer join ) A relational database operation which selects rows from two tables such that the value in one column of the first table also appears in a certain column of the second table.
An example in SQL:
select * from A, B where A.x = B.y
The column names (x and y in this example) are often, but not necessarily, the same.
(1998-11-23)

inner product
mathematics In linear algebra, any linear map from a vector space to its dual defines a product on the vector space: for u, v in V and linear g: V - V' we have gu in V' so (gu): V - scalars, whence (gu)(v) is a scalar, known as the inner product of u and v under g. If the value of this scalar is unchanged under interchange of u and v (i.e. (gu)(v) = (gv)(u)), we say the inner product, g, is symmetric. Attention is seldom paid to any other kind of inner product.
An inner product, g: V - V', is said to be positive definite iff, for all non-zero v in V, (gv)v 0; likewise negative definite iff all such (gv)v 0; positive semi-definite or non-negative definite iff all such (gv)v = 0; negative semi-definite or non-positive definite iff all such (gv)v = 0. Outside relativity, attention is seldom paid to any but positive definite inner products.
Where only one inner product enters into discussion, it is generally elided in favour of some piece of syntactic sugar, like a big dot between the two vectors, and practitioners don't take much effort to distinguish between vectors and their duals.
(1997-03-16)

InnovAda
An object-oriented extension to Ada, said to be Lisp-like. Implemented as an Ada preprocessor.
(1994-11-03)
[Where? Who? When?]

inode
A data structure holding information about files in a Unix file system. There is an inode for each file and a file is uniquely identified by the file system on which it resides and its inode number on that system. Each inode contains the following information: the device where the inode resides, locking information, mode and type of file, the number of links to the file, the owner's user and group ids, the number of bytes in the file, access and modification times, the time the inode itself was last modified and the addresses of the file's blocks on disk. A Unix directory is an association between file leafnames and inode numbers. A file's inode number can be found using the -i switch to ls.
Unix manual page: fs(5).
See also /usr/include/ufs/inode.h.

in-order traversal
traverse

IN point
unit, text (l'Imprimerie nationale point) A variant of the point equal to 0.4 mm.
(2002-03-11)

Inprise Corporation
Borland Software Corporation.

Input
ALPHA

input
architecture Data transferred from the outside world into a computer system via some kind of input device.
Opposite: output.
(1997-04-28)

input device
hardware A peripheral used to transfer data from the outside world into a computer system. Some input devices are operated directly by the user, e.g. keyboard, mouse, touch screen, joystick, digitising tablet, microphone; others are sensors or transducers which convert external signals into data, e.g. using an ananlog to digital converter (this would also be true of a microphone). Other kinds of inputs are really one half of a bidirectional link with another computer or storage device, e.g. serial line, SCSI interface.
(1996-11-03)

input/output
programming, operating system (I/O) Communication between a computer and its users, its storage devices, other computers (via a network) or the outside world. The devices the computer uses to do this are called peripherals .
(1999-02-05)

input/output redirection
operating system In Unix, to send ouput from a process to different file or device or to another process via a pipe, or to have a process read its input from a different file, device or pipe. Some other operating systems have similar facilities.
To redirect input to come from a file instead of the keyboard, use :
myprog myfile
Similarly to redirect output to a file instead of the screen:
ls filelist
A pipe redirects the output of one process directly into the input of another
who | wc -l
A common misuse by beginners is
cat myfile | myprog
Which is more or less equivalent to myprog myfile except that it introduces an extra unnecessary cat process and buffer space for the pipe. Even the is unnecessary with many standard Unix commands since they accept input file names as command line arguments anyway.
Unix's concept of standard input/output and I/O redirection make it easy to combine simple processes in powerful ways and to use the same commands for different purposes.
(1998-04-24)

inquiry/response system
business Any computer system in which data is entered offline and processed in batch form, but information can be retrieved on-line. An example is the checking of credit cards.
[ Computer Information Systems for Business V , Thomas Dock and James C Wetherbe, West Publishing Company 1988].
(1996-06-24)

INRIA
Institut National de Recherche en Informatique et Automatique

insanely great
(Macintosh community, from Steve Jobs; also BSD Unix people via Bill Joy) Something so incredibly elegant that it is imaginable only to someone possessing the most puissant of hacker-natures.
[Jargon File]
(1994-12-06)

insertion sort
algorithm A sorting algorithm that inserts each item in the proper place into an initially empty list by comparing it with each item in the list until it finds the new element's successor or the end of the list.
Compare bubble sort.
(1997-02-12)

INSIGHT
A simulation and modelling language especially for health care problems.
[ Simulation Modeling with INSIGHT , S.D. Roberts Proc 1983 Winter Sim Conf, S.D. Roberts et al eds, pp.7-16].
(1995-03-03)

Insignia Solutions, Inc.
company /in-sig'nee-* s*-loosh'nz/ A company that made its name as a provider of software that allows users to run Microsoft Windows and MS-DOS application programs on Digital, HP, IBM, Motorola, NeXT, Silicon Graphics and Sun/SPARC workstations, X terminals, Java desktops, and Apple Computer's Power Macintosh and Motorola 68000-based computers.
Insignia Solutions was founded in 1986. Their first product, SoftPC 1.0 for Sun workstations, was introduced in 1988. Also in 1988, Insignia shipped its first version of SoftPC for Apple Computer's Macintosh. As the demand to run Windows and MS-DOS applications on non-Intel computers grew, Insignia signed OEM agreements with several companies including Data General, Digital, Fujitsu, HP, Intergraph Corp., Motorola, Silicon Graphics, and Sun Microsystems.
Insignia Solutions sold its SoftWindows and RealPC product lines to FWB Software [when?]. Its major product in 2000 is the Jeode platform, a Java virtual machine for Internet appliances and embedded devices.
Home Page (http://www.insignia.com/).
(2000-02-14)

inspection
testing A formal evaluation technique in which software requirements, design, or code are examined in detail by a person or group other than the author to detect faults, violations of development standards, and other problems.
(1996-05-22)

installable file system
operating system (IFS or File System Driver , FSD ) An API that allows you to extend OS/2 to access files stored on disk in formats other than FAT and HPFS, and access files that are stored on a network file server.
For example an IFS could provide programs running under OS/2 (including DOS and Windows programs) with access to files stored under Unix using the Berkeley fast file system.
The other variety of IFS (a remote file system or redirector ) allows file sharing over a LAN, e.g. using Unix's Network File System protocol. In this case, the IFS passes a program's file access requests to a remote file server, possibly also translating between different file attributes used by OS/2 and the remote system.
Documentation on the IFS API has been available only by special request from IBM.
An IFS is structured as an ordinary 16-bit DLL with entry points for opening, closing, reading, and writing files, the swapper, file locking, and Universal Naming Convention. The main part of an IFS that runs in ring 0 is called by the OS/2 kernel in the context of the caller's process and thread. The other part that runs in ring 3 is a utility library with entry points for FORMAT, RECOVER, SYS, and CHKDSK.
EDM/2 article (http://www.edm2.com/0103/).
(1999-04-07)

installed user base
user base

installer
operating system A utility program to ease the installation of another, probably larger, application. It is also possible for hardware to have an installer accompany it, to install any low level device drivers required.
The installer commonly asks the user to enter desired configuration options for the main program or hardware, and sets up various initialisation files accordingly, as well as copying the main program to a hard disc.
Some badly designed operating systems require applications to provide an uninstaller because of the number of different files modified or created during the installation process.
(1998-02-09)

instance
programming An individual object of a certain class. While a class is just the type definition, an actual usage of a class is called instance . Each instance of a class can have different values for its instance variables, i.e. its state.
(1998-03-06)

instance variable
programming In object-oriented programming, one of the variables of a class template which may have a different value for each object of that class. Instance variables hold the state of an object.
(1998-01-16)

instantiate
instantiation

instantiation
programming Producing a more defined version of some object by replacing variables with values (or other variables).
1. In object-oriented programming, producing a particular object from its class template. This involves allocation of a structure with the types specified by the template, and initialisation of instance variables with either default values or those provided by the class's constructor function.
2. In unification, (as used in logic programming, type checking and type inference), binding a logic variable (type variable) to some value (type).
(1995-03-28)

Institute for Global Communications
(IGC) Provider of computer networking tools for international communications and information exchange. The IGC Networks -- PeaceNet, EcoNet, ConflictNet and LaborNet -- comprise the world's only computer communications system dedicated solely to environmental preservation, peace, and human rights. New technologies are helping these worldwide communities cooperate more effectively and efficiently.
Address: 18 De Boom Street, San Francisco, CA 94107 USA. A division of the Tides Foundation, a 501(c)(3) tax-exempt organisation. A founding member of the world-wide Association of Progressive Communications (APC).
Home (ftp://igc.apc.org)
E-mail: support@igc.apc.org .
(1996-06-24)

Institute of Electrical and Electronics Engineers, Inc.
(IEEE) The world's largest technical professional society, based in the USA. Founded in 1884 by a handful of practitioners of the new electrical engineering discipline, today's Institute has more than 320,000 members who participate in its activities in 147 countries. The IEEE sponsors technical conferences, symposia and local meetings worldwide, publishes nearly 25% of the world's technical papers in electrical, electronics and computer engineering and computer science, provides educational programs for its members and promotes standardisation. Areas covered include aerospace, computers and communications, biomedical technology, electric power and consumer electronics.
Home (http://www.ieee.org/). Gopher (gopher://gopher.ieee.org/). (ftp://ftp.ieee.org/).
E-mail file-server: fileserver-help@info.ieee.org .
IEEE Standards Process Automation (SPA) System (http://stdsbbs.ieee.org/), telnet(telnet:stdsbbs.ieee.org) [140.98.1.11].
(1995-03-10)

Institut National de Recherche en Informatique et Automatique
body (INRIA) A French computer science research institute.
(1996-06-24)

Instruction Address Register
(IAR) The IBM name for program counter.
The IAR can be accessed by way of a supervisor call in supervisor state, but cannot be directly addressed in problem state.
(1995-03-21)

instruction mnemonic
programming A word or acronym used in assembly language to represent a binary machine instruction operation code. Different processors have different instruction set and therefore use a different set of mnemonics to represent them.
E.g. ADD, B (branch), BLT (branch if less than), SVC, MOVE, LDR (load register).
(1997-02-18)

instruction prefetch
architecture A technique which attempts to minimise the time a processor spends waiting for instructions to be fetched from memory. Instructions following the one currently being executed are loaded into a prefetch queue when the processor's external bus is otherwise idle. If the processor executes a branch instruction or receives an interrupt then the queue must be flushed and reloaded from the new address.
Instruction prefetch is often combined with pipelining in an attempt to keep the pipeline busy.
By 1995 most processors used prefetching, e.g. Motorola 680x0, Intel 80x86.
[First processors using prefetch?]
(1998-03-29)

instruction scheduling
The compiler phase that orders instructions on a pipelined, superscalar, or VLIW architecture so as to maximise the number of function units operating in parallel and to minimise the time they spend waiting for each other.
Examples are filling a delay slot; interspersing floating-point instructions with integer instructions to keep both units operating; making adjacent instructions independent, e.g. one which writes a register and another which reads from it; separating memory writes to avoid filling the write buffer.
Norman P. Jouppi and David W. Wall, Available Instruction-Level Parallelism for Superscalar and Superpipelined Processors (ftp://gatekeeper.dec.com/archive/pub/DEC/WRL/research-reports/WRL-TR-89.7.ps.Z), Proceedings of the Third International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 272--282, 1989.
[The SPARC Architecture Manual, v8, ISBN 0-13-825001-4]

instruction set
architecture The collection of machine language instructions that a particular processor understands.
The term is almost synonymous with instruction set architecture since the instructions are fairly meaningless in isolation from the registers etc. that they manipulate.
(1999-07-05)

instruction set architecture
architecture (ISA) The parts of a processor's design that need to be understood in order to write assembly language, such as the machine language instructions and registers. Parts of the architecture that are left to the implementation, such as number of superscalar functional units, cache size and cycle speed, are not part of the ISA.
The definition of SPARC, for example, carefully distinguishes between an implementation and a specification.
(1999-01-16)

Instruction Set Processor
language (ISP) A family of languages for describing the instruction sets of computers.
[ Computer Structures: Readings and Examples , D.P. Siewiorek et al, McGraw-Hill 1982].
(1995-10-12)

instrument
programming To install devices or instructions into hardware or software to monitor the operation of a system or component.
(1996-05-22)

int
1. programming A common name for the integer data type. In C for example, it means a (signed) integer of the computer's native word length.
2. networking The top-level domain for international organisations.
(1999-01-26)

INTCODE
A low-level interpreted language used in bootstrapping the BCPL compiler. The INTCODE machine has six control registers and eight functions. OCODE was used as the intermediate language.
[ INTCODE - An Interpretive Machine Code for BCPL , M. Richards, Computer Lab, U Cambridge 1972].
[ BCPL - The Language and its Compiler , Martin Richards Colin Whitby-Stevens, Cambridge U Press 1979].

integer
mathematics (Or whole number ) One of the finite numbers in the infinite set
..., -3, -2, -1, 0, 1, 2, 3, ...
An inductive definition of an integer is a number that is either zero or an integer plus or minus one. An integer is a number with no fractional part. If written as a fixed-point number, the part after the decimal (or other base) point will be zero.
A natural number is a non-negative integer.
(2002-04-07)

Integer SPECbaserate
SPECrate_base_int92

Integer SPECbaseratio
SPECbase_int92

Integer SPECrate
SPECrate_int92

Integer SPECratio
SPECint92

integrated circuit
electronics (IC, or chip ) A microelectronic semiconductor device consisting of many interconnected transistors and other components. ICs are constructed ( fabricated ) on a small rectangle (a die ) cut from a Silicon (or for special applications, Sapphire) wafer. This is known as the substrate . Different areas of the substrate are doped with other elements to make them either p-type or n-type and polysilicon or aluminium tracks are etched in one to three layers deposited over the surface. The die is then connected into a package using gold wires which are welded to pads , usually found around the edge of the die.
Integrated circuits can be classified into analogue, digital and hybrid (both analogue and digital on the same chip). Digital integrated circuits can contain anything from one to millions of logic gates - inverters, AND, OR, NAND and NOR gates, flip-flops, multiplexors etc. on a few square millimeters. The small size of these circuits allows high speed, low power dissipation, and reduced manufacturing cost compared with board-level integration.
The first integrated circuits contained only a few transistors. Small Scale Integration (SSI) brought circuits containing transistors numbered in the tens. Later, Medium Scale Integration (MSI) contained hundreds of transistors. Further development lead to Large Scale Integration (LSI) (thousands), and VLSI (hundreds of thousands and beyond). In 1986 the first one megabyte RAM was introduced which contained more than one million transistors.
LSI circuits began to be produced in large quantities around 1970 for computer main memories and pocket calculators. For the first time it became possible to fabricate a CPU or even an entire microprocesor on a single integrated circuit. The most extreme technique is wafer-scale integration which uses whole uncut wafers as components.
[Where and when was the term chip introduced?]
(1997-07-03)

Integrated Database Management System
database (IDMS) A network DBMS written by the staff of B.F.Goorich (Akron, Ohio, USA) circa 1972 and sold to Cullinet (Originally Cullinane, now part of Computer Associates).
IDMS was licensed to ICL in 1976 for porting to, and subsequent development on, their computers. It was implemented on the ICL 1900 Series (DME George 2, George 3, CME, TME), System 4, and ICL 2900 Series (later Series 39 Corporate Servers). The latest version runs on Series 39 OpenVME as IDMSX (IDMS extended).
[Was it a relational database?]
(1995-04-19)

integrated development environment
programming, tool (IDE) A system for supporting the process of writing software. Such a system may include a syntax-directed editor, graphical tools for program entry, and integrated support for compiling and running the program and relating compilation errors back to the source.
Examples include Visual C++ and Visual Basic.
[Does any one call it an interactive development environment?]
(2002-04-14)

Integrated Drive Electronics
Advanced Technology Attachment

Integrated Information Technology
company (IIT) A Santa Clara based company producing a programmable, single chip H.261 and MPEG system. The chip contains a RISC processor, originally based on the MIPS architecture but now called RISCit, and a Pixel Processor .
(1994-11-03)

Integrated Modelling Support Environment
project (IMSE) An Esprit programme.
[Details?]
(1999-04-26)

Integrated Project Support Environment
software (IPSE) A set of management and technical tools to support software development, usually integrated in a coherent framework, equivalent to a Software Engineering Environment.
(1999-04-26)

Integrated Services Digital Network
communications (ISDN) A set of communications standards allowing a single wire or optical fibre to carry voice, digital network services and video. ISDN is intended to eventually replace the plain old telephone system.
ISDN was first published as one of the 1984 ITU-T Red Book recommendations. The 1988 Blue Book recommendations added many new features. ISDN uses mostly existing Public Switched Telephone Network (PSTN) switches and wiring, upgraded so that the basic call is a 64 kilobits per second, all-digital end-to-end channel. Packet and frame modes are also provided in some places.
There are different kinds of ISDN connection of varying bandwidth (see DS level):
DS0 = 1 channel PCM at 64 kbps
T1 or DS1 = 24 channels PCM at 1.54 Mbps
T1C or DS1C = 48 channels PCM at 3.15 Mbps
T2 or DS2 = 96 channels PCM at 6.31 Mbps
T3 or DS3 = 672 channels PCM at 44.736 Mbps
T4 or DS4 = 4032 channels PCM at 274.1 Mbps
Each channel here is equivalent to one voice channel. DS0 is the lowest level of the circuit. T1C, T2 and T4 are rarely used, except maybe for T2 over microwave links. For some reason 64 kbps is never called T0 .
A Basic Rate Interface (BRI) is two 64K bearer channels and a single delta channel ( 2B+D ). A Primary Rate Interface (PRI) in North America and Japan consists of 24 channels, usually 23 B + 1 D channel with the same physical interface as T1. Elsewhere the PRI usually has 30 B + 1 D channel and an E1 interface.
A Terminal Adaptor (TA) can be used to connect ISDN channels to existing interfaces such as EIA-232 and V.35.
Different services may be requested by specifying different values in the Bearer Capability field in the call setup message. One ISDN service is telephony (i.e. voice), which can be provided using less than the full 64 kbps bandwidth (64 kbps would provide for 8192 eight-bit samples per second) but will require the same special processing or bit diddling as ordinary PSTN calls. Data calls have a Bearer Capability of 64 kbps unrestricted .
ISDN is offered by local telephone companies, but most readily in Australia, France, Japan and Singapore, with the UK somewhat behind and availability in the USA rather spotty.
(In March 1994) ISDN deployment in Germany is quite impressive, although (or perhaps, because) they use a specifically German signalling specification, called 1.TR.6. The French Numeris also uses a non-standard protocol (called VN4; the 4th version), but the popularity of ISDN in France is probably lower than in Germany, given the ludicrous pricing. There is also a specifically-Belgian V1 experimental system. The whole of Europe is now phasing in Euro-ISDN.
See also Frame Relay, Network Termination, SAPI.
FAQ (ftp://src.doc.ic.ac.uk/usenet/news-info/comp.dcom.isdn/).
Usenet newsgroup: news:comp.dcom.isdn.
(1998-03-29)

Integrated Systems Architecture
(ISA for ODP) An Esprit 2 project continuing the ANSA project.
(1995-02-21)

integration
programming Combining software or hardware components or both into an overall system.
(1996-05-22)

integration testing
testing testing in which software and/or hardware components are combined and tested progressively until the entire system has been integrated.
(1996-05-22)

integrity constraint
database A constraint (rule) that must remain true for a database to preserve integrity. Integrity constraints are specified at database creation time and enforced by the database management system.
Examples from a genealogical database would be that every individual must be their parent's child or that they can have no more than two natural parents.
(1995-11-11)

Intel 4004
processor The world's first microprocessor, released in 1971. The 4004 contained 2300 transistors (compared with 5.5 million in the 1996 Pentium Pro) and was intended for use in a calculator. It processed data in 4 bits, but its instructions were 8 bits long. Program and Data memory were separate, it had 1 kilobyte of data memory and a 12-bit PC for 4K of program memory (in the form of a 4 level stack, used for CALL and RET instructions). There were also sixteen 4-bit (or eight 8-bit) general purpose registers. The 4004 had 46 instructions.
(1997-03-30)

Intel 4040
processor An enhanced version of the Intel 4004, adding 14 instructions, larger (8 level) stack, 8 kbyte program memory and interrupt abilities (including shadows of the first 8 registers). The 4040 was similar to the Intel 8008.
(1994-10-31)

Intel 486
processor (Or i486 , iAPX 80486 , and Intel DX4 but usually just 486 ). A range of Intel CISC microprocessors which is part of the Intel 80x86 family of processors.
The 486s are very similar to their immediate predecessor, the Intel 80386DX. The main differences are that the 486 has an optimised instruction set, has an on-chip unified instruction and data cache, an optional on-chip floating-point unit (FPU), and an enhanced bus interface unit. These improvements yield a rough doubling in performance over an Intel 80386 at the same clock rate.
There are several suffixes and variants including:
Intel 486SX - a 486DX with its FPU disabled (see crippleware).
Intel 486DX - 486SX with a working FPU.
486DX-2 - runs at twice the external clock rate.
486SX-2 - runs at twice the external clock rate.
486SL - 486DX with power conservation circuitry.
486SL-NM - 486SX with power conservation circuitry; SL enhanced suffix, denotes a 486 with special power conservation circuitry similar to that in the 486SL processors.
487 - 486DX with a slightly different pinout for use in 486SX systems.
OverDrive - 486DX-2 with a slightly different pinout for use in 486SX systems.
RapidCAD - 486DX in a special package with a companion FPU dummy package for use in Intel 80386 systems.
Intel DX4, Cyrix Cy486SLC.
External clock rates include 16MHz, 20MHz, 25MHz, 33MHz, 40MHz, although 16Mhz is rare now, and the 20MHz processors are often clock doubled.
The 486 processor has been licensed or reverse engineered by other companies such as IBM, AMD, Cyrix, and Chips Technologies. Some are almost exact duplicates in specications and performance, some aren't.
The successor to the 486 is the Pentium.
(1995-02-21)

Intel 486DX
processor One of Intel's Intel 486 family of microprocessors (one of the last before the Pentium). The 486DX has a working built-in floating point unit (FPU). The Intel 486SX is effectively a DX with the FPU disabled. The DX has a pin to select the external data bus width (16 or 32).
The Intel 487SX is a 486DX with a 486SX pinout.
(1995-05-09)

Intel 486SX
processor An Intel 486DX microprocessor with its floating-point unit disconnected. All 486SX chips were fabricated with FPUs. If testing showed that the CPU was OK but the FPU was defective, the FPU's power and bus connections were destroyed with a laser and the chip was sold cheaper as an SX, if the FPU worked it was sold as a DX.
[Was this true of all 486SX chips?]
Some systems, e.g. Aopen 486SX, allowed a DX to be plugged into an expansion socket. A board jumper would disable the SX which was hard to remove because it was surface mounted.
Some SX chips only had a 16-bit wide external data bus. The DX has a pin to select the data bus width (16 or 32). On the smaller SX, that line is hard-wired to 16 inside the package. This is similar to the 286 SX, which was a 16-bit processor with an 8-bit external data bus.
The Jargon File claimed that the SX was deliberately disabled crippleware. The German computer magazine, c't , made this same theory the basis of an April Fools Joke. They claimed that if one drilled a hole of a specified diameter through the right point on a SX chip, this would brake the circuit that disables the FPU. Some people actually tried (and then bought themselves new processors).
(1997-02-14)

Intel 487SX
processor A version of the Intel 486DX microprocessor with an extra pin, for use in the coprocessor socket of an Intel 486SX system. The 487SX provides the FPU which is missing in the 486SX.
Although the 486SX is completely disabled when you install a 487SX, the 487SX design requires that you leave the 486SX in your PC [why?], rather than use it elsewhere. Intel admits that in some systems you can unplug the 486SX and fit a 487SX in its place but they don't guarantee that it will always work.
See Intel 486.
(1995-05-10)

Intel 8008
processor A microprocessor intended for use as a terminal controller, and similar to the Intel 4040. The 8008 had a 14-bit PC and addressing and an eight level internal stack. It was followed by the Intel 8080.
[Date?]
(1994-10-31)

Intel 80186
processor A microprocessor developed by Intel circa 1982. The 80186 was an improvement on the Intel 8086 and Intel 8088. As with the 8086, it had a 16-bit external bus and was also available as the Intel 80188, with an 8-bit external data bus. The initial clock rate of the 80186 and 80188 was 6 MHz. They were not used in many computers, but one notable exception was the Mindset, a very advanced computer for the time. They were used as embedded processors.
One major function of the 80186/80188 series was to reduce the number of chips required.
To satisfy this market, we defined a processor with a significant performance increase over the 8086 that also included such common peripheral functions as software-controlled wait state and chip select logic, three timers, priority interrupt controller, and two channels of DMA (direct memory access). This processor, the 80186, could replace up to 22 separate VLSI (very large scale integration) and TTL (transistor-transistor logic) packages and sell for less than the cost of the parts it replaced.
-- Paul Wells of Intel Corporation writing in Byte (reference below)
New instructions were also introduced as follows:
ENTERMake stcak frame for procedure parameters
LEAVEHigh-level procedure exit
PUSHAPush all general registers
POPAPop all general registers
BOUNDCheck array index against bounds
IMULSigned (integer) multiply
INSInput from port to string
OUTSOutput string to port
[ The Evolution of the iAPX 286 , Bob Greene, Intel Corporation, PC Tech Journal, December 1984, page 134].
[ The 80286 Microprocessor , Paul Wells, Intel Corporation, Byte, November 1984, p. 231].
(1999-05-10)

Intel 80188
processor A version of the Intel 80186 with an 8 bit external data bus (instead of 16 bit). This makes it cheaper to connect to peripherals.
(1995-01-13)

Intel 80286
processor (Or 286 , i286 ) A microprocessor developed by Intel. THe 80286 processor has a 16-bit data bus and incorporates a memory management unit that allowed a limited amount of multitasking. The 80286 only has a segmented MMU while the later processors add a paged MMU behind the segmented one.
The 80286 was the processor in the IBM PC AT personal computer.
(1995-02-21)

Intel 80386
processor (Commonly abbreviated to 386 , trademark Intel386 ) The successor to the Intel 80286 microprocessor. It was the first Intel processor with 32-bit data and address busses. It can address four gigabytes (2^32 bytes) of memory; however, 16 megabytes is a typical maximum in IBM PCs. The 386 allows multiple application programs to run at the same time (when running under 386-specific operating systems) using protected mode .
The first IBM compatible to use the 386 was the Compaq 386, before IBM used it in high-end models of their PS/2 series. It is also used in HP's RS series and many others.
It does not require special EMS memory boards to expand MS-DOS memory limits. With the 386, the EMS standard can be simulated in normal extended memory, and many DOS add-ons provide this Expanded Memory Manager feature.
See also Intel 80386SX, BSD386.
(1995-02-21)

Intel 80386SX
processor A lower-speed version of the Intel 80386. It uses a 16-bit data bus instead of a 32-bit data bus. It is faster than the 286, and more importantly, like the full-size 386, provides more flexibility in running existing DOS applications.
(1995-05-12)

Intel 8048
processor The microcontroller used in IBM PC keyboards. The 8048 was inspired by, and similar to, the Fairchild F8 microprocessor but, being a microcontroller, was designed for low cost and small size. The 8048 has a modified Harvard architecture, with program ROM on chip and 64 to 256 bytes of RAM also on chip. I/O is mapped in its own address space.
Though the 8048 was eventually replaced by the very popular but bizarre Intel 8051 and Intel 8052, even in 2000 it is still very popular due to its low cost, wide availability, and development tools.
[Was it really _the_first_ microcontroller? Are the ROM and RAM both on-chip?]
(2000-06-01)

Intel 80486
Intel 486

Intel 8051
processor A microcontroller developed by Intel in 1980 for use in embedded products and still (1999) one of the most popular microcontrollers.
The 8051/8031 cores are used in over 100 devices from 10 independent manufacturers such as Dallas and Philips.
[What is the difference between the 8031/8051/8052?]
See also CAS 8051 Assembler, as31 assembler, 51forth.
8051 FAQ (http://www.ece.orst.edu/~pricec/8051/faq/index.html)
The 8031/51 series microcontroller (http://www.rehn.org/YAM51/)
Intel MCS51 series microcontrollers (http://www.intel.com/design/mcs51/)
(1999-11-21)

Intel 8080
processor The successor to the Intel 8008. The 8080 had a 16-bit address bus and an 8-bit data bus. It had seven 8-bit registers (six which could also be combined as three 16-bit registers), a 16-bit stack pointer to memory which replaced the 8008's internal stack and a 16-bit program counter. It also had 256 I/O ports (so I/O devices could be connected without needing to allocate any addressing space as is required for memory mapped devices) and a signal pin that allowed the stack to occupy a separate bank of memory.
Shortly after the 8080, the Motorola 6800 was introduced.
[Date?]
(1994-10-31)

Intel 8085
processor A microprocessor intended to be an improved Intel 8080, as was the Zilog Z80.
(1994-10-31)

Intel 8086
processor A sixteen bit microprocessor chip used in early IBM PCs. The Intel 8088 was a version with an eight-bit external data bus.
The Intel 8086 was based on the design of the Intel 8080 and Intel 8085 (it was source compatible with the 8080) with a similar register set, but was expanded to 16 bits. The Bus Interface Unit fed the instruction stream to the Execution Unit through a 6 byte prefetch queue, so fetch and execution were concurrent - a primitive form of pipelining (8086 instructions varied from 1 to 4 bytes).
It featured four 16-bit general registers, which could also be accessed as eight 8-bit registers, and four 16-bit index registers (including the stack pointer). The data registers were often used implicitly by instructions, complicating register allocation for temporary values. It featured 64K 8-bit I/O (or 32K 16 bit) ports and fixed vectored interrupts. There were also four segment registers that could be set from index registers.
The segment registers allowed the CPU to access 1 meg of memory in an odd way. Rather than just supplying missing bytes, as most segmented processors, the 8086 actually shifted the segment registers left 4 bits and added it to the address. As a result, segments overlapped, and it was possible to have two pointers with the same value point to two different memory locations, or two pointers with different values pointing to the same location. Most people consider this a brain damaged design.
Although this was largely acceptable for assembly language, where control of the segments was complete (it could even be useful then), in higher level languages it caused constant confusion (e.g. near/far pointers). Even worse, this made expanding the address space to more than 1 meg difficult. A later version, the Intel 80386, expanded the design to 32 bits, and fixed the segmentation, but required extra modes (suppressing the new features) for compatibility, and retains the awkward architecture. In fact, with the right assembler, code written for the 8008 can still be run on the most recent Intel 486.
The Intel 80386 added new op codes in a kludgy fashion similar to the Zilog Z80 and Zilog Z280. The Intel 486 added full pipelines, and clock doubling (like the Zilog Z280).
So why did IBM chose the 8086 series when most of the alternatives were so much better? Apparently IBM's own engineers wanted to use the Motorola 68000, and it was used later in the forgotten IBM Instruments 9000 Laboratory Computer, but IBM already had rights to manufacture the 8086, in exchange for giving Intel the rights to its bubble memory designs. Apparently IBM was using 8086s in the IBM Displaywriter word processor.
Other factors were the 8-bit Intel 8088 version, which could use existing Intel 8085-type components, and allowed the computer to be based on a modified 8085 design. 68000 components were not widely available, though it could use Motorola 6800 components to an extent.
Intel bubble memory was on the market for a while, but faded away as better and cheaper memory technologies arrived.
(1994-12-23)

Intel 8088
processor An Intel 8086 with 16-bit registers and an 8-bit data bus.
The 8088 was the processor used in the original IBM PC.
(1995-02-21)

Intel 80x86
processor One of the family of Intel microprocessors including the Intel 80186, Intel 80286, Intel 80386, Intel 486, in a more general sense also Intel 8086, Pentium, Pentium Pro, and Pentium II.
(1998-03-07)

Intel 8751
processor A microcontroller from Intel including a CPU, two timers. 128 bytes of RAM, 4 kBytes of EEPROM, four eight-bit biderectional I/O ports and an EIA-232 port.
The 8751 belongs to the Intel i51 Microcontroller family. It was designed by Intel but is now manufactured by Intel, Philips, Siemens, AMD and others. Motorola's microcontroller families (68HC05, 68HC08 and 68HC11) are meant to compete with the i51 family.
(1995-04-22)

Intel Comparative Microprocessor Performance index
benchmark, unit (iCOMP) A unit used by Intel to indicate the relative performance of their 80x86 microprocessors.
(http://134.134.214.1/procs/perf/icomp/).
(1997-06-07)

Intel Corporation
company A US microelectronics manufacturer. They produced the Intel 4004, Intel 8080, Intel 8086, Intel 80186, Intel 80286, Intel 80386, Intel 486 and Pentium microprocessor families as well as many other integrated circuits and personal computer networking and communications products.
Gordon Moore and Robert Noyce founded Intel in 1968 to design, manufacture, and market semiconductor computer memory to replace magnetic core memory, the dominant computer memory at that time. Dr. Andrew S. Grove joined Intel soon after its incorporation. Three years later, in 1971, Intel introduced the world's first microprocessor, the Intel 4004.
Intel has design, development, production, and administration facilities throughout the western US, Europe and Asia. In 1995 nearly 75% of the world's personal computers use Intel architecture. Annual revenues are rapidly approaching $10 billion. In March, 1994, Business Week named Intel one of the top ten American companies in terms of profit, one of the top 15 market value winners, and 16th out of the magazine's top 1,000 companies overall.
Intel invested a record $2.9 billion in capital and R D in 1993, and expects to increase combined spending on these activities to $3.5 billion in 1994. Quarterly sales were $2770M and profits, $640M in Aug 1994.
(http://www.intel.com/)
Address: Santa Clara, CA, USA.
(1995-03-01)

IntelDX4
processor Essentially an Intel 486DX microprocessor with a 16 kilobyte on-chip cache.
The DX4 is the fastest member of the Intel 486 family. 75 and 100MHz versions are available. At an iCOMP index rating of 435, the 100 MHz DX4 performs up to 50% faster than the 66 MHz Intel DX2. The DX4's clock multiplier allows the processor to run three times faster than the system clock. This performance is achieved in part by a 16K on-chip cache (double that of the other 486s). The DX4 has an integrated floating point unit.
Like the other 486s, the DX4 achieves performance through a RISC integer core that executes frequently used instructions in a single clock cycle (the Pentium's can execute multiple instructions in a single clock cycle).
Low power consumption has been achieved with SL Technology and a 0.6 micron manufacturing process, giving 1.6 million transistors on a single chip operating at only 3.3 Volts.
IntelDX4 is the entire name, the 486 has been dropped and I am assured that there is no space in the same.
(1995-04-28)

Intel i960
processor A superscalar 32-bit RISC microprocessor from Intel intended for embedded applications.
The i960 CA variant can reach 66 native MIPS peak performance with a sustained execution of two instructions per clock cycle. The i960 CF has an on-chip, four kilobyte two-way set-associative instruction cache and a one kilobyte data cache. Both the CA and CF processors have on-chip RAM; a four-channel DMA unit; and integrated peripherals.
(1996-05-23)

INTELLECT
language A query language written by Larry Harris in 1977, close to natural English.
(1995-04-14)

intellectual property
legal (IP) The ownership of ideas and control over the tangible or virtual representation of those ideas. Use of another person's intellectual property may or may not involve royalty payments or permission, but should always include proper credit to the source.
(1997-03-27)

intelligent backtracking
algorithm An improved backtracking algorithm for Prolog interpreters, which records the point at which each logic variable becomes bound and, when a given set of bindings leads to failure, ignores any choice point which does not bind any of those variables. No choice from such a choice point can succeed since it does not change the bindings which caused the failure.
(1996-04-06)

intelligent database
database A database management system which performs data validation and processing traditionally done by application programs. Most DBMSs provide some data validation, e.g. rejecting invalid dates or alphabetic data entered into money fields, but often most processing is done by application programs. There is however no limit to the amount of processing that can be done by an intelligent database as long as the process is a standard function for that data.
Examples of techniques used to implement intelligent databases are constraints, triggers and stored procedures.
Moving processing to the database aids data integrity because it is guaranteed to be consistent across all uses of the data. Mainframe databases have increasingly become more intelligent and personal computer database systems are rapidly following.
(1998-10-07)

Intelligent Input/Output
architecture /i:-too-oh/ (I2O) A specification which aims to provide an I/O device driver architecture that is independent of both the specific device being controlled and the host operating system. The Hardware Device Module (HDM) manages the device and the OS Services Module (OSM) interfaces to the host operating system. The HDM is portable across multiple operating systems, processors and busses. The HDM and OSM communicate via a two layer message passing protocol. A Message Layer sets up a communications session and runs on top of a Transport Layer which defines how the two parties share information.
I2O is also designed to facilitate intelligent I/O subsystems, with support for message passing between multiple independent processors. By relieving the host of interrupt intensive I/O tasks required by the various layers of a driver architecture, the I2O intelligent I/O architecture greatly improves I/O performance. I2O systems will be able to more efficiently deliver the I/O throughput required by a wide range of high bandwidth applications, such as networked video, groupware and client-server processing. I2O does not restrict where the layered modules execute, providing support for single processor, multiprocessor, and clustered systems.
I2O is not intended to replace the driver architectures currently in existence. Rather, the objective is to provide an open, standards-based approach, which is complementary to existing drivers, and provides a framework for the rapid development of a new generation of portable, intelligent I/O.
Home (http://www.i2osig.org/).
(1997-11-04)

Intelligent I/O
Intelligent Input/Output

intelligent key
database A relational database key which depends wholely on one or more other columns in the same table. An intelligent key might be identified for implementation convenience, where there is no good candidate key.
For example, if the three-letter initials of a group of people are known to be unique but only their full names are recorded, a three letter acronym for their names (e.g. John Doe Smith - JDS) would be an intelligent key.
Intelligent keys are a Bad Thing because it is hard to guarantee uniqueness, and if the value on which an intelligent key depends changes then the key must either stay the same, creating an inconsistency within the containing table, or change, requiring changes to all other tables in which it appears as a foreign key. The correct solution is to use a surrogate key.
(1999-12-07)

intelligent terminal
hardware (or smart terminal , programmable terminal ) A terminal that often contains not only a keyboard and screen, but also comes with a disk drive and printer, so it can perform limited processing tasks when not communicating directly with the central computer. Some can be programmed by the user to perform many basic tasks, including both arithmetic and logic operations. In some cases, when the user enters data, the data will be checked for errors and some type of report will be produced. In addition, the valid data that is entered may be stored on the disk, it will be transmitted over communication lines to the central computer.
An intelligent terminal may have enough computing capability to draw graphics or to offload some kind of front-end processing from the computer it talks to.
The development of workstations and personal computers has made this term and the product it describes semi-obsolescent, but one may still hear variants of the phrase act like a smart terminal used to describe the behaviour of workstations or PCs with respect to programs that execute almost entirely out of a remote server's storage, using said devices as displays.
The term once meant any terminal with an addressable cursor; the opposite of a glass tty. Today, a terminal with merely an addressable cursor, but with none of the more-powerful features mentioned above, is called a dumb terminal.
There is a classic quote from Rob Pike (inventor of the blit terminal): A smart terminal is not a smart*ass* terminal, but rather a terminal you can educate . This illustrates a common design problem: The attempt to make peripherals (or anything else) intelligent sometimes results in finicky, rigid special features that become just so much dead weight if you try to use the device in any way the designer didn't anticipate. Flexibility and programmability, on the other hand, are *really* smart.
Compare hook.
(1995-04-14)

IntelliMouse
Microsoft IntelliMouse Explorer

Intel Literature Sales
Address: PO Box 58130, Santa Clara, CA 95052, USA.
Telephone: +1 800 548 4725.
(1995-01-12)

Intelsat
International Satellite Agency

intensional
philosophy Intensional properties, e.g. intensional equality, relate to how an object is implemented as opposed to extensional properties which concern only how its output depends on its input.
(1995-01-12)

Intent to Package
Debian (ITP) A notice, posted to the Debian developer mailing list, announcing a developer's intent to make a new Debian package, including a brief description of the package and its license.
(2000-05-31)

INTERACTIVE
A network simulation language.
[ Design and Implementation of a Pascal Based Interactive Network Simulation Language , R. Lakshmanan, PhD Thesis, Oakland U, Rochester MI 1983].
(1995-01-12)

interactive
programming A term describing a program whose input and output are interleaved, like a conversation, allowing the user's input to depend on earlier output from the same run.
The interaction with the user is usually conducted through either a text-based interface or a graphical user interface. Other kinds of interface, e.g. using speech recognition and/or speech synthesis, are also possible.
This is in contrast to batch processing where all the input is prepared before the program runs and so cannot depend on the program's output.
(1996-06-21)

Interactive CourseWare
(ICW) A training program controlled by a computer that relies on trainee input to determine the order and pace of instruction delivery. The trainee advances through the sequence of instructional events by making decisions and selections. The instruction branches according to the trainee's responses.
ICW is a US military term which includes1 computer-aided instruction and computer-based training.
(1995-11-08)

Interactive Data Entry/Access
language (IDEA) A language from Data General in which you designed the screen first, and then wrote the program around the predefined fields. IDEA was a precursor to the DG COBOL Screen Section.
(1996-02-16)

Interactive Data Language
(IDL) A commercial array-oriented language with numerical analysis and display features, first released in 1977. It supports interactive reduction, analysis, and visualisation of scientific data. It is sold by Research Systems, Inc.
Version: 3.6.1 runs under Unix, MS-DOS, MS Windows, VAX/VMS and Macintosh.
Not to be confused with any of the other IDLs.
(ftp://gateway.rs.inc.com/pub/idl).
E-mail: info@rsinc.com .
(1994-10-07)

interactive development environment
integrated development environment

Interactive Development Environments
company (IDE) A US software engineering company.
(1996-03-04)

Interactive Software Engineering
company (ISE) The company set up by Bertrand Meyer, now its president, to develope and distribute Eiffel, the language which he created. ISE also organises the TOOLS conference (Technology of Object-Oriented Languages and Systems).
Home (http://www.eiffel.com/)
E-mail: info@eiffel.com.
Telephone: +1 (805) 685 1006.
Address: Santa Barbara, Goleta CA, USA.
(1995-12-28)

Interactive System Productivity Facility
operating system (ISPF) Something to do with IBM's OS/390.
(http://www.s390.ibm.com/bookmgr-cgi/bookmgr.cmd/BOOKS/ISPDGD02/COVER?SHELF=ISP5BK01).
[Summary?]
(1999-07-14)

Interactive Voice Response
communications (IVR) communications A telecommunications system, prevelant with PBX and voice mail systems, that uses a prerecorded database of voice messages to present options to a user, typically over telephone lines. User input is retrieved via DTMF tone key presses.
When used in conjunction with voice mail, for example, these systems typically allow users to store, retrieve, and route messages, as well as interact with an underlying database server which may allow for automated transactions and data processing.
(15 Sept 1997)
(1997-09-21)

Interagency Interim National Research and Education Network
(IINREN) An evolving operating network system. Near term (1992-1996) research and development activities will provide for the smooth evolution of this networking infrastructure into the future gigabit NREN.
(1994-12-06)

InterBase
A commercial active DBMS.

INTERCAL
language, humour /in't*r-kal/ (Said by the authors to stand for Compiler Language With No Pronounceable Acronym ).
Possibly the most elaborate and long-lived joke in the history of programming languages. It was designed on 1972-05-26 by Don Woods and Jim Lyons at Princeton University.
INTERCAL is purposely different from all other computer languages in all ways but one; it is purely a written language, being totally unspeakable. The INTERCAL Reference Manual, describing features of horrifying uniqueness, became an underground classic. An excerpt will make the style of the language clear:
It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is:
DO :1 - #0$#256
any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course have happened to turn up, as bosses are wont to do. The effect would be no less devastating for the programmer having been correct.
INTERCAL has many other peculiar features designed to make it even more unspeakable. The Woods-Lyons implementation was actually used by many (well, at least several) people at Princeton.
Eric S. Raymond esr@snark.thyrsus.com wrote C-INTERCAL in 1990 as a break from editing _The_New_Hacker's_Dictionary_, adding to it the first implementation of COME FROM under its own name. The compiler has since been maintained and extended by an international community of technomasochists and is consequently enjoying an unprecedented level of unpopularity.
The version 0.9 distribution includes the compiler, extensive documentation and a program library. C-INTERCAL is actually an INTERCAL-to-C source translator which then calls the local C compiler to generate a binary. The code is thus quite portable.
Intercal Resource Page (http://locke.ccil.org/~esr/intercal/).
Usenet newsgroup: news:alt.lang.intercal.
[ The INTERCAL Programming Language Reference Manual , Donald R. Woods James M. Lyon].
[Jargon File]
(1997-04-09)

Interchange File Format
file format (IFF, full name EA IFF 1985 ) A generic file format published by Electronic Arts as an open standard. IFF is chunk-based and hierarchical so files can include other files. It is easily extensible and an all round Good Idea.
An IFF file starts with one of the following group IDs : 'FORM', 'LIST' or 'CAT '. This is followed by an unsigned 32-bit number of bytes in the remainder of the file. Then comes an ID that indicates which type of IFF file this is. The main image type is ILBM, audio is either AIFF or 8SVX, animations are ANIM etc. An IFF file will probably have a filename extension related to this file type stored in the file. The rest of the file is divided into chunks each of which also has a four-byte header and byte count.
Microsoft WAV and AVI are all based around an almost identical scheme to IFF called RIFF. The main difference is that, in RIFF files, numbers are little-endian as on Intel processors, whereas in IFF files they are big-endian, as on the Motorola 68000 processors in the Amiga where IFF files were first used.
(1997-07-23)

INTERCOM
language The assembly language for the G-15.
Versions: INTERCOM 101, INTERCOM 1000.
[Listed in CACM 2(5):16, May 1959].
(1997-07-23)

Interest Group in Pure and Applied Logics
(IGPL) A body of 700 researchers in various aspects of logic (symbolic, mathematical, computational, philosophical, etc.) from all over the world. The group's main rôle is as a research and information clearing house. The group also: supports exchange of information about research problems, references and common interest among group members; helps to obtain photocopies of papers; supplies review copies of books through the Journals on which some members are editors; organises exchange visits and workshops; advises on papers for publication; edits and distributes a Newsletter and an electronic Bulletin; keeps an FTP archive of papers, abstracts; obtains reductions on group purchases of logic books from publishers.
Home (http://theory.doc.ic.ac.uk/tfm/igpl.html)
E-mail: igpl-request@doc.ic.ac.uk .
(1995-02-10)

interesting
In hacker parlance, this word has strong connotations of annoying , or difficult , or both. Hackers relish a challenge, and enjoy wringing all the irony possible out of the ancient Chinese curse May you live in interesting times .
[Jargon File]

inter-exchange carrier
communications (IXC) A company allowed to handle long-distance calls following the break-up of the Bell system in the US by anti-trust regulators.
Local Exchange Carriers (LEC) are not allowed to handle long-distance traffic and Inter Exchange carriers are not allowed to handle local calls.
(2002-08-28)

interface
jargon A boundary across which two systems communicate. An interface might be a hardware connector used to link to other devices, or it might be a convention used to allow communication between two software systems. Often there is some intermediate component between the two systems which connects their interfaces together. For example, two EIA-232 interfaces connected via a serial cable.
See also graphical user interface, Application Program Interface.
(1996-05-22)

interface analysis
testing A software test which checks the interfaces between program elements for consistency and adherence to predefined rules or axioms.
(1996-07-09)

Interface Architect
An interface builder for Motif distributed by Hewlett-Packard (see UIMX).

Interface Definition Language
(IDL) 1. An OSF standard for defining RPC stubs.
[Details?]
2. Part of an effort by Project DOE at SunSoft, Inc. to integrate distributed object technology into the Solaris operating system. IDL provides the standard interface between objects, and is the base mechanism for object interaction.
The Object Management Group's CORBA 1.1 (Common Object Request Broker Architecture) specifies the interface between objects. IDL (Interface Definition Language) is the base mechanism for object interaction.
The SunSoft OMG IDL CFE (Compiler Front End) version 1.2 provides a complete framework for building CORBA 1.1-compliant preprocessors for OMG IDL. To use it you write a back-end. A complete compiler of IDL would translate IDL into client side and server side routines for remote communication in the same manner as Sun's current RPCL compiler. The IDL compiler front end allows integration of new back ends which can translate IDL to various programming languages.
Several companies including Sunsoft are building back ends to the CFE which translate IDL into target languages, e.g. Pascal or C++, in the context of planned CORBA-compliant products. IDL requires C++ 2.1.
Not to be confused with any of the other IDLs.
E-mail: idl-cfe@sun.com .
(ftp://omg.org/pub/omg_idl_cfe.tar.Z), (ftp://omg.org/pub/OMG_IDL_CFE_1.2/).
Telephone: Mache Creeger, SunSoft, Inc. +1 (415) 336 5884.
(1993-05-04)

Interface Description Language
(IDL) A language designed by Nestor, Lamb and Wulf of CMU in 1981 for describing the data structures passed between parts of an application, to provide a language-independent intermediate representation.
It forms part of Richard Snodgrass rts@cs.arizona.edu 's Scorpion environment development system.
Not to be confused with any of the other IDLs.
Mailing list: info-idl@sei.cmu.edu.
[ The Interface Description Language: Definition and Use, by Richard Snodgrass, Computer Science Press, 1989, ISBN 0-7167-8198-0].
[SIGPLAN Notices 22(11) (Nov 1987) special issue].
(1994-11-11)

Interface Message Processor
networking (IMP) The original message switching node on the ARPANET.
[More details?]
(1996-04-07)

Interior Gateway Protocol
(IGP) An Internet protocol which distributes routing information to the routers within an autonomous system. The term gateway is historical, router is currently the preferred term.
See also Exterior Gateway Protocol, Open Shortest Path First, Routing Information Protocol.
(1994-11-09)

interlace
progressive coding

interlaced image
progressive coding

interlacing
1. hardware A video display system which builds an image on the VDU in two phases, known as fields , consisting of even and odd horizontal lines.
The complete image (a frame ) is created by scanning an electron beam horizontally across the screen, starting at the top and moving down after each horizontal scan until the bottom of the screen is reached, at which point the scan starts again at the top. On an interlaced display, even numbered scan lines are displayed in the first field and then odd numbered lines in the second field.
For a given screen resolution, refresh rate (frames per second) and phosphor persistence, interlacing reduces flicker because the top and bottom of the screen are redrawn twice as often as if the scan simply proceded from top to bottom in a single vertical sweep.
2. graphics progressive coding.
(1998-02-25)

Interlan
A brand of Ethernet card.
(1994-11-09)

Interleaf
A document preparation system for Sun, VAX, Apollo and other workstations.
(1994-11-09)

interleave
interleaving

interleaving
See sector interleave.
[Other uses?]

INTERLINK
A commercial product comprising hardware and software for file transfer between IBM and VAX computers.

Interlisp
A dialect of Lisp developed in 1967 by Bolt, Beranek and Newman (Cambridge, MA) as a descendant of BBN-Lisp. It emphasises user interfaces. It is currently supported by Xerox PARC.
Interlisp was once one of two main branches of LISP (the other being MACLISP). In 1981 Common LISP was begun in an effort to combine the best features of both. Interlisp includes a Lisp programming environment. It is dynamically scoped. NLAMBDA functions do not evaluate their arguments. Any function could be called with optional arguments.
See also CLISP, Interlisp-10, Interlisp-D.
[ Interlisp Programming Manual , W. Teitelman, TR, Xerox Rec Ctr 1975].

Interlisp-10
An Interlisp with shallow binding.

Interlisp-D
Xerox's Interlisp with deep binding.

Intermedia
A hypertext system developed by a research group at IRIS (Brown University).

Intermedia Interchange Format
A Standard Hypertext Interchange format from IRIS.

Intermediate Distribution Frame
networking (IDF) A network closet containing a secondary hub, fed from the main hub.
(1995-05-05)

Intermediate Programming Language
language A very early attempt by Arthur W. Burks to express machine language at a higher level of abstraction. Like Plankalkül, it used a right-handed style of assignment, in which the location appears on the right.
(1995-05-09)

Intermediate System
(IS) An Open Systems Interconnection system which performs network layer forwarding. It is analogous to an IP router.
(1994-11-29)

Intermediate System-Intermediate System
(IS-IS) The OSI Interior Gateway Protocol.

Intermetrics, Inc.
A US software engineering company. Current and past products include CS-4, Red, Mwave Developers Toolkit (multimedia for IBM PC), cross-compilers for C and C++; Ada '83, Ada 95, and SAMeDL. They also supply client/server systems; custom software applications and turnkey systems; independent verification and validation; CAE integration technology; languages and compilers: Ada, C, C++, HDLs (MHDL), Modula, HAL/S, SPL/1, and others.
Address: Intermetrics, Inc., 733 Concord Avenue, Cambridge, MA 02138, USA. Telephone: +1 (617) 661 1840. Fax: +1 (617) 868 2843.
Address: 7918 Jones Branch Drive, McLean, Va 22102, USA. Telephone: +1 (703) 827-2606. Fax: +1 (703) 827-5560.
Also Houston, TX, Huntington Beach, CA, Warminster, PA, and others.
Home (http://www.inmet.com/)
E-mail: ps@wash.inmet.com .
(1994-10-11)

intermodulation distortion
electronics, communications (IMD) Nonlinear distortion in a system or transducer, characterised by the appearance in the output of frequencies equal to the sums and differences of integral multiples of the two or more component frequencies present in the input waveform.
(2000-08-21)

internal field separators
operating system ($IFS) A predefined environment variable in the Unix Bourne shell whose default value is the three-character string containing space, tab and line feed. Any string of one or more of these characters separates the command and each of its arguments in a command line.
$IFS also tells the shell's built-in read command where to split an input line when reading into multiple variables. E.g. setting IFS=: would be appropriate for reading a file with ':'-separated fields, such as /etc/passwd.
(1999-04-07)

Internal Translator
language, mathematics (IT) An early compiler for mathematics developed by A.J. Perlis et al at Carnegie Tech ca 1957. IT was originally written for the Burroughs 205, then the IBM 650.
IT was the forerunner of RUNCIBLE, GATE, CORRELATE and GAT. IT source code was converted to PIT, thence to SPIT.
IT-2 produced machine language directly, IT-3 developed at Carnegie added double-precision floating-point.
[Sammet 1969, pp. 139-141].
[CACM 1(5):22 1958].
(1994-11-30)

International Algebraic Language
ALGOL 58

International Atomic Time
time, standard (TAI) An international standard measurement of time based on the comparison of many atomic clocks. TAI is maintained by the Bureau International des Poids et Mesures (BIPM), the world's governing body for civil atomic time measurement. TAI is the basis for Coordinated Universal Time.
BIPM (http://www.bipm.fr/enus/5_Scientific/c_time/time_1.html).
(2001-08-02)

International Business Machines
company (IBM) The best known American computer manufacturer, founded by Thomas J. Watson (born 1874-02-17), known as Big Blue after the colour of its logo. IBM makes everything from mainframes to personal computers (PCs) and has been immensely successful in selling them, chiefly to business. It has often been said that Nobody has ever been sacked for buying IBM .
The IBM PC in its various versions has been so successful that unqualified reference to a PC almost certainly means a PC from IBM, or one of the many brands of clone produced by other manufacturers to cash in on IBM's original success.
Alternative expansions of IBM such as Inferior But Marketable; It's Better Manually; Insidious Black Magic; It's Been Malfunctioning; Incontinent Bowel Movement, illustrate the considerable antipathy most hackers have long felt toward the industry leader (see fear and loathing).
Quarterly sales $15351M, profits $689M (Aug 1994).
Home (http://www.ibm.com/).
(1999-04-07)

International Computers Limited plc
company (ICL) A UK hardware and software manufacturer specialising in systems integration in selected markets, supported by its service and technology businesses. ICL operates in over 80 countries worldwide, with 24000 employees and revenues of £2.6 billion in 1993.
ICL produced George 2, George 3, VME, OpenVME, Series 39, DME, CME, the ICL 1900 and ICL 2900 series.
Home (http://www.icl.co.uk/)
Usenet newsgroup: news:alt.sys.icl.
(1995-04-19)

International Core War Society
games, standard, body (ICWS) The official standards body for Core War.
(1996-02-16)

International Data Encryption Algorithm
algorithm, cryptography (IDEA) A conventional encryption algorithm, written by Xuejia Lai and James Massey, in 1992.
It is a block cipher, considered to be the best and most secure available, and operates on 64-bit blocks with a 128 bit key.
It is used by Pretty Good Privacy.
(1996-03-07)

International Electrotechnical Commission
standard, body (IEC) A standardisation body at the same level as ISO.
[Relationship? Why separate?]
(1995-04-21)

International Federation for Information Processing
body A multinational federation of professional and technical organisations (or national groupings of such organisations) concerned with information processing. From any one country, only one such organisation - which must be representative of the national activities in the field of information processing - can be admitted as a Full Member. In addition, a regional group of developing countries can be admitted as a Full Member. On 1 October 1993, 46 organisations were Full Members of the Federation, representing 66 countries.
IFIP was founded under the auspices of UNESCO and advises them and the ITU-T.
(http://www.dit.upm.es/~cdk/ifip.html)
(1995-03-10)

International Function Point Users Group
body, programming (IFPUG) A forum for the exchange of ideas about Function Point Analysis. IFPUG's membership now includes over 500 companies on four continents.
Telephone: +1 (614) 8957130.
(1995-03-10)

internationalisation
programming (i18n, globalisation, enabling, software enabling) The process and philosophy of making software portable to other locales.
For successful localisation, products must be technically and culturally neutral. Effective internationalisation reduces the time and resources required for localisation, improving time-to-market abroad and allowing simultaneous shipment. In orther words, internationalisation abstracts out local details, localisation specifies those details for a particular locale.
Technically this may include allowing double-byte character sets such as unicode or Japanese, local numbering, date and currency formats, and other local format conventions.
It also includes the separation of user interface text e.g. in dialog boxes and menus. All the text used by an application may be kept in a separate file or directory, so that it can be translated all at once. User interfaces may require more screen space for text in other languages.
The simplest form of internationalisation may be to make use of operating system calls that format time, date and currency values according to the operating system's configuration.
The abbreviation i18n means I - eighteen letters - N .
(1999-06-28)

internationalization
internationalisation

International Multimedia Teleconferencing Consortium
body (IMTC) A non-profit corporation formed in September 1994 comprising more than 150 companies from around the world. The IMTC encourages the development and implementation of interoperable multimedia teleconferencing systems based on international open standards.
Home (http://www.imtc.org/).
(1999-03-17)

International Olympiad in Informatics
event (IOI) An annual competition in computing science for senior pupils at secondary schools all over the world.
Home (http://www.win.tue.nl/win/ioi/).
(1996-12-07)

International Organisation for Standardisation
International Organization for Standardization

International Organization for Standardization
standard, body (ISO) A voluntary, nontreaty organisation founded in 1946, responsible for creating international standards in many areas, including computers and communications. Its members are the national standards organisations of 89 countries, including the American National Standards Institute.
ISO produced the OSI seven layer model for network architecture.
The term ISO is not actually an acronym for anything. It is a pun on the Greek prefix iso- , meaning same . Some ISO documents say ISO is not an acronym even though it is an anagram of the initials of the organisation's name.
Home (http://www.iso.ch/).
(1999-06-22)

International Phonetic Alphabet
text, human language (IPA) A system of symbols for representing pronunciation. There is no commonly agreed way to represent IPA in ASCII characters though it can be represented in Unicode.
[Reference?]
(1998-12-30)

International Programmable Airline Reservation System
application (IPARS) The international version of PARS, designated by IBM for use in all IBM World trade countries (i.e. outside domestic USA).
(1999-01-18)

International Smalltalk Association
body (ISA) A user group which published newsletters on Smalltalk-related issues, technical and general information. Its goal was to champion Smalltalk and its uses. It was disbanded around 1991.
(1995-02-16)

International Standard
standard The series of standards from ISO and its subcommitees.
[List? Text?]
(1995-04-21)

International Telecommunications Union
body, standard (ITU) ITU-T, the telecommunication standardisation sector of ITU, is responsible for making technical recommendations about telephone and data (including fax) communications systems for PTTs and suppliers. Before 1993-03-01 ITU-T was known as CCITT. Every four years they hold plenary sessions where they adopt new standards; there was one in 1992.
ITU works closely with all standards organisations to form an international uniform standards system for communication. Study Group XVII is responsible for recommending standards for data communications over telephone networks. They publish the V.XX standards and X.n protocols. V.21 is the same as EIA's EIA-232. V.24 is the same as EIA's EIA-232C. V.28 is the same as EIA's EIA-232D.
Address: International Telecommunication Union, Information Services Department, Place des Nations, 1211 Geneva 20, Switzerland.
Telephone: +41 (22) 730 5554. Fax: +41 (22) 730 5337.
E-mail: helpdesk@itu.ch , teledoc@itu.arcom.ch (Mail body: HELP).
Home (http://www.itu.ch/).
ITU-T standards can be obtained by FTP from Korea (ftp://kum.kaist.ac.kr/doc/STANDARDS/ccitt); UK - Imperial (ftp://src.doc.ic.ac.uk/pub/computing/ccitt/ccitt-standards/), HENSA (ftp://unix.hensa.ac.uk/pub/uunet/doc/literary/obi/Standards/CCITT); France - INRIA (ftp://croton.inria.fr/ITU/ccitt), IMAG (ftp://imag.imag.fr/doc/ccitt); Israel (ftp://cs.huji.ac.il/pub/doc/standards/ccitt); FTP USA: UUNET (ftp://ftp.uu.net/pub/lietrary/obi/Standards/CCITT), gatekeeper (ftp://gatekeeper.dec.com/pub/net/info/bruno.cs.colorado.edu/pub/standards/ccitt), world.std.com (ftp://world.std.com/obi/Standards/CCITT); Australia (ftp://metro.ucc.su.oz.au/pub/ccitt); Germany (ftp://quepasa.cs.tu-berlin.de/pub/doc/CCITT); Japan (ftp://sh.wide.ad.jp/CCITT);
(1995-01-16)

International Traffic in Arms Regulation
legal (ITAR) Now called the Defense Trade Regulations.

Internet
networking (Note: capital I ). The Internet is the largest internet (with a small i ) in the world. It is a three level hierarchy composed of backbone networks, mid-level networks, and stub networks. These include commercial (.com or .co), university (.ac or .edu) and other research networks (.org, .net) and military (.mil) networks and span many different physical networks around the world with various protocols, chiefly the Internet Protocol.
Until the advent of the World-Wide Web in 1990, the Internet was almost entirely unknown outside universities and corporate research departments and was accessed mostly via command line interfaces such as telnet and FTP. Since then it has grown to become an almost-ubiquitous aspect of modern information systems, becoming highly commercial and a widely accepted medium for all sort of customer relations such as advertising, brand building, and online sales and services. Its original spirit of cooperation and freedom have, to a great extent, survived this explosive transformation with the result that the vast majority of information available on the Internet is free of charge.
While the web (primarily in the form of HTML and HTTP) is the best known aspect of the Internet, there are many other protocols in use, supporting applications such as electronic mail, Usenet, chat, remote login, and file transfer.
There were 20,242 unique commercial domains registered with InterNIC in September 1994, 10% more than in August 1994. In 1996 there were over 100 Internet access providers in the US and a few in the UK (e.g. the BBC Networking Club, Demon, PIPEX).
There are several bodies associated with the running of the Internet, including the Internet Architecture Board, the Internet Assigned Numbers Authority, the Internet Engineering and Planning Group, Internet Engineering Steering Group, and the Internet Society.
See also NYsernet, EUNet.
The Internet Index (http://www.openmarket.com/intindex) - statistics about the Internet.
(2000-02-21)

internet
networking (Note: not capitalised) Any set of networks interconnected with routers. The Internet is the biggest example of an internet.
(1996-09-17)

Internet Access Provider
networking, company (IAP) A company or other origanisation which provides access to the Internet to businesses and/or consumers. An IAP purchases an Internet link from another company that has a direct link to the Internet and resells portions of that bandwidth to the general public.
For example, an IAP may purchase a T1 link (1.544Mb/s) and resell that bandwidth in chunks consisting of ISDN (64Kb/s, 128Kb/s) and analog modems (14.4Kb/s, 28.8Kb/s). The IAP's customer base is likely to include both businesses and individuals. Individual customers usually connect to the IAP via a modem and telephone line to a (preferably local) point of presence.
An IAP may also be an Internet Service Provider.
(1996-06-25)

Internet Adapter
networking, product The Internet Adapter (TIA). A program from Cyberspace Development which runs on a Unix shell account and acts as a SLIP emulator. A TIA emulated SLIP account is not quite the same as a real SLIP account but TIA's SLIP emulation is completely standard in terms of working with MacTCP-based software on the Macintosh (or WinSock on a Microsoft Windows machine).
You do not get your own Internet Address as you do with a real SLIP account, instead, TIA uses the IP number of the machine it runs on and redirects traffic back to you. You cannot set up your machine as an FTP server, for instance, since there's no IP number for an FTP client elsewhere to connect to.
TIA's performance is reportedly good, faster than normal SLIP in fact, and about as fast as Compressed SLIP. Future releases will support CSLIP and even PPP.
Cyberspace Development has ported TIA to several versions of Unix and more are on the way.
TERM is a free program which performs a similar function between two machines both running Unix.
Home (http://marketplace.com/)
Setting up TIA (http://www.webcom.com/~llarrow/tiarefg.html).
Telnet (telnet://marketplace.com)
Gopher (gopher://marketplace.com/)
FTP (ftp://marketplace.com/tia/)
E-mail: tia-info@marketplace.com .
(1995-04-12)

Internet address
networking (IP address, TCP/IP address) The 32-bit host address defined by the Internet Protocol in STD 5, RFC 791. It is usually represented in dotted decimal notation.
A hosts's Internet address is sometimes related to its Ethernet address. The Internet address is usually expressed in dot notation, e.g. 128.121.4.5. The address can be split into a network number (or network address) and a host number unique to each host on the network and sometimes also a subnet address. The way the address is split depends on its class , A, B or C as determined by the high address bits:
Class A - high bit 0, 7-bit network number, 24-bit host number. n1.a.a.a 0 = n1 = 127
Class B - high 2 bits 10, 14-bit network number, 16-bit host number. n1.n2.a.a 128 = n1 = 191
Class C - high 3 bits 110, 21-bit network number, 8-bit host number. n1.n2.n3.a 192 = n1 = 223
The Internet address must be translated into an Ethernet address by either ARP or constant mapping.
The term is sometimes used incorrectly to refer to a host's fully qualified domain name.
[Jargon File]
(1994-12-06)

internet address
networking (Note lower case i ). An IP address that uniquely identifies a node on an internet.
[Jargon File]
(1995-04-12)

Internet Architecture Board
(IAB) The technical body that oversees the development of the Internet suite of protocols. It has two task forces: the Internet Engineering Task Force and the Internet Research Task Force.
IAB previously stood for Internet Activities Board.
(1994-12-06)

Internet Assigned Numbers Authority
body, networking (IANA) The central registry for various assigned numbers : Internet Protocol parameters, such as port, protocol, and enterprise numbers; and options, codes, and types. The currently assigned values are listed in the Assigned Numbers document STD 2. To request a number assignment, e-mail iana@isi.edu .
(1994-12-06)

Internet backbone
communications, networking High-speed networks that carry Internet traffic.
These communications networks are provided by companies such as AT T, GTE, IBM, MCI, Netcom, Sprint, UUNET and consist of high-speed links in the T1, T3, OC1 and OC3 ranges. The backbones carry Internet traffic around the world and meet at Network Access Points (NAPs).
Internet Service Providers (ISPs) connect either directly to a backbone, or they connect to a larger ISP with a connection to a backbone.
The topology of the backbone and its interconnections may once have resembled a spine with ribs connected along its length but is now almost certainly more like a fishing net wrapped around the world with many circular paths.
[Map?]
(1998-07-02)

Internet Chess Server
networking, games An interactive meeting-place on the Internet where people can play chess against each other.
Usenet newsgroup: news:alt.chess.ics.
[Server address?]
(1995-03-25)

Internet Control Message Protocol
protocol (ICMP) An extension to the Internet Protocol (IP) that allows for the generation of error messages, test packets, and informational messages related to IP. It is defined in STD 5, RFC 792.
(1999-09-18)

Internet Corporation for Assigned Names and Numbers
body, networking (ICANN) The non-profit corporation that was formed to assume responsibility for IP address allocation, protocol parameter assignment, domain name system management, and root server system management functions now performed under U.S. Government contract by IANA and other entities.
ICANN Home (http://www.icann.org/).
(2002-01-09)

Internet-Draft
(I-D) A draft working document of the Internet Engineering Task Force, its Areas, and its Working Groups. As the name implies, Internet-Drafts are purely discussion documents with no formal status. They are valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. Very often, an I-D is a precursor to a Request For Comments.
(1994-12-08)

Internet Engineering and Planning Group
(IEPG) (http://iepg.org/).

Internet Engineering Steering Group
(IESG) A body composed of the Internet Engineering Task Force Area Directors and the IETF Chair. It provides the first technical review of Internet standards and is responsible for day-to-day management of the IETF.
(1994-12-08)

Internet Engineering Task Force
networking, standard, body (IETF) The IETF is a large, open international community of network designers, operators, vendors and researchers whose purpose is to coordinate the operation, management and evolution of the Internet and to resolve short- and mid-range protocol and architectural issues. It is a major source of proposals for protocol standards which are submitted to the Internet Architecture Board (IAB) for final approval. The IETF meets three times a year and extensive minutes are included in the IETF Proceedings.
The IETF Secretariat, run by The Corporation for National Research Initiatives with funding from the US government, maintains an index of Internet-Drafts whereas RFCs are maintained by The Internet Architecture Board.
Home (http://www.ietf.org).
(1999-01-27)

Internet Experiment Note
(IEN) A series of reports pertinent to the Internet. IENs were published in parallel to RFCs and are no longer active.
See also Internet-Draft, Request For Comments.
(1994-12-08)

Internet Explorer
World-Wide Web (IE, MSIE) Microsoft's free World-Wide Web browser for Microsoft Windows, Windows 95, Windows NT, and Macintosh. Internet Explorer is the main rival to Netscape Navigator (which runs on many more platforms). Both support the same core features and offer incompatible extensions.
Microsoft combined later versions of IE with their file system browser, Explorer and bundled it with Windows 95 in an attempt to use their dominance of the desktop operating system market to force users to abandon Netscape's browser, which they perceived as a potential threat. This, and other dubious business moves, became the subject of a US Department of Justice antitrust trial in late 1998/early 1999.
Home (http://www.microsoft.com/ie/).
(1999-01-31)

Internet Express
An Internet provider in Colorado Springs, USA. Formerly called the Community News Service. They provide SLIP accounts at no extra charge.
(1994-12-08)

Internet Go Server
games, networking (IGS) A place for Go players to meet and play via the Internet.
(telnet://igs.nuri.net:6969/)
(1995-03-17)

Internet Group Management Protocol
protocol (IGMP) An extension to the Internet Protocol, used by IP hosts to report their host group memberships to immediately-neighbouring multicast routers.
See also MBONE.
Version 1 of IGMP is defined in Appendix 1 of RFC 1112.
Version 2 is proposed in RFC 2236.
(1999-11-08)

Internet Information Server
World-Wide Web (IIS) Microsoft's web server and FTP server for Windows NT.
IIS is intended to meet the needs of a range of users: from workgroups and departments on a corporate intranet to ISPs hosting web sites that receive millions of hits per day.
Features include innovative web publishing, customisable tools, wizards, customisable management tools, flexible administration options, and analysis tools.
IIS makes it easy to share documents and information across a company intranet or the Internet, and is completely integrated with Windows NT Directory Services.
IIS 1.0 was released for Windows NT 3.51 and had a limited feature set.
IIS 2.0 was released with Windows NT 4.0 with a similar feature set to IIS 1.0.
IIS 3.0 quickly followed with many additions including Active Server Pages (ASP), ISAPI and ADO 1.0.
IIS 4.0 is built into Windows NT Server 4.0. It includes ASP 2.0, ISAPI and ADO 1.5.
Home (http://www.microsoft.com/iis).
Rival servers include Apache and Netscape Enterprise Server.
(1999-08-04)

Internet Inter-ORB Protocol
protocol, standard (IIOP) A protocol which will be mandatory for all CORBA 2.0 compliant platforms. The initial phase of the project is to build an infrastructure consisting of: an IIOP to HTTP gateway which allows CORBA clients to access WWW resources; an HTTP to IIOP gateway to let WWW clients access CORBA resources; a web server which makes resources available by both IIOP and HTTP; web browsers which can use IIOP as their native protocol.
Home (http://www.ansa.co.uk/ANSA/ISF/wwwCorba_1.html)
(1996-04-01)

Internet Message Access Protocol
protocol, messaging (IMAP) A protocol allowing a client to access and manipulate electronic mail messages on a server. It permits manipulation of remote message folders (mailboxes), in a way that is functionally equivalent to local mailboxes.
IMAP includes operations for creating, deleting, and renaming mailboxes; checking for new messages; permanently removing messages; searching; and selective fetching of message attributes, texts, and portions thereof. It does not specify a means of posting mail; this function is handled by a mail transfer protocol such as SMTP.
Current version: 4.
See RFC 2060, RFC 2061, and others.
Compare: POP.
(1999-03-14)

Internet Monthly Report
(IMR) Publication designed to communicate to the Internet Research Group the accomplishments, milestones reached, or problems discovered by the participating organisations.
(1994-12-08)

Internet Network Information Center
networking (InterNIC) In cooperation with the Internet community, the National Science Foundation developed and released in the Spring of 1992 a solicitation for one or more Network Information Service (NIS) Managers to provide and/or coordinate services for the NSFNet community. Three organisations were selected to receive cooperative agreements in the areas of Information Services, Directory and Database Services, and Registration Services. Together these three awards constitute the InterNIC. General Atomics provides information services, AT T provides directory and database services, and Network Solutions, Inc. (NSI) provides registration services.
Home (http://www.internic.net/).
(1999-07-09)

internet number
internet address

Internet Open Trading Protocol
protocol, business (IOTP, Formerly Open Trading Protocol , OTP) A specification that provides an interoperable framework for Internet commerce. It is optimised for the case where the buyer and the merchant do not have a prior acquaintance and is payment system independent. It will be able to encapsulate and support payment systems such as SET, Mondex, CyberCash's CyberCoin, DigiCash's e-cash, GeldKarte, etc. IOTP is able to handle cases where such merchant roles as the shopping site, the payment handler, the deliverer of goods or services, and the provider of customer support are performed by different Internet sites.
The IOTP specification is maintained by the IETF Internet Open Trading Protocol (trade) Working Group (http://www.ietf.org/html.charters/trade-charter.html).
Home (http://www.otp.org/).
(2001-09-22)

Internet Protocol
networking (IP) The network layer for the TCP/IP protocol suite widely used on Ethernet networks, defined in STD 5, RFC 791. IP is a connectionless, best-effort packet switching protocol. It provides packet routing, fragmentation and re-assembly through the data link layer.
IPv4 is the version in widespread use and IPv6 is just beginning to come into use in 2000.
[Other versions? Dates?]
(2000-12-19)

Internet Protocol Control Protocol
networking (IPCP) The Control Protocol for Internet Protocol.
[Details?]
(2002-06-29)

Internet Protocol version 4
networking, protocol The version of Internet Protocol in widespread use in 2000.
(2000-12-19)

Internet Protocol version 6
networking, protocol (IPv6, IPng, IP next generation) The most viable candidate to replace the current Internet Protocol. The primary purpose of IPv6 is to solve the problem of the shortage of IP addresses.
The following features have been purposed: 16-byte addresses instead of the current four bytes; embedded encryption - a 32-bit Security Association ID (SAID) plus a variable length initialisation vector in packet headers; user authentication (a 32-bit SAID plus variable length authentication data in headers); autoconfiguration (currently partly handled by Dynamic Host Configuration Protocol); support for delay-sensitive traffic - a 24 bit flow ID field in headers to denote voice or video, etc.
One possible solution is based on the TUBA protocol (RFC 1347, 1526, 1561) which is itself based on the OSI Connectionless Network Protocol (CNLP). Another is TP/IX (RFC 1475) which changes TCP and UDP headers to give a 64-bit IP address, a 32-bit port number, and a 64 bit sequence number.
RFC 1550 is a white paper on IPng.
[ Doubts About IPng could create TCP/IP chaos , Johna Till Johnson, Data Communications, Nov 1994].
(1995-04-03)

Internet Public Library
(IPL) A project at the University of Michigan School of Information and Library Studies to provide an on-line, 24 hour public library, chaired by an assemblage of librarians and information industry professionals. The library aims to provide library services to a target audience estimated to number 1/4 of the entire American population by the end of the century.
The Internet Public Library is scheduled to go on-line in March 1995. Among the first services will be on-line reference; youth services; user education; and professional services for librarians.
Home (http://ipl.sils.umich.edu/)
(telnet://ipl.sils.umich.edu/)
Mailing list: majordomo@sils.umich.edu.
(1995-07-20)

Internet Registry
(IR) The Internet Assigned Numbers Authority has the discretionary authority to delegate portions of its responsibility and, with respect to network address and Autonomous System identifiers, has lodged this responsibility with the IR. The IR function is performed by the Defense Data Network Network Information Center.

Internet Relay Chat
chat, messaging (IRC) /I-R-C/, occasionally /*rk/ A client-server chat system of large (often worldwide) networks. IRC is structured as networks of Internet servers, each accepting connections from client programs, one per user.
The IRC community and the Usenet and MUD communities overlap to some extent, including both hackers and regular folks who have discovered the wonders of computer networks. Some Usenet jargon has been adopted on IRC, as have some conventions such as emoticons. There is also a vigorous native jargon (see the entry for chat ).
The largest and first IRC network is EFNet, with a smaller breakaway network called the Undernet having existed since 1992, and dozens of other networks having appeared (and sometimes disappeared) since.
See also nick, bot, op.
Yahoo's IRC index (http://www.yahoo.com/Computers_and_Internet/Internet/Chat/IRC/)
(1998-01-25)

Internet Research Steering Group
body, standard (IRSG) The governing body of the Internet Research Task Force.
(1994-12-08)

Internet Research Task Force
(IRTF) The IRTF is chartered by the Internet Architecture Board to consider long-term Internet issues from a theoretical point of view. It has Research Groups, similar to Internet Engineering Task Force Working Groups, which are each tasked to discuss different research topics. Multi-cast audio/video conferencing and privacy enhanced mail are samples of IRTF output.
(1994-12-08)

Internet Security Association and Key Management Protocol
networking, protocol (ISAKMP) The definitions and procedures for authenticating communication between 2 peers. This includes the creation and management of Security Associations, key generation techniques, and threat mitigation. ISAKMP is proposed in RFC 2408.
(2000-02-08)

Internet Server Application Programming Interface
World-Wide Web (ISAPI) Microsoft's programming interface between applications and their Internet Server. Active Servers created with ISAPI extensions can be complete in-process applications themselves, or can connect to other services. ISAPI is used for the same sort of functions as CGI but uses Microsoft Windows dynamic link libraries (DLL) for greater efficiency. The server loads the DLL the first time a request is received and the DLL then stays in memory, ready to service other requests until the server decides it is no longer needed. This minimises the overhead associated with executing such applications many times.
An HTTP server can unload ISAPI application DLLs to free memory or preload them to speed up the first access. Applications can also be enhanced by ISAPI filters
(1997-01-06)

Internet Service Provider
company, networking (ISP) A company which provides other companies or individuals with access to, or presence on, the Internet. Most ISPs are also Internet Access Providers; extra services include help with design, creation and administration of World-Wide Web sites, training, and administration of intranets.
(1996-06-24)

Internet Society
body (ISOC) A non-profit, professional membership organisation which facilitates and supports the technical evolution of the Internet, stimulates interest in and educates the scientific and academic communities, industry and the public about the technology, uses and applications of the Internet, and promotes the development of new applications for the system. The Society provides a forum for discussion and collaboration in the operation and use of the global Internet infrastructure.
The Internet Society publishes a quarterly newsletter, the Internet Society News, and holds an annual conference, INET. The development of Internet technical standards takes place under the auspices of the Internet Society with substantial support from the Corporation for National Research Initiatives under a cooperative agreement with the US Federal Government.
Home (http://info.isoc.org/).
(1994-10-27)

Internet Telephony
IP Telephony

Internet Telephony Service Providers
communications (ITSP) Companies providing IP Telephony.
(1999-04-26)

internetworking
The interconnection of two or more networks, usually local area networks so that data can pass between hosts on the different networks as though they were one network. This requires some kind of router or gateway.
(1994-11-30)

Internetwork Packet eXchange
networking (IPX) A network layer protocol initially developed at XEROX Corporation and made popular by Novell, Inc. as the basic protocol in its Novell NetWare file server operating system.
A router with IPX routing can interconnect Local Area Networks so that Netware clients and servers can communicate.
The SPX transport layer protocol runs on top of IPX.
(1997-03-04)

Internet Worm
networking, security The November 1988 worm perpetrated by Robert T. Morris. The worm was a program which took advantage of bugs in the Sun Unix sendmail program, Vax programs, and other security loopholes to distribute itself to over 6000 computers on the Internet. The worm itself had a bug which made it create many copies of itself on machines it infected, which quickly used up all available processor time on those systems.
Some call it The Great Worm in a play on Tolkien (compare elvish, elder days). In the fantasy history of his Middle Earth books, there were dragons powerful enough to lay waste to entire regions; two of these (Scatha and Glaurung) were known as the Great Worms . This usage expresses the connotation that the RTM hack was a sort of devastating watershed event in hackish history; certainly it did more to make non-hackers nervous about the Internet than anything before or since.
(1995-01-12)

Internex On-Line
A rather cheap Internet service provider in Toronto, Canada.
(http://www.io.org/)
(1994-11-30)

InterNIC
Internet Network Information Center

interoperability
The ability of software and hardware on multiple machines from multiple vendors to communicate.

interoperable database
A database front-end which communicates with multiple heterogenous databases and makes them appear as a single homogenous entity with semantic calls.
See ODBC.
(1995-02-06)

inter-packet gap
networking A time delay between successive data packets mandated by the network standard for protocol reasons.
In Ethernet, the medium has to be silent (i.e., no data transfer) for a few microseconds before a node can consider the network idle and start to transmit. This is necessary for fairness reasons. The delay time, which approximately equals the signal propagation time on the cable, allows the silence to reach the far end so that all nodes consider the net idle.
(1995-11-11)

interpolation
mathematics, algorithm A mathematical procedure which estimates values of a function at positions between listed or given values. Interpolation works by fitting a curve (i.e. a function) to two or more given points and then applying this function to the required input. Example uses are calculating trigonometric functions from tables and audio waveform sythesis.
The simplest form of interpolation is where a function, f(x), is estimated by drawing a straight line ( linear interpolation ) between the nearest given points on either side of the required input value:
f(x) ~ f(x1) + (f(x2) - f(x1))(x-x1)/(x2 - x1)
There are many variations using more than two points or higher degree polynomial functions. The technique can also be extended to functions of more than one input.
(1997-07-14)

Interpress
Interpreted FORTH-like graphics language, possibly the first page description language, predating PostScript. Both are descendants of JaM. Used on Xerox printers.
[ Interpress, The Source Book , Steven Harrington et al, P-H 1988.]

interpreted
interpreter

interpreter
programming A program which executes other programs. This is in contrast to a compiler which does not execute its input program (the source code ) but translates it into executable machine code (also called object code ) which is output to a file for later execution. It may be possible to execute the same source code either directly by an interpreter or by compiling it and then executing the machine code produced.
It takes longer to run a program under an interpreter than to run the compiled code but it can take less time to interpret it than the total required to compile and run it. This is especially important when prototyping and testing code when an edit-interpret-debug cycle can often be much shorter than an edit-compile-run-debug cycle.
Interpreting code is slower than running the compiled code because the interpreter must analyse each statement in the program each time it is executed and then perform the desired action whereas the compiled code just performs the action. This run-time analysis is known as interpretive overhead . Access to variables is also slower in an interpreter because the mapping of identifiers to storage locations must be done repeatedly at run time rather than at compile time.
There are various compromises between the development speed when using an interpreter and the execution speed when using a compiler. Some systems (e.g. some Lisps) allow interpreted and compiled code to call each other and to share variables. This means that once a routine has been tested and debugged under the interpreter it can be compiled and thus benefit from faster execution while other routines are being developed. Many interpreters do not execute the source code as it stands but convert it into some more compact internal form. For example, some BASIC interpreters replace keywords with single byte tokens which can be used to index into a jump table. An interpreter might well use the same lexical analyser and parser as the compiler and then interpret the resulting abstract syntax tree.
There is thus a spectrum of possibilities between interpreting and compiling, depending on the amount of analysis performed before the program is executed. For example Emacs Lisp is compiled to byte-code which is a highly compressed and optimised representation of the Lisp source but is not machine code (and therefore not tied to any particular hardware). This compiled code is then executed (interpreted) by a byte code interpreter (itself written in C). The compiled code in this case is machine code for a virtual machine which is implemented not in hardware but in the byte-code interpreter.
See also partial evaluation.
(1995-01-30)

Interpretive Menu Processor
language (IMP) The language used to implement much of the user interface of the Alis office automation package from Applix, Inc.
(1996-04-07)

Inter-process Communication
programming, operating system (IPC) Exchange of data between one process and another, either within the same computer or over a network. It implies a protocol that guarantees a response to a request. Examples are Unix sockets, RISC OS's messages, OS/2's Named Pipes, Microsoft Windows' DDE, Novell's SPX and Macintosh's IAC.
Although IPC is performed automatically by programs, an analogous function can be performed interactively when users cut and paste data from one process to another using a clipboard.
(1995-12-14)

interrupt
programming 1. An asynchronous event that suspends normal processing and temporarily diverts the flow of control through an interrupt handler routine.
Interrupts may be caused by both hardware (I/O, timer, machine check) and software (supervisor, system call or trap instruction).
In general the computer responds to an interrupt by storing the information about the current state of the running program; storing information to identify the source of the interrupt; and invoking a first-level interrupt handler. This is usually a kernel level privileged process that can discover the precise cause of the interrupt (e.g. if several devices share one interrupt) and what must be done to keep operating system tables (such as the process table) updated. This first-level handler may then call another handler, e.g. one associated with the particular device which generated the interrupt.
2. Under MS-DOS, nearly synonymous with system call because the OS and BIOS routines are both called using the INT instruction (see interrupt list) and because programmers so often have to bypass the operating system (going directly to a BIOS interrupt) to get reasonable performance.
[Jargon File]
(1995-02-07)

interrupt handler
software A routine which is executed when an interrupt occurs. Interrupt handlers typically deal with low-level events in the hardware of a computer system such as a character arriving at a serial port or a tick of a real-time clock. Special care is required when writing an interrupt handler to ensure that either the interrupt which triggered the handler's execution is masked out (inhibitted) until the handler exits, or the handler is re-entrant so that multiple concurrent invocations will not interfere with each other.
If interrupts are masked then the handler must execute as quickly as possible so that important events are not missed. This is often arranged by splitting the processing associated with the event into upper and lower halves. The lower part is the interrupt handler which masks out further interrupts as required, checks that the appropriate event has occurred (this may be necessary if several events share the same interrupt), services the interrupt, e.g. by reading a character from a UART and writing it to a queue, and re-enabling interrupts.
The upper half executes as part of a user process. It waits until the interrupt handler has run. Normally the operating system is responsible for reactivating a process which is waiting for some low-level event. It detects this by a shared flag or by inspecting a shared queue or by some other synchronisation mechanism. It is important that the upper and lower halves do not interfere if an interrupt occurs during the execution of upper half code. This is usually ensured by disabling interrupts during critical sections of code such as removing a character from a queue.
(2002-07-24)

interrupt list
[MS-DOS] The list of all known software interrupt calls (both documented and undocumented) for IBM PCs and compatibles, maintained and made available for free redistribution by Ralf Brown ralf@cs.cmu.edu . As of late 1992, it had grown to approximately two megabytes in length.

interrupt priority level
The Motorola 68000 family of processors can be at an interrupt priority level from 0 (no interrupt in progress) up to 7. While the processor is handling an interrupt at one level, it will ignore other interrupts at that level or lower.
(1994-11-23)

interrupt request
(IRQ) The name of an input found on many processors which causes the processor to suspend normal instruction execution temporarily and to start executing an interrupt handler routine. Such an input may be either level sensitive - the interrupt condition will persist as long as the input is active or edge triggered - an interrupt is signalled by a low-to-high or high-to-low transition on the input. Some processors have several interrupt request inputs allowing different priority interrupts.
(1994-12-08)

interrupts
interrupt

Intersil 6100
(IMS 6100) A single chip design of the DEC PDP-8 minicomputer. The old PDP-8 design was very strange, and if it hadn't been popular, an awkward CPU like the 6100 would never been designed.
The 6100 was a 12-bit processor, which had exactly three registers - the PC, AC (an accumulator) and MQ. All 2 operand instructions read AC and MQ and wrote back to AC. It had a 12-bit address bus, limiting RAM to only 4K. Memory references were 7-bit (128 word) offset either from address 0, or the PC.
It had no stack. Subroutines stored the PC in the first word of the subroutine code itself, so recursion required fancy programming.
4K RAM was pretty much hopeless for general purpose use. The 6102 support chip (included in the 6120) added 3 address lines, expanding memory to 32K the same way that the PDP-8/E expanded the PDP-8. Two registers, IFR and DFR, held the page for instructions and data respectively (IFR was always used until a data address was detected). At the top of the 4K page, the PC wrapped back to 0, so the last instruction on a page had to load a new value into the IFR if execution was to continue.
(1994-11-23)

Intersil 6120
(IMS 6120) An improved version of the Intersil 6100, used in the DECmate.
(1994-11-23)

interupt
spelling It's spelled interrupt .
(1996-12-13)

InterViews
An object-oriented toolkit developed at Stanford University for building graphical user interfaces. It is implemented in C++ and provides a library of objects and a set of protocols for composing them.

interworking
standard Systems or components, possibly from different origins, working together to perform some task. Interworking depends crucially on standards to define the interfaces between the components. The term implies that there is some difference between the components which, in the absence of common standards, would make it unlikely that they could be used together. For example, software from different companies, running on different hardware and operating systems can interwork via standard network protocols.
(1998-11-22)

intranet
networking Any network which provides similar services within an organisation to those provided by the Internet outside it but which is not necessarily connected to the Internet. The commonest example is the use by a company of one or more World-Wide Web servers on an internal TCP/IP network for distribution of information within the company.
Since about 1995, intranets have become a major growth area in corporate computing due to the availability of cheap or free commercial browser and web server software which allows them to provide a simple, uniform hypertext interface to many kinds of information and application programs.
Some companies give limited access to their intranets to other companies or the general public. This is known as an extranet .
(1997-07-14)

Intrinsics
operating system, graphics A library package on top of Xlib, extending the basic functions of the X Window System. It provides mechanisms for building widget sets and application environments.
(1996-08-26)

Intrusion Countermeasure Electronics
security, jargon (ICE) A contrived acronym for security software, coined by Usenetter Tom Maddox and popularised by William Gibson's cyberpunk SF novels. In Gibson's novels ICE software responds to intrusion by attempting to literally kill the intruder.
The term is not in serious use as of 2000 apart from the commercial software product, BlackICE and a growing number of others.
See also: icebreaker.
[Jargon File]
(2000-03-18)

Intrusive Testing
testing Testing that collects timing and processing information during program execution that may change the behaviour of the software from its behavior in a real environment. Intrusive testing usually involves additional code embedded in the software being tested or additional processes running concurrently with software being tested on the same processor.
(1996-12-01)

Intuition
operating system The Amiga windowing system (a shared-code library).
(1997-08-01)

intuitionism
intuitionistic logic

intuitionistic logic
logic, mathematics Brouwer's foundational theory of mathematics which says that you should not count a proof of (There exists x such that P(x)) valid unless the proof actually gives a method of constructing such an x. Similarly, a proof of (A or B) is valid only if it actually exhibits either a proof of A or a proof of B.
In intuitionism, you cannot in general assert the statement (A or not-A) (the principle of the excluded middle); (A or not-A) is not proven unless you have a proof of A or a proof of not-A. If A happens to be undecidable in your system (some things certainly will be), then there will be no proof of (A or not-A).
This is pretty annoying; some kinds of perfectly healthy-looking examples of proof by contradiction just stop working. Of course, excluded middle is a theorem of classical logic (i.e. non-intuitionistic logic).
History (http://britanica.com/bcom/eb/article/3/0,5716,118173+14+109826,00.html).
(2001-03-18)

intuitionistic probability
logic Florentin Smarandache's representation of the probability of an event occuring, given by T, I, F which are real subsets representing the truth, indeterminacy, and falsity percentages respectively, and
n_sup = sup(T) + sup(I) + sup(F) 100
Related to intuitionistic logic.
[Florentin Smarandache, A Unifying Field in Logics. / Neutrosophy: Neutrosophic Probability, Set, and Logic , American Research Press, Rehoboth 1999].
(2001-03-18)

intuitionist logic
spelling Incorrect term for intuitionistic logic .
(1999-11-24)

invariant
programming A rule, such as the ordering of an ordered list or heap, that applies throughout the life of a data structure or procedure. Each change to the data structure must maintain the correctness of the invariant.
(1996-03-12)

inverse
mathematics Given a function, f : D - C, a function g : C - D is called a left inverse for f if for all d in D, g (f d) = d and a right inverse if, for all c in C, f (g c) = c and an inverse if both conditions hold. Only an injection has a left inverse, only a surjection has a right inverse and only a bijection has inverses. The inverse of f is often written as f with a -1 superscript.
(1996-03-12)

Inverse Address Resolution Protocol
networking, protocol (InARP) Additions to ARP typically used for Frame Relay. [Any other examples of its use?]
Frame Relay stations route frames of a higher level protocol between LANs, across a Permanent Virtual Circuit. These stations are identified by their Data Link Control Identifier (DLCI), equivalent to an Ethernet address in a LAN itself.
InARP allows a station to determine a protocol address (e.g. IP address) from a DLCI. This is useful if a new virtual circuit becomes available. Signalling messages announce its DLCI, but without the corresponding protocol address it is unusable: no frames can be routed to it.
Reverse ARP (RARP) performs a similar task on an Ethernet LAN, however RARP answers the question What is my IP Address? whereas InARP answers the question What is your protocol address? .
See RFC 2390.
(2000-01-15)

inverted index
database, information science A sequence of (key, pointer) pairs where each pointer points to a record in a database which contains the key value in some particular field. The index is sorted on the key values to allow rapid searching for a particular key value, using e.g. binary search. The index is inverted in the sense that the key value is used to find the record rather than the other way round. For databases in which the records may be searched based on more than one field, multiple indices may be created that are sorted on those keys.
An index may contain gaps to allow for new entries to be added in the correct sort order without always requiring the following entries to be shifted out of the way.
(1995-02-08)

InWorld VR
company, virtual reality Manufacturers of the CyberWand.
(1995-04-04)

io
networking The country code for British Indian Ocean territory.
(1999-01-27)

I/O
Input/Output

IOI
International Olympiad in Informatics

Iomega Corporation
company, storage A storage device manufacturer whose major products are the Zip and Jaz removable disk drives and Ditto tape drives. They became popular with an early product called the Bernoulli Box.
These products fall in line with their focus set in 1994 to help people manage their stuff . The company's stated aim is to create portable, fast, large and cheap storage solutions. Iomega's major competitor in the growing market for removable disks is SyQuest, who seem to always be a few weeks behind them.
In general, Iomega target the Small Office/Home Office. They are also investigating the growing digital photography market which also needs large removable storage devices.
Iomega's president and CEO is Kim Edwards. They have nearly 2000 employees in offices world-wide. Revenue for the quarter ending Dec 1996 was $371 million and net income was $20 million.
Headquarters: Roy, Utah, USA.
Home (http://www.iomega.com/index.html).
(1997-04-15)

I-OOA
A tool, developed and sold by the Kennedy-Carter company, that supports the Schlaer Mellor design method, and that generates code in C and C++. This tool can be modified to generate code of different styles, and also, to generate code in different programming languages.
(1995-01-31)

I/O redirection
input/output redirection

IOS
Internetworking Operating System

Iota
language, specification A specification language.
[ The Iota Programming System , R. Nakajima er al, Springer 1983].
(1994-12-08)

IOT E
Initial Operational Test and Evaluation

IOW
chat in other words.
(1997-05-26)

IP
Internet Protocol

IPA
International Phonetic Alphabet

IP address
Internet address

IPARS
International Programmable Airline Reservation System

I-Pay
protocol A Dutch only payment system for the Internet.
[Reference?]
(1998-04-28)

IPC
Inter-Process Communication

IPCP
Internet Protocol Control Protocol

IPE
Integrated Programming Environment

IPL
1. Information Processing Language.
2. Internet Public Library.
3. Initial Program Load.
4. Initial Program Loader.
(1997-08-31)

IP next generation
Internet Protocol Version 6

IPng
Internet Protocol Version 6

IP number
Internet address

IPS
A threaded language.
[ IPS, An Unorthodox High Level Language , K. Meinzer, BYTE pp. 146-159 (Jan 1979)].
(1994-11-04)

IPSE
Integrated Project Support Environment

IPsec
networking, protocol, security ( IP Secure ?) A protocol that provides security for transmission of sensitive information over unprotected networks such as the Internet. IPsec acts at the network layer, protecting and authenticating IP packets between participating devices ( peers ), such as Cisco routers.
IETF IPsec (http://www.ietf.org/ids.by.wg/ipsec.html).
(2002-05-06)

IPT
IP Telephony

IP Telephony
communications (IPT, Internet Telephony) Use of IP data connections to exchange voice and fax data that have traditionally been carried over the public switched telephone network.
During the late 1990s, an increasing number of telephone calls have been routed over the Internet. Calls made in this way avoid PSTN charges. Unlike traditional telephony, IP telephony is relatively unregulated.
Companies providing these services are known as Internet Telephony Service Providers (ITSPs). They include telephone companies, cable TV companies and Internet Service Providers (ISPs).
There are still many problems with voice quality, latency, compression algorithms, and quality of service.
Voice over IP is an organised effort to standardise IP telephony.
See also Computer Telephone Integration.
Internet Telephony Overview (http://www.fokus.gmd.de/research/cc/glone/projects/ipt/).
(1999-03-17)

IPv4
Internet Protocol version 4

IPv6
Internet Protocol version 6

IPX
Internetwork Packet eXchange

IPXCP
networking Internetwork Packet eXchange Control Protocol.
(1995-09-27)

IQ
Pictorial query language, implemented in Ratfor.
[ Structured Implementation of an Image Query Language , Y.E. Lien et al, in Database Techniques for Pictorial Applications, A. Blaser ed, pp.416-430].

iq
networking The country code for Iraq.
(1999-01-27)

IQL
An object-oriented deductive language/database system.

IR
1. networking Internet Registry.
2. electronics infrared.
(1997-01-30)

ir
networking The country code for Iran.
(1999-01-27)

IrBUS
IrDA Control

IRC
Internet Relay Chat

ircop
messaging /*r'-kop/ ( IRC + op , but with the, presumably intentional, alternate analysis IRC + cop ) Someone who is endowed with privileges on IRC, not limited to a particular channel. These privileges include channel op privileges in any channel, but also notably include the ability to disconnect a user from the IRC network.
Ircops are generally people who are in charge of the IRC server at their particular site. Compare op.
(1997-12-12)

IRC penis war
penis war

IrDA
Infrared Data Association

IrDA-C
IrDA Control

IrDA Control
standard (IrDA-C, formerly IrBUS) Infrared standard from IrDA. IrDA Control is a low speed communication standard that allows cordless peripherals such as keyboards, mice, game pads, and joysticks to interact with intelligent host devices. Host devices include PCs, home appliances, game machines, and television and web set-top boxes.
IrDA Control supports data rates of 75 Kbps at up to 8 metres, and is designed to integrate with devices that use USB HID. Parts and products featuring IrDA Control are expected in 1998.
See also IrDA Data, AIR.
(1999-10-14)

IrDA Data
standard (IrDA-D) Infrared standards from IrDA. IrDA Data is designed for data transfer over a distance of up to 1 metre, acting as a point-to-point cable replacement. Several IrDA Data standards exist, supporting data rates from 9600 bps - 50 Mbps, namely SIR, FIR, and VFIR.
See also IrDA Control, AIR.
(1999-10-14)

IRDATA
robotics Industrial Robot DATA. A standardised robot control code. IRDATA, Industrial Robot Data , DIN 66313, Beuth-Verlag 1991.

IRDP
ICMP Router Discovery Protocol

IRDS
Information Resource Dictionary System. A set of ISO standards for CASE repositories. It governs the definition of data dictionaries to be implemented on top of relational databases (see repository, data dictionary).

IRET
Return from interrupt

IRIS
Institute for Research in Information and Scholarship of Brown University (Providence RI).
(1994-11-04)

Iris
An object-oriented DBMS.
(1994-11-04)

IRIX
operating system /ir'iks/ The main operating system used by Silicon Graphics workstations and servers. IRIX is multiprocessor and multi-threaded. It incorporates substantial functionality from UNIX System V, Release 4.1 and 4.2.
(1997-06-17)

IRL
1. jargon, chat In real life. Generally synonymous with f2f.
2. language, robotics Industrial Robot Language.
(1997-01-31)

IRM
Information Resource Management

iron
Hardware, especially older and larger hardware of mainframe class with big metal cabinets housing relatively low-density electronics (but the term is also used of modern supercomputers). Often in the phrase big iron. Oppose silicon.
See also dinosaur.
[Jargon File]
(1994-11-04)

Iron Age
history In the history of computing, 1961-1971 - the formative era of commercial mainframe technology, when ferrite core memory dinosaurs ruled the earth. The Iron Age began, ironically enough, with the delivery of the first minicomputer (the PDP-1) and ended with the introduction of the first commercial microprocessor (the Intel 4004) in 1971.
See also Stone Age; compare elder days.
[Jargon File]
(1997-02-19)

iron box
[Unix/Internet] A special environment set up to trap a cracker logging in over remote connections long enough to be traced. May include a modified shell restricting the cracker's movements in unobvious ways, and bait files designed to keep him interested and logged on. See also back door, firewall machine, Venus flytrap, and Clifford Stoll's account in The Cuckoo's Egg of how he made and used one. Compare padded cell.
[Jargon File]

Ironman
HOLWG, DoD, Jan 1977, revised Jul 1977. Fourth of the series of DoD requirements that led to Ada. Department of Defense Requirements for High Order Computer Programming Languages , SIGPLAN Notices 12(12):39-54 (Dec 1977). Revised Ironman Requirements for High Order Computer Programming Languages , US Dept of Defense, Jul 1977. (See Strawman, Woodenman, Tinman, Steelman).

ironmonger
[IBM] A hardware specialist (derogatory). Compare sandbender, polygon pusher.
[Jargon File]

IRQ
interrupt request

irrational number
mathematics A real number which is not a rational number, i.e. it is not the ratio of two integers.
The decimal expansion of an irrational is infinite but does not end in an infinite repeating sequence of digits.
Examples of irrational numbers are pi, e and the square root of two.
(1995-04-12)

irrefutable
The opposite of refutable.

IRSG
Internet Research Steering Group

IRTF
Internet Research Task Force

IRUS
Irvine Research Unit in Software

Irvine Dataflow
language (Always called Id ) A non-strict, single assignment language and incremental compiler developed by Arvind and Gostelow and used on MIT's Tagged-Token Dataflow Architecture and planned to be used on Motorola's Monsoon.
See also Id Nouveau.
[ An Asynchronous Programming Language for a Large Multiprocessor Machine , Arvind et al, TR114a, Dept ISC, UC Irvine, Dec 1978].
[ The U-Interpreter , Arvind et al, Computer 15(2):42-50, 1982].
(1998-02-14)

Irvine Research Unit in Software
body (IRUS) The University of California, Irvine.
[Details?]
(1995-04-18)

IS
1. standard International Standard.
2. Intermediate System.

is
networking The country code for Iceland.
(1999-01-27)

IS-11172
standard The International Standard for MPEG-1 compression.
(1999-01-06)

IS-13818
standard The International Standard for MPEG-2 compression.
(1999-01-06)

ISA
1. architecture Integrated Systems Architecture.
2. body International Smalltalk Association.
3. architecture instruction set architecture.
4. architecture Industry Standard Architecture.
(1997-02-13)

Isabelle
theory, tool A generic theorem prover with support for several object-logics, developed by Lawrence C. Paulson Larry.Paulson@cl.cam.ac.uk in collaboration with Tobias Nipkow (http://www.in.tum.de/~nipkow/) at the Technical University of Munich.
A system of type classes allows polymorphic object-logics with overloading and automatic type inference.
Isabelle supports first-order logic - constructive and classical versions; higher-order logic, similar to Gordon's HOL; Zermelo Fränkel set theory; an extensional version of Martin Löf's type theory, the classical first-order sequent calculus, LK; the modal logics T, S4, and S43; and Logic for Computable Functions.
An object logic's syntax and inference rules are specified declaratively allowing single-step proof construction. Proof procedures can be expressed using tactics and tacticals . Isabelle provides control structures for expressing search procedures and generic tools such as simplifiers and classical theorem provers which can be applied to object-logics. Isabelle is built on top of Standard ML and uses its user interface.
Home (http://www.cl.cam.ac.uk/Research/HVG/Isabelle/).
Mailing list: isabelle-users@cl.cam.ac.uk.
[ tactics ? tacticals ?]
(1999-07-26)

Isabelle-92
Isabelle

Isabelle-93
Isabelle

ISA bus
Industry Standard Architecture

ISAKMP
Internet Security Association and Key Management Protocol

ISAM
Indexed Sequential Access Method

ISAPI
Internet Server Application Programming Interface

ISAPI filter
World-Wide Web A replaceable DLL which the server calls whenever there is an HTTP request. When the filter is first loaded, it communicates to the server what sort of notifications will be accepted. After that, whenever a selected event occurs, the filter is called to process the event.
Example applications of ISAPI filters include custom authentication schemes, compression, encryption, logging, traffic analysis or other request analyses.
(1997-01-06)

ISBL
language A mathematical query language.
[Stands for? Details?]
(1997-01-06)

ISDE
Integrated Software Development Environment: equivalent to an IPSE.

ISDN
Integrated Services Digital Network

ISE
Interactive Software Engineering

ISEE
Integrated Software Engineering Environment - equivalent to SEE.

I see no X here.
games Hackers (and the interactive computer games they write) traditionally favour this slightly marked usage over other possible equivalents such as There's no X here! or X is missing. or Where's the X? . This goes back to the original PDP-10 ADVENT, which would respond in this wise if you asked it to do something involving an object not present at your location in the game.
[Jargon File]

ISETL
Interactive SETL by Gary Levin gary@clutx.clarkson.edu .
Current version: 3.0.
Binaries (ftp://sun.soe.clarkson.edu/) and source for MS-DOS, Macintosh, Unix, VAX/VMS.
[Clarkson U. An Introduction to ISETL Version 1.9 , G.M. Levin, Dept MCS, Clarkson U].
[ Learning discrete mathematics with ISETL , Nancy Baxter. Ed. Gary Levin Dubinsky. Springer-Verlag, c.1989.]
(Apr 1994)

ISF
Information Systems Factory

ISINDEX
World-Wide Web An HTML tag which tells the browser to display a text entry box on the current page. Any text entered in the box by the user is appended as a URL-encoded query string to the current URL and sent to the server using a GET method.
This is a simple way of making a web site searchable or allowing other kinds of simple user input. It relies on the server mapping the query URL to an appropriate process, probably depending on the page in which the ISINDEX appeared. More complex input can be catered for using the FORM tag, or Java.
(1996-12-22)

ISIS
1. A toolkit for implementing fault-tolerant distributed systems, developed at Cornell and now available commercially
2. A dialect of JOSS.
[Sammet 1969, p. 217].

IS-IS
Intermediate System-Intermediate System

ISL
Interface Specification Language. Xerox PARC. Interface description language used by the ILU (Inter-Language Unification) system. Includes descriptions of multiple inheritance, exceptions and garbage collection.
E-mail: Bill Janssen janssen@parc.xerox.com .

ISLisp
International Standard Lisp.
An object-oriented Lisp intended as an international replacement for Common Lisp, EuLisp, Le-Lisp and Scheme. The standard's goals are object orientation, extensibility, efficiency, and suitability for non-academic use.
The standard is defined in ISO WG 16, draft Dec 1992.
(ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/islisp/)
(1995-02-14)

ISMAP
(World-Wide Web) An attribute of the HTML tag IMG (inline image) which specifies that if the image is selected, the browser will generate a request indicating the coordinates of the point which was clicked. This request is then interpreted by the server by mapping certain regions of the image to certain actions.
Documentation (http://www.utirc.utoronto.ca/HTMLdocs/NewHTML/image.html).
(1995-02-14)

ISO
International Organization for Standardization

ISO 10646
Universal Character Set

ISO 8072
transport layer

ISO 8073
transport layer

ISO 8208
X.25

ISO 8326
session layer

ISO 8327
session layer

ISO 8613
Open Document Architecture

ISO 8649
Association Control Service Element

ISO 8650
Association Control Service Element

ISO 8805
GKS-3D

ISO 8807
LOTOS

ISO 8822
presentation layer

ISO 8823
presentation layer

ISO 8825
Basic Encoding Rules

ISO 8859
standard, character ( ISO Latin 1 ) One of ISO's 8-bit single-byte coded graphic character sets for European languages.
Part 1 (full name: ISO 8859-1:1987 Information processing -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1 ) is a common extension of, and replacement for, ASCII.
Roman Czyborra's page (http://czyborra.com/charsets/iso8859.html).
ISO catalogue (http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=28245).
(2001-12-28)

ISO 8859-1
ISO 8859

ISO 8879
standard, character The ISO standard defining SGML.
(1995-05-03)

ISO 9000
A set of international standards for both quality management and quality assurance that has been adopted by over 90 countries worldwide. The ISO 9000 standards apply to all types of organisations, large and small, and in many industries.
The standards require: standard language for documenting quality processes; system to manage evidence that these practices are instituted throughout an organisation; and third-party auditing to review, certify, and maintain certification of organisations. The ISO 9000 series classifies products into generic product categories: hardware, software, processed materials, and services.
Documentation is at the core of ISO 9000 conformance. In fact, the standards have been paraphrased as:
Say what you do. Do what you say. Write it down.
In Britain it is associated with BS5750 which may become obsolete.
[ The ISO 9000 Guide, c. 1993 Interleaf, Inc].
(1995-01-30)

ISO 9072
Remote Operations Service Element

ISO 9660
standard The ISO standard defining a file system for CD-ROMs.
[Details? Reference?]
(1995-03-28)

ISO 9735
standard, protocol (Or EDIFACT ) ISO's 1988 standard for Electronic data interchange for administration, commerce and transport. It defines application layer syntax. It was amended and reprinted in 1990.
(http://www.iso.ch/cate/d17592.html)
(1995-03-10)

ISOC
Internet Society

ISO C
ANSI C

isochronous
communications /i:-sok'rn-*s/ A form of data transmission that guarantees to provide a certain minimum data rate, as required for time-dependent data such as video or audio.
Isochronous transmission transmits asynchronous data over a synchronous data link so that individual characters are only separated by a whole number of bit-length intervals. This is in contrast to asynchronous transmission, in which the characters may be separated by arbitrary intervals, and with synchronous transmission [which does what?].
Asynchronous Transfer Mode and High Performance Serial Bus can provide isochronous service.
Compare: plesiochronous.
[ANIXTER, LAN Magazine 7.93]
[Better explanation?]
(1999-03-12)

isochronous transfer
isochronous

ISODE
ISO Development Environment

ISO Development Environment
(ISODE) /eye-so-dee-eee/ Software that implements a set of OSI upper-layer services. It supports OSI applications on top of OSI and TCP/IP networks.
(1994-12-15)

ISO/IEC 10646-1
Universal Character Set

isolated
compact

ISO Latin 1
ISO 8859

isometry
mathematics A mapping of a metric space onto another or onto itself so that the distance between any two points in the original space is the same as the distance between their images in the second space. For example, any combination of rotation and translation is an isometry of the plane.
(1997-12-13)

isomorphic
mathematics Two mathematical objects are isomorphic if they have the same structure, i.e. if there is an isomorphism between them. For every component of one there is a corresponding component of the other.
(1995-03-25)

isomorphism
mathematics A bijective map between two objects which preserves, in both directions, any structure under consideration. Thus a `group isomorphism' preserves group structure; an order isomorphism (between posets) preserves the order relation, and so on. Usually it is clear from context what sort of isomorphism is intended.
(1995-03-25)

isomorphism class
mathematics A collection of all the objects isomorphic to a given object. Talking about the isomorphism class (of a poset, say) ensures that we will only consider its properties as a poset, and will not consider other incidental properties it happens to have.
(1995-03-25)

ISO Pascal
A Lex scanner and Yacc parser are in the comp.sources.unix volume 13 archive.
[More detail?]

ISO seven layer model
Open Systems Interconnect

ISP
1. Internet Service Provider.
2. Instruction Set Processor.

ISPBX
Integrated Services Digital Network PBX.

ISPF
Interactive System Productivity Facility

ISPL
Instruction Set Processor Language. The original ISP language, written in BLISS ca 1971.
[ Computer Structures: Readings and Examples , D.P. Siewiorek et al, McGraw-Hill 1982].

ISPS
Instruction Set Processor Specifications. Operational hardware specification language. Successor to ISPL.
[ Instruction Set Processor Specifications , M.R. Barbacci et al, IEEE Trans Computers, C-30(1):24-80 (Jan 1981)].
[Bell, Newell, Siewiorek, Barbacci 1982?]

IST
company Imperial Software Technology.
(1995-10-12)

ISTAR
programming, tool An experimental IPSE from Imperial Software Technology.
(1995-10-12)

ISTM
chat It seems to me.
(2000-07-06)

ISV
Independent Software Vendor (not a hardware manufacturer).

ISWIM
If You See What I Mean. Landin 1966. ISWIM is purely functional, a sugaring of lambda-calculus, and the ancestor of most modern applicative languages. An ISWIM program is a single expression qualified by 'where' clauses (auxiliary definitions including equations among variables), conditional expressions and function definitions. ISWIM was the first language to use lazy evaluation and introduced the offside rule for indentation.
[ The Next 700 Programming Languages , P.J. Landin, CACM 9(3):157-166 (Mar 1966)].

IT
1. business, jargon Information Technology.
2. language, mathematics, history Internal Translator.
(2000-10-02)

it
networking The country code for Italy.
(1999-01-27)

ITAR
International Traffic in Arms Regulation

Iterated Function System
graphics (IFS) A class of fractals that yield natural-looking forms like ferns or snowflakes. Iterated Function Systems use a very easy transformation that is done recursively.
(1998-04-04)

iteration
programming Repetition of a sequence of instructions. A fundamental part of many algorithms. Iteration is characterised by a set of initial conditions, an iterative step and a termination condition.
A well known example of iteration in mathematics is Newton-Raphson iteration. Iteration in programs is expressed using loops, e.g. in C:
new_x = n/2; do
x = new_x;
new_x = 0.5 * (x + n/x); while (abs(new_x-x) epsilon);
Iteration can be expressed in functional languages using recursion:
solve x n = if abs(new_x-x) epsilon
then solve new_x n
else new_x
where new_x = 0.5 * (x + n/x)
solve n/2 n
(1998-04-04)

iterative deepening
A graph search algorithm. When searching for a path through a graph from a given initial node to a solution node with some desired property, a depth-first search may never find a solution if it enters a cycle in the graph. We can either add an explicit check for cycles so that we never extend a path with a node it already contains or we can use iterative deepening where we explore all paths up to length (or depth ) N, starting from N=0 and increasing N until a solution is found.
(1995-02-14)

iterator
programming An object or routine for accessing items from a list, array or stream one at a time.
By extension, the term can be used for an object or routine for accesing items from any data structure that can be viewed as a list. For example, a traverser is an iterator for tree-shaped data structures.
(2001-10-04)

Iternet
spelling It's spelled Internet .
(1997-04-07)

ITHACA
An Esprit project to put a 4th generation object-oriented system to practical use in an industrial environment. The ITHACA environment offers an application support system incorporating advanced technologies in the fields of object-oriented programming, programming languages, database technologies, user interface systems and software development tools.

ITIL
Information Technology Infrastructure Library

ITP
Intent to Package

ITS
1. Incompatible time-sharing System
An influential but highly idiosyncratic operating system written for the PDP-6 and PDP-10 at MIT and long used at the MIT AI Lab. Much AI-hacker jargon derives from ITS folklore, and to have been an ITS hacker qualifies one instantly as an old-timer of the most venerable sort. ITS pioneered many important innovations, including transparent file sharing between machines and terminal-independent I/O. After about 1982, most actual work was shifted to newer machines, with the remaining ITS boxes run essentially as a hobby and service to the hacker community. The shutdown of the lab's last ITS machine in May 1990 marked the end of an era and sent old-time hackers into mourning nationwide (see high moby). The Royal Institute of Technology in Sweden is maintaining one live ITS site at its computer museum (right next to the only TOPS-10 system still on the Internet), so ITS is still alleged to hold the record for OS in longest continuous use (however, WAITS is a credible rival for this palm).
2. A mythical image of operating system perfection worshiped by a bizarre, fervent retro-cult of old-time hackers and ex-users (see troglodyte). ITS worshipers manage somehow to continue believing that an OS maintained by assembly language hand-hacking that supported only monocase 6-character filenames in one directory per account remains superior to today's state of commercial art (their venom against Unix is particularly intense).
See also holy wars, Weenix.
[Jargon File]
(1994-12-15)

it's a feature
jargon From the adage It's not a bug, it's a feature. Used sarcastically to describe an unpleasant experience that you wish to gloss over.
(1997-04-29)

ITSP
Internet Telephony Service Providers

ITU
International Telecommunications Union

ITU-T
International Telecommunications Union

ITU-T X.680
Coordinated Universal Time

ITU X.209
Basic Encoding Rules

Ivan
A Diana-like language making up part of VHDL.
[ VHDL - The Designer Environment , A. Gilman, IEEE Design Test 3, (Apr 1986)].

Ivan Sutherland
Ivan E. Sutherland is widely known for his pioneering contributions. His 1963 MIT PhD thesis, Sketchpad, opened the field of computer graphics. His 1966 work, with Sproull, on a head-mounted display anticipated today's virtual reality by 25 years. He co-founded Evans and Sutherland, which manufactures the most advanced computer image generators now in use. As head of Computer Science Department of Caltech he helped make integrated circuit design an acceptable field of academic study. Dr. Sutherland is on the boards of several small companies and is a member of the National Academy of Engineering and the National Academy of Sciences, the ACM and IEEE. He received the ACM's Turing Award in 1988. He is now Vice President and Fellow of Sun Microsystems Laboratories in Mountain View, CA, USA.
(1994-11-16)

Iverson's Language
APL, which went unnamed for many years.
[Sammet 1969, p.770].
(1994-11-16)

IVR
Interactive Voice Response

ivs
INRIA Videoconferencing System.
A video-conferencing tool for the Internet based on the H.261 video compression standard.
(http://zenon.inria.fr:8003/rodeo/personnel/Thierry.Turletti/ivs.html)
(1994-11-16)

IVTRAN
Parallel Fortran for the Illiac IV. 1966.

IV V
Independent Verification and Validation

IVY
A language with a more pleasant syntax than Perl, tcl or Lisp. It has nice features like low punctuation count, blocks indicated by indentation, and similarity to normal procedural languages. This language started out as an idea for an extension language for the editor JOE.
An experimental interpreter by Joseph H Allen jhallen@world.std.com was posted to alt.sources on 28 Sep 1993.

IWay
Information Superhighway

IWBNI
It Would Be Nice If.
Compare WIBNI.
[Jargon File]
(1994-11-24)

IXC
IntereXchange Carrier

IXI Limited
company A Cambridge, England company who were the leading supplier of Unix System windowing software when they were acquired by SCO in February 1993.
(1994-12-12)

IXO
Telocator Alphanumeric Protocol

IYFEG
(Usenet) Insert Your Favourite Ethnic Group.
Used as a meta-name when telling ethnic jokes on the net to avoid offending anyone.
See also JEDR.
[Jargon File]
(1994-11-24)

A derivative and redesign of APL with added features and control structures. J is purely functional with lexical scope and more conventional control structures, plus several new concepts such as function rank and function arrays. J was designed and developed by Kennneth E. Iverson and Roger Hui hui@yrloc.ipsa.reuter.com . J uses only the ASCII character set but has a spelling scheme that retains the advantages of APL's special alphabet. J is a conventional procedural programming language but can be used as a purely functional language.
Version 4.1 for MS-DOS, Sun, Mac, Archimedes. Source available in C from Iverson Software, +1 (416) 925 6096.
Version 6 package from ISI includes an interpreter and tutorial. Ported to DEC, NeXT, SGI, Sun-3, Sun-4, Vax, RS/6000, MIPS, Macintosh, Acorn Archimedes, IBM PC, Atari, 3b1, Amiga.
(ftp://watserv1.waterloo.edu/languages/apl/j)
J-mode GNU Emacs macros available by (ftp://think.com/pub/j/gmacs/j-interaction-mode.el).
[ APL ? , Roger K.W. Hui et al, APL90 Conf Proc, Quote Quad 20(4):192-200].
(1992-10-31)

J2EE
Java 2 Platform, Enterprise Edition

J2ME
Java 2 Platform, Micro Edition

J2SE
Java 2 Platform, Standard Edition

J3
A dialect of JOVIAL.
[ Military Standard JOVIAL (J3) , MIL-STD-1588 (USAF), June 1976].
(1994-12-07)

J73
A dialect of JOVIAL.
[ Military Standard JOVIAL (J73) , MIL-STD-1589 (USAF), Feb 1977].
(1994-12-07)

jabber
networking An event that occurs when a device on a network using the LAT protocol continues to broadcast its availability even though its availability status is known by the network.
(1996-05-10)

JACAL
JAffer's Canonical ALgebra

jaccl
tool An LR1 grammar parser generator written by Dave Jones at Megatest.
(1989-09-08)

jack in
To log on to a machine or connect to a network or BBS, especially for purposes of entering a virtual reality simulation such as a MUD or IRC (leaving is jacking out ). This term derives from cyberpunk SF, in which it was used for the act of plugging an electrode set into neural sockets in order to interface the brain directly to a virtual reality. It is primarily used by MUD and IRC fans and younger hackers on BBS systems.
[Jargon File]

Jack Kilby
person The Texas Instruments engineer who invented the integrated circuit in 1958. The JK flip-flop was named after him.
(1997-07-03)

Jackson method
A proprietary structured method for software analysis, design and programming.

Jacquard, Joseph-Marie
Joseph-Marie Jacquard

Jacquard loom
history /zhah-kar'/ A mechanical loom, invented by Joseph-Marie Jacquard in 1801, which used the holes punched in pasteboard punch cards (which see) to control the weaving of patterns in fabric. It was the first machine to use punch cards, although it did no computation based on them.
(http://www.history.rochester.edu/steam/hollerith/loom.htm).
(1998-10-19)

JAD
Joint Application Design
Or Joint Application Development .
[What is it?]
(1995-11-15)

JADE
James' DSSSL Engine

Jade
1. U Washington, late 80's. A strongly-typed language, object-oriented but without classes. For type research. The compiler output is Smalltalk. [Submitter claimed that Jade has exactly one user!]
2. Implicit coarse-grained concurrency. The constructs 'with', 'withonly' and 'without' create tasks with specified side effects to shared data objects. Implemented as a C preprocessor. Coarse-Grain Parallel Programming in Jade , M.S. Lam et al, SIGPLAN Notices 26(7):94-105 (Jul 1991).

jadeTeX
text, tool A program which uses TeX as a back-end for producing DVI (or PDF) printable output from James' DSSSL Engine.
(ftp://ftp.tug.org/tex-archive/macros/jadetex/).
(1997-11-20)

JAffer's Canonical ALgebra
mathematics, tool (JACAL) A symbolic mathematics program, most of which was written in Scheme by Aubrey Jaffer.
Home (http://swissnet.ai.mit.edu/~jaffer/JACAL.html).
(1999-06-27)

jaggies
graphics /jag'eez/ (Or staircase ) The staircase effect observable when an edge (especially a linear edge of very shallow or steep slope) is rendered on a bitmap display (as opposed to a vector display). The effect is even more pronounced when a bitmap image or text in a bitmap font is enlarged. Outline fonts and anti-aliasing are two techniques used to solve this problem with text.
[Jargon File]
(1997-12-01)

JaM
John and Martin. An interpreted FORTH-like graphics language by John Warnock and Martin Newell, Xerox PARC, 1978. JaM was the forerunner of both Interpress and PostScript. It is mentioned in PostScript Language reference Manual, Adobe Systems, A-W 1985.

jam
A condition on a network where two nodes transmitting simultaneously detect the collision and continue to transmit for a certain time (4 to 6 bytes on Ethernet) to ensure that the collision has been detected by all nodes involved.
(1994-12-12)

James Clark
Dr. James H. Clark

James' DSSSL Engine
text, tool (JADE) A DSSSL tool by James J. Clark. Jade is an implementation of the DSSSL style language for Unix and Microsoft Windows. It can turn the SGML source of the DSSSL standard into an RTF file of about 200 pages using a fairly complex DSSSL specification.
Home (http://www.jclark.com/).
(1996-10-13)

James Gosling
person The software engineer who wrote GOSMACS, and served as Sun Microsystems, Inc. project leader for both NeWS, and Java. He is currently (1997) a Vice President and Distinguished Engineer at Sun.
Home (http://java.sun.com:80/people/jag/).
Biography (http://www.sun.com/sunergy/Bios/gosling_bio.html).
(1997-03-12)

James H. Clark
Dr. James H. Clark

JANET
Joint Academic NETwork

JANET IP Service
networking (JIPS) Joint Academic NETwork Internet Protocol.
E-mail: jips-nosc@nic.ja.net .
[Details?]
(1994-12-12)

Janus
1. Distributed language with an ask/tell constraint system.
qdjanus is a Janus-to-Prolog compiler for Sicstus Prolog and jc is compiles to C.
[ Janus: A Step Towards Distributed Constraint Programming , V. Saraswat saraswat@parc.xerox.com et al in Logic Programming: Proc 1990 North Am Conf, S. Debray et al eds, MIT Press 1990].
[ Programming in Janus , Saraswat, Kahn, and Levy].
2. W.M. Waite, U Colorado. Intermediate language, claimed as an implementation of UNCOL. Used on CDC 6600.
[ Experience with the Universal Intermediate Language Janus , B.K. Haddon et al, Soft Prac Exp 8(5):601- 616 (Sep 1978)].

japh
programming A Perl program which prints Just another Perl hacker using extremely obfuscated methods, typically ones based on obscure behaviours of sometimes rarely-used functions, in the spirit of the Obfuscated C Contest.
The obfuscation can result from the code being total gibberish, e.g.:
$_= krJhruaesrltre c a cnp,ohet ;$_.=$1,print$2while s/(..)(.)//;
or from having Just another Perl hacker embedded in opaque code:
$_='987;s/^( d+)/$1-1/e;$1?eval:print Just another Perl hacker, ';eval
or from looking like it does something simple and completely unrelated to printing Just another Perl hacker :
$_ = wftedskaebjgdpjgidbsmnjgc ;
tr/a-z/oh, turtleneck Phrase Jar!/; print;
Examples (http://www.perl.com/CPAN/misc/japh).
(1997-09-14)

jar
Java archive

Jargon File
jargon, publication, humour The on-line hacker Jargon File. A large collection of (often amusing) definitions of computing terms.
Many definitions in this dictionary are from v3.0.0 of 1993-07-27.
Current version: 4.0.0 (1996-07-25), as of 1998-02-22, corresponds to the third paper edition entitled The New Hacker's Dictionary , due out in September 1996.
The file is available through ftp at any of the GNU archives as jarg400.txt.
Home (http://www.tuxedo.org/jargon/).
See also Yellow Book, Jargon.
(1998-12-09)

Java
World-Wide Web, language (After the Indonesian island, a source of programming fluid) A simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, multithreaded, dynamic, buzzword-compliant, general-purpose programming language developed by Sun Microsystems in 1995(?). Java supports programming for the Internet in the form of platform-independent Java applets .
Java is similar to C++ without operator overloading (though it does have method overloading), without multiple inheritance, and extensive automatic coercions. It has automatic garbage collection.
Java programs can run stand-alone on small computers. The interpreter and class support take about 40 kilobytes; adding the standard libraries and thread support (essentially a self-contained microkernel) adds an additional 175Kb.
Java extends C++'s object-oriented facilities with those of Objective C for dynamic method resolution.
Java has an extensive library of routines for TCP/IP protocols like HTTP and FTP. Java applications can access objects across the Internet via URLs as easily as on the local file system.
The Java compiler and linker both enforce strong type checking - procedures must be explicitly typed. Java supports the creation of virus-free, tamper-free systems with authentication based on public-key encryption.
The Java compiler generates an architecture-neutral object file executable on any processor supporting the Java run-time system. The object code consists of bytecode instructions designed to be both easy to interpret on any machine and easily translated into native machine code at load time.
The Java libraries provide portable interfaces. For example, there is an abstract Window class and implementations of it for Unix, Microsoft Windows and the Macintosh. The run-time system is written in POSIX-compliant ANSI C. Java applets can be executed as attachments in World-Wide Web documents using either Sun's HotJava browser or Netscape Navigator version 2.0.
Home (http://java.sun.com/)
Usenet newsgroup: news:comp.lang.java.
E-mail: java@java.sun.com .
(1995-12-06)

Java 2
Java 2 Platform, Standard Edition

Java 2 Platform
Java 2 Platform, Standard Edition

Java 2 Platform, Enterprise Edition
language, programming (J2EE) Sun's Java platform for multi-tier server-oriented enterprise applications.
The basis of J2EE is Enterprise JavaBeans (EJB).
See also the Standard edition J2SE and the Micro edition J2ME.
Home (http://java.sun.com/j2ee/).
(2000-04-20)

Java 2 Platform, Micro Edition
language, programming (J2ME) Sun's Java platform for consumer devices.
J2ME defines Configurations and Profiles for different classes of small memory device, from smart cards to pagers to set-top boxes. It can run on various Java virtual machines including KVM.
Related products include PersonalJava and EmbeddedJava.
See also the Standard edition J2SE and the Enterprise edition J2EE.
(Home (http://www.javasoft.com/j2me/).
(2000-04-20)

Java 2 Platform, Standard Edition
language, programming (J2SE) Sun's Java programming platform aimed at network-oriented enterprise applications. J2SE comprises the Java 2 Software Development Kit (SDK) and the Java 2 Run-Time Environment.
See also the Micro edition J2ME and the Enterprise edition J2EE.
Java 2 Platform (http://www.javasoft.com/j2se/).
(2000-04-20)

Java 2 SDK
Java 2 Software Development Kit

Java 2 Software Development Kit
language, programming (Java 2 SDK) Sun's tools to develop Java applications, part of the Java 2 Platform.
Current version: Java 2 SDK version 1.2.2, as of April 2000.
Versions prior to 1.2 were known as the Java Development Kit (JDK).
Home (http://www.javasoft.com/j2se/).
(2000-04-20)

Java archive
file format, filename extension (jar) A compressed archive file containing Java class files, filename extension: .jar . The Java Development Kit contains a tool called jar for creating .jar files, similar to the standard Unix tar command. As well as archiving and compressing the Java class files, it also inserts a manifest file which can contain information about the class files, such as a digital signature. Combining class files into a single archive file makes it possible to download them in a single HTTP transaction. This, and the compression, speeds up execution of Java programs delivered via the Internet.
(2001-02-03)

JavaBeans
programming A component architecture for the Java programming language, developed initially by Sun, but now available from several other vendors. JavaBeans components are called beans .
JavaBeans allows developers to create reusable software components that can then be assembled together using visual application builder tools including Sybase's PowerJ, Borland's JBuilder, IBM's Visual Age for Java, SunSoft's Java Workshop and Symantec's Visual Cafe.
JavaBeans support Introspection (a builder tool can analyze how a Bean works), Customisation (developers can customise the appearance and behaviour of a Bean), Events (Beans can communicate), Properties (developers can customise and program with Beans(?)) and Persistence (customised Beans can be stored and reused).
Home (http://www.javasoft.com/beans/).
(1997-11-20)

Java Database Connectivity
database, programming (JDBC) Part of the Java Development Kit which defines an application programming interface for Java for standard SQL access to databases from Java programs.
Home (http://java.sun.com/products/jdk/1.1/docs/guide/jdbc/index.html).
FAQ (http://www.yoyoweb.com/Javanese/JDBC/FAQ.html).
See also Open Database Connectivity.
(1997-09-04)

Java Development Kit
language, compiler (JDK) A free Sun Microsystems product which provides the environment required for programming in Java. The JDK is available for a variety of platforms, but most notably Sun Solaris and Microsoft Windows.
Home (http://java.sun.com/products/jdk/1.1/index.html).
[Version?]
(1997-09-04)

Java Message Service
programming, messaging (JMS) An API for accessing enterprise messaging systems from Java programs. Java Message Service, part of the J2EE suite, provides standard APIs that Java developers can use to access the common features of enterprise message systems. JMS supports the publish/subscribe and point-to-point models and allows the creation of message types consisting of arbitrary Java objects. JMS provides support for administration, security, error handling, and recovery, optimisation, distributed transactions, message ordering, message acknowledgment, and more.
Home (http://java.sun.com/products/jms).
Overview (http://developer.java.sun.com/developer/technicalArticles/Networking/messaging/)
(2001-06-22)

Java Native Interface
programming (JNI) A native programming interface for Java that allows Java code running inside a Java Virtual Machine to interoperate with applications and libraries written in other programming languages such as C, C++ and assembly language.
(1997-12-07)

Java Open Language Toolkit
project (JOLT) A project aimed at providing a freely available and redistributale implementation of Sun Microsystems's Java language and tools.
Home (http://www.redhat.com/linux-info/jolt/).
(1996-12-17)

Java Remote Method Protocol
protocol (JRMP) A proprietary wire-level protocol designed by Sun Microsystems to transport Java RMI.
JRMP serves the same function as IIOP, but also supports object passing. Sun plans to offer IIOP as an alternative to JRMP.
Sun do not appear to use this term any longer, simply referring to the RMI transport protocol .
(http://java.sun.com/j2se/1.3.0/docs/guide/rmi/spec/rmi-protocol3.html).
Comparison (http://www.execpc.com/~gopalan/misc/compare.html).
(2001-07-21)

Java Run-Time Environment
language (JRE) The part of the Java Development Kit required to run Java programs. The JRE consists of the Java Virtual Machine, the Java platform core classes and supporting files. It does not include the compiler, debugger or other tools present in the JDK. The JRE is the smallest set of executables and files that constitute the standard Java platform.
(1998-11-30)

JavaScript
language (Formerly LiveScript) Netscape's simple, cross-platform, World-Wide Web scripting language, only very vaguely related to Java. JavaScript is intimately tied to the World-Wide Web, and currently runs in only three environments - as a server-side scripting language, as an embedded language in server-parsed HTML, and as an embedded language run in browsers.
JavaScript may end up being more popular and entrenched than Java, due to the current (May 1997) prevalence of its primary platform (see below), and its ease of learning. It has a simplified C-like syntax. Its functionality is currently limited, being aimed primarily at enhanced forms, simple web database front-ends and navigation enhancements.
JavaScript originated from Netscape, and for a time, only Netscape products supported it. Microsoft now supports it, but as a work-a-like called JScript. The resulting inconsistencies make it difficult to write JavaScript that behaves the same in both Netscape Navigator and Microsoft Internet Explorer. This could be attributed to the slow progress of JavaScript through the standards bodies.
JavaScript runs 100x slower than C, as it is purely interpreted (Java runs 10x slower than C code). Netscape and allies say JavaScript is an open standard in an effort to keep Microsoft from monopolising web software as they have desktop software. Netscape and Sun have co-operated to enable Java and JavaScript to exchange messages and data.
JavaScript should not be confused with Java. JavaScript is a Sun trademark.
See also VBScript.
Usenet newsgroup: news:comp.lang.javascript.
Mailing List: majordomo@obscure.org ( subscribe javascript in body).
(2001-04-24)

Java servelet
Java servlet

JavaServer Pages
programming, World-Wide Web (JSP) A freely available specification for extending the Java Servlet API to generate dynamic web pages on a web server. The JSP specification was written by industry leaders as part of the Java development program.
JSP assists developers in creating HTML or XML pages that combine static (fixed) page templates with dynamic content. Separating the user interface from content generation allows page designers to change the page layout without having to rewrite program code. JSP was designed to be simpler than pure servlets or CGI scripting.
JSP uses XML-like tags and scripts written in Java to generate the page content. HTML or XML formatting tags are passed back to the client. Application logic can live on the server, e.g. in JavaBeans.
JSP is a cross-platform alternative to Microsoft's Active Server Pages, which only runs in IIS on Windows NT.
Applications written to the JSP specification can be run on compliant web servers, and web servers such as Apache, Netscape Enterprise Server, and Microsoft IIS that have had Java support added. JSP should soon be available on Unix, AS/400, and mainframe platforms.
JavaServer Pages (http://java.sun.com/products/jsp/).
Infoworld Article (http://www.infoworld.com/cgi-bin/displayStory.pl?99063.ecjsp.htm).
(1999-11-28)

Java servlet
World-Wide Web (By analogy with applet ) A Java program that runs as part of a network service, typically an HTTP server and responds to requests from clients.
The most common use for a servlet is to extend a web server by generating web content dynamically. For example, a client may need information from a database; a servlet can be written that receives the request, gets and processes the data as needed by the client and then returns the result to the client.
Applets are also written in Java but run inside the JVM of a HTML browser on the client. Servlets and applets allow the server and client to be extended in a modular way by dynamically loading code which communicates with the main program via a standard programming interface.
Servlets are more flexible than CGI scripts and, being written in Java, more portable.
The spelling servelet is occasionally seen but JavaSoft spell it servlet . There is no such thing as a serverlet .
(http://jeeves.javasoft.com/products/java-server/servlets/index.html).
(2000-07-07)

Java Servlet Development Kit
World-Wide Web (JSDK) A suite of software for easing the development of Java servlets.
JavaSoft Servlet Development Kit (http://www.javasoft.com/products/jdk/1.2/docs/ext/servlet/).
(1998-05-26)

Java Virtual Machine
language, architecture (JVM) A specification for software which interprets Java programs that have been compiled into byte-codes, and usually stored in a .class file. The JVM instruction set is stack-oriented, with variable instruction length. Unlike some other instruction sets, the JVM's supports object-oriented programming directly by including instructions for object method invocation (similar to subroutine call in other instruction sets).
The JVM itself is written in C and so can be ported to run on most platforms. It needs thread support and I/O (for dynamic class loading). The Java byte-code is independent of the platform.
There are also some hardware implementations of the JVM.
Specification (http://www.javasoft.com/docs/books/vmspec/html/VMSpecTOC.doc.html).
Sun's Java chip (http://news.com/News/Item/0,4,9328,00.html).
[Documentation? Versions?]
(2000-01-03)

Java VM
Java Virtual Machine

JAZ
language An early system on the LGP-30.
[CACM 2(5):16, May 1959].
(1997-05-16)

Jaz
Jaz Drive

Jaz Drive
hardware, storage Iomega Corporation's drive which takes removable one or two gigabyte disk cartridges which contain conventional hard disks.
Internal and external drives are available claiming an average transfer rate of 330 megabytes per minute - though that is dependant on the SCSI adapter, the parallel port adapter is unlikely to reach anything like this speed. The Jaz drive was the successor to the company's more establistablished Zip Drive.
(1998-08-28)

JAZELLE
database A data management system for High Energy Physics from Stanford Linear Accelerator.
(1995-02-22)

JBIG
Joint Bi-level Image Experts Group

JBOD
Just a Bunch Of Disks

JBOPS
business, jargon A nickname for the major ERP and enterprise software application companies: JD Edwards, Baan, Oracle, PeopleSoft, and SAP.
(1999-07-27)

jc
Version 1.50 alpha
compiler(- C)
David Gudeman gudeman@cs.arizona.edu
(ftp://cs.arizona.edu/janus/jc/)
A janus-to-C compiler (considerably faster than qdjanus). jc is a _sequential_ implementation of a _concurrent_ language.
bugs: jc-bugs@cs.arizona.edu
ports:sun-4, sun-3, Sequent Symmetry
jc is an experimental system, undergoing rapid development. It is in alpha release currently.
Mailing list:janusinterest-request@parc.xerox.com
(1992/06/09)

JCL
Job Control Language

JCS-13
language An early system on the IBM 701.
[Listed in CACM 2(5):16, May 1959].
(1997-06-16)

JDBC
Java Database Connectivity

JDK
Java Development Kit

JEAN
language A dialect of JOSS.
[Details?]
(1997-09-14)

Jean E. Sammet
person Author of several surveys of early programming languages, refererred to in many entries in this dictionary.
E-mail: sammet@vtvm1.cc.vt.edu
Relevant publications include:
[Sammet, Jean E., Programming Languages: History and Fundamentals , P-H 1969. QA76.5 .S213]. The definitive work on early computer language development.
[Sammet, Jean E., Programming Languages: History and Future , CACM 15(7):601-610, Jul 1972].
[Sammet, Jean E., Roster of Programming Languages Computers Automation 16(6):80-82, June 1967; Computers Automation 17(6):120-123, June 1968; Computers Automation 18(7):153-158, June 1969; Computers Automation 19(6B):6-11, 30 Nov 1970; Computers Automation 20(6B):6-13, 30 Jun, 1971; Computers Automation 21(6B), 30 Aug 1972; Computing Reviews 15(4): 147-160, April 1974; CACM 19(12):655-669, Dec 1976; SIGPLAN Notices 13(11):56, Nov 1978].
(1998-10-03)

JEDR
person, abuse, humour Synonymous with IYFEG. At one time, people in the Usenet newsgroup news:rec.humor.funny tended to use JEDR instead of IYFEG or ethnic ; this stemmed from a public attempt to suppress the group once made by a loser with initials JEDR after he was offended by an ethnic joke posted there. (The practice was retconned by expanding these initials as Joke Ethnic/Denomination/Race .) After much sound and fury JEDR faded away; this term appears to be doing likewise. JEDR's only permanent effect on the net.culture was to discredit sensitivity arguments for censorship so thoroughly that more recent attempts to raise them have met with immediate and near-universal rejection.
[Jargon File]
(1994-11-22)

Jef Raskin
person The person who started the Macintosh project at Apple Computer, Inc. but left the company before the product was launched.
(1999-08-24)

Jerry Sussman
Gerald Sussman

JES
job entry system

JES2
operating system One of IBM's job entry systems for MVS.
(1995-08-16)

JES3
operating system One of IBM's job entry systems for MVS.
(1995-08-16)

JFCL
/jif'kl/, /jaf'kl/, /j*-fi'kl/ (obsolete) To cancel or annul something. Why don't you jfcl that out? The fastest do-nothing instruction on older models of the PDP-10 happened to be JFCL, which stands for Jump if Flag set and then CLear the flag ; this does something useful, but is a very fast no-operation if no flag is specified. Geoff Goodfellow, one of the jargon-1 co-authors, had JFCL on the licence plate of his BMW for years. Usage: rare except among old-time PDP-10 hackers.
[Jargon File]
(1994-11-22)

JFET
Junction Field Effect Transistor

JFIF
JPEG File Interchange Format

jiffy
1. The duration of one tick of the computer's system clock. Often one AC cycle time (1/60 second in the US and Canada, 1/50 most other places), but more recently 1/100 sec has become common.
2. Confusingly, the term is sometimes also used for a 1-millisecond wall time interval. Even more confusingly, physicists semi-jokingly use jiffy to mean the time required for light to travel one foot in a vacuum, which turns out to be close to one *nanosecond*.
[Jargon File]
(2002-03-02)

Jim Clark
Dr. James H. Clark

Jini
networking /jee'nee/ Sun's Java-based system for networking home appliances, desktop computers and other kinds of consumer electronics.
Home (http://java.sun.com/products/jini/).
[Details?]
(1998-11-14)

JIPS
JANET IP Service

JIT
dynamic translation

jitter
Random variation in the timing of a signal, especially a clock.
(1995-01-16)

JK flip-flop
hardware An edge triggered SR flip-flop with extra logic such that only one of the R and S inputs is enabled at any time. This prevents a race condition which can occur when both inputs of an RS flip-flop are active at the same time. In a JK flip-flop the R and S inputs are renamed J and K (after Jack Kilby). The set input (J) is only enabled when the flip-flop is reset and K when it is set.
If both J and K inputs are held active then the outputs will change ( togle ) on each falling edge of the clock. JK flip-flops can be used to build a binary counter with a reset input.
(http://www.play-hookey.com/digital/logic7.html).
(1997-07-03)

jm
networking The country code for Jamaica.
(1999-01-27)

JMHO
chat Just My Humble Opinion.
(1999-02-18)

JMS
Java Message Service

JNI
Java Native Interface

jo
networking The country code for Jordan.
(1999-01-27)

job
operating system All the activities involved in completing any project on a computer from start to finish. A job may involve several processes and several programs.
This term is rather old fashioned and harks back to the days of batch processing where a user would submit his job as a deck of punched cards which would typically include source code interspersed with job control language instructions to guide the various phases of the job such as compilation, linking, execution and printing.
(1995-05-07)

Job Control Language
language, operating system (JCL) IBM's supremely rude script language, used to control the execution of programs in IBM OS/360's batch systems. JCL has a very fascist syntax, and some versions will, for example, barf if two spaces appear where it expects one.
Most programmers confronted with JCL simply copy a working file (or card deck), changing the file names. Someone who actually understands and generates unique JCL is regarded with the mixed respect one gives to someone who memorises the phone book. It is reported that hackers at IBM itself sometimes sing Who's the breeder of the crud that mangles you and me? I-B-M, J-C-L, M-o-u-s-e to the tune of the Mickey Mouse Club theme to express their opinion of the beast.
As with COBOL, JCL is often used as an archetype of ugliness even by those who haven't experienced it. However, no self-respecting mainframe MVS programmer would admit ignorance of JCL.
See also fear and loathing.
(1999-03-03)

Job Entry System
operating system (JES) An IBM mainframe term. There are really two JESs. JES2 is smaller and simpler, and can handle 99.99% of most jobs that run on IBM's MVS operating system. JES3 is much bigger and requires really big iron to run.
(1996-03-23)

Jobs
Stephen Jobs

job security
jargon When some piece of code is written in a particularly obscure fashion, and no good reason (such as time or space optimisation) can be discovered, it is often said that the programmer was attempting to increase his job security (i.e. by making himself indispensable for maintenance). This sour joke seldom has to be said in full; if two hackers are looking over some code together and one points at a section and says job security , the other one may just nod.
[Jargon File]
(1996-09-17)

jock
1. A programmer who is characterised by large and somewhat brute-force programs.
2. When modified by another noun, describes a specialist in some particular computing area. The compounds compiler jock and systems jock seem to be the best-established examples.
[Jargon File]
(1995-01-19)

joe
jargon, security A computer account whose user name and password are the same. Joes are considered harmful, as are any passwords which are easy to guess.
(1995-06-21)

joe code
/joh' kohd / 1. Code that is overly tense and unmaintainable. Perl may be a handy program, but if you look at the source, it's complete joe code.
2. Badly written, possibly buggy code.
Correspondents wishing to remain anonymous have fingered a particular Joe at the Lawrence Berkeley Laboratory and observed that usage has drifted slightly; the original sobriquet Joe code was intended in sense 1.
[Jargon File]

John Atanasoff
John Vincent Atanasoff

John Gilmore
person A noted Unix hacker who cofounder of Usenet's anarchic alt.* newsgroup hierarchy with Brian Reid.
E-mail: John Gilmore gnu@toad.com .
(1995-04-18)

John McCarthy
A pioneer of artificial intelligence. He invented Lisp at MIT in the late 1950s and later worked at SAIL.
(ftp://www-formal.stanford.edu/jmc)
E-mail: jmc@cs.stanford.edu .
(1994-11-22)

John Ousterhout
person /oh'st*r-howt/ John K. Ousterhout, the designer of Tcl and Tk, and founder of Scriptics.
See also: Ousterhout's dichotomy.
E-mail: john.ousterhout@scriptics.com.
(1999-02-21)

John Tukey
person The eminent statistician credited with coining the term bit in 1949.
(http://www.maths.uq.edu.au/Subjects/ms113/obit-j-tukey.html).
(2002-07-16)

John Vincent Atanasoff
person John Vincent Atanasoff, 1903-10-04 - 1995-06-15. An American mathemetical physicist, and the inventor of the electronic digital computer. Between 1937 and 1942 he built the Atanasoff-Berry Computer with Clifford Berry, at the Iowa State University.
Atanasoff was born on 1903-10-04 in Hamilton, New York. In 1925, he got a Bachelor of Science degree in Electrical Engineering from the University of Florida. In 1926 he received a Master's degree in Maths from Iowa State University. He received a PhD as a theoretical physicist from the University of Wisconsin in 1930.
While an associate professor of mathematics and physics at Iowa State University, Atanasoff began to envision a digital computational device, believing analogue devices to be too restrictive. Whilst working on his electronic digital computer, Atanasoff was introduced to a graduate student named Clifford Berry, who helped him build the computer.
The first prototype of the Atanasoff-Berry Computer was demonstrated in December 1939. Although no patent was awarded for the new computer, in 1973 US District Judge Earl R. Larson declared Atanasoff the inventor of the digital computer (declaring the ENIAC patent invalid).
Atanasoff was awarded the National Medal of Technology by US President Bush on 1990-11-13. He died following a stroke on 1995-06-15.
John Vincent Atanasoff and the Birth of the Digital Computer (http://www.cs.iastate.edu/jva/jva-archive.shtml)
[ Atanasoff Forgotten Father of the Computer , C. R. Mollenhoff, Iowa State University Press 1988].
(2001-10-03)

John von Neumann
person /jon von noy'mahn/ Born 1903-12-28, died 1957-02-08.
A Hungarian-born mathematician who did pioneering work in quantum physics and computer science.
While serving on the BRL Scientific Advisory Committee, von Neumann joined the developers of ENIAC and made some critical contributions. In 1947, while working on the design for the successor machine, EDVAC, von Neumann realized that ENIAC's lack of a centralized control unit could be overcome to obtain a rudimentary stored program computer. He also proposed the fetch-execute cycle.
(http://www.sis.pitt.edu/~mbsclass/is2000/hall_of_fame/vonneuma.htm).
(http://ei.cs.vt.edu/~history/VonNeumann.html).
(http://ftp.arl.mil/~mike/comphist/54nord/).
(2001-01-30)

join
1. database inner join (common) or outer join (less common).
2. theory least upper bound.
(1998-11-23)

Joint Academic NETwork
(JANET) The wide area network which links UK academic and research institutes. JANET is controlled by the Joint Network Team (JNT) and Network Executive (NE). It is an internet (a large number of interconnected sub-networks) that provides connectivity within the community as well as access to external services and other communities. The hub is the JANET subnetwork, a private X.25 packet-switched network that interconnects over 100 sites. At the majority of sites, local area networks (LANs) are connected to JANET allowing off-site access for the computers and terminals connected to these networks. The Coloured Book protocol architecture is used to support interactive terminal access to computers (for both character terminals and screen terminals), inter-host file transfers, electronic mail and remote batch job submission.
Home (http://nic.ja.net/)
See also JIPS, SuperJanet.
(1995-02-07)

Joint Bi-level Image Experts Group
algorithm (JBIG) An experts group of ISO, IEC and ITU-T (JTC1/SC2/WG9 and SGVIII) working to define a compression standard for lossless image coding. Their proposed algorithm features compatible progressive coding and sequential coding and is lossless - the image is unaltered after compression and decompression.
JBIG can handle images with from one to 255 bits per pixel. Better compression algorithms exist for more than about eight bits per pixel. With multiple bits per pixel, Gray code can be used to reduce the number of bit changes between adjacent decimal values (e.g. 127 and 128), and thus improve the compression which JBIG does on each bitplane.
JBIG uses discrete steps of detail by successively doubling the resolution. The sender computes a number of resolution layers and transmits these starting at the lowest resolution. Resolution reduction uses pixels in the high resolution layer and some already computed low resolution pixels as an index into a lookup table. The contents of this table can be specified by the user.
Compatibility between progressive and sequential coding is achieved by dividing an image into stripes. Each stripe is a horizontal bar with a user definable height. Each stripe is separately coded and transmitted, and the user can define in which order stripes, resolutions and bitplanes are intermixed in the coded data. A progressively coded image can be decoded sequentially by decoding each stripe, beginning by the one at the top of the image, to its full resolution, and then proceeding to the next stripe. Progressive decoding can be done by decoding only a specific resolution layer from all stripes.
After dividing an image into bitplanes, resolution layers and stripes, eventually a number of small bi-level bitmaps are left to compress. Compression is done using a Q-coder.
The Q-coder codes bi-level pixels as symbols using the probability of occurrence of these symbols in a certain context. JBIG defines two kinds of context, one for the lowest resolution layer (the base layer), and one for all other layers (differential layers). Differential layer contexts contain pixels in the layer to be coded, and in the corresponding lower resolution layer.
For each combination of pixel values in a context, the probability distribution of black and white pixels can be different. In an all white context, the probability of coding a white pixel will be much greater than that of coding a black pixel. The Q-coder, like Huffman coding, achieves compression by assigning more bits to less probable symbols. The Q-coder can, unlike a Huffman coder, assign one output code bit to more than one input symbol, and thus is able to compress bi-level pixels without explicit clustering, as would be necessary using a Huffman coder.
[What is clustering ?]
Maximum compression will be achieved when all probabilities (one set for each combination of pixel values in the context) follow the probabilities of the pixels. The Q-coder therefore continuously adapts these probabilities to the symbols it sees.
JBIG can be regarded as two combined algorithms:
(1) Sending or storing multiple representations of images at different resolutions with no extra storage cost. Differential layer contexts contain pixels in two resolution layers, and so enable the Q-coder to effectively code the difference in information between the two layers, instead of the information contained in every layer. This means that, within a margin of approximately 5%, the number of resolution layers doesn't effect the compression ratio.
(2) A very efficient compression algorithm, mainly for use with bi-level images. Compared to CCITT Group 4, JBIG is approximately 10% to 50% better on text and line art, and even better on halftones. JBIG, just like Group 4, gives worse compression in the presence of noise in images.
An example application would be browsing through an image database.
[ An overview of the basic principles of the Q-coder adaptive binary arithmetic coder , W.B. Pennebaker, J.L. Mitchell, G.G. Langdon, R.B. Arps, IBM Journal of research and development, Vol.32, No.6, November 1988, pp. 771-726].
(http://www.crs4.it/~luigi/MPEG/jbig.html)
(1998-03-29)

Joint Photographic Experts Group
image, body, file format, standard (JPEG) The original name of the committee that designed the standard image compression algorithm. JPEG is designed for compressing either full-colour or grey-scale digital images of natural , real-world scenes. It does not work so well on non-realistic images, such as cartoons or line drawings. JPEG does not handle compression of black-and-white (1 bit-per-pixel) images or moving pictures. Standards for compressing those types of images are being worked on by other committees, named JBIG and MPEG.
Home (http://www.jpeg.org/).
Filename extension: .jpg, .jpeg.
See also PJPEG.
(2000-09-11)

Joint Technical Committee
standard, body (JTC) A standards body straddling ISO and IEC.
(1995-04-21)

Joint Test Action Group
architecture, body, electronics, integrated circuit, standards, testing (JTAG, or IEEE Standard 1149.1 ) A standard specifying how to control and monitor the pins of compliant devices on a printed circuit board.
Each device has four JTAG control lines. There is a common reset (TRST) and clock (TCLK). The data line daisy chains one device's TDO pin to the TDI pin on the next device.
The protocol contains commands to read and set the values of the pins (and, optionally internal registers) of devices. This is called boundary scanning . The protocol makes board testing easier as signals that are not visible at the board connector may be read and set.
The protocol also allows the testing of equipment, connected to the JTAG port, to identify components on the board (by reading the device identification register) and to control and monitor the device's outputs.
JTAG is not used during normal operation of a board.
JTAG Technologies B.V. (http://www.jtag.com/).
Boundary Scan/JTAG Technical Information - Xilinx, Inc. (http://www.xilinx.com/support/techsup/journals/jtag/).
Java API for Boundary Scan FAQs - Xilinx Inc. (http://www.xilinx.com/products/software/sx/sxfaqs.htm).
JTAG Boundary-Scan Test Products - Corelis, Inc. (http://www.corelis.com/products/scanovrv.html).
Logic analyzers stamping out bugs at the cutting edge , EDN Access, 1997-04-10 (http://www.ednmag.com/ednmag/reg/1997/041097/08df_02.htm).
IEEE 1149.1 Device Architecture - Boundary-Scan Tutorial from ASSET InterTech, Inc. (http://www.asset-intertech.com/tutorial/arch.htm).
Application-Specific Integrated Circuits , Michael John Sebatian Smith, published Addison-Wesley - Design Automation Cafe (http://www.dacafe.com/DACafe/EDATools/EDAbooks/ASIC/Book/CH14/CH14.2.htm).
Software Debug options on ASIC cores - Embedded Systems Programming Archive (http://embedded.com/97/feat9701.htm).
Designing for On-Board Programming Using the IEEE 1149.1 (JTAG) Access Port - Intel (http://developer.intel.com/design/flcomp/applnots/292186.htm).
Built-In Self-Test Using Boundary Scan by Texas Instruments - EDTN Network (http://www.edtn.com/scribe/reference/appnotes/md003e9a.htm).
(1999-11-15)

jolix
/joh'liks/ 386BSD, the freeware port of the BSD Net/2 release to the Intel i386 architecture by Bill Jolitz and friends. Used to differentiate from BSDI's port based on the same source tape, which is called BSD/386.
[Jargon File]

JOLT
Java Open Language Toolkit

Jon Postel
person (Jonathan Bruce Postel, 1943 - 1998-10-16) /p*-stel'/ One of the Internet's founding fathers. Jon's name is prominent on many of the fundamental standards on which the Internet is built, such as UDP. He ran IANA for as long as anybody could remember, in fact for most of the time he *was* IANA.
He wrote STD 1, STD 2 and several dozen other RFCs. His friend Vinton Cerf noted his passing in RFC 2468.
(1998-10-21)

JOOP
Journal of Object-Oriented Programming

Joseph-Marie Jacquard
person /zhoh-zef' mah-ree' zhah-kar'/ (1752-07-07 to 1834-08-07) The inventor of the Jacquard loom.
(1998-10-19)

JOSS
JOHNNIAC Open Shop System. Charles L. Baker, RAND 1964. An early simple interactive calculator language. JOSS Users' Reference Manual , R.L. Clark, Report F-1535/9, RAND Corp (Jan 1975) Sammet 1969, pp.217-226. Versions: JOSS I and JOSS II.

Jossle
Type checked language with separate compilation using a program library. Mentioned in Rationale for the Design of Ada , J. Ichbiah, Cambridge U Press, 1986, p.192.

journalling
operating system Keeping an on-going record of transactions, such as procedure calls, or message transmissions.
(1996-09-22)

jove
Jonathan's Own Version Of Emacs. A version of the GNU Emacs editor. Similar to MicroGnuEmacs.

JOVIAL
language (Jule's Own Version of IAL) A version of IAL produced by Jules I. Schwartz in 1959-1960. JOVIAL was based on ALGOL 58, with extensions for large scale real-time programming. It saw extensive use by the US Air Force. The data elements were items, entries (records) and tables.
Versions include JOVIAL I (IBM 709, 1960), JOVIAL II (IBM 7090, 1961) and JOVIAL 3 (1965). Dialects: J3, JOVIAL J73, JS, JTS.
Ada/Jovial Newsletter, Dale Lange +1 (513) 255-4472.
[CACM 6(12):721, Dec 1960].
(1996-07-19)

Joyce
A distributed language based on Pascal and CSP, by Per Brinch Hansen.
[ Joyce - A Programming Language for Distributed Systems , Per Brinch Hansen, Soft Prac Exp 17(1):29-50 (Jan 1987)].
(1994-12-06)

joystick
hardware, games A device consisting of a hand held stick that pivots about one end and transmits its angle in two dimensions to a computer. Joysticks are often used to control games, and usually have one or more push-buttons whose state can also be read by the computer. Most I/O interface cards for IBM PCs have a joystick (game control) port.
(1995-03-08)

Joy, William
William Joy

jp
networking The country code for Japan.
(1999-01-27)

JPEG
Joint Photographic Experts Group

JPEG-2000
image, file format A potential successor to JPEG with better compression and multiresolution images. JPEG-2000 gives reasonable quality down to 0.1 bits/pixel (JPEG quality drops dramatically below about 0.4 bits/pixel).
(2001-12-02)

JPEG File Interchange Format
graphics, file format (JFIF) The technical name for the file format better known as JPEG. This term is used only when the difference between the JPEG file format and the JPEG image compression algorithm is crucial.
(1998-02-10)

jpg
JPEG

JPL
JAM Programming Language. Imperative string-based language, part of the JAM tool for developing screen (non-window) applications. JYACC Corporation

JPLDIS
Jet Propulsion Laboratory Display Information System. Query system for UNIVAC 1108 [or PDP's?] written in Fortran, based on Tymshare's Retrieve . Indirectly led to Vulcan which led to dBASE II. Jack Hatfield, George Masters, W. Van Snyder, Jeb Long et al, JPL.

J. Presper Eckert
person One of the developers of ENIAC.
Biography (http://www-groups.dcs.st-and.ac.uk/~history/ShortBiogs/E.html).
[Summary?]
(1995-11-14)

J. Random
jargon /J rand'm/ (Generalised from J. Random Hacker) Arbitrary; ordinary; any one; any old. J. Random is often prefixed to a noun to make a name out of it. It means roughly some particular or any specific one . Would you let J. Random Loser marry your daughter? The most common uses are J. Random Hacker , J. Random Loser , and J. Random Nerd ( Should J. Random Loser be allowed to gun down other people? ), but it can be used simply as an elaborate version of random in any sense.
[Jargon File]

J. Random Hacker
jargon /J rand'm hak'r/ MIT jargon for a mythical figure; the archetypal hacker nerd.
This may originally have been inspired by J. Fred Muggs , a show-biz chimpanzee whose name was a household word back in the early days of TMRC, and was probably influenced by J. Presper Eckert (one of the co-inventors of the electronic computer).
See random, Suzie COBOL.
(1996-10-16)

JRE
Java Run-Time Environment

JRL
J. Random Loser. The names JRL and JRN were sometimes used as example names when discussing a kind of user ID used under TOPS-10 and WAITS. They were understood to be the initials of (fictitious) programmers named J. Random Loser and J. Random Nerd . For example, if one said To log in, type log one comma jay are en (that is, log 1,JRN ), the listener would have understood that he should use his own computer ID in place of JRN .

JRMP
Java Remote Method Protocol

JRN
J. Random Nerd. See JRL.

JRST
/jerst/ [based on the PDP-10 jump instruction, obsolete] To suddenly change subjects, with no intention of returning to the previous topic. Usage: rather rare except among PDP-10 diehards, and considered silly. See also AOS.
[Jargon File]

JS
Dialect of JOVIAL. [Sammet 1969, p.639].

JSA
Japanese Standards Association.

JSDK
Java Servlet Development Kit

JSP
JavaServer Pages

JTAG
Joint Test Action Group

JTB
jump trace buffer

JTC
standard, body Joint Technical Committee.

JTC1/SC24
The ISO/IEC group which has worked on standards like GKS, PHIGS, CGM, and is now also involved in the area of standardisation in Multimedia Presentation.
(http://www.cwi.nl/JTC1SC24/)
(1995-01-04)

JTS
A simple dialect of JOVIAL.
[Sammet 1969, p. 528].
(1995-01-04)

juggling eggs
Keeping a lot of state in your head while modifying a program. Don't bother me now, I'm juggling eggs , means that an interrupt is likely to result in the program's being scrambled. In the classic first-contact SF novel The Mote in God's Eye , by Larry Niven and Jerry Pournelle, an alien describes a very difficult task by saying We juggle priceless eggs in variable gravity. See also hack mode.
[Jargon File]

Jughead
Jughead is a tool for Gopher administrators to get menu information from various gopher servers, and is an acronym for: Jonzy's Universal Gopher Hierarchy Excavation And Display. Jughead was written in ANSI C. Gopher: gopher.cc.utah.edu, About U of U Gopher/Gopher Tools/jughead.
(ftp://ftp.cc.utah.edu/pub/gopher/GopherTools). Mailing list: jughead-news@lists.utah.edu.

jukebox
hardware, storage A hardware mechanism for allowing access to one of a group of discs, especially CD-ROMs or other optical media.
[Or magnetic tapes?]
(1996-12-10)

jump
programming (Or branch ) The term for a goto instruction, usually in a context of machine languages. Branch may be synonymous with jump , or may refer to jumps that depend on a condition.
(1998-11-14)

jumper
hardware A removable wire or small plug whose presence or absence is used to determine some aspect of hardware configuration.
(1995-03-14)

jump off into never-never land
[J. M. Barrie's Peter Pan ] Same as branch to Fishkill, but more common in technical cultures associated with non-IBM computers that use the term jump rather than branch .
Compare hyperspace.
[Jargon File]
(1994-12-15)

jump trace buffer
(JTB) A feature of some pipelined processors (e.g. Amulet, Pentium?) which stores the source and destination addresses of the last few branch instuctions executed. When a branch instruction is fetched, its source is looked for in the JTB. If found, the next instuction fetch will be from the previous destination of that branch. If it turns out that the branch shouldn't have been taken this time, then the pipeline is flushed. This means that in a tight loop it is not necessary to flush the pipeline every time you jump back to the start.
(1994-12-15)

Junction FET
Junction Field Effect Transistor

Junction Field Effect Transistor
electronics (JFET, Junction FET) A Field Effect Transistor in which the conducting channel lies between pn junctions in the silicon material. A pn junction acts as a diode, so it becomes conductive if the gate voltage gets reversed.
(1997-02-24)

Juno
A numerical constraint-oriented language for graphics applications. It solves its constraints using Newton-Raphson relaxation. It was inspired partly by Metafont.
[ Juno, a Constraint-Based Graphics System , G. Nelson in SIGGRAPH '85 Conf Readings, B.A. Barsky ed, Jul 1985, pp. 235-243].
(1994-11-23)

jupiter
To kill an IRC robot or user and then take its place by adopting its nick so that it cannot reconnect. Named after a particular IRC user who did this to NickServ, the robot in charge of preventing people from inadvertently using a nick claimed by another user.
[Jargon File]
(1994-11-23)

Just a Bunch Of Disks
jargon, storage (JBOD, or Just a Bunch of Drives ) A storage subsystems using multiple independent disk drives, as opposed to one form of RAID or another.
For example, Unisys open storage provides JBOD in both SCSI and fibre channel interfaces.
Unisys JBOD (http://www.marketplace.unisys.com/storage/jbod.html).
(1998-12-21)

just-in-time
dynamic translation

JVM
Java Virtual Machine

Jym
A predecessor to Graal by Patrick Bellot, France.

unit kilo-, a kilobyte. Used both as a spoken word and a written suffix, like meg and gig for megabyte and gigabyte.
See prefix.
[Jargon File]
(1995-09-29)

K5
An early system on the Larc computer.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-23)

K56flex
protocol A modem standard developed by Rockwell for 56 kbps communications. K56flex Became more popular than the rival X2 but will be superseded by the official V.90 standard.
[Already superseded?]
(1998-09-08)

K6
processor A Pentium II class microprocessor, manufactured by AMD.
[100% Compatible? Speed?]
(1998-02-27)

K7
Athlon

KA9Q
networking A popular implementation of TCP/IP and associated protocols for amateur packet radio systems and personal computers connected via serial lines. It was named after the call-sign of Phil Karn - the radio ham who first wrote it for MS-DOS on the IBM PC.
KA9Q is currently maintained by Anthony Frost vulch@kernow.demon.co.uk (call-sign G8UDV) and Adam Goodfellow tcpip2@comptech.demon.co.uk . It has been ported to the Archimedes by Jonathan Naylor (G4KLX).
[FTP?]
(1994-11-08)

KADS
Knowledge Analysis and Design System

kahuna
person /k*-hoo'n*/ (From the Hawaiian title for a shaman) An IBM synonym for wizard or guru.
[Jargon File]
(1994-11-09)

Kaleidoscope
language An object-oriented language which mixes imperative and constraint-oriented features. Kaleidoscope was written by Freeman-Benson of the University of Washington, Universite de Nantes, 1989; University of Victoria, 1992. It is similar to Siri and vaguely related to Prose.
Versions: Kaleidoscope '90 and Kaleidoscope '91.
[ Kaleidoscope: Mixing Objects, Constraints and Imperative Programming , B.N. Freeman-Benson, SIGPLAN Notices 25(10):77-88 (OOPSLA/ECOOP '90) (Oct 1990)].
[ Constraint Imperative Programming , B.N. Freeman-Benson, Ph.D. Thesis, TR 91-07-02, U Wash (1991)].
[ Constraint Imperative Programming , Freeman-Benson et al, IEEE Conf on Comp Lang, Apr 1992].
(1994-11-09)

Kali
A data parallel language.
[ Supporting Shared Data Structures on Distributed Memory Architectures , C. Koelbel et al in Second ACM SIGPLAN Symp on Princ and Prac of Parallel Programming, pp.177-186, Mar 1990].
(1994-11-09)

kamikaze packet
More commonly called a Christmas tree packet. RFC 1025, TCP and IP Bake Off says:
10 points for correctly being able to process a Kamikaze packet (AKA nastygram, Christmas tree packet, lamp test segment, et al.). That is, correctly handle a segment with the maximum combination of features at once (e.g. a SYN URG PUSH FIN segment with options and data).
See also Chernobyl packet.
[Jargon File]
(1994-11-09)

Kamin's interpreters
language, tool A set of interpreters for Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, and Prolog. Tim Budd budd@cs.orst.edu implemented them as subclasses in C++ sometime before 1991-09-12.
(ftp://cs.orst.edu/pub/budd/kamin/).
[ Programming Languages, An Interpreter-Based Approach , Samuel Kamin].
(2002-03-14)

kana
Japanese The two Japanese syllabaries, hiragana and katakana.
(2001-03-18)

kangaroo code
spaghetti code

kanji
human language, character /kahn'jee/ (From the Japanese kan - the Chinese Han dynasty, and ji - glyph or letter of the alphabet. Not capitalised. Plural kanji ) The Japanese word for a Han character used in Japanese. Kanji constitute a part of the writing system used to represent the Japanese language in written, printed and displayed form. The term is also used for the collection of all kanji letters.
US-ASCII doesn't include kanji characters, but some character encodings, including Unicode, do.
The Japanese writing system also uses hiragana, katakana, and sometimes romaji (Roman alphabet letters). These characters are distinct from, though commonly used in combination with, kanji. Furigana are also added sometimes.
(2000-12-30)

KAOS
Kent Applicative Operating System

KAP
Kernel Andorra Prolog. The predecessor of AKL.
[ Kernel Andorra Prolog and its Computation Model , S. Haridi seif@sics.se et al, in Logic Programming: Proc 7th Intl Conf, MIT Press 1990].
(1994-11-02)

Karel
Language featured in Karel the Robot: A Gentle Introduction to Computer Programming, Richard E. Pattis, Wiley 1981.
(ftp://ftp.wustl.edu/mirrors/Unix-c/languages/pascal/karel.tar-z).

katakana
Japanese The square-formed Japanese kana syllabary. Katakana is mostly used to write foreign names, foreign words, and loan words as well as many onomatopeia, plant and animal names.
(2001-03-18)

Katmai New Instructions
Streaming SIMD Extension

KB
kilobyte

KBMS
An expert system.

kbps
kilobits per second

KBS
Knowledge-Based System

KCL
Kyoto Common Lisp

ke
networking The country code for Kenya.
(1999-01-27)

KEE
Knowledge Engineering Environment. Frame-based expert system. Supports dynamic inheritance, multiple inheritance, polymorphism. Classes, meta-classes and objects are all treated alike. A class is an instance of a meta-class. Can control rules for merging of each field when multiple inheritance takes place. Methods are written in LISP. Actions may be triggered when fields are accessed or modified. Extensive GUI integrates with objects. Can easily make object updates to be reflected on display or display selections to update fields. This can in turn trigger other methods or inference rules which may then update other parts of the display. Intellicorp, for TI Explorer. The Role of Frame-Based Representation in Reasoning , R. Fikes et al, CACM 28(9):904- 920 (Sept 1985).

Keldysh Institute of Applied Mathematics
Address: Russian Academy of Sciences Miusskaya Pl. 4, 125047 Moscow, Russia.
(1994-12-12)

ken
/ken/ 1. Ken Thompson
2. A flaming user. This was originated by the Software Support group at Symbolics because the two greatest flamers in the user community were both named Ken.
[Jargon File]

Ken Thompson
person The principal inventor of the Unix operating system and author of the B language, the predecessor of C.
In the early days Ken used to hand-cut Unix distribution tapes, often with a note that read Love, ken . Old-timers still use his first name (sometimes uncapitalised, because it's a login name and mail address) in third-person reference; it is widely understood (on Usenet in particular) that without a last name Ken refers only to Ken Thompson. Similarly, Dennis without last name means Dennis Ritchie (and he is often known as dmr).
Ken was first hired to work on the Multics project, which was a huge production with many people working on it. Multics was supposed to support hundreds of on-line logins but could barely handle three.
In 1969, when Bell Labs withdrew from the project, Ken got fed up with Multics and went off to write his own operating system. People said well, if zillions of people wrote Multics, then an OS written by one guy must be Unix! . There was some joking about eunichs as well.
Ken's wife Bonnie and son Corey (then 18 months old) went to visit family in San Diego. Ken spent one week each on the kernel, file system, etc., and finished UNIX in one month along with developing SPACEWAR (or was it Space Travel ?).
See also back door, brute force, demigod, wumpus.
(1999-01-26)

Kerberos
security The authentication system of MIT's Project Athena. It is based on symmetric key cryptography. Adopted by OSF as the basis of security for DME.
(1997-02-04)

Kermit
communications A popular packet-oriented protocol from Columbia University for transferring text files and binary files on both full-duplex and half-duplex 8 bit and 7-bit serial connections in a system- and medium-independent fashion, and implemented on hundreds of different computer and operating system platforms. On full-duplex connections a sliding window protocol with selective retransmission provides excellent performance and error recovery characteristics. On 7-bit connections, locking shifts provide efficient transfer of 8-bit data.
When properly implemented, as in the Columbia University Kermit Software collection, performance is equal to or better than other protocols such as ZMODEM, YMODEM, and XMODEM, especially on poor connections.
Kermit is an open protocol - anybody can base their own program on it, but some Kermit software and source code is copyright by Columbia University.
Home (http://www.columbia.edu/kermit/)
(1996-01-29)

kernal
kernel

kernel
(Note: NOT kernal ).
1. operating system The essential part of Unix or other operating systems, responsible for resource allocation, low-level hardware interfaces, security etc. See also microkernel.
2. language An essential subset of a programming language, in terms of which other constructs are (or could be) defined. Also known as a core language.
(1996-06-07)

Kernel Parlog
language A modeless intermediate language for Parlog compilation.
[ Notes on the Implementation of Parlog , K.L. Clark et al, J Logic Prog 2(1):17-42 1985].
(1996-06-07)

Kernel User Interface Package
tool (KUIP) The human interface to Physics Analysis Workbench (PAW).
(1994-11-11)

kerning
text The process of reducing the spacing between certain pairs of letters to improve their appearance. When a font is created, each character is given a width that includes some space around it so that the letters don't run into each other when displayed or printed. This can be thought of as an invisible box around each character. Some pairs of characters such as A and V, look better if the boxes overlap slightly, bringing the characters closer together (but still not touching).
See also tracking, leading.
(1996-06-07)

Kevo
language A prototype-based object-oriented language written for Macintosh by Antero Taivalsaari at UTA, Finland. Kevo is built around a threaded code interpreter and features a unique prototype-based object model (which is based neither on classes nor Self-style delegation), pre-emptive multitasking, cooperative multitasking, dynamic memory management, an icon-based object browser and editor modelled loosely after Mac Finder. Kevo's syntax is close to Forth and its semantics resembles Self and Omega.
Current version: 0.9b6.
(ftp://cs.uta.fi/pub/kevo/).
E-mail: kevo-interest@ursamajor.uvic.ca .
[TR DCS-197-19, U Victoria, June 1992].
(1993-05-18)

key
1. database A value used to identify a record in a database, derived by applying some fixed function to the record. The key is often simply one of the fields (a column if the database is considered as a table with records being rows, see key field ). Alternatively the key may be obtained by applying some function, e.g. a hash function, to one or more of the fields. The set of keys for all records forms an index. Multiple indexes may be built for one database depending on how it is to be searched.
2. cryptography A value which must be fed into the algorithm used to decode an encrypted message in order to reproduce the original plain text. Some encryption schemes use the same (secret) key to encrypt and decrypt a message, but public key encryption uses a private (secret) key and a public key which is known by all parties.
(1997-04-26)

keyboard
hardware A hardware device consisting of a number of mechanical buttons (keys) which the user presses to input characters to a computer.
Keyboards were originally part of terminals which were separate peripheral devices that performed both input and output and communicated with the computer via a serial line. Today a keyboard is more likely to be connected directly to the processor, allowing the processor to scan it and detect which key or keys are currently pressed. Keyboards vary in the keys they have, most have keys to generate the ASCII character set as well as various function keys and special purpose keys, e.g. reset or volume control.
(1995-05-02)

Keyboard Commando
messaging A bulletin board user who posts authoritatively on military or combat topics, but who has never served in uniform or heard a shot fired in anger. A poseur.
(1997-04-25)

keyboard plaque
jargon The disgusting buildup of dirt and crud found on computer keyboards. Are there any other terminals I can use? This one has a bad case of keyboard plaque.
(1997-04-30)

Keyboard Send Receive
hardware (KSR) Part of a designation for a hard-copy terminal, manufactured by Teletype Corporation. The KSR range were lower cost versions of the ASR models.
(1995-11-23)

Keyed-Hashing Message Authentication
messaging, cryptography (HMAC) A mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function.
[RFC 2104].
(1997-05-10)

Keyed Sequenced Data Set
database (KSDS) One of the access methods used by VSAM. KSDS has indexes and data split into CI (Control Interval) in CA (Control Area) and multi index levelled. Forward and backward compression is applied to key values.
(1999-01-11)

key escrow
security A controversial arrangement where the keys needed to decrypt encrypted data must be held in escrow by a third party so that government agencies can obtain them to decrypt messages which they suspect to be relevant to national security.
(1999-12-14)

key field
database A field of a database (typically a relational database) table which together form a unique identifier for a record (a table entry). The aggregate of these fields is usually referred to simply as the key .
(1997-08-03)

key frame
graphics A frame in an animated sequence of frames which was drawn or otherwise constructed directly by the user rather than generated automatically, e.g. by tweening.
(1995-04-06)

KeyNote Software
A company which offers software-based business contact directories for people who develop, manufacture, market, or distribute software or multimedia products.
E-mail: server@netmail.com (Subject: SEND INDEX).

keypal
The electronic mail equivalent of a pen pal - someone with whom to exchange electronic mail for the simple joy of communicating.
Request for keypals (gopher://wealaka.okgeosurvey1.gov/11/K12/keypals)
[Is there some kind of central clearing-house for requests on the net?]

KeySpell
text, tool, education A spell checker and teaching aid from UK company KeySpell Limited for Microsoft Windows. KeySpell offers a selection of phonetically similar words, phrases, confusable terms, and examples in context. Even correctly spelt homophones can be checked.
KeySpell can be run with Microsoft Word 97 or stand-alone. It includes 225,000 words and phrases and can use subsets of these.
Home (http://www.keyspell.com).
(1999-05-21)

keyword
1. One of a fixed set of symbols built into the syntax of a language. Typical keywords would be if, then, else, print, goto, while, switch. There are usually restrictions about reusing keywords as names for user-defined objects such as variables or procedures. Languages vary as to what is provided as a keyword and what is a library routine, for example some languages provide keywords for input/output operations whereas in others these are library routines.
2. A small set of words designed to convey the subject of a technical article. Some publications specify a fixed set of keywords from which those for a particular article should be chosen.

KFX
The kernel language of FX-87.
[ Polymorphic Effect Systems , J.M. Lucassen et al, Proc 15th Ann ACM Conf POPL, ACM 1988, pp.47-57].
(1995-02-15)

kg
networking The country code for Kyrgyzstan.
(1999-01-27)

kgbvax
/K-G-B'vaks/ kremvax.
[Jargon File]

kh
networking The country code for Cambodia (formerly Kampuchea).
(1999-01-27)

Khornerstone
A multipurpose benchmark from Workstation Labs used in various periodicals. The source is not free. Results are published in UNIX Review .
(1993-04-15)

ki
networking The country code for Kiribati.
(1999-01-27)

KIBO
/ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out. A summary of what happens whenever valid data is passed through an organisation (or person) that deliberately or accidentally disregards or ignores its significance. Consider, for example, what an advertising campaign can do with a product's actual specifications. Compare GIGO; see also SNAFU principle.
2. James Parry kibo@world.std.com , a Usenetter infamous for various surrealist net.pranks and an uncanny, machine-assisted knack for joining any thread in which his nom de guerre is mentioned.
[Jargon File]

kiboze
[Usenet] To grep the Usenet news for a string, especially with the intention of posting a follow-up. This activity was popularised by Kibo.

kick
[IRC] To cause somebody to be removed from a IRC channel, an option only available to CHOPs. This is an extreme measure, often used to combat extreme flamage or flooding, but sometimes used at the chop's whim. Compare gun.
[Jargon File]

Kid
Kernel language for Id. A refinement of P-TAC, used as an intermediate language for Id. Lambda-calculus with first-class let-blocks and I-structures.
[ A Syntactic Approach to Program Transformations , Z. Ariola et al, SIGPLAN Notices 26(9):116-129 (Sept 1991)].
(1996-07-22)

KIDASA Software
company A company which develops project management software for Microsoft Windows.
Home (http://www.kidasa.com).
(1996-07-22)

killer micro
[Popularised by Eugene Brooks] A microprocessor-based machine that infringes on mini, mainframe, or supercomputer performance turf. Often heard in No one will survive the attack of the killer micros! , the battle cry of the downsizers. Used especially of RISC architectures.
The popularity of the phrase attack of the killer micros is doubtless reinforced by the movie title Attack Of The Killer Tomatoes (one of the canonical examples of so-bad-it's-wonderful among hackers). This has even more flavour now that killer micros have gone on the offensive not just individually (in workstations) but in hordes (within massively parallel computers).
[Jargon File]

killer poke
A recipe for inducing hardware damage on a machine via insertion of invalid values (see poke) into a memory-mapped control register; used especially of various fairly well-known tricks on bitty boxes without hardware memory management (such as the IBM PC and Commodore PET) that can overload analog electronics in the monitor.
See also HCF.
(1994-11-04)

kill file
[Usenet] Per-user file(s) used by some Usenet reading programs (originally Larry Wall's rn) to discard summarily (without presenting for reading) articles matching some particularly uninteresting (or unwanted) patterns of subject, author, or other header lines. Thus to add a person (or subject) to one's kill file is to arrange for that person to be ignored by one's newsreader in future. By extension, it may be used for a decision to ignore the person or subject in other media. See also plonk.
[Jargon File]

kilo-
prefix

kilobaud
unit 1000 baud.
(1996-02-12)

kilobit
unit 2^10 = 1024 bits of storage (1 Kb).
Compare kilobits per second.
(2002-03-23)

kilobits per second
unit (kbps, kb/s) A unit of data rate where 1 kb/s = 1000 bits per second. This contrasts with units of storage where 1 Kb = 1024 bits (note upper case K).
(2002-03-23)

kilobyte
unit (KB) 2^10 = 1024 bytes.
See prefix.
(1995-09-29)

kiloflops
unit 1000 FLOPS.
See prefix.
(1998-09-07)

kiosk
A stall set up in a public place where one can obtain information, e.g. tourist information. The information may be provided by a human or by a computer. In the latter case, the data may be stored locally (e.g. on CD-ROM) or accessed via a network using some kind of distributed information retreival system such as Gopher or World-Wide Web.
(1998-09-07)

KIPS
/kips/ [by analogy with MIPS] Thousands (*not* 1024s) of instructions per second. Usage: rare.
[Jargon File]

KIS
Knowbot Information Service

KISS
Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

KISS Principle
/kis' prin'si-pl/ Keep It Simple, Stupid.
A maxim often invoked when discussing design to fend off creeping featurism and control complexity of development. Possibly related to the marketroid maxim on sales presentations, Keep It Short and Simple .
See also Occam's Razor.
[Jargon File]
(1994-11-18)

kit
jargon (Usenet, possibly from DEC) Slang for a full software distribution, as opposed to a patch or upgrade. A source software distribution that has been packaged in such a way that it can (theoretically) be unpacked and installed according to a series of steps using only standard Unix tools, and entirely documented by some reasonable chain of references from the top-level README file. The more general term distribution may imply that special tools or more stringent conditions on the host environment are required.
[Jargon File]
(1994-11-18)

KL0
Kernel Language 0.
A sequential logic language based on Prolog, used in the Japanese ICOT project.
(1994-11-18)

KL1
Kernel Language 1.
An experimental AND-parallel version of KL0 for the ICOT project in Japan. KL1 is an implementation of FGHC.
Not to be confused with KL-ONE.
[ Design of the Kernel Language for the Parallel Inference Machine , U. Kazunori et al, Computer J (Dec 1990)].
(1994-10-24)

Klamath
processor The pre-release code name for Intel's Pentium II microprocessor.
(1998-09-07)

KLB
Known Lazy Bastard

Kleene closure
Kleene star

Kleene star
text (Or Kleene closure , named after Stephen Kleene) The postfix * operator used in regular expressions, Extended Backus-Naur Form, and similar formalisms to specify a match for zero or more occurrences of the preceding expression. For example, the regular expression be*t would match the string bt , bet , beet , beeeeet , and so on.
(2000-07-26)

Kleene, Stephen Cole
Stephen Kleene

Klerer-May System
Early system from Columbia University with special mathematics symbols. Its reference manual was two pages long!
[ Further Advances in Two-Dimensional Input-Output by Typewriter Terminals , M. Klerer et al, Proc FJCC 31 (1967)].
[Sammet 1969, pp. 284-294].
(1994-10-24)

KLOC
unit, programming Thousand (kilo-) Lines of code.
(1995-03-12)

klone
/klohn/ clone.
[Jargon File]

KL-ONE
A frame language.
Not to be confused with KL1.
[ An Overview of the KL-ONE Knowledge Representation System , R.J. Brachman and J. Schmolze, Cognitive Sci 9(2), 1985].
(1994-11-18)

kludge
jargon /kluhj/ (From the old Scots kludgie meaning an outside toilet) A Scottish engineering term for anything added in an ad hoc (and possibly unhygenic!) manner. At some point during the Second World War, Scottish engineers met Americans and the meaning, spelling and pronunciation of kludge became confused with that of kluge .
The spelling kludge was apparently popularised by the Datamation cited below which defined it as An ill-assorted collection of poorly matching parts, forming a distressing whole.
The result of this tangled history is a mess; in 1993, many (perhaps even most) hackers pronounce the word /klooj/ but spell it kludge (compare the pronunciation drift of mung). Some observers consider this appropriate in view of its meaning.
[ How to Design a Kludge , Jackson Granholme, Datamation, February 1962, pp. 30-31].
[Jargon File]
(1998-12-09)

kluge
jargon /klooj/, /kluhj/ (From German klug /kloog/ - clever and Scottish kludge ) 1. A Rube Goldberg (or Heath Robinson) device, whether in hardware or software.
The spelling kluge (as opposed to kludge ) was used in connection with computers as far back as the mid-1950s and, at that time, was used exclusively of *hardware* kluges.
2. programming A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves ad-hockery and verges on being a crock. In fact, the TMRC Dictionary defined kludge as a crock that works .
3. Something that works for the wrong reason.
4. (WPI) A feature that is implemented in a rude manner.
In 1947, the New York Folklore Quarterly reported a classic shaggy-dog story Murgatroyd the Kluge Maker then current in the Armed Forces, in which a kluge was a complex and puzzling artifact with a trivial function. Other sources report that kluge was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea.
However, there is reason to believe this slang use may be a decade older. Several respondents have connected it to the brand name of a device called a Kluge paper feeder dating back at least to 1935, an adjunct to mechanical printing presses. The Kluge feeder was designed before small, cheap electric motors and control electronics; it relied on a fiendishly complex assortment of cams, belts, and linkages to both power and synchronise all its operations from one motive driveshaft. It was accordingly tempermental, subject to frequent breakdowns, and devilishly difficult to repair - but oh, so clever! One traditional folk etymology of klugen makes it the name of a design engineer; in fact, Kluge is a surname in German, and the designer of the Kluge feeder may well have been the man behind this myth.
TMRC and the MIT hacker culture of the early 1960s seems to have developed in a milieu that remembered and still used some WWII military slang (see also foobar). It seems likely that kluge came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which TMRC is also located) during the war.
[Jargon File]
(2000-01-31)

kluge around
jargon To avoid a bug or difficult condition by inserting a kluge.
Compare workaround.
[Jargon File]
(1995-03-10)

km
networking The country code for Comoros.
(1999-01-27)

KMODEL
An ancestor of Model-K. Preliminary Results on the BEHAVIOUR Specifications Language KMODEL-0 , BEHAVIOUR Memo 5-91, 1991, GMD, Sankt Augustin, Germany

KMS
Knowledge Management System

kn
networking The country code for Saint Kitts and Nevis.
(1999-01-27)

knapsack problem
application, mathematics Given a set of items, each with a cost and a value, determine the number of each item to include in a collection so that the total cost is less than some given cost and the total value is as large as possible.
The 0/1 knapsack problem restricts the number of each items to zero or one.
Such constraint satisfaction problems are often solved using dynamic programming.
The general knapsack problem is NP-hard, and this has led to attempts to use it as the basis for public-key encryption systems. Several such attempts failed because the knapsack problems they produced were in fact solvable by polynomial-time algorithms.
[Are there any trusted knapsack-based public-key cryptosystems?].
(1995-04-10)

KNI
Streaming SIMD Extension

Knights of the Lambda-Calculus
A semi-mythical organisation of wizardly LISP and Scheme hackers. The name refers to a mathematical formalism invented by Alonzo Church, with which LISP is intimately connected. There is no enrollment list and the criteria for induction are unclear, but one well-known LISPer has been known to give out buttons and, in general, the *members* know who they are.
[Jargon File]

knowbot
World-Wide Web A kind of bot that collects information by automatically gathering certain specified information from web sites.
(1999-06-19)

Knowbot Information Service
networking, information science (KIS) Also known as netaddress. The Knowbot Information Service (KIS) provides a uniform user interface to a variety of remote directory services such as whois, finger, X.500, MCIMail. By submitting a single query to KIS, a user can search a set of remote white pages services and see the results of the search in a uniform format.
There are several interfaces to the KIS service including electronic mail and telnet. Another KIS interface imitates the Berkeley whois command.
KIS consists of two distinct types of modules which interact with each other (typically across a network) to provide the service. One module is a user agent module that runs on the KIS mail host machine. The second module is a remote server module (possibly on a different machine) that interrogates various database services across the network and provides the results to the user agent module in a uniform fashion. Interactions between the two modules can be via messages between Knowbots or by actual movement of Knowbots.
There are electronic mail interfaces for KIS at the hosts cnri.reston.va.us and sol.bucknell.edu. Send a message containing just the word man to kis@cnri.reston.va.us or netaddress@sol.bucknell.edu . Telnet: info.cnri.reston.va.us port 185.

knowledge
artificial intelligence, information science The objects, concepts and relationships that are assumed to exist in some area of interest. A collection of knowledge, represented using some knowledge representation language is known as a knowledge base and a program for extending and/or querying a knowledge base is a knowledge-based system.
Knowledge differs from data or information in that new knowledge may be created from existing knowledge using logical inference. If information is data plus meaning then knowledge is information plus processing.
A common form of knowledge, e.g. in a Prolog program, is a collection of facts and rules about some subject.
For example, a knowledge base about a family might contain the facts that John is David's son and Tom is John's son and the rule that the son of someone's son is their grandson. From this knowledge it could infer the new fact that Tom is David's grandson.
See also Knowledge Level.
(1994-10-19)

Knowledge Analysis and Design System
process (KADS) A structured way of developing knowledge-based systems (expert systems). KADS was developed as an alternative to an evolutionary approach and is now accepted as the European standard for knowledge based systems.
(http://www.cse.unsw.edu.au/~timm/pub/slides/kltut/index.html).
[ Knowledge Based Systems Analysis and Design: A KADS Developers Handbook , Tansley and Hayball]
(1998-03-12)

knowledge base
artificial intelligence A collection of knowledge expressed using some formal knowledge representation language. A knowledge base forms part of a knowledge-based system (KBS).
(1994-10-19)

knowledge-based system
artificial intelligence (KBS) A program for extending and/or querying a knowledge base.
The related term expert system is normally used to refer to a highly domain-specific type of KBS used for a specialised purpose such as medical diagnosis.
The Cyc project is an example of a large KBS.
(1999-09-07)

knowledge level
artificial intelligence A level of description of the knowledge of an agent that is independent of the agent's internal symbol-level representation. Knowledge can be attributed to agents by observing their actions. An agent knows something if it acts as if it had the information and is acting rationally to achieve its goals. The actions of agents, including knowledge base servers and knowledge-based systems, can be seen through a tell and ask functional interface, where a client interacts with an agent by making logical assertions (tell), and posing queries (ask).
(1994-10-19)

Knowledge Management System
(KMS) A distributed hypermedia system for managing knowledge in organisations. KMS is a commercial system from Knowledge Systems, Inc. running on workstations, based on previous research with ZOG at Carnegie Mellon University.
(1994-10-28)

Knowledge Query and Manipulation Language
language, protocol, artificial intelligence (KQML) A language and protocol, based on SGML, for exchanging information and knowledge, proposed in 1993(?).
Work on KQML is led(?) by Tim Finin finin@umbc.edu of the University of Maryland Baltimore County, Lab for Advanced Information Technology. It is part of the ARPA Knowledge Sharing Effort.
The KQML message format and protocol can be used to interact with an intelligent system, either by an application program, or by another intelligent system. KQML's performatives are operations that agents perform on each other's knowledge and goal stores. Higher-level interactions such as contract nets and negotiation are built using these. KQML's communication facilitators coordinate the interactions of other agents to support knowledge sharing.
Experimental prototype systems support concurrent engineering, intelligent design, intelligent planning, and scheduling.
Home (http://www.cs.umbc.edu/kqml/).
(1999-09-28)

knowledge representation
The subfield of artificial intelligence concerned with designing and using systems for storing knowledge - facts and rules about some subject.
A body of formally represented knowledge is based on a conceptualisation - an abstract view of the world that we wish to represent. In order to manipulate this knowledge we must specify how the abstract conceptualisation is represented as a concrete data structure. An ontology is an explicit specification of a conceptualisation.
(1994-10-19)

Knowledge Sharing Effort
project An ARPA project developing techniques and methods for building large-scale knowledge bases which are sharable and reusable.
KQML is part of it.
(1999-09-28)

Knowledge Systems Laboratory
(KSL) An artificial intelligence research laboratory within the Department of Computer Science at Stanford University. Current work focuses on knowledge representation for sharable engineering knowledge bases and systems, computational environments for modelling physical devices, architectures for adaptive intelligent systems, and expert systems for science and engineering.
(1994-12-06)

Known Lazy Bastard
abuse (KLB) A term, used among technical support staff, for a user who repeatedly asks for help with problems whose solutions are clearly explained in the documentation, and persists in doing so after having been told to RTFM.
KLBs are singled out for special treatment (i.e. ridicule), especially if they have been heard to say It's so boring to read the manual! Why don't you just tell me? . The deepest pit in Hell is reserved for KLBs whose questions reveal total ignorance of the basic concepts (e.g., How do I make a font in Excel? , Where do I turn on my RAM? ), and who refuse to accept that their questions are neither simple nor well-formed.
(1998-09-07)

Knuth
/knooth/ 1. Donald Knuth.
2. [ The Art of Computer Programming , Donald E. Knuth] Mythically, the reference that answers all questions about data structures or algorithms. A safe answer when you do not know: I think you can find that in Knuth.
Contrast literature. See also bible.
[Jargon File]

Kodak
company The photographic company responsible for Photo CD.
Home (http://www.kodak.com/)
(1995-12-13)

Kohonen
T. Kohonen

KOMPILER
Early system on IBM 701. Listed in CACM 2(5):16 (May 1959). Versions: KOMPILER 2 for IBM 701, KOMPILER 3 for IBM 704.

Konrad Zuse
person The designer of the first programming language, Plankalkül, and the first fully functional program-controlled electromechanical digital computer in the world, the Z3. He died on 1995-12-18 in Huenfeld, Germany.
Biography (http://ei.cs.vt.edu/~history/Zuse.html)
[ Konrad Zuse: Mein Leben (My Life), published 1956].
[ Konrad Zuse: The Computer my Life, Springer, 1993].
(1999-02-18)

Korn Shell
(ksh) A command interpreter for Unix.
SKsh is an AmigaDos-specific version and pdksh is a free Unix version.
[More details?]

kp
networking The country code for North Korea.
(1999-01-27)

KQML
Knowledge Query and Manipulation Language

KR
knowledge representation

kr
networking The country code for South Korea.
[Jargon File]
(1999-01-27)

K R
Kernighan and Ritchie. Brian Kernighan and Dennis Ritchie's book The C Programming Language , especially the classic and influential first edition (Prentice-Hall 1978; ISBN 0-113-110163-3).
Synonym White Book, Old Testament. See also New Testament.
[Jargon File]

KRC
Kent Recursive Calculator.
A lazy functional language developed by David Turner in 1981 based on SASL, with pattern matching and ZF expressions.
[ Functional Programming and its Applications , David A. Turner, Cambridge U Press 1982].
See also continental drift.
(1994-12-06)

K R C
C as originally described in K R.

kremvax
/krem-vaks/ Originally, a fictitious Usenet site at the Kremlin, named like the then large number of Usenet VAXen with names of the form foovax. Kremvax was announced on April 1, 1984 in a posting ostensibly originated there by Soviet leader Konstantin Chernenko. The posting was actually forged by Piet Beertema as an April Fool's joke. Other fictitious sites mentioned in the hoax were moskvax and kgbvax. This was probably the funniest of the many April Fool's forgeries perpetrated on Usenet (which has negligible security against them), because the notion that Usenet might ever penetrate the Iron Curtain seemed so totally absurd at the time.
In fact, it was only six years later that the first genuine site in Moscow, demos.su, joined Usenet. Some readers needed convincing that the postings from it weren't just another prank. Vadim Antonov, senior programmer at Demos and the major poster from there up to mid-1991, was quite aware of all this, referred to it frequently in his own postings, and at one point twitted some credulous readers by blandly asserting that he *was* a hoax!
Eventually he even arranged to have the domain's gateway site *named* kremvax, thus neatly turning fiction into truth and demonstrating that the hackish sense of humour transcends cultural barriers. Mr. Antonov also contributed some Russian-language material for the Jargon File.
In an even more ironic historical footnote, kremvax became an electronic centre of the anti-communist resistance during the bungled hard-line coup of August 1991. During those three days the Soviet UUCP network centreed on kremvax became the only trustworthy news source for many places within the USSR. Though the sysops were concentrating on internal communications, cross-border postings included immediate transliterations of Boris Yeltsin's decrees condemning the coup and eyewitness reports of the demonstrations in Moscow's streets. In those hours, years of speculation that totalitarianism would prove unable to maintain its grip on politically-loaded information in the age of computer networking were proved devastatingly accurate - and the original kremvax joke became a reality as Yeltsin and the new Russian revolutionaries of glasnost and perestroika made kremvax one of the timeliest means of their outreach to the West.
[Jargon File]

KRL
Knowledge Representation Language. A frame-based language.
[ An Overview of KRL, a Knowledge Representation Language , D.G. Bobrow and T. Winograd, Cognitive Sci 1:1 (1977)].

KRS
Frame-based language built on Common LISP.

KRYPTON
A frame language.
[ An Essential Hybrid Reasoning System: Knowledge and Symbol Level Accounts of of KRYPTON , R.J. Brachman et al, Proc IJCAI-85, 1985].

ksh
Korn Shell

KSL
Knowledge Systems Laboratory

KSR
1. Keyboard Send Receive.
2. company Kendall Square Research.
(1995-11-23)

KTH
Kungliga Tekniska Högskolan

KUIP
Kernel User Interface Package

Kungliga Tekniska Högskolan
body, education (KTH, Royal Institute of Art and Technology) A Swedish university founded in 1827 that is strong in engineering and computing (e.g. AI, Virtual Reality). In 1998 KTH had nearly 11,000 undergraduate students, 1,300 postgraduate students, and 2,900 staff, making it the largest of Sweden's six universitites of technology.
Home (http://www.kth.se/index-eng.html).
Address: Stockholm, Sweden.
(2001-03-18)

KUTGW
chat Keep up the good work.
(1999-03-08)

Kvatro Telecom AS
company The company that maintains Mary.
Address: Trondheim, Norway.
Home (http://www.kvatro.no/).
(1998-11-10)

Kvikkalkul
language /kveek`kahl-kool'/ A deliberately cryptic programming language said to have been devised by the Swedish Navy in the 1950s as part of their abortive attempt at a nuclear weapons program. What little is known about it comes from a series of an anonymous posts to Usenet in 1994. The poster described the language, saying that he had programmed in Kvikkalkul when he worked for the Swedish Navy in the 1950s. It is an open question whether the posts were a troll, a subtle parody or truth stranger than fiction could ever be.
Assuming it existed, Kvikkalkul is so much a bondage-and-discipline language that it is, in its own ways, even more bizarre than the deliberate parody language INTERCAL. Among its notable features , all symbols in Kvikkalkul, including variable names and program labels, can consist only of digits. Operators consist entirely of the punctuation symbols (, ), -, and :. Kvikkalkul allows no comments - they might not correspond with the code. Kvikkalkul's only data type is the signed fixed-point fractional number, i.e. a number between (but not including) -1 and 1. Dealings with the Real World that require numbers outside that range are done with functions that notionally map that range to a larger range (e.g., -16383 to -16383) and back. Kvikkalkul had a probabilistic jump operator which, if given a negative probability, would act like a COME FROM. This was, sadly, deleted in later versions of the language.
Home (http://prefect.com/home24/kvikkalkul/).
(1998-11-14)

kw
networking The country code for Kuwait.
(1999-01-27)

ky
networking The country code for the Cayman Islands.
(1999-01-27)

Kyoto Common Lisp
language (KCL) An implementation of Common Lisp by T. Yuasa yuasa@tutics.tut.ac.jp and M. Hagiya hagiya@is.s.u-tokyo.ac.jp , written in C to run under Unix-like operating systems. KCL is compiled to ANSI C. It conforms to Common Lisp as described in Guy Steele's book and is available under a licence agreement.
(ftp://rascal.ics.utexas.edu/pub/kcl.tar.Z).
E-mail: kcl@cli.com (bug reports).
Mailing list: kcl-request@cli.com, kcl@rascal.ics.utexas.edu.
[ Design and Implementation of Kyoto Common Lisp , T. Yuasa yuasa@tutics.tut.ac.jp , J Info Proc 13(3):284-295 (1990)].
[ Kyoto Common Lisp Report , T. Yuasa M. Hagiya].
(1987-06-01)

kyrka
feature key

kz
networking The country code for Kazakhstan.
(1999-01-27)

Tech U Munich. Low level language, typed and with ususal flow control, but only 3-address expressions. Higher levels L1 and L2 were planned. Brief Survey of L0 , H. Scheidig, in Machine Oriented Higher Level Languages, W. van der Poel ed, N-H 1974, pp.239-247.

l10n
localisation

L1 cache
primary cache

L2 cache
secondary cache

L2TP
Layer Two Tunneling Protocol

L6
Bell Telephone Laboratories Low-Level Linked List Language. Ken Knowlton, 1965. List processing language, typeless.
[ A Programmer's Description of L6, Bell Telephone Laboratories' Low-Level Linked List Language , K. Knowlton CACM 9(8):616-625 (Aug 1966). Sammet 1969, pp.400- 405].

la
networking The country code for Laos.
(1999-01-27)

label edge router
networking (LER) A device that sits at the edge of an MPLS domain, that uses routing information to assign labels to datagrams and then forwards them into the MPLS domain.
(1999-06-14)

label switched path
networking (LSP) The specific path through a network that a datagram follows, based on its MPLS labels.
(1999-06-14)

label switching
networking An attempt to combine the best attributes of layer two switching (as in ATM and Frame Relay) with the best attributes of the layer three routing (as in IP).
The key concept in label switching is identifying and marking IP datagrams with labels and forwarding them to a modified switch or router, which then uses the labels to switch the datagrams through the network. The labels are created and assigned to IP datagrams based upon the information gathered from existing IP routing protocols.
Prior to the formation of the MPLS Working Group in 1997, a number of vendors had announced and/or implemented proprietary label switching.
(1999-06-14)

Label Switching Router
networking (LSR) A device that typically resides somewhere in the middle of a network and is capable of forwarding datagrams based upon a label. In many cases, especially early versions of MPLS networks, a LSR will typically be a modified ATM switch that forwards datagrams based upon a label in the VPI/VCI field.
(1999-06-14)

Lab for Computer Science
MIT. (http://www.lcs.mit.edu/).

Laboratory INstrument Computer
computer (LINC) A computer which was originally designed in 1962 by Wesley Clark, Charles Molnar, Severo Ornstein and others at the Lincoln Laboratory Group, to facilitate scientific research. With its digital logic and stored programs, the LINC is accepted by the IEEE Computer Society to be the World's first interactive personal computer.
The machine was developed to fulfil a need for better laboratory tools by doctors and medical researchers. It would supplant the 1958 Average Response Computer, and was designed for individual use.
Led by William N. Papian and mainly funded by the National Institute of Health, Wesley Clark designed the logic while Charles Molnar did the engineering. The first LINC was finished in March 1962.
In January 1963, the project moved to MIT, and then to Washington University (in St. Louis) in 1964.
The LINC had a simple operating system, four knobs (which was used like a mouse), a Soroban keyboard (for alpha-numeric data entry), two LINCtape drives and a small CRT display. It originally had one kilobit of core memory, but this was expanded to 2 Kb later. The computer was made out of Digital Equipment Corporation (DEC) hardware modules.
Over 24 LINC systems had been built before late 1964 when DEC began to sell the LINC commercially.
After the introduction of the PDP-8, Dick Clayton at DEC produced a rather frightening hybrid of the LINC and PDP-8 called a LINC-8. This really was not a very satisfactory machine, but it used the new PDP-8 style DEC cards and was cheaper and easier to produce. It still didn't sell that well.
In the late 1960s, Clayton brought the design to its pinnacle with the PDP-12, an amazing tour de force of the LINC concept; along with about as seamless a merger as could be done with the PDP-8. This attempted to incorporate TTL logic into the machine. The end of the LINC line had been reached.
Due to the success of the LINC-8, Spear, Inc. produced a LINC clone (since the design was in the public domain). The interesting thing about the Spear micro-LINC 300 was that it used MECL II logic. MECL logic was known for its blazing speed (at the time!), but the Spear computer ran at very modest rates.
In 1995 the last of the classic LINCs was turned off for the final time after 28 years of service. This LINC had been in use in the Eaton-Peabody Laboratory of Auditory Physiology (EPL) of the Massachusetts Eye and Ear Infirmary.
On 15 August 1995, it was transferred to the MIT Computer Museum where it was put on display.
LINC/8, PDP-12 (http://www.faqs.org/faqs/dec-faq/pdp8/section-7.html).
Lights out for last LINC (http://rleweb.mit.edu/publications/currents/6-1linc.HTM).
[ Computers and Automation , Nov. 1964, page 43].
(1999-05-20)

Laboratory Virtual Instrument Engineering Workbench
tool (LabVIEW) A package from National Instruments Corp originally developed to provide a graphical user interface to instruments connected by the IEEE 488 (GPIB) bus. It has powerful graphical editing facilities for defining and interconnecting virtual instruments .
(1996-04-24)

LaborNet
An IGC network serving groups, unions and labour advocates interested in information sharing and collaboration with the intent of enhancing the human rights and economic justice of workers. Issues covered include workplace and community health and safety issues, trade issues and international union solidarity and collaboration.

Labtech Notebook
tool, product Commercial data aquisition software.
(1995-03-08)

LabVIEW
Laboratory Virtual Instrument Engineering Workbench

Lace
Language for Assembling Classes in Eiffel. Specifies how to assemble an Eiffel system : in which directories to find the clusters, which class to use as the root, permits class renaming to avoid name clashes. Eiffel: The Language , Bertrand Meyer, P-H 1992.

lace card
(Obsolete) A punched card with all holes punched (also called a whoopee card or ventilator card ). Card readers tended to jam when they got to one of these, as the resulting card had too little structural strength to avoid buckling inside the mechanism. Card punches could also jam trying to produce these things owing to power-supply problems. When some practical joker fed a lace card through the reader, you needed to clear the jam with a card knife - which you used on the joker first.
[Jargon File]

LADY
language [ Key Concepts in the INCAS Multicomputer Project , J. Nehmer et al IEEE Trans Soft Eng SE-13(8):913-923 (Aug 1987)].
(1996-06-21)

lag
netlag

Lakota
Scripting language, extends existing OS commands. E-mail: Richard Harter rh@smds.UUCP , SMDS, Inc.

LALR
Look Ahead Left Recursive

lalr.ss
tool An LALR1 grammar parser generator written in, and outputting, Scheme by Mark Johnson mj@cs.brown.edu .
Version 0.9 (before 1995-10-30).
FTP new/lalr.shar from the Scheme Repository.
(1993-05-24)

Lambada-Calculus
humour, logic (A pun on lambda-calculus ) Teaching logic thru spanish dance steps. Invented by P. van der Linden linden@eng.sun.com .
(1996-08-10)

LAMBDA
A version of typed lambda-calculus, used to describe semantic domains.
[ Outline of a Mathematical Theory of Computation , D.S. Scott, TM PRG-2, PRG, Oxford U, 1971].

lambda abstraction
A term in lambda-calculus denoting a function. A lambda abstraction begins with a lower-case lambda (represented as in this document), followed by a variable name (the bound variable ), a full stop and a lambda expression (the body). The body is taken to extend as far to the right as possible so, for example an expression,
x . y . x+y
is read as
x . ( y . x+y).
A nested abstraction such as this is often abbreviated to:
x y . x + y
The lambda expression ( v . E) denotes a function which takes an argument and returns the term E with all free occurrences of v replaced by the actual argument. Application is represented by juxtaposition so
( x . x) 42
represents the identity function applied to the constant 42.
A lambda abstraction in Lisp is written as the symbol lambda, a list of zero or more variable names and a list of zero or more terms, e.g.
(lambda (x y) (plus x y))
Lambda expressions in Haskell are written as a backslash, , one or more patterns (e.g. variable names), - and an expression, e.g. x - x.
(1995-01-24)

lambda-calculus
mathematics (Normally written with a Greek letter lambda). A branch of mathematical logic developed by Alonzo Church in the late 1930s and early 1940s, dealing with the application of functions to their arguments. The pure lambda-calculus contains no constants - neither numbers nor mathematical functions such as plus - and is untyped. It consists only of lambda abstractions (functions), variables and applications of one function to another. All entities must therefore be represented as functions. For example, the natural number N can be represented as the function which applies its first argument to its second N times (Church integer N).
Church invented lambda-calculus in order to set up a foundational project restricting mathematics to quantities with effective procedures . Unfortunately, the resulting system admits Russell's paradox in a particularly nasty way; Church couldn't see any way to get rid of it, and gave the project up.
Most functional programming languages are equivalent to lambda-calculus extended with constants and types. Lisp uses a variant of lambda notation for defining functions but only its purely functional subset is really equivalent to lambda-calculus.
See reduction.
(1995-04-13)

lambda expression
mathematics A term in the lambda-calculus denoting an unnamed function (a lambda abstraction ), a variable or a constant. The pure lambda-calculus has only functions and no constants.
(1995-04-13)

lambda lifting
A program transformation to remove free variables. An expression containing a free variable is replaced by a function applied to that variable. E.g.
f x = g 3 where g y = y + x
x is a free variable of g so it is added as an extra argument:
f x = g 3 x where g y x = y + x
Functions like this with no free variables are known as supercombinators and are traditionally given upper-case names beginning with $ . This transformation tends to produce many supercombinators of the form f x = g x which can be eliminated by eta reduction and substitution. Changing the order of the parameters may also allow more optimisations. References to global (top-level) constants and functions are not transformed to function parameters though they are technically free variables.
A closely related technique is closure conversion. See also Full laziness.

LambdaMOO
games The most frequently used server software for running a MOO and also the nerve-center (of sorts) of the MOO community.
Home (ftp://ftp.lambda.moo.mud.org/pub/MOO/).
Telnet (telnet://lambda.moo.mud.org:8888).
(1999-05-25)

Lambda-Prolog
An extension of standard Prolog defined by D.A. Miller, in which terms are strongly typed lambda-terms. Clauses are higher order hereditary Harrop formulas. The main novelties are universal quantification on goals and implication.
The Prolog/Mali compiler uses the MALI abstract memory system.
(ftp://ftp.irisa.fr/pm/pm.tar.Z)
E-mail: pm@irisa.fr . Mailing list: prolog-mali@irisa.fr.
[ Higher-order logic programming , Miller D.A. and Nadathur G., 3rd International Conference on Logic Programming, pp 448-462, London 1986].
[Nadathur G. A Higher-Order Logic as a Basis for Logic Programming , Thesis, University of Pennsylvania, 1987].
(1995-02-21)

lamer
jargon A hopelessly clueless luser.
(1997-01-31)

LAMINA
A concurrent object-oriented language.
[ Experiments with a Knowledge-based System on a Multiprocessor , Third Intl Conf Supercomputing Proc, 1988].
[ ELINT in LAMINA, Application of a Concurrent Object language , Delagi et al, KSL-88-3, Knowledge Sys Labs, Stanford U].

lamp-post error
fencepost error

LAN
local area network

LANCE
Local Area Network Controller for Ethernet.
The alternative name for the Am7990 integrated circuit used in a Filtabyte Ethernet controller card.
(1995-02-15)

language
1. language, programming programming language.
2. human language natural language.
(1998-09-07)

language-based editor
language-sensitive editor

Language for Communicating Systems
language (LCS) A concurrent SML by Bernard Berthomieu with behaviours and processes, based upon higher order CCS. LCS is implemented as a bytecode interpreter and runs on Sun SPARC, SGI MIPS, and Linux.
Latest version: 5.1, as of 2000-03-17.
Home (http://www.laas.fr/~bernard/lcs.html).
E-mail: Bernard Berthomieu Bernard.Berthomieu@laas.fr .
Mailing list: lcs@laas.fr
(2000-03-28)

Language H
An early business-oriented language from NCR.

language lawyer
A person, usually an experienced or senior software engineer, who is intimately familiar with many or most of the numerous restrictions and features (both useful and esoteric) applicable to one or more computer programming languages. A language lawyer is distinguished by the ability to show you the five sentences scattered through a 200-page manual that together imply the answer to your question if only you had thought to look there .
Compare wizard, legal, legalese.
[Jargon File]
(1995-02-15)

Language Of Temporal Ordering Specification
language (LOTOS) A formal specification language based on temporal ordering used for protocol specfication in ISO OSI standards. It is published as ISO 8807 in 1990 and describes the order in which events occur.
[ The Formal Description Technique LOTOS , P.H.J. van Eijk et al eds, N-H 1989].
(1995-03-18)

Language Sensitive Editor
(LSE) A language-sensitive editor from DEC.
(1995-02-15)

language-sensitive editor
An editor that is aware of the syntactic, semantic and in some cases the structural rules of a specific programming language and provides a framework for the user to enter source code. Programs or changes to previously stored programs are incrementally parsed into an abstract syntax tree and automatically checked for correctness.
(1995-02-15)

languages of choice
C and Lisp. Nearly every hacker knows one of these, and most good ones are fluent in both. Smalltalk and Prolog are also popular in small but influential communities.
There is also a rapidly dwindling category of older hackers with Fortran, or even assembler, as their language of choice. They often prefer to be known as Real Programmers, and other hackers consider them a bit odd (see The Story of Mel ). Assembler is generally no longer considered interesting or appropriate for anything but HLL implementation, glue, and a few time-critical and hardware-specific uses in systems programs. Fortran occupies a shrinking niche in scientific programming.
Most hackers tend to frown on languages like Pascal and Ada, which don't give them the near-total freedom considered necessary for hacking (see bondage-and-discipline language), and to regard everything even remotely connected with COBOL or other traditional card walloper languages as a total and unmitigated loss.
[Jargon File]

Laning and Zierler
language Possibly the first true working algebraic compiler. Written by J.H. Laning Jr and N. Zierler in 1953-1954 to run on MIT's Whirlwind computer.
[Sammet 1969, pp. 131-132].
[Did the language have a name?]
(1994-11-01)

LANL
Los Alamos National Laboratory, Los Alamos, NM, USA.

Lan Manager
operating system Microsoft's OS/2-based network operating system. Developed in conjunction with 3Com, Lan Manager runs as a task under OS/2. Because of this, a file server may concurrently be used for other tasks, such as database services. It offers good mulitasking.
(1997-03-19)

LANtastic
networking, product A trademarked name for numerous products of Artisoft, Inc..
(1995-04-16)

LAP
LISP Assembly Program. The assembly language embedded into early Lisp. LAP was also used by the Liar compiler for MIT Scheme and MACLISP.
[Sammet 1969, p. 597].
(1994-11-01)

LAP4
Early assembly language for Linc-8 machine.

LAPB
Link Access Protocol Balanced

LAPD
1. Link Access Procedure on the D channel.
2. Los Angeles Police Department.

LAPM
Link Access Protocol for Modems

LAPSE
A single assignment language for the Manchester dataflow machine.
[ A Single Assignment Language for Data Flow Computing , J.R.W. Glauert, M.Sc Diss, Victoria U Manchester, 1978].
(1994-12-21)

laptop computer
computer (Commonly just laptop ) A portable personal computer of a size suitable to rest comfortably on one's legs. A laptop is smaller than a luggable (portable, but not comfortably) but bigger than a palmtop (easily carried in one hand or a shirt pocket).
Toshiba were one of the first companies to produce laptops, in about 1989.
[First example? Date? Difference from notebook ?]
(1994-12-21)

LaQuey
[LaQuey, T. (with J. Ryer), The Internet Companion: A Beginner's Guide to Global Networking , Addison-Wesley, Reading, MA, 1992.]

Larch
The Larch Project develops aids for formal specifications. Each Larch specification has two components: an interface containing predicates written in the LIL (Larch Interface Language) designed for the target language and a 'trait' containing assertions about the predicates written in LSL, the Larch Shared Language common to all.
[ The Larch Family of Specification Languages , J. Guttag et al, IEEE Trans Soft Eng 2(5):24-365 (Sep 1985)].

Larch/C++
An interface specification language which can be used to formally specify C++ program modules.

LARCH/CLU
language, specification The Larch specification language for CLU. Used in Abstraction and Specification in Program Development , B. Liskov J. Guttag, MIT Press 1986.
(1996-01-02)

Large Installation Systems Administration
(LISA) The USENIX systems administration conference. It is now more general that its title suggests. It is sponsored and organised by SAGE, the USENIX Systems Administrators Guild.
(ftp://ftp.sage.usenix.org/pub/sage/)
(1996-01-02)

Larry Wall
person A demigod, the author of Perl, patch, and rn.
In the Perl README, he says, I want you to know that I create nice things like this because it pleases the Author of my story. If this bothers you, then your notion of Authorship needs some revision. But you can use Perl anyway.
E-mail: Larry Wall lwall@sems.com .
(1996-06-04)

LART
Luser Attitude Re-adjustment Tool

larval stage
Describes a period of monomaniacal concentration on coding apparently passed through by all fledgling hackers. Common symptoms include the perpetration of more than one 36-hour hacking run in a given week; neglect of all other activities including usual basics like food, sleep, and personal hygiene; and a chronic case of advanced bleary-eye. Can last from 6 months to 2 years, the apparent median being around 18 months. A few so afflicted never resume a more normal life, but the ordeal seems to be necessary to produce really wizardly (as opposed to merely competent) programmers. See also wannabee. A less protracted and intense version of larval stage (typically lasting about a month) may recur when one is learning a new OS or programming language.
[Jargon File]

lase
/layz/ To print a given document via a laser printer. OK, let's lase that sucker and see if all those graphics-macro calls did the right things.

laser printer
printer A non-impact high-resolution printer which uses a rotating disk to reflect laser beams to form an electrostatic image on a selenium imaging drum. The developer drum transfers toner from the toner bin to the charged areas of the imaging drum, which then transfers it onto the paper into which it is fused by heat. Toner is dry ink powder, generally a plastic heat-sensitive polymer.
Print resolution currently (2001) ranges between 300 and 2400 dots per inch (DPI). Laser printers using chemical photoreproduction techniques can produce resolutions of up to 2400 DPI.
Print speed is limited by whichever is slower - the printer hardware (the engine speed ), or the software rendering process that converts the data to be printed into a bit map.
The print speed may exceed 21,000 lines per minute, though printing speed is more often given in pages per minute. If a laser printer is rated at 12 pages per minute (PPM), this figure would be true only if the printer is printing the same data on each of the twelve pages, so that the bit map is identical. This speed however, is rarely reached if each page contains different codes, text, and graphics.
In 2001, Xerox's Phaser 1235 and 2135 (with Okidata engines) could print up to 21 colour ppm at 1200x1200 DPI using a single-pass process.
Colour laser printers can reach 2400 DPI easily (e.g. an HP LaserJet 8550). Some printers with large amounts of RAM can print at engine speed with different text pages and some of the larger lasers intended for graphics design work can print graphics at full engine speed.
Although there are dozens of retail brands of laser printers, only a few original equipment manufacturers make print engines, e.g. Canon, Ricoh, Toshiba, and Xerox.
(2002-01-06)

Lasherism
jargon, algorithm (Harvard) A program that solves a standard problem (such as the Eight Queens Puzzle or implementing the life algorithm) in a deliberately nonstandard way. Distinguished from a crock or kluge by the fact that the programmer did it on purpose as a mental exercise. Such constructions are quite popular in exercises such as the Obfuscated C contest, and occasionally in retrocomputing. Lew Lasher was a student at Harvard around 1980 who became notorious for such behaviour.
[Jargon File]
(1994-12-07)

last call optimisation
Normally when procedure A calls procedures B, C, .., Z, the environment of procedure A is only discarded when procedure Z returns and procedure A itself terminates. Using last call optimisation, A's environment is discarded as Z is called. This allows arbitrarily deep nesting of procedure calls without consuming memory to store useless environments.
A special case of this is tail recursion optimisation where the last procedure called is the calling procedure itself.

last-in first-out
stack

LAT
Local Area Transport

latch
A digital logic circuit used to store one or more bits. A latch has a data input, a clock input and an output. When the clock input is active, data on the input is latched or stored and transfered to the output either immediately or when the clock input goes inactive. The output will then retain its value until the clock goes active again.
See also flip-flop.
(1995-02-03)

latency
communications 1. The time it takes for a packet to cross a network connection, from sender to receiver.
2. The period of time that a frame is held by a network device before it is forwarded.
Two of the most important parameters of a communications channel are its latency, which should be low, and its bandwidth, which should be high. Latency is particularly important for a synchronous protocol where each packet must be acknowledged before the next can be transmitted.
(2000-02-27)

LaTeX
language, text, tool (Lamport TeX) Leslie Lamport lamport@pa.dec.com 's document preparation system built on top of TeX. LaTeX was developed at SRI International's Computer Science Laboratory and was built to resemble Scribe.
LaTeX adds commands to simplify typesetting and lets the user concentrate on the structure of the text rather than on formatting commands.
BibTeX is a LaTeX package for bibliographic citations.
Lamport's LaTeX book has an exemplary index listing every symbol, concept and example in the book. The index in the, now obsolete, first edition includes (on page 221) the mysterious entry Gilkerson, Ellen, 221 . The second edition (1994) has an entry for infinite loop instead.
[ LaTeX, A Document Preparation System , Leslie Lamport, A-W 1986, ISBN 0-201-15790-X (first edition, now obsolete)].
(1997-11-17)

Latin 1
ISO 8859

lattice
theory A partially ordered set in which all finite subsets have a least upper bound and greatest lower bound.
This definition has been standard at least since the 1930s and probably since Dedekind worked on lattice theory in the 19th century; though he may not have used that name.
See also complete lattice, domain theory.
(1999-12-09)

LAU
Langage a Assignation Unique. A single assignment language for the LAU dataflow machine, Toulouse.
[ Pipelining, Parallelism and Asynchronism in the LAU System , J.C. Syre et al, Proc 1977 Intl Conf Parallel Proc, pp. 87-92].

laundromat
jargon, storage Synonym disk farm; see washing machine.
[Jargon File]
(1998-02-01)

LAURE
language A language for knowledge representation combining object-oriented features and logic programming. It has set operations, object-oriented exception handling and a polymorphic type system.
[ An Object-Oriented Language for Advanced Applications , in Proc TOOLS 5, Santa Barbara 1991, P-H].
(1998-02-01)

LAVA
A language for VLSI that deals with sticks , i.e. wires represented as lines with thickness.
[ A Target Language for Silicon Compilers , R.J. Matthews et al, IEEE COMPCON, 1982, pp. 349-353].
(1994-12-07)

law
software law

LAWN
wireless local area network

Lawrence Livermore Labs
Lawrence Livermore National Laboratory

Lawrence Livermore National Laboratory
body (LLNL) A research organaisatin operated by the University of California under a contract with the US Department of Energy. LLNL was founded on 2 September 1952 at the site of an old World War II naval air station.
The Lab employs researchers from many scientific and engineering disciplines. Some of its departments are the National Ignition Facility, the Human Genome Center, the ASCI Tera-Scale Computing partnership, the Computer Security Technology Center, and the Site 300 Experimental Test Facility. Other research areas are Astronomy and Astrophysics, Atmospheric Science, Automation and Robotics, Biology, Chemistry, Computing, Energy Research, Engineering, Environmental Science, Fusion, Geology and Geophysics, Health, Lasers and Optics, Materials Science, National Security, Physics, Sensors and Instrumentation, Space Science.
LLNL also works with industry in research and licensing projects. At the end of fiscal year 1995, the lab had signed agreements for 193 cost-shared research projects involving 201 companies and worth nearly $600m.
Home (http://www.llnl.gov/).
Address: Fremont, California, USA.
(1996-10-30)

LAX
LAnguage eXample.
A toy language used to illustrate compiler design.
[ Compiler Construction , W.M. Waite et al, Springer 1984].
(1994-12-07)

layer
protocol layer

Layer Two Tunneling Protocol
protocol (L2TP) An IETF standard protocol for creating Virtual Private Networks. L2TP is an open standard with mutlivendor interoperability and acceptance.
Compare: PPTP.
[Sponsored by Cisco Systems, Inc.?]
(1998-09-24)

laziness
lazy evaluation

lazy evaluation
reduction An evaluation strategy combining normal order evaluation with updating. Under normal order evaluation (outermost or call-by-name evaluation) an expression is evaluated only when its value is needed in order for the program to return (the next part of) its result. Updating means that if an expression's value is needed more than once (i.e. it is shared), the result of the first evaluation is remembered and subsequent requests for it will return the remembered value immediately without further evaluation. This is often implemented by graph reduction. An unevaluated expression is represented as a closure - a data structure containing all the information required to evaluate the expression.
Lazy evaluation is one evaluation strategy used to implement non-strict functions. Function arguments may be infinite data structures (especially lists) of values, the components of which are evaluated as needed.
According to Phil Wadler the term was invented by Jim Morris.
Opposite: eager evaluation.
A partial kind of lazy evaluation implements lazy data structures or especially lazy lists where function arguments are passed evaluated but the arguments of data constructors are not evaluated.
Full laziness is a program transformation which aims to optimise lazy evaluation by ensuring that all subexpressions in a function body which do not depend on the function's arguments are only evaluated once.
(1994-12-14)

lazy list
A list which is built using a non-strict constructor. Any head or tail of the list may be an unevaluated closure. Also known as streams since they may be used to carry a sequence of values from the output of one function to an input of another. See also Lazy evaluation.

Lazy SML
Lazy Standard ML

lazy sml2c
A lazy version sml2c. Portable, written in SML. Language extensions include first-class continuations, asynchronous signal handling.
E-mail: david.tarditi@cs.cmu.edu . (ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c).

Lazy Standard ML
language (LSML) A lazy varient of SML, allowing cyclic val definitions, by Prateek Mishra mishra@sbcs.sunysb.edu .
Latest version: 0.43-1, as of 1993-11-15.
Not to be confused with LML.
(ftp://sbcs.sunysb.edu/pub/lsml).
(1999-08-30)

lb
networking The country code for Lebanon.
(1999-01-27)

LBA
Logical Block Addressing

LBE
Language-Based Editor

LBL
Lawrence Berkeley Laboratory, Berkeley, CA, USA.

lc
networking The country code for Saint Lucia.
(1999-01-27)

LCC
Language for Conversational Computing. Written at CMU in the 1960's. Similar to JOSS, with declarations, pointers and block structure from ALGOL 60. Implemented for IBM 360/IBM 370 under TSS.
[ LCC Reference Manual , H.R. Van Zoeren, CMU 196]9.

lcc
programming, tool A hand-coded, retargetable compiler for ANSI C written by Dave Hanson drh@cs.princeton.edu . lcc's parser is faster than yacc and the code it generates is as good as GCC .
Version 1.8 includes a compiler, test suite and documentation. lcc has been ported to Vax, commercial backends for MIPS, SPARC, 68000 are cheap for universities. Chop is a code generator for use with lcc.
Home (http://www.cs.princeton.edu/software/lcc/).
E-mail: lcc-requests@princeton.edu .
[ A Retargetable C Compiler: Design and Implementation , Addison-Wesley, 1995, ISBN 0-8053-1670-1].
(1998-03-20)

LCD
liquid crystal display

LCF
Logic for Computable Functions

LCL
1. The Larch interface language for ANSI standard C.
[J.V. Guttag et al, TR 74, DEC SRC, Palo Alto CA, 1991].
2. Liga Control Language.
Controls the attribute evaluator generator LIGA, part of the Eli compiler-compiler.
[ LCL: Liga Control Language , U. Kastens uwe@uni-paderborn.de , U Paderborn].
(1995-01-23)

lclint
tool, programming A lint-like ANSI C source checker from MIT. If formal specifications are supplied (in a separate file), lclint can do more powerful checking to detect inconsistencies between specifications and code. Adding specifications enables further checking, types can be defined as abstract and lclint can detect inconsistent use of global variables; undocumented modification of client-visible state; inconsistent use of an uninitialised formal parameter; or failure to initialise an actual parameter.
Home (http://larch-www.lcs.mit.edu:8001/larch/lclint.html)
(1995-05-11)

LCP
Link Control Protocol

LCS
Language for Communicating Systems

ld
1. programming, tool (Load) Unix's linker.
2. mathematics logarithmus dualis.
(1999-03-19)

LDAP
Lightweight Directory Access Protocol

LDB
/l*'d*b/ [PDP-10 instruction] To extract from the middle. LDB me a slice of cake, please. This usage has been kept alive by Common LISP's function of the same name. Considered silly. See also DPB.
[Jargon File]

LDL
[ LDL: A Logic-Based Data-Language , S. Tsur et al, Proc VLDB 1986, Kyoto Japan, Aug 1986, pp.33-41].

LDL1
Successor of LDL. Sets and Negation in a Logic Database Language , C. Beeri et al, in Proc 6th Ann ACM Symp Princs Database Sys (1987), pp.21- 37.

LDP
Linux Documentation Project

LDT
Logic Design Translator.
Computer system design analysis.
[Sammet 1969, p. 621].
(1994-12-01)

LE/1
Langage External.
[ An Evaluation of the LE/1 Network Command Language Designed for the SOC Network , J. du Masle, in Command Languages, C. Unger ed, N-H 1973].
(1994-12-01)

leading
text /ledding/ The spacing between lines of text. This is defined when a font is designed but can often be altered in order to change the appearance of the text or for special effects. It is measured in points and is normally 120% of the height of the text.
See also kerning, tracking.
(1996-06-07)

LEAF
language 1. LISP Extended Algebraic Facility.
2. LEAF: A Language which Integrates Logic, Equations and Functions , R. Barbuti et al in Logic Programming, Functions Relations and Equations, D. DeGroot et al eds, P-H 1986, pp.201-238.

leaf
mathematics, data (Or terminal node ) In a tree, a node which has no daughter.
(1998-11-14)

Leaf Distribution Limited
A UK connectivity software supplier which also provides SERVELAN, a country-wide Internet access service.
E-mail: sales@leaf.co.uk .
Address: 7 Elmwood, Chineham Business Park, Crockford Lane, BASINGSTOKE RG24 0WG. Telephone: +44 (1256) 707 777. Fax: +44 (1256) 707 555.
(1995-01-04)

leaf site
A machine that merely originates and reads Usenet news or mail, and does not relay any third-party traffic. Often uttered in a critical tone; when the ratio of leaf sites to backbone, rib, and other relay sites gets too high, the network tends to develop bottlenecks. Compare backbone site, rib site.
[Jargon File]

League for Programming Freedom
body (LPF) A grass-roots organisation of professors, students, businessmen, programmers and users dedicated to bringing back the freedom to write programs. Ten years ago, programmers were allowed to write programs using all the techniques they knew, and providing whatever features they felt were useful. This is no longer the case. The new monopolies, software patents and interface copyrights, have taken away our freedom of expression and our ability to do a good job.
Look and feel lawsuits attempt to monopolise well-known command languages; some have succeeded. Copyrights on command languages enforce gratuitous incompatibility, close opportunities for competition, and stifle incremental improvements.
Software patents are even more dangerous; they make every design decision in the development of a program carry a risk of a lawsuit, with draconian pre-trial seizure. It is difficult and expensive to find out whether the techniques you consider using are patented; it is impossible to find out whether they will be patented in the future.
The League is not opposed to the legal system that Congress intended -- copyright on individual programs. Our aim is to reverse the recent changes made by judges in response to special interests, often explicitly rejecting the public interest principles of the Constitution.
The League works to abolish the new monopolies by publishing articles, talking with public officials, boycotting egregious offenders, and in the future may intervene in court cases. On 1989-05-24, the League picketed Lotus headquarters on account of their lawsuits, and then again on 2 August 1990. These marches stimulated widespread media coverage for the issue. We welcome suggestions for other activities, as well as help in carrying them out.
Membership dues in the League are $42 per year for programmers, managers and professionals; $10.50 for students; $21 for others. The League's funds will be used for filing briefs; for printing handouts, buttons and signs; whatever will persuade the courts, the legislators, and the people. You may not get anything personally for your dues -- except for the freedom to write programs. The League is a non-profit corporation, but not considered a tax-exempt charity. However, for those self-employed in software, the dues can be a business expense.
The League needs both activist members and members who only pay their dues. We also greatly need additional corporate members; contact us for information.
Jack Larsen is President, Chris Hofstader is Secretary, and Steve Sisak is Treasurer.
Home (http://lpf.ai.mit.edu/).
Telephone: +1 (617) 243 4091.
E-mail: lpf@uunet.uu.net .
Address: League for Programming Freedom, 1 Kendall Square #143, P.O.Box 9171, Cambridge, Massachusetts 02139 USA.
(1999-02-18)

leak
programming With a qualifier, one of a class of resource-management bugs that occur when resources are not freed properly after operations on them are finished, so they effectively disappear (leak out). This leads to eventual exhaustion as new allocation requests come in.
One might refer to, say, a window handle leak in a window system.
See memory leak, fd leak.
[Jargon File]
(1995-04-18)

leaky heap
programming (Cambridge) An arena with a memory leak.
[Jargon File]
(1995-04-18)

Lean
An experimental language from the University of Nijmegen and University of East Anglia, based on graph rewriting and useful as an intermediate language. Lean is descended from Dactl0.
Clean is a subset of Lean.
[ Towards an Intermediate Language Based on Graph Rewriting , H.P. Barendregt et al in PARLE: Parallel Architectures and Languages Europe, G. Goos ed, LNCS 259, Springer 1987, pp.159-175].
(1995-01-25)

LEAP
Language for the Expression of Associative Procedures.
ALGOL-based formalism for sets and associative retrieval, for TX-2. Became part of SAIL.
An ALGOL-based Associative Language , J.A. Feldman et al, CACM 12(8):439-449 (Aug 1969).

leapfrog attack
Use of userid and password information obtained illicitly from one host (e.g. downloading a file of account IDs and passwords, tapping TELNET, etc.) to compromise another host. Also, the act of TELNETting through one or more hosts in order to confuse a trace (a standard cracker procedure).
[Jargon File]

leap second
Coordinated Universal Time

learning curve
jargon A graph showing some measure of the cost of performing some action against the number of times it has been performed. The term probably entered engineering via the aircraft industry in the 1930s, where it was used to describe plots showing the cost of making some particular design of aeroplane against the number of units made.
The term is also used in psychology to mean a graph showing some measure of something learned against the number of trials. The psychology graphs normally slope upwards whereas the manufacturing ones normally slope downward but they are both usually steep to start with and then level out.
Marketroids often misuse the term to mean the amount of time it takes to learn to use something ( reduce the learning curve ) or the ease of learning it ( easy learning curve ). The phrase steep learning curve is sometimes used incorrectly to mean hard to learn whereas of course it implies rapid learning.
Engineering (http://www.computerworld.com/cwi/story/0,1199,NAV47-68-85-1942_STO61762,00.html).
Psychology (http://sun.science.wayne.edu/~wpoff/cor/mem/opereinf.html).
(2002-01-22)

leased line
communications, networking A private telephone circuit permanently connecting two points, normally provided on a lease by a local PTT.
(1998-03-24)

least fixed point
A function f may have many fixed points (x such that f x = x). For example, any value is a fixed point of the identity function, ( x . x). If f is recursive, we can represent it as
f = fix F
where F is some higher-order function and
fix F = F (fix F).
The standard denotational semantics of f is then given by the least fixed point of F. This is the least upper bound of the infinite sequence (the ascending Kleene chain) obtained by repeatedly applying F to the totally undefined value, bottom. I.e.
fix F = LUB bottom, F bottom, F (F bottom), ....
The least fixed point is guaranteed to exist for a continuous function over a cpo.

least recently used
(operating systems) (LRU) A rule used in a paging system which selects a page to be paged out if it has been used (read or written) less recently than any other page. The same rule may also be used in a cache to select which cache entry to flush.
This rule is based on temporal locality - the observation that, in general, the page (or cache entry) which has not been accessed for longest is least likely to be accessed in the near future.
(1995-02-15)

least significant bit
data (LSB) Bit zero, the bit of a binary number giving the number of ones, the last or rightmost bit when the number is written in the usual way.
(1995-07-13)

least upper bound
theory (lub or join , supremum ) The least upper bound of two elements a and b is an upper bound c such that a = c and b = c and if there is any other upper bound c' then c = c'. The least upper bound of a set S is the smallest b such that for all s in S, s = b. The lub of mutually comparable elements is their maximum but in the presence of incomparable elements, if the lub exists, it will be some other element greater than all of them.
Lub is the dual to greatest lower bound.
(In LaTeX, = is written as sqsubseteq, the lub of two elements a and b is written a sqcup b, and the lub of set S is written as bigsqcup S).
(1995-02-03)

leaves
leaf

LEC
Local Exchange Carrier

LECOM
Version of COMIT on GE 225 ca. 1966. Sammet 1969, p.419.

LED
electronics Light-Emitting Diode.

LEDA
Library of Efficient Data types and Algorithms

Leda
A multi-paradigm language (imperative, declarative, procedural, applicative, functional, logic, and object-oriented!) by Tim Budd budd@cs.orst.edu , Oregon State U, 1990-1993.
[ Blending Imperative and Relational Programming , Tim Budd, IEEE Software 8(1):58-65 (Jan 1991)]. Forthcoming book.
(ftp://cs.orst.edu/pub/budd/leda/)

LED page printer
LED printer

LED printer
printer (Or LED page printer ) A printer which is similar in operation to a laser printer, but where an array of LEDs is used in place of the laser.
(1996-12-08)

leet
elite

left arrow
character The graphic which the 1963 version of ASCII had in place of the underscore character, ASCII 95.
(1995-03-06)

left brace
character . ASCII character 123.
Common names: open brace; left brace; left squiggly; left squiggly bracket/brace; left curly bracket/brace; ITU-T: opening brace. Rare: brace ( = unbrace); curly ( = uncurly); leftit ( = rytit); left squirrelly; INTERCAL: embrace ( = bracelet).
Paired with right brace ( ).
(1995-03-16)

left bracket
character [ . ASCII character 91.
Common: left square bracket; ITU-T: opening bracket; bracket. Rare: square; INTERCAL: U turn.
Paired with right bracket ( ] ).
(1995-03-16)

left outer join
outer join

left parenthesis
character ( . ASCII character 40.
Common names: left paren; left parenthesis; left; open; paren ( ) = thesis); open paren; open parenthesis; left parenthesis; left banana. Rare: so ( ) = already); lparen; ITU-T: opening parenthesis; open round bracket, left round bracket, INTERCAL: wax ( ) = wane); parenthisey ( ) = unparenthisey); left ear.
Paired with right parenthesis ( ) ).
(1995-03-06)

LeFun
Logic, Equations and Functions. An integration of logic programming and functional programming by H. Ait-Kaci et al of MCC, Austin TX.
[ LeFun: Logic, Equations and Functions , H. Ait-Kaci et al, Proc 1987 Symp on Logic Programming, San Francisco].
(1994-10-21)

legacy code
legacy system

legacy software
legacy system

legacy system
jargon A computer system or application program which continues to be used because of the cost of replacing or redesigning it and often despite its poor competitiveness and compatibility with modern equivalents. The implication is that the system is large, monolithic and difficult to modify.
If legacy software only runs on antiquated hardware the cost of maintaining this may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware.
(1998-08-09)

legal
Loosely used to mean in accordance with all the relevant rules , especially in connection with some set of constraints defined by software. The older =+ alternate for += is no longer legal syntax in ANSI C. This parser processes each line of legal input the moment it sees the trailing linefeed. Hackers often model their work as a sort of game played with the environment in which the objective is to maneuver through the thicket of natural laws to achieve a desired objective. Their use of legal is flavoured as much by this game-playing sense as by the more conventional one having to do with courts and lawyers. Compare language lawyer, legalese.
[Jargon File]

legalese
Dense, pedantic verbiage in a language description, product specification, or interface standard; text that seems designed to obfuscate and requires a language lawyer to parse it. Though hackers are not afraid of high information density and complexity in language (indeed, they rather enjoy both), they share a deep and abiding loathing for legalese; they associate it with deception, suits, and situations in which hackers generally get the short end of the stick.

LEGOL
Application of MP/3 to the Design and Implementation of LEGOL, A Legally Oriented Language , S.H. Mandil et al, Intl Symp Programming, Paris 1974.

Le-Lisp
Jerome Chailloux and Emmanuel St James, INRIA, France. A LISP dialect close to Common Lisp, lexically scoped, with a CLOS-like object system. Uses both packages and modules. le-lisp: A Portable and Efficient Lisp System , J. Chailloux et al, Proc 1984 ACM Symp on Lisp and Functional Programming, ACM. Version v.16, available from ILOG, France.

lemma
logic A result already proved, which is needed in the proof of some further result.
(1995-03-25)

Lempel-Ziv compression
Substitutional compression schemes proposed by Jakob Ziv and Abraham Lempel in 1977 and 1978. There are two main schemes, LZ77 and LZ78. Lempel-Ziv Welch compression is a variant of LZ78.

Lempel-Ziv Welch compression
(LZW) The algorithm used by the Unix compress command to reduce the size of files, e.g. for archival or transmission. LZW was designed by Terry Welch in 1984 for implementation in hardware for high-performance disk controllers. It is a variant of LZ78, one of the two Lempel-Ziv compression schemes.
The LZW algorithm relies on reoccurrence of byte sequences (strings) in its input. It maintains a table mapping input strings to their associated output codes. The table initially contains mappings for all possible strings of length one. Input is taken one byte at a time to find the longest initial string present in the table. The code for that string is output and then the string is extended with one more input byte, b. A new entry is added to the table mapping the extended string to the next unused code (obtained by incrementing a counter). The process repeats, starting from byte b. The number of bits in an output code, and hence the maximum number of entries in the table is usually fixed and once this limit is reached, no more entries are added.
LZW compression and decompression are licensed under Unisys Corporation's 1984 U.S. Patent 4,558,302 and equivalent foreign patents. This kind of patent isn't legal in most coutries of the world (including the UK) except the USA. Patents in the UK can't describe algorithms or mathematical methods.
[A Technique for High Performance Data Compression, Terry A. Welch, IEEE Computer, 17(6), June 1984, pp. 8-19]
[J. Ziv and A. Lempel, A Universal Algorithm for Sequential Data Compression, IEEE Transactions on Information Theory, Vol. IT-23, No. 3, May 1977, pp. 337-343].

Lenat, Doug
Doug Lenat

lenient evaluation
An evaluation strategy, described in [Traub, FPCA 89], under which all redexes are evaluated in parallel except inside the arms of conditionals and inside lambda abstractions. This is an example of an eager evaluation strategy.

LEO
Low Earth Orbit

Leo
language A general-purpose systems language, syntactically like Pascal and Y, semantically like C.
[ The Leo Programming Language , G. Townsend, CS TR 84-7, U Arizona 1984].
(1996-02-06)

LER
1. networking Label Edge Router.
2. electronics, humour Light-Emitting Resistor.
[Jargon File]
(1999-06-30)

LERP
/lerp/ vi., Quasi-acronym for Linear Interpolation, used as a verb or noun for the operation. Bresenham's algorithm lerps incrementally between the two endpoints of the line.
[Jargon File]

less than
character ASCII character 60.
Common names: ITU-T: less than; bra ( = ket); left angle; left angle bracket; left broket. Rare: from; read from; suck ( = blow); comes-from; in; crunch (all from Unix); INTERCAL: angle.
See also greater than.
(1995-03-20)

LessTif
library The Hungry Programmers' version of OSF/Motif. It will be source code compatible with Motif, meaning that the same source will compile with both libraries and work exactly the same. All the programming is being done with no reference to the header files for the motif widgets, so that LessTif can be distributed as free software.
Home (http://www.hungry.com/products/lesstif)
(1995-03-20)

let floating
programming A program transformation used in functional programming to implement full laziness. E.g. the function
f x = x + sqrt 4
can be expressed as
f x = let t = sqrt 4 in x + t
but note that t does not depend on the argument x so we can automatically transform this to
t = sqrt 4 f x = x + t
Making t into a global constant which need only be evaluated at most once, rather than every time f is called. The general idea is to float each subexpression as far out (towards the top level) as possible to maximise sharing.
(1997-07-09)

letterbomb
messaging 1. An e-mail message containing live data intended to do nefarious things to the recipient's computer or terminal. It is possible, for example, to send letterbombs that will lock up some specific kinds of terminals when they are viewed, so thoroughly that the user must turn the terminal off to unwedge it. Under Unix, a letterbomb can also try to get part of its contents interpreted as a shell command. The results of this could range from silly to tragic.
See also Trojan horse; compare nastygram, talk bomb.
2. Loosely, a mailbomb.
[Jargon File]
(1998-01-16)

level 1 cache
primary cache

level 2 cache
secondary cache

LEVEL5 OBJECT
From Information Builders.
[What is it?]

level one cache
primary cache

level-sensitive scan design
(circuit design) (LSSD) A kind of scan design which uses separate system and scan clocks to distinguish between normal and test mode. Latches are used in pairs, each has a normal data input, data output and clock for system operation. For test operation, the two latches form a master/slave pair with one scan input, one scan output and non-overlapping scan clocks A and B which are held low during system operation but cause the scan data to be latched when pulsed high during scan.
____
| |
Sin ----|S |
A ------| |
| Q|---+--------------- Q1
D1 -----|D | |
CLK1 ---| | |
|____| | ____
| | |
+---|S |
B -------------------| |
| Q|------ Q2 / SOut
D2 ------------------|D |
CLK2 ----------------| |
|____|
In a single latch LSSD configuration, the second latch is used only for scan operation. Allowing it to be use as a second system latch reduces the silicon overhead.
(1995-02-15)

level two cache
secondary cache

Lex
1. tool A lexical analyser generator for Unix and its input language. There is a GNU version called flex and a version written in, and outputting, SML/NJ called ML-lex. A version, by David Poole at Montana has been retargeted to Turbo Pascal, (ftp://iecc.com/pub/file/lyprg.zip).
[ Lex - A Lexical Analyzer Generator , M.E. Lesk, CS TR 39, Bell Labs, Oct 1975].
2. language, specification The lexical specification language for COPS.
[ Metalanguages of the Compiler Production System COPS , J. Borowiec, in GI Fachgesprach Compiler-Compiler , ed W. Henhapl, Tech Hochs Darmstadt 1978, pp.122-159].
(2000-11-15)

lexeme
grammar A minimal lexical unit of a language. Lexical analysis converts strings in a language into a list of lexemes. For a programming language these word-like pieces would include keywords, identifiers, literals and punctutation. The lexemes are then passed to the parser for syntactic analysis.
(1996-04-06)

lexer
lexical analyser

lexical analyser
language (Or scanner ) The initial input stage of a language processor (e.g. a compiler), the part that performs lexical analysis.
(1995-04-05)

lexical analysis
programming (Or linear analysis , scanning ) The first stage of processing a language. The stream of characters making up the source program or other input is read one at a time and grouped into lexemes (or tokens ) - word-like pieces such as keywords, identifiers, literals and punctutation. The lexemes are then passed to the parser.
[ Compilers - Principles, Techniques and Tools , by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman, pp. 4-5]
(1995-04-05)

lexical scope
programming (Or static scope ) In a lexically scoped language, the scope of an identifier is fixed at compile time to some region in the source code containing the identifier's declaration. This means that an identifier is only accessible within that region (including procedures declared within it).
This contrasts with dynamic scope where the scope depends on the nesting of procedure and function calls at run time.
Statically scoped languages differ as to whether the scope is limited to the smallest block (including begin/end blocks) containing the identifier's declaration (e.g. C, Perl) or to whole function and procedure bodies (e.g. ?), or some larger unit of code (e.g. ?). The former is known as static nested scope.
(2001-09-07)

lexical scoping
lexical scope

lexiphage
/lek'si-fayj / A notorious word chomper on ITS, implemented and named by John Doty. This program would draw on a selected victim's bitmapped terminal the words THE BAG in ornate letters, followed a pair of jaws biting pieces of it off.
(http://www.tiac.net/users/kaleberg/lexiphage.html).
[Jargon File]
(2002-06-12)

LF
Line Feed

LG
Simple language for analytic geometry, with graphic output. LG: A Language for Analytic Geometry , J. Reymond, CACM 12(8) (Aug 1969).

LGDF
Large-Grain DataFlow.
[ A Large-grain Data Flow Scheduler for Parallel Processing on Cyberplus , R.G. Babb et al, Proc 1986 Intl Conf on Parallel Proc, Aug 1986].
(2000-07-07)

LGEN
A logic language for VLSI implementation by S.C. Johnson of Bell Labs.
[S.C. Johnson, Code Generation for Silicon , Proc 10th POPL, 1983].
(1995-02-15)

LGN
Linear Graph Notation

lha
1. filename extension The filename extension for a file produced by the shareware compression and archive software LHARC.
2. tool A compression program for MS-DOS. Output files have the extension .lzh .
[Does it use LZH compression?]
(2002-07-28)

LHARC
compression, algorithm A compression program developed by Rahul Dhesi. LHARC was later replaced with LHA, which produces files with extension .lzh .
(2002-07-28)

lhs
filename extension The filename extension for literate Haskell source files.
(1995-02-15)

li
networking The country code for Liechtenstein.
(1999-01-27)

Liana
language A C-like, interpretive, object-oriented programming language, class library, and integrated development environment designed specifically for development of application programs for Microsoft Windows and Windows NT. Designed by Jack Krupansky Jack@BaseTechnology.com of Base Technology, Liana was first released as a commercial product in August 1991. The language is designed to be as easy to use as BASIC, as concise as C, and as flexible as Smalltalk.
The OOP syntax of C++ was chosen over the less familiar syntax of Smalltalk and Objective-C to appeal to C programmers and in recognition of C++ being the leading OOP language. The syntax is a simplified subset of C/C++. The semantics are also a simplified subset of C/C++, but extended to achieve the flexibility of Smalltalk.
Liana is a typeless language (like Lisp, Snobol and Smalltalk), which means that the datatypes of variables, function parameters, and function return values are not needed since values carry the type information. Hence, variables are simply containers for values and function parameters are simply pipes through which any type of value can flow. Single inheritance, but not multiple inheritance, is supported. Memory management is automatic using reference counting.
The library includes over 150 classes, for dynamic arrays, associative lookup tables, windows, menus, dialogs, controls, bitmaps, cursors, icons, mouse movement, keyboard input, fonts, text and graphics display, DDE, and MDI.
Liana provides flexible OOP support for Windows programming. For example, a list box automatically fills itself from an associated object. That object is not some sort of special object, but is merely any object that behaves like an array (i.e., has a size member function that returns the number of elements, a get function that returns the ith element, and the text for each element is returned by calling the text member function for the element).
A related product, C-odeScript, is an embeddable application scripting language. It is an implementation of Liana which can be called from C/C++ applications to dynamically evaluate expressions and statement sequences. This can be used to offer the end-user a macro/scripting capability or to allow the C/C++ application to be customized without changing the C/C++ source code.
Here's a complete Liana program which illustrates the flexibility of the language semantics and the power of the class library:
main

// Prompt user for a string.
// No declaration needed for x (becomes a global variable.)
x = ask ( Enter a String );
// Use + operator to concatenate strings. Memory
// management for string temporaries is automatic. The
// message function displays a Windows message box.
message ( You entered: + x);
// Now x will take on a different type. The ask_number
// function will return a real if the user's input
// contains a decimal point or an int if no decimal
// point.
x = ask_number ( Enter a Number );
// The + operator with a string operand will
// automatically convert the other operand to a string.
message ( You entered: + x);
// Prompt user for a Liana expression. Store it in a
// local variable (the type, string, is merely for
// documentation.)
string expr = ask ( Enter an Expression );
// Evaluate the expression. The return value of eval
// could be any type. The source_format member function
// converts any value to its source format (e.g., add
// quotes for a string.) The class_name member function
// return the name of the class of an object/value.
// Empty parens can be left off for member function calls.
x = eval (expr);
message ( The value of + expr + is + x.source_format +
its type is + x.class_name);

The author explained that the Li of Liana stands for Language interpreter and liana are vines that grow up trees in tropical forests, which seemed quite appropriate for a tool to deal with the complexity of MS Windows! It is also a woman's name.
[ Liana for Windows , Aitken, P., PC TECHNIQUES, Dec/Jan 1993].
[ Liana: A Language For Writing Windows Programs , Burk, R., Tech Specialist (R D Publications), Sep 1991].
[ Liana v. 1.0. Hildebrand, J.D., Computer Language, Dec 1992].
[ Liana: A Windows Programming Language Based on C and C++ , Krupansky, J., The C Users Journal, Jul 1992].
[ Writing a Multimedia App in Liana , Krupansky, J., Dr. Dobb's Journal, Winter Multimedia Sourcebook 1994].
[ The Liana Programming Language , R. Valdes, Dr Dobbs J Oct 1993, pp.50-52].
(1999-06-29)

Liar
MIT Scheme

liar paradox
philosophy A sentence which asserts its own falsity, e.g. This sentence is false or I am lying . These paradoxical assertions are meaningless in the sense that there is nothing in the world which could serve to either support or refute them. Philosophers, of course, have a great deal more to say on the subject.
[ The Liar: an Essay on Truth and Circularity , Jon Barwise and John Etchemendy, Oxford University Press (1987). ISBN 0-19-505944-1 (PBK), Library of Congress BC199.P2B37].
(1995-02-22)

libg++
library The run-time library for the GNU C++ compiler, g++. Version: 2.5.1 is a superset of ANSI and POSIX.1.
libg++ is no longer maintained, use libstd++ instead if possible.
Available by FTP from a GNU archive site.
Bug reports: bug-lib-g++@gnu.org .
(2000-04-24)

library
programming, library A collection of subroutines and functions stored in one or more files, usually in compiled form, for linking with other programs. Libraries are one of the earliest forms of organised code reuse. They are often supplied by the operating system or software development environment developer to be used in many different programs. The routines in a library may be general purpose or designed for some specific function such as three dimensional animated graphics.
Libraries are linked with the user's program to form a complete executable. The linking may be static linking or, in some systems, dynamic linking.
(1998-11-21)

Library of Efficient Data types and Algorithms
library (LEDA) A class library for C++ of efficient data types (e.g. graph classes) and algorithms by Stefan N aher stefan@mpi-sb.mpg.de of the University of Saarbruecken. Version 3.0 includes both template and non-template versions.
(ftp://ftp.mpi-sb.mpg.de/pub/LEDA).
(1996-04-15)

librery
spelling It's spelled library .
(1996-12-13)

LIDO
An input language for the attribute evaluator generator LIGA (a successor of GAG and a subsystem of the Eli compiler-compiler). LIDO is derived from GAG's input language ALADIN.
[ LIDO: A Specification Language for Attribute Grammars , U. Kastens uwe@uni-paderborn.de , Fab Math-Inf, U Paderborn (Oct 1989)].
(1994-10-20)

LiE
A symbolic mathematics package aimed at Lie groups.
[ LiE, a Package for Lie Group Computations , M.A.A. van Leeuwen et al, in Computer Algebra Nederland, 1992 (ISBN 90-741160-02-7)].
(1994-10-20)

LIF
Low Insertion Force

LIFE
language Logic of Inheritance, Functions and Equations.
An object-oriented, functional, constraint-based language by Hassan Ait-Kacy hak@prl.dec.com et al of MCC, Austin TX, 1987. LIFE integrates ideas from LOGIN and LeFun.
Mailing list: life-users@prl.dec.com.
See also Wild_LIFE.
[ Is There a Meaning to LIFE? , H. Ait-Kacy et al, Intl Conf on Logic Prog, 1991].
[Jargon File]
(1995-04-21)

Life
games The first popular cellular automata based artificial life game . Life was invented by British mathematician John Horton Conway in 1970 and was first introduced publicly in Scientific American later that year.
Conway first devised what he called The Game of Life and ran it using plates placed on floor tiles in his house. Because of he ran out of floor space and kept stepping on the plates, he later moved to doing it on paper or on a checkerboard, and then moved to running Life as a computer program on a PDP-7. That first implementation of Life as a computer program was written by M. J. T. Guy and S. R. Bourne (the author of Unix's Bourne shell).
Life uses a rectangular grid of binary (live or dead) cells each of which is updated at each step according to the previous state of its eight neighbours as follows: a live cell with less than two, or more than three, live neighbours dies. A dead cell with exactly three neighbours becomes alive. Other cells do not change.
While the rules are fairly simple, the patterns that can arise are of a complexity resembling that of organic systems -- hence the name Life .
Many hackers pass through a stage of fascination with Life, and hackers at various places contributed heavily to the mathematical analysis of this game (most notably Bill Gosper at MIT, who even implemented Life in TECO!; see Gosperism). When a hacker mentions life , he is more likely to mean this game than the magazine, the breakfast cereal, the 1950s-era board game or the human state of existence.
Yahoo! (http://www.yahoo.com/Science/Artificial_Life/Conway_s_Game_of_Life/).
Demonstration (http://www.research.digital.com/nsl/projects/life/).
[ Scientific American 223, October 1970, p120-123, 224; February 1971 p121-117, Martin Gardner].
[ The Garden in The Machine: the Emerging Science of Artificial Life , Claus Emmeche, 1994].
[ Winning Ways, For Your Mathematical Plays , Elwyn R. Berlekamp, John Horton Conway and Richard K. Guy, 1982].
[ The Recursive Universe: Cosmic Complexity and the Limits of Scientific Knowledge , William Poundstone, 1985].
[Jargon File]
(1997-09-07)

life
jargon The opposite of Usenet. As in Get a life!
[Jargon File]
(1995-04-21)

life-cycle
software life-cycle

Life is hard
[XEROX PARC] This phrase has two possible interpretations: (1) While your suggestion may have some merit, I will behave as though I hadn't heard it. (2) While your suggestion has obvious merit, equally obvious circumstances prevent it from being seriously considered. The charm of the phrase lies precisely in this subtle but important ambiguity.
[Jargon File]

LIFIA
Laboratoire d'Informatique Fondamentale et d'Intelligence Artificielle.

LIFO
stack

lifted domain
theory In domain theory, a domain with a new bottom element added. Given a domain D, the lifted domain, lift D contains an element lift d corresponding to each element d in D with the same ordering as in D and a new element bottom which is less than every other element in lift D.
In functional languages, a lifted domain can be used to model a constructed type, e.g. the type
data LiftedInt = K Int
contains the values K minint .. K maxint and K bottom, corresponding to the values in Int, and a new value bottom. This denotes the fact that when computing a value v = (K n) the computation of either n or v may fail to terminate yielding the values (K bottom) or bottom respectively.
(In LaTeX, a lifted domain or element is indicated by a subscript perp).
See also tuple.

LIGHT
LIfecycle Global HyperText.
A project in the CERN ECP/TP group whereby documents resulting from the software life cycle are available as hypertext.
(1995-02-03)

light client
thin client

light-emitting diode
electronics (LED) a type of diode that emits light when current passes through it. Depending on the material used the colour can be visible or infrared. LEDs have many uses, visible LEDs are used as indicator lights on all sorts of electronic devices and in moving-message panels, while infrared LEDs are the heart of remote control devices.
See also smoke-emitting diode.
(1996-01-05)

light-emitting resistor
electronics, humour (LER, from light-emitting diode ) A resistor in the final stages of burning up.
(Though intended as purely humorous, the term could sensibly describe the filament of a common incandescent electric light bulb).
See also SED.
(1996-02-06)

light pipe
optical fibre

light-weight
jargon Opposite of heavy-weight; usually found in combining forms such as light-weight process .
[Jargon File]
(1996-02-22)

Lightweight Directory Access Protocol
protocol (LDAP) A protocol for accessing on-line directory services.
LDAP was defined by the IETF in order to encourage adoption of X.500 directories. The Directory Access Protocol (DAP) was seen as too complex for simple internet clients to use. LDAP defines a relatively simple protocol for updating and searching directories running over TCP/IP.
LDAP is gaining support from vendors such as Netscape, Novell, Sun, HP, IBM/Lotus, SGI, AT T, and Banyan
An LDAP directory entry is a collection of attributes with a name, called a distinguished name (DN). The DN refers to the entry unambiguously. Each of the entry's attributes has a type and one or more values. The types are typically mnemonic strings, like cn for common name, or mail for e-mail address. The values depend on the type. For example, a mail attribute might contain the value donald.duck@disney.com . A jpegPhoto attribute would contain a photograph in binary JPEG/JFIF format.
LDAP directory entries are arranged in a hierarchical structure that reflects political, geographic, and/or organisational boundaries. Entries representing countries appear at the top of the tree. Below them are entries representing states or national organisations. Below them might be entries representing people, organisational units, printers, documents, or just about anything else.
RFC 1777, RFC 1778, RFC 1959, RFC 1960, RFC 1823.
(1999-07-05)

light-weight process
operating system, parallel (LWP) A single-threaded sub-process which, unlike a thread, has its own process identifier and may also differ in its inheritance and controlling features.
Several operating systems, e.g. SunOS 5.x, provide system calls for creating and controlling LWPs.
(1996-02-22)

like kicking dead whales down the beach
jargon, humour Describes a slow, difficult, and disgusting process. First popularised by a famous quote about the difficulty of getting work done under one of IBM's mainframe OSes. Well, you *could* write a C compiler in COBOL, but it would be like kicking dead whales down the beach.
[Jargon File]
(1997-12-23)

like nailing jelly to a tree
jargon, humour Used to describe a task thought to be impossible, especially one in which the difficulty arises from poor specification or inherent slipperiness in the problem domain. Trying to display the prettiest arrangement of nodes and arcs that diagrams a given graph is like nailing jelly to a tree, because nobody's sure what prettiest means algorithmically.
[Jargon File]
(1997-12-23)

like this
You weren't supposed to follow that link, it was just an example of what a link looks like.

Lila
Patrick Salle' salle@geocub.greco-prog.fr . A small assembly-like language used for implementation of Actor languages. [Plasma perhaps?].

Lilith
computer The workstation for which Modula-2 was developed as the system language.
[Details?]
(1995-10-25)

LILLIAC IV
computer A supercomputer designed in the late 1960s at the University of Illinois which had 64 separate CPUs all supervised by a common control unit and all capable of operating simultaneously.
(1996-11-25)

lilo
1. operating system Linux Loader.
2. first-in first-out.
(2001-03-26)

Lily
(LIsp LibrarY) A C++ class library by Roger Sheldon sheldon@kong.gsfc.nasa.gov which gives C++ programmers the capability to write Lisp-style code. Lily's garbage collection mechanism is not sufficient for commercial use however and the documentation is incomplete. It is distributed under the GNU Library General Public License.
Version: 0.1.
(ftp://sunsite.unc.edu/uploads/lily-0.1.tar.gz)
(1993-11-08)

LIMDEP
A linear programming language used by economists.

LIM EMS
Expanded Memory Specification

LIMP
[ Messages in Typed Languages , J. Hunt et al, SIGPLAN Notices 14(1):27-45 (Jan 1979)].

Linc
1. language A Burroughs/Unisys 4GL designed in New Zealand.
2. Laboratory Instrument Computer.
(1999-03-29)

Lincoln Reckoner
An interactive mathematics program including matrix operations, written about 1965. It ran on the TX-2.
[ The Lincoln Reckonere: An Operation-Oriented On-line Facility with Distributed Control , A.N. Stowe et al, Proc FJCC 29 (1966)].
[Sammet 1969, pp. 245-247].

LINCtape
storage A formatted, block-oriented, high-reliability, random access tape system used on the Laboratory Instrument Computer. The tape was 3/4 wide.
The funny DECtape is actually a variant of the original LINCtape. According to Wesley Clark, DEC tried to improve the LINCtape system, which mechanically, was wonderfully simple and elegant. The DEC version had pressure fingers and tape guides to force alignment as well as huge DC servo motors and complex control circuitry. These literally shredded the tape to bits if not carefully adjusted, and required frequent cleaning to remove all the shedded tape oxide. That was amazing, because the tape had a micro-thin plastic layer OVER the oxide to protect it. What happened was that all the forced alignment stuff caused shredding at the edge.
An independent company, Computer Operations[?], built LINCtape drives for use in nuclear submarines. This was based on the tape system's high reliability. Correspondent Brian Converse has a picture of himself holding a LINCtape punched full of 1/4 holes. It still worked!
(1999-03-29)

Linda
language A coordination language from Yale, providing a model for concurrency with communication via a shared tuple space. Linda is usually implemented as a subroutine library for a specific base language, as in C-Linda, Fortran-Linda, LindaLISP and Prolog-Linda. It is available from Scientific Computing Associates, Inc. [What is?]
Home (http://www.cs.yale.edu/HTML/YALE/CS/Linda/linda.html)
There is a Multi-BinProlog Linda implementation available by (ftp://clement.info.umoncton.ca/).
[ Generative Communication in Linda , D. Gelernter gelernter@cs.yale.edu , ACM TOPLAS 7(1):80-112 (1985)].
[ Linda in Context , N. Carreiro et al, Yale U., CACM 32(4):444-458, Apr 1989].
See also Ease, Lucinda, Melinda.
(2000-07-07)

LindaLISP
Linda for Lisp.

line
1. hardware An electrical conductor. For distances larger than a breadbox, a single line may consist of two electrical conductors in twisted, parallel, or concentric arrangement used to transport one logical signal.
By extension, a (usually physical) medium such as an optical fibre which carries a signal.
(1995-09-29)

line 666
jargon (Christian eschatological myth) The notional line of source at which a program fails for obscure reasons, implying either that *somebody* is out to get it (when you are the programmer), or that it richly deserves to be got (when you are not).
E.g. It works when I trace through it, but seems to crash on line 666 when I run it. What happens is that whenever a large batch comes through, mmdf dies on the Line of the Beast. Probably some twit hard-coded a buffer size.
[Jargon File]
(1999-03-01)

linear address space
A memory addressing scheme used in processors where the whole memory can be accessed using a single address that fits in a single register or instruction. This contrasts with a segmented memory architecture, such as that used on the Intel 8086, where an address is given by an offset from a base address held in one of the segment registers . Linear addressing greatly simplifies programming at the assembly language level but requires more instruction word bits to be allocated for an address.
(1995-02-16)

linear argument
theory A function argument which is used exactly once by the function.
If the argument is used at most once then it is safe to inline the function and replace the single occurrence of the formal parameter with the actual argument expression. If the argument was used more than once this transformation would duplicate the argument expression, causing it to be evaluated more than once.
If the argument is sure to be used at least once then it is safe to evaluate it in advance (see strictness analysis) whereas if the argument was not used then this would waste work and might prevent the program from terminating.
(1994-11-03)

linear assignment
assignment problem

linear function
A recursive function is linear if it is of the form
f x = if p x then q x else h f x
where h is a linear functional which means that
(1) for all functions, a, b c and some function ht
h (if a then b else c) = if ht a then h b else h c
Function ht is known as the predicate transformer of h.
(2) If for some x,
h ( y . bottom) x /= bottom
then
for all g, ht g x = True.
I.e. if h g x terminates despite g x not terminating then ht g x doesn't depend on g.
See also linear argument.
(1995-02-15)

Linear Graph Notation
(LGN) A linearised representation of TCOL trees.
[B.W. Leverett et al, An Overview of the Production Quality Compiler-Compiler Projects , TR CMU-CS-79-105, Carnegie Mellon 1979].
(1995-01-23)

linear logic
(http://www.csl.sri.com/linear/sri-csl-ll.html)
[Wadler, P., Is there a use for linear logic , ACM/IFIP PEPM Conference, 1991].
[Summary?]
(1995-02-21)

linear map
mathematics (Or linear transformation ) A function from a vector space to a vector space which respects the additive and multiplicative structures of the two: that is, for any two vectors, u, v, in the source vector space and any scalar, k, in the field over which it is a vector space, a linear map f satisfies f(u+kv) = f(u) + kf(v).
(1996-09-30)

linear programming
application A procedure for finding the maximum or minimum of a linear function where the arguments are subject to linear constraints. The simplex method is one well known algorithm.
(1995-04-06)

linear space
mathematics A vector space where all linear combinations of elements are also elements of the space. This is easy for spaces of numbers but not for a space of functions. Roughly, this is to say that multiplication by numbers, and addition of elements is defined in the space.
(2000-03-10)

linear transformation
linear map

linear type
1. theory, programming An attribute of values which are used exactly once: they are neither duplicated nor destroyed. Such values require no garbage collection, and can safely be updated in place, even if they form part of a data structure.
Linear types are related to the linear logic of J.-Y Girard. They extend Schmidt's notion of single threading, provide an alternative to Hudak and Bloss' update analysis, and offer a practical complement to Lafont and Holmström's elegant linear languages.
['Use-Once' Variables and Linear Objects - Storage Management, Reflection and Multi-Threading, Henry Baker. (ftp://ftp.netcom.com/pub/hb/hbaker/Use1Var.html)].
[ Linear types can change the world! , Philip Wadler, Programming Concepts and Methods , April 1990, eds. M. Broy, C. Jones, pub. North-Holland, IFIP TC2 Working Conference on Programming Concepts and Methods, Sea of Galilee, Israel].
(1995-03-03)

line conditioning
communications The adjustment of electrical characteristics of, e.g., twisted pair telephone lines by insertion of components such as resistors, capacitors, transformers or (commonly) inductors. Lines intended for analogue voice signals usually have inductors inserted every few miles; such a line is said to be loaded .
The special purpose lines which have neither inductors nor the DC voltage which powers ordinary telephones are said to be dry, and are much better for data transmission.
(1996-04-07)

line eater
messaging 1. A bug in some now-obsolete versions of the Usenet software that used to eat up to BUFSIZ bytes of the article text. The bug was triggered by having the text of the article start with a space or tab. This bug was quickly personified as a mythical creature called the line eater , and postings often included a dummy line of line eater food . Ironically, line eater food not beginning with a space or tab wasn't actually eaten, since the bug was avoided; but if there *was* a space or tab before it, then the line eater would eat the food *and* the beginning of the text it was supposed to be protecting. The practice of sacrificing to the line eater continued for some time after the bug had been nailed to the wall, and is still humorously referred to. The bug itself is still (in mid-1991) occasionally reported to be lurking in some mail-to-netnews gateways.
2. NSA line eater.
(1996-04-09)

line editor
tool, text An early kind of text editor suited to use on a teletype. The user enters editing commands which apply to the current line or some given range of lines. These include moving forward and backward through the buffer, inserting and deleting lines, substituting a string for a pattern match, and printing lines. Visual feedback is restricted to explicitly requesting the display of one or more lines, in contrast to a screen editor.
ed is Unix's line editor.
(1999-03-01)

line feed
character (LF, control-J, ASCII 10) The ASCII character meaning move the cursor down to the same column on the next line. Originally this would have been done by feeding paper through the printer.
Unix uses line feed as its text line terminator (newline character).
(1997-07-14)

line noise
communications 1. Spurious characters due to electrical noise in a communications link, especially an EIA-232 serial connection. Line noise may be induced by poor connections, interference or crosstalk from other circuits, electrical storms, cosmic rays, or (notionally) birds crapping on the phone wires.
2. Any chunk of data in a file or elsewhere that looks like the results of electrical line noise.
3. Text that is theoretically a readable text or program source but employs syntax so bizarre that it looks like line noise. Yes, there are languages this ugly. The canonical example is TECO, whose input syntax is often said to be indistinguishable from line noise. Other non-WYSIWYG editors, such as Multics qed and Unix ed , in the hands of a real hacker, also qualify easily, as do deliberately obfuscated languages such as INTERCAL.
[Jargon File]
(1994-12-22)

line printer
printer A printer that prints one entire line at a time. Print quality is low compared with a laser printer. Line printers typically use sprocket feed and wide fanfold paper.
Line printer speed is usually measured in lines per minute (lpm). 1200 lpm is a good rate for a line printer like a 3205 m5. 66 lines per page is typical, giving 18 pages per minute (ppm). This assumes all upper case, if a mixed case print train is used, throughput is halved. By comparison, a fast laser printer can output 100+ ppm
(1999-01-13)

line probing
A feature of some V.34 modems that will allow them to identify the capacity and quality of the phone line and adjust themselves to allow, for each individual connection, for maximum throughput using the highest possible data transmission rate.
(1994-06-09)

lines of code
programming, unit (LOC) A common measure of the size or progress of a programming project. For example, one can describe a completed project as consisting of 100,000 LOC; or one can characterise a week's progress as 5000 LOC.
Using LOC as a metric of progress encourages programmers to reinvent the wheel or split their code into lots of short lines.
(2001-05-28)

lines per minute
unit (lpm) A unit used to measure line printer throughput.
(1999-01-13)

line starve
(MIT, opposite of line feed) 1. To feed paper through a printer the wrong way by one line (most printers can't do this). On a display terminal, to move the cursor up to the previous line of the screen. To print X squared , you just output X , line starve, 2 , line feed. (The line starve causes the 2 to appear on the line above the X , and the line feed gets back to the original line.)
2. A character (or character sequence) that causes a terminal to perform this action. ASCII 26, also called SUB or control-Z, was one common line-starve character in the days before microcomputers and the X3.64 terminal standard. Unlike line feed , line starve is *not* standard ASCII terminology. Even among hackers it is considered silly.
3. (Proposed) A sequence such as c (used in System V echo, as well as nroff and troff) that suppresses a newline or other character(s) that would normally be emitted.
[Jargon File]
(1995-02-03)

Lingo
An animation scripting language.
[MacroMind Director V3.0 Interactivity Manual, MacroMind 1991].

LINGOL
LINguistics Oriented Language. Natural language processing.
[ A Linguistics Oriented Programming Language , V.R. Pratt, Third Intl Joint Conf on AI, 1973].

link
1. file system hard link or symbolic link.
2. hypertext hyperlink.
(1997-10-22)

Link Access Procedure on the D channel
(LAPD) (Q.921). An Integrated Services Digital Network data link layer protocol.

Link Access Protocol Balanced
protocol (LAPB) X.25 layer 2 (data link layer) protocol.
[Details?]
(1996-01-22)

Link Access Protocol for Modems
(LAPM) The Automatic Repeat Request system used in the V.42 protocol.

linkage editor
linker

Link Control Protocol
protocol A protocol used to automatically agree upon encapsulation format options, handle varying packet size limits, authenticate the identity of its peer on the link, determine when a link is functioning properly and when it is defunct, detect a looped-back link and other common misconfiguration errors, and terminate the link.
[RFC 1570].
(1997-05-10)

link-dead
Said of a MUD character who has frozen in place because of a dropped network connection.
[Jargon File]
(1995-01-24)

linked list
programming A data structure in which each element contains a pointer to the next element, thus forming a linear list.
A doubly linked list contains pointers to both the next and previous elements.
(1995-03-28)

linker
programming, tool (linkage editor, link loader) A program that combines one or more files containing object code from separately compiled program modules into a single file containing loadable or executable code
This process involves resolving references between the modules and fixing the relocation information used by the operating system kernel when loading the file into memory to run it.
Under Unix, the linker is called ld and object files have filename extension .o (object), .so (shared object), or .lib (library), and the resulting executable is called a.out by default.
(2001-10-13)

link farm
file system, Unix A directory tree that contains mostly symbolic links to files in a master directory tree of files. Link farms save space when one is maintaining several nearly identical copies of the same source tree - for example, when the only difference is architecture-dependent object files. They also mean that changes to the master tree are instantly visible in the link farm. Good text editors provide the option to replace a link with a new version of the target file when saving thus allowing the farm to have its own versions of just those files that differ from the master tree.
E.g. Let's freeze the source and then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms.
Link farms may also be used to get around restrictions on the number of -I (include-file directory) arguments on older C preprocessors. However, they can also get completely out of hand, becoming the file system equivalent of spaghetti code.
[Jargon File]
(2001-02-08)

link loader
linker

link rot
World-Wide Web The process by which links on a web page became unusable as the pages they point to change location or are removed.
(1997-03-29)

links
link

Link State Routing Protocol
networking, communications A routing protocol such as OSPF which permits routers to exchange information with one another about the reachability of other networks and the cost or metric to reach the other networks.
The cost/metric is based on number of hops, link speeds, traffic congestion, and other factors as determined by the network designer. Link state routers use Dijkstra's algorithm to calculate shortest (lowest cost) paths, and normally update other routers with whom they are connected only when their own routing tables change.
Link state routing is an improvement over distance-vector routing protocols such as RIP which normally use only a single metric (such as hop count) and which exchange all of their table information with all other routers on a regular schedule. Link state routing normally requires more processing but less transmission overhead.
(2000-03-14)

LINPACK
1. A package of linear algebra routines.
2. The kernel benchmark developed from the LINPACK package of linear algebra routines. It was written by Jack Dongarra dongarra@cs.utk.edu in Fortran and is commonly used in that language but there is also a C version.
Source Code by FTP: single precision Fortran (ftp://netlib.att.com/netlib/benchmark/linpacks.Z), double precision Fortran (ftp://netlib.att.com/netlib/benchmark/linpackd.Z), C (ftp://netlib.att.com:/netlib/benchmark/linpackc.Z).
Results (http://performance.netlib.org/performance/html/linpack.data.col0.html).
(1994-11-14)

lint
A Unix C language processor which carries out more thorough checks on the code than is usual with C compilers.
Lint is named after the bits of fluff it supposedly picks from programs. Judging by references on Usenet this term has become a shorthand for desk check at some non-Unix shops, even in languages other than C. Also used as delint.
[Jargon File]
(1994-11-14)

Linux
operating system ( Linus Unix ) /li'nuks/ (but see below) An implementation of the Unix kernel originally written from scratch with no proprietary code.
The kernel runs on Intel and Alpha hardware in the general release, with SPARC, PowerPC, MIPS, ARM, Amiga, Atari, and SGI in active development. The SPARC, PowerPC, ARM, PowerMAC - OSF, and 68k ports all support shells, X and networking. The Intel and SPARC versions have reliable symmetric multiprocessing.
Work on the kernel is coordinated by Linus Torvalds, who holds the copyright on a large part of it. The rest of the copyright is held by a large number of other contributors (or their employers). Regardless of the copyright ownerships, the kernel as a whole is available under the GNU General Public License. The GNU project supports Linux as its kernel until the research Hurd kernel is completed.
This kernel would be no use without application programs. The GNU project has provided large numbers of quality tools, and together with other public domain software it is a rich Unix environment. A compilation of the Linux kernel and these tools is known as a Linux distribution. Compatibility modules and/or emulators exist for dozens of other computing environments.
The kernel version numbers are significant: the odd numbered series (e.g. 1.3.xx) is the development (or beta) kernel which evolves very quickly. Stable (or release) kernels have even major version numbers (e.g. 1.2.xx).
There is a lot of commercial support for and use of Linux, both by hardware companies such as Digital, IBM, and Apple and numerous smaller network and integration specialists. There are many commercially supported distributions which are generally entirely under the GPL. At least one distribution vendor guarantees Posix compliance. Linux is particularly popular for Internet Service Providers, and there are ports to both parallel supercomputers and embedded microcontrollers. Debian is one popular open source distribution.
The pronunciation of Linux has been a matter of much debate. Many, including Torvalds, insist on the short I pronunciation /li'nuks/ because Linus has an /ee/ sound in Swedish (Linus's family is part of Finland's 6% ethnic-Swedish minority) and Linus considers English short /i/ to be closer to /ee/ than English long /i:/ dipthong. This is consistent with the short I in words like linen . This doesn't stop others demanding a long I /li:'nuks/ following the english pronunciation of Linus and minus . Others say /li'niks/ following Minix, which Torvalds was working on before Linux.
More on pronunciation (http://www.foldoc.org/pub/linux-pronunciation).
LinuxHQ (http://www.linuxhq.com/). slashdot (http://slashdot.org/). freshmeat (http://freshmeat.net/). Woven Goods (http://www.fokus.gmd.de/linux/). Linux Gazette (http://www.ssc.com/lg).
funet Linux Archive (ftp://ftp.funet.fi/pub/Linux), US mirror (ftp://sunsite.unc.edu/pub/Linux/), UK Mirror (ftp://sunsite.doc.ic.ac.uk/packages/Linux/).
(2000-06-09)

Linux Documentation Project
project (LDP) A team of volunteers developing documentation for the Linux operating system. The LDP aims to handle all of the issues of Linux documentation, ranging from on-line documentation to printed manuals, covering topics such as installing, using, and running Linux. The LDP has no central organisation; anyone can join in.
Home (http://metalab.unc.edu/LDP/).
(1999-06-10)

Linux Network Administrators' Guide
(NAG) A book on setting up and running Unix networks. NAG is freely available in electronic form. It was produced by Olaf Kirch, okir@monad.swb.de and others as part of the Linux Documentation Project with help from O'Reilly and Associates.
It includes the following sections: Introduction to Networking, Issues of TCP/IP Networking, Configuring the Networking Hardware, Setting up the Serial Hardware, Configuring TCP/IP Networking, Name Service and Resolver Configuraton, Serial Line IP, The Point-to-Point Protocol, Various Network Applications, The Network Information System, The Network File System, Managing Taylor UUCP, Electronic Mail, Getting smail Up and Running, Sendmail+IDA, Netnews, C News, A Description of NNTP, Newsreader Configuration, Glossary, Annotated Bibliography.
FTP from UNC (ftp://sunsite.unc.edu/pub/Linux/docs/LDP). FTP from MIT (ftp://tsx-11.mit.edu/pub/linux/docs/LDP).
(1994-12-01)

lion food
humour (IBM) Middle management or HQ staff, or, by extension, administrative drones in general. The term derives from an old joke:
Two lions escape from the zoo and split up to increase their chances. When they finally meet after two months, one is skinny and the other overweight. The thin one says, How did you manage? I ate a human just once and they turned out a small army to chase me with guns and nets, it was terrible. Since then I've been reduced to eating mice, insects, even grass. The fat one replies: Well, *I* hid near an IBM office and ate a manager every day. Nobody even noticed!
[Jargon File]
(1994-12-01)

Lions Book
publication Source Code and Commentary on Unix level 6 , by John Lions.
The two parts of this book contained the entire source listing of the Unix Version 6 kernel, and a commentary on the source discussing the algorithms. These were circulated internally at the University of New South Wales beginning 1976-77, and were, for years after, the *only* detailed kernel documentation available to anyone outside Bell Labs. Because Western Electric wished to maintain trade secret status on the kernel, the Lions book was never formally published and was only supposed to be distributed to affiliates of source licensees (it is still possible to get a Bell Labs reprint of the book by sending a copy of a V6 source licence to the right person at Bellcore, but *real* insiders have the UNSW edition). In spite of this, it soon spread by samizdat to a good many of the early Unix hackers.
(http://www.peer-to-peer.com/catalog/history/lions.html).
In 1996 it was reprinted as a classic :
[John Lions, Lions' Comentary on UNIX 6th Edition with Source Code , Computer Classics Revisited Series, Peer-to-Peer Communications, 1996, ISBN 1-57398-013-7].
[Jargon File]
(1997-06-25)

LIPL
Linear IPL.
A linearised (i.e. horizontal format) version of IPL-V.
[Sammet 1969, p. 394].
[R. Dupchak, LIPL - Linear Information Processing Language , Rand Memo RM-4320-PR, Feb 1965].
(1994-12-01)

liquid crystal display
hardware (LCD) An electro-optical device used to display digits, characters or images, commonly used in digital watches, calculators, and portable computers.
The heart of the liquid crystal display is a piece of liquid crystal material placed between a pair of transparent electrodes. The liquid crystal changes the phase of the light passing through it and this phase change can be controlled by the voltage applied between the electrodes. If such a unit is placed between a pair of plane polariser plates then light can pass through it only if the correct voltage is applied. Liquid crystal displays are formed by integrating a number of such cells, or more usually, by using a single liquid crystal plate and a pattern of electrodes.
The simplest kind of liquid crystal displays, those used in digital watches and calculators, contain a common electrode plane covering one side and a pattern of electrodes on the other. These electrodes can be individually controlled to produce the appropriate display. Computer displays, however, require far too many pixels (typically between 50,000 and several millions) to make this scheme, in particular its wiring, feasible. The electrodes are therefore replaced by a number of row electrodes on one side and column electrodes on the other. By applying voltage to one row and several columns the pixels at the intersections are set.
The pixels being set one row after the other, in passive matrix displays the number of rows is limited by the ratio of the setting and fading times. In the setup described above (known as twisted nematic ) the number of rows is limited to about 20. Using an alternative supertwisted nematic setup VGA quality displays (480 rows) can be easily built. As of 1995 most notebook computers used this technique.
Fading can be slowed by putting an active element, such as a transistor, on the top of each pixel. This remembers the setting of that pixel. These active matrix displays are of much better quality (as good as CRTs) but are much more expensive than the passive matrix displays.
LCDs are slimmer, lighter and consume less power than the previous dominant display type, the cathode ray tube, hence their importance for portable computers.
(1995-12-09)

LIS
Langage Implementation Systeme.
A predecessor of Ada developed by Ichbiah in 1973. It was influenced by Pascal's data structures and Sue's control structures. A type declaration can have a low-level implementation specification.
[ The System Implementation Language LIS , J.D. Ichbiah et al, CII Honeywell-Bull, TR 4549 E/EN, Louveciennes France (Dec 1974)].
[ The Two-Level Approach to Data Independent Programming in LIS , J.D. Ichbiah et al, in Machine Oriented Higher Level Languages, W. van der Poel ed, N-H 1974, pp.161-169].
(1994-12-01)

LISA
1. computer Local Integrated Software Architecture.
A personal computer introduced by Apple Computer, Inc. in 1983. The LISA was a predecessor of the Macintosh and was the first personal computer on the market with a graphical user interface.
It was origionally named after Steve Jobs's daughter. The acronym was applied later.
[Spec?]
2. tool A system for statistical data analysis, similar to S.
FTP MIT (ftp://dolphin.mit.edu/).
3. event Large Installation Systems Administration.
(2001-10-16)

Liskov substitution principle
programming, theory (LSP) The principle that object-oriented functions that use pointers or references to a base class must be able to use objects of a derived class without knowing it.
Barbara Liskov first wrote it as follows: If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behaviour of P is unchanged when o1 is substituted for o2 then S is a subtype of T.
A function that violates the LSP uses a reference to a base class and must know about all the derivatives of that base class. Such a function violates the open/closed principle because it must be modified whenever a new derivative of the base class is created.
[Liskov, B. Data Abstraction and Hierarchy, SIGPLAN Notices. 23(5), May 1988].
(2001-09-14)

Lisp
language LISt Processing language.
(Or mythically Lots of Irritating Superfluous Parentheses ). Artificial Intelligence's mother tongue, a symbolic, functional, recursive language based on the ideas of lambda-calculus, variable-length lists and trees as fundamental data types and the interpretation of code as data and vice-versa.
Data objects in Lisp are lists and atoms. Lists may contain lists and atoms. Atoms are either numbers or symbols. Programs in Lisp are themselves lists of symbols which can be treated as data. Most implementations of Lisp allow functions with side-effects but there is a core of Lisp which is purely functional.
All Lisp functions and programs are expressions that return values; this, together with the high memory use of Lisp, gave rise to Alan Perlis's famous quip (itself a take on an Oscar Wilde quote) that Lisp programmers know the value of everything and the cost of nothing .
The original version was LISP 1, invented by John McCarthy jmc@sail.stanford.edu at MIT in the late 1950s. Lisp is actually older than any other high level language still in use except Fortran. Accordingly, it has undergone considerable change over the years. Modern variants are quite different in detail. The dominant HLL among hackers until the early 1980s, Lisp now shares the throne with C. See languages of choice.
One significant application for Lisp has been as a proof by example that most newer languages, such as COBOL and Ada, are full of unnecessary crocks. When the Right Thing has already been done once, there is no justification for bogosity in newer languages.
See also Association of Lisp Users, Common Lisp, Franz Lisp, MacLisp, Portable Standard Lisp, Interlisp, Scheme, ELisp, Kamin's interpreters.
[Jargon File]
(1995-04-16)

*LISP
(StarLISP) A data-parallel extension of Common LISP for the Connection Machine, uses pvars .
A *LISP simulator (ftp://think.com/public/starsim-f19-sharfile).
E-mail: customer-support@think.com , documentation-order@think.com .
[Cliff Lasser, Jeff Mincy, J.P. Massar, Thinking Machines Corporation The Essential *LISP Manual , TM Corp 1986].
[Jargon File]

LISP 1
The original Lisp. Invented by John McCarthy et al at MIT in the late 50's. Followed by LISP 1.5.

LISP 1.5
The second version of Lisp, successor to LISP 1. Developed at MIT in 1959. Followed by LISP 1.75, LISP 1.9, Lisp 2 and many other versions.

LISP 2
LISP 1.5 with an ALGOL 60-like surface syntax. Also optional type declarations, new data types including integer-indexed arrays and character strings, partial-word extraction/insertion operators and macros. A pattern-matching facility similar to COMIT was proposed. Implemented for the Q-32 computer.
[ The LISP 2 Programming Language and System , P.W. Abrahams et al, Proc FJCC 29:661-676, AFIPS (Fall 1966).]

LISP70
A Lisp dialect descended from MLISP and MLISP2. Also known as PLISP and VEL. Useful for parsing. Only the pattern-matching system was published and fully implemented. According to Alan Kay, LISP70 had an influence on Smalltalk-72. The LISP70 Pattern Matching System, Larry Tesler et al, IJCAI 73.

LISP A
LISP A: A LISP-like System for Incremental Computing , E.J. Sandewall, Proc SJCC 32 (1968).

LISP Extended Algebraic Facility
language (LEAF)
[ An Algebraic Extension to LISP , P.H. Knowlton, Proc FJCC 35 1969].
(1996-06-07)

Lispkit
language A functional programming language designed by Peter Henderson with Lisp syntax. Designed for portability. The Lispkit implementation is an extension to Landin's SECD machine that supports lazy evaluation. See also Stack environment control dump machine.

Lispkit Lisp
Purely functional version of LISP. Functional Programming, Application and Implementation , P. Henderson, P-H 1980.

Lisp-Linda
P. Dourish, U Edinburgh 1988.

Lisp Machine
1. architecture Any machine (whether notional or actual) whose instruction set is Lisp.
2. hardware, operating system A line of workstations made by Symbolics, Inc. from the mid-1970s (having grown out of the MIT AI Lab) to late 1980s. All system code for Symbolics Lisp Machines was written in Lisp Machine Lisp. Symbolics Lisp Machines were also notable for having had space-cadet keyboards.
[More details and historical background?]
(http://www.lavielle.com/~joswig/symbolic-computing.html).
(1998-12-13)

LISP Machine LISP
language An extension of Maclisp, now called Zetalisp.
(1998-12-13)

Lisp Object-Oriented Programming System
(LOOPS) An object-oriented extension of Lisp from the Intelligent Systems Laboratory at Xerox Palo Alto Research Center. It is used in the development of knowledge-based systems.
See also CommonLoops.
[ The LOOPS Manual , D.G. Bobrow M. Stefik, Xerox Corp 1983].

LISP, Objects, and Symbolic Programming
A book with compiler included by Robert R. Kessler and Amy R. Petajan, published by Scott, Foresman and Company, Glenview, IL, USA. (1988).

Lisptalk
Concurrent Programming Language Lisptalk , C. Li, SIGPLAN Notices 23(4):71-80 (Apr 1988).

LispView
CLOS based windowing system on OpenWindows.

list
data A data structure holding many values, possibly of different types, which is usually accessed sequentially, working from the head to the end of the tail - an ordered list . This contrasts with a (one-dimensional) array, any element of which can be accessed equally quickly.
Lists are often stored using a cell and pointer arrangement where each value is stored in a cell along with an associated pointer to the next cell. A special pointer, e.g. zero, marks the end of the list. This is known as a (singlely) linked list . A doublely linked list has pointers from each cell to both next and previous cells.
An unordered list is a set.
(1998-11-12)

list comprehension
functional programming An expression in a functional language denoting the results of some operation on (selected) elements of one or more lists. An example in Haskell:
[ (x,y) | x - [1 .. 6], y - [1 .. x], x+y 10]
This returns all pairs of numbers (x,y) where x and y are elements of the list 1, 2, ..., 10, y = x and their sum is less than 10.
A list comprehension is simply syntactic sugar for a combination of applications of the functions, concat, map and filter. For instance the above example could be written:
filter p (concat (map ( x - map ( y - (x,y))
[1..x]) [1..6])) where p (x,y) = x+y 10
According to a note by Rishiyur Nikhil nikhil@crl.dec.com , (August 1992), the term itself seems to have been coined by Phil Wadler circa 1983-5, although the programming construct itself goes back much further (most likely Jack Schwartz and the SETL language).
The term list comprehension appears in the references below.
The earliest reference to the notation is in Rod Burstall and John Darlington's description of their language, NPL.
David Turner subsequently adopted this notation in his languages SASL, KRC and Miranda, where he has called them ZF expressions , set abstractions and list abstractions (in his 1985 FPCA paper [Miranda: A Non-Strict Functional Language with Polymorphic Types]).
[ The OL Manual Philip Wadler, Quentin Miller and Martin Raskovsky, probably 1983-1985].
[ How to Replace Failure by a List of Successes FPCA September 1985, Nancy, France, pp. 113-146].
(1995-02-22)

List Enhanced
operating system, tool An MS-DOS file browsing utility first written by Vern Buerg 1983. A former mainframe systems programmer, Buerg wrote DOS utilities when he began using an IBM PC and missed the file-scanning ability he had had on mainframes. The software became an instant success, and his list utility is currently in use on an estimated 5 million PC's.
shareware version (http://buerg.com/ftp.html).
(1997-05-16)

listless
programming In functional programming, a property of a function which allows it to be combined with other functions in a way that eliminates intermediate data structures, especially lists.
Phil Wadler's thesis gives the conditions for a function to be in listless form: each input list is traversed only once, one element at a time, from left to right. Each output list is generated once, one element at a time, from left to right. No other lists are generated or traversed.
Not all functions can be expressed in listless form (e.g. reverse).
(1995-02-22)

Listproc
A mailing list processor owned and developed by BITNET which runs under Unix.
See also Listserv, Majordomo.
[Details?]
(1995-02-22)

lists
list

Listserv
messaging An automatic mailing list server, initially written to run under IBM's VM operating system by Eric Thomas.
Listserv is a user name on some computers on BITNET/EARN which processes electronic mail requests for addition to or deletion from mailing lists. Examples are listserv@ucsd.edu, listserver@nysernet.org.
Some listservs provide other facilities such as retrieving files from archives and database search. Full details of available services can usually be obtained by sending a message with the word HELP in the subject and body to the listserv address.
Eric Thomas, has recently formed an international corporation, L-Soft, and has ported Listserv to a number of other platforms including Unix. Listserv has simultaneously been enhanced to use both the Internet and BITNET.
Two other major mailing list processors, both of which run under Unix, are Majordomo, a freeware system, and Listproc, currently owned and developed by BITNET.
(1995-02-22)

Liszt
A Franz Lisp compiler in C which emits C, by Jeff W. Dalton jeff@festival.ed.ac.uk .
Mailing list: franz-friends-request@berkeley.edu.
(1994-10-20)

lite
spelling (Misspelling of light , when used to mean lightweight ) A suffix denoting a scaled-down or crippled product, often designed to be distributed without charge, e.g. on a magazine coverdisk. An example is pklite.
(1995-10-06)

literal
programming A constant made available to a process, by inclusion in the executable text. Most modern systems do not allow texts to modify themselves during execution, so literals are indeed constant; their value is written at compile-time and is read-only at run time.
In contrast, values placed in variables or files and accessed by the process via a symbolic name, can be changed during execution. This may be an asset. For example, messages can be given in a choice of languages by placing the translation in a file.
Literals are used when such modification is not desired. The name of the file mentioned above (not its content), or a physical constant such as 3.14159, might be coded as a literal. Literals can be accessed quickly, a potential advantage of their use.
(1996-01-23)

literate programming
programming, text Combining the use of a text formatting language such as TeX and a conventional programming language so as to maintain documentation and source together. The program is sometimes marked to distinguish it from the text, rather than the other way around as in normal programs (the inverse comment convention).
Perl's literate programming system is called pod.
(1998-12-18)

literature
The literature. Computer-science journals and other publications, vaguely gestured at to answer a question that the speaker believes is trivial. Thus, one might answer an annoying question by saying It's in the literature. Oppose Knuth, which has no connotation of triviality.
(1994-11-04)

LITHE
Object-oriented with extensible syntax.
LITHE: A Language Combining a Flexible Syntax and Classes , D. Sandberg, Conf Rec 9th Ann ACM Sym POPL, ACM 1982, pp.142-145.

lithium lick
NeXT employees who have had too much attention from their esteemed founder, Steve Jobs, are said to have lithium lick when they begin to show signs of Jobsian fervour and repeat the most recent catch phrases in normal conversation, e.g. It just works, right out of the box!
[Jargon File]

LitProg
literate programming

LITTLE
A typeless language used to produce machine-independent software. LITTLE has been used to implement SETL.
Guide to the LITTLE Language , D. Shields, LITTLE Newsletter 33, Courant Inst (Aug 1977).

little-endian
data, architecture A computer architecture in which, within a given 16- or 32-bit word, bytes at lower addresses have lower significance (the word is stored little-end-first ). The PDP-11 and VAX families of computers and Intel microprocessors and a lot of communications and networking hardware are little-endian.
The term is sometimes used to describe the ordering of units other than bytes; most often, bits within a byte.
Compare big-endian, middle-endian. See NUXI problem.
[Jargon File]
(1995-08-16)

Little Smalltalk
A line-oriented near-subset of Smalltalk-80 written in C by Tim Budd budd@cs.orst.edu . Version 3 runs on Unix, IBM PC, Atari and VMS.
(ftp://cs.orst.edu/pub/budd/)
[ A Little Smalltalk , Timothy Budd, A-W 1987].

live data
1. Data that is written to be interpreted and takes over program flow when triggered by some un-obvious operation, such as viewing it. One use of such hacks is to break security. For example, some smart terminals have commands that allow one to download strings to program keys; this can be used to write live data that, when listed to the terminal, infects it with a security-breaking virus that is triggered the next time a hapless user strikes that key. For another, there are some well-known bugs in vi that allow certain texts to send arbitrary commands back to the machine when they are simply viewed.
2. In C, data that includes pointers to functions (executable code).
3. An object, such as a trampoline, that is constructed on the fly by a program and intended to be executed as code.
4. Actual real-world data, as opposed to test data . For example, I think I have the record deletion module finished. Have you tried it out on live data? This usage usually carries the connotation that live data is more fragile and must not be corrupted, or bad things will happen. So a more appropriate response to the above claim might be: Well, make sure it works perfectly before we throw live data at it. The implication here is that record deletion is something pretty significant, and a haywire record-deletion module running amok on live data would probably cause great harm.
[Jargon File]

Live Free Or Die!
1. The state motto of New Hampshire, which appears on that state's automobile licence plates.
2. A slogan associated with Unix in the romantic days when Unix aficionados saw themselves as a tiny, beleaguered underground tilting against the windmills of industry. The free referred specifically to freedom from the fascist design philosophies and crufty misfeatures common on commercial operating systems. Armando Stettner, one of the early Unix developers, used to give out fake licence plates bearing this motto under a large Unix, all in New Hampshire colours of green and white. These are now valued collector's items.

livelock
parallel /li:v'lok/ When two or more processes continuously change their state in response to changes in the other process(es) without doing any useful work.
This is similar to deadlock in that no progress is made but differs in that neither process is blocked or waiting for anything.
A human example of livelock would be two people who meet face-to-face in a corridor and each moves aside to let the other pass, but they end up swaying from side to side without making any progress because they always move the same way at the same time.
[Jargon File]
(1998-07-05)

LiveScript
JavaScript

liveware
/li:v'weir/ 1. A less common synonym for wetware
2. (Cambridge) Vermin. Waiter, there's some liveware in my salad.
[Jargon File]
(1995-10-30)

lk
networking The country code for Sri Lanka.
(1999-01-27)

LL
grammar A class of language grammars, which can be parsed without backtracking. The first L stands for Left-to-right scan, the second for Leftmost derivation.
Often found in the form LL(k) where k is the number of tokens of look-ahead required when parsing a sentence of the language. In particular, LL(1) is a fairly restrictive class of grammar, but allows simple top-down parsing (e.g. recursive-descent) to be used without wasteful backtracking. A number of programming languages are LL(1) (or close).
(1995-10-30)

LLC
Logical Link Control

LLGen
tool A BNF-based LL1 parser generator by Fischer and LeBlanc. It conforms to a subset of FMQ.
(ftp://csczar.ncsu.edu/)
[ Crafting A Compiler , Fischer and LeBlanc].
(1990-03-31)

LLM3
/el el em trwa/ The assembly language for a virtual machine used as the implementation language for Le-Lisp. Developed by J. Chailloux of INRIA.

LLNL
Lawrence Livermore National Laboratory

LLP
Lower Layer Protocol

LM3
The Larch interface language for Modula-3.
[ LM3: A Larch/Modula-3 Interface Language , Kevin D. Jones, TR 72, DEC SRC, Palo Alto CA].

LMAO
chat laughed my ass off. Seen on Compuserve.
(1996-02-04)

LML
1. Lazy ML.
A lazy, purely functional variant of ML designed by Thomas Johnson and Lennart Augustsson at the Chalmers University of Technology, Gothenburg, Sweden in 1984. LML is implemented on the G-machine, and was used to implement the first Haskell B compiler. There is a compiler (lmlc) and interpreter.
(ftp://ftp.cs.chalmers.se/pub/haskell/chalmers)
(1994-12-14)
2. Logical ML.
Adds to Lazy ML a data type of theories whose objects represent logic programs.
[ Logic Programming within a Functional Framework , A. Brogi et al, in Programming Language Implementation and Logic Programming, P. Deransart et al eds, LNCS 456, Springer 1990].
(1994-12-14)

LM-Prolog
Lisp Machine Prolog.
A Prolog interpreter in Zetalisp for the Lisp Machine developed by Ken Kahn and Mats Carlsson in 1983.
(ftp://sics.se/archive/lm-prolog.tar.Z)
[ LM-Prolog User Manual , M. Carlsson et al, Uppsala Dec 1983].
(1994-12-14)

LMTP
Local Mail Transfer Protocol

LNF
[ A Fully Lazy Higher Order Purely Functional Programming Language With Reduction Semantics , K.L. Greene, CASE Center TR 8503, Syracuse U 1985].

LO
Linear Objects. A concurrent logic programming language based on linear logic, an extension of Horn logic with a new kind of OR-concurrency.
[ LO and Behold! Concurrent Structured Processes , J. Andreoli et al, SIGPLAN Notices 25(10):44-56 (OOPSLA/ECOOP '90) (Oct 1990)].

L O
Logic and Objects. A front end for IC Prolog.
(ftp://src.doc.ic.ac.uk/computing/programming/languages/pd-ICP-0,90.tar.Z). E-mail: Zacharias Bobolakis zb@doc.ic.ac.uk .
[ Logic and Objects , Frank McCabe, Prentice-Hall].

load
1. To copy data (often program code to be run) into memory, possibly parsing it somehow in the process. E.g. WordPerfect can't load this RTF file - are you sure it didn't get corrupted in the download? Opposite of save.
2. The degree to which a computer, network, or other resource is used, sometimes expressed as a percentage of the maximum available. E.g. What kind of CPU load does that program give? , The network's constantly running at 100% load . Sometimes used, by extension, to mean to increase the level of use of a resource . E.g. Loading a spreadsheet really loads the CPU . See also: load balancing.
3. To install a piece of software onto a system. E.g. The computer guy is gonna come load Excel on my laptop for me . This usage is widely considered to be incorrect.
(2002-07-02)

load balancing
operating system, parallel Techniques which aim to spread tasks among the processors in a parallel processor to avoid some processors being idle while others have tasks queueing for execution. Load balancing may be performed either by heavily loaded processors (with many tasks in their queues) sending tasks to other processors; by idle processors requesting work from others; by some centralised task distribution mechanism; or some combination of these. Some systems allow tasks to be moved after they have started executing ( task migration ) others do not. It is important that the overhead of executing the load balancing algorithm does not contribute significantly to the overall processing or communications load.
Distributed scheduling algorithms may be static, dynamic or preemptive. Static algorithms allocate processes to processors at run time while taking no account of current network load. Dynamic algorithms are more flexible, though more computationally expensive, and give some consideration to the network load before allocating the new process to a processor. Preemptive algorithms are more expensive and flexible still, and may migrate running processes from one host to another if deemed beneficial. Research to date indicates that dynamic algorithms yield significant performance benefits, but that further (though lesser) gains may be had through the addition of process migration facilities.
(1995-03-13)

lobotomy
1. What a hacker subjected to formal management training is said to have undergone. At IBM and elsewhere this term is used by both hackers and low-level management; the latter doubtless intend it as a joke.
2. The act of removing the processor from a microcomputer in order to replace or upgrade it. Some very cheap clone systems are sold in lobotomised form - everything but the brain.
[Jargon File]

LOC
lines of code

local area network
networking (LAN) A data communications network which is geographically limited (typically to a 1 km radius) allowing easy interconnection of terminals, microprocessors and computers within adjacent buildings. Ethernet and FDDI are examples of standard LANs.
Because the network is known to cover only a small area, optimisations can be made in the network signal protocols that permit data rates up to 100Mb/s.
See also token ring, wide area network, metropolitan area network..
Usenet newsgroup: news:comp.dcom.lans.misc.
(1995-03-13)

Local Area Transport
protocol (LAT) A DEC-specific, non-routable network protocol.
[Details?]
(1999-01-14)

local bus
hardware A bus connecting a processor to memory, usually on the same circuit board as opposed to a backplane and therefore faster.
Various proprietary local busses for personal computers are still in use. The most common are Vesa local bus (VLB or VL), and Peripheral Component Interconnect (PCI). Some computers, e.g. notebook computers, use a local bus with no expansion slots. Previous non-local bus standards include ISA, EISA and MCA.
(1997-08-25)

locale
programming A geopolitical place or area, especially in the context of configuring an operating system or application program with its character sets, date and time formats, currency formats etc.
Locales are significant for internationalisation and localisation.
(1999-06-09)

local echo
communications (Obsolete: half-duplex ) A mode of operation of a communications program or device in which it displays the characters the user enters at the same time as it sends them to the remote system.
In communications between computers or computing processes, particularly those involving human keyboarding and/or reading, duplex came to mean the re-transmission of a keyboard character to the output display.
Early input device such as the Teletype ASR-33 teleprinter, being descended from the electric typewriter, printed all input characters as they were typed (i.e. they did local echo). Local echo was typically optional on the video terminals that replaced them, and usually disabled in favour of remote echo. A disadvantage of local echo is that it will continue, even when the communication circuit has failed, which can be misleading.
(2000-03-30)

local exchange carrier
communications (LEC) A company allowed to handle local calls following the break-up of the Bell system in the US by anti-trust regulators. These vary from Regional Bell Operating Companies (RBOC) through to small independents such as Farmers Cooperative.
Local exchange carriers are not allowed to handle long-distance traffic. This is handled by inter-exchange carriers (IXC) who are not allowed to handle local calls.
(2002-08-28)

localisation
programming (l10n) Adapting a product to meet the language, cultural and other requirements of a specific target market locale .
Localisation includes the translation of the user interface, on-line help and documentation, and ensuring the images and concepts are culturally appropriate and sensitive. There may be subtle cross-cultural considerations, e.g. do the icons make sense in other parts of the world?
Internationalisation is the process that occurs during application development that makes localisation easier by separating the details that differ between locales from the rest of the program that stays the same. If internationalisation is thorough, localisation will require no programming.
The abbreviation l10n means L - 10 letters - N .
(1999-06-09)

localised
localisation

locality
1. In sequential architectures programs tend to access data that has been accessed recently (temporal locality) or that is at an address near recently referenced data (spatial locality). This is the basis for the speed-up obtained with a cache memory.
2. In a multi-processor architecture with distributed memory it takes longer to access the memory attached to a different processor. This overhead increases with the number of communicating processors. Thus to efficiently employ many processors on a problem we must increase the proportion of references which are to local memory.
(1995-02-28)

local loop
communications The circuits between a telephone subscriber's residence or business and the switching equipment at the local central office.
(1995-03-17)

local loopback addresses
The special Internet address, 127.0.0.1, defined by the Internet Protocol. A host can use local the loopback address to send messages to itself.
(1995-03-21)

Local Mail Transfer Protocol
messaging, protocol (LMTP) A protocol designed as an alternative to ESMTP for cases where the mail receiver does not manage a queue. LMTP is an application level protocol that runs on top of TCP/IP. It was initially defined in RFC 2033, and uses (with a few changes) the syntax and semantics of ESMTP. It should be used only by specific prior arrangement and configuration, and it must not be used on TCP port 25 (the SMTP port).
(2002-03-09)

locals
The users on one's local network (as opposed, say, to people one reaches via public Internet or UUCP connections). The marked thing about this usage is how little it has to do with real-space distance. I have to do some tweaking on this mail utility before releasing it to the locals.
(1994-11-29)

Local Shared Resources
operating system (LSR) A way of controlling VSAM buffers in OS/390.
(2002-02-17)

LocalTalk
networking An Apple Computer network standard using Apple Computer's own networking hardware.
Compare EtherTalk.
(1994-11-29)

location
memory location

locked and loaded
[Military slang for an M-16 rifle with magazine inserted and prepared for firing] Said of a removable disk volume properly prepared for use - that is, locked into the drive and with the heads loaded. Ironically, because their heads are loaded whenever the power is up, this description is never used of Winchester drives (which are named after a rifle).
[Jargon File]

locked up
Synonym for hung, wedged.

lock-in
standard When an existing standard becomes almost impossible to supersede because of the cost or logistical difficulties involved in convincing all its users to switch something different and, typically, incompatible.
The common implication is that the existing standard is notably inferior to other comparable standards developed before or since.
Things which have been accused of benefiting from lock-in in the absence of being truly worthwhile include: the QWERTY keyboard; any well-known operating system or programming language you don't like (e.g., see Unix conspiracy ); every product ever made by Microsoft Corporation; and most currently deployed formats for transmitting or storing data of any kind (especially the Internet Protocol, 7-bit (or even 8-bit) character sets, analog video or audio broadcast formats and nearly any file format).
Because of network effects outside of just computer networks, Real World examples of lock-in include the current spelling conventions for writing English (or French, Japanese, Hebrew, Arabic, etc.); the design of American money; the imperial (feet, inches, ounces, etc.) system of measurement; and the various and anachronistic aspects of the internal organisation of any government (e.g., the American Electoral College).
Compare with cruft, flag day.
(1998-01-15)

Locus
A distributed system project supporting transparent access to data through a network-wide file system.

Loebner Prize
artificial intelligence An annual competition in artificial intelligence started by Dr. Hugh Gene Loebner loebner@acm.org of New York City in 1991. A $100,000 prize is offered to the author of the first computer program to pass an unrestricted Turing test. Annual competitions are held each year with a $2000 prize for the best program on a restricted Turing test.
Sponsors of previous competitions include: Apple Computer, Computerland, Crown Industries, GDE Systems, IBM Personal Computer Company's Center for Natural Computing, Greenwich Capital Markets, Motorola, the National Science Foundation, The Alfred P. Sloan Foundation, and The Weingart Foundation.
The 1995 and 1996 events were unrestricted Turing Tests, requiring computer entries to converse indefinitely with no topic restrictions. So far, even the best programs give themselves away almost immediately, either by simple grammatical mistakes or by repetition.
Complete transcripts and IBM compatible diskettes that play the 1991, 1992, and 1993 conversations in real-time are available for purchase from the Cambridge Center for Behavioral Studies (telephone: +1 (617) 491 9020, Fax: 1072). Sponsorship opportunities are available.
Home (http://info.acm.org/~loebner/loebner-prize.htmlx).
Dr. Hugh G. Loebner loebner@acm.org Prize Donor Telephone: +1 (201) 672 2277 (fax 7536).
(1999-06-29)

log
[ log: A Logic Programming Language with Finite Sets , A Dovier et al, Proc 8th Intl Conf Logic Prog, June 1991, pp.111-124].

logarithmus dualis
mathematics (ld) Latin for logarithm base two. More commonly written as log with a subscript 2 .
Roughly the number of bits required to represent an integer.
(1999-03-19)

LogC
A C extension incorporating rule-oriented programming, for AI application programs. Production rules are encapsulated into functional components called rulesets. LogC uses a search network algorithm similar to RETE.
Version 1.6.
[ LogC: A Language and Environment for Embedded Rule Based Systems , F. Yulin et al, SIGPLAN Notices 27(11):27-32 (Nov 1992)].

logic
1. philosophy, mathematics A branch of philosophy and mathematics that deals with the formal principles, methods and criteria of validity of inference, reasoning and knowledge.
Logic is concerned with what is true and how we can know whether something is true. This involves the formalisation of logical arguments and proofs in terms of symbols representing propositions and logical connectives. The meanings of these logical connectives are expressed by a set of rules which are assumed to be self-evident.
Boolean algebra deals with the basic operations of truth values: AND, OR, NOT and combinations thereof. Predicate logic extends this with existential and universal quantifiers and symbols standing for predicates which may depend on variables. The rules of natural deduction describe how we may proceed from valid premises to valid conclusions, where the premises and conclusions are expressions in predicate logic.
Symbolic logic uses a meta-language concerned with truth, which may or may not have a corresponding expression in the world of objects called existance. In symbolic logic, arguments and proofs are made in terms of symbols representing propositions and logical connectives. The meanings of these begin with a set of rules or primitives which are assumed to be self-evident. Fortunately, even from vague primitives, functions can be defined with precise meaning.
Boolean logic deals with the basic operations of truth values: AND, OR, NOT and combinations thereof. Predicate logic extends this with existential quantifiers and universal quantifiers which introduce bound variables ranging over finite sets; the predicate itself takes on only the values true and false. Deduction describes how we may proceed from valid premises to valid conclusions, where these are expressions in predicate logic.
Carnap used the phrase rational reconstruction to describe the logical analysis of thought. Thus logic is less concerned with how thought does proceed, which is considered the realm of psychology, and more with how it should proceed to discover truth. It is the touchstone of the results of thinking, but neither its regulator nor a motive for its practice.
See also fuzzy logic, logic programming, arithmetic and logic unit, first-order logic,
See also Boolean logic, fuzzy logic, logic programming, first-order logic, logic bomb, combinatory logic, higher-order logic, intuitionistic logic, equational logic, modal logic, linear logic, paradox.
2. electronics Boolean logic circuits.
See also arithmetic and logic unit, asynchronous logic, TTL.
(1995-03-17)

logical
(From the technical term logical device , wherein a physical device is referred to by an arbitrary logical name) Having the role of. If a person (say, Les Earnest at SAIL) who had long held a certain post left and were replaced, the replacement would for a while be known as the logical Les Earnest. (This does not imply any judgment on the replacement).
Compare virtual.
At Stanford, logical compass directions denote a coordinate system in which logical north is toward San Francisco, logical west is toward the ocean, etc., even though logical north varies between physical (true) north near San Francisco and physical west near San Jose. (The best rule of thumb here is that, by definition, El Camino Real always runs logical north-and-south.) In giving directions, one might say: To get to Rincon Tarasco restaurant, get onto El Camino Bignum going logical north. Using the word logical helps to prevent the recipient from worrying about that the fact that the sun is setting almost directly in front of him. The concept is reinforced by North American highways which are almost, but not quite, consistently labelled with logical rather than physical directions.
A similar situation exists at MIT: Route 128 (famous for the electronics industry that has grown up along it) is a 3-quarters circle surrounding Boston at a radius of 10 miles, terminating near the coastline at each end. It would be most precise to describe the two directions along this highway as clockwise and counterclockwise , but the road signs all say north and south , respectively. A hacker might describe these directions as logical north and logical south , to indicate that they are conventional directions not corresponding to the usual denotation for those words. (If you went logical south along the entire length of route 128, you would start out going northwest, curve around to the south, and finish headed due east, passing along one infamous stretch of pavement that is simultaneously route 128 south and Interstate 93 north, and is signed as such!)
[Jargon File]
(1995-01-24)

logical address
virtual address

Logical Block Addressing
storage (LBA) A hard disk sector addressing scheme used on all SCSI hard disks, and on ATA-2 conforming IDE hard disks. The addressing conversion is performed by the hard disk firmware.
Prior to LBA, combined limitations of IBM PC BIOS and ATA restricted the useful capacity of IDE hard disks on IBM PCs and compatibles to 1024 cylinders * 63 sectors per track * 16 heads * 512 bytes per sector = 528 million bytes = 504 megabytes. Modern BIOSes select LBA mode automatically, and work around the 1024-cylinder BIOS limit by representing a hard disk to the OS as having e.g. half as many cylinders and twice as many heads. However, there is still an unbreakable BIOS disk size limit of 1024 cylinders * 63 sectors per track * 256 heads * 512 bytes per sector = 8 gigabytes, but modern OSes (including Windows 9x, Windows NT and Linux) are not affected by it, since they issue direct LBA-based calls, bypassing the BIOS hard disk services completely.
(2000-04-30)

logical complement
logic In Boolean algebra, the logical complement or negation of a Boolean value is the opposite value, given by the following truth table:
A | -A --+--- T | F F | T
-A is also written as A with a bar over it or with a small vertical line hanging from the right-hand end of the - (LaTeX neg) or as A'. In the C programming language, it is !A and in digital circuit design, /A.
(1995-01-24)

Logical Link Control
networking (LLC) The upper portion of the data link layer, as defined in IEEE 802.2. The LLC sublayer presents a uniform interface to the user of the data link service, usually the network layer. Beneath the LLC sublayer is the Media Access Control (MAC) sublayer.
(1995-02-14)

logical relation
A relation R satisfying
f R g = For all a, b, a R b = f a R g b
This definition, by Plotkin, can be used to extend the definition of a relation on the types of a and b to a relation on functions.

logical shift
programming (Either shift left logical or shift right logical) Machine-level operations available on nearly all processors which move each bit in a word one or more bit positions in the given direction. A left shift moves the bits to more significant positions (like multiplying by two), a right shift moves them to less significant positions (like dividing by two). The comparison with multiplication and division breaks down in certain circumstances - a logical shift may discard bits that are shifted off either end of the word and does not preserve the sign of the word (positive or negative).
Logical shift is approriate when treating the word as a bit string or a sequence of bit fields, whereas arithmetic shift is appropriate when treating it as a binary number. The word to be shifted is usually stored in a register, or possibly in memory.
(1996-07-02)

logical shift left
logical shift

logical shift right
logical shift

Logical Unit
networking (LU) A primary component of SNA, an LU is a type of NAU that enables end users to communicate with each other and gain access to SNA network resources.
(1997-04-30)

Logical Unit 6.2
networking (LU6.2) A type of logical unit that governs peer-to-peer SNA communications. LU6.2 supports general communication between programs in a distributed processing environment.
LU6.2 is characterised by a peer relationship between session partners, efficient use of a session for multiple transactions, comprehensive end-to-end error processing and a generic application program interface consisting of structured verbs that are mapped into a product inplementation.
LU6.2 is used by IBM's TPF operating system.
[IBM Dictionary of Computing, McGraw-Hill 1993].
(1996-08-26)

Logical Unit Number
storage (LUN) A 3-bit identifier used on a SCSI bus to distinguish between up to eight devices (logical units) with the same SCSI ID.
(1999-02-11)

logic bomb
programming, security Code surreptitiously inserted into an application or operating system that causes it to perform some destructive or security-compromising activity whenever specified conditions are met.
Compare back door.
[Jargon File]
(1996-07-02)

Logic Design Language
language A language for computer design.
[ A System Description Language Using Parametric Text Generation , R.H. Williams, TR 02.487, IBM San Jose, Aug 1970].
(1994-11-29)

logic emulator
A system of FPGAs, programmable interconnect and software which automatically configures itself into an operating prototype of a large-scale logic design, such as a microprocessor. An emulated design can be connected into the target system and really operated and tested before the design is made into an integrated circuit.
Quickturn is the leading logic emulation system.
(1994-11-29)

Logic for Computable Functions
language (LCF) Part of the Edinburgh proof assistant.
[What is it? Address?]
(1995-01-06)

logic gate
An integrated circuit or other device whose inputs and outputs represent Boolean or binary values as voltages (TTL uses 0V for False or 0, +5V for True or 1). Different gates implement different Boolean functions: AND, OR, NAND, NOR (these may take two or more inputs) NOT (one input), XOR (two inputs). NOT, NAND and NOR are often constructed from single transistors and the other gates made from combinations of these basic ones. These functions are all combinatorial logic functions, i.e. their outputs depend only on their inputs and there is no internal state. Gates with state, such as latches and flip-flops, are constructed by feeding some of their outputs back to their inputs.
(1995-02-08)

logic programming
artificial intelligence, programming, language A declarative, relational style of programming based on first-order logic. The original logic programming language was Prolog. The concept is based on Horn clauses.
The programmer writes a database of facts , e.g.
wet(water).
( water is wet ) and rules , e.g.
mortal(X) :- human(X).
( X is mortal is implied by X is human ). Facts and rules are collectively known as clauses .
The user supplies a goal which the system attempts to prove using resolution or backward chaining . This involves matching the current goal against each fact or the left hand side of each rule using unification . If the goal matches a fact, the goal succeeds; if it matches a rule then the process recurses, taking each sub-goal on the right hand side of the rule as the current goal. If all sub-goals succeed then the rule succeeds.
Each time a possible clause is chosen, a choice point is created on a stack. If subsequent resolution fails then control eventually returns to the choice point and subsequent clauses are tried. This is known as backtracking .
Clauses may contain logic variables which take on any value necessary to make the fact or the left hand side of the rule match a goal. Unification binds these variables to the corresponding subterms of the goal. Such bindings are associated with the choice point at which the clause was chosen and are undone when backtracking reaches that choice point.
The user is informed of the success or failure of his first goal and if it succeeds and contains variables he is told what values of those variables caused it to succeed. He can then ask for alternative solutions.
(1997-07-14)

Logic Replacement Technology
(LRT) Reading, BERKS. Tel: (0734) 751087. Marketing Director Bob Barrett. Manufacturers of the Ethernet hardware including the Filtabyte Ethernet controller card and EtherGate open access gateway.

logic variable
programming A variable in a logic programming language which is initially undefined ( unbound ) but may get bound to a value or another logic variable during unification of the containing clause with the current goal. The value to which it is bound may contain other variables which may themselves be bound or unbound.
For example, when unifying the clause
sad(X) :- computer(X, ibmpc).
with the goal
sad(billgates).
the variable X will become bound to the atom billgates yeilding the new subgoal computer(billgates, ibmpc) .
(1995-03-14)

LOGIN
1. An object-oriented deductive language and database system integrating logic programming and inheritance.
[ LOGIN: A Logic Programming Language with Built-In Inheritance , H. Ait-Kaci et al, J Logic Programming 3(3):185-215 (1986)].

login
jargon (Or log in , log on , logon ) To start a session with a system, usually by giving a user name and password as a means of user authentication. The term is also used to mean the ability to access a service (also called an account), e.g. Have you been given a login yet?
Log in/on is occasionally misused to refer to starting a session where no authorisation is involved, or to access where there is no session involved. E.g. Log on to our Web site!
login is also the Unix program which reads and verifies a user's user name and password and starts an interactive session.
(1997-08-03)

LOGISCOPE
Software quality analysis tools from Verilog SA, used to evaluate the quality of software, both statically (based on software metrics) and dynamically.

Loglan
human language (Later Lojban /lozh'bahn/) An artificial human language designed by James Cooke Brown in the late 1950s.
Most artificial human languages devised in the 19th and 20th centuries (e.g. Esperanto) were designed to be easy to learn. Loglan, however, is unique in that its chief design goal was to avoid synactic ambiguity -- the kind that arises when trying to parse sentences like The blind man picked up the hammer and saw .
Loglan is thus the only human language unambiguously parseable by a formal grammar (assuming you count Loglan as a human language; its grammar is not at all like that of any natural human language).
Most later development on Loglan continued under the name Lojban .
The Loglan Institute, Inc. is a non-profit research corporation.
Loglan is apparently unrelated to the programming languages Loglan'82 or Loglan-88.
Halcyon Loglan (http://www.halcyon.com/loglan/welcome.html).
Helsinki Lojban (http://xiron.pc.helsinki.fi/lojban/).
Address: The Loglan Institute, Inc., 3009 Peters Way, San Diego, CA, 92117-4313 U.S.A.
E-mail: loglan@compuserve.com
Telephone: +1 (619) 270 1691.
[ Scientific American , June 1960].
(1999-01-14)

Loglan'82
language A teaching language including all the programming tools used in object-oriented programming, modular programming, and structured programming as well as programming by rules and functional programming.
Supported object-oriented programming features include classes, objects, coroutines, processes (in Loglan'82 processes are objects which are able to act in parallel), inheritance, exception handling, and dynamic arrays.
Loglan'82 is apparently unrelated to Loglan.
Home (http://www.univ-pau.fr/~salwicki/loghome.html).
A cross-compiler to C is here (ftp://infpc1.univ-pau.fr/pub/Loglan82).
[Related to Loglan-88?]
(1999-07-02)

Loglan-88
language An object-oriented language from the Institute of Informatics at Warsaw University.
Loglan-88 is apparently unrelated to Loglan.
[Loglan-88, Report on the Programming Language, LNCS 414, Springer-Verlag, 1990, ISBN 3-540-52325-1].
[Related to Loglan'82?]
(1997-08-01)

LOGLISP
A version of Prolog implemented by Robinson in Lisp which allows Prolog programs to call Lisp and vice versa.
[ LOGLISP: An Alternative to Prolog , J. Alan Robinson et al in Machine Intelligence 10, D. Michie ed, Ellis Horwood 1982].

LOGO
language, education A Lisp-like language for teaching programming, noted for its turtle graphics used to draw geometric shapes. LOGO was developed in 1966-1968 by a group at Bolt, Beranek Newman headed by Wally Fuerzeig fuerzeig@bbn.com and including Seymour Papert seymour@media.mit.edu .
There are Logo interpreters for Macintosh, Unix, IBM PC, X Window System, and many PCs. Implmentations include Berkeley Logo, MswLogo.
(2000-03-28)

LOGOL
Strings are stored on cyclic lists or 'tapes', which are operated upon by finite automata. J. Mysior et al, LOGOL, A String manipulation Language , in Symbol Manipulations Languages and Techniques, D.G. Bobrow ed, N-H 1968, pp.166-177.

logon
1. jargon login.
2. networking In ACF/VTAM, an unformatted session-initiation request for a session between two logical units.
(1996-03-07)

Lojban
Loglan

LOL
chat laughing out loud or lots of luck .
(1998-09-17)

LOLITA
Language for the On-Line Investigation and Transformation of Abstractions. Extension of Culler-Fried system for symbolic math. An On- line Symbol Manipulation System , F.W. Blackwell, Proc ACM 22nd Natl Conf (1967). Sammet 1969, p.464.

Lolli
(Named after the lollipop operator -o ) An interpreter for logic programming based on linear logic, written by Josh Hodas hodas@saul.cis.upenn.edu .
Lolli can be viewed as a refinement of the the Hereditary Harrop formulas of Lambda-Prolog. All the operators (though not the higher order unification) of Lambda-Prolog are supported, but with the addition of linear variations. Thus a Lolli program distinguishes between clauses which can be used as many, or as few, times as desired, and those that must be used exactly once. Lolli is implemented in SML/NJ.
(ftp://ftp.cis.upenn.edu/pub/Lolli/Lolli-0.7.tar.Z)
[Josh Hodas et al, Logic Programming in a Fragment of Intuitionistic Linear Logic , Information and Computation, to appear].
(1992-11-18)

LOM
language A programming language developed in Toulouse in the early 1980s for data processing.
(1996-03-01)

longitudinal parity
storage, communications An extra byte (or word) appended to a block of data in order to reveal corruption of the data. Bit n of this byte indicates whether there was an even or odd number of 1 bits in bit position n of the bytes in the block. The parity byte is computed by XORing the data bytes in the block. Longitudinal parity allows single bit errors to be detected.
(1996-03-01)

Longitudinal Redundancy Check
storage, communications (LRC, Block Redundancy Check) An error checking method that generates a longitudinal parity byte from a specified string or block of bytes on a longitudinal track.
The longitudinal parity byte is created by placing individual bytes of a string in a two-dimensional array and performing a Vertical Redundancy Check vertically and horizontally on the array, creating an extra byte. This is an improvement over the VRC because it will catch an odd number of errors in the individual characters of the string.
(2001-04-28)

LOOK
A specification language.
[ A Look at Algebraic Specifications , S.N. Zilles et al, IBM RR, 1982].
(1994-11-16)

look and feel
operating system The appearance and function of a program's user interface. The term is most often applied to graphical user interfaces (GUI) but might also be used by extension for a textual command language used to control a program.
Look and feel includes such things as the icons used to represent certain functions such as opening and closing files, directories and application programs and changing the size and position of windows; conventions for the meaning of different buttons on a mouse and keys on the keyboard; and the appearance and operation of menus.
A user interface with a consistent look and feel is considered by many to be an important factor in the ease of use of a computer system. The success of the Macintosh user interface was partly due to its consistency.
Because of the perceived importance of look and feel, there have been several legal actions claiming breech of copyright on the look and feel of user interfaces, most notably by Apple Computer against Microsoft and Hewlett-Packard (which Apple lost) and, later, by Xerox against Apple Computer. Such legal action attempts to force suppliers to make their interfaces inconsistent with those of other vendors' products. This can only be bad for users and the industry as a whole.
(1995-03-03)

Looking Glass
A desktop manager for Unix from Visix.

LOOKS
[ LOOKS: Knowledge-Representation System for Designing Expert Systems in a Logical Programming Framework , F. Mizoguchi, Proc Intl Conf 5th Gen Comp Sys, ICOT 1984].

loop
programming A sequence of instructions that the processor repeats, either until some condition is met, or indefinitely.
In an structured language (e.g. C, Pascal, BASIC, or Fortran), a loop is usually achieved with for loop, while loop or repeat loop constructs.
In other languages these constructs may be synthesised with a jump (assembly language) or a GOTO (early Fortran or BASIC).
(1999-05-06)

loop combination
A program transformation where the bodies of two loops are merged into one thus reducing the overhead of manipulating and testing the control variable and branching. Further optimisation of the merged code may then become possible.
In horizontal loop combination the bodies of the loops are largely independent so only the loop overhead is saved. Vertical loop combination applies where the results of the first loop are used by the second. Combining the two allows the intermediate results to be used immediately (in registers) rather than requiring them to be stored in an array.
The functional equivalent of horizontal and vertical loop combination are tupling and fusion.

loop fusion
See loop combination.

LOOPN
language, simulation, Petri net A compiler, simulator, and associated source control for an object-oriented Petri net language developed by Charles Lakos Charles.Lakos@adelaide.edu.au at the University of Tasmania. In LOOPN, a Petri net is an extension of a coloured timed Petri net. The extension means firstly that token types are classes. In other words, they consist of both data fields and functions, they can be declared by inheriting from other token types, and they can be used polymorphically. The object-oriented extensions also mean that module or subnet types are classes.
LOOPN has been developed over a period of about five years at the University of Tasmania, where it has been used in teaching computer simulation and the modelling of network protocols.
(ftp://ftp.cs.adelaide.edu.au/pub/OPN/loopn/).
(2000-09-02)

LOOPS
Lisp Object-oriented Programming System

loop through
To process each element of a list of things. Hold on, I've got to loop through my paper mail. Derives from the computer-language notion of an iterative loop; compare cdr down (under cdr), which is less common among C and Unix programmers. ITS hackers used to say IRP over after an obscure pseudo-op in the MIDAS PDP-10 assembler.
[Jargon File]

loose bytes
Commonwealth hackish term for the padding bytes or shims many compilers insert between members of a record or structure to cope with alignment requirements imposed by the machine architecture.

LOP
A language based on first-order logic.
[ SETHEO - A High-Perormance Theorem Prover for First-Order Logic , Reinhold Letz et al, J Automated Reasoning 8(2):183-212 (1992)].

lord high fixer
[Primarily British, from Gilbert Sullivan's Lord High Executioner ] The person in an organisation who knows the most about some aspect of a system. See wizard.
[Jargon File]

Lore
1. Object-oriented language for knowledge representation. Etude et Realisation d'un Language Objet: LORE , Y. Caseau, These, Paris-Sud, Nov 1987.
2. CGE, Marcoussis, France. Set-based language [same as 1?] E-mail: Christophe Dony chd.ibp.fr

Lorem ipsum
text (Or greek , greeking , greeked text ) A common piece of text used as mock-content when testing a given page layout or font. The most common bit of greek is:
Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This continues at length and variously. This is not really Greek, but badly garbled Latin. It started life as extracted phrases from sections 1.10.32 and 1.10.33 of Cicero's De Finibus et Malorum ( The Extremes of Good and Evil ), which read:
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
Translation:
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?
On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances and owing to the claims of duty or the obligations of business is will frequently occur that pleasures have to be repudiated and annoyances accepted. The wise man therefore always holds in these matters to this principle of selection: he rejects pleasures to secure other greater pleasures, or else he endures pains to avoid worse pains.
-- Translation by H. Rackham, from his 1914 edition of De Finibus.
However, since textual fidelity was unimportant to the goal of having random text to fill a page, it has degraded over the centuries, into Lorem ipsum... .
The point of using this text, or some other text of incidental intelligibility, is that it has a more-or-less normal (for English and Latin, at least) distribution of ascenders, descenders, and word-lengths, as opposed to just using abc 123 abc 123 , Content here content here , or the like.
(2000-04-03)

Lorenz attractor
mathematics (After Edward Lorenz, its discoverer) A region in the phase space of the solution to certain systems of (non-linear) differential equations. Under certain conditions, the motion of a particle described by such as system will neither converge to a steady state nor diverge to infinity, but will stay in a bounded but chaotically defined region. By chaotic, we mean that the particle's location, while definitely in the attractor, might as well be randomly placed there. That is, the particle appears to move randomly, and yet obeys a deeper order, since is never leaves the attractor.
Lorenz modelled the location of a particle moving subject to atmospheric forces and obtained a certain system of ordinary differential equations. When he solved the system numerically, he found that his particle moved wildly and apparently randomly. After a while, though, he found that while the momentary behaviour of the particle was chaotic, the general pattern of an attractor appeared. In his case, the pattern was the butterfly shaped attractor now known as the Lorenz attractor.
(1996-01-13)

lose
jargon (MIT) 1. To fail. A program loses when it encounters an exceptional condition or fails to work in the expected manner.
2. To be exceptionally unesthetic or crocky.
3. Of people, to be obnoxious or unusually stupid (as opposed to ignorant).
4. Refers to something that is losing, especially in the phrases That's a lose! and What a lose!
[Jargon File]
(1995-04-19)

loser
jargon An unexpectedly bad situation, program, programmer, or person. Someone who habitually loses. (Even winners can lose occasionally). Someone who knows not and knows not that he knows not. Emphatic forms are real loser , total loser , and complete loser (but not ** moby loser , which would be a contradiction in terms).
See luser.
[Jargon File]
(1995-04-19)

losing
jargon Said of anything that is or causes a lose or lossage.
[Jargon File]

loss
jargon Something (not a person) that loses; a situation in which something is losing. Emphatic forms include moby loss , and total loss , complete loss . Common interjections are What a loss! and What a moby loss! Note that moby loss is OK even though ** moby loser is not used; applied to an abstract noun, moby is simply a magnifier, whereas when applied to a person it implies substance and has positive connotations.
Compare lossage.
(1995-04-19)

lossage
jargon /los'*j/ The result of a bug or malfunction. This is a mass or collective noun. What a loss! and What lossage! are nearly synonymous. The former is slightly more particular to the speaker's present circumstances; the latter implies a continuing lose of which the speaker is currently a victim. Thus (for example) a temporary hardware failure is a loss, but bugs in an important tool (like a compiler) are serious lossage.
[Jargon File]
(1995-04-19)

lossless
algorithm, compression A term describing a data compression algorithm which retains all the information in the data, allowing it to be recovered perfectly by decompression.
Unix compress and GNU gzip perform lossless compression.
Opposite: lossy.
(1995-03-29)

lossless audio compression
audio, compression Any kind of audio compression in which the original signal and the decoded signal are bitwise identical. Lossless audio compression algorithms are usually based on a data compression algorithm like PKzip or gzip but specialized for PCM audio data. The signal is divided into predictable tonal components and unpredictable noisy components. Tonal components are stored as coefficients of a predictor, the remaining signal is coded by a Rice, Huffman, or arithmetic coder.
(2001-12-24)

Lossless Predictive Audio Compression
audio, compression (LPAC) A lossless audio compression algorithm with compression ratios from 1.5 to 4, depending on the input. Software is available for Microsoft Windows, Linux and Solaris. LPAC files (*.pac) can be played with a Winamp plug-in.
Home (http://www-ft.ee.tu-berlin.de/~liebchen/lpac.html).
(2001-12-17)

lossy
algorithm A term describing a data compression algorithm which actually reduces the amount of information in the data, rather than just the number of bits used to represent that information. The lost information is usually removed because it is subjectively less important to the quality of the data (usually an image or sound) or because it can be recovered reasonably by interpolation from the remaining data.
MPEG and JPEG are examples of lossy compression techniques.
Opposite: lossless.
(1995-03-29)

lossy audio compression
audio, compression Any audio compression algorithm which does not retain every bit of data but only reproduces a signal that sounds more or less like the original. Examples are MP1, MP2, MP3, AAC.
(2001-12-24)

lost in the noise
Synonym lost in the underflow. This term is from signal processing, where signals of very small amplitude cannot be separated from low-intensity noise in the system. Though popular among hackers, it is not confined to hackerdom; physicists, engineers, astronomers, and statisticians all use it.
[Jargon File]

lost in the underflow
jargon Too small to be worth considering; more specifically, small beyond the limits of accuracy or measurement. This is a reference to floating point underflow .
The Hacker's Jargon File claimed that it is also a pun on undertow (a kind of fast, cold current that sometimes runs just offshore and can be dangerous to swimmers).
Well, sure, photon pressure from the stadium lights alters the path of a thrown baseball, but that effect gets lost in the underflow .
Compare epsilon, epsilon squared; see also overflow bit.
(1997-09-05)

LOTIS
LOgic, TIming, Sequencing. A language which describes a computer via its data flow.
[Sammet 1969, p. 620].

LOTOS
Language Of Temporal Ordering Specification

lots of MIPS but no I/O
Used to describe a person who is technically brilliant but can't seem to communicate with human beings effectively. Technically it describes a machine that has lots of processing power but is bottlenecked on input-output (in 1991, the IBM Rios, a.k.a. RS/6000, is a notorious recent example).
[Jargon File]

Lotus 1-2-3
tool, product A spreadsheet for MS-DOS from Lotus Development Corporation. It can be programmed using macros and comes with a separate program to produce graphs and charts but this cannot be run at the same time as the spreadsheet. It has keyboard-driven pop-up menus as well as one-key commands, making it fast to operate. Lotus 1-2-3 supported EGA and later VGA graphics. Early versions used the filename extension WK1 .
Version: 4.
Lotus 1-2-3 has been the subject of several user interface copyright court cases in the US.
Home (http://www.nyweb.com/lotus/123.html)
1-2-3's successor, Symphony, had simultaneous update of spreadsheet, graph and word processor windows.
(1995-11-28)

Lotus Development Corporation
company A software company who produced Lotus 1-2-3, the Symphony spreadsheet and Lotus Notes for the IBM PC.
Disliked by the League for Programming Freedom on account of their lawsuits.
Quarterly sales $224M, profits $10M (Aug 1994).
Telephone: +1 (617) 225 1284.
[Where are they? Founded when? Other products? E-mail? Internet?]
(1994-11-16)

Lotus Notes
A group of application programs from Lotus Development Corporation which allows organisations to share documents and exchange electronic mail messages. Notes supports replication.
(1994-10-27)

Lout
Lout is a batch text formatting system and an embedded language by Jeffrey H. Kingston jeff@cs.su.oz.au . The language is procedural, with Scribe-like syntax.
Lout features equation formatting, tables, diagrams, rotation and scaling, sorted indexes, bibliographic databases, running headers and odd-even pages and automatic cross-referencing. Lout is easily extended with definitions which are very much easier to write than troff of TeX macros because Lout is a high-level language, the outcome of an eight-year research project that went back to the beginning.
Version 2.05 includes a translator from Lout to PostScript and documentation. and runs under Unix and on the Amiga.
Author's site (ftp://ftp.cs.su.oz.au/jeff/lout.2.03.tar.Z), (ftp://ftp.uu.net/tmp/lout.tar.Z). Amiga (ftp://ftp.wustl.edu/pub/aminet/text/dtp/loutBin203.lha).
(1993-07-30)

love
What many users feel for computers.
I don't really love computers, I just say that to get them into bed with me . (Terry Pratchet)
[What did you expect in a computing dictionary?]
(1995-05-10)

low-bandwidth
[communication theory] Used to indicate a talk that, although not content-free, was not terribly informative. That was a low-bandwidth talk, but what can you expect for an audience of suits! Compare zero-content, bandwidth, math-out.
[Jargon File]

low earth orbit
communications (LEO) The kind of orbit used by communications satellites that will offer high bandwidth for video on demand, television and other Internet communications. A satellite in LEO, in contrast to one in a geostationary orbit, is not in a fixed position relative the the Earth's surface so several satellites are required to provide continuous service.
[Ovum report, Applications for the superhighway , John Moroney].
(1996-02-06)

Lower Layer Protocol
networking, protocol (LLP, or lower-layer protocol) Any protocol residing in OSI layers one to four.
These protocols package, route, verify and transmit datagrams. A prime example would be TCP/IP. Lower layer protocols support the upper layer protocols.
(1999-02-17)

lower set
mathematics A finite non-empty downward closed subset of a partial order.
(1999-03-17)

Low Insertion Force
hardware (LIF) PGA/SPGA sockets with no handle. The integrated circuit is simply pushed into the socket, and levered out to remove. Most motherboard processor sockets are now ZIF rather than LIF.
(1999-08-05)

LOWL
language The abstract machine for bootstrapping ML/1, developed by P.J. Brown of the University of Kent at Canterbury.
[ Macro Processors and Techniques for Portable Software , P.J. Brown, published by Wiley, ISBN 0.471.11005.1].
[Mentioned in Machine Oriented Higher Level Languages , W. van der Poel, N-H 1974, p. 271].
[What does LOWL stand for?]
(1997-11-04)

low-level language
language Any programming language which either is assembly language, or which is meant to be closely related to, and easily translated into, machine language. Low-level languages lack the amenities of high-level languages but it may be possible to write more efficient code in them.
(2000-08-10)

low pass filter
electronics, graphics A filter that attenuates high frequency components of a signal.
In image processing, a low pass filter might be used to remove noise from an image.
(2000-04-19)

Low Voltage Differential
hardware (LVD) A method of driving SCSI cables that will be formalised in the SCSI-3 specifications. LVD uses less power than the current differential drive (HVD), is less expensive and will allow the higher speeds of Ultra-2 SCSI. LVD requires 3.3 Volts DC instead of 5 Volts DC for HVD.
(1999-02-16)

LPAC
1. audio, compression Lossless Predictive Audio Compression.
2. London Parallel Applications Centre.
(2001-12-17)

LPC
language A variant of C designed ca 1988 to program LP MUDs.
(1995-04-18)

LPF
League for Programming Freedom

LPG
1. Linguaggio Procedure Grafiche (Italian for Graphical Procedures Language ). dott. Gabriele Selmi. Roughly a cross between Fortran and APL, with graphical-oriented extensions and several peculiarities. Underlies the products of CAD.LAB Spa. Graphical Procedure Language User's Guide and Reference Manual , CAD.LAB, Bologna, Italy, 1989, order code GO89/9.
2. Langage de Programmation Generique. An applicative language, both specification and functional. Special emphasis on parametrised declarations. Design and Implementation of a Generic, Logic and Functional Programming Language , D. Bert et al, ESOP 86, LNCS 213, Springer 1986.

LPI
language A PL/I interpreter for IBM PCs and workstations.
(ftp://ftp.wustl.edu/mirrors/msdos/pli/runpli1a.arc).
E-mail: rcg@lpi.liant.com .
(1999-09-03)

LPL
List Programming Language. LISP-like language with ALGOL-like syntax, for IBM 360. LPL - LISP Programming Language , F.W. Blair et al, RC 3062, IBM TJWRC, Sep 1970.

lpm
lines per minute

LP MUD
games A kind of player-programmable multi-user adventure game.
[More details?]
See MUD.

lpr
Line printer. The Unix print command. This does not actually print files but rather copies (or links) them to a spool area from where a daemon copies them to the printer.

LPS
Sets with restricted universal quantifiers.
[ Logic Programming with Sets , G. Kuper, J Computer Sys Sci 41:44-64 (1990)].

lp spooler
printer A line printer spooler.
(2000-04-03)

LPT
/L-P-T/ or /lip'it/ or /lip-it'/ Line printer. Rare under Unix, more common among hackers who grew up with ITS, MS-DOS, CP/M and other operating systems that were strongly influenced by early DEC conventions.
[Jargon File]

lr
networking The country code for Liberia.
(1999-01-27)

LRC
Longitudinal Redundancy Check

LRLTRAN
Lawrence Radiation Laboratory TRANslator.
A Fortran extension with vector arithmetic and dynamic storage, used for scientific work and systems programming, including the LTSS operating system.
[ The LRLTRAN Compiler , S.F. Mendicino, CACM 11(11):747-775 (Nov 1969)].

LRU
Least Recently Used

ls
1. file system, tool The Unix command for listing a directory.
Unix manual page: ls(1).
2. networking The country code for Lesotho.
(2000-03-18)

LSA
Link State Advertisement

LSB
1. Least Significant Bit.
2. (Rarely) Least Significant Byte.

LSE
Language Sensitive Editor

LSL
1. Larch Shared Language. An assertion language. (See Larch).
2. Link and Selector Language. Graphic query language. LSL: A Link and Selector Language , D.C. Tsichritzis, Proc Intl Conf Management of Data, ACM 1976, pp.123-134.

LSML
Lazy Standard ML

L-Soft
An international corporation formed by Eric Thomas, the author of Listserv, to develop it and port it to platforms other than the IBM VM operating system, including Unix. Listserv has been enhanced to use both the Internet and BITNET.
(1995-02-22)

LSP
Label Switched Path

LSR
1. networking Label Switching Router.
2. operating system Local Shared Resources.
(2002-02-17)

LSSD
level-sensitive scan design

LSYD
Language for SYstems Development.
A PL/I-like language with data structure and character extensions.
[ Systems Programming Languages , R.D. Bergeron et al, in Advances in Computers 1971, A-P].
(1995-01-31)

lt
networking The country code for Lithuania.
(1999-01-27)

LT-2
An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-31)

LTL
Linear Temporal Logic

LTR
Langage Temps-Réel.
(French for real-time language ) A French predecessor to Ada, LTR is Modula-like with a set of special-purpose real-time constructs based on an event model. It was mentioned in the reference below.
[ An Overview of Ada , J.G.P. Barnes, Soft Prac Exp 10:851-887 (1980)].
(1995-01-31)

LTR3
Version three of LTR, by A. Parayre of Delegation Generale pour l'Armement, France. LTR3 was widely used by the French military and avionics companies.
[ The LTR3 Reference Manual , A. Parayre, Delegation Generale pour l'Armement, France].
(1995-01-31)

lu
networking The country code for Luxembourg.
(1999-01-27)

LU6.2
Logical Unit 6.2

lub
least upper bound

Lubarsky's Law of Cybernetic Entomology
humour There is always one more bug.
[Jargon File]
(2001-07-12)

Lucent Technologies
company, telecommunications, Unix, C The former systems and equipment portion of AT T (including Bell Laboratories), split off in 1996.
Home (http://www.lucent.com/).
(2002-06-23)

LUCID
1. Early query language, ca. 1965, System Development Corp, Santa Monica, CA. [Sammet 1969, p.701].
2. A family of dataflow languages descended from ISWIM, lazy but first-order.
Ashcroft Wadge wwadge@csr.uvic.ca , 1981.
They use a dynamic demand driven model. Statements are regarded as equations defining a network of processors and communication lines, through which the data flows. Every data object is thought of as an infinite stream of simple values, every function as a filter. Lucid has no data constructors such as arrays or records. Iteration is simulated with 'is current' and 'fby' (concatenation of sequences). Higher-order functions are implemented using pure dataflow and no closures or heaps.
[ Lucid: The Dataflow Language by Bill Wadge wwadge@csr.UVic.CA and Ed Ashcroft, c. 1985]. [ Lucid, the Dataflow Programming Language , W. Wadge, Academic Press 1985].
(1995-02-16)

Lucid Emacs
Xemacs

Lucinda
language A language which combines Russell-like polymorphism with Linda-like concurrency. Lucinda is implemented as a threaded interpreter written in C, for a Sun network and a Meiko Computing Surface.
[ Lucinda - An Overview , P. Butcher, U York et al, SIGPLAN Notices 26(8):90-100, Aug 1991].
E-mail: Alan Wood wood@cs.york.ac.uk .
(1996-08-20)

Lucy
language A distributed constraint programming language, which is an actor subset of Janus.
[ Actors as a Special Case of Concurrent Constraint Programming , K. Kahn kahn@parc.xerox.com et al, SIGPLAN Notices 25(10):57-66 (OOPSLA/ ECOOP '90), Oct 1990].
(2001-03-04)

LUG
Linux User Group

luminance
brightness

lump uncurrying
Chin's generalisation of uncurrying. A curried function taking several tuples as arguments can be transformed to take a single tuple containing all the components of the original tuples.

LUN
Logical Unit Number

lunatic fringe
[IBM] Customers who can be relied upon to accept release 1 versions of software.
[Jargon File]

Lund Simula
language A version of SIMULA from Lund Software House.
Version 4.07.
(FTP: rascal.ics.utexas.edu/misc/mac/programming/ no longer exists).
(1995-03-29)

Lund Software House AB
company The company who produced Lund Simula.
Address: Box 7056, S-22007 Lund, Sweden.
(1995-03-29)

lurk
lurking

lurker
lurking

lurking
messaging, jargon The activity of one of the silent majority in a electronic forum such as Usenet; posting occasionally or not at all but reading the group's postings regularly. This term is not pejorative and indeed is casually used reflexively: Oh, I'm just lurking . Often used in the lurkers , the hypothetical audience for the group's flamage-emitting regulars.
Lurking and reading the FAQ are recommended netiquette for beginners who need to learn the history and practises of the group before posting.
(1997-06-14)

luser
jargon, abuse /loo'zr/ A user; especially one who is also a loser. (luser and loser are pronounced identically.) This word was coined around 1975 at MIT.
Under ITS, when you first walked up to a terminal at MIT and typed Control-Z to get the computer's attention, it printed out some status information, including how many people were already using the computer; it might print 14 users , for example. Someone thought it would be a great joke to patch the system to print 14 losers instead. There ensued a great controversy, as some of the users didn't particularly want to be called losers to their faces every time they used the computer. For a while several hackers struggled covertly, each changing the message behind the back of the others; any time you logged into the computer it was even money whether it would say users or losers . Finally, someone tried the compromise lusers , and it stuck.
Later one of the ITS machines supported luser as a request-for-help command. ITS died the death in mid-1990, except as a museum piece; the usage lives on, however, and the term luser is often seen in program comments.
See: also LART. Compare: tourist, weenie.
[Jargon File]
(1998-07-01)

Luser Attitude Re-adjustment Tool
jargon (LART) Something large, heavy and painful, used to respond appropriately to particularly annoying lusers.
The alt.sysadmin.recovery FAQ recommends the following LARTs. A 2x4 works fine, but a real professional needs something a little more effective. Unfortunately, this is a very personal thing, and no consensus has yet been reached on the group. Everything from a simple, 7.65mm Walther (for the Bond fans only, it's not a very good gun) to a 155mm with depleted Uranium rounds has been suggested, some even going for exotic things like Thermite, nukes or flamethrowers. For further info, look at the rec.guns home page.
alt.sysadmin.recovery FAQ (http://www.ctrl-c.liu.se/~ingvar/asr/overview.html).
(1998-12-09)

LUSTRE
(A French acronym for Synchronous real-time Lucid). Real-time dataflow language for synchronous systems, especially automatic control and signal processing. A Lucid subset, plus timing operators and user-defined clocks.
Designed for automatic control applications. It is based on the idea that automatic control engineers use to analyse, and specify their systems in terms of functions over sequences (sampled signals). It thus seems both safe and cost effective to try to compile directly those descriptions into executable code. A lot of work has been done, so as to get efficient compilation, and also in formal verification. The language has been used in nuclear plant control, and will be used in aircraft control.
[ Outline of a Real-Time Data-Flow Language , J.-L. Bergerand et al, Proc IEE-CS Real Time Systems Symp, San Diego, IEEE Dec 1985, pp. 33-42].
[ LUSTRE: A Declarative Language for Programming Synchronous Systems , P. Caspi et al, Conf Rec 14th Ann ACM Symp on Princ Prog Langs, 1987].
(1994-10-12)

lv
networking The country code for Latvia.
(1999-01-27)

lvalue
programming A reference to a location, an expression which can appear as the destination of an assignment operator indicating where a value should be stored. For example, a variable or an array element are lvalues but the constant 42 and the expression i+1 are not. A constant string may or may not be an lvalue (it usually is in C).
(1995-04-28)

LVD
Low Voltage Differential

LWP
programming light-weight process.
(1996-02-22)

ly
networking The country code for Libya.
(1999-01-27)

LYaPAS
(Russian acronym for Logical Language for the Representation of Synthesis Algorithms )
A language for the URAL-1 computer. It was coded in octal!
[ LYaPAS: A Programming Language for Logic and Coding Algorithms , M.A. Gavrilov et al eds, Academic Press 1969].
(1995-02-16)

Lycos
World-Wide Web A World-Wide Web index, served by Carnegie Mellon University. It allows you to search on document title and content for a list of keywords. Lycos is probably the biggest such index on the web. By April 1995, the Lycos database contained 2.95 million unique documents.
The Lycos database is built by a Web crawler that can bring in 5000 documents per day. The index searches document title, headings, links, and keywords it locates in these documents.
The Lycos servers are efficient but overloaded. Failure to connect or please try later messages are common.
Home (http://lycos.cs.cmu.edu/)
(1995-04-06)

lynix
spelling Misspelling of Linux (the Unix clone), or possibly lynx (the World-Wide Web browser).
(1995-04-06)

LYNX
A language for large distributed networks, using remote procedure calls, developed by the University of Wisconsin in 1984.
[ The Lynx Distributed Programming Language: Motivation, Design and Experience , M.L. Scott, Computer Langs 16:209-233 (1991)].
(1994-10-12)

Lynx
1. A WWW browser from the University of Kansas for use on cursor-addressable, character cell terminals or terminals emulators under Unix or VMS. Lynx is a product of the Distributed Computing Group within Academic Computing Services of The University of Kansas. Lynx was originally developed by Lou Montulli, Michael Grobe and Charles Rezac. Garrett Blythe created DosLynx and later joined the Lynx effort as well. Foteos Macrides ported much of Lynx to VMS and is now maintaining it.
Version: 2.4-FM (1995-10-25).
Home (http://www.cc.ukans.edu/about_lynx/about_lynx.html)
Mailing list: lynx-dev@ukanaix.cc.ukans.edu (send subscribe lynx-dev your-name in the message body to listserv@ukanaix.cc.ukans.edu).
(1994-12-07)
2. Lynx Real-Time Systems.
(1996-03-25)

LynxOS
A POSIX compliant real-time operating system from Lynx Real-Time Systems. It has a Unix-like interface to application programs.
(1994-10-12)

Lynx Real-Time Systems
A company in Los Gatos, California who distribute LynxOS.
Home (http://lynx.com/)
E-mail: sales@lynx.com , support@lynx.com .
Address: 16780 Lark Avenue, Los Gatos, CA 95030, USA.
Telephone:: +1 (408) 354 7770, +1 (800) 255 LYNX. Fax: +1 (408) 354 7085.
(1995-01-18)

LYRIC
Language for Your Remote Instruction by Computer. A CAI language implemented as a Fortran preprocessor.
[ Computer Assisted Instruction: Specification of Attributes for CAI Programs and Programmers , G.M. Silvern et al, Proc ACM 21st Natl Conf (1966)].
(1994-10-12)

LZ77 compression
The first algorithm to use the Lempel-Ziv substitutional compression schemes, proposed in 1977. LZ77 compression keeps track of the last n bytes of data seen, and when a phrase is encountered that has already been seen, it outputs a pair of values corresponding to the position of the phrase in the previously-seen buffer of data, and the length of the phrase. In effect the compressor moves a fixed-size window over the data (generally referred to as a sliding window ), with the position part of the (position, length) pair referring to the position of the phrase within the window.
The most commonly used algorithms are derived from the LZSS scheme described by James Storer and Thomas Szymanski in 1982. In this the compressor maintains a window of size N bytes and a lookahead buffer , the contents of which it tries to find a match for in the window:
while (lookAheadBuffer not empty)

get a pointer (position, match) to the longest match in
the window for the lookahead buffer;
if (length MINIMUM_MATCH_LENGTH)

output a (position, length) pair;
shift the window length characters along;

else

output the first character in the lookahead buffer;
shift the window 1 character along;

Decompression is simple and fast: whenever a (POSITION, LENGTH) pair is encountered, go to that POSITION in the window and copy LENGTH bytes to the output.
Sliding-window-based schemes can be simplified by numbering the input text characters mod N, in effect creating a circular buffer. The sliding window approach automatically creates the LRU effect which must be done explicitly in LZ78 schemes. Variants of this method apply additional compression to the output of the LZSS compressor, which include a simple variable-length code (LZB), dynamic Huffman coding (LZH), and Shannon-Fano coding (ZIP 1.x), all of which result in a certain degree of improvement over the basic scheme, especially when the data are rather random and the LZSS compressor has little effect. An algorithm was developed which combines the ideas behind LZ77 and LZ78 to produce a hybrid called LZFG. LZFG uses the standard sliding window, but stores the data in a modified trie data structure and produces as output the position of the text in the trie. Since LZFG only inserts complete *phrases* into the dictionary, it should run faster than other LZ77-based compressors.
All popular archivers (arj, lha, zip, zoo) are variations on LZ77.
[comp.compression FAQ].
(1995-04-07)

LZ78 compression
A substitutional compression scheme which works by entering phrases into a dictionary and then, when a reoccurrence of that particular phrase is found, outputting the dictionary index instead of the phrase. Several algorithms are based on this principle, differing mainly in the manner in which they manage the dictionary.
The most well-known Lempel-Ziv scheme is Terry Welch's Lempel-Ziv Welch variant of LZ78.
[comp.compression FAQ].

LZ compression
Lempel-Ziv compression

lzexe
An executable file compression utility for MS-DOS. It adds a minimal header to the executable to decompress it when it is executed. See also pklite.

lzh
filename extension The filename extension for a file produced by the LHA program.
(1995-04-03)

LZH compression
algorithm (After Lempel-Ziv and Haruyasu, the inventors) A compression algorithm derived from the LZSS scheme with a sliding window and additional compression applied to the output of the LZSS compressor by dynamic Huffman coding.
(1995-04-07)

LZW compression
Lempel-Ziv Welch compression

1. Alternative name for MUMPS.
2. A C-like language from Silicon Compiler Systems for multilevel hardware description. It is currently available in the GDT package from Mentor Graphics.
[Jargon File]
(1994-10-26)
3. unit The abbreviated for of mega-.
(1995-01-10)

m2
A Modula-2 compiler for VAX and MIPS. A Pascal compiler for VAX is also included. The Pascal compiler accepts a language that is almost identical to Berkeley Pascal. It was originally designed and built by Michael L. Powell in 1984. Joel McCormack made it faster, fixed lots of bugs, and swiped/wrote a User's Manual. Len Lattanzi ported it to the MIPS.
It has the following extensions: foreign function and data interface, dynamic array variables, subarray parameters, multi-dimensional open array parameters, inline procedures, longfloat type, type-checked interface to C library I/O routines.
It runs on VAX (Ultrix, BSD) and MIPS (Ultrix).
(ftp://gatekeeper.dec.com/pub/DEC/Modula-2/m2.tar.Z).
E-mail: modula-2@decwrl.pa.dec.com .
(1992-07-06)

M2toM3
A simple Modula-2 to Modula-3 translator by Peter Klein pk@i3.informatik.rwth-aachen.de which covers most of the syntactic differences between those languages. No context sensitive analysis is done, so WITH statements, local modules, enumeration type literals and variant RECORDS have to be dealt with by hand. Part of the Sun Modula 2 library is emulated by the Modula 3 library.
Version 1.01.
(ftp://martha.informatik.rwth-aachen.de/pub/Modula3)
(1992-12-01)

M3
A macro processor, forerunner of M4, for the AP-3 minicomputer.

m4
A macro processor for Unix and GCOS which is more flexible than cpp. m4 copies its input to the output, expanding macros which can be either built-in or user-defined. m4 has built-in functions for including files, running Unix commands, doing integer arithmetic, manipulating text in various ways and recursing. m4 can be used either as a front-end to a compiler or as a stand-alone tool.
sendmail's configuration file (/etc/sendmail.cf) is writen in m4 macros.
There is a GNU m4 v1.1 (ftp://gnu.org/pub/gnu/m4-1.0.tar.Z) by Francois Pinard pinard@iro.umontreal.ca and a public domain version by Ozan Yigit oz@sis.yorku.ca and Richard A. O'Keefe ok@goanna.cs.rmit.OZ.AU (FTP from any 386BSD, NetBSD or FreeBSD archive). A Macintosh version is here (ftp://nic.switch.ch/pub/software/mac/src/mpw-c/).
See also m3, m5.
[ The M4 Macro Processor , Kernighan Ritchie, Jul 1977].

M5
Macro processor, a generalisation of M4 by A. Dain, U Cincinnati, 1992. For Unix and DOS.
(ftp://thor.exe.u.edu/pub/dain/m5)

ma
networking The country code for Morocco.
(1999-01-27)

MAC
1. Media Access Control.
2. Early system on Ferranti Mercury. Listed in CACM 2(5):16 (May 1959).

Mac
Macintosh

Mac-1
language The assembly language used in the book cited below.
See Mic-1.
[ Structured Computer Organization , A.S. Tanenbaum, 3rd Edition, P-H 1989, Sect. 4.3].
(1996-04-07)

MAC-360
A system for solving numerical problems using equation-like input. Developed around 1967.
[ User's Guide to MAC-360 , Charles Stark Draper Lab, Cambridge MA (Aug 1973)].
[Sammet 1969, p. 264].

MAC address
The hardware address of a device connected to a shared network medium. See also Media Access Control.

MACAnalyst
An analysis CASE tool for the Macintosh from Excel Software, Inc.

Macaulay
A symbolic mathematics package for commutative algebra, algebraic geometry and cohomology, written in C by Mike Stillman mike@mssun7.msi.cornell.edu and Dave Bayer bayer@cUnixa.columbia.edu in 1977. Version 3 runs on Sun, Macintosh and Amiga.
(ftp://zariski.harvard.edu/)
(1994-10-12)

MacBinary
file format An eight-bit wide representation of the data and resource forks of an Macintosh file and of relevant Finder information. MacBinary files are recognised as special by several MacIntosh terminal emulators. These emulators, using Kermit or XMODEM or any other file transfer protocol, can separate the incoming file into forks and appropriately modify the Desktop to display icons, types, creation dates, and the like.
(1995-03-08)

MACDesigner
A design CASE tool for the Mac from Excel Software, Inc.

macdink
/mak'dink/ To make many incremental and unnecessary cosmetic changes to a program or file. Often the subject of the macdinking would be better off without them. The Macintosh is said to encourage such behaviour.
See also fritterware, window shopping.
[Jargon File]
(1994-11-22)

MACE
A concurrent object-oriented language.

Mach
An operating system kernel under development at Carnegie-Mellon University to support distributed and parallel computation. Mach is designed to support computing environments consisting of networks of uniprocessors and multiprocessors. Mach is the kernel of the OSF/1.

Machiavelli
An extension of Standard ML developed by Peter Buneman Atsushi Ohori of the University of Pennsylvania in 1989, based on orthogonal persistence.
[ Database Programming in Machiavelli: A Polymorphic Language with Static Type Inference , A. Ohori, Proc SIGMOD Conf, ACM, June 1989].
(1995-02-21)

machinable
Machine-readable. Having the softcopy nature.
[Jargon File]

machine
Common term for computer , usually when considered at the hardware level. The Turing Machine, an early example of this usage, was however neither hardware nor software, but only an idea.
[Earlier use?]
(1995-02-15)

machine code
The representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions (possibly interspersed with data). Instructions are binary strings which may be either all the same size (e.g. one 32-bit word for many modern RISC microprocessors) or of different sizes, in which case the size of the instruction is determined from the first word (e.g. Motorola 68000) or byte (e.g. Inmos transputer). The collection of all possible instructions for a particular computer is known as its instruction set .
Execution of machine code may either be hard-wired into the central processing unit or it may be controlled by microcode. The basic execution cycle consists of fetching the next instruction from main memory, decoding it (determining which operation it specifies and the location of any arguments) and executing it by opening various gates (e.g. to allow data to flow from main memory into a CPU register) and enabling functional units (e.g. signalling to the ALU to perform an addition).
Humans almost never write programs directly in machine code. Instead, they use a programming language which is translated by the computer into machine code. The simplest kind of programming language is assembly language which usually has a one-to-one correspondence with the resulting machine code instructions but allows the use of mnemonics (ASCII strings) for the op codes (the part of the instruction which encodes the basic type of operation to perform) and names for locations in the program (branch labels) and for variables and constants.
(1995-02-15)

machine cycle
processor The four steps which the CPU carries out for each machine language instruction: fetch, decode, execute, and store. These steps are performed by the control unit, and may be fixed in the logic of the CPU or may be programmed as microcode which is itself usually fixed (in ROM) but may be (partially) modifiable (stored in RAM).
The fetch cycle places the current program counter contents (the address of the next instruction to execute) on the address bus and reads in the word at that location into the instruction register (IR). In RISC CPUs instructions are usually a single word but in other architectures an instruction may be several words long, necessitating several fetches.
The decode cycle uses the contents of the IR to determine which gates should be opened between the CPU's various functional units and busses and what operation the ALU(s) should perform (e.g. add, bitwise and). Each gate allows data to flow from one unit to another (e.g. from register 0 to ALU input 1) or enables data from one output onto a certain bus. In the simplest case ( horizontal encoding ) each bit of the instruction register controls a single gate or several bits may control the ALU operation. This is rarely used because it requires long instruction words (such an architecture is sometimes called a very long instruction word architecture). Commonly, groups of bits from the IR are fed through decoders to control higher level aspects of the CPU's operation, e.g. source and destination registers, addressing mode and ALU operation. This is known as vertical encoding. One way RISC processors gain their advantage in speed is by having simple instruction decoding which can be performed quickly.
The execute cycle occurs when the decoding logic has settled and entails the passing of values between the various function units and busses and the operation of the ALU. A simple instruction will require only a single execute cycle whereas a complex instruction (e.g. subroutine call or one using memory indirect addressing) may require three or four. Instructions in a RISC typically (but not invariably) take only a single cycle.
The store cycle is when the result of the instruction is written to its destination, either a register or a memory location. This is really part of the execute cycle because some instructions may write to multiple destinations as part of their execution.
(1995-04-13)

machine language
machine code

machine learning
The ability of a machine to improve its performance based on previous results.
Neural networks are one kind of machine learning.
[More examples? Net resources? Web page?]
(1995-02-15)

Mach Interface Generator
tool, programming (MIG) An implementation of a subset of Matchmaker that generates C and C++ remote procedure call interfaces for interprocess communication between Mach tasks.
[ MIG - The Mach Interface Generator , R.P. Draves et al, CS CMU, (1989-08-4)].
(1994-11-22)

machoflops
/mach'oh-flops/ A pun on megaflops referring to the inflated performance figures often quoted by computer manufacturers. Real application programs are lucky to get half the quoted speed.
See Your mileage may vary, benchmark.
[Jargon File]
(1995-02-15)

Mac II
Macintosh II

Mac IIcx
Macintosh IIcx

Macintosh
computer (Mac) A range of single user, 32-bit personal computers manufactured by Apple Computer, Inc., originally based on the Motorola 68000 microprocessor family and a proprietary operating system. The Mac was Apple's successor to the Lisa.
The project was proposed by Jef Raskin some time before Steve Jobs's famous visit to Xerox PARC. Jobs tried to scuttle the Macintosh project and only joined it later because he wasn't trusted to manage the Lisa project.
The Macintosh user interface was notable for popularising the graphical user interface, with its easy to learn and easy to use desktop metaphor.
The Macintosh Operating System is now officially called Mac OS.
The first Macintosh, introduced in January 1984, had a Motorola 68000 CPU, 128K of RAM, a small monochrome screen, and one built-in floppy disk drive with an external slot for one more, two serial ports and a four-voice sound generator. This was all housed in one small plastic case, including the screen. When more memory was available later in the year, a 512K Macintosh was nicknamed the Fat Mac.
The standard Macintosh screen resolution is 72 dpi (making one point = one pixel), exactly half the 144 dpi resolution of the ancient Apple Imagewriter dot matrix printer.
The Mac Plus (January 1986) added expandability by providing an external SCSI port for connecting hard disks, magnetic tape, and other high-speed devices.
The Mac SE (March 1987) had up to four megabytes of RAM, an optional built-in 20 megabyte hard disk and one internal expansion slot for connecting a third-party device.
The Mac II (March 1987) used the faster Motorola 68020 CPU with a 32-bit bus.
In 1994 PowerPC based Macs, PowerMacs, were launched, and in 1999, the iMac, updated on 2002-01-07. PowerMacs clocked at over 1GHz were planned for 2002-01-22, to be followed by dual 1GHz processors and Superdrive (combined DVD-ROM, DVD-RW, CD-ROM, CD-RW).
If Macintosh were an acronym, some say it would stand for Many Applications Crash, If Not, The Operating System Hangs . While this was true for pre Mac OS 9 systems, it is less true for Mac OS 9, and totally incorrect for Mac OS X, which has protected memory, so even if one application crashes, the system and other applications are unaffected.
See also Macintosh file system, Macintosh user interface.
Brock Kyle's Macintosh Guide Book (http://www.everymac.com/).
(2002-06-21)

Macintosh Common Lisp
language (MCL) Common Lisp for the Apple Macintosh.
Guillaume Cartier, of the Mathematics Department at UQAM, Canada, has written some libraries.
Latest version: 1.2.
(ftp://cambridge.apple.com/pub/mcl2/contrib/)
(1992-11-30)

Macintosh file system
file system A file on the Macintosh consists of two parts, called forks. The data fork contains the data which would normally be stored in the file on other operating systems. The resource fork contains a collection of arbitrary attribute/value pairs, including program segments, icon bitmaps, and parametric values. Yet more information regarding Macintosh files is stored by the Finder in a hidden file, called the Desktop Database .
Because of the complications in storing different parts of a Macintosh file in non-Macintosh file systems that only handle consecutive data in one part, it is common to only send the Data fork or to convert the Macintosh file into some other format before transferring it.
(1996-03-03)

Macintosh II
computer (Mac II) A version of Apple's Macintosh personal computer, released in March 1987, using the Motorola 68020 CPU, which runs at a higher clock rate than the Motorola 68000 used in the original Mac. The Mac II has a full 32-bit data bus instead of a 16-bit bus. Mac II models have built-in 40 to 160 megabyte hard disks and can take up to eight megabytes of RAM (and more as denser memory chips arive).
The Mac II was the first Macintosh to provide a colour graphics option, with up to 256 colours on screen at a 640x480 resolution. Mac II models are designed for expandability with three (Macintosh IIcx) or six (II IIx) built-in NuBus expansion slots for additional peripheral and coprocessor boards.
(1996-05-25)

Macintosh IIcx
computer (Mac IIcx) A version of Apple's Macintosh II personal computer, introduced in 1989, with a Motorola 68030 processor running at 16 MHz and up to 128 MB of RAM (120 ns, 30-pin DRAM chips). The IIcx requires System 6.0.3 or later and requires Mode 32 or 32-bit Enabler to use more than 8MB of RAM. It was discontinued 1991, and in 1996 is still considered one of the best-designed Macs ever.
(1996-05-25)

Macintosh Operating System
operating system (Mac OS) Apple Computer, Inc.'s proprietary operating system for their Macintosh family of personal computers.
The part of the operating system that simulates the desktop is called Finder. The multitasking version of Finder was called MultiFinder until multitasking was integrated into the core of the OS with the introduction of System 7.0 in 1990.
The Macintosh series provides a built-in graphics language, called QuickDraw , which provides a standard for software developers.
Mac OS 8, scheduled for delivery in July 1997, contains a number of significant improvements, including new human-interface features, increased system stability and performance, a PowerPC processor-native Finder, tighter integration of Internet access through panel-based assistants, Personal Web Sharing, and the ability to run Java applets and programs through Mac OS Run Time for Java.
Mac OS X ( X for 10) is based on FreeBSD. Apple released the kernel of Mac OS X Server as darwin , under an open source license.
See also Macintosh file system, Macintosh user interface.
(2002-06-29)

Macintosh user interface
operating system The graphical user interface used by Apple Computer's Macintosh family of personal computers, based on graphical representations of familiar office objects (sheets of paper, files, wastepaper bin, etc.) positioned on a two-dimensional desktop workspace.
Programs and data files are represented on screen by small pictures (icons). An object is selected by moving a mouse over the real desktop which correspondingly moves the pointer on screen. When the pointer is over an icon on screen, the icon is selected by pressing the button on the mouse.
A hierarchical file system is provided that lets a user drag a document (a file) icon into and out of a folder (directory) icon. Folders can also contain other folders and so on. To delete a document, its icon is dragged into a trash can icon. For people that are not computer enthusiasts, managing files on the Macintosh is easier than using the MS-DOS or Unix command-line interpreter.
The Macintosh always displays a row of menu titles at the top of the screen. When a mouse button is pressed over a title, a pull-down menu appears below it. With the mouse button held down, the option within the menu is selected by pointing to it and then releasing the button.
Unlike the IBM PC, which, prior to Microsoft Windows had no standard graphical user interface, Macintosh developers almost always conform to the Macintosh interface. As a result, users are comfortable with the interface of a new program from the start even if it takes a while to learn all the rest of it. They know there will be a row of menu options at the top of the screen, and basic tasks are always performed in the same way. Apple also keeps technical jargon down to a minimum.
Although the Macintosh user interface provides consistency; it does not make up for an application program that is not designed well. Not only must the application's menus be clear and understandable, but the locations on screen that a user points to must be considered. Since the mouse is the major selecting method on a Macintosh, mouse movement should be kept to a minimum. In addition, for experienced typists, the mouse is a cumbersome substitute for well-designed keyboard commands, especially for intensive text editing.
Urban legned has it that the Mac user interface was copied from Xerox's Palo Alto Research Center. Although it is true that Xerox's smalltalk had a GUI and Xerox introduced some GUI concepts commercially on the Xerox Star computer in 1981, and that Steve Jobs and members of the Mac and Lisa project teams visited PARC, Jef Raskin, who created the Mac project, points out that many GUI concepts which are now considered fundamental, such as dragging objects and pull-down menus with the mouse, were actually invented at Apple.
Pull-down menus have become common on IBM, Commodore and Amiga computers. Microsoft Windows and OS/2 Presentation Manager, Digital Research's GEM, Hewlett-Packard's New Wave, the X Window System, RISC OS and many other programs and operating environments also incorporate some or all of the desktop/mouse/icon features.
Apple Computer have tried to prevent other companies from using some GUI concepts by taking legal action against them. It is because of such restrictive practises that organisations such as the Free Software Foundation previously refused to support ports of their software to Apple machines, though this ban has now been lifted. [Why? When?]
(1996-07-19)

Macintoy
/mak'in-toy/ The Apple Macintosh, considered as a toy. Less pejorative than Macintrash.
[Jargon File]

Macintrash
/mak'in-trash / The Apple Macintosh, as described by a hacker who doesn t appreciate being kept away from the *real computer* by the interface. The term maggotbox has been reported in regular use in the Research Triangle area of North Carolina. Compare Macintoy.
See also beige toaster, WIMP environment, point-and-drool interface, drool-proof paper, user-friendly.
(1995-05-02)

MACL
Macintosh Allegro CL.
E-mail: info-macl@cambridge.apple.com .

MacLisp
A dialect of Lisp developed at MIT AI Lab in 1966, known for its efficiency and programming facilities. Later used by Project MAC, Mathlab and Macsyma. Ran on the PDP-10. Introduced the LEXPR (a function with variable arity), macros, arrays, and CATCH/THROW. Was once one of two main branches of LISP (the other being Interlisp). In 1981 Common LISP was begun in an effort to combine the best features of both.
[ MACLISP Reference Manual , D.A. Moon moon@cambridge.apple.com , TR Project MAC, MIT 1974].

MacMinix
operating system The Macintosh version of MINIX.
[Details? URL?]
(1997-06-17)

Mac OS
Macintosh Operating System

Mac Playmate
games An early (~1985) example of a pornographic computer game. Mac Playmate runs on the Macintosh and involves trying to stimulate a simulated woman to orgasm by applying various implements to her erogenous zones.
(2002-03-08)

MacPPP
networking An implementation of PPP for the Macintosh developed by Larry J. Blunk and others at Merit Network, Inc. MacPPP was revised in 1993 with the release of MacPPP 2.0.1. The latest incarnation of MacPPP is FreePPP.
(2000-11-25)

MACRO
1. Assembly language for VAX/VMS.
2. PL/I-like language with extensions for string processing. MACRO: A Programming Language , S.R. Greenwood, SIGPLAN Notices 14(9):80-91 (Sep 1979).
[Jargon File]

macro
A name (possibly followed by a formal argument list) that is equated to a text or symbolic expression to which it is to be expanded (possibly with the substitution of actual arguments) by a macro expander.
The term macro originated in early assemblers, which encouraged the use of macros as a structuring and information-hiding device. During the early 1970s, macro assemblers became ubiquitous, and sometimes quite as powerful and expensive as HLLs, only to fall from favour as improving compiler technology marginalised assembly language programming (see languages of choice). Nowadays the term is most often used in connection with the C preprocessor, Lisp, or one of several special-purpose languages built around a macro-expansion facility (such as TeX or Unix's troff suite).
Indeed, the meaning has drifted enough that the collective macros is now sometimes used for code in any special-purpose application control language (whether or not the language is actually translated by text expansion), and for macro-like entities such as the keyboard macros supported in some text editors (and PC TSRs or Macintosh INIT/CDEV keyboard enhancers).
(1994-12-06)

macro-
Prefix large. Opposite of micro-. In the mainstream and among other technical cultures (for example, medical people) this competes with the prefix mega-, but hackers tend to restrict the latter to quantification.
[Jargon File]

macrology
/mak-rol'*-jee/ 1. Set of usually complex or crufty macros, e.g. as part of a large system written in Lisp, TECO, or (less commonly) assembler.
2. The art and science involved in comprehending a macrology. Sometimes studying the macrology of a system is not unlike archaeology, ecology, or theology, hence the sound-alike construction. See also boxology.

Macromedia
A company supplying multimedia and interactive television services and digital arts software tools in the US and worldwide. They produce products for Microsoft Windows and the Macintosh including: Macromedia FreeHand, a tool for design and illustration; Macromedia Director, an animation and authoring tool for multimedia production; Authorware Professional, a multiplatform authoring tool for interactive learning; MacroModel, a 3D modelling tool for multimedia, graphics and product design; SoundEdit 16, a digital sound recording and editing system; Fontographer, a typeface editing programme; and Action!, a multimedia presentation application.
Chief Executive Officer: Bud Colligan.
(1995-01-10)

Macro SAP
Macro processing modification of SAP. D.E. Eastwood and D.M. McIlroy, unpublished memorandum, Bell Labs 1959. Led to TRAC.

macrotape
storage /mak'roh-tayp/ An industry-standard reel of magnetic tape, as opposed to a microtape.
See also round tape.
[Jargon File]
(1994-10-20)

MACSYMA
Project MAC's SYmbolic MAnipulator. The first comprehensive symbolic mathematics system, written in Lisp by Joel Moses moses@larch.lcs.mit.edu of MIT in 1969, later Symbolics, Inc.
Versions include Symbolics Macsyma, DOE Maxima (ANL, in Common LISP) and Vaxima.
(ftp://rascal.ics.utexas.edu/pub/maxima-4-155.tar.Z). E-mail: macsyma-service@symbolics.com .
[ MACSYMA - The Fifth Year , J. Moses, SIGSAM Bulletin 8(3) (Aug 1974)].
(1994-11-01)

MacTCP
networking Part of earlier versions of MacOS that provided access to TCP/IP services. Apple removed MacTCP from MacOS in revision 7.5.3 in favor of the new OpenTransport (OT) TCP/IP stack. However, MacTCP lives on as a community development effort.
See also MacPPP.
[How did it work? Where was it from?]
(2000-06-25)

MacX
A package allowing the Macintosh to be used as an X server.

MAD
language 1. Michigan Algorithm Decoder.
2. A data flow language.
[ Implementation of Data Structures on a Data Flow Computer , D.L. Bowen, Ph.D. Thesis, Victoria U Manchester, Apr 1981].
(1999-12-10)

Mad/1
language A later, much enhanced version of Michigan Algorithm Decoder (MAD), for the IBM 360. Mad/1 was University of Michigan's answer to PL/I.
(1999-12-10)

Madaline
A structure of many ADALINE units.

MADCAP
Math and set problems, for the Maniac II and CDC 6600. MADCAP - A Scientific Compiler for a Displayed Formula Texbook Language , M.B. Wells, CACM 4(1):31-36 (Jan 1961). Sammet 1969, pp.271-281. Versions: Madcap 5 (1964), Madcap 6. The Unified Data Structure Capability in Madcap 6 , M.B. Wells et al, Intl J Comp Info Sci 1(3) (sep 1972).

MADTRAN
Early preprocessor that translated Fortran to MAD, for gain in speed.

maggotbox
abuse /mag'*t-boks/ An even more derogatory term than Macintrash.
[Jargon File]
(1995-01-25)

MAGIC
An early system on the Midac computer.
[Listed in CACM 2(5):16 (May 1959)].
[Jargon File]
(1995-01-25)

magic
1. As yet unexplained, or too complicated to explain; compare automagically and (Arthur C.) Clarke's Third Law:
Any sufficiently advanced technology is indistinguishable from magic.
TTY echoing is controlled by a large number of magic bits. This routine magically computes the parity of an 8-bit byte in three instructions.
2. Characteristic of something that works although no one really understands why (this is especially called black magic).
3. (Stanford) A feature not generally publicised that allows something otherwise impossible or a feature formerly in that category but now unveiled.
Compare wizardly, deep magic, heavy wizardry.
For more about hackish magic see Magic Switch Story.
4. magic number.
[Jargon File]
(2001-03-19)

magic bullet
jargon (Or silver bullet from vampire legends) A term widely used in software engineering for a supposed quick, simple cure for some problem. E.g. There's no silver bullet for this problem .
(1999-01-13)

magic cookie
1. Something passed between routines or programs that enables the receiver to perform some operation; a capability ticket or opaque identifier. Especially used of small data objects that contain data encoded in a strange or intrinsically machine-dependent way. E.g. on non-Unix operating systems with a non-byte-stream model of files, the result of ftell may be a magic cookie rather than a byte offset; it can be passed to fseek , but not operated on in any meaningful way. The phrase it hands you a magic cookie means it returns a result whose contents are not defined but which can be passed back to the same or some other program later.
2. An in-band code for changing graphic rendition (e.g. inverse video or underlining) or performing other control functions. Some older terminals would leave a blank on the screen corresponding to mode-change magic cookies; this was also called a glitch (or occasionally a turd ; compare mouse droppings).
See also cookie.
[Jargon File]
(1995-01-25)

magic number
jargon, programming 1. In source code, some non-obvious constant whose value is significant to the operation of a program and that is inserted inconspicuously in-line (hard-coded), rather than expanded in by a symbol set by a commented #define . Magic numbers in this sense are bad style.
2. A number that encodes critical information used in an algorithm in some opaque way. The classic examples of these are the numbers used in hash or CRC functions or the coefficients in a linear congruential generator for pseudo-random numbers. This sense actually predates, and was ancestral to, the more common sense 1.
3. Special data located at the beginning of a binary data file to indicate its type to a utility. Under Unix, the system and various applications programs (especially the linker) distinguish between types of executable file by looking for a magic number. Once upon a time, these magic numbers were PDP-11 branch instructions that skipped over header data to the start of executable code; 0407, for example, was octal for branch 16 bytes relative . Nowadays only a wizard knows the spells to create magic numbers. How do you choose a fresh magic number of your own? Simple - you pick one at random. See? It's magic!
*The* magic number, on the other hand, is 7+/-2. See The magical number seven, plus or minus two: some limits on our capacity for processing information by George Miller, in the Psychological Review 63:81-97 (1956). This classic paper established the number of distinct items (such as numeric digits) that humans can hold in short-term memory. Among other things, this strongly influenced the interface design of the phone system.
[Jargon File]
(1995-01-25)

Magic Paper
An early interactive symbolic mathematics system.
[Sammet 1969, p. 510].
(1995-01-25)

magic smoke
electronics, humour A substance trapped inside integrated circuit packages that enables them to function (also called blue smoke ; this is similar to the archaic phlogiston hypothesis about combustion). Its existence is demonstrated by what happens when a chip burns up - the magic smoke gets let out, so it doesn't work any more.
See Electing a Pope, smoke test.
Usenetter Jay Maynard tells the following story:
Once, while hacking on a dedicated Zilog Z80 system, I was testing code by blowing EPROMs and plugging them in the system, then seeing what happened. One time, I plugged one in backwards. I only discovered that *after* I realised that Intel didn't put power-on lights under the quartz windows on the tops of their EPROMs - the die was glowing white-hot. Amazingly, the EPROM worked fine after I erased it, filled it full of zeros, then erased it again. For all I know, it's still in service. Of course, this is because the magic smoke didn't get let out.
Compare the original phrasing of Murphy's Law.
[Jargon File]
(1995-01-25)

Magic Switch Story
Some years ago, I was snooping around in the cabinets that housed the MIT AI Lab's PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab's hardware hackers (no-one knows who).
You don't touch an unknown switch on a computer without knowing what it does, because you might crash the computer. The switch was labelled in a most unhelpful way. It had two positions, and scrawled in pencil on the metal switch body were the words magic and more magic . The switch was in the more magic position.
I called another hacker over to look at it. He had never seen the switch before either. Closer examination revealed that the switch had only one wire running to it! The other end of the wire did disappear into the maze of wires inside the computer, but it's a basic fact of electricity that a switch can't do anything unless there are two wires connected to it. This switch had a wire connected on one side and no wire on its other side.
It was clear that this switch was someone's idea of a silly joke. Convinced by our reasoning that the switch was inoperative, we flipped it. The computer instantly crashed.
Imagine our utter astonishment. We wrote it off as coincidence, but nevertheless restored the switch to the more magic position before reviving the computer.
A year later, I told this story to yet another hacker, David Moon as I recall. He clearly doubted my sanity, or suspected me of a supernatural belief in the power of this switch, or perhaps thought I was fooling him with a bogus saga. To prove it to him, I showed him the very switch, still glued to the cabinet frame with only one wire connected to it, still in the more magic position. We scrutinized the switch and its lone connection, and found that the other end of the wire, though connected to the computer wiring, was connected to a ground pin. That clearly made the switch doubly useless: not only was it electrically nonoperative, but it was connected to a place that couldn't affect anything anyway. So we flipped the switch.
The computer promptly crashed.
This time we ran for Richard Greenblatt, a long-time MIT hacker, who was close at hand. He had never noticed the switch before, either. He inspected it, concluded it was useless, got some diagonal cutters and diked it out. We then revived the computer and it has run fine ever since.
We still don't know how the switch crashed the machine. There is a theory that some circuit near the ground pin was marginal, and flipping the switch changed the electrical capacitance enough to upset the circuit as millionth-of-a-second pulses went through it. But we'll never know for sure; all we can really say is that the switch was magic.
I still have that switch in my basement. Maybe I'm silly, but I usually keep it set on more magic .
GLS
(1995-02-22)

Magma
symbolic mathematics, tool A program used for heavy duty algebraic computation in many branches of mathematics. Magma, developed by John Cannon and associates at the University of Sydney, succeeded Cayley. It runs at several hundred sites.
E-mail: magma@maths.usyd.edu.au .
Home (http://www.maths.usyd.edu.au:8000/u/magma/).
[W. Bosma, J. Cannon and C. Playoust, The Magma algebra system I: The user language, J. Symb. Comp., 24, 3/4, 1997, 235-265].
(2000-12-21)

Magma2
language A language that allows programmability of the control environment, e.g. recursion, backtracking, coroutines, nondeterminism, etc. Magma2 was the successor to MagmaLISP.
[ Magma2: A Language Oriented Toward Experiments in Control , Franco Turini, ACM TOPLAS 6(4):468-486 (Oct 1984)].
(1995-07-30)

MagmaLISP
language The predecessor of Magma2.
[ MagmaLISP: A Machine Language for Artificial Intelligence , C. Mantagero et al, Proc 4th Intl Joint Conf Artif Intell, 1975, pp. 556-561].
(1995-07-30)

magnetic disk
storage A flat rotating disc covered on one or both sides with some magnetisable material. The two main types are the hard disk and the floppy disk.
Small areas or zones on a magnetic disk are magnetised. The magnetisation is aligned in one of two opposing orientations with respect to the recording head. Each zone of magnetisation. The head writes data by altering the alignment and reads data by detecting current pulses induced in a coil as zones with different magnetic alignment pass underneath it.
Data is stored on either or both surfaces of discs in concentric rings called tracks . Each track is divided into a whole number of sectors . Where multiple (rigid) discs are mounted on the same axle the set of tracks at the same radius on all their surfaces is known as a cylinder .
Data is read and written by a disk drive which rotates the discs and positions the read/write heads over the desired track(s). The latter radial movement is known as seeking . There is usually one head for each surface that stores data though, for increased performance (from reduced rotational latency), it is possible, though expensive, to position multiple heads at equally spaced angles around the discs.
Therefore there are two states that can be detected for each zone - a change in alignment, or no change.
Ideally a data bit of one or zero can be recorded in each zone of magnetisation, however, if a zero represents an absence of magnetic change, the detection of several consecutive zeros would imply accurately measuring the length of time of the absence, i.e., measuring the time between two magnetic changes. However, the variability of motor speed limits the number of consecutive zeros which can be read reliably.
The best recording methods accurately follow the characteristics of the magnetic and rotational aspects in recording the disk, to be as dense as possible in recording bits.
Compare magnetic drum, compact disc, optical disk, magneto-optical disk.
(1997-06-07)

Magnetic Ink Character Recognition
(MICR) A character recognition system using special ink and characters which can be magnetised and read automatically.
MICR is used almost exclusively in the banking industry where it is used to print details on cheques to enable automatic processing.
(1995-04-13)

magnetic tape
storage (Or magtape , tape - paper tape is now obsolete) A data storage medium consisting of a magnetisable oxide coating on a thin plastic strip, commonly used for backup and archiving.
Early industry-standard magnetic tape was half an inch wide and wound on removable reels 10.5 inches in diameter. Different lengths were available with 2400 feet and 4800 feet being common. DECtape was a variation on this round tape .
In modern magnetic tape systems the reels are much smaller and are fixed inside a cartridge to protect the tape and for ease of handling ( square tape - though it's really rectangular). Cartridge formats include QIC, DAT, and Exabyte.
Tape is read and written on a tape drive (or deck ) which winds the tape from one reel to the other causing it to move past a read/write head. Early tape had seven parallel tracks of data along the length of the tape allowing six bit characters plus parity written across the tape. A typical recording density was 556 characters per inch. The tape had reflective marks near its end which signaled beginning of tape (BOT) and end of tape (EOT) to the hardware.
Data is written to tape in blocks with inter-block gaps between them. Each block is typically written in a single operation with the tape running continuously during the write. The larger the block the larger the data buffer required in order to supply or receive the data written to or read from the tape. The smaller the block the more tape is wasted as inter-block gaps. Several logical records may be combined into one physical block to reduce wastage ( blocked records ). Finding a certain block on the tape generally involved reading sequentially from the beginning, in contrast to magnetic disks. Tape is not suitable for random access. The exception to this is that some systems allow tape marks to be written which can be detected while winding the tape forwards or rewinding it at high speed. These are typically used to separate logical files on a tape.
Most tape drives now include some kind of data compression. There are several algorithms which provide similar results: LZ (most), IDRC (Exabyte), ALDC (IBM, QIC) and DLZ1 (DLT).
See also cut a tape, flap, Group Code Recording, spool, macrotape, microtape, Non Return to Zero Inverted, Phase Encoded.
(1997-04-05)

magnetic tape drive
storage (Or tape drive ) A peripheral device that reads and writes magnetic tape.
(1996-05-25)

magneto-optical disk
hardware, storage Plastic or glass disks coated with a compound (often TbFeCo) with special properties. The disk is read by bouncing a low-intensity laser off the disk. Originally the laser was infrared, but frequencies up to blue may be possible; the shorter the wavelength the higher the possible density. The polarisation of the reflected light depends on the polarity of the stored magnetic field.
To write, a higher-intensity laser is used to heat the material up to its Curie point, allowing its magnetisation to be altered and frozen as it cools.
Storage FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/arch-storage/part1/faq.html).
(1995-03-15)

magnetorestrictive delay line
storage, history An early storage device that used tensioned wires of nickel alloy carrying longitudinal waves produced and detected electromagnetically.
They had better storage behaviour than mercury delay lines.
[When and where were they used?]
(2002-06-12)

MAGNUM
A database language for DEC-10's, used internally by Tymshare, Inc.. MAGNUM was designed in the late 1970's by Dale Jordan, Rich Strauss and Dave McQuoid originally, and was written in BLISS-10. It was the world's first commercial relational database. It was in the process of being written in 1976.
(1995-01-25)

Magritte
A constraint language for interactive graphical layout by J. Gosling. It solves constraints using algebraic transformations.
[ Algebraic Constraints , J. Gosling, PhD Thesis, TR CS-83-132, CMU, May 1983].
(1994-10-20)

mail
messaging 1. electronic mail.
2. The Berkeley Unix program for composing and reading electronic mail. It normally uses sendmail to handle delivery.
Unix manual page: mail(1)
(1997-12-03)

Mail Application Programming Interface
Messaging Application Programming Interface

mail bomb
messaging To send, or urge others to send, massive amounts of electronic mail to a single system or person, with intent to crash or spam the recipient's system. A successful mail bomb may cause the victim's disk quota to be exhausted, the disk holding his mailbox to fill up, or his computer to spend a large proportion of its time processing mail.
Mail-bombing is sometimes done in retaliation against someone persistently abusing Usenet and violating netiquette. While it may inconvenience the intended victim (if they gave their real address), it will probably also inconvenience other users and administrators of the computers and networks involved. Mailbombing is thus a serious offense itself.
See netiquette for the correct way to respond to perceived violations.
Compare letterbomb, nastygram.
[Jargon File]
(1995-04-04)

mailbox
1. messaging A file belonging to a particular user on a particular computer in which received electronic mail messages are stored ready for the user to read them. A mailbox may be just an electronic mail address to which messages are sent and may not actually correspond to a file if the messages are processed automatically, e.g. a mail server or mailing list.
2. programming A destination for interprocess messages in a message passing system. A mailbox is a message queue, usually stored in the memory of the processor on which the receiving process is running. Primitives are provided for sending a message to a named mailbox and for reading messages from a mailbox.
(1994-10-20)

mail bridge
messaging A mail gateway that forwards electronic mail messages between two or more networks if they meet certain administrative criteria.
(1996-02-26)

Mail Exchange Record
messaging (MX Record) A DNS resource record type indicating which host can handle electronic mail for a particular domain.
(1996-02-26)

mail exploder
messaging Part of an electronic mail delivery system which allows a message to be delivered to a list of addresses. Mail exploders are used to implement mailing lists. Users send messages to a single address and the mail exploder takes care of delivery to the individual mailboxes in the list.
(1996-02-26)

mail filter
messaging A program which sorts and processes incoming mail based on patterns found in the mail headers.
procmail is an example for Unix.
(1996-12-09)

mail gateway
messaging A machine that connects two or more electronic mail systems (including dissimilar mail systems) and transfers messages between them. Sometimes the mapping and translation can be quite complex, and it generally requires a store and forward scheme whereby the message is received from one system completely before it is transmitted to the next system, after suitable translations.
(1996-02-26)

mail hub
mail server

mailing list
messaging (Often shortened in context to list ) An electronic mail address that is an alias (or macro, though that word is never used in this connection) which is expanded by a mail exploder to yield many other e-mail addresses. Some mailing lists are simple reflectors , redirecting mail sent to them to the list of recipients. Others are filtered by humans or programs of varying degrees of sophistication; lists filtered by humans are said to be moderated .
The term is sometimes used, by extension, for the people who receive e-mail sent to such an address.
Mailing lists are one of the primary forms of hacker interaction, along with Usenet. They predate Usenet, having originated with the first UUCP and ARPANET connections. They are often used for private information-sharing on topics that would be too specialised for or inappropriate to public Usenet groups. Though some of these maintain almost purely technical content (such as the Internet Engineering Task Force mailing list), others (like the sf-lovers list maintained for many years by Saul Jaffe) are recreational, and many are purely social. Perhaps the most infamous of the social lists was the eccentric bandykin distribution; its latter-day progeny, lectroids and tanstaafl, still include a number of the oddest and most interesting people in hackerdom.
Mailing lists are easy to create and (unlike Usenet) don't tie up a significant amount of machine resources (until they get very large, at which point they can become interesting torture tests for mail software). Thus, they are often created temporarily by working groups, the members of which can then collaborate on a project without ever needing to meet face-to-face.
There are several programs to automate mailing list maintenance, e.g. Listserv, Listproc, Majordomo.
Requests to subscribe to, or leave, a mailing list should ALWAYS be sent to the list's -request address (e.g. ietf-request@cnri.reston.va.us for the IETF mailing list). This prevents them being sent to all recipients of the list and ensures that they reach the maintainer of the list, who may not actually read the list.
[Jargon File]
(2001-04-27)

mail merge
messaging A function of some word processing software (e.g. Microsoft Word) that produces multiple instances of a document by substituting different text strings from a database in place of certain field markers. This is often done with envelopes, resumes, spam, and various other mass mailings.
(http://www.mtroyal.ab.ca/programs/academserv/ADC/workshops/staff/mail_merge/mail_merge_tutorial.html).
(2002-07-26)

mail path
source route

.mailrc
messaging (mail run commands) The configuration file for the standard Unix mail program. This file is found in a user's home directory and can contain special commands to set options and define mail aliases.
See also rc.
(1996-04-09)

mail server
1. tool, messaging A program that distributes files or information in response to requests sent via electronic mail. Examples on the Internet include Almanac and netlib. Mail servers are also used on Bitnet.
In the days before Internet access was widespread and UUCP mail links were common, mail servers could be used to provide remote services which might now be provided via FTP or WWW.
2. messaging (Or mail hub ) A computer used to store and/or forward electronic mail.
(1995-05-05)

mail user agent
messaging (MUA) The program that allows the user to compose and read electronic mail messages. The MUA provides the interface between the user and the Message Transfer Agent. Outgoing mail is eventually handed over to an MTA for delivery while the incoming messages are picked up from where the MTA left it (although MUA's running on single-user machines may pick up mail using POP).
Popular MUAs for Unix include elm, mush, pine, and RMAIL.
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/setup/unix/part2/faq-doc-3.html).
(1996-03-21)

Mail Users' Shell
messaging (mush) A MUA for Unix and MS-DOS. It has both line-mode and full-screen interfaces as well as a SunView interface.
mush provides a very powerful shell interface with a csh-like scripting language, plenty of environment variables, command-line aliases, filename completion, conditionals, and command piping.
z-mail is a more recent commercial version of mush.
Usenet newsgroup: news:comp.mail.mush.
(1996-02-26)

MAINBOL
language MAcro ImplementatioN of SNOBOL4.
(1997-09-14)

Main Distribution Frame
networking (MDF) The network closet containing the main hub.
(1995-05-05)

mainframe
computer A term originally referring to the cabinet containing the central processor unit or main frame of a room-filling Stone Age batch machine. After the emergence of smaller minicomputer designs in the early 1970s, the traditional big iron machines were described as mainframe computers and eventually just as mainframes. The term carries the connotation of a machine designed for batch rather than interactive use, though possibly with an interactive time-sharing operating system retrofitted onto it; it is especially used of machines built by IBM, Unisys and the other great dinosaurs surviving from computing's Stone Age.
It has been common wisdom among hackers since the late 1980s that the mainframe architectural tradition is essentially dead (outside of the tiny market for number crunching supercomputers (see Cray)), having been swamped by the recent huge advances in integrated circuit technology and low-cost personal computing. As of 1993, corporate America is just beginning to figure this out - the wave of failures, takeovers, and mergers among traditional mainframe makers have certainly provided sufficient omens (see dinosaurs mating).
Supporters claim that mainframes still house 90% of the data major businesses rely on for mission-critical applications, attributing this to their superior performance, reliability, scalability, and security compared to microprocessors.
[Jargon File]
(1996-07-22)

main loop
The top-level control flow construct in an input- or event-driven program, the one which receives and acts or dispatches on the program's input. See also driver.
[Jargon File]

main memory
storage, architecture The storage device used by a computer to hold the currently executing program and its working data. A modern computer's main memory is built from random access memory integrated circuits. In the old days ferrite core memory was one popular form of main memory, leading to the use of the term core for main memory.
Computers have several other sorts of memory, distinguished by their access time, storage capicity, cost, and the typical lifetime or rate of change of the data they hold. Registers in the CPU are fast, few, expensive and typically change every few machine instructions. Other kinds are cache, PROM, magnetic disk (which may be used for virtual memory), and magnetic tape.
(1996-11-04)

MAINSAIL
MAchine INdependent SAIL. From XIDAK, Palo Alto CA, (415) 855-9271.

maintainer
software The person responsible for coordinating changes to a package of software and arranging the distribution of updates. The term usually applies only to free software where the maintainer (often the author) is doing it as a free public service.
(2001-01-27)

maintainer script
Debian One of the scripts (preinst, prerm, postinst, postrm) that may be included in a Debian binary package. These scripts may create and/or remove symlinks, files or directories that, for some reason, could not be done directly by dpkg. Maintainer scripts frequently create or update the symlinks in the /etc/rc?.d directories and start, stop, or restart daemons.
(2000-05-31)

maintenance
programming The modification of a software product, after delivery, to correct faults, to improve performance or other attributes, or to adapt the product to a changed environment.
Maintenance is an important part of the software life-cycle. It is expensive in manpower and resources, and one of the aims of software engineering is to reduce its cost.
(1996-12-27)

Maisie
A C-based parallel programming language by Wen-Toh Liao wentoh@may.CS.UCLA.EDU . Maisie extends C with asynchronous typed message passing and lightweight processes. Programs can define, create and destroy processes, send and receive messages and manipulate the system clock.
Maisie has been ported to PVM/3.1, Cosmic Environment and SUN sockets.
Version 2.1.1.3 (ftp://cs.ucla.edu/pub/maisie.2.1.1.3.tar.Z)
(1993-06-14)

major delivery
programming A (chiefly British) synonym for major release. E.g, the ninth major release of a piece of software might be called MD9. The release notation would be v9.0 .
(1996-08-04)

Majordomo
messaging, tool A popular freeware mailing list processor written in Perl which runs under Unix. Majordomo is a groupware project which evolved from code by Brent Chapman brent@greatcircle.com , with maintenance by John Rouillard rouilj@cs.umb.edu . The current Majordomo maintainer is Chan Wilson cwilson@sgi.com .
A majordomo is a person who speaks, makes arrangements, or takes charge for another; from Latin major domus - master of the house .
Home (http://www.greatcircle.com/majordomo/).
(2001-04-27)

major release
programming A release of a piece of software which is not merely a revision or a bug fix release but which contains substantial changes (e.g., an overhaul of the interface, change in compatibility).
Traditionally, major releases are numbered as X.0; for example, WordPerfect 6.0 is a major release, significantly different from any previous version; whereas WordPerfect 6.1 has only minor changes, and is, thus, only a revision.
See also major delivery.
(1996-08-04)

Make
programming, tool The Unix tool to automate the recompilation, linking etc. of programs, taking account of the interdependencies of modules and their modification times. Make reads instructions from a makefile which specifies a set of targets to be built, the files they depend on and the commands to execute in order to produce them.
Most C systems come with a make. There is also one produce by GNU.
[ Make - A Program for Maintaining Computer Programs , A.I. Feldman, TR No 57, Bell Labs Apr 1977].
(1995-01-05)

Makedoc
A program from Carleton University, Ottawa that generates documentation for Objective C programs. It will also generate a class hierarchy diagram. The output format is similar to that used by StepStone.

makefile
A script which tells the Unix program make how to build a particular computer program or set of programs. A makefile contains variable assignments and rules of the form
target: inputs commands
which say if any of the files in inputs has been modified more recently than file target (or if the target does not exist) then execute commands , which will normally bulid target from inputs .
If make is run with no arguments, it looks for a makefile called Makefile or makefile .
(1995-01-05)

Maker Interchange Format
(MIF) A language used to describe a FrameMaker document in a text file. MIF is used to exchange information between FrameMaker and other applications.
[ Using FrameMaker 4, Windows and Macintosh Version, c. 1986-1993 Frame Technology Corporation].
(1995-01-30)

MAL
Micro Assembly Language

Malamud
publication The book:
[Malamud, C., Analyzing Sun Networks , Van Nostrand Reinhold, New York, NY, 1992.]
(1995-04-10)

MALI
A hardware memory device for logic programming computers with real time garbage collection.

mall
World-Wide Web A collection of World-Wide Web documents featuring commercial products and services, usually served by one particualr Internet access provider.
(1995-04-10)

malloc
C's standard library routine for storage allocation. It takes the number of bytes required and returns a pointer to a block of that size. Storage is allocated from a heap which lies after the end of the program and data areas. Memory allocated with malloc must be freed explicitly using the free routine before it can be re-used.
gc is a storage allocator with garbage collection that is intended to be used as a plug-in replacement for malloc.

MAN
Metropolitan Area Network

man
Unix manual page

management
1. Corporate power elites distinguished primarily by their distance from actual productive work and their chronic failure to manage (see also suit). Spoken derisively, as in *Management* decided that ... .
2. Mythically, a vast bureaucracy responsible for all the world's minor irritations. Hackers' satirical public notices are often signed The Mgt ; this derives from the Illuminatus! novels.
[Jargon File]
(1995-02-28)

Management Information Base
(MIB) A database of managed objects acessed by network management protocols. An SNMP MIB is a set of parameters which an SNMP management station can query or set in the SNMP agent of a network device (e.g. router).
SNMP has two standard MIBs. The first, MIB I, was established in RFC 1156, was defined to manage TCP/IP-based internets. MIB II, defined in RFC 1213, is basically an update to MIB I.
Standard minimal MIBs have been defined, and many hardware (and certain software, e.g. DBMS) providers have developed private MIBs in ASN.1 format allowing them to be compiled for use in a Nework Management System. In theory, any SNMP manager can talk to any SNMP agent with a properly defined MIB.
See also client-server model.
(1994-11-14)

Management Information System
application (MIS) A computer system, usually based on a mainframe or minicomputer, designed to provide management personnel with up-to-date information on an organisation's performance, e.g. inventory and sales. These systems output information in a form that is useable by managers at all levels of the organisation: strategic, tactical, and operational. A good example of an MIS report is an annual report for a stockholder (a scheduled report).
[Que's Computer User's Dictionary Second Edition, 1992].
(2001-04-01)

Manchester Autocode
language, history The predecessor of Mercury Autocode.
[ The Programming Strategy Used with the Manchester University Mark I Computer , R.A. Brooker, Proc IEE 103B Suppl:151-157, 1956].
(2000-10-02)

Manchester encoding
communications, protocol A method of transmitting bits which enables the receiver to easily synchronise with the sender.
A simple way of signalling bits might be to transmit a high voltage for some period for a 1-bit and a low voltage for a 0 bit:
Bits Sent: 1 1 0 0
Signal: High ___________
Low |___________
Time: - . . . . .
However, when several identical bits are sent in succession, this provides no information to the receiver about when each bit starts and stops.
Manchester encoding splits each bit period into two, and ensures that there is always a transition between the signal levels in the middle of each bit. This allows the receiver to synchronise with the sender.
In normal Manchester encoding, a 1-bit is transmitted with a high voltage in the first period, and a low voltage in the second, and vice verse for the 0 bit:
Bits Sent: 1 1 0 0
Signal: High __ __ __ __
Low |__| |_____| |__|
Time: - . ' . ' . ' . ' .
In Differential Manchester encoding, a 1-bit is indicated by making the first half of the signal equal to the last half of the previous bit's signal and a 0-bit is indicated by making the first half of the signal opposite to the last half of the previous bit's signal. That is, a zero bit is indicated by a transition at the beginning of the bit.
Like normal Manchester encoding, there is always a transition in the middle of the transmission of the bit.
Differential Manchester Encoding
Bits Sent: 1 1 0 0
Signal: High ____ __ __ __
Low |_____| |__| |__|
Time: - . ' . ' . ' . ' .
With each bit period half as long, twice as much bandwidth is required when using either of the Manchester encoding schemes.
(1995-11-23)

Mandala
language A system based on Concurrent Prolog, developed at ICOT, Japan.
[ Mandala: A Logic Based Knowledge Programming System , K. Furukawa et al, Intl Conf 5th Gen Comp Sys 1984].
(1995-11-23)

Mandelbrot, Benoit
Benoit Mandelbrot

Mandelbrot set
mathematics, graphics (After its discoverer, Benoit Mandelbrot) The set of all complex numbers c such that
| z[N] | 2
for arbitrarily large values of N, where
z[0] = 0 z[n+1] = z[n]^2 + c
The Mandelbrot set is usually displayed as an Argand diagram, giving each point a colour which depends on the largest N for which | z[N] | 2, up to some maximum N which is used for the points in the set (for which N is infinite). These points are traditionally coloured black.
The Mandelbrot set is the best known example of a fractal - it includes smaller versions of itself which can be explored to arbitrary levels of detail.
The Fractal Microscope (http://www.ncsa.uiuc.edu/Edu/Fractal/Fractal_Home.html/).
(1995-02-08)

mandelbug
jargon, programming /man'del-buhg/ (From the Mandelbrot set) A bug whose underlying causes are so complex and obscure as to make its behaviour appear chaotic or even nondeterministic. This term implies that the speaker thinks it is a Bohr bug, rather than a heisenbug.
See also schroedinbug.
[Jargon File]
(1995-02-08)

manged
/mahnjd/ [probably from the French manger or Italian mangiare , to eat; perhaps influenced by English mange , mangy ] Refers to anything that is mangled or damaged, usually beyond repair. The disk was manged after the electrical storm. Compare mung.
[Jargon File]

mangle
Used similarly to mung or scribble, but more violent in its connotations; something that is mangled has been irreversibly and totally trashed.

mangler
[DEC] A manager. Compare mango; see also management. Note that system mangler is somewhat different in connotation.
[Jargon File]

mango
jargon /mang'go/ (Originally in-house jargon at Symbolics) A manager.
Compare mangler. See also devo and doco.
(1995-03-21)

man page
Unix manual page

mantissa
1. programming The part of a floating point number which, when multiplied by its radix raised to the power of its exponent, gives its value. The mantissa may include the number's sign or this may be considered to be a separate part.
2. mathematics The fractional part of a logarithm.
(1996-06-15)

manual testing
testing That part of software testing that requires human input, analysis, or evaluation.
(1996-12-27)

Manufacturer Resource Planning
application (MRP II) A system based on MRP which allows manufacturers to optimise materials, procurement, manufacturing processes, etc., and provide financial and planning reports.
In the late 1970s and early 1980s, manufacturers integrated MRP and other manufacturing and business functions. This renaissance is commonly known as Manufacturing Resource Planning (MRP II). According to the American Production and Inventory Control Society, Inc. (APICS), MRP II is a method for the effective planning of all resources of a manufacturing company. Ideally, it addresses operational planning in units, financial planning in dollars, and has a simulation capability to answer what if questions. It is made up of a variety of linked functions: business planning, sales and operations planning, production scheduling, material requirements planning (MRP), capacity requirements planning and the execution support systems for capacity and material. Output from these systems is integrated with financial reports such as the business plan, purchase commitment report, shipping budget and inventory projections in dollars. Manufacturing resource planning is a direct outgrowth and extension of closed-loop MRP.
See also Enterprise Resource Planning, SAP R/2, R/3, and Baan.
(1999-02-16)

Manufacturers Automation Protocol
Manufacturing Automation Protocol

Manufacturing Automation Protocol
protocol (MAP) A set of protocols developed by General Motors based on Token Bus (IEEE 802.4) and giving predictable real-time response.
(1994-10-21)

manularity
/man yoo-la ri-tee/ ( manual + granularity ) A notional measure of the manual labor required for some task, particularly one of the sort that automation is supposed to eliminate. Composing English on paper has much higher manularity than using a text editor, especially in the revising stage. Hackers tend to consider manularity a symptom of primitive methods; in fact, a true hacker confronted with an apparent requirement to do a computing task by hand will inevitably seize the opportunity to build another tool (see toolsmith).
[Jargon File]
(1994-10-26)

MAO
An early symbolic mathematics system.
[A. Rom, Celest Mech 1:309-319 (1969)].
(1995-02-10)

MAP
1. protocol Manufacturing Automation Protocol.
2. Mathematical Analysis without Programming.
(1996-12-01)

map
1. mathematics function.
2. programming In functional programming, the most common higher-order function over lists. Map applies its first argument to each element of its second argument (a list) and returns the list of results.
map :: (a - b) - [a] - [b] map f [] = [] map f (x:xs) = f x : map f xs
This can be generalised to types other than lists.
(1997-11-05)

MAPI
Messaging Application Programming Interface

Maple
A symbolic mathematics package by B. Char, K. Geddes, G. Gonnet, M. Monagan and S. Watt of the University of Waterloo, Canada and ETH Zurich, Switzerland in 1980. Version: Maple V.
E-mail: wmsi@daisy.waterloo.edu . Mailing list: glabahn@daisy.waterloo.edu.
(1994-10-21)

mapping
function

marbles
jargon (From the mainstream lost his marbles ) The minimum needed to build your way further up some hierarchy of tools or abstractions. After a bad system crash, you need to determine if the machine has enough marbles to come up on its own, or enough marbles to allow a rebuild from backups, or if you need to rebuild from scratch. This compiler doesn't even have enough marbles to compile hello, world.
[Jargon File]
(1998-05-21)

Marc Andreessen
person The man who founded Netscape Communications Corporation in April 1994 with Dr. James H. Clark. Andreessen has been a director since September 1994.
As an undergraduate at the University of Illinois in Champaign, Andreessen created the Mosaic web browser prototype with a team of students and staff at the university's National Center for Supercomputing Applications (NCSA). With a friendly, point-and-click method for navigating the Internet and free distribution to network users, NCSA Mosaic gained an estimated two million users worldwide in just over one year. Andreessen earned his bachelor of science degree in computer science at the University of Illinois in 1993.
Home (http://www.netscape.com/columns/techvision/index.html).
(1999-04-12)

marginal
jargon 1. Extremely small. A marginal increase in core can decrease GC time drastically. In everyday terms, this means that it is a lot easier to clean off your desk if you have a spare place to put some of the junk while you sort through it.
2. Of extremely small merit. This proposed new feature seems rather marginal to me.
3. Of extremely small probability of winning. The power supply was rather marginal anyway; no wonder it fried.
[Jargon File]
(1994-10-21)

Marginal Hacks
humour Margaret Jacks Hall, a building into which the Stanford AI Lab was moved near the beginning of the 1980s (from the D.C. Power Lab).
[Jargon File]
(1998-05-21)

Maril
Machine description language used by the Marion code generator.
[ The Marion System for Retargetable Instruction Scheduling , D.G. Bradlee et al, SIGPLAN Notices 26(6):229-240 (June 1991)].

Mark 1
computer (Or Automatic Sequence Controlled Calculator ) A first generation computer developed in 1944 by Howard Aiken of Harvard University. The Mark 1 is seen as the first full-sized digital computer. It weighed 5 tons, had 500 miles of wiring, was used only for numeric calculations, and took three seconds to carry out one multiplication.
[Mechanism? Capacity? Programmability?]
(1996-11-24)

marketroid
/mar'k*-troyd/ (Or marketing slime , marketeer , marketing droid , marketdroid ) A member of a company's marketing department, especially one who promises users that the next version of a product will have features that are not actually scheduled for inclusion, are extremely difficult to implement, and/or are in violation of the laws of physics; and/or one who describes existing features (and misfeatures) in ebullient, buzzword-laden adspeak. Derogatory.
Compare droid.
[Jargon File]
(1995-02-23)

Markov
See Andrei Markov, Markov chain, Markov model, Markov process.
(1995-02-23)

Markov chain
probability (Named after Andrei Markov) A model of sequences of events where the probability of an event occurring depends upon the fact that a preceding event occurred.
A Markov process is governed by a Markov chain.
In simulation, the principle of the Markov chain is applied to the selection of samples from a probability density function to be applied to the model. Simscript II.5 uses this approach for some modelling functions.
[Better explanation?]
(1995-02-23)

Markov model
probability, simulation A model or simulation based on Markov chains.
(2000-10-29)

Markov process
probability, simulation A process in which the sequence of events can be described by a Markov chain.
(1995-02-23)

Markowitz
The author of the original Simscript language.

mark-sweep garbage collection
Each cell has a bit reserved for marking which is clear initially. During garbage collection all active cells are traced from the root and marked. Then all cells are examined. Unmarked cells are freed.

markup
text In computerised document preparation, a method of adding information to the text indicating the logical components of a document, or instructions for layout of the text on the page or other information which can be interpreted by some automatic system.
For example, the source of this dictionary is marked up by enclosing cross-references in curly braces which are significant to the World-Wide Web server software.
(1995-03-30)

Marlais
language A simple-minded interpreter by Brent Benson at Harris for a programming language strongly resembling Dylan. Marlais version 0.2a is a hackers release for education, experimentation, porting, extension, and bug fixing.
It has been ported to Sun-3, Sun-4, VAX/BSD, OS/2, Linux, Sequent Symmetry, Encore, HP-UX, Ultrix, SGI, Sony News, and A/UX.
(ftp://travis.csd.harris.com/pub/marlais-0.2a.tar.gz).
(1993-09-23)

Mars
A legendary tragic failure, the archetypal Hacker Dream Gone Wrong. Mars was the code name for a family of PDP-10 compatible computers built by Systems Concepts (now, The SC Group): the multi-processor SC-30M, the small uniprocessor SC-25M, and the never-built superprocessor SC-40M. These machines were marvels of engineering design; although not much slower than the unique Foonly F-1, they were physically smaller and consumed less power than the much slower DEC KS10 or Foonly F-2, F-3, or F-4 machines. They were also completely compatible with the DEC KL10, and ran all KL10 binaries (including the operating system) with no modifications at about 2--3 times faster than a KL10.
When DEC cancelled the Jupiter project in 1983, Systems Concepts should have made a bundle selling their machine into shops with a lot of software investment in PDP-10s, and in fact their spring 1984 announcement generated a great deal of excitement in the PDP-10 world. TOPS-10 was running on the Mars by the summer of 1984, and TOPS-20 by early fall.
Unfortunately, the hackers running Systems Concepts were much better at designing machines than at mass producing or selling them; the company allowed itself to be sidetracked by a bout of perfectionism into continually improving the design, and lost credibility as delivery dates continued to slip. They also overpriced the product ridiculously; they believed they were competing with the KL10 and VAX 8600 and failed to reckon with the likes of Sun Microsystems and other hungry startups building workstations with power comparable to the KL10 at a fraction of the price.
By the time SC shipped the first SC-30M to Stanford in late 1985, most customers had already made the traumatic decision to abandon the PDP-10, usually for VMS or Unix boxes. Most of the Mars computers built ended up being purchased by CompuServe.
This tale and the related saga of Foonly hold a lesson for hackers: if you want to play in the Real World, you need to learn Real World moves.
[Jargon File]

Marseille Prolog
language One of the two main dialects of Prolog, the other being Edinburgh Prolog. The difference is largely syntax. The original Marseille Interpreter (1973) was written in Fortran.
[Developed by?]
(1998-03-16)

marshaling
spelling Alternative US spelling of marshalling .
(1998-03-16)

marshalling
communications (US -ll- or -l-) The process of packing one or more items of data into a message buffer, prior to transmitting that message buffer over a communication channel. The packing process not only collects together values which may be stored in non-consecutive memory locations but also converts data of different types into a standard representation agreed with the recipient of the message.
(2000-06-09)

MARSYAS
MARshall SYstem for Aerospace Simulation.
A software system for digital simulation of large physical systems.
[ MARSYAS - A Software System for the Digital Simulation of Physical Systems , H. Trauboth et al, Proc SJCC, 36 (1970)].
(1994-12-02)

Martian
Packets that turn up unexpectedly on the wrong network because of bogus routing entries. Also a packet which has an altogether bogus (non-registered or ill-formed) internet address, such as the test loopback interface [127.0.0.1]. Such a packet will come back labelled with a source address that is clearly not of this earth. The domain server is getting lots of packets from Mars. Does that gateway have a martian filter?
[Jargon File]

Martin Marietta Laboratories Moorestown
(http://atlgw.atl.ge.com/)
Address: Building 145, Moorestown Corporate Center, Moorestown, NJ 08057, USA.
(1995-02-06)

MARVIN
U Dortmund, 1984. Applicative language based on Modula-2, enhanced by signatures (grammars) terms (trees) and attribute couplings (functions on trees). Used for specification of language translators.
[ MARVIN - A Tool for Applicative and Modular Compiler Specification , H. Ganziger et al, Forsch 220, U Dortmund, Jul 1986].

Mary
language An extensible, machine-oriented superset of ALGOL68 developed by Mark Rain.
Mary is maintained (and used) by Kvatro Telecom AS. Although dated, it still offers a nice strongly typed 3GL with macros but without most of C's flaws.
It runs on SPARC and x86 computers.
Hidden on the back cover of the manual: MARY HAD A LITTLE LAMB - COERCION IMPOSSIBLE.
[ Mary Programmer's Reference Manual , M. Rain et al, R Unit, Trondheim Norway, 1974].
[ Operator Expressions in Mary , M. Rain, SIGPLAN Notices 8(1), Jan 1973].
(1998-11-10)

MAS
Modula-2 Algebra System. Runs on IBM PC, Atari, Amiga.
(ftp://alice.fmi.uni-passau.de)
[ Modula-2 Algebra System , H. Kredel, Proc DISCO 90 Capri, LNCS 429, Springer 1990, pp270-271].

MASCOT
Modular Approach to Software Construction Operation and Test: a method for software design aimed at real-time embedded systems from the Royal Signals and Research Establishment, UK.

Mask Read-Only Memory
storage (MROM) A kind of ROM in which the memory contents are determined by one of the masks used to manufacture the integrated circuit. MROM can give high storage density (bits per millimeter squared) making it a cheap solution for high volume applications.
[Other ROM types?]
(1995-04-22)

MASM
Microsoft Assembler for MS-DOS.
(1995-04-22)

MasPar Unity
A translator from UNITY to MPL by Martin Huber, University of Karlsruhe, Germany. Version 1.0.
(ftp://SanFrancisco.ira.uka.de/pub/maspar/maspar_unity.tar.Z). E-mail: Lutz Prechelt prechelt@ira.uka.de .

masquerading
1. networking NAT (Linux kernel name).
2. messaging Hiding the names of internal e-mail client and gateway machines from the outside world by rewriting the From address and other headers as the message leaves the organisation.
This is good practise because external users do not need to know about internal changes in message routing. The external mail gateway needs to know how to route incoming replies back to the original sender.
(1998-03-03)

Massachusetts Institute of Technology
(MIT) An independent, coeducational university located in Cambridge, MA, USA. Its best-known computer-related labs are the Artificial Intelligence Lab, the Lab for Computer Science and the Media Lab. It is also known for its hacks or practical jokes, such as The Great Dome Police Car Hack (http://the-tech.mit.edu/Bulletins/hack.html). Resident computer hackers include Richard Stallman, Gerald Sussman and Tom Knight.
See also 6.001.
(http://web.mit.edu/)

massage
Vague term used to describe smooth transformations of a data set into a different form, especially transformations that do not lose information. Connotes less pain than munch or crunch. He wrote a program that massages X bitmap files into GIF format. Compare slurp.
[Jargon File]

Massey Hope
language, functional programming A refinement of Hope+C by Nigel Perry N.Perry@massey.ac.nz of Massey University, NZ, with improved syntax.
Concurrent Massey Hope is derived directly from Massey Hope.
(1999-08-04)

master
botmaster

Matchmaker
A language for specifying and automating the generation of multi-lingual interprocess communication interfaces. MIG is an implementation of a subset of Matchmaker.
(1994-11-22)

Material Resource Planning
application (MRP) A system for effectively managing material requirements in a manufacturing process.
Information Systems have long been an important part of the manufacturing environment. In the 1960s, manufacturers developed Material Resource Planning (MRP). According to the American Production and Inventory Control Society, Inc. (APICS), MRP is a set of techniques that uses bill of material data, inventory data, and the master production schedule to calculate requirements for materials. It makes recommendations to release replenishment orders for materials. Furthermore, because it it time-phased, it makes recommendations to reschedule open orders when due dates and need dates are not in phase. Time-phased MRP begins with the items listed on the Master Production Schedule and determines the quantity of all components and materials required to fabricate those items and the date that the components and material are required. Time-phased MRP is accomplished by exploding the bill of material, adjusting for inventory quantities on hand or on order and offsetting the net requirements by the appropriate lead times.
See also Manufacturer Resource Planning
(1999-02-16)

Mathcad
A symbolic mathematics environment.

Mathematica
tool, mathematics A popular symbolic mathematics and graphics system, developed in 1988 by Stephen Wolfram and sold by Wolfram Research. The language emphasises rules and pattern-matching. The name was suggested by Steve Jobs.
Home (http://www.wri.com/mathematica/)
Stanford FTP (ftp://otter.stanford.edu/), NCSA FTP (ftp://ftp.ncsa.uiuc.edu/).
Mailing list: mathgroup-request@yoda.ncsa.uiuc.edu.
Usenet newsgroup: news:comp.soft-sys.math.mathematica.
[ Mathematica: A System for Doing Mathematics by Computer , Stephen Wolfram, A-W 1988].
(1995-05-01)

Mathematical Analysis without Programming
(MAP) An On-line system for mathematics under CTSS.
[Sammet 1969, p. 240].
(1995-02-10)

Mathematics in Recognizable Form Automatically Compiled
language (MIRFAC) An early interactive system resembling BASIC using typewriter output with special mathematical symbols.
[Sammet 1969, pp. 281-284].
(1997-08-01)

MATHLAB
Symbolic math system, MITRE, 1964. Later version: MATHLAB 68 (PDP-6, 1967).
[ The Legacy of MATHLAB 68 , C. Engelman, Proc 2nd Symp on Symbolic and Algebraic Manip, ACM (Mar 1971)].
[Sammet 1969, p. 498].

MATH-MATIC or MATHMATIC
Alternate name for AT-3. Early, pre-Fortran language for UNIVAC I or II. Sammet 1969.

math-out
(Possibly from white-out , the blizzard variety) A paper or presentation so encrusted with mathematical or other formal notation as to be incomprehensible. This may be a device for concealing the fact that it is actually content-free.
See also numbers, social science number.
[Jargon File]
(1994-12-14)

MathWorks
The MathWorks, Inc.

MATLAB
An interactive program from The MathWorks for high-performance numeric computation and visualisation. MATLAB integrates numerical analysis, matrix computation, signal processing, and graphics in an easy-to-use environment. MATLAB is built on sophisticated matrix software for analysing linear equations. The tools supplied can be used for applied mathematics, physics, chemistry, engineering, finance and other areas dealing with complex numerical calculations.
(http://www.mathworks.com/matlab.html)
(1994-12-14)

Matrix
[FidoNet] 1. What the Opus BBS software and sysops call FidoNet.
2. Fanciful term for a cyberspace expected to emerge from current networking experiments (see network, the).
3. The totality of present-day computer networks.
[Jargon File]

Matrix Compiler
Early matrix computations on UNIVAC. Sammet 1969, p.642.

MATRIX MATH
language An early system on the UNIVAC I or II.
[Listed in CACM 2(5):1959-05-16].
(1997-02-27)

Matrix Math eXtensions
processor (MMX) (NOT an acronym for MultiMedia eXtension , according to Intel, but an Intel brand name) A set of 57 extra instructions built into some versions of Intel's Pentium microprocessors for supporting SIMD operations on multimedia and communications data types.
MMX-enhanced processors are due to be released early in 1997. They will be fully compatible with previous Intel processors and software but software will only benefit if it is written to use the new instructions. They can handle many common multimedia operations, such as digital signal processing, normally handled by a separate sound card or video card.
(1996-12-21)

MAU
Media Access Unit

mawk
language, tool An faster implementation of nawk written by Mike Brennan at Boeing in 1991 and distributed under GPL but distinct from GNU's gawk.
Interpreter version 1.1.3 has been ported to Sun-3, Sun-4/SunOS 4.0.3; Vax/BSD 4.3, ULTRIX 4.1; Stardent 3000/SYSVR3; DECStation/ULTRIX 4.1, MS-DOS/Turbo C++.
(ftp://oxy.edu/public/mawk).
(2000-05-04)

maximal free expression
(MFE) A free expression is sub-expression of a lambda abstraction not containing the bound variable. A maximal free expression is a free expression not contained within any other free expression. See full laziness.

maximin
minimax

MAXIMOP
Job Control Languages: MAXIMOP and CAFE , J. Brandon, Proc BCS Symp on Job Control Languages--Past Present and Future, NCC, Manchester, ENgland 1974.

maximum Maytag mode
storage, humour (From the US brand of washing machine) What a washing machine or, by extension, any hard disk is in when it's being used so heavily that it's shaking like an old Maytag with an unbalanced load. If prolonged for any length of time, can lead to disks becoming walking drives.
[Jargon File]
(1997-07-22)

maximum seek time
storage (Or full stroke seek time) The time it takes to seek over all tracks, i.e., from the innermost to the outermost or vice versa. The maximum seek time gives a worst-case measure of the speed of the drive which is useful in some real-time applications where it is important that data flows continuously (such as video editing or CD recording).
(1997-07-15)

maximum segment size
networking (MSS) The maximum amount of TCP data that a node can send in one segment. This should be the size of the receiver's reassembly buffer to try to avoid fragmentation.
The equivalent at the physical layer is Maximum Transmission Unit .
(1998-03-06)

Maximum Transmission Unit
networking (MTU) The largest number of bytes of payload data a frame can carry, not counting the frame's header and trailer.
A frame is a single unit of transportation on the data link layer. It consists of header data plus data which was passed down from the network layer (e.g. an IP datagram) plus sometimes trailer data.
An Ethernet (V2) frame has a MTU of 1500 bytes but the size of the frame can be up to 1526 bytes (22 byte header, 4 byte CRC trailer).
See also fragmentation.
(2000-10-07)

Maxis Software
The developers of SimCity and SimCity 2000.
Home (http://www.maxis.com/).
Address: 2 Theatre Square, Suite 230, Orinda, CA 94563-3346, USA.
Telephone: +1 (800) 33-MAXIS.
(1995-02-08)

MB
unit (Or Mb ) megabytes or megabits. When referring to the size or data transfer rate of a storage device which is accessed in multiples of eight bits (e.g. RAM, hard disk) this almost certainly means megabytes, but when referring to the data transfer rate of a communications system it probably means megabits. Some years ago, it is claimed, MB always meant megabytes and Mb meant megabits but recently this useful distinction has been lost.
(1996-09-22)

MBASIC
Microsoft BASIC.

Mbogo, Dr. Fred
/*m-boh'goh, dok'tr fred/ [Stanford] The archetypal man you don't want to see about a problem, especially an incompetent professional; a shyster. Do you know a good eye doctor? Sure, try Mbogo Eye Care and Professional Dry Cleaning. The name comes from synergy between bogus and the original Dr. Mbogo, a witch doctor who was Gomez Addams' physician on the old Addams Family TV show. Compare Bloggs Family, the, see also fred.
[Jargon File]
(2002-04-14)

MBONE
Virtual Internet Backbone for Multicast IP.
IP-Multicast is the class-D addressing scheme in IP implemented by Steve Deering at Xerox PARC. It was adopted at the IETF March 1992 meeting and acquired the name MBONE after the July 1992 IETF meeting.
IP Multicast-based routing allows distributed applications to achieve real-time communication over IP wide area networks through a lightweight, highly threaded model of communication.
Each network-provider participant in the MBONE provides one or more IP multicast routers to connect with tunnels to other participants and to customers. The multicast routers are typically separate from a network's production routers since most production routers don't yet support IP multicast. Most sites use workstations running the mrouted program, but the experimental MOSPF software for Proteon routers is an alternative.
It is best if the workstations can be dedicated to the multicast routing function to avoid interference from other activities and so there will be no qualms about installing kernel patches or new code releases on short notice. Since most MBONE nodes other than endpoints will have at least three tunnels, and each tunnel carries a separate (unicast) copy of each packet, it is also useful, though not required, to have multiple network interfaces on the workstation so it can be installed parallel to the unicast router for those sites with configurations like this:
+----------+ | Backbone | | Node | +----------+
|
------------------------------------------ External DMZ Ethernet
| |
+----------+ +----------+
| Router | | mrouted |
+----------+ +----------+
| |
------------------------------------------ Internal DMZ Ethernet
This configuration allows the mrouted machine to connect with tunnels to other regional networks over the external DMZ and the physical backbone network, and connect with tunnels to the lower-level mrouted machines over the internal DMZ, thereby splitting the load of the replicated packets. The mrouted machine would not do any unicast forwarding.
Note that end-user sites may participate with as little as one workstation that runs the packet audio and video software and has a tunnel to a network-provider node.
RFC 1112 gives the details.
FAQ (http://www.eit.com/techinfo/mbone/mbone.html)
(1994-11-11)

mbps
megabits per second

MBS
mobile broadband services

MC
language An extension of C with modules. Symbols in other modules can be referenced using a dot notation.
[ Design and Implementation of a C-Based Language for Distributed Real-Time Systems , A. Rizk et al, SIGPLAN Notices 22(6):83-96 (June 1987)].
(1995-10-06)

mc
networking The country code for Monaco.
(1999-01-27)

MC68000
Motorola 68000

MC6809
Motorola 6809

MCA
Micro Channel Architecture

MCC
1. Mosaic Communications Corporation.
2. The Microelectronics and Computer Technology Corporation.

McCulloch-Pitts neuron
artificial intelligence The basic building block of artificial neural networks. It receives one or more inputs and produces one or more identical outputs, each of which is a simple non-linear function of the sum of the inputs to the neuron. The non-linear function is typically a threshhold or step function which is usually smoothed (i.e. a sigmoid) to facilitate learning.
(1997-10-11)

McG360
Interactive, similar to PAL[5], for IBM 360.
McG360 Programmer's Guide , RC 2693, IBM TJWRC, Nov 1969.

MCI
company A United States long-distance telecommunications company. Recently bought from British Telecom [by ?].
(1998-05-18)

MCL
Macintosh Common LISP

M-Code
language 1. Intermediate language produced by some Modula-2 compilers.
[Which compilers?]
2. The intermediate language for an SECD-like machine, used by the Concert implementation of MultiLISP.
(1996-01-22)

MCP
motion compensated prediction

MCP-1600
A processor made by Western Digital, consisting of at least four separate integrated circuits, including the control circuitry unit, the ALU, two or four ROM chips with microcode, and timing circuitry.
The ALU chip contained twenty-six 8-bit registers and an 8-bit ALU, while the control unit supervised the moving of data, memory access, and other control functions. The ROM allowed the chip to function as either an 8- or 16-bit chip, with clever use of the 8-bit ALU. Further, microcode allowed the addition of floating-point routines (40 + 8 bit format), simplifying programming (and possibly producing a floating-point coprocessor).
Two standard microcode ROMs were available. This flexibility was one reason it was also used to implement the DEC LSI-11 processor as well as the WD Pascal Microengine.
(1994-11-18)

MCS
Meta Class System.
A portable object-oriented extension of Common Lisp from GMD. It integrates the functionality of CLOS and TELOS.
(ftp://gmdzi.gmd.de/pub/lisp/mcs)
(1994-10-21)

MCSD
Microsoft Certified Solution Developer

MCSE
Microsoft Certified System Engineer

mcvax
mcvax.cwi.nl used to be the international backbone node of EUnet, the European Unix network. It was located in Amsterdam, Netherlands and belonged to Centrum voor Wiskunde en Informatica (Centre for Mathematics and Computer Science) which is an institute belonging to a foundation called Mathematisch Centrum . Since the first mcvax was on of the first VAXen in Europe and one of it's first uucp connections was to a machine called decvax it was quickly christened mcvax. Some also say this was done to give Jim McKie a nice mail address: mcvax!mckie. But this is certainly not true at all. The function of EUnet international backbone moved to another VAX later but the name moved with it, because in those days of mainly uucp based mail and before widespread use of pathalias it was simply not feasible to rename the machine to europa as was suggested at one stage.
Mcsun (or relay.eu.net or net.eu.relay in some parts of Europe) replaced the international backbone host of EUnet around 1990. This machine was donated by Sun Microsystems owned by the European Unix Systems User Group (EUUG). It was located about 5m from where mcvax used to be and operated by the same people.
Mcvax has finally ceased to exist in the domain and uucp namespaces. It still exists in the EARN/BITNET namespace.
[Posting by Daniel Karrenberg dfk@eu.net to eunet.general].
(1990-03-02)

mcvert
tool A Unix program for reading and writing Apple Computer Macintosh binary files. It was written by Doug Moore, now at Rice University (Jan 1990).
See BinHex, HQX, MacBinary.
(1995-04-22)

MD
1. audio, storage Mini Disk.
2. programming major delivery.
3. message digest function.
(2001-12-02)

md
networking The country code for Moldova.
(1999-01-27)

MD5
Message Digest 5

MDF
Main Distribution Frame

MDI
Multiple Document Interface

MDL
(Originally Muddle ). C. Reeve, Carl Hewitt and Gerald Sussman, Dynamic Modeling Group, MIT ca. 1971. Intended as a successor to Lisp, and a possible base for Planner-70. Basically LISP 1.5 with data types and arrays. Many of its features were advanced at the time (I/O, interrupt handling and coroutining), and were incorporated into later LISP dialects ( optional , rest and aux markers). In the mid 80's there was an effort to use bytecoding to make the language portable. CLU was first implemented in MDL. Infocom wrote Zork in MDL, and used it as the basis for the ZIL interpreter.
Implementations exist for ITS, TOPS-20, BSD 4.3, Apollo Domain, SunOS and A/UX.
[ The MDL Programming Language , S.W. Galley et al, Doc SYS.11.01, Project MAC, MIT (Nov 1975)].

Mean Time Between Failures
specification (MTBF, or Mean Time Between Faults ) The average time (usually expressed in hours) that a component works without failure. It is calculated by dividing the total number of failures into the total number of operating hours observed. The term can also mean the length of time a user may reasonably expect a device or system to work before an incapacitating fault occurs.
See also Mean Time To Recovery.
(1998-05-01)

Mean Time Between Faults
Mean Time Between Failures

Mean Time To Recovery
specification (MTTR) The average time that a device will take to recover from a non-terminal failure. Examples of such devices range from self-resetting fuses (where the MTTR would be very short, probably seconds), up to whole systems which have to be replaced.
The MTTR would usually be part of a maintenance contract, where the user would pay more for a system whose MTTR was 24 hours, than for one of, say, 7 days. This means the supplier is guaranteeing to have the system up and running again within 24 hours (or 7 days) of being notified of the failure.
Some devices have a MTTR of zero, which means that they have redundant components which can take over the instant the primary one fails, see RAID for example.
See also Mean Time Between Failures.
(1998-05-01)

measure
testing To ascertain or appraise by comparing to a standard; to apply a metric.
(1996-12-27)

measurement
testing The act or process of measuring; a figure, extent, or amount obtained by measuring.
(1996-12-27)

meatspace
jargon The physical world (as opposed virtual reality) where you might spend facetime with the carbon community.
(1999-01-15)

meatware
Less common synonym for wetware.
[Was it Marvin Minsky who described brains as machines?/computers? made of meat ?]
[Jargon File]
(1994-10-21)

Media Access Control
networking (MAC) The lower sublayer of the OSI data link layer. The interface between a node's Logical Link Control and the network's physical layer. The MAC differs for various physical media.
See also MAC Address, Ethernet, token ring.
[What does it do? Examples? Media or Medium ?]
(1996-01-29)

Media Access Unit
networking (MAU or Multistation Access Unit, MSAU) In a Token Ring network, a device to attach multiple network stations in a star topology, internally wired to connect the stations into a logical ring. The MAU contains relays to short out nonoperating stations. Multiple MAUs can be connected into a larger ring through their Ring In/Ring Out connectors.
(1997-05-27)

Media Converter
networking A component used in Ethernet, although it is not part of the IEEE standard. The IEEE standard states that all segments must be linked with repeaters. Media converters were developed as a simpler, cheaper alternative to repeaters. However, in the 1990s the cost difference between the two is negligible.
(1996-12-09)

Media Gateway Control Protocol
communications, protocol (MGCP) A protocol used within a Voice over IP system. MGCP is an IETF work in progress, it superseded SGCP.
MGCP is an internal protocol used within a distributed system that appears to the outside world as a single VoIP gateway.
This system is composed of a Call Agent, and a set of gateways, including at least one media gateway that performs the conversion of media signals between circuits and packets, and at least one signalling gateway when connected to an SS7 controlled network.
IETF MGCP draft (http://www.ietf.org/internet-drafts/draft-huitema-megaco-mgcp-v0r1-05.txt).
(1999-03-17)

Medium Access Control
Media Access Control

meeces
jargon /mees'*z/ (TMRC) Occasional furry visitors who are not urchins; that is, mice. This may no longer be in live use. According to ESR it derives from the refrain of the early-1960s cartoon character Mr. Jinx: I hate meeces to *pieces*!
[Jargon File]
(1996-12-09)

Meet
greatest lower bound

meg
megabyte

mega-
prefix

megabits per second
unit (Mbps, Mb/s) Millions of bits per second. A unit of data rate. 1 Mb/s = 1,000,000 bits per second (not 1,048,576).
E.g. Ethernet can carry 10 Mbps.
(2002-03-23)

megabyte
unit (MB, colloquially meg ) 2^20 = 1,048,576 bytes = 1024 kilobytes. 1024 megabytes are one gigabyte.
The text of a six hundred page paperback book would require about a megabyte of ASCII storage.
See prefix.
(1997-03-26)

megaflop
unit Etymologically incorrect singular of megaflops .
(1995-02-28)

megaflops
unit One million floating-point operations per second. A common unit of measurement of performance of computers used for numerical work.
(2000-08-03)

MegaHertz
(MHz) Millions of cycles per second. The unit of frequency used to measure the clock rate of modern digital logic, including microprocessors.
(1994-10-27)

megapenny
/meg'*-pen ee/ $10,000 (1 cent * 10^6). Used semi-humorously as a unit in comparing computer cost and performance figures.
[Jargon File]

MEGO
/me goh/ or /mee'goh/ [ My Eyes Glaze Over , often Mine Eyes Glazeth (sic) Over , attributed to the futurologist Herman Kahn] Also MEGO factor . 1. A handwave intended to confuse the listener and hopefully induce agreement because the listener does not want to admit to not understanding what is going on. MEGO is usually directed at senior management by engineers and contains a high proportion of TLAs. 2. excl. An appropriate response to MEGO tactics. 3. Among non-hackers, often refers not to behaviour that causes the eyes to glaze, but to the eye-glazing reaction itself, which may be triggered by the mere threat of technical detail as effectively as by an actual excess of it.

Mei
library A set of class libraries by Atsushi Aoki aoki@sra.co.jp and others for Objectworks Smalltalk Release 4.1. Mei includes: Grapher Library for drawing diagrams; Meta Grapher Library (grapher to develop grapher); Drawing tools and painting tools (structured diagram editors and drawing editors); GUI builder; Lisp interpreter; Prolog interpreter; Pluggable gauges; Extended browser; (package, history, recover, etc.)
Mei is available under General Public License and requires Objectworks Smalltalk Release 4.1.
Current version: 0.50, as of 1993-01-20.
Home (http://www.sra.co.jp/people/aoki/htmls/FreeSoftwareForSmalltalk.html).
E-mail: Watanabe Katsuhiro katsu@sran14.sra.co.jp
(1999-12-08)

Mel
The Story of Mel

MELD
A concurrent, object-oriented, dataflow, modular and fault-tolerant language! MELD is comparable to SR.
[ MELDing Multiple Granularities of Parallelism , G. Kaiser et al, ECOOP '89, pp. 147-166, Cambridge U Press 1989].
(1994-11-11)

MELDC
A reflective object-oriented concurrent programming language developed in 1990 by the MELD Project of the Programming Systems Laboratory at Columbia University. MELDC is a redesign of MELD based on C.
The core of the architecture is a micro-kernel (the MELDC kernel), which encapsulates a minimum set of entities that cannot be modelled as objects. All components outside of the kernel are implemented as objects in MELDC itself and are modularised in the MELDC libraries. MELDC is reflective in three dimensions: structural, computational and architectural. The structural reflection indicates that classes and meta-classes are objects, which are written in MELDC. The computational reflection means that object behaviours can be computed and extended at run time. The architectural reflection indicates that new features/properties (e.g. persistency and remoteness) can be constructed in MELDC.
Version 2.0 runs on Sun-4/SunOS 4.1 and DECstation and MIPS/Ultrix 4.2.
E-mail: Gail Kaiser meldc@cs.columbia.edu .
MELDC is available under licence from MeldC@cs.columbia.edu and may not be used for commercial purposes.
(1992-12-15)

Melinda
[ Melinda: Linda with Multiple Tuple Spaces , S. Hupfer, hupfer-susanne@yale.edu YALEU/DCS/RR-766, Yale U Feb 1990].
(1994-11-11)

Mellor
Schlaer-Mellor

meltdown
network meltdown

member function
A method in C++.

membership function
See fuzzy subset.

meme
philosophy /meem/ [By analogy with gene ] Richard Dawkins's term for an idea considered as a replicator, especially with the connotation that memes parasitise people into propagating them much as viruses do.
Memes can be considered the unit of cultural evolution. Ideas can evolve in a way analogous to biological evolution. Some ideas survive better than others; ideas can mutate through, for example, misunderstandings; and two ideas can recombine to produce a new idea involving elements of each parent idea.
The term is used especially in the phrase meme complex denoting a group of mutually supporting memes that form an organised belief system, such as a religion. However, meme is often misused to mean meme complex .
Use of the term connotes acceptance of the idea that in humans (and presumably other tool- and language-using sophonts) cultural evolution by selection of adaptive ideas has become more important than biological evolution by selection of hereditary traits. Hackers find this idea congenial for tolerably obvious reasons.
See also memetic algorithm.
[Jargon File]
(1996-08-11)

meme plague
philosophy The spread of a successful but pernicious meme, especially one that parasitises the victims into giving their all to propagate it. Astrology, BASIC, and the other guy's religion are often considered to be examples. This usage is given point by the historical fact that joiner ideologies like Naziism or various forms of millennarian Christianity have exhibited plague-like cycles of exponential growth followed by collapses to small reservoir populations.
[Jargon File]
(1996-08-11)

memetic algorithm
algorithm A genetic algorithm or evolutionary algorithm which includes a non-genentic local search to improve genotypes. The term comes from the Richard Dawkin's term meme .
One big difference between memes and genes is that memes are processed and possibly improved by the people that hold them - something that cannot happen to genes. It is this advantage that the memetic algorithm has over simple genetic or evolutionary algorithms.
These algorithms are useful in solving complex problems, such as the Travelling Salesman Problem, which involves finding the shortest path through a large number of nodes, or in creating artificial life to test evolutionary theories.
Memetic algorithms are one kind of metaheuristic.
UNLP memetic algorithms home page (http://www.ing.unlp.edu.ar/cetad/mos/memetic_home.html).
(07 July 1997)

memetics
philosophy /me-met'iks/ The study of memes.
As of mid-1993, this is still an extremely informal and speculative endeavor, though the first steps towards at least statistical rigor have been made by H. Keith Henson and others. Memetics is a popular topic for speculation among hackers, who like to see themselves as the architects of the new information ecologies in which memes live and replicate.
[Jargon File]
(2000-01-09)

Memex
hypertext Vannevar Bush's original name for hypertext, which he invented in the 1930s.
Fantastic article (http://jefferson.village.virginia.edu/elab/hfl0051.html).
(2000-01-09)

memo function
programming (Or memoised function ) A function that remembers which arguments it has been called with and the result returned and, if called with the same arguments again, returns the result from its memory rather than recalculating it.
Memo functions were invented by Professor Donald Michie of Edinburgh University. The idea was further developed by Robin Popplestone in his Pop2 language long before it was ever worked into LISP.
This same principle is found at the hardware level in computer architectures which use a cache to store recently accessed memory locations.
A Common Lisp package by Marty Hall hall@aplcenmp.apl.jhu.edu (ftp://archive.cs.umbc.edu/pub/Memoization).
[ 'Memo' functions: and machine learning , Donald Michie, Nature, 218, 19-22, 1968].
(2002-07-02)

memoisation
memo function

memoised function
memo function

memoization
memo function

memoized function
memo function

memory
storage These days, usually used synonymously with Random Access Memory or Read-Only Memory, but in the general sense it can be any device that can hold data in machine-readable format.
(1996-05-25)

memory address space
architecture 1. Any part of a processor's address space that is occupied by memory.
2. The range of addresses seen by a memory device relative to the base address at which it is mapped into the processor's address space.
(1999-11-01)

memory farts
jargon, humour The flatulent sounds that some MS-DOS box BIOSes (most notably AMI's) make when checking memory at boot time.
[Jargon File]
(1994-11-02)

memory leak
programming An error in a program's dynamic store allocation logic that causes it to fail to reclaim discarded memory, leading to eventual collapse due to running out of memory. Also (especially at CMU) called core leak. These problems were severe on older machines with small, fixed-size address spaces, and special leak detection tools were commonly written to root them out.
With the advent of virtual memory, it is unfortunately easier to be sloppy about wasting a bit of memory (although when you run out of virtual memory, it means you've got a *real* leak!).
See aliasing bug, fandango on core, smash the stack, precedence lossage, overrun screw, leaky heap, leak.
[Jargon File]
(1995-02-17)

memory location
storage A byte, word or other small unit of storage space in a computer's main memory that is identified by its starting address (and size).
(1999-04-19)

memory management
memory management, storage A collection of techniques for providing sufficient memory to one or more processes in a computer system, especially when the system does not have enough memory to satisfy all processes' requirements simultaneously. Techniques include swapping, paging and virtual memory. Memory management is usually performed mostly by a hardware memory management unit.
(1995-01-23)

Memory Management Unit
hardware, memory management (MMU, Paged Memory Management Unit , PMMU) A hardware device or circuit that supports virtual memory and paging by translating virtual addresses into physical addresses.
The virtual address space (the range of addresses used by the processor) is divided into pages, whose size is 2^N, usually a few kilobytes. The bottom N bits of the address (the offset within a page) are left unchanged. The upper address bits are the (virtual) page number. The MMU contains a page table which is indexed (possibly associatively) by the page number. Each page table entry (PTE) gives the physical page number corresponding to the virtual one. This is combined with the page offset to give the complete physical address.
A PTE may also include information about whether the page has been written to, when it was last used (for a least recently used replacement algorithm), what kind of processes (user mode, supervisor mode) may read and write it, and whether it should be cached.
It is possible that no physical memory (RAM) has been allocated to a given virtual page, in which case the MMU will signal a page fault to the CPU. The operating system will then try to find a spare page of RAM and set up a new PTE to map it to the requested virtual address. If no RAM is free it may be necessary to choose an existing page, using some replacement algorithm, and save it to disk (this is known as paging ). There may also be a shortage of PTEs, in which case the OS will have to free one for the new mapping.
In a multitasking system all processes compete for the use of memory and of the MMU. Some memory management architectures allow each process to have its own area or configuration of the page table, with a mechanism to switch between different mappings on a process switch. This means that all processes can have the same virtual address space rather than require load-time relocation.
An MMU also solves the problem of fragmentation of memory. After blocks of memory have been allocated and freed, the free memory may become fragmented (discontinuous) so that the largest contiguous block of free memory may be much smaller than the total amount. With virtual memory, a contiguous range of virtual addresses can be mapped to several non-contiguous blocks of physical memory.
In early designs memory management was performed by a separate integrated circuit such as the MC 68851 used with the the Motorola 68020 CPU in the Macintosh II or the Z8015 used with the Zilog Z80 family of processors. Later CPUs such as the Motorola 68030 and the ZILOG Z280 have MMUs on the same IC as the CPU.
(1999-05-24)

memory mapped I/O
architecture The use of the same instructions and bus to communicate with both main memory and input/output devices. This is in contrast to processors that have a separate I/O bus and special instructions to access it.
The I/O devices are addressed at certain reserved address ranges on the main memory bus. These addresses cannot therefore be used for RAM. Motorola and Mostec architectures, among others, use memory mapped I/O.
Video cards and other cards with on-board memory might be accessed in this way though the term applies not just to devices containing memory but to any device connected to the memory bus. Accessing the devices usually consists of reading and writing certain built-in registers though sometimes the mere presence of a particular address can trigger the device.
(1997-04-14)

memory protection
memory management A system to prevent one process corrupting the memory (or other resources) of any other, including the operating system. Memory protection usually relies on a combination of hardware (a memory management unit) and software to allocate memory to processes and handle exceptions.
The effectiveness of memory protection varies from one operating system to another. In most versions of Unix it is almost impossible to corrupt another process' memory, except in some archaic implementations and Lunix (not Linux!). Under Microsoft Windows (version? hardware?) any 16 bit application(?) can circumvent the memory protection, often leading to one or more GPFs. Currently (April 1996) neither Microsoft Windows 3.1, Windows 95, nor Mac OS offer memory protection. Windows NT has it, and Mac OS System 8 will offer a form of memory protection.
[MS DOS EMM386 relevant?]
(1996-09-10)

memory smash
jargon A Xerox PARC term for writing to the location addressed by a dangling pointer.
[Jargon File]
(1994-11-02)

Memory Type Range Registers
architecture, video (MTRR) Registers in the Pentium Pro and Pentium II processors that can be used to specify a strategy for communication with the external memory and caches for a number of physical address ranges.
Strategies include write-through, write-back, or uncached(?). Such control is useful where the memory is located on a device and is accessed via some kind of device bus, e.g. a PCI or AGP graphics card, where caching would be of no benefit.
(1999-07-02)

MEMS
microelectromechanical system

Mentat
language (After the human computers in Frank Herbert's SF classic, Dune ) An object-oriented distributed language developed at the University of Virginia some time before Dec 1987. Mentat is an extension of C++ and is portable to a variety of MIMD architectures.
By 1994 Mentat was available for Sun-3, Sun-4, iPSC/2 with plans for Mach, iPSC860, RS/6000 and Iris. The language is now (May 1998) supported in a new project, Legion.
E-mail: mentat@uvacs.cs.virginia.edu .
[ Mentat: An Object-Oriented Macro Data Flow System , A. Grimshaw grimshaw@cs.virginia.edu et al, SIGPLAN Notices 22(12):35-47, Dec 1987, OOPSLA '87].
(1998-05-15)

MENTOR
CAI language. Computer Systems for Teaching Complex Concepts , Report 1742, BBN, Mar 1969.

menu
operating system A list from which the user may select an operation to be performed. This is often done with a mouse or other pointing device under a graphical user interface but may also be controlled from the keyboard.
Menus are very convenient for beginners because they show what commands are available and make experimentating with a new program easy, often reducing the need for user documentation. Experienced users however, often prefer keyboard commands, especially for frequently user operations, because they are faster to use. In situations such as text entry where the keyboard must be used anyway, having to move your hand to the mouse to invoke a menu operation is slow.
There are many different ways of presenting menus but the most common are the menu bar (with pull-down menus) and the context-sensitive menu.
The term menu tends to be reserved for a list of actions or global options, whereas a list box or other graphical widget might present any kind of choice.
See also menuitis.
(1994-12-02)

menu bar
operating system A permanently displayed menu spread horizontally across the top of the screen or window. When the mouse is pressed over an item on the menu bar, a pull-down menu appears.
(1999-09-22)

menuitis
/men yoo-i: tis/ A notional disease suffered by software with an obsessively simple-minded menu interface and no escape. Hackers find this intensely irritating and much prefer the flexibility of command-line or language-style interfaces, especially those customisable via macros or a special-purpose language in which one can encode useful hacks.
See user-obsequious, drool-proof paper, WIMP, for the rest of us.
[Jargon File]
(1994-12-02)

MENYMA/S
[ A Message Oriented Language for System Applications , A. Koch et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp. 824-832].
(1994-12-02)

Mercury Autocode
Autocode for the Ferranti Mercury machine.

mercury delay line
storage, history An archaic first-in first-out fixed time period data storage device using acoustic transducers to transmit data as waves in a trough or tube of mercury.
EDSAC (Cambridge) and UNIVAC I used delay lines.
(2002-06-12)

MERISE
Methode d'Etude et de Realisation Informatique pour les Systemes d'Enteprise.
A software engineering method popular in France; many IPSEs are based on it.
(1995-01-24)

Merlin
OS/2

MEROON
language An object-oriented system built on Scheme.
[What kind of system?]
(ftp://nexus.yorku.ca/pub/scheme/new/).
(1997-05-05)

Mesa
Xerox PARC, 1977. System and application programming for proprietary hardware: Alto, Dolphin, Dorado and Dandelion. Pascal-like syntax, ALGOL68-like semantics. An early version was weakly typed. Mesa's modules with separately compilable definition and implementation parts directly led to Wirth's design for Modula. Threads, coroutines (fork/join), exceptions, and monitors. Type checking may be disabled. Mesa was used internally by Xerox to develop ViewPoint, the Xerox Star, MDE, and the controller of a high-end copier. It was released to a few universitites in 1985. Succeeded by Cedar.
[ Mesa Language Manual , J.G. Mitchell et al, Xerox PARC, CSL-79-3 (Apr 1979)].
[ Early Experience with Mesa , Geschke et al, CACM 20(8):540-552 (Aug 1977)].

mesh
character The INTERCAL name for hash.

MESI protocol
processor Modified, Exclusive, Shared, Invalid.
A cache coherency protocol where each cache line is marked with one of the four states.
The MESI protocol is used by the Pentium processor.
(1995-05-05)

message
In object-oriented programming sending a message to an object (to invoke a method) is equivalent to calling a procedure in traditional programming languages, except that the actual code executed may only be selected at run time depending on the class of the object. Thus, in response to the message drawSelf , the method code invoked would be different if the target object were a circle or a square.
(1995-02-16)

Message Digest 5
messaging The message digest function defined in RFC 1321.
(1996-08-04)

message digest function
one-way hash function

Message Handling System
messaging, standard (MHS) The standard defined by ITU-T as X.400 and by ISO as Message-Oriented Text Interchange Standard (MOTIS). MHS is the X.400 family of services and protocols that provides the functions for global electronic mail transfer among local mail systems and MTAs.
It is used by CompuServe, among others.
(1996-09-25)

message passing
One of the two techniques for communicating between parallel processes (the other being shared memory).
A common use of message passing is for communication in a parallel computer. A process running on one processor may send a message to a process running on the same processor or another. The actual transmission of the message is usually handled by the run-time support of the language in which the processes are written, or by the operating system.
Message passing scales better than shared memory, which is generally used in computers with relatively few processors. This is because the total communications bandwidth usually increases with the number of processors.
A message passing system provides primitives for sending and receiving messages. These primitives may by either synchronous or asynchronous or both. A synchronous send will not complete (will not allow the sender to proceed) until the receiving process has received the message. This allows the sender to know whether the message was received successfully or not (like when you speak to someone on the telephone). An asynchronous send simply queues the message for transmission without waiting for it to be received (like posting a letter). A synchronous receive primitive will wait until there is a message to read whereas an asynchronous receive will return immediately, either with a message or to say that no message has arrived.
Messages may be sent to a named process or to a named mailbox which may be readable by one or many processes.
Transmission involves determining the location of the recipient and then choosing a route to reach that location. The message may be transmitted in one go or may be split into packets which are transmitted independently (e.g. using wormhole routing) and reassembled at the receiver. The message passing system must ensure that sufficient memory is available to buffer the message at its destination and at intermediate nodes.
Messages may be typed or untyped at the programming language level. They may have a priority, allowing the receiver to read the highest priority messages first.
Some message passing computers are the MIT J-Machine (http://www.ai.mit.edu/projects/cva/cva_j_machine.html), the Illinois Concert Project (http://www-csag.cs.uiuc.edu/projects/concert.html) and transputer-based systems.
Object-oriented programming uses message passing between objects as a metaphor for procedure call.
(1994-11-11)

Message Passing Interface
communications, protocol A de facto standard for communication among the nodes running a parallel program on a distributed memory system. MPI is a library of routines that can be called from Fortran and C programs. MPI's advantage over older message passing libraries is that it is both portable (because MPI has been implemented for almost every distributed memory architecture) and fast (because each implementation is optimised for the hardware it runs on).
[Address?]
(1997-06-09)

message switching
store and forward

Message Transfer Agent
messaging (MTA) The program responsible for delivering e-mail messages. Upon receiving a message from a Mail User Agent or another MTA it stores it temporarily locally and analyses the recipients and either delivers it (local addressee) or forwards it to another MTA (routing). In either case it may edit and/or add to the message headers.
The most widely used MTA for Unix is sendmail.
[Other OSes?]
(1997-02-28)

Messaging Application Programming Interface
messaging (MAPI) A messaging architecture and a client interface component for applications such as electronic mail, scheduling, calendaring and document management. As a messaging architecture, MAPI provides a consistent interface for multiple application programs to interact with multiple messaging systems across a variety of hardware platforms.
MAPI provides better performance and control than Simple MAPI, Common Messaging Calls (CMC) or the Active Messaging Library. It has a comprehensive, open, dual-purpose interface, integrated with Microsoft Windows. MAPI can be used by all levels and types of client application and service providers - driver-like components that provide a MAPI interface to a specific messaging system. For example, a word processor can send documents and a workgroup application can share and store different types of data using MAPI.
MAPI separates the programming interfaces used by the client applications and the service providers. Every component works with a common, Microsoft Windows-based user interface. For example, a single messaging client application can be used to receive messages from fax, a bulletin board system, a host-based messaging system and a LAN-based system. Messages from all of these systems can be delivered to a single universal Inbox .
MAPI is aimed at the powerful, new market of workgroup applications that communicate with such different messaging systems as fax, DEC All-In-1, voice mail and public communications services such as AT T Easylink Services, CompuServe and MCI MAIL. Because workgroup applications demand more of their messaging systems, MAPI offers much more than basic messaging in the programming interface and supports more than local area network (LAN)-based messaging systems. Applications can, for example, format text for a single message with a variety of fonts and present to their users a customised view of messages that have been filtered, sorted or preprocessed.
MAPI is built into Windows 95 and Windows NT and can be used by 16-bit and 32-bit Windows applications. The programming interface and subsystem contained in the MAPI DLL provide objects which conform to the Component Object Model. MAPI includes standard messaging client applications that demonstrate different levels of messaging support.
MAPI provides cross platform support through such industry standards as SMTP, X.400 and Common Messaging Calls. MAPI is the messaging component of Windows Open Services Architecture (WOSA).
[Correct expansion? Relatonship with Microsoft?]
(1997-12-03)

Messaging Applications Programming Interface
Messaging Application Programming Interface

mess-dos
/mes-dos/ (Or MS-DOG, Messy-DOS, mess-dross, mess-loss, mush-dos) Derisory term for MS-DOS. Often followed by the ritual banishing Just say No!
Most hackers (even many MS-DOS hackers) loathe MS-DOS for its single-tasking nature, its limits on application size, its nasty primitive interface, and its ties to IBMness (see fear and loathing).
In Ireland and the UK it is sometimes called Domestos after a brand of toilet cleanser.
[Jargon File]
(1994-11-16)

META
language The assembly language for the CYBER 200, developed at CDC ca 1977.
[CDC Pub 60256020].
[Jargon File]
(1994-11-16)

meta
philosophy /me't*/ or /may't*/ or (Commonwealth) /mee't*/ A prefix meaning one level of description higher. If X is some concept then meta-X is data about, or processes operating on, X.
For example, a metasyntax is syntax for specifying syntax, metalanguage is a language used to discuss language, meta-data is data about data, and meta-reasoning is reasoning about reasoning.
This is difficult to explain briefly, but much hacker humour turns on deliberate confusion between meta-levels.
[Jargon File]
(1999-04-06)

META 5
Early syntax-directed compiler-compiler, used for translating one high-level language to another.
Versions: META II, META-3.
[ META 5: A Tool to Manipulate Strings of Data , D.K. Oppenheim et al, Proc 21st Natl Conf, ACM 1966].
[Sammet 1969, p. 638].
(1995-01-23)

meta bit
The top bit of an 8-bit character, which is on in character values 128--255. Also called high bit, alt bit, or hobbit. Some terminals and consoles (see space-cadet keyboard) have a META shift key. Others (including, *mirabile dictu*, keyboards on IBM PC-class machines) have an ALT key. See also bucky bits.
Historical note: although in modern usage shaped by a universe of 8-bit bytes the meta bit is invariably hex 80 (octal 0200), things were different on earlier machines with 36 bit words and 9-bit bytes. The MIT and Stanford keyboards (see space-cadet keyboard) generated hex 100 (octal 400) from their meta keys.
[Jargon File]

MetaCard
A commercial human interface and hypertext system for Unix and the X Window System, similar to Hypercard.
(1994-11-17)

Meta-CASE tool
A term sometimes used for software packages (like TBK or VSF) which allow users to develop or customise their own CASE tools.

Metaclass
The class of a class. A metaclass is a class whose instances are themselves classes.

Meta-Crystal
A language for transformations of Crystal programs. Implemented in T. Meta-Crystal- A Metalanguage for Parallel-Program Optimisation , J.A. Yang et al, TR YALEU/DCS/TR-786, Yale Apr 1990. (See Crystal).

Metadata
product (Note: One unhyphenated word with initial capital; contrast meta data) A word coined by Jack E. Myers to represent current and future lines of products implementing the concepts of his MetaModel, and also to designate his company The Metadata Company that would develop and market those products.
A data and publication search performed when Myers coined the term, early in the summer of 1969, did not discover any use either of the word metadata or meta data . Myers used the term in a 1973 product brochure and it is an Incontestable registered U.S. Trademark.
(1997-04-06)

meta-data
data /me't*-day`t*/, or combinations of /may'-/ or (Commonwealth) /mee'-/; /-dah`t*/ (Or meta data ) Data about data. In data processing, meta-data is definitional data that provides information about or documentation of other data managed within an application or environment.
For example, meta-data would document data about data elements or attributes, (name, size, data type, etc) and data about records or data structures (length, fields, columns, etc) and data about data (where it is located, how it is associated, ownership, etc.). Meta-data may include descriptive information about the context, quality and condition, or characteristics of the data.
Not to be confused with Metadata.
(1997-04-06)

Metadata Information Partners
The Metadata Company

META element
World-Wide Web An element, with tag name of META , expressing meta-data about a given HTML document. HTML standards do not require that documents have META elements; but if META elements occur, they must be inside the document's HEAD element.
The META element can be used to identify properties of a document (e.g., author, expiration date, a list of key words, etc.) and assign values to those properties, typically by specifying a NAME attribute (to name the property) and a CONTENT attribute (to assign a value for that property). The HTML 4 specification doesn't standardise particular NAME properties or CONTENT values; but it is conventional to use a Description property to convey a short summary of the document, and a Keywords property to provide a list of keywords relevant to the document, as in:
META NAME= Description CONTENT= Information from around the
world on kumquat farming techniques and current kumquat
production and consumption data
META NAME= Keywords CONTENT= kumquat, Fortunella
META elements with HTTP-EQUIV and CONTENT attributes can simulate the effect of HTTP header lines, as in:
META HTTP-EQUIV= Expires CONTENT= Tue, 22 Mar 2000 16:18:35 GMT
META HTTP-EQUIV= Refresh CONTENT= 10; URL=http://www.foldoc.org/
Other properties may be application-specific. For example, the Robots Exclusion (http://info.webcrawler.com/mak/projects/robots/norobots.html) standard uses the robots property for asserting that the given document should not be indexed by robots, nor should links in it be followed:
META NAME= robots CONTENT= noindex,follow
(2001-02-07)

metafile
graphics, file format 1. An image file format for transport between different machines, often as a device independent bitmap.
2. A functional specification for encoding computer graphics for later display on some suitable device.
(1996-09-20)

METAFONT
A system for the design of raster-based alphabets by Donald Knuth. A companion to TeX.
[ The METAFONT Book, Donald Knuth, A-W 1986. Version 2.0, March 1990].
(1994-11-04)

metaheuristic
algorithm, complexity, computability A top-level general strategy which guides other heuristics to search for feasible solutions in domains where the task is hard.
Metaheuristics have been most generally applied to problems classified as NP-Hard or NP-Complete by the theory of computational complexity. However, metaheuristics would also be applied to other combinatorial optimisation problems for which it is known that a polynomial-time solution exists but is not practical.
Examples of metaheuristics are Tabu Search, simulated annealing, genetic algorithms and memetic algorithms.
(1997-10-30)

Meta-II
An early compiler-compiler.
[ Meta-II: a Syntax Oriented Compiler Writing Language , V. Schorre, Proc 19th ACM Natl Conf 1964].
(1995-01-23)

metainformation
meta-data

Meta-IV
Vienna Development Method Specification Language

METAL
1. Mega-Extensive Telecommunications Applications Language. BBS language for PRODOS 8 on Apple II.
2. The syntax-definition formalism of the Mentor system. Metal specifications are compiled to specifications for a scanner/parser generator such as Lex/Yacc. Metal: A Formalism to Specify Formalisms , G. Kahn et al, Sci Comp Prog 3:151-188 (1983).

metalanguage
1. [theorem proving] A language in which proofs are manipulated and tactics are programmed, as opposed to the logic itself (the object language ). The first ML was the metalanguage for the Edinburgh LCF proof assistant.
2. [logic] A language in which to discuss the truth of statements in another language.

Metal Oxide Semiconductor
electronics (MOS) The three materials used to form a gate in the most common kind of Field Effect Transistor - a MOSFET.
[Other MOS devices?]
(1996-05-27)

Metal Oxide Semiconductor Field Effect Transistor
electronics (MOSFET) A Field Effect Transistor in which the conducting channel is insulated from the gate terminal by a layer of oxide. Therefore it does not conduct even if a reverse voltage is applied to the gate.
(1997-02-24)

metaphone
algorithm, text An algorithm for encoding a word so that similar sounding words encode the same. It's similar to soundex in purpose, but as it knows the basic rules of English pronunciation it's more accurate. The higher accuracy doesn't come free, though, metaphone requires more computational power as well as more storage capacity, but neither of these requirements are usually prohibitive. It is in the public domain so it can be freely implemented.
Metaphone was developed by Lawrence Philips lphilips@verity.com . It is described in [ Practical Algorithms for Programmers , Binstock Rex, Addison Wesley, 1995].
(1998-12-22)

metaprogram
A program which modifies or generates other programs. A compiler is an example of a metaprogram: it takes a program as input and produces another (compiled) one as output.
(1994-10-24)

metasyntactic variable
grammar Strictly, a variable used in metasyntax, but often used for any name used in examples and understood to stand for whatever thing is under discussion, or any random member of a class of things under discussion. The word foo is the canonical example. To avoid confusion, hackers never (well, hardly ever) use foo or other words like it as permanent names for anything.
In filenames, a common convention is that any filename beginning with a metasyntactic-variable name is a scratch file that may be deleted at any time.
To some extent, the list of one's preferred metasyntactic variables is a cultural signature. They occur both in series (used for related groups of variables or objects) and as singletons. Here are a few common signatures:
foo, bar, baz, quux, quuux, quuuux...: MIT/Stanford usage, now found everywhere. At MIT (but not at Stanford), baz dropped out of use for a while in the 1970s and '80s. A common recent mutation of this sequence inserts qux before quux.
bazola, ztesch: Stanford (from mid-'70s on).
foo, bar, thud, grunt: This series was popular at CMU. Other CMU-associated variables include ack, barf, foo, and gorp.
foo, bar, fum: This series is reported to be common at Xerox PARC.
fred, barney: See the entry for fred. These tend to be Britishisms.
toto, titi, tata, tutu: Standard series of metasyntactic variables among francophones.
corge, grault, flarp: Popular at Rutgers University and among GOSMACS hackers.
zxc, spqr, wombat: Cambridge University (England).
shme: Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/.
foo, bar, zot: Helsinki University of Technology, Finland.
blarg, wibble: New Zealand
Of all these, only foo and bar are universal (and baz nearly so). The compounds foobar and foobaz also enjoy very wide currency.
Some jargon terms are also used as metasyntactic names; barf and mumble, for example.
See also Commonwealth Hackish for discussion of numerous metasyntactic variables found in Great Britain and the Commonwealth.
[Jargon File]
(1995-11-13)

metasyntax
grammar Syntax used to describe syntax. The best known example is BNF and its variants such as EBNF.
A metasyntactic variable is a variable used in metasyntax.
(1999-04-06)

META tag
META element

Meta-Vlisp
language An innovative Lisp dialect by E. St.James of IBP, France.
(2000-12-19)

Met-English
A Fortran-like language designed at Metropolitan Life in the early 1960s. It had support for variable-length bit fields. Most MetLife DP in the 1960s and 1970s was in Met-English. It was originally developed for Honeywell machines, but many programs still run under IBM MVS via a Honeywell emulator.
(1995-02-15)

METEOR
A version of COMIT with Lisp-like syntax, written in MIT Lisp 1.5 for the IBM 7090. METEOR - A List Interpreter for String Transformation , D.G. Bobrow in The Programming Language LISP and its Interpretation, E.D. and D.G. Bobrow eds, 1964.

meter
spelling US spelling of metre .
(1998-02-07)

method
programming The name given in Smalltalk and other object-oriented languages to a procedure or routine associated with one or more classes. An object of a certain class knows how to perform actions, e.g. printing itself or creating a new instance of itself, rather than the function (e.g. printing) knowing how to handle different types of object.
Different classes may define methods with the same name (i.e. methods may be polymorphic). The term method is used both for a named operation, e.g. PRINT and also for the code which a specific class provides to perform tha t operation.
Most methods operate on objects that are instances of a certain class. Some object-oriented languages call these object methods to distinguish then from class methods .
In Smalltalk, a method is defined by giving its name, documentation, temporary local variables and a sequence of expressions separated by . s.
(2000-03-22)

methodology
1. programming An organised, documented set of procedures and guidelines for one or more phases of the software life cycle, such as analysis or design. Many methodologies include a diagramming notation for documenting the results of the procedure; a step-by-step cookbook approach for carrying out the procedure; and an objective (ideally quantified) set of criteria for determining whether the results of the procedure are of acceptable quality.
An example is The Yourdon methodology.
2. A pretentious way of saying method .
(1995-04-10)

Methods
language A line-oriented Smalltalk for PC's, produced by Digitalk ca 1985. Methods was the predecessor of Smalltalk/V.
(1995-04-16)

me too
A functional language for executable specifications developed by Peter Henderson in 1984. It is like LispKit Lisp, but with sets, maps and sequences to describe the specification.
[ Functional Programming, Formal Specification and Rapid Prototyping , IEEE Trans Soft Eng, SE-12(2):241-250 (Feb 1986)].
(1994-10-21)

metre
unit (US meter ) The fundamental SI unit of length.
From 1889 to 1960, the metre was defined to be the distance between two scratches in a platinum-iridium bar kept in the vault beside the Standard Kilogram at the International Bureau of Weights and Measures near Paris.
This replaced an earlier definition as 10^-7 times the distance between the North Pole and the Equator along a meridian through Paris; unfortunately, this had been based on an inexact value of the circumference of the Earth.
From 1960 to 1984 it was defined to be 1650763.73 wavelengths of the orange-red line of krypton-86 propagating in a vacuum.
It is now defined as the length of the path traveled by light in a vacuum in the time interval of 1/299,792,458 of a second.
(1998-02-07)

metric
software metric

Metropolitan Area Network
(MAN) A data network intended to serve an area the size of a large city. Such networks are being implemented by innovative techniques, such as running optical fibre through subway tunnels. A popular example of a MAN is SMDS.
See also Local Area Network, Wide Area Network.
(1994-11-22)

M-expression LISP
(MLISP) The original meta-language syntax of Lisp, designed by John McCarthy in 1962. MLISP was intended for external use in place of the parenthesised S-expression syntax.
[ LISP 1.5 Programmer's Manual , J. McCarthy et al, MIT Press 1962].
(1994-11-22)

MFC
Microsoft Foundation Class
(1995-11-16)

MFE
maximal free expression

MFLOPS
1. unit megaflops.
2. benchmark A benchmark which attemps to estimate a system's floating-point MFLOPS rating for specific FADD, FSUB, FMUL and FDIV instruction mixes.
C Source (ftp://ftp.nosc.mil/pub/aburto/flops20.c). Results (http://performance.netlib.org/performance/html/flops.html), (ftp://ftp.nosc.mil/pub/aburto/flops_1.tbl), (ftp://ftp.nosc.mil/pub/aburto/flops_2.tbl), (ftp://ftp.nosc.mil/pub/aburto/flops_3.tbl), (ftp://ftp.nosc.mil/pub/aburto/flops_4.tbl).
(1994-11-14)

MFM
Modified Frequency Modulation

MFTL
My Favourite Toy Language

mg
networking The country code for Madagascar.
(1999-01-27)

MGCP
Media Gateway Control Protocol

mh
networking The country code for Marshall Islands.
(1999-01-27)

MHDL
1. MIMIC Hardware Description Language.
2. Microwave Hardware Description Language.

MHEG
Multimedia and Hypermedia information coding Expert Group

MHS
message handling system

MHz
MegaHertz

MIB
Management Information Base

MIB Variable
A managed object that is defined in a Management Information Base (MIB). The object is defined by a textual name and a corresponding object identifier, a syntax, an access mode, a status, and a description of the semantics of the managed object. The MIB Variable contains pertinent management information that is accessible as defined by the access mode.
(1995-03-22)

Mic-1
Microprogramming language, used in Andrew Tanenbaum's book.
See Mac-1.
[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H 1989, Sect 4.4, 4.5].

Mic-2
Microprogramming language, used in Tanenbaum's book.
See Mac-1.
[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H 1989, Sect 4.4, 4.5].

MICE
Multimedia Integrated Conferencing for European Researchers

mice
mouse

Michigan Algorithm Decoder
language (MAD) An early programming language, based on IAL, developed at the University of Michigan by R. Graham, Bruce Arden, and Bernard Galler in 1959.
MAD ran on the IBM 704, IBM 709, and IBM 7090, and was later ported to Philco, Univac and CDC computers. It was one of the first extensible languages: the user could define his own operators and data types.
Mad/1 was a later version.
[ Michigan Algorithm Decoder (The MAD Manual) , U Michigan Computing Center, 1966].
[Sammet 1969, p. 205].
(1999-12-10)

mickey
unit, humour The unit of resolution of mouse movement.
It has been suggested that the disney will become a benchmark unit for animation graphics performance.
[Jargon File]
(1999-06-30)

mickey mouse program
jargon The North American equivalent of a noddy program , i.e. trivial. The term doesn't necessarily have the belittling connotations of mainstream slang Oh, that's just mickey mouse stuff! ; sometimes trivial programs can be very useful.
[Jargon File]
(1995-04-10)

MICR
Magnetic Ink Character Recognition

micro
microprocessor

micro-
prefix

Micro Assembly Language
language (MAL) A microprogramming language with high-level syntax, used in the reference below.
See also Mic-1, Mac-1.
[Structured Computer Organization, A.S. Tanenbaum, 3rd ed, P-H 1989, Sect 4.4].
(1995-04-10)

microcentury
One CS professor used to characterise the standard length of his lectures as a microcentury - that is, about 52.6 minutes (see also attoparsec, nanoacre, and especially microfortnight).

Micro Channel Architecture
architecture (MCA) IBM's proprietary 32-bit bus, used in high-end PS/2 personal computers. Micro Channel is designed for multiprocessing. It eliminates potential conflicts that arise when installing new peripheral devices. MCA is *not* compatible with either EISA or XT bus architecture so older cards cannot be used with it.
As with the ROM BIOS in the first IBM PCs, figuring out the Micro Channel's secrets has been an arduous task of reverse engineering ever since the PS/2 line was announced. Consequently, the MCA has never become as wide spread as the competing EISA standard.
(1996-08-16)

microcode
programming A technique for implementing the instruction set of a processor as a sequence of microcode instructions ( microinstructions ), each of which typically consists of a (large) number of bit fields and the address of the next microinstruction to execute. Each bit field controls some specific part of the processor's operation, such as a gate which allows some functional unit to drive a value onto the bus or the operation to be performed by the ALU. Several microinstructions will usually be required to fetch, decode and execute each machine code instruction ( macroinstruction ). The microcode may also be responsible for polling for hardware interrupts between each macroinstruction. Writing microcode is known as microprogramming .
Microcode may be classified as horizontally encoded or vertically encoded . Horizontal microcode is as described above where there is a fairly direct correspondence between the bit fields in a microinstruction and the control signals sent to the various parts of the CPU. Not all combinations of bits will be valid (e.g. two units driving the bus at once). Vertical microcode is closer to machine code because a bit field value may pass through some intermediate combinatory logic which generates the actual control signals. This allows a few bits of a microinstruction to determine several control signals and ensure that only valid combinations of those signals are generated (e.g. a field may be decoded to determine which unit drives the bus). The disadvantage with vertical encoding is that the encoding is usually fixed and takes extra time compared with horizontal encoding which allows any combination of signals to be generated and takes no time to decode.
The alternative to a microcoded processor is a hard-wired one where the control signals are generated directly from the bits of the machine code instruction. This is more common in modern RISC architectures because it is faster.
Microcode is usually stored in ROM chips though some processors (e.g. the Orion) use fast RAM, making them dynamically microprogrammable.
(1996-11-26)

Microcom Networking Protocol
(MNP) One of the most common modem protocols with compression. Also the name of a product.
[Details? On-line spec?]
(1995-01-31)

microcomputer
A computer based on a microprocessor.
Contrast with minicomputer, mainframe.
(1995-02-07)

microcontroller
processor A microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and PROM and timers and I/O ports.
An example is the Intel 8751.
(1995-04-22)

MicroDroid
[Usenet] A Microsoft employee, especially one who posts to various operating-system advocacy newsgroups. MicroDroids post follow-ups to any messages critical of Microsoft's operating systems, and often end up sounding like visiting Mormon missionaries.
[Jargon File]

microelectromechanical system
hardware (MEMS) The integration of mechanical structures (moving parts) with microelectronics. MEMS devices are custom designed for a purpose which requires a mechanical action to be controlled by a computer.
Applications include sensors, medical devices, process controls.
(http://mems.mcnc.org/).
See also nanotechnology.
(1999-03-25)

Microelectronics and Computer Technology Corporation
body (MCC) One of the first, and now one of the largest, US computer industry research and development consortia.
Founded in late 1982 by major computer and semiconductor manufacturers, MCC's membership has diversified to include a broad range of high-profile corporations from electronics, computers, aerospace, semiconductors, and related industries, reflecting the full range of companies vital to the life cycle of Information Technology products. Active involvement of small- and medium-sized firms and technology users, along with well-established alliances with government research and development agencies and leading universities, allows MCC's partners to maximise the benefit of scarce research and development resources.
Some of the technical areas in which MCC has distinguished itself are:
System Architecture and Design (optimise hardware and software design, provide for scalability and interoperability, allow rapid prototyping for improved time-to-market, and support the re-engineering of existing systems for open systems).
Advanced Microelectronics Packaging and Interconnection (smaller, faster, more powerful, and cost-competitive).
Hardware Systems Engineering (tools and methodologies for cost-efficient, up-front design of advanced electronic systems, including modelling and design-for-test techniques to improve cost, yield, quality, and time-to-market).
Environmentally Conscious Technologies (process control and optimisation tools, information management and analysis capabilities, and non-hazardous material alternatives supporting cost-efficient production, waste minimisation, and reduced environmental impact).
Distributed Information Technology (managing and maintaining physically distributed corporate information resources on different platforms, building blocks for the national information infrastructure, networking tools and services for integration within and between companies, and electronic commerce).
Intelligent Systems (systems that intelligently support business processes and enhance performance, including decision support, data management, forecasting and prediction).
Home (http://www.mcc.com/)
Address: Austin, Texas, USA.
(1995-04-25)

MicroEmacs
(uemacs) A simple, portable text editor with versions for most microcomputers and many other computers. It is both relatively easy for the novice to use, but also very powerful in the hands of an expert. MicroEmacs can be extensibly customised.
Most versions use only a screen and keyboard - mouse and windowing facilities are not standard.
MicroEmacs was written by Dave G Conroy, Steve Wilhite, George Jones, and for nearly ten years: Daniel Lawrence.
Version: 3.11.
(ftp://midas.mgmt.purdue.edu/dist/)
[FTP? Differences from GNU Emacs?]
(1995-01-05)

microfloppies
3.5-inch floppies, as opposed to 5.25-inch vanilla or mini-floppies and the now-obsolete 8-inch variety. This term may be headed for obsolescence as 5.25-inchers pass out of use, only to be revived if anybody floats a sub-3-inch floppy standard. See stiffy, minifloppies.
[Jargon File]

microfortnight
One millionth of the fundamental unit of time in the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec. (A furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the mass unit of the system is taken to be a firkin of water).
The VMS operating system has a lot of tuning parameters that you can set with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the time the system will wait for an operator to set the correct date and time at boot if it realises that the current value is bogus. This time is specified in microfortnights!
Multiple uses of the millifortnight (about 20 minutes) and nanofortnight have also been reported.

MicroGnuEmacs
(MG) A Public Domain Emacs-style editor modified from MicroEmacs to be more compatible with GNU Emacs. MicroGnuEmacs is essentially free, it is not associated with the GNU project, and does not have the GNU copyright restrictions. It is a small, fast, portable editor for people who can't run real Emacs thing for one reason or another. It has few if any of the MicroEmacs features that were incompatible with GNU Emacs and adds missing features that seemed essential.
MG version 1a of 1986-11-16 is known to work with 4.2BSD and 4.3BSD Unix, Ultrix-32, OS9/68k, VMS, Amiga, System V, Eunice. It should also support MS-DOS, PC-DOS and the Rainbow.
MicroGnuEmacs is derived from, and aims to replace, v30 of MicroEmacs, the latest version from the original MicroEmacs author Dave Conroy. The chief contributors were Mike Meyer mwm@ucbopal.berkeley.edu , Mic Kaczmarczik mic@ngp.utexas.edu , Bob Larson, and Dave Brower rtech!daveb@sun.com .
(ftp://src.doc.ic.ac.uk/usenet/comp.sources.unix/volume8/micrognu)
(2000-04-03)

Micro Instrumentation and Telemetry Systems
company (MITS) The company which made the Altair 8800 micrcomputer kit. They also made instrumentation kits for model rockets and RC vehicles. Ed Roberts owned MITS for a few years until he sold out, moved to Georgia, and went to med school.
Address: Albuquerque NM, USA.
(2002-06-17)

Micro Interpreter for Knowledge Engineering
artificial intelligence, tool (MIKE) An expert system shell for teaching purposes, with forward chaining, backward chaining, and user-definable conflict resolution strategies. MIKE is written in Edinburgh Prolog.
Version 2.03.
[BYTE, Oct 1990].
(ftp://hcrl.open.ac.uk/pub/software/src/MIKE-v2.03)
Contact: Marc Eisenstadt, HCRL, Open University.
(1995-01-10)

microkernel
operating system An approach to operating system design emphasising small modules that implement the basic features of the system kernel and can be flexibly configured.
(1999-08-02)

microLenat
/mi: -kroh-len -*t/ The unit of bogosity, written uL; the consensus is that this is the largest unit practical for everyday use. The microLenat, originally invented by David Jefferson, was promulgated as an attack against noted computer scientist Doug Lenat by a tenured graduate student at CMU. Doug had failed the student on an important exam for giving only AI is bogus as his answer to the questions. The slur is generally considered unmerited, but it has become a running gag nevertheless. Some of Doug's friends argue that *of course* a microLenat is bogus, since it is only one millionth of a Lenat. Others have suggested that the unit should be redesignated after the grad student, as the microReid.
[Jargon File]

micrometre
unit (Or micron ) One millionth of a metre. The symbol is a Greek letter mu followed by m .
Features on modern integrated circuits are typically measured in microns. The smallest features in 1999 are around 0.1 microns across.
(1999-09-28)

Micro ML
(uML) An interpreter for a subset of SML. Runs on MS-DOS. Written at the University of Umea, Sweden.
(ftp://ftp.cs.umu.se/pub/umlexe01.zoo)

Micron
Micron Electronics, Inc.

micron
micrometre

Micron Electronics, Inc.
company An electronics company that develops, markets, manufactures, and supports high-performance notebook computers, desktop personal computers, PC servers and related hardware and software products.
(1997-03-10)

Micronetics Standard MUMPS
(MSM) A version of MUMPS for the IBM PC RT and R6000.
[Address?]
(1995-01-10)

Micro$oft
abuse, company Microsoft.
Hate Mirco$oft (http://www.oeh.uni-linz.ac.at:8001/~chris/HATE/hate.html).
(1995-03-03)

microPLANNER
A subset of PLANNER, implemented in Lisp by Gerald Sussman et al at MIT. Its important features were goal-oriented, pattern-directed procedure invocation, an embedded knowledge base, and automatic backtracking.
microPLANNER was superseded by Conniver.
[ microPLANNER Reference Manual , G.J. Sussman et al, AI Memo 203, MIT AI Lab, 1970].
(1995-01-10)

microprocesor
spelling It's spelled microprocessor.
(1997-02-13)

microprocessor
architecture (Or micro ) A computer whose entire CPU is contained on one (or a small number of) integrated circuits.
The important characteristics of a microprocessor are the widths of its internal and external address bus and data bus (and instruction), its clock rate and its instruction set. Processors are also often classified as either RISC or CISC.
The first commercial microprocessor was the Intel 4004 which appeared in 1971. This was the CPU member of a set of four LSI integrated circuits called the MCS-4, which was originally designed for use in a calculator but was marketed as programmable controller for logic replacement . The 4004 is referred to as a 4-bit microprocessor since it processed only 4 bits of data at a time. This very short word size is due mainly to the limitations imposed by the maximum integrated circuit density then achievable.
As integrated circuit densities increased with the rapid development of integrated circuit manufacturing technology, the power and performance of the microprocessors also increased. This is reflected in the increase in the CPU word size to 4, 8, 16, and by mid-1980s, 32 bits. The smaller microprocessors have relatively simple instruction sets, e.g., no floating point instructions, but they are nevertheless suitable as controllers for a very wide range of applications such as car engines and microwave ovens.
The Intel 4004 was followed with, among others the 4040, 8008, 8080, 8086, 80186, 80286, 80386, 486 and Pentium. Other families include the Motorola 6800 and 680x0 families, National Semiconductor NS16000 and NS32000, SPARC, ARM, MIPS, Zilog Z8000, PowerPC and the Inmos Transputer family.
The larger, more recent microprocessors families have gradually acquired most of the features of large computers. As the microprocessor industry has matured, several families of microprocessors have evolved into de facto industrial standards with multiple manufacturers and numerous support chips including RAM, ROM, I/O controllers etc.
A single chip microprocessor may include other components such as memory (RAM, ROM, PROM), memory management, caches, floating-point unit, input/output ports and timers. Such devices are also known as microcontrollers.
The one-chip microcomputer is in many respects, a landmark development in computer technology because it reduces the computer to a small, inexpensive, and easily replaceable design component.
Microcomputers have given rise to a new class of general-purpose machines called personal computers. These are small low cost computers that are designed to sit on an ordinary office desk or to be portable and fuelled the computer boom of the late 1980s. The most widespread example is the also IBM PC, based on microprocessors from Intel Corporation. Apple Computers, Inc. have also produced a range of personal computers, as have several other companies.
See also killer micro, minicomputer, CPU Info Center.
(2002-07-16)

Microprocessor without Interlocked Pipeline Stages
processor (MIPS) A project at Stanford University intended to simplify processor design by eliminating hardware interlocks between the five pipeline stages. This means that only single execution cycle instructions can access the thirty two 32-bit general registers, so that the compiler can schedule them to avoid conflicts. This also means that LOAD/STORE and branch instructions have a one-cycle delay to account for. However, because of the importance of multiply and divide instructions, a special HI/LO pair of multiply/divide registers exist which do have hardware interlocks, since these take several cycles to execute and complicate instruction scheduling.
The project eventually lead to the commercial MIPS R2000 processor.
(1995-02-09)

microprogramming
microcode

microReid
/mi:'kroh-reed/ See bogosity.
[Jargon File]

MICRO SAINT
A general purpose simulation tool from US company Micro Analysis and Design.

microsecond
unit One millionth (10^-6) of a second.
(1995-03-14)

Microserf
jargon Wired magazine's term for a Microsoft employee.
(1995-03-02)

Microslop
company, abuse A derisive synonym for Microsoft Corporation. It refers to the sloppy, bug-ridden x.0 versions of MS-DOS, Microsoft Windows and other Microsoft products.
(1995-12-28)

Microsloth Windows
abuse, operating system /mi:'kroh-sloth win dohz/ (Or Windoze , /win'dohz/) A derogatory term for Microsoft Windows which is so limited by bug-for-bug compatibility with mess-dos that it is agonisingly slow on anything less than a fast 486. Also called just Windoze , with the implication that you can fall asleep waiting for it to do anything; the latter term is extremely common on Usenet.
Compare X, sun-stools.
[Jargon File]
(1996-10-08)

Microsoft
Microsoft Corporation

Microsoft Access
1. database A relational database running under Microsoft Windows. Data is stored as a number of tables , e.g. Stock . Each table consists of a number of records (e.g. for different items) and each record contains a number of fields , e.g. Product code , Supplier , Quantity in stock .
Access allows the user to create forms and reports . A form shows one record in a user-designed format and allows the user to step through records one at a time. A report shows selected records in a user-designed format, possibly grouped into sections with different kinds of total (including sum, minimum, maximum, average).
There are also facilities to use links ( joins ) between tables which share a common field and to filter records according to certain criteria or search for particular field values.
Version: 2 (date?).
Usenet newsgroup: news:comp.databases.ms-access.
2. communications A communications program from Microsoft, meant to compete with ProComm and other programs. It sucked and was dropped. Years later they reused the name for their database.
[Date?]
(1997-07-20)

Microsoft Basic
language (MS-BASIC) A dialect of BASIC from Microsoft, originally developed by Bill Gates in a garage back in the CP/M days. It was originally known as GWBasic, then QBASIC and finally MS-BASIC.
When the MS-DOS operating system came out, it incorporated the GWBASIC.EXE or BASICA.EXE interpreters. GWBASIC ( Gee Whiz ) incorporated graphics and a screen editor and was compatible with earlier BASICs.
QBASIC was more sophisticated. Version 4.5 had a full screen editor, debugger and compiler. The compiler could also produce executable files but to run these a utility program (BRUN44.EXE) had to be present. Thus source code could be kept private.
From DOS 5.0 or 6.0 onwards, MS-BASIC was standard.
Current version: 1.1, also produces stand-alone executables and can display graphics.
Usenet newsgroup: news:comp.lang.basic.misc.
[Relationship to BASIC in ROM on first IBM PC?]
(1995-05-12)

Microsoft Certified Solution Developer
programming, education (MCSD) A course for the VAR or software developer. Candidates must pass three core exams and an elective exam. The core exams cover systems analysis, and desktop and distributed development.
(http://www.microsoft.com/mcsd).
(2001-05-20)

Microsoft Certified System Engineer
education (MCSE) A qualification obtained by passing Microsoft's system engineer certification exams.
(http://www.microsoft.com/mcse).
(2002-07-02)

Microsoft Certified Systems Developer
spelling Do you mean Microsoft Certified Solution Developer or Microsoft Certified System Engineer?
(2001-05-20)

Microsoft Corporation
company The biggest supplier of operating systems and other software for IBM PC compatibles. Software products include MS-DOS, Microsoft Windows, Windows NT, Microsoft Access, LAN Manager, MS Client, SQL Server, Open Data Base Connectivity (ODBC), MS Mail, and SNA Server for Windows NT.
Microsoft was founded as Micro-soft in 1975 by Bill Gates (now CEO) and his high school pal Paul Allen. Their first product was a version of BASIC for the new Altair computer [which one?]. In 1980, IBM chose Microsoft to supply the operating system for the IBM PC.
On the UK television program The Net in May 1994, Bill Gates said he was betting his company on the information highway .
Quarterly sales $1293M, profits $362M (Aug 1994).
Home (http://www.microsoft.com/). (ftp://ftp.microsoft.com/).
Interesting Info and Other Microsoft WWW Servers (http://www-drg.microsoft.com/devinfo.htm).
Microsoft Windows Developer Information (http://www-drg.microsoft.com/devinfo.htm).
Microsoft Research Group Information (http://www.research.microsoft.com).
Win_News (http://www.microsoft.com/chicago/ms-www/ms-intro.htm) maintained by the Personal Operating Systems Division to distribute information on Microsoft Windows, MS-DOS and Windows 95.
(1998-11-06)

Microsoft Excel
tool A spreadsheet program from Microsoft, part of their Microsoft Office suite of productivity tools for Microsoft Windows and Macintosh. Excel is probably the most widely used spreadsheet in the world.
Current version: Excel 97, as of 1997-01-14.
Home (http://www.microsoft.com/msexcel/).
[Feature summary? History?]
(1997-01-14)

Microsoft Exchange
messaging Microsoft's messaging and enterprise collaboration server. Exchange's primary role is as an electronic mail message store but it can also store calendars, task lists, contact details, and other data.
[Better descripton? URL?]
(1999-09-17)

Microsoft Extended
computer (MSX) A Range of computers created in an attempt by the industry to create a standard for home computers, similar to VHS did with home video.
The basic MSX machine contained a Z80 CPU working at 3.58MHz.
MSX machines were produced by such giants as Sony, Yamaha, Panasonic, Toshiba, Daewoo, and Philips.
The MSX standard was designed by a company called ASCII in cooperation with Microsoft who provided a firmware version of its BASIC for the machine. Because this BASIC version was an extended version of MicroSoft Basic, it was called MicroSoft eXtended BASIC ; Hence MSX .
Microsoft also produced MSX-DOS - a stripped-down version of MS-DOS.
Extensions to the MSX included MSX2, MSX2+ and TurboR.
FAQ (http://www.faq.msxnet.org/).
(1999-02-26)

Microsoft Foundation Classes
programming (MFC) Software structures in C++, the Windows base classes which can respond to messages, make windows, and from which application specific classes can be derived.
(1995-11-17)

Microsoft IIS
Internet Information Server

Microsoft IntelliMouse Explorer
hardware An optical mouse from Microsoft.
(http://microsoft.com/presspass/features/1999/04-19mouse.htm).
(1999-07-21)

Microsoft Internet Information Server
Internet Information Server

Microsoft Mail
messaging, tool (MS Mail) A Microsoft Windows electronic mail program.
[Features? Version?]
(1996-08-26)

Microsoft Mail Application Program Interface
Messaging Application Programming Interface

Microsoft Network
The Microsoft Network

Microsoft Networking
networking Microsoft's name for the networking subsystems of Windows 95 and later. Not to be confused with The Microsoft Network.
Microsoft networking uses the SMB file sharing protocol. It is implemented as file system drivers i.e. installable file systems (IFS).
The network redirector Client for Microsoft Networks , is implemented in the VREDIR.VXD virtual device driver. Peer resource sharing is provided by File and Printer Sharing for Microsoft Networks (VSERVER.VXD).
Windows 95's support for Netware (NCP) networks is provided in a similar way via NWREDIR.VXD and NWSERVER.VXD.
(1999-08-08)

Microsoft Office
product Microsoft's bundles of productivity tools. Different versions contain some or all of Microsoft Word, Microsoft Excel, Powerpoint, Outlook, Microsoft Access, Microsoft Publisher, Microsoft Front Page, Microsoft Team Manager, Microsoft Project, Microsoft Schedule+, Microsoft Internet Explorer, Small Business Financial Manager, Automap Streets Plus.
Current versions: Office 97 Professional Edition, Office 97 Standard Edition, Office 97 Small Business Edition, Office 97 Developer Edition (1997-12-05).
Home (http://www.microsoft.com/office).
(1997-12-05)

Microsoft Point to Point Encryption
protocol (MPPE) An encryption protocol that may be used with PPTP to provide an encrypted connection.
(1998-09-24)

Microsoft SQL Server
database A relational database management system (RDBMS) which is part of Microsoft's BackOffice family of servers. SQL Server was designed for client/server use and is accessed by applications using SQL. It runs on Windows NT version 3.5 or higher and is compliant with the ANSI SQL-92 and FIPS 127-2 SQL standards.
SQL Server supports symmetric multiprocessing hardware; SNMP, ODBC, and major open standard communications protocols. It has Internet integration, data replication, and data warehousing features.
Microsoft SQL Server was originally developed by Sybase Corporation but the cooperation was broken sometime [when?] before version 6.0.
Latest version: 7.0. [Or is it 2000?]
Home (http://www.microsoft.com/sql).
Usenet newsgroup: news:comp.databases.ms-sqlserver.
(2001-04-27)

Microsoft Windows
operating system Microsoft's proprietary window system and user interface software released in 1985 to run on top of MS-DOS. Widely criticised for being too slow (hence Windoze , Microsloth Windows ) on the machines available then.
The 1996 market share of operating systems was:
DOS/Windows70%
Windows 9515%
Windows NT 2%
Other13%
[Current shares?]
The version history goes something like: 1985 Windows 1, 1987 Windows 2, 1987 Windows/386, 1990 Windows 3.0, 1992 Windows 3.1, 1992 Windows for Workgroups 3.1, 1993 Windows 3.11, 1993 Windows for Workgroups 3.11, 1993 Windows NT 3.1, 1994 Windows NT 3.5, 1995 Windows 95, 199? Windows NT 4, 1998 Windows 98, ? Windows NT 5.
Usenet newsgroups: news:comp.os.ms-windows.comp.os.ms-windows.advocacy, news:comp.os.ms-windows.comp.os.ms-windows.announce, news:comp.os.ms-windows.apps.comm, news:comp.os.ms-windows.apps.compatibility.win95, news:comp.os.ms-windows.apps.financial, news:comp.os.ms-windows.apps.misc, news:comp.os.ms-windows.apps.utilities, news:comp.os.ms-windows.apps.utilities.win3x, news:comp.os.ms-windows.apps.utilities.win95, news:comp.os.ms-windows.apps.winsock.mail, news:comp.os.ms-windows.apps.winsock.misc, news:comp.os.ms-windows.apps.winsock.news, news:comp.os.ms-windows.apps.word-proc, news:comp.os.ms-windows.misc, news:comp.os.ms-windows.networking.misc, news:comp.os.ms-windows.networking.ras, news:comp.os.ms-windows.networking.tcp-ip, news:comp.os.ms-windows.networking.win95, news:comp.os.ms-windows.networking.windows, news:comp.os.ms-windows.nt.admin.misc, news:comp.os.ms-windows.nt.admin.networking, news:comp.os.ms-windows.nt.advocacy, news:comp.os.ms-windows.nt.announce, news:comp.os.ms-windows.nt.misc, news:comp.os.ms-windows.nt.pre-release, news:comp.os.ms-windows.nt.setup.hardware, news:comp.os.ms-windows.nt.setup.misc, news:comp.os.ms-windows.nt.software.backoffice, news:comp.os.ms-windows.nt.software.compatibility, news:comp.os.ms-windows.nt.software.services, news:comp.os.ms-windows.pre-release, news:comp.os.ms-windows.programmer, news:comp.os.ms-windows.programmer.controls, news:comp.os.ms-windows.programmer.graphics, news:comp.os.ms-windows.programmer.memory, news:comp.os.ms-windows.programmer.misc, news:comp.os.ms-windows.programmer.multimedia, news:comp.os.ms-windows.programmer.networks, news:comp.os.ms-windows.programmer.nt.kernel-mode, news:comp.os.ms-windows.programmer.ole, news:comp.os.ms-windows.programmer.tools.mfc, news:comp.os.ms-windows.programmer.tools.misc, news:comp.os.ms-windows.programmer.tools.owl, news:comp.os.ms-windows.programmer.tools.winsock, news:comp.os.ms-windows.programmer.vxd, news:comp.os.ms-windows.programmer.win32, news:comp.os.ms-windows.programmer.winhelp, news:comp.os.ms-windows.setup, news:comp.os.ms-windows.setup.win3x, news:comp.os.ms-windows.setup.win95, news:comp.os.ms-windows.video, news:comp.os.ms-windows.win95.misc, news:comp.os.ms-windows.win95.setup, news:comp.binaries.ms-windows.
(1998-10-15)

Microsoft Word
text, tool, product A popular word processor, part of the Microsoft Office suite. The original Word (versions 1.0 to 4.?/5.0?) was originally text-based (non-GUI) and ran under MS-DOS. Then Microsoft released Word for Windows 1.0 and 2.0. Later they produced new versions for each OS, both numbered 6.0.
Home (http://www.microsoft.com/catalog/products/word/).
[Features?]
(1997-02-11)

MicroStation
application A full-featured 2-D and 3-D CAD program for MS-DOS, Microsoft Windows, Macintosh, and Unix workstations from Bentley Systems, Inc. Created in 1984, MicroStation is a high-end package used worldwide in environments where many designers work on large, complex projects. MicroStation Modeler is a superset of MicroStation that provides solid modelling, and MasterPiece is MicroStation's rendering and animation program.
(2001-04-19)

microtape
hardware, storage /mi:'kroh-tayp/ Occasionally used to mean a DECtape, as opposed to a macrotape.
Apparently the term microtape was actually the official term used within DEC for these tapes until someone coined the word DECtape , which, of course, sounded sexier to the marketroids. Another version of the story holds that someone discovered a conflict with another company's microtape trademark.
[Jargon File]
(1995-03-16)

Microware Corporation
Authors of OS-9.
Address: Des Moines, Iowa, USA.
(1995-02-02)

Microwave Hardware Description Language
language, hardware (MHDL) A Hardware Description Language by David Barton[?] from Intermetrics incorporating Haskell 1.2.
Not to be confused with other MHDLs.
(2000-11-14)

MIDAS
A digital simulation language.
[Sammet 1969, p.627].

Midas
A Motif-based toolkit for interactive data analysis by T. Johnson, SLAC. The basis for the Midas-WWW browser.

Midas-WWW
World-Wide Web A Motif-based browser for WWW based on the Midas toolkit.
(1998-08-09)

middle-endian
data, architecture Neither big-endian nor little-endian. Used of perverse byte orders such as 3-4-1-2 or 2-1-4-3, occasionally found in the packed decimal formats of some minicomputer manufacturers.
See -endian.
[Jargon File]
(1998-08-09)

middleware
Software that mediates between an application program and a network. It manages the interaction between disparate applications across the heterogeneous computing platforms. The Object Request Broker (ORB), software that manages communication between objects, is an example of a middleware program.

MIDI
Musical Instrument Digital Interface

mid-level network
(Or regional network ). The kind of networks which make up the second level of the Internet hierarchy. They are the transit networks which connect the stub networks to the backbone networks.

MIF
Maker Interchange Format

MIG
Mach Interface Generator

MIGRAINES
tool A graphical user interface for evaluating and interacting with the Aspirin neural network simulation.
Utilities exist for moving quickly from an Aspirin description of a network directly to an executable program for simulating and evaluating that network. MIGRAINES has been kept separate from Aspirin so that its limitations do not restrict the performance of Aspirin. However, in practice, they are used together. This combination allows for simple specification and creation of efficient neural network systems that can be graphically analysed and tested.
[Aspirin/MIGRAINES Neural Network Software User's Manual, Release v6.0 MP-91W00050, Copyright 1992 by Russel Leighton and the MITRE Corporation].
(1995-03-07)

MII
1. body A consortium of Microsoft, IBM, and Intel.
[When? What did it do?]
2. storage A broadcast component video tape format licensed by Panasonic.
(1998-11-15)

MIIS
language /Meese/ An interpreted language with one-letter keywords.
[Details? Similar to MUMPS?]
(1995-01-10)

MIKE
Micro Interpreter for Knowledge Engineering

mil
networking The top-level domain for entities affiliated with US armed forces.
(1999-01-26)

Milarepa
tool A Perl BNF parser generator by Jeffrey Kegler jeffrey@netcom.com . Milarepa takes a source grammar written in a mixture of BNF and Perl and generates Perl source, which, when enclosed in a simple wrapper, parses the language described by the grammar. Milarepa is not restricted to LRn grammars, and the parse logic follows directly from the BNF. It handles ambiguous grammars, ambiguous tokens (tokens which were not positively identified by the lexer) and allows the programmer to change the start symbol. The grammar may not be left recursive. The input must be divided into sentences of a finite maximum length. There is no fixed distinction between terminals and non-terminals, that is, a symbol can both match the input AND be on the left hand side of a production. Multiple Marpa grammars are allowed in a single Perl program.
Version: Prototype 1.0.
Posted to comp.lang.perl.
The author is seeking an FTP site to hold the software.
(1993-03-17)

MILITRAN
A discrete simulation system for military applications produced by the Sys Res Group at ONR in 1964.
[Sammet 1969, p. 657].
(1994-11-11)

mill
Arithmetic and Logic Unit

millennium bug
Year 2000

millennium meltdown
Year 2000

milli-
prefix

millihelen
unit, humour The amount of beauty required to launch one ship.
(2002-03-19)

milliLampson
/mil'*-lamp sn/ A unit of talking speed, abbreviated mL. Most people run about 200 milliLampsons. The eponymous Butler Lampson (a CS theorist and systems implementor highly regarded among hackers) goes at 1000. A few people speak faster. This unit is sometimes used to compare the (sometimes widely disparate) rates at which people can generate ideas and actually emit them in speech. For example, noted computer architect C. Gordon Bell (designer of the PDP-11) is said, with some awe, to think at about 1200 mL but only talk at about 300; he is frequently reduced to fragments of sentences as his mouth tries to keep up with his speeding brain.
[Jargon File]

millisecond
unit (ms) One thousandth of a second, one thousand microseconds. A long time for a modern computer.
(1995-08-18)

MILNET
Military Network. Part of the Defense Data Network (DDN) and of the Internet. Managed by the Defense Information Systems Agency (DISA).
[Location? Number of hosts? Purpose?]

MIMD
Multiple Instruction/Multiple Data

MIME
Multipurpose Internet Mail Extensions

mimencode
(Originally distributed as mmencode ). A replacement for uuencode for use in electronic mail and news. Part of MIME. uuencode uses characters that don t translate well across all mail gateways (particularly those which convert between ASCII and EBCDIC). Also, different variants of uuencode encode data in different and incompatible ways, with no standard. Finally, few uuencode variants work well in a pipe. Mimencode implements the encodings which were defined for MIME as uuencode replacements, and should be considerably more robust for e-mail use. Written by Nathaniel S. Borenstein of Bell Communications Research, Inc. (Bellcore) in 1991.

Mimer SQL
database A relational database management system, free for non-commercial use, developed by the Swedish company Upright Database Technology AB.
Mimer Home (http://developer.mimer.com).
(2002-06-03)

MIME type
file format, protocol, multimedia The unique identifier used for different file types when conveyed across a MIME-based protocol such as MIME e-mail or HTTP.
Registration of MIME types is explained in RFC 2048.
Official MIME types (ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types).
(1998-02-10)

MIMIC
language An early language designed by J.H. Andrews of the NIH in 1967 for solving engineering problems such as differential equations that would otherwise have been done on an analog computer.
[ MIMIC, An Alternative Programming Language for Industrial Dynamics, N.D. Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972].
(1995-01-19)

MIMOLA
Operational hardware specification language.
[ A Retargetable Compiler for a High-Level Microprogramming Language , 17th Ann Workshop on Microprogramming, P. Marwedel, IEEE 1984, pp. 267-274].

mind mouse
hardware A pointing device (unlike a mouse in design, but serving the same purpose) which works via sensors in contact with the user's skin. The sensors are built into a plastic base which fits on one finger and which is similar in shape to a finger cast.
The principle of operation is presumably myoelectric, not psionic, contrary to what the name implies.
As of the time of writing (1996), mind mice are not accurate enough to be anything but novelties.
[Availability?]
(1997-04-07)

mind uploading
application The science fiction concept of copying one's mind into an artificial body or computer.
Home (http://sunsite.unc.edu/jstrout/uploading/MUHomePage.html).
(1995-04-10)

Minerva software
A company producing software for the Acorn Archimedes.
(http://www.zynet.co.uk/minerva/)
(1995-01-31)

minicomputer
computer A computer built between about 1963 and 1987, smaller and less powerful than a mainframe, typically about the size and shape of a wardrobe, mounted in a single tall rack.
Minicomputers were characterised by short word lengths of 8 to 32 bits, limited hardware and software facilities and small physical size. Their low cost made them suitable for a wide variety of applications such as industrial control, where a small, dedicated computer which is permanently assigned to one application, is needed. In recent years, improvements in device technology have resulted in minicomputers which are comparable in performance to large second generation computers and greatly exceed the performance of first generation computers.
The processor was typically built using low integration logic integrated circuits - TTL or maybe ECL, thus distinguishing it from a microcomputer which is built around a microprocessor - a processor on a single (or maybe a few) ICs.
DEC's PDP-1 was the first minicomputer and their PDP-11 was the most successful, closely followed (in both time and success) by the VAX (which DEC called a super minicomputer ).
Another early minicomputer was the LINC developed at MIT in 1963.
Other minicomputers were the AS/400, the PRIME series, the AP-3, Olivetti's Audit 7 and the Interdata 8/32.
[Others?]

Mini Disc
storage, music A music medium designed by Sony as a portable replacement for music Compact Discs. In 1994 Sony announced a data version which can hold 140 MB or about 100 MB using error correction. These will be competitive with 128 MB magneto-optical disks. Mini Discs may be either a re-writable or mass-produced read-only type. Sony have also announced a standard data format.
The transfer rate is similar to CD-ROM which is slow compared to the current magneto-optical drives (which are similar to an old hard disk, with writing noticeably slower than reading). Pre-recorded read-only Mini Discs can be mass manufactured on a modified CD press - this and the standard format mean it could take off as a software distribution medium.
An article in the December 1994 PCW quotes access times of about 300 ms and data transfer rate of about 150 kb/s (i.e. about single spin CD rate).
(1994-12-13)

minifloppy
storage 5.25-inch vanilla floppy disks, as opposed to 3.5-inch or microfloppies and the now-obsolescent 8-inch variety.
At one time, this term was a trademark of Shugart Associates for their SA-400 minifloppy drive. Nobody paid any attention.
See stiffy.
(1996-05-03)

minimal automaton
theory An automaton possessing with redundant states.
(1996-05-03)

minimax
games An algorithm for choosing the next move in a two player game. A player moves so as to maximise the minimum value of his opponent's possible following moves. If it is my turn to move, I give a value to each legal move I might make. If the result of a move is an immediate win for me I give it positive infinity and, if it is an immediate win for you, negative infinity. The value to me of any other move is the minimum of the values resulting from each of your possible replies.
The above algorithm will give every move a value of positive or negative infinity since the value of every move will be the value of some final winning or losing move. This can be extended if we can supply a heuristic evaluation function which gives values to non-final game states without considering all possible following complete sequences. We can then limit the minimax algorithm to look only a certain number of moves ahead. This number is called the look-ahead or ply .
See also alpha/beta pruning.
[Is maximin used? Is it significantly different?]
(2000-12-07)

Mini-ML
[ A Simple Applicative Language: Mini-ML , D. Clement et al, Proc 1986 ACM Conf on LISP and Functional Prog, (Aug 1986)].

minimum seek time
storage (Or track-to-track seek time) The time it takes to move the head of a disk drive from one track to the next. The minimum seek time gives a good measure of the speed of the drive in a single-user/single-process environment where successive read/write request are largely correlated and thus if correlated data is stored in nearby cylinders most seeks are from one cylinder to the next.
(1997-07-15)

Mini PL/I
A commercial PL/I subset for the Olivetti Audit 7 minicomputer.

MINITAB II
A system for interactive solution of small statistical problems.
[ MINITAB Student Handbook , T.A. Ryan et al, Duxbury Press 1976].
(1994-10-31)

MINIX
operating system /MIN-ix/ A small operating system that is very similar to UNIX. MINIX was written for educational purposes by Prof. Andrew S. Tanenbaum of Vrije Universiteit, Amsterdam.
MINIX has been written from scratch and contains no AT T code -- neither in the kernel, the compiler, the utilities, nor the libraries. Although copyrighted by Prentice-Hall, all sources, binaries and documentation can be obtained via Internet for educational or research purposes.
Current versions as of 1996-11-15:
MINIX 2.0 - Intel CPUs from Intel 8088 to Pentium
MINIX 1.5 - Intel, Macintosh (MacMinix), Amiga, Atari ST, Sun SPARC.
Home (http://www.cs.vu.nl/~ast/minix.html).
(1997-06-16)

Minnesota Internet Users Essential Tool
networking, tool (Minuet) An integrated package for IBM PC that includes modules for electronic mail (using the POP protocol), Gopher, telnet, Usenet news and FTP. Minuet provides an easy-to-use, mouse-driven graphical user interface via the TurboVision libraries. It is a TCP/IP client that runs over any type of TCP/IP network including Ethernet and SLIP. It will work with either static IP addresses or dynamic IP addresses (bootp).
FAQ (http://www.micro.umn.edu/products/minuet/minuet-1.html). (ftp://boombox.micro.umn.edu/pub/pc/minuet/beta16/minuarc.exe).
(1995-04-10)

MINT
Mint Is Not TRAC

MiNT
operating system (MinT is not TOS - a recursive acronym) A freeware, open source operating system for the Atari ST range of computers. MiNT was originally based on a port of BSD to Atari ST computers by Eric R. Smith. MiNT gave the Atari access to BSD's many network applications. A short (1992-94) romance between MiNT and Atari Corp., who decided to convert the system to the MultiTOS kernel, produced a unique TOS/Unix hybrid, which provides simultaneous access to both GEM and BSD application libraries.
Since MiNT is MultiTOS's kernel, it has kept all the features described above and, if an AES replacement is installed, it can show you a new face of MultiTOS. Unlike MultiTOS however, MiNT is based on a different file system, that is faster and more flexible than TOS's. Furthermore, thanks to the network support, MiNT allows an Atari to be an Internet server that can still run GEM and TOS applications! This has won MiNT many devotees ( MiNTquisitors ), making it the main competitor for ASH's MagiC.
Unlike Linux, MiNT can run on a Motorola 68000 with no FPU. It needs at least 4 MB of RAM, more to run multiuser or to run GEM applications at the same time.
(http://www.orient.uw.edu.pl/~conradus/docs/mint.html).
(1999-07-20)

Mint Is Not TRAC
text, tool (MINT) A version of TRAC used as the extension language in the Freemacs editor.
(ftp://sun.soe.clarkson.edu/pub/freemacs)
(1994-10-31)

Minuet
networking Minnesota Internet Users Essential Tool.

MINUIT
A program for function minimisation and error analysis.
(1994-10-31)

minus
Common: dash; ITU-T: hyphen; ITU-T: minus. Rare: INTERCAL: worm; option; dak; bithorpe.

minus infinity
The most negative value, not necessarily or even usually the simple negation of plus infinity. In N bit twos-complement arithmetic, infinity is 2^(N-1) - 1 but minus infinity is -(2^(N-1)), not -(2^(N-1) - 1).

MIPS
1. unit, benchmark Million instructions per second.
The unit commonly used to give the rate at which a processor executes instructions.
Often rendered by hackers as Meaningless Indication of Processor Speed or in other unflattering ways. This expresses a nearly universal attitude about the value of most benchmark claims, said attitude being one of the great cultural divides between hackers and marketroids.
The etymologically incorrect singular 1 MIP is sometimes heard.
See also KIPS and GIPS.
2. VAX MIPS.
3. processor Microprocessor without Interlocked Pipeline Stages.
4. company MIPS Technologies, Inc.
[Jargon File]
(1996-03-01)

MIPS project
Microprocessor without Interlocked Pipeline Stages

MIPS R2000
processor The R2000 design came, in about 1987, from the Stanford MIPS project, which stood for Microprocessor without Interlocked Pipeline Stages.
Like the AMD 29000, the R2000 has no condition code register considering it a potential bottleneck. The program counter can be read like other registers.
The CPU includes an MMU that can also control a cache, and the CPU can operate as big-endian or little-endian. There is a FPU, the R2010.
Versions include the MIPS R3000 and MIPS R4000.
(1995-02-09)

MIPS R2010
A FPU for the MIPS R2000.
(1995-02-09)

MIPS R3000
A version of the MIPS R2000 with improved cache control.
(1995-02-09)

MIPS R4000
A 64-bit version of the MIPS R3000 with has more pipeline stages for a higher clock rate and performance.
(1995-02-09)

MIPS Technologies, Inc.
company A company which designs, develops, and licenses reduced instruction set computer (RISC) microprocessors and compilers. MIPS Technologies, Inc. is a wholly-owned subsidiary of Silicon Graphics, Inc. and operates as an independent unit. MIPS is the successor to the processor business of MIPS Computer Systems which was founded in 1984 and merged with Silicon Graphics on 29 June 1992.
MIPS Technologies developed the world's first RISC VLSI microprocessors (1985) (or was it the ARM?), the first commercial 64-bit microprocessor (MIPS R4000, 1992), announced MIPS R4300i - the first 64-bit RISC processor designed for interactive consumer applications (April 1995). They announced the MIPS R10000 - the next generation general-purpose MIPS microprocessor and the most powerful processor in the world (October 1994).
MIPS' semiconductor company partners participate in the design and development of MIPS processors and software and then produce, market, and support the processors. MIPS itself does not fabricate or sell products. MIPS' semiconductor partners are: Integrated Device Technology, LSI Logic Corporation, NEC Corporation, NKK Corporation, Philips Semiconductors, Siemens AG, and Toshiba Corporation.
MIPS' products include:
R4000 - 100 MHz; 1.35M transistors, primary i/d cache 8KB/8KB, SPECint92 58.3/ SPECfp92 61.4.
R4300i - 133 MHZ, 1.35M transistors; primary i/d cache, 16KB/8KB, SPECint92 80, SPECfp92 60.
R4400 - 250 MHz, 2.3M transistors, primary i/d cache 16KB/16KB, SPECint92 175.8, SPECfp92 164.4.
R4600 - 133 MHz, 1.9M transistors, primary i/d cache 16KB/16KB, SPECint92 85, SPECfp92 75.
R8000/R8010 - 90 MHz, 2.6M, .83M transistors, primary i/d cache, 16KB/16KB, SPECint92 132, SPECfp92 396.
R10000 - 200 MHz, 6.7M transistors, primary i/d cache 32KB/32KB, SPECint92 300, SPECfp92 600.
MIPS' processor chips were used in the DEC 3100 series of workstations.
Home (http://www.mips.com/)
Usenet newsgroup: news:comp.sys.mips.
(1996-03-01)

Miracula
An implementation of a subset of Miranda by Stefan Kahrs smk@ed.ac.uk , LFCS, no modules or files. Can be interactively switched between eager and lazy evaluation. Portable source in C from the author.

Miranda
language (From the Latin for admirable , also the heroine of Shakespeare's Tempest) A lazy purely functional programming language and interpreter designed by David Turner at the University of Kent in the early 1980s. It is sold by his company, Research Software Limited. It combines the main features of KRC and SASL with strong typing similar to that of ML. Implemented for Unix by Allan Grimeley, Computer Lab., UKC. There is also a version that runs on Intel 80386 and above IBM PCs under Linux.
It features terse syntax using the offside rule for indentation. The type of an expression is inferred from the source by the compiler but explicit type declarations are also allowed. Nested pattern-matching, list comprehensions, modules. Operator sections rather than lambda abstractions. User types are algebraic, and in early versions could be constrained by laws. Implemented by SKI combinator reduction. The KAOS operating system is written entirely in Miranda.
E-mail: mira-request@ukc.ac.uk .
Translators from Miranda to Haskell (mira2hs) and to LML (mira2lml) are available, (ftp://www.foldoc.org/pub/). Non-commercial near-equivalents of Miranda include Miracula and Orwell.
[ Miranda: A Non Strict Functional Language with Polymorphic Types , D.A. Turner, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer 1985].
[ Functional Programming with Miranda , Ian Holyer, Pitman Press 0-273-03453-7].
(1997-08-01)

MIRFAC
Mathematics in Recognizable Form Automatically Compiled

mirror
1. hardware, storage Writing duplicate data to more than one device (usually two hard disks), in order to protect against loss of data in the event of device failure. This technique may be implemented in either hardware (sharing a disk controller and cables) or in software. It is a common feature of RAID systems.
Several operating systems support software disk mirroring or disk-duplexing, e.g. Novell NetWare.
See also Redundant Array of Independent Disks.
Interestingly, when this technique is used with magnetic tape storage systems, it is usually called twinning .
A less expensive alternative, which only limits the amount of data loss, is to make regular backups from a single disk to magnetic tape.
2. networking An archive site or web site which keeps a copy of some or all files at another site so as to make them more quickly available to local users and to reduce the load on the source site. Such mirroring is usually done for specific whole directories or files on a specific remote server as opposed to a cache or proxy server which keeps copies of everything that is requested via it.
For example, src.doc.ic.ac.uk is the main UK mirror for the GNU archive at gnu.org. There are also several mirrors of this dictionary (http://www.foldoc.org/foldoc/mirrors.html).
(1998-06-11)

mirroring
mirror

MIS
Management Information System

misbug
/mis-buhg/ [MIT] An unintended property of a program that turns out to be useful; something that should have been a bug but turns out to be a feature. Usage: rare. Compare green lightning. See miswart.
[Jargon File]

misfeature
/mis-fee'chr/ or /mis'fee chr/ A feature that eventually causes lossage, possibly because it is not adequate for a new situation that has evolved. Since it results from a deliberate and properly implemented feature, a misfeature is not a bug. Nor is it a simple unforeseen side effect; the term implies that the feature in question was carefully planned, but its long-term consequences were not accurately or adequately predicted (which is quite different from not having thought ahead at all). A misfeature can be a particularly stubborn problem to resolve, because fixing it usually involves a substantial philosophical change to the structure of the system involved.
Many misfeatures (especially in user-interface design) arise because the designers/implementors mistake their personal tastes for laws of nature. Often a former feature becomes a misfeature because trade-offs were made whose parameters subsequently change (possibly only in the judgment of the implementors). Well, yeah, it is kind of a misfeature that file names are limited to six characters, but the original implementors wanted to save directory space and we re stuck with it for now.

MISHAP
Early system on IBM 1103 or 1103A. Listed in CACM 2(5):16, (May 1959).

Missed'em-five
operating system, abuse (Or SysVile /sis-vi:l'/) A pejorative hackerism for AT T System V Unix, generally used by BSD partisans in a bigoted mood.
See software bloat, Berzerkeley.
[Jargon File]
(1998-07-01)

missile address
ICBM address

miswart
/mis-wort/ [By analogy with misbug] A feature that superficially appears to be a wart but has been determined to be the Right Thing. For example, in some versions of the Emacs text editor, the transpose characters command exchanges the character under the cursor with the one before it on the screen, *except* when the cursor is at the end of a line, in which case the two characters before the cursor are exchanged. While this behaviour is perhaps surprising, and certainly inconsistent, it has been found through extensive experimentation to be what most users want. This feature is a miswart.
[Jargon File]

MIT
Massachusetts Institute of Technology

MIT AI Lab
body (Massachusetts Institute of Technology artificial intelligence laboratory) Workplace of many famous AI researchers at MIT.
Home (http://www.ai.mit.edu/).
Address: 545 Technology Sq., Cambridge, MA 02139, USA.
[Notables?]
(1994-11-01)

MITI
SQRIBE

MITILAC
language An early system on the IBM 650.
[Listed in CACM 2(5):16, May 1959].
(1998-09-24)

MIT Lisp Machine
Lisp Machine

MITRE Corporation
body A US federally funded R D center, spun off in 1958 from the MIT Lincoln Laboratory (also an FFRDC). MITRE is a non-profit corporation chartered to do R D in the public interest.
MITRE were responsible for system engineering and implementation oversight of SAGE.
MITRE does not stand for MIT Research and Engineering, though it could have.
Home (http://www.mitre.org/).
(1999-12-16)

MIT Research Laboratory for Electronics
body
See also Jay Forrester, core memory, the Whirlwind computer, MIT Lincoln Laboratory.
[Summary?]
(1999-12-16)

MITS
Micro Instrumentation and Telemetry Systems

MIT Scheme
language (Previously C-Scheme ) A Scheme implementation by the MIT Scheme Team (Chris Hanson, Jim Miller, Bill Rozas, and many others) with rich set of utilities and a compiler called Liar.
MIT Scheme includes an interpreter, large run-time library, Emacs macros, native-code compiler, emacs-like editor, and a source-level debugger.
Current version: 7.5, as of 2000-04-27.
MIT Scheme conforms fully with R4RS and almost with the IEEE Scheme standard. It runs on Motorola 68000: HP9000, Sun-3, NeXT; MIPS: Decstation, Sony, SGI; HP-PA: 600, 700, 800; VAX: Ultrix, BSD, DEC Alpha: OSF; Intel i386: MS-DOS, MS Windows, and various other Unix systems.
See also: LAP, Schematik, Scode.
Home (http://www.swiss.ai.mit.edu/projects/scheme/).
Usenet newsgroup: news:comp.lang.scheme.c.
Mailing list: info-cscheme@zurich.ai.mit.edu (cross-posted to news).
E-mail: bug-cscheme@zurich.ai.mit.edu (bugs).
(2000-05-24)

MIX
Knuth's hypothetical machine, used in The Art of Computer Programming v.1, Donald Knuth, A-W 1969.

MIXAL
MIX Assembly Language.
The assembly language for Donald Knuth's hypothetical MIX machine.
(1995-01-05)

MIX Communications
(MIX) Providers of Internet access and presentation services for businesses and individuals in the Milwaukee, WI, USA metropolitan area. MIX started providing Internet access services to the Milwaukee area in 1990. It was the first business in Milwaukee to provide Internet access services to the public.
MIX Communications is owned and operated by Dean Roth.
(http://www.mixcom.com/)
E-mail: info@mixcom.com .
Telephone: +1 (414) 351 1868 (Office), +1 (414) 351 1139 (BBS). Address: MIX Communications, P.O. Box 17166, Milwaukee, WI 53217, USA.
(1995-01-05)

M-JPEG
Moving JPEG

MJS
language An early system on the UNIVAC I or II.
[Listed in CACM 2(5):1959-05-16].
(1996-12-15)

mk
networking The country code for the Former Yugoslav Republic of Macedonia.
(1999-01-27)

ML
1. robotics Manipulator Language. IBM language for handling robots.
2. Meta Language. R. Milner rm@lfcs.edinburgh.ac.uk et al, 1973. A strict higher-order functional language. It was the first language to include polymorphic typing which was statically-checked. It also had garbage collection and a formal semantics.
It began as the metalanguage for the Edinburgh LCF proof assistant. (LCF= Logic for Computable Functions ) People soon noticed that ML could be a useful general programming language and stand-alone versions were implemented. Standard ML (SML) is a descendant of these (and related languages such as Hope). The metalanguage aspect has long since disappeared from the language itself (although there are some systems that still use it that way). The historical name is now so inappropriate that asking what ML stands for is like asking what C or Unix stands for. It doesn't stand for anything; it just is.
LCF ML was implemented in Stanford LISP. Cardelli (1981) implemented ML in Pascal using the Functional Abstract Machine (FAM). It has been significantly redesigned to produce Standard ML and Lazy ML.
[ A Metalanguage for Interactive Proof in LCF , M.J.C. Gordon et al, 5th POPL, ACM 1978].

ml
networking The country code for Mali.
(1999-01-27)

ML-2000
An extension and redesign of Standard ML. Under development.

MLAB
Modeling LABoratory. An interactive mathematical modelling system.
[ MLAB, An On-Line Modeling Laboratory , NIH (Mar 1975)].
(1994-10-13)

ML/I
Early macro translating system. P.J. Brown, CACM 10(10):618-623, (Oct 1967).

MLISP
1. M-expression LISP.
2. Meta-LISP. D.C. Smith H. Enea. LISP variant with ALGOL-like syntax. Not just a surface syntax, a full language.
MLISP , D.C. Smith, TR CS-179, CS Dept, Stanford (Oct 1970). Version: MLISP2.
3. A hybrid of M-expression LISP and Scheme.
M-LISP: Its Natural Semantics and Equational Logic , R. Muller, SIGPLAN Notices 26(9):234-242 (Sept 1991) (PEPM '91).

ML Kit
The ML Kit is a straight translation of the Definition of Standard ML into a collection of Standard ML modules. For example, every inference rule in the Definition is translated into a small piece of Standard ML code which implements it. The translation has been done with as little originality as possible - even variable conventions from the Definition are carried straight over to the Kit. The Kit is intended as a tool box for those people in the programming language community who may want a self-contained parser or type checker for full Standard ML but do not want to understand the clever bits of a high-performance compiler. We have tried to write simple code and modular interfaces.
Version 1
interpreter, documentation
Nick Rothwell, David N. Turner, Mads Tofte tofte@diku.dk , and Lars Birkedal at Edinburgh and Copenhagen Universities.
(ftp://ftp.diku.dk/diku/users/birkedal/). UK: ftp export/ml/mlkit/ from lfcs.ed.ac.uk
(1993-03-12)

MLL
Medium-Level Language.
Sometimes used half-jokingly to describe C, alluding to its structured-assembler image.
(1994-12-07)

ML-lex
A version of lex in SML/NJ which outputs a lexical analyser in SML/NJ.
(ftp://research.att.com/dist/ml/75.tools.tar.Z)

ML-Linda
U Edinburgh, under development.

ML Threads
SML/NJ with mutual exclusion primitives similar to those in Modula-2+ and Mesa. Written by Greg Morrisett jgmorris@cs.cmu.edu .
Lightweight threads are created using fork. They are pre-emptively scheduled and communicate via shared memory which can be protected by a mutex (monitor).
Implementations for Motorola 68020, SPARC and MIPS and VAX- and MIPS-based multiprocessors.
[ Adding Threads to Standard ML , E. Cooper et al, CMU-CS-90-186, CMU Dec 1990].

ML-Twig
A variant of TWIG in SML, by Jussi Rintanen jur@cs.hut.fi , which comes with SML/NJ.
(1995-02-14)

mm
networking The country code for Myanmar (Burma).
(1999-01-27)

Mma
A fast Mathematica-like system, in Allegro CL by R. Fateman, 1991.
(ftp://peoplesparc.berkeley.edu/pub/mma.tar.Z)

mmap
The Unix system call which establishes a mapping between a range of addresses in a user process's address space and a portion of some memory object (typically a file, one of the special devices /dev/mem or /dev/kmem or some memory-mapped peripheral). This allows the process to access a file at random byte offsets without using the seek system call or to access physical addresses or kernel's virtual address space. It can also be used as an alternative to writing a device driver since it is usually simpler to code and faster to use.
(1995-02-14)

MMCD
storage MultiMedia Compact Disc.
(1995-11-23)

MMDF
Multi-channel Memorandum Distribution Facility

MMI
1. Man-Machine Interface.
2. company The company which developed the first Programmable Array Logic devices. MMI was bought by AMD.
[Dates?]
(1995-12-09)

MML
Human-Machine Language.
A language from ITU-T for telecommunications applications. It has a complex natural-language syntax.
[CCITT Recommendations Z.311-Z.318, Z-341, Nov 1984].
(1995-01-31)

MMU
Memory Management Unit

MMX
Matrix Math eXtensions

MMX technology
Matrix Math eXtensions

mn
networking The country code for Mongolia.
(1999-01-27)

mnemonic
programming A word or string which is intended to be easier to remember than the thing it stands for. Most often used in instruction mnemonic which are so called because they are easier to remember than the binary patterns they stand for. Non-printing ASCII characters also have mnemonics like NAK, ESC, DEL intended to evoke their meaning on certain systems.
(1995-05-11)

MNP
Microcom Networking Protocol

mo
networking The country code for Macau.
(1999-01-27)

Mobile Triton
processor (Official name 82430MX) A version of Intel's Triton I processor chip set intended for mobile computers.
Mobile Triton consists of one 82437MX and two 82438MX.
[Special features?]
(1996-04-03)

mobo
motherboard

MOBSSL-UAF
Merritt and Miller's Own Block-Structured Simulation Language-Unpronounceable Acronym For.
A l for interactive continuous simulation.
[ MOBSSL - An Augmented Block Structured Continuous System Simulation Language for Digital and Hybrid Computers , M.J. Merritt et al, Proc FJCC 35, AFIPS (Fall 1969)].
(1995-01-31)

moby
jargon /moh'bee/ (From MIT, seems to have been in use among model railroad fans years ago. Derived from Melville's Moby Dick , some say from Moby Pickle ) 1. Large, immense, complex, impressive. A Saturn V rocket is a truly moby frob. Some MIT undergrads pulled off a moby hack at the Harvard-Yale game.
2. (Obsolete) The maximum address space of a computer (see below). For a 680[234]0 or VAX or most modern 32-bit architectures, it is 4,294,967,296 8-bit bytes (four gigabytes).
3. A title of address (never of third-person reference), usually used to show admiration, respect, and/or friendliness to a competent hacker. Greetings, moby Dave. How's that address-book thing for the Mac going?
4. In backgammon, doubles on the dice, as in moby sixes , moby ones , etc. Compare this with bignum: double sixes are both bignums and moby sixes, but moby ones are not bignums (the use of moby to describe double ones is sarcastic).
5. The largest available unit of something which is available in discrete increments. Thus a moby Coke is not just large, it's the largest size on sale.
This term entered hackerdom with the Fabritek 256K memory added to the MIT AI PDP-6 machine, which was considered unimaginably huge when it was installed in the 1960s (at a time when a more typical memory size for a time-sharing system was 72 kilobytes). Thus, a moby is classically 256K 36-bit words, the size of a PDP-6 or PDP-10 moby. Back when address registers were narrow the term was more generally useful, because when a computer had virtual memory mapping, it might actually have more physical memory attached to it than any one program could access directly. One could then say This computer has six mobies meaning that the ratio of physical memory to address space is six, without having to say specifically how much memory there actually is. That in turn implied that the computer could timeshare six full-sized programs without having to swap programs between memory and disk.
Nowadays the low cost of processor logic means that address spaces are usually larger than the most physical memory you can cram onto a machine, so most systems have much *less* than one theoretical native moby of core. Also, more modern memory-management techniques (especially paging) make the moby count less significant. However, there is one series of widely-used chips for which the term could stand to be revived --- the Intel 8088 and 80286 with their incredibly brain-damaged segmented-memory designs. On these, a moby would be the 1-megabyte address span of a segment/offset pair (by coincidence, a PDP-10 moby was exactly one megabyte of nine-bit bytes).
[Jargon File]
(1997-10-01)

mockingbird
Software that intercepts communications (especially login transactions) between users and hosts and provides system-like responses to the users while saving their responses (especially account IDs and passwords). A special case of Trojan Horse.
[Jargon File]

Mockingboard
hardware A sound and speech board for the Apple II computer, on sale in 1978.
See also zxnrbl.
(1997-03-18)

Mock Lisp
The Lisp used by the Gosling Emacs editor.

mod
1. filename extension, application, file format, music (module) The filename extension for a sampled music file format that originated on the Commodore Amiga. A .MOD file is composed of digitised sound samples, arranged in patterns to create a song. There are .MOD players for most personal computers including Amiga, Archimedes, IBM PC, and Macintosh.
An IBM PC will require a sound card capable of handling digitised samples (Sound Blaster, Sound Blaster Pro, GUS) and slower Intel 80386-based PCs may not be able to do anything else while playing a module.
.MOD files differ from .MID (MIDI) files in that they contain sound samples. This allows each song to use different sounds but it also puts more load on the CPU than playing a MIDI file, since more data must be processed for each note. A slow CPU would benefit from a sound card with wavetable synthesis which handles samples instead of the CPU.
Module files come in various formats including .MOD. Formats evolved from .MOD include .S3M, .FAR and .669. Most contain improvements on .MODs.
(http://www.eskimo.com/~future/mods.htm)
2. jargon modify or modification.
This abbreviation is very common - in fact the full terms are considered formal. Mods is used especially with reference to bug fixes or minor design changes in hardware or software, most especially with respect to patch sets or a diff.
3. programming A common name for the modulo operator.
(1999-07-14)

*MOD
( StarMOD ) A concurrent language combining the modules of Modula and the communications of Distributed Processes.
[ *MOD - A Language for Distributed Programming , R.P. Cook, IEEE Trans Soft Eng SE-6(6):563-571 (Nov 1980)].
[Jargon File]
(1994-10-21)

modal
1. (Of an interface) Having modes. Modeless interfaces are generally considered to be superior because the user does not have to remember which mode he is in.
2. See modal logic.
3. In MS Windows programming, A window with the label WS_MODAL will stay on the screen and claim all the user-input. Other windows can only be accessed if the MODAL window is closed. Such a window would typically be used for an error dialog box to warn the user for something important, like Critical error, shut down the system and restart .
(1995-02-07)

modal logic
An extension of propositional calculus with operators that express various modes of truth. Examples of modes are: necessarily A, possibly A, probably A, it has always been true that A, it is permissible that A, it is believed that A.
It is necessarily true that A means that things being as they are, A must be true, e.g.
It is necessarily true that x=x is TRUE
while
It is necessarily true that x=y is FALSE
even though x=y might be TRUE.
Adding modal operators [F] and [P], meaning, respectively, henceforth and hitherto leads to a temporal logic .
Flavours of modal logics include: Propositional Dynamic Logic (PDL), Propositional Linear Temporal Logic (PLTL), Linear Temporal Logic (LTL), Computational Tree Logic (CTL), Hennessy-Milner Logic, S1-S5, T.
C.I. Lewis, A Survey of Symbolic Logic , 1918, initiated the modern analysis of modality. He developed the logical systems S1-S5. JCC McKinsey used algebraic methods (Boolean algebras with operators) to prove the decidability of Lewis' S2 and S4 in 1941. Saul Kripke developed the relational semantics for modal logics (1959, 1963). Vaughan Pratt introduced dynamic logic in 1976. Amir Pnuelli proposed the use of temporal logic to formalise the behaviour of continually operating concurrent programs in 1977.
[Robert Goldblatt, Logics of Time and Computation , CSLI Lecture Notes No. 7, Centre for the Study of Language and Information, Stanford University, Second Edition, 1992, (distributed by University of Chicago Press)].
[Robert Goldblatt, Mathematics of Modality , CSLI Lecture Notes No. 43, Centre for the Study of Language and Information, Stanford University, 1993, (distributed by University of Chicago Press)].
[G.E. Hughes and M.J. Cresswell, An Introduction to Modal Logic , Methuen, 1968].
[E.J. Lemmon (with Dana Scott), An Introduction to Modal Logic , American Philosophical Quarterly Monograpph Series, no. 11 (ed. by Krister Segerberg), Basil Blackwell, Oxford, 1977].
(1995-02-15)

MODCAL
A version of HP-PASCAL enhanced with system programming constructs, used internally by HP.
(1995-02-07)

Mode
An object-oriented language.
[ The Programming Language Mode: Language Definition and User Guide , J. Vihavainen, C-1987-50, U Helsinki, 1987].
[Jargon File]
(1994-10-21)

mode
1. A general state, usually used with an adjective describing the state. Use of the word mode rather than state implies that the state is extended over time, and probably also that some activity characteristic of that state is being carried out. No time to hack; I'm in thesis mode.
In its jargon sense, mode is most often attributed to people, though it is sometimes applied to programs and inanimate objects. In particular, see hack mode, day mode, night mode, demo mode, fireworks mode, and yoyo mode; also chat.
2. More technically, a mode is a special state that certain user interfaces must pass into in order to perform certain functions. For example, in order to insert characters into a document in the Unix editor vi , one must type the i key, which invokes the Insert command. The effect of this command is to put vi into insert mode , in which typing the i key has a quite different effect (to wit, it inserts an i into the document). One must then hit another special key, ESC , in order to leave insert mode . Nowadays, modeful interfaces are generally considered losing but survive in quite a few widely used tools built in less enlightened times.
[Jargon File]
(1994-12-22)

mode bit
A flag, usually in hardware, that selects between two (usually quite different) modes of operation. The connotations are different from flag bit in that mode bits are mainly written during a boot or set-up phase, are seldom explicitly read, and seldom change over the lifetime of an ordinary program. The classic example was the EBCDIC-vs.-ASCII bit (#12) of the Program Status Word of the IBM 360. Another was the bit on a PDP-12 that controlled whether it ran the PDP-8 or the LINC instruction set.
[Jargon File]

MODEF
Pascal-like language with polymorphism and data abstraction. Definition of the Programming Language MODEF , J. Steensgard-Madsen et al, SIGPLAN Notices 19(2):92-110 (Feb 1984).

MODEL
language A Pascal-like language with extensions for large-scale system programming and interface with Fortran applications. MODEL includes generic procedures, and a static macro-like approach to data abstraction. It produces P-code and was used to implement the DEMOS operating system on the Cray-1.
[ A Manual for the MODEL Programming Language , J.B. Morris, Los Alamos 1976].
(1996-05-29)

model
simulation A description of observed behaviour, simplified by ignoring certain details. Models allow complex systems to be understood and their behaviour predicted within the scope of the model, but may give incorrect descriptions and predictions for situations outside the realm of their intended use. A model may be used as the basis for simulation.
Note: British spelling: modelling , US: modeling .
(1996-05-29)

model checking
theory, algorithm, testing To algorithmically check whether a program (the model) satisfies a specification.
The model is usually expressed as a directed graph consisting of nodes (or vertices) and edges. A set of atomic propositions is associated with each node. The nodes represents states of a program, the edges represent possible executions which alters the state, while the atomic propositions represent the basic properties that hold at a point of execution.
A specification language, usually some kind of temporal logic, is used to express properties.
The problem can be expressed mathematically as: given a temporal logic formula p and a model M with initial state s, decide if M,s models p.
[ Automatic verification of finite state concurrent systems using temporal logic , E.M. Clarke, E.A. Emerson, and A.P. Sisla, ACM Trans. on Programming Languages and Systems 8(2), pp. 244--263, 1986].
(1997-06-26)

modeling
spelling US spelling of modelling .
(1999-12-10)

modelling
model

Model View Controller
(MVC) A way of partitioning the design of interactive software. The model is the internal workings of the program (the algorithms), the view is how the user sees the state of the model and the controller is how the user changes the state or provides input.

modem
hardware, communications (Modulator/demodulator) An electronic device for converting between serial data (typically EIA-232) from a computer and an audio signal suitable for transmission over a telephone line connected to another modem. In one scheme the audio signal is composed of silence (no data) or one of two frequencies representing zero and one.
Modems are distinguished primarily by the maximum data rate they support. Data rates can range from 75 bits per second up to 56000 and beyond. Data from the user (i.e. flowing from the local terminal or computer via the modem to the telephone line) is sometimes at a lower rate than the other direction, on the assumption that the user cannot type more than a few characters per second.
Various data compression and error correction algorithms are required to support the highest speeds. Other optional features are auto-dial (auto-call) and auto-answer which allow the computer to initiate and accept calls without human intervention. Most modern modems support a number of different protocols, and two modems, when first connected, will automatically negotiate to find a common protocol (this process may be audible through the modem or computer's loudspeakers). Some modem protocols allow the two modems to renegotiate ( retrain ) if the initial choice of data rate is too high and gives too many transmission errors.
A modem may either be internal (connected to the computer's bus) or external ( stand-alone , connected to one of the computer's serial ports). The actual speed of transmission in characters per second depends not just the modem-to-modem data rate, but also on the speed with which the processor can transfer data to and from the modem, the kind of compression used and whether the data is compressed by the processor or the modem, the amount of noise on the telephone line (which causes retransmissions), the serial character format (typically 8N1: one start bit, eight data bits, no parity, one stop bit).
See also acoustic coupler, adaptive answering, baud barf, Bulletin Board System, Caller ID, SoftModem, U.S. Robotics, UUCP, whalesong.
Usenet newsgroup: news:comp.dcom.modems.
(2002-05-04)

MODEM7
A batch file transfer protocol.
See also XMODEM.
(1995-05-02)

moderator
A person, or small group of people, who manages a moderated mailing list or Usenet newsgroup. Moderators are responsible for determining which email submissions are passed on to the list or newsgroup.

Modified Frequency Modulation
storage (MFM, Modified FM, or sometimes Multiple Frequency Modulation ) A modification to the original frequency modulation scheme for encoding data on magnetic disks. MFM allows more than 1 symbol per flux transition (up to 3), giving greater density of data. It is used with a data rate of between 250-500 kbit/s on industry standard 3.5 and 5.25 low and high density diskettes, and up to 5 Mbit/s on ST-506 hard disks. Except for 1.44 MB floppy disks, this encoding is obsolete.
Other data encoding schemes include GCR, FM, RLL, and PRML.
(2002-06-24)

modifier
programming An operation that alters the state of an object. Modifiers often have names that begin with set and corresponding selector functions whose names begin with get .
(1998-01-12)

M O drive
mageneto-optical drive

MODSIM
language A general-purpose, modular, block-structured language from CACI, which provides support for object-oriented programming and discrete event simulation. It is intended for building large process-based discrete event simulation models through modular and object-oriented mechanisms similar to those of Modula-2.
MODSIM is descended from Modula-2 and Simula. It supports multiple inheritance, templates, reference types, polymorphism, and process-oriented simulation with synchronous and asynchronous activities using explicit simulation time.
See also MODSIM II, USAModSim.
(1994-11-11)

MODSIM II
1986. Object-oriented modular language for discrete simulation, with multiple inheritance, strong typing, integrated 2D and 3D graphics. Compiles to C. CACI, La Jolla, (619) 457-9681. list: palmer@world.std.com

Modula
MODUlar LAnguage

Modula-2
language A high-level programming language designed by Niklaus Wirth at ETH in 1978. It is a derivative of Pascal with well-defined interfaces between modules, and facilities for parallel computation. Modula-2 was developed as the system language for the Lilith workstation.
The central concept is the module which may be used to encapsulate a set of related subprograms and data structures, and restrict their visibility from other portions of the program. Each module has a definition part giving the interface, and an implementation part.
The language provides limited single-processor concurrency (monitors, coroutines and explicit transfer of control) and hardware access (absolute addresses and interrupts). It uses name equivalence.
DEC FTP archive (ftp://gatekeeper.dec.com/.1/DEC/Modula-2/m2.tar.Z)
[ Programming in Modula-2 , N. Wirth, Springer 1985].
(1995-10-25)

Modula-2*
An extension of Modula-2 by M. Philippsen philipp@ira.uka.de of the University of Karlsruhe. It uses a superset of data parallelism, allowing both synchronous and asynchronous programs, both SIMD and MIMD. Parallelism may be nested to any depth. There are version for MasPar and a simulator for the SPARC.
(ftp://iraun1.ira.uka.de/pub/programming/modula2star). E-mail: Ernst Heinz heinz@ira.uka.de .
[ Modula-2*: An Extension of Modula-2 for Highly Parallel, Portable Programs , W. Tichy et al, TR 4/90, U Karlsruhe, Jan 1990].
(1994-10-21)

Modula-2+
Modula-2 plus exceptions and threads developed by P. Rovner et al of DEC SRC, Palo Alto CA in 1984.
[ Modula-2+ User's Manual , M-C van Leunen].
[ Extending Modula-2 to Build Large, Integrated Systems , P. Rovner, IEEE Software 3(6):46-57 (Nov 1986)].
(1994-10-21)

Modula-3
L. Cardelli et al, DEC and Olivetti, 1988. A descendant of Modula-2+ and Cedar, designed for safety and simplicity. Objects, generics, threads, exceptions and garbage collection. Modules are explicitly safe or unsafe. As in Mesa, any set of variables can be monitored. No multiple inheritance, no operator overloading. Uses structural equivalence. Modula-3 Report , Luca Cardelli et al, TR 52, DEC SRC, and Olivetti Research Center, Aug 1988 (revised Oct 1989). The changes are described in System Programming with Modula-3 , Greg Nelson ed, P-H 1991, ISBN 0-13-590464-1. Modula-3 , Sam Harbison, P-H 1992. Version: SRC Modula-3 V1.5.
(ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release/)
See also SRC Modula-3.

Modula-3*
Incorporation of Modula-2* ideas into Modula-3.
[ Modula-3*: An Efficiently Compilable Extension of Modula-3 for Problem-Oriented Explicitly Parallel Programming , E. Heinz heinze@ira.uka.de , 1993].

Modula-3pi
Machine-independent intermediate language for compilation of Modula-3*. Modula-3pi Language Definition , E.A. Heinz, TR, U Karlsruhe 1993.

Modula-P
Modula-P: A Language for Parallel Programming Definition and Implementation on a Transputer Network , R. Hoffart et al, IEEE Conf Comp Langs 1992.

Modula-Prolog
Adds a Prolog layer to Modula-2. Modula-Prolog: A Software Development Tool , C. Muller IEEE Software pp.39-45 (Nov 1986).

Modula/R
Modula with relational database constructs added. LIDAS Group (J. Koch, M. Mall, P. Putfarken, M. Reimer, J.W. Schmidt, C.A. Zehnder) Modula/R Report , LIDAS Memo 091-83, ETH Zurich, Sep 1983.

Modular C
A preprocessor-based extension to C allowing modules.
[Article by Stowe Boyd, Azrex Inc, SIGPLAN Notices, ca 1980].
(1994-10-25)

MODUlar LAnguage
language (Modula) Wirth's 1977 predecessor of Modula-2. The original Modula was, more oriented towards concurrent programming, but otherwise quite similar.
[ Modula - A Language for Modular Multiprogramming , N. Wirth, Soft Prac Exp 7(1):3-35, Jan 1977].
(1999-07-12)

Modular Prolog
An interpreter for SB-Prolog version 3.1 extended with ML-style modules. Runs on SPARC. Distributed under GNU General Public License.
(ftp://ftp.dcs.ed.ac.uk/pub/dts/mod-prolog.tar.Z). E-mail: Brian Paxton mprolog@dcs.ed.ac.uk .
[ A Calculus for the Construction of Modular Prolog Programs , D. Sannella et al, J Logic Prog 12:147-177 (1992)].
(1994-10-25)

Modular SB-Prolog
Modular Prolog

module
1. programming An independent piece of software which forms part of one or more larger programs. Different languages have different concepts of a module but there are several common ideas.
Modules are usually compiled seperately (in compiled languages) and provide an abstraction or information hiding mechanism so that a module's implementation can be changed without requiring any change to other modules. In this respect they are similar to objects in an object-oriented language, though a module may contain many procedures and/or functions which would correspond to many objects.
A module often has its own name space for identifiers so the same identifier may be used to mean different things in different modules.
[Difference from package?].
2. hardware An independent assembly of electronic components with some distinct function, e.g. a RAM module consisting of several RAM chips mounted on a small circuit board.
(1997-10-27)

Modulex
Based on Modula-2. Mentioned by M.P. Atkinson J.W. Schmidt in a tutorial in Zurich, 1989.

modulo
/mod'yu-loh/
1. mathematics modulo arithmetic.
2. mathematics modulo operator.
3. jargon Except for. An overgeneralisation of the mathematical terminology; one can consider saying that 4 equals 22 except for the 9s (4 = 22 mod 9). Well, LISP seems to work okay now, modulo that GC bug. I feel fine today modulo a slight headache.
[Jargon File]
(1999-07-12)

modulo arithmetic
mathematics (Or clock arithmetic ) A kind of integer arithmetic that reduces all numbers to one of a fixed set [0..N-1] (this would be modulo N arithmetic ) by effectively repeatedly adding or subtracting N until the result is within this range.
Ordinary clock arithmetic is like modulo arithmetic except that the range is [1..12] whereas modulo 12 would be [0..11].
(1999-07-13)

modulo operator
mathematics (mod) The operator that returns the remainder after integer division of its first argument by its second. Written as % in C and some other languages.
Where the second argument is a power of two, the result can be calculated much more quickly using bitwise and with the appropriate bit-mask.
(1999-07-12)

molly-guard
/mol'ee-gard/ [University of Illinois] A shield to prevent tripping of some Big Red Switch by clumsy or ignorant hands. Originally used of the plexiglass covers improvised for the BRS on an IBM 4341 after a programmer's toddler daughter (named Molly) frobbed it twice in one day. Later generalised to covers over stop/reset switches on disk drives and networking equipment.
[Jargon File]

monad
theory, functional programming /mo'nad/ A technique from category theory which has been adopted as a way of dealing with state in functional programming languages in such a way that the details of the state are hidden or abstracted out of code that merely passes it on unchanged.
A monad has three components: a means of augmenting an existing type, a means of creating a default value of this new type from a value of the original type, and a replacement for the basic application operator for the old type that works with the new type.
The alternative to passing state via a monad is to add an extra argument and return value to many functions which have no interest in that state. Monads can encapsulate state, side effects, exception handling, global data, etc. in a purely lazily functional way.
A monad can be expressed as the triple, (M, unitM, bindM) where M is a function on types and (using Haskell notaion):
unitM :: a - M a bindM :: M a - (a - M b) - M b
I.e. unitM converts an ordinary value of type a in to monadic form and bindM applies a function to a monadic value after de-monadising it. E.g. a state transformer monad:
type S a = State - (a, State) unitS a = s0 - (a, s0) m `bindS` k = s0 - let (a,s1) = m s0
in k a s1
Here unitS adds some initial state to an ordinary value and bindS applies function k to a value m. (`fun` is Haskell notation for using a function as an infix operator). Both m and k take a state as input and return a new state as part of their output. The construction
m `bindS` k
composes these two state transformers into one while also passing the value of m to k.
Monads are a powerful tool in functional programming. If a program is written using a monad to pass around a variable (like the state in the example above) then it is easy to change what is passed around simply by changing the monad. Only the parts of the program which deal directly with the quantity concerned need be altered, parts which merely pass it on unchanged will stay the same.
In functional programming, unitM is often called initM or returnM and bindM is called thenM. A third function, mapM is frequently defined in terms of then and return. This applies a given function to a list of monadic values, threading some variable (e.g. state) through the applications:
mapM :: (a - M b) - [a] - M [b] mapM f [] = returnM [] mapM f (x:xs) = f x `thenM` ( x2 -
mapM f xs `thenM` ( xs2 -
returnM (x2 : xs2) ))
(2000-03-09)

monadic
1. programming unary, when describing an operator or function. The term is part of the dyadic, niladic sequence.
2. theory See monad.
(1998-07-24)

Mongolian Hordes technique
programming, jargon (Or Chinese Army technique ) Assigning a large number of inexperienced programmers to a job which would better performed by a few skilled ones. The term was first used by Dr. Fred Brooks in his book The Mythical Man-Month , Chapter 3.
According to Dr. Brooks, he had in mind the vision of the Mongol Hordes sweeping across Asia and Europe when he created the term.
[Jargon File]
(1996-06-20)

moniter
spelling It's spelled monitor .
(1996-11-28)

monitor
1. A cathode-ray tube and associated electronics connected to a computer's video output. A monitor may be either monochrome (black and white) or colour (RGB). Colour monitors may show either digital colour (each of the red, green and blue signals may be either on or off, giving eight possible colours: black, white, red, green, blue, cyan, magenta and yellow) or analog colour (red, green and blue signals are continuously variable allowing any combination to be displayed). Digital monitors are sometimes known as TTL because the voltages on the red, green and blue inputs are compatible with TTL logic chips.
See also gamut, multisync, visual display unit.
2. A programming language construct which encapsulates variables, access procedures and initialisation code within an abstract data type. The monitor's variable may only be accessed via its access procedures and only one process may be actively accessing the monitor at any one time. The access procedures are critical sections. A monitor may have a queue of processes which are waiting to access it.
3. A hardware device that measures electrical events such as pulses or voltage levels in a digital computer.
4. To oversee a program during execution. For example, the monitor function in the Unix C library enables profiling of a certain range of code addresses. A histogram is produced showing how often the program counter was found to be at each position and how often each profiled function was called.
Unix man page: monitor(3).
5. A control program within the operating system that manages the allocation of system resources to active programs.
6. A program that measures software performance.

monkey, scratch
scratch monkey

monkey sort
bogo-sort

monkey up
To hack together hardware for a particular task, especially a one-shot job. Connotes an extremely crufty and consciously temporary solution. Compare hack up, kluge up, cruft together.

monochrome
graphics Literally one colour . Usually used for a black and white (or sometimes green or orange) monitor as distinct from a color monitor. Normally, each pixel on the display will correspond to a single bit of display memory and will therefore be one of two intensities. A grey-scale display requires several bits per pixel but might still be called monochrome.
Compare: bitonal.
(1994-11-24)

monoid
An operator * and a value x form a monoid if * is associative and x is its left and right identity.

monotonic
In domain theory, a function f : D - C is monotonic (or monotone) if
for all x,y in D, x = y = f(x) = f(y).
( = is written in LaTeX as sqsubseteq).
(1994-11-24)

MONSTR
language A term graph rewriting language from Manchester University(?), designed to be easily implementable on distributed architectures and featuring limited synchronisation facilities.
(1995-03-20)

Montage
An object-relational database management system from Montage Software, the commercialisation of POSTGRES.
(1995-02-23)

Monte Carlo
(After Monte Carlo, Monaco - a notorious gambling mecca) Any one of various methods involving statistical techniques, such as the use of random samples, to finding the solutions to mathematical or physical problems.
For example, to calculate pi, generate random points in the square (x, y) = ([0-1], [0-1]) and find the proportion for which x^2 + y^2 1, i.e. which lie within a quadant of a circle with radius 1. Since the area of the square is 1 and the area of the quadrant is pi/4, the proportion in the quadrant should be pi/4.
(1995-02-23)

monty
/mon'tee/ [US Geological Survey] A program with a ludicrously complex user interface written to perform extremely trivial tasks. An example would be a menu-driven, button clicking, pulldown, pop-up windows program for listing directories. The original monty was an infamous weather-reporting program, Monty the Amazing Weather Man, written at the USGS. Monty had a widget-packed X-window interface with over 200 buttons; and all monty actually *did* was FTP files off the network.
[Jargon File]

MOO
MUD Object Oriented

Moof
/moof/ [MAC users] 1. A semi-legendary creature, also called the dogcow , that lurks in the depths of the Macintosh Technical Notes Hypercard stack V3.1; specifically, the full story of the dogcow is told in technical note #31 (the particular Moof illustrated is properly named Clarus ). Option-shift-click will cause it to emit a characteristic Moof! or !fooM sound. *Getting* to tech note 31 is the hard part; to discover how to do that, one must needs examine the stack script with a hackerly eye. Clue: rot13 is involved. A dogcow also appears if you choose Page Setup... with a LaserWriter selected and click on the Options button.
2. Used to flag software that's a hack, something untested and on the edge. On one Apple Computer CD-ROM, certain folders such as Tools Apps (Moof!) and Development Platforms (Moof!) , are so marked to indicate that they contain software not fully tested or sanctioned by the powers that be. When you open these folders you cross the boundary into hackerland.
[Jargon File]

Moore bound
An upper limit on the number of nodes in a regular graph of degree d 2 and diameter k:
N(d,k) = d(d-1)^k - 2
------------
d-2

Moore graph
A graph which achieves the Moore bound. These are complete graphs, polygon graphs (regular graphs of degree 2) and three others: (nodes, degree, diameter) = (10,3,2), (50,7,2) and the possible but undiscovered (3250,57,2).

Moore's Law
architecture /morz law/ The observation, made in 1965 by Intel co-founder Gordon Moore while preparing a speech, that each new memory integrated circuit contained roughly twice as much capacity as its predecessor, and each chip was released within 18-24 months of the previous chip. If this trend continued, he reasoned, computing power would rise exponentially with time.
Moore's observation still holds in 1997 and is the basis for many performance forecasts. In 24 years the number of transistors on processor chips has increased by a factor of almost 2400, from 2300 on the Intel 4004 in 1971 to 5.5 million on the Pentium Pro in 1995 (doubling roughly every two years).
Date Chip Transistors MIPS clock/MHz
-----------------------------------------------
Nov 1971 4004 2300 0.06 0.108
Apr 1974 8080 6000 0.64 2
Jun 1978 8086 29000 0.7510
Feb 1982 80286 134000 2.6612
Oct 1985 386DX 275000 5 16
Apr 1989 80486 1200000 20 25
Mar 1993 Pentium 3100000 112 66
Nov 1995 Pentium Pro 5500000 428 200
-----------------------------------------------
Moore's Law has been (mis)interpreted to mean many things over the years. In particular, microprocessor performance has increased faster than the number of transistors per chip. The number of MIPS has, on average, doubled every 1.8 years for the past 25 years, or every 1.6 years for the last 10 years. While more recent processors have had wider data paths, which would correspond to an increase in transistor count, their performance has also increased due to increased clock rates.
Chip density in transistors per unit area has increased less quickly - a factor of only 146 between the 4004 (12 mm^2) and the Pentium Pro (196 mm^2) (doubling every 3.3 years). Feature size has decreased from 10 to 0.35 microns which would give over 800 times as many transistors per unit. However, the automatic layout required to cope with the increased complexity is less efficient than the hand layout used for early processors.
(http://www.intel.com/intel/museum/25anniv/html/hof/moore.htm).
Intel Microprocessor Quick Reference Guide (http://www.intel.com/pressroom/no_frame/quickref.htm).
Birth of a Chip , Linley Gwennap, Byte, Dec 1996 (http://www.byte.com/art/9612/sec6/art2.htm). See also March 1997 inbox .
Chronology of Events in the History of Microcomputers (http://www.islandnet.com/~kpolsson/comphist.htm), Ken Polsson.
See also Parkinson's Law of Data.
[Jargon File]
(1997-03-04)

moose call
whalesong

MooZ
language, specification An object-oriented extension of Z.
[ Object Orientation in Z , S. Stepney et al eds, Springer 1992].
(1997-07-09)

Mops
Like Yerk, Mops is descended from the ex-commercial object-oriented language Neon. It was developed by Michael Hore mikeh@kralizec.zeta.org.au . Mops features an optimising native-code compiler; it is much faster than Yerk, but less compatible with Neon. Mops includes extensions such as multiple inheritance.
Version 2.3.1 includes a compiler, documentation and an editor.
A Macintosh version is available. (ftp://oddjob.uchicago.edu/pub/Yerk).

MORAL
Mentioned in An Overview of Ada , J.G.P. Barnes, Soft Prac Exp 10:851-887 (1980).

moria
games /mor'ee-*/ Like nethack and rogue, one of the large PD Dungeons and Dragons-like simulation games, available for a wide range of machines and operating systems. The name is from Tolkien's Mines of Moria; compare elder days, elvish. The game is extremely addictive and a major consumer of time better used for hacking.
[Jargon File]

morphing
graphics The animated transformation of one image into another by gradually distorting the first image so as to move certain chosen points to the position of corresponding points in the second image.
Compare tweening.
(1995-04-03)

Morse code
communications A coding system invented by Samuel A. Morse, for use in sending character data over extremely low-quality pathways -- such as telegraphs and low-quality radio. Morse code expresses characters as pulses of different durations. Short signals are called dots and long signals are calles dashes . The coding assigns shorter sequences to the most frequently used characters.
American Morse code is the first and original Morse code character set. Character sets adapted to other languages were developed later.
American Morse Code:
A . __ J . . S . . . 1 . __ __ .
B __ . . . K __ . __ T __ 2 . . __ . .
C . . . L ___ U . . __ 3 . . . __ .
D __ . . M __ __ V . . . __ 4 . . . . __
E . N __ . W . __ __ 5 __ __ __
F . __ . O . . X . __ . . 6 . . . . . .
G __ __ . P . . . . . Y . . . . 7 __ __ . .
H . . . . Q . . __ . Z . . . . 8 __ . . . .
I . . R . . . 0 ____ 9 __ . . __
Where . is a short pulse, __ a long pulse, ___ a very long pulse and ____ a extra long pulse. There are also long and short spaces character-internal. Intercharacter spaces are very long and interword spaces are extra long. There is no standarisation in these durations, and they vary depending on the coder's preference and on the quality of the line.
Continental Morse Code or International Morse Code is a widely used de-facto standard. This table summarises the Western European usage of Continental Morse Code:
A .- G --. M -- S ... Y -.-- 4 ....-
B -... H .... N -. T - Z --.. 5 .....
C -.-. I .. O --- U ..- 0 ----- 6 -....
D -.. J .--- P .--. V ...- 1 .---- 7 --...
E . K -.- Q --.- W .-- 2 ..--- 8 ---..
F ..-. L .-.. R .-. X -..- 3 ...-- 9 ----.
A-umlaut (1) .-.- E-acute ..-..
A-acute .--.- N-tilde --.--
A-corona (11) .--.- O-umlaut (1) ---.
CH (2) ---- U-umlaut (1) ..--
Punctuation Marks: Other Signs:
period .-.-.- warning .-..-
comma --..-- error ........
question mark ..--.. repetition (ii ii) .. ..
hyphen -....- wait (AS) .-...
colon (3) ---... interruption (BK) -...-.-
underline (4) ..--.- understood (VE) ...-.
apostrophe .----. transmission received (R) .-.
quotation mark .-..-. beginning of message (KA) -.-.-
parenthesis open (5)-.--. end of message (AR) .-.-.
parenthesis (close) -.--.- end of transmission (K) (6) -.-
equal sign (7) -...- end of transmission (KN) (8) -.--.
plus sign .-.-. closing mark (SK) (9) ...-.-
multiplication sign -..- closing station (CL) -.-..-.
fraction mark -..-.
separator (10) .-..-
(1) Note: 'umlaut' is also known as 'diaeresis'
(2) Used only in German; not in Dutch.
(3) also: 'divided by'
(4) before and after the word to be underlined
(5) purportedly replaced by -.--.- for both ( and )
(6) both and invitation to any station to start transmission
(7) also used as spacing between parts of transmission
(8) also an invitation to one station in particular to start
transmission
(9) connection will be closed.
(10) in fractions, for example.
(11) A-ring ?
Where '.' is a short pulse, '-' a long one. A '-' is three times as long as a '.'; character-internal spaces are as long as '.'s. Intercharacter space are as long as -'s. Spaces between words are as long as seven '.'s.
(1996-11-23)

MORTRAN
A public domain Fortran preprocessor for structured programming.
(1995-09-20)

MOS
Metal Oxide Semiconductor

Mosaic
World-Wide Web, tool NCSA's browser (client) for the World-Wide Web.
Mosaic has been described as the killer application of the 1990s because it was the first program to provide a slick multimedia graphical user interface to the Internet's burgeoning wealth of distributed information services (formerly mostly limited to FTP and Gopher) at a time when access to the Internet was expanding rapidly outside its previous domain of academia and large industrial research institutions.
NCSA Mosaic was originally designed and programmed for the X Window System by Marc Andreessen and Eric Bina at NCSA. Version 1.0 was released in April 1993, followed by two maintenance releases during summer 1993. Version 2.0 was released in December 1993, along with version 1.0 releases for both the Apple Macintosh and Microsoft Windows. An Acorn Archimedes port is underway (May 1994).
Marc Andreessen, who created the NCSA Mosaic research prototype as an undergraduate student at the University of Illinois left to start Mosaic Communications Corporation along with five other former students and staff of the university who were instrumental in NCSA Mosaic's design and development.
(http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/help-about.html)
(ftp://ftp.ncsa.uiuc.edu/).
E-mail: mosaic-x@ncsa.uiuc.edu (X version), mosaic-mac@ncsa.uiuc.edu (Macintosh), mosaic-win@ncsa.uiuc.edu (Windows version), mosaic@ncsa.uiuc.edu (general help).
(1995-04-06)

Mosaic Communications Corporation
Netscape Communications Corporation

Moscow ML
A light-weight implementation of Standard ML written by Sergei Romanenko sergei-romanenko@refal.msk.su of the Keldysh Institute of Applied Mathematics with assistance from Peter Sestoft sestoft@dina.kvl.dk , Royal Veterinary and Agricultural University. Moscow ML is based on CAML Light.
Version: 1.20 implements the Standard ML Core language.
The sublanguage of Modules implemented by Moscow ML contains signatures and non-nested structures, and identifies structures with source files. It is certainly less expressive than the full Standard ML Modules language, but the type-safe separate compilation facility is simple, useful, and easy to use. It is the intention to implement the full Standard ML Modules language (including functors) in due course.
Compilation of a signature produces a compiled interface file, which is used when compiling other signatures and structures.
Compilation of a structure produces a bytecode file. Bytecode files are compact and load fast. For instance, a 3250-line program consisting of 24 structures and 17 signatures compiles to 221 KB of bytecode and 241 KB of compiled signatures. Starting the ML system and loading the 24 bytecode files takes 1-2 cpu seconds plus network delays, less that 5 seconds real time in all.
Release 1.20 permits loading of precompiled bytecode files into the top-level interactive session. The next release will be able to create stand-alone executables by linking bytecode files.
There is a mechanism for adding basis libraries, as in Caml Light. Release 1.20 includes the basis libraries Array, List, and Vector and the MS-DOS version includes the Graphics library from Caml Light.
In principle, Moscow ML can be compiled on any platform supported by Caml Light. So far we have tried Intel 80386-based IBM PCs running MS-DOS, Microsoft Windows, OS/2 or Linux, DEC MIPS running Ultrix, DEC Alpha running OSF/1, Sun-4 running SunOS, HP9000 running HP/UX, SGI MIPS running IRIX 5.
Moscow ML is particularly useful when fast compilation and modest storage consumption are more important than fast program execution.
Thanks to the efficient Caml Light run-time system used in Moscow ML, it compiles fast and uses little memory, typically 5-10 times less memory than SML/NJ 0.93 and 2-3 times less than Edinburgh ML. Yet the bytecode is only 3 to 10 times slower than SML/NJ 0.93 compiled native code (fast on IBM PCs, slower on RISCs).
DOS (ftp://dina.kvl.dk/pub/Peter.Sestoft/mosml/mos12bin.zip). Linux (ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/linux-mos12bin.tar.gz). Source (ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/mos12src.tar.gz).
Caml Light 0.61 and gcc are required to recompile Moscow ML for Unix or Caml Light 0.61, djgpp, Perl, and Borland C++ version 2.0 (or later) to recompile Moscow ML for DOS.
(1994-12-12)

MOSFET
Metal Oxide Semiconductor Field-Effect Transistor

Mosiac
Do you mean Mosaic?

MOS Technologies
company A microprocessor design company started by some ex-Motorola designers, shortly after the Intel 8080 and Motorola 6800 appeared, in about 1975. MOS Technologies introduced the 650x series, based on the Motorola 6800 design, though they were not exact clones for legal reasons.
The design goal was a low-cost (smaler chip) design, realized by simplifying the decoder stage. There were no instructions with the value xxxxxx11, reducing the 1-of-4 decoder to a single NAND gate. Instructions with the value xxxxxx11 actually executed two instructions in paralell, some of them useful.
The 6501 was pin-compatible with the 6800 for easier market penetration. The 650x-series had an on-chip clock oscillator while the 651x-series had none.
The 6510 was used in the Commodore 64, released September 1981 and MOS made almost all the ICs for Commodore's pocket calculators.
The PET was an idea of the of the 6500 developers. It was completly developed by MOS, but was manufactured and marketed by Commodore. By the time the it was ready for production (and Commodore had cancelled all orders) MOS had been taken over by Rockwell (Commodore's parent company). Just at this time the 6522 (VIA) was finished, but the data sheet for it was not and its developers had left MOS. For years, Rockwell didn't know in detail how the VIA worked.
(2001-03-31)

most general unifier
logic If U is the most general unifier of a set of expressions then any other unifier, V, can be expressed as V = UW, where W is another substitution.
See also unification.
(2000-03-07)

Most Significant Bit
(MSB) Bit n-1 in an n bit binary number, the bit with the greatest weight (2^(n-1)). The first or leftmost bit when the number is written in the usual way.
(1995-07-13)

motd
message of the day

mother
parent

motherboard
hardware (mobo) The main printed circuit board in an electronic device, particularly a computer, which may contain sockets that accept additional boards ( daughter-boards ).
In a personal computer, the motherboard contains the bus, the microprocessor, and integrated circuits used for controlling any built-in peripherals such as the keyboard, text and graphics display, serial ports and parallel ports, joystick, and mouse interfaces.
(2000-08-10)

Motif
The standard graphical user interface and window manager from OSF, running on the X Window System.

Motion JPEG
Moving JPEG

Motion Picture Experts Group
spelling Incorrect expansion of MPEG, which stands for Moving Picture Experts Group.
(2000-05-31)

Motorola
Motorola, Inc.

Motorola 14500B
processor (MC14500B) A 1-bit ICU from Motorola. Probably the limit in small processors, the 14500B had a 4-bit instruction and controlled a single data read/write line, used for application control. It had no address bus - that was an external unit that was added on. Another CPU could be used to feed control instructions to the 14500B in an application. It had only 16 pins, less than a typical RAM chip, and ran at 1 MHz.
(1994-11-30)

Motorola 6800
processor A microprocessor released shortly after the Intel 8080, in about 1975. It had 78 instructions, including the undocumented HCF (Halt and Catch Fire) bus test instruction. The 6800 evolved into the Motorola 6801 and 6803.
The 6502 was based on the design of the 6800 but had one less data register and one more index register.
(1994-10-31)

Motorola 68000
processor (MC68000) The first member of Motorola, Inc.'s family of 16- and 32-bit microprocessors. The successor to the Motorola 6809 and followed by the Motorola 68010.
The 68000 has 32-bit registers but only a 16-bit ALU and external data bus. It has 24-bit addressing and a linear address space, with none of the evil segment registers of Intel's contemporary processors that make programming them unpleasant. That means that a single directly accessed array or structure can be larger than 64KB in size. Addresses are computed as 32 bit, but the top 8 bits are cut to fit the address bus into a 64-pin package (address and data share a bus in the 40 pin packages of the 8086 and Zilog Z8000).
The 68000 has sixteen 32-bit registers, split into data and address registers. One address register is reserved for the Stack Pointer. Any register, of either type, can be used for any function except direct addressing. Only address registers can be used as the source of an address, but data registers can provide the offset from an address.
Like the Zilog Z8000, the 68000 features a supervisor and user mode, each with its own Stack Pointer. The Zilog Z8000 and 68000 are similar in capabilities, but the 68000 is 32 bits internally, making it faster and eliminating forced segmentations.
Like many other CPUs of its generation, it can fetch the next instruction during execution (2 stage pipeline).
The 68000 was used in many workstations, notably early Sun-2 machines, and personal computers, notably Apple Computer's first Macintoshes and the Amiga.
Variants of the 68000 include the 68HC000 (a low-power HCMOS implementation) and the 68008 (an eight-bit data bus version used in the Sinclair QL).
[ The 68000: Principles and Programming , Leo Scanlon, 1981].
(1999-03-24)

Motorola 6801
processor (And 6803) A version of the Motorola 6800 with ROM, some RAM, a serial I/O port and other functions on the chip. It was meant for embedded controllers, where the part count was to be minimised. The 6803 led to the 68HC11 and that was extended to 16 bits as the 68HC16.
(1994-11-07)

Motorola 68010
processor A microprocessor from Motorola. It was the successor to the Motorola 68000 and was followed by the Motorola 68020. Some instructions which were previously user mode were made system mode, which necessitated patches to a few programs.
The 68010's main advantage over the 68000 was that it could recover from a bus fault. The 68000 microcode didn't save enough state to restart all instructions; the 68010 corrected this fault. This allowed it to use paged virtual memory.
The 68010's DBxx (decrement and branch) instructions could hold and execute the preceding instruction in the prefetch buffer, allowing some two-instruction loops to execute without refetching instructions.
At one time there was a 68010 variant that was pin-for-pin compatible with the 68000. Early Amiga hackers replaced their 68000s with 68010s in order to get a small performance increase.
(1995-11-29)

Motorola 68020
processor A microprocessor from Motorola. It was the successor to the Motorola 68010 and was followed by the Motorola 68030. The 68020 has 32-bit internal and external data and address buses and a 256-byte instruction buffer, arranged as 64 direct-mapped 4-byte entries[?].
The 68020 added many improvements to the 68010 including a 32-bit ALU and external data bus and address bus, and new instrucitons and addressing modes. The 68020 (and 68030) had a proper three-stage pipeline.
The new instructions included some minor improvements and extensions to the supervisor state, some support for high-level languages which didn't get used much (and was removed from future 680x0 processors[?]), bigger (32 x 32-bit) multiply and divide instructions, and bit field manipulations.
The new adderessing modes added another level of indirection to many of the pre-existing modes, and added quite a bit of flexibility to various indexing modes and operations.
The instruction buffer (an instruction cache) was 256 bytes, arranged as 64 direct-mapped 4-byte entries. Although small, it made a significant difference in the performance of many applications.
The 68881 and the faster 68882 FPU chips could be used with the 68020.
The 68020 was used in many models of the Apple Macintosh II series of personal computers and Sun 3 workstations.
(2001-03-07)

Motorola 68030
processor A 32-bit microprocessor in Motorola's Motorola 68000 family, with on-chip split instruction and data cache of 256 bytes each. The 68030 has an on-chip MMU (except in the 680EC30 version).
The 68881 and the faster 68882 FPU chips could be used with the 68030.
The 68030 was the successor to the Motorola 68020, and was followed by the Motorola 68040.
The 68030 is used in many models of the Apple Macintosh II series of personal computers.
(2001-01-08)

Motorola 68040
processor A microprocessor from Motorola. It was the successor to the Motorola 68030 and was followed by the Motorola 68060.
The 68040 (but not the 680EC40) was the first 680x0 family member with an on-chip FPU. It also had split instruction and data caches of 4 kilobytes(?) each. It was fully pipelined, with six stages.
The 68040 was used in the Apple Macintosh Quadra series of personal computers.
(2001-03-11)

Motorola 68050
There was no 68050. The successor to the Motorola 68040 was the Motorola 68060.
The even numbers (68000, 68020, 68060) were reserved for major revisions to the 680x0 core. The odd numbers (68010, 68030, 68050) were minor upgrades from the previous chip. For example, the Motorola 68010 was a Motorola 68000 with some minor enhancements and modifications to some user/superuser instruction assignments. The Motorola 68030 was a Motorola 68020 with an MMU and more minor enhancements. The 68050 would have been a 68040 with some bugs fixed, which didn't really warrant a new name so it was sold as a 68040.
(1995-11-29)

Motorola 68060
processor A 32-bit microprocessor from Motorola, the successor to the Motorola 68040. The 68060 is the highest performance 680x0 family processor currently (April 1995) available. It has 2 to 3 times the performance of the 68040.
The 68060 is probably the last development from Motorola in the high performacnce 680x0 series. They don't want to compete with their own PowerPC chips. The 680x0 series is intended more for embedded systems, where it is already very popular. New developments here seem to integrate more peripheral functions on chip rather than increasing processing power.
(1995-04-22)

Motorola 6809
(MC6809) An eight-bit microprocessor from Motorola, Inc.
The 6809 was a major advance over both its predecessor, the Motorola 6800 and also over the 6502. The 6809 had two 8-bit accumulators, rather than one in the 6502, and could combine them into a single 16-bit register. It also featured two index registers and two stack pointers, which allowed for some very advanced addressing modes. The 6809 was source compatible with the 6800, even though the 6800 had 78 instructions and the 6809 only had around 59 (including a SEX instruction). Some instructions were replaced by more general ones which the assembler would translate, and some were even replaced by addressing modes.
Other features were one of the first multiplication instructions of the time, 16-bit arithmetic and a special fast interrupt. But it was also highly optimised, gaining up to five times the speed of the 6800 series CPU. Like the 6800, it included the undocumented HCF (Halt and Catch Fire) bus test instruction.
The Hitachi 6309 was a version with extra registers. The 6809 was used in the UK Dragon 32 personal computer and was followed by the Motorola 68000.
See also SEX.
Usenet newsgroup: news:comp.sys.m6809.
There is a simulator called usim and an assembler by Lennart Benschop lennart@blade.stack.urc.tue.nl was posted to Usenet newsgroup alt.sources on 1993-11-03.
(1995-02-01)

Motorola 680x0
processor Shorthand for any member for the Motorola 68000 family of microprocessors from Motorola, Inc. The x stands for 0, 1, 2, 3, 4 or 6.
(1993-05-01)

Motorola 68HC11
processor A microcontroller family from Motorola descended from the Motorola 6800 microprocessor.
The 68HC11 devices are more powerful and more expensive than the 68HC05 family.
FAQ (ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/comp.answers/microcontroller-faq/68hc11).
There is an opcode simulator for the 68HC11, by Ted Dunning ted@nmsu.edu . Interrupts, hardware I/O, and half carries are still outside the loop. Adding interrupts may require simulating at the clock phase level. Version 1.
(ftp://crl.nmsu.edu/pub/non-lexical/6811/sim6811.shar)
(1995-04-28)

Motorola 68LC040
processor A version of the Motorola 68040 with no MMU or FPU, making it more like an enhanced Motorola 68020.
A Power Macintosh can emulate a Motorola 68LC040.
(1999-01-11)

Motorola 88000
A family of RISC microprocessors from Motorola.
[Details?]
(1995-03-01)

Motorola, Inc.
company One of the world's leading providers of wireless communications, semiconductors and advanced electronic systems and services. Major equipment businesses include cellular telephone, two-way radio, paging and data communications, personal communications, automotive, defense and space electronics, computers, satellite communications systems, police and emergency service radio systems, taxicab dispatching (radio) systems. Communication devices, computers and millions of consumer products are powered by Motorola semiconductors.
They are probably best known in the computing world for their microprocessors, including the Motorola 6800 and Motorola 68000 CISC families and Motorola 88000 RISCs, the Motorola DSP56000 digital signal processors and the PowerPC on which they collaborated. They also led the development of VMEbus.
Quarterly sales $5400M, profits $367M (Aug 1994).
See also Envoy, Monsoon, MPL.
(http://www.mot.com/)
Address: Schaumberg, Illinois, USA.
(1994-12-01)

mount
file system To make a file system available for access.
Unix does this by associating the file system with a directory (the mount point ) within a currently mounted file system. The root file system is mounted on the root directory, / early in the boot sequence. mount is also the Unix command to do this, unmount breaks the association.
E.g., mount attaches a named file system to the file system hierarchy at the pathname location directory [...] -- Unix manual page mount(8).
File systems are usually mounted either at boot time under control of /etc/rc (or one of its subfiles) or on demand by an automounter daemon.
Other operating systems such as VMS and DOS mount file systems as separate directory hierarchies without any common ancestor or root directory.
Apparently derived from the physical sense of mount meaning attach , as in head-mounted display , or set up , as in always mount a scratch monkey, etc.
Unix manual page: mount(8).
(1997-04-14)

Mouse
A mighty small macro language developed by Peter Grogono in 1975.
[ Mouse, A Language for Microcomputers , P. Grogono grogono@concour.cs.concordia.ca Petrocelli Books, 1983].
(1994-10-31)

mouse
hardware, graphics The most commonly used computer pointing device, first introduced by Douglas Engelbart in 1968. The mouse is a device used to manipulate an on-screen pointer that's normally shaped like an arrow. With the mouse in hand, the computer user can select, move, and change items on the screen.
A conventional roller-ball mouse is slid across the surface of the desk, often on a mouse mat. As the mouse moves, a ball set in a depression on the underside of the mouse rolls accordingly. The ball is also in contact with two small shafts set at right angles to each other inside the mouse. The rotating ball turns the shafts, and sensors inside the mouse measure the shafts' rotation. The distance and direction information from the sensors is then transmitted to the computer, usually through a connecting wire - the mouse's tail . The computer then moves the mouse pointer on the screen to follow the movements of the mouse. This may be done directly by the graphics adaptor, but where it involves the processor the task should be assigned a high priority to avoid any perceptible delay.
Some mice are contoured to fit the shape of a person's right hand, and some come in left-handed versions. Other mice are symmetrical.
Included on the mouse are usually two or three buttons that the user may press, or click, to initiate various actions such as running programs or opening files. The left-most button (the primary mouse button) is operated with the index finger to select and activate objects represented on the screen. Different operating systems and graphical user interfaces have different conventions for using the other button(s). Typical operations include calling up a context-sensitive menu, modifying the selection, or pasting text. With fewer mouse buttons these require combinations of mouse and keyboard actions. Between its left and right buttons, a mouse may also have a wheel that can be used for scrolling or other special operations defined by the software. Some systems allow the mouse button assignments to be swapped round for left-handed users.
Just moving the pointer across the screen with the mouse typically does nothing (though some CAD systems respond to patterns of mouse movement with no buttons pressed). Normally, the pointer is positioned over something on the screen (an icon or a menu item), and the user then clicks a mouse button to actually affect the screen display.
The five most common gestures performed with the mouse are: point (to place the pointer over an on-screen item), click (to press and release a mouse button), double-click to press and release a mouse button twice in rapid succession, right-click (to press and release the right mouse button, and drag (to hold down the mouse button while moving the mouse).
Most modern computers include a mouse as standard equipment. However, some systems, especially portable laptop and notebook models, may have a trackball, touchpad or Trackpoint on or next to the keyboard. These input devices work like the mouse, but take less space and don't need a desk.
Many other alternatives to the conventional roller-ball mouse exist. A tailless mouse, or hamster, transmits its information with infrared impulses. A foot-controlled mouse (http://www.footmouse.com/) is one used on the floor underneath the desk. An optical mouse uses a light-emitting diode and photocells instead of a rolling ball to track its position. Some optical designs may require a special mouse mat marked with a grid, others, like the Microsoft IntelliMouse Explorer, work on nearly any surface.
Yahoo! (http://dir.yahoo.com/Business_and_Economy/Companies/Computers/Hardware/Peripherals/Input_Devices/Mice/).
(http://peripherals.about.com/library/weekly/aa041498.htm).
PC Guide's Troubleshooting Mice (http://www.pcguide.com/ts/x/comp/mice.htm).
(1999-07-21)

mouse ahead
The point-and-click analog of type ahead . To manipulate a computer's pointing device (almost always a mouse in this usage, but not necessarily) and its selection or command buttons before a computer program is ready to accept such input, in anticipation of the program accepting the input. Handling this properly is rare, but it can help make a WIMP environment much more usable, assuming the users are familiar with the behaviour of the user interface.
[Jargon File]
(1994-12-05)

mouse around
To explore public portions of a large system, especially a network such as Internet via FTP or TELNET, looking for interesting stuff to snarf.
[Jargon File]
(1994-12-05)

mouse arrest
jargon Getting busted for violating an on-line service's rule of conduct. Sorry I couldn't get back to you. AOL put me under mouse arrest.
(1997-03-30)

mouse belt
See rat belt.
[Jargon File]

mouse droppings
1. graphics, operating system, jargon Pixels (usually single) that are not properly restored when the mouse pointer moves away from a particular location on the screen, producing the appearance that the mouse pointer has left droppings behind. The major causes for this problem are MS-DOS programs that write to the screen memory corresponding to the mouse pointer's current location without hiding the mouse pointer first, and mouse drivers that do not quite support the graphics mode in use.
2. World-Wide Web, jargon The client address recorded in a World-Wide Web server's log whenever a client connects to a site.
Users may be unaware that their activity is being logged in this way but the potential for misuse of the information is limited.
[March 1996 Macworld, p260, Viewpoint article by Larry Irving].
(1994-12-05)

mouse elbow
jargon, medical A tennis-elbow-like fatigue syndrome resulting from excessive use of a WIMP. Similarly, mouse shoulder . GLS reports that he used to get this a lot before he taught himself to be ambimoustrous.
[Jargon File]
(1994-12-05)

mouse mat
hardware (U.S.: mouse pad ) A small sheet with a special surface for a rolling ball mouse to move on. Most mouse mats are sheets of rubber or foam about 20cm by 25cm and about 5mm thick with one side covered with cloth or sometimes hard plastic. Deluxe versions come combined with a wrist rest.
It is rare to find a mouse mat which does not carry some form of advertisement for some company or other. They are such a common free gift that few people actually have to buy one.
Mats are supposed to provide better traction and a clean, lint-free surface over which to move but it debatable whether they are useful at all, or whether any appropriate surface (preferably hard, even, flat, and clean) is as good. Howevever, some mice which use optical (e.g. Sun) or radio-frequency sensors (e.g. ?) to detect motion (instead of using a rolling ball) will only work on specially designed mouse mats. Critics may consider this to be part of the connector conspiracy, though the designers would claim greater reliability due to the absence of moving parts.
(1997-04-14)

mouse pad
mouse mat

mouse trails
operating system A feature (usually of Graphical User Interfaces) which causes the mouse pointer to leave a trail across the screen. This is done by keeping track of the last eight or so (maybe configurable) pointer positions, and only erasing the oldest. This means that at any time, there may be up to eight pointers on the screen, but if the mouse is still, they will all be in the same position, and so only one will be visible. When the mouse moves, it appears to leave a trail of pointers behind it, and this can dramatically increase the visibility of the pointer when using LCD screens. The older ones had such long persistence that a single mouse pointer, when moving, tended to be completely invisible, and on a cluttered screen, was very difficult to find.
(1996-07-08)

mouso
jargon /mow'soh/ (By analogy with typo ) An error in mouse usage resulting in an inappropriate selection or graphic garbage on the screen.
Compare thinko.
[Jargon File]
(1996-04-21)

Moving JPEG
graphics, compression (M-JPEG) A compression technique for moving images which applies JPEG still image compression to each frame of a moving picture sequence.
Play-back requires a machine capable of decompressing and displaying each JPEG image quickly enough to sustain the required frame rate of the picture sequence.
There is no standard for Moving JPEG as with JPEG, but there are JPEG compression chips (for example see Zoran (http://www.zoran.com/)) which are designed to work at television frame rates and resolutions.
See also MPEG and MPEG2.
(1996-12-15)

Moving Picture Expert Group
spelling Incorrect expansion of MPEG, which stands for Moving Picture Experts Group.
(2000-05-31)

Moving Picture Experts Group
compression, standard, algorithm, file format, body (MPEG, ISO/IEC JTC1/SC29 WG11) An ISO committee that generates standards for digital video compression and audio. Also the name of their algorithms.
MPEG-1 is optimised for CD-ROM and is the basis for MP3. MPEG-2 is aimed at broadcast quality video for applications such as digital television set-top boxes and DVD. MPEG-4 is a standard for low bandwidth video telephony and multimedia on the World-Wide Web. MPEG-3 was merged into MPEG-2.
Home (http://www.cselt.it/mpeg/). MPEG.org (http://www.mpeg.org/). MPEG decoder (ftp://toe.cs.berkeley.edu/pub/multimedia/mpeg/). MPEG routines (ftp://ftp.mni.mcgill.ca/pub/mpeg/).
(2000-05-31)

Moving Pictures Experts Group
spelling Incorrect expansion of MPEG, which stands for Moving Picture Experts Group.
(2000-05-31)

Moxie
language, music A language for real-time computer music synthesis, written in XPL.
[ Moxie: A Language for Computer Music Performance , D. Collinge, Proc Intl Computer Music Conf, Computer Music Assoc 1984, pp.217-220].
(1994-12-05)

Mozilla
World-Wide Web, body, open source The open source web browser, designed for standards-compliance, performance, and portability, whose development is coordinated by mozilla.org.
The Mozilla project started in March 1998 when Netscape Communications Corporation released the source code of Netscape Communicator. The now abandoned version based on that code is referred to as Mozilla Classic . Since then, much has been rewritten, including the layout engine, the networking library, and the front-end.
mozilla.org was set up by Netscape in January 1998 to coordinate development and to provide a point of contact for interested people.
Although a lot of Mozilla code is under the original Netscape Public License, some parts of the code are under the Mozilla Public License or dual MPL/GPL.
Mozilla was the original project code name for Netscape Navigator and, according to some of the documentation, the correct pronunciation of Netscape .
Home (http://www.mozilla.org/).
[Derived from Mosaic killer/Godzilla ?]
(2001-02-25)

Mozilla Public License
open source license

mp
networking The country code for the Northern Mariana Islands.
(1999-01-27)

MP1
MPEG-1 audio layer 1

MP-1
Assembly language for the MasPar computer.
(1994-12-05)

MP2
MPEG-1 audio layer 2

MP3
MPEG-1 audio layer 3

MP3Pro
audio, compression An extention of MP3 using SBR, targetting data rates of 64-96 kbps.
(2001-12-20)

MPC
1. operating system Memory Protection Check.
[Origin?]
2. computer Multimedia Personal Computer.
3. Multiprocess Communications.

MPC Level 1 Specification
multimedia The original Multimedia Personal Computer specification.
Minimum requirements are a 16 MHz 386SX with 2 megabytes of RAM, a 30 MB hard disk drive, and a CD-ROM drive with a sustained data transfer rate of 150 KB/s at no more than 40% of CPU bandwidth and reading at least 16 KB blocks. The maximum average seek time is 1 second and the Mean Time Between Failure 10000 hours. Capability Mode 1.
The computer must have 8-bit digital sound and an 8-note synthesizer with MIDI playback. Sample rates of 22.05 and 11.025 kHz must be supported by no more than 10% of CPU bandwidth, preferably 44.1 kHz at no more than 15% of CPU bandwidth. The synthesizer must support multi-voice, multi-timbral generation of six simultaneous melody notes and two simultaneous percussive notes with internal mixing capabilities to combine input from three sources and present the output as a stereo, line-level audio signal at the back panel.
The video display must have a resolution of at least 640 x 480 in 16 colours. MIDI, I/O, and joystick ports must be previded.
Compare MPC Level 2 Specification.
(1997-01-19)

MPC Level 2 Specification
multimedia An improved version of the MPC Level 1 Specification for Multimedia Personal Computers.
Minimum requirements are a 25 Mhz 486SX with 4 MB of RAM and a 160 MB hard disk drive. The CD-ROM drive must support a sustained data transfer rate of 300 KB/s using at most 60% of CPU bandwidth on 16 KB minimum block read size. Its average seek time must be 400 milliseconds maximum. Capability Mode 1, Mode 2 form 1, Mode 2 form 2, Multisession. It must be CD-ROM XA-ready.
The computer must have 16-bit digital sound, an 8-note synthesizer, and MIDI playback. A sample rate of 44.1 kHz must be available on stereo channels with more more than 15% of CPU bandwidth.
A video display with a resolution of 640 x 480 in 65,536 colours, and MIDI, I/O, and joystick ports must be provided.
(1997-01-19)

MPEG
Moving Picture Experts Group

MPEG-1
compression, standard, algorithm, file format The first MPEG format for compressed video, optimised for CD-ROM. MPEG-1 was designed for the transmission rates of about 1.5 Mbps achievable with Video-CD and CD-i.
It uses discrete cosine transform (DCT) and Huffman coding to remove spatially redundant data within a frame and block-based motion compensated prediction (MCP) to remove data which is temporally redundant between frames. Audio is compressed using subband encoding. These algorithms allow better than VHS quality video and almost CD quality audio to be compressed onto and streamed off a single speed (1x) CD-ROM drive.
MPEG encoding can introduce blockiness, colour bleed and shimmering effects on video and lack of detail and quantisation effects on audio.
The official name of MPEG-1 is International Standard IS-11172.
(1999-01-06)

MPEG-1 audio layer 1
audio, compression, algorithm (MP1) A simple 32-subband audio compressor using a floating point representation for subband samples. Resolution and scale factor are stored for groups of 12 subsamples. MP1 is only used for Philips DCC Digital Compact cassette with data rates of 384 kbps.
(2001-12-02)

MPEG-1 audio layer 3
music, file format (MP3) A digital audio compression algorithm that acheives a compression factor of about twelve while preserving sound quality. It does this by optimising the compression according to the range of sound that people can actually hear. MP3 is currently (July 1999) the most powerful algorithm in a series of audio encoding standards developed under the sponsorship of the Moving Picture Experts Group (MPEG) and formalised by the International Organization for Standardization (ISO).
MP3 is very different from Layer 2, using an additional MDCT layer to increase frequency resolution. Its scale factor groups are more optimised for the human ear, and it uses nonlinear sample quantisation and Huffman coding.
MP3 files (filename extension .mp3 ) can be downloaded from many World-Wide Web sites and can be played using software available for most operating systems (also downloadable), e.g. Winamp for PC, MacAmp for Macintosh, and mpeg123 for Unix.
MP3 files are usually downloaded completely before playing but streaming MP3 is also possible. A program called a ripper can be used to copy a selection from a music CD onto your hard disk and another program called an encoder can convert it to an MP3 file.
(2001-12-04)

MPEG-1 layer 3
MPEG-1 audio layer 3

MPEG-2
compression, standard, algorithm, file format A variant of the MPEG video and audio compression algorithm and file format, optimised for broadcast quality video. MPEG-2 was designed to transmit images using progressive coding at 4 Mbps or higher for use in broadcast digital TV and DVD. An MPEG-2 player can handle MPEG-1 data as well.
MPEG-2 has been approved as International Standard IS-13818.
(1995-04-18)

MPEG-21
compression, standard, algorithm, file format A file format designed to merge very different things in one object, so you can store interactive material in this format (audio, video, questions, answers, overlays, non-linear order, calculation from user inputs, etc.)
[Technical details?]
(2001-12-02)

MPEG-2.5 audio layer 3
compression, standard, algorithm, file format A non-standard extention of MPEG-2 audio layer 3 by FhG for lowest sampling rates (8-12 kHz) targeting bit rates from 16-32 kbps (possibly 8-160 kbps).
(2001-12-04)

MPEG-2 AAC Low Profile
compression, standard, algorithm, file format A successor of MP3 allowing transparent coding at data rates of 75-80% of that of MP3. It is very different from MP3, only used MDCT, no subband coding.
(2001-12-08)

MPEG-2 audio layer 3
compression, standard, algorithm, file format An extention of MPEG-1 audio layer 3 for lower sampling rates (16-24 kHz) targeting bit rates from 32-64 kbps (possibly 8-160 kbps). It is often combined with MPEG-2 LSF.
(2001-12-04)

MPEG-2 Low Sampling Frequencies Extention
compression, standard, algorithm, file format (MPEG-2 LSF) An extension of MPEG-2, mostly used with MPEG-2 audio layer 3 because the aim was medium quality at low bit rates, not lower sampling frequencies.
(2001-12-04)

MPEG-2 LSF
MPEG-2 Low Sampling Frequencies Extention

MPEG-2 MC
MPEG-2 Multi Channel Extention

MPEG-2 Multi Channel Extention
compression, standard, algorithm, file format (MPEG-2 MC) An extension of MPEG-2 that uses up to 5 channels and about 1200 kbps.
(2001-12-08)

MPEG-3
compression, standard, algorithm, file format A proposed variant of the MPEG video and audio compression algorithm and file format. MPEG-3 was intended as an extension of MPEG-2 to cater for HDTV but was eventually merged into MPEG-2.
Not to be confused with MP3 - MPEG-1 layer 3.
[Technical details?]
(1999-01-06)

MPEG-4
compression, standard, algorithm, file format A video compression standard planned for late 1998. MPEG-4 extends the earlier MPEG-1 and MPEG-2 algorithms with synthesis of speech and video, fractal compression, computer visualisation and artificial intelligence-based image processing techniques.
[Technical details?]
(1999-01-06)

MPEG-4 AAC Main Profile
compression, standard, algorithm A successor of MP3 allowing transparent coding at data rates of 70-75% of that of MP3. It is very different from MP3, only used MDCT, no subband coding. It is much more complex that MP3 and MPEG-2 AAC Low Profile.
(2001-12-08)

MPEG-4 AAC SSR
MPEG-4 Advanced Audio Coding Scalable Sampling Rate

MPEG-4 Advanced Audio Coding Scalable Sampling Rate
compression, standard, algorithm (MPEG-4 AAC SSR) An AAC flavour supporting different qualities for different targets. One stream can contain up to 3 streams for 11.025 kHz (Stream 1), 22.05 (Stream 1 and 2) and 44.1 kHz (all 3 Streams) sampling frequency. Quality is between Low Profile and Main profile. See also JPEG-2000.
(2001-12-09)

MPEG-4 Harmonics, individual lines and noise
compression, standard, algorithm (MPEG-4 HILN) An MPEG-4 variant using parametric encoding with a target bit rate of 30 kbps.
(2001-12-09)

MPEG-4 Harmonic Vector eXCitation
compression, standard, algorithm (MPEG-4 HVXC) An MPEG-4 variant using parametric encoding with a target bit rate of 20 kbps, for voice coding.
(2001-12-09)

MPEG-4 HILN
MPEG-4 Harmonics, individual lines and noise

MPEG-4 HVXC
MPEG-4 Harmonic Vector eXCitation

MPEG-7
compression, standard, algorithm A successor to MPEG-4, not standardized yet.
(2001-12-02)

MPEGplus
compression, algorithm A non-ISO standard compressed audio file format derived from MPEG-1 Layer 2.
(2001-12-11)

MPG
jargon Miles per gallon, as in Your MPG may vary , i.e. Your mileage may vary .

mpg
filename extension A filename extension for a file in MPEG format.
(1995-03-07)

MPI
Message Passing Interface

MPL
1. language An early possible name for PL/I.
[Sammet 1969, p.542].
2. MasPar data-parallel version of C. See also ampl.
Compiler version 3.1 (ftp://maspar.maspar.com/put/)
3. Motorola Programming Language. A low-level PL/I-like language, similar to PL/M, but for the Motorola 6800.
4. MicroProgramming Language. Simple language for microprogramming. Statements on the same line represent register transfers caused by one microinstruction, and are executed in parallel.
[ Structured Computer Organization , A.S. Tanenbaum, First Edition, P-H 1976. (Replaced in later editions by Mic-1)].
(1995-03-07)

MPL II
[Burroughs VMS MPL II Language Reference Manual].

MPLS
Multiprotocol Label Switching

MPLS domain
networking A portion of a network that contains devices that understand MPLS.
(1999-06-14)

MP/M
Multi-tasking Program for Microcomputers

MPP
Multiple Parallel Processing

MPPE
Microsoft Point to Point Encryption

MPPL
language An early possible name for PL/I.
[Sammet 1969, p. 542].
(1995-03-07)

MPR II
standard A green standard published by SWEDAC (the Swedish Board for Technical Accreditation) that limits the maximum amount of ELF and VLF electromagnetic radiation a computer monitor may emit. Most personal computer monitors comply with this standard or the more stringent European TCO requirement.
(1996-02-19)

M-Prolog
1. Marseille Prolog.
2. An extension to Prolog involving modules.
[ The MProlog System , J. Bendl et al, Proc Logic Prog Workshop, 1980].
(1994-10-31)

MPS III
Solving matrices and producing reports. MPS III DATAFORM User Manual , Management Science Systems (1976).

MPSX
Mathematical Programming System Extended. Solution strategy for mathematical programming. Mathematical Programming System Extended (MPSX) Control Language User's Manual , SH20-0932, IBM. Sammet 1978.

MPV
An extension of the VRTX real-time operating system to support multi-processing.
(1994-11-08)

MPX
Multiplexor Channel

mq
networking The country code for Martinique.
(1999-01-27)

MQG
Multi-threaded Query Gate

mr
networking The country code for Mauritania.
(1999-01-27)

MRDS
Multics Relational Data Store

MRI
1. application Magnetic Resonance Imaging.
2. Measurement Requirements and Interface.

MROC
Miniature Ruggedized Optical Correlator

MROM
Mask Read-Only Memory

MRP
Material Resource Planning

MRP II
Manufacturer Resource Planning

MRS
Modifiable Representation System.
An integration of logic programming into Lisp.
[ A Modifiable Representation System , M. Genesereth et al, HPP 80-22, CS Dept Stanford U 1980].
(1994-11-08)

ms
networking The country code for Montserrat.
(1999-01-27)

MS Access
Microsoft Access

MSAU
Media Access Unit

MSB
Most Significant Bit

MS-BASIC
language Microsoft Basic.

MS-DOG
abuse A pejorative name for MS-DOS.

MS-DOS
operating system /M S doss/ Microsoft Disk Operating System (Or DOS , MS-DOG , mess-dos ) Microsoft Corporation's clone of CP/M for the 8088 crufted together in 6 weeks by hacker Tim Paterson, who is said to have regretted it ever since.
MS-DOS is a single user operating system that runs one program at a time and is limited to working with one megabyte of memory, 640 kilobytes of which is usable for the application program. Special add-on EMS memory boards allow EMS-compliant software to exceed the 1 MB limit. Add-ons to DOS, such as Microsoft Windows and DESQview, take advantage of EMS and allow the user to have multiple applications loaded at once and switch between them.
Numerous features, including vaguely Unix-like but rather broken support for subdirectories, I/O redirection, and pipelines, were hacked into MS-DOS 2.0 and subsequent versions; as a result, there are two or more incompatible versions of many system calls, and MS-DOS programmers can never agree on basic things like what character to use as an option switch or whether to be case-sensitive. The resulting mess is now the highest-unit-volume operating system in history. It is used on many Intel 16 and 32 bit microprocessors and IBM PC compatibles.
Many of the original DOS functions were calls to BASIC (in ROM on the original IBM PC), e.g. Format and Mode. People with non-IBM PCs had to buy MS-Basic (later called GWBasic). Most version of DOS came with some version of BASIC.
Also know as PC-DOS or simply as DOS, which annoys people familiar with other similarly abbreviated operating systems (the name goes back to the mid-1960s, when it was attached to IBM's first disk operating system for the IBM 360). Some people like to pronounce DOS like dose or to compare it to a dose of brain-damaging drugs (a slogan button in wide circulation among hackers exhorts: MS-DOS: Just say No! ).
[Jargon File]
(1998-07-19)

MSG.84
[ Analysis and Design in MSG.84: Formalizing Functional Specifications , V. Berzins et al IEEE Trans Soft Eng SE-11(8):657-670 (Aug 1985)].
[What is it?]
(1995-05-04)

msgGUI
library A graphical user interface for GNU Smalltalk. The msgGUI package contains the basics for creating window applications in the manner available in other graphical Smalltalk implementations. Version 1.0 of the library was by Mark Bush, ECS, Oxford University, UK.
(ftp://ftp.comlab.ox.ac.uk/pub/Packages/mst/mstGUI-1.0.tar.Z)
(2000-06-14)

MSIE
Internet Explorer

MSM
Micronetics Standard MUMPS

MS Mail
Microsoft Mail

MSN
The Microsoft Network

MSS
maximum segment size

MS-Windows
Microsoft Windows

MswLogo
language A Microsoft Windows front-end for Berkeley Logo by George Mills mills@softronix.com . MswLogo has 3D primitives and GUI support. It runs on every flavour of Windows from 16-bit to NT.
Home (http://www.softronix.com/logo.html).
(1997-12-01)

MS Word
Microsoft Word

MSX
Microsoft Extended

MSX-DOS
Microsoft Extended

mt
networking The country code for Malta.
(1999-01-27)

MTA
1. messaging Message Transfer Agent.
2. messaging Message Transfer Architecture. (AT T).
3. Multiple Terminal Access.
4. Maintenance Task Analysis.
(1997-02-28)

MTBF
Mean Time Between Failures

mtc
A Modula-2 to C translator.
(ftp://rusmv1.rus.uni-stuttgart.de/soft/Unixtools/compilerbau/mtc.tar.Z)
(1991/10/25)

M Technology Association
The MUMPS User's Group.
Address: 1738 Elton Road, Suite 205, Silver Spring, MD 20903-1725, USA.
Telephone: +1 301 431-4070. Fax: +1 301 431-0017.
(1995-01-10)

MTOS
1. operating system A family of real-time operating systems for use in embedded systems. It isdeveloped and marketed by Industrial Programming, Inc..
2. operating system MultiTOS
(1997-06-03)

MTS
1. Message Transport System.
2. programming Microsoft Transaction Server.
(1999-03-29)

MTTR
Mean Time To Recovery

MTU
Maximum Transmission Unit

Mu
character (Greek letter).
1. unit /micro/ prefix denoting division by 10^6, e.g. mu m (micrometre, a millionth part of a metre). Sometimes written as a 'u', the ASCII character nearest in appearance.
2. mathematics /myoo/ In the theory of functions, mu x . E denotes the least value of x for which E = x, i.e. the least fixed point of the function x . E. The recursive function mu f . H f satisfies (and is defined by) the equation
mu f . H f = H (mu f . H f)
An alternative notation for the same function is
fix H = H (fix H)
See fixed point combinator.
3. database multiple value.
[Jargon File]
(1995-10-30)

mu
1. networking The country code for Mauritius.
2. philosophy /moo/ The correct answer to the classic trick question Have you stopped beating your wife yet? . Assuming that you have no wife or you have never beaten your wife, the answer yes is wrong because it implies that you used to beat your wife and then stopped, but no is worse because it suggests that you have one and are still beating her. According to various Discordians and Douglas Hofstadter the correct answer is usually mu , a Japanese word alleged to mean Your question cannot be answered because it depends on incorrect assumptions .
Hackers tend to be sensitive to logical inadequacies in language, and many have adopted this suggestion with enthusiasm. The word mu is actually from Chinese, meaning nothing ; it is used in mainstream Japanese in that sense, but native speakers do not recognise the Discordian question-denying use. It almost certainly derives from overgeneralisation of the answer in the following well-known Rinzei Zen teaching riddle:
A monk asked Joshu, Does a dog have the Buddha nature? Joshu retorted, Mu!
See also has the X nature, AI Koan.
[Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid ].
[Jargon File]
(2000-11-22)

MUA
Mail User Agent

MUCAL
language, music A language for playing music on the PDP-8.
(1995-04-16)

MUD
games Multi-User Dimension or Multi-User Domain . Originally Multi-User Dungeon .
[Jargon File]
(1995-04-16)

muddie
games Synonym mudhead. More common in Great Britain, possibly because system administrators there like to mutter bloody muddies when annoyed at the species.
[Jargon File]

Muddle
Original name of MDL.

mudhead
games A MUD player who eats, sleeps, and breathes MUD. Mudheads have been known to fail their degrees, drop out, etc. with the consolation, however, that they made wizard level. When encountered in person, on a MUD or in a chat system, all a mudhead will talk about is three topics: the tactic, character, or wizard that is supposedly always unfairly stopping him/her from becoming a wizard or beating a favourite MUD; why the specific game he/she has experience with is so much better than any other; and the MUD he or she is writing or going to write because his/her design ideas are so much better than in any existing MUD. See also wannabee.
To the anthropologically literate, this term may recall the Zuni/Hopi legend of the mudheads or koyemshi , mythical half-formed children of an unnatural union. Figures representing them act as clowns in Zuni sacred ceremonies.
[Jargon File]
(1994-11-29)

MUD Object Oriented
games (MOO) One of the many MUD spin-offs (e.g. MUSH, MUSE, and MUX) created to diversify the realm of interactive text-based gaming. A MOO is similar to a MUSH in that the users themselves can create objects, rooms, and code to add to the environment.
The most frequently used server software for running a MOO is LambdaMOO but alternatives include WinMOO (http://www-personal.umich.edu/~cunkel/WinMOO/) and MacGoesMOO (http://neon.ci.lexington.ma.us/SpamCentral/scaron/mgm.html).
(1999-05-25)

muFP
A functional language for hardware design, a predecessor of Ruby.

mu-law
The North America standard for nonuniform quantising logarithmic compression.
[Equation?]
(1995-02-21)

Mule
text, tool A multi-lingual enhancement of GNU Emacs. Mule can handle not only ASCII characters (7 bit) and ISO Latin 1 characters (8 bit), but also 16-bit characters like Japanese, Chinese, and Korean. Mule can have a mixture of languages in a single buffer.
Mule runs under the X window system, or on a Hangul terminal, mterm or exterm.
Latest version: 2.3.
Home (ftp://etlport.etl.go.jp/pub/mule)
(1996-01-28)

Mul-T
An implementation of Multilisp built on T, for the Encore Multimax.
[ Mul-T: A High-Performance Parallel Lisp , SIGPLAN Notices 24(7):81-90 (Jul 1989)].
(1995-02-21)

Multi-BinProlog
language A multi-threaded Linda-style parallel extension to BinProlog for Solaris 2.3.
Version: 3.30.
(1995-04-04)

multiC
language A data-parallel version of C from Wavetracer.
(1995-04-04)

MultiCal System
E-mail: Richard Snodgrass rts@cs.arizona.edu .
(ftp://ftp.cs.arizona.edu/tsql/multical)
[What is it?]
(1994-11-11)

multicast addressing
Ethernet addressing scheme used to send packets to devices of a certain type or for broadcasting to all nodes. The least significant bit of the most significant byte of a multi-cast address is one.

multicast backbone
(MBONE) A virtual network on top of the Internet which supports routing of IP multicast packets, intended for multimedia transmission. MBONE gives public access desktop video communications. The quality is poor with only 3-5 frames per second instead of the 30 frames per second of commercial television. Its advantage is that it avoids all telecommunications costs normally associated with teleconferencing. An interesting innovation is the use of MBONE for audio communications and an electronic whiteboard where the computer screen becomes a shared workspace where two physically remote parties can draw on and edit shared documents in real-time.
(1994-10-27)

Multi-channel Memorandum Distribution Facility
messaging (MMDF) An electronic mail system for Unix(?) which is much easier to configure than sendmail. The source is available.
MMDF is a versatile and configurable mail routing system (MTA) which also includes user interface programs (MUA). It can be set up to route mail to different domains and hosts over different channels (e.g. SMTP, UUCP). On UNIX systems, its configuration begins with the /usr/mmdf/mmdftailor file, which defines the machine and domain names, various other configuration tables (alias, domain, channel) and other configuration information.
[Home?]
(1997-01-14)

multician
jargon, person /muhl-ti'shn/ A term coined at Honeywell, ca. 1970 for a competent user of Multics. Perhaps oddly, no one has ever promoted the analogous Unician .
[Jargon File]
(1996-08-24)

Multics
operating system /muhl'tiks/ MULTiplexed Information and Computing Service. A time-sharing operating system co-designed by a consortium including MIT, GE and Bell Laboratories as a successor to MIT's CTSS. The system design was presented in a special session of the 1965 Fall Joint Computer Conference and was planned to be operational in two years. It was finally made available in 1969, and took several more years to achieve respectable performance and stability.
Multics was very innovative for its time - among other things, it was the first major OS to run on a symmetric multiprocessor; provided a hierarchical file system with access control on individual files; mapped files into a paged, segmented virtual memory; was written in a high-level language (PL/I); and provided dynamic inter-procedure linkage and memory (file) sharing as the default mode of operation. Multics was the only general-purpose system to be awarded a B2 security rating by the NSA.
Bell Labs left the development effort in 1969. Honeywell commercialised Multics in 1972 after buying out GE's computer group, but it was never very successful: at its peak in the 1980s, there were between 75 and 100 Multics sites, each a multi-million dollar mainframe.
One of the former Multics developers from Bell Labs was Ken Thompson, a circumstance which led directly to the birth of Unix. For this and other reasons, aspects of the Multics design remain a topic of occasional debate among hackers. See also brain-damaged and GCOS.
MIT ended its development association with Multics in 1977. Honeywell sold its computer business to Bull in the mid 1980s, and development on Multics was stopped in 1988 when Bull scrapped a Boston proposal to port Multics to a platform derived from the DPS-6.
A few Multics sites are still in use as late as 1996.
The last Multics system running, the Canadian Department of National Defence Multics site in Halifax, Nova Scotia, Canada, shut down on 2000-10-30 at 17:08 UTC.
The Jargon file 3.0.0 claims that on some versions of Multics one was required to enter a password to log out but James J. Lippard lippard@primenet.com , who was a Multics developer in Phoenix, believes this to be an urban legend. He never heard of a version of Multics which required a password to logout. Tom Van Vleck thvv@multicians.org agrees. He suggests that some user may have implemented a 'terminal locking' program that required a password before one could type anything, including logout.
Home (http://www.multicians.org/).
Usenet newsgroup: news:alt.os.multics.
[Jargon File]
(2002-04-12)

Multics Relational Data Store
database (MRDS) The first commercial relational database, implemented as part of Multics by Jim Weeldreyer and Oris Friesen of Honeywell Phoenix in about 1977. MRDS included a report writer called LINUS written by Jim Falksen.
(1997-01-29)

Multiflow Computer
company A now-defunct computer company, best known for its work in Very Long Instruction Word processors.
Address: New Haven, Conn. USA.
(1995-03-01)

Multi-Garnet
A better constraint system for Garnet. Version 2.1 by Michael Sannella sannella@cs.washington.edu .
(ftp://a.gp.cs.cmu.edu/usr/garnet/alpha/src/contrib/multi-garnet)
(1992-09-21)

multihomed host
A host which has more than one connection to a network. The host may send and receive data over any of the links but will not route traffic for other nodes.

multilayer perceptron
A network composed of more than one layer of neurons, with some or all of the outputs of each layer connected to one or more of the inputs of another layer. The first layer is called the input layer, the last one is the output layer, and in between there may be one or more hidden layers.

MultiLisp
language A parallel extension of Scheme with explicit concurrency. The form (future X) immediately returns a future , and creates a task to evaluate X. When the evaluation is complete, the future is resolved to be the value.
[ MultiLisp: A Language for Concurrent Symbolic Computation , R. Halstead, TOPLAS pp.501-538 (Oct 1985)].
[Did MultiLisp use PVM as its intermediate language?]
(1998-02-10)

multimedia
Human-computer interaction involving text, graphics, voice and video. Often also includes concepts from hypertext.
This term has come to be almost synonymous with CD-ROM in the personal computer world because the large amounts of data involved are currently best supplied on CD-ROM.
Usenet newsgroup: news:comp.multimedia.
(1994-12-02)

Multimedia and Hypermedia information coding Expert Group
multimedia, standard (MHEG) is an ISO standard encoding for multimedia and hypermedia information, designed to facilitate use and interchange of such information in varied domains such as games, electronic publishing and medical applications.
Fokus MHEG page (http://www.fokus.gmd.de/ovma/mheg/).
(1996-04-16)

MultiMedia Compact Disc
storage (MMCD) A CD-ROM standard for storing 4.7 GB of data including video. MMCD is being developed by a large numer of computer manufacturers and is expected to be shipped in late 1996 or early 1997. Initially it will be aimed at the consumer market, then perhaps in CD-ROM format for computers, and maybe later on erasble CD.
(1995-11-23)

MultiMedia Extension
Matrix Math eXtensions

Multimedia Integrated Conferencing for European Researchers
communications, project (MICE) A project which aims to create a pilot (virtual) network between European researchers, and also to connect them to sites in the US. The MICE system currently allows multimedia conferencing (audio, video and shared workspace) between conference rooms and workstation-based facilities, hardware and software, packet-switched networks and ISDN, using both unicast (point-to-point) and multicast (multi-point) protocols.
Home (http://www-mice.cs.ucl.ac.uk/mice).
(1997-12-18)

Multimedia Internet Mail Extensions
Called Multipurpose Internet Mail Extensions in the RFC.
[Is this an old name for it?]

Multimedia Personal Computer
multimedia (MPC) A specification published by the Multimedia PC Marketing Council in 1990 to encourage the adoption of a standard multimedia computing platform. In May 1993, the MPC Marketing Council published a new specification called MPC Level 2 Specification as an enhanced multimedia computer standard. The original MPC specification, now also known as the MPC Level 1 Specification, continues in full effect.
The appearance of the MPC or MPC2 certification mark on a computer system or upgrade kit indicates that the hardware meets the corresponding (Level 1 or Level 2) MPC Marketing Council specification. Software bearing the Multimedia PC mark has been designed to work on Multimedia PC licensed hardware.
By establishing a standard platform, certifying hardware compliance and providing inter-operability between software and hardware for the consumer, the MPC Marketing Council is encouraging widespread use of multimedia applications and hardware.
(1997-01-19)

multi-part key
compound key

Multi-Pascal
An extension of Pascal-S with multiprocessing features. Used in The Art of Parallel Programming , Bruce P. Lester, P-H 1993.

multiple access
multiplexing

Multiple Document Interface
programming (MDI) The ability of an application program to show windows giving views of more than one document at a time.
The opposite is Single Document Interface (SDI).
(1999-03-30)

multiple inheritance
programming In object-oriented programming, the possibility that a sub-class may be derived from multiple parent classes which are themselves not derived one from the other.
(1997-08-06)

Multiple Instruction Multiple Data
Multiple Instruction/Multiple Data

Multiple Instruction/Multiple Data
(MIMD) The classification under Flynn's taxonomy of a parallel processor where many functional units perform different operations on different data. Examples would be a network of workstations or transputers. Compare SIMD.
(1994-11-08)

Multiple Master
text, tool, software (Or Multiple Master Font ) A font that is a mixture of two or more other fonts.
A Multiple Master font is a single font containing from two to sixteen master designs (the current implementation limit). A weight factor specifies the contribution of each master design for the creation of a multiple master font instance.
A Multiple Master instance is a single interpolation of a multiple master font as created by a user or application.
ATM Glossary (http://www.adobe.com/supportservice/devrelations/typeforum/glossary.html).
Useable fonts (http://susi.informatik.rwth-aachen.de/Mirror/winsite/win3/fonts_atm.html).
(1998-05-31)

multiple perspective software development
programming A decentralised approach to software development which, instead of adopting a monolithic representation and centralised control, models development in terms of collaboration between autonomous partial systems.
Software development usually involves people with different goals, expertise, and backgrounds, and the use of a wide range of formalisms, tools, and environments. As information is exchanged between participants, dependencies may be established between information created by them. Multiple perspective software development may be mapped into the transaction model which can be used to prevent uncoordinated access to interdependent information causing inconsistency.
[Fox Wai-Leung Poon]
(1995-12-14)

multiple value
database (MU) A one-to-many relationship between entries in a database, for example a person may have an address field which spanned multiple records (with different indexes). Multiple values are a non-relational technique.
MUs have recently been made available in DB2, despite the product being so heavily influenced by Codd's Laws of relational databases.
[Confirm, clarify?]
(1995-10-30)

Multiple Virtual Storage
operating system (MVS) Release 2 of OS/VS2, called MVS because it had multiple 16 MB virtual address spaces, in contrast to SVS. MVS ran on the IBM 390 series mainframes. It became MVS/SP, then MVS/XA (with 31-bit addressing) and then MVS/ESA.
MVS/Open Edition (MVS/OE), aimed at the growing open systems market, added TCP/IP and Unix support in an MVS address space, allowing users to run IBM, CICS-type applications, batch applications and Unix.
MVS/ESA was repackaged as OS/390 as a marketing exercise but it's basically the same thing.
Version: 5.1.
[Features? Dates?]
(1999-01-20)

multiplexer
multiplexor

multiplexing
1. communications (Or multiple access ) Combining several signals for transmission on some shared medium (e.g. a telephone wire). The signals are combined at the transmitter by a multiplexor (a mux ) and split up at the receiver by a demultiplexor. The communications channel may be shared between the independent signals in one of several different ways: time division multiplexing, frequency division multiplexing, or code division multiplexing.
If the inputs take turns to use the output channel (time division multiplexing) then the output bandwidth need be no greater than the maximum bandwidth of any input.
If many inputs may be active simultaneously then the output bandwidth must be at least as great as the total bandwidth of all simultaneously active inputs. In this case the multiplexor is also known as a concentrator.
(1995-03-02)
2. storage Writing multiple logical copies of data files. Placing the copies on totally separate paths to mirrored devices greatly reduces the probability of all copies being corrupt. Multiplexing differs from mirroring in that mirroring takes one data file and copies it to many devices, thus making it possible to copy a corrupt file many times. Multiplexing writes the data files to many places simultaneously; there is no original data file.
(2001-05-10)

multiplexor
multiplexing

Multiplexor Channel
(MPX) mainframe terminology for a slow peripheral device connection, e.g. for a printer, operator console, or card reader.
(1997-06-30)

multiplex printer
hardware A duplex circuit using time-division multiplexing to provide multiple duplex channels over one wire.
For example, channels A, B, C, and D could be used for simultaneous transmission in both directions.
(2000-04-02)

Multipop-68
operating system An early time-sharing operating system developed in Edinburgh by Robin Popplestone and others. It was inspired by MIT' Project MAC, via a MiniMac project which was aborted when it became obvious that Elliot Brothers Ltd. could not supply the necessary disk storage. Multipop was highly efficient in its use of machine resources to support symbolic programming, and effective - e.g. in supporting the development of the Boyer-Moore theorem prover and of Burstall and Darlington's transformation work.
It was not good at supporting the user programs which were then the standard fare of computing, e.g. matrix inversion. This arose from the fact that while the POP-2 compiler generated good code for function call (which is a lot of what layered systems like operating systems do) it did not generate efficient code for arithmetic or store access, because there was no way to police the generation of illegal objects statically. (Hindley-Milner type checking did not exist). Indeed, since many OS features like file-access were performed by function-call (of a closure) rather than an OS call requiring a context switch, POP-2 actually gained performance.
Multipop68 was efficient primarily because the one language, POP-2 served all purposes: it was the command language for the operating system as well as being the only available programming language. Thus there was no need to swap in compilers etc. All store management was accomplished uniformly by the garbage collector, as opposed to having store management for the OS and store management for each application.
There was a substantial amount of assembly language in Multipop68. This was primarily for interrupt handling, and it is difficult to handle this without a real-time garbage-collector.
[Edited from a posting by Robin Popplestone].
(1995-03-15)

multiprocessing
multitasking

multiprocessor
parallel processor

multiprogramming
multitasking

Multiprotocol Label Switching
networking, standard (MPLS) A standards-based approach to applying label switching to large networks, being defined by the Internet Engineering Task Force since early 1997.
MPLS defines protocols and procedures that enable the fast switching capabilities of ATM and Frame Relay to be used by IP networks.
It represents the next level of standards-based evolution in combining layer two (data link layer) switching with layer three (network layer) routing in order to create flexible, faster, and more scalable networking. This includes traffic engineering capabilities which provide, for example, aspects of Quality of Service (QoS)/Class of Service (CoS) and facilitate the use of Virtual Private Networks (VPNs).
ITEF MPLS Working Group (http://www.ietf.org/html.charters/mpls-charter.html).
(1999-06-14)

Multipurpose Internet Mail Extensions
file format, multimedia (MIME) A standard for multi-part, multimedia electronic mail messages and World-Wide Web hypertext documents on the Internet. MIME provides the ability to transfer non-textual data, such as graphics, audio and fax. It is defined in RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, and BCP0013. It uses mimencode to encode binary data into base 64 using a subset of ASCII.
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/mime-faq/top.html).
(1995-04-04)

multiscan
hardware A monitor that can synchronise to a variety of horizontal scan rates and refresh rates, allowing it to display images at different resolutions.
(1996-02-09)

MultiScheme
An implementation of Multilisp built on MIT's C-Scheme, for the BBN Butterfly.
[ MultiScheme: A Paralled Processing System Based on MIT Scheme , J. Miller, TR-402, MIT LCS, Sept 1987].
(1995-04-04)

Multistation Access Unit
Media Access Unit

multisync
hardware An NEC trademark term for multiscan. As NEC was the first to manufacture multiscan monitors the term is often used interchangeably with multiscan.
(1996-02-09)

Multisystem eXtention Interface Bus
hardware (MXIbus) A high performance communication link that interconnects devices using round, flexible cable. MXIbus is used between a GPIB card and a VXI cage.
(1999-10-12)

multitasking
computer, parallel (Or multi-tasking , multi-processing , multiprogramming , concurrency , process scheduling ) A technique used in an operating system for sharing a single processor between several independent jobs. The first multitasking operating systems were designed in the early 1960s.
Under cooperative multitasking the running task decides when to give up the CPU and under pre-emptive multitasking (probably more common) a system process called the scheduler suspends the currently running task after it has run for a fixed period known as a time-slice . In both cases the scheduler is responsible for selecting the next task to run and (re)starting it.
The running task may relinquish control voluntarily even in a pre-emptive system if it is waiting for some external event. In either system a task may be suspended prematurely if a hardware interrupt occurs, especially if a higher priority task was waiting for this event and has therefore become runnable.
The scheduling algorithm used by the scheduler determines which task will run next. Some common examples are round-robin scheduling, priority scheduling, shortest job first and guaranteed scheduling.
Multitasking introduces overheads because the processor spends some time in choosing the next job to run and in saving and restoring tasks' state, but it reduces the worst-case time from job submission to completion compared with a simple batch system where each job must finish before the next one starts. Multitasking also means that while one task is waiting for some external event, the CPU to do useful work on other tasks.
A multitasking operating system should provide some degree of protection of one task from another to prevent tasks from interacting in unexpected ways such as accidentally modifying the contents of each other's memory areas.
The jobs in a multitasking system may belong to one or many users. This is distinct from parallel processing where one user runs several tasks on several processors. Time-sharing is almost synonymous but implies that there is more than one user.
Multithreading is a kind of multitasking with low overheads and no protection of tasks from each other, all threads share the same memory.
(1998-04-24)

Multi-tasking Program for Microcomputers
operating system (MP/M) An operating system, written by Gary Kildal, very similar to CP/M, also written by Kildal. MP/M allowed virtual terminals, each of which could execute an application while another terminal was called to the screen with a special key combination.
See also Control Program for Microcomputers.
(1996-09-08)

multithreaded
multithreading

multithreading
parallel Sharing a single CPU between multiple tasks (or threads ) in a way designed to minimise the time required to switch threads. This is accomplished by sharing as much as possible of the program execution environment between the different threads so that very little state needs to be saved and restored when changing thread.
Multithreading differs from multitasking in that threads share more of their environment with each other than do tasks under multitasking. Threads may be distinguished only by the value of their program counters and stack pointers while sharing a single address space and set of global variables. There is thus very little protection of one thread from another, in contrast to multitasking.
Multithreading can thus be used for very fine-grain multitasking, at the level of a few instructions, and so can hide latency by keeping the processor busy after one thread issues a long-latency instruction on which subsequent instructions in that thread depend.
A light-weight process is somewhere between a thread and a full process.
TL0 is an example of a threaded machine language. Dataflow computation (E.g. Id and SISAL) is an extreme form of multithreading.
(1997-12-23)

MultiTOS
operating system (MTOS) A new version of TOS. MultiTOS's main advantage was support for pre-emptive multitasking and memory protection. It also supported the latest (and far superior) versions of GEM. MultiTOS was supplied with the Falcon030 range of computers from Atari.
It is a little known fact that the MultiTOS kernel was based heavily on the freeware OS MinT which was developed long before Atari got MultiTOS working.
(1997-01-10)

Multi-User Dimension
games (MUD) (Or Multi-User Domain, originally Multi-User Dungeon ) A class of multi-player interactive game, accessible via the Internet or a modem. A MUD is like a real-time chat forum with structure; it has multiple locations like an adventure game and may include combat, traps, puzzles, magic and a simple economic system. A MUD where characters can build more structure onto the database that represents the existing world is sometimes known as a MUSH . Most MUDs allow you to log in as a guest to look around before you create your own character.
Historically, MUDs (and their more recent progeny with names of MU- form) derive from a hack by Richard Bartle and Roy Trubshaw on the University of Essex's DEC-10 in 1979. It was a game similar to the classic Colossal Cave adventure, except that it allowed multiple people to play at the same time and interact with each other. Descendants of that game still exist today and are sometimes generically called BartleMUDs. There is a widespread myth that the name MUD was trademarked to the commercial MUD run by Bartle on British Telecom (the motto: You haven't *lived* 'til you've *died* on MUD! ); however, this is false - Richard Bartle explicitly placed MUD in the PD in 1985. BT was upset at this, as they had already printed trademark claims on some maps and posters, which were released and created the myth.
Students on the European academic networks quickly improved on the MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD). Many of these had associated bulletin-board systems for social interaction. Because these had an image as research they often survived administrative hostility to BBSs in general. This, together with the fact that Usenet feeds have been spotty and difficult to get in the UK, made the MUDs major foci of hackish social interaction there.
AberMUD and other variants crossed the Atlantic around 1988 and quickly gained popularity in the US; they became nuclei for large hacker communities with only loose ties to traditional hackerdom (some observers see parallels with the growth of Usenet in the early 1980s). The second wave of MUDs (TinyMUD and variants) tended to emphasise social interaction, puzzles, and cooperative world-building as opposed to combat and competition. In 1991, over 50% of MUD sites are of a third major variety, LPMUD, which synthesises the combat/puzzle aspects of AberMUD and older systems with the extensibility of TinyMud. The trend toward greater programmability and flexibility will doubtless continue.
The state of the art in MUD design is still moving very rapidly, with new simulation designs appearing (seemingly) every month. There is now a move afoot to deprecate the term MUD itself, as newer designs exhibit an exploding variety of names corresponding to the different simulation styles being explored.
UMN MUD Gopher page (gopher://spinaltap.micro.umn.edu/11/fun/Games/MUDs/Links).
U Pennsylvania MUD Web page (http://www.cis.upenn.edu/~lwl/mudinfo.html).
See also bonk/oif, FOD, link-dead, mudhead, MOO, MUCK, MUG, MUSE, chat.
Usenet newsgroups: news:rec.games.mud.announce, news:rec.games.mud.admin, news:rec.games.mud.diku, news:rec.games.mud.lp, news:rec.games.mud.misc, news:rec.games.mud.tiny.
(1994-08-10)

Multi-User Dungeon
Multi-User Dimension

Multi-User Shared Hallucination
communications, application (MUSH) A user-extendable MUD. A MUSH provides commands which the players can use to construct new rooms or make objects and puzzles for other players to explore.
(http://www.cis.upenn.edu/~lwl/muds.html)
(1995-03-16)

Multi-Version Concurrency Control
database (MVCC) An advanced technique for improving multi-user database performance.
The main difference between multiversion and lock models is that in MVCC locks acquired for querying (reading) data don't conflict with locks acquired for writing data and so reading never blocks writing and writing never blocks reading.
This technique is used in the free software database PostgreSQL.
(1999-06-18)

multi-way branch
switch statement

MuMath
mathematics, tool A symbolic mathematics package for the IBM PC, written in MuSimp.
(1995-04-12)

mumblage
/muhm'bl*j/ The topic of one's mumbling (see mumble). All that mumblage is used like all that stuff when it is not quite clear how the subject of discussion works, or like all that crap when mumble is being used as an implicit replacement for pejoratives.
[Jargon File]

mumble
1. Said when the correct response is too complicated to enunciate, or the speaker has not thought it out. Often prefaces a longer answer, or indicates a general reluctance to get into a long discussion. Don't you think that we could improve LISP performance by using a hybrid reference-count transaction garbage collector, if the cache is big enough and there are some extra cache bits for the microcode to use? Well, mumble ... I'll have to think about it.
2. Yet another metasyntactic variable, like foo.
3. Sometimes used in public contexts on-line as a placefiller for things one is barred from giving details about. For example, a poster with pre-released hardware in his machine might say Yup, my machine now has an extra 16M of memory, thanks to the card I'm testing for Mumbleco.
4. A conversational wild card used to designate something one doesn't want to bother spelling out, but which can be glarked from context. Compare blurgle.
5. [XEROX PARC] A colloquialism used to suggest that further discussion would be fruitless.
(1997-03-27)

mumble mode
jargon The mode a program, piece of hardware, or other system is said to be in when it is still running and perhaps reacting to input and/or occasionally producing output (especially if it shouldn't), but in a way that appears wildly inappropriate to the task it is supposed to perform.
Compare off the trolley and deep space .
(1997-03-27)

MUMPS
(Or M ) Massachusetts General Hospital Utility Multi-Programming System.
A programming language with extensive tools for the support of database management systems. MUMPS was originally used for medical records and is now widely used where multiple users access the same databases simultaneously, e.g. banks, stock exchanges, travel agencies, hospitals.
Early MUMPS implementations for PDP-11 and IBM PC were complete operating systems, as well as programming languages, but current-day implementations usually run under a normal host operating system.
A MUMPS program hardly ever explicitly performs low-level operations such as opening a file - there are programming constructs in the language that will do so implicitly, and most MUMPS programmers are not even aware of the operating system activity that MUMPS performs.
Syntactically MUMPS has only one data-type: strings. Semantically, the language has many data-types: Text strings, binary strings, floating point values, integer values, Boolean values. Interpretation of strings is done inside functions, or implicitly while applying mathematical operators. Since many operations involve only moving data from one location to another, it is faster to just move uninterpreted strings. Of course, when a value is used multiple times in the context of arithmetical operations, optimised implementations will typically save the numerical value of the string.
MUMPS was designed for portability. Currently, it is possible to share the same MUMPS database between radically different architectures, because all values are stored as text strings. The worst an implementation may have to do is swap pairs of bytes. Such multi-CPU databases are actually in use, some offices share databases between VAX, DEC Alpha, SUN, IBM PC and HP workstations.
Versions of MUMPS are available on practically all hardware, from the smallest (IBM PC, Apple Macintosh, Acorn Archimedes), to the largest mainframe. MSM (Micronetics Standard MUMPS) runs on IBM PC RT and R6000; DSM (Digital Standard Mumps) on the PDP-11, VAX, DEC Alpha, and Windows-NT; Datatree MUMPS from InterSystems runs on IBM PC; and MGlobal MUMPS on the Macintosh. Multi-platform versions include M/SQL, available from InterSystems, PFCS mumps@pfcs.com and MSM.
Greystone Technologies' GT/M runs on VAX and DEC Alpha. This is a compiler whereas the others are interpreters. GT/SQL is their SQL pre-processor.
ISO standard 11756 (1991). ANSI standard: MUMPS Language Standard , X11.1 (1977, 1984, 1990, 1995?).
The MUMPS User's Group is known as the M Technology Association.
Usenet newsgroups: news:comp.lang.mumps.
(1996-04-28)

munch
To transform information in a serial fashion, often requiring large amounts of computation. To trace down a data structure. Related to crunch and nearly synonymous with grovel, but connotes less pain.
Often confused with mung.
[Jargon File]
(1995-01-10)

munching
Exploration of security holes of someone else's computer for thrills, notoriety or to annoy the system manager. Compare cracker. See also hacked off.
[Jargon File]

munching squares
A display hack dating back to the PDP-1 (ca. 1962, reportedly discovered by Jackson Wright), which employs a trivial computation (repeatedly plotting the graph Y = X XOR T for successive values of T - see HAKMEM items 146--148) to produce an impressive display of moving and growing squares that devour the screen. The initial value of T is treated as a parameter, which, when well-chosen, can produce amazing effects. Some of these, later (re)discovered on the LISP Machine, have been christened munching triangles (try AND for XOR and toggling points instead of plotting them), munching w's , and munching mazes . More generally, suppose a graphics program produces an impressive and ever-changing display of some basic form, foo, on a display terminal, and does it using a relatively simple program; then the program (or the resulting display) is likely to be referred to as munching foos . [This is a good example of the use of the word foo as a metasyntactic variable.]

munchkin
/muhnch'kin/ [Squeaky-voiced little people in L. Frank Baum's The Wizard of Oz ] A teenage-or-younger micro enthusiast hacking BASIC or something else equally constricted. A term of mild derision - munchkins are annoying but some grow up to be hackers after passing through a larval stage. The term urchin is also used. See also wannabee, bitty box.
[Jargon File]

mundane
jargon Someone outside some group that is implicit from the context, such as the computer industry or science fiction fandom. The implication is that those in the group are special and those outside are just ordinary.
(2000-07-22)

mung
/muhng/ (MIT, 1960) Mash Until No Good.
Sometime after that the derivation from the recursive acronym Mung Until No Good became standard. 1. To make changes to a file, especially large-scale and irrevocable changes.
See BLT.
2. To destroy, usually accidentally, occasionally maliciously. The system only mungs things maliciously; this is a consequence of Finagle's Law.
See scribble, mangle, trash, nuke.
Reports from Usenet suggest that the pronunciation /muhnj/ is now usual in speech, but the spelling mung is still common in program comments (compare the widespread confusion over the proper spelling of kluge).
3. The kind of beans of which the sprouts are used in Chinese food. (That's their real name! Mung beans! Really!)
Like many early hacker terms, this one seems to have originated at TMRC; it was already in use there in 1958. Peter Samson (compiler of the original TMRC lexicon) thinks it may originally have been onomatopoeic for the sound of a relay spring (contact) being twanged. However, it is known that during the World Wars, mung was army slang for the ersatz creamed chipped beef better known as SOS .
[Jargon File]
(1994-12-02)

munge
/muhnj/ 1. A derogatory term meaning to imperfectly transform information.
2. A comprehensive rewrite of a routine, data structure or the whole program.
This term is often confused with mung and may derive from it, or possibly vice-versa. One correspondent believes it derives from the french mange /monzh/, eat.
[Jargon File]
(2002-04-15)

MUP
Multiple Universal naming convention Provider

MU-Prolog
language Prolog with wait declarations for coroutining, developed by L. Naish of the Univeristy of Melbourne in 1982.
[ Negation and Control in Prolog , L. Naish, TR 85/12, U Melbourne (1985)]. See NU-Prolog.
(1998-02-14)

Murphy's Law
humour (Or Sod's Law ) The correct, *original* Murphy's Law reads: If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it. This is a principle of defensive design, cited here because it is usually given in mutant forms less descriptive of the challenges of design for lusers. For example, you don't make a two-pin plug symmetrical and then label it THIS WAY UP ; if it matters which way it is plugged in, then you make the design asymmetrical (see also the anecdote under magic smoke).
Edward A. Murphy, Jr. was one of the engineers on the rocket-sled experiments that were done by the US Air Force in 1949 to test human acceleration tolerances (USAF project MX981). One experiment involved a set of 16 accelerometers mounted to different parts of the subject's body. There were two ways each sensor could be glued to its mount, and somebody methodically installed all 16 the wrong way around. Murphy then made the original form of his pronouncement, which the test subject (Major John Paul Stapp) quoted at a news conference a few days later.
Within months Murphy's Law' had spread to various technical cultures connected to aerospace engineering. Before too many years had gone by variants had passed into the popular imagination, changing as they went. Most of these are variants on Anything that can go wrong, will ; this is sometimes referred to as Finagle's Law. The memetic drift apparent in these mutants clearly demonstrates Murphy's Law acting on itself!
[Jargon File]
(1998-02-14)

Muse
language OR-parallel logic programming.
[Details?]
(1995-03-16)

museum
Museums on the Web (http://www.comlab.ox.ac.uk/archive/other/museums.html). (http://galaxy.einet.net/GJ/museums.html).
(1995-03-16)

MUSH
1. games Multi-User Shared Hallucination.
2. messaging Mail Users' Shell.

Music
language, music A series of languages for musical sound synthesis from Bell Labs, 1960's. Versions: Music I through Music V.
[ An Acoustical Compiler for Music and Psychological Stimuli , M.V. Mathews, Bell Sys Tech J 40 (1961)].
[Jargon File]
(1999-06-04)

Musical Instrument Digital Interface
music, hardware, protocol, file format (MIDI /mi'-dee/, /mee'-dee/) A hardware specification and protocol used to communicate note and effect information between synthesisers, computers, music keyboards, controllers, and other electronic music devices. It is basically a high-speed serial connection with separate connections for MIDI in, MIDI out and MIDI through (to allow devices to be chained).
The basic unit of information is a note on/off event which includes a note number (pitch) and key velocity (loudness). There are many other message types for events such as pitch bend, patch changes and synthesizer-specific events for loading new patches etc.
There is a file format for expressing MIDI data which is like a dump of data sent over a MIDI port.
The MIME type audio/midi isn't actually registered so it should probably be audio/x-midi .
Filename extension: .mid or .midi
(http://www.update.uu.se/~vick/Coordinator.html).
Usenet newsgroups: news:comp.music.midi, news:alt.music.midi.
(1998-06-27)

Musicam
audio, compression A name for MPEG-1 Layer 2 used for broadcasting. Common data rates are 192, 224, and 256 kbps.
(2001-12-13)

MuSimp
language A Lisp variant used as the programming language for the IBM PC symbolic mathematics package MuMath.
(1995-04-12)

MUSL
Manchester University Systems Language

mutant
programming Microsoft's term for a mutex which is generally used in user mode but can also be used in kernel mode. According to this terminology a mutex is only used in kernel mode.
[ Microsoft Windows NT Workstation Resource Kit ].
(1997-07-30)

Mutation Testing
testing A method to determine test set thoroughness by measuring the extent to which a test set can discriminate the program from slight variants of the program.
(1996-12-27)

MuTeX
tool, music An extension of TeX for typesetting music.
(ftp://nic.stolaf.edu/pub/mutex/MuTeX.tar.Z)
(1995-02-06)

mutex
parallel A mutual exclusion object that allows multiple threads to synchronise access to a shared resource. A mutex has two states: locked and unlocked. Once a mutex has been locked by a thread, other threads attempting to lock it will block. When the locking thread unlocks (releases) the mutex, one of the blocked threads will acquire (lock) it and proceed.
If multiple threads or tasks are blocked on a locked mutex object, the one to take it and proceed when it becomes available is determined by some type of scheduling algorithm. For example, in a priority based system, the highest priority blocked task will acquire the mutex and proceed. Another common set-up is put blocked tasks on a first-in-first-out queue.
See also: priority inversion
(2002-03-14)

mutter
To quietly enter a command not meant for the ears, eyes, or fingers of ordinary mortals. Often used in mutter an incantation .
See also wizard.
[Jargon File]
(1995-02-06)

mutual exclusion
parallel, operating system (Or mutex , plural: mutexes ) A collection of techniques for sharing resources so that different uses do not conflict and cause unwanted interactions. One of the most commonly used techniques for mutual exclusion is the semaphore.
(1995-04-08)

mutually recursive
recursion

mutual recursion
recursion

mux
multiplexing

mv
networking The country code for Maldives.
(1999-01-27)

MVC
1. programming Model View Controller.
2. filename extension The filename extension of JPEG images output by Sony's Mavica range of digital cameras.
(2002-05-28)

MVCC
Multi-Version Concurrency Control

MVS
Multiple Virtual Storage

MVS/ESA
Multiple Virtual Storage

MVS/OE
Multiple Virtual Storage

MVS/Open Edition
Multiple Virtual Storage

MVS/SP
Multiple Virtual Storage

MVS/XA
Multiple Virtual Storage

mw
networking The country code for Malawi.
(1999-01-27)

MX
Mail Exchange Record

mx
networking The country code for Mexico.
(1999-01-27)

MXI
Multisystem eXtention Interface Bus

MXIbus
Multisystem eXtention Interface Bus

MX Record
Mail Exchange Record

my
networking The country code for Malaysia.
(1999-01-27)

My Favourite Toy Language
jargon, language (MFTL) Describes a talk on a programming language design that is heavy on syntax (with lots of BNF), sometimes even talks about semantics (e.g. type systems), but rarely, if ever, has any content (see content-free). More broadly applied to talks - even when the topic is not a programming language --- in which the subject matter is gone into in unnecessary and meticulous detail at the sacrifice of any conceptual content. Well, it was a typical MFTL talk .
2. A language about which the developers are passionate (often to the point of prosyletic zeal) but no one else cares about. Applied to the language by those outside the originating group. He cornered me about type resolution in his MFTL.
The first great goal in the mind of the designer of an MFTL is usually to write a compiler for it, then bootstrap the design away from contamination by lesser languages by writing a compiler for it in itself. Thus, the standard put-down question at an MFTL talk is Has it been used for anything besides its own compiler? . On the other hand, a language that *cannot* be used to write its own compiler is beneath contempt.
Doug McIlroy once proposed a test of the generality and utility of a language and the operating system under which it is compiled: Is the output of a Fortran program acceptable as input to the Fortran compiler? In other words, can you write programs that write programs? Alarming numbers of (language, OS) pairs fail this test, particularly when the language is Fortran. Aficionados are quick to point out that Unix (even using Fortran) passes it handily. That the test could ever be failed is only surprising to those who have had the good fortune to have worked only under modern systems which lack OS-supported and -imposed file types .
See break-even point, toolsmith.
(1995-03-07)

MYOB
chat mind your own business.

MYSTIC
language An early system on the IBM 704, IBM 650, IBM 1103 and 1103A.
[Listed in CACM 2(5):16 (May 1959)].
(1995-03-07)

mz
networking The country code for Mozambique.
(1999-01-27)

/N/ quant. 1. A large and indeterminate number of objects: There were N bugs in that crock! Also used in its original sense of a variable name: This crock has N bugs, as N goes to infinity. (The true number of bugs is always at least N + 1; see Lubarsky's Law of Cybernetic Entomology.)
2. A variable whose value is inherited from the current context. For example, when a meal is being ordered at a restaurant, N may be understood to mean however many people there are at the table. From the remark We'd like to order N wonton soups and a family dinner for N - 1 you can deduce that one person at the table wants to eat only soup, even though you don't know how many people there are.
3. Nth : The ordinal counterpart of N, senses 1 and 2. Now for the Nth and last time... In the specific context Nth-year grad student , N is generally assumed to be at least 4, and is usually 5 or more (see tenured graduate student). See also random numbers, two-to-the-N.
[Jargon File]

N10
Original codename of the Intel i860 microprocessor.

na
networking The country code for Namibia.
(1999-01-27)

nadger
/nad'jr/ [Great Britain] Of software or hardware (not people), to twiddle some object in a hidden manner, generally so that it conforms better to some format. For instance, string printing routines on 8-bit processors often take the string text from the instruction stream, thus a print call looks like
jsr print: Hello world
The print routine has to nadger the saved instruction pointer so that the processor doesn't try to execute the text as instructions when the subroutine returns.
[Jargon File]

NAG
1. Numerical Algorithms Group.
2. The Linux Network Administrators' Guide.

Nagling Coalescence
networking, algorithm An algorithm for improving TCP/IP network performance by combining small packets ( tinygrams ) into larger ones, thus reducing the per-packet overhead. The server transmits the packet either when it has reached a preset size or when it receives an acknowledgment of the previous packet.
[Who was Nagling?]
(1998-11-06)

nagware
/nag'weir/ [Usenet] The variety of shareware that displays a large screen at the beginning or end reminding you to register, typically requiring some sort of keystroke to continue so that you can't use the software in batch mode. Compare crippleware.
[Jargon File]

nailed to the wall
[like a trophy] Said of a bug finally eliminated after protracted, and even heroic, effort.

nailing jelly
See like nailing jelly to a tree.
[Jargon File]

naive
Untutored in the perversities of some particular program or system; one who still tries to do things in an intuitive way, rather than the right way (in really good designs these coincide, but most designs aren't really good in the appropriate sense). This trait is completely unrelated to general maturity or competence or even competence at any other specific program. It is a sad commentary on the primitive state of computing that the natural opposite of this term is often claimed to be experienced user but is really more like cynical user .
(1994-11-29)

naive user
A luser. Tends to imply someone who is ignorant mainly owing to inexperience. When this is applied to someone who *has* experience, there is a definite implication of stupidity.
[Jargon File]

NAK
Negative Acknowledgement

name capture
reduction In beta reduction, when a term containing a free occurrence of a variable v is substituted into another term where v is bound the free v becomes spuriously bound or captured . E.g.
( x . y . x y) y -- y . y y(WRONG)
This problem arises because two distinct variables have the same name. The most common solution is to rename the bound variable using alpha conversion:
( x . y' . x y') y -- y' . y y'
Another solution is to use de Bruijn notation.
Note that the argument expression, y, contained a free variable. The whole expression above must therefore be notionally contained within the body of some lambda abstraction which binds y. If we never reduce inside the body of a lambda abstraction (as in reduction to weak head normal form) then name capture cannot occur.
(1995-03-14)

named
networking Name Daemon.
networking A Unix background process that converts hostnames to Internet addresses for the TCP/IP protocol.
Unix manual page: named(8).
See also DNS.
(1995-03-28)

named pipe
operating system A Unix pipe with a filename created using the mknod command. Named pipes allow unrelated processes to communicate with each other whereas the normal (un-named) kind can only be used by processes which are parent and child or siblings (forked from the same parent).
(1996-12-01)

name resolution
networking The process of mapping a name into its corresponding address.
The Domain Name System is the system which does name resolution on the Internet.
(1997-12-15)

name service switching
Domain Name System

namespace
A set of names in which all names are unique.

NaN
Not-a-Number

NAND
Not AND.
The Boolean function which is true unless both its arguments are true, the logical complement of AND:
A NAND B = NOT (A AND B) = (NOT A) OR (NOT B)
Its truth table is:
A | B | A NAND B --+---+--------- F | F | T F | T | T T | F | T T | T | F
NAND, like NOR, forms a complete set of Boolean functions on its own since it can be used to make NOT, AND, OR and any other Boolean function:
NOT A = A NAND A
A AND B = NOT (A NAND B)
A OR B = (NOT A) NAND (NOT B)
(1995-01-24)

nano-
/nan'oh/ 1. unit A prefix meaning 10^-9 or one billionth.
Used loosely to mean small , e.g. nanotechnology, or (rarely), following nanosecond , to mean a short time, e.g. I'll be with you in a nano .
[Jargon File]
(2002-03-02)

nanoacre
unit, humour /nan'oh-ay kr/ A unit (about 2 mm square) of real estate on a VLSI integrated circuit. VLSI nanoacres have costs in the same range as real acres once one allows for design and fabrication setup costs.
[Jargon File]
(1995-09-20)

nanobot
robotics /nan oh-bot/ A robot of microscopic proportions, presumably built by means of nanotechnology. As yet, only used informally (and speculatively!). Also called a nanoagent .
[Jargon File]
(1999-07-19)

nanocomputer
/nan'oh-k*m-pyoo'tr/ A computer with molecular-sized switching elements. Designs for mechanical nanocomputers which use single-molecule sliding rods for their logic have been proposed. The controller for a nanobot would be a nanocomputer.
[Jargon File]

nanofortnight
jargon (Adelaide University) 10^-9 fortnights or about 1.2 milliseconds. This unit was used largely by students doing undergraduate practicals.
See microfortnight, attoparsec, and micro-.
(1996-11-15)

nanosecond
unit (ns) 10^-9 seconds; one thousand millionth part of a second.
This is the unit in which the fundamental logical operations of modern digital circuits are typically measured. For example, a microprocessor with a clock frequency of 100 megahertz will have a 10 nanosecond clock period.
(1996-11-15)

nanotechnology
/nan'-oh-tek-no l*-jee/ A hypothetical fabrication technology in which objects are designed and built with the individual specification and placement of each separate atom. The first unequivocal nanofabrication experiments took place in 1990, for example with the deposition of individual xenon atoms on a nickel substrate to spell the logo of a certain very large computer company. Nanotechnology has been a hot topic in the hacker subculture ever since the term was coined by K. Eric Drexler in his book Engines of Creation , where he predicted that nanotechnology could give rise to replicating assemblers, permitting an exponential growth of productivity and personal wealth.
See also nanobot.
(http://www.lucifer.com/~sean/Nano.html)
(1996-01-10)

Napier
Atkinson Morrison, St Andrews U; design began ca. 1985, first implementation Napier88, 1988. Based on orthogonal persistence, permits definition and manipulation of namespaces.
[ The Napier88 Reference Manual , R. Morrison et al, CS Depts St Andrews U and U Glasgow, Persistent Programming Research Report PPRR-77-89, 1989].

NAPLPS
North American Presentation-Level-Protocol Syntax. Format for sending text and graphics over communication lines. Used by videotex systems.

NAPSS
Numerical Analysis Problem Solving System. Purdue ca. 1965.
[ NAPSS - A Numerical Analysis Problem Solving System , J.R. Rice et al, Proc ACM 21st Natl Conf, 1966. Sammet 1969, p.299].

narrowing
Unification followed by unfolding. The left-hand side of a rule is unified with some term, resulting in a set of variable bindings. The term is then replaced by the right-hand side of the rule with values substituted for bound variables.

NAS
Network Application Support. DEC's approach to applications integration across a distributed multivendor environment.

nasal demons
Recognised shorthand on the Usenet group comp.std.c for any unexpected behaviour of a C compiler on encountering an undefined construct. During a discussion on that group in early 1992, a regular remarked When the compiler encounters [a given undefined construct] it is legal for it to make demons fly out of your nose (the implication is that the compiler may choose any arbitrarily bizarre way to interpret the code without violating the ANSI C standard). Someone else followed up with a reference to nasal demons , which quickly became established.
[Jargon File]

NASI
NetWare Asynchronous Services Interface
Novell NetWare.

nastistical
humour, mathematics A description of a method, thought by the programmer to be correct statistics, but which is not. An example is averaging together several averages of samples of different sizes. The correct way to do this is to average together all of the individual samples.
(1997-02-12)

NASTRAN
NAsa STRess ANalysis program. A program for solving large stress analysis problems.
[ The NASTRAN User's Manual , SP-222(C3), NASA, 1976].

nastygram
/nas'tee-gram/ 1. A protocol packet or item of e-mail (the latter is also called a letterbomb) that takes advantage of misfeatures or security holes on the target system to do untoward things.
2. Disapproving mail, especially from a net.god, pursuant to a violation of netiquette or a complaint about failure to correct some mail- or news-transmission problem. Compare shitogram, mailbomb.
3. A status report from an unhappy, and probably picky, customer. What did Corporate say in today's nastygram?
4. [deprecated] An error reply by mail from a daemon; in particular, a bounce message.
[Jargon File]

NAT
Network Address Translation

Nathan Hale
character An asterisk ( * , see also splat, ASCII). Notionally, from I regret that I have only one asterisk for my country! ( life to give - ass to risk - asterisk ), a misquote of the famous remark uttered by Nathan Hale just before he was hanged. Hale was a (failed) spy for the rebels in the American War of Independence.
[Jargon File]
(1996-09-22)

National Bureau of Standards
National Institute of Standards and Technology

National Center for Supercomputing Applications
body, World-Wide Web (NCSA) The birthplace of the first version of the Mosaic World-Wide Web browser.
Address: Urbana, IL, USA.
Home (http://www.ncsa.uiuc.edu/).
[Summary?]
(1994-10-27)

national characters
character Characters with accents and other diacritical marks that are used in certain written languages (that are based on the Roman alphabet) but not in others, particularly not in English. A standard list is ISO Latin 1.
(1996-06-24)

National Database Language
database, standard (NDL) A US standard for portability of database definitions and application programs.
(1996-06-24)

National Information Infrastructure
project (NII, or information superhighway ) Future integrated communications in the USA. The NII will be based on a nationwide network of networks, and will supposedly allow all Americans to take advantage of the country's information, communication, and computing resources.
The NII will include current and future public and private high-speed, interactive, narrow-band and broadband networks. It is the satellite, terrestrial, and wireless communications systems that deliver content to homes, businesses, and other public and private institutions. It is the information and content that flows over the infrastructure whether in the form of databases, the written word, a film, a piece of music, a sound recording, a picture, or computer software. It is the computers, televisions, telephones, radios, and other products that people will employ to access the infrastructure. It is the people who will provide, manage, and generate new information, and those that will help others do the same. And it is the individual Americans who will use and benefit from the NII. The NII is a term that encompasses all these components and captures the vision of a nationwide, invisible, seamless, dynamic web of transmission mechanisms, information appliances, content, and people.
(http://sunsite.unc.edu/nii/NII-Table-of-Contents.html)
(1995-04-08)

National Information Services and Systems
(NISS) An information archive service at Bath University, intended primarily for UK eductional institutions.
(http://www.niss.ac.uk/)
(1994-11-23)

National Institute of Standards and Technology
body (NIST, formerly the National Bureau of Standards) A United States governmental body that helps develop standards.
Home (http://www.nist.gov/).
(1994-11-23)

National Research and Education Network
(NREN) The realisation of an interconnected gigabit computer network devoted to High Performance Computing and Communications.
See also HPPC, IINREN.
(1994-11-23)

National Science Foundation
body (NSF) A US government agency that promotes the advancement of science by funding science researchers, scientific projects and infrastructure to improve the quality of scientific research. The NSFNET is funded by NSF.
Home (http://www.nsf.org/).
(1999-01-15)

National Science Foundation Network
(NSFNET) A high speed hierarchical network of networks in the US, funded by the National Science Foundation. At the highest level, it is a backbone network comprising 16 nodes connected to a 45Mb/s facility which spans the continental United States. Attached to that are mid-level networks and attached to the mid-levels are campus and local networks. NSFNET also has connections out of the US to Canada, Mexico, Europe, and the Pacific Rim. The NSFNET is part of the Internet.
(1993-01-01)

National Software Reuse Directory
(NSRD) A directory of reusable software in the ASSET system.
(1995-02-03)

National Spatial Data Infrastructure
(NSDI)
(http://fgdc.er.usgs.gov/nsdiover.html)
[Summary?]
(1995-03-06)

National Television Standards Committee
electronics (NTSC) The body defining the television video signal format used in the USA. The UK equivalent is PAL.
Also, humorously, Never Twice the Same Colour .
(1997-07-17)

native compiler
programming, tool A compiler which runs on the computer for which it is producing machine code, in contrast to a cross-compiler, which produces code for a different computer.
(1995-11-04)

Native Language System
(NLS) A set of interfaces specified by X/Open for developing applications to run in different natural language environments.
(1995-02-03)

NATURAL
An integrated 4GL from Software AG, Germany. The menu-driven version is SUPER/NATURAL.
Natural 2 is a major upgrade to Natural 1.
Version 2.1.7 in the MVS environment (June 1995, also available for Unix).
Natural works with DB2 and various other databases, but Natural and Adabas normally go together. There are many products available in the Natural family, including SuperNatural, Natural for Windows, Entire Connection (enables up/downloading and interaction with Excel) and Esperant.
(1995-11-14)

natural deduction
A set of rules expressing how valid proofs may be constructed in predicate logic.
A horizontal line separates premises (above) from conclusions (below). Vertical ellipsis (dots) stand for a series of applications of the rules. T is the constant true and F is the constant false (sometimes written with a LaTeX perp).
^ is the AND (conjunction) operator, v is the inclusive OR (disjunction) operator and / is NOT (negation or complement, normally written with a LaTeX neg).
P, Q, P1, P2, etc. stand for propositions such as Socrates was a man . P[x] is a proposition possibly containing instances of the variable x, e.g. x can fly .
A proof (a sequence of applications of the rules) may be enclosed in a box. A boxed proof produces conclusions that are only valid given the assumptions made inside the box, however, the proof demonstrates certain relationships which are valid outside the box. For example, the box below labelled Implication introduction starts by assuming P, which need not be a true propoistion so long as it can be used to derive Q.
Truth introduction:
T
(Truth is free).
Binary AND introduction:
-----------
| . | . |
| . | . |
| Q1 | Q2 |
-----------
Q1 ^ Q2
(If we can derive both Q1 and Q2 then Q1^Q2 is true).
N-ary AND introduction:
----------------
| . | .. | . |
| . | .. | . |
| Q1 | .. | Qn |
----------------
Q1^..^Qi^..^Qn
Other n-ary rules follow the binary versions similarly.
Quantified AND introduction:
---------
| x . |
| . |
| Q[x] |
---------
For all x . Q[x]
(If we can prove Q for arbitrary x then Q is true for all x).
Falsity elimination:
F
Q
(Falsity opens the floodgates).
OR elimination:
P1 v P2
-----------
| P1 | P2 |
| . | . |
| . | . |
| Q | Q |
-----------
Q
(Given P1 v P2, if Q follows from both then Q is true).
Exists elimination:
Exists x . P[x]
-----------
| x P[x] |
| . |
| . |
| Q |
-----------
Q
(If Q follows from P[x] for arbitrary x and such an x exists then Q is true).
OR introduction 1:
P1
-------
P1 v P2
(If P1 is true then P1 OR anything is true).
OR introduction 2:
P2
-------
P1 v P2
(If P2 is true then anything OR P2 is true). Similar symmetries apply to ^ rules.
Exists introduction:
P[a]
-------------
Exists x.P[x]
(If P is true for a then it is true for all x).
AND elimination 1:
P1 ^ P2
-------
P1
(If P1 and P2 are true then P1 is true).
For all elimination:
For all x . P[x]
----------------
P[a]
(If P is true for all x then it is true for a ).
For all implication introduction:
-----------
| x P[x] |
| . |
| . |
| Q[x] |
-----------
For all x . P[x] - Q[x]
(If Q follows from P for arbitrary x then Q follows from P for all x).
Implication introduction:
-----
| P |
| . |
| . |
| Q |
-----
P - Q
(If Q follows from P then P implies Q).
NOT introduction:
-----
| P |
| . |
| . |
| F |
-----
/ P
(If falsity follows from P then P is false).
NOT-NOT:
//P
---
P
(If it is not the case that P is not true then P is true).
For all implies exists:
P[a] For all x . P[x] - Q[x]
-------------------------------
Q[a]
(If P is true for given a and P implies Q for all x then Q is true for a).
Implication elimination, modus ponens:
P P - Q
----------
Q
(If P and P implies Q then Q).
NOT elimination, contradiction:
P /P
------
F
(If P is true and P is not true then false is true).
(1995-01-16)

Natural English
Programming in normal, spoken English. [Sammet 1969, p.768].

natural language
application A language spoken or written by humans, as opposed to a language use to program or communicate with computers. Natural language understanding is one of the hardest problems of artificial intelligence due to the complexity, irregularity and diversity of human language and the philosophical problems of meaning.
See also Pleuk grammar development system, proof.
An on-line demonstration (http://sakharov.ai.mit.edu/Start)
New York U (http://www.nyu.edu/pages/linguistics/ling.html).
(1995-04-24)

Natural Language Information Analysis Method
(NIAM, or Nijssen IAM) A method for data modelling.
[ Conceptual Scheme and Relational Database Design , Nijssen and Halpin, Prentice-Hall, 1989].
(1995-03-31)

natural language processing
artificial intelligence (NLP) Computer understanding, analysis, manipulation, and/or generation of natural language.
This can refer to anything from fairly simple string-manipulation tasks like stemming, or building concordances of natural language texts, to higher-level AI-like tasks like processing user queries in natural language.
(1997-09-12)

natural number
mathematics An integer greater than or equal to zero. A natural number is an isomorphism class of a finite set.
(1995-03-25)

nature
has the X nature

NAU
networking
1. Network Addressable Unit.
2. Network Access Unit.
(1997-05-10)

navigating
networking, hypertext Finding your way around. Often used of the Internet, particularly the World-Wide Web.
A browser is a tool for navigating hypertext documents.
(1995-03-25)

Navigator
Netscape Navigator

Nawk
New AWK. AT T. Pattern scanning and processing language. An enhanced version of AWK, with dynamic regular expressions, additional built-ins and operators, and user-defined functions.

NB
C

NBFCP
NetBIOS Frames Control Protocol

NBS
National Bureau of Standards: part of the US Department of Commerce, now NIST.

NBT
NetBios over TCP/IP

NC
Network Computer

nc
networking The country code for New Caledonia.
(1999-01-27)

NCD
Network Computing Devices

NCP
networking
1. IBM Advanced Communication Function/Network Control Program.
2. Novell, Inc. NetWare Core Protocol.
(1999-01-20)

NCR Corporation
company Electronics company mainly active in the midrange server market.
NCR was founded 1884 as National Cash Register Company. It joint the computer industry in th 1950s. In 1991 it was absorbed by AT T (see dinosaurs mating), only to be spat out again in 1996.
NCR mainframes of the 1960's are remembered by some for their hardware incompatibility with IBM mainframes: NCR punched round holes in their punched cards while IBM punched rectangular ones. The codes and machines were not compatible and information could not be easily shared between NCR and IBM customers.
(http://www.ncr.com/)
(1997-03-10)

NCS
Network Computing System: Apollo's RPC system used by DEC and Hewlett-Packard.The protocol has been adopted by OSF.

NCSA
National Center for Supercomputing Applications

ND
natural deduction

NDIS
Network Device Interface Specification

NDL
1. National Database Language.
2. Network Definition Language.

NDS
Netware Directory Services

ne
networking The country code for Niger.
(1999-01-27)

neat hack
1. A clever technique.
2. A brilliant practical joke, where neatness is correlated with cleverness, harmlessness, and surprise value. Example: the Caltech Rose Bowl card display switch. See also hack.
[Jargon File]

neats vs. scruffies
artificial intelligence, jargon The label used to refer to one of the continuing holy wars in artificial intelligence research. This conflict tangles together two separate issues. One is the relationship between human reasoning and AI; neats tend to try to build systems that reason in some way identifiably similar to the way humans report themselves as doing, while scruffies profess not to care whether an algorithm resembles human reasoning in the least as long as it works. More importantly, neats tend to believe that logic is king, while scruffies favour looser, more ad-hoc methods driven by empirical knowledge. To a neat, scruffy methods appear promiscuous, successful only by accident and not productive of insights about how intelligence actually works; to a scruffy, neat methods appear to be hung up on formalism and irrelevant to the hard-to-capture common sense of living intelligences.
(1994-11-29)

Nebula
An early business-oriented language from ICL for the Ferranti Orion computer.
[ NEBULA - A Programming Language for Data Processing , T.G. Braunholtz et al, Computer J 4(3):197-201 (1961)].
(1994-11-29)

NEC
Nippon Electronics Corporation

NEC 780-C
processor A copy of the Zilog Z80A microprocessor, running at 3.25 MHz.
The NEC 780-C was the processor used in the Sinclair ZX-80.
(2002-03-11)

neep-neep
/neep neep/ [onomatopoeic, from New York SF fandom] One who is fascinated by computers. Less specific than hacker, as it need not imply more skill than is required to boot games on a personal computer. The derived noun neeping applies specifically to the long conversations about computers that tend to develop in the corners at most SF-convention parties (the term neepery is also in wide use). Fandom has a related proverb to the effect that Hacking is a conversational black hole! .
[Jargon File]
(1994-11-29)

negation by failure
An extralogical feature of Prolog and other logic programming languages in which failure of unification is treated as establishing the negation of a relation. For example, if Ronald Reagan is not in our database and we asked if he was an American, Prolog would answer no .
(1994-11-29)

negative acknowledgement
1. character (NAK) The mnemonic for ASCII character 21.
Sometimes used as the response to receipt of a corrupted packet of information.
Opposite of acknowledgement.
2. communications (NAK) Any message transmitted to indicate that some data has been received incorrectly, for example it may have a checksum or message length error. A NAK message allows the sender to distinguish a message which has been received in a corrupted state from one which is not received at all.
An alternative is to use only ACK messages, in which case the non-receipt of an ACK after a certain time is counted as a NAK but gives no information about the integrity of the communications channel.
See also ACK.
(1997-01-07)

NELIAC
Navy Electronics Laboratory International ALGOL Compiler.
An Algol variant designed for numeric and logical computations and based on IAL. 1958-1959.
Version: BC NELIAC.
[ Neliac - A Dialect of Algol , H.D. Huskey et al, CACM 3(8):463-468 (Aug 1960)].
(1994-11-29)

Neon
Charles Duff. An object-oriented extension of FORTH, for the Mac. Inheritance, SANE floating-point, system classes and objects for Mac interfacing, overlays. Sold by Kriya Systems, 1985-1988. Modified, made PD and renamed Yerk.

neophilia
/nee oh-fil -ee-*/ The trait of being excited and pleased by novelty. Common among most hackers, SF fans, and members of several other connected leading-edge subcultures, including the pro-technology Whole Earth wing of the ecology movement, space activists, many members of Mensa, and the Discordian/neo-pagan underground. All these groups overlap heavily and (where evidence is available) seem to share characteristic hacker tropisms for science fiction, music, and oriental food. The opposite tendency is neophobia .
[Jargon File]
(1999-06-04)

Neptune
A hypertext system for computer assisted software engineering, developed at Tektronix.

Nerd pride
body The Nerd Pride movement, modeled on the Gay Pride movement, was started at MIT by Professors Gerald Sussman and Hal Abelson. Nerd pride paraphernalia includes baseball hats, buttons and - of course - pocket protectors.
My idea is to present an image to children that it is good to be intellectual, and not to care about the peer pressures to be anti-intellectual. I want every child to turn into a nerd - where that means someone who prefers studying and learning to competing for social dominance .
-- Gerald Sussman, quoted by Katie Hafner, New York Times , 1994-08-29.
(1994-11-11)

NERECO
NEtwork REmote COmmunications.
CSP with extensions to allow asymmetrical and asynchronous communications and fault handling. It is implemented on a network of Suns.
[ A Concurrent Programming Support for Distributed Systems , G. Spezzano et al, in Computing Systems vol 3, pp.423-447, U Cal Press, 1990].
(1994-11-11)

NESL
language A parallel language loosely based on ML, developed at Carnegie Mellon University by the SCandAL project. NESL integrates parallel algorithms, functional languages and implementation techniques from the system's community.
Nested data parallelism offers concise code that is easy to understand and debug and suits irregular data structures such as trees, graphs or sparse matrices.
NESL's language based performance model is a formal way to calculate the work and depth of a program. These measures can be related to running time on a parallel computer.
NESL was designed to make parallel programming easy and portable. Algorithms are typically more concise in NESL than in most other parallel programming languages and the code resembles high-level pseudocode. This places more responsibility on the compiler and run-time system for achieving good efficiency.
NESL currently runs on Unix workstations, the IBM SP-2, the Thinking Machines CM5, the Cray C90 and J90, the MasPar MP2, and the Intel Paragon. Work is underway (April 1997) on a portable MPI back end, and an implementation for symmetric multiprocessors, such as the SGI Power Challenge or the DEC AlphaServer.
Latest version: Release 3.1, as of 1995-11-01.
Home (http://www.cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/www/nesl.html).
[ NESL: A Nested Data-Parallel Language , Guy Blelloch, CMU-CS-93-129, April 1993].
(1997-04-13)

net
1. networking network.
2. networking network, the.
3. architecture neural network.
4. networking The top-level domain originally for networks, although it sees heavy use for vanity domains of all types.
[Jargon File]
(1999-01-26)

net.-
convention, networking, messaging /net dot/ A prefix used to describe people and events related to Usenet and the Internet. The convention dates from the time before the Great Renaming, when most non-local Usenet newsgroups had names beginning net. . Includes net.gods, net.goddesses (various charismatic net.women with circles of on-line admirers), net.lurkers (see lurker), net.person , net.parties (a synonym for boink), and many similar constructs.
See also net.police.
[Jargon File]
(1995-03-21)

netaddress
See Knowbot Information Service.

NetBEUI
NetBIOS Extended User Interface. The network transport protocol used by all of Microsoft's network systems and IBM's LAN Server based systems.
NetBEUI is often confused with NetBIOS. NetBIOS is the applications programming interface and NetBEUI is the transport protocol.

NetBIOS
An applications programming interface (API) which activates network operations on IBM PC compatibles running under Microsoft's DOS. It is a set of network commands that the application program issues in order to transmit and receive data to another host on the network. The commands are interpreted by a network control program or network operating system that is NetBIOS compatible. See NetBOLLIX.

NetBIOS Frames Control Protocol
protocol (NBFCP, NBF protocol, originally NetBEUI protocol )
[RFC 2097]
[What is it?]
(1997-05-10)

NetBios over TCP/IP
protocol (NBT) A protocol supporting NetBIOS services in a TCP/IP environment, defined by RFCs 1001 and 1002.
(1997-07-04)

NetBOLLIX
[ bollix : to bungle] IBM's NetBIOS, an extremely brain-damaged network protocol that, like Blue Glue, is used at commercial shops that don't know any better.
[Jargon File]

netbui
spelling It's spelled NetBEUI .
(1996-12-23)

netburp
networking, chat (Or netsplit ) When netlag gets really bad, and delays between IRC servers exceed a certain threshhold, the network effectively becomes partitioned for a period of time, and large numbers of people seem to be signing off at the same time and then signing back on again when things get better. An instance of this is called a netburp (or, sometimes, netsplit).
[Jargon File]
(1996-06-04)

netCDF
Network Common Data Form. A machine-independent, self-describing file format for scientific data.

Netcom On-line Communication Services, Inc.
company A company providing Internet access on Sun Microsystems computers running Unix. Customers either log in to a shell running on a Netcom computer, or rent a SLIP or PPP connection and run their own net software. Most hosts are in San Jose, California, but they have Points of Presence all over the USA.
Home (http://www.netcom.com/)
Address: 3031 Tisch Way San Jose, CA 95128, USA.
Telephone: +1 (408) 983 5950, +1 800 353 6600. Fax: +1 (408) 241 9145.
(1996-04-23)

netdead
[IRC] The state of someone who signs off IRC, perhaps during a netburp, and doesn't sign back on until later. In the interim, he is dead to the net .
[Jargon File]

Netfind
A research prototype that provides a simple Internet white pages user directory. It runs on SunOS 4.0 or more recent systems that are connected to the Internet (however, you can run Netfind on one server at your site, and let the others use Netfind on that server). Given the name of a person on the Internet and a rough description of where the person works, Netfind attempts to locate telephone and electronic mailbox information about the person.
(ftp://ftp.cs.colorado.edu/pub/cs/distribs/netfind)

net.god
person /net god/ Accolade referring to anyone who satisfies some combination of the following conditions: has been visible on Usenet for more than 5 years, ran one of the original backbone sites, moderated an important newsgroup, wrote news software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and Greg personally.
Net.goddesses such as Rissa or the Slime Sisters have (so far) been distinguished more by personality than by authority.
See demigod.
[Jargon File]
(1996-01-07)

NetHack
games /net'hak/ (Unix) A dungeon game similar to rogue but more elaborate, distributed in C source over Usenet and very popular at Unix sites and on PC-class machines (nethack is probably the most widely distributed of the freeware dungeon games). The earliest versions, written by Jay Fenlason and later considerably enhanced by Andries Brouwer, were simply called hack . The name changed when maintenance was taken over by a group of hackers originally organised by Mike Stephenson.
Version: NetHack 3.2 (Apr 1996?).
(http://www.win.tue.nl/games/roguelike/nethack/)
FAQ (ftp://rtfm.mit.edu/pub/usenet/rec.games.roguelike.nethack/).
FTP U Penn (ftp://linc.cis.upenn.edu/pub/NH3.1/) No large downloads between 9:00 and 18:00 local or the directory will be removed.
Usenet newsgroup: news:rec.games.roguelike.nethack.
E-mail: nethack-bugs@linc.cis.upenn.edu .
(1996-06-13)

netiquette
convention, networking /net'ee-ket/ or /net'i-ket/ Network etiquette.
The conventions of politeness recognised on Usenet and in mailing lists, such as not (cross-)posting to inappropriate groups and refraining from commercial advertising outside the biz groups.
The most important rule of netiquette is Think before you post . If what you intend to post will not make a positive contribution to the newsgroup and be of interest to several readers, don't post it! Personal messages to one or two individuals should not be posted to newsgroups, use private e-mail instead.
When following up an article, quote the minimum necessary to give some context to your reply and be careful to attribute the quote to the right person. If the article you are responding to was posted to several groups, edit the distribution ( Newsgroups: ) header to contain only those groups which are appropriate to your reply, especially if the original message was posted to one or more inappropriate groups in the first place.
Re-read and edit your posting carefully before you post. Check the spelling and grammar. Keep your lines to less than 70 characters. Don't post test messages (except to test groups) - wait until you have something to say. When posting humorous or sarcastic comments, it is conventional to append a smiley, but don't overuse them.
Before asking a question, read the messages already in the group and read the group's FAQ if it has one. When you do post a question, follow it with please reply by mail and I will post a summary if requested and make sure you DO post a summary if requested, or if only a few people were interested, send them a summary by mail. This avoids umpteen people posting the same answer to the group and umpteen others posting me too s.
If you believe someone has violated netiquette, send them a message by _private e-mail_, DO NOT post a follow-up to the news. And be polite, they may not realise their mistake, they might be a beginner or may not even have been responsible for the crime - their account may have been used by someone else or their address forged.
Be proud of your postings but don't post just to see your name in pixels. Remember: your future employer may be reading.
Netiquette for Usenet Site Administrators (http://ancho.ucs.indiana.edu/FAQ/USAGN/index.html).
net.acceptable (http://marketing.tenagra.com/net-acceptable.html).
[Jargon File]
(1999-10-18)

NETL
A semantic network language, for connectionist architectures.
[ NETL: A System for Representing and Using Real-World Data , S.E. Fahlman, MIT Press 1979].
(1995-01-05)

netlag
networking A condition that occurs when the delays in the IRC network, a MUD connection, a telnet connection, or any other networked interactive system, become severe enough that servers briefly lose and then reestablish contact, causing messages to be delivered in bursts, often with delays of up to a minute. (Note that this term has nothing to do with mainstream jet lag ).
[Jargon File]
(1996-06-21)

netload
A program to down-load Excelan TCP/IP software. The host's Ethernet address can be specified as
netload -e aabbccddeeff
where aabbccddeeff is a 12 hexadecimal digit number.
(1994-12-14)

Netmarq Limited
A small technical consultancy specialising in the testing of network components. They do performance tests of network interface cards, routers, hubs, file servers, etc. To reflect the marketplace, most tests are carried out in a Novell NetWare environment, although they can equally well use Lan server, Banyan Vines, NT Advanced Server, IBM PC Support. They claim to be Europe's leading such test lab and compete with US Labs such as LanQuest and NSTL. They also do some network design, installation, support, and troubleshooting.
E-mail: netmarq@cix.compulink.co.uk .
(1994-12-14)

netmask
networking A 32-bit bit mask which shows how an Internet address is to be divided into network, subnet and host parts. The netmask has ones in the bit positions in the 32-bit address which are to be used for the network and subnet parts, and zeros for the host part. The mask should contain at least the standard network portion (as determined by the address's class), and the subnet field should be contiguous with the network portion.
If a `+' (plus sign) is given for the netmask value, then the network number is looked up in the NIS netmasks.byaddr map (or in the /etc/netmasks) file if not running the NIS service.
Unix manual page: ifconfig(8).
(1995-01-30)

NetNanny
networking A small program for children to block access to certain sites.
[Company? Address?]
(1997-02-12)

netnews
/net'n[y]ooz/ 1. The software that makes Usenet run.
2. The content of Usenet. I read netnews right after my mail most mornings.
[Jargon File]
(1994-12-14)

net.personality
Someone who has made a name for him or herself on Usenet, through either longevity or attention-getting posts, but doesn't meet the other requirements of net.godhood.
[Jargon File]

netpipes
networking A package by Robert Forsman thoth@cis.ufl.edu to manipulate BSD Unix TCP/IP stream sockets. The netpipes package makes TCP/IP streams usable in shell scripts. It can also simplify client-server code by allowing the programmer to skip all the tedious programming related to sockets and concentrate on writing a filter/service.
Home (http://www.cis.ufl.edu/~thoth/netpipes/).
(1996-10-03)

net.police
/net-p*-lees'/ (Or net police , net.cops ) Those Usenet readers who feel it is their responsibility to pounce on and flame any posting which they regard as offensive or in violation of their understanding of netiquette. Generally used sarcastically or pejoratively.
See also net.-, code police.
[Jargon File]

netquette
spelling It's spelled netiquette .
(1999-09-30)

Netrek
games A 16-player graphical real-time battle simulation with a Star Trek theme. The game is divided into two teams of eight (or less), who dogfight each other and attempt to conquer each other's planets. There are several different types of ships, from fast, fragile scouts up to big, slow battleships; this allows a great deal of variance in play styles. Netrek is played using a client to connect to one of several Netrek servers on the Internet. There is a metaserver which distributes details of games in progress on other servers.
See also ogg.
[Dates? Versions? Authors? Addresses?]
(1998-02-01)

netrock
/net'rok/ (IBM) A flame; used especially on VNET, IBM's internal corporate network.
[Jargon File]
(1994-11-18)

Netscape
1. Netscape Navigator.
2. Netscape Communications Corporation.

Netscape Communications Corporation
company (Formlerly Mosaic Communications Corporation , MCC) A company set up in April 1994 by Dr. James H. Clark and Marc Andreessen marca@netcom.com (creator of the NCSA Mosaic program) to market their version of Mosaic, known as Netscape or Mozilla.
They changed their name (http://www.netscape.com/newsref/pr/newsrelease5.html) on 1994-11-14 to reflect their other activities rather than just their browser based on Mosaic.
Home (http://www.netscape.com/).
Address: 501 East Middlefield Road, Mountain View, CA 94043, USA.
Telephone: +1 (415) 254 1900. Fax: +1 (415) 254 2601.
(2000-02-08)

Netscape Navigator
networking, tool, product /Mozilla/ (Often called just Netscape ) A World-Wide Web browser from Netscape Communications Corporation. The first beta-test version was released free to the Internet on 13 October 1994. Netscape evolved from NCSA Mosaic (with which it shares at least one author) and runs on the X Window System under various versions of Unix, on Microsoft Windows and on the Apple Macintosh.
It features integrated support for sending electronic mail and reading Usenet news, as well as RSA encryption to allow secure communications for commercial applications such as exchanging credit card numbers with net retailers. It provides multiple simultaneous interruptible text and image loading; native inline JPEG image display; display and interaction with documents as they load; multiple independent windows. Netscape was designed with 14.4 kbps modem links in mind.
You can download Netscape Navigator for evaluation, or for unlimited use in academic or not-for-profit environments. You can also pay for it.
Version: 1.0N.
(ftp://ftp.netscape.com/netscape/)
E-mail: sales@netscape.com .
(1995-01-25)

Netscape Public License
open source license

netsplit
netburp

netstat
networking (Or rstat ) A Unix command to give statistics about the network including socket status, interfaces that have been auto-configured, memory statistics, routing tables.
Unix manual pages: rstat(3), netstat(8).
(1996-06-04)

netter
1. Loosely, anyone with a network address.
2. More specifically, a Usenet regular. Most often found in the plural. If you post *that* in a technical group, you're going to be flamed by angry netters for the rest of time!
[Jargon File]

NetWare
Novell NetWare

NetWare Core Protocol
networking (NCP) A Novell trademark for the protocol used to access Novell NetWare file and print service functions. It uses an underlying IPX or IP transport protocol.
(1995-11-11)

Netware Directory Services
networking (NDS) Novell, Inc.'s directory services for Netware, Windows NT, and Unix. The NDS directory represents each network resource (user, hardware, or application) as an object of a certain class, where each class has certain properties. For example, User and Print Server are object classes and a user has over 80 properties such as name, login, password, department, and title.
The directory is hierarchical, divided into branches by rules of containment. A given object can only belong to a given container (or branch). The rules governing classes, properties and, rules of containment are known as the schema.
(2001-03-20)

Netware Input/Output Subsystem
operating system, networking (NIOS) The lowest layer in the Novell NetWare client architecture. NIOS is the interface layer between the client operating system and the 32-bit client services provided by NetWare.
(http://developer.novell.com/research/appnotes/1996/november/01/04.htm).
(1999-04-24)

NetWare Link State Protocol
networking, protocol (NLSP) A companion protocol to IPX for exchange of routing information in a Novell network. NLSP supersedes Novell's RIP.
(1997-03-04)

network
networking Hardware and software data communication systems.
The OSI seven layer model attempts to provide a way of partitioning any computer network into independent modules from the lowest (physical) layer to the highest (application) layer. Many different specifications exist at each of these layers.
Networks are often also classified according to their geographical extent: local area network (LAN), metropolitan area network (MAN), wide area network (WAN) and also according to the protocols used.
See BITNET, Ethernet, Internet, Novell, PSTN, network, the.
[Tanenbaum, A., Computer Networks; 2nd ed. , Prentice Hall, Englewood Cliffs, NJ, 1989.]
(1995-03-10)

network address
networking 1. The network portion of an IP address. For a class A network, the network address is the first byte of the IP address. For a class B network, the network address is the first two bytes of the IP address. For a class C network, the network address is the first three bytes of the IP address. In each case, the remainder is the host address. In the Internet, assigned network addresses are globally unique.
See also subnet address, Internet Registry.
2. (Or net address ) An electronic mail address on the network. In the 1980s this might have been a bang path but now (1997) it is nearly always a domain address. Such an address is essential if one wants to be to be taken seriously by hackers; in particular, persons or organisations that claim to understand, work with, sell to, or recruit from among hackers but *don't* display net addresses are quietly presumed to be clueless poseurs and mentally flushed.
Hackers often put their net addresses on their business cards and wear them prominently in contexts where they expect to meet other hackers face-to-face (e.g. science-fiction fandom). This is mostly functional, but is also a signal that one identifies with hackerdom (like lodge pins among Masons or tie-dyed T-shirts among Grateful Dead fans). Net addresses are often used in e-mail text as a more concise substitute for personal names; indeed, hackers may come to know each other quite well by network names without ever learning each others' real monikers.
See also sitename, domainist.
[Jargon File]
(1997-05-10)

Network Addressable Unit
networking (NAU) The SNA term for an addressable entity. Examples include PUs, LUs, and SSCPs.
(1997-05-10)

Network Address Translation
networking (NAT, or Network Address Translator, Virtual LAN) A hardware device currently being developed and used to extend the Internet addresses already in use. NAT has been suggested as an alternative to adopting IPv6 (IPng). It allows duplicate IP addresses to be used within a corporation and unique addresses outside.
[ NATs are next naughty Internet issue , Christine Hudgins-Bonafield cbonafield@nwc.com , in Network Computing , March 1, 1995].
(1995-04-01)

Network Address Translator
Network Address Translation

network byte order
networking The order in which the bytes of a multi-byte number are transmitted on a network - most significant byte first (as in big-endian storage). This may or may not match the order in which numbers are normally stored in memory for a particular processor.
(http://www.sun.com/realitycheck/headsup980803.html). (http://www.hp.com/unixwork/whatsnew/fyi/bissue/aug98/article3.htm).
(1998-11-15)

network card
network interface controller

network closet
networking The place where network hardware (other than cabling) is installed. The space should be used primarily for storage, be dry, and have electricity available. Since network equipment rarely needs attention once installed and tested, the network closet can have limited accessibility.
(1995-05-05)

Network Computing Devices
company (NCD) Producer of X terminals, PC-Xware and Z-Mail.
Home (http://www.ncd.com/).
(1998-10-07)

network database
database A kind of database management system in which each record type can have multiple owners, e.g. orders are owned by both customers and products. This contrasts with a hierarchical database (one owner) or relational database (no explicit owner).
(1998-10-07)

Network Definition Language
(NDL) The language used to program the DCP (Data Communications Processor) on Burroughs Large System.
Version: NDL II.
(1994-12-12)

Network Device Interface Specification
networking, hardware, standard (NDIS) A Microsoft Windows device driver programming interface allowing multiple protocols to share the same network hardware. E.g. TCP/IP and IPX on the same NIC. NDIS can also be used by some ISDN adapters.
A protocol manager accepts requests from the transport layer and passes them to the data link layer (routed to the correct network interface if there is more than one).
NDIS was developed by Microsoft and 3COM. Novell offers a similar device driver for NetWare called Open Data-Link Interface (ODI).
The NDIS 2.0 specification was 5000 lines.
Current version: NDIS 5.0, as of 2000-10-30.
Home (http://www.microsoft.com/hwdev/devdes/ndis5.htm).
cdrom.com NDIS archive (ftp://ftp.cdrom.com/pub/os2/network/ndis/).
[ 3TECH, The 3COM Technical Journal , Winter 1991].
(2000-10-30)

Network extensible Window System
(NeWS) An elegant PostScript-based windowing environment, invented by James Gosling, the author of GOSMACS.
NeWS would almost certainly have won the standards war with the X Window System if it hadn't been proprietary to Sun Microsystems. There is a lesson here that too many software vendors haven't yet heeded. Communication is based on PostScript and server functions can be extended.
See also HyperNeWS, OpenWindows.
(1994-12-12)

Network File System
networking, operating system (NFS) A protocol developed by Sun Microsystems, and defined in RFC 1094, which allows a computer to access files over a network as if they were on its local disks. This protocol has been incorporated in products by more than two hundred companies, and is now a de facto standard. NFS is implemented using a connectionless protocol (UDP) in order to make it stateless.
See Nightmare File System, WebNFS.
(1994-12-12)

Network Filing System
spelling Misnomer for Network File System.

Network Information Center
(NIC) A body that provides information, assistance and services to network users. These will typically include telephone and electronic mail help desk type services for users and network information services such as hostnames and addresses which are accessed automatically by computers using some client-server protocol (usually Sun's NIS).
See also Network Operations Center.
(1994-12-13)

Network Information Service
networking, protocol (NIS) Sun Microsystems' Yellow Pages (yp) client-server protocol for distributing system configuration data such as user and host names between computers on a network.
Sun licenses the technology to virtually all other Unix vendors.
The name Yellow Pages is a registered trademark in the United Kingdom of British Telecommunications plc for their (paper) commercial telephone directory. Sun changed the name of their system to NIS, though all the commands and functions still start with yp , e.g. ypcat, ypmatch, ypwhich.
Unix manual pages: yp(3), ypclnt(3), ypcat(1), ypmatch(1).
(1995-04-08)

Network Information System
spelling A mis-expansion of NIS.
(1995-04-08)

networking
network

network interface card
network interface controller

network interface controller
hardware, networking (NIC or network interface card ) An adapter circuit board installed in a computer to provide a physical connection to a network.
[Examples? Attributes?]
(1996-03-04)

network layer
networking (communications subnet layer) The third lowest layer in the OSI seven layer model. The network layer determines routing of packets of data from sender to receiver via the data link layer and is used by the transport layer. The most common network layer protocol is IP.
(1994-12-13)

network layer reachability information
networking (NLRI) Keywords used to for unicast and multicast database forwarding. For example, you would assign a user's NLRI so the user can receive multicast messages regarding hardware down time that will affect a specific user group.
[Reference?]
(2002-06-01)

network management
networking The process of controlling a network so as to maximise its efficiency and productivity. ISO's model divides network management into five categories: fault management, accounting management, configuration management, security management and performance management.
Fault management is the process of identifying and locating faults in the network. This could include discovering the existence of the problem, identifying the source, and possibly repairing (or at least isolating the rest of the network from) the problem.
Configuration management is the process of identifying, tracking and modifying the setup of devices on the network. This category is extremely important for devices that come with numerous custom settings (e.g. routers and file servers).
Security management is the process of controlling (granting, limiting, restricting or denying) access to the network and resources thereon. This could include setting up and managing access lists in routers (creating firewalls to keep intruders out), creating and maintaining password access to critical network resources, identifying the points of entry used by intruders and closing them.
Performance Management is the process of measuring the performance of various network components. This also includes taking measures to optimise the network for maximum system performance (periodically measuring of the use of network resources).
Usenet newsgroup: news:comp.dcom.net-management.
[ Network Management: A Practical Perspective , Allan Leinwand and Karen Fang].
(1994-11-18)

network meltdown
(By analogy with catastrophic failure of a nuclear reactor) An event that causes saturation, or near saturation, on a network. It usually results from illegal or misrouted packets and typically lasts only a short time. It is the network equivalent of thrashing. This may be induced by a Chernobyl packet.
See also broadcast storm, kamikaze packet.
[Jargon File]
(1994-11-29)

Network News Transfer Protocol
(NNTP) A protocol defined in RFC 977 for the distribution, inquiry, retrieval and posting of Usenet news articles over the Internet. It is designed to be used between a news reader client such as nn or GNUS and a news server. It is normally used on a connection to TCP port 119 on the news server. NNTP is a simple ASCII text protocol so even if you don't have a news reader program, you can just connect to the server using telnet:
telnet news 119
where news is the name of your server (e.g. news.doc.ic.ac.uk). Typing HELP will give a list of other commands.

Network Node Interface
networking (NNI) The ATM Forum's specification for connections between network nodes. NNI makes network routing possible. It typically refers to backbone trunk connections between ATM switching equipment.
See also: UNI.
(2001-03-26)

network number
network address

network operating system
networking, operating system (NOS) An operating system which includes software to communicate with other computers via a network. This allows resources such as files, application programs, and printers to be shared between computers.
Examples are Berkeley Software Distribution Unix, Novell, LAntastic, MS LAN Manager.
[Is there a specific OS called Network Operating System ?]
(2001-03-13)

Network Operations Center
(NOC) A location from which the operation of a network or internet is monitored. Additionally, this center usually serves as a clearinghouse for connectivity problems and efforts to resolve those problems.
See also Network Information Center.
(1994-12-01)

network redirector
networking An operating system driver that sends data to and receives data from a remote device. A network redirector often provides mechanisms to locate, open, read, write, and delete files and submit print jobs.
It also makes available application services such as named pipes and mailslots. When an application needs to send or receive data from a remote device, it sends a call to the redirector. The redirector provides the functionality of the Application layer and Presentation layer of the OSI model.
In Microsoft Networking, the network redirectors are implemented as installable file systems (IFS).
(1999-08-08)

network segment
networking A part of an Ethernet or other network, on which all message traffic is common to all nodes, i.e. it is broadcast from one node on the segment and received by all others. This is normally because the segment is a single continuous conductor, though it may include repeaters(?).
Since all nodes share the physical medium, collision detection or some other protocol is required to determine whether a message was transmitted without interference from other nodes. The receiving node inspects the destination address of a packet to tell if it was (one of) the intended recipient(s).
Communication between nodes on different segments is via one or more routers.
(1996-10-16)

Network Solutions, Inc.
company (NSI) One of the three companies that provide and coordinate InterNIC services for the NSFNet. NSI is responsible for registration. NSI has been bought by, and is now a wholly-owned subsidiary of, Science Applications International Corporation (SAIC).
(1995-11-09)

Network Termination
(NT, NT1) A device connecting the customer's data or telephone equipment to the local ISDN exchange carrier's line. The NT device provides a connection for terminal equipment (TE) and terminal adaptor (TA) equipment to the local loop.
(1994-11-30)

network, the
1. jargon, networking (Or the net ) The union of all the major noncommercial, academic and hacker-oriented networks, such as Internet, the old ARPANET, NSFnet, BITNET, and the virtual UUCP and Usenet networks , plus the corporate in-house networks and commercial time-sharing services (such as CompuServe) that gateway to them.
A site was generally considered on the network if it could be reached by electronic mail through some combination of Internet-style (@-sign) and UUCP (bang-path) addresses. Since the explosion of the Internet in the mid 1990s, the term is now synonymous with the Internet.
See network address.
2. body A fictional conspiracy of libertarian hacker-subversives and anti-authoritarian monkeywrenchers described in Robert Anton Wilson's novel Schrödinger's Cat , to which many hackers have subsequently decided they belong (this is an example of ha ha only serious).
[Jargon File]
(1999-01-26)

Network Time Protocol
(NTP) A protocol built on top of TCP/IP that assures accurate local timekeeping with reference to radio, atomic or other clocks located on the Internet. This protocol is capable of synchronizing distributed clocks within milliseconds over long time periods. It is defined in STD 12, RFC 1119.

network transparency
networking A feature of an operating system or other service which lets the user access a remote resource through a network without having to know if the resource is remote or local.
For example NFS allow users to access remote files as if they were local files.
(1996-12-21)

NetX
company A LukeCo Company that designs web pages and web software. Not to be confused with Net:X.
Home (http://members.aol.com/netx11/index.html).
(1996-12-15)

Net:X
company A Canadian company. Not to be confused with NetX.
Home (http://www.netx.ca/).
[Summary?]
(1998-06-25)

neural nets
artificial neural network

neural network
artificial neural network

neuron
artificial neural network

Neutral Interconnect
Network infrastructure where network service providers can freely exchange traffic without policy restrictions. Examples are the GIX (Global Internet Exchange) at MAE-East (A Metropolitan Area Ethernet around Washington), and the Ebone (European Backbone). There is currently (November 1993) no UK Neutral Interconnect.

neutrosophic
Neutrosophy

neutrosophic logic
logic (Or Smarandache logic ) A generalisation of fuzzy logic based on Neutrosophy. A proposition is t true, i indeterminate, and f false, where t, i, and f are real values from the ranges T, I, F, with no restriction on T, I, F, or the sum n=t+i+f. Neutrosophic logic thus generalises:
- intuitionistic logic, which supports incomplete theories (for 0 n 100 and i=0, 0 =t,i,f =100);
- fuzzy logic (for n=100 and i=0, and 0 =t,i,f =100);
- Boolean logic (for n=100 and i=0, with t,f either 0 or 100);
- multi-valued logic (for 0 =t,i,f =100);
- paraconsistent logic (for n 100 and i=0, with both t,f 100);
- dialetheism, which says that some contradictions are true (for t=f=100 and i=0; some paradoxes can be denoted this way).
Compared with all other logics, neutrosophic logic introduces a percentage of indeterminacy - due to unexpected parameters hidden in some propositions. It also allows each component t,i,f to boil over 100 or freeze under 0. For example, in some tautologies t 100, called overtrue .
Home (http://www.gallup.unm.edu/~smarandache/NeutLog.txt).
[ Neutrosophy / Neutrosophic probability, set, and logic , F. Smarandache, American Research Press, 1998].
(1999-10-04)

neutrosophic probability
logic An extended form of probability based on Neutrosophy, in which a statement is held to be t true, i indeterminate, and f false, where t, i, f are real values from the ranges T, I, F, with no restriction on T, I, F or the sum n=t+i+f.
Home (http://www.gallup.unm.edu/~smarandache/NeutProb.txt).
[ Neutrosophy / Neutrosophic Probability, Set, and Logic , Florentin Smarandache, American Research Press, 1998].
(1999-10-04)

neutrosophic set
logic A generalisation of the intuitionistic set, classical set, fuzzy set, paraconsistent set, dialetheist set, paradoxist set, tautological set based on Neutrosophy. An element x(T, I, F) belongs to the set in the following way: it is t true in the set, i indeterminate in the set, and f false, where t, i, and f are real numbers taken from the sets T, I, and F with no restriction on T, I, F, nor on their sum n=t+i+f.
The neutrosophic set generalises:
- the intuitionistic set, which supports incomplete set theories (for 0 n 100 and i=0, 0 =t,i,f =100);
- the fuzzy set (for n=100 and i=0, and 0 =t,i,f =100);
- the classical set (for n=100 and i=0, with t,f either 0 or 100);
- the paraconsistent set (for n 100 and i=0, with both t,f 100);
- the dialetheist set, which says that the intersection of some disjoint sets is not empty (for t=f=100 and i=0; some paradoxist sets can be denoted this way).
Home (http://www.gallup.unm.edu/~smarandache/NeutSet.txt).
[ Neutrosophy / Neutrosophic Probability, Set, and Logic , Florentin Smarandache, American Research Press, 1998].
(1999-12-14)

neutrosophic statistics
statistics Analysis of events described by neutrosophic probability.
[ Neutrosophy / Neutrosophic Probability, Set, and Logic , Florentin Smarandache, American Research Press, 1998].
(1999-07-05)

Neutrosophy
philosophy (From Latin neuter - neutral, Greek sophia - skill/wisdom) A branch of philosophy, introduced by Florentin Smarandache in 1980, which studies the origin, nature, and scope of neutralities, as well as their interactions with different ideational spectra.
Neutrosophy considers a proposition, theory, event, concept, or entity, A in relation to its opposite, Anti-A and that which is not A, Non-A , and that which is neither A nor Anti-A , denoted by Neut-A . Neutrosophy is the basis of neutrosophic logic, neutrosophic probability, neutrosophic set, and neutrosophic statistics.
Home (http://www.gallup.unm.edu/~smarandache/NeutroSo.txt).
[ Neutrosophy / Neutrosophic Probability, Set, and Logic , Florentin Smarandache, American Research Press, 1998].
(1999-07-29)

Never Offline
software (NOL) /noh-el/ A software service provided by America's Multimedia Online that allows Internet users to be constantly connected to the Internet.
Home (http://neveroffline.com/).
[But what *is* it?]
(1999-11-03)

newbie
jargon /n[y]oo'bee/ (Originally from British public-school and military slang variant of new boy ) An inexperienced user of Usenet or other system.
This term surfaced in the newsgroup news:talk.bizarre but is now in wide use. Criteria for being considered a newbie vary wildly; a person can be called a newbie in one newsgroup while remaining a respected regular in another. The label newbie is sometimes applied as a serious insult to a person who has been around Usenet for a long time but who carefully hides all evidence of having a clue.
See BIFF.
[Jargon File]
(1998-02-18)

New Flavors
An object-oriented Lisp from Symbolics, the successor to Flavors, it led to CLOS.
[ Reference Guide to Symbolics-Lisp , Symbolics, March 1985].
(1994-10-10)

newgroup wars
/n[y]oo'groop worz/ [Usenet] The salvos of dueling newgroup and rmgroup messages sometimes exchanged by persons on opposite sides of a dispute over whether a newsgroup should be created net-wide, or (even more frequently) whether an obsolete one should be removed. These usually settle out within a week or two as it becomes clear whether the group has a natural constituency (usually, it doesn't). At times, especially in the completely anarchic alt hierarchy, the names of newsgroups themselves become a form of comment or humour; e.g. the spinoff of alt.swedish.chef.bork.bork.bork from alt.tv.muppets in early 1990, or any number of specialised abuse groups named after particularly notorious flamers, e.g. alt.weemba.
[Jargon File]

New Jersey
[Primarily Stanford/Silicon Valley] Brain-damaged or of poor design. This refers to the allegedly wretched quality of such software as C, C++ and Unix (which originated at Bell Labs in Murray Hill, New Jersey). This compiler bites the bag, but what can you expect from a compiler designed in New Jersey? Compare Berkeley Quality Software. See also Unix conspiracy.

newline
character, jargon /n[y]oo'li:n/ Line feed or other character sequence used to terminate a line of text.
Unix uses line feed as its text line terminator - a Bell-Labs-ism rather than a Berkeleyism. Interestingly (and unusually for Unix jargon), it is said to have originally been an IBM usage. Though the term newline appears in ASCII standards, it never caught on in the general computing world before Unix. The encoding of line feed as n in C and Unix strings comes from this name.
The term has been used more generally for any end of line character, character sequence (e.g. crlf), or operation (like Pascal's writeln procedure or Lisp 1.5's terpri) required to terminate a text record or separate lines.
[Jargon File]
(1997-07-14)

NEWP
NEW Programming language

NEW Programming language
language (NEWP) A language which replaced ESPOL on the Burroughs Large System.
(1994-12-13)

NeWS
/nee'wis/, /n[y]oo'is/ or /n[y]ooz/ Network extensible Window System.
Many hackers insist on the two-syllable pronunciations above as a way of distinguishing NeWS from news (the netnews software).
[Jargon File]

news
See netnews.

NewsClip
A very high level language designed for writing netnews filters. It translates into C. It includes support for various newsreaders. Version 1.01 includes a translator from NewsClip to C, examples and documentation.
NewsClip was written by Looking Glass Software Ltd. and is distributed and used by ClariNet Communications Corporation It is only supported for ClariNet customers. Output of the filters may not be sold and donation for use of this program is hinted at.
E-mail: newsclip@clarinet.com .
(1992-10-25)

newsfroup
messaging, humour A silly synonym for Usenet newsgroup, originally a typo but now in regular use on Usenet's news:talk.bizarre and other lunatic-fringe groups.
Compare hing, grilf, and filk.
[Jargon File]
(1994-12-13)

newsgroup
messaging One of Usenet's huge collection of topic groups or fora. Usenet groups can be unmoderated (anyone can post) or moderated (submissions are automatically directed to a moderator, who edits or filters and then posts the results). Some newsgroups have parallel mailing lists for Internet people with no netnews access, with postings to the group automatically propagated to the list and vice versa. Some moderated groups (especially those which are actually gatewayed Internet mailing lists) are distributed as digests , with groups of postings periodically collected into a single large posting with an index.
Among the best-known are comp.lang.c (the C-language forum), comp.arch (on computer architectures), comp.Unix.wizards (for Unix wizards), rec.arts.sf-lovers (for science-fiction fans), and talk.politics.misc (miscellaneous political discussions and flamage).
Barry Shein bzs@world.std.com is alleged to have said, Remember the good old days when you could read all the group names in one day? This gives a good idea of the growth and size of Usenet.
See also netiquette.
[Jargon File]
(1994-12-13)

newsletter
publication A periodically published work containing news and announcements on some subject, typically with a small circulation. Newsletters are a common application for DTP and may be distributed by electronic mail.
(1996-12-10)

Newspeak
A language inspired by Scratchpad.
[J.K. Foderaro. The Design of a Language for Algebraic Computation , Ph.D. Thesis, UC Berkeley, 1983].

Newsqueak
A concurrent applicative language with synchronous channels.
[ Newsqueak: A Language for Communicating with Mice , R. Pike CSTR143, Bell Labs (March 1989)].
[ The Implementation of Newsqueak , Rob Pike, Soft Prac Exp 20(7):649-659 (July 1990)].

.newsrc
messaging (news run commands) The configuration file for the Unix rn news reader.
See also rc.
(1996-04-09)

news reader
messaging A browser program which enables a user to read articles posted to Usenet. Articles may be stored in a local (or NFS-mounted) spool directory, or retrieved via NNTP.
Examples are rn, GNUS, and nn.
(1996-04-09)

New Storage System
storage (NSS) A major Multics implementation project during the 1970s. The initial Multics file system design had evolved from the one-huge-disk world of CTSS. When multiple disk units were used they were just assigned increasing ranges of disk addresses, so a segment could have pages scattered over all disks on the system. This provided good I/O parallelism but made crash recovery expensive. NSS redesigned the lower levels of the file system, introducing the concepts of logical volume and physical volume and a mapping from a Multics directory branch to a VTOC entry for each file. The new system had much better recovery performance in exchange for a small space and performance cost.
(1997-01-29)

new talk
ntalk

New Testament
[C programmers] The second edition of K R's The C Programming Language (Prentice-Hall, 1988; ISBN 0-13-110362-8), describing ANSI C.
[Jargon File]

Newton
1. (Named after Isaac Newton (1642-1727)). Rapin et al, Swiss Federal Inst Tech, Lausanne 1981. General purpose expression language, syntactically ALGOL-like, with object-oriented and functional features and a rich set of primitives for concurrency. Used for undergraduate teaching at Lausanne (EPFL).
Versions: Newton 2.6 for VAX/VMS and Newton 1.2 for DEC-Alpha/OSF-1.
E-mail: J. Hulaas hulaas@lcodec1.epfl.ch . (ftp://ellc4.epfl.ch /pub/languages/Newton).
[ Procedural Objects in Newton , Ch. Rapin, SIGPLAN Notices 24(9) (Sep 1989)].
[ The Newton Language , Ch. Rapin et al, SIGPLAN Notices 16(8):31-40 (Aug 1981)].
[ Programming in Newton , Wuetrich and Menu, EPFL 1982].
2. Apple Newton.
(2000-08-29)

Newton-Raphson
A well-known algorithm for solving equations. Given an equation,
f x = 0
and an initial approximation, x(0), a better approximation is given by:
x(i+1) = x(i) - f(x(i)) / f'(x(i))
where f'(x) is the first derivative of f, df/dx.

NewWave
A graphical user interface and object-oriented environment from Hewlett-Packard, based on Windows and available on Unix workstations.

NewYacc
A parser generator by Jack Callahan callahan@mimsy.cs.umd.edu . Version 1.0.
(ftp://flubber.cs.umd.edu/src/)
[Dec 89 CACM, A brief overview of NewYacc].
(1992-02-10)

New York State Educational Reasearch ETwork
(NYSERNET) A New York Internet access provider and regional network. NYSERNet has been in the Internet business since about 1985 and have recently upgraded to a T3 backbone (45 megabits per second). They work with Sprint, NYNEX and Rochester Telephone.
NYSERNet, Inc., provides Internet Training provided through the NYSERNet Internet Training and Education Center (NITEC), a twenty-four station hands-on facility in Syracuse, NY. The Information Services Group supplies tools for marketing via the Internet and NYSERNET also provide Technical Consulting Services.
Home (http://nysernet.org/)
E-mail: info@nysernet.org .
(1995-02-01)

New York University
(NYU) Established in 1831, New York University today includes thirteen schools, colleges and divisions located in New York City's borough of Manhattan, as well as research centers and programs in the surrounding suburbs and abroad.
(http://www.nyu.edu/)

NEXOR
company A technology company that specialises in providing electronic communication software products and services to a worldwide market. It is also the home of CUSI.
Home (http://www.nexor.com/).
(1997-11-10)

Nexpert Object
An expert system.

NeXT, Inc.
company The company founded by Steve Jobs [in ?] following his involuntary departure from Apple Computer, Inc.. NeXT produced both the hardware and operating system (NEXTSTEP). They changed their name to NeXT Software when they stopped making hardware and released NEXTSTEP For Intel processors. The company was bought by Apple in 1997(?).
(1999-11-25)

Next Program Counter
architecture (nPC) A register in a CPU that contains the address of the instruction to be executed next.
(2000-07-12)

NEXTSTEP
operating system The original multitasking operating system that NeXT, Inc. developed to run on its proprietary NeXT computers (informally known as black boxes ). NEXTSTEP includes a specific graphical user interface, an interface builder, object-oriented application builder and several kits of prebuilt software objects such as the Indexing Kit for databases. This software runs on top of NeXT's version of the Mach operating system on NeXT, 486, Pentium, HP-PA and Sun SPARC computers.
The official spelling changed from NeXTstep to NeXTStep to NeXTSTEP , and finally NEXTSTEP .
The last release of NEXTSTEP was 3.3, which NeXT then developed into OpenStep .
(http://turnpike.net/metro/bagingry/index.html)
See also: GNUStep.
(1999-11-25)

nf
networking The country code for Norfolk Island.
(1999-01-27)

NFA
Finite State Machine

NFQL
[ NFQL: The Natural Forms Query Language , D. Embley, Trans Database Sys 14(2):168-211 (June 1989)].

NFS
Network File System

NFT
Network File Transfer. An INTERLINK command on CERNVM.

ng
networking The country code for Nigeria.
(1999-01-27)

NGL
A dialect of IGL.

NHOH
chat Never heard of him/her. Often used in initgame.
(1998-01-18)

ni
networking The country code for Nicaragua.
(1999-01-27)

NIAL
Nested Interactive Array Language.
A high-level array-oriented language from Queen's University, Canada, based on Array Theory as developed by Trenchard More Jr.
Q'NIAL is an implementation in C.
[ Programming Styles in NIAL , M.A. Jenkins et al, IEEE Software 3(1):46-55 (Jan 1986)].
(1995-01-25)

NIAL Systems Ltd.
Distributors of Q'NIAL.
Address: Ottawa Canada.
Telephone: Canada (613) 234 4188.
(1995-01-25)

NIAM
Natural Language Information Analysis Method (or Nijssen IAM).

nibble
data /nib'l/ (US nybble , by analogy with bite - byte ) Half a byte. Since a byte is nearly always eight bits, a nibble is nearly always four bits (and can therefore be represented by one hex digit).
Other size nibbles have existed, for example the BBC Microcomputer disk file system used eleven bit sector numbers which were described as one byte (eight bits) and a nibble (three bits).
Compare crumb, tayste, dynner; see also bit, nickle, deckle.
The spelling nybble is uncommon in Commonwealth Hackish as British orthography suggests the pronunciation /ni:'bl/.
(1997-12-03)

Nibble Mode DRAM
storage A standard DRAM where four successive bits can be clocked out of the single data line by successive pulses on the CAS line while RAS is active. A column address is only required for the first bit.
This mode is now unfashionable but can be found on some older 64 kilobit and 256 kilobit chips.
(1997-12-03)

NIC
1. networking Network Information Center.
2. hardware Network Interface Card.
(1996-02-13)

NIC.DDN.MIL
networking Defense Data Network's Network Information Center.
(1996-02-13)

NICE
The Nonprofit International Consortium for Eiffel.

nick
[IRC] nickname. On IRC, every user must pick a nick, which is sometimes the user's real name or login name, but is often more fanciful. Compare handle.
[Jargon File]

nickle
/ni'kl/ [ nickel , common name for the US 5-cent coin] A nibble + 1; 5 bits. Reported among developers for Mattel's GI 1600 (the Intellivision games processor), a chip with 16 bit-wide RAM but 10 bit-wide ROM. See also deckle.

NICOL I
1. Small subset of PL/I by (Massachusetts) Computer Assoc, ca. 1965. Version: NICOL II (1967). Sammet 1969, p.542.
2. ICL, 1968. [same as 1?]

NIFOC
chat Naked in front of computer. Possibly also typing with one hand.
(2001-03-11)

Nightmare File System
Pejorative hackerism for Sun's Network File System (NFS). In any nontrivial network of Suns where there is a lot of NFS cross-mounting, when one Sun goes down, the others often freeze up. Some machine tries to access the down one, and (getting no response) repeats indefinitely. This causes it to appear dead to some messages (what is actually happening is that it is locked up in what should have been a brief excursion to a higher spl level). Then another machine tries to reach either the down machine or the pseudo-down machine, and itself becomes pseudo-down. The first machine to discover the down one is now trying both to access the down one and to respond to the pseudo-down one, so it is even harder to reach. This situation snowballs very quickly, and soon the entire network of machines is frozen - worst of all, the user can't even abort the file access that started the problem!
Many of NFS's problems are excused by partisans as being an inevitable result of its statelessness, which is held to be a great feature (critics, of course, call it a great misfeature). ITS partisans are apt to cite this as proof of Unix's alleged bogosity; ITS had a working NFS-like shared file system with none of these problems in the early 1970s. See also broadcast storm.
[Jargon File]

night mode
See phase (of people).

NIH
The United States National Institutes of Health.

NIHCL
A class library for C++ from the US National Institutes of Health (NIH).

NII
National Information Infrastructure

NIKL
Frame language.
[ Recent Developments in NIKL , T.R. Kaczmarek et al, Proc AAAI-86, 1986].

Niklaus Wirth
person The designer of the Modula-2, Modula-3, and, in around 1970, Pascal programming languages.
[More info?]
(2001-09-22)

NIL
/nil/ 1. New Implementation of Lisp. A language intended to be the successor of MacLisp. A large Lisp, implemented mostly in VAX assembly language. A forerunner of Common LISP.
[ NIL: A Perspective , Jon L. White, MACSYMA Users' Conf Proc, 1979].
2. Network Implementation Language. Strom Yemini, TJWRC, IBM. Implementation of complex networking protocols in a modular fashion.
[ NIL: An Integrated Language and System for Distributed Programming , R. Strom et al, SIGPLAN Notices 18(6):73-82 (June 1983)].
3. Empty list or False. In Lisp, the empty list (or nil list ) is used to represent the Boolean value False. This is possible because Lisp is not typed. True is represented by the special atom t .
4. Spoken in reply to a question, particularly one asked using the -P convention it means No . Most hackers assume this derives simply from LISP, but NIL meaning no was well-established among radio hams decades before LISP existed. The historical connection between early hackerdom and the ham radio world was strong enough that this may have been an influence.
[Jargon File]

niladic
programming A less common synonym for nullary , presumably following the more common monadic, dyadic, etc. The term was in use as early as 1976, and probably originated in APL.
[APL: An Interactive Approach, 1976].
(2001-01-27)

Ninety-Ninety Rule
humour The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time .
An aphorism attributed to Tom Cargill of Bell Labs, and popularised by Jon Bentley's September 1985 Bumper-Sticker Computer Science column in Communications of the ACM . It was there called the Rule of Credibility , a name which seems not to have stuck.
[Jargon File]
(1995-07-14)

NIOS
Netware Input/Output Subsystem

nipple
Trackpoint

NIS
Network Information Service

NISO
National Information Standards Organisation (USA). NISO Standards cover many aspects of library science, publishing, and information services, and address the application of both traditional and new technologies to information services.

NISS
National Information Services and Systems

NIST
National Institute of Standards and Technology

NJCL
Network Job Control Language.
[ NJCL - A Network Job Control Language , J. du Masle et al, IFIP Congress 1974].
(1995-02-03)

nl
networking The country code for the Netherlands (Holland).
(1999-01-27)

NLM
Netware Loadable Module

NLP
1. application Natural Language Processing.
2. networking Network Layer Protocol.

NLRI
network layer reachability information

NLS
Native Language System

NLSP
NetWare Link State Protocol

NLX
hardware, standard A low-profile, low TCO motherboard design created jointly by Intel Corp., IBM, DEC and other PC vendors. In contrast to the traditional single-board design, NLX uses a riser card to carry PCI, ISA and AGP bus data (despite Intel's stated intent to rid PC motherboards of the ISA bus by 2000).
Version 1.2 of NLX is the final specification, and was frozen in March 1997. Minor modifications appear in the form of Engineering Change Requests .
Home (http://www.teleport.com/~nlx/).
Intel (http://www.intel.com/design/motherboard/nlx.htm).
[ NLX Motherboard Specification , various, pub. Intel Corp. 1997]
(1998-09-21)

NMI
Non-Maskable Interrupt

nML
language A specification language for instruction sets, based on attribute grammars, for back-end generators.
[ The nML Machine Description Formalism , M. Freericks mfx@cs.tu-berlin.de TR TU Berlin, FB20, Bericht 1991/15].
(1995-11-28)

NMU
Non-Maintainer Upload

NN
neural network

nn
tool, messaging A terminal based program for reading Usenet news by Kim F. Storm storm@texas.dk , Texas Instruments A/S, Denmark.
nn lets you decide which of the many news groups you are interested in, and unsubscribe to those which don't interest you. nn lets you select articles to read from a menu in each of the groups you subscribe. nn sorts and presents new articles very quickly because it uses its own local database to maintain all the necessary information (this database is built and maintained by the nnmaster program).
The NNTP support was designed and implemented by Ren'e Seindal, Institute of Datalogy, University of Copenhagen, Denmark.
E-mail: nn-bugs@dkuug.dk (bugs, fixes, suggestions, etc.)
Usenet newgroup: news:news.software.nn.
(1995-12-04)

NNI
Network Node Interface

NNTP
messaging Network News Transfer Protocol.
(1996-02-26)

no
networking The country code for Norway.
(1999-01-27)

NOC
Network Operations Center

NODAL
Interpreted language implemented on Norsk Data's NORD-10 computers. Used by CERN and DESY high energy physics labs to control their accelerator hardware, PADAC and SEDAC. Included trackball input, graphics.

Nodal Switching System
(NSS) Main routing nodes in the NSFnet backbone.

noddy
/nod'ee/ [UK: from the children's books] 1. Small and un-useful, but demonstrating a point. Noddy programs are often written by people learning a new language or system. The archetypal noddy program is hello, world. Noddy code may be used to demonstrate a feature or bug of a compiler. May be used of real hardware or software to imply that it isn't worth using. This editor's a bit noddy.
2. A program that is more or less instant to produce. In this use, the term does not necessarily connote uselessness, but describes a hack sufficiently trivial that it can be written and debugged while carrying on (and during the space of) a normal conversation. I'll just throw together a noddy awk script to dump all the first fields. In North America this might be called a mickey mouse program. See toy program.
3. A simple (hence the name) language to handle text and interaction on the Memotech home computer. Has died with the machine.
[Jargon File]

node
1. A point or vertex in a graph.
2. An addressable device attached to a computer network. More often called a host .
3. A hypertext document.

NOL
Never Offline

NOMAD
language, database A database language.
Version: NOMAD2 from Must Software International.
[ NOMAD Reference Manual , Form 1004, National CSS Inc, Dec 1976].
(1995-04-01)

NOMEX underwear
/noh'meks uhn'-der-weir/ [Usenet] Synonym asbestos longjohns, used mostly in auto-related mailing lists and newsgroups. NOMEX underwear is an actual product available on the racing equipment market, used as a fire resistance measure and required in some racing series.
[Jargon File]

Nominal Semidestructor
Soundalike slang for National Semiconductor , found among other places in the 4.3BSD networking sources. During the late 1970s to mid-1980s this company marketed a series of microprocessors including the NS16000 and NS32000 and several variants. At one point early in the great microprocessor race, the specs on these chips made them look like serious competition for the rising Intel 80x86 and Motorola 680x0 series. Unfortunately, the actual parts were notoriously flaky and never implemented the full instruction set promised in their literature, apparently because the company couldn't get any of the mask steppings to work as designed. They eventually sank without trace, joining the Zilog Z8000 and a few even more obscure also-rans in the graveyard of forgotten microprocessors.
Compare HP-SUX, AIDX, buglix, Macintrash, Telerat, Open DeathTrap, ScumOS, sun-stools.
(1994-12-23)

non-algorithmic procedure
heuristic

nondeterminism
algorithm A property of a computation which may have more than one result.
One way to implement a nondeterministic algorithm is using backtracking, another is to explore (all) possible solutions in parallel.
(1995-04-13)

nondeterministic
Exhibiting nondeterminism.

nondeterministic automaton
theory (Or probabilistic automaton ) An automaton in which there are several possible actions (outputs and next states) at each state of the computation such that the overall course of the computation is not completely determined by the program, the starting state, and the initial inputs.
See also nondeterministic Turing Machine.
(1996-05-07)

nondeterministic polynomial time
complexity (NP) A set or property of computational decision problems solvable by a nondeterministic Turing Machine in a number of steps that is a polynomial function of the size of the input. The word nondeterministic suggests a method of generating potential solutions using some form of nondeterminism or trial and error . This may take exponential time as long as a potential solution can be verified in polynomial time.
NP is obviously a superset of P (polynomial time problems solvable by a deterministic Turing Machine in polynomial time) since a deterministic algorithm can be considered as a degenerate form of nondeterministic algorithm. The question then arises: is NP equal to P? I.e. can every problem in NP actually be solved in polynomial time? Everyone's first guess is no , but no one has managed to prove this; and some very clever people think the answer is yes .
If a problem A is in NP and a polynomial time algorithm for A could also be used to solve problem B in polynomial time, then B is also in NP.
See also Co-NP, NP-complete.
[Examples?]
(1995-04-10)

Nondeterministic Turing Machine
complexity A normal (deterministic) Turing Machine that has a guessing head - a write-only head that writes a guess at a solution on the tape first, based on some arbitrary internal algorithm. The regular Turing Machine then runs and returns yes or no to indicate whether the solution is correct.
A nondeterministic Turing Machine can solve nondeterministic polynomial time computational decision problems in a number of steps that is a polynomial function of the size of the input
(1995-04-27)

non-impact printer
printer Any printer, such as a laser printer, ink-jet printer, LED page printer, that prints without striking the paper, unlike a dot matrix printer which hits the paper with small pins. Non-impact printers are quieter than impact printers, and also faster due the lack of moving parts in the print head.
(1995-11-20)

non-interlaced
interlace

nonintrusive testing
testing Testing that is transparent to the software under test, i.e., does not change its timing or processing characteristics. Nonintrusive testing usually involves additional hardware that collects timing or processing information and processes that information on another platform.

nonlinear
(Scientific computation) A property of a system whose output is not proportional to its input. For example, a transistor has a region of input voltages for which its output voltage is found by multiplying the input voltage by the gain of the transistor. Outside this region though, the transistor behaves non-linearly, meaning that it does not obey this simple equation. The behaviour of a system containing non-linear components is thus harder to model and to predict.
[Jargon File]

Non-Maintainer Upload
Debian (NMU) A release of a package by someone other than its usual maintainer.
example The bug was fixed in a recent NMU. /example
(2000-05-31)

Non-Maskable Interrupt
(NMI) An IRQ 7 on the PDP-11 or 680x0 or the NMI line on an 80x86. In contrast with a priority interrupt (which might be ignored, although that is unlikely), an NMI is *never* ignored.
(1994-12-13)

non-optimal solution
(Or sub-optimal solution ) An astoundingly stupid way to do something. This term is generally used in deadpan sarcasm, as its impact is greatest when the person speaking looks completely serious.
See also Bad Thing.
[Jargon File]
(1994-12-13)

Nonpareil
One of five pedagogical languages based on Markov algorithms, used in [ Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics , B. Higman, ULICS Intl Report No ICSI 170, U London (1968)]. The others were Brilliant, Diamond, Pearl and Ruby.

non parity
parity

non-polynomial
complexity The set or property of problems for which no polynomial-time algorithm is known.
This includes problems for which the only known algorithms require a number of steps which increases exponentially with the size of the problem, and those for which no algorithm at all is known. Within these two there are problems which are provably difficult and provably unsolvable .
(1995-04-10)

Non Return to Zero Inverted
storage (NRZI) A recording method used for 9-track magnetic tapes (200 and 800 BPI) where a zero is represented by a change in the signal and a one by no change.
NRZI is also used extensively in SDLC communications. VTAM has a parameter NRZI=YES|NO.
Compare Phase Encoded, GCR.
(1999-01-11)

nontrivial
Requiring real thought or significant computing power. Often used as an understated way of saying that a problem is quite difficult or impractical, or even entirely unsolvable ( Proving P=NP is nontrivial ). The preferred emphatic form is decidedly nontrivial .
See uninteresting, interesting.
[Jargon File]
(1995-02-21)

Non-Uniform Memory Access
architecture (NUMA) A memory architecture, used in multiprocessors, where the access time depends on the memory location. A processor can access its own local memory faster than non-local memory (memory which is local to another processor or shared between processors).
(1995-11-12)

non-uniform quantising logarithmic compression
The kind of compression often applied to a sound waveform. Logarithmic compression is a good match for the human ear's sensitivity but cannot handle zero amplitude (for which the logarithm is negative infinity). There are two standard compression functions which give a smooth transition between the logarithmic function and a linear segment passing through the origin: mu-law (North America) and A-law (ITU-T).
(1995-02-21)

Non-Uniform Rational B Spline
graphics, mathematics (nurbs) A common term in Mechanical CAD. The NURBS has excellent continuity characteristics which make it useful for creating accurate models in 3D geometry generation and computer modelling.
[What is a nurbs? an rbs? a bs? a s?]
(1996-08-27)

non-volatile
non-volatile storage

non-volatile memory
non-volatile storage

Non-Volatile Random Access Memory
storage (NVRAM) Static random access memory which is made into non-volatile storage either by having a battery permanently connected or by saving its contents to EEPROM before turning the power off and reloading it when power is restored.
(1995-04-22)

non-volatile storage
storage (NVS, persistent storage, memory) A term describing a storage device whose contents are preserved when its power is off. Storage using magnetic media (e.g. magnetic disks, magnetic tape or bubble memory) is normally non-volatile by nature whereas semiconductor memories (static RAM and especially dynamic RAM) are normally volatile but can be made into non-volatile storage by having a (rechargable) battery permanently connected.
Dynamic RAM is particularly volatile since it looses its data, even if the power is still on, unless it is refreshed. An acoustic delay line is a (very old) example of a volatile storage device.
Other examples of non-volatile storage are EEPROM, CD-ROM, paper tape and punched cards.
(2000-05-22)

no-op
/noh'op/ alt. NOP /nop/ [no operation] 1. A machine instruction that does nothing (sometimes used in assembler-level programming as filler for data or patch areas, or to overwrite code to be removed in binaries). See also JFCL.
2. A person who contributes nothing to a project, or has nothing going on upstairs, or both. As in He's a no-op.
3. Any operation or sequence of operations with no effect, such as circling the block without finding a parking space, or putting money into a vending machine and having it fall immediately into the coin-return box, or asking someone for help and being told to go away. Oh, well, that was a no-op. Hot-and-sour soup that is insufficiently either is no-op soup ; so is wonton soup if everybody else is having hot-and-sour.
[Jargon File]
(1994-12-02)

NOR
Not OR.
The Boolean function which is true if none of its inputs are true and false otherwise, the logical complement of inclusive OR. The binary (two-input) NOR function can be defined (written as an infix operator):
A NOR B = NOT (A OR B) = (NOT A) AND (NOT B)
Its truth table is:
A | B | A NOR B --+---+--------- F | F | T F | T | F T | F | F T | T | F
NOR, like NAND, forms a complete set of Boolean functions on its own since it can be used to make NOT, AND, OR and any other Boolean function:
NOT A = A NOR A
A OR B = NOT (A NOR B)
A AND B = (NOT A) NOR (NOT B)
(1995-02-06)

NORC COMPILER
Early system on NORC machine. Listed in CACM 2(5):16 (May 1959).

NorCroft
(Contraction of Norman + Mycroft) A company producing C compilers, set up by Arthur Norman and Alan Mycroft. Now sort of called Codemist. The original Norcroft compiler was written by Alan and Arthur to provide a platform for teaching languages and compilers on the Cambridge University mainframe. They then went on to develop versions for the transputer, ARM and others.
[What is the relationship between NorCroft and Codemist?]
(1994-10-25)

NORD PL
Intermediate language for Norsk Data computers. Sintran III, the operating system of the ND 10 (late 1970's), was written in NORD PL.
[ NORD PL User's Guide , ND-60.047.03].

NORDUnet
networking, body (Nordic Universities Network?) A collaboration between the national research networks in Denmark, Finland, Iceland, Norway and Sweden. It provides international access for these countries.
Home (http://info.nordu.net/).
(1998-07-05)

norm
mathematics A real-valued function modelling the length of a vector. The norm must be homogeneous and symmetric and fulfil the following condition: the shortest way to reach a point is to go straight towards it. Every convex symmetric closed surface surrounding point 0 introduces a norm by means of Minkowski functional; all vectors that end on the surface have the same norm then.
The most popular norm is the Euclidean norm; it is calculated by summing up squares of all coordinates and taking the square root; this is the essence of Pythagorus's theorem. In the infinite-dimensional case, the sum is infinite or is replaced with an integral when the number of dimensions is uncountable.
(1998-07-05)

normal distribution
statistics (Or Gaussian distribution , bell curve ) The frequency distribution of many natural phenomena such as the height of people of a certain age and sex. The formula looks something like:
P(x) = e^(((x-m)/s)^2)
where P(x) is the probability of a measurement x, m is the mean value of x and s is the standard deviation.
(1995-03-18)

normal form
1. reduction In reduction systems, the state of a term which contains no reducible expressions. Variants include head normal form, weak head normal form.
2. database See database normalisation.

normalisation
1. data processing A transformation applied uniformly to each element in a set of data so that the set has some specific statistical property. For example, monthly measurements of the rainfall in London might be normalised by dividing each one by the total for the year to give a profile of rainfall throughout the year.
2. programming Representation of a floating-point number so that its mantissa's left-most digit is non-zero. If the leftmost fraction digit are zeros, the number is said to be unnormalised. Unnormalised numbers are normalised by shifting the fraction left, one digit at a time, until the leftmost digit is nonzero and reducing the exponent by the number of shifts.
3. database database normalisation.
(1998-04-15)

normalised
normalisation

normal order reduction
Under this evaluation strategy an expression is evaluated by reducing the leftmost outermost redex first. This method will terminate for any expression for which termination is possible, whereas applicative order reduction may not. This method is equivalent to passing arguments unevaluated because arguments are initially to the right of functions applied to them. See also computational adequacy theorem.

normed space
mathematics A vector space with a function, ||F||, such that
||F|| = 0 if and only if F=0
||aF|| = abs(a) * ||F||
||F+G|| = ||F|| + ||G||
Roughly, a distance between two elements in the space is defined.
(2000-03-10)

northbridge
architecture The single integrated circuit in a core logic chip set that connects the CPU to the system memory and the AGP and PCI busses. Other functions are provided by the southbridge chip.
(http://www.maximumpc.com/terminator/terminator_n.html).
(2000-01-15)

NorthWestNet
(NWNET) Kochmer, J., and NorthWestNet, The Internet Passport: NorthWestNets Guide to Our World Online , NorthWestNet, Bellevue, WA, 1992.

NOS
Network Operating System

NOT
logic The Boolean function which is true only if its input is false. Its truth table is:
A | NOT A
--+----------
F | T
T | F
(1996-11-04)

Not-a-Number
mathematics (NaN) An IEEE floating point representation for the result of a numerical operation which cannot return a valid number value. A NaN can result from multiplying an infinity by a zero, or from subtracting one infinity from another [what else?].
NaN is encoded as a special bit pattern [what pattern?] which would otherwise represent a floating-point number. It is used to signal error returns where other mechanisms are not convenient, e.g. a hardware floating-point unit and to allow errors to propagate through a calculation.
Similar bit patterns represent positive and negative overflow and underflow and the positive and negative infinities resulting from division by zero.
Bit patterns (http://www.psc.edu/general/software/packages/ieee/ieee.html).
[ANSI/IEEE Std 754-1985].
[Correct?]
(2001-04-01)

notebook
1. computer laptop computer.
2. tool Labtech Notebook.
(1998-01-05)

NoteCards
An ambitious hypertext system developed at Xerox PARC, designed to support the task of transforming a chaotic collection of unrelated thoughts into an integrated, orderly interpretation of ideas and their interconnections .

Notepad
text, tool The very basic text editor supplied with Microsoft Windows.
(1998-01-05)

Notes
Lotus Notes

Nother
A parallel symbolic mathematics system.
E-mail: karhu@cs.umu.se .

not ready for prime time
Usable, but only just so; not very robust; for internal use only. Said of a program or device. Often connotes that the thing will be made more solid Real Soon Now. This term comes from the ensemble name of the original cast of Saturday Night Live , the Not Ready for Prime Time Players . It has extra flavour for hackers because of the special (though now semi-obsolescent) meaning of prime time. Compare beta.
[Jargon File]

notwork
/not'werk/ A network, when it is acting flaky or is down. Compare nyetwork. Said at IBM to have originally referred to a particular period of flakiness on IBM's VNET corporate network ca. 1988; but there are independent reports of the term from elsewhere.

Nova
processor A minicomputer(?), introduced some time before 1978, with four 16-bit accumulators, AC0 to AC3 and a 15 bit program counter. A later model also had a 15-bit stack pointer and frame pointer. AC2 and AC3 could be used for indexed addresses and AC3 was used to store the return address on a subroutine call. Apart from the small register set, the NOVA was an ordinary CPU design.
Memory could be access indirectly through addresses stored in other memory locations. If locations 0 to 3 were used for this purpose, they were auto-incremented after being used. If locations 4 to 7 were used, they were auto-decremented. Memory could be addressed in 16-bit words up to a maximum of 32K words (64K bytes). The instruction cycle time was 500 nanoseconds(?) cycle time for each. The Nova originally used core memory though later on they gained dynamic RAM.
Like the PDP-8, the Data General Nova was also copied, not just in one, but two implementations - the Data General MN601 and Fairchild 9440. Luckily, the NOVA was a more mature design than the PDP-8.
Another CPU, the PACE, was based on the NOVA design, but featured 16-bit addresses (instead of the Nova's 15), more addressing modes and a 10-level stack (like the Intel 8008).
[Date, speed, mini?]
(1996-03-01)

Novell Data Systems
company A small computer hardware company building CP/M Z80-based systems. They later went on to become Novell, Inc. and develop Novell Netware.
(1995-09-23)

Novell DOS
operating system, product Novell's fully compatible alternative to MS-DOS. It is intended as an operating system for workstations on Novell networks. It features enhanced memory management that moves the operating system, network drivers, and memory-resident programs (TSRs) out of conventional memory on all systems with an Intel 80286 or later processor and extended memory or expanded memory. It supports preemptive multitasking and peer-to-peer networking using the same DOS Requester and VLMs for a common client with native Novell NetWare.
A data compression utility effectively doubles storage capacity of the hard disk. It supports disk defragmentation, a read/write disk cache for better performance of both DOS and Microsoft Windows application programs. An undelete utility recovers erased files, even on network drives. It has a complete on-line reference guide, command help, and menu-driven install and setup utilities for easy configuration changes.
Novell DOS has internal and external commands like MS-DOS. The following commands have been significantly enhanced in Novell DOS: CHKDSK, DISKCOPY, HELP, MEM, REPLACE, UNDELETE, and XCOPY. Novell DOS also includes many new commands such as XDIR, CURSOR, XDEL, TOUCH, SCRIPT, and RENDIR.
Version: 7.
(1995-04-14)

Novell, Inc.
company, networking A software development company specialising in networking and workgroup applications.
Novell started life as Novell Data Systems, a computer hardware business. The company was reorganised as Novell, Inc., and began to focus almost entirely on networking in 1983, with the release of Novell Netware 1, a Network Operating System for IBM PCs.
Novell Netware's success has left Novell in a dominant position in the networking market. The product has evolved and now supports many hardware and software platforms together with WAN connectivity.
The company has diversified in recent years, with the acquisition of several mainstream applications, including Wordperfect and Quattro Pro. Other products include UnixWare, AppWare, Personal NetWare, Groupwise and Novell Dos 7.
Home (http://www.novell.com/)
(21 Sept 1995)

Novell NetWare
operating system, networking Novell, Inc.'s proprietary networking operating system for the IBM PC.
NetWare uses the IPX/SPX, NetBEUI or TCP/IP network protocols. It supports MS-DOS, Microsoft Windows, OS/2, Macintosh and Unix clients. NetWare for Unix lets users access Unix hosts.
NetWare 2.2 is a 16-bit operating system, versions 4.x and 3.x are 32-bit operating systems.
Home (http://netware.novell.com/)
Usenet newsgroup: news:comp.sys.novell.
[ Netware , K. Siyan, pub. New Riders].
[LAN Magazine, Sep 1993].
(1996-01-13)

NOWEB
programming A system of structured programming and documentation from M.Speh in DESY.
See literate programming.
(1996-01-13)

no-write allocation
memory management A cache policy where only processor reads are cached, thus avoiding the need for write-back or write-through.
(1996-06-12)

NP
complexity nondeterministic polynomial time.
[Jargon File]

np
networking The country code for Nepal.
(1999-01-27)

NPC
1. complexity NP-complete.
2. architecture Next Program Counter.
(2000-07-12)

NP-complete
complexity (NPC, Nondeterministic Polynomial time complete) A set or property of computational decision problems which is a subset of NP (i.e. can be solved by a nondeterministic Turing Machine in polynomial time), with the additional property that it is also NP-hard. Thus a solution for one NP-complete problem would solve all problems in NP. Many (but not all) naturally arising problems in class NP are in fact NP-complete.
There is always a polynomial-time algorithm for transforming an instance of any NP-complete problem into an instance of any other NP-complete problem. So if you could solve one you could solve any other by transforming it to the solved one.
The first problem ever shown to be NP-complete was the satisfiability problem. Another example is Hamilton's problem.
See also computational complexity, halting problem, Co-NP, NP-hard.
(http://fi-www.arc.nasa.gov/fia/projects/bayes-group/group/NP/)
[Other examples?]
(1995-04-10)

NP-hard
complexity A set or property of computational search problems. A problem is NP-hard if solving it in polynomial time would make it possible to solve all problems in class NP in polynomial time.
Some NP-hard problems are also in NP (these are called NP-complete ), some are not. If you could reduce an NP problem to an NP-hard problem and then solve it in polynomial time, you could solve all NP problems.
See also computational complexity.
[Examples?]
(1995-04-10)

NPL
1. New Programming Language. IBM's original (temporary) name for PL/I, changed due to conflict with England's National Physical Laboratory. MPL and MPPL were considered before settling on PL/I. Sammet 1969, p.542.
2. A functional language with pattern matching designed by Rod Burstall and John Darlington in 1977. The language allowed certain sets and logic constructs to appear on the right hand side of definitions, E.g.
setofeven(X) = :x: x in X even(x) :
The NPL interpreter evaluates the list of generators from left to right so conditions can mention any bound variables that occur to their left. These were known as set comprehensions. NPL eventually evolved into Hope but lost set comprehensions which were called list comprehensions in later functional languages.
[John Darlington, Program Transformation and Synthesis: Present Capabilities , Research Report No. 77/43, Dept. of Computing and Control, Imperial College of Science and Technology, London September 1977.]
3. NonProcedural Language. A relational database language developed by by T.D. Truitt et al in 1980 for Apple II and MS-DOS.
[ An Introduction to Nonprocedural Languages Using NPL , T.D. Truitt et al, McGraw-Hill 1983].

NPPL
Network Picture Processing Language. An interactive language for manipulation of digraphs.
[ A Graph Manipulator for On-line Network Picture Processing , H.A. DiGiulio, Proc FJCC 35 (1969)].

N-Prolog
Prolog extended with explicit negation. Dov Gabbay dg@doc.ic.ac.uk .
[J Logic Programming].

NP time
nondeterministic polynomial time

NQS
Batch processing software for Unix systems.

Nqthm
The language used in the Boyer-Moore theorem prover.
[ Proving Theorems About LISP Functions , R.S. Boyer et al JACM 22(1):129-144 (Jan 1975)].

nr
networking The country code for Nauru.
(1999-01-27)

NREN
National Research and Education Network

nroff
/N'rof/ [Unix, from new roff ] A text formatting language and interpreter, companion to the Unix typesetter troff, accepting identical input but preparing output for terminals and line printers. See also groff.
[Jargon File]

NRZ
Non Return to Zero

NRZI
Non Return to Zero Inverted

ns
nanosecond

NSA line eater
messaging, tool The National Security Agency trawling program sometimes assumed to be reading the net for the US Government's spooks. Most hackers describe it as a mythical beast, but some believe it actually exists, more aren't sure, and many believe in acting as though it exists just in case. Some netters put loaded phrases like KGB , Uzi , nuclear materials , Palestine , cocaine , and assassination in their sig blocks to confuse and overload the creature. The GNU version of Emacs actually has a command that randomly inserts a bunch of insidious anarcho-verbiage into your edited text.
There is a mainstream variant of this myth involving a Trunk Line Monitor , which supposedly used speech recognition to extract words from telephone trunks. This one was making the rounds in the late 1970s, spread by people who had no idea of then-current technology or the storage, signal-processing, or speech recognition needs of such a project. On the basis of mass-storage costs alone it would have been cheaper to hire 50 high-school students and just let them listen in. Speech-recognition technology can't do this job even now (1993), and almost certainly won't in this millennium, either.
The peak of silliness came with a letter to an alternative paper in New Haven, Connecticut, laying out the factoids of this Big Brotherly affair. The letter writer then revealed his actual agenda by offering - at an amazing low price, just this once, we take VISA and MasterCard - a scrambler guaranteed to daunt the Trunk Trawler and presumably allowing the would-be Baader-Meinhof gangs of the world to get on with their business.
[Jargon File]
(1994-12-13)

NSAPI
Netscape Application Programming Interface

NSDI
National Spatial Data Infrastructure

NSE
Network Software Environment: a proprietary CASE framework from Sun Microsystems.

NSF
National Science Foundation

NSFIP
operating system NEXTSTEP For Intel Processor.
(1999-11-25)

NSFNET
National Science Foundation Network

NSI
Network Solutions, Inc.

nslookup
A Unix utility by Andrew Cherenson for querying Internet domain name servers. The basic use is to find the Internet address corresponding to a given hostname (or vice versa). By changing the query type (e.g. set type=CNAME ) other types of information can be obtained including CNAME - the canonical name for an alias; HINFO - the host CPU and operating system type; MINFO - mailbox or mail list information; MX - mail exchanger information; NS - the name server for the named zone; PTR - the hostname if the query is an Internet address, otherwise the pointer to other information; SOA the domain's start-of-authority information; TXT - text information; UINFO - user information; WKS - supported well-known services. Other types (ANY, AXFR, MB, MD, MF, NULL) are described in RFC 1035.
(ftp://src.doc.ic.ac.uk/computing/operating-systems/unix/bsd-sources/usr.sbin/named/tools/nslookup/)
(1994-10-27)

NSRD
National Software Reuse Directory

NSS
1. networking Nodal Switching System.
2. operating system New Storage System.
(1997-01-29)

NT
1. Network Termination.
2. New Technology, as in Windows NT.

NT1
Network Termination

NT5
Windows 2000

ntalk
chat ( new talk ) An update of the Unix talk program, old versions of talk being referred to as old talk . New talk and old talk are generally incompatible, and attempts to get them to communicate result in entirely unhelpful error messages.
On most modern Unix systems, the program talk is new talk, with some SunOS versions being a notable and annoying exception to this.
(1997-09-11)

NTAS
NT Advanced Server

NT File System
file system (NTFS) The native file system of Windows NT.
(1995-03-06)

NTFS
NT File System

n-tier
three-tier

NTIS
National Technical Information Service

NTMBS
programming null-terminated multibyte string.
(1995-10-02)

NTP
Network Time Protocol

NTSC
National Television Standards Committee

NTU
Network Termination Unit

nu
networking The country code for Niue.
(1999-01-27)
Because it sounds like new , nu is heavily used for vanity domains.
(1999-01-27)

NuBus
The proprietary expansion bus used on Apple Macintosh personal computers.
(1995-02-03)

nu-calculus
An asynchronous version of pi-calculus.

NUCLEOL
List processing language, influenced by EOL. J. Nievergelt, Computer J 13(3) (Aug 1970).

nude
Said of machines delivered without an operating system (compare bare metal). We ordered 50 systems, but they all arrived nude, so we had to spend a an extra weekend with the installation tapes. This usage is a recent innovation reflecting the fact that most PC clones are now delivered with DOS or Microsoft Windows pre-installed at the factory. Other kinds of hardware are still normally delivered without OS, so this term is particular to PC support groups.
[Jargon File]
(1994-12-13)

nuke
/n[y]ook/ 1. To intentionally delete the entire contents of a given directory or storage volume. On Unix, rm -r /usr will nuke everything in the usr file system. Never used for accidental deletion. Opposite: blow away.
2. Synonym for dike, applied to smaller things such as files, features, or code sections. Often used to express a final verdict. What do you want me to do with that 80-meg wallpaper file? Nuke it.
3. Used of processes as well as files; nuke is a frequent verbal alias for kill -9 on Unix.
4. On IBM PCs, a bug that results in fandango on core can trash the operating system, including the FAT (the in-core copy of the disk block chaining information). This can utterly scramble attached disks, which are then said to have been nuked . This term is also used of analogous lossages on Macintoshes and other micros without memory protection.
[Jargon File]

nullary
programming A description of an operator or function which takes no arguments, e.g. a function that returns the current time.
Nullary is part of the unary, binary, ternary sequence, and is more common than its synonym niladic.
(2001-02-25)

null modem
communications, hardware A cable, especially an EIA-232 cable, for connecting serial ports on two computers directly, rather than via modems. Since, according to the specification, both computers should transmit on pin three of their EIA-232 connectors and receive on pin two, a null modem cable needs to connect one computer's pin two to the other's pin three and vice versa. It also needs to have male connectors at both ends (again, according to the specification).
(1996-05-17)

null-terminated multibyte string
programming (NTMBS) (Defined in the ANSI C++ draft)
[Different from null-terminated string?]
(1995-10-02)

NUMA
Non-Uniform Memory Access

number crunching
application, jargon Computations of a numerical nature, especially those that make extensive use of floating-point numbers. The only thing Fortrash is good for.
This term is in widespread informal use outside hackerdom and even in mainstream slang, but has additional hackish connotations: namely, that the computations are mindless and involve massive use of brute force. This is not always evil, especially if it involves ray tracing or fractals or some other use that makes pretty pictures, especially if such pictures can be used as wallpaper.
See also crunch.
[Jargon File]
(1995-03-17)

numbers
(Scientific computation) Output from a computation that may not be significant but at least indicates that the program is running. Numbers may be used to placate management, grant sponsors, etc. Making numbers means running a program because output - any output, not necessarily meaningful output - is needed as a demonstration of progress.
See pretty pictures, math-out, social science number.
[Jargon File]
(1995-01-13)

number sign
character hash.

Numeris
The name given by France Telecom, the french telephone network operator, to its ISDN network.
(1995-01-31)

Nuprl
/nyu p*rl/ Nearly Ultimate PRL.
A system for interactive creation of formal mathematics, including definitions and proofs. It has an extremely rich type system, including dependent functions, products, sets, quotients and universes. Types are first-class citizens. It is built on Franz Lisp and Edinburgh ML.
[ Implementing Mathematics in the Nuprl Proof Development System , R.L. Constable et al, P-H 1986].
(1994-12-13)

NU-Prolog
L. Naish, U Melbourne. A Prolog with 'when' declarations, the successor to MU-Prolog. Type-checked. NU-Prolog Reference Manual - Version 1.3 , J.A. Thom et al eds, TR 86/10, U Melbourne (1988). Available (but not free). (See PNU-Prolog). E-mail: jas@mulga.oz.au .

nurbs
Non-Uniform Rational B Spline

Nu Thena
A software vendor specialising in rapid prototyping tools for real-time hardware and software systems and collaborating with DAZIX.

NUXI problem
data, architecture /nuk'see pro'bl*m/ The problem of transferring data between computers with differing byte order. The string Unix might look like NUXI on a machine with a different byte sex (e.g. when transferring data from a little-endian to a big-endian, or vice-versa).
See also middle-endian, swab, and bytesexual.
[Jargon File]
(2001-06-12)

NVRAM
Non-Volatile Random Access Memory

NVS
Non-Volatile Storage

NWNET
NorthWestNet

NYAP
language An early system on the IBM 704.
[Listed in CACM 2(5):16, May 1959].
(1997-12-03)

nybble
nibble

nyetwork
/nyet'werk/ (Russian nyet = no) A network, when it is acting flaky or is down.
Compare notwork.
[Jargon File]
(1995-02-01)

nym
1. tool, networking /nim/ (From the third syllable of anonymous ; or nym server ) A server that functions as an anonymous remailer.
2. A popular hostname for nym servers.
3. A mail-forwarding account on a nym server.
(1999-02-26)

nym server
nym

Nyquist frequency
DSP The highest frequency that can be represented in a digital signal of a specified sampling frequency. It is equal to one-half of the sampling rate.
See Nyquist Theorem.
(2001-06-06)

Nyquist Theorem
communications A theorem stating that when an analogue waveform is digitised, only the frequencies in the waveform below half the sampling frequency will be recorded. In order to reconstruct (interpolate) a signal from a sequence of samples, sufficient samples must be recorded to capture the peaks and troughs of the original waveform. If a waveform is sampled at less than twice its frequency the reconstructed waveform will effectively contribute only noise. This phenomenon is called aliasing (the high frequencies are under an alias ).
This is why the best digital audio is sampled at 44,000 Hz - twice the average upper limit of human hearing.
The Nyquist Theorem is not specific to digitised signals (represented by discrete amplitude levels) but applies to any sampled signal (represented by discrete time values), not just sound.
[Who was Nyquist?]
(1998-12-30)

NYSERNET
New York State Educational Reasearch NETwork

NYU OMNIFAX
Early system on UNIVAC I or II. Listed in CACM 2(5):16 (May 1959).

nz
networking The country code for New Zealand.
(1999-01-27)

character ASCII code 79, The letter of the alphabet, not to be confused with 0 (zero) the digit.
(1999-02-07)

O2
Object-Oriented. Object-oriented database language used in the Altair project. Implemented as an interpreter. GIP Altair, Versailles, France. Francois Bancilhon et al, in Advances in Object-Oriented Database Systems, K.R. Dittrich ed, LNCS 334, Springer 1988. See CO2.

Oaklisp
language A portable object-oriented Scheme by K. Lang and Barak Perlmutter of Yale. Oaklisp uses a superset of Scheme syntax. It is based on generic operations rather than functions, and features anonymous classes, multiple inheritance, a strong error system, setters and locators for operations and a facility for dynamic binding.
Version 1.2 includes an interface, bytecode compiler, run-time system and documentation.
(ftp://f.gp.cs.cmu.edu/usr/bap/oak/ftpable/), for Amiga (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff519).
[ Oaklisp: An Object-Oriented Scheme with First-Class Types , K. Lang et al, SIGPLAN Notices 21(11):30-37 (Nov 1986) (OOPSLA '86)].
(1992-05-01)

OAP
Outside Awareness Port

OATH
Object-oriented Abstract Type Hierarchy, a class library for C++ from Texas Instruments.

Ob-
/ob/ prefix Obligatory. A piece of netiquette acknowledging that the author has been straying from the newsgroup's charter topic. For example, if a posting in alt.sex is a response to a part of someone else's posting that has nothing particularly to do with sex, the author may append ObSex (or Obsex ) and toss off a question or vignette about some unusual erotic act. It is considered a sign of great winnitude when one's Obs are more interesting than other people's whole postings.
[Jargon File]

OBDC
Do you mean ODBC?
(1996-06-30)

OBE
Office By Example

Oberon
language A strongly typed procedural programming language and an operating environment evolved from Modula-2 by Nicklaus Wirth in 1988. Oberon adds type extension (inheritance), extensible record types, multidimensional open arrays, and garbage collection. It eliminates variant records, enumeration types, subranges, lower array indices and for loops.
A successor called Oberon-2 by H. Moessenboeck features a handful of extensions to Oberon including type-bound procedures (methods).
Seneca is a variant of Oberon focussing on numerical programming under development by R. Griesemer in April 1993 (to be renamed).
See also Ceres workstation Oberon System.
Home (http://www.oberon.ethz.ch).
(http://www.math.tau.ac.il/~laden/Oberon.html).
Free ETH Oberon (ftp://ftp.inf.ethz.ch/pub/Oberon). MS-DOS (ftp://ftp.wustl.edu/mirrors/msdos/pgmutl/). Amiga (ftp://ftp.cso.uiuc.edu/pub/amiga/fish/ff380).
[ The Programming Language Oberon , N. Wirth, Soft Prac Exp 18(7):671-690 July 1988].
[ Programming in Oberon: Steps Beyond Pascal and Modula , M. Reiser N. Wirth, A-W 1992].
[ Project Oberon: the design of an operating system and compiler , N. Wirth J. Gutknecht, ACM Press 1992].
[ The Oberon Companion: A Guide to Using and Programming Oberon System 3 , André Fischer, Hannes Marais, vdf Verlag der Fachhochschulen, Zurich, 1997, ISBN 3-7281-2493-1. Includes CD-ROM for Windows, Linux, Macintosh and PC Native].
(1998-03-14)

Oberon-2
language A superset of Oberon-1, developed by H. Moessenboeck in 1991 to add object-orientation. Oberon-2 was a redesign of Object Oberon. It included type-bound procedures (equivalent to methods), read-only export of variables and record fields, open array variables, and a with statement with variants. It reintroduced the for statement.
There is an Oberon-2 Lex scanner and Yacc parser by Stephen J Bevan of Manchester University, UK, based on the one in the Mo ssenbo ck and Wirth reference. Version 1.4.
(ftp://neptune.inf.ethz.ch/Oberon/).
(ftp://ftp.psg.com/pub/oberon/).
[ The Programming Language Oberon-2 , H. Mo ssenbo ck, N. Wirth, Institut fu r Computersysteme, ETH Zu rich, January 1992].
[ Second International Modula-2 Conference , Sept 1991].
(1992-07-06)

Oberon-V
(Formerly Seneca). R. Griesemer, 1990. Descendant of Oberon designed for numerical applications on supercomputers, especially vector or pipelined architectures. Includes array constructors and an ALL statement. Seneca - A Language for Numerical Applications on Vectorcomputers , Proc CONPAR 90 - VAPP IV Conf. R. Griesemer, Diss Nr. 10277, ETH Zurich.

Obfuscated C Contest
programming The International Obfuscated C Code Contest (IOCCC) is an annual contest run since 1984 over Usenet by Landon Curt Noll and friends. The overall winner is whoever produces the most unreadable, creative, and bizarre (but working) C program. Various other prizes are awarded at the judges' whim. C's terse syntax and macro-preprocessor facilities give contestants a lot of maneuvering room. The winning programs often manage to be simultaneously funny, breathtaking works of art and horrible examples of how *not* to code in C.
This relatively short and sweet entry might help convey the flavour of obfuscated C:
/*
* HELLO WORLD program
* by Jack Applin and Robert Heckendorn, 1985
*/
main(v,c)char**c;for(v[c++]= Hello, world! n) ;
(!!c)[*c] (v--||--c execlp(*c,*c,c[!!c]+!!c,!c));
**c=!c)write(!!*c,*c,!!**c);
Here's another good one:
/*
* Program to compute an approximation of pi
* by Brian Westley, 1988
*/
#define _ -F 00||--F-OO--;
int F=00,OO=00;
main()F_OO();printf( %1.3f n ,4.*-F/OO/OO);F_OO()

_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_
_-_-_-_

Note that this program works by computing its own area. For more digits, write a bigger program. See also hello, world.
[Jargon File]

obi-wan error
/oh'bee-won er *r/ [RPI, from off-by-one and the Obi-Wan Kenobi character in Star Wars ] A loop of some sort in which the index is off by 1. Common when the index should have started from 0 but instead started from 1. A kind of off-by-one error. See also zeroth.

OBJ
Joseph Goguen 1976. A family of declarative ultra high level languages. Abstract types, generic modules, subsorts (subtypes with multiple inheritance), pattern-matching modulo equations, E-strategies (user control over laziness), module expressions (for combining modules), theories and views (for describing module interfaces). For the massively parallel RRM (Rewrite Rule Machine).
[ Higher-Order Functions Considered Unnecessary for Higher-Order Programming , J.A. Goguen, in Research Topics in Functional Programming].

OBJ0
Tardo. Based on unsorted equational logic.

OBJ2
Clear-like parametrised modules. A functional system based on equations. Principles of OBJ2 , K. Futatsugi et al, 12th POPL, ACM 1985, pp.52-66.

OBJ3
language A version of OBJ based on order-sorted rewriting. OBJ3 is agent-oriented and runs on AKCL.
E-mail: obj3sys@crl.sri.com , obj3dist@csl.sri.com .
[ Introducing OBJ3 , J. Goguen et al, SRI-CSL-88-9, SRI Intl, 1988].
(1995-03-16)

object
In object-oriented programming, a unique instance of a data structure defined according to the template provided by its class. Each object has its own values for the variables belonging to its class and can respond to the messages (methods) defined by its class.

ObjectBroker
programming A distributed object system from DEC based on the CORBA standard.
(1999-01-14)

ObjectCenter
A product offering similar facilities to CodeCenter for the C++ language, plus class browsing facilities etc (formerly Saber-C++).

Object CHILL
[ Object CHILL - An Object Oriented Language for Systems Implementation , J. Winkler et al, ACM Comp Sci Conf 1992, pp. 139-147].
(1995-01-31)

object code
The machine code generated by a source code language processor such as an assembler or compiler. A file of object code may be immediately executable or it may require linking with other object code files, e.g. libraries, to produce a complete executable program.
(1995-01-31)

Object Compatibility Standard
(OCS) An 88open standard for compilers and linkers.

Object Database Management Group
Object Data Management Group

Object Data Management Group
body, database (ODMG, previously .. Database .. ) An independent consortium that specifies universal object storage standards.
ODMG's members include object-oriented database management system (ODBMS) vendors and other interested parties. They aim to increase portability of customer software across products.
On 1998-04-27 ODMG changed its name from the Object Database Management Group to reflect the expansion of its efforts beyond merely setting storage standards for object databases.
Home (http://www.odmg.org/).
(2000-05-23)

Objecteering
programming, tool An object-oriented design tool from Softeam, based on the Class Relation Methodology, with C++ code generation.
(1997-03-18)

object identifier
programming (OID) Generally an implementation-specific integer or pointer that uniquely identifies an object.
(1999-07-10)

Objectionable-C
abuse, humour, language A hackish take on Objective C . Objectionable-C uses a Smalltalk-like syntax, but lacks the flexibility of Smalltalk method calls, and (like many such efforts) comes frustratingly close to attaining the Right Thing without actually doing so.
[Jargon File]
(1995-02-15)

Objective C
language An object-oriented superset of ANSI C by Brad Cox, Productivity Products. Its additions to C are few and are mostly based on Smalltalk. Objective C is implemented as a preprocessor for C. Its syntax is a superset of standard C syntax, and its compiler accepts both C and Objective C source code (filename extension .m ).
It has no operator overloading, multiple inheritance, or class variables. It does have dynamic binding. It is used as the system programming language on the NeXT. As implemented for NEXTSTEP, the Objective C language is fully compatible with ANSI C.
Objective C can also be used as an extension to C++, which lacks some of the possibilities for object-oriented design that dynamic typing and dynamic binding bring to Objective C. C++ also has features not found in Objective C.
Versions exist for MS-DOS, Macintosh, VAX/VMS and Unix workstations. Language versions by Stepstone, NeXT and GNU are slightly different.
There is a library of (GNU) Objective C objects by R. Andrew McCallum mccallum@cs.rochester.edu with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList. Version: Alpha Release. (ftp://iesd.auc.dk/pub/ObjC/).
See also: Objectionable-C.
[ Object-Oriented Programming: An Evolutionary Approach , Brad Cox, A-W 1986].
(1999-07-10)

Objective CAML
language (Originally CAML - Categorical Abstract Machine Language) A version of ML by G. Huet, G. Cousineau, Ascander Suarez, Pierre Weis, Michel Mauny and others of INRIA. CAML is intermediate between LCF ML and SML [in what sense?]. It has first-class functions, static type inference with polymorphic types, user-defined variant types and product types, and pattern matching. It is built on a proprietary run-time system.
The CAML V3.1 implementation added lazy and mutable data structures, a grammar mechanism for interfacing with the Yacc parser generator, pretty-printing tools, high-performance arbitrary-precision arithmetic, and a complete library.
in 1990 Xavier Leroy and Damien Doligez designed a new implementation called CAML Light, freeing the previous implementation from too many experimental high-level features, and more importantly, from the old Le_Lisp back-end.
Following the addition of a native-code compiler and a powerful module system in 1995 and of the object and class layer in 1996, the project's name was changed to Objective CAML. In 2000, Jacques Garrigue added labeled and optional arguments and anonymous variants.
Objective CAML Home (http://www.ocaml.org/).
Usenet newsgroup: news:comp.lang.ml.
[ The CAML Reference Manual , P. Weis et al, TR INRIA-ENS, 1989].
(2002-05-21)

Objective PASCAL
An extension of the PASCAL language which provides the possibility to use object-oriented programming constructs.

Object Linking and Embedding
operating system (OLE) A distributed object system and protocol from Microsoft, also used on the Acorn Archimedes. OLE allows an editor to farm out part of a document to another editor and then reimport it. For example, a desk-top publishing system might send some text to a word processor or a picture to a bitmap editor using OLE.
(1998-12-17)

Object Lisp
LMI. An object-oriented Lisp.
[ ObjectLISP User Manual , G. Dreschere, LMI 1987].

ObjectLOGO
A variant of LOGO with object-oriented extensions. Lexical scope. Version 2.6, for the Mac. Paradigm Software paradigm@applelink.apple.com (617)576-7675.

Object Management Group
body (OMG) A consortium aimed at setting standards in object-oriented programming. In 1989, this consortium, which included IBM Corporation, Apple Computer Inc. and Sun Microsystems Inc., mobilised to create a cross-compatible distributed object standard. The goal was a common binary object with methods and data that work using all types of development environments on all types of platforms. Using a committee of organisations, OMG set out to create the first Common Object Request Broker Architecture (CORBA) standard which appeared in 1991. As of February 1998, the latest standard is CORBA 2.2.
Home (http://www.omg.org/).
[David S. Linthicum, DBMS, January 1997]
(1999-02-02)

Object management system
In an IPSE, the system which maintains information about the system under development.

Object Modelling Technique
programming (OMT) An object-oriented methodology.
[Details?]
(1996-11-03)

Object Oberon
Oberon plus classes and methods by H. Moessenboeck J. Templ, 1989. See Oberon-2.
[ Object Oberon - An Object-Oriented Extension of Oberon , H. Moessenboeck et al, ETH TR 109 (Apr 1990)].
[ Object Oberon - A Modest Object-Oriented Language , H. Moessenboeck J. Templ, in Structured Programming 10(4), 1989].

object-orientation
object-oriented

object-oriented
1. programming (OO) See object-oriented programming. See also object-oriented analysis, object-oriented database, object-oriented design.
2. graphics vector graphics.

object-oriented analysis
(OOA) See object-oriented design, Schlaer-Mellor.

object-oriented database
database (OODB) A system offering DBMS facilities in an object-oriented programming environment. Data is stored as objects and can be interpreted only using the methods specified by its class. The relationship between similar objects is preserved (inheritance) as are references between objects. Queries can be faster because joins are often not needed (as in a relational database). This is because an object can be retrieved directly without a search, by following its object id.
The same programming language can be used for both data definition and data manipulation. The full power of the database programming language's type system can be used to model data structures and the relationship between the different data items.
Multimedia applications are facilitated because the class methods associated with the data are responsible for its correct interpretation.
OODBs typically provide better support for versioning. An object can be viewed as the set of all its versions. Also, object versions can be treated as full fledged objects. OODBs also provide systematic support for triggers and constraints which are the basis of active databases. Most, if not all, object-oriented application programs that have database needs will benefit from using an OODB.
Ode is an example of an OODB built on C++.
(1997-12-07)

object-oriented design
programming (OOD) A design method in which a system is modelled as a collection of cooperating objects and individual objects are treated as instances of a class within a class hierarchy. Four stages can be identified: identify the classes and objects, identify their semantics, identify their relationships and specify class and object interfaces and implementation. Object-oriented design is one of the stages of object-oriented programming.
[ Object-oriented analysis and design with applications , Grady Booch, 2nd ed., pub. Benjamin/Cummings, Redwood CA, 1994].
(1997-12-07)

Object-Oriented Fortran
language (OOF) An object-oriented extension of Fortran, in which data items can be grouped into objects, which can be instantiated and executed in parallel.
It was available for Sun, Iris, iPSC, and nCUBE, but is no longer supported.
E-mail: Donna Reese dreese@cs.msstate.edu .
(2001-03-06)

object-oriented language
object-oriented programming

Object-Oriented Pascal
Object Pascal

object-oriented programming
programming (OOP) The use of a class of programming languages and techniques based on the concept of an object which is a data structure (abstract data type) encapsulated with a set of routines, called methods , which operate on the data. Operations on the data can _only_ be performed via these methods, which are common to all objects that are instances of a particular class . Thus the interface to objects is well defined, and allows the code implementing the methods to be changed so long as the interface remains the same.
Each class is a separate module and has a position in a class hierarchy . Methods or code in one class can be passed down the hierarchy to a subclass or inherited from a superclass. This is called inheritance .
A procedure call is described as invoking a method on an object (which effectively becomes the procedure's first argument), and may optionally include other arguments. The method name is looked up in the object's class to find out how to perform that operation on the given object. If the method is not defined for the object's class, it is looked for in its superclass and so on up the class hierarchy until it is found or there is no higher superclass.
OOP started with SIMULA-67 around 1970 and became all-pervasive with the advent of C++, and later Java. Another popular object-oriented programming language (OOPL) is Smalltalk, a seminal example from Xerox's Palo Alto Research Center (PARC). Others include Ada, Object Pascal, Objective C, DRAGOON, BETA, Emerald, POOL, Eiffel, Self, Oblog, ESP, Loops, POLKA, and Python. Other languages, such as Perl and VB, permit, but do not enforce OOP.
FAQ (http://iamwww.unibe.ch/~scg/OOinfo/FAQ/). (http://zgdv.igd.fhg.de/papers/se/oop/). (http://cuiwww.unige.ch/Chloe/OOinfo).
Usenet newsgroup: news:comp.object.
(2001-10-11)

object-oriented programming language
object-oriented programming

Object-oriented SQL
language (OSQL) A functional language, a superset of SQL, used in Hewlett-Packard's OpenODB database system.
(1994-11-29)

Object-Oriented Turing
language An extension of Turing and a replacement for Turing Plus by R.C. Holt holt@csri.toronto.edu , U Toronto, 1991. It is imperative, object-oriented and concurrent. It has modules, classes, single inheritance, processes, exception handling, optional machine-dependent programming.
There is an integrated environment under the X Window System and a demo version (ftp://turing.toronto.edu/pub/turing). Versions exist for Sun-4, MIPS, RS-6000 and others.
E-mail: ootinfo@turing.toronto.edu .
[ A Conceptual Framework for Software Development , Mancoridis et al, eds, ACM SIGSCE Conference, Feb 1993, Indianapolis]. [ Turing Reference Manual , 1992, ISBN 0-921598-15-7].
(2000-04-21)

ObjectPAL
Object-oriented database language, part of Borland's MS-Windows version of Paradox.

Object Pascal
language An object-oriented Pascal developed jointly by Apple Computer and Niklaus Wirth.
[ Object Pascal Report , Larry Tesler, Structured Language World 9(3):10-17 (1985)].
(1994-10-28)

Object Request Broker
software (ORB) Part of the OMG standard.
[Details? References? Other kinds of broker ?]
(1994-10-28)

Object Role Modeling
programming (ORM) A conceptual modelling approach that pictures the application world as a set of objects that play roles (parts in relationships, which may be unary, binary or higher order). ORM provides both graphical and textual languages that enable models to be expressed naturally. For data modelling purposes, its graphical language is more expressive than ER or UML.
Home (http://www.orm.net/).
(1999-08-27)

Object Value
jargon In industrial design, a measure of consumers' immediate desire for an object, even before they know or understand what it does. Gassee may be nuts, but at least the BeBox has great object value.
(1997-03-30)

Objectworks
An object-oriented development environment developed by ParcPlace, available under Smalltalk and C++.
(1994-10-28)

Object Z
University of Queensland.
[ Object Orientation in Z , S. Stepney et al eds, Springer 1992].

Objlog
A frame-based language combining objects and Prolog II from CNRS, Marseille, France.
[ The Inheritance Processes in Prolog , C. Chouraki et al, GRTC/187bis/Mars 1987 (CNRS)].
E-mail: somebody@grtc.cnrs-mrs.fr .
(1994-10-28)

OBJT
Error algebras plus an image construct. Tardo.

ObjVlisp
1984. An object-oriented extension of Vlisp. Reflective architecture.
[ Metaclasses are First Class: The ObjVlisp Model , P. Cointe, SIGPLAN Notices 22(121):156-167 (Dec 1987) (OOPSLA '87)].

ObjVProlog
Logic programming and object-orientation, an adaptation of the ObjVlisp model to Prolog.
[ ObjVProlog: Metaclasses in Logic , J. Malenfant, ECOOP '89, Cambridge U Press 1989, pp.257-269].

Obliq
A small, statically scoped untyped language by Luca Cardelli, 1993. Obliq is object-oriented, higher order, concurrent, and distributed. State is local to an address space, while computation can migrate over the network. The distributed computation mechanism is based on Modula-3 network objects.
(ftp://gatekeeper.dec.com/pub/DEC/Modula-3/contrib)

oblique stroke
character / . Common names include: (forward) slash; stroke; ITU-T: slant; oblique stroke. Rare: diagonal; solidus; over; slak; virgule; INTERCAL: slat.
Commonly used as the division operator in programming, and to separate the components in Unix pathnames, and hence also in URLs. Also used to delimit regular expressions in several programs.
(1996-09-24)

Oblog
language A small, portable, Object-oriented extension to Prolog by Margaret McDougall of EdCAAD, Dept Arch, University of Edinburgh.
(1995-12-29)

OBSCURE
A Formal Description of the Specification Language OBSCURE , J. Loeckx, TR A85/15, U Saarlandes, Saarbrucken, 1985.
[Jargon File]

observational equivalence
Two terms M and N are observationally equivalent iff for all contexts C[] where C[M] is a valid term, C[N] is also a valid term with the same value.

Oc
language ( Oh see! ) A parallel logic language.
[ Self-Description of Oc and its Applications , M. Hirata, Proc 2nd Natl Conf Japan Soc Soft Sci Tech, pp. 153-156, 1984].
(1995-03-16)

OC-12
Optical Carrier 12

OC-3
Optical Carrier 3

OC-48
Optical Carrier 48

OCAL
On-Line Cryptanalytic Aid Language.
[ OCAS: On-line Cryptanalytic Aid System , D.J. Edwards, MAC-TR-27, MIT Project MAC, May 1966. Sammet 1969, p.642].

occam
language (Note lower case) A language based on Anthony Hoare's CSP and EPL. Named after the English philosopher, William of Occam (1300-1349) who propounded Occam's Razor. The occam language was designed by David May of INMOS to easily describe concurrent processes which communicate via one-way channels. It was developed to run on the INMOS transputer but compilers are available for VAX, Sun and Intel MDS, inter alia.
The basic entity in occam is the process of which there are four fundamental types, assignment, input, output, and wait. More complex processes are constructed from these using SEQ to specify sequential execution, PAR to specify parallel execution and ALT where each process is associated with an input from a channel. The process whose channel inputs first is executed. The fourth constructor is IF with a list of conditions and associated processes. The process executed is the one with the first true condition in textual order. There is no operator precedence.
The original occam is now known as occam 1 . It was extended to produce occam 2.
Simulator for VAX (ftp://watserv1.waterloo.edu/).
Tahoe mailing list: occam@sutcase.case.syr.edu .
[David May et al, 1982. Concurrent algorithms ].
[ Occam , D. May, SIGPLAN Notices 18(4):69-79, 1983].
(1994-11-18)

occam 2
language An extension of occam produced in 1987. Occam 2 adds floating-point, functions and a type system.
[ occam 2 Reference Manual , INMOS, P-H 1988, ISBN 0-13-629312-3].
(1994-11-18)

Occam's Razor
philosophy The English philosopher, William of Occam (1300-1349) propounded Occam's Razor:
Entia non sunt multiplicanda praeter necessitatem.
(Latin for Entities should not be multiplied more than necessary ). That is, the fewer assumptions an explanation of a phenomenon depends on, the better it is.
For example, some claim that God caused himself to exist and also caused the universe to exist - he was the first cause - whereas Occam's Razor suggests that if one accepts the possibility of something causing itself then it is better to assume that it was the universe that caused itself rather than God because this explanation involves fewer entities.
The negation of Occam's Razor would suggest that an arbitrarily complex explanation is just as good as the simplest one. (E.g. God and his cat created a robot called Sparky who built the universe from parts bought from a shop in another dimension).
See also KISS Principle.
(1995-11-09)

occlude
programming (Or shadow ) To make a variable inaccessible by declaring another with the same name within the scope of the first.
(1995-12-14)

occurs check
programming A feature of some implementations of unification which causes unification of a logic variable V and a structure S to fail if S contains V.
Binding a variable to a structure containing that variable results in a cyclic structure which may subsequently cause unification to loop forever. Some implementations use extra pointer comparisons to avoid this.
Most implementations of Prolog do not perform the occurs check for reasons of efficiency. Without occurs check the complexity of unification is
O(min(size(term1), size(term2)))
with occurs check it's
O(max(size(term1), size(term2)))
In theorem proving unification without the occurs check can lead to unsound inference. For example, in Prolog it is quite valid to write
X = f(X).
which will succeed, binding X to a cyclic structure. Clearly however, if f is taken to stand for a function rather than a constructor, then the above equality is only valid if f is the identity function.
Weijland calls unification without occur check, complete unification . The reference below describes a complete unification algorithm in terms of Colmerauer's consistency algorithm.
[ Semantics for Logic Programs without Occur Check , W.P. Weijland, Theoretical Computer Science 71 (1990) pp 155-174].
(1996-01-11)

OCL
Operator Control Language.
The batch language for the IBM System/36, used specifically with the RPG II compiler.
See also CL.
(1994-11-18)

OCLC
Online Computer Library Center

OC-n
Optical Carrier n

OCODE
An assembly language for a stack-based virtual machine, used as the intermediate language of the Cambridge BCPL compiler.
[ The Portability of the BCPL Compiler , M. Richards, Soft Prac Exp 1(2) (1971)].
(1995-01-30)

OCP
processor Order Code Processor.

OCR
Optical Character Recognition

OCS
Object Compatibility Standard

octal
mathematics Base 8. A number representation using the digits 0-7 only, with the right-most digit counting ones, the next counting multiples of 8, then 8^2 = 64, etc. For example, octal 177 is digital 127:
digit weight value
1 8^2 = 64 1* 64 = 64
7 8^1 = 8 7* 8 = 56
7 8^0 = 1 7* 1 = 7
---
127
Octal system used to be widespread back when many computers used 6-bit bytes, as a 6-bit byte can be conveniently written as a two-digit octal number. Since nowadays a byte is almost always 8-bit long the octal system lost most of its appeal to the hexadecimal system.
For a brief discussion on the word `octal' see hexadecimal.
(1997-06-16)

octal forty
character /ok'tl for'tee/ I'm drawing a blank.
Octal 40 (decimal 32) is the ASCII code for space character. By an odd coincidence, hex 40 is the EBCDIC space character.
See wall.
[Jargon File]
(1995-03-06)

Octave
language A high-level interactive language by John W. Eaton, with help from many others, like MATLAB, primarily intended for numerical computations. Octave provides a convenient command line interface for solving linear and nonlinear problems numerically.
Octave can do arithmetic for real and complex scalars and matrices, solve sets of nonlinear algebraic equations, integrate functions over finite and infinite intervals, and integrate systems of ordinary differential and differential-algebraic equations.
Octave has been compiled and tested with g++ and libg++ on a SPARCstation 2 running SunOS 4.1.2, an IBM RS/6000 running AIX 3.2.5, DEC Alpha systems running OSF/1 1.3 and 3.0, a DECstation 5000/240 running Ultrix 4.2a, and Intel 486 systems running Linux. It should work on most other Unix systems with g++ and libg++.
Octave is distributed under the GNU General Public License. It requires gnuplot, a C++ compiler and Fortran compiler or f2c translator.
Latest version: 2.0.16 (released 2000-01-30), as of 2000-06-26.
home (http://www.che.wisc.edu/octave).
(ftp://ftp.che.wisc.edu/pub/octave/) or your nearest GNU archive site.
E-mail: bug-octave@bevo.che.wisc.edu .
(2000-06-27)

octet
jargon, networking Eight bits. This term is used in networking, in preference to byte, because some systems use the term byte for things that are not 8 bits long.
(1995-03-03)

octothorpe
hash

OCX
OLE custom controls

OD390
World-Wide Web A CICS Web interperter from IBM used for application development involving web interfaces to DB2 tables.
(1998-06-21)

ODA
Open Document Architecture (formerly Office Document Architecture).

ODBC
Open DataBase Connectivity

ODC
Open Distributed Computing

Ode
An Object-Oriented Database from AT T which extends C++ and supports fast queries, complex application modelling and multimedia.
Ode uses one integrated data model (C++ classes) for both database and general purpose manipulation. An Ode database is a collection of persistent objects. It is defined, queried and manipulated using the language O++. O++ programs can be compiled with C++ programs, thus allowing the use of existing C++ code. O++ provides facilities for specifying transactions, creating and manipulating persistent objects, querying the database and creating and manipulating versions.
The Ode object database provides four object compatible mechanisms for manipulating and querying the database. As well as O++ there are OdeView - an X Window System interface; OdeFS (a file system interface allowing objects to be treated and manipulated like normal Unix files); and CQL++, a C++ variant of SQL for easing the transition from relational databases to OODBs such as Ode.
Ode supports large objects (critical for multimedia applications). Ode tracks the relationship between versions of objects and provides facilities for accessing different versions. Transactions can be specified as read-only; such transactions are faster because they are not logged and they are less likely to deadlock. 'Hypothetical' transactions allow users to pose what-if scenarios (as with spreadsheets).
EOS, the storage engine of Ode, is based on a client-server architecture. EOS supports concurrency based on multi-granularity two-version two-phase locking; it allows many readers and one writer to access the same item simultaneously. Standard two-phase locking is also available. Ode supports both a client-server mode for multiple users with concurrent access and a single user mode giving improved performance.
Ode 3.0 is currently being used as the multimedia database engine for AT T's Interactive TV project. Ode 2.0 has also been distributed to more than 80 sites within AT T and more than 340 universities. Ode is available free to universities under a non-disclosure agreement. The current version, 3.0, is available only for Sun SPARCstations running SunOS 4.1.3 and Solaris 2.3. Ode is being ported to Microsoft Windows NT, Windows 95 and SGI platforms.
E-mail: Narain Gehani nhg@research.att.com .
(1994-08-18)

ODI
1. Optical Digital Image.
2. Open Data-link Interface.

ODIF
Open Document Interchange Format

ODMA
Open Document Management API

ODMG
Object Data Management Group

ODP
Open Distributed Processing

ODSA
Open Distributed System Architecture

ODT
Open Desktop

OEM
original equipment manufacturer

off-by-one error
programming An exceedingly common error induced in many ways, such as by starting at zero when you should have started at one or vice-versa, or by writing N instead of = N or vice-versa. Often confounded with fencepost error, which is properly a particular subtype of it.
[Jargon File]
(1998-09-21)

Office
Microsoft Office

Office By Example
language (OBE) A sequel to QBE, described in publications by Moshe Zloof of IBM in the early 1980s but apparently never implemented.
(1998-03-14)

Office Workstations Limited
company (OWL) A UK software company, now a subsidiary of Matsushita (Panasonic, etc.). They previously supported the Guide hypertext system but that support is now provided by US company InfoAccess.
E-mail: postmaster@owl-uk.owl-uk.co.uk
[Correct address?]
(1996-01-15)

off-line
jargon (Or offline )
1. Not directly connected to the computer (e.g., an off-line tape drive), or with connection suspended ( take the printer off-line ).
Contrast background, on-line.
2. Not now or not here. Let's take this discussion off-line. Specifically used on Usenet to suggest that a discussion be moved off a public newsgroup to e-mail.
See also off-line world.
[Jargon File]
(1996-02-02)

off-line world
jargon A die-hard nethead term for non-computer-related experience.
See also big room.
[ Internet , Feb 1996].
(1996-03-04)

off-side rule
A lexical convention due to Landin, allowing the scope of declarations in a program to be expressed by indentation. Any non-whitespace token to the left of the first such token on the previous line is taken to be the start of a new declaration. Used in, for example, Miranda and Haskell.
[P.J. Landin The Next 700 Programming Languages , CACM vol 9 pp157-165, March 1966]

off the trolley
Describes the behaviour of a program that malfunctions and goes catatonic, but doesn't actually crash or abort. See glitch, bug, deep space.
[Jargon File]

ogg
games /og/ (CMU) 1. In the multi-player space combat game Netrek, to execute kamikaze attacks against enemy ships which are carrying armies or occupying strategic positions. Named during a game in which one of the players repeatedly used the tactic while playing Orion ship G, showing up in the player list as Og . This trick has been roundly denounced by those who would return to the good old days when the tactic of dogfighting was dominant, but as Sun Tzu wrote, What is of supreme importance in war is to attack the enemy's strategy. However, the traditional answer to the newbie question What does ogg mean? is just Pick up some armies and I'll show you.
2. In other games, to forcefully attack an opponent with the expectation that the resources expended will be renewed faster than the opponent will be able to regain his previous advantage. Taken more seriously as a tactic since it has gained a simple name.
3. To do anything forcefully, possibly without consideration of the drain on future resources. I guess I'd better go ogg the problem set that's due tomorrow. Whoops! I looked down at the map for a sec and almost ogged that oncoming car.
(1995-01-31)

Ogg Vorbis
audio, compression A patent-free audio compression algorithm.
(http://www.xiph.org/).
(2001-12-17)

OHCI
Open Host Controller Interface

Ohm
unit The MKS unit of electrical resistance. One Ohm is the resistance of a conductor across which a potential difference of one Volt produces a current of one Ampere.
[Who was Mr. Ohm?]
(1998-02-27)

ohnosecond
unit, humour (Presumably a play on nanosecond ) The miniscule time it takes to realize that you've just made a BIG mistake like typing rm -rf * in the wrong directory.
Seen in Elizabeth P. Crowe's book, The Electronic Traveller.
(1998-08-27)

OIC
chat oh, I see.
(1998-01-18)

OID
object identifier

-oid
jargon (Suffix, from android ) 1. Used as in mainstream English to indicate a poor imitation, a counterfeit, or some otherwise slightly bogus resemblance. Hackers will happily use it with all sorts of non-Greco/Latin stem words that wouldn't keep company with it in mainstream English. For example, He's a nerdoid means that he superficially resembles a nerd but can't make the grade; a modemoid might be a 300-baud modem (Real Modems run at 144000 or up); a computeroid might be any bitty box. The word keyboid could be used to describe a chiclet keyboard, but would have to be written; spoken, it would confuse the listener as to the speaker's city of origin.
2. More specifically, an indicator for resembling an android which in the past has been confined to science-fiction fans and hackers. It too has recently (in 1991) started to go mainstream (most notably in the term trendoid for victims of terminal hipness). This is probably traceable to the popularisation of the term droid in Star Wars and its sequels.
Coinages in both forms have been common in science fiction for at least fifty years, and hackers (who are often SF fans) have probably been making -oid jargon for almost that long [though GLS and ESR can personally confirm only that they were already common in the mid-1970s].
[Jargon File]
(1999-07-10)

OIL
1. [ The Architecture of the FAIM-1 Symbolic Multiprocessing System , A. Davis et al, 9th Intl Joint Conf in Artif Intell, 1985, pp.32-38].
2. Operator Identification Language. Used for overloading resolution by the Eli compiler-writing system.

OLAP
On-Line Analytical Processing

OLC
On-Line Computer system

OLDAS
On-line Digital Analog Simulator. An interactive version of MIMIC, for IBM 360.
[ OLDAS: An On-line Continuous System Simulation Language , R.P. Cullen, in Interactive Systems for Experimental Applied Mathematics, A-P 1968].

old fart
Tribal elder. A title self-assumed with remarkable frequency by (especially) Usenetters who have been programming for more than about 25 years; often appears in sig blocks attached to Jargon File contributions of great archaeological significance. This is a term of insult in the second or third person but one of pride in first person.
[Jargon File]

old talk
chat The old implementations of talk. See ntalk for details.
(1997-09-11)

Old Testament
[C programmers] The first edition of K R, the sacred text describing Classic C.
[Jargon File]

OLE
Object Linking and Embedding

OLE custom controls
programming (OCX) An Object Linking and Embedding (OLE) custom control allowing infinite extension of the Microsoft Access control set. OCX is similar in purpose to VBX used in Visual Basic. Available OCX's include Scroll Bar Control , Calendar Control , and Data Outline Control .
[Details?]
(1995-12-05)

OLGA
Ouf! un Langage pour les Grammaires Attribuees.
Inria, 1985. Language for specification of attribute grammars, used as the input language of the compiler writing system FNC-2. Applicative, strongly typed, polymorphic, pattern-matching, modules.

Olivetti
company A large Italian company producing office machinery, computers and printers.
Olivetti took a controlling stake in Acorn Computers in September 1985.
Olivetti computers were once marketed in USA with the ATT brand name.
[Address? Other products?]
(1995-03-14)

O-Logic
An object-oriented deductive language/database system.

OLTP
On-Line Transaction Processing

OLWM
OpenLook Window Manager

om
networking The country code for Oman.
(1999-01-27)

OMA
Object Management Architecture.
A set of standards under study by the OMG.
(1994-11-11)

Omega
1. programming A prototype-based object-oriented language from Austria.
[ Type-Safe Object-Oriented Programming with Prototypes - The Concept of Omega , G. Blaschek, Structured Programming 12:217-225, 1991].
2. text, tool A successor to TeX extended to handle the Unicode character set.
(http://www.ens.fr/omega/).
(1997-11-20)

Omega-algebraic
In domain theory, a complete partial order is algebraic if every element is the lub of some chain of compact elements. If the set of compact elements is countable it is omega-algebraic. Usually written with a Greek letter omega (LaTeX omega).
(1995-02-03)

Omega test
The Omega test is a system written by William Pugh pugh@cs.umd.edu and others for performing symbolic manipulations of conjunctions of linear constraints over integer variables. The Omega test dependence analyser is a system built on top of the Omega test to analyse array data dependences.
Version 3.2.2 includes a fortran to tiny translator, a Tiny interpreter(?) and analysis tools.
(ftp://ftp.cs.umd.edu/pub/omega). E-mail: omega@cs.umd.edu .
(1992-11-13)

OMF
Object Management Facility.
Part of the DAA proposed by Hewlett-Packard and Sun.

OMG
Object Management Group

OMNICODE
Thompson, 1956. Ran on IBM 650.
[Sammet 1969, p. 5].

OMNIFAX
Alternate name for NYU OMNIFAX? Early system on UNIVAC I or II. Listed in CACM 2(5):16 (May 1959).

OMNITAB
Statistical analysis and desk calculator. Version: OMNITAB II.
[ OMNITAB II User's Reference Manual , NBS Tech Note 552 (Oct 1971). Sammet 1969, pp. 296-299].

OMR
Optical Mark Reader

OMS
Opportunity Management System

OMT
Object Modelling Technique

OMTool
A graphical tool from General Electric Advanced Concepts Center for design and analysis of systems with the OMT methodology. Generates C++ and SQL code.

ONC
Open Network Computing

Ondine
[ Concurrency Introduction to an Object-Oriented Language System Ondine , T. Ogihara et al, 3rd Natl Conf Record A-5-1, Japan Soc for Soft Sci Tech, Japan 1986].

one-banana problem
At mainframe shops, where the computers have operators for routine administrivia, the programmers and hardware people tend to look down on the operators and claim that a trained monkey could do their job. It is frequently observed that the incentives that would be offered said monkeys can be used as a scale to describe the difficulty of a task. A one-banana problem is simple; hence, It's only a one-banana job at the most; what's taking them so long?
At IBM, folklore divides the world into one-, two-, and three-banana problems. Other cultures have different hierarchies and may divide them more finely; at ICL, for example, five grapes (a bunch) equals a banana. Their upper limit for the in-house sysapes is said to be two bananas and three grapes (another source claims it's three bananas and one grape, but observes However, this is subject to local variations, cosmic rays and ISO ). At a complication level any higher than that, one asks the manufacturers to send someone around to check things.
See also Infinite-Monkey Theorem.
[Jargon File]

one-line fix
Used (often sarcastically) of a change to a program that is thought to be trivial or insignificant right up to the moment it crashes the system. Usually cured by another one-line fix. See also I didn't change anything!

one-liner wars
games, programming A game popular among hackers who code in the language APL (see write-only language and line noise). The objective is to see who can code the most interesting and/or useful routine in one line of operators chosen from APL's exceedingly hairy primitive set. A similar amusement was practiced among TECO hackers and is now popular among Perl aficionados.
Ken Iverson, the inventor of APL, has been credited with a one-liner that, given a number N, produces a list of the prime numbers from 1 to N inclusive. It looks like this:
(2 = 0 +.= T o.| T) / T - iN
where o is the APL null character, the assignment arrow is a single character, and i represents the APL iota.
[Jargon File]
(2000-03-19)

ones complement
A system used in some computers to represent negative numbers. To negate a number, each bit of the number is inverted (zeros are replaced with ones and vice versa). This has the consequence that there are two reperesentations for zero, either all zeros or all ones.
... 000...00011 = +3 000...00010 = +2 000...00001 = +1 000...00000 = +0 111...11111 = -0 111...11110 = -1 111...11101 = -2 111...11100 = -3 ...
Naive logic for ones complement addition might easily conclude that -0 + 1 = +0.
The twos complement avoids this by using all ones to represent -1.

One-Time Password
security (OTP) A security system that requires a new password every time a user authenticates themselves. OTP generates these passwords using either the MD4 or MD5 hashing algorithms.
The equivalent term S/Key is a trademark of Telcordia Technologies, so the name OTP is used increasingly.
See RFC 1760 - The S/KEY One-Time Password System and RFC 1938 - A One-Time Password System .
(http://www.cs.umd.edu/~harry/jotp/).
(2000-01-31)

One Time Programmable Read-Only Memory
storage (OTPROM, EPROM OTP) A kind of storage device like an EPROM but with no quartz glass window in the package for erasing the contents. This reduces the packaging cost but means the device cannot be erased with UV and so can only be written once. Erasure is possible, but expensive, with X-rays.
(1995-04-22)

one-way function
cryptography, mathematics A function which is is easy to compute but whose inverse is very difficult to compute. Such functions have important applications in cryptography, specifically in public-key cryptography.
See also: trapdoor function.
(2001-05-10)

one-way hash function
algorithm (Or message digest function ) A one-way function which takes a variable-length message and produces a fixed-length hash. Given the hash it is computationally infeasible to find a message with that hash; in fact one can't determine any usable information about a message with that hash, not even a single bit. For some one-way hash functions it's also computationally impossible to determine two messages which produce the same hash.
A one-way hash function can be private or public, just like an encryption function. MD5 and Snefru are examples of public one-way hash functions.
A public one-way hash function can be used to speed up a public-key digital signature system. Rather than sign a long message, which can take a long time, compute the one-way hash of the message, and sign the hash.
sci.crypt FAQ (ftp://src.doc.ic.ac.uk/usenet/usenet-by-group/sci.crypt/).
(2001-05-10)

on-line
jargon 1. Ready for use. E.g. The graph plotter's fixed and on-line again .
2. Interactive as opposed to batch. Accessible via a computer (or terminal), rather than on paper or other medium.
3. Of a user, actively using a computer system, especially the Internet. E.g I haven't been on-line for three days.
On-line should be hyphenated because it is compounded from two words but the hyphen is often omitted in names of organisations or services.
(1998-12-22)

On-Line Analytical Processing
database (OLAP) A category of database software which provides an interface such that users can transform or limit raw data according to user-defined or pre-defined functions, and quickly and interactively examine the results in various dimensions of the data.
OLAP primarily involves aggregating large amounts of diverse data. OLAP can involve millions of data items with complex relationships. Its objective is to analyze these relationships and look for patterns, trends, and exceptions.
The term was originally coined by Dr. Codd in 1993 with 12 rules . Since then, the OLAP Council, many vendors, and Dr. Codd himself have added new requirements and confusion.
Richard Creeth and Nigel Pendse define OLAP as fast analysis of shared multidimensional information. Their definition requires the system to respond to users within about five seconds. It should support logical and statistical processing of results without the user having to program in a 4GL. It should implement all the security requirements for confidentiality and concurrent update locking. The system must provide a multidimensional conceptual view of the data, including full support for multiple hierarchies. Other aspects to consider include data duplication, RAM and disk space requirements, performance, and integration with data warehouses.
The OLAP Council (http://www.olapcouncil.org/).
(http://www.access.digex.net/~grimes/olap/).
Usenet newsgroup: news:comp.databases.olap.
(http://www.arborsoft.com/papers/finkTOC.html).
[What's a multidimensional conceptual view ?]
(1996-09-24)

Online Computer Library Center, Inc.
library (OCLC) A nonprofit membership organisation offering computer-based services and research to libraries, educational organisations, and their users. OCLC operates the OCLC Cataloging PRISM service for cataloging and resource sharing, provides on-line reference systems for both librarians and end-users, and distributes on-line electronic journals. OCLC's goals are to increase the availability of library resources and reduce library costs for the fundamental public purpose of furthering access to the world's information. The OCLC library information network connects more than 10,000 36,000 libraries worldwide. Libraries use the OCLC System for cataloguing, interlibrary loan, collection development, bibliographic verification, and reference searching. Their most visible feature is the OCLC Online Union Catalog (OLUC) WorldCat (the OCLC Online Union Catalog).
Home (http://www.oclc.org/).
(2000-03-23)

On-Line Computer system
(OLC) A predecessor of the Culler-Fried System from UCSB ca. 1966.
[Sammet 1969, p.253].
(1995-11-25)

Online Media
company A company formed by Acorn Computer Group plc to exploit the ARM RISC in television set-top box decoders. They are wooing British Telecommunications plc to use the box in some of its video on demand trials.
The box will be based on an ARM8 core with additional circuits to enable MPEG to be decoded in software - possibly dedicated instructions for interpolation, inverse DCT or Huffman table extraction. They have already moved audio MPEG to sillicon. The box will use Acorn's RISC OS operating system as the control environment and is also looking at putting Oracle and Microword on it. Online will reduce component numbers and therefore cost by transferring functions presently on boards into the single RISC chip.
The interactive set-top boxes are not limited to the television - personal computer videoconferencing and extended networking are being developed. Acorn already has partnerships with Bell Northern Research and Northern Telecom Limited, News International, Alcatel NV and its majority shareholder Ing C Olivetti Co SpA.
The company is presently wholly owned by Acorn, but eventually expects to bring in external investment. Online will start a four phase trial in Cambridge with Cambridge Cable Co, Advanced Telecommunications Modules Ltd. - the Hermann Hauser company promising super-cheap Asynchronous Transfer Mode - and Anglia Television, later this year.
[Article by nobody@tandem.com cross-posted from tandem.news.computergram, 1994-07-7].
(1997-05-14)

Online Public Access Catalog
library (OPAC) A computerised system to catalogue and organise materials in a library (the kind that contains books). OPACs have replaced card-based catalogues in many libraries. An OPAC is available to library users (public access).
(2000-07-17)

On-Line Transaction Processing
database (OLTP) The processing of transactions by computers in real time.
[Details? Products?]
(1997-05-14)

Ontic
language Object-oriented language for an inference system with a Lisp-like appearance, but based on set theory.
[ Ontic: A Knowledge Representation System for Mathematics , D.A. McAllester, MIT Press 1989].
(1996-06-24)

onto
surjection

ontology
1. philosophy A systematic account of Existence.
2. artificial intelligence (From philosophy) An explicit formal specification of how to represent the objects, concepts and other entities that are assumed to exist in some area of interest and the relationships that hold among them.
For AI systems, what exists is that which can be represented. When the knowledge about a domain is represented in a declarative language, the set of objects that can be represented is called the universe of discourse. We can describe the ontology of a program by defining a set of representational terms. Definitions associate the names of entities in the universe of discourse (e.g. classes, relations, functions or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory.
A set of agents that share the same ontology will be able to communicate about a domain of discourse without necessarily operating on a globally shared theory. We say that an agent commits to an ontology if its observable actions are consistent with the definitions in the ontology. The idea of ontological commitment is based on the Knowledge-Level perspective.
3. information science The hierarchical structuring of knowledge about things by subcategorising them according to their essential (or at least relevant and/or cognitive) qualities. See subject index. This is an extension of the previous senses of ontology (above) which has become common in discussions about the difficulty of maintaining subject indices.
(1997-04-09)

OnX
A graphics package from LAL Orsay.

OO
object-oriented

OOA
object-oriented analysis

OOD
object-oriented design

OODB
object-oriented database

OODBMS
object-oriented database management system

OOF
Object-Oriented Fortran

OOGL
Object-Oriented Graphics Language. 1970's.

OOP
object-oriented programming

OOPL
object-oriented programming language

OOPS
OOPS: A Knowledge Representation Language , D. Vermeir, Proc 19th Intl Hawaii Conf on System Sciences, IEEE (Jan 1986) pp.156-157.

OOPSLA
Conference on Object-oriented Programming Systems, Languages and Applications.

OOSD
Object-oriented structured design: a design method elaborated from structured design and incorporating the essential features of the object-oriented approach.

OOZE
Object oriented extension of Z. Object Orientation in Z , S. Stepney et al eds, Springer 1992.

op
job /op/ 1. In England and Ireland, a common verbal abbreviation for operator , as in system operator. This is less common in the US, where sysop seems to be preferred.
2. The general term for an IRC channel op. Also, as a verb: to give someone channel op privileges. Compare ircop.
[Jargon File]
(1997-12-12)

OPAC
Online Public Access Catalog

Opal
1. A DSP language.
[ OPAL: A High Level Language and Environment for DSP boards on PC , J.P. Schwartz et al, Proc ICASSP-89, 1989].
2. The language of the object-oriented database GemStone.
[ Making Smalltalk a Database System , G. Copeland et al, Proc SIGMOD'84, ACM 1984, pp.316- 325].
3. A simulation language with provision for stochastic variables. An extension of Autostat.
[ C-E-I-R OPAL , D. Pilling, Internal Report, C.E.I.R. Ltd. (1963)].
4. A language for compiler testing said to be used internally by DEC.
5. A functional programming language designed at the Technische Universitaet Berlin as a testbed for the development of functional programs. OPAL integrates concepts from Algebraic Specification and Functional Programming, which favour the (formal) development of (large) production-quality software written in a purely functional style.
The core of OPAL is a strongly typed, higher-order, strict applicative language which belongs to the tradition of Hope and ML. The algebraic flavour of OPAL is visible in the syntactical appearance and in the preference of parameterisation to polymorphism.
OPAL supports: information hiding - each language unit is divided into an interface (signature) and an implementation part; selective import; parameterised modules; free constructor views on sorts, which allow pattern-based function definitions despite quite different implementations; full overloading of names; puristic scheme language with no built-in data types (except Booleans and denotations).
OPAL and its predecessor OPAL-0 have been used for some time at the Technische Universitaet Berlin in CS courses and for research into optimising compilers for applicative languages. The OPAL compiler itself is writte entirely in OPAL.
An overview is given in OPAL: Design And Implementation of an Algebraic Programming Language .
Home (http://www.cs.tu-berlin.de/~opal/)
(ftp://ftp.cs.tu-berlin.de/pub/local/uebb/papers/DesignImplOpal.ps.gz).
(1995-02-16)

op code
instruction mnemonic

open
1. To prepare to read or write a file. This usually involves checking whether the file already exists and that the user has the necessary authorisation to read or write it. The result of a successful open is usually some kind of capability (e.g. a Unix file descriptor) - a token that the user passes back to the system in order to access the file without further checks and finally to close the file.
2. Abbreviation for open (or left) parenthesis - used when necessary to eliminate oral ambiguity. To read aloud the LISP form (DEFUN FOO (X) (PLUS X 1)) one might say: Open defun foo, open eks close, open, plus eks one, close close.
3. Non-proprietary. An open standard is one which can be used without payment.
[Jargon File]
(1995-01-31)

open box testing
white box testing

open/closed principle
programming, theory A principle used in OOPL which states that a class must be open and closed where open means it has the ability to be extended and closed means it cannot be modified other than by extension.
The idea is that once a class has been approved for use having gone through code reviews, unit tests, and other qualifying procedures, you don't want to change the class very much, just extend it. In practice the open/closed principle simply means making good use of abstraction and polymorphism.
(1997-09-23)

open-collar worker
job Someone who works at home or telecommutes.
(1997-04-17)

Open DataBase Connectivity
standard, database (ODBC) A standard for accessing different database systems. There are interfaces for Visual Basic, Visual C++, SQL and the ODBC driver pack contains drivers for the Access, Paradox, dBase, Text, Excel and Btrieve databases.
An application can submit statements to ODBC using the ODBC flavor of SQL. ODBC then translates these to whatever flavor the database understands.
ODBC 1.0 was released in September 1992.
ODBC is based on Call-Level Interface and was defined by the SQL Access Group. Microsoft was one member of the group and was the first company to release a commercial product based on its work (under Microsoft Windows) but ODBC is not a Microsoft standard (as many people believe).
ODBC drivers and development tools are available now for Microsoft Windows, Unix, OS/2, and Macintosh.
[On-line document?]
[ Unix Review , Aug 1995].
(1996-05-27)

Open Data-link Interface
networking, standard (ODI) A Novell-developed network card API that provides media and protocol independence. It allows the sharing of a single card by multiple transport layer protocols and resolves conflicts.
(1995-03-13)

Open DeathTrap
abuse An abusive hackerism for the Santa Cruz Operation's Open DeskTop. The funniest part is that this was coined by SCO's own developers.
Compare AIDX, Macintrash Nominal Semidestructor, ScumOS, sun-stools, HP-SUX.
[Jargon File]
(1995-02-02)

Open Desktop
operating system, product A Motif-based graphical interface from the Santa Cruz Operation (SCO), built over their Unix environment, part of the ACE initiative.
Also known as Open DeathTrap .
(1995-02-02)

Open Distributed Processing
standard (ODP) An attempt to standardise an OSI application layer communications architecture. ODP is a natural progression from OSI, broadening the target of standardisation from the point of interconnection to the end system behaviour. The objective of ODP is to enable the construction of distributed systems in a multi-vendor environment through the provision of a general architectural framework that such systems must conform to. One of the cornerstones of this framework is a model of multiple viewpoints which enables different participants to observe a system from a suitable perspective and a suitable level of abstraction.
(1995-03-10)

Open Distributed System Architecture
(ODSA) A research program sponsored by the UK Department of Trade and Industry and the Engineering and Physical Sciences Research Council.
[Details?]
(1995-02-09)

OpenDoc
operating system A compound document architecture from CIL based on CORBA. It aims to enable embedding of features from different application programs into a single working document.
(1997-02-21)

Open Document Architecture
standard (ODA) ISO standard (8613) for describing documents. It allows text, graphics, and facsimile documents to be transferred between different systems.
ODIF is part of ODA.
(1995-03-03)

Open Document Interchange Format
standard (ODIF) Part of the ODA standard.
(1996-10-16)

Open Document Management API
text, standard An open standard allowing desktop applications to interface with document management systems.
(http://www.activedoc.com)
(1997-07-04)

OpenGL
Open Graphics Library

Open Graphics Library
graphics, library (OpenGL) A multi-platform software interface to graphics hardware, supporting rendering and imaging operations. The OpenGL interface was developed by Silicon Graphics, who license it to other vendors.
The OpenGL graphics interface consists of several hundred functions operating on 2D and 3D objects, supporting basic techniques, such as modelling and smooth shading, and advanced techniques, such as texture mapping and motion blur. Many operations require a frame buffer. OpenGL is network-transparent, and a common extension to the X Window System allows an OpenGL client to communicate across a network with a different vendor's OpenGL server.
OpenGL is based on Silicon Graphics' proprietary IRIS GL.
OpenGL WWW Center (http://www.sgi.com/Technology/openGL/).
Mesa GL (http://www.ssec.wisc.edu/~brianp/Mesa.html) (PD implementation).
(1996-09-30)

OpenInsight
programming, database The workflow-enabled Windows 95/Windows NT version of Advanced Revelation, featuring native support for Lotus Notes, Microsoft SQL Server, Oracle and ODBC. OpenInsight is available from Revelation Software.
(1997-04-25)

Open Look
operating system A graphical user interface and window manager from Sun and AT T.
Usenet newsgroup: news:comp.graphics.openlook.
(1995-06-11)

Open Network Computing
(ONC) Sun's network protocols.
[more detail?]

Open Prolog
Prolog, Macintosh Prolog for the Macintosh by Michael Brady brady@cs.tcd.ie .
Home (http://www.cs.tcd.ie/open-prolog/).
[Details?]
(2000-12-21)

Open Scripting Architecture
(OSA) A CIL approach to the coexistence of multiple scripting systems.
(1995-03-10)

Open Shortest-Path First
Open Shortest-Path First Interior Gateway Protocol

Open Shortest-Path First Interior Gateway Protocol
networking, protocol, standard (OSPF) A link state routing protocol that is one of the Internet standard Interior Gateway Protocols defined in RFC 1247.
There is no OSPF EGP, OSPF is an IGP only.
[Relationship to Internet Protocol packet routing?]
OSPF Design Guide (http://www.cisco.com/warp/public/104/1.html).
(2002-06-29)

Open Software Foundation
body (OSF) A foundation created by nine computer vendors, (Apollo, DEC, Hewlett-Packard, IBM, Bull, Nixdorf, Philips, Siemens and Hitachi) to promote Open Computing . It is planned that common operating systems and interfaces, based on developments of Unix and the X Window System will be forthcoming for a wide range of different hardware architectures. OSF announced the release of the industry's first open operating system - OSF/1 on 23 October 1990.
(1994-11-23)

open source
philosophy, legal A method and philosophy for software licensing and distribution designed to encourage use and improvement of software written by volunteers by ensuring that anyone can copy the source code and modify it freely.
The term open source is now more widely used than the earlier term free software (promoted by the Free Software Foundation) but has broadly the same meaning - free of distribution restrictions, not necessarily free of charge.
There are various open source licenses available. Programmers can choose an appropriate license to use when distributing their programs.
The Open Source Initiative promotes the Open Source Definition.
The Cathedral and the Bazaar (http://www.tuxedo.org/~esr/writings/cathedral-bazaar/cathedral-bazaar.html) was a seminal paper describing the open source phenomenon.
Open Sources - O'Reilly book with full text online (http://www.oreilly.com/catalog/opensources/book/perens.html).
Articles from ZDNet (http://www.zdnet.com/pcmag/features/opensource/).
(1999-12-29)

Open Source Definition
standard (OSD) Definition of distribution terms for open source software, promoted by the Open Source Initiative.
Home (http://www.opensource.org/osd.html).
(1999-11-28)

Open Source Initiative
body (OSI) An organisation dedicated to managing and promoting the Open Source Definition for the good of the community.
Home (http://www.opensource.org/).
(1999-11-28)

Open source license
legal Any document that attempts to specify open source usage and distribution of software. These licenses are usually drafted by experts and are likely to be more legally sound than one a programmer could write. However, loopholes do exist.
Here is a non-exhaustive list of open source licenses:
1. Public Domain - No license.
2. BSD License - An early open source license
3. General Public License (GPL) - The copyleft license of the Free Software Foundation. Used for GNU software and much of Linux.
4. Artistic License (http://www.my-opensource.org/Artistic.txt) Less restrictive than the GPL, permitted by Perl in addition to the GPL.
5. Mozilla Public Licenses (http://www.mozilla.org/MPL/) (MPL, MozPL) and Netscape Public License (NPL).
[ Open Sources , pub. O'Reilly, full text (http://www.oreilly.com/catalog/opensources/book/perens.html)].
(1999-11-28)

OpenStep
operating system An object-oriented application programming interface (API) derived from NEXTSTEP and proposed as an open standard by NeXT in 1994.
OpenStep is the specification of the object kits of NEXTSTEP. OPENSTEP/Mach was an implementation of this specification. The original, OPENSTEP version 4.0, and really was NEXTSTEP 4. Rhapsody was the codename for Apple's Mac OS X Server, which is really NEXTSTEP 5 (it calls itself kernel 5.3 at boot time).
OpenStep was designed to be implemented independently of the computer's operating system, hardware, and user interface. The API for Rhapsody will be a superset of OpenStep's.
When the OpenStep API is implemented for a specific platform and made into a product, it is written in uppercase, e.g. OPENSTEP Developer 4.2 for Mach, or OPENSTEP Enterprise for Windows NT and Windows 95. Versions of OPENSTEP exist for Windows 95/NT, Solaris, HP/UX, and Mach.
(1999-11-25)

open switch
(IBM, probably from railways) An unresolved question, issue, or problem.
[Jargon File]
(1994-11-11)

Open Systems Interconnect
networking (OSI-RM, OSI Reference Model, seven layer model) A model of network architecture and a suite of protocols (a protocol stack) to implement it, developed by ISO in 1978 as a framework for international standards in heterogeneous computer network architecture.
The OSI architecture is split between seven layers, from lowest to highest: 1 physical layer, 2 data link layer, 3 network layer, 4 transport layer, 5 session layer, 6 presentation layer, 7 application layer.
Each layer uses the layer immediately below it and provides a service to the layer above. In some implementations a layer may itself be composed of sub-layers.
OSI is the umbrella name for a series of non-proprietary protocols and specifications, comprising, among others, the OSI Reference Model, ASN.1 (Abstract Syntax Notation 1), BER (Basic Encoding Rules), CMIP and CMIS (Common Management Information Protocol and Services), X.400 (Message Handling System, or MHS), X.500 (Directory Service), Z39.50 (search and retrieval protocol used by WAIS), and many others. Apart from its actual application to real protocols, it also serves as a useful teaching model.
(2002-05-19)

Open Systems Interconnection
Open Systems Interconnect

Open Telecom Platform
communications, library, Erlang (OTP) A set of standard, open source libraries and tools for use with Erlang.
(http://www.erlang.org/faq/t1.html#AEN17).
(2001-08-28)

Open Trading Protocol
Internet Open Trading Protocol

OpenTransport
networking (OT) A complete reimplementation of all levels of the Macintosh networking code including Classic AppleTalk and MacTCP. It appeared in MacOS revision 7.5.3 [or earlier? Date?].
(2000-08-13)

Open University
education, body (OU) The UK distance-learning organisation, established in 1969. It teaches degree-level courses in many subjects via BBC radio and television broadcasts and summer schools.
(http://hcrl.open.ac.uk/ou/ouhome.html).
(1999-07-13)

OpenVMS
Virtual Memory System

OpenWindows
operating system A graphical user interface server for Sun workstations which handles SunView, NeWS and X Window System protocols.
(1995-06-11)

operand
programming An argument of an operator or of a machine language instruction.
(1995-08-18)

operating system
operating system (OS) The low-level software which handles the interface to peripheral hardware, schedules tasks, allocates storage, and presents a default interface to the user when no application program is running.
The OS may be split into a kernel which is always present and various system programs which use facilities provided by the kernel to perform higher-level house-keeping tasks, often acting as servers in a client-server relationship.
Some would include a graphical user interface and window system as part of the OS, others would not. The operating system loader, BIOS, or other firmware required at boot time or when installing the operating system would generally not be considered part of the operating system, though this distinction is unclear in the case of a rommable operating system such as RISC OS.
The facilities an operating system provides and its general design philosophy exert an extremely strong influence on programming style and on the technical cultures that grow up around the machines on which it runs.
Example operating systems include 386BSD, AIX, AOS, Amoeba, Angel, Artemis microkernel, BeOS, Brazil, COS, CP/M, CTSS, Chorus, DACNOS, DOSEXEC 2, GCOS, GEORGE 3, GEOS, ITS, KAOS, Linux, LynxOS, MPV, MS-DOS, MVS, Mach, Macintosh operating system, MINIX, Multics, Multipop-68, Novell NetWare, OS-9, OS/2, Pick, Plan 9, QNX, RISC OS, STING, System V, System/360, TOPS-10, TOPS-20, TRUSIX, TWENEX, TYMCOM-X, Thoth, Unix, VM/CMS, VMS, VRTX, VSTa, VxWorks, WAITS, Windows 3.1, Windows 95, Windows 98, Windows NT.
FAQ (ftp://src.doc.ic.ac.uk/usenet/news-info/comp.os.research).
Usenet newsgroup: news:comp.os.research.
[Jargon File]
(1999-06-09)

Operating System/360
operating system (OS/360) An operating system developed by IBM for their System/360 computer (announced in 1964).
After this experience, Frederick P. Brooks wrote his famous book, The Mythical Man-Month, giving OS/360 as an example of the second-system effect.
[Features? Relatonship to DOS/360?]
(2001-03-23)

Operating System/Multiprogramming of Fixed Tasks
operating system (OS/MFT) One of the IBM operating systems associated with the IBM 360, released in 1966 and targetted at mid-range IBM 360 users (typically 360/40, 360/50). OS/MFT was the juinior member of the main 'OS' series of IBM operating systems, the other being OS/MVT. Smaller 360 mainframes used DOS.
OS/MFT shared JCL and utilities with OS/MVT but allocated memory differently. In OS/MFT, partitions of memory were of a fixed number and size, specified by the generation and configuration of the operating system. As this class of mainframe had typically less than 512K of main memory, partitions tended to be about 128K.
With the advent of Virtual Storage and the System 370's Dynamic Address Translation (DAT), OS/MFT was improved to become OS/VS1, taking account of virtual storage in a single partition up to 16MB.
(1999-01-22)

operational database
database A database containing up-to-date, modifiable data, in contrast to a decision support database.
(1995-02-14)

operational requirements
programming Qualitative and quantitative parameters that specify the desired capabilities of a system and serve as a basis for determining the operational effectiveness and suitability of a system prior to deployment.
(1997-01-07)

operational semantics
theory A set of rules specifying how the state of an actual or hypothetical computer changes while executing a program. The overall state is typically divided into a number of components, e.g. stack, heap, registers etc. Each rule specifies certain preconditions on the contents of some components and their new contents after the application of the rule.
It is similar in spirit to the notion of a Turing machine, in which actions are precisely described in a mathematical way.
Compuare axiomatic semantics, denotational semantics.
(1996-08-21)

operational test and evaluation
testing (OT E) Formal testing conducted prior to deployment to evaluate the operational effectiveness and suitability of the system with respect to its mission.
(1997-01-07)

operational testing
testing A US DoD term for testing performed by the end-user on software in its normal operating environment.
(1997-01-07)

operation code
programming (Or op code ) The part or parts of a machine language instruction which determines what kind of action the computer should take, e.g. add, jump, load, store. In any particular instruction set certain fixed bit positions within the instruction word contain the op code, others give parameters such as the addresses or registers involved. For example, in a 32-bit instruction the most significant eight bits might be the op code giving 256 possible operations.
For some instruction sets, certain values in the fixed bit positions may select a group of operations and the exact operation may depend on other bits within instruction word or subsequent words.
When programming in assembly language, the op code is represented by a readable name called an instruction mnemonic.
(1997-02-14)

operator
programming A symbol used as a function, with infix syntax if it has two arguments (e.g. + ) or prefix syntax if it has only one (e.g. Boolean NOT). Many languages use operators for built-in functions such as arithmetic and logic.
(1995-04-30)

operator overloading
overloading

Opportunity Management System
business (OMS) A system that stores sales opportunities and related information. Each sales lead can be tracked with information such as source, type, worth, status, likelihood of closure etc.
An OMS can perform other related tasks such as prioritising sales calls and generating analyses that assist the fine-tuning of marketing strategies.
See also Customer Relationship Management.
(1999-08-20)

OPS
1. On-line Process Synthesizer. M. Greenberger, MIT ca. 1964. Discrete simulation under CTSS. Sammet 1969, p.660. Versions: OPS-3, OPS-4. On- line Computation and Simulation: The OPS-3 System , M. Greenberger et al, MIT Press 1965.
2. Official Production System. CMU, 1970. The first production-system (i.e. rule-based) programming language, used for building expert systems. Written originally in Franz Lisp, later ported to other LISP dialects.

OPS5
language A programming language for rule-based production systems. A rule consists of pre-condition(s) and a resulting action.
The system checks its working memory to see if there are rules whose pre-conditions are satisfied, if so, the action in one selected satisfied rule is executed.
There is a public domain implementation of an OPS5 interpreter written by Charles L. Forgy forgy@cs.cmu.edu in 1977. It was first implemented in Lisp and later in BLISS. It was also ported to Common Lisp by George Wood and Jim Kowalski.
CLIPS is a language for writing expert systems, with some of the capabilities of OPS5.
See also C5, OPS83, OPS4, OPS5+, OPS83.
Inference Engine Tech, Cambridge MA.
An OPS5 interpreter in Common LISP (ftp://ftp.wustl.edu/mirrors/Unix-c/languages/ops5).
A version by Mark Kantrowitz (ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/mkant/Public/Lisp/) mkant+@cs.cmu.edu .
[ Programming Expert Systems in OPS5 , L. Brownston et al, A-W 1985].
[ An OPS5 Primer , Sherman et al, comes with OPS5 for DOS].
[ Rule-Based Programming in the Unix System , G.T. Vesonder, AT T Tech J 67(1), 1988].
(1995-08-18)

OPS83
A commercial version of OPS5.

Optical Carrier 12
networking (OC-12) A SONET rate of 12 * 51.84 = 622.08 megabits per second.
[Matches STS-12]?
(1997-05-26)

Optical Carrier 3
networking (OC-3) A SONET rate of 3 * 51.84 = 155.52 megabits per second, which matches STS-3.
(1997-02-05)

Optical Carrier 48
networking (OC-48) A SONET rate of 48 * 51.84 = 2488.32 megabits per second.
[Matches STS-48]?
(1997-05-26)

Optical Carrier n
networking (OC-n) A SONET rate of n times 51.84 megabits per second.
(1997-02-05)

Optical Character Recognition
text (OCR, sometimes /oh'k*/) Recognition of printed or written characters by computer. Each page of text is converted to a digital using a scanner and OCR is then applied to this image to produce a text file. This involves complex image processing algorithms and rarely achieves 100% accuracy so manual proof reading is recommended.
(1999-08-26)

optical diff
vdiff

optical fiber
optical fibre

optical fibre
communications (fibre optics, FO, US fiber , light pipe) A plastic or glass (silicon dioxide) fibre no thicker than a human hair used to transmit information using infra-red or even visible light as the carrier (usually a laser). The light beam is an electromagnetic signal with a frequency in the range of 10^14 to 10^15 Hertz.
Optical fibre is less susceptible to external noise than other transmission media, and is cheaper to make than copper wire, but it is much more difficult to connect. Optical fibres are difficult to tamper with (to monitor or inject data in the middle of a connection), making them appropriate for secure communications. The light beams do not escape from the medium because the material used provides total internal reflection.
AT T Bell Laboratories in the United States managed to send information at a rate of 420 megabits per second, over 161.5 km through an optical fibre cable. In Japan, 445.8 megabits per second was achieved over a shorter distance. At this rate, the entire text of the Encyclopedia Britannica could be transmitted in one second. Currently, AT T is working on a world network to support high volume data transmission, international computer networking, electronic mail and voice communications (a single fibre can transmit 200 million telephone conversations simultaneously).
See also FDDI, Optical Carrier n, SONET.
(1997-05-26)

optical grep
vgrep

Optical Mark Reader
hardware (OMR) A special scanning device that can read carefully placed pencil marks on specially designed documents. OMR is frequenty used in forms, questionnaires, and answer-sheets.
(1995-04-13)

optical mouse
hardware Any kind of mouse that uses visible light or infrared to detect changes in its position.
(1999-07-21)

Optical Time Domain Reflectometer
A device used to perform Optical Time Domain Reflectometry.
(1995-02-01)

Optical Time Domain Reflectometry
Measurement of the elapsed time and intensity of light reflected on optical fibre using an optical time domain reflectometer. The reflectometer can compute the distance to problems on the fibre such as attenuation and breaks, making it a useful tool in optical network trouble-shooting.
(1995-02-01)

optimal
1. mathematics Describes a solution to a problem which minimises some cost function. Linear programming is one technique used to discover the optimal solution to certain problems.
2. programming Of code: best or most efficient in time, space or code size.
(1995-10-05)

optimise
To perform optimisation.

optimising compiler
programming, tool compiler which attempts to analyse the code it produces and to produce more efficient code by performing program transformation such as branch elimination, partial evaluation, or peep-hole optimisation.
Contrast pessimising compiler.
(1995-02-01)

optimism
What a programmer is full of after fixing the last bug and just before actually discovering the *next* last bug. Fred Brooks's book The Mythical Man-Month contains the following paragraph that describes this extremely well.
All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy god-mothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: This time it will surely run, or I just found the last bug. .
See also Lubarsky's Law of Cybernetic Entomology.
[Jargon File]

optimize
optimisation

option
command line option

OPTRAN
Specification language for attributed tree transformation writetn by R. Wilhelm, U Saarlandes in the early 1980's.
[ POPSY and OPTRAN Manual , ESPRIT PROSPECTRA Project Item S.1.6-R.3.0, U Saarlandes (Mar 1986)].

Opus
project, product A Honeywell operating system promised as a sop to customers after canning Multics in 1985. Opus was to provide everything Multics had and more, plus total compatibility with the Level 6/DPS6 operating system.
Opus was a code name, the system was officially named VS3 (short for HVS R3 or Honeywell Virtual System Release Three). It was to run on the DPS6-plus hardware known internally as the MRX and HRX, and be all things to all people.
The hardware was a dud (though it did run the native DPS6 software just fine), and the goal was, shall we say, ambitious. The effort was cancelled by Bull in 1987, in favor of another project going on in France.

OR
logic The Boolean function which is true if any of its arguments are true. Its truth table is:
A | B | A OR B
--+---+---------
F | F | F
F | T | T
T | F | T
T | T | T
(1996-11-04)

Oracle 7
database Version 7 of the Oracle relational database system software.
(1996-11-05)

Oracle Card
tool A Hypercard-like product from Oracle for constructing database applications. It runs on IBM PC and Macintosh.
(1995-03-15)

Oracle*CASE
A set of CASE tools from Oracle.

Oracle Co-operative Applications
tool, product Packaged client/server software from Oracle for accounting, manufacturing, distribution, human resources and project control.

Oracle Corporation
company The world's leading supplier of information management software. The company, worth $2 billion, offers its products, along with related consulting, education and support services in more than 90 countries around the world.
Oracle is best known for its database management systems vendor and relational DBMS products. Oracle develops and markets Oracle Media Server and the Oracle7 family of software products for database management; Co-operative Development Environment and Oracle Co-operative Applications
Oracle software runs on personal digital assistants, set-top boxs, IBM PCs, workstations, minicomputers, mainframes and massively parallel computers.
See also Adaptable User Interface, Bookviewer, CASE*Method, Component Integration Laboratories, DDE Manager, Online Media, Oracle Card, Oracle*CASE, siod.
Home (http://www.oracle.com/)
Address: Redwood Shores, CA, USA.
(1995-03-15)

Oracle Rdb
database A set of relational database products originally known as Rdb from Digital Equipment Corporation, but purchased by Oracle Corporation in 1994. The current (October 1996) versions are Oracle Rdb V7.0 for OpenVMS VAX, Oracle Rdb V7.0 for OpenVMS Alpha, and Oracle Rdb V7.0 for Digital UNIX.
This release of Oracle Rdb includes advances in non-stop computing for business critical applications, improvements to OLTP performance, and easy client/server application development. It also includes an ODBC Driver.
(1996-10-30)

Oracle Toolkit
Adaptable User Interface

Orange Book
security, standard A standard from the US Government National Computer Security Council (an arm of the U.S. National Security Agency), Trusted Computer System Evaluation Criteria, DOD standard 5200.28-STD, December 1985 which defines criteria for trusted computer products. There are four levels, A, B, C, and D. Each level adds more features and requirements.
D is a non-secure system.
C1 requires user log-on, but allows group ID.
C2 requires individual log-on with password and an audit mechanism. (Most Unix implementations are roughly C1, and can be upgraded to about C2 without excessive pain).
Levels B and A provide mandatory control. Access is based on standard Department of Defense clearances.
B1 requires DOD clearance levels.
B2 guarantees the path between the user and the security system and provides assurances that the system can be tested and clearances cannot be downgraded.
B3 requires that the system is characterised by a mathematical model that must be viable.
A1 requires a system characterized by a mathematical model that can be proven.
See also crayola books, book titles.
[Jargon File]
(1997-01-09)

ORB
Object Request Broker

Orbit
A Scheme compiler.
[ Orbit: An Optimising Compiler for Scheme , D.A. Kranz et al, SIGPLAN Notices 21(7):281-292 (Jul 1986)].
(1994-10-28)

Orca
Vrije Universiteit, Amsterdam, 1986. Similar to Modula-2, but with support for distributed programming using shared data objects, like Linda. A 'graph' data type removes the need for pointers. Version for the Amoeba OS, comes with Amoeba. Orca: A Language for Distributed Processing , H.E. Bal bal@cs.vu.nl et al, SIGPLAN Notices 25(5):17-24 (May 1990).

Order Code Processor
processor The ICL 2900, ICL 3900 and above term for CPU .
(1995-05-06)

order-embedding
A function f : D - C is order-embedding iff for all x, y in D,
f(x) = f(y) = x = y.
I.e. arguments and results compare similarly. A function which is order-embedding is monotonic and one-to-one and an injection.
( = is written in LaTeX as sqsubseteq).
(1995-02-03)

ordering
A relation.
See partial ordering, pre-order, total ordering.

ordinal
mathematics An isomorphism class of well-ordered sets.
(1995-03-10)

ordinate
mathematics The y-coordinate on an (x,y) graph; the output of a function plotted against its input.
x is the abscissa .
See Cartesian coordinates.
(1997-07-08)

OREGANO
[ On the Design and Specification of the Programming Language OREGANO , D.M. Berry. UCLA-ENG-7388, 1973].

O'Reilly and Associates
The leading publisher of information on the Internet, Unix, the X Window System and other open systems. They also provide the Global Network Navigator service.
Home page(http://www.ora.com/)
(1995-01-10)

org
networking The top-level domain for organisations or individuals that don't fit any other top-level domain (national, com, edu, or gov). Though many have .org domains, it was never intended to be limited to non-profit organisations.
RFC 1591.
(2001-05-14)

Organic Mode
programming A term used by COCOMO to describe a project that is developed in a familiar, stable environment.
The product is similar to previously developed products. Most people connected with the project have extensive experience in working with related systems and have a thorough understanding of the project. The project contains a minimum of innovative data processing architectures or algorithms. The product requires little innovation and is relatively small, rarely greater than 50,000 DSIs.
(1996-05-29)

Orient84/K
language
[ A Concurrent Object-Oriented Knowledge Representation Language Orient84/K , Y. Ishikawa, Keio U, Yokohama, SIGPLAN Notices 21(11):232-241 OOPSLA '86, Nov 1986].
(1996-05-29)

Original Equipment Manufacturer
company (OEM) A misleading term for a company which repackages equipment, such as computers, made by other companies. Unlike a value added reseller, an OEM does not necessarily add anything except their name to the product. In some cases though they may integrate components into complete systems. OEM arrangements are often made for marketing reasons.
[Origin?]
(2001-04-09)

ORKID
Open Real-time Kernel Interface Definition

ORM
Object Role Modeling

orphaned i-node
/or'f*nd i:'nohd/ [Unix] 1. A file that retains storage but no longer appears in the directories of a file system.
[Jargon File]

orphan process
operating system A Unix process whose original parent has terminated and which has become a child of init(1) .
Compare zombie.
(1996-05-29)

ORTHOCARTAN
mathematics, tool A system for symbolic mathematics, especially General Relativity, written by A. Krasinski of Warsaw in the early 1980s.
(1995-04-12)

orthogonal
geometry At 90 degrees (right angles).
N mutually orthogonal vectors span an N-dimensional vector space, meaning that, any vector in the space can be expressed as a weighted sum of the vectors. This is true of any set of N linearly independent vectors.
The term is used loosely to mean mutually independent or well separated. It is used to describe sets of primitives or capabilities that, like linearly independent vectors in geometry, span the entire capability space and are in some sense non-overlapping or mutually independent. For example, in logic, the set of operators not and or is described as orthogonal, but the set nand , or , and not is not (because any one of these can be expressed in terms of the others).
Also used loosely to mean irrelevant to , e.g. This may be orthogonal to the discussion, but ... , similar to going off at a tangent .
See also orthogonal instruction set.
[Jargon File]
(2002-06-26)

orthogonal instruction set
architecture An instruction set where all (or most) instructions have the same format and all registers and addressing modes can be used interchangeably - the choices of op code, register, and addressing mode are mutually indepentent (loosely speaking, the choices are orthogonal ). This contrasts with some early Intel microprocessors where only certain registers could be used by certain instructions.
Examples include the PDP-11, 680x0, ARM, VAX.
(2002-06-26)

Orwell
Lazy functional language, Miranda-like. List comprehensions and pattern matching. Introduction to Orwell 5.00 , P.L. Wadler et al, Programming Research Group, Oxford U, 1988.

OS
1. operating system.
2. [obsolete, ITS], an output spy. See OS and JEDGAR .
3. operating system An operating system from IBM for their System/360 line of hardware announced in 1964. OS was planned with several flavours that were supposed to be compatible. OS was late, memory hungry and not able to reach the marketing objectives of IBM for the 360/30, the planned successor of the IBM 1401. IBM then decided to design a new operating system for the low end machines which they called DOS/360.
[Jargon File]
(1997-09-22)

OS2
spelling Normally written OS/2 .
[Jargon File]
(1997-05-02)

OS/2
/O S too/ IBM and Microsoft's successor to the MS-DOS operating system for Intel 80286 and Intel 80386-based microprocessors. It is proof that they couldn't get it right the second time either. Often called Half-an-OS . The design was so baroque, and the implementation of 1.x so bad, that 3 years after introduction you could still count the major application programs shipping for it on the fingers of two hands, in unary. Later versions improved somewhat, and informed hackers now rate them superior to Microsoft Windows, which isn't saying much. See second-system effect.
On an Intel 80386 or better, OS/2 can multitask between existing MS-DOS applications. OS/2 is strong on connectivity and the provision of robust virtual machines. It can support Microsoft Windows programs in addition to its own native applications. It also supports the Presentation Manager graphical user interface.
OS/2 supports hybrid multiprocessing (HMP), which provides some elements of symmetric multiprocessing (SMP), using add-on IBM software called MP/2. OS/2 SMP was planned for release in late 1993.
After OS/2 1.x the IBM and Microsoft partnership split. IBM continued to develop OS/2 2.0, while Microsoft developed what was originally intended to be OS/2 3.0 into Windows NT. In October 1994, IBM released version OS/2 3.0 (known as Warp ) but it is only distantly related to Windows NT. This version raised the limit on RAM from 16MB to 1GB (like Windows NT).
IBM introduced networking with OS/2 Warp Connect , the first multi-user version. OS/2 Warp 4.0 ( Merlin ) is a network operating system.
(http://www.mit.edu:8001/activities/os2/os2world.html).
[Dates?]
[Jargon File]
(1995-07-20)

OS/360
Operating System/360

OS/390
operating system An IBM mainframe operating system, featuring integrated MVS, UNIX, LAN, distributed computing and application enablement services through its base elements. These base services enable open, distributed processing and offer a foundation for object-ready application development. The OS/390 base includes a Communication Server that includes VTAM, the VTAM AnyNet feature, TCP/IP and TIOC. It provides SNA (3270), APPC, High Performance Routing, ATM support, sockets and RPC.
OS/390 is basically rebranded, repackaged MVS/OE, CMOS processors, RAMAC disk arrays and open systems extension to networking in VTAM, the principle being that if you can't compete, rebrand what you have and tell everyone it's something new.
Home (http://204.146.133.206/os390/index.html).
(1999-01-20)

OS-9
operating system A real-time operating system written by Microware Corporation. The original version was written about 1978 for the Motorola 6809 and has since been ported to the Motorola 68000, Intel 80386, Intel 486, and the PowerPC. The kernel of OS-9 is ROMable, modular, with a unified file system, allowing it to easily be scaled up or down as required.
FAQ (http://os9archive.rtsi.com/os9faq.html)
User Group (http://www.cs.wisc.edu/~pruyne/os9ugfaq.html)
Usenet newsgroup: news:comp.os.os9.
(1996-04-03)

OSA
Open Scripting Architecture

OSA extension
(OSAX) Any extension to Macintosh OSA.
(1999-01-14)

OSAX
OSA extension

OSCAR
1. Oregon State Conversational Aid to Research. Interactive numerical calculations, vectors, matrices, complex arithmetic, string operations, for CDC 3300. OSCAR: A User's Manual with Examples , J.A. Baughman et al, CC, Oregon State U.
2. Object-oriented language used in the COMANDOS Project. OSCAR: Programming Language Manual , TR, COMANDOS Project, Nov 1988.

OSD
Open Source Definition

OSE
Open Systems Environment

OSF
Open Software Foundation

OSI
1. networking Open Systems Interconnect.
2. Open Source Initiative.
(1999-12-29)

OSI Model
Open Systems Interconnect

OSI Reference Model
Open Systems Interconnect

OSI-RM
Open Systems Interconnect

OSI seven layer model
Open Systems Interconnect

O'small
language A small, concise, formally defined object-oriented language intended for teaching, by Andreas Hense ahense@ahense.de .
O'small requires sml-yacc, sml-lex and sml-noshare. Binaries are provided for SPARC and it is probably portable to other Unix systems. There is also an interpreter in Miranda.
Home (http://www.ahense.de/).
[Christoph Boeschen, Christmas - An abstract machine for O'small . Master's thesis, Universit at des Saarlandes, Fachbereich, 1993-06-14].
(2001-02-11)

OS/MFT
Operating System/Multiprogramming of Fixed Tasks

OS/MVT
operating system One of the IBM operating systems associated with the IBM 360, later rereleased with the IBM S/370 as OS/VS2.
[Details?]
(1999-01-12)

OSP
Optical Signal Processor

OSPF
Open Shortest-Path First Interior Gateway Protocol

OSQL
Object-oriented SQL

OSSL
Operating Systems Simulation Language.
[ OSSL - A Specialized Language for Simulating Computer Systems , P.B. Dewan et al, Proc SJCC 40, AFIPS (Spring 1972)].

OS/VS1
OS/MFT

OS/VS2
operating system An operating system from IBM, released with the IBM S/370 and originally known as OS/MVT. OS/VS2 R1 was known as SVS (Single Virtual Storage) as it had a single 16 MB virtual address space. OS/VS2 R2 was known as MVS - Multiple Virtual Storage.
(1999-01-13)

OT
OpenTransport

OTDR
Optical Time-Domain Reflectometry

OT E
operational test and evaluation

OTI
Open Tool Interface

OTOH
chat On the other hand.
(2000-01-31)

OTP
1. security One-Time Password.
2. protocol Open Trading Protocol.
3. storage, integrated circuit One Time Programmable Read Only Memory.
4. communications, library Open Telecom Platform.
(2001-08-28)

OTPROM
One Time Programmable Read-Only Memory

OTT
Over the top.
Excessive or uncalled for.
(1995-01-31)

Ottawa Euclid
Euclid

Ousterhout, John K.
John Ousterhout

Ousterhout's dichotomy
language John Ousterhout's division of high-level languages into system programming languages and scripting languages . This distinction underlies the design of his language Tcl.
System programming languages (or applications languages ) are strongly typed, allow arbitrarily complex data structures, and programs in them are compiled, and are meant to operate largely independently of other programs. Prototypical system programming languages are C and Modula-2.
By contrast, scripting languages (or glue languages ) are weakly typed or untyped, have little or no provision for complex data structures, and programs in them ( scripts ) are interpreted. Scripts need to interact either with other programs (often as glue) or with a set of functions provided by the interpreter, as with the file system functions provided in a UNIX shell and with Tcl's GUI functions. Prototypical scripting languages are AppleScript, C Shell, MSDOS batch files, and Tcl.
Many believe that this is a highly arbitrary dichotomy, and refer to it as Ousterhout's fallacy or Ousterhout's false dichotomy . While strong-versus-weak typing, data structure complexity, and independent versus stand-alone might be said to be unrelated features, the usual critique of Ousterhout's dichotomy is of its distinction of compilation versus interpretation, since neither semantics nor syntax depend significantly on whether code is compiled into machine-language, interpreted, tokenized, or byte-compiled at the start of each run, or any mixture of these. Many languages fall between being interpreted or compiled (e.g. Lisp, Forth, UCSD Pascal, Perl, and Java). This makes compilation versus interpretation a dubious parameter in a taxonomy of programming languages.
(2002-05-28)

Ousterhout's fallacy
Ousterhout's dichotomy

Ousterhout's false dichotomy
Ousterhout's dichotomy

outer join
database A less commonly used variant of the inner join relational database operation. An inner join selects rows from two tables such that the value in one column of the first table also appears in a certain column of the second table. For an outer join, the result also includes all rows from the first operand ( left outer join , *= ), or the second operand ( right outer join , =* ), or both ( full outer join , *=* ). A field in a result row will be null if the corresponding input table did not contain a matching row.
For example, if we want to list all employees and their employee number, but not all employees have a number, then we could say (in SQL):
SELECT employee.name, empnum.number WHERE employee.id *= empnum.id
The *= means left outer join and means that all rows from the employee table will appear in the result, even if there is no match for their ID in the empnum table.
(2001-03-23)

outline font
text (Or vector font ) A font defined as a set of lines and curves as opposed to a bitmap font. An outline font (e.g. PostScript, TrueType, RISC OS) can be scaled to any size and otherwise transformed more easily than a bitmap font, and with more attractive results, though this requires a lot of numerical processing. The result of transforming a character in an outline font in a particular way is often saved as a bitmap in a font cache to avoid repeating the calculations if that character is to be drawn again.
(1995-03-16)

out-of-band
1. communications The exchange of call control information on a dedicated channel, separate from that used by the telephone call or data transmission.
2. Sometimes used to describe what communications people call shift characters , such as the ESC that leads control sequences for many terminals, or the level shift indicators in the old 5-bit Baudot codes.
3. In personal communication, using methods other than electronic mail, such as telephone or snail-mail.
4. software Values returned by a function that are not in its natural range of return values, but rather signal some kind of exception. Many C functions that normally return a non-negative integer return -1 to indicate failure.
This use confuses out-of-band with out-of-range . It is actually a clear example of in-band signalling since it uses the same channel for control and data.
Compare hidden flag, green bytes, fence.
[Jargon File]
(2001-04-08)

output
architecture Data transferred from a computer system to the outside world via some kind of output device.
Opposite: input.
(1997-04-28)

output device
hardware Electronic or electromechanical equipment connected to a computer and used to transfer data out of the computer in the form of text, images, sounds or other media to a display screen, printer, loudspeaker or storage device. Most modern storage devices such as disk drives and magnetic tape drives act as both input and output devices, others such as CD-ROM are input only.
(1997-03-18)

Outside Awareness Port
humour (OAP) A humorous IBM term for a window (the glass kind) rather than the GUI kind.

outside-in testing
testing A strategy for integration testing where units handling program inputs and outputs are tested first, and units that process the inputs to produce output are incrementally included as the system is integrated. A form of hybrid testing.
(1997-01-07)

outsourcing
business Paying another company to provide services which a company might otherwise have employed its own staff to perform, e.g. software development.
(1995-03-28)

overclocking
hardware Any adjustments made to computer hardware (or software) to make its CPU run at a higher clock frequency than intended by the original manufacturers. Typically this involves replacing the crystal in the clock generation circuitry with a higher frequency one or changing jumper settings or software configuration.
If the clock frequency is increased too far, eventually some component in the system will not be able to cope and the system will stop working. This failure may be continuous (the system never works at the higher frequency) or intermittant (it fails more often but works some of the time) or, in the worst case, irreversible (a component is damaged by overheating). Overclocking may necessitate improved cooling to maintain the same level of reliability.
(1999-09-12)

Overdrive
processor An Intel Pentium processor which fits into a socket designed to accomodate an Intel 486, or into a special upgrade socket on the motherboard.
(1995-03-27)

overflow bit
1. A flag on some processors indicating an attempt to calculate a result too large for the destination register to hold.
2. More generally, an indication of any kind of capacity overload condition. Well, the Ada description was baroque all right, but I could hack it OK until they got to the exception handling ... that set my overflow bit.
3. The hypothetical bit that will be set if a hacker doesn't get to make a trip to the Room of Porcelain Fixtures: I'd better process an internal interrupt before the overflow bit gets set .
[Jargon File]

overflow pdl
The place where you put things when your pdl is full. If you don't have one and too many things get pushed, you forget something. The overflow pdl for a person's memory might be a memo pad. This usage inspired the following doggerel:
Hey, diddle, diddle
The overflow pdl
To get a little more stack;
If that's not enough
Then you lose it all,
And have to pop all the way back.
--The Great Quux
The term pdl seems to be primarily an MITism; outside MIT this term is replaced by overflow stack .

overhead
1. Resources (in computing usually processing time or storage space) consumed for purposes which are incidental to, but necessary to, the main one. Overheads are usually quantifiable costs of some kind.
Examples: The overheads in running a business include the cost of heating the building. Keeping a program running all the time eliminates the overhead of loading and initialising it for each transaction. Turning a subroutine into inline code eliminates the call and return time overhead for each execution but introduces space overheads.
2. communications information, such as control, routing, and error checking characters, that is transmitted along with the user data. It also includes information such as network status or operational instructions, network routing information, and retransmissions of user data received in error.
3. Overhead transparencies or slides (usually 8-1/2 x 11 ) that are projected to an audience via an overhead (flatbed) projector.
(1997-09-01)

overloading
language (Or Operator overloading ). Use of a single symbol to represent operators with different argument types, e.g. - , used either, as a monadic operator to negate an expression, or as a dyadic operator to return the difference between two expressions. Another example is + used to add either integers or floating-point numbers. Overloading is also known as ad-hoc polymorphism.
User-defined operator overloading is provided by several modern programming languages, e.g. C++'s class system and the functional programming language Haskell's type classes.
(1995-04-30)

overriding
programming Redefining in a child class a method or function member defined in a parent class.
Not to be confused with overloading .
(1996-12-21)

overrun
1. A frequent consequence of data arriving faster than it can be consumed, especially in serial line communications. For example, at 9600 baud there is almost exactly one character per millisecond, so if a silo can hold only two characters and the machine takes longer than 2 milliseconds to get to service the interrupt, at least one character will be lost.
2. Also applied to non-serial-I/O communications. I forgot to pay my electric bill due to mail overrun. Sorry, I got four phone calls in 3 minutes last night and lost your message to overrun. When thrashing at tasks, the next person to make a request might be told Overrun! Compare firehose syndrome.
3. More loosely, may refer to a buffer overflow not necessarily related to processing time (as in overrun screw).
[Jargon File]

overrun screw
A variety of fandango on core produced by a C program scribbling past the end of an array (C implementations typically have no checks for this error). This is relatively benign and easy to spot if the array is static; if it is auto, the result may be to smash the stack - often resulting in heisenbugs of the most diabolical subtlety. The term overrun screw is used especially of scribbles beyond the end of arrays allocated with malloc; this typically overwrites the allocation header for the next block in the arena, producing massive lossage within malloc and often a core dump on the next operation to use stdio or malloc itself.
See spam, overrun; see also memory leak, memory smash, aliasing bug, precedence lossage, fandango on core, secondary damage.
(1995-01-19)

overuse strain injury
medical (Or repetitive strain injury , RSI, repetitive strain disorder ) Any tendon or muscle injury resulting from overuse, usually in the hand, wrist, or arm. Injury may be caused by any combination of repetitive, unacustomed, or prolonged movements, forcefulness, or an awkward position (often due to bad ergonomics). The symptoms are pain, tingling, weakness, numbness, swelling, cracking, stiffness, or reduced coordination.
Common conditions are:
Carpal tunnel syndrome, where swelling of the membrane linings in your wrist surrounding the tendons that bend your fingers compresses the median nerve. This may result in numbness and pain in the hand, arm, shoulder, and neck.
Tennis elbow, where rotating your wrist and using force causes a form of epicondylitis.
Tendinitis, where unacustomed exercise or repeated awkward movements inflame wrist, elbow, or shoulder tendons, often leading to severe stiffness.
Trigger finger, a popping or catching sensation when you bend your finger, wrist, or shoulder. This form of tenosynovitis is caused by repetitive hand movements.
To prevent the condition worsening, treat the pain with heat, cold, or aspirin, ibuprofen, or naproxen sodium; rest; or immobilise the injured area with a splint or bandage. See a doctor.
Amara's RSI information (http://www.amara.com/aboutme/rsi.html).
RSI links from Yahoo (http://dir.yahoo.com/Health/Diseases_and_Conditions/Repetitive_Strain_Disorder/).
Guide to Carpal Tunnel Syndrome (http://www.sechrest.com/mmg/cts/).
CTS from Yahoo (http://dir.yahoo.com/Health/Diseases_and_Conditions/Carpal_Tunnel_Syndrome/).
(1999-10-03)

OWHY
language An early functional language(?).
[ A Type-Theoretical Alternative to CUCH, ISWIM, OWHY , Dana Scott, Oxford U 1969].
(1995-01-19)

OWL
1. company Office Workstations Limited.
2. language Object Windows Language.
(1996-01-13)

Owl
The original name of Trellis.
(1995-01-19)

Ox
language, tool A preprocessor, written by Kurt Bischoff of Iowa State University, that extends and generalises the syntax and semantics of Yacc, Lex, and C. Ox's support of LALR1 grammars generalises yacc in the way that attribute grammars generalise context-free grammars. It augments Yacc and Lex specifications with definitions of synthesised and inherited attributes written in C syntax. Ox checks these specifications for consistency and completeness, and generates a program that builds and decorates attributed parse trees. Ox accepts a most general class of attribute grammars. The user may specify postdecoration traversals for easy ordering of side effects such as code generation.
Latest version: G1.01, as of 1993-11-14.
(ftp://ftp.cs.iastate.edu/pub/ox/).
Info: ox-request@cs.iastate.edu .
[ User Manual for Ox: An Attribute-Grammar Compiling System based on Yacc, Lex and C , K.M. Bischoff, TR92-30, Iowa State U, Dec 1992].
(2000-04-03)

Oz
An object-oriented concurrent constraint language from the University of Saarbrucken. Oz is based on constraint communication, a new form of asynchronous communication using logic variables. Partial information about the values of variables is imposed concurrently and incrementally. Supports higher order programming and object-orientation including multiple inheritance.
(ftp:duck.dfki.uni-sb.de/pub/papers)
[ Object-Oriented Concurrent Constraint Programming in Oz , G. Smolka et al].

oz
An old Australian top-level domain and network which got incorporated into the current one. The former Australian domains .oz, .edu and .com are now .oz.au, .edu.au and .com.au.
(1994-10-04)

Oz-Email
company An Internet access provider.
Home (http://www.ozemail.com.au/)
Address: Sydney, Australia.
(1995-03-02)

[ Experience with Remote Procedure Calls in a Real-Time Control System , B. Carpenter et al, Soft Prac Exp 14(9):901-907 (Sep 1984)].

P1754
processor, standard IEEE Std 1754-1994 A 32-Bit Microprocessor Architecture . The IEEE standard defining a version of the SPARC microprocessor architecture.
The P1754 standard (the first microprocessor standard) was approved after four years on 1994-03-17. It is compatible with, but distinct from, SPARC International's 32 bit version of the SPARC Architecture, SPARC V8, from which it is largely derived. It is possible for a processor to comply with neither, one, or both specifications.
SI article (http://www.sparc.com/sparc.new/other/sflash/94-03.html).
(1996-12-21)

p2c
A Pascal to C translator by Dave Gillespie daveg@synaptics.com .
Version 1.20 (ftp://csvax.cs.caltech.edu/)
Supports ANSI/ISO standard Pascal as well as substantial subsets of HP Pascal, Turbo Pascal, VAX, and many other dialects.
(1990-04-13)

P3L
(Superscript 3). A language with explicit parallelism including constructs for farms and geometric parallelism. P3L currently uses C++ as a host language.
[S. Pelagatti, A method for the development and the support of massively parallel programs. PhD Thesis - TD 11/93, University of Pisa, Mar 1993].
(1994-07-15)

P4
A macro/subroutine package for parallel programming by Rusty Lusk lusk@anta.mcs.anl.gov . P4 uses monitors on shared memory machines and message passing on distributed memory machines. It is implemented as a subroutine library for C and Fortran. An enhancement of the Argonne macros , PARMACS.
(ftp://info.mcs.anl.gov/pub/p4t1.2.tar.Z). E-mail: p4@mcs.anl.gov .

P6
processor ( P from Pentium, 6 from 686, the successor to 586 which is what the Pentium would have been had it followed the naming scheme its predecessors) The name for the Pentium Pro during development.
(1995-11-15)

pa
networking The country code for Panama.
(1999-01-27)

PABX
Private Automatic Branch eXchange

PACE
A CPU based on the Nova design, but with 16-bit addressing, more addressing modes and a 10 level stack (like the Intel 8008).
(1994-11-30)

Packard Bell Electronics, Inc.
company A leading US computer vendor.
As recently as 29 November 1995 the Wall Street Journal reported that the company was having financial difficulties and that one of its major suppliers of CPUs, Intel, was about to make a large cash loan, so as to prevent loss of a major customer. Packard Bell is a privately held company and the WSJ also reported that NEC has been rumored to have bought a large minority block of shares to help the company stay in business.
Its computers are sold in major retail outlets in the USA and are available as a bundled package: desktop or tower 486 CPU, single 3.5 inch floppy disk drive, CD-ROM, sound card, 14 inch colour monitor, and 4-8MB of RAM.
1995 end-of-year prices in Computer Currents magazine (a California Bay Area bi-monthly giveaway publication) are US$1500 (approx. 1000 pounds) for a 486 desktop, with 8MB RAM, 420MB hard disk drive, single 3.5 inch floppy drive, 14 inch colour monitor, 2-speed CD-ROM, and 16-bit sound card.
Headquarters: Sacramento, California, USA.
(1996-01-02)

packed decimal
binary coded decimal

Packed Encoding Rules
protocol, standard (PER) ASN.1 encoding rules for producing a compact transfer syntax for data structures described in ASN.1, defined in 1994.
PER provides a much more compact encoding then BER. It tries to represents the data units using the minimum number of bits. The compactness requires that the decoder knows the complete abstract syntax of the data structure to be decoded, however.
Documents: ITU-T X.691, ISO 8825-2.
(1998-05-19)

packet
The unit of data sent across a network. Packet is a generic term used to describe a unit of data at any layer of the OSI protocol stack, but it is most correctly used to describe application layer data units ( application protocol data unit , APDU).
See also datagram, frame.
(1994-11-30)

Packet Assembler/Disassembler
(PAD) Hardware or software device for splitting a data stream into discrete packets for transmission over some medium and then reforming the stream(s) at the receiver.
The term is most often used for interfaces to X.25 lines.
(1995-01-31)

packet driver
networking IBM PC local area network software that divides data into packets which it routes to the network. It also handles incoming data, reassembling the packets so that application programs can read the data as a continuous stream.
FTP Software created the specification for IBM PC packet drivers but Crynwr Software dominate the market and have done the vast majority of the implementations.
Packet drivers provide a simple, common programming interface that allows multiple applications to share a network interface at the data link layer. Packet drivers demultiplex incoming packets among the applications by using the network media's standard packet type or service access point field(s).
The packet driver provides calls to initiate access to a specific packet type, to end access to it, to send a packet, to get statistics on the network interface and to get information about the interface.
Protocol implementations that use the packet driver can coexist and can make use of one another's services, whereas multiple applications which do not use the driver do not coexist on one machine properly. Through use of the packet driver, a user could run TCP/IP, XNS and a proprietary protocol implementation such as DECnet, Banyan's, LifeNet's, Novell's or 3Com's without the difficulties associated with pre-empting the network interface.
Applications which use the packet driver can also run on new network hardware of the same class without being modified; only a new packet driver need be supplied.
There are several levels of packet driver. The first is the basic packet driver, which provides minimal functionality but should be simple to implement and which uses very few host resources. The basic driver provides operations to broadcast and receive packets. The second driver is the extended packet driver, which is a superset of the basic driver. The extended driver supports less commonly used functions of the network interface such as multicast, and also gathers statistics on use of the interface and makes these available to the application. The third level, the high-performance functions, support performance improvements and tuning.
(http://www.crynwr.com/crynwr/home.html).
(1994-12-05)

Packet in Plastic Grid Array
integrated circuit (PPGA) The package used for Intel's Celeron Socket 370 CPU.
[Description?]
(1999-06-24)

Packet InterNet Groper
networking, tool (ping, probably originally contrived to match submariners' term for the sound of a returned sonar pulse) A program used to test reachability of destinations by sending them one, or repeated, ICMP echo requests and waiting for replies. Since ping works at the IP level its server-side is often implemented entirely within the operating system kernel and is thus pretty much the lowest level test of whether a remote host is alive. Ping will often respond even when higher level, TCP-based services cannot.
The term is also used as a verb: Ping host X to see if it is up.
The Unix command ping can be used to do this manually and to measure round-trip delays.
The funniest use of ping was described in January 1991 by Steve Hayman on the Usenet group comp.sys.next. He was trying to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to a NeXT machine, and got tired of having to run back to his console after each cabling tweak to see if the ping packets were getting through. So he used the sound-recording feature on the NeXT, then wrote a script that repeatedly invoked ping, listened for an echo, and played back the recording on each returned packet. Result? A program that caused the machine to repeat, over and over, Ping ... ping ... ping ... as long as the network was up. He turned the volume to maximum, ferreted through the building with one ear cocked, and found a faulty tee connector in no time.
See also ACK, ENQ, traceroute, spray.
Unix manual page: ping(8).
(1995-03-28)

packet radio
communications, radio The use of packet switched communications protocols in large networks (i.e not wireless LANs or Bluetooth) having wireless links to terminals at least. Packet radio is split into amateur packet radio (AX25) and General Packet Radio Service (GRPS).
(2001-05-12)

packet sniffer
networking, tool A network monitoring tool that captures data packets and decodes them using built-in knowledge of common protocols. Sniffers are used to debug and monitor networking problems.
(1995-03-28)

packet-switched
packet switching

packet switching
communications A communications paradigm in which packets (messages or fragments of messages) are individually routed between nodes, with no previously established communication path. Packets are routed to their destination through the most expedient route (as determined by some routing algorithm). Not all packets travelling between the same two hosts, even those from a single message, will necessarily follow the same route.
The destination computer reassembles the packets into their appropriate sequence. Packet switching is used to optimise the use of the bandwidth available in a network and to minimise the latency. X.25 is an international standard packet switching network.
Also called connectionless. Opposite of circuit switched or connection-oriented. See also virtual circuit, wormhole routing.
(1999-03-30)

Packet Switch Node
(PSN) A dedicated computer whose purpose is to accept, route and forward packets in a packet-switched network.
(1994-11-30)

packet writing
storage A technique for writing CD-Rs and CD-RWs that is more efficient in both disk space used and the time it takes to write the CD.
Adaptec's DirectCD is a packet writing recorder for Windows 95 and Windows NT that uses the UDF version 1.5 file system.
[Is this true? How does it work?]
(1999-09-01)

PackIt
file format, tool A file format used on the Apple Macintosh to represent collections of Mac files, possibly Huffman compressed. Packing many small related files together before a MacBinary transfer or a translation to BinHex 4.0 is common practice.
(1994-11-30)

PACT I
An early system on the IBM 701. Version PACT IA was for the IBM 704.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-30)

PACTOLUS
Digital simulation.
[Sammet 1969, p. 627].
(1994-11-30)

PAD
Packet Assembler/Disassembler

padded cell
Where you put lusers so they can't hurt anything. A program that limits a luser to a carefully restricted subset of the capabilities of the host system (for example, the rsh utility on USG Unix). Note that this is different from an iron box because it is overt and not aimed at enforcing security so much as protecting others (and the luser) from the consequences of the luser's boundless naivet'e (see naive). Also padded cell environment .
[Jargon File]
(1994-11-30)

Paddle
A language for transformations leading from specification to program. Used in the POPART programming environment generator.
(1994-11-30)

PAGE
A typesetting language.
[ Computer Composition Using PAGE-1 , J.L. Pierson, Wiley 1972].

page
1. operating system paging.
2. World-Wide Web web page.
(1997-04-10)

paged
paging

Page Description Language
(PDL) A language such as Adobe Systems, Inc.'s PostScript or Xerox's Interpress which allows the appearance of a printed page to be described in a high-level, device-independent way. Printing then becomes a two-stage process: an application program produces a description in the language, which is then interpreted by a specific output device. Such a language can therefore serve as an interchange standard for transmission and storage of printable documents.
(1995-02-20)

Paged Memory Management Unit
Memory Management Unit

page fault
memory management In a paged virtual memory system, an access to a page (block) of memory that is not currently mapped to physical memory. When a page fault occurs the operating system either fetches the page in from secondary storage (usually disk) if the access was legitimate or otherwise reports the access as illegal.
(1995-11-11)

page in
What a paging system does when it copies part of a task's working memory from swap space on disk to RAM.
[Jargon File]
(1995-01-23)

page mode
1. hardware, storage See page mode DRAM.
2. hardware An operation mode of video terminals like the IBM 3270, in which the terminal only sends a completed input screen (page) to the host instead of sending each character as the keys are pressed.
(1995-03-28)

Page Mode DRAM
Page Mode Dynamic Random Access Memory

Page Mode Dynamic Random Access Memory
hardware, storage A technique used to support faster sequential access to DRAM by allowing any number of accesses to the currently open row to be made after supplying the row address just once.
The RAS signal is kept active, and with each falling edge of the CAS signal a new column address can be supplied and the corresponding bits can be accessed. This is faster than a full RAS-CAS cycle because only the shorter Column Access Time needs to be obeyed.
Note that strictly speaking such a DRAM is not a true random access memory since accesses to the open row are faster than to other locations.
EDO RAM is replacing Page Mode DRAM in many new microcomputers.
[Is Fast Page Mode the same as Page Mode ?]
(1996-10-06)

page out
operating system What a paging system does when it copies part of a task's working memory from RAM to swap space on disk.
[Jargon File]
(1995-01-23)

pager
1. hardware, communications (Or beeper , bleeper (UK?)) A small wireless receiver that, when triggered (generally via phone), will beep or vibrate (un)pleasantly. The wearer will have been trained to respond to this signal by looking at a small screen on the device for an unimportant message.
In recent years, pagers have grown more complex, allowing for long alphanumeric messages to be received and scrolled though (as opposed to earlier models, which supported only short numeric messages); at the same time as pager functions are integrated into some PDAs. If this trend continues, the distinction between PDAs and high-end pagers will disappear.
Short Message Service allows a mobile phone to display a message, just like an alphanumeric pager.
2. tool A program for viewing a text file a screenful at a time via a text terminal, as opposed to scrolling through it in a GUI window, or catting it all at once to the terminal.
The best known pagers are more, less, pg and list.com.
(1997-09-11)

paging
operating system A technique for increasing the memory space available by moving infrequently-used parts of a program's working memory from RAM to a secondary storage medium, usually disk. The unit of transfer is called a page.
A memory management unit (MMU) monitors accesses to memory and splits each address into a page number (the most significant bits) and an offset within that page (the lower bits). It then looks up the page number in its page table. The page may be marked as paged in or paged out. If it is paged in then the memory access can proceed after translating the virtual address to a physical address. If the requested page is paged out then space must be made for it by paging out some other page, i.e. copying it to disk. The requested page is then located on the area of the disk allocated for swap space and is read back into RAM. The page table is updated to indicate that the page is paged in and its physical address recorded.
The MMU also records whether a page has been modified since it was last paged in. If it has not been modified then there is no need to copy it back to disk and the space can be reused immediately.
Paging allows the total memory requirements of all running tasks (possibly just one) to exceed the amount of physical memory, whereas swapping simply allows multiple processes to run concurrently, so long as each process on its own fits within physical memory.
(1996-11-22)

PaiLisp
language A parallel Lisp built on Scheme in 1986.
[ A Parallel Lisp Language PaiLisp and its Kernel Specification , T. Ito et al, in Parallel Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989].
(1995-01-30)

pain in the net
flamer

Paintbrush
graphics, tool A Microsoft Windows tool for creating bitmap graphics.
(1996-08-26)

PAISley
An operational specification language from Bell Labs.
[ An Operational Approach to Requirements Specification for Embedded Systems , P. Zave, IEEE Trans Soft Eng SE-8(3):250-269 (May 1982)].
(1995-01-30)

PAL
1. language Paradox Application Language.
2. For the AVANCE distributed persistent operating system.
[ PAL Reference Manual , M. Ahlsen et al, SYSLAB WP-125, Stockholm 1987].
[ AVANCE: An Object Management System , A. Bjornerstedt et al, SIGPLAN Notices 23(11):206-221 (OOPSLA '88) (Nov 1988)].
[What is it?]
3. language An object-oriented Prolog-like language.
[ Inheritance Hierarchy Mechanism in Prolog , K. Akama, Proc Logic Prog '86, LNCS 264, Springer 1986, pp. 12-21].
4. language PDP Assembly Language.
5. language Pedagogic Algorithmic Language.
6. hardware, integrated circuit Programmable Array Logic.
7. television phase alternating line.
(2001-04-02)

Palace
virtual reality, chat A proprietary multi-user virtual reality-like talk system.
The Palace is distinguished from most other VR-like systems in that it is only two-dimensional rather than three; rooms, avatars, and props are made up of relatively small 2D bitmap images.
Palace is a crude hack, or lightweight, depending on your point of view.
Home (http://www.thepalace.com/).
(1997-09-14)

palette
colour palette

palmtop
computer (Or pocket computer , Hand-held Personal Computer , H/PC) A small general-purpose, programmable, battery-powered computer cabable of handling both numbers and text (in contrast to most pocket calculators) which can be operated comfortably while held in one hand. A palmtop is usually loaded with an operating system such as Windows CE. Data can be transferred between the palmtop and a desktop PC.
A palmtop is very similar to a Personal Digital Assistant though a palmptop may have a larger keyboard and more RAM and is possibly more general purpose in concept, if not in practise.
The Psion Organiser is one of the best known examples. [Was it the first?]
(1998-04-19)

Palo Alto Research Center
XEROX PARC

Palo Alto Research Centre
XEROX PARC

PAM
Pluggable Authentication Module

Pam
language A toy ALGOL-like language used in Formal Specification of Programming Languages: A Panoramic Primer , F.G. Pagan, P-H 1981.
(1996-12-23)

Pandora
language Parlog extended to allow don't-know nondeterminism.
[ Pandora: Non-Deterministic Parallel Logic Programming , R. Bahgat et al, Proc 6th Intl Conf Logic Programming, MIT Press 1989 pp. 471-486].
(1995-04-27)

panic
1. operating system What Unix does when a critical internal consistency checks fails in such a way that Unix cannot continue. The kernel attempts to print a short message on the console and write an image of memory into the swap area on disk. This can be analysed later using adb. The kernel will then either wait in a tight loop until the machine is rebooted or will initiate an automatic reboot.
Unix manual page: panic(8).
2. Action taken by software which discovers some fatal problem which prevents it from continuing to run.
(1995-03-01)

PANON
A family of pattern-directed string processing languages based on generalised Markov algorithms.
PANON-1 is based on simple generalised Markov algorithms and PANON-2 on conditional functional generalised Markov algorithms.
[ String Processing Languages and Generalized Markov Algorithms , A. C. Forino, Proc IFIP Working Conf on Symb Manip Languages, pp.141-206, Amsterdam 1968].

PANS
Pretty Amazing New Stuff.

Pansophic
A US Software Engineering company.

Pantone
graphics A set of standard colours for printing, each of which is specified by a single number. You can buy a Pantone swatch book containing samples of each colour. Some computer graphics software allows colours to be specified as Pantone numbers. Even though a computer monitor can only show an approximation to some of the colours, the software can output a colour separation for each different Pantone colour, enabling a print shop to exactly reproduce the original desired colour.
(1996-03-23)

PAP
1. networking, protocol, security Password Authentication Protocol.
2. networking, protocol, printer Printer Access Protocol.
(1996-03-23)

Paper Feed Control Character
(PFCC) An obscure mechanism used in Fortran run-time systems whereby the first character of a line of output to a line-printer caused various actions after the line was printed:
spacereturn newline 0return newline return newline 1form-feed +return

papermail
snail mail

paper-net
snail mail

paraconsistent probability
logic A notion introduced by Florentin Smarandache: The probability (T, I, F) that an event occurs is calculated from different sources which may be contradictory or may overlap information; here T, I, F are real subsets representing the truth, indeterminacy, and falsity percentages respectively, and n_sup = sup(T)+sup(I)+sup(F) 100.
[ Neutrosophy / Neutrosophic probability, set, and logic , F. Smarandache, American Research Press, 1998].
See neutrosophic probability
(2001-01-20)

PARADE
PARallel Applicative Database Engine. A project at Glasgow University to construct a transaction-processor in the parallel functional programming language Haskell to run on an ICL EDS+ database machine.

PARADIGM PLUS
A configurable object-oriented CASE tool from Proto Soft.

Paradigms of AI Programming
A book by Peter Norvig with Scheme and Prolog interpreters and compilers in Common Lisp.
(ftp://Unix.sri.com/pub/norvig/)
[ Paradigms of AI Programming , Peter Norvig].

Paradise
Paradise is a subsystem (a set of packages) developed to implement inter-processes, inter-tasks and inter-machine communication for Ada programs under Unix. This subsystem gives the user full access to files, pipes, sockets (both Unix and Internet) and pseudo-devices.
Paradise has been ported to Sun, DEC, Sony MIPS, Verdex compiler, DEC compiler, Alsys/Systeam compiler.
Version 2.0 of the library (ftp://cnam.cnam.fr/pub/Ada/Paradise). E-mail: paradise-info@cnam.cnam.fr .
(1992-09-30)

Paradox
database A relational database for Microsoft Windows, originally from Borland.
Paradox 5 ran on Microsoft Windows [version?] and provided a graphical environment, a debugger, a data modelling tool, and many ObjectPAL commands.
Paradox 7 ran under Windows 95 and Windows NT.
Latest version: Paradox 9, as of 2000-02-10 (a Corel product).
Home (http://www.corel.com/paradox9/index.htm).
[Update?]
(1996-05-27)

paradox
logic An apparently sound argument leading to a contradiction.
Some famous examples are Russell's paradox and the liar paradox. Most paradoxes stem from some kind of self-reference.
Smarandache Linguistic Paradox (http://www.gallup.unm.edu/~smarandache/Paradox.htm).
(1999-11-05)

Paradox Application Language
(PAL) The programming language for Paradox, Borland's relational database.
(1995-01-26)

Paragon
Mark Sherman. IEEE Software (Nov 1991).

Paralation
PARALlel reLATION. Sabot, MIT 1987. A framework for parallel programming. A field is an array of objects, placed at different sites. A paralation is a group of fields, defining nearness between field elements. Operations can be performed in parallel on every site of a paralation.
[ The Paralation Model: Architecture Independent Programming , G.W. Sabot gary@think.com , MIT Press 1988].

Paralation C
Paralation embedded in C. Under development.

Paralation LISP
Embeds the paralation model in Common LISP. Available from MIT Press, (800)356-0343.

ParAlfl
Hudak, Yale. Parallel functional language, a superset of Alfl. Used by the Alfalfa system on Intel iPSC and Encore Multimax.
[ Para-Functional Programming , P. Hudak, Computer 19(8):60-70 (Aug 1986)].
[ Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor , B. Goldberg P. Hudak, TR, Yale U, Nov 1986].

Parallaxis
language A procedural programming language developed by Thomas Braeunl braunl@ee.uwa.edu.au at the University of Stuttgart. It is based on Modula-2, but extended for data parallel (SIMD) programming. The main approach for machine independent parallel programming is to include a description of the virtual parallel machine with each parallel algorithm.
There is a simulator and X Window System-based profiler for workstations, Macintosh, and IBM PC.
Version 2.0 runs on MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000.
Home (http://www.ee.uwa.edu.au/~braunl/parallaxis/).
[ User Manual for Parallaxis Version 2.0 , T. Braunl, U Stuttgart].
(2000-05-31)

Parallel C
1. language, parallel Never implemented, but influenced the design of C*. [Details?]
2. C for the transputer by 3L.
3. (PC) Extensions to C developed at the University of Houston providing a shared memory SIMD model on message passing computers.
(ftp://karazm.math.uh.edu/pub/Parallel/Tools/pc.1.1.1.tar.Z)
E-mail: Ridgway Scott scott@uh.edu .
(1995-03-21)

parallel computer
parallel processor

parallel computing
parallel processing

Parallel FORTH
Forth For the MPP.

Parallel Fortran
language (Pfortran) Extensions to Fortran by Ridgway Scott scott@uh.edu of Houston University. Pfortran provides a shared memory SIMD model on message passing computers.
It was under development in 1994.
[ Pfortran: A Parallel Dialect of Fortran , L.R. Scott, Fortran Forum 11(3):20-31, Sep 1992].
(1994-11-08)

Parallel Haskell
language, parallel (pH) A parallel variant of Haskell incorporating ideas from Id and Sisal. pH is under development.
Mailing list: pH@abp.lcs.mit.edu.
(1995-03-31)

parallelism
1. parallel processing.
2. parallel The maximum number of independent subtasks in a given task at a given point in its execution. E.g. in computing the expression
(a + b) *
(c + d) the expressions a, b, c and d can all be calculated in parallel giving a degree of parallelism of (at least) four. Once they have been evaluated then the expressions a + b and c + d can be calculated as two independent parallel processes.
The Bernstein condition states that processes P and Q can be executed in parallel (or in either sequential order) only if:
(i) there is no overlap between the inputs of P and the outputs of Q and vice versa and
(ii) there is no overlap between the outputs of P, the outputs of Q and the inputs of any other task.
If process P outputs value v which process Q reads then P must be executed before Q. If both processes write to some variable then its final value will depend on their execution order so they cannot be executed in parallel if any other process depends on that variable's value.
(1995-05-07)

Parallel Pascal
language A data-parallel language, similar to Actus and Glypnir.
[ Parallel Pascal: An Extended Pascal for Parallel Computers , A. Reeves, J Parallel Dist Computing 1:64-80 (1984)].
(1995-05-07)

parallel port
hardware An interface from a computer system where data is transferred in or out in parallel, that is, on more than one wire. A parallel port carries one bit on each wire thus multiplying the transfer rate obtainable over a single wire. There will usually be some control signals on the port as well to say when data is ready to be sent or received.
The commonest kind of parallel port is a printer port, e.g. a Centronics port which transfers eight bits at a time. Disks are also connected via special parallel ports, e.g. SCSI or IDE.
(1995-01-24)

Parallel Presence Detect
presence detect

parallel processing
parallel The simultaneous use of more than one computer to solve a problem. There are many different kinds of parallel computer (or parallel processor ). They are distinguished by the kind of interconnection between processors (known as processing elements or PEs) and between processors and memory. Flynn's taxonomy also classifies parallel (and serial) computers according to whether all processors execute the same instructions at the same time ( single instruction/multiple data - SIMD) or each processor executes different instructions ( multiple instruction/multiple data - MIMD).
The processors may either communicate in order to be able to cooperate in solving a problem or they may run completely independently, possibly under the control of another processor which distributes work to the others and collects results from them (a processor farm ). The difficulty of cooperative problem solving is aptly demonstrated by the following dubious reasoning:
If it takes one man one minute to dig a post-hole then sixty men can dig it in one second.
Amdahl's Law states this more formally.
Processors communicate via some kind of network or bus or a combination of both. Memory may be either shared memory (all processors have equal access to all memory) or private (each processor has its own memory - distributed memory ) or a combination of both.
A huge number of software systems have been designed for programming parallel computers, both at the operating system and programming language level. These systems must provide mechanisms for partitioning the overall problem into separate tasks and allocating tasks to processors. Such mechanisms may provide either implicit parallelism - the system (the compiler or some other program) partitions the problem and allocates tasks to processors automatically or explicit parallelism where the programmer must annotate his program to show how it is to be partitioned. It is also usual to provide synchronisation primitives such as semaphores and monitors to allow processes to share resources without conflict.
Load balancing attempts to keep all processors busy by moving tasks from heavily loaded processors to less loaded ones.
Communication between tasks may be either via shared memory or message passing. Either may be implemented in terms of the other and in fact, at the lowest level, shared memory uses message passing since the address and data signals which flow between processor and memory may be considered as messages.
See also cellular automaton.
Usenet newsgroup: news:comp.parallel.
Institutions (http://www.ccsf.caltech.edu/other_sites.html), research groups (http://www.cs.cmu.edu/~scandal/research-groups.html).
(1996-04-23)

parallel processor
parallel A computer with more than one central processing unit, used for parallel processing.
(1996-04-23)

parallel random access machine
parallel (PRAM) An idealised parallel processor consisting of P processors, unbounded shared memory, and a common clock. Each processor is a random access machine (RAM) consisting of R registers, a program counter, and a read-only signature register. Each RAM has an identical program, but the RAMs can branch to different parts of the program. The RAMs execute the program synchronously one instruction in one clock cycle.
See also pm2.
(1997-06-04)

parallel reduction
A form of applicative order reduction in which all redexes in an expression are reduced simultaneously. Variants include parallel outermost reduction and lenient reduction. See normal order reduction.

Parallel SML
[ Parallel SML: A Functional Language and its Implementation in Dactl , Kevin Hammond, Pitman Press 1990].

Parallel Sysplex
operating system A Sysplex that uses one or more coupling facilities.
Home (http://www.s390.ibm.com/products/pso/psohp.html).
(1996-11-21)

Parallel Virtual Machine
parallel, networking, tool (PVM) 1. A software system designed to allow a network of heterogeneous machines to be used as a single distributed parallel processor.
PVM was developed by the University of Tennessee, The Oak Ridge National Laboratory and the Emory University.
Home (http://www.epm.ornl.gov/pvm/).
Usenet newsgroup: news:comp.parallel.pvm.
2. The intermediate language used by the Gambit compiler for Scheme.
[And Multilisp?]
(1995-01-30)

param
formal argument

parameter
formal argument

parameter RAM
(PRAM) A small memory in a Macintosh with a battery power supply which stores system parameters (desktop pattern, selectable memory configuration, etc.) when the computer is turned off.
(1995-10-08)

parametric polymorphism
See polymorphism.

paraML
An extension of Standard ML which supports coarse-grained parallelism. Peter Bailey, while at the Edinburgh Parallel Computing Centre at University of Edinburgh, has implemented of Murray Cole's original four skeletons in paraML.
See also Skel-ML.

paranoid programming
programming A programming style that tries to prepare for the worst external conditions, including incorrect input, resource limitations, hardware and software failure and even can't happen errors, to the fullest possible extent. While some believe in the motto professional programming is paranoid programming , the expression usually has the connotation that the efforts are unnecessary or too costly ( Maybe this code is just paranoid programming, but I think it is necessary to avoid a possible overflow condition .)
(2001-01-27)

ParaSoft Corp
Distributors of the message passing system Express.
(ftp://ftp.parasoft.com/). Telephone: +1 (818) 792-9941. E-mail: support@parasoft.com .
(1994-10-19)

Parasol
Parallel Systems Object Language.
An object-oriented language which supports network and parallel computing. It has modules and exceptions.
[ The Parasol Programming Language , R. Jervis hjervis!rbj@uunet.uu.net , Dr Dobbs J, Oct 1993, pp. 34-41].
(1995-01-26)

PARC
XEROX PARC

ParcPlace Systems
company A company spun-off from Xerox PARC that developed the original version of VisualWorks.
(2002-04-15)

parent
mathematics, data (Or mother , precedessor ) In a tree, a node which points to at least one daughter node.
(1998-11-14)

parentheses
See left parenthesis, right parenthesis.
(1997-12-03)

parent message
messaging What a followup follows up.
[Jargon File]
(1997-12-03)

parent process
operating system The Unix process that created one or more other processes.
Every process except process 0 is created when another process executes the fork system call. The process that invoked fork is the parent process, and the newly created process is the child process. Every process has one parent process, but can have many child processes.
The kernel identifies each process by its process identifier (PID). Process 0 is a special process that is created when the system boots; after forking a child process (process 1), process 0 becomes the swapper process. Process 1, known as init, is the ancestor of every other process in the system and enjoys a special relationship with them.
(1997-12-03)

Pari
mathematics, tool A system for symbolic mathematics, especially number theory.
Version 1.37 for Unix, Macintosh, MS-DOS, Amiga.
E-mail: pari@alioth.greco-prog.fr .
(ftp://math.ucla.edu/pub/pari)
(1995-04-12)

Paris
PARallel Instruction Set.
A low-level language for the Connection Machine.
(1995-02-16)

parity
storage, communications An extra bit added to a byte or word to reveal errors in storage (in RAM or disk) or transmission. Even (odd) parity means that the parity bit is set so that there are an even (odd) number of one bits in the word, including the parity bit. A single parity bit can only reveal single bit errors since if an even number of bits are wrong then the parity bit will not change. Moreover, it is not possible to tell which bit is wrong, as it is with more sophisticated error detection and correction systems.
See also longitudinal parity, checksum, cyclic redundancy check.
(1996-03-01)

parity bit
storage, communications An extra bit added to a byte or word to reveal errors.
See parity.
(1996-03-01)

parity error
storage, communications An error discovered by the inclusion of a parity bit.
(1996-03-01)

Parkinson's Law of Data
Data expands to fill the space available for storage ; buying more memory encourages the use of more memory-intensive techniques. It has been observed over the last 10 years that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars also tends to double about once every 12 months (see Moore's Law); unfortunately, the laws of physics guarantee that the latter cannot continue indefinitely.
[Jargon File]

Park-Miller
A pseudo-random number generation algorithm which was discredited by Marsaglia and Steve Sullivanin in the July 1993 CACM.
[CACM Oct 1988].

Parlance
A concurrent language.
[ Parallel Processing Structures: Languages, Schedules, and Performance Results , P.F. Reynolds, PhD Thesis, UT Austin 1979].
(1994-12-12)

Parlog
Clark Gregory, Imperial College 1983. An AND-parallel Prolog, with guards and committed choice nondeterminism (don't care nondeterminism). Shallow backtracking only.
Implementations: MacParlog and PC-Parlog from Parallel Logic Programming Ltd., Box 49 Twickenham TW2 5PH, UK.
See also SPM.
(ftp://ftp.inria.fr/lang/Parlog.tar.Z). E-mail: parlog@doc.ic.ac.uk .
[ Parlog: A Parallel Logic Programming Language , K.L. Clark and S. Gregory, Imperial College, London, May 1983]. ( Parlog83 , in which the ouput mechanism was assignment).
[ Parallel Logic Programming in PARLOG, The Language and Its Implementation , S. Gregory, A-W 1987]. ( Parlog86 , in which the output mechanism was unification, as in GHC). (See Strand).

Parlog++
An object-oriented extension to MacParlog. It combines object-oriented and parallel logic programming, giving the benefits of both paradigms within a single coherent development environment.
Andrew Davison ad@cs.mu.oz.au , then Imperial College now U Melbourne. Object orientation plus parallel logic, built on top of MacParlog.
Parlog++: A Parlog Object-Oriented Language , A. Davison, Parlog Group, Imperial College 1988. Sold by PLP Ltd. E-mail: parlog@doc.ic.ac.uk .

parm
/parm/ Further-compressed form of param. This term is an IBMism, and written use is almost unknown outside IBM shops; spoken /parm/ is more widely distributed, but the synonym arg is favoured among hackers. Compare var.
[Jargon File]

PARMACS
The Argonne macros from Argonne National Laboratory. A package of macros written in m4 for portable parallel programming, using monitors on shared memory machines, and message passing on distributed memory machines.
[E. Lusk et al, Portable Programs for Parallel Processors , HRW 1987. p4].
(ftp://research.att.com/netlib/parmacs)

ParMod
Parallel Programming with ParMod , S. Eichholz, Proc 1987 Intl Conf on Parallel Proc, pp.377-380.

PARS
Programmable Airline Reservation System

PARSEC
Extensible language with PL/I-like syntax, derived from PROTEUS. PARSEC User's Manual , Bolt Beranek Newman (Dec 1972).

parser
language An algorithm or program to determine the syntactic structure of a sentence or string of symbols in some language. A parser normally takes as input a sequence of tokens output by a lexical analyser. It may produce some kind of abstract syntax tree as output. One of the best known parser generators is yacc.
(1997-07-21)

parser generator
A program which takes a formal description of a grammar (e.g. in BNF) and outputs source code for a parser which will recognise valid strings obeying that grammar and perform associated actions. Unix's yacc is a well known example.

parsing
parser

Parsley
A Pascal extension for construction of parse trees, by Barber of Summit Software. It features Iterators.
[ PARSLEY: A New Compiler-Compiler , in Software Development Tools, Techniques and Alternatives, Arlington VA, Jul 1983, pp.232-241].
(1995-02-22)

Partial Differential Equation LANguage
(PDELAN)
[ An Extension of Fortran Containing Finite Difference Operators , J. Gary et al, Soft Prac Exp 2(4) (Oct 1972)].

partial equivalence relation
(PER) A relation R on a set S where R is symmetric (x R y = y R x) and transitive (x R y R z = x R z) and where there may exist elements in S for which the relation is not defined. A PER is an equivalence relation on the subset for which it is defined, i.e. it is also reflexive (x R x).

partial evaluation
compiler, algorithm (Or specialisation ) An optimisation technique where the compiler evaluates some subexpressions at compile-time. For example,
pow x 0 = 1 pow x n = if even n
then pxn2 * pxn2
else x * pow x (n-1) where pxn2 = pow x (n/2) f x = pow x 5
Since n is known we can specialise pow in its second argument and unfold the recursive calls:
pow5 x = x * x4 where x4 = x2 * x2
x2 = x * x f x = pow5 x
pow5 is known as the residual. We could now also unfold pow5 giving:
f x = x * x4 where x4 = x2 * x2
x2 = x * x
It is important that the partial evaluation algorithm should terminate. This is not guaranteed in the presence of recursive function definitions. For example, if partial evaluation were applied to the right hand side of the second clause for pow above, it would never terminate because the value of n is not known.
Partial evaluation might change the termination properties of the program if, for example, the expression (x * 0) was reduced to 0 it would terminate even if x (and thus x * 0) did not.
It may be necessary to reorder an expression to partially evaluate it, e.g.
f x y = (x + y) + 1 g z = f 3 z
If we rewrite f:
f x y = (x + 1) + y
then the expression x+1 becomes a constant for the function g and we can say
g z = f 3 z = (3 + 1) + z = 4 + z
Partial evaluation of built-in functions applied to constant arguments is known as constant folding.
See also full laziness.
(1999-05-25)

partial function
A function which is not defined for all arguments of its input type. E.g.
f(x) = 1/x if x /= 0.
The opposite of a total function. In denotational semantics, a partial function
f : D - C
may be represented as a total function
ft : D' - lift(C)
where D' is a superset of D and
ft x = f xif x in D ft x = bottomotherwise
where lift(C) = C U bottom. Bottom (LaTeX perp) denotes undefined .
(1995-02-03)

partial key
database A key which identifies a subset of a set of information items (e.g. database records ), and which could narrow the subset to one item if other partial key(s) were combined with it.
(1997-04-26)

partially ordered set
A set with a partial ordering.

partial ordering
A relation R is a partial ordering if it is a pre-order (i.e. it is reflexive (x R x) and transitive (x R y R z = x R z)) and it is also antisymmetric (x R y R x = x = y). The ordering is partial, rather than total, because there may exist elements x and y for which neither x R y nor y R x.
In domain theory, if D is a set of values including the undefined value (bottom) then we can define a partial ordering relation = on D by
x = y if x = bottom or x = y.
The constructed set D x D contains the very undefined element, (bottom, bottom) and the not so undefined elements, (x, bottom) and (bottom, x). The partial ordering on D x D is then
(x1,y1) = (x2,y2) if x1 = x2 and y1 = y2.
The partial ordering on D - D is defined by
f = g if f(x) = g(x) for all x in D.
(No f x is more defined than g x.)
A lattice is a partial ordering where all finite subsets have a least upper bound and a greatest lower bound.
( = is written in LaTeX as sqsubseteq).
(1995-02-03)

Partial Response Maximum Likelihood
storage (PRML) A method for converting the weak analog signal from the head of a magnetic disk drive into a digital signal. PRML attempts to correctly interpret even small changes in the analog signal, whereas peak detection relies on fixed thresholds. Because PRML can correctly decode a weaker signal it allows higher density recording.
For example, PRML would read the magnetic flux density pattern 70, 60, 55, 60, 70 as binary 101 , and the same for 45, 40, 30, 40, 45. A peak detector would decode everything above, say, 50 as high, and below 50 as low, so the first pattern would read 111 and the second as 000 .
(1996-12-27)

partition
1. storage A logical section of a disk. Each partition normally has its own file system. Unix tends to treat partitions as though they were separate physical entities.
2. mathematics A division of a set into subsets so that each of its elements is in exactly one subset.
(1996-12-09)

PARTS
Digitalk. Visual language for OS/2 2.0.

@-party
event /at'par-tee/ (Or @-sign party /at'si:n par'tee/, from the @ sign in an electronic mail address) A semi-closed party thrown for hackers at a science-fiction convention (especially the annual Worldcon); one must have an electronic mail address to get in, or at least be in company with someone who does. One of the most reliable opportunities for hackers to meet face-to-face with people who might otherwise be represented by mere phosphor dots on their screens.
Compare boink.
[Jargon File]
(1996-05-08)

PARULEL
The PARULEL Parallel Rule Language , S. Stolfo et al, Proc 1991 Intl Conf Parallel Proc, CRC Press 1991, pp.36-45.

PASC
Perceptional Adaptive Subband Coding

Pascal
language (After the French mathematician Blaise Pascal (1623-1662)) A programming language designed by Niklaus Wirth around 1970. Pascal was designed for simplicity and for teaching programming, in reaction to the complexity of ALGOL 68. It emphasises structured programming constructs, data structures and strong typing. Innovations included enumeration types, subranges, sets, variant records, and the case statement. Pascal has been extremely influential in programming language design and has a great number of variants and descendants.
ANSI/IEEE770X3.97-1993 is very similar to ISO Pascal but does not include conformant arrays.
ISO 7185-1983(E). Level 0 and Level 1. Changes from Jensen Wirth's Pascal include name equivalence; names must be bound before they are used; loop index must be local to the procedure; formal procedure parameters must include their arguments; conformant array schemas.
An ALGOL-descended language designed by Niklaus Wirth on the CDC 6600 around 1967--68 as an instructional tool for elementary programming. This language, designed primarily to keep students from shooting themselves in the foot and thus extremely restrictive from a general-purpose-programming point of view, was later promoted as a general-purpose tool and, in fact, became the ancestor of a large family of languages including Modula-2 and Ada (see also bondage-and-discipline language). The hackish point of view on Pascal was probably best summed up by a devastating (and, in its deadpan way, screamingly funny) 1981 paper by Brian Kernighan (of K R fame) entitled Why Pascal is Not My Favourite Programming Language , which was turned down by the technical journals but circulated widely via photocopies. It was eventually published in Comparing and Assessing Programming Languages , edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984). Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after ten years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. At the end of a summary of the case against Pascal, Kernighan wrote:
9. There is no escape
This last point is perhaps the most important. The language is inadequate but circumscribed, because there is no way to escape its limitations. There are no casts to disable the type-checking when necessary. There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the standard procedures . The language is closed.
People who use Pascal for serious programming fall into a fatal trap. Because the language is impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, Fortran-like COMMON, string data types, internal static variables, initialisation, octal numbers, bit operators, etc., all add to the utility of the language for one group but destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond its original target. In its pure form, Pascal is a toy language, suitable for teaching but not for real programming.
Pascal has since been almost entirely displaced (by C) from the niches it had acquired in serious applications and systems programming, but retains some popularity as a hobbyist language in the MS-DOS and Macintosh worlds.
See also Kamin's interpreters, p2c.
[ The Programming Language Pascal , N. Wirth, Acta Informatica 1:35-63, 1971].
[ PASCAL User Manual and Report , K. Jensen N. Wirth, Springer 1975] made significant revisions to the language.
[BS 6192, Specification for Computer Programming Language Pascal , British Standards Institute 1982].
[Jargon File]
(1996-06-12)

Pascal-
Pascal subset used in Brinch Hansen on Pascal Compilers, P. Brinch Hansen, P-H 1985.
[Jargon File]

Pascal-80
A successor of Platon. Developed at RC International for systems programming. Later it was renamed Real-Time Pascal. PASCAL80 Report , J. Staunstrup, RC Intl, Denmark Jan 1980.

Pascal+CSP
Pascal+CSP, Merging Pascal and CSP in a Parallel Processing Oriented Language , J. Adamo, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.542-547.

Pascal-F
Pascal extended to include fixed-point arithmetic. E. Nelson, Pascal-F: Programming Language for Real-Time Automotive Control , IEEE ElectroTechnol. Rev. (USA), 2:39, 1968.

Pascal-FC
A Pascal derived from Pascal-S which provides several types of concurrency: semaphores, monitors, both occam/CSP-style and Ada-style rendezvous.
[ The Teaching Language Pascal-FC , G.L. Davies et al, Computer J 33(2):147-154 (Apr 1990)].
(1994-11-02)

Pascal/L
A SIMD parallel extension of Pascal.
[ Implementation of an Array and Vector Processing Language , C. Fernstrom, Intl Conf Parallel Proc, IEEE, pp.113-127 (1982)].
(1994-11-02)

Pascal-Linda
Ian Flockhart, U Edinburgh, 1991. Under development.

Pascal-m
[ Pascal-m: A Language for Loosely Coupled Distributed Systems , S. Abramsky et al in Distributed Computing Systems, Y. Paker et al eds, Academic Press 1986, pp. 163-189].
(1994-11-02)

Pascal-P
The variant of Pascal used by the UCSD p-system environment. It has extended string and array operations, random access files and separate compilation. It uses P-code intermediate code and is available from Pecan.
(1994-11-02)

Pascal P4
compiler and interpreter
Version ? 1
compiler, assembler/interpreter, documentation
Urs Ammann, Kesav Nori, Christian Jacobi
(ftp://ftp.cwi.nl/pascal/)
A compiler for Pascal written in Pascal, producing an intermediate code, with an assembler and interpreter for the code.
reference: Pascal Implementation, by Steven Pemberton and Martin Daniels, published by Ellis Horwood, Chichester, UK (an imprint of Prentice Hall), ISBN: 0-13-653-0311. Also available in Japanese.
E-mail: Steven.Pemberton@cwi.nl .
(1993/07/05)

Pascal Plus
language Pascal with extensions for object-oriented multiprogramming by Jim Welsh and D. Bustard of Queens University, Belfast, UK. Pascal Plus uses an envelope construct for both packages and classes.
[ Pascal Plus - Another Language for Modular Multiprogramming , J. Welsh et al, Soft Prac Exp 9:947 (1979)].
[ Sequential Program Structures , J. Welsh et al, P-H 1984, ISBN 0-13806828-3].
(1997-12-09)

Pascal/R
Pascal with relational database constructs added. The first successful integrated database language.
[ Pascal/R Report , J.W. Schmidt et al, U Hamburg, Fachbereich Informatik, Report 66, Jan 1980].
(1994-10-19)

Pascal-S
Simplified Pascal. June, 1975. A strict subset of Pascal, omits scalar types, subranges, sets, files, pointers, packed structures, 'with' and 'goto. Source for a complete Pascal-S compiler is in Pascal-S: A Subset and Its Implementation , N. Wirth in Pascal - The Language and Its Implementation, by D.W. Barron, Wiley 1979.
(ftp://csseq.cs.tamu.edu/mcguire/pascal-s)

Pascal-SC
ESPRIT DIAMOND Project. An extension of Pascal for numerical analysis, with controlled rounding, overloading, dynamic arrays and modules. PASCAL-SC, A Computer Language for Scientific Computation , G. Bohlender et al, Academic Press 1987.

pasos2
version: Alpha
parts: Compiler, run-time library
author: Willem Jan Withagen wjw@eb.ele.tue.nl
how to get: (ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*)
A PASCAL/i386 compiler which generates code for OS/2 and DOS. It uses EMX as DOS extender and GNU/GAS, MASM or TASM as assembler.
1993/12/17

Pasqual
[ Pasqual: A Proposed Generalization of Pascal , R.D. Tennent, TR75-32, Queen's U, Canada, 1975].

PASRO
robotics PAScal for RObots.
[ PASRO - Pascal for Robots , C. Blume et al, Springer 1985].
(1999-07-19)

PASSIM
A simulation language based on Pascal.
[ PASSIM: A Discrete-Event Simulation Package for Pascal , D.H Uyeno et al, Simulation 35(6):183-190 (Dec 1980)].

passive matrix display
hardware A type of liquid crystal display which relies on persistence to maintain the state of each display element (pixel) between refresh scans. The resolution of such displays is limited by the ratio between the time to set a pixel and the time it takes to fade.
Contrast active matrix display.
(1995-12-09)

passphrase
operating system A string of words and characters that you type in to authenticate yourself. Passphrases differ from passwords only in length. Passwords are usually short - six to ten characters. Passphrases are usually much longer - up to 100 characters or more. Their greater length makes passphrases more secure. Modern passphrases were invented by Sigmund N. Porter in 1982.
Phil Zimmermann's popular encryption program PGP, for example, requires you to make up a passphrase that you then must enter whenever you sign or decrypt messages.
(http://world.std.com/~reinhold/diceware.page.html).
(1996-12-21)

password
An arbitrary string of characters chosen by a user or system administrator and used to authenticate the user when he attempts to log on in order to prevent unauthorised access to his account.
A favourite activity among unimaginative computer nerds and crackers is writing programs which attempt to discover passwords by using lists of commonly chosen passwords such as people's names (spelled forwards or backwards). It is recommended that to defeat such methods passwords use a mixture of upper and lower case letters or digits and avoid proper names and real words. If you have trouble remembering random strings of characters, make up an acronym like ihGr8trmP ( I have great trouble remembering my password ).
(1994-10-27)

Password Authentication Protocol
networking (PAP) An authentication scheme used by PPP servers to validate the identity of the originator of the connection.
PAP applies a two-way handshaking procedure. After the link is established the originator sends an id-password pair to the server. If authentication succeeds the server sends back an acknowledgement; otherwise it either terminates the connection or gives the originator another chance.
PAP is not a strong authentication method. Passwords are sent over the circuit in the clear and there is no protection against playback or repeated trial and error attacks. The originator is in total control of the frequency and timing of the attempts. Therefore, any server that can use a stronger authentication method, such as CHAP, will offer to negotiate that method prior to PAP. The use of PAP is appropriate, however, if a plaintext password must be available to simulate a login at a remote host.
PAP is defined in RFC 1334.
(1996-03-23)

paste
copy and paste

pastie
/pay'stee/ An adhesive label designed to be attached to a key on a keyboard to indicate some non-standard character which can be accessed through that key. Pasties are likely to be used in APL environments, where almost every key is associated with a special character. A pastie on the R key, for example, might remind the user that it is used to generate the rho character. The term properly refers to nipple-concealing devices formerly worn by strippers in concession to indecent-exposure laws; compare tits on a keyboard.
[Jargon File]

PAT
1. language Personalized Array Translator.
2. networking Port Address Translation.
(1998-05-09)

patch
software 1. A temporary addition to a piece of code, usually as a quick-and-dirty remedy to an existing bug or misfeature. A patch may or may not work, and may or may not eventually be incorporated permanently into the program. Distinguished from a diff or mod by the fact that a patch is generated by more primitive means than the rest of the program; the classical examples are instructions modified by using the front panel switches, and changes made directly to the binary executable of a program originally written in an HLL. Compare one-line fix.
2. To insert a patch into a piece of code.
3. [in the Unix world] A diff.
4. A set of modifications to binaries to be applied by a patching program. IBM systems often receive updates to the operating system in the form of absolute hexadecimal patches. If you have modified your OS, you have to disassemble these back to the source code. The patches might later be corrected by other patches on top of them (patches were said to grow scar tissue ). The result was often a convoluted patch space and headaches galore.
There is a classic story of a tiger team penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any patches that you can't - or don't - inspect and examine before installing). They couldn't find any trap doors or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.
5. Larry Wall's patch utility, which automatically applies a patch to a set of source code or other text files. It accepts input in any of the four forms output by the Unix diff utility and uses many helpful heuristics to determine how to apply them.
Diff and patch are the standard way of producing and applying updates to Unix files ditributed via Usenet and the Internet, both have been ported to other operating systems.
See your nearest GNU archive site.
[Jargon File]
(1996-06-04)

patch pumpkin
pumpkin

patch space
An unused block of bits left in a binary so that it can later be modified by insertion of machine-language instructions there (typically, the patch space is modified to contain new code, and the superseded code is patched to contain a jump or call to the patch space). The widening use of HLLs has made this term rare; it is now primarily historical outside IBM shops. See patch, zap, hook.
[Jargon File]

PATCHY
A Fortran code management program written at CERN.

path
1. networking A bang path or explicitly routed Internet address; a node-by-node specification of a link between two machines.
2. file system pathname.
3. operating system The list of directories the kernel (under Unix) or the command interpreter (under MS-DOS) searches for executables. It is stored as part of the environment in both operating systems.
Other, similar constructs abound under Unix; the C preprocessor, for example, uses such a search path to locate #include files.
[Jargon File]
(1996-11-21)

path coverage testing
testing Testing a program by examining which lines of executable code are visited (as in code coverage testing) and also the ways of getting to each line of code and the subsequent sequence of execution.
Path coverage testing is the most comprehensive type of testing that a test suite can provide. It can find more bugs in a program, especially those that are caused by data coupling. However, path coverage is a testing level that is very hard to achieve, and usually only small and/or critical sections of code are checked in this way.
(http://www.testingcenter.com/glossary.html).
(2001-04-21)

pathname
file system (Or path ) The specification of a node (file or directory) in a hierarchical file system. The path is usually specified by listing the nodes top-down, separating the directories by the pathname separator ( / in Unix, in MS-DOS).
A pathname may be an absolute pathname or a relative pathname. The part of the pathname of a file after the last separator is called the basename.
(1997-03-10)

pathname separator
file system The character used to separate elements of a path or pathname. Under Unix and POSIX.1 compliant systems the pathname separator is the (forward) slash, in MS-DOS backslash serves the same purpose. For obvious reasons the no directory or file name can contain this character.
(1996-11-21)

pathological
1. [scientific computation] Used of a data set that is grossly atypical of normal expected input, especially one that exposes a weakness or bug in whatever algorithm one is using. An algorithm that can be broken by pathological inputs may still be useful if such inputs are very unlikely to occur in practice.
2. When used of test input, implies that it was purposefully engineered as a worst case. The implication in both senses is that the data is spectacularly ill-conditioned or that someone had to explicitly set out to break the algorithm in order to come up with such a crazy example.
3. Also said of an unlikely collection of circumstances. If the network is down and comes up halfway through the execution of that command by root, the system may just crash. Yes, but that's a pathological case. Often used to dismiss the case from discussion, with the implication that the consequences are acceptable, since they will happen so infrequently (if at all) that it doesn't seem worth going to the extra trouble to handle that case (see sense 1).
[Jargon File]

Path Pascal
Parallel extension of Pascal. Processes have shared access to data objects. Constraints on their synchronisation are specified in a path expression.
[ An Overview of Path Pascal's Design , R.H. Campbell, SIGPLAN Notices 15(9):13-24 (Sep 1980)].

pathspec
pathname

pattern matching
1. A function is defined to take arguments of a particular type, form or value. When applying the function to its actual arguments it is necessary to match the type, form or value of the actual arguments against the formal arguments in some definition. For example, the function
length [] = 0 length (x:xs) = 1 + length xs
uses pattern matching in its argument to distinguish a null list from a non-null one.
There are well known algorithm for translating pattern matching into conditional expressions such as if or case . E.g. the above function could be transformed to
length l = case l of
[] - 0
x:xs - 1 : length xs
Pattern matching is usually performed in textual order though there are languages which match more specific patterns before less specific ones.
2. Descriptive of a type of language or utility such as awk or Perl which is suited to searching for strings or patterns in input data, usually using some kind of regular expression.
(1994-11-28)

pattern recognition
artificial intelligence, data processing A branch of artificial intelligence concerned with the classification or description of observations.
Pattern recognition aims to classify data (patterns) based on either a priori knowledge or on statistical information extracted from the patterns. The patterns to be classified are usually groups of measurements or observations, defining points in an appropriate multidimensional space.
A complete pattern recognition system consists of a sensor that gathers the observations to be classified or described; a feature extraction mechanism that computes numeric or symbolic information from the observations; and a classification or description scheme that does the actual job of classifying or describing observations, relying on the extracted features.
The classification or description scheme is usually based on the availability of a set of patterns that have already been classified or described. This set of patterns is termed the training set and the resulting learning strategy is characterised as supervised. Learning can also be unsupervised, in the sense that the system is not given an a priori labelling of patterns, instead it establishes the classes itself based on the statistical regularities of the patterns.
The classification or description scheme usually uses one of the following approaches: statistical (or decision theoretic), syntactic (or structural), or neural. Statistical pattern recognition is based on statistical characterisations of patterns, assuming that the patterns are generated by a probabilistic system. Structural pattern recognition is based on the structural interrelationships of features. Neural pattern recognition employs the neural computing paradigm that has emerged with neural networks.
(1995-09-22)

PAW
tool Physics Analysis Workbench.

PAW++
An extended version of PAW with a Motif human interface.

payware
/pay'weir/ Commercial software. Opposite: shareware or freeware.
[Jargon File]

PB Cache
Pipeline Burst Cache

PBD
Programmer Brain Damage

PBEM
play by electronic mail

PBM
play by mail. See play by electronic mail.

PBX
Private Branch Exchange

PC
1. computer personal computer.
2. computer IBM PC.
3. hardware program counter.
4. hardware printed circuit.
5. language Parallel C.

pC++
Data parallel extension to C++. Classes and methods for managing distributed collections.
E-mail: Dennis Gannon gannon@cs.indiana.edu .
[ Distributed pC++: Basic Ideas for an Object Parallel Language , F. Bodin et al, Proc Supercomput 91, ACM SIGARCH, pp. 273-282].
(2001-02-22)

PC200
Sinclair PC200

PCA
A dynamic analyser from DEC giving information on run-time performance and code use.

P-CAD
A CAE system marketed by CADAM, an IBM company.

PC AT
IBM PC AT

PCB
1. hardware Power Circuit Breaker.
2. hardware Power Control Box.
3. hardware Printed Circuit Board.
4. Process Control Block.
5. Product Configuration Baseline.
6. Program Control Block.
7. networking Protocol Control Block.
(TCP).

PC Card
Personal Computer Memory Card International Association

PCCTS
Purdue Compiler-Construction Tool Set

PCF
A simply typed, functional language.
[ Fully Abstract Translations Between Functional Languages , J. Riecke, 18th POPL, pp. 245-254 (1991)].
[ LCF Considered as a Programming Language , Theor CS 5:223, 1977].
(1996-01-18)

PCI
Peripheral Component Interconnect

PCI bus
Peripheral Component Interconnect

PCI Configuration Utility
tool (PCU) A piece of software for configuring a specific PCI hardware device.
[What software? What hardware?]
(1998-11-22)

PCI Mezzanine Card
hardware (PMC) A family of low profile mezzanine cards for VMEbus, Futurebus+, desktop computers and other computer systems with logical and electrical layers based on the Peripheral Component Interconnect (PCI) specification. PMC is defined in IEEE P1386.1 and follows the Common Mezzanine Card (CMC) mechanical specification.
PCI2.0 defines a 4.2 inch by 12.3 inch board that plugs perpendicularly into a mother board.
(1994-10-06)

PCI slot
hardware A connector on Peripheral Component Interconnect and the associated physical space occupied by the installed PCI card.
(1997-12-07)

PC-ism
/P-C-izm/ A piece of code or coding technique that takes advantage of the unprotected single-tasking environment in IBM PCs and the like, e.g. by busy-waiting on a hardware register, direct diddling of screen memory or using hard timing loops. Compare ill-behaved, vaxism, Unixism.
[Jargon File]

PCjr
IBM PCjr

PCL
1. Printer Control Language. A Document description language used by Hewlett-Packard Laserjet printers, a superset of HP-GL/2.
[PCL 5 Printer Language Printer Technical Reference Manual, HP 33459-90903. Versions: PCL 3, PCL 5].
2. Portable CommonLoops.
3. Peripheral Conversion Language. A Honeywell command language for file transfer between I/O devices on the CP-V and CP-6 operating systems.
4. [ PCL - A Process Oriented Job Control Language , V. Lesser et al, Proc 1st Intl Conf Distrib Comp Sys, IEEE 1979, pp.315-329].

PCLIPS
Parallel CLIPS - U Lowell. Concurrent independent CLIPS expert systems. They use 'rassert' (remote assert) to enter facts into each other's database. PCLIPS: A Distributed Expert System Environment , R. Miller, CLIPS Users Group Conf, Aug 1990. E-mail: pclips@dragon.ulowell.edu (?).

PCM
Pulse Code Modulation

PCMCIA
body, standard Personal Computer Memory Card International Association. (Or People Can't Memorise Computer Industry Acronyms).

PCMIA
Personal Computer Manufacturer Interface Adaptor

PCN
1. Program Composition Notation.
2. communications Personal Communication Network.

PC-NFS
Personal Computer Network File System

P-code
The intermediate code produced by the Pascal-P compiler. Assembly language for a hypothetical stack machine, the P-machine, said to have been an imitation of the instruction set for the Burroughs Large System. The term was first used in Algorithms + Data Structures = Programs, N. Wirth, P-H 1976. Byte articles on writing a Pascal Compiler in Northstar BASIC (ca Aug 1978) also used the term. Later used in Apple Pascal, and as the intermediate language in the UCSD P-system.
Variants: P2 P-code, P4 P-code, UCSD P-code, LASL P-code.
Address: USUS, Box 1148, La Jolla, CA 92038, USA.
[ A Comparison of PASCAL Intermediate Languages , P.A. Nelson, SIGPLAN Notices 14(8):208-213 (Aug 1979)].
(1995-10-15)

PC Pursuit
A TELENET service which enabled people to dial up BBSes in other cities for less than normal long-distance rates. PC Pursuit died because TELENET were too mean to upgrade beyond 2400 bits per second.
(1994-10-17)

PC-RT
computer An incorrect name for the RT-PC.
(1995-04-06)

PCS
1. Personal Communication Services.
2. PC-Scheme.

PC-Scheme
Version 3.03
compiler, debugger, profiler, editor, libraries
(ftp://altdorf.ai.mit.edu/archive/pc-scheme/)
Written at Texas Instruments. Runs on MS-DOS 286/386 IBM PCs and compatibles. Includes an optimising compiler, an emacs-like editor, inspector, debugger, performance testing, foreign function interface, window system and an object-oriented subsystem. Also supports the dialect used in Hal Abelson and Gerald Sussman's SICP.
Conformance: Revised^3 Report, also supports dialect used in SICP.
restriction:official version is $95, contact rww@ibuki.com
ports:MS-DOS
See also PCS/Geneva.
(1992/02/23)

PCS/Geneva
A cleaned-up version of Texas Instrument's PC Scheme developed at the University of Geneva. The main extensions to PC Scheme are 486 support, BGI graphics, LIM-EMS pagination support, line editing and assembly code-level interfacing.
Version 4.02PL1.
E-mail: schemege@uni2a.unige.ch .
(1994-01-11)

PC-TALK III
communications, tool An MS-DOS communications program by Andrew Fluegelman.
(1997-08-25)

PCTE
Portable Common Tool Environment

PCTE+
A European NATO specification based on PCTE with security enhancements.

PC-TILES
language A visual programming language.
(1997-08-25)

PCU
PCI Configuration Utility

PC-ware
Pejorative term for software full of PC-isms on a machine with a more capable operating system.

pcx
filename extension A filename extension for images created with the IBM PC Paintbrush tool.
[Format?]
(1995-12-10)

PD
public domain

PDA
Personal Digital Assistant

PDC
Primary Domain Controller

PDC Prolog
Prolog Development Centre Prolog. A Prolog evolved from Turbo Prolog by the original authors.

PDEL
Partial Differential Equation Language. A preprocessor for PL/I.
[ PDEL - A Language for Partial Differential Equations , A.F. Cardenas, CACM 13(3):184-191 (Mar 1970)].

PDELAN
Partial Differential Equation LANguage

PDES
Product Data Exchange using STEP

PDF
Portable Document Format

PDFTeX
tool, TeX, PDF A modification of TeX to produce PDF output instead of the canonical DVI.
pdftexlib.tar.gz (ftp://ftp.tug.org/pub/tex/pdftexlib.tar.gz).
Thanh's source of pdfTeX (ftp://ftp.muni.cz/pub/tex/local/cstug/thanh/pdftex/).
User Manual (http://tug.cs.umb.edu/applications/pdftex/pdftex-s.pdf).
FAQ (http://tug.cs.umb.edu/applications/pdftex/pdfTeX-FAQ-scr.pdf).
(2000-12-21)

PDH
Plesiochronous Digital Hierarchy

PDIL
language A language developed at Agence d'Informatique, France in the 1970s for description of communication protocols. It was part of the RHIN project.
(1995-02-28)

pdksh
Version 4.9
interpreter
Simon J. Gerraty sjg@zen.void.oz.au
comp.sources.misc volume 4
It is not intended to be the ultimate shell but rather a usable ksh work alike.
conformance:Almost identical to ksh88, but missing arrays
E-mail: Simon J Gerraty sjg@melb.bull.oz.au (zen.void.oz.au is down)
ports:Sun, 386bsd, ?
1993/10/11

PDL
1. Page Description Language.
2. Program Design Language.
3. Push Down List.
4. Dave Lebling, one of the co-authors of Zork. His network address on the ITS machines was at one time pdl@dms .
5. Propositional Dynamic Logic.
[Jargon File]

PDL2
language Process Design Language 2.

PDM
1. Product Development Management.
2. Product Data Management.
(1997-02-11)

PDP
Programmed Data Processor

PDP-10
computer Programmed Data Processor model 10.
The series of mainframes from DEC that made time-sharing real. It looms large in hacker folklore because of its adoption in the mid-1970s by many university computing facilities and research labs, including the MIT AI Lab, Stanford, and CMU. Some aspects of the instruction set (most notably the bit-field instructions) are still considered unsurpassed.
The PDP-10 was eventually eclipsed by the VAX machines (descendants of the PDP-11) when DEC recognised that the PDP-10 and VAX product lines were competing with each other and decided to concentrate its software development effort on the more profitable VAX. The machine was finally dropped from DEC's line in 1983, following the failure of the Jupiter Project at DEC to build a viable new model. (Some attempts by other companies to market clones came to nothing; see Foonly and Mars.) This event spelled the doom of ITS and the technical cultures that had spawned the original Jargon File, but by mid-1991 it had become something of a badge of honourable old-timerhood among hackers to have cut one's teeth on a PDP-10.
See TOPS-10, AOS, BLT, DDT, DPB, EXCH, HAKMEM, JFCL, LDB, pop, push.
news:alt.sys.pdp10
[Was the PDP-10 a mini or a mainframe?]
(2001-01-05)

PDP-11
Programmed Data Processor model 11.
A series of minicomputers based on an instruction set designed by C. Gordon Bell at DEC in the early 1970s (late 60s?). The PDP-11 family, which came after, but was not derived from, the PDP-10, was the most successful computer of its time until it was itself succeeded by the VAX.
Models included the 11/23 and 11/24 (based on the F11 chipset); 11/44, 11/04, 11/34, 11/05, 11/10, 11/15, 11/20, 11/35, 11/40, 11/45, 11/70, 11/60 (MSI and SSI); LSI-11/2 and LSI-11 (LSI-11 chipset). In addition there were the 11/8x (J11 chipset) and SBC-11/21 (T11 chip) and then there was compatibility mode in the early VAX processors.
The B and C languages were both used initially to implement Unix on the PDP-11. The microprocessor design tradition owes a heavy debt to the PDP-11 instruction set.
See also SEX.
(1994-12-21)

PDP-20
The most famous computer that never was. PDP-10 computers running the TOPS-10 operating system were labelled DECsystem-10 as a way of differentiating them from the PDP-11. Later on, those systems running TOPS-20 were labelled DECSYSTEM-20 (the block capitals being the result of a lawsuit brought against DEC by Singer, which once made a computer called system-10 ), but contrary to popular lore there was never a PDP-20 ; the only difference between a 10 and a 20 was the operating system and the colour of the paint. Most (but not all) machines sold to run TOPS-10 were painted Basil Blue , whereas most TOPS-20 machines were painted Chinese Red (often mistakenly called orange).
[Jargon File]
(1994-12-21)

PDP-6
computer Programmed Data Processor model 6. A computer designed around 1960 with more or less exactly the same hardware architecture as the PDP-10. It already had multi-user time sharing and batch processing and multi-level priority interrupts
(1996-12-21)

PDP-7
computer A minicomputer sold by DEC in 1964. It had a memory cycle time of 1.75 microseconds and add time of 4 microseconds. I/O included a keyboard, printer, paper-tape and dual transport DECtape drives (type 555).
DEC provided an advanced Fortran II compiler, a Symbolic Assembler, Editor, DDT Debugging System, Maintenance routines and a library of arithmetic, utility and programming aids developed on the program-compatible PDP-4.
[DEC sales brochure].
The PDP-7 was considered reliable enough (when properly programmed) to be used for control of nuclear reactors and such.
Around 1970 Ken Thompson built the operating system that became Unix on a scavenged PDP-7 so he could play a descendant of the SPACEWAR game.
(1995-03-10)

PDP Assembly Language
language (PAL) The assembly language for the PDP-8 and PDP-11.
[Description?]
(1995-01-26)

PDS
1. hardware Processor Direct Slot.
2. partitioned data set.

PDSA cycle
Plan, Do, See, Approve (from Japan).

PDS/MaGen
Problem Descriptor System. A system for generating matrices and reports for mathematical programming and operations research.
[ PDS MaGen User Information Manual , Haverly Systems (Dec 1977)].
(1994-10-27)

PDU
Protocol Data Unit

PE
1. database periodic group
2. storage Phase Encoded.
3. architecture processing element.
(1995-10-30)

pe
networking The country code for Peru.
(1999-01-27)

PeaceNet
One of the IGC networks. PeaceNet serves peace and social justice advocates around the world in such areas as human rights, disarmament, and international relations. A number of alternative news services provide a range of information about these and other topics from around the world.
E-mail: peacenet@igc.apc.org . (ftp://igc.apc.org/).

Peano arithmetic
mathematics A system for representing natural numbers inductively using only two symbols, 0 (zero) and S (successor).
This could be expressed as a recursive data type with the following Haskell definition:
data Peano = Zero | Succ Peano
The number three, usually written SSS0 , would be Succ (Succ (Succ Zero)). Addition of Peano numbers can be expressed as a simple syntactic transformation:
plus Zero n = n plus (Succ m) n = Succ (plus m n)
(1995-03-28)

PEARL
1. language, mathematics A language for constructive mathematics developed by Constable at Cornell University in the 1980s.
2. language, real-time Process and Experiment Automation Real-Time Language.
3. language, education One of five pedagogical languages based on Markov algorithms, used in Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics , B. Higman, ULICS Intl Report No ICSI 170, U London (1968). Compare Brilliant, Diamond, Nonpareil, Ruby.
4. language A multilevel language developed by Brian Randell ca 1970 and mentioned in Machine Oriented Higher Level Languages , W. van der Poel, N-H 1974.
5. language, tool, history An obsolete term for Larry Wall's PERL programming language, which never fell into common usage other than in typographical errors. The missing 'a' remains as an atrophied remnant in the expansion Practical Extraction and Report Language .
[ Programming Perl , Larry Wall and Randal L. Schwartz, O'Reilly Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1].
(2000-08-16)

Pebble
A polymorphic language.
[ A Kernel Language for Abstract Data Types and Modules , R.M. Burstall B. Lampson, in Semantics of Data Types, LNCS 173, Springer 1984].
(1995-01-26)

Pebbleman
DoD requirements that led to APSE. They were written in Jul 1978 and revised Jan 1979.
(1995-01-26)

PEBCAK
humour (Or PEBKAC ) Tech support shorthand for Problem Exists between Chair and Keyboard .
See also UBD.
(1998-08-27)

PEBKAC
PEBCAK

PECOS
A constraint-based language, built on the object-oriented module of Le-Lisp.
[ Pecos Reference Manual , ILOG, 1990. ILOG, 12 av Raspail, BP 7, F94251 Gentilly, France].
(1995-01-26)

Pedagogic Algorithmic Language
[ PAL - A Language for Teaching Programming Linguistics , A. Evans Jr, Proc ACM 23rd Natl Conf, Brandon/Systems Press (1968)].
(1995-01-26)

PEEK
The command in most microcomputer BASICs for reading memory contents (a byte) at an absolute address. POKE is the corresponding command to write a value to an absolute address.
This is often extended to mean the corresponding constructs in any High Level Language.
Much hacking on small microcomputers without MMUs consists of peek ing around memory, more or less at random, to find the location where the system keeps interesting stuff. Long (and variably accurate) lists of such addresses for various computers circulate (see interrupt list). The results of poke s at these addresses may be highly useful, mildly amusing, useless but neat, or total lossage (see killer poke).
Since a real operating system provides useful, higher-level services for the tasks commonly performed with peeks and pokes on micros, and real languages tend not to encourage low-level memory groveling, a question like How do I do a peek in C? is diagnostic of the newbie. Of course, operating system kernels often have to do exactly this; a real C hacker would unhesitatingly, if unportably, assign an absolute address to a pointer variable and indirect through it.
[Jargon File]
(1995-01-31)

PEEL
Used to implement version of Emacs on PRIME computers.

peephole optimisation
compiler A kind of code optimisation that considers only a few adjacent instructions at a time and looks for certain combinations which can be replaced with more efficient sequences. E.g.
ADD R0, #1 ADD R0, #1
(add one to register R0) could be replaced by
ADD R0, #2
(1995-03-28)

peer
A unit of communications hardware or software that is on the same protocol layer of a network as another. A common way of viewing a communications link is as two protocol stacks, which are actually connected only at the very lowest (physical) layer, but can be regarded as being connected at each higher layer by virtue of the services provided by the lower layers. Peer-to-peer communication refers to these real or virtual connections between corresponding systems in each layer.
To give a simple example, when two people talk to each other, the lowest layer is the physical layer which concerns the sound pressure waves travelling from mouth to ear (so mouths and ears are peers) the next layer might be the speech and hearing centres in the people's brains and the top layer their cerebellums or minds. Although, barring telepathy, nothing passes directly between the two minds, there is a peer-to-peer communication between them.

peer-to-peer
The kind of communication found in a system using layered protocols. Each software or hardware component can be considered to communicate only with its peer in the same layer via the connection provided by the lower layers.
(1994-12-14)

Pegasus
networking, product A product to support Internet searches, electronic mail and Usenet news.
[Details? Addesss?]
(1997-07-14)

PEIPA
Pilot European Image Processing Archive

PEM
Privacy Enhanced Mail

PENCIL
Pictorial ENCodIng Language. On-line system to display line structures. Sammet 1969, 675.

pencil and paper
An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved write-once update devices which use tiny rolling heads similar to mouse balls to deposit coloured pigment. All these devices require an operator skilled at so-called handwriting technique. These technologies are ubiquitous outside hackerdom, but nearly forgotten inside it. Most hackers had terrible handwriting to begin with, and years of keyboarding tend to have encouraged it to degrade further. Perhaps for this reason, hackers deprecate pencil-and-paper technology and often resist using it in any but the most trivial contexts.
[Jargon File]
(1994-12-06)

penis war
jargon, abuse (Or Dick Size War , DSW ) Any argument which has degenerated into quantitative boasting of the sort My [program|bot|etc.] is [faster|meaner|etc.] than yours! , generally as unconstructive (and with as little emphasis on empirical proof) as men debating who has the biggest penis.
The term is often used on IRC, news:alt.sysadmin.recovery, and sometimes applied to IRC botwars, because of their equally pointless nature.
(1999-07-14)

Pentium
processor Intel's superscalar successor to the 486. It has two 32-bit 486-type integer pipelines with dependency checking. It can execute a maximum of two instructions per cycle. It does pipelined floating-point and performs branch prediction. It has 16 kilobytes of on-chip cache, a 64-bit memory interface, 8 32-bit general-purpose registers and 8 80-bit floating-point registers. It is built from 3.1 million transistors on a 262.4 mm^2 die with ~2.3 million transistors in the core logic. Its clock rate is 66MHz, heat dissipation is 16W, integer performance is 64.5 SPECint92, floating-point performance 56.9 SPECfp92.
It is called Pentium because it is the fifth in the 80x86 line. It would have been called the 80586 had a US court not ruled that you can't trademark a number.
The successors are the Pentium Pro and Pentium II.
A floating-point division bug (ftp://ftp.isi.edu/pub/carlton/pentium/FAQ) was discovered in October 1994.
[Internal implementation, Microprocessor Report newsletter, 1993-03-29, volume 7, number 4].
[Pentium based computers, PC Magazine, 1994-01-25].
(1997-11-21)

Pentium 2
Pentium II

Pentium 3
Pentium III

Pentium II
processor Intel Corporation's successor to the Pentium Pro.
The Pentium II can execute all the instructions of all the earlier members of the Intel 80x86 processor family. There are four versions targetted at different user markets. The Celeron is the simplest and cheapest. The standard Pentium II is aimed at mainstream home and business users. The Pentium II Xeon is intended for higher performance business servers. There is also a mobile version of the Pentium II for use in portable computers.
All versions of the Pentium II are packaged on a special daughterboard that plugs into a card-edge processor slot on the motherboard. The daughterboard is enclosed within a rectangular black box called a Single Edge Contact (SEC) cartridge. The budget Celeron may be sold as a card only without the box. Consumer line Pentium II's require a 242-pin slot called Slot 1. The Xeon uses a 330-pin slot called Slot 2. Intel refers to Slot 1 and Slot 2 as SEC-242 and SEC-330 in some of their technical documentation. The daughterboard has mounting points for the Pentium II CPU itself plus various support chips and cache memory chips. All components on the daughterboard are normally permanently soldered in place. Previous generation Socket 7 motherboards cannot normally be upgraded to accept the Pentium II, so it is necessary to install a new motherboard.
All Pentium II processors have Multimedia Extensions (MMX) and integrated Level One and Level Two cache controllers. Additional features include Dynamic Execution and Dual Independent Bus Architecture, with separate 64 bit system and cache busses. Pentium II is a superscalar CPU having about 7.5 million transistors.
The first Pentium II's produced were code named Klamath. They were manufactured using a 0.35 micron process and supported clock rates of 233, 266, 300 and 333 MHz at a bus speed of 66 MHz. Second generation Pentium II's, code named Deschutes, are made with a 0.25 micron process and support rates of 350, 400 and 450 MHz at a bus speed of 100 MHz.
Home (http://www.intel.com/PentiumII/).
(1998-10-06)

Pentium III
microprocessor, Intel The microprocessor that was Intel Corporation's successor to the Pentium II, introduced in 1999 with a 500 MHz clock rate. The Pentim III is very similar to the Pentium II in architecture. Its external bus can be clocked at 100 or 133 MHz, it can have up to 512 KB of secondary cache, and it comes in various packages including SECC2 and FC-PGA.
The Pentium III has a P6 Dynamic Execution microarchitecture, a multi-transaction system bus, and MMX, like the Pentium II. It adds Dual Independent Bus (DIB) Architecture, the Intel Processor Serial Number, Internet Streaming SIMD Extensions, 70 new instructions. Some versions also include an Advanced Transfer Cache and Advanced System Buffering.
When Intel released a 1.13 GHz version of the Pentium III processor using a 0.18 micron fabrication process on 2000-07-31, it was the world's highest performance microprocessor for PCs.
Home (http://www.intel.com/PentiumIII).
(2000-10-05)

Pentium II Xeon
processor The successor to Intel Corporation's Pentium II processor.
The Xeon has the same P6 core as existing Pentium Pro/Pentium II units, but it supports a 100 MHz system bus and offers as much as 2 MB of level 2 cache.
Home (http://www.intel.com/PentiumII/xeon/home.htm).
(1998-09-09)

Pentium Pro
processor (Known as P6 during development) Intel's successor to the Pentium processor, in development Jan 1995, generally available 1995-11-01. The P6 has an internal RISC architecture with a CISC-RISC translator, 3-way superscalar execution, and out-of order execution (or speculative execution , which Intel calls Dynamic Execution ). It also features branch prediction and register renaming, and is superpipelined (14 stages).
The P6 is made as a two-chip assembly: the first chip is the CPU and 16 kilobyte first-level cache (5.5 million transistors) and the other is a 256 (or 512) kilobyte second-level cache (15 million transistors). The first version has a clock frequency of 133 Mhz and consumes about 20W of power. It is about twice as fast as the 100 MHz Pentium. The original 0.35 micron versions of the Pentium Pro released on 1995-11-01 run at 150 and 166 Mhz for desktop machines and up to 200 Mhz for servers. Heat disspation is about 20 Watts.
The Pentium Pro is optimised for 32-bit software and runs 16-bit software slower than the original Pentium. The successor was the Pentium II.
[Performance?]
(1996-03-01)

peon
jargon A person with no special (root or wheel) privileges on a computer system. I can't create an account on foovax for you; I'm only a peon there.
[Jargon File]
(2001-12-23)

PeopleSoft
application, company A vendor of a human resource management information system, which now also provides customer relationship management, supply chain management, workforce management, and associated analytics.
Home (http://www.peoplesoft.com/)
(2001-11-26)

Pepper
language A variant of POP-11 by Chris Dollin kers@hplb.hpl.hp.com .
(2002-05-26)

PEPsy
Prolog extended with parallel modules within which explicit OR-parallelism can be used.
[ PEPsy: A Prolog for Parallel Processing , M. Ratcliffe et al, ECRC TR CA-17, 1986].

PER
1. networking Packed Encoding Rules.
2. mathematics partial equivalence relation.
(1998-05-27)

percent
%
Common: ITU-T: percent sign; mod; grapes. INTERCAL: double-oh-seven.
(1995-03-06)

Perceptional Adaptive Subband Coding
audio, compression (PASC) A version of MPEG-1 Layer 1 used for the Philips Digital Compact Cassette DCC.
(2001-12-13)

perceptron
1. A single McCulloch-Pitts neuron.
2. A network of neurons in which the output(s) of some neurons are connected through weighted connections to the input(s) of other neurons. A multilayer perceptron is a specific instance of this.

percussive maintenance
jargon The fine art of whacking a device to get it working, possibly using a fine adjuster.
(1999-01-15)

perf
chad

perfect programmer syndrome
Arrogance; the egotistical conviction that one is above normal human error. Most frequently found among programmers of some native ability but relatively little experience (especially new graduates; their perceptions may be distorted by a history of excellent performance at solving toy problems). Of course my program is correct, there is no need to test it. Yes, I can see there may be a problem here, but *I'll* never type rm -r / while in root mode.
[Jargon File]

PERFORM
programming A COBOL statement used for executing paragraphs .
[What's a paragraph?]
(1997-06-10)

periodic group
database (PE) Groups of logically related fields which occur multiple times within a group.
Periodic groups are a non-relational technique. An example of a PE would be for storing the history of a person's name changes, where name was kept in logically related fields such as surname, first name and middle name - with the person having changed their name more than once.
[Clarification?]
(1995-10-30)

peripheral
hardware (Or peripheral device , device ) Any part of a computer other than the CPU or working memory, i.e. disks, keyboards, monitors, mice, printers, scanners, tape drives, microphones, speakers, cameras, to list just the less exotic ones.
High speed working memory, such as RAM, ROM or, in the old days, core would not normally be referred to as peripherals. The more modern term device is also more general in that it is used for things such as a pseudo-tty, a RAM drive, or a network adaptor.
Some argue that, since the advent of the personal computer, the motherboard, hard disk, keyboard, mouse, and monitor are all parts of the base system, and only use the term peripheral for optional additional components.
(2002-09-03)

Peripheral Component Interconnect
hardware (PCI) A standard for connecting peripherals to a personal computer, designed by Intel and released around Autumn 1993. PCI is supported by most major manufacturers including Apple Computer. It is technically far superior to VESA's local bus. It runs at 20 - 33 MHz and carries 32 bits at a time over a 124-pin connector or 64 bits over a 188-pin connector. An address is sent in one cycle followed by one word of data (or several in burst mode).
PCI is used in systems based on Pentium, Pentium Pro, AMD 5x86, AMD K5 and AMD K6 processors, in some DEC Alpha and PowerPC systems, and probably Cyrix 586 and Cyrix 686 systems. However, it is processor independent and so can work with other processor architectures as well.
Technically, PCI is not a bus but a bridge or mezzanine. It includes buffers to decouple the CPU from relatively slow peripherals and allow them to operate asynchronously.
(1997-12-07)

peripheral device
peripheral

Peripheral Technology Group
company A national and international distributor of IBM PC-to-Unix and Internet connectivity products. They cater for resellers, dealers and VARs and are one of the top Seagate and Micropolis distributors in the US.
Home (http://www.ptgs.com/)
Address: Eden Prairie, MN, USA (a suburb of Minneapolis).
Eden Prairie ( Silicon Prairie ) is the home of Digi International, Ontrack, Open Systems, LaserMaster, Best Buy, and others.
(1995-11-29)

Perl
language, tool A high-level programming language, started by Larry Wall in 1987 and developed as an open source project. It has an eclectic heritage, deriving from the ubiquitous C programming language and to a lesser extent from sed, awk, various Unix shell languages, Lisp, and at least a dozen other tools and languages. Originally developed for Unix, it is now available for many platforms.
Perl's elaborate support for regular expression matching and substitution has made it the language of choice for tasks involving string manipulation, whether for text or binary data. It is particularly popular for writing CGI scripts.
The language's highly flexible syntax and concise regular expression operators, make densely written Perl code indecipherable to the uninitiated. The syntax is, however, really quite simple and powerful and, once the basics have been mastered, a joy to write.
Perl's only primitive data type is the scalar , which can hold a number, a string, the undefined value, or a typed reference. Perl's aggregate data types are arrays, which are ordered lists of scalars indexed by natural numbers, and hashes (or associative arrays ) which are unordered lists of scalars indexed by strings. A reference can point to a scalar, array, hash, function, or filehandle. Objects are implemented as references blessed with a class name. Strings in Perl are eight-bit clean, including nulls, and so can contain binary data.
Unlike C but like most Lisp dialects, Perl internally and dynamically handles all memory allocation, garbage collection, and type coercion.
Perl supports closures, recursive functions, symbols with either lexical scope or dynamic scope, nested data structures of arbitrary content and complexity (as lists or hashes of references), and packages (which can serve as classes, optionally inheriting methods from one or more other classes). There is ongoing work on threads, Unicode, exceptions, and backtracking. Perl program files can contain embedded documentation in POD (Plain Old Documentation), a simple markup language.
The normal Perl distribution contains documentation for the language, as well as over a hundred modules (program libraries). Hundreds more are available from The Comprehensive Perl Archive Network. Modules are themselves generally written in Perl, but can be implemented as interfaces to code in other languages, typically compiled C.
The free availability of modules for almost any conceivable task, as well as the fact that Perl offers direct access to almost all system calls and places no arbitrary limits on data structure size or complexity, has led some to describe Perl, in a parody of a famous remark about lex, as the Swiss Army chainsaw of programming.
The use of Perl has grown significantly since its adoption as the language of choice of many World-Wide Web developers. CGI interfaces and libraries for Perl exist for several platforms and Perl's speed and flexibility make it well suited for form processing and on-the-fly web page creation.
Perl programs are generally stored as text source files, which are compiled into virtual machine code at run time; this, in combination with its rich variety of data types and its common use as a glue language, makes Perl somewhat hard to classify as either a scripting language or an applications language -- see Ousterhout's dichotomy. Perl programs are usually called Perl scripts , if only for historical reasons.
Version 5 was a major rewrite and enhancement of version 4, released sometime before November 1993. It added real data structures by way of references , un-adorned subroutine calls, and method inheritance.
The spelling Perl is preferred over the older PERL (even though some explain the language's name as originating in the acronym for Practical Extraction and Report Language ). The program that interprets/compiles Perl code is called perl , typically /usr/local/bin/perl or /usr/bin/perl .
Current version: 5.005_03 stable, 5.005_62 in development, as of 1999-12-04.
Home (http://www.perl.com/).
Usenet newsgroups: news:comp.lang.perl.announce, news:comp.lang.perl.misc.
[ Programming Perl , Larry Wall and Randal L. Schwartz, O'Reilly Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1].
[ Learning Perl by Randal L. Schwartz, O'Reilly Associates, Inc., Sebastopol, CA].
[Jargon File]
(1999-12-04)

Perl5
language, tool A commonly used but unofficial term for 5.* versions of Perl.
(1999-12-04)

perl-byacc
A modified version of byacc that generates a parser in Perl code, by Rick Ohnemus rick@imd.sterling.com . It has a -p switch so multiple parsers can be used in one program (C or Perl). Version 1.8.2 should work on most Unix systems. It also works with SAS/C 6.x on Amiga.
(1993-01-24)

Perl profiler
tool (pprof) A tool by Anthony Iano-Fletcher of Nottingham University, UK to profile, and collate data from, Perl scripts.
Version: 1?
Source posted on comp.lang.perl in mid-June 1993.
(1993-06-17)

Permanent Virtual Circuit
networking (PVC, or in ATM terminology, Permanent Virtual Connection ) A virtual circuit that is permanently established, saving the time associated with circuit establishment and tear-down.
(1997-10-06)

Permanent Virtual Connection
Permanent Virtual Circuit

permission
file system (Or file mode ) The ability to access (read, write, execute, traverse, etc.) a file or directory. Depending on the operating system, each file may have different permissions for different kinds of access and different users or groups of users.
chmod ( change mode ) is the UNIX command to change permissions.
(2000-12-07)

permutation
mathematics 1. An ordering of a certain number of elements of a given set.
For instance, the permutations of (1,2,3) are (1,2,3) (2,3,1) (3,1,2) (3,2,1) (1,3,2) (2,1,3).
Permutations form one of the canonical examples of a group - they can be composed and you can find an inverse permutation that reverses the action of any given permutation.
The number of permutations of r things taken from a set of n is
n P r = n! / (n-r)!
where n P r is usually written with n and r as subscripts and n! is the factorial of n.
What the football pools call a permutation is not a permutation but a combination - the order does not matter.
2. A bijection for which the domain and range are the same set and so
f(f'(x)) = f'(f(x)) = x.
(2001-05-10)

perp
LaTeX inverted T. Used in domain theory to represent bottom.
(1995-02-03)

perplexity
The geometric mean of the number of words which may follow any given word for a certain lexicon and grammar.

persistence
1. programming A property of a programming language where created objects and variables continue to exist and retain their values between runs of the program.
2. hardware The length of time a phosphor dot on the screen of a cathode ray tube will remain illuminated after it has been energised by the electron beam. Long-persistence phosphors reduce flicker, but generate ghost-like images that linger on screen for a fraction of a second.
(1994-11-09)

persistent
persistence

Persistent Functional Language
functional language, database (PFL) A functional database language developed by Carol Small at Birkbeck College, London, UK and Alexandra Poulovassilis (now at King's College London).
In PFL, functions are defined equationally and bulk data is stored using a special class of functions called selectors. PFL is a lazy language, supports higher-order functions, has a strong polymorphic type inference system, and allows new user-defined data types and values. All functions, types and values persist in a database. Functions can be written which update all aspects of the database: by adding data to selectors, by defining new equations, and by introducing new data types and values.
PFL is semi-referentially transparent , in the sense that whilst updates are referentially opaque and are executed destructively, all evaluation is referentially transparent. Similarly, type checking is semi-static in the sense that whilst updates are dynamically type checked at run time, expressions are type checked before they are evaluated and no type errors can occur during their evaluation.
[ A Functional Approach to Database Updates (http://web.dcs.bbk.ac.uk/CS/Research/DBPL/papers/INFSYS93.abs.html) , C. Small, Information Systems 18(8), 1993, pp. 581-95].
(1995-04-27)

persistent memory
non-volatile storage

Personal Communication Network
networking (PCN) Any network supporting Personal Communication Service (PCS). Also, sometimes used to refer to the specific implementation (using the GSM-derivative DCS-1800) of initial PCS capabilities in the United Kingdom.
(1996-08-23)

Personal Communication Services
communications (PCS) Telecommunications services that bundle voice communications, numeric and text messaging, voice-mail and various other features into one device, service contract and bill. PCS are carried over cellular links, most often digital.
(1996-08-01)

personal computer
computer (PC) A general-purpose single-user microcomputer designed to be operated by one person at a time.
This term and the concept has been successfully hijacked by IBM due to the huge market share of the IBM PC, despite its many obvious weaknesses when compared to other equally valid claimants to the term, e.g. the Acorn Archimedes, Amiga, Atari, Macintosh.
(1994-11-02)

Personal Computer Memory Card International Association
body, hardware, standard (PCMCIA, or PC Card ) An international trade association and the standards they have developed for devicies, such as modems and external hard disk drives, that can be plugged into notebook computers. A PCMCIA card is about the size of a credit card.
For some unfathomable reason, around 1995(?) they decided to rename PCMCIA cards PC Cards , perhaps to encourage sales to confused purchasers.
(ftp://ftp.sidewinder.com/pub/Portables/PCMCIA).
Address: PCMCIA Administration, 1030 East Duane Avenue, Suite G, Sunnyvale, CA 94086 USA.
Telephone: +1 (408) 720 0107. Fax: +1 (408) 720 9416. BBS: +1 (408) 720 9388.
(1996-10-16)

Personal Digital Assistant
computer (PDA) A small hand-held computer typically providing calendar, contacts, and note-taking applications but may include other applications, for example a web browser and media player. Small keyboards and pen-based input systems are most commonly used for user input.
The Apple Newton was a fairly early example.
[First? Notable examples? Current Best?]
(2002-09-03)

Personal Identification Number
security (PIN, PIN number ) A password, typically four digits entered through a telephone keypad or automatic teller machine.
(1996-11-03)

Personalized Array Translator
language (PAT) A small subset of APL.
E-mail: oed@watsol.uwaterloo.ca .
[Sammet 1969, p. 252].
(1998-05-09)

person of no account
(University of California at Santa Cruz) Used when referring to a person with no network address, frequently to forestall confusion. Most often as part of an introduction: This is Bill, a person of no account, but he used to be bill@random.com .
Compare return from the dead.
[Jargon File]
(1994-11-22)

perspective
games In computer games, the virtual position from which the human player views the playing area. There are three different perspectives: first person, second person, and third person.
First person perspective: Viewing the world through the eyes of the primary character in three dimensions. e.g. Doom, Quake.
Second person perspective: Viewing the game through a spectator's eyes, in two or three dimensions. Depending on the game, the main character is always in view. e.g. Super Mario Bros., Tomb Raider.
Third person perspective: a point of view which is independent of where characters or playing units are. The gaming world is viewed much as a satellite would view a battlefield. E.g. Warcraft, Command Conquer.
(1997-06-19)

PERT
Program Evaluation and Review Technique

pessimal
/pes'im-l/ (Latin-based antonym for optimal ) Maximally bad. This is a pessimal situation. Also pessimise To make as bad as possible. These words are the obvious Latin-based antonyms for optimal and optimise , but for some reason they do not appear in most English dictionaries, although pessimise is listed in the OED.
[Jargon File]
(1995-02-01)

pessimising compiler
/pes'*-mi:z ing k*m-pi:l r/ (Antonym of optimising compiler ) A compiler that produces object code that is worse than the straightforward or obvious hand translation. The implication is that the compiler is actually trying to optimise the program, but through excessive cleverness is doing the opposite. A few pessimizing compilers have been written on purpose, however, as pranks or burlesques.
(1995-02-01)

peta-
prefix

petabyte
unit 2^50 = 1,125,899,906,842,624 bytes = 1024 terabytes or roughly 10^15 bytes.
See prefix.
(1996-08-12)

petaflops
unit 10^15 flops or 1000 teraflops. No computer has achieved this performance yet.
(1997-07-21)

petdingo
tool An Estelle to C++ translator.
(1997-01-24)

Peter Chen
person The developer of the Entity-Relationship model.
(1995-02-07)

Petri net
parallel, simulation A directed, bipartite graph in which nodes are either places (represented by circles) or transitions (represented by rectangles), invented by Carl Adam Petri. A Petri net is marked by placing tokens on places. When all the places with arcs to a transition (its input places) have a token, the transition fires , removing a token from each input place and adding a token to each place pointed to by the transition (its output places).
Petri nets are used to model concurrent systems, particularly network protocols.
Variants on the basic idea include the coloured Petri Net, Time Petri Net, Timed Petri Net, Stochastic Petri Net, and Predicate Transition Net.
FAQ (http://www.daimi.aau.dk/PetriNets/faq/answers.htm).
(1996-09-10)

PETSCII
character /pet'skee/ PET ASCII. The variation (many would say perversion) of the ASCII character set used by the Commodore Business Machines' PET series of personal computers and the later Commodore 64, Commodore 16, and Commodore 128 computers. The PETSCII set used left-arrow and up-arrow (as in old-style ASCII) instead of underscore and caret, placed the unshifted alphabet at positions 65--90, put the shifted alphabet at positions 193--218, and added graphic characters.
[Jargon File]
(1995-10-29)

PEX
(PHIGS Extension to X) Extension to the X Window System providing 3d graphics support.

pf
networking The country code for French Polynesia.
(1999-01-27)

PFE
1. text, editor Programmer's File Editor.
2. language Portable Forth Environment.
(2000-12-07)

PFL
1. language A concurrent extension of ML by Holmstrom and Matthews, using CCS.
[ PFL: A Functional Language for Parallel Programming , S. Holmstrom in Proc Declarative Language Workshop, London 1983].
2. language, database Persistent Functional Language.

pfm
program file manager

pForth
language A portable (hence the p ) ANS-standard Forth implemented in ANSI C. Phil Burk (http://www.softsynth.com/philburk.html) initially began developing pForth in 1994 to support ASIC development at 3DO.
(1998-06-30)

Pfortran
Parallel Fortran

pg
networking The country code for Papua New Guinea.
(1999-01-27)

PGA
1. graphics, specification Professional Graphics Adapter.
2. hardware Pin Grid Array.
(1999-08-04)

PGA370
Socket 370

PGP
Pretty Good Privacy

PH
tool The tool for looking up people in Eudora on the Macintosh. Equivalent to Unix's finger service.
(1995-03-31)

pH
Parallel Haskell

ph
networking The country code for the Philippines.
(1999-01-27)

phacker
communications, security A telephone system cracker. A phacker may attempt to gain unauthorised access to a phone system in order to make free or untraceable calls or he may disrupt, alter or illegally tap phone systems via computer.
The disruptions may include causing a phone line to be engaged so no calls go in or out, redirecting outgoing or incoming calls, as well as listening to actual calls made.
Phackers are frequently confidence tricksters or phone freaks (nuisance callers who can only relate to other people by phone). Phackers are sometimes employed by illegal enterprises to conduct business using untraceable calls, or to disrupt, or follow legal authorities' investigations. Phackers interventions may be lethal to the person being phacked.
A phacker may be a phone company employee, or usually, ex-employee who specialises in illegal phone system disruption, alteration or tapping via physically altering installations. A phacker is generally considered to be a socially and intellectually retarded cracker.
See Captain Crunch.
(1998-08-09)

phage
A program that modifies other programs or databases in unauthorised ways; especially one that propagates a virus or Trojan horse. See also worm, mockingbird. The analogy, of course, is with phage viruses in biology.
[Jargon File]

phase
1. The offset of one's waking-sleeping schedule with respect to the standard 24-hour cycle; a useful concept among people who often work at night and/or according to no fixed schedule. It is not uncommon to change one's phase by as much as 6 hours per day on a regular basis. What's your phase? I've been getting in about 8 P.M. lately, but I'm going to wrap around to the day schedule by Friday. A person who is roughly 12 hours out of phase is sometimes said to be in night mode . (The term day mode is also (but less frequently) used, meaning you're working 9 to 5 (or, more likely, 10 to 6).) The act of altering one's cycle is called changing phase ; phase shifting has also been recently reported from Caltech.
2. change phase the hard way : To stay awake for a very long time in order to get into a different phase.
3. change phase the easy way : To stay asleep, etc. However, some claim that either staying awake longer or sleeping longer is easy, and that it is *shortening* your day or night that is really hard (see wrap around). The jet lag that afflicts travelers who cross many time-zone boundaries may be attributed to two distinct causes: the strain of travel per se, and the strain of changing phase. Hackers who suddenly find that they must change phase drastically in a short period of time, particularly the hard way, experience something very like jet lag without travelling.

phase alternating line
television (PAL) The video signal format used in the UK [where else?].
PAL uses Amplitude Modulation for the video information, and Frequency Modulation for the audio information. The phase of the colour subcarrier is reversed on alternate lines which (together with the use of a delay line) allows the receiver to cancel any phase errors introduced in the path between the studio and the end-user's receiver. Such phase errors are quite common and would cause the displayed colours to shift in hue.
The US equivalent, NTSC, does not have this feature and thus requires a user control to correct for transmission phase errors, hence the mis-expansion Never Twice the Same Colour .
(2001-06-08)

Phase Encoded
storage (PE) A recording method used for 1600 BPI magnetic tapes.
Compare NRZI, GCR.
(1996-02-03)

phase of the moon
Used humorously as a random parameter on which something is said to depend. Sometimes implies unreliability of whatever is dependent, or that reliability seems to be dependent on conditions nobody has been able to determine. This feature depends on having the channel open in mumble mode, having the foo switch set, and on the phase of the moon.
See also heisenbug.
True story: Once upon a time there was a bug that really did depend on the phase of the moon. There was a little subroutine that had traditionally been used in various programs at MIT to calculate an approximation to the moon's true phase. GLS incorporated this routine into a Lisp program that, when it wrote out a file, would print a timestamp line almost 80 characters long. Very occasionally the first line of the message would be too long and would overflow onto the next line, and when the file was later read back in the program would barf. The length of the first line depended on both the precise date and time and the length of the phase specification when the timestamp was printed, and so the bug literally depended on the phase of the moon!
The first paper edition of the Jargon File (Steele-1983) included an example of one of the timestamp lines that exhibited this bug, but the typesetter corrected it. This has since been described as the phase-of-the-moon-bug bug.
[Jargon File]
(1995-02-22)

phase-wrapping
(MIT) wrap around.
[Jargon File]
(1995-02-22)

PHIGS
Programmers Hierarchical Interactive Graphics System

Philips
company A Dutch multinational electronics company. It produces washing machines, consumer electronics, integrated circuits and light bulbs. Together with Sony they set the Compact Disc standard, especially Green Book CD-ROM. They are members of the Open Software Foundation. Philips Research Labs developed the POOL and SPL languages.
Address: Philips Research Labs, Eindhoven, Netherlands.
(1995-02-07)

Philips SCC68070
processor A microprocessor which is object code compatible with the Motorola 68000. It is not a performance improvement over the 68060; it's performance rather resembles that of the 68000.
(1995-04-22)

philosophy
See computer ethics, liar paradox, netiquette, proof.

PHOCUS
An object-oriented Prolog-like language.
[ PHOCUS: Production Rules, Horn Clauses, Objects and Contexts in a Unification Based System , D. Chan et al, Actes du Sem Prog et Logique, Tregastel (May 1987), pp. 77-108].
(1994-11-09)

phone mail
voice mail

Phonetastic
communications A CTI product from Callware. Phonetastic employs if-then rules and customer records to tell those receiving calls who is calling (based on ANI and DNIS) and to determine how the call should be routed, e.g. to a certain sales representative or to the general sales department; receive high-priority treatment; receive a fax-back, etc.
(1996-12-08)

Phong shading
graphics A model of how light is reflected from surfaces used extensively in three dimensional graphics to generate visually realistic images.
[Details?]
(1994-11-09)

phosphor fatigue
screen saver

photo CD
multimedia, specification, standard, storage, graphics A standard for storing photographic images on CD-ROM, produced by Kodak.
Kodak Photo CD page (http://www.kodak.com/digitalImaging/aboutPhotoCD/aboutPCD.shtml)
(1995-12-12)

Photoshop
An image manipulation program by Adobe Systems, Inc..
Home (http://www.adobe.com/Apps/Photoshop.html)
[Summary?]
(1995-07-05)

PHP
PHP: Hypertext Processor

PHP: Hypertext Processor
World-Wide Web, programming (PHP) A server-side, cross-platform, HTML-embedded scripting language used to create dynamic web pages. PHP is Open Source software.
PHP Home (http://www.php.net/).
[Features?]
(2002-01-03)

phreaking
jargon /freek'ing/ phone phreak 1. The art and science of cracking the telephone network so as, for example, to make free long-distance calls.
2. By extension, security-cracking in any other context (especially, but not exclusively, on communications networks).
At one time phreaking was a semi-respectable activity among hackers; there was a gentleman's agreement that phreaking as an intellectual game and a form of exploration was OK, but serious theft of services was taboo. There was significant crossover between the hacker community and the hard-core phone phreaks who ran semi-underground networks of their own through such media as the legendary TAP Newsletter .
This ethos began to break down in the mid-1980s as wider dissemination of the techniques put them in the hands of less responsible phreaks. Around the same time, changes in the phone network made old-style technical ingenuity less effective as a way of hacking it, so phreaking came to depend more on overtly criminal acts such as stealing phone-card numbers.
The crimes and punishments of gangs like the 414 group turned that game very ugly. A few old-time hackers still phreak casually just to keep their hand in, but most these days have hardly even heard of blue boxes or any of the other paraphernalia of the great phreaks of yore.
[Jargon File]
(1994-11-09)

physical
jargon The opposite of logical in its jargon sense. Compare real, virtual, and transparent.
It is said that what you can touch and see is real; what you can see but not touch is virtual; what you can touch but not see is transparent; and what you can neither touch nor see is probably imaginary.
(2001-10-26)

physical address
memory management The address presented to a computer's main memory in a virtual memory system, in contrast to the virtual address which is the address generated by the CPU. A memory management unit translates virtual addresses into physical addresses.
(1995-03-31)

physical addressing
networking The low level addressing scheme used on Ethernet. The 48-bit destination Ethernet address in a packet is compared with the receiving node's Ethernet address.
Compare Internet address.
(1994-12-23)

physical layer
networking Layer one, the lowest layer, in the OSI seven layer model, concerning electrical and mechanical connections to the network. The physical layer is used by the data link layer. Example physical layer protocols are CSMA/CD, token ring and bus.
(1994-12-23)

physical memory
memory management The memory hardware (normally RAM) installed in a computer. The term is only used in contrast to virtual memory.
(1996-03-23)

physical memory address
physical address

Physics Analysis Workbench
tool (PAW) A general purpose portable tool for analysis and presentation of physics data.
(1994-11-28)

PI
An interface between Prolog application programs and the X Window System that aims to be independent from the Prolog engine, provided that it has a Quintus foreign function interface (e.g. SICStus and YAP). It is mostly written in Prolog and is divided in two libraries: Edipo - the lower level interface to the Xlib functions; and Ytoolkit - the higher level user interface toolkit.
(ftp://ftp.ncc.up.pt/pub/prolog/ytoolkit.tar.Z)
E-mail: Ze' Paulo Leal zp@ncc.up.pt .
(1993-03-02)

PIC
1. hardware programmable interrupt controller.
2. A graphics language by Brian Kernighan, for textually describing pictures with troff.
[Featured in More Programming Pearls , Jon Bentley].
[ PIC - A Language for Typesetting Graphics , B.W. Kernighan, Soft Prac Exp 12(1):1-21 (Jan 1982)].
[ PIC - A Graphics Language for Typesetting, Revised User Manual , Bell Labs TR 116, Dec 1984].
(1994-10-28)
3. personal intelligent communicator.
(2001-04-30)

pi-calculus
theory A process algebra in which channel names can act both as transmission medium and as transmitted data. Its basic atomic actions are individual point to point communications which are nondeterministically selected and globally sequentialised.
[Details? Examples?]
(1995-03-20)

Pick BASIC
Data/BASIC

PICL
Language on Ncube or iPSC machines?

pico-
prefix

picosecond
unit 10^-12 seconds.
(1997-04-26)

PICS
Platform for Internet Content Selection

PICT
file format An Apple graphics format.
[Details?]
(1997-06-06)

PicTeX
A version of TeX for pictures.
(ftp://june.cs.washington.edu/tex/PiCTeX.tar.Z)

Pictorial Janus
K. Kahn, Xerox. Visual extension of Janus. Requires Strand88 and a PostScript interpreter.

picture
image

picture element
graphics (pixel) The smallest resolvable rectangular area of an image, either on a screen or stored in memory. Each pixel in a monochrome image has its own brightness, from 0 for black to the maximum value (e.g. 255 for an eight-bit pixel) for white. In a colour image, each pixel has its own brightness and colour, usually represented as a triple of red, green and blue intensities (see RGB).
Compare voxel.
(1998-05-08)

Picture Quality Scale
graphics (PQS) A system for rating image quality based upon features of images that affect their perception by the human eye, rather than the traditional signal-to-noise ratio which examines differences for every single pixel.
[Details?]
(1995-01-12)

PID
process identifier

pidgen+
language A language for the Apple II.
(ftp://ftp.wustl.edu/system/apple2/Lang/pidgen/).
[Published in Dr. Dobbs Journal?]
(1994-11-29)

PIE
A language from CMU similar to Actus.
(1994-11-29)

pif
Program Information File

piggybacking
1. A method for passing acknowledgement frames and data frames in the same direction along a line.
2. The practice of increasing memory capacity by soldering chips on top of other chips. The chip-enable or high address pins would be connected to the address bus by a flying lead. Many Ohio Superboards were expanded to a massive 8K of RAM in this way.
(1994-11-29)

pig, run like a
To run very slowly on given hardware, said of software. Distinct from hog.
[Jargon File]
(1994-11-29)

PIGUI
Platform Independent Graphical User Interface

PIL
Procedure Implementation Language.
A subsystem of DOCUS.
[Sammet 1969, p.678].
(1994-11-29)

PILE
1. Polytechnic's Instructional Language for Educators. Similar in use to an enhanced PILOT, but structurally more like Pascal with Awk-like associative arrays (optionally stored on disk). Distributed to about 50 sites by Initial Teaching Alphabet Foundation for Apple II and CP/M.
[ A Universal Computer Aided Instruction System, Henry G. Dietz Ronald J Juels, Proc Natl Educ Computing Conf '83, pp.279-282].
2. language, music [ PILE _ A Language for Sound Synthesis , P. Berg, Computer Music Journal 3.1, 1979].
(1999-06-04)

PIL/I
Variant of JOSS. Sammet 1969, p.217.

PILOT
Programmed Inquiry Learning Or Teaching. CAI language, many versions. Guide to 8080 PILOT , J. Starkweather, Dr Dobb's J (Apr 1977).

pilot error
jargon (Sun, from aviation) A user's misconfiguration or misuse of a piece of software, producing apparently bug-like results.
E.g. Joe Luser reported a bug in sendmail that causes it to generate bogus headers. That's not a bug, that's pilot error. His sendmail.cf is hosed.
Compare UBD.
[Jargon File]
(1994-12-05)

Pilot European Image Processing Archive
(PEIPA) An archive devoted to image processing, computer vision, and computer graphics. It includes software, images, reference material, and miscellaneous goodies.
The archive is funded by the British Machine Vision Association (BMVA) and the University of Essex and is closely associated with the Pixel mailing list and Technical Committee 5 (Benchmarking and Software) of the IAPR.
(http://peipa.essex.ac.uk/)

PIM
1. Personal Information Manager.
2. Product Information Management.
(1997-02-11)

PIN
Personal Identification Number

PINBOL
language, games A decision table language for controlling pinball machines used at Atari. PINBOL included a multitasking executive and an interpreter that worked on data structures compiled from condition:action lists.
(1996-11-03)

Pine
Program for Internet News Email. A tool for reading, sending, and managing electronic messages. It was designed specifically with novice computer users in mind, but can be tailored to accommodate the needs of power users as well. Pine uses Internet message protocols (e.g. RFC 822, SMTP, MIME, IMAP, NNTP) and runs under Unix and MS-DOS.
The guiding principles for Pine's user-interface were: careful limitation of features, one-character mnemonic commands, always-present command menus, immediate user feedback, and high tolerance for user mistakes. It is intended that Pine can be learned by exploration rather than reading manuals. Feedback from the University of Washington community and a growing number of Internet sites has been encouraging.
Pine's message composition editor, Pico, is also available as a separate stand-alone program. Pico is a very simple and easy-to-use text editor offering paragraph justification, cut/paste, and a spelling checker.
Pine features on-line help; a message index showing a message summary which includes the status, sender, size, date and subject of messages; commands to view and process messages; a message composer with easy-to-use editor and spelling checker; an address book for saving long complex addresses and personal distribution lists under a nickname; message attachments via Multipurpose Internet Mail Extensions; folder management commands for creating, deleting, listing, or renaming message folders; access to remote message folders and archives via the Interactive Mail Access Protocol as defined in RFC 1176; access to Usenet news via NNTP or IMAP.
Pine, Pico and UW's IMAP server are copyrighted but freely available.
Unix Pine runs on Ultrix, AIX, SunOS, SVR4 and PTX. PC-Pine is available for Packet Driver, Novell LWP, FTP PC/TCP and Sun PC/NFS. A Microsoft Windows/WinSock version is planned, as are extensions for off-line use.
Pine was originally based on Elm but has evolved much since ( Pine Is No-longer Elm ). Pine is the work of Mike Seibel, Mark Crispin, Steve Hubert, Sheryl Erez, David Miller and Laurence Lundblade (now at Virginia Tech) at the University of Washington Office of Computing and Communications.
(ftp://ftp.cac.washington.edu/mail/pine.tar.Z). (telnet://demo.cac.washington.edu/) (login as pinedemo ).
E-mail: pine@cac.washington.edu , pine-info-request@cac.washington.edu , pine-announce-request@cac.washington.edu .
(21 Sep 93)

pin feed
sprocket feed

ping
1. networking Packet INternet Groper.
2. messaging To send a message to all members of a mailing list requesting an ACK (in order to verify that everybody's addresses are reachable). We haven't heard much of anything from Geoff, but he did respond with an ACK both times I pinged jargon-friends.
[Jargon File]
(1997-03-10)

ping-flood
networking To flood another user with ping requests.
(1997-04-07)

pinging
ping

ping-pong
architecture A phenomenon which can occur in a multi-processor system with private caches where two processors are alternately caching a shared location. Each time one writes to it it invalidates the other's copy.
(1995-12-29)

Pin Grid Array
hardware (PGA) A style of integrated circuit socket or pin-out with pins laid out on a square or rectangular grid with a separation of 0.1 inch in each direction. The pins near the centre of the array are often missing.
PGA is often used on motherboards for processors, e.g. Socket 6 and Socket 8.
PPGA is plastic PGA (as opposed to ceramic?).
See also SPGA.
(2000-03-09)

Pink-Shirt Book
publication The Peter Norton Programmer's Guide to the IBM PC .
The original cover featured a picture of Peter Norton with a silly smirk on his face, wearing a pink shirt. Perhaps in recognition of this usage, the current edition has a different picture of Norton wearing a pink shirt.
See also book titles.
[Jargon File]
(1995-03-28)

pin-out
hardware (Or pinout ) The allocation of logical functions or signals to the electrical connection points (pins) of an integrated circuit or other component or connector.
(1996-04-04)

PIP
tool Peripheral Interchange Program.
A program on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8 (derived from a utility on the PDP-6) that was used for file copying (and in OS/8 and RT-11 for just about every other file operation you might want to do). It is said that when the program was written, during the development of the PDP-6 in 1963, it was called ATLATL ( Anything, Lord, to Anything, Lord ; this played on the Nahuatl word atlatl for a spear-thrower, with connotations of utility and primitivity that were no doubt quite intentional).
See also BLT, dd, cat.
[Jargon File]
(1995-03-28)

pipe
1. operating system One of Unix's buffers which can be written to by one asynchronous process and read by another, with the kernel suspending and waking up the sender and receiver according to how full the pipe is. In later versions of Unix, rather than using an anonymous kernel-managed temporary file to implement a pipe, it can be named and is implemented as a local socket pair.
2. character | ASCII character 124. Used to represent a pipe between two processes in a shell command line. E.g.
grep foo log | more
which feeds the output of grep into the input of more without requiring a named temporary file and without waiting for the first process to finish.
3. jargon, networking A connection to a network.
See also light pipe.
(1996-09-24)

pipeline
architecture A sequence of functional units ( stages ) which performs a task in several steps, like an assembly line in a factory. Each functional unit takes inputs and produces outputs which are stored in its output buffer. One stage's output buffer is the next stage's input buffer. This arrangement allows all the stages to work in parallel thus giving greater throughput than if each input had to pass through the whole pipeline before the next input could enter.
The costs are greater latency and complexity due to the need to synchronise the stages in some way so that different inputs do not interfere. The pipeline will only work at full efficiency if it can be filled and emptied at the same rate that it can process.
Pipelines may be synchronous or asynchronous. A synchronous pipeline has a master clock and each stage must complete its work within one cycle. The minimum clock period is thus determined by the slowest stage. An asynchronous pipeline requires handshaking between stages so that a new output is not written to the interstage buffer before the previous one has been used.
Many CPUs are arranged as one or more pipelines, with different stages performing tasks such as fetch instruction, decode instruction, fetch arguments, arithmetic operations, store results. For maximum performance, these rely on a continuous stream of instructions fetched from sequential locations in memory. Pipelining is often combined with instruction prefetch in an attempt to keep the pipeline busy.
When a branch is taken, the contents of early stages will contain instructions from locations after the branch which should not be executed. The pipeline then has to be flushed and reloaded. This is known as a pipeline break.
(1996-10-13)

pipeline break
architecture (Or pipeline stall ) The delay caused on a processor using pipelines when a transfer of control is taken. Normally when a control-transfer instruction (a branch, conditional branch, call or trap) is taken, any following instructions which have been loaded into the processor's pipeline must be discarded or flushed and new instructions loaded from the branch destination. This introduces a delay before the processor can resume execution.
Delayed control-transfer is a technique used to reduce this effect.
(1996-10-13)

Pipeline Burst Cache
hardware, storage (PB Cache) A synchronous cache built from pipelined SRAM.
A cache in which reading or writing a new location takes multiple cycles but subsequent locations can be accessed in a single cycle. On Pentium systems in 1996, pipeline burst caches are frequently used as secondary caches. The first 8 bytes of data are transferred in 3 CPU cycles, and the next 3 8-byte pieces of data are transferred in one cycle each.
(1996-10-13)

pipelined
pipeline

Pipelined Burst Cache
Pipeline Burst Cache

pipeline stall
pipeline break

pipelining
pipeline

PIPEX Ltd.
UUNET PIPEX

piracy
software piracy

pirate
software pirate

PIRL
Pattern Information Retrieval Language.
A language for digraph manipulation, embeddable in Fortran or ALGOL, for IBM 7094.
[ PIRL - Pattern Information Retrieval Language , S. Berkowitz, Naval Ship Res Dev Ctr, Wash DC].
(1994-11-29)

pistol
[IBM] A tool that makes it all too easy for you to shoot yourself in the foot. Unix rm * makes such a nice pistol!
[Jargon File]

PIT
Language for IBM 650. (See IT).

pixel
picture element

pixmap
(Contraction of pixel map ). A 3 dimensional array of bits corresponding to a 2 dimensional array of pixels. It is used, for example, in the X Window System to describe a memory region where graphics can be drawn without affecting the screen. Typically this is used for the efficient handling of expose events, icon images or for animation. Compare bitmap.
[Xlib Guide].

pizza box
[Sun] The largish thin box housing the electronics in (especially Sun) desktop workstations, so named because of its size and shape and the dimpled pattern that looks like air holes.
Two megabyte single-platter removable disk packs used to be called pizzas, and the huge drive they were stuck into was referred to as a pizza oven. It's an index of progress that in the old days just the disk was pizza-sized, while now the entire computer is.
[Jargon File]

PJPEG
Progressive JPEG

pk
networking The country code for Pakistan.
(1999-01-27)

PKE
public-key encryption

PKI
Public Key Infrastructure

PKLITE
compression, tool An executable file compression utility for MS-DOS from PKWARE, Inc.. PKLITE compresses the body of the executable and adds a small, fast decompress routine in the header. In many cases it performs better than lzexe. With headpack the output is smaller and cannot be decompressed.
(1999-01-07)

PKUNZIP
tool, compression A program to unpack archives created by PKZIP, written by PKWARE, Inc. and released as shareware. Versions exist for MS-DOS, Microsoft Windows and Open VMS. PKUNZIP is no longer distributed, its functions having been incorporated into PKZIP.
(1999-01-07)

PKWARE, Inc.
company, compression The company which produces the PKZIP and PKUNZIP compression tools and libraries for many platforms.
Home (http://www.pkware.com/).
E-mail: info@pkware.com.
Telephone: +1 (414) 354 8699.
Address: 9025 N. Deerwood Drive, Brown Deer, WI 53223-2480, USA.
(1999-01-07)

PKZIP
tool A file compression and archiver utility for MS-DOS and Microsoft Windows from PKWARE, Inc.. PKZIP uses a variation on the sliding window compression algorithm. It comes with pkunzip and pklite and is available as shareware from most FTP archives in a self-expanding MS-DOS executable.
Current versions as of 1999-10-07: PKZIP 2.60 GUI for Microsoft Windows 3.1x, Windows 9x, Windows NT; PKZIP 2.50 Command Line for Windows 9x NT; PKZIP 2.04g for MS-DOS; PKZIP 2.51 for Unix, (Linux, SPARC Solaris, Digital, HP-UX, IBM AIX and SCO Unix); PKZIP 2.50 for OS/2; PKZIP for Open VMS/VAX.
WINZIP is a version with a GUI for Microsoft Windows.
A distribution in about 1995-06-22 claiming to be PKZIP 3 was actually a trojan horse which attempted to reformat the hard disk and delete all files on it.
Home (http://www.pkware.com/catalog/pkzip_win.html).
[Status, history of WINZIP, PKLITE?]
(1999-01-16)

pl
networking The country code for Poland.
(1999-01-27)

PL1
spelling It's spelled PL/I .
(1996-12-13)

PL/1
spelling It's spelled PL/I .
(1996-12-13)

PL-11
language A high-level machine-oriented language for the PDP-11 developed by R.D. Russell of CERN in Nov 1971. It is similar to PL360 and is written in Fortran IV and cross-compiled on other machines.
(1995-01-05)

PL360
Structured assembly language for the IBM 360 and IBM 370, with a few high-level constructs. Syntactically it resembles ALGOL 60. Its grammar is defined entirely by operator precedence.
[ PL/360, A Programming Language for the 360 Computers , N. Wirth, J ACM 15(1):37-74 (Jan 1968)].
(1995-01-05)

PL516
An ALGOL-like assembly language for the DDP-516, similar to PL360.
[ PL 516, An ALGOL-like Assembly Language for the DDP-516 , B.A. Wichmann, Natl Phys Lab UK, Report CCU 9, 1970].
(1995-01-05)

PL-6
A PL/I-like system language for the Honeywell operating system, CP-6.
(1995-01-05)

PL.8
A systems dialect of PL/I, developed originally for the IBM 801 RISC minicomputer, later used internally for IBM RT and R/6000 development.
[ An Overview of the PL.8 Compiler , M. Auslander et al, Proc SIGPLAN '82 Symp on Compiler Writing].
(1995-01-05)

Pla
language, music A high-level music programming language, written in SAIL. Pla includes concurrency based on message passing.
[ Pla: A Composer's Idea of a Language , B. Schottstaedt, Computer Music J 7(1):11-20, Winter 1983].
(1999-06-04)

PLACE
Programming Language for Automatic Checkout Equipment.
[ The Compiler for the Programming Language for Automatic Checkout Equipment (PLACE) , AFAPL TR-68-27, Battelle Inst, Columbus, May 1968].

PLAGO
A translator-interpreter for a PL/I subset. PLAGO/360 User's Manual, Poly Inst Brooklyn.

plaid screen
[XEROX PARC] A special effect that occurs when certain kinds of memory smashes overwrite the control blocks or image memory of a bit-mapped display. The term salt and pepper may refer to a different pattern of similar origin. Though the term as coined at PARC refers to the result of an error, some of the X demos induce plaid-screen effects deliberately as a display hack.
[Jargon File]

PLAIN
Programming LAnguage for INteraction. Pascal-like, with extensions for database, string handling, exceptions and pattern matching. Revised Report on the Programming Language PLAIN , A. Wasserman, SIGPLAN Notices 6(5):59-80 (May 1981).

plain ASCII
/playn-as'kee/ flat ASCII.
[Jargon File]

Plain Old Documentation
text (pod, occasionally POD ) A simple markup language used to embed documentation, literate programming-style, in Perl programs. Pod readers and converters are part of the standard Perl distribution and the documentation provided with Perl is all in pod format.
The Pod Specification (http://www.perl.com/CPAN-local/doc/manual/html/pod/perlpod.html).
(1998-12-18)

Plain Old Telephone Service
communications (POTS) The traditional voice service provided by phone companies, especially when opposed to data services.
Note that the acronym POTS is sometimes expanded as Plain Old Telephone System in which sense it is synonymous to Public Switched Telephone Network but used somewhat derogatively.
(1998-05-18)

Plain Old Telephone System
Public Switched Telephone Network

plain TeX
publication Donald Knuth's original set of user-level macros for interaction with his TeX formatter. Dedicated TeX fans still prefer these over the more user-friendly LaTeX macros used by the majority of the TeX community.
(1997-11-20)

plaintext
cryptography A message before encryption or after decryption, i.e. in its usual form which anyone can read, as opposed to its encrypted form ( ciphertext ).
(1995-05-10)

PLAN
language Programming LANguage Nineteen hundred.
The assembly language for ICL 1900 series computers.
(1995-03-21)

.plan
operating system See plan file.

Plan 9
operating system (Named after the classically bad, exceptionally low-budget SF film Plan 9 from Outer Space ) An operating system developed at Bell Labs by many researchers previously intimately involved with Unix.
Plan 9 is superficially Unix-like but features far finer control over the name-space (on a per-process basis) and is inherently distributed and scalable.
Plan 9 is divided according to service functions. CPU servers concentrate computing power into large multiprocessors; file servers provide repositories for storage and terminals give each user of the system a dedicated computer with bitmap screen and mouse on which to run a window system. The sharing of computing and file storage services provides a sense of community for a group of programmers, amortises costs and centralises and hence simplifies management and administration.
The pieces communicate by a single protocol, built above a reliable data transport layer offered by an appropriate network, that defines each service as a rooted tree of files. Even for services not usually considered as files, the unified design permits some simplification. Each process has a local file name space that contains attachments to all services the process is using and thereby to the files in those services. One of the most important jobs of a terminal is to support its user's customised view of the entire system as represented by the services visible in the name space.
Documentation (ftp://plan9.att.com/dist/plan9doc/) (an FTP server running Plan 9).

Planet
[ An Experiment in Language Design for Distributed Systems , D. Crookes et al, Soft Prac Exp 14(10):957-971 (Oct 1984)].

plan file
operating system On Unix systems that support finger, the .plan file in a user's home directory is displayed when the user is fingered. This feature was originally intended to be used to keep potential fingerers apprised of one's location and near-future plans, but has been turned almost universally to humorous and self-expressive purposes (like a sig block). See also Hacking X for Y.
A later innovation in plan files was the introduction of scrolling plan files which are one-dimensional animations made using only the printable ASCII character set, carriage return and line feed, avoiding terminal specific escape sequences, since the finger command will (for security reasons; see letterbomb) not pass the escape character.
Scrolling .plan files have become art forms in miniature, and some sites have started competitions to find who can create the longest running, funniest, and most original animations. A compiler (ASP) is available on Usenet for producing them. Typical animation components include:
Centipede: mmmmme
Lorry/Truck: oo-oP
Andalusian Video Snail: _@/
In the mid-1990s WWW home pages largely supplanted .plan files, providing a much richer forum for the publication of personal minutiae and digital creativity.
See also twirling baton.
[Jargon File]
(1998-01-16)

PLANIT
Programming LANguage for Interaction and Teaching. CAI language. PLANIT - A Flexible Language Designed for Computer-Human Interaction , S.L. Feingold, Proc FJCC 31, AFIPS (Fall 1967) Sammet 1969, p.706.

Plankalkül
language, history (Or Plankalkuel if you don't have umlauts). The first programming language, designed by Konrad Zuse, ca. 1945. Zuse wrote Rechenplan allgemeiner Struktur in 1944 which developed into Plankalkül. Plankalkül included arrays and records and used a style of assignment in which the new value appears on the right.
Zuse wrote Plankalkül for his Z3 computer (finished before 1945) and implemented it on there as well. Much of his work may have been either lost or confiscated in the aftermath of World War II.
ESR Plankalkül (http://www.tuxedo.org/~esr/retro/plankalkuel/).
[ The Plankalkül of Konrad Zuse , F.L. Bauer et al, CACM 15(7):678-685, Jul 1972].
(2002-05-28)

PLANNER
A language for writing theorem provers by Carl Hewitt hewitt@ai.mit.edu MIT 1967. Never fully implemented.
CONNIVER was an outgrowth of PLANNER and microPLANNER a subset. PLASMA is a PLANNER-like system modelled on Actors. See also POPLER, QLISP, Scheme.
[ PLANNER: A Language for Proving Theorems in Robots , Carl Hewitt, Proc IJCAI-69, Wash DC, May 1969].

Planner-73
The original name for PLASMA.

PLANS
Programming Language for Allocation and Network Scheduling. A PL/I preprocessor, used for developing scheduling algorithms. A User's Guide to the Programming Language for Allocation and Network Scheduling , H.R. Ramsey et al, TR SAI-77-068-DEN, Science Applications Inc (Jun 1977).

plants
[ The Algorithmic Beauty of Plants , Przemyslaw Prusinkiewicz, Aristid Lindenmayer. New York: Springer-Verlag, 1990. 3-54097297-8].

PLASMA
PLAnner-like System Modelled on Actors. Carl Hewitt, 1975. The first actor language. Originally called Planner-73, and implemented in MacLisp. Lisp-like syntax, but with several kinds of parentheses and brackets.
[ A PLASMA Primer , B. Smith et al, AI Lab Working Paper 92, MIT Oct 1975].
[ Viewing Control Structures as Patterns of Passing Messages , C. Hewitt, AI Lab Memo 410, MIT 1976].

Plastic Pin Grid Array
hardware, processor (PPGA) The package used for certain Intel Celeron processors. PPGA processors fit into Socket 370 motherboard sockets.
The Plastic Pin Grid Array packaging is similar to that used on Pentium processors. The silicon core is covered by a heat slug that faces down towards the motherboard.
The Celeron 300A to the 533 use a PPGA package. The Celeron 566 onwards use a FC-PGA package.
Celeron processors are also available in Slot 1 SEPP packaging.
(2000-08-26)

platform
Specific computer hardware, as in the phrase platform-independent . It may also refer to a specific combination of hardware and operating system and/or compiler, as in this program has been ported to several platforms . It is also used to refer to support software for a particular activity, as in This program provides a platform for research into routing protocols .
(1994-12-07)

Platform for Internet Content Selection
World-Wide Web (PICS) A standard for meta-data associated with World-Wide Web content, originally designed to help parents and teachers control what children access on the Internet, but also used for code signing and privacy. The PICS platform is one on which other rating services and filtering software have been built.
(http://www.w3.org/PICS).
(2001-03-29)

Platform Independent Graphical User Interface
(PIGUI) The PIGUI FAQ (ftp://rtfm.mit.edu/pub/usenet/news.answers/portable-GUI-software/).
[Summary?]
(1994-11-22)

platinum-iridium
standard A standard, against which all others of the same category are measured. Usage: silly.
The notion is that one of whatever it is has actually been cast in platinum-iridium alloy and placed in the vault beside the Standard Kilogram at the International Bureau of Weights and Measures near Paris, as the bar defining the standard metre once was.
This garbage collection algorithm has been tested against the platinum-iridium cons cell in Paris.
Compare golden.
[Jargon File]
(1997-02-20)

Platon
Distributed language based on asynchronous message passing.
[ Message Passing Communication Versus Procedure Call Communication , J. Staunstrup, Soft Prac Exp 12(3):223-234 (Mar 1982)].
[ Platon Reference Manual , S. Soerensen et al, RECAU, U Aarhus, Denmark].

PLAY
language, music A language for real-time music synthesis. 1977.
[ An Introduction to the Play Program , J. Chadabe ete al, Computer Music J 2,1 (1978)].
(1999-06-04)

play by electronic mail
games A kind of game where the players use electronic mail to communicate. This may be done via a human moderator or an automatic mailing list exploder on some central machine or it may be fully distributed with each player just addressing his mail to all other players.
This is a natural extension of play by mail games conducted via snail mail.
(http://fermi.clas.virginia.edu/~gl8f/pbm.html). Usenet newsgroup: news:rec.games.pbm.
(1994-10-27)

Playground
A visual language for children, developed for Apple's Vivarium Project. OOPSLA 89 or 90?

Play, Inc.
company The company which designed and markets Snappy Video Snapshot.
Home (http://www.play.com).
(1997-07-11)

playpen
(IBM) A room where programmers work.
Compare salt mines.
[Jargon File]

Playstation
games, hardware A games console from Sony Corporation.
Home (http://www.scea.sony.com/playstation/)
FAQ (http://www.flex.net/users/cjayc/vgfa/system/sony_psx.txt).
[Features?]
(1996-03-21)

playte
data, jargon /playt/ 16 bits, by analogy with byte. Usage: rare and extremely silly.
See also dynner, crumb.
[Jargon File]
(1997-12-03)

PLC
Programmable Logic Controller

PL/C
Programming Language/Cornell

PL Cornell
Programming Language/Cornell

PLD
Programmable Logic Device

plenum cable
hardware Cable that that can be (legally) installed in the plenum (the space between a ceiling and the floor above it). Such cable is (usually) teflon-coated so that it will not give off toxic fumes when burned. In some parts of the world such cable is required by law.
(1996-08-25)

pleonasm
Redundancy of expression; tautology.
(1995-03-25)

plesiochronous
communications Nearly synchronised, a term describing a communication system where transmitted signals have the same nominal digital rate but are synchronised on different clocks.
According to ITU-T standards, corresponding signals are plesiochronous if their significant instants occur at nominally the same rate, with any variation in rate being constrained within specified limits.
[Pronunciation? /ples'ee-oh-kroh'nus/?]
(1995-03-02)

Plesiochronous Digital Hierarchy
communications (PDH) A transmission system for voice communication using plesiochronous synchronisation.
PDH is the conventional multiplexing technology for network transmission systems. The transmitter adds dummy information bits to allow multiple 2-Mbit/s channels to be bit interleaved. The receiver discards these bits once the signals have been demultiplexed. [Is this correct?]
PDH is being replaced by SONET and other SDH (Synchronous Digital Hierarchy) schemes. Service levels are described with terms like DS1, as in ISDN.
(2001-04-27)

Pleuk grammar development system
grammar, tool A shell for grammar development by Jo Calder jcalder@cs.sfu.ca , Kevin Humphreys kwh@cogsci.ed.ac.uk , Chris Brew Chris.Brew@edinburgh.ac.uk , and Mike Reape mreape@cs.tcd.ie . It handles various grammatical formalisms and requires SICStus Prolog version 2.1#6 or later.
Current version: 1.0, as of 1993-06-18.
(ftp://ai.uga.edu/ai.natural.language/)
E-mail: pleuk@cogsci.ed.ac.uk .
(2000-07-22)

Plexus
A modular World-Wide Web server written in Perl by Tony Sanders sanders@earth.com . Comes with interfaces to allow many other information services to be served via the Web.
Version 3.0m 1994-07-22 (ftp://ftp.earth.com/plexus/)
(1994-07-22)

PL/I
Programming Language One.
An attempt to combine the best features of Fortran, COBOL and ALGOL 60. Developed by George Radin of IBM in 1964. Originally named NPL and Fortran VI. The result is large but elegant. PL/I was one of the first languages to have a formal semantic definition, using the Vienna Definition Language. EPL, a dialect of PL/I, was used to write almost all of the Multics operating system. PL/I is still widely used internally at IBM. The PL/I standard is ANS X3.53-1976.
PL/I has no reserved words. Types are fixed, float, complex, character strings with maximum length, bit strings, and label variables. Arrays have lower bounds and may be dynamic. It also has summation, multi-level structures, structure assignment, untyped pointers, side effects and aliasing. Control flow constructs include goto; do-end groups; do-to-by-while-end loops; external procedures; internal nested procedures and blocks; generic procedures and exception handling. Procedures may be declared recursive. Many implementations support concurrency ('call task' and 'wait(event)' are equivalent to fork/join) and compile-time statements.
LPI is a PL/I interpreter.
[ A Structural View of PL/I , D. Beech, Computing Surveys, 2,1 33-64 (1970)].
(1994-10-25)

PL/I-FORMAC
language A variant of FORMAC.
[ The PL/I-FORMAC Interpreter , J. Xenakis, Proc 2nd Symp Symbolic and Algebraic Manip, ACM, Mar 1971].
[Sammet 1969, p. 486].
[Details? Relatonship to PL/I?]
(1994-10-25)

pling
character exclamation mark.
[Does anyone call vertical bar ( | , broken or unbroken) pling ?]
(1998-09-20)

plingnet
UUCPNET. See also pling.
[Jargon File]

PLisp
1. PostScript Lisp? A Common Lisp translator and programming environment in PostScript by John Peterson peterson-john@cs.yale.edu .
2. Pattern LISP. 1990. A pattern-matching rewrite-rule language, optimised for describing syntax translation rules. (See LISP70).

PL/I SUBSET
An early 70's version of PL/I for minicomputers.

PL/I Subset G
( General Purpose ) The commercial PL/I subset, i.e. what was actually implemented by most vendors. ANS X3.74-1981.

PLITS
Programming Language In The Sky. A computational model for concurrency with communication via asynchronous message-passing.
[ High Level Programming for Distributed Computing , J.A. Feldman, CACM 22(6):353- 368 (Jun 1979)].

PLL
phase-locked loop

PL/M
Programming Language/Microcomputers. MAA (later Digital Research) for Intel, 1972. A very low level language incorporating ideas from PL/I, ALGOL and XPL. Integrated macro processor. Originally the implementation language for CP/M. PL/M-80 Programming Manual , Doc 98-268B, Intel 1976. A Guide to PL/M Programming for Microcomputer Applications , D. McCracken, A-W 1978. Versions: PL/M-80, PL/M-86, PL/M-286.

PLMK
chat please let me know.
(1999-09-27)

plokta
/plok't*/ Press Lots Of Keys To Abort. To press random keys in an attempt to get some response from the system. One might plokta when the abort procedure for a program is not known, or when trying to figure out if the system is just sluggish or really hung. Plokta can also be used while trying to figure out any unknown key sequence for a particular operation. Someone going into plokta mode usually places both hands flat on the keyboard and mashes them down, hoping for some useful response.
A slightly more directed form of plokta can often be seen in mail messages or Usenet articles from new users - the text might end with
^X^C
q
quit
:q
^C
end
x
exit
ZZ
^D
?
help
as the user vainly tries to find the right exit sequence, with the incorrect tries piling up at the end of the message.
[Jargon File]

plonk
networking, abuse (Possibly influenced by British slang plonk for cheap booze, or plonker for someone behaving stupidly; usually written *plonk* ) The sound a newbie makes as he falls to the bottom of a kill file. While this term originated in the Usenet newsgroup news:talk.bizarre, by 1994 it was widespread on Usenet and mailing lists as a form of public ridicule.
Another theory is that it is an acronym for Person with Little Or No Knowledge .
(2002-01-18)

plotter
hardware A device that uses one or more pens that can be raised, lowered and moved over the printing media to draw graphics or text.
The heart of the plotter is the printer head assembly, consisting of a horizontal bar and, attached to it, the head assembly holding the pen in use. The pen can be positioned horizontally by moving the pen assembly along the bar. Vertical positioning is achieved by either moving the bar (stationary page plotter) or the paper (rolling page plotter). Combinations of horizontal and vertical movement are used to draw arbitrary lines and curves in a single action, in contrast to printers which usually scan horizontally across the page.
Colour plots can be made by using more than one pen. Older plotters required a separate pen for each colour and the pens had to be changed by hand. Modern colour plotters usually use only four pens (cyan, magenta, yellow, and black, see CMYK) and need no human intervention to change them.
Monochromatic plotters have been largely phased out by laser printers except when large paper size is needed, e.g. in CAD.
(1996-01-10)

PL/P
Programming Language, Prime. Russ Barbour, PRIME Computer, late 70's. Subset of PL/I used internally for implementation of PRIMOS. (See SPL[4]).

PL/PROPHET
PL/I-like language for the PROPHET system, used by pharmacologists. The Implementation of the PROPHET System , P.A. Castleman et al, NCC 43, AFIPS (1974).

PL/S
Programming Language/Systems

PL/Seq
Programming Language for Sequences. A DSP language. A General High Level Language for Signal Processors , J. Skytta O. Hyvarinen, Digital Signal Processing 84, Proc Intl Conf, Fiorence, Italy, Sep 1984, pp.217-221.

PL/SQL
Procedural Language/SQL

PLTL
Propositional Linear Temporal Logic

plug and play
jargon 1. Hardware or software that, after being installed ( plugged in ), can immediately be used ( played with ), as opposed to hardware or software which requires configuration.
See also turnkey, plug and pray.
2. A new recruit who needs no training. The new guy, John, is great. He's totally plug-and-play.
(1997-03-30)

plug and pray
humour The Windows 95 equivalent of the Macintosh's plug and play, referring to difficulties encountered when setting up new hardware under Windows 95.
(1997-10-11)

Pluggable Authentication Module
security (PAM) The new industry standard integrated login framework. PAM is used by system entry components, such as the Common Desktop Environment's dtlogin, to authenticate users logging into a Unix system. It provides pluggability for a variety of system-entry services. PAM's ability to stack authentication modules can be used to integrate login with different authentication mechanisms such as RSA, DCE and Kerberos, and thus unify login mechanisms. PAM can also integrate smart card authentication.
White paper (http://www.gr.osf.org/book/psm-wppr.htm).
[OSF-RFC 86.0 V. Samar, R. Schemers, Unified Login with Pluggable Authentication Modules (PAM) , Oct 1995].
(1997-07-18)

plugh
games /ploogh/ A magic word from the ADVENT game.
[Jargon File]
(1996-04-01)

plug-in
tool A file containing data used to alter, enhance, or extend the operation of a parent application program. One of the first uses of this term was in Silicon Beach's SuperPaint application (late 1980s?) for the Macintosh. It had a Plug-ins folder containing different tools and effects.
The Netscape Navigator World-Wide Web browser supports plug-ins which display or interpret a particular file format or protocol such as Shockwave, RealAudio, Adobe Systems, Inc. PDF, Corel CMX (vector graphics). The file to be displayed is included in a web page using an EMBED HTML tag.
Plug-ins, both commercially and indepently authored, can usually be downloaded for free and are stored locally. Plug-ins come in different versions specific to particular operating systems (Microsoft Windows 3.1, 3.2, and Macintosh are available).
Compare applet.
Plug-in Plaza (http://www.browserwatch.com/plug-in.html).
PC Mag Plug-ins (http://www.zdnet.com/pcmag/IU/plugins/plugins.htm).
(1996-05-25)

PLUM
A compiler for a substantial subset of PL/I for the Univac 1100, from the University of Maryland.
[ PL/I Programming with PLUM , M.V. Zelkowitz, Paladin House, 1978].
(1995-02-23)

Plumber
programming, tool A system for obtaining information about memory leaks in Ada and C programs.
Home (http://home.earthlink.net/~owenomalley/plumber.html).
(17 Feb 1999)

plumbing
(Unix) Term used for shell code, so called because of the prevalence of pipelines that feed the output of one program to the input of another. Under Unix, user utilities can often be implemented or at least prototyped by a suitable collection of pipelines and temporary file grinding encapsulated in a shell script. This is much less effort than writing C every time, and the capability is considered one of Unix's major winning features. A few other operating systems such as IBM's VM/CMS support similar facilities.
The tee utility is specifically designed for plumbing.
[Jargon File]
(1995-02-23)

Plural EuLisp
EuLisp with parallel extensions. Collections and Garbage Collection , S.C. Merall et al, in Memory Management - IWMM92, Springer 1992, pp.473-489.

PLUS
Late 60's. Machine-oriented systems language used internally by Univac.

plus
+
Common: ITU-T: plus; add. Rare: cross; INTERCAL: intersection.

PLUSS
Proposition of a Language Useable for Structured Specifications. Algebraic specification language, built on top of ASL. A First Introduction to PLUSS , M.C. Gaudel, TR, U Paris Sud, Orsay 1984.

ply
mathematics, data 1. Of a node in a tree, the number of branches between that node and the root.
2. Of a tree, the maximum ply of any of its nodes.
(1998-12-29)

PM
1. preventive maintenance.
2. Presentation Manager
3. [ PM, A System for Polynomial Manipulations , G.E. Collins, CACM 9(8):578-589 (Aug 1966)].
[Jargon File]

pm
networking The country code for St. Pierre and Miquelon.
(1999-01-27)

pm2
language, compiler A software emulator for parallel random access machine (PRAM) and a parallel Modula-2 compiler for the emulator. pm2 programming language is Modula-2/Pascal mixture having extensions for parallel execution in a PRAM. Parallelism is expressed by pardo-loop-structure. Additional features include private/shared variables, two synchronisation strategies, load balancing and parallel dynamic memory allocation.
(ftp://cs.joensuu.fi/pub/Software/pram/).
E-mail: Simo Juvaste sjuva@cs.joensuu.fi .
(1997-06-04)

P-mail
Physical mail, as opposed to e-mail. Synonymous with snail-mail.
[Jargon File]

PMBX
Private Manual Branch EXchange

PMC
PCI Mezzanine Card

PML
Parallel ML.
[ Synchronous Operations as First-Class Values , J.H. Reppy jhr@research.att.com , Proc SIGPLAN 88 Conf Prog Lang Design and Impl, June 1988, pp. 250-259].

pn
networking The country code for Pitcairn Island.
(1999-01-27)

pnambic
/p*-nam'bik/ (From the scene in the film, The Wizard of Oz in which the true nature of the wizard is first discovered: Pay no attention to the man behind the curtain ). A term coined by Daniel Klein dvk@lonewolf.com for a stage of development of a process or function that, owing to incomplete implementation or to the complexity of the system, requires human interaction to simulate or replace some or all of its actions, inputs or outputs. The term may also be applied to a process or function whose apparent operations are wholly or partially falsified or one requiring prestidigitization.
The ultimate pnambic product was Dan Bricklin's Demo , a program which supported flashy user-interface design prototyping.
There is a related maxim among hackers: Any sufficiently advanced technology is indistinguishable from a rigged demo. See magic for illumination of this point.
[ Open Channel , IEEE Computer , November 1981].
[Jargon File]
(1994-11-01)

PNG
Portable Network Graphics

PNP
1. electronics A type of bipolar transistor consisting of a layer of N-doped semiconductor (the base ) between two P-doped layers (the collector and emitter ). PNP transistors are commonly operated with the emitter at ground and the collector at a negative voltage.
In the 1960s, the germanium PNP transistor was the cheapest and best for use at ordinary temperatures. The leakage current from collector to base in this type of device is larger than for the silicon transistor, and also varies more with temperature. The effect of these deficiencies can be lessened by proper biasing and feedback, which can make the circuit both serviceable and reliable. Neither germanium nor PNP transistors are as common today.
The voltages used on a PNP transistor are inverted when compared with vacuum tubes. Further, the behaviour of vacuum tubes is usually described in terms of voltages whereas transistors are better described in terms of current.
2. architecture plug and play.
(1997-05-05)

PNU-Prolog
A parallel extension of NU-Prolog, implemented as a preproccessor.
(ftp://munnari.oz.au/pub/bebop.tar.Z)

PoB
Prisoner of Bill

POC
Point Of Contact

POCAL
PETRA Operator's CommAnd Language.

pocket calculator
computer A small battery-powered digital electronic device for performing simple arithmetic operations on data input on a keypad and outputting the result (usually a single number) to a simple LCD or other display.
The most sophisticated programmable calculators are really pocket computers which are limited to handling numerical data only.
(1996-12-23)

pocket computer
palmtop

pod
Not to be confused with P.O.D..
1. printer (Allegedly from abbreviation POD for Prince Of Darkness ) A Diablo 630 (or, latterly, any letter-quality impact printer). From the DEC-10 PODTYPE program used to feed formatted text to it.
2. text Plain Old Documentation.
[Jargon File]
(1998-12-18)

P.O.D.
data Piece Of Data (as opposed to code).
[Jargon File]
(2000-04-08)

POE
PowerOpen Environment

POFAC
A subset of Fortran.
[Mentioned in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, p. 273].
[ POFAC Description , R. Haentjens, Report 19, Cenre d'Information, Ecole Royale Militaire, Brussels, 1973].
(1994-10-20)

POGO
Early system on G-15. Listed in CACM 2(5):16 (May 1959).

point
1. unit, text (Sometimes abbreviated pt ) The unit of length for text characters. There are six slightly different definitions: Truchet point, Didot point, ATA point, TeX point, Postscript point, and IN point.
The most commonly used are ATA in the USA and Didot in Europe.
A twip is 1/20 of a PostScript[?] point.
Different point systems (http://www.vakcer.com/oberon/dtp/fonts/point.htm).
(2002-03-10)
2. hardware To move a pointing device so that the on-screen pointer is positioned over a certain object on the screen such as a button in a graphical user interface. In most window systems it is then necessary to click a (physical) button on the pointing device to activate or select the object. In some systems, just pointing to an object is known as mouse-over event which may cause some help text (called a tool tip in Windows) to be displayed.
(2001-05-21)

point-and-drool interface
abuse (Or point-and-grunt interface ) A parody of point-and-shoot interface , describing a windows, icons, and mouse-based (WIMP) graphical user interface. The implication, of course, is that such an interface is only suitable for idiots.
See for the rest of us, WIMP, drool-proof paper.
[Jargon File]
(2000-08-08)

point-and-grunt interface
point-and-drool interface

pointed domain
theory In most formulations of domain theory, a domain is defined to have a bottom element and algebraic CPOs without bottoms are called predomains . David Schmidt's domains do not have this requirement and he calls a domain with a bottom pointed .
(1999-07-07)

pointer
1. programming An address, from the point of view of a programming language. A pointer may be typed, with its type indicating the type of data to which it points.
The terms pointer and reference are generally interchangable although particular programming languages often differentiate these two in subtle ways. For example, Perl always calls them references, never pointers. Conversely, in C, pointer is used, although a reference is often used to denote the concept that a pointer implements.
Anthony Hoare once said:
Pointers are like jumps, leading wildly from one part of the data structure to another. Their introduction into high-level languages has been a step backwards from which we may never recover.
[C.A.R.Hoare Hints on Programming Language Design , 1973, Prentice-Hall collection of essays and papers by Tony Hoare].
2. operating system (Or mouse pointer ) An icon, usually a small arrow, that moves on the screen in response to movement of a pointing device, typically a mouse. The pointer shows the user which object on the screen will be selected etc. when a mouse button is clicked.
(1999-07-07)

pointer swizzling
swizzle

pointing device
hardware Any hardware component that allows a user to input spatial data to a computer. CAD systems and Graphical User Interfaces (GUI) allow the user to control and provide data to the computer using physical gestures - point, click, and drag - typically by moving a hand-held mouse across the surface of the physical desktop and activating switches on the mouse. Movements of the pointing device are echoed on a graphical representation of a desktop on the screen by movements of the mouse pointer and other visual changes.
While the most common pointing device by far is a mouse, other kinds include tracker ball, trackpad, lightpen, various kinds of digitising tablets which use a stylus, and even a special data glove that translates the user's movements to computer gestures.
(1997-02-03)

Point Of Contact
networking (POC) An individual associated with a particular Internet entity (IP network, domain, ASN).
(1998-09-07)

point of presence
(PoP) A site where there exists a collection of telecommunications equipment, usually modems, digital leased lines and multi-protocol routers. An Internet access provider may operate several PoPs distributed throughout their area of operation to increase the chance that their subscribers will be able to reach one with a local telephone call. The alternative is for them to use virtual PoPs (virtual points of presence) via some third party.
(1994-12-13)

point of sale terminal
hardware (Or POS ) A computer, probably with a bar code reader, serving as a glorified cash register.
(1997-11-23)

Point-to-Point Protocol
communications, protocol (PPP) The protocol defined in RFC 1661, the Internet standard for transmitting network layer datagrams (e.g. IP packets) over serial point-to-point links.
PPP has a number of advantages over SLIP; it is designed to operate both over asynchronous connections and bit-oriented synchronous systems, it can configure connections to a remote network dynamically, and test that the link is usable. PPP can be configured to encapsulate different network layer protocols (such as IP, IPX, or AppleTalk) by using the appropriate Network Control Protocol (NCP).
RFC 1220 describes how PPP can be used with remote bridging.
Usenet newsgroup: news:comp.protocols.ppp.
A paper on PPP (ftp://ftp.uu.net/vendor/MorningStar/papers/sug91-cheapIP.ps.Z).
(1994-12-13)

Point-to-Point Tunneling Protocol
communications, protocol (PPTP) A tunneling protocol for connecting Windows NT clients and servers over Remote Access Services (RAS). PPTP can be used to create a Virtual Private Network between computers running NT. It is an extension of PPP sponsored by Microsoft.
Microsoft Point to Point Encryption may be used with PPTP to provide an encrypted connection but PPTP itself does not use encryption.
Compare: Layer Two Tunneling Protocol.
[Origin? Standard? Document?]
(1998-09-23)

Poisson distributions
mathematics A probability distribution used to describe the occurrence of unlikely events in a large number of independent repreated trials.
Poisson distributions are often used in building simulated user loads.
(1995-10-12)

poke
The BASIC command to write a value to an absolute address.
See peek.
[Jargon File]
(1995-01-31)

Polka
language An object-oriented parallel logic programming language, built on top of Parlog.
[ Polka: A Parlog Object-Oriented Language , Andrew Davison, TR, Parlog Group, Imperial College, London 1988].
(1995-01-31)

poll
To check the status of an input line, sensor, or memory location to see if a particular external event has been registered.
Contrast interrupt.
[Jargon File]
(1995-01-31)

polling
poll

Poly
language 1. A polymorphic, block-structured language developed by D.C.J. Matthews at Cambridge in the early 1980s.
[ An Overview of the Poly Programming Language , D.C.J. Matthews, in Data Types and Persistence, M.P. Atkinson et al eds, Springer 1988].
2. A language developed at Saint Andrews University, Scotland.
[Software Practice Exp, Oct 1986].
3. A polymorphic language used in the referenced book.
[ Polymorphic Programming Languages , David M. Harland, Ellis Horwood 1984].
(2000-11-07)

polygon pusher
(Or rectangle slinger ). A chip designer who spends most of his or her time at the physical layout level (which requires drawing *lots* of multi-coloured polygons).
[Jargon File]

POLYGOTH
language A distributed language integrating classes with a parallel block structure, including multiprocedures and fragments.
[ Operational Semantics of a Distributed Object-Oriented Language and its Z Formal Specification , M. Benveniste mbenveni@irisa.irisa.fr , TR532, IRISA/INRIA-Rennes].
(1995-10-17)

polylithism
programming A property of a data-object that can exist in many shapes and sizes, but not simultaneously; which distinguishes it from a union. It is often implemented as a set of classes (or structs) derived from a common base class (or with a common header, as in the case of structs), typically without any methods.
It has been loosely described as polymorphic data.
[Clarification?]
(1996-01-07)

Poly/ML
language SML implemented in D.C.J. Matthews's Poly, for Motorola 68020 and SPARC by Abstract Hardware Ltd.
(1999-11-23)

polymorphic
polymorphism

polymorphic lambda-calculus
(Or second order typed lambda-calculus ). An extension of typed lambda-calculus allowing functions which take types as parameters. E.g. the polymorphic function twice may be written:
twice = / t . (f :: t - t) . (x :: t) . f (f x)
(where / is an upper case Greek lambda and (v :: T) is usually written as v with subscript T). The parameter t will be bound to the type to which twice is applied, e.g.:
twice Int
takes and returns a function of type Int - Int. (Actual type arguments are often written in square brackets [ ]). Function twice itself has a higher type:
twice :: Delta t . (t - t) - (t - t)
(where Delta is an upper case Greek delta). Thus / introduces an object which is a function of a type and Delta introduces a type which is a function of a type. Polymorphic lambda-calculus was invented by Jean-Yves Girard in 1971 and independently by John C. Reynolds in 1974.
(1994-12-16)

polymorphism
theory, programming A concept first identified by Christopher Strachey (1967) and developed by Hindley and Milner, allowing types such as list of anything. E.g. in Haskell:
length :: [a] - Int
is a function which operates on a list of objects of any type, a (a is a type variable). This is known as parametric polymorphism. Polymorphic typing allows strong type checking as well as generic functions. ML in 1976 was the first language with polymorphic typing.
Ad-hoc polymorphism (better described as overloading) is the ability to use the same syntax for objects of different types, e.g. + for addition of reals and integers or - for unary negation or diadic subtraction. Parametric polymorphism allows the same object code for a function to handle arguments of many types but overloading only reuses syntax and requires different code to handle different types.
See also generic type variable.
In object-oriented programming, the term is used to describe a variable that may refer to objects whose class is not known at compile time and which respond at run time according to the actual class of the object to which they refer.
(2002-08-08)

polynomial
1. mathematics An arithmetic expression composed by summing multiples of powers of some variable.
P(x) = sum a_i x^i for i = 0 .. N
The multipliers, a_i, are known as coefficients and N, the highest power of x with a non-zero coefficient, is known as the degree of the polynomial. If N=0 then P(x) is constant, if N=1, P(x) is linear in x. N=2 gives a quadratic and N=3, a cubic .
2. complexity polynomial-time.

polynomial-time
complexity (P) The set or property of problems which can be solved by a known polynomial-time algorithm.
(1995-04-10)

polynomial-time algorithm
complexity A known algorithm (or Turing Machine) that is guaranteed to terminate within a number of steps which is a polynomial function of the size of the problem.
See also computational complexity, exponential time, nondeterministic polynomial-time (NP), NP-complete.
(1995-04-13)

polyvinyl chloride
hardware (PVC) A common plastic used for insulating and jacketing many wire and cable products.
(2001-03-26)

POM
phase of the moon
Usually used in the phrase POM-dependent , which means flaky.
(1995-04-10)

Ponder
A non-strict polymorphic, functional language by Jon Fairbairn jf@cl.cam.ac.uk .
Ponder's type system is unusual. It is more powerful than the Hindley-Milner type system used by ML and Miranda and extended by Haskell. Ponder adds extra recursive 'mu' types to those of Girard's System F, allowing more general recursion. Surprisingly, the type system and type inference algorithm are still not completely understood.
[ Ponder and its Type System , J. Fairbairn, TR 31, Cambridge U Computer Lab, Nov 1982].
[J. Fairbairn, Design and Implementation of a Simple Typed Language based on the Lambda-Calculus , Technical Report No. 75, Computer Laboratory, University of Cambridge, May 1985].
[J. Fairbairn, A New Type-Checker for a Functional Language , Technical Report No. 53, Computer Laboratory, University of Cambridge, 1984].
[J. Fairbairn, Some Types with Inclusion Properties in forall, rightarrow, mu , Technical Report No. 171, Computer Laboratory, University of Cambridge, Jun 1989].
[Valeria C. V. de Paiva, Subtyping in Ponder (Preliminary Report) , Technical Report No. 203, Computer Laboratory, University of Cambridge, Aug 1990].

Pong
games A computer game invented in 1972 by Atari's Nolan Bushnell. The game is a minimalist rendering of table tennis. Each of the two players are represented as a white slab, controllable by a knob, which deflects a bouncing ball. The goal of the game is to AVOID MISSING BALL FOR HIGH SCORE .
Yahoo (http://www.yahoo.com/Recreation/Games/Video_Games/Classic_Arcade_Games/Titles/Pong/).
(1997-11-23)

POOL
Parallel Object-Oriented Language.
A series of languages from Philips Research Labs.
See POOL2, POOL-I, POOL-T.
(1995-02-07)

POOL2
Parallel Object-Oriented Language 2.
Philips Research Labs, 1987.
Strongly typed, synchronous message passing, designed to run on DOOM (DOOM = Decentralised Object-Oriented Machine).
[ POOL and DOOM: The Object- Oriented Approach , J.K. Annot, PAM den Haan, in Parallel Computers, Object-Oriented, Functional and Logic, P. Treleaven ed].
[ Issues in the Design of a Parallel Object-Oriented Language , P. America, Formal Aspects of Computing 1(4):366-411 (1989)].
(1995-02-07)

POOL-I
One of the POOL languages.
[ A Parallel Object-Oriented Language with Inheritance and Subtyping , P. America et al, SIGPLAN Notices 25(10):161-168 (OOPSLA/ECOOP '90) (Oct 1990)].
(1995-02-07)

POOL-T
Object-oriented, concurrent, synchronous. Predecessor of POOL2.
[ Definition of the Programming Language POOL-T , Esprit Project 415, Doc. 0091, Philips Research Labs, Eindhoven, Netherlands, June 1985].
(1995-02-07)

POP
1. language A family of programming languages, POP-1, POP-2, POP-10, Pop-11, POP++, POP-9X, POPLOG.
2. Post Office Protocol.
See also pop, PoP.
[Jargon File]
(1996-02-18)

PoP
networking Point Of Presence.
[Jargon File]
(1996-02-18)

pop
programming To remove something from the top of a stack.
Opposite of push.
Not to be confuse with POP or PoP.
[Jargon File]
(1996-02-18)

POP++
An object-oriented extension of POPLOG. Available from Integral Solutions.
[Jargon File]

POP-1
Package for Online Programming. Edinburgh, 1966. First of the POP family of languages. Used reverse Polish notation. Implemented as a threaded interpreter. EPU-R-17, U Edinburgh (Jul 1966). POP-1: An Online Language , R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP-10
Descendant of POP-2, for the PDP-10 by Julian Davies, 1973. [ POP-10 User's Manual , D.J.M. Davies, CS R25, U West Ontario, 1976].

Pop-11
Robin POPplestone, 1975. Originally for the PDP-11. In some ways, Pop-11 is like FORTH (stack-oriented, extensible, efficient). It's also like LISP (functional, dynamically typed, interactive, garbage- collected). And the syntax is like Pascal (block-structured). Programming in POP-11 , J. Laventhol jcl@deshaw.com , Blackwell 1987. Implementations: AlphaPop for Mac (Computable Functions Inc, 413-253-7637). PopTalk, POPLOG (U Sussex) available for VAX/VMS and most workstations. E-mail: Robin Popplestone pop@cs.umass.edu (413)253-7637

POP-2
Robin POPplestone, Edinburgh, 1967. An innovative language incorporating many of Landin's ideas, including streams, closures, and functions as first-class citizens. ALGOL-like syntax. The first implementation was named Multi-POP, based on a REVPOL function written in POP-1, producing the reverse-polish form as output. POP-2 Papers , R.M. Burstall et al, Oliver Boyd 1968. Programming in POP-2 , R.M. Burstall et al, Edinburgh U Press 1971. POP-2 User's Manual , R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP3
messaging, protocol Version 3 of the Post Office Protocol. POP3 is defined in RFC 1081, written in November 1988 by Marshall Rose, which is based on RFC 918 (since revised as RFC 937). POP3 allows a client computer to retrieve electronic mail from a POP3 server via a (temporary) TCP/IP or other[?] connection. It does not provide for sending mail, which is assumed to be done via SMTP or some other method.
POP is useful for computers, e.g. mobile or home computers, without a permanent network connection which therefore require a post office (the POP server) to hold their mail until they can retrieve it.
Although similar in form to the original POP proposed for the Internet community, POP3 is similar in spirit to the ideas investigated by the MZnet project at the University of California, Irvine, and is incompatible with earlier versions of POP.
Substantial work was done on examining POP in a PC-based environment. This work, which resulted in additional functionality in this protocol, was performed by the ACIS Networking Systems Group at Stanford University.
RFC 1082 (POP3 Extended Service) extends POP3 to deal with accessing mailboxes for mailing lists.
(1997-01-09)

POP-9X
Proposed BSI standard for Pop-11.

POPART
A grammar-driven programming environment generator. Uses Paddle.
[ POPART: Producer of Paddles and Related Tools, System Builders' Manual , D.S. Wile TR RR-82-21, ISI, Marina del Rey, CA 1982].
(1994-11-30)

POPCORN
AI system built on POP-2. The POPCORN Reference Manual , S. Hardy, Essex U, Colchester, 1973.

pop-down menu
pull-down menu

POPJ
/pop'J/ [PDP-10 return-from-subroutine instruction]. To return from a digression. By verb doubling, Popj, popj means roughly Now let's see, where were we? See RTI.
[Jargon File]

Poplar
Morris, 1978. A blend of LISP with SNOBOL4 pattern matching and APL-like postfix syntax. Implicit iteration over lists, sorting primitive. Experience with an Applicative String-Processing Language , J.H. Morris et al, 7th POPL, ACM 1980, pp.32-46.

POPLER
A PLANNER-type language for the POP-2 environment.
[ Popler 1.6 Reference Manual , D. Davies et al, U Edinburgh, TPU Report No 1 (May 1973)].

POPLOG
A multi-language programming environment, which includes the languages Pop-11, ML, Common Lisp and Prolog. It supports mixed-language programming and incremental compilation and includes a comprehensive X Window System interface. It is built on top of a two-stack virtual machine, PVM. POPLOG was developed at the University of Sussex, Brighton, UK.
[ POPLOG's Two-Level Virtual Machine Support for Interactive Languages , R. Smith et al, in Research Directions in Cognitive Science, v.5 (1992)].

POPLOG ML
SML for the Poplog system from the University of Sussex, UK.

POP server
Post Office Protocol

PopTalk
language, product A commercial object-oriented derivative of POP, from Cambridge Consultants, used in the expert system MUSE.
(1995-02-27)

porno
pornography

pornography
application Still or moving images, usually of women, in varying states of nudity, posing or performing erotic acts with men, women, animals, machines, or other props. Some say it degrades women, some say it corrupts young boys (who down-load it from the World-Wide Web or exchange it on floppy disks). Most of it is in the form of JPEG images. There are many sites on the World-Wide Web offering porn of all sorts, almost always for a subscription. It is said that these are a driving force in the evolution of new technology and techniques for the web. Advertisments for them certainly constitute a significant proportion of all spam. There are even pornographic computer games, an early example being Mac Playmate.
Beware - many institutions, particularly universities, have strict rules against their computers and networks being used to transfer or store such things, and you might get corrupted.
(2002-03-08)

port
1. networking A logical channel or channel endpoint in a communications system. The Transmission Control Protocol and User Datagram Protocol transport layer protocols used on Ethernet use port numbers to distinguish between (demultiplex) different logical channels on the same network interface on the same computer.
Each application program has a unique port number associated with it, defined in /etc/services or the Network Information Service services database. Some protocols, e.g. telnet and HTTP (which is actually a special form of telnet) have default ports specified as above but can use other ports as well.
Some port numbers are defined in RFC 1700.
2. operating system, programming To translate or modify software to run on a different platform, or the results of doing so. The portability of the software determines how easy it is to port.
3. language An imperative language descended from Zed from Waterloo Microsystems (now Hayes Canada) ca. 1979.
[ Port Language document in the Waterloo Port Development System].
(2002-06-19)

portability
operating system, programming The ease with which a piece of software (or file format) can be ported , i.e. made to run on a new platform and/or compile with a new compiler.
The most important factor is the language in which the software is written and the most portable language is almost certainly C (though see Vaxocentrism for counterexamples). This is true in the sense that C compilers are available for most systems and are often the first compiler provided for a new system. This has led several compiler writers to compile other languages to C code in order to benefit from its portability (as well as the quality of compilers available for it).
The least portable type of language is obviously assembly code since it is specific to one particular (family of) processor(s). It may be possible to translate mechanically from one assembly code (or even machine code) into another but this is not really portability. At the other end of the scale would come interpreted or semi-compiled languages such as LISP or Java which rely on the availability of a portable interpreter or virtual machine written in a lower level language (often C for the reasons outlined above).
The act or result of porting a program is called a port . E.g. I've nearly finished the Pentium port of my big bang simulation.
Portability is also an attribute of file formats and depends on their adherence to standards (e.g. ISO 8859) or the availability of the relevant viewing software for different platforms (e.g. PDF).
(1997-06-18)

portable
portability

Portable AIRTIME
communications, wireless A wireless, digital communications system enabling user-to-user voice communication, quicknotes , and alphanumeric messaging.
[Details?]
(2000-12-07)

Portable Commodore 64
computer A version of the Commodore 64 modelled after the original Osborne portable PCs, with a flip-down keyboard that revealed a 5-inch colour monitor, and a built-in 1541 floppy disk drive. It is thought that few were made but that they did go on sale, at least in Canada.
[Relationship to Commodore 65?]
(1997-09-14)

Portable Common Loops
(PCL) A language which started out as an implementation of CommonLoops and turned into a portable CLOS implementation. Version 1992-08-28. It runs under Lucid Common LISP 4.0.1 and CMU Common LISP 16e.
(ftp://parcftp.xerox.com/pcl)
(1992-09-02)
[Was it developed by Richard Harris rharris@ptolemy2.rdrc.rpi.edu ?]

Portable Common Tool Environment
tool (PCTE) An ECMA standard framework for software tools developed in the Esprit programme. It is based on an entity-relationship Object Management System and defines the way in which tools access this.
(2001-03-03)

Portable Document Format
file format (PDF) The native file format for Adobe Systems' Acrobat. PDF is the file format for representing documents in a manner that is independent of the original application software, hardware, and operating system used to create those documents. A PDF file can describe documents containing any combination of text, graphics, and images in a device-independent and resolution independent format. These documents can be one page or thousands of pages, very simple or extremely complex with a rich use of fonts, graphics, colour, and images.
Home (http://www.adobe.com/products/acrobat/adobepdf.html).
[ The Portable Document Format Reference Manual , Adobe systems, Inc. Addison-Wesley Publ. Co., ISBN: 0-201-62628-4].
(2000-09-08)

Portable Forth Environment
language (PFE) A highly portable Forth development system based on the ANSI standard for Forth, by Dirk-Uwe Zoller of FHT, Mannheim, Germany. PFE aims to be correct, complete, usable, and simple but it isn't optimised for speed. It supports all dpANS word sets. It runs on Linux, RS/6000, and HP-UX.
Tektronix adopted PFE in 1998 and added modules and multithreading. You can load additional C objects at run time to extend the Forth dictionary. It can be targeted at different embedded environments by changing the terminal driver and initilisation routines.
Current version: 0.30.27 preview, as of 2000-11-23.
Home (http://pfe.sourceforge.net/).
E-mail: Guido Draheim guidod@gmx.de .
(2000-12-07)

Portable Network Graphics
file format /ping/ (PNG) An extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-colour, greyscale and truecolour images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits.
PNG is designed for on-line viewing applications, such as the World Wide Web, so it is fully streamable with a progressive display option. PNG is robust, providing both full file integrity checking and simple detection of common transmission errors. Also, PNG can store gamma correction and chromaticity data for improved colour matching on heterogeneous platforms.
Filename extension: .png.
RFC 2083. W3C PNG pages (http://www.w3.org/Graphics/PNG/). PNG home page (http://www.wco.com/~png/).
(1997-08-07)

Portable Operating System Interface
operating system, standard (POSIX) A set of IEEE standards designed to provide application portability between Unix variants. IEEE 1003.1 defines a Unix-like operating system interface, IEEE 1003.2 defines the shell and utilities and IEEE 1003.4 defines real-time extensions.
[ More UNIX For Dummies , ISBN: 1-56884-361-5] says it stands for Portable Operating System Interface with an X thrown in to make it sound cooler.
(1997-12-04)

Portable Pixmap
file format (PPM) A colour image file format.
A PPM file contains the following:
a two character magic number - P3 ,
the width in pixels,
the height in pixels,
the maximum colour component value,
HEIGHT rows of WIDTH pixels.
The rows are ordered from top to bottom with the pixels in each row ordered from left to right. Each pixel is represented as three values for red, green, and blue.
All parts are separated by whitespace and numbers are in decimal ASCIII representation. A zero pixel component means that colour is absent. Characters from a # to the next end-of-line are ignored and no line should be longer than 70 characters.
Here is an example of a small pixmap in this format:
P3
# feep.ppm
4 4
15
0 0 0 0 0 0 0 0 0 15 0 15
0 0 0 0 15 7 0 0 0 0 0 0
0 0 0 0 0 0 0 15 7 0 0 0
15 0 15 0 0 0 0 0 0 0 0 0
A RAWBITS variant has magic number P6 , pixel values are stored as plain binary bytes, instead of ASCII decimal and no whitespace is allowed after a single whitespace character after the maximum colour component value which must be less than or equal to 255.
(1998-02-06)

Portable Scheme Debugger
(PSD) A package for source code debugging of R4RS-compliant Scheme under GNU Emacs by Kellom ?ki Pertti pk@cs.tut.fi . Version 1.1. Distributed under GNU GPL. It works with scm, Elk and Scheme- C.
(ftp://ftp.cs.tut.fi/pub/src/languages/schemes/psd.tar.Z)
(1992-10-08)

Portable Scheme Interpreter
(PSI) A portable scheme interpreter by Ozan Yigit oz@ursa.sis.yorku.ca , David Keldsen and Pontus Hedman that includes a simple DAG compiler and a virtual machine. It can be used as an integrated extension interpreter in other systems and allows easy addition of new primitives. There are some unique debugging and tracing facilities. Acceptable performance results from a fairly straight-forward implementation. Continuations are fully and portably supported and perform well. PSI is based on the simple compilers and virtual machine in Kent Dbyvig's thesis.
The pre-release version conforms to R4RS with a number of useful extensions.
(1993-02-19)

Portable Standard Lisp
language (PSL) A dialect of Lisp from Utah University. PSL is available as a kit for 68000 and also runs on VAX. It compiles Lisp to C-code virtual machine language.
[ The Portable Standard LISP Users Manual , TR-10, CS Dept, U Utah, Jan 1982].
[ A Portable Lisp System , M.L. Griss et al, Proc 1982 ACM Symp on Lisp and Functional Prog, Aug 1982].
(2000-09-25)

Portable Tool Interface
programming, standard (PTI) A standard such as PCTE, allowing interworking between different software tools via defined interfaces to the user and to the repository or object management system.
(2000-09-25)

Port Address Translation
networking (PAT) A function provided by some routers which allows hosts on a LAN to communicate with the rest of a network (such as the Internet) without revealing their own private IP address. All outbound packets have their IP address translated to the routers external IP address. Replies come back to the router which then translates them back into the private IP address of the original host for final delivery.
Compare SOCKS.
(1998-05-08)

PORTAL
Process-Oriented Real-Time Algorithmic Language.
[ PORTAL - A Pascal-based Real-Time Programming Language , R. Schild in Algorithmic Languages, J.W. deBakker et al eds, N-H 1981].

portal
World-Wide Web A web site that aims to be an entry point to the World-Wide Web, typically offering a search engine and/or links to useful pages, and possibly news or other services. These services are usually provided for free in the hope that users will make the site their default home page or at least visit it often. Popular examples are Yahoo and MSN. Most portals on the Internet exist to generate advertising income for their owners, others may be focused on a specific group of users and may be part of an intranet or extranet. Some may just concentrate on one particular subject, say technology or medicine, and are known as a vertical portals.
(2001-07-07)

porting
Translating software to run on a different computer and/or operating system.
(1995-01-06)

Port Language
[ Communicating Parallel Processes , J. Kerridge et al, Soft Prac Exp 16(1):63-86 (Jan 1986)].

portmapper
networking A server that converts TCP/IP protocol port numbers into RPC program numbers. It must be running in order to make RPC calls.
When an RPC server starts, it tells portmap the port number it is listening on and what RPC program numbers it serves. Before a client can call a given RPC program number, it must contacts portmap on the server machine to determine the port number to which RPC packets should be sent.
(1996-12-09)

port number
port

POS
point of sale

POSE
language A query language written in 1967.
[ POSE: A Language for Posing Problems to Computers , S. Schlesinger et al, CACM 10:279-285, May 1967].
(1996-12-09)

poset
partially ordered set

POSIX
Portable Operating System Interface

POST
power-on self-test

post
messaging To send a message to a mailing list or newsgroup. Usually implies that the message is sent indiscriminately to multiple users, in contrast to mail which implies one or more deliberately selected individual recipients.
You should only post a message if you think it will be of interest to a significant proportion of the readers of the group or list, otherwise you should use private electronic mail instead. See netiquette.
[Jargon File]
(1997-12-04)

postcardware
Shareware that borders on freeware, in that the author requests only that satisfied users send a postcard of their home town or something. (This practice, silly as it might seem, serves to remind users that they are otherwise getting something for nothing, and may also be psychologically related to real estate sales in which $1 changes hands just to keep the transaction from being a gift.)
[Jargon File]

posted write-through
A cache with a posted write-through policy (e.g. Intel 80386) delays the write-back to main memory until the bus is not in use.

Postel, Jon
Jon Postel

postfix notation
language (Or Reverse Polish Notation , RPN) One of the possible orderings of functions and operands: in postfix notation the functions are preceded by all their operands. For example, what may normally be written as 1+2 becomes 1 2 + . Postfix notation is well suited for stack based architectures but modern compilers reduced this advantage considerably. The best-known language that with strictly postfix syntax is FORTH.
Compare: infix notation, prefix notation.
(1997-01-17)

postfix syntax
postfix notation

POSTGRES
database An active DBMS developed at the University of California at Berkeley by a team led by Michael Stonebraker (1986-1994). Postgres was later taken by Illustra and developed into a commercial product, which in turn was bought by Informix and integrated into their product, Universal Server.
PostgreSQL is a further development of the original POSTGRES code as a free software alternative to commercial DBMS vendor offerings.
[Details? Reference? Relationship to Ingres?]
(1999-07-04)

PostgreSQL
database /'post-gres-kyu-el/ An enhancement of the POSTGRES database system.
PostgreSQL is an advanced relational database management system with some object oriented approaches. PostgreSQL is developed and distributed as free software, and while retaining its freedom it remains technically and featurewise a worthy competitor to even the most advanced commercial alternatives.
It was also one of the first databases to offer MVCC as opposed to row-level locking or table locking, thereby greatly improving multi-user performance.
PostgreSQL implements an extended subset of ANSI SQL and runs on many platforms. It also has interfaces to many different programming languages and database protocols, like ODBC and JDBC.
Home (http://www.postgresql.org/).
(1999-09-18)

posting
A message sent to a newsgroup or mailing list (may also be called a post ) or the act of sending it. Distinguished from a letter or ordinary electronic mail message by the fact that it is broadcast rather than point-to-point. It is not clear whether messages sent to a small mailing list are postings or e-mail; perhaps the best dividing line is that if you don't know the names of all the potential recipients, it is a posting.
[Jargon File]

postmaster
The electronic mail contact and maintenance person at a site connected to the Internet or UUCPNET. Often, but not always, the same as the admin. The Internet standard for electronic mail (RFC 822) requires each machine to have a postmaster address; usually it is aliased to this person. See also webmaster.

post office problem
Given a set of points (in N dimensions), find another point which minimises the sum of the distances from that point to each of the others.

Post Office Protocol
messaging, protocol (POP) A protocol designed to allow single user computers to retrieve electronic mail from a POP server. The POP server might be a computer with a permanent Internet connection whereas its clients might only connect to it occasionally, e.g. by modem.
There are (in 1994) three versions: POP, POP2, and POP3. Later versions are NOT compatible with earlier ones.
[Details?]
(1997-03-06)

post-order traversal
traversal

POSTQUEL
POSTGRES QUERy Language. The language used by the POSTGRES database system.
[ The Design of POSTGRES , M. Stonebraker et al, Proc ACM SIGMOD Conf, June 1986].
Version 4.0 (ftp://postgres.berkeley.edu/pub/postgresv4r0.tar.Z).

PostScript
language, text, graphics A page description language based on work originally done by John Gaffney at Evans and Sutherland in 1976, evolving through JaM ( John and Martin , Martin Newell) at XEROX PARC, and finally implemented in its current form by John Warnock et al. after he and Chuck Geschke founded Adobe Systems, Inc. in 1982.
PostScript is an interpreted, stack-based language (like FORTH). It was used as a page description language by the Apple LaserWriter, and now many laser printers and on-screen graphics systems. Its primary application is to describe the appearance of text, graphical shapes, and sampled images on printed or displayed pages.
A program in PostScript can communicate a document description from a composition system to a printing system in a device-independent way.
PostScript is an unusually powerful printer language because it is a full programming language, rather than a series of low-level escape sequences. (In this it parallels Emacs, which exploited a similar insight about editing tasks). It is also noteworthy for implementing on-the fly rasterisation, from Bezier curve descriptions, of high-quality fonts at low (e.g. 300 dpi) resolution (it was formerly believed that hand-tuned bitmap fonts were required for this task).
PostScript's combination of technical merits and widespread availability made it the language of choice for graphical output until PDF appeared.
The Postscript point, 1/72 inch, is slightly different from other point units.
An introduction (http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html).
[ PostScript Language Reference Manual ( The Red Book ), Adobe Systems, A-W 1985].
[Jargon File]
(2002-03-11)

Postscript point
unit, text The variant of the point used by Postscript, equal to 0.3527777778 mm, or 1/72 inch.
(2002-03-11)

Post, Telephone and Telegraph administration
communications, company (PTT) One of the many national bodies responsible for providing communications services in a particular country. Traditionally, PTTs had monopolies in their respective countries. This monopoly was first broken in the USA, with the UK joining somewhat later. Currently the markets are being deregulated in Europe as well as other parts of the world.
Well-known PTTs include MCI, AT T, and British Telecom.
Compare: telco.
(1998-05-18)

POSYBL
Programming system for distributed applications. A Linda implementation for Unix networks by Ioannis Schoinas sxoinas@csd.uch.gr .
(ftp://ariadne.csi.forth.gr/pub/POSYBL.TAR.Z)
(1995-12-04)

potential difference
voltage

POTS
Plain Old Telephone Service

pound
hash

pound on
bang on

pound sign
hash

POWER
Performance Optimization with Enhanced RISC. The IBM processor architecture on which PowerPC was based.

PowerBuilder
tool, database A graphical user interface development tool from Powersoft for developing client-server database applications. It runs under MS-DOS(?) and Microsoft Windows. There are also versions for Microsoft Windows, Windows NT, Macintosh, and Unix.
Applications can be built by creating windows, controls (such as listboxes and buttons), and menus within the PowerBuilder development environment. The language used to program PowerBuilder, PowerScript, is loosely based on BASIC.
PowerBuilder supports programming on many database backends including Sybase and Oracle. It also has added support for ODBC database drivers. PowerBuilder also comes with a built-in database backend (WATCOM SQL 32-bit relational database).
Product information (http://www.powersoft.com/mktg/prodinfo/prodintr.html)
FAQ (ftp://ftp.oar.net/pub/psoft/pb01.faq)
Usenet newsgroup: news:comp.soft-sys.powerbuilder.
[Correct list of platforms?]
(2001-03-23)

power cycle
(Or cycle power , cycle ) To turn a machine's power off and on, with the intention of clearing some kind of hung or gronked state. Synonym 120 reset; see also Big Red Switch. Compare Vulcan nerve pinch, bounce and boot, and see the AI Koan about Tom Knight and the novice.
[Jargon File]

powerdomain
theory The powerdomain of a domain D is a domain containing some of the subsets of D. Due to the asymmetry condition in the definition of a partial order (and therefore of a domain) the powerdomain cannot contain all the subsets of D. This is because there may be different sets X and Y such that X = Y and Y = X which, by the asymmetry condition would have to be considered equal.
There are at least three possible orderings of the subsets of a powerdomain:
Egli-Milner:
X = Y iff for all x in X, exists y in Y: x = y
and for all y in Y, exists x in X: x = y
( The other domain always contains a related element ).
Hoare or Partial Correctness or Safety:
X = Y iff for all x in X, exists y in Y: x = y
( The bigger domain always contains a bigger element ).
Smyth or Total Correctness or Liveness:
X = Y iff for all y in Y, exists x in X: x = y
( The smaller domain always contains a smaller element ).
If a powerdomain represents the result of an abstract interpretation in which a bigger value is a safe approximation to a smaller value then the Hoare powerdomain is appropriate because the safe approximation Y to the powerdomain X contains a safe approximation to each point in X.
( = is written in LaTeX as sqsubseteq).
(1995-02-03)

PowerFuL
language A language combining functional programming and logic programming, using angelic Powerdomains .
(1998-06-30)

power hit
(Or power glitch ) A sudden increase (spike) or decrease (drop-out) in the mains electricity supply. These can cause crashes and even permanent damage to computers. Computers and other electronic equipment should really include some kind of over-voltage protection in its mains input to prevent such damamge.
[Jargon File]

PowerMac
Power Macintosh

Power Macintosh
computer Apple Computer's personal computer based on the PowerPC, introduced on 1994-03-14. Existing 680x0 code (both applications and device drivers) run on Power Macintosh systems without modification via a Motorola 68LC040 emulator. The performance of these unmodified applications is equivalent to a fast 68040-based Macintosh, e.g. a fast Macintosh Quadra. The Power Macintosh runs Macintosh operating system from System 7.5 to Mac OS 8.5.
Home (http://www.info.apple.com/ppc/ppchome.html).
(1999-01-08)

power-on self-test
hardware (POST) A sequence of diagnostic tests that are run automatically by a device when the power is turned on.
In a personal computer a typical POST sequence does the following:
- checks that the system board is working
- checks that the memory is working
- compares the current system configuration with that recorded by the PC's configuration program to see if anything has been added or removed or broken
- starts the video operation
- checks that the diskette drive, hard disk drive, CD-ROM drive, and any other drives that may be installed are working.
When POST is finished, typically it will beep, and then let your operating system start to boot. If POST finds an error, it may beep more than once (or possibly not at all if it is your PC speaker that is broken) and display a POST error message. These messages are often nothing more than a single ominous number. Some common numbers and their meanings are:
161 Dead battery (get a new battery for the system board)
162 Configuration changed (you added some memory or a new card to the PC)
301 Keyboard error (take the book off the corner of the keyboard)
Because a successful POST indicates that the system is restored to known state, turning the power off and on is a standard way to reset a system whose software has hung. Compare 120 reset, Big Red Switch, power cycle.
(2001-03-30)

PowerOpen
The PowerOpen Association defines and promotes the PowerOpen Environment (POE).

PowerOpen Association
An independent body established to promote, and test conformance with, the PowerOpen Environment (POE).
(1994-11-08)

PowerOpen Environment
operating system (POE) A definition containing API and ABI specifications based on the PowerPC architecture. It is not an operating system. The presence of the ABI specification in the POE distinguishes it from other open systems (POSIX, XPG4, etc.) since it allows platform independent binary compatibility which is otherwise typically limited to particular hardware.
The POE is an open standard, derived from AIX and conforming to industry open standards including POSIX, XPG4 and Motif. The POE specification will be publicly available to anyone wishing to produce either application programs or hardware platforms. The PowerOpen Association will provide the necessary conformance testing and POE branding.
The POE is hardware bus independent. System implementations can range from laptop computers to supercomputers. It requires a multi-user, multitasking operating system. It provides networking support, an X Window System extension, a Macintosh Application Services extension and Motif. It is conformance tested and certified by an independent party (the PowerOpen Association).
The POE specification is targeted for availability in the first quarter of 1994. The PowerOpen Association will soon have some of the information material available on-line.
(1994-11-08)

PowerPC
processor, standard (PPC) A RISC microprocessor designed to meet a standard which was jointly designed by Motorola, IBM, and Apple Computer (the PowerPC Alliance). The PowerPC standard specifies a common instruction set architecture (ISA), allowing anyone to design and fabricate PowerPC processors, which will run the same code. The PowerPC architecture is based on the IBM POWER architecture, used in IBM's RS/6000 workstations. Currently IBM and Motorola are working on PowerPC chips.
The PowerPC standard specifies both 32-bit and 64-bit data paths. Early implementations were 32-bit (e.g. PowerPC 601); later higher-performance implementations were 64-bit (e.g. PowerPC 620). A PowerPC has 32 integer registers (32- or 64 bit) and 32 floating-point (IEEE standard 64 bit) floating-point registers.
The POWER CPU chip and PowerPC have a (large) common core, but both have instructions that the other doesn't. The PowerPC offers the following features that POWER does not:
Support for running in little-endian mode.
Addition of single precision floating-point operations.
Control of branch prediction direction.
A hardware coherency model (not in Book I).
Some other floating-point instructions (some optional).
The real time clock (upper and lower) was replaced with the time base registers (upper and lower), which don't count in sec/ns (the decrementer also changed).
64-bit instruction operands, registers, etc. (in 64 bit processors).
See also PowerOpen, PowerPC Platform (PReP).
IBM PPC info (http://fnctsrv0.chips.ibm.com/products/ppc/index.html).
(gopher://info.hed.apple.com/), Apple Corporate News/ (press releases), Apple Technologies/ and Product Information/ . (gopher://ike.engr.washington.edu/), IBM General News/ , IBM Product Announcements/ , IBM Detailed Product Announcements/ , IBM Hardware Catalog/ .
Usenet newsgroups: news:comp.sys.powerpc, news:comp.sys.mac.hardware.
[ Microprocessor Report , 16 October 1991].
(1994-09-30)

PowerPC 601
processor A 32-bit RISC processor with 2.8 million transistors (~1.2 million in the core logic) and 32 kilobytes of on-chip cache. Die size: 118.8 mm2. Heat dissipation at 66MHz: 9W. Performance at 66MHz: integer 60 SPECint92, floating-point 80 SPECfp92. Estimated manufacturing cost: $76. Maximum instructions per cycle: 3. 32 32-bit general-purpose registers. 32 64-bit floating-point registers. Successors: PowerPC 603, 604, 620.
(2000-01-12)

PowerPC G3
processor A processor chip from Apple Computer, Inc..
Described by Apple as the third generation in the development of advanced processor technology the first PowerPC G3 products were launched in 1997. It is specifically optimised for the Macintosh Operating System and uses backside cache to improve performance. The PowerPC G3 has been used by Apple in notebook, desktop and server products.
Home (http://www.apple.com/powermac/technologies/g3.html).
(1998-10-03)

PowerPC Platform
architecture, standard (PPCP, PReP - PowerPC Reference Platform, formerly CHRP - Common Hardware Reference Platform) An open system standard, designed by IBM, intended to ensure compatibility among PowerPC-based systems built by different companies. The PReP standard specifies the PCI bus, but will also support ISA, MicroChannel and PCMCIA.
PReP-compliant systems will be able to run the Macintosh OS, OS/2, WorkplaceOS, AIX, Solaris, Taligent and Windows NT. IBM systems will (of course) be PReP-compliant. Apple's first PowerPC Macintoshes will not be compliant, but future ones may be.
IBM info (http://fnctsrv0.chips.ibm.com/products/ppc/L3ppcp.html).
(http://billboard.emedia.com.au/chipster/computers/CHRP/whatsCHRP.html).
[Current OS statuses?]
(1997-03-23)

PowerPC Reference Platform
PowerPC Platform

Powerpoint
graphics, tool A Microsoft application for creating presentations, speeches, slides, etc.
(1996-08-26)

power save mode
architecture A feature of a component or subsystem designed to actively reduce its power consumption when not in use. Almost any electronic device might benefit from having a power save mode but the most common application is for portable computers which attempt to conserve battery life by incorporating power saving modes in the CPU, display, disks, printer, or other units.
(1995-10-14)

powerset
mathematics The powerset of a set S is the set of possible subsets of S, usually written PS.
(1994-11-08)

Powersoft Corporation
company A leading vendor of client/server application development tools.
In February 1994, Watcom became a wholly-owned subsidiary of Powersoft Corporation which merged with Sybase on 13 February 1995. In April 1995, the new company is the fastest growing top-ten software company and the seventh largest software company in the world.
Home (http://www.powersoft.com/)
Headquarters: Concord, Massachusetts, USA.
(1995-12-27)

PP96
language A parallel Pascal extension.
[Details? Any relation to Parallel Pascal?]
(1998-04-29)

PPC
PowerPC

PPCP
PowerPC Platform

PPD
Parallel Presence Detect

PPGA
Plastic Pin Grid Array

PPL
Polymorphic Programming Language. An interactive, extensible language, based on APL, from Harvard University.
[ Some Features of PPL - A Polymorphic Programming Language , T.A. Standish, SIGPLAN Notices 4(8) (Aug 1969)].
(1994-10-06)

PPLambda
language essentially the first-order predicate calculus superposed upon the simply-typed polymorphic lambda-calculus. PPLambda is the object language for LCF.
[ Logic and Computation: Interactive Proof with Cambridge LCF , L. Paulson, Cambridge U Press, 1987].
(1995-05-01)

PPM
Portable Pixmap

PPN
Project-Programmer Number.
A user-ID under TOPS-10 and its various mutant progeny at SAIL, BBN, CompuServe and elsewhere. Old-time hackers from the PDP-10 era sometimes use this to refer to user IDs on other systems as well.
[Jargon File]
(1994-11-18)

PPP
Point-to-Point Protocol

P-Prolog
language A parallel logic language.
[ P-Prolog: A Parallel Logic Language Based on Exclusive Relation , R. Yang et al, Third Intl Conf on Logic Prog, 1986, pp. 255-269].
(1994-11-18)

PPTP
Point-to-Point Tunneling Protocol

PQS
Picture Quality Scale

PR
Packet Radio

pr
networking The country code for Puerto Rico.
(1999-01-27)

pr0n
pron

PRA
PRAgmatics.
The language used by COPS for specification of code generators.
[ Metalanguages of the Compiler Production System COPS , J. Borowiec, in GI Fachgesprach Compiler-Compiler , ed W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].
(1994-11-18)

pragma
(pragmatic information) A standardised form of comment which has meaning to a compiler. It may use a special syntax or a specific form within the normal comment syntax. A pragma usually conveys non-essential information, often intended to help the compiler to optimise the program.
(1994-11-08)

PRAM
hardware 1. parallel random access machine.
2. parameter RAM.

Praxis Critical Systems
company The company that supplies SPARK.
(2001-07-12)

pre box
computer Phase 5's Amiga clone, announced on 1998-03-10. The pre box will have a processor card with four PowerPC processors running in parallel. The processors will range from four 200 MHz PPC604e chips to four 300MHz PPC750 chips. It will have a Voodoo2 video graphics card, as well as a custom video chip working in concert, with 8 MB of video ram. It will run Amiga OS 3.1 (or higher if Gateway 2000 delivers the next upgrade before its release) and have Motorola 68000 CPU emulation in software.
Other features include EIDE, Ultra Wide SCSI-II, PCI, Ethernet and DIMM sockets. Extra RAM, hard disks and CD-ROM will be available. The initial specification will probably be 32MB RAM, 32-speed CD and 4GB hard disk in an ATX minitower. Systems should start at about $2000 for four parallel 200 MHZ CPUs and be available at the end of 1998.
Full press release (http://www.cucug.org/amiga/aminews/1998/980310-phase5.html).
(1998-07-29)

PRE-CC
PREttier Compiler-Compiler.
An earlier version of PRECCX.
(1995-01-24)

PRECCX
tool (Pre-C-Compiler eXtended) An infinite-lookahead compiler-compiler by Peter Breuer ptb@comlab.ox.ac.uk for context dependent grammars. PRECCX generates ANSI C. Specification scripts are in very EBNF with inherited attributes and synthetic attributes allowed. Scripts can be compiled in separate modules and linked later. Meta-production rules are allowed. Grammars can be essentially LL(oo) with optimisations. A converter for yacc scripts is available.
Versions 1.xx were known as PRECC and only had unbounded lookahead. The 2.xx series added the X for extended and featured higher order parameterisation (inherited attributes).
Version 2.42 integrates inherited and synthesized attributes by using a monadic model for parsing. You can now synthsize attributes during the pass and inherit them in the remainder, e.g.
@ foo = bar x gum(x)
synthesises an x in bar and passes it down into gum as a parameter. Useful for @ what = ? x did_you_say(x), for example. It now compiles into C instead of running an interpreter at parse-time.
Version 2.42 runs under Unix and MS-DOS.
Home (http://www.comlab.ox.ac.uk/archive/redo/precc.html)
E-mail: Peter Breuer ptb@comlab.ox.ac.uk , Jonathan Bowen J.P.Bowen@reading.ac.uk .
[ The PRECC Compiler-Compiler by P.T. Breuer and J.P. Bowen. In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8 January 1993, ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167-182, 1993].
(2000-04-24)

precedence lossage
/pre's*-dens los'*j/ A C coding error in an expression due to unintended grouping of arithmetic or logical operators. Used especially of certain common coding errors in C due to the nonintuitively low precedence levels of , | , ^ , and . For example, the following C expression, intended to test the least significant bit of x,
x 1 == 0
is parsed as
x (1 == 0)
which the compiler would probably evaluate at compile-time to
(x 0)
and then to 0.
Precedence lossage can always be avoided by suitable use of parentheses. For this reason, some C programmers deliberately ignore the language's precedence hierarchy and parenthesise defensively. Lisp fans enjoy pointing out that this can't happen in *their* favourite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere.
Other sources of bugs include aliasing bug, memory leak, memory smash, smash the stack, fandango on core, overrun screw.
[Jargon File]
(1994-12-16)

precharge
storage The phase in the access cycle of DRAM during which the storage capacitors are charged to the appropriate value.
(1997-02-23)

precision
mathematics The number of decimal places to which a number is computed.
Compare accuracy.
(1998-04-19)

predecessor
parent

predicate calculus
predicate logic

predicate logic
logic (Or predicate calculus ) An extension of propositional logic with separate symbols for predicates, subjects, and quantifiers.
For example, where propositional logic might assign a single symbol P to the proposition All men are mortal , predicate logic can define the predicate M(x) which asserts that the subject, x, is mortal and bind x with the universal quantifier ( For all ):
All x . M(x)
Higher-order predicate logic allows predicates to be the subjects of other predicates.
(2002-05-21)

predomain
theory A domain with no bottom element.
(1995-05-04)

pre-emptive multitasking
operating system, parallel A type of multitasking where the scheduler can interrupt and suspend ( swap out ) the currently running task in order to start or continue running ( swap in ) another task. The tasks under pre-emptive multitasking can be written as though they were the only task and the scheduler decides when to swap them. The scheduler must ensure that when swapping tasks, sufficient state is saved and restored that tasks do not interfere.
The length of time for which a process runs is known as its time slice and may depend on the task's priority or its use of resources such as memory and I/O.
OS/2, Unix and the Amiga use pre-emptive multitasking.
This contrasts with cooperative multitasking where each task must include calls to allow it to be descheduled periodically.
(1995-03-20)

prefetch
instruction prefetch

prefix
1. unit The standard metric prefixes used in the Système International (SI) conventions for scientific measurement.
Here are the SI magnifying prefixes, along with the corresponding binary interpretations in common use:
prefix abr decimal binary
yocto- 1000^-8
zepto- 1000^-7
atto- 1000^-6
femto- f 1000^-5
pico- p 1000^-4
nano- n 1000^-3
micro- * 1000^-2 * Abbreviation: Greek mu
milli- m 1000^-1
kilo- k 1000^1 1024^1 ~ 2^10 = 1,024
mega- M 1000^2 1024^2 ~ 2^20 = 1,048,576
giga- G 1000^3 1024^3 ~ 2^30 = 1,073,741,824
tera- T 1000^4 1024^4 ~ 2^40 = 1,099,511,627,776
peta- 1000^5 1024^5 ~ 2^50 = 1,125,899,906,842,624
exa- 1000^6 1024^6 ~ 2^60 = 1,152,921,504,606,846,976
zetta- 1000^7 1024^7 ~ 2^70 = 1,180,591,620,717,411,303,424
yotta- 1000^8 1024^8 ~ 2^80 = 1,208,925,819,614,629,174,706,176
Femto and atto derive not from Greek but from Danish.
The abbreviated forms of these prefixes are common in electronics and physics.
When used with bytes of storage, these prefixes usually denote multiplication by powers of 1024 = 2^10 (K, M, and G are common in computing). Thus MB stands for megabytes (2^20 bytes). This common practice goes against the edicts of the BIPM who deprecate the use of these prefixes for powers of two. The formal SI prefix for 1000 is lower case k ; some, including this dictionary, use this strictly, reserving upper case K for multiplication by 1024 (KB is thus kilobytes ).
Also, in data transfer rates the prefixes stand for powers of ten so, for example, 28.8 kb/s means 28,800 bits per second.
In speech, the unit is often dropped so one may talk of a 40K salary (40000 dollars) or 2M of disk space (2*2^20 bytes).
The accepted pronunciation of the initial G of giga- was once soft, /ji'ga/ (like gigantic ), but now the hard pronunciation, /gi'ga/, is probably more common. [Is this true of Commonwealth countries?]
Confusing 1000 and 1024 (or other powers of 2 and 10 close in magnitude) - for example, describing a memory in units of 500K or 524K instead of 512K - is a sure sign of the marketroid. For example, 3.5 microfloppies are often described as storing 1.44 MB . In fact, this is completely specious. The correct size is 1440 KB = 1440 * 1024 = 1474560 bytes. Alas, this point is probably lost on the world forever.
In 1993, hacker Morgan Burke proposed, to general approval on Usenet, the following additional prefixes: groucho (10^-30), harpo (10^-27), harpi (10^27), grouchi (10^30). This would leave the prefixes zeppo-, gummo-, and chico- available for future expansion. Sadly, there is little immediate prospect that Mr. Burke's eminently sensible proposal will be ratified.
2. language Related to the prefix notation.
(2002-03-23)

prefix notation
language (Or prefix syntax ) One of the possible orderings of functions and operands: in prefix notation the function precedes all its operands. For example, what may normally be written as 1+2 becomes (+ 1 2) . A few languages (e.g., lisp) have strictly prefix syntax, many more employ prefix notation in combination with infix notation.
Compare: postfix notation.
(2001-02-14)

prefix syntax
prefix notation

pre-order
1. graph theory traversal.
2. theory A relation R is a pre-order if it is reflexive (x R x) and transitive (x R y R z = x R z). If it is also antisymmetric (x R y R x = x = y) then it is a partial ordering.
(2001-10-01)

pre-order traversal
traversal

PREP
1. (PReP) PowerPC Reference Platform.
2. (PREP) PRogrammed Electronics Patterns. Language for designing integrated circuits. [ Computer Assisted Mask Production , R.L. Rosenfeld, Proc IEEE 57(9) Sep 1969].

prepaging
architecture (Or working set model ) A technique whereby the operating system in a paging virtual memory multitasking environment loads all pages of a process's working set into memory before the process is restarted.
Under demand paging a process accesses its working set by page faults every time it is restarted. Under prepaging the system remembers the pages in each process's working set and loads them into physical memory before restarting the process. Prepaging reduces the page fault rate of reloaded processes and hence generally improves CPU efficiency.
[ Modern Operating Systems , Andrew S. Tanenbaum, pub. Prentice Hall, Inc. 1992].
(1998-04-23)

prepend
jargon /pree'pend'/ (by analogy with append ) To prefix or add to the beginning.
[Jargon File]
(1998-04-23)

preprocessor
A program invoked by various compilers to process code before compilation. For example, the C preprocessor, cpp, handles textual macro substitution, conditional compilation and inclusion of other files. A preprocessor may be used to transform a program into a simpler language, e.g. to transform C++ into C.
(1994-11-09)

presence detect
storage A means of identifying a memory chip to the memory controller logic. The original scheme, called Parallel Presence Detect (PPD) used a separate pin for each bit of information. As the number of pins can not be very large this only allowed to identify the density and the speed of the chips. To allow for additional information the Serial Presence Detect (SPD) scheme was introduced which uses a serial EEPROM to store the presence detect information and requires only two pins (one for enabling it and one for data).
(1998-03-07)

presentation layer
networking The second highest layer (layer 6) in the OSI seven layer model. Performs functions such as text compression, code or format conversion to try to smooth out differences between hosts. Allows incompatible processes in the application layer to communicate via the session layer.
Documents: ITU Rec. X.226 (ISO 8823), ITU Rec. X.216 (ISO 8822).
(1996-07-20)

Presentation Manager
The elephantine graphical user interface to the OS/2 operating system.

prestidigitization
/pres`t*-di j*-ti:-zay sh*n/ 1. A term coined by Daniel Klein dvk@lonewolf.com for the act of putting something into digital notation via sleight of hand.
[ Open Channel , IEEE Computer , November 1981].
2. Data entry through legerdemain.
[Jargon File]
(1994-11-01)

PRESTO
A parallel language for shared-memory multiprocessors, built on top of C++ by Bershad et al, U Washington 1987. PRESTO provides classes for threads and spinlocks as well as Mesa-style monitors and condition variables.
(ftp://cs.washington.edu/pub/presto1.0.tar.Z). E-mail: presto@cs.washington.edu .
[ PRESTO: A Kernel for Parallel Programming Environments , B.N. Bershad et al, U Wash CS TR, Jan 1987].

Pretty Amazing New Stuff
humour, communications (PANS) What PSTN is evolving into.
(1996-10-16)

Pretty Good Privacy
tool, cryptography (PGP) A high security RSA public-key encryption application for MS-DOS, Unix, VAX/VMS, and other computers. It was written by Philip R. Zimmermann pkz@acm.org of Phil's Pretty Good(tm) Software and later augmented by a cast of thousands, especially including Hal Finney, Branko Lankester, and Peter Gutmann.
PGP was distributed as guerrilla freeware . The authors don't mind if it is distributed widely, just don't ask Philip Zimmermann to send you a copy. PGP uses a public-key encryption algorithm claimed by US patent #4,405,829. The exclusive rights to this patent are held by a California company called Public Key Partners, and you may be infringing this patent if you use PGP in the USA. This is explained in the PGP User's Guide, Volume II.
PGP allows people to exchange files or messages with privacy and authentication. Privacy and authentication are provided without managing the keys associated with conventional cryptographic software. No secure channels are needed to exchange keys between users, which makes PGP much easier to use. This is because PGP is based on public-key cryptography.
PGP encrypts data using the International Data Encryption Algorithm with a random session key, and uses the RSA algorithm to encrypt the session key.
In December 1994 Philip Zimmermann faced prosecution for exporting PGP out of the United States but in January 1996 the US Goverment dropped the case. A US law prohibits the export of encryption software out of the country. Zimmermann did not do this, but the US government hoped to establish the proposition that posting an encryption program on a BBS or on the Internet constitutes exporting it - in effect, stretching export control into domestic censorship. If the government had won it would have had a chilling effect on the free flow of information on the global network, as well as on everyone's privacy from government snooping.
FAQ (ftp://ftp.netcom.com/pub/mp/mpj/getpgp.asc). UK FTP (ftp://src.doc.ic.ac.uk/packages/pgp/). USA FTP (http://web.mit.edu/network/pgp-form.html). (http://www.pegasus.esprit.ec.org/people/arne/pgp.html).
Justice Dept. announcement (http://www.eff.org/pub/Alerts/usatty_pgp_011196.announce).
[ Protect Your Privacy: A Guide for PGP Users , William Stallings, Prentice-Hall, ISBN 0-13-185596-4].
(1996-04-07)

pretty pictures
(scientific computation) The next step up from numbers. Interesting graphical output from a program that may not have any sensible relationship to the system the program is intended to model, but good for showing to management.
[Jargon File]
(1995-02-15)

prettyprint
/prit'ee-print/ (Or pretty-print ) To generate pretty human-readable output from a hairy internal representation; especially used for the process of grinding program code.
[Jargon File]
(1995-02-15)

pretzel key
feature key

preventive maintenance
(PM) To bring down a machine for inspection or test purposes.
See provocative maintenance, scratch monkey.
(1995-02-15)

PRI
ISDN Primary Rate Interface.
See also BRI
(1994-12-08)

primary cache
hardware, architecture (L1 cache, level one cache) A small, fast cache memory inside or close to the CPU chip.
For example, an Intel 80486 has an eight-kilobyte on-chip cache, and most Pentiums have a 16-KB on-chip level one cache that consists of an 8-KB instruction cache and an 8-KB data cache.
The larger, slower secondary cache is normally connected to the CPU via its external bus.
(1997-06-25)

primary key
database The candidate key selected as being most important for identifying a body of information (an entity, object or record).
(1997-04-26)

primary management domain
messaging (PRMD) The component of an X.400 electronic mail address that gives the organisation name.
[Example?]
(1999-12-08)

Primary Rate Interface
(PRI) A type of ISDN connection. In North America and Japan, this consists of 24 channels, usually divided into 23 B channels and 1 D channel, and runs over the same physical interface as T1. Elsewhere the PRI has 31 user channels, usually divided into 30 B channels and 1 D channel and is based on the E1 interface.
PRI is typically used for connections such as one between a PBX (private branch exchange, a telephone exchange operated by the customer of a telephone company) and a CO (central office, of the telephone company) or IXC (inter exchange carrier, a long distance telephone company).
(1995-01-18)

Prime Computer
company (Or Pr1ME ) A minicomputer manufacturer.
[Dates? Status? Products? Addresses?]
(1996-09-28)

Primenet, Inc.
Arizona's Internet provider.
(1994-12-08)

prime number theorem
mathematics The number of prime numbers less than x is about x/log(x). Here is about means that the ratio of the two things tends to 1 as x tends to infinity. This was first conjectured by Gauss in the early 19th century, and was proved (independently) by Hadamard and de la Vall'ee Poussin in 1896. Their proofs relied on complex analysis, but Erdös and Selberg later found an elementary proof.
(1995-04-10)

prime time
(From TV programming) Normal high-usage hours on a time-sharing system; the day shift. Avoidance of prime time was traditionally given as a major reason for night mode hacking. The rise of the personal workstation has rendered this term, along with time-sharing itself, almost obsolete. The hackish tendency to late-night hacking runs has changed not a bit.
[Jargon File]
(1995-01-18)

primitive
programming A function, operator, or type which is built into a programming language (or operating system), either for speed of execution or because it would be impossible to write it in the language. Primitives typically include the arithmetic and logical operations (plus, minus, and, or, etc.) and are implemented by a small number of machine language instructions.
(1995-05-01)

Princeton University
body, education Chartered in 1746 as the College of New Jersey, Princeton was British North America's fourth college. First located in Elizabeth, then in Newark, the College moved to Princeton in 1756. The College was housed in Nassau Hall, newly built on land donated by Nathaniel and Rebeckah FitzRandolph. Nassau Hall contained the entire College for nearly half a century. The College was officially renamed Princeton University in 1896; five years later in 1900 the Graduate School was established.
Fully coeducational since 1969, Princeton now enrolls approximately 6,400 students (4,535 undergraduates and 1,866 graduate students). The ratio of full-time students to faculty members (in full-time equivalents) is eight to one.
Today Princeton's main campus in Princeton Borough and Princeton Township consists of more than 5.5 million square feet of space in 160 buildings on 600 acres. The University's James Forrestal Campus in Plainsboro consists of one million square feet of space in four complexes on 340 acres.
As Mercer County's largest private employer and one of the largest in the Mercer/Middlesex/Somerset County region, with approximately 4,830 permanent employees - including more than 1,000 faculty members - the University plays a major role in the educational, cultural, and economic life of the region.
(http://www.princeton.edu/index.html)
(1994-01-19)

principal type
The most general type of an expression. For example, the following are all valid types for the lambda abstraction ( x . x):
Int - Int Bool - Bool (a- b) - (a- b)
but any valid type will be an instance of the principal type: a - a. An instance is derived by substituting the same type expression for all occurences of some type variable. The principal type of an expression can be computed from those of its subexpressions by Robinson's unification algorithm.
(1994-12-16)

PRINT
language PRe-edited INTerpreter.
An early mathematics language for the IBM 705.
[Sammet 1969, p. 134].
(1995-05-01)

printed circuit board
hardware (PCB) A thin board to which electronic components are fixed by solder. Component leads and integrated circuit pins may pass through holes ( vias ) in the board or they may be surface mounted, in which case no holes are required (though they may still be used to connect different layers).
The simplest kind of PCB has components and wires on one side and interconnections (the printed circuit) on the other. PCBs may have components mounted on both sides and may have many internal layers, allowing more connections to fit in the same board area. Boards with internal conductor layers usually have plated-through holes to improve the electrical connection to the internal layers.
The connections are metal strips (usually copper). The pattern of connections is often produced using photo-resist and acid etching. Boards, especially those for high frequency circuits such as modern microprocessors, usually have one or more ground planes and power planes which are large areas of copper for greater current carrying ability.
A computer or other electronic system might be built from several PCBs, e.g. processor, memory, graphics controller, disk controller etc. These boards might all plug into a motherboard or backplane or be connected by a ribbon cable.
(1995-05-01)

printer
printer A peripheral device for producing text and images on paper. There are many different types, broadly grouped into impact printers and non-impact printers .
Compare plotter. See also Braille printer, tree-killer.
(1996-01-13)

Printer Access Protocol
networking, protocol, printer (PAP) A protocol used in Mac OS Appletalk to provide bi-directional communication between PostScript printers and the client computer.
(1999-03-02)

printer port
hardware, printer A connector found on many microcomputers intended for attaching a printer. This may be a general-purpose input/output parallel port or may be a special Centronics interface.
Most printers can also be connected to a serial port but that is unlikely to be described as a printer port .
(1996-01-07)

printf
library The standard function in the C programming language library for printing formatted output.
The first argument is a format string which may contain ordinary characters which are just printed and conversion specifications - sequences beginning with '%' such as %6d which describe how the other arguments should be printed, in this case as a six-character decimal integer padded on the right with spaces.
Possible conversion specifications are d, i or u (decimal integer), o (octal), x, X or p (hexadecimal), f (floating-point), e or E (mantissa and exponent, e.g. 1.23E-22), g or G (f or e format as appropriate to the value printed), c (a single character), s (a string), % (i.e. %% - print a % character). d, i, f, e, g are signed, the rest are unsigned.
The variant fprintf prints to a given output stream and sprintf stores what would be printed in a string variable.
Unix manual page: printf(3).
(1996-12-08)

PRINT I
An early system on IBM 705.
[CACM 2(5):16 (May 1959)].

printing discussion
[XEROX PARC] A protracted, low-level, time-consuming, generally pointless discussion of something only peripherally interesting to all.
[Jargon File]

print server
printer A server device that is set up on a network to route print requests and status information between computers and printers connected by a network. A typical print server routes print requests for multiple computers and printers on a network.
For example, a networked workstation user submits a print command that includes a print file and information about the printer to be used, usually a nearby printer for convenience. The print server sends the print file to the requested printer. The printer spools the print file and provides job status. The print server relays the status of the printer back to the workstation and makes this status information available to other devices on the network.
(1999-02-18)

Print Services Facility
printer (PSF) IBM's system software which generates native IBM printer language, IPDS and, depending on the version, PostScript and LaserJet PCL.
See also: Advanced Function Presentation.
(1998-06-28)

priority interrupt
[hardware] Describes any stimulus compelling enough to yank one right out of hack mode. Classically used to describe being dragged away by an SO for immediate sex, but may also refer to more mundane interruptions such as a fire alarm going off in the near vicinity. Also called an NMI (non-maskable interrupt), especially in PC-land.
[Jargon File]

priority inversion
programming A phenomenon which can arise in a concurrent programming environment where a high priority task (H) is blocked by a low priority task (L), e.g. because L has locked some resource needed by H, and L then has to wait for a medium priority task (M). The net result is that H ends up waiting for M instead of the other way round - the priorities become inverted.
This can be a problem if, for example, M takes a long time, causing H to miss a deadline.
A possible cure is to have tasks inherit the maximum priority of any task that is waiting for them. In that case L temporarily becomes high priority until H can procede, thus preventing M from running in place of H.
(1997-12-13)

priority queue
programming A data structure with three operations: insert a new item, return the highest priority item, and remove the highest priority item. The obvious way to represent priority queues is by maintaining a sorted list but this can make the insert operation very slow. Greater efficiency can be achieved by using heaps.
(1996-03-12)

priority scheduling
operating system Processes scheduling in which the scheduler selects tasks to run based on their priority as opposed to, say, a simple round-robin.
Priorities may be static or dynamic. Static priorities are assigned at the time of creation, while dynamic priorities are based on the processes' behaviour while in the system. For example, the scheduler may favour I/O-intensive tasks so that expensive requests can be issued as early as possible.
A danger of priority scheduling is starvation, in which processes with lower priorities are not given the opportunity to run. In order to avoid starvation, in preemptive scheduling, the priority of a process is gradually reduced while it is running. Eventually, the priority of the running process will no longer be the highest, and the next process will start running. This method is called aging.

PRISM
A distributed logic language.
[ PRISM: A Parallel Inference System for Problem Solving , S. Kasif et al, Proc 1983 Logic Prog Workshop, pp. 123-152].

Prisoner of Bill
humour (PoB) A derisory term, in use generally among Unix users, for anyone who uses Microsoft products either because they don't know there is anything better (i.e. Unix) or because they would be incapable of working anything more complex (i.e. Unix).
The interesting and widespread presumption among users of the term is that (at least at the time of writing, 1998) using anything other than Unix or a Microsoft OS (whether VMS, Macintosh, Amiga) is so eccentric a choice as to be at least somewhat praiseworthy.
(1998-09-07)

privacy
Where only the intended recipients can read a message.

Privacy Enhanced Mail
(PEM) Internet electronic mail which provides confidentiality, authentication and message integrity using various encryption methods.
See also Pretty Good Privacy.

Private Automatic Branch eXchange
communications (PABX) A telephone exchange operated within an organisation, used for switching calls between internal lines and between internal and PSTN lines. In contrast to a PMBX, a PABX can route calls without manual intervention, based entirely on the number dialed. Not all PABXs can route external calls to internal numbers automatically however.
(1998-08-07)

Private Branch Exchange
communications (PBX) A telephone exchange local to a particular organisation who use, rather than provide, telephone services. The earliest PBXs were manual (Private Manual Branch EXchange, PMBX) but are now more likely to be automatic (Private Automatic Branch eXchange).
(1997-06-25)

Private Manual Branch eXchange
communications (PMBX) The original manual equivalent of a PABX; a PMBX involves company employed operators manually switching each call using a manual switchboard.
(1998-08-07)

privileged instruction
A machine code instruction that may only be executed when the processor is running in supervisor mode. Privileged instructions include operations such as I/O and memory management.
(1995-02-15)

PRL
Proof Refinement Logic.
Versions: micro-PRL, lambda-PRL, nu-PRL.
[ PRL: Proof Refinement Logic Programmer's Manual , CS Dept, Cornell, 1983].
(1995-01-24)

PRMD
primary management domain

PRML
Partial Response Maximum Likelihood

probabilistic
probability Relating to, or governed by, probability. The behaviour of a probabilistic system cannot be predicted exactly but the probability of certain behaviours is known. Such systems may be simulated using pseudo-random numbers. Evolutionary computation uses probabilistic processes to generate new (potential) solutions to a problem.
See also deterministic, non-probabilistic.
(1995-09-22)

probabilistic automaton
nondeterministic automaton

Probe
An object-oriented logic language based on ObjVlisp.
[ Proposition d'une Extension Objet Minimale pour Prolog , Actes du Sem Prog en Logique, Tregastel (May 1987), pp. 483-506].

problem state
IBM jargon for user mode, the opposite of supervisor state .
On IBM System 360, 370 and 390 mainframes privileged instructions may only be executed in supervisor state . Application programs request the operating system to perform these operations by using the Supervisor Call (SVC) instruction.
(1995-02-15)

PROC
language The job control language used in the Pick operating system.
[ Exploring the Pick Operating System , J.E. Sisk et al, Hayden 1986].
(1998-10-13)

procedural language
language (Or imperative language ) A term used in contrast to declarative language to describe a language where the programmer specifies an explicit sequences of steps to follow to produce a result. Common procedural languages include Basic, Pascal, C and Modula-2.
(1998-10-13)

Procedural Language/SQL
language (PL/SQL) Oracle Corporation's proprietary procedural language extension of industry-standard SQL.
[Features? Reference? Any relation to PL/I?]
(1999-09-14)

procedure
subroutine

process
1. operating system, software The sequence of states of an executing program. A process consists of the program code (which may be shared with other processes which are executing the same program), private data, and the state of the processor, particularly the values in its registers. It may have other associated resources such as a process identifier, open files, CPU time limits, shared memory, child processes, and signal handlers.
One process may, on some platforms, consist of many threads. A multitasking operating system can run multiple processes concurrently or in parallel, and allows a process to spawn child processes.
(2001-06-16)
2. business The sequence of activities, people, and systems involved in carrying out some business or achieving some desired result. E.g. software development process, project management process, configuration management process.
(2001-06-16)

Process and Experiment Automation Real-Time Language
language (PEARL) A real-time language for programming process control systems, widely used in Europe. Size and complexity exceeds Ada. Defined in DIN 66253 Teil 2.
[ Programmiersprache PEARL , Beuth-Verlag, Nov 1980].
(2000-08-16)

Process Design Language 2
language (PDL2) A language developed for the Texas Instruments ASC computer.
[ Texas Instruments Process Design Methodology - Design Specification: Process Design Language , Volume I (Sep 1976)].
[Mentioned in An Overview of Ada J.G.P. Barnes, Soft Prac Exp 10:851-887 (1980)].
(1995-08-13)

process ID
process identifier

process identifier
operating system (PID) An integer used by the Unix kernel to uniquely identify a process. PIDs are returned by the fork system call and can be passed to wait() or kill() to perform actions on the given process.
(1996-12-09)

processor
central processing unit

Processor Direct Slot
hardware (PDS) Apple Computer's name for a local bus connection. Most Macintoshes have only one PDS connector. Different Apple computers have different PDS specifications.
(1995-05-02)

processor farm
computer, parallel A parallel processor where tasks are distributed, or farmed out , by one farmer processor to several worker processors, and results are sent back to the farmer. This arrangement is suitable for applications which can be partitioned into many separate, independent tasks, the canonical examples being ray tracing and the Mandelbrot set. In order to be efficient, the extra time spent on communications must be small compared to the time spent processing each task.
(2001-05-28)

processor time
software The amount of time a process takes to run, given that it has exclusive and uninterrupted use of the CPU. Note that in a modern computer, this would be very unusual, and so the processor time calculation for most processes involves adding up all the small amounts of time the CPU actually spends on the process.
Some systems break processor time down into user time and system time.
Compare wall clock time.
(1998-03-13)

process scheduling
multitasking

process table
operating system, process A table containing all of the information that must be saved when the CPU switches from running one process to another in a multitasking system.
The information in the process table allows the suspended process to be restarted at a later time as if it had never been stopped. Every process has an entry in the table. These entries are known as process control blocks and contain the following information:
process state - information needed so that the process can be loaded into memory and run, such as the program counter, the stack pointer, and the values of registers.
memory state - details of the memory allocation such as pointers to the various memory areas used by the program
resource state - information regarding the status of files being used by the process such as user ID.
Accounting and scheduling information.
An example of a UNIX process table is shown below.
SLOT ST PID PGRP UID PRI CPU EVENT NAME FLAGS
0 s 0 0 0 95 0 runout sched load sys
1 s 1 0 0 66 1 u init load
2 s 2 0 0 95 0 10bbdc vhand load sys
SLOT is the entry number of the process.
ST shows whether the process is paused or sleeping (s), ready to run (r), or running on a CPU (o).
PID is the process ID.
PGRP is the process Group.
UID is the user ID.
PRI is the priority of the process from 127 (highest) to 0 (lowest).
EVENT is the event on which a process is paused or sleeping.
NAME is the name of the process.
FLAGS are the process flags.
A process that has died but still has an entry in the process table is called a zombie process.
(1998-04-24)

PROCOL
language A parallel object language with protocols, constraints and distributed delegation by J. Van Den Bos of Erasmus University, Rotterdam.
[ PROCOL: A Parallel Object Language with Protocols , J. Van Den Bos et al, SIGPLAN Notices 24(10):95-102 (OOPSLA '89), Oct 1989].
(1998-03-23)

Procomm
communications, product A communications program from Datastorm Technologies, used for connection to BBSes etc.
Procomm Plus for Windows incorporates automatic modem make and modem detection, a custom log-on script generator and sophisticated off-line message managers for CompuServe and MCI Mail. It also has a fax send and receive capability.
Current version 2.0 was chosen as the Editors Choice in PC Magazine March 14, 1995. List price is $179. It requires Microsoft Windows 3.1 or later.
(1995-04-04)

Procrustean string
programming A fixed-length string. If a string value is too long for the allocated space, it is truncated to fit; and if it is shorter, the empty space is padded, usually with space characters.
This is an allusion to Procrustes, a legendary robber of ancient Attica. He bound his victims to a bed, and if they were longer than the bed, he stretched their limbs until they would fit; if their limbs were longer, he lopped them off.
(1997-09-12)

Prodigy
networking A commercial on-line conferencing service, co-developed by IBM and Sears, Roebuck, Inc.
Prodigy's main competitors are AOL and Compuserve.
(1995-03-01)

ProDoc
A set of tools for software documentation from SPC.

product
See tuple.

production system
A production system consists of a collection of productions (rules), a working memory of facts and an algorithm known as forward chaining for producing new facts from old. A rule becomes eligible to fire when its conditions match some set of elements currently in working memory. A conflict resolution strategy determines which of several eligible rules (the conflict set) fires next. A condition is a list of symbols which represent constants, which must be matched exactly; variables which bind to the thing they match and symbol which matches a field not equal to symbol. Examples are OPS5, CLIPS, flex.

Professional Graphics Adapter
graphics, specification (PGA) A computer video display standard produced by IBM for early CAD applications. It had a resolution of 640x400 pixels.
(1997-04-25)

Professional Office System
messaging (PROFS) An office messaging system from IBM, used worldwide, mainly on IBM mainframes.
(1996-03-23)

professional programming
paranoid programming

PROFILE
Simple language for matching and scoring data. User's Manual for the PROFILE System , Cambridge Computer Assoc (May 1974).
[Jargon File]

profile
1. A control file for a program, especially a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customise the program's behaviour. Used to avoid hard-coded choices (see also dot file, rc file).
2. A report on the amounts of time spent in each routine of a program, used to find and tune away the hot spots in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar.

PROFS
Professional Office System

PROGENY
1961. Report generator for UNIVAX SS90.

proglet
/prog'let/ [UK] A short extempore program written to meet an immediate, transient need. Often written in BASIC, rarely more than a dozen lines long and containing no subroutines. The largest amount of code that can be written off the top of one's head, that does not need any editing, and that runs correctly the first time (this amount varies significantly according to one's skill and the language one is using). Compare toy program, noddy, one-liner wars.
[Jargon File]

program
software

Program Composition Notation
(PCN) A specification language for parallelism between C and Fortran modules. PCN provides a simple language for specifying concurrent algorithms, interfaces to Fortran and C, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers and integrated debugging and performance analysis tools. PCN was developed at Argonne National Laboratory and the California Institute of Technology. It has been used to develop a wide variety of applications, in areas such as climate modelling, fluid dynamics, computational biology, chemistry, and circuit simulation.
Version 2.0 runs on networks of workstations: Sun-4, NeXT, RS/6000, SGI; multicomputers: iPSC/860, Touchstone DELTA; and shared memory multiprocessors: Symmetry/Dynix.
(ftp://info.mcs.anl.gov/pub/pcn)
E-mail: Ian Foster pcn@mcs.anl.gov , Steve Tuecke tuecke@mcs.anl.gov .
[ Productive Parallel Programming: The PCN Approach , I. Foster et al, Sci Prog 1(1):51-66 (1992)].
(1993-02-12)

program counter
hardware (PC, or instruction address register ) A register in the central processing unit that contains the addresss of the next instruction to be executed. The PC is automatically incremented after each instruction is fetched to point to the following instruction. It is not normally manipulated like an ordinary register but instead, special instructions are provided to alter the flow of control by writing a new value to the PC, e.g. JUMP, CALL, RTS.
(1995-03-21)

Program Design Language
Any of a large class of formal and profoundly useless pseudo-languages in which management forces one to design programs. Too often, management expects PDL descriptions to be maintained in parallel with the code, imposing massive overhead of little or no benefit.
See also flow chart.
(1995-04-01)

Program Evaluation and Review Technique
programming (PERT) A method used to size a software product and calculate the Standard Deviation (SD) for risk assessment. The PERT equation (beta distribution) estimates the Equivalent Delivered Source Instructions (EDSIs) and the SD based on the analyst's estimates of the lowest possible size, the most likely size, and the highest possible size of each computer program component (CPC).
(1996-05-29)

Program Information File
file format Under Windows, a file providing information on how a non-Windows application program should be run, including how much memory should be allocated to it and what graphics interface it requires.
Filename extension: .pif
(1997-10-11)

Programmable Airline Reservation System
application (PARS) An IBM proprietary large scale airline reservation application, executing under the control of IBM's ACP (and later its successor, TPF).
In the early days of automated reservations systems in the 1960s and 1970s the combination of ACP and PARS provided unprecendented scale and performance from an on-line real-time system, and for a considerable period ranked among the largest networks and systems of the era.
IPARS was the international version.
(1999-01-18)

Programmable Array Logic
hardware (PAL) A family of fuse-programmable logic integrated circuits originally developed by MMI. Registered or combinatorial output functions are modelled in a sum of products form. Each output is a sum (logical or) of a fixed number of products (logical and) of the input signals. This structure is well suited for automatic generation of programming patterns by logic compilers.
PAL devices are programmed by blowing the fuses permanently using overvoltage.
Today, more complex devices based on the same original architecture are available (CPLD's for Complex PLD's) that incorporate the equivalent of several original PAL chips. PAL chips are, however, still popular due to their high speed.
Generic Array Logic devices are reprogrammable and contain more logic gates.
(1995-12-09)

Programmable Logic Controller
hardware (PLC) A device used to automate monitoring and control of industrial plant. Can be used stand-alone or in conjunction with a SCADA or other system.
(1997-02-11)

Programmable Read-Only Memory
storage (PROM) A kind of ROM which can be written using a PROM programmer. The contents of each bit is determined by a fuse or antifuse. The memory can be programmed once after manufacturing by blowing the fuses, which is an irreversible process. Blowing a fuse opens a connection while blowing an antifuse closes a connection (hence the name). Programming is done by applying high-voltage pulses which are not encountered during normal operation.
(1995-04-22)

Programmed Data Processor
computer (PDP) Early (1960's?) Digital Equipment Corporation family of minicomputers. The best known ranges were the PDP-10 and PDP-11. PAL was the assembly language.
(1997-11-21)

PROgrammed Graph REwriting Systems
language (PROGRES) A very high level language based on graph grammars, developed by Andy Scheurr andy@i3.informatik.rwth-aachen.de and Albert Zuendorf albert@i3.informatik.rwth-aachen.de of RWTH, Aachen in 1991.
PROGRES supports structurally object-oriented specification of attributed graph structures with multiple inheritance hierarchies and types of types (for parametric polymorphism). It also supports declarative/relational specification of derived attributes, node sets, binary relationships (directed edges) and Boolean constraints, rule-oriented/visual specification of parameterised graph rewrite rules with complex application conditions, nondeterministic and imperative programming of composite graph transformations (with built-in backtracking and cancelling arbitrary sequences of failing graph modifications).
It is used for implementing abstract data types with graph-like internal structure, as a visual language for the graph-oriented database GRAS, and as a rule-oriented language for prototyping nondeterministically specified data/rule base transformations.
PROGRES has a formally defined semantics based on PROgrammed Graph Rewriting Systems . It is an almost statically typed language which additionally offers down casting operators for run time checked type casting/conversion (in order to avoid severe restrictions concerning the language's expressiveness).
Version RWTH 5.10 includes an integrated environment.
[A. Scheurr, Introduction to PROGRES, an Attribute Graph Grammar Based Specification Language , in Proc WG89 Workshop on Graphtheoretic Concepts in Computer Science , LNCS 411, Springer 1991].
(ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/) for Sun-4.
(1993-11-02)

programmer
job (Or computer programmer , developer ) Someone who writes or debugs computer programs, for a living or for fun. Analyst/developer is a common equivalent job title, implying the added role of system analysis. The term may be qualified according to the type of software - application programmer , system programmer , etc.
(2000-01-24)

Programmer Brain Damage
humour (PBD) A classification of a bug which was obviously introduced by an incompetent or short-sighted programmer.
Compare UBD. See also brain-damaged.
(1996-10-13)

Programmer's Cheer
humour
Shift to the left!
Shift to the right!
Pop up, push down!
Byte! Byte! Byte!
[Origin?]
[Jargon File]
(1996-10-13)

Programmers Hierarchical Interactive Graphics System
(PHIGS) An ANSI/ISO standard. Worked on by the ISO/IEC group JTC1/SC24.
[More detail?]
(1995-01-04)

PROgrammer's Microapplication Language
language (PROMAL) An interpreted C-like language from Systems Management Associates for MS-DOS, Commodore 64, and Apple II.
[Computer Language, Mar 1986, pp. 128-134].
(1996-03-21)

Programmer's Switch
hardware A button on the front of some Apple Macintosh computers which, when pressed, causes a command line prompt to appear. This gives access to the built-in mini-debugger, which has commands to dump memory, return to the application that was broken out, and others. A more sophisticated debugger must be installed in order to inspect breakpoints, etc.
(2000-11-01)

programming
1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file).
2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.
3. The most fun you can have with your clothes on (although clothes are not mandatory).
[Jargon File]

programming fluid
jargon (Or wirewater ) Coffee, unleaded coffee (decaffeinated), Cola, or any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs.
(1996-05-01)

programming language
language A formal language in which computer programs are written. The definition of a particular language consists of both syntax (how the various symbols of the language may be combined) and semantics (the meaning of the language constructs).
Languages are classified as low level if they are close to machine code and high level if each language statement corresponds to many machine code instructions (though this could also apply to a low level language with extensive use of macros, in which case it would be debatable whether it still counted as low level). A roughly parallel classification is the description as first generation language through to fifth generation language.
Another major distinction is between imperative languages and declarative languages.
(1995-04-06)

Programming Language/Cornell
language (PL/C) A large subset of PL/I from Cornell University, aimed at novice programmers.
[ Introduction to PL/1 and PL/C programming , Kochenburger, Ralph J., Santa Barbara, Hamilton, c1974].
[ User's Guide to PL/C , S. Worona et al, Cornell, June 1974].
[ PL/C - A High Performance Compiler H.L. Morgan et al, Proc SJCC, AFIPS 38:503-510 (1971)].
(1999-05-26)

Programming Language/Systems
language (PL/S) An IBM machine-oriented language derived from PL/I in the late 1960s for the IBM 360 and IBM 370. PL/S permitted inline assembly language and control over register usage.
Much of IBM 360 OS/MFT(?), OS/MVT(?), OS/VS1 and OS/VS2 (OS/SVS and MVS) were written in PL/S. It was used internally and never released to the public. It is documented in various IBM internal ZZ-? publications.
Versions: PLS1, PLSII.
[ PL/S, Programming Language/Systems , W.R. Brittenham, Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540-556].
[Were MFT and MVT in PL/S or pure BAL? Dates?]
(1999-01-24)

Program Temporary Fix
programming (PTF) (Colloquially: Probably This Fixes) An IBM sanctioned patch, often implemented using ZAP or SUPERZAP.
(1998-07-08)

program transformation
The systematic development of efficient programs from high-level specifications by meaning-preserving program manipulations. Also known as optimisation. See fusion, loop combination, peephole optimisation, register allocation, tupling, unfold/fold.

Prograph
language
A visual dataflow programming language and environment from the Technical University of Halifax.
Prograph is an entirely graphical visual programming language, other than for the text of method names, and supports the program development process in a highly-interactive fashion. Operation icons are connected by data links through which information flows. It supports object orientation via class-based data abstraction with single inheritance.
Prograph is available for the Macintosh, and soon for Windows and Unix, from TGS Systems.
(1995-03-31)

PROGRES
language PROgrammed Graph REwriting Systems.

progressive coding
graphics, file format, algorithm (Or interlacing ) An aspect of a graphics storage format or transmission algorithm that treats bitmap image data non-sequentially in such a way that later data adds progressively greater resolution to an already full-size image. This contrasts with sequential coding.
Progressive coding is useful when an image is being sent across a slow communications channel, such as the Internet, as the low-resolution image may be sufficient to allow the user to decide not to wait for the rest of the file to be received.
In an interlaced GIF89 image, the pixels in a row are stored sequentially but the rows are stored in interlaced order, e.g. 0, 8, 4, 12, 2, 6, 8, 10, 14, 1, 3, 5, 7, 9, 11, 13, 15. Each vertical scan adds rows in the middle of the gaps left by the previous one.
PNG interlaces both horizontally and vertically using the Adam7 method, a seven pass process named after Adam M. Costello.
Interlacing is also supported by other formats. JPEG supports a functionally similar concept known as Progressive JPEG. [How does the algorithm differ?]
JBIG uses progressive coding.
See also progressive/sequential coding.
[ Progressive Bi-level Image Compression, Revision 4.1 , ISO/IEC JTC1/SC2/WG9, CD 11544, 1991-09-16].
(2000-09-12)

Progressive JPEG
graphics, file format (PJPEG) An implementation of JPEG that supports progressive coding.
[Standards documents?]
(1998-02-10)

progressive/sequential coding
compression, algorithm The kind of image compression algorithm used in JBIG where an image coded using progressive coding can be decoded sequentially, and vice versa.
(1995-03-01)

PROJECT
Subsystem of ICES. Sammet 1969, p.616.

project assurance
The process of specifying the support system: techniques, internal standards, measurements, tools, and training for a project; counselling the project team in the application of these elements and monitoring the adherence to the standards.

Project Athena
project A distributed system project for support of educational and research computing at MIT. Much of the software developed is now in wider use, especially the X Window System.
(2000-02-24)

Project Guardian
project, security A project which grew out of the ARPA support for Multics and the sale of Multics systems to the US Air Force. The USAF wanted a system that could be used to handle more than one security classification of data at a time. They contracted with Honeywell and MITRE Corporation to figure out how to do this. Project Guardian led to the creation of the Access Isolation Mechanism, the forerunner of the B2 labeling and star property support in Multics. The DoD Orange Book was influenced by the experience in building secure systems gained in Project Guardian.
(1997-01-29)

projection
theory In domain theory, a function, f, which is (a) idempotent, i.e. f(f(x))=f(x) and (b) whose result is no more defined than its argument. E.g. F(x)=bottom or F(x)=x.
In reduction systems, a function which returns some component of its argument. E.g. head, tail, (x,y) . x. In a graph reduction system the function can just return a pointer to part of its argument and does not need to build any new graph.
(1997-01-29)

projective plane
mathematics The space of equivalence classes of vectors under non-zero scalar multiplication. Elements are sets of the form
kv: k != 0, k scalar, v != O, v a vector
where O is the origin. v is a representative member of this equivalence class.
The projective plane of a vector space is the collection of its 1-dimensional subspaces. The properties of the vector space induce a topology and notions of smoothness on the projective plane.
A projective plane is in no meaningful sense a plane and would therefore be (but isn't) better described as a projective space .
(1996-09-28)

Project MAC
project A project suggested by J C R Licklider; its founding director was MIT Prof. Robert M Fano. MAC stood for Multiple Access Computers on the 5th floor of Tech Square, and Man and Computer on the 9th floor. The major efforts were Corbato's Multics development and Marvin Minsky's Artificial Intelligence Laboratory. In 1963 Project MAC hosted a summer study, which brought many well-known computer scientists to Cambridge to use CTSS and to discuss the future of computing.
Funding for Project MAC was provided by the Information Processing Techniques Office of the Advanced Research Projects Agency (ARPA) of the US Department of Defense.
See also Early PL/I, MacLisp, MACSYMA, MDL, Multipop-68, OCAL.
(1997-01-29)

project management
project, job The process of planning, organising, staffing, directing and controlling the production of a system. Software tools are available to help with this, e.g. PERT chart editors.
(1998-12-12)

project planning
project management

Prolog
programming Programming in Logic or (French) Programmation en Logique. The first of the huge family of logic programming languages.
Prolog was invented by Alain Colmerauer and Phillipe Roussel at the University of Aix-Marseille in 1971. It was first implemented 1972 in ALGOL-W. It was designed originally for natural-language processing but has become one of the most widely used languages for artificial intelligence.
It is based on LUSH (or SLD) resolution theorem proving and unification. The first versions had no user-defined functions and no control structure other than the built-in depth-first search with backtracking. Early collaboration between Marseille and Robert Kowalski at University of Edinburgh continued until about 1975.
Early implementations included C-Prolog, ESLPDPRO, Frolic, LM-Prolog, Open Prolog, SB-Prolog, UPMAIL Tricia Prolog. In 1998, the most common Prologs in use are Quintus Prolog, SICSTUS Prolog, LPA Prolog, SWI Prolog, AMZI Prolog, SNI Prolog.
ISO draft standard at Darmstadt, Germany (ftp://ftp.th-darmstadt.de/pub/programming/languages/prolog/standard/) or UGA, USA (ftp://ai.uga.edu/ai.prolog.standard).
See also negation by failure, Kamin's interpreters, Paradigms of AI Programming, Aditi.
A Prolog interpreter in Scheme. (ftp://cpsc.ucalgary.ca/pub/prolog1.1).
A Prolog package (ftp://cpsc.ucalgary.ca/pub/prolog1.1/prolog11.tar.Z) from the University of Calgary features delayed goals and interval arithmetic. It requires Scheme with continuations.
[ Programming in Prolog , W.F. Clocksin C.S. Mellish, Springer, 1985].
(2001-04-01)

Prolog++
(After C++) Prolog with object-oriented features added by Phil Vasey of Logic Programming Associates. Prolog++ is available for MS-DOS and the X Window System. It is distributed by AI International Ltd. in England and by Quintus.

Prolog-2
An implementation of Edinburgh Prolog by Nick Henfrey, ESL.
[ An Advanced Logic Programming Language , Anthony Dodd].

Prolog-D-Linda
Embeds the Linda parallel paradigm into SISCtus Prolog.
(ftp://ftp.cs.uwa.au/). E-mail: geoff@cs.uwa.edu.au .

Prolog-II
Prolog with two new predicates: dif for coroutines and freeze for delayed evaluation.
Available from ExperIntelligence, Santa Barbara CA.
[ Prolog II Reference Manual and Theoretical Model , A. Colmerauer, Internal Report, GroupeIA, U Aix-Marseille (Oct 1982)].

Prolog-III
A. Colmerauer, U Aix-Marseille, ca 1984. Marseille Prolog, with unification replaced by constraint resolution. [deferred goals too?] (Not to be confused with Prolog 3, a commercial product?)
Version 1.2 for MS-DOS.
[ Opening the Prolog-III Universe , BYTE 12(9):177-182 (Aug 1987)].
[ An Introduction to Prolog III , A. Colmerauer, CACM 33(7):69-90 (1990)].

Prolog-Linda
1. Prolog extended with Linda-style parallelism. Proc 4th Australian Conf on Artif Intell.
(ftp://bison.cs.uwa.oz.au/)
2. Neil MacDonald, U Edinburgh 1989. Another Prolog extended with Linda, implemented on a Computing Surface.

Prolog/Mali
language (PM) Lambda-Prolog for the MALI-V06 abstract memory system, developed by Pascal Brisset at IRISA, France. There is a compiler which compiles to C, a linker, libraries, run-time system, and documentation. It runs under Unix.
(ftp://ftp.irisa.fr/pm/).
Mailing list: prolog-mali-request@irisa.fr. E-mail: pm@irisa.fr .
(1992-07-06)

PROM
Programmable Read-Only Memory

PROMAL
PROgrammer's Microapplication Language

Prometheus
language A programmaing language geared for logic, mathematics, AI, and string, list and database processing. Prometheus runs on a variety of platforms from Macintosh to MS-DOS
Home (http://www.aard.tracor.com/Jason/Prometheus/)
(1996-03-04)

promiscuous mode
networking Where a node on a network accepts all packets, regardless of their destination address.
(1996-03-04)

PROM monitor
operating system a small program stored in PROM (or ROM), responsible for both loading the OS and providing some means to analyse OS crashes. It may also have some sort of user interface which can be used to examine and change the contents of memory, control the boot process (specifying arguments to the kernel, or changing where to look for the it), and so forth.
The main difference between a PROM monitor and a bootstrap loader is that the PROM monitor regains control when the OS terminates. This may enable a wizard to find out what went wrong if the OS crashed, although it is usually of little help for the average sysadmin.
(1996-12-03)

pron
jargon (Or pr0n ) B1FF-speak for pornography. Often seen on IRC in such desperate cries for help as I WNAT PRON!!!!!
(1997-09-14)

Pronet
language
[ The Design of a Programming Language Based on Connectivity Networks , R. LeBlanc et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp. 532-541].
(1997-09-14)

Pronunciation
In this dictionary slashes (/../) bracket phonetic pronunciations of words not found in a standard English dictionary. The notation, and many of the pronunciations, was adapted from the Hacker's Jargon File.
Syllables are separated by dash or followed single quote or back quote. Single quote means the preceding syllable is stressed (louder), back quote follows a syllable with intermediate stress (slightly louder), otherwise all syllables are equally stressed.
Consonants are pronounced as in English but note:
chsoft, as in church ghard, as in got ghaspirated g+h of bughouse or ragheap jvoiced, as in judge khguttural of loch or l'chaim sunvoiced, as in pass zhas s in pleasure
Uppercase letters are pronounced as their English letter names; thus (for example) /H-L-L/ is equivalent to /aych el el/. /Z/ is pronounced /zee/ in the US and /zed/ in the UK (elsewhere?).
Vowels are represented as follows:
aback, that ahfather, palm (see note) arfar, mark awflaw, caught aybake, rain eless, men eeeasy, ski eirtheir, software itrip, hit i:life, sky oblock, stock (see note) ohflow, sew ooloot, through ormore, door owout, how oyboy, coin uhbut, some uput, foot *r fur, insert (only in stressed syllables; otherwise use just r ) yyet, young yoofew, chew [y]oo/oo/ with optional fronting as in `news' (/nooz/ or /nyooz/)
A /*/ is used for the `schwa' sound of unstressed or occluded vowels (often written with an upside-down `e'). The schwa vowel is omitted in unstressed syllables containing vocalic l, m, n or r; that is, kitten and colour would be rendered /kit'n/ and /kuhl'r/, not /kit'*n/ and /kuhl'*r/.
The above table reflects mainly distinctions found in standard American English (that is, the neutral dialect spoken by TV network announcers and typical of educated speech in the Upper Midwest, Chicago, Minneapolis/St.Paul and Philadelphia). However, we separate /o/ from /ah/, which tend to merge in standard American. This may help readers accustomed to accents resembling British Received Pronunciation.
Entries with a pronunciation of `//' are written-only.
(1997-12-10)

proof
1. logic A finite sequence of well-formed formulas, F1, F2, ... Fn, where each Fi either is an axiom, or follows by some rule of inference from some of the previous F's, and Fn is the statement being proved.
See also proof theory.
2. A left-associative natural language parser by Craig R. Latta latta@xcf.berkeley.edu . Ported to Decstation 3100, Sun-4.
(ftp://scam.berkeley.edu/pub/src/local/proof/)
E-mail: proof@xcf.berkeley.edu . Mailing list: proof-requestf@xcf.berkeley.edu (Subject: add me).
(1994-11-29)

PROOF/L
A functional, object-oriented language with implicit parallelism.
[J Parallel Dist Comp 12:202-212 (1991)].
[Forthcoming Technical Report from RADC].
(1994-10-31)

proof theory
logic The branch of logic describing procedures for combining logical statements to show, by a series of truth-preserving transformations, that one statement is a consequence of some other statement or group of statements.
(1994-10-31)

propeller head
jargon Used by hackers, this is synonym with computer geek. Non-hackers sometimes use it to describe all techies. Probably derives from SF fandom's tradition (originally invented by old-time fan Ray Faraday Nelson) of propeller beanies as fannish insignia (though nobody actually wears them except as a joke).
[Jargon File]
(1995-01-18)

propeller key
feature key

Proposal Writing
Extension of Fortran for proposal writing.
[Sammet 1969, p. 170].
(1995-01-18)

propositional calculus
propositional logic

propositional logic
logic (or propositional calculus ) A system of symbolic logic using symbols to stand for whole propositions and logical connectives. Propositional logic only considers whether a proposition is true or false. In contrast to predicate logic, it does not consider the internal structure of propositions.
(2002-05-21)

proprietary
1. In marketroid-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company's own hardware or software designers.
2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor who can inflate service and upgrade charges after the initial sale has locked the customer in.
[Jargon File]

PROSE
1. PROblem Solution Engineering. Numerical problems including differentiation and integration. Computing in Calculus , J. Thames, Research/Development 26(5) (May 1975).
2. A constraints-and-sequencing system similar to Kaleidoscope. Reflexive Constraints for Dynamic Knowledge Bases , P. Berlandier et al in Proc First Intl CS Conf '88: AI: Theory and Appls, Dec 1988.

ProSet
A derivative of SETL with Ada-like syntax developed at the University of Essen in 1990. Formerly known as SETL/E.
[ SETL/E, A Prototyping System Based on Sets , E.E. Doberkat et al, in Tagungsband TOOL90, W. Zorn ed, pp. 109-118, U Karlsruhe, Nov 1990].
[ ProSet - A Language for Prototyping with Sets , E.-E. Doberkat et al, in Proc Third Intl Workshop on Rapid System Prototyping, N. Kanopoulos ed, IEEE Comp Soc Press, June 1992, pp. 235-248].

PROSPER
[ PROSPER: A Language for Specification by Prototyping , J. Leszczylowski, Comp Langs 14(3):165-180 (1989)].

Prospero
A tool for organising Internet resources. Prospero allows each user to organise the contents of remote file servers into his own virtual file system with his own hierarchical name space consisting of links to remote objects. Remote indexing services are made available by treating the results as a virtual directory. A union link allows the contents of the link's target directory to appear as part of the directory containing the link. Arbitrary filters can be associated with links to modify the representation of the target directory as desired. Prospero directories can be shared between users. The Prospero protocol is used for communication between clients and servers in the archie system.
A prototype of Prospero has been available since December 1990. It interfaces with Sun NFS, the Andrew File System and FTP (with local caching) and Archie. Support for World-Wide Web and WAIS is planned (1992).
E-mail: info-prospero@isi.edu . (ftp://prospero.isi.edu/pub/prospero).

ProTalk
Quintus. An object-oriented Prolog.

protected mode
An operating mode of Intel 80x86 processors. The opposite of real mode. The Intel 8088, Intel 8086, Intel 80188 and Intel 80186 had only real mode, processors beginning with the Intel 80286 feature a second mode called protected mode.
In real mode, addresses are generated by adding an address offset to the value of a segment register shifted left four bits. As the segment register and address offset are 16 bits long this results in a 20-bit address. This is the origin of the one megabyte (2^20) limit in real mode.
There are 4 segment registers on processors before the Intel 80386. The 80386 introduced two more segment registers. Which segment register is used depends on the instruction, on the addressing mode and of an optional instruction prefix which selects the segment register explicitly.
In protected mode, the segment registers contain an index into a table of segment descriptors. Each segment descriptor contains the start address of the segment, to which the offset is added to generate the address. In addition, the segment descriptor contains memory protection information. This includes an offset limit and bits for write and read permission. This allows the processor to prevent memory accesses to certain data. The operating system can use this to protect different processes' memory from each other, hence the name protected mode .
While the standard register set belongs to the CPU, the segment registers lie at the boundary between the CPU and MMU. Each time a new value is loaded into a segment register while in protected mode, the corresponding descriptor is loaded into a descriptor cache in the (Segment-)MMU. On processors before the Pentium this takes longer than just loading the segment register in real mode. Addresses generated by the CPU (which are segment offsets) are passed to the MMU to be checked against the limit in the segment descriptor and are there added to the segment base address in the descriptor to form a linear address.
On a 80386 or later, the linear address is further processed by the paged MMU before the result (the physical address) appears on the chip's address pins. The 80286 doesn't have a paged MMU so the linear address is output directly as the physical address.
The paged MMU allows for arbitrary remapping of four klilobyte memory blocks (pages) through a translation table stored in memory. A few entries of this table are cached in the MMU's Translation Lookaside Buffer to avoid excessive memory accesses.
After processor reset, all processors start in real mode. Protected mode has to be enabled by software. On the 80286 there exists no documented way back to real mode apart from resetting the processor. Later processors allow switching back to real mode by software.
Software which has been written or compiled to run in protected mode must only use segment register values given to it by the operating system. Unfortunately, most application code for MS-DOS, written before the 286, will fail in protected mode because it assumes real mode addressing and writes arbitrary values to segment registers, e.g. in order to perform address calculations.
Such use of segment registers is only really necessary with data structures that are larger than 64 kilobytes and thus don't fit into a single segment. This is usually dealt with by the huge memory model in compilers. In this model, compilers generate address arithmetic involving segment registers. A solution which is portable to protected mode with almost the same efficiency would involve using a table of segments instead of calculating new segment register values ad hoc.
To ease the transition to protected mode, Intel 80386 and later processors provide virtual 86 mode .
(1995-03-29)

PROTEUS
An extensible language, the core of PARSEC.
[ The Design of a Minimal Expandable Computer Language , J.R. Bell, PhD Thesis, CS, Stanford University (Dec 1968)].

protocal
spelling It's spelled protocol .

protocol
A set of formal rules describing how to transmit data, especially across a network. Low level protocols define the electrical and physical standards to be observed, bit- and byte-ordering and the transmission and error detection and correction of the bit stream. High level protocols deal with the data formatting, including the syntax of messages, the terminal to computer dialogue, character sets, sequencing of messages etc.
Many protocols are defined by RFCs or by OSI.
See also handshaking.
[Jargon File]
(1995-01-12)

protocol analyser
communications, hardware, networking, testing, tool Any device that captures and interprets the network traffic between two or more connected computer systems. The traffic can then be decoded so that it is possible to see what processes are occurring.
By examining the flow of traffic, protocol analysers can be used to find out where problems (such as bottlenecks or the failure of a network device) are on a LAN.
Advanced protocol analysers can also provide statistics on the traffic that can help to identify trends that may in future lead to further problems with the network.
(2000-07-24)

protocol converter
networking A device or program to translate between different protocols which serve similar functions (e.g. TCP and TP4).
Some call this a gateway , though others use that term for other kinds of internetworking device.
(1996-03-07)

Protocol Data Unit
(PDU) A packet of data passed across a network. The term implies a specific layer of the OSI seven layer model and a specific protocol.
(1994-10-13)

protocol layer
networking The software and/or hardware environment of two or more communications devices or computers in which a particular network protocol operates. A network connection may be thought of as a set of more or less independent protocols, each in a different layer or level. The lowest layer governs direct host-to-host communication between the hardware at different hosts; the highest consists of user application programs. Each layer uses the layer beneath it and provides a service for the layer above. Each networking component hardware or software on one host uses protocols appropriate to its layer to communicate with the corresponding component (its peer ) on another host. Such layered protocols are sometimes known as peer-to-peer protocols.
The advantages of layered protocols is that the methods of passing information from one layer to another are specified clearly as part of the protocol suite, and changes within a protocol layer are prevented from affecting the other layers. This greatly simplifies the task of designing and maintaining communication systems.
Examples of layered protocols are TCP/IP's five layer protocol stack and the OSI seven layer model.
(1997-05-05)

protocol stack
protocol A layered set of protocols which work together to provide a set of network functions. Each intermediate protocol layer uses the layer below it to provide a service to the layer above.
The OSI seven layer model is an attempt to provide a standard framework within which to describe protocol stacks.
(1997-12-07)

PROTON
1. A home computer made by Acorn Computers under a contract won from the BBC in April 1981.
[Details?]
2. Something to do with Microsoft SoftLib?
(1994-11-28)

Protosynthex
A query system for English text.
[Sammet 1969, p. 669].

Prototyper
An interface builder for the Macintosh from Smethers Barnes.
(1994-11-28)

prototyping
The creation of a model and the simulation of all aspects of a product. CASE tools support different degrees of prototyping. Some offer the end-user the ability to review all aspects of the user interface and the structure of documentation and reports before code is generated.

provably difficult
The set or property of problems for which it can be proven that no polynomial-time algorithm exists, only exponential-time algorithms.

provably unsolvable
The set or property of problems for which no algorithm at all exists. E.g. the Halting Problem. See also provably difficult.

provider
Internet Access Provider

provocative maintenance
[Common ironic mutation of preventive maintenance ] Actions performed upon a machine at regularly scheduled intervals to ensure that the system remains in a usable state. So called because it is all too often performed by a field servoid who doesn't know what he is doing; such maintenance often *induces* problems, or otherwise results in the machine's remaining in an *un*usable state for an indeterminate amount of time. See also scratch monkey.
[Jargon File]

prowler
(Unix) A daemon that is run periodically (typically once a week) to seek out and erase core files, truncate administrative logfiles, nuke lost+found directories, and otherwise clean up the cruft that tends to pile up in the corners of a file system.
See also GFR, reaper, skulker.
(1995-02-14)

proxy ARP
The technique in which one host, usually a router, answers Address Resolution Protocol (ARP) requests intended for another machine. By faking its identity, the router accepts responsibility for routing packets to the real destination. Proxy ARP allows a site to use a single IP address with two physical networks. Subnetting would normally be a better solution.

proxy gateway
networking A computer and associated software which will pass on a request for a URL from a World-Wide Web browser such as Mosaic to an outside server and return the results. This provides clients that are sealed off from the Internet a trusted agent that can access the Internet on their behalf. Once the client is properly configured, its user should not be aware of the proxy gateway.
A proxy gateway often runs on a firewall machine. Its main purpose is to act as a barrier to the threat of crackers. It may also be used to hide the IP addresses of the computers inside the firewall from the Internet if they do not use official registered network numbers.
Browsers such as Mosaic and Netscape can be configured to use a different proxy or no proxy for each URL access method (or scheme ) - FTP, Gopher, WAIS, news, and HTTP.
Mosaic and proxy gateways (http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/proxy-gateways.html).
Compare proxy server.
(1997-06-08)

Proxy Server
software, security Microsoft's proxy server and proxy gateway, designed to provide extensible firewall and network security. Proxy Server is part of BackOffice.
(1999-09-17)

proxy server
programming, World-Wide Web A process providing a cache of items available on other servers which are presumably slower or more expensive to access.
This term is used particularly for a World-Wide Web server which accepts URLs with a special prefix. When it receives a request for such a URL, it strips off the prefix and looks for the resulting URL in its local cache. If found, it returns the document immediately, otherwise it fetches it from the remote server, saves a copy in the cache and returns it to the requester. The cache will usually have an expiry algorithm which flushes documents according to their age, size, and access history.
Compare proxy gateway.
(1995-02-14)

PS
PostScript

PS/2
IBM's second generation of personal computers. The PS/2 series introduced three advances over the PC series: 3.5 1.44 megabyte microfloppy disks, VGA and 8514 graphics display standards, and the Micro Channel bus architecture. The 3.5 disks and VGA can be easily installed on other PCs and will become the standard for new compatible computers. The Micro Channel bus allows for multiprocessing and less aggravation, but cannot be retrofitted to older PCs.
PS/2 models 25 and 30 are ISA, other models have Micro Channel and ESDI.
(1995-11-27)

PS 440
The system implementation language for the Telefunken TR 440 computer. K. Lagally, ca 1974.

PSA
Problem Statement Analizer. See PSL/PSA.

PS-ALGOL
Persistent ALGOL. ca 1981, released 1985. A derivative of S-ALGOL. Database capability derived from the longevity of data. The PS- Algol Reference Manual , TR PPR-12-85, CS Dept, U Glasgow 1985. IBM PC version available from CS Dept, U Strathclyde, Glasgow.

pSather
language A parallel extension of Sather for a clustered shared memory model. It features threads synchronised by monitor objects ( gates ); locality assertions and placement operators.
There is an implementation for the CM-5.
[ pSather Monitors: Design, Tutorial, Rationale and Implementation , J.A. Feldman et al, TR-91-031 and TR-93-028, ICSI, Berkeley, CA].
(1995-03-13)

PSD
tool Portable Scheme Debugger.

PSDN
communications Public Switched Data Network.

pseudo
jargon /soo'doh/ (Usenet) Pseudonym.
1. An electronic-mail or Usenet persona adopted by a human for amusement value or as a means of avoiding negative repercussions of one's net.behaviour; a nom de Usenet , often associated with forged postings designed to conceal message origins. Perhaps the best-known and funniest hoax of this type is BIFF.
2. Notionally, a flamage-generating AI program simulating a Usenet user. Many flamers have been accused of actually being such entities, despite the fact that no AI program of the required sophistication yet exists. However, in 1989 there was a famous series of forged postings that used a phrase-frequency-based travesty generator to simulate the styles of several well-known flamers; it was based on large samples of their back postings (compare Dissociated Press). A significant number of people were fooled by the forgeries, and the debate over their authenticity was settled only when the perpetrator came forward to publicly admit the hoax.
[Jargon File]
(1995-03-13)

Pseudocode
A notation resembling a programming language but not intended for actual compilation. It usually combines some of the structure of a programming language with an informal natural-language description of the computations to be carried out. It is often produced by CASE systems as a basis for later hand coding.

pseudoprime
A backgammon prime (six consecutive occupied points) with one point missing. This term is an esoteric pun derived from a mathematical method that, rather than determining precisely whether a number is prime (has no divisors), uses a statistical technique to decide whether the number is probably prime. A number that passes this test is called a pseudoprime. The hacker backgammon usage stems from the idea that a pseudoprime is almost as good as a prime: it does the job of a prime until proven otherwise, and that probably won't happen.
[Jargon File]

pseudo-random number
programming One of a sequence of numbers generated by some algorithm so as to have an even distribution over some range of values and minimal correlation between successive values.
Home (http://random.mat.sbg.ac.at/home.html)
(1995-04-21)

PseudoScheme
A translator from Scheme to Common Lisp by Jonathan Rees jar@cs.cornell.edu . Version 2.8. It conforms to all of R3RS except call/cc and requires Common Lisp. Runs on Lucid, Symbolics CL, VAX Lisp, Explorer CL.
Mailing list: info-clscheme-request@mc.lcs.mit.edu.
(1994-10-28)

pseudosuit
/soo'doh-s[y]oot / A suit wannabee; a hacker who has decided that he wants to be in management or administration and begins wearing ties, sport coats, and (shudder!) suits voluntarily. It's his funeral. See also lobotomy.
[Jargon File]

pseudo-tty
Berkeley Unix networking device which appears to an application program as an ordinary terminal but which is in fact connected via the network to a process running on a different host or a windowing system. Pseudo-ttys have a slave half and a control half. The slave tty (/dev/ttyp*) is the device that user programs use and the control tty (/dev/ptyp*) is used by daemons to talk to the net.
(1994-11-08)

PSF
Print Services Facility

PSI
Portable Scheme Interpreter

Psion Organiser
computer A popular pocket computer from the UK Company Psion plc. The organiser uses a graphical user interface with windows, menus, icons and dialog boxes. There have been several versions so far: Series3a, Series3, HC, MC, OrgII.
Usenet newsgroups: news:comp.sys.psion, news:comp.binaries.psion.
(1995-03-03)

PSK
communications Phase Shift Keying.

PSL
1. Portable Standard Lisp.
2. Problem Statement Language. See PSL/PSA.

PSL/PSA
Problem Statement Language/Problem Statement Analyser. A CASE system developed by D. Teichroew. It allows computer-based development and analysis of a statement of requirements, and assistance during the design phase.

PSML
Processor System Modeling Language. Simulating computer systems design. A preprocessor to SIMSCRIPT. Processor System Modeling - A Language and Simulation System , F. Pfisterer, Proc Symp on Simulation of Computer Systems (Aug 1976).

PSN
Packet Switch Node

PSTN
Public Switched Telephone Network

psychedelicware
/si: k*-del -ik-weir/ [UK] Synonym display hack. See also smoking clover.
[Jargon File]

psyton
humour /si:'ton/ (From TMRC) The elementary particle carrying the sinister force. The probability of a process losing is proportional to the number of psytons falling on it. Psytons are generated by observers, which is why demos are more likely to fail when lots of people are watching. This term appears to have been largely superseded by bogon; see also quantum bogodynamics.
(1997-04-26)

pt
1. text, unit point.
2. networking The country code for Portugal.
(1999-01-27)

P-TAC
Parallel Three Address Code.
Kid is a refinement of P-TAC, used as an intermediate language for Id.
[ P-TAC: A Parallel Intermediate Language , Z. Ariola et al, Fourth Intl Conf Func Prog Langs and Comp Arch, ACM Sept 1989].

ptc
A Pascal to C translator.
(ftp://uxc.sco.uiuc.edu/languages/ptc)

PTF
Program Temporary Fix

Pthreads
A library of pre-emptive thread routines (for Ada?), designed and implemented in the PART (POSIX / Ada-Runtime Project). Pthreads is compliant with POSIX 1003.4a Draft 6.
Version 1.17 has been ported to Sun-4/SunOS 4.1.x.
(ftp://ftp.cs.fsu.edu/pub/PART/). Mailing list: mueller@uzu.cs.fsu.edu ( Subject: subscribe-pthreads ). E-mail: pthreads-bugs@ada.cs.fsu.edu .
(1993-07-22)

PTI
Portable Tool Interface

PTN
Physical Transmission Network

Ptolemy
A flexible foundation for the specification, simulation, and rapid prototyping of systems. It is an object-oriented framework within which diverse models of computation can co-exist and interact. For example, using Ptolemy a data-flow system can be easily connected to a hardware simulator which in turn may be connected to a discrete-event system. Because of this, Ptolemy can be used to model entire systems. In addition, Ptolemy now has code generation capabilities. From a flow graph description, Ptolemy can generate both C code and DSP assembly code for rapid prototyping. Note that code generation is not yet complete, and is included in the current release for demonstration purposes only.
Version 0.4.1 includes a graphical algorithm layout, code generator and simulator. It requires C++, C and has been ported to Sun-4, MIPS/Ultrix; DSP56001, DSP96002. Ptolemy is an active research project.
(ftp://ptolemy.bekeley.edu/pub/ptolemy/). Mailing list: ptolemy-hackers-request@ohm.berkeley.edu. E-mail: ptolemy@ohm.berkeley.edu .
(1993-04-22)

PTT
Post, Telephone and Telegraph administration

PUB
1. PUBlishing. A 1972 text-formatting language for TOPS-10, with syntax based on SAIL. Influenced TeX and Scribe. [ PUB: The Document Compiler , Larry Tesler, Stanford AI Proj Op Note, Sept 1972].
2. /pub, the top-level, publicly accessible directory on most anonymous FTP archives. This is usually where the interesting files are. See pubic directory.

pubic directory
[NYU] (also pube directory /pyoob' d*-rek't*-ree/) The pub (public) directory on a machine that allows FTP access. So called because it is the default location for SEX (software exchange).
[Jargon File]

public domain
(PD) The total absence of copyright protection. If something is in the public domain then anyone can copy it or use it in any way they wish. The author has none of the exclusive rights which apply to a copyright work.
The phrase public domain is often used incorrectly to refer to freeware or shareware (software which is copyrighted but is distributed without (advance) payment). Public domain means no copyright -- no exclusive rights. In fact the phrase public domain has no legal status at all in the UK.
See also archive site, careware, charityware, copyleft, crippleware, guiltware, postcardware and -ware. Compare payware.

public domain software
public domain

public-key cryptography
public-key encryption

Public-Key Cryptography Standards
cryptography, standard (PKCS) A set of standards for public-key cryptography, developed by RSA Data Security, Inc. in cooperation with an informal consortium, originally including Apple, Microsoft, DEC, Lotus, Sun and MIT. The PKCS have been cited by the OSI Implementers' Workshop (OIW) as a method for implementation of OSI standards.
PKCS includes both algorithm-specific and algorithm-independent implementation standards. Many algorithms are supported, including RSA and Diffie-Hellman key exchange, however, only the latter two are specifically detailed. PKCS also defines an algorithm-independent syntax for digital signatures, digital envelopes, and extended digital certificates; this enables someone implementing any cryptographic algorithm whatsoever to conform to a standard syntax, and thus achieve interoperability.
E-mail: pkcs@rsa.com.
(1999-02-16)

public-key encryption
cryptography (PKE, Or public-key cryptography ) An encryption scheme, introduced by Diffie and Hellman in 1976, where each person gets a pair of keys, called the public key and the private key. Each person's public key is published while the private key is kept secret. Messages are encrypted using the intended recipient's public key and can only be decrypted using his private key. This is often used in conjunction with a digital signature.
The need for sender and receiver to share secret information (keys) via some secure channel is eliminated: all communications involve only public keys, and no private key is ever transmitted or shared.
Public-key encryption can be used for authentication, confidentiality, integrity and non-repudiation.
RSA encryption is an example of a public-key cryptosystem.
alt.security FAQ (http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/alt/security/top.html).
See also knapsack problem.
(1995-03-27)

Public Key Infrastructure
cryptography, communications (PKI) A system of public key encryption using digital certificates from Certificate Authorities and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction.
PKIs are currently evolving and there is no single PKI nor even a single agreed-upon standard for setting up a PKI. However, nearly everyone agrees that reliable PKIs are necessary before electronic commerce can become widespread.
US DOD PKI (http://www-pki.itsi.disa.mil/).
US NIST PKI (http://csrc.ncsl.nist.gov/pki/).
IETF PKIX Working Group (http://www.imc.org/ietf-pkix/).
(1999-11-30)

Public Switched Telephone Network
communications (PSTN, T.70) The collection of interconnected systems operated by the various telephone companies and administrations (telcos and PTTs) around the world. Also known as the Plain Old Telephone System (POTS) in contrast to xDSL and ISDN (not to mention other forms of PANS).
The PSTN started as human-operated analogue circuit switching systems (plugboards), progressed through electromechanical switches. By now this has almost completely been made digital, except for the final connection to the subscriber (the last mile ): The signal coming out of the phone set is analogue. It is usually transmitted over a twisted pair cable still as an analogue signal. At the telco office this analogue signal is usually digitised, using 8000 samples per second and 8 bits per sample, yielding a 64 kb/s data stream (DS0). Several such data streams are usually combined into a fatter stream: in the US 24 channels are combined into a T1, in Europe 31 DS0 channels are combined into an E1 line. This can later be further combined into larger chunks for transmission over high-bandwidth core trunks. At the receiving end the channels are separated, the digital signals are converted back to analogue and delivered to the received phone.
While all these conversions are inaudible when voice is transmitted over the phone lines it can make digital communication difficult. Items of interest include A-law to mu-law conversion (and vice versa) on international calls; robbed bit signalling in North America (56 kbps -- 64 kbps); data compression to save bandwidth on long-haul trunks; signal processing such as echo suppression and voice signal enhancement such as AT T TrueVoice.
(2000-07-09)

puff
algorithm To decompress data that has been crunched by Huffman coding. At least one widely distributed Huffman decoder program was actually *named* PUFF , but these days it is usually packaged with the encoder.
Opposite: huff.
[Jargon File]
(1996-10-16)

PUFFT
[ The Purdue University Fast Fortran Translator , Saul Rosen et al, CACM 8(11):661-666 (Nov 1965)].
(1995-01-05)

pull
pull media

pull-down list
operating system (Or drop-down list ) A graphical user interface component that allows the user to choose one (or sometimes more than one) item from a list. The current choice is visible in a small rectangle and when the user clicks on it, a list of items is revealed below it. The user can then click on one of these to make it the current choice and the list disappears. In some cases, by holding down a modifier key such as Ctrl when clicking, the selection is added to (or removed from) the set of current choices rather than replacing it.
(1999-09-25)

pull-down menu
operating system (Or drop-down menu , pop-down menu ) A menu in a graphical user interface, whose title is normally visible but whose contents are revealed only when the user activates it, normally by pressing the mouse button while the pointer is over the title, whereupon the menu items appear below the title. The user may then select an item from the menu or click elsewhere, in either case the menu contents are hidden again. A menu item is selected either by dragging the mouse from the menu title to the item and releasing or by clicking the title and then the item.
When a pull-down menu appears in the main area of a window, as opposed to the menu bar, it may have a small, downward-pointing triangle to the right.
Compare: scrollable list.
(1999-09-22)

pull media
messaging A model of media distribution were the bits of content have to be requested by the user, e.g. normal use of HTTP on the World-Wide Web.
Opposite: push media .
(1997-04-10)

Pulse Code Modulation
(PCM) A method by which an audio signal is represented as digital data.
Virtually all digital audio systems use PCM, including, CD, DAT, F1 format, 1630 format, DASH, DCC, and MD. Many people get confused because PCM is also slang for Sony's F1 format which stores PCM digital audio on videotape.
(1995-02-09)

pumpkin
jargon A humourous term for the token - the object (notional or real) that gives its possessor (the pumpking or the pumpkineer ) exclusive access to something, e.g. applying patches to a master copy of source (for which the pumpkin is called a patch pumpkin ).
Chip Salzenberg chip@perl.com wrote:
David Croy once told me once that at a previous job, there was one tape drive and multiple systems that used it for backups. But instead of some high-tech exclusion software, they used a low-tech method to prevent multiple simultaneous backups: a stuffed pumpkin. No one was allowed to make backups unless they had the backup pumpkin .
(1999-02-23)

pumpkineer
pumpkin

pumpking
pumpkin

punch card
punched card

punched card
storage, history (Or punch card ) The signature medium of computing's Stone Age, now long obsolete outside of a few legacy systems. The punched card actually predates computers considerably, originating in 1801 as a control device for Jacquard looms. Charles Babbage used them as a data and program storage medium for his Analytical Engine:
To those who are acquainted with the principles of the Jacquard loom, and who are also familiar with analytical formulæ, a general idea of the means by which the Engine executes its operations may be obtained without much difficulty. In the Exhibition of 1862 there were many splendid examples of such looms. [...] These patterns are then sent to a peculiar artist, who, by means of a certain machine, punches holes in a set of pasteboard cards in such a manner that when those cards are placed in a Jacquard loom, it will then weave upon its produce the exact pattern designed by the artist. [...] The analogy of the Analytical Engine with this well-known process is nearly perfect. There are therefore two sets of cards, the first to direct the nature of the operations to be performed -- these are called operation cards: the other to direct the particular variables on which those cards are required to operate -- these latter are called variable cards. Now the symbol of each variable or constant, is placed at the top of a column capable of containing any required number of digits.
-- from Chapter 8 of Charles Babbage's Passages from the Life of a Philosopher , 1864.
The version patented by Herman Hollerith and used with mechanical tabulating machines in the 1890 US Census was a piece of cardboard about 90 mm by 215 mm. There is a widespread myth that it was designed to fit in the currency trays used for that era's larger dollar bills, but recent investigations have falsified this.
IBM (which originated as a tabulating-machine manufacturer) married the punched card to computers, encoding binary information as patterns of small rectangular holes; one character per column, 80 columns per card. Other coding schemes, sizes of card, and hole shapes were tried at various times.
The 80-column width of most character terminals is a legacy of the IBM punched card; so is the size of the quick-reference cards distributed with many varieties of computers even today.
See chad, chad box, eighty-column mind, green card, dusty deck, lace card, card walloper.
[Jargon File]
(1998-10-19)

punt
(From the punch line of an old joke referring to American football: Drop back 15 yards and punt! ) 1. To give up, typically without any intention of retrying. Let's punt the movie tonight. I was going to hack all night to get this feature in, but I decided to punt may mean that you've decided not to stay up all night, and may also mean you're not ever even going to put in the feature.
2. More specifically, to give up on figuring out what the Right Thing is and resort to an inefficient hack.
3. A design decision to defer solving a problem, typically because one cannot define what is desirable sufficiently well to frame an algorithmic solution. No way to know what the right form to dump the graph in is - we'll punt that for now.
4. To hand a tricky implementation problem off to some other section of the design. It's too hard to get the compiler to do that; let's punt to the run-time system.
[Jargon File]

Purdue Compiler-Construction Tool Set
tool (PCCTS) A highly integrated lexical analser generator and parser generator by Terence J. Parr parrt@acm.org , Will E. Cohen and Henry G. Dietz hankd@ecn.purdue.edu , both of Purdue University.
ANTLR (ANother Tool for Language Recognition) corresponds to YACC and DLG (DFA-based Lexical analyser Generator) functions like LEX. PCCTS has many additional features which make it easier to use for a wide range of translation problems. PCCTS grammars contain specifications for lexical and syntactic analysis with selective backtracking ( infinite lookahead ), semantic predicates, intermediate-form construction and error reporting. Rules may employ Extended BNF (EBNF) grammar constructs and may define parameters, return values, and have local variables.
Languages described in PCCTS are recognised via LLk parsers constructed in pure, human-readable, C code. Selective backtracking is available to handle non-LL(k) constructs. PCCTS parsers may be compiled with a C++ compiler. PCCTS also includes the SORCERER tree parser generator.
Current version: 1.10, runs under Unix, MS-DOS, OS/2, and Macintosh and is very portable.
(ftp://marvin.ecn.purdue.edu/pub/pccts/1.10).
UK FTP (ftp://src.doc.ic.ac.uk/ computing/programming/languages/tools/pccts/). Macintosh FTP (ftp://maya.dei.unipd.it/pub/mac/).
Mailing list: pccts-users-request@ahpcrc.umn.edu ( subscribe pccts-users your_name in the message body).
E-mail: Terence J. Parr parrt@acm.org , Roberto Avanzi mocenigo@maya.dei.unipd.it (Mac port).
(2000-10-30)

Purdue University
Home (http://www.purdue.edu/).
(1995-01-05)

pure functional language
purely functional language

pure lambda-calculus
Lambda-calculus with no constants, only functions expressed as lambda abstractions.
(1994-10-27)

PureLink
An incremental linker from Pure Software.

Pure Lisp
A purely functional language derived from Lisp by excluding any feature which causes side-effects.

purely functional language
language A functional language with no side-effects. Program execution consists of evaluation of an expression and all subexpressions are referentially transparent.
(1996-07-11)

Purify
A debugging tool from Pure Software.

Purple Book
1. publication The System V Interface Definition . The covers of the first editions were an amazingly nauseating shade of off-lavender.
2. publication The Wizard Book.
See also book titles.
[Jargon File]

purple wire
jargon, hardware Wire installed by IBM Field Engineers to work around problems discovered during testing or debugging. These are called purple wires even when (as is frequently the case) they are yellow.
Compare blue wire, yellow wire, and red wire.
(1995-04-11)

Purveyor
World-Wide Web A World-Wide Web server for Windows NT and Windows 95 (when available).
Home (http://www.process.com/)
E-mail: info@process.com .
(1995-04-11)

push
1. programming To put something onto a stack or pdl.
Opposite: pop .
2. communications push media.
[Jargon File]
(1997-04-10)

push-button
electronics A roughly fingertip-sized plastic cover attached to a spring-loaded, normally-open switch, which, when pressed, closes the switch. Typical examples are the keys on a computer or calculator keyboard and mouse buttons.
(1997-07-07)

Push Down List
programming (PDL) In ITS days, the preferred MITism for stack.
See overflow pdl.
(1995-12-21)

push media
messaging A model of media distribution where items of content are sent to the user (viewer, listener, etc.) in a sequence, and at a rate, determined by a server to which the user has connected. This contrasts with pull media where the user requests each item individually. Push media usually entail some notion of a channel which the user selects and which delivers a particular kind of content.
Broadcast television is (for the most part) the prototypical example of push media: you turn on the TV set, select a channel and shows and commercials stream out until you turn the set off.
By contrast, the World-Wide Web is (mostly) the prototypical example of pull media: each page , each bit of content, comes to the user only if he requests it; put down the keyboard and the mouse, and everything stops.
At the time of writing (April 1997), much effort is being put into blurring the line between push media and pull media. Most of this is aimed at bringing more push media to the Internet, mainly as a way to disseminate advertising, since telling people about products they didn't know they wanted is very difficult in a strict pull media model.
These emergent forms of push media are generally variations on targeted advertising mixed in with bits of useful content. At home on your computer, the same system will run soothing screensavers underneath regular news flashes, all while keeping track, in one corner, of press releases from companies whose stocks you own. With frequent commercial messages, of course. (Wired, March 1997, page 12).
Pointcast (http://www.pointcast.com) is probably the best known push system on the Internet at the time of writing.
As part of the eternal desire to apply a fun new words to boring old things, push is occasionally used to mean nothing more than email spam.
(1997-04-10)

PVC
1. networking Permanent Virtual Circuit.
2. hardware polyvinyl chloride.
(2001-03-26)

PVM
Parallel Virtual Machine

PV-WAVE
graphics, tool (Precision Visuals' Workstation Analysis and Visualization Environment) Interactive scientific visualisation software originally from Precision Visuals, Inc., but now owned by Visual Numerics, Inc. (VNI).
(1999-07-18)

pw
networking The country code for Palau.
(1999-01-27)

py
networking The country code for Paraguay.
(1999-01-27)

Python
1. language A simple, high-level interpreted language by Guido van Rossum guido@cwi.nl , 1991. Python combines ideas from ABC, C, Modula-3 and Icon. It bridges the gap between C and shell programming, making it suitable for rapid prototyping or as an extension language for C applications. It is object-oriented and supports packages, modules, classes, user-defined exceptions, a good C interface, dynamic loading of C modules and has no arbitrary restrictions.
Python is available, among others, for Unix, Windows, DOS, OS/2, Macintosh, and Amoeba.
Current version: 1.4, includes interpreter, libraries, and documentation.
Home (http://www.python.org/).
Usenet newsgroup: news:comp.lang.python.
2. compiler A compiler for CMU Common LISP. Python is more sophisticated than other Common Lisp compilers. It produces better code and is easier to use. The programming environment based on the Hemlock editor is better integrated than GNU Emacs based environments.
(1997-02-27)

language A very high level language by Per Bothner based on lazy generalised sequences. Q has lexical scope, and some support for logic programming[?] and constraint programming. The language includes small subsets of Common Lisp and Scheme.
Q was a test-bed for programming language ideas. Where APL uses arrays for looping, Q uses generalised sequences which may be infinite and may be stored or calculated on demand. It has macros, primitives to run programs, and an interactive command language.
Q is implemented in C++, and comes with an interpreter, compiler framework, libraries, and documentation. It runs on Linux and SUN-4 and should work on any 32-bit Unix.
Latest version: 1, as of 1993-06-07. Development stopped in 1994.
Home (http://kelso.bothner.com/~per/software/#Q ).
E-mail: Per Bothner per@bothner.com .
(2000-05-22)

QA
Quality Assurance

qa
networking The country code for Qatar.
(1999-01-27)

QA4
Question-answering language. A procedural calculus for intuitive reasoning. A LISP-based pattern-matching language for theorem proving. QA4, A Language for Writing Problem-Solving Programs , J.F. Rulifson et al, Proc IFIP Congress 1968.

QAM
1. Quadrature Amplitude Modulation.
2. Quality Assurance Management.

Qbasic
language Quick basic.
A version of BASIC from Microsoft, later known as MS-BASIC.
(1995-03-16)

QBE
Query By Example

QCA
Quantum-dot Cellular Automata

qdjanus
A Janus-to-Prolog compiler by Saumya Debray debray@cs.arizona.edu . It is meant to be used with Sicstus Prolog and is mostly compliant with Programming in Janus by Saraswat, Kahn, and Levy.
Current version: 1.3.
(ftp://cs.arizona.edu/janus/qdjanus/)
(1992-05-18)

QDOS
operating system The Sinclair QL's proprietary operating system. The origin of the name is uncertain (a weak pun on kudos, perhaps, as Unix was on Multics). There was another OS around from the birth of personal computers called Q.D.O.S. - Quick And Dirty Operating System. QDOS might also stand for QL Data/Disk/Drive/Device Operating System.
QDOS did the usual OS sorts of things, as well as multitasking. It was unusual in several ways. It treated all devices (serial ports, mouse ports, screen, microdrive, disk drive, keyboard, etc.) uniformly, so you could print a text file direct to disk or save a binary to the screen for example.
Also logical channels could be assigned to particular physical devices. Output directed to a channel would go to the appropriate in/output. This also meant you could have many windows on screen (the QL booted up from internal ROMs with 3 windows - command line, output and program listing) all independent to some extent. Channels could be redirected without affecting the way the process sent or received the data.
(1996-07-22)

QEMM386
software, storage A combined expanded memory manager and extended memory manager for IBM PCs with an Intel 80386 or higher processor from Quarterdeck Office Systems. QEMM386 can also act as an UMB provider and an A20 handler.
(1996-01-10)

QIC
Quarter-Inch Cartridge

QL
computer (Quantum Leap) Sir Clive Sinclair's first Motorola 68008-based personal computer, developed from around 1981 and released about 1983. The QL ran Sinclair's QDOS operating system which was the first multitasking OS on a home computer, though few programmers used this feature. It had a structured, extended BASIC and a suite of integrated application programs written by Psion. It featured innovative microdrives which were random access tape drives. It was not a success.
The microdrives were innovative but probably a mistake. Though reliable and quite quick, they sounded like they were going to jam and explode, releasing a shower of plastic shavings and tape into your face.
The QL and QDOS only supported two graphics modes - ominously named high res and low res. High res had four (fixed) colours at a resolution of 512 by 256 pixels. Low res had 8 colours (black, blue, red, magenta, green, cyan, yellow, white) plus a flash mode with 256 by 256 pixels. The sound was next to useless - single channel single oscillator with various parameters for fuzz, pitch change. There was one internal font, scalable to 2 heights and 3 widths.
Peripherals and enhancements included a GUI on a plug-in ROM, accelerator cards (Motorola 68020, 4 MB RAM), floppy disks and hard disks.
In 1996 there is still some interest in the QL, spread by the Internet of course. Emulation software, source code, The QL Hackers Journal and similar are still available, and many QLs are on the net.
(http://www.imaginet.fr/~godefroy/english).
(1996-08-01)

Qlambda
language A LISP by Richard Gabriel and John McCarthy.
[ Queue-based Multi-processing Lisp , R. Gabriel J. McCarthy, Proc 1984 Symp Lisp and Functional Prog, pp. 25-44].
(1999-10-12)

QLISP
1. SRI 1973. General problem solving, influenced by PLANNER. QA4 features merged with INTERLISP.
[ QLISP - A Language for the Interactive Development of Complex Systems , E. Sacerdoti et al, NCC 45:349-356, AFIPS, 1976].
2. A parallel LISP.
[ Qlisp , R. Gabriel et al in Parallel Computation and Computers for AI, J. Kowalik ed, 1988, pp.63-89].
(1999-10-12)

QLOG
A version of Prolog implemented in Lisp which allows Prolog programs to call Lisp and vice versa.
[ QLOG - The Programming Environment for Prolog in LISP , H.J. Komorowski in Logic Prgramming, K.L. Clark et al eds, Academic Press 1982].
(1995-01-25)

QMW
Queen Mary and Westfield College

Q'NIAL
A portable incremental compiler for NIAL, written in C at Queen's University, Canada.
There aree versions for Unix and MS-DOS, from NIAL Systems Ltd.
[ The Q'NIAL Reference Manual , M.A. Jenkins, Queen's U Report, Dec 1983].
(1995-01-25)

QNX
operating system A realtime, network distributed, POSIX-certified, microkernel, multi-user, multitasking, ROMable, fault-tolerant, embeddable operating system that supports TCP/IP, NFS, FTP, the X Window System, Microsoft Windows as a guest process, Ethernet, Token Ring, Arcnet and Watcom ANSI C/C++. Support for Pentium, 486, 386, 286, 80x87. Developed and distributed by QNX Software Systems, Ltd.
Current version: 6.1, as of 2001-09-02.
QNX Home (http://www.qnx.com/).
E-mail: info@qnx.com .
Papers (ftp://ftp.cse.ucsc.edu/pub/qnx/qnx-paper.ps.Z) (128.114.134.19).
Usenet newsgroup: news:comp.os.qnx.
(2000-03-05)

QoS
Quality of service

QPE
Two-dimensional pictorial query language. Pictorial Information Systems , S.K. Chang et al eds, Springer 1980.
Q-systems. A. Colmerauer, 1969. A rewrite system with one-way unification, used for English-French translation. It led to Prolog. The Birth of Prolog A. Colmerauer et al, SIGPLAN Notices 28(3):37-52 (March 1993).

QT-OBJECTS
A library by Michael Travers mt@media.mit.edu and others providing an interface between MCL and QuickTime.
(1992-12-20)

QTRADER
application Analytical software for stock and commodity trading, released in July 1995 by Caribou CodeWorks.
QTRADER allows dynamic automated analysis of current trends and features Paper Trade plotting, as well as TradeSignal Bands and StudyMatrix filter to screen potential trades. Projected ranges are handled with a Tomorrow's Bar .
QTRADER version 3.0 runs on IBM PC-compatibles, a Macintosh version is not available until late 1996.
Demo copy (http://www.winternet.com/~jottis). (ftp://ftp.winternet.com/users/jottis).
(1995-11-05)

quad
1. Two bits; synonym for quarter, crumb, tayste.
2. A four-pack of anything (compare hex).
3. The rectangle or box glyph used in the APL language for various arcane purposes mostly related to I/O.
Former Ivy-Leaguers and Oxford types are said to associate it with nostalgic memories of dear old University (short for quadrangle ).
[Jargon File]

Quadralay Corporation
company The developers of GWHIS.
Home (http://www.quadralay.com/).
Telephone: +1 512-346-9199. Fax: +1 512-346-8990.
(2000-08-12)

Quadrature Amplitude Modulation
(QAM) A method for encoding digital data in an analog signal in which each combination of phase and amplitude represents one of sixteen four bit patterns. This is required for fax transmission at 9600 bits per second.
(1995-02-02)

quadruple bucky
Obsolete. 1. On an MIT space-cadet keyboard, use of all four of the shifting keys (control, meta, hyper, and super) while typing a character key.
2. On a Stanford or MIT keyboard in raw mode, use of four shift keys while typing a fifth character, where the four shift keys are the control and meta keys on *both* sides of the keyboard. This was very difficult to do! One accepted technique was to press the left-control and left-meta keys with your left hand, the right-control and right-meta keys with your right hand, and the fifth key with your nose.
Quadruple-bucky combinations were very seldom used in practice, because when one invented a new command one usually assigned it to some character that was easier to type. If you want to imply that a program has ridiculously many commands or features, you can say something like: Oh, the command that makes it spin the tapes while whistling Beethoven's Fifth Symphony is quadruple-bucky-cokebottle. See double bucky, bucky bits, cokebottle.
[Jargon File]

quadruplex
communications A kind of telegraphy system developed by Thomas A. Edison in the 1870s combining diplex and duplex communications to support simultaneous transmission of two messages in each direction.
(2000-04-02)

Quake
A string-oriented language designed to support the construction of Modula-3 programs from modules, interfaces and libraries. Written by Stephen Harrison of DEC SRC, 1993.

Qualcomm
company A California-based technology company; their primary product is the OMNITRACS tractor-trailer-tracking system. They also develop the free and commercial versions of Eudora for Macintosh and IBM PC.
(1995-10-05)

quality
The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs. Not to be mistaken for degree of excellence or fitness for use which meet only part of the definition.
[ISO8402].
(1995-11-10)

quality assurance
testing (QA) A planned and systematic pattern of all actions necessary to provide adequate confidence that the product optimally fulfils customers' expectations, i.e. that it is problem-free and well able to perform the task it was designed for.
The QA of a commercial product usually involves alpha testing, where an early version of the product is tested at the developer's site, and is then improved accordingly. Then, an almost complete version of the product is made available for beta testing by (selected) real users. Faults identified during beta testing should be fixed before the product is released for full scale manufacturing and distribution.
(2001-04-21)

quality control
testing The assessment of product compliance with stated requirements. Quality control should be independent from production.
(2001-05-20)

quality of service
communications, networking (QoS) The performance properties of a network service, possibly including throughput, transit delay, priority. Some protocols allow packets or streams to include QoS requirements.
(1998-07-30)

Quality Systems Software Ltd.
company The company which produced the DOORS requirements engineering tool. They also provide consultancy as Requirements Engineering Ltd.
Home (http://www.qss.co.uk/)
E-mail: Ian Alexander iany@easynet.co.uk , Amanda Haisman-Baker 100023.44@compuserve.com .
(1995-11-11)

quantifier
logic An operator in predicate logic specifying for which values of a variable a formula is true. Universally quantified means for all values (written with an inverted A, LaTeX forall) and existentially quantified means there exists some value (written with a reversed E, LaTeX exists). To be unambiguous, the set to which the values of the variable belong should be specified, though this is often omitted when it is clear from the context (the universe of discourse ). E.g.
Forall x . P(x) = not (Exists x . not P(x))
meaning that any x (in some unspecified set) has property P which is equivalent to saying that there does not exist any x which does not have the property.
If a variable is not quantified then it is a free variable. In logic programming this usually means that it is actually universally quantified.
See also first order logic.
(2002-05-21)

Quantify
A performance analysis tool from Pure Software.

quantum
time slice

quantum bogodynamics
/kwon'tm boh goh-di:-nam iks/ A theory that characterises the universe in terms of bogon sources (such as politicians, used-car salesmen, TV evangelists, and suits in general), bogon sinks (such as taxpayers and computers), and bogosity potential fields. Bogon absorption causes human beings to behave mindlessly and machines to fail (and may also cause both to emit secondary bogons); however, the precise mechanics of bogon-computron interaction are not yet understood.
Quantum bogodynamics is most often invoked to explain the sharp increase in hardware and software failures in the presence of suits; the latter emit bogons, which the former absorb.
[Jargon File]
(1994-11-02)

quantum cell
electronics, computing (Or quantum dot cell ) A structure comprising four quantum dots arranged in a square, with two diagonally opposed dots containing electron charges. One diagonal containing charges is arbitrarily defined as representing a value of '1', the other as '0'. In a five-dot cell, the fifth, central dot contains no charge.
See also: quantum cell wire, quantum-dot cellular automata.
(http://www.mitre.org/research/nanotech/quantum_dot_cell.html).
[ Quantum Dot Heterostructures , D. Bimberg, et al, John Wiley Sons Ltd., Dec 1998].
[Implementations?]
(2001-07-17)

quantum cell wire
electronics, computing (Or quantum wire , binary wire ) Quantum cells arranged in a line to carry signals. Adjacent cells with the same orientation are at a low energy state and a change of orientation at one end of a quantum wire propagates along the wire, transmitting a signal. However, unlike conventional wire, since only the orientation of charge pairs changes, no current flows.
Circuits created using quantum cell wires are referred to as Quantum-dot Wireless Digital Circuits, see quantum dot, Quantum-dot Cellular Automata.
(http://www.mitre.org/research/nanotech/quantum_dot_cell.html).
[ Quantum Dot Heterostructures , D. Bimberg, et al, John Wiley Sons Ltd., Dec 1998]
(2001-07-17)

quantum computer
computer A type of computer which uses the ability of quantum systems, such as a collection of atoms, to be in many different states at once. In theory, such superpositions allow the computer to perform many different computations simultaneously. This capability is combined with interference among the states to produce answers to some problems, such as factoring integers, much more rapidly than is possible with conventional computers. In practice, such machines have not yet been built due to their extreme sensitivity to noise.
Oxford University (http://eve.physics.ox.ac.uk/QChome.html), Stanford University (http://feynman.stanford.edu/qcomp/).
A quantum search algorithm (ftp://parcftp.xerox.com/pub/dynamics/quantum.html) for constraint satisfaction problems exhibits the phase transition for NP-complete problems.
(1997-02-11)

quantum computing
quantum computer

quantum dot
physics (Or single-electron transistor ) A location capable of containing a single electrical charge; i.e., a single electron of Coulomb charge. Physically, quantum dots are nanometer-size semiconductor structures in which the presence or absence of a quantum electron can be used to store information.
See also: quantum cell, quantum cell wire, quantum-dot cellular automata.
(http://www-mtl.mit.edu/MTL/bulletin/v6n2/Kumar.html).
[ Quantum Dot Heterostructures , D. Bimberg, et al, John Wiley Sons Ltd., Dec 1998].
(2001-07-17)

Quantum-dot Cellular Automata
electronics, computing (QCA) Quantum logic circuits created by orientating pairs of quantum cells so that their relative positions determine their affect on each other. This is functionally analogous but structurally different from how individual gates in integrated circuits are combined to create logical and memory circuitry.
The advantages of quantum-dot cellular automata over conventional circuitry are extremely small size/high density, low power requirements, and potentially high processing speeds. Disadvantages (in 2000) are difficulty of fabrication and low yield.
See also: quantum cell wire.
Home (http://www.nd.edu/~qcahome/).
(http://www.mitre.org/research/nanotech/quantum_dot_cell.html).
[ Quantum Dot Heterostructures , D. Bimberg, et al, John Wiley Sons Ltd., Dec 1998].
(2001-07-17)

quarter
Two bits. This in turn comes from the pieces of eight famed in pirate movies - Spanish silver crowns that could be broken into eight pie-slice-shaped bits to make change. Early in American history the Spanish coin was considered equal to a dollar, so each of these bits was considered worth 12.5 cents. Usage: rare.
Synonyms: tayste, crumb, quad.
See also nickle, nibble, byte, dynner.
[Jargon File]
(1995-01-25)

Quarter Inch Cartridge
storage /kwik/ (QIC) a type of magnetic tape and tape drive. Development standards for QIC make it possible for tapes written on one QIC drive to be read on another. QIC drives are made to work with different lengths of tape. The model number of the drive consists of QIC followed by a number which indicates the drives tape capacity in megabytes (MB).
(1996-12-09)

Quay Financial Software
CSK Software

QUEASY
An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-25)

Queen Mary and Westfield College
(QMW) One of the largest of the multi-faculty schools of the University of London. QMW has some 6000 students and over 600 teaching and research staff organised into seven faculties.
QMW was one of the first colleges in the University of London to develop fully the course-unit, or modular, approach to degree programmes. Cross faculty courses are encouraged and the physical proximity of all the College buildings is a major factor in enabling students to adopt an interdisciplinary approach to their studies.
Home (http://www.qmw.ac.uk/)
(1995-01-25)

Queens Problem
Eight Queens Puzzle

Queens Puzzle
Eight Queens Puzzle

Queen's University
A Canadian University. Source of GVL, NIAL, Pasqual, Q'NIAL and TXL.
(ftp://ftp.qucis.queensu.ca/pub/)
(1994-10-20)

QUEL
The query language used by the database management system INGRES.
(1995-01-31)

query
1. database, information science A user's (or agent's) request for information, generally as a formal request to a database or search engine.
SQL is the most common database query language.
2. character question mark.
(1997-04-09)

Query By Example
database, language (QBE) A user-friendly query language developed by Moshé Zloof of IBM in 1975.
(http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/z/Zloof:Mosh=eacute=_M=.html).
[Moshé M. Zloof, Query By Example , AFIPS NCC 1975: 431-438].
[Moshé M. Zloof, Query-by-Example: A Data Base Language , IBM Systems Journal 16(4): 324-343, 1977].
[ QBE/OBE: A Language for Office and Business Automation , M.M. Zloof, Computer pp.13-22, May 1981].
(2001-03-25)

query expansion
information science Adding search terms to a user's search. Query expansion is the process of a search engine adding search terms to a user's weighted search. The intent is to to improve precision and/or recall. The additional terms may be taken from a thesaurus. For example a search for car may be expanded to: car cars auto auto automobile automobiles.
The additional terms may also be taken from documents that the user has specified as being relevant; this is the basis for the more like this feature of some search engines.
The extra terms can have positive or negative weights.
(1999-08-27)

ques
question mark

Quest
1. A language designed for its simple denotational semantics. The Denotational Semantics of Programming Languages , R. Tennent, CACM 19(8):437-453 (Aug 1976).
2. QUantifiers and SubTypes. Language with a sophisticated type system. Just as types classify values, kinds classify types and type operators. Explicit universal and existential quantification over types, type operators, and subtypes. Subtyping is defined inductively on all type constructions, including higher-order functions and abstract types. User-definable higher-order type operators.
Typeful Programming , Luca Cardelli luca@src.dec.com , RR 45, DEC SRC 1989.
Implemented in Modula-3.
(ftp://gatekeeper.dec.com/pub/DEC/Quest/quest12A.tar.Z)
3. tool, text A multimedia authoring system. Quest has been available for MS-DOS for some time. Version 3.5 for Microsoft Windows was released around March 1995. It features an Authorware-style flowchart system with an ANSI-C script language.
(1995-04-02)

question mark
character ? , ASCII character 63.
Common names: query; ITU-T: question mark; ques. Rare: whatmark; INTERCAL: what; wildchar; huh; hook; buttonhook; hunchback.
(1995-04-02)

queue
programming A first-in first-out data structure used to sequence multiple demands for a resource such as a printer, processor or communications channel. Objects are added to the tail of the queue and taken off the head.
A typical use of queues in an operating system involves a user command which places something on a queue, e.g. a file on a printer queue or a job on a job queue, and a background process or demon which takes things off and processes them (e.g. prints or executes them). Another common use is to pass data between an interrupt handler and a user process.
(1995-05-11)

QUICK
language An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1995-05-11)

quick-and-dirty
jargon, programming Describes a crock put together under time or user pressure. Used especially when you want to convey that you think the fast way might lead to trouble further down the road. I can have a quick-and-dirty fix in place tonight, but I'll have to rewrite the whole module to solve the underlying design problem.
See also kluge.
[Jargon File]
(1995-05-11)

QuickDraw
library, graphics Part of the software in the Apple Macintosh's ROM that performs graphics operations.
(1995-05-11)

Quicksilver
database A dBASE-like compiler for MS-DOS from WordTech.
(1995-05-11)

Quicksort
A sorting algorithm with O(n log n) average time complexity.
One element, x of the list to be sorted is chosen and the other elements are split into those elements less than x and those greater than or equal to x. These two lists are then sorted recursively using the same algorithm until there is only one element in each list, at which point the sublists are recursively recombined in order yielding the sorted list.
This can be written in Haskell:
qsort :: Ord a = [a] - [a] qsort [] = [] qsort (x:xs) = qsort [ u | u -xs, u x ] ++
[ x ] ++
qsort [ u | u -xs, u =x ]
[Mark Jones, Gofer prelude.]

Quicktime
graphics, standard, file format, product Apple Computer's standard for integrating full-motion video and digitised sound into application programs.
[Details? Archives?]
(1995-04-21)

quiesce
networking To render quiescent, i.e. temporarily inactive or disabled. For example to quiesce a device (such as a digital modem). It is also a system command in MAX TNT software which is used to Temporarily disable a modem or DS0 channel .
Also used as an adjective, in the expression quiesce time .
(2000-03-05)

quiesce time
jargon The length of time taken to quiesce a system (to render it inactive), or the length of time between periods of inactivity.
(2000-03-05)

QUIKSCRIPT
Simulation language derived from SIMSCRIPT, based on 20-GATE.
[ Quikscript - A Simpscript-like Language for the G-20 , F.M. Tonge et al, CACM 8(6):350-354 (June 1965)].

QUIKTRAN
Fortran-like, interactive with debugging facilities. Sammet 1969, p.226.

QUIN
Pyle 1965. Interactive language. Sammet 1969, p.691.

quine
programming /kwi:n/ (After the logician Willard V. Quine, via Douglas Hofstadter) A program that generates a copy of its own source text as its complete output. Devising the shortest possible quine in some given programming language is a common hackish amusement.
In most interpreted languages, any constant, e.g. 42, is a quine because it evaluates to itself . In certain Lisp dialects (e.g. Emacs Lisp), the symbols nil and t are self-quoting , i.e. they are both a symbol and also the value of that symbol. In some dialects, the function-forming function symbol, lambda is self-quoting so that, when applied to some arguments, it returns itself applied to those arguments. Here is a quine in Lisp using this idea:
((lambda (x) (list x x)) (lambda (x) (list x x)))
Compare this to the lambda expression:
( x . x x) ( x . x x)
which reproduces itself after one step of beta reduction. This is simply the result of applying the combinator fix to the identity function. In fact any quine can be considered as a fixed point of the language's evaluation mechanism.
We can write this in Lisp:
((lambda (x) (funcall x x)) (lambda (x) (funcall x x)))
where funcall applies its first argument to the rest of its arguments, but evaluation of this expression will never terminate so it cannot be called a quine.
Here is a more complex version of the above Lisp quine, which will work in Scheme and other Lisps where lambda is not self-quoting:
((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))
It's relatively easy to write quines in other languages such as PostScript which readily handle programs as data; much harder (and thus more challenging!) in languages like C which do not. Here is a classic C quine for ASCII machines:
char*f= char*f=%c%s%c;main() printf(f,34,f,34,10);%c ;
main()printf(f,34,f,34,10);
For excruciatingly exact quinishness, remove the interior line break. Some infamous Obfuscated C Contest entries have been quines that reproduced in exotic ways.
Ken Thompson's back door involved an interesting variant of a quine - a compiler which reproduced part of itself when compiling (a version of) itself.
[Jargon File]
(1995-04-25)

Quintec-Objects
Based on Quintec Prolog (not Quintus). British.

quintillion
10^30 in Europe (this is called a nonillion in the United States and Canada).
10^18 in the United States and Canada (this is called a trillion in Europe).
[Collins dictionary].

Quintus Prolog
language, product A version of Prolog developed by Quintus. Development of Quintus Prolog had transferred to the Swedish Institute of Computer Science by December 1998.
(ftp://ftp.quintus.com/).
Telephone: +1 (800) 542 1283.
[More details? Features?]
(1998-12-12)

quote chapter and verse
[by analogy with the mainstream phrase] To cite a relevant excerpt from an appropriate bible. I don't care if rn gets it wrong; Followup-To: poster is explicitly permitted by RFC 1036. I'll quote chapter and verse if you don't believe me. See also legalese, language lawyer, RTFS (sense 2).
[Jargon File]

quotient
The number obtained by dividing one number (the numerator ) by another (the denominator ). If both numbers are rational then the result will also be rational.

Qu-Prolog
An extension of Prolog which performs meta-level computations over object languages, such as predicate calculi and lambda-calculi, which have object-level variables, and quantifiers that create local scopes for those variables. Qu-Prolog is well suited as an implementation language for theorem provers and support notations typically found in texts on mathematics and logic.

Quty
A functional plus logic language. Quty: A Functional Language Based on Unification , M. Sato et al, in Conf. Fifth Gen. Computer Systems, ICOT 1984, pp.157-165.

quux
/kwuhks/ [Mythically, from the Latin semi-deponent verb quuxo, quuxare, quuxandum iri; noun form variously quux (plural quuces , anglicised to quuxes ) and quuxu (genitive plural is quuxuum , for four u-letters out of seven in all, using up all the u letters in Scrabble).] 1. Originally, a metasyntactic variable like foo and foobar. Invented by Guy Steele for precisely this purpose when he was young and naive and not yet interacting with the real computing community. Many people invent such words; this one seems simply to have been lucky enough to have spread a little. In an eloquent display of poetic justice, it has returned to the originator in the form of a nickname.
2. See foo; however, denotes very little disgust, and is uttered mostly for the sake of the sound of it.
3. Guy Steele in his persona as The Great Quux , which is somewhat infamous for light verse and for the Crunchly cartoons.
4. In some circles, used as a punning opposite of crux . Ah, that's the quux of the matter! implies that the point is *not* crucial (compare tip of the ice-cube).
[Jargon File]

qux
/kwuhks/ The fourth of the standard metasyntactic variable, after baz and before the quu(u...)x series. See foo, bar, baz, quux. This appears to be a recent mutation from quux, and many versions (especially older versions) of the standard series just run foo, bar, baz, quux, ...

QWERTY
hardware /kwer'tee/ (From the top left row of letter keys of most keyboards) Pertaining to a standard English-language typewriter keyboard (sometimes called the Sholes keyboard after its inventor), as opposed to Dvorak or foreign-language layouts (e.g. keyboard AZERTY in french-speaking countries) or a space-cadet keyboard or APL keyboard.
The QWERTY layout is a fine example of a fossil. It is sometimes said that it was designed to slow down the typist, but this is wrong; it was designed to allow *faster* typing - under a constraint now long obsolete. In early typewriters, fast typing using nearby type-bars jammed the mechanism. So Sholes fiddled the layout to separate the letters of many common digraphs (he did a far from perfect job, though; th , tr , ed , and er , for example, each use two nearby keys). Also, putting the letters of typewriter on one line allowed it to be typed with particular speed and accuracy for demos. The jamming problem was essentially solved soon afterward by a suitable use of springs, but the keyboard layout lives on.
[Jargon File]
(1998-01-15)

QX
(Meaning OK , from E.E. Smith SF books) A language for digital signal processing of digitised speech, by Richard Gillmann of SDC, Santa Monica. QX was part of SDC's speech recognition project.
(1995-02-09)

MIPS R2000

R2RS
A revision of RRS, itself revised in R3RS.
[ The Revised Revised Report on the Algorithmic Language Scheme , Clinger, AI Memo 848, MIT Aug 1985].
(1995-02-09)

R3.99RS
R4RS without the macros.

R3RS
A revision of R2RS, revised in R4RS.
[ The Revised^3 Report on the Algorithmic Language Scheme , J. Rees et al, SIGPLAN Notices 21(12):37-79 (Dec 1986)].

R4RS
A revision of R3RS, revised in R3.99RS.
(ftp://altdorf.ai.mit.edu/)
[ The Revised^4 Report on the Algorithmic Language Scheme , W. Clinger et al, MIT (Nov 1991)].
(1994-10-28)
[Later revisions?]

rabbit job
(Cambridge) A batch job that does little, if any, real work, but creates one or more copies of itself, breeding like rabbits.
Compare wabbit, fork bomb.
[Jargon File]
(1994-11-09)

RACE
programming Requirements Acquisition and Controlled Evolution.
(1995-11-21)

race condition
Anomalous behavior due to unexpected critical dependence on the relative timing of events.
For example, if one process writes to a file while another is reading from the same location then the data read may be the old contents, the new contents or some mixture of the two depending on the relative timing of the read and write operations.
A common remedy in this kind of race condition is file locking; a more cumbersome remedy is to reorganize the system such that a certain processes (running a daemon or the like) is the only process that has access to the file, and all other processes that need to access the data in that file do so only via interprocess communication with that one process.
As an example of a more subtle kind of race condition, consider a distributed chat network like IRC, where a user is granted channel-operator privileges in any channel he starts. If two users on different servers, on different ends of the same network, try to start the same-named channel at the same time, each user's respective server will grant channel-operator privileges to each user, since neither will yet have received the other's signal that that channel has been started.
In this case of a race condition, the shared resource is the conception of the state of the network (what channels exist, as well as what users started them and therefore have what privileges), which each server is free to change as long as it signals the other servers on the network about the changes so that they can update their conception of the state of the network. However, the latency across the network makes possible the kind of race condition described. In this case, heading off race conditions by imposing a form of control over access to the shared resource -- say, appointing one server to be in charge of who holds what privileges -- would mean turning the distributed network into a centralized one (at least for that one part of the network operation). Where this is not acceptable, the more pragmatic solution is to have the system recognize when a race condition has occurred and to repair the ill effects.
Race conditions also affect electronic circuits where the value output by a logic gate depends on the exact timing of two or more input signals. For example, consider a two input AND gate fed with a logic signal X on input A and its negation, NOT X, on input B. In theory, the output (X AND NOT X) should never be high. However, if changes in the value of X take longer to propagate to input B than to input A then when X changes from false to true, there will be a brief period during which both inputs are true, and so the gate's output will also be true. If this output is fed to an edge-sensitive component such as a counter or flip-flop then the temporary effect ( glitch ) will become permanent.
(2002-08-03)

RACF
Resource Access Control Facility

RAD
programming Rapid Application Development.

Raddle
[ On the Design of Large Distributed Systems , I.R. Forman, Proc 1st IEEE Intl Conf Comp Langs, pp.25-27 (Oct 1986)].

Radio Frequency Interference
hardware, testing (RFI) Electromagnetic radiation which is emitted by electrical circuits carrying rapidly changing signals, as a by-product of their normal operation, and which causes unwanted signals (interference or noise) to be induced in other circuits.
The most important means of reducing RFI are: use of bypass or decoupling capacitors on each active device (connected across the power supply, as close to the device as possible), risetime control of high speed signals using series resistors and VCC filtering. Shielding is usually a last resort after other techniques have failed because of the added expense of RF gaskets and the like.
The efficiency of the radiation is dependant on the height above the ground or power plane (at RF one is as good as the other) and the length of the conductor in relationship to the wavelength of the signal component (fundamental, harmonic or transient (overshoot, undershoot or ringing)). At lower frequencies, such as 133 MHz, radiation is almost exclusively via I/O cables; RF noise gets onto the power planes and is coupled to the line drivers via the VCC and ground pins. The Rf is then coupled to the cable through the line driver as common node noise. Since the noise is common mode, shielding has very little effect, even with differential pairs. The RF energy is capacitively coupled from the signal pair to the shield and the shield itself does the radiating.
At higher frequencies, usually above 500 Mhz, traces get electrically longer and higher above the plane. Two techniques are used at these frequencies: wave shaping with series resistors and embedding the traces between the two planes. If all these measures still leave too much RFI, sheilding such as RF gaskets and copper tape can be used. Most digital equipment is designed with metal, or coated plastic, cases.
Switching power supplies can be a source of RFI, but have become less of a problem as design techniques have improved.
Most countries have legal requirements that electronic and electrical hardware must still work correctly when subjected to certain amounts of RFI, and should not emit RFI which could interfere with other equipment (such as radios).
See also Electrostatic Discharge, Electromagnetic Compatibility.
(1998-01-26)

radiosity
A technique for modelling light for producing (rendering) images from three dimensional models. It is physically more accurate than raytracing, but takes more computing power.
Usenet newsgroup: news:comp.graphics.
[Details?]
(1995-01-05)

RADIUS
Remote Authentication Dial-In User Service

radix
mathematics (Or base , number base ) In a positional representation of numbers, that integer by which the significance of one digit place must be multiplied to give the significance of the next higher digit place. Conventional decimal numbers are radix ten, binary numbers are radix two.
(1995-12-24)

RAID
Redundant Arrays of Independent Disks

RAIL
robotics Automatix. High-level language for industrial robots.

rainbow series
publication Any of several series of technical manuals distinguished by cover colour. The original rainbow series was the NCSC security manuals (see Orange Book, crayola books); the term has also been commonly applied to the PostScript reference set (see Red Book, Green Book, Blue Book, White Book). Which books are meant by the rainbow series unqualified is thus dependent on one's local technical culture.
[Jargon File]
(1996-12-03)

rain dance
1. Any ceremonial action taken to correct a hardware problem, with the expectation that nothing will be accomplished. This especially applies to reseating printed circuit boards, reconnecting cables, etc. I can't boot up the machine. We'll have to wait for Greg to do his rain dance.
2. Any arcane sequence of actions performed with computers or software in order to achieve some goal; the term is usually restricted to rituals that include both an incantation or two and physical activity or motion.
Compare magic, voodoo programming, black art, cargo cult programming, wave a dead chicken.
[Jargon File]
(1995-02-09)

RAISE
See RSL.

RAL
1. Rutherford Appleton Laboratory (UK).
2. An expert system.

RAM
1. storage Random Access Memory.
2. humour Rarely Adequate Memory.
A humorous reference to the fact that programs and data expand to fill the memory available.
(1995-04-22)

Rambus DRAM
storage A high bandwidth DRAM, designed by Rambus, Inc. of Mountain View, CA.
RDRAM is used mainly for video accelerators, and also in the Ultra 64 from Nintendo. It offers sustained transfer rates of around 1000 Mbps, compared to 200 Mbps for ordinary DRAM. Although it cannot be used as a direct replacement for existing memory, it is likely that it will replace DRAM and SDRAM as the main memory system in personal computers as the bus speeds required by these machines increase. SDRAM can operate up to around 100MHz, but RDRAM has been demonstrated by the manufacturers running at 600MHz.
The memory is also only 8 or 9 bits wide, so the bandwidth would increase enormously if it were used in parallel to give 32 or 64-bit memory.
(1996-12-13)

Rambus, Inc.
company The company which designed Rambus DRAM.
Home (http://www.rambus.com/).
Address: Mountain View, CA., USA.
(1996-12-15)

RAMDAC
Random Access Memory Digital-to-Analog Converter

RAM disk
operating system, storage A memory-resident program which mimics a hard disk drive. It uses part of computer's RAM to store data which can be accessed as files. Unlike a real disk drive, this drive forgets all stored data when the computer is turned off.
(1995-03-14)

RAM drive
RAM disk

RAMIS II
Rapid Access Management Information System.
A database from On-Line Software International.
(1994-11-14)

RAMTRON
company The company which holds the patents for FRAM and licenses the technology to other companies.
The licensees are currently (Feb 1997) Hitachi, Rohm, Samsung, SGS-Thomson and Toshiba, none of who offer FRAM products of their own yet.
Home (http://www.csn.net/ramtron/).
(1997-02-19)

random
1. Unpredictable (closest to mathematical definition); weird. The system's been behaving pretty randomly.
2. Assorted; undistinguished. Who was at the conference? Just a bunch of random business types.
3. (pejorative) Frivolous; unproductive; undirected. He's just a random loser.
4. Incoherent or inelegant; poorly chosen; not well organised. The program has a random set of misfeatures. That's a random name for that function. Well, all the names were chosen pretty randomly.
5. In no particular order, though deterministic. The I/O channels are in a pool, and when a file is opened one is chosen randomly.
6. Arbitrary. It generates a random name for the scratch file.
7. Gratuitously wrong, i.e. poorly done and for no good apparent reason. For example, a program that handles file name defaulting in a particularly useless way, or an assembler routine that could easily have been coded using only three registers, but redundantly uses seven for values with non-overlapping lifetimes, so that no one else can invoke it without first saving four extra registers. What randomness!
8. A random hacker; used particularly of high-school students who soak up computer time and generally get in the way.
9. Anyone who is not a hacker (or, sometimes, anyone not known to the hacker speaking). I went to the talk, but the audience was full of randoms asking bogus questions .
10. (occasional MIT usage) One who lives at Random Hall. See also J. Random, some random X.
[Jargon File]
(1995-12-05)

random-access memory
storage (RAM) (Previously direct-access memory ). A data storage device for which the order of access to different locations does not affect the speed of access. This is in contrast to, say, a magnetic disk, magnetic tape or a mercury delay line where it is very much quicker to access data sequentially because accessing a non-sequential location requires physical movement of the storage medium rather than just electronic switching.
The most common form of RAM in use today is built from semiconductor integrated circuits, which can be either static (SRAM) or dynamic (DRAM). In the 1970s magnetic core memory was used. RAM is still referred to as core by some old-timers.
The term RAM has gained the additional meaning of read-write. Most kinds of semiconductor read-only memory (ROM) are actually random access in the above sense but are never referred to as RAM. Furthermore, memory referred to as RAM can usually be read and written equally quickly (approximately), in contrast to the various kinds of programmable read-only memory. Finally, RAM is usually volatile though non-volatile random-access memory is also used.
Interestingly, some DRAM devices are not truly random access because various kinds of page mode or column mode mean that sequential access is faster than random access.
(1995-12-05)

Random Access Memory Digital-to-Analog Converter
hardware (RAMDAC) A combination of three fast DACs with a small SRAM used in graphics display adapters to store the colour palette and to generate the analog signals to drive a colour monitor. The logical colour number from the display memory is fed into the address inputs of the SRAM to select a palette entry to appear on the output of the SRAM. This entry is composed of three separate values corresponding to the three components (red, green, and blue) of the desired physical colour. Each component value is fed to a separate DAC, whose analog output goes to the monitor, and ultimately to one of its three electron guns (or equivalent in non-CRT displays).
DAC word lengths range usually from 6 to 10 bits. The SRAM's wordlength is three times the DAC's word length. The SRAM acts as a colour lookup table. It usually has 256 entries (and thus an 8-bit address). If the DAC's word length is also 8 bits, we have a 256 x 24-bit SRAM which allows a selection of 256 out of 16777216 possible colours for the display. The contents of the SRAM can be changed while the display is not active (during display blanking times). The SRAM can usually be bypassed and the DACs can be fed directly by display data (for true colour modes).
(1996-03-24)

randomness
1. An inexplicable misfeature; gratuitous inelegance.
2. A hack or crock that depends on a complex combination of coincidences (or, possibly, the combination upon which the crock depends for its accidental failure to malfunction). This hack can output characters 40--57 by putting the character in the four bit accumulator field of an XCT and then extracting six bits - the low 2 bits of the XCT opcode are the right thing. What randomness!
3. Of people, synonymous with flakiness . The connotation is that the person so described is behaving weirdly, incompetently, or inappropriately for reasons which are (a) too tiresome to bother inquiring into, (b) are probably as inscrutable as quantum phenomena anyway, and (c) are likely to pass with time. Maybe he has a real complaint, or maybe it's just randomness. See if he calls back.
[Jargon File]

random numbers
1. programming pseudorandom number.
2. jargon When one wishes to specify a large but random number of things, and the context is inappropriate for N, certain numbers are preferred by hacker tradition (that is, easily recognised as placeholders). These include the following:
17 - Long described at MIT as the least random number ; see 23.
23 - Sacred number of Eris, Goddess of Discord (along with 17 and 5).
42 - The Answer to the Ultimate Question of Life, the Universe, and Everything, as revealed in Douglas Adams' Hitchhiker's Guide to the Galaxly . Note that this answer is completely fortuitous :-) (US pronunciation). It has been observed that in the little-used number base 13, the answer to the ultimate question, What is 6 x 9? , is indeed 42, showing that in six dimensions white mice have 13 digits.
69 - From the sexual act. This one was favoured in MIT's ITS culture.
105 - 69 hex = 105 decimal and 69 decimal = 105 octal.
666 - The Number of the Beast.
For further enlightenment, study the Principia Discordia , The Joy of Sex , and the Christian Bible (Revelation 13:18).
See also Discordianism or consult your pineal gland. See also for values of.
(1997-02-10)

random testing
programming, testing A black-box testing approach in which software is tested by choosing an arbitrary subset of all possible input values. Random testing helps to avoid the problem of only testing what you know will work.
(2001-04-30)

range
image

Rapid Application Development
programming (RAD) A loose term for any software life-cycle designed to give faster development and better results and to take maximum advantage of recent advances in development software.
RAD is associated with a wide range of approaches to software development: from hacking away in a GUI builder with little in the way of analysis and design to complete methodologies expanding on an information engineering framework.
Some of the current RAD techniques are: CASE tools, iterative life-cycles, prototyping, workshops, SWAT teams, timebox development, and Re-use of applications, templates and code.
RAD at BSO/Den Haag (http://www.riv.nl/origin/company/denhaag/RAD.HTM).
[ Rapid Application Development , James Martin].
(1995-09-23)

RapidCAD
processor A specially packaged Intel 486DX and a dummy floating point unit (FPU) designed as pin-compatible replacements for an Intel 80386 processor and 80387 FPU. Since the DX variant has a working on-chip FPU, a dummy FPU package is supplied to go in the 387 FPU socket.
(1995-05-10)

Rapidly Extensible Language, English
language (REL English) A formal language based on English.
[ Practical Natural Language Processing: The REL System as Prototype , Adv in Computers 13, Academic Press 1975].
(1997-04-09)

rapid prototyping
programming The creation of a working model of a software module to demonstrate the feasibility of the function. The prototype is later refined for inclusion in a final product.
(1996-05-29)

Rapidwrite
language, tool A method for translating set of abbreviations into the much more verbose COBOL code.
[Sammet 1969, p. 338].
(1995-05-10)

RAPT
[ An Interpreter for a Language for Describing Assemblies , R.J. Popplestone et al, Artif Intell 14:79-107 (1980)].
(1995-05-10)

RARE
Réseaux Associés pour la Recherche Européenne

rare mode
operating system Unix CBREAK mode (character-by-character with keyboard interrupts enabled). Distinguished from raw mode and cooked mode; the phrase a sort of half-cooked (rare?) mode is used in the V7/BSD manuals to describe the mode. Usage: rare.
[Jargon File]
(1995-05-10)

RARP
Reverse Address Resolution Protocol

RAS
1. hardware, storage Row Address Strobe.
2. communications Remote Access Services.
3. system Reliability, Availability, Serviceability.
(2000-08-13)

RASP
language [ RASP - A Language with Operations on Fuzzy Sets , D.D. Djakovic, Comp Langs 13(3):143-148 (1988)].
(1995-05-10)

raster
hardware The area of a video display that is covered by sweeping the electron beam of the display in a series of horizontal lines from top to bottom. The beam then returns to the top during the vertical flyback interval.
See also CRT, frame buffer.
(1995-03-22)

raster blaster
hardware, jargon (Cambridge) Specialised hardware for bitblt operations (a blitter). Allegedly inspired by Rasta Blasta , British slang for the sort of portable stereo Americans call a boom box or ghetto blaster .
[Jargon File]
(1995-03-22)

raster burn
1. (Or terminal illness) Eyestrain brought on by too many hours of looking at low-resolution, poorly tuned, or glare-ridden monitors, especially graphics monitors.
2. The burn-in condition your CRT tends to get if you don't use a screen saver.
[Jargon File]

raster font
bitmap font

rastergram
Single Image Random Dot Stereogram

raster graphics
graphics Computer graphics in which an image is composed of an array of pixels arranged in rows and columns.
Opposite: vector graphics.
(1995-03-22)

raster subsystem
graphics The part of a graphics system concerned with an image after it has been transformed and scaled to screen coordinates. It includes scan conversion and display.
(1995-03-22)

Ratatosk
An SLR parser generator written in Gofer (a Haskell variant) by Torben AEgidius Mogensen torbenm@diku.dk . Ratatosk generates purely functional backtracking LR0 grammar parsers (also in Gofer).
Even though the sematic value of a production is a function of the attributes of its right-hand side (and thus apparently purely synthesised), inherited attributes are easily simulated by using higher-order functions.
(ftp://ftp.diku.dk/pub/diku/dists/Ratatosk.tar.Z)

rat belt
A cable tie, especially the sawtoothed, self-locking plastic kind that you can remove only by cutting (as opposed to a random twist of wire or a twist tie or one of those humongous metal clip frobs). Small cable ties are mouse belts .
[Jargon File]

RatC
Rationalized C

RATEL
Raytheon Automatic Test Equipment Language. For analog and digital computer controlled test centres. Automatic Testing via a Distributed Intelligence Processing System , S.J. Ring, IEEE AUTOTESTCON 77 (Nov 1977).

Rate monotonic scheduling
algorithm A means of scheduling the time allocated to periodic hard-deadline real-time users of a resource. The users are assigned priorities such that a shorter fixed period between deadlines is associated with a higher priority.
Rate monotonic scheduling provides a low-overhead, reasonably resource-efficient means of guaranteeing that all users will meet their deadlines provided that certain analytical equations are satisfied during the system design. It avoids the design complexity of time-line scheduling and the overhead of dynamic approaches such as earliest-deadline scheduling.
[D. R. Wilcox, Naval Ocean Systems Center Technical Report 1310, August 1989, Periodic Phase Adjustment Distributed Clock Synchronization in the Hard Realtime Environment , p. 9].
(1996-03-23)

RATFIV
Successor to RATFOR.

RATFOR
RATional Fortran

rational
[Mathematics] a fractional number n/d, where n and d are integers, n is the numerator and d is the denominator. The set of all rational numbers is usually called Q. Computers do not usually deal with rational numbers but instead convert them to real numbers which are represented (approximately in some cases) as floating-point numbers. Compare irrational.

RATional Fortran
language (RATFOR) Brian Kernighan's Fortran preprocessor that allows programming with C-like control flow. RATFOR is mainly of historical significance.
A translator from Ratfor to Fortran IV was posted to comp.sources.Unix volume 13.
(ftp://ftp.wustl.edu/mirrors/Unix-c/languages/ratfor.tar-z).
[ Ratfor - A Preprocessor for a Rational Fortran , B.W. Kernighan, Soft Prac Exp 5:395-406, Oct 1975].
[ Software Tools , B.W. Kernighan P.J. Plauger, A-W, 1976].
(2001-07-31)

Rationalized C
language (RatC, after RATFOR ) A version of Ron Cain's original Small-C compiler.
[ A Book on C , R.E. Berry and B.A. Meekings, 1984, ISBN 0-333-36821-5].
[In what way was it rationalized ?]
(1999-06-28)

rave
[WPI] 1. To persist in discussing a specific subject.
2. To speak authoritatively on a subject about which one knows very little.
3. To complain to a person who is not in a position to correct the difficulty.
4. To purposely annoy another person verbally.
5. To evangelise. See flame.
6. Also used to describe a less negative form of blather, such as friendly bullshitting. Rave differs slightly from flame in that rave implies that it is the persistence or obliviousness of the person speaking that is annoying, while flame implies somewhat more strongly that the tone or content is offensive as well.
[Jargon File]

rave on!
Sarcastic invitation to continue a rave, often by someone who wishes the raver would get a clue but realises this is unlikely.

raw data
data

raw mode
operating system A mode that allows a program to transfer bits directly to or from an I/O device without any processing, abstraction, or interpretation by the operating system.
Systems that make this distinction for a disk file are generally regarded as broken.
Compare rare mode, cooked mode.
[Jargon File]
(2002-04-14)

RAWOOP-SNAP
language An early system on the IBM 1103 or 1103A.
[Listed in CACM 2(5):16, May 1959].
(1996-05-29)

Rayleigh distribution
mathematics A curve that yields a good approximation to the actual labour curves on software projects.
[Details? Equation?]
(1996-05-29)

ray tracing
graphics A technique used in computer graphics to create realistic images by calculating the paths taken by rays of light entering the observer's eye at different angles. The paths are traced backwards from the viewpoint, through a point (a pixel) in the image plane until they hit some object in the scene or go off to infinity. Objects are modelled as collections of abutting surfaces which may be rectangles, triangles, or more complicated shapes such as 3D splines. The optical properties of different surfaces (colour, reflectance, transmitance, refraction, texture) also affect how it will contribute to the colour and brightness of the ray. The position, colour, and brightness of light sources, including ambient lighting, is also taken into account.
Ray tracing is an ideal application for parallel processing since there are many pixels, each of whose values is independent and can thus be calculated in parallel.
Usenet newsgroup: news:comp.graphics.raytracing.
(http://directory.google.com/Top/Computers/Software/Graphics/3D/Ray_Tracing/).
(2002-07-02)

R:BASE
MS-DOS 4GL from Microrim. Based on Minicomputer DBMS RIM.
[Was Wayne Erickson the author?]

RBASIC
Database language for Revelation, by Cosmos, Inc. Combines features of BASIC, Pascal and Fortran.

RBCSP
Roper and Barter's CSP.
[ A Communicating Sequential Process Language and Implementation , T. Roper J. Barter, Soft Prac Exp 11(11):1215-1234 (Nov 1981)].

RBOC
Regional Bell Operating Company

rc
1. filename extension (run commands) The filename extension common to many Unix configuration files, e.g. .newsrc, .cshrc, .twmrc, elmrc, etc.
The suffix rc derives from a script-creation utility in CTSS called runcom (for run commands ).
Unix FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/unix-faq/faq/top.html).
2. A shell from AT T's Plan 9, by Tom Duff. rc offers much the same capabilities as a traditional Bourne shell, but with a much cleaner syntax.
An open source reimplementation was made by Byron Rakitzis, and is now maintained by Tim Goodwin tjg@star.le.ac.uk .
Latest version: 1.6, as of 2000-06-15.
Home (http://www.star.le.ac.uk/~tjg/rc).
(2000-06-17)

RC4
cryptography A cipher designed by RSA Data Security, Inc. which can accept keys of arbitrary length, and is essentially a pseudo random number generator with the output of the generator being XORed with the data stream to produce the encrypted data. For this reason, it is very important that the same RC4 key never be used to encrypt two different data streams. The encryption mechanism used to be a trade secret, until someone posted source code for an algorithm onto Usenet News, claiming it to be equivalent to RC4. The algorithm is very fast, its security is unknown, but breaking it does not seem trivial either. There is very strong evidence that the posted algorithm is indeed equivalent to RC4.
The United States government routinely approves RC4 with 40-bit keys for export. Keys this small can be easily broken by governments, criminals, and amateurs. The exportable version of Netscape's Secure Socket Layer, which uses RC4-40, was broken by at least two independent groups. Breaking it took about eight days; in many universities or companies the same computing power is available to any computer science student.
See also Damien Doligez's SSL cracking page (http://pauillac.inria.fr/~doligez/ssl/), RC4 Source and Information (http://www.cs.hut.fi/crypto/rc4), SSLeay (http://www.cs.hut.fi/crypto/software.html#ssleay), Crypto++ (http://www.cs.hut.fi/crypto/software.html#crypto++), Ssh (http://www.cs.hut.fi/crypto/software.html#ssh), A collection of articles (http://www.cs.hut.fi/crypto/rc4-breaking).
(1996-10-28)

RCA 1802
processor An extremely simple microprocessor fabricated in CMOS, running at 6.4 MHz at 10V (very fast for 1974). It could be suspended with the clock stopped. It was an 8-bit processor, with 16-bit addressing. Simplicity was the primary design goal, and in that sense it was one of the first RISC chips. It had sixteen 16-bit registers, which could be accessed as thirty-two 8-bit registers, and an accumulator D used for arithmetic and memory access - memory to D, then D to registers and vice versa, using one 16-bit register as an address. This led to one person describing the 1802 as having 32 bytes of RAM and 65535 I/O ports. A 4-bit control register P selected any one general register as the program counter, while control registers X and N selected registers for I/O Index and the operand for the current instruction. All instructions were 8 bits - a 4-bit op code (total of 16 operations) and 4-bit operand register stored in N. There was no real conditional branching, no subroutine support and no actual stack but these could be implemented by clever use of registers, e.g. changing P to another register allowed jump to a subroutine. Similarly, on an interrupt P and X were saved, then R1 and R2 were selected for P and X until an RTI restored them.
The RCA 1805 was an enhanced version.
The 1802 was used in the COSMAC (VIP?) microcomputer kit, some video games from RCA and Radio Shack, and the ETI-660 computer. It was chosen for the Voyager, Viking and Galileo space probes as it was also fabricated in Silicon on Sapphire, giving radiation and static resistance, ideal for space operation.
More history (http://www.cosmacelf.com).
(2002-04-09)

RCA 1805
A later, enhanced version of the RCA 1802. It added several Forth language primitives.
(1994-11-16)

RCC
An extensible language.
[More detail?]

rc file
/R C fi:l/ [Unix: from the startup script /etc/rc , but this is commonly believed to have been named after older scripts to run commands ] Script file containing startup instructions for an application program (or an entire operating system), usually a text file containing commands of the sort that might have been invoked manually once the system was running but are to be executed automatically each time the system starts up. See also dot file, profile (sense 1).
[Jargon File]

RCL
Reduced Control Language. A simplified job control language for OS360, translated to IBM JCL. Reduced Control Language for Non- Professional Users , K. Appel in Command Languages, C. Unger ed, N-H 1973.

rcp
networking, tool (Remote copy) The Unix utility for copying files over Ethernet. Rcp is similar to FTP but uses the hosts.equiv user authentication method.
Unix manual page: rcp(1).
(1997-01-12)

RCS
Revision Control System

Rdb
Oracle Rdb

rdb
A roll-your-own database, created in the Unix toolkit philosophy. It appears to be written in the awk language, and is very compatible with awk. It uses awk's syntax and can be combined with awk commands.
The definitive introduction is Unix Relational Database Management: Application Development in the Unix Environment , by Rod Manis, Evan Schaeffer, and Robert Jorgensen, published by Prentice Hall. The book tells how to use rdb to create database/spreadsheets in the awk tradition, only easier. It's a good way to get into programming for novices. It's also a good way to learn DB theory and construction quite painlessly.

RDBA
Remote Database Access

RDBMS
relational database

RDF
Resource Description Framework

RDI
Receiver Data Interface

RDL
Requirements and Development Language.
[ RDL: A Language for Software Development , H.C. Heacox, SIGPLAN Notices 14(9):71-79 (Sep 1979)].

RDOS
Realtime Disk Operating System

RDRAM
Rambus DRAM

RDS
Random Dot Stereogram

RE
regular expression

re
1. networking The country code for Reunion.
2. chat /re-/ (From rehi ) Hello again. A greeting originating in, and most often heard on, Internet interactive conversation services.
[Jargon File]
(1999-02-08)

README file
convention An introduction traditionally included in the top-level directory of a Unix source distribution, containing a pointer to more detailed documentation, credits, miscellaneous revision history, notes, etc. The file may be named README, or READ.ME, or rarely ReadMe or readme.txt or some other variant.
In the Macintosh and IBM PC worlds, software is not usually distributed in source form, and the README is more likely to contain user-oriented material like last-minute documentation changes, error workarounds, and restrictions.
The README convention probably follows the famous scene in Lewis Carroll's Alice's Adventures In Wonderland in which Alice confronts magic munchies labelled Eat Me and Drink Me .
[Jargon File]
(1995-02-28)

Read-Only Memory
storage (ROM) A type of data storage device which is manufactured with fixed contents. In its most general sense, the term might be used for any storage system whose contents cannot be altered, such as a gramophone record or a printed book; however, the term is most often applied to semiconductor integrated circuit memories, of which there are several types, and CD-ROM.
ROM is inherently non-volatile storage - it retains its contents even when the power is switched off, in contrast to RAM.
ROM is often used to hold programs for embedded systems since these usually have a fixed purpose. ROM is also used for storage of the lowest level bootstrap software (firmware) in a computer.
See also Programmable Read-Only Memory.
(1995-05-09)

read-only user
jargon Describes a luser who uses computers almost exclusively for reading Usenet, bulletin boards, and/or electronic mail, rather than writing code or purveying useful information.
See twink, terminal junkie, lurker.
[Jargon File]
(1995-02-28)

real
1. Not simulated. Often used as a specific antonym to virtual in any of its jargon senses.
2. mathematics real number.
[Jargon File]
(1997-03-12)

RealAudio
tool, communications A program from Real Media for playing audio over the Internet, and the lossy audio compression format it uses.
The system is implemented as a client/server architecture. The RealAudio server incorporates an encoder which compresses sound into RealAudio files. The client side is a web browser plug-in or add-on (a recent version of Internet Explorer apparently has built-in support for RealAudio) which allows the stream of data sent from the server to be uncompressed and output using the normal sound facilities of the computer, such as a sound card.
A 14.4 KBps or better modem is required, and a 28.8 KBps connection is recommended for music-quality sound.
Home (http://www.realaudio.com/).
(2001-12-13)

real estate
jargon May be used for any critical resource measured in units of area. Most frequently used of chip real estate , the area available for logic on the surface of an integrated circuit (see also nanoacre). May also be used of floor space in a dinosaur pen, or even space on a crowded desktop (whether physical or electronic).
[Jargon File]
(1996-11-06)

real hack
A crock. This is sometimes used affectionately; see hack.
[Jargon File]

reality check
1. The simplest kind of test of software or hardware; doing the equivalent of asking it what 2 + 2 is and seeing if you get 4. The software equivalent of a smoke test.
2. The act of letting a real user try out prototype software.
Compare sanity check.

real mode
An operating mode of Intel 80x86 processors. The opposite of protected mode.
(1995-03-29)

real number
mathematics One of the infinitely divisible range of values between positive and negative infinity, used to represent continuous physical quantities such as distance, time and temperature.
Between any two real numbers there are infinitely many more real numbers. The integers ( counting numbers ) are real numbers with no fractional part and real numbers ( measuring numbers ) are complex numbers with no imaginary part. Real numbers can be divided into rational numbers and irrational numbers.
Real numbers are usually represented (approximately) by computers as floating point numbers.
Strictly, real numbers are the equivalence classes of the Cauchy sequences of rationals under the equivalence relation ~ , where a ~ b if and only if a-b is Cauchy with limit 0.
The real numbers are the minimal topologically closed field containing the rational field.
A sequence, r, of rationals (i.e. a function, r, from the natural numbers to the rationals) is said to be Cauchy precisely if, for any tolerance delta there is a size, N, beyond which: for any n, m exceeding N,
| r[n] - r[m] | delta
A Cauchy sequence, r, has limit x precisely if, for any tolerance delta there is a size, N, beyond which: for any n exceeding N,
| r[n] - x | delta
(i.e. r would remain Cauchy if any of its elements, no matter how late, were replaced by x).
It is possible to perform addition on the reals, because the equivalence class of a sum of two sequences can be shown to be the equivalence class of the sum of any two sequences equivalent to the given originals: ie, a~b and c~d implies a+c~b+d; likewise a.c~b.d so we can perform multiplication. Indeed, there is a natural embedding of the rationals in the reals (via, for any rational, the sequence which takes no other value than that rational) which suffices, when extended via continuity, to import most of the algebraic properties of the rationals to the reals.
(1997-03-12)

real operating system
operating system, abuse The sort the speaker is used to. People from the BSDophilic academic community are likely to issue comments like System V? Why don't you use a *real* operating system? , people from the commercial/industrial Unix sector are known to complain BSD? Why don't you use a *real* operating system? , and people from IBM object Unix? Why don't you use a *real* operating system?
See holy wars, religious issues, proprietary, Get a real computer!.
[Jargon File]
(1997-03-12)

Real Programmer
job, humour (From the book Real Men Don't Eat Quiche ) A variety of hacker possessed of a flippant attitude toward complexity that is arrogant even when justified by experience. The archetypal Real Programmer likes to program on the bare metal and is very good at it, remembers the binary op codes for every machine he has ever programmed, thinks that high-level languages are sissy, and uses a debugger to edit his code because full-screen editors are for wimps. Real Programmers aren't satisfied with code that hasn't been bummed into a state of tenseness just short of rupture.
Real Programmers never use comments or write documentation: If it was hard to write , says the Real Programmer, it should be hard to understand. Real Programmers can make machines do things that were never in their spec sheets; in fact, they are seldom really happy unless doing so. A Real Programmer's code can awe with its fiendish brilliance, even as its crockishness appals.
Real Programmers live on junk food and coffee, hang line-printer art on their walls, and terrify the crap out of other programmers - because someday, somebody else might have to try to understand their code in order to change it. Their successors generally consider it a Good Thing that there aren't many Real Programmers around any more.
For a famous (and somewhat more positive) portrait of a Real Programmer, see The Story of Mel . The term itself was popularised by a 1983 Datamation article Real Programmers Don't Use Pascal by Ed Post, still circulating on Usenet and Internet in on-line form.
[Jargon File]
(1997-08-29)

Real Programmers Don't Use Pascal
humour Back in the good old days - the Golden Era of computers, it was easy to separate the men from the boys (sometimes called Real Men and Quiche Eaters in the literature). During this period, the Real Men were the ones that understood computer programming, and the Quiche Eaters were the ones that didn't. A real computer programmer said things like DO 10 I=1,10 and ABEND (they actually talked in capital letters, you understand), and the rest of the world said things like computers are too complicated for me and I can't relate to computers - they're so impersonal . (A previous work [1] points out that Real Men don't relate to anything, and aren't afraid of being impersonal.)
But, as usual, times change. We are faced today with a world in which little old ladies can get computers in their microwave ovens, 12-year-old kids can blow Real Men out of the water playing Asteroids and Pac-Man, and anyone can buy and even understand their very own Personal Computer. The Real Programmer is in danger of becoming extinct, of being replaced by high-school students with TRASH-80s.
There is a clear need to point out the differences between the typical high-school junior Pac-Man player and a Real Programmer. If this difference is made clear, it will give these kids something to aspire to -- a role model, a Father Figure. It will also help explain to the employers of Real Programmers why it would be a mistake to replace the Real Programmers on their staff with 12-year-old Pac-Man players (at a considerable salary savings).
LANGUAGES
The easiest way to tell a Real Programmer from the crowd is by the programming language he (or she) uses. Real Programmers use Fortran. Quiche Eaters use Pascal. Nicklaus Wirth, the designer of Pascal, gave a talk once at which he was asked how to pronounce his name. He replied, You can either call me by name, pronouncing it 'Veert', or call me by value, 'Worth'. One can tell immediately from this comment that Nicklaus Wirth is a Quiche Eater. The only parameter passing mechanism endorsed by Real Programmers is call-by-value-return, as implemented in the IBM 370 Fortran-G and H compilers. Real programmers don't need all these abstract concepts to get their jobs done - they are perfectly happy with a keypunch, a Fortran IV compiler, and a beer.
Real Programmers do List Processing in Fortran.
Real Programmers do String Manipulation in Fortran.
Real Programmers do Accounting (if they do it at all) in Fortran.
Real Programmers do Artificial Intelligence programs in Fortran.
If you can't do it in Fortran, do it in assembly language. If you can't do it in assembly language, it isn't worth doing.
STRUCTURED PROGRAMMING
The academics in computer science have gotten into the structured programming rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the examples they use to show their particular point of view invariably fit on a single page of some obscure journal or another - clearly not enough of an example to convince anyone. When I got out of school, I thought I was the best programmer in the world. I could write an unbeatable tic-tac-toe program, use five different computer languages, and create 1000-line programs that WORKED. (Really!) Then I got out into the Real World. My first task in the Real World was to read and understand a 200,000-line Fortran program, then speed it up by a factor of two. Any Real Programmer will tell you that all the Structured Coding in the world won't help you solve a problem like that - it takes actual talent. Some quick observations on Real Programmers and Structured Programming:
Real Programmers aren't afraid to use GOTOs.
Real Programmers can write five-page-long DO loops without getting confused.
Real Programmers like Arithmetic IF statements - they make the code more interesting.
Real Programmers write self-modifying code, especially if they can save 20 nanoseconds in the middle of a tight loop.
Real Programmers don't need comments - the code is obvious.
Since Fortran doesn't have a structured IF, REPEAT ... UNTIL, or CASE statement, Real Programmers don't have to worry about not using them. Besides, they can be simulated when necessary using assigned GOTOs.
Data Structures have also gotten a lot of press lately. Abstract Data Types, Structures, Pointers, Lists, and Strings have become popular in certain circles. Wirth (the above-mentioned Quiche Eater) actually wrote an entire book [2] contending that you could write a program based on data structures, instead of the other way around. As all Real Programmers know, the only useful data structure is the Array. Strings, lists, structures, sets - these are all special cases of arrays and can be treated that way just as easily without messing up your programing language with all sorts of complications. The worst thing about fancy data types is that you have to declare them, and Real Programming Languages, as we all know, have implicit typing based on the first letter of the (six character) variable name.
OPERATING SYSTEMS
What kind of operating system is used by a Real Programmer? CP/M? God forbid - CP/M, after all, is basically a toy operating system. Even little old ladies and grade school students can understand and use CP/M.
Unix is a lot more complicated of course - the typical Unix hacker never can remember what the PRINT command is called this week - but when it gets right down to it, Unix is a glorified video game. People don't do Serious Work on Unix systems: they send jokes around the world on UUCP-net and write adventure games and research papers.
No, your Real Programmer uses OS 370. A good programmer can find and understand the description of the IJK305I error he just got in his JCL manual. A great programmer can write JCL without referring to the manual at all. A truly outstanding programmer can find bugs buried in a 6 megabyte core dump without using a hex calculator. (I have actually seen this done.)
OS is a truly remarkable operating system. It's possible to destroy days of work with a single misplaced space, so alertness in the programming staff is encouraged. The best way to approach the system is through a keypunch. Some people claim there is a Time Sharing system that runs on OS 370, but after careful study I have come to the conclusion that they were mistaken.
PROGRAMMING TOOLS
What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory - it didn't go away when the power went off. Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymore, needless to say, is a Real Programmer.
One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and lineprinter in his toolkit, he can get along with just a front panel and a telephone in emergencies.
In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a text editor program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers [3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.
Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems - Emacs and VI being two. The problem with these editors is that Real Programmers consider what you see is what you get to be just as bad a concept in Text Editors as it is in women. No the Real Programmer wants a you asked for it, you got it text editor - complicated, cryptic, powerful, unforgiving, dangerous. TECO, to be precise.
It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text [4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse - introduce subtle and mysterious bugs in a once working subroutine.
For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original Fortran code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job - no Quiche Eating structured programmer would even know where to start. This is called job security .
Some programming tools NOT used by Real Programmers:
Fortran preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming - great for making Quiche. See comments above on structured programming.
Source language debuggers. Real Programmers can read core dumps.
Compilers with array bounds checking. They stifle creativity, destroy most of the interesting uses for EQUIVALENCE, and make it impossible to modify the operating system code with negative subscripts. Worst of all, bounds checking is inefficient.
Source code maintenance systems. A Real Programmer keeps his code locked up in a card file, because it implies that its owner cannot leave his important programs unguarded [5].
THE REAL PROGRAMMER AT WORK
Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no Real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).
Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.
Real Programmers work for the National Security Agency, decoding Russian transmissions.
It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.
Real Programmers are at work for Boeing designing the operating systems for cruise missiles.
Some of the most awesome Real Programmers of all work at the Jet Propulsion Laboratory in California. Many of them know the entire operating system of the Pioneer and Voyager spacecraft by heart. With a combination of large ground-based Fortran programs and small spacecraft-based assembly language programs, they are able to do incredible feats of navigation and improvisation - hitting ten-kilometer wide windows at Saturn after six years in space, repairing or bypassing damaged sensor platforms, radios, and batteries. Allegedly, one Real Programmer managed to tuck a pattern-matching program into a few hundred bytes of unused memory in a Voyager spacecraft that searched for, located, and photographed a new moon of Jupiter.
The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/-3 kilometers of the surface of Mars. Nobody is going to trust a Pascal program (or a Pascal programmer) for navigation to these tolerances.
As you can tell, many of the world's Real Programmers work for the U.S. Government - mainly the Defense Department. This is as it should be. Recently, however, a black cloud has formed on the Real Programmer horizon. It seems that some highly placed Quiche Eaters at the Defense Department decided that all Defense programs should be written in some grand unified language called ADA ((C), DoD). For a while, it seemed that ADA was destined to become a language that went against all the precepts of Real Programming - a language with structure, a language with data types, strong typing, and semicolons. In short, a language designed to cripple the creativity of the typical Real Programmer. Fortunately, the language adopted by DoD has enough interesting features to make it approachable -- it's incredibly complex, includes methods for messing with the operating system and rearranging memory, and Edsgar Dijkstra doesn't like it [6]. (Dijkstra, as I'm sure you know, was the author of GoTos Considered Harmful - a landmark work in programming methodology, applauded by Pascal programmers and Quiche Eaters alike.) Besides, the determined Real Programmer can write Fortran programs in any language.
The Real Programmer might compromise his principles and work on something slightly more trivial than the destruction of life as we know it, providing there's enough money in it. There are several Real Programmers building video games at Atari, for example. (But not playing them - a Real Programmer knows how to beat the machine every time: no challenge in that.) Everyone working at LucasFilm is a Real Programmer. (It would be crazy to turn down the money of fifty million Star Trek fans.) The proportion of Real Programmers in Computer Graphics is somewhat lower than the norm, mostly because nobody has found a use for computer graphics yet. On the other hand, all computer graphics is done in Fortran, so there are a fair number of people doing graphics in order to avoid having to write COBOL programs.
THE REAL PROGRAMMER AT PLAY
Generally, the Real Programmer plays the same way he works - with computers. He is constantly amazed that his employer actually pays him to do what he would be doing for fun anyway (although he is careful not to express this opinion out loud). Occasionally, the Real Programmer does step out of the office for a breath of fresh air and a beer or two. Some tips on recognizing Real Programmers away from the computer room:
At a party, the Real Programmers are the ones in the corner talking about operating system security and how to get around it.
At a football game, the Real Programmer is the one comparing the plays against his simulations printed on 11 by 14 fanfold paper.
At the beach, the Real Programmer is the one drawing flowcharts in the sand.
At a funeral, the Real Programmer is the one saying Poor George, he almost had the sort routine working before the coronary.
In a grocery store, the Real Programmer is the one who insists on running the cans past the laser checkout scanner himself, because he never could trust keypunch operators to get it right the first time.
THE REAL PROGRAMMER'S NATURAL HABITAT
What sort of environment does the Real Programmer function best in? This is an important question for the managers of Real Programmers. Considering the amount of money it costs to keep one on the staff, it's best to put him (or her) in an environment where he can get his work done.
The typical Real Programmer lives in front of a computer terminal. Surrounding this terminal are:
Listings of all programs the Real Programmer has ever worked on, piled in roughly chronological order on every flat surface in the office.
Some half-dozen or so partly filled cups of cold coffee. Occasionally, there will be cigarette butts floating in the coffee. In some cases, the cups will contain Orange Crush.
Unless he is very good, there will be copies of the OS JCL manual and the Principles of Operation open to some particularly interesting pages.
Taped to the wall is a line-printer Snoopy calendar for the year 1969.
Strewn about the floor are several wrappers for peanut butter filled cheese bars - the type that are made pre-stale at the bakery so they can't get any worse while waiting in the vending machine.
Hiding in the top left-hand drawer of the desk is a stash of double-stuff Oreos for special occasions.
Underneath the Oreos is a flowcharting template, left there by the previous occupant of the office. (Real Programmers write programs, not documentation. Leave that to the maintenance people.)
The Real Programmer is capable of working 30, 40, even 50 hours at a stretch, under intense pressure. In fact, he prefers it that way. Bad response time doesn't bother the Real Programmer - it gives him a chance to catch a little sleep between compiles. If there is not enough schedule pressure on the Real Programmer, he tends to make things more challenging by working on some small but interesting part of the problem for the first nine weeks, then finishing the rest in the last week, in two or three 50-hour marathons. This not only impresses the hell out of his manager, who was despairing of ever getting the project done on time, but creates a convenient excuse for not doing the documentation. In general:
No Real Programmer works 9 to 5 (unless it's the ones at night).
Real Programmers don't wear neckties.
Real Programmers don't wear high-heeled shoes.
Real Programmers arrive at work in time for lunch [9].
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII (or EBCDIC) code table.
Real Programmers don't know how to cook. Grocery stores aren't open at three in the morning. Real Programmers survive on Twinkies and coffee.
THE FUTURE
What of the future? It is a matter of some concern to Real Programmers that the latest generation of computer programmers are not being brought up with the same outlook on life as their elders. Many of them have never seen a computer with a front panel. Hardly anyone graduating from school these days can do hex arithmetic without a calculator. College graduates these days are soft - protected from the realities of programming by source level debuggers, text editors that count parentheses, and user friendly operating systems. Worst of all, some of these alleged computer scientists manage to get degrees without ever learning Fortran! Are we destined to become an industry of Unix hackers and Pascal programmers?
From my experience, I can only report that the future is bright for Real Programmers everywhere. Neither OS 370 nor Fortran show any signs of dying out, despite all the efforts of Pascal programmers the world over. Even more subtle tricks, like adding structured coding constructs to Fortran have failed. Oh sure, some computer vendors have come out with Fortran 77 compilers, but every one of them has a way of converting itself back into a Fortran 66 compiler at the drop of an option card - to compile DO loops like God meant them to be.
Even Unix might not be as bad on Real Programmers as it once was. The latest release of Unix has the potential of an operating system worthy of any Real Programmer - two different and subtly incompatible user interfaces, an arcane and complicated teletype driver, virtual memory. If you ignore the fact that it's structured , even 'C' programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in - like having the best parts of Fortran and assembly language in one place. (Not to mention some of the more creative uses for #define.)
No, the future isn't all that bad. Why, in the past few years, the popular press has even commented on the bright new crop of computer nerds and hackers ([7] and [8]) leaving places like Stanford and M.I.T. for the Real World. From all evidence, the spirit of Real Programming lives on in these young men and women. As long as there are ill-defined goals, bizarre bugs, and unrealistic schedules, there will be Real Programmers willing to jump in and Solve The Problem, saving the documentation for later. Long live Fortran!
ACKNOWLEGEMENT
I would like to thank Jan E., Dave S., Rich G., Rich E., for their help in characterizing the Real Programmer, Heather B. for the illustration, Kathy E. for putting up with it, and atd!avsdS:mark for the initial inspiration.
REFERENCES
[1] Feirstein, B., Real Men don't Eat Quiche , New York, Pocket Books, 1982.
[2] Wirth, N., Algorithms + Data Structures Programs , Prentice Hall, 1976.
[3] Ilson, R., Recent Research in Text Processing , IEEE Trans. Prof. Commun., Vol. PC-23, No. 4, Dec. 4, 1980.
[4] Finseth, C., Theory and Practice of Text Editors - or - a Cookbook for an EMACS , B.S. Thesis, MIT/LCS/TM-165, Massachusetts Institute of Technology, May 1980.
[5] Weinberg, G., The Psychology of Computer Programming , New York, Van Nostrand Reinhold, 1971, p. 110.
[6] Dijkstra, E., On the GREEN language submitted to the DoD , Sigplan notices, Vol. 3 No. 10, Oct 1978.
[7] Rose, Frank, Joy of Hacking , Science 82, Vol. 3 No. 9, Nov 82, pp. 58-66.
[8] The Hacker Papers , Psychology Today, August 1980.
[9] sdcarl!lin, Real Programmers , UUCP-net, Thu Oct 21 16:55:16 1982.
Ed Post, Real Programmers Don't Use Pascal , DATAMATION, July 1983, pp. 263-265 (Readers' Forum).
(1997-08-29)

Real Soon Now
(RSN) [Originally from SF's fanzine community, popularised by Jerry Pournelle's column in BYTE ] 1. Supposed to be available (or fixed, or cheap, or whatever) real soon now according to somebody, but the speaker is quite skeptical.
2. When one's gods, fates, or other time commitments permit one to get to it (in other words, don't hold your breath).
[Jargon File]

real-time
1. Describes an application which requires a program to respond to stimuli within some small upper limit of response time (typically milli- or microseconds). Process control at a chemical plant is the classic example. Such applications often require special operating systems (because everything else must take a back seat to response time) and speed-tuned hardware.
2. In jargon, refers to doing something while people are watching or waiting. I asked her how to find the calling procedure's program counter on the stack and she came up with an algorithm in real time.
Used to describe a system that must guarantee a response to an external event within a given time.
(1997-11-23)

Realtime Disk Operating System
operating system A Data General operating system developed in the 1970s or 1980s. When used in conjuction with a BASIC (e.g. Business Basic) it could support 16 concurrent users at the record locking level and two printers all on 128K memory.
Reputedly IBM wanted to license this for the first IBM PC but DG turned them down so they went to Microsoft instead. How different the world could have been.
[Before or after IBM wanted CP/M?]
(1997-11-23)

Real-Time Euclid
Real-time language, restriction to time-bounded constructs. [ Real-Time Euclid: A Language for Reliable Real-Time Systems , E. Kligerman et al, IEEE Trans Software Eng SE-12(9):941-1986-09-949].

Real-Time Mentat
An extension of C++. Real-Time Mentat: A Data-Driven Object-Oriented System , A.S. Grimshaw et al, Proc IEEE Globecom, Nov 1989 pp.232-241.

Real-Time Object-Oriented Modeling
programming (ROOM Methodology)
Home (http://www.objectime.on.ca/ROOM.HTML).
[Summary?]
(1997-02-17)

Real-Time Operating System
operating system (RTOS) Any operating system where interrupts are guaranteed to be handled within a certain specified maximum time, thereby making it suitable for control of hardware in embedded systems and other time-critical applications. RTOS is not a specific product but a class of operating systems.
[Other criteria?]
(1998-02-27)

Real-Time Pascal
language A later name for Pascal-80 by RC International, Denmark.
(1995-05-09)

Real Time Streaming Protocol
multimedia, networking, protocol (RTSP) An application layer protocol for controlling delivery of a stream of real-time multimedia content. RTSP allows users to start playing from a certain position. It does not actually deliver the data, but works alongside existing delivery channels such as UDP, TCP, or IP multicast.
RTSP was developed by RealNetworks, Netscape Communications, and Columbia University, and is described in RFC 2326, April 1998. RTSP is an IETF proposed standard.
FAQ (http://www.real.com/devzone/library/fireprot/rtsp/faq.html).
(1999-08-26)

real-time structured analysis
programming (RTSA) Any version of structured analysis capable of modelling real-time aspects of software.
(1995-04-06)

real user
1. A commercial user. One who is paying *real* money for his computer usage.
2. A non-hacker. Someone using the system for an explicit purpose (a research project, a course, etc.) other than pure exploration. See user. Hackers who are also students may also be real users. I need this fixed so I can do a problem set. I'm not complaining out of randomness, but as a real user. See also luser.
[Jargon File]

Real Video
video, compression A lossy video compression format from Real Media.
(2001-12-13)

Real World
1. Those institutions at which programming may be used in the same sentence as Fortran , COBOL , RPG , IBM , DBASE , etc. Places where programs do such commercially necessary but intellectually uninspiring things as generating payroll checks and invoices.
2. The location of non-programmers and activities not related to programming.
3. A bizarre dimension in which the standard dress is shirt and tie and in which a person's working hours are defined as 9 to 5 (see code grinder).
4. Anywhere outside a university. Poor fellow, he's left MIT and gone into the Real World. Used pejoratively by those not in residence there. In conversation, talking of someone who has entered the Real World is not unlike speaking of a deceased person. It is also noteworthy that on the campus of Cambridge University in England, there is a gaily-painted lamp-post which bears the label REALITY CHECKPOINT . It marks the boundary between university and the Real World; check your notions of reality before passing. This joke is funnier because the Cambridge campus is actually coextensive with the centre of Cambridge.
See also fear and loathing, mundane, uninteresting.

reaper
A prowler that GFRs files. A file removed in this way is said to have been reaped .
[Jargon File]

reassembly
segmentation

reboot
operating system (From boot) A boot with the implication that the computer has not been down for long, or that the boot is a bounce intended to clear some state of wedgitude.
See warm boot.
(1995-11-27)

REC
Regular Expression Converter. See CONVERT.

recipe
suspension

recipient
communications One who receives; receiver. E.g. No recipient of the e-mail message will know about the other addressees who were listed in the BCC header.
(2000-03-22)

Recital
dBASE-like language and DBMS from Recital Corporation. Versions include Vax VMS.

RECOL
REtrieval COmmand Language. CACM 6(3):117-122 (Mar 1963).

Recommended Standard
standard (RS) A series of EIA standards including EIA-232.
(1995-03-28)

record
data, database, programming An ordered set of fields, usually stored contiguously. The term is used with similar meaning in several different contexts. In a file, a record probably has some fixed length, in contrast to a line which may have any length and is terminated by some End Of Line sequence). A database record is also called a row . In a spreadsheet it is always called a row . Some programming languages use the term to mean a type composed of fields of several other types (C calls this a struct ).
In all these cases, a record represents an entity with certain field values.
Fields may be of a fixed width (bits or characters) or they may be separated by a delimiter character, often comma (CSV) or HT (TSV).
In a database the list of values of a given field from all records is called a column.
(2002-03-22)

Record Management Services
(RMS) A set of operating system procedures that is called by programs to process files and records within files. VMS RMS allows programs to issue GET and PUT requests at the record level (record I/O) as well as read and write blocks (block I/O). VMS RMS is and integral part of the system software; its procedures run in executive mode.

Record Separator
character (RS) ASCII character 30.

rectangle slinger
See polygon pusher.
[Jargon File]

recurse
To perform recursion.

recursion
mathematics, programming When a function (or procedure) calls itself. Such a function is called recursive . If the call is via one or more other functions then this group of functions are called mutually recursive .
If a function will always call itself, however it is called, then it will never terminate. Usually however, it first performs some test on its arguments to check for a base case - a condition under which it can return a value without calling itself.
The canonical example of a recursive function is factorial:
factorial 0 = 1 factorial n = n * factorial (n-1)
Functional programming languages rely heavily on recursion, using it where a procedural language would use iteration.
See also recursion, recursive definition, tail recursion.
[Jargon File]
(1996-05-11)

recursion theory
theory The study of problems that, in principle, cannot be solved by either computers or humans.
[Proper definition?]
(1999-03-01)

recursive
recursion

recursive acronym
convention A hackish (and especially MIT) tradition is to choose acronyms and abbreviations that refer humorously to themselves or to other acronyms or abbreviations. The classic examples were two MIT editors called EINE ( EINE Is Not Emacs ) and ZWEI ( ZWEI Was EINE Initially ). More recently, there is a Scheme compiler called LIAR (Liar Imitates Apply Recursively), and GNU stands for GNU's Not Unix! - and a company with the name CYGNUS, which expands to Cygnus, Your GNU Support .
See also mung.
[Jargon File]
(1995-04-28)

recursive definition
See recursive definition.

recursive descent parser
grammar A top-down parser built from a set of mutually-recursive procedures or a non-recursive equivalent where each such procedure usually implements one of the productions of the grammar. Thus the structure of the resulting program closely mirrors that of the grammar it recognises.
[ Recursive Programming Techniques , W.H. Burge, 1975, ISBN 0-201-14450-6].
(1995-04-28)

Recursive Functional Algorithmic Language
language (REFAL) A language developed by V.F. Turchin (later at CUNY?) in Moscow in about 1972.
See also supercompilation.
[V.F. Turchin, An algorithm of generalisation in the supercompiler , Workshop on partial evaluation and mixed computations, Oct 1987, Denmark, Eds. D. Bjorner, A.P. Ershov, N.D. Jones].
[V. Turchin, Supercompiler System Based on the Language Refal , V. Turchin, SIGPLAN Notices 14(2):46-54 (Feb 1979)].
(1998-06-29)

Recursive Macro Actuated Generator
tool (RMAG) Robert A. Magnuson, NIH ca 1970.
A stand-alone macroprocessor for IBM 360/370 under VS or OS. Many built-in features and a library of several hundred macros. Several large systems were written in RMAG to generate source code for languages such as IBM JCL, IBM assembly language, COBOL.
There was also a system (SLANG: Structured LANGuage compiler) which would generate 370 assembly language from a pseudo-structured-programming language, based on Michael Kessler's structure programming macros developed at IBM.
[ Project RMAG--RMAG22 User's Guide , R.A. Magnuson, NIH-DCRT-DMB-SSS-UG103, NIH, DHEW, Bethesda, MD 20205 (1977)].
(1995-11-23)

recursive type
A data type which contains itself. The commonest example is the list type, in Haskell:
data List a = Nil | Cons a (List a)
which says a list of a's is either an empty list or a cons cell containing an 'a' (the head of the list) and another list (the tail ).
Recursion is not allowed in Miranda or Haskell synonym types, so the following Haskell types are illegal:
type Bad = (Int, Bad) type Evil = Bool - Evil
whereas the seeminly equivalent algebraic data types are acceptable:
data Good = Pair Int Good data Fine = Fun (Bool- Fine)

Red
(Or REDL ) A language proposed by Intermetrics to meet the Ironman requirements which led to Ada.
[ On the RED Language Submitted to the DoD , E.W. Dijkstra, SIGPLAN Notices 13(10):27 (Oct 1978)].
[ RED Language Reference Manual , J. Nestor and M. van Deusen, Intermetrics 1979].
(1995-01-19)

Red Book
1. publication Informal name for one of the four standard references on PostScript. The other three official guides are known as the Blue Book, the Green Book, and the White Book.
[ PostScript Language Reference Manual , Adobe Systems, Addison-Wesley, 1985 (ISBN 0-201-10174-2); second edition 1990 (ISBN 0-201-18127-4)].
2. publication Informal name for one of the three standard references on Smalltalk. This book also has blue and green siblings.
[ Smalltalk-80: The Interactive Programming Environment , Adele Goldberg, Addison-Wesley, 1984; (ISBN 0-201-11372-4)].
3. publication Any of the 1984 standards issued by the ITU-T eighth plenary assembly. These include, among other things, the X.400 electronic mail specification, the Group 1 through 4 fax standards, ISDN, the R2 signalling system (Q.400 series recommendations), data communication via the PSTN (the V series recommendations) and tariffs and metering principles (the D series).
4. publication The new version of the Green Book - IEEE 1003.1-1990, also known as ISO 9945-1 - is (because of the colour and the fact that it is printed on A4 paper) known in the USA. as the Ugly Red Book That Won't Fit On The Shelf and in Europe as the Ugly Red Book That's A Sensible Size .
5. publication The NSA Trusted Network Interpretation companion to the Orange Book.
See also book titles.
[Jargon File]

Red Brick Intelligent SQL
database (RISQL) A vendor-specific extension to SQL designed specifically for business managers. It augments SQL with a variety of operations appropriate to data analysis and decision support applications such as ranking, moving averages, comparisons, market share, this year vs. last year, etc. It was developed to simplify the creation of complex business queries.
Home (http://www.redbrick.com/products/white/papers/risql/risql.html).
(1998-10-15)

Redcode
language The ICWS standard language for Core War battle programs .
[Spec?]
(1998-10-30)

redex
Reducible Expression. An expression matching the left hand side of a reduction rule or definition.

Red Hat
operating system A distribution of Linux.
Home (http://www.redhat.com/).
(1996-12-21)

RediLisp
R.M. Keller, U Utah. Dialect of Lisp used on the Rediflow machine, a derivative of FEL.

redirection
1. operating system input/output redirection.
2. World-Wide Web URL redirection.
(1997-07-15)

redirector
network redirector

RedNet Ltd.
A systems integration company who also provide onLine , an Internet service aimed at both hobbyists and corporate end-users. The service offers dial-in PoPs in London, Birmingham, Bristol, Cambridge, Manchester and Edinburgh. All PoPs are V.32bis, V.42 and V.42 bis compatible with MNP4 and MNP5.
You can connect to the PoPs using slip or PPP, all required software is provided preconfigured.
For GBP15 per month (ex VAT) you get a POP3 electronic mail account, dial-up access to the Internet and all the the Internet goodies you want including NSFnet.
(http://www.rednet.co.uk)
E-mail: info@rednet.co.uk (with INFO in the body).
Snail mail: RedNet Ltd., 6 Cliveden Office Village, Lancaser Road, High Wycombe, Bucks, HP12 3YZ, UK. Telephone: +44 (1494) 513 333. Fax: +44 (494) 443 374.
(1994-11-08)

redocumentation
The creation or revision of a semantically equivalent representation within the same relative abstraction level. The resulting forms of representation are usually considered alternate views intended for a human audience.

REDUCE
language, mathematics A symbolic mathematics language with ALGOL-like syntax, written in Lisp by Anthony Hearn in 1963.
Reduce 2 is a version based on Portable Standard LISP.
Home (http://www.rrz.uni-koeln.de/REDUCE/).
E-mail: reduce@rand.org .
Server: reduce-netlib@rand.org.
[ REDUCE, Software for Algebraic Computation , G. Rayna, Springer 1987].
(1994-10-31)

Reduced Instruction Set Computer
processor (RISC) A processor whose design is based on the rapid execution of a sequence of simple instructions rather than on the provision of a large variety of complex instructions (as in a Complex Instruction Set Computer).
Features which are generally found in RISC designs are uniform instruction encoding (e.g. the op-code is always in the same bit positions in each instruction which is always one word long), which allows faster decoding; a homogenous register set, allowing any register to be used in any context and simplifying compiler design; and simple addressing modes with more complex modes replaced by sequences of simple arithmetic instructions.
Examples of (more or less) RISC processors are the Berkeley RISC, HP-PA, Clipper, i960, AMD 29000, MIPS R2000 and DEC Alpha. IBM's first RISC computer was the RT/PC (IBM 801), they now produce the RISC-based RISC System/6000 and SP/2 lines.
Despite Apple Computer's bogus claims for their PowerPC-based Macintoshes, the first RISC processor used in a personal computer was the Advanced RISC Machine (ARM) used in the Acorn Archimedes.
(1997-06-03)

reduction
(Or contraction ) The process of transforming an expression according to certain reduction rules. The most important forms are beta reduction (application of a lambda abstraction to one or more argument expressions) and delta reduction (application of a mathematical function to the required number of arguments).
An evaluation strategy (or reduction strategy), determines which part of an expression (which redex) to reduce first. There are many such strategies.
See graph reduction, string reduction, normal order reduction, applicative order reduction, parallel reduction, alpha conversion, beta conversion, delta conversion, eta conversion.
(1995-02-21)

reduction strategy
theory An algorithm for deciding which redex(es) to reduce next. Different strategies have different termination properties in the presence of recursive functions or values.
See string reduction, normal order reduction, applicative order reduction, parallel reduction
(1995-05-09)

redundancy
1. parallel The provision of multiple interchangeable components to perform a single function in order to cope with failures and errors. Redundancy normally applies primarily to hardware. For example, one might install two or even three computers to do the same job. There are several ways these could be used. They could all be active all the time thus giving extra performance through parallel processing as well as extra availability; one could be active and the others simply monitoring its activity so as to be ready to take over if it failed ( warm standby ); the spares could be kept turned off and only switched on when needed ( cold standby ). Another common form of hardware redundancy is disk mirroring.
Redundancy can also be used to detect and recover from errors, either in hardware or software. A well known example of this is the cyclic redundancy check which adds redundant data to a block in order to detect corruption during storage or transmission. If the cost of errors is high enough, e.g. in a safety-critical system, redundancy may be used in both hardware AND software with three separate computers programmed by three separate teams and some system to check that they all produce the same answer, or some kind of majority voting system.
2. communications The proportion of a message's gross information content that can be eliminated without losing essential information.
Technically, redundancy is one minus the ratio of the actual uncertainty to the maximum uncertainty. This is the fraction of the structure of the message which is determined not by the choice of the sender, but rather by the accepted statistical rules governing the choice of the symbols in question.
[Shannon and Weaver, 1948, p. l3]
[Better explanation?]
(1995-05-09)

Redundant Array of Inexpensive Disks
It's Redundant Arrays of Independent Disks.

Redundant Arrays of Independent Disks
storage, architecture (RAID. Originally Redundant Arrays of Inexpensive Disks ) A project at the computer science department of the University of California at Berkeley, under the direction of Professor Katz, in conjunction with Professor John Ousterhout and Professor David Patterson.
The project is reaching its culmination with the implementation of a prototype disk array file server with a capacity of 40 GBytes and a sustained bandwidth of 80 MBytes/second. The server is being interfaced to a 1 Gb/s local area network. A new initiative, which is part of the Sequoia 2000 Project, seeks to construct a geographically distributed storage system spanning disk arrays and automated libraries of optical disks and tapes. The project will extend the interleaved storage techniques so successfully applied to disks to tertiary storage devices. A key element of the research will be to develop techniques for managing latency in the I/O and network paths.
The original ( ..Inexpensive.. ) term referred to the 3.5 and 5.25 inch disks used for the first RAID system but no longer applies.
The following standard RAID specifications exist:
RAID 0Non-redundant striped array
RAID 1Mirrored arrays
RAID 2Parallel array with ECC
RAID 3Parallel array with parity
RAID 4Striped array with parity
RAID 5Striped array with rotating parity
(ftp://wuarchive.wustl.edu/doc/techreports/berkeley.edu/raid/raidPapers). (http://HTTP.CS.Berkeley.EDU/projects/parallel/research_summaries/14-Computer-Architecture/).
[ A Case for Redundant Arrays of Inexpensive Disks (RAID) , D. A. Patterson and G. Gibson and R. H. Katz , Proc ACM SIGMOD Conf, Chicago, IL, Jun 1988].
[ Introduction to Redundant Arrays of Inexpensive Disks (RAID) , D. A. Patterson and P. Chen and G. Gibson and R. H. Katz , IEEE COMPCON 89, San Francisco, Feb-Mar 1989].
(1995-07-20)

Redundant Arrays of Inexpensive Disks
Renamed Redundant Arrays of Independent Disks.

red wire
(IBM) Patch wires installed by programmers who have no business mucking with the hardware. It is said that the only thing more dangerous than a hardware guy with a code patch is a softy with a soldering iron.
Compare blue wire, yellow wire, purple wire.
[Jargon File]
(1994-12-23)

red zone
networking An environment located between internal and external firewalls where software and hardware are deployed to enable access to extranet applications.
Compare De-Militarised Zone.
(1997-11-05)

re-engineering
The examination and modification of a system to reconstitute it in a new form and the subsequent implementation of the new form.
(http://www.erg.abdn.ac.uk/users/brant/sre)
(1994-12-23)

re-entrant
programming Used to describe code which can have multiple simultaneous, interleaved, or nested invocations which will not interfere with each other. This is important for parallel processing, recursive functions or subroutines, and interrupt handling.
It is usually easy to arrange for multiple invocations (e.g. calls to a subroutine) to share one copy of the code and any read-only data but, for the code to be re-entrant, each invocation must use its own copy of any modifiable data (or synchronised access to shared data). This is most often achieved using a stack and allocating local variables in a new stack frame for each invocation. Alternatively, the caller may pass in a pointer to a block of memory which that invocation can use (usually for outputting the result) or the code may allocate some memory on a heap, especially if the data must survive after the routine returns.
Re-entrant code is often found in system software, such as operating systems and teleprocessing monitors. It is also a crucial component of multithreaded programs where the term thread-safe is often used instead of re-entrant .
(1996-12-21)

refactoring
object-oriented, programming Improving a computer program by reorganising its internal structure without altering its external behaviour.
When software developers add new features to a program, the code degrades because the original program was not designed with the extra features in mind.
This problem could be solved by either rewriting the existing code or working around the problems which arise when adding the new features. Redesigning a program is extra work, but not doing so would create a program which is more complicated than it needs to be. Refactoring is a collection of techniques which have been designed to provide an alternative to the two situations mentioned above.
The techniques enable programmers to restructure code so that the design of a program is clearer. It also allows programmers to extract reusable components, streamline a program, and make additions to the program easier to implement.
Refactoring is usually done by renaming methods, moving fields from one class to another, and moving code into a separate method.
Although it is done using small and simple steps, refactoring a program will vastly improve its design and structure, making it easier to maintain and leading to more robust code.
Refactoring, Reuse Reality by Bill Opdyke (http://st-www.cs.uiuc.edu/users/opdyke/wfo.990201.refac.html).
Refactoring, a first example by Martin Fowler (http://www.aw.com/cseng/titles/0-201-89542-0/vidrefact/vidrefact.html).
(2001-05-02)

REFAL
Recursive Functional Algorithmic Language

REF-ARF
[ REF-ARF: A System for Solving Problems Stated as Procedures , R.E. Fikes, Artif Intell J 1(1), Spring 1970].
(1998-06-29)

reference
pointer

reference counting
programming A garbage collection technique where each memory cell contains a count of the number of other cells which point to it. If this count reaches zero the cell is freed and its pointers to other cells are followed to decrement their counts, and so on recursively.
This technique cannot cope with circular data structures. Cells in such structures refer (indirectly) to themselves and so will never have a zero reference count. This means they would never be reclaimed, even when there are no references from outside the structure.
(1995-02-22)

referential integrity
database A collection of properties which should be possessed by data in a relational database.
For example, in a database of family members, if we enter A as a spouse of B, we should also enter B as a spouse of A. Similarly, if we remove one end of the relationship we should also remove the other.
(1998-02-18)

referentially transparent
referential transparency

referential transparency
programming An expression E is referentially transparent if any subexpression and its value (the result of evaluating it) can be interchanged without changing the value of E. This is not the case if the value of an expression depends on global state which can change value. The most common example of changing global state is assignment to a global variable. For example, if y is a global variable in:
f(x) return x+y;
g(z)
a = f(1);
y = y + z;
return a + f(1);
function g has the side-effect that it alters the value of y. Since f's result depends on y, the two calls to f(1) will return different results even though the argument is the same. Thus f is not referentially transparent. Changing the order of evaluation of the statements in g will change its result.
Pure functional languages achieve referential transparency by forbidding assignment to global variables. Each expression is a constant or a function application whose evaluation has no side-effect, it only returns a value and that value depends only on the definition of the function and the values of its arguments.
We could make f above referentially transparent by passing in y as an argument:
f(x, y) = x+y
Similarly, g would need to take y as an argument and return its new value as part of the result:
g(z, y)
a = f(1, y);
y' = y+z;
return (a + f(1, y'), y');
Referentially transparent programs are more amenable to formal methods and easier to reason about because the meaning of an expression depends only on the meaning of its subexpressions and not on the order of evaluation or side-effects of other expressions.
We can stretch the concept of referential transparency to include input and output if we consider the whole program to be a function from its input to its output. The program as a whole is referentially transparent because it will always produce the same output when given the same input. This is stretching the concept because the program's input may include what the user types, the content of certain files or even the time of day. If we do not consider global state like the contents of files as input, then writing to a file and reading what was written behaves just like assignment to a global variable. However, if we must consider the state of the universe as an input rather than global state then any deterministic system would be referentially transparent!
See also extensional equality, observational equivalence.
(1997-03-25)

referer
World-Wide Web A misspelling of referrer which somehow made it into the HTTP standard. A given web page's referer (sic) is the URL of whatever web page contains the link that the user followed to the current page. Most browsers pass this information as part of a request.
(1998-10-19)

referrer
referer

REFINE
1. Research on Knowledge-Based Software Environments at Kestrel Institute , D.R. Smith et al, IEEE Trans Soft Eng, SE-11(11) (1985). E-mail: maria@kestrel.edu .
2. Cordell Green et al, Stanford U. Uses logic to specify and evolve programs. [same as 1?] Reasoning Systems, Inc. E-mail: help@reasoning.com .

Refined C
(RC) An extension of C to directly specify data access rights so that flow analysis, and hence automatic parallelisation, is more effective. Research implementations only. Refining A Conventional Language For Race-Free Specification Of Parallel Algorithms, H.G. Dietz et al, Proc 1984 Intl Conf Parallel Proc, pp.380-382.

Refined Fortran
(RF) Similar to Refined C. Research implementations only. Refined Fortran: Another Sequential Language for Parallel Programming, H.G. Dietz et al, Proc 1986 Intl Conf Parallel Proc, pp.184-191.

reflexive
theory A relation R is reflexive if, for all x, x R x.
Equivalence relations, pre-orders, partial orders and total orders are all reflexive.
(1999-01-28)

reflexive domain
A domain satisfying a recursive domain equation. E.g. D = D - D.

Reflexive transitive closure
Two elements, x and y, are related by the reflexive transitive closure, R+, of a relation, R, if they are related by the transitive closure, R*, or they are the same element.

RefLisp
language A Lisp interpreter by Bill Birch of Bull, UK, with shallow-binding and dynamic scope. Use of reference counting makes it suitable for experimenting with real-time and graphical user interfaces. Common Lisp compatibility macros are provided, and most of the examples in Lisp by Winston Horn have been run on RefLisp. RefLisp makes no distinction between symbol-values and function-values, so a symbol can be either but not both. There are Lisp modules for lexical scope and for running indefinite extent Scheme programs.
Version 2.67 ( Last Update for a While , the author is emigrating to Australia) includes an interpreter, documentation, examples and a profiler. It runs under MS-DOS (CGA/EGA/VGA) and AIX.
(ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/mkant/Public/Lisp/implementations/reflisp/)
(2000-03-28)

refresh
1. storage DRAM refresh.
2. hardware screen refresh.
(1998-10-19)

refreshable braille display
braille display

refreshable display
braille display

refresh rate
hardware (Or vertical refresh rate , vertical scan rate ) The maximum number of frames that can be displayed on a monitor in a second, expressed in Hertz.
The scan rate is controlled by the vertical sync signal generated by the video controller, ordering the monitor to position the electron gun at the upper left corner of the raster, ready to paint another frame. It is limited by the monitor's maximum horizontal scan rate and the resolution, since higher resolution means more scan lines. Increasing the refresh rate decreases flickering, reducing eye strain, but few people notice any change above 60-72 Hz.
(1999-08-01)

refutable
In lazy functional languages, a refutable pattern is one which may fail to match. An expression being matched against a refutable pattern is first evaluated to head normal form (which may fail to terminate) and then the top-level constructor of the result is compared with that of the pattern. If they are the same then any arguments are matched against the pattern's arguments otherwise the match fails.
An irrefutable pattern is one which always matches. An attempt to evaluate any variable in the pattern forces the pattern to be matched as though it were refutable which may fail to match (resulting in an error) or fail to terminate.
Patterns in Haskell are normally refutable but may be made irrefutable by prefixing them with a tilde (~). For example,
( (x,y) - 1) undefined== undefined ( ~(x,y) - 1) undefined== 1
Patterns in Miranda are refutable, except for tuples which are irrefutable. Thus
g [x] = 2 g undefined== undefined
f (x,y) = 1 f undefined== 1
Pattern bindings in local definitions are irrefutable in both languages:
h = 1 where [x] = undefined== 1 Irrefutable patterns can be used to simulate unlifted products because they effectively ignore the top-level constructor of the expression being matched and consider only its components.

regex
The GNU regular expression matching library. See also Rx.

regexp
1. regular expression.
2. Name of a well-known PD regexp-handling package in portable C, written by revered Usenetter Henry Spencer henry@zoo.toronto.edu .
[Jargon File]

Regina
standard A widely-used open source Rexx interpreter by Anders Christensen anders@pvv.unit.no , ported to many platforms including Unix, Windows 95, Windows NT, OS/2. Regina is currently maintained by Mark Hessling.
Regina conforms almost completely to Rexx Language Level 4.00, with some Rexx SAA API extensions. It is distributed under the GNU General Public License.
Current version: 2.0+, as of 2001-03-30.
Home http://www.lightlink.com/hessling/).
Usenet newsgroup: news:comp.lang.rexx.
(2001-03-30)

regional network
mid-level network

register
1. One of a small number of high-speed memory locations in a computer's CPU. Registers differ from ordinary random access memory in several respects:
There are only a small number of registers (the register set ), typically 32 in a modern processor though some, e.g. SPARC, have as many as 144. A register may be directly addressed with a few bits. In contrast, there are usually millions of words of main memory (RAM), requiring at least twenty bits to specify a memory location. Main memory locations are often specified indirectly, using an indirect addressing mode where the actual memory address is held in a register.
Registers are fast; typically, two registers can be read and a third written -- all in a single cycle. Memory is slower; a single access can require several cycles.
The limited size and high speed of the register set makes it one of the critical resources in most computer architectures. Register allocation, typically one phase of the back-end, controls the use of registers by a compiled program.
See also accumulator, FUBAR, orthogonal, register dancing, register allocation, register spilling.
2. An addressable location in a memory-mapped peripheral device. E.g. the transmit data register in a UART.

register allocation
compiler, algorithm The phase of a compiler that determines which values will be placed in registers. Register allocation may be combined with register assignment.
This problem can be shown to be isomorphic to graph colouring by relating values to nodes in the graph and registers to colours. Values (nodes) which must be valid simultaneously are linked by edges and cannot be stored in the same register (coloured the same).
See also register dancing and register spilling.
[Preston Briggs, PhD thesis, Rice University, April 1992 Register Allocation via Graph Coloring (ftp://ftp.cs.rice.edu/public/preston/thesis.ps.gz)].
(2000-12-04)

register assignment
compiler, algorithm The phase of a compiler that determines which register to use for each program value selected during register allocation.
(2000-12-04)

register dancing
Many older processor architectures suffer from a serious shortage of general-purpose registers. This is especially a problem for compiler-writers, because their generated code needs places to store temporaries for things like intermediate values in expression evaluation. Some designs with this problem, like the Intel 80x86, do have a handful of special-purpose registers that can be pressed into service, providing suitable care is taken to avoid unpleasant side effects on the state of the processor: while the special-purpose register is being used to hold an intermediate value, a delicate minuet is required in which the previous value of the register is saved and then restored just before the official function (and value) of the special-purpose register is again needed.
[Jargon File]

register set
All a processor's registers. The size and arrangement of a processor's register set is one of the crucial factors in its performance.

register spilling
programming, compiler (By analogy with spilling the contents of an overfull container) When a compiler is generating machine code and there are more live variables than the machine has registers and it has to transfer or spill some variables from registers to memory.
(1997-06-24)

Register Transfer Language
(RTL) 1. A kind of hardware description language (HDL) used in describing the registers of a computer or digital electronic system, and the way in which data is transferred between them.
2. An intermediate code for a machine with an infinite number of registers, used for machine-independent optimisation. RTL was developed by Chris Fraser cwf@research.att.com and J. Davidson jwd@virginia.edu at the University of Arizona in the early 1980s. RTL is used by the GNU C compiler, gcc and by Davidson's VPCC (Very Portable C compiler).
[ Quick Compilers Using Peephole Optimisation , Davidson et al, Soft. Prac. Exp. 19(1):79-97 (Jan 1989)].
(1994-11-16)

regression
1. mathematics A mathematical method where an empirical function is derived from a set of experimental data.
2. regression testing.
(1995-03-14)

regression testing
programming Part of the test phase of software development where, as new modules are integrated into the system and the added functionality is tested, previously tested functionality is re-tested to assure that no new module has corrupted the system.
[Bennatan, E.M., Software Project Management , 2nd edition, McGraw-Hill International, 1992].
(1995-12-04)

REG-SYMBOLIC
An early system on the IBM 704.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-02)

REGTRAL
Mentioned in Attribute Grammars, LNCS 323, p.108.
Relational Language. Clark Gregory. First parallel logic language to use the concept of committed choice. Forerunner of PARLOG. A Relational Language for Parallel Programming , K.L. Clark et al, Proc ACM Conf on Functional Prog Langs and Comp Arch, pp.171-178, ACM 1981.

regular expression
1. text, operating system (regexp, RE) One of the wild card patterns used by Unix utilities such as grep, sed and awk and editors such as vi and Emacs. These use conventions similar to but more elaborate than those described under glob. A regular expression is a sequence of characters with the following meanings:
An ordinary character (not one of the special characters discussed below) matches that character.
A backslash ( ) followed by any special character matches the special character itself. The special characters are:
. matches any character except NEWLINE; RE* (where the * is called the Kleene star ) matches zero or more occurrences of RE. If there is any choice, the longest leftmost matching string is chosen, in most regexp flavours.
^ at the beginning of an RE matches the start of a line and $ at the end of an RE matches the end of a line.
[string] matches any one character in that string. If the first character of the string is a ^ it matches any character (except NEWLINE, in most regexp flavours) and the remaining characters in the string. - may be used to indicate a range of consecutive ASCII characters.
( RE ) matches whatever RE matches and n, where n is a digit, matches whatever was matched by the RE between the nth ( and its corresponding ) earlier in the same RE. In many flavours ( RE ) is used instead of ( RE )
The concatenation of REs is a RE that matches the concatenation of the strings matched by each RE.
matches the beginning of a word and matches the end of a word. In many flavours of regexp, and are are replaced by b , the special character for word boundary .
RE m matches m occurences of RE. RE m, matches m or more occurences of RE. RE m,n matches between m and n occurences.
The exact details of how regexp will work in a given application vary greatly from flavour to flavour. A comprehensive survey of regexp flavours is found in Friedl 1997 (see below).
[Jeffrey E.F. Friedl, Mastering Regular Expressions(http://enterprise.ic.gc.ca/~jfriedl/regex/index.html), O'Reilly, 1997.]
2. Any description of a pattern composed from combinations of symbols and the three operators:
Concatenation - pattern A concatenated with B matches a match for A followed by a match for B.
Or - pattern A-or-B matches either a match for A or a match for B.
Closure - zero or more matches for a pattern.
The earliest form of regular expressions (and the term itself) were invented by mathematician Stephen Cole Kleene in the mid-1950s, as a notation to easily manipulate regular sets , formal descriptions of the behaviour of finite state machines, in regular algebra.
[S.C. Kleene, Representation of events in nerve nets and finite automata , 1956, Automata Studies. Princeton].
[J.H. Conway, Regular algebra and finite machines , 1971, Eds Chapman Hall].
[Sedgewick, Algorithms in C , page 294].
(1997-08-03)

regular graph
mathematics A graph in which all nodes have the same degree.
(1995-03-07)

rehi
chat Hello again.
(1995-02-28)

Reid, Brian
Brian Reid

reify
To regard (something abstract) as a material thing.
(1995-03-07)

reincarnation, cycle of
cycle of reincarnation

reinvent the wheel
jargon To design or implement a tool equivalent to an existing one or part of one, with the implication that doing so is silly or a waste of time. This is often a valid criticism. On the other hand, automobiles don't use wooden rollers, and some kinds of wheel have to be reinvented many times before you get them right. On the third hand, people reinventing the wheel do tend to come up with the moral equivalent of a trapezoid with an offset axle.
[Jargon File]
(1997-04-12)

relation
1. mathematics A subset of the product of two sets, R : A x B. If (a, b) is an element of R then we write a R b, meaning a is related to b by R. A relation may be: reflexive (a R a), symmetric (a R b = b R a), transitive (a R b b R c = a R c), antisymmetric (a R b b R a = a = b) or total (a R b or b R a).
See equivalence relation, partial ordering, pre-order, total ordering.
2. database A table in a relational database.
(1995-02-28)

relational algebra
database, theory A family of algebra with a well-founded semantics used for modelling the data stored in relational databases, and defining queries on it. The main operations of the relational algebra are the set operations (such as union, intersection, and cartesian product), selection (keeping only some lines of a table) and the projection (keeping only some columns).
The relational data model describes how the data is structured.
Codd's reduction algorithm can convert from relational calculus to relational algebra.
(1997-02-17)

relational calculus
database An operational methodolgy, founded on predicate calculus, dealing with descripitive expressions that are equivalent to the operations of relational algebra. Codd's reduction algorithm can convert from relational calculus to relational algebra.
Two forms of the relational calculus exist: the tuple calculus and the domain calculus.
[ An Introduction To Database Systems (6th ed), C. J. Date, Addison Wesley].
(1998-10-05)

relational database
database (RDBMS - relational database management system) A database based on the relational model developed by E.F. Codd. A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints. In such a database the data and relations between them are organised in tables. A table is a collection of rows or records and each row in a table contains the same fields. Certain fields may be designated as keys, which means that searches for specific values of that field will use indexing to speed them up.
Where fields in two different tables take values from the same set, a join operation can be performed to select related records in the two tables by matching values in those fields. Often, but not always, the fields will have the same name in both tables. For example, an orders table might contain (customer_id, product_code) pairs and a products table might contain (product_code, price) pairs so to calculate a given customer's bill you would sum the prices of all products ordered by that customer by joining on the product-code fields of the two tables. This can be extended to joining multiple tables on multiple fields. Because these relationships are only specified at retreival time, relational databases are classed as dynamic database management system.
The first commercial RDBMS was the Multics Relational Data Store, first sold in 1978.
INGRES, Oracle, Sybase, Inc., Microsoft Access, and Microsoft SQL Server are well-known database products and companies. Others include PostgreSQL, SQL/DS, and RDB.
[ Managing Data Bases, Four Critical Factors Michael M. Gorman, QED Information Sciences, Inc.].
[ An Introduction To Database Systems (6th ed) C. J. Date, Addison Wesley (an excellent source of detailed info)].
[ An End-User's Guide to Data Base James Martin, Prentice Hall (excellent place to begin learning about DBMS)].
(2002-06-10)

relational database management system
relational database

relational data model
database (Or relational model ) A data model introduced by E.F. Codd in 1970, particularly well suited for business data management. In this model, data are organised in tables. The set of names of the columns is called the schema of the table.
Here is an example table with the schema (account number, amount) and 3 lines.
account number amount
-------------- ---------
12343243546456 +30000.00
23149875245824 +2345.33
18479827492874 -123.25
The data can be manipulated using a relational algebra. SQL is a standard language for talking to a database built on the relational model (a relational database ).
[ A relational model for large shared data banks Communications of ACM 13:6, pp 377-387].
(1998-10-05)

relational DBMS
relational database

relational language
language Relational languages specify output in terms of some property and some arguments. For example, if Tom has two brothers, Dick and Harry, a relational language will respond to the query Who is Tom's brother? with either Dick or Harry. Notice that unlike functional languages, relational languages do not require a unique output for each predicate/argument pair. Prolog is the best known relational language.
(1995-03-31)

relational model
relational data model

RELATIVE
Early system on IBM 650. Listed in CACM 2(5):16 (May 1959).

relatively prime
mathematics Having no common divisors (greater than 1).
Two numbers are said to be relativey prime if there is no number greater than unity that divides both of them evenly.
For example, 10 and 33 are relativly prime. 15 and 33 are not relatively prime, since 3 is a divisor of both.
(1997-03-11)

relative pathname
file system A path relative to the working directory. Its first character can be anything but the pathname separator.
(1996-11-21)

Relative Record Data Set
database (RRDS) One of the access methods used by IBM's VSAM.
[What is it?]
(1999-01-12)

RELCODE
Early system on UNIVAC I or II. Listed in CACM 2(5):16 (May 1959).

release
programming (Or released version , baseline ) A version of a piece of software which has been made public (as opposed to a version that is in development, or otherwise unreleased).
A release is either a major release, a revision, or a bugfix.
Pre-release versions may be called alpha test, or beta test versions.
See change management.
(1996-08-04)

released version
release

REL English
Rapidly Extensible Language, English

relevance
information science A measure of how closely a given object (file, web page, database record, etc.) matches a user's search for information.
The relevance algorithms used in most large web search engines today are based on fairly simple word-occurence measurement: if the word daffodil occurs on a given page, then that page is considered relevant to a query on the word daffodil ; and its relevance is quantised as a factor of the number of times the word occurs in the page, on whether daffodil occurs in title of the page or in its META keywords, in the first N words of the page, in a heading, and so on; and similarly for words that a stemmer says are based on daffodil .
More elaborate (and resource-expensive) relevance algorithms may involve thesaurus (or synonym ring) lookup; e.g. it might rank a document about narcissuses (but which may not mention the word daffodil anywhere) as relevant to a query on daffodil , since narcissuses and daffodils are basically the same thing. Ditto for queries on jail and gaol , etc.
More elaborate forms of thesaurus lookup may involve multilingual thesauri (e.g. knowing that documents in Japanese which mention the Japanese word for narcissus are relevant to your search on narcissus ), or may involve thesauri (often auto-generated) based not on equivalence of meaning, but on word-proximity, such that bulb or bloom may be in the thesaurus entry for daffodil .
Word spamming essentially attempts to falsely increase a web page's relevance to certain common searches.
See also subject index.
(1997-04-09)

reliability
system An attribute of any system that consistently produces the same results, preferably meeting or exceeding its specifications. The term may be qualified, e.g software reliability, reliable communication.
Reliability is one component of RAS.
(2000-08-13)

Reliability, Availability, Serviceability
system, design, hardware, software (RAS) Three key attributes of a computing system design. See reliability, availability, and serviceability.
The term RAS is fairly common in the computing industry (particularly computers and storage) as computing becomes more fundamental. For example, a vehicle may depend on dozens of computers, and the consequences of the failure can be significant (e.g., an ambulance's engine won't start).
(2000-08-13)

reliable communication
Communication where messages are guaranteed to reach their destination complete and uncorrupted and in the order they were sent. This reliability can be built on top of an unreliable protocol by adding sequencing information and some kind of checksum or cyclic redundancy check to each message or packet. If the communication fails, the sender will be notified. Transmission Control Protocol is a reliable protocol used on Ethernet.

religion of CHI
/ki:/ [Case Western Reserve University] Yet another hackish parody religion (see also Church of the SubGenius, Discordianism). In the mid-70s, the canonical Introduction to Programming courses at CWRU were taught in ALGOL, and student exercises were punched on cards and run on a Univac 1108 system using a homebrew operating system named CHI. The religion had no doctrines and but one ritual: whenever the worshipper noted that a digital clock read 11:08, he or she would recite the phrase It is 11:08; ABS, ALPHABETIC, ARCSIN, ARCCOS, ARCTAN. The last five words were the first five functions in the appropriate chapter of the ALGOL manual; note the special pronunciations /obz/ and /ark'sin/ rather than the more common /ahbz/ and /ark'si:n/. Using an alarm clock to warn of 11:08's arrival was considered harmful.
[Jargon File]

religious issues
Questions which seemingly cannot be raised without touching off holy wars, such as What is the best operating system (or editor, language, architecture, shell, mail reader, news reader)? , What about that Heinlein guy, eh? , What should we add to the new Jargon File? See holy wars; see also theology, bigot.
This term is a prime example of ha ha only serious. People actually develop the most amazing and religiously intense attachments to their tools, even when the tools are intangible. The most constructive thing one can do when one stumbles into the crossfire is mumble Get a life! and leave - unless, of course, one's *own* unassailably rational and obviously correct choices are being slammed.
(1996-08-16)

REM
programming (From remark ) The keyword used in BASIC to introduce a comment (which continues to the end of the line). MS-DOS probably borrowed it from BASIC. Might be used in the form REM out meaning to comment out.
(1998-04-27)

remailer
anonymous remailer

Remote Access Services
communications (RAS) A service provided by Windows NT which allows most of the services which would be available on a network to be accessed over a modem link. The service includes support for dialup and logon, and then presents the same network interface as the normal network drivers (albeit slightly slower!). It is not necessary to run Windows NT on the client - there are client versions for other Windows operating systems.
[What services?]
(1996-08-14)

Remote Database Access
database, standard (RDBA) A standard permitting the exchange of information between different DBMS systems.
(1998-09-23)

remote echo
communications (Obsolete: full-duplex ) A mode of operation of communicating programs or devices in which the sending system does not display the characters the user enters, but only sends them to the remote system which then echoes them back to be displayed to the user. This lets the operator see not only typing errors, but also transmission errors. This is now the usual mode of most systems with remote users.
Contrast: local echo.
(2000-03-30)

Remote Job Entry
operating system (RJE) A system, widely used in the mid/late 1960s, for submitting jobs to mainframes like the IBM 360 under OS/MFT. Communication with the computer operator was via the keyboard and later via CRTs.
(1999-03-26)

remote login
networking A client-server program and protocol that provides an interactivel command line interface to a remote computer, using a protocol over a computer network, simulating a locally attached terminal.
rlogin is the BSD Unix program and protocol for this, telnet is an earlier, more widely implemented protocol.
(1999-03-26)

Remote Method Invocation
programming (RMI) Part of the Java programming language library which enables a Java program running on one computer to access the objects and methods of another Java program running on a different computer.
Home (http://java.sun.com/products/jdk/1.1/docs/guide/rmi/index.html)
(1997-09-04)

Remote Operations Service Element
networking (ROSE) A sub-layer of protocol layer six (presentation layer) in the OSI seven layer model which provides SASE for remote operations.
Documents: ITU Rec. X.229 (ISO 9072-2), ITU Rec. X.219 (ISO 9072-1).
(1997-12-07)

Remote Procedure Call
networking, programming (RPC) A protocol which allows a program running on one host to cause code to be executed on another host without the programmer needing to explicitly code for this. RPC is an easy and popular paradigm for implementing the client-server model of distributed computing. An RPC is initiated by the caller (client) sending request message to a remote system (the server) to execute a certain procedure using arguments supplied. A result message is returned to the caller. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols.
[RFC?]
(1997-11-28)

Remote Reference Layer
protocol (RRL) Part of Java's Remote Method Invocation protocol. RRL exists in both the RMI client and server. It is used by the stub or skeleton protocol layer and uses the transport layer. RRL is reponsible for transport-independent functioning of RMI, such as connection management or unicast/multicast object invocation.
[Specification URL?]
(1997-12-03)

Remote Spooling Communication Subsystem
communications (RSCS) A networking protocol used primarily on Bitnet.
[Details?]
(1996-02-04)

Remote Write Protocol
chat, protocol (RWP) A proposed Internet protocol for exchanging short messages between terminals.
The RWP proposal is detailed in RFC 1756.
(1996-09-08)

removable disk
storage A type of magnetic disk, or possibly magneto-optical disk which is not permanently attached to the disk drive (not a fixed disk) but which can be taken out and replaced, allowing many disks to be used in the same drive.
Floppy disks are removable disks but the term is not commonly used for them but mostly for hard disks in suitable cartridges such as those made by Syquest, Iomega and others.
Removable disks have become popular on microcomputers in the 1990s since they offer a cheap way of expanding disk space, transporting large amounts of data between computers and storing back-ups. The concept is not new however, removable disk packs were common on minicomputers such as the PDP-11 in use in the 1970s except that the drives were the size of washing machines and the disk packs as big as car wheels.
(1997-06-06)

rendering
graphics, text The conversion of a high-level object-based description into a graphical image for display.
For example, ray-tracing takes a mathematical model of a three-dimensional object or scene and converts it into a bitmap image. Another example is the process of converting HTML into an image for display to the user.
(2001-02-06)

RenderMan Shading Language
[ The RenderMan Companion , S. Upstill, A-W 1989, chaps 13-15].

rendezvous
1. In Ada, the method of synchronising the activity of different tasks.
2. Query language, close to natural English.
[ Seven Steps to Rendezvous with the Casual User , E. Codd in Data Base Management, J.W. Klimbie et al eds, N-H 1974, pp.179-199].

REP
programming A directive used in IBM object code card decks (and later PTF Tapes) to REPlace fragments of already assembled or compiled object code prior to link edit. Recompiling or reassembling the source code to produce a whole new object module was only possible if the source code was available, which it rarely was (if you had the object you were lucky!) It was also quicker to apply incremental changes with REP cards and they also circumvented the checksums and card sequence numbers present in the object code.
(1998-07-16)

repeat
repeat loop

repeater
networking, communications A network or communications device which propagates electrical signals from one cable to another, amplifying them to restore them to full strength in the process. Repeaters are used to counter the attenuation which occurs when signals travel long distances (e.g. across an ocean).
A network repeater is less intelligent than a bridge, gateway or router since it works at the physical layer.
(1998-07-16)

repeating group
database Any attribute that can have multiple values associated with a single instance of of some entity. For example, a book might have multiple authors.
In order to represent such a relationship in a relational database, it would be converted to first normal form as the first step in database normalisation. Each author of the book would then appear in a separate row, each of which also contained the book's primary key.
(2001-04-10)

repeat loop
programming (Or do loop ) A loop construct found in many imperative programming languages which repeatedly executes some instructions while a condition is true.
It is found in Pascal, BASIC and C ( do form). The condition may be tested with a while or until keyword.
In constrast to a while loop, the loop body is executed once before the condition is tested. This is useful when the condition depends on the action of the loop body. In the following BASIC loop Hello is printed once despite the fact that the condition is false;
i = 2
repeat
print Hello
i = i+1
until i 0
See also while loop and for loop.
(1999-05-06)

repetitive strain disorder
overuse strain injury

repetitive strain injury
overuse strain injury

REPL
Restricted EPL. The efficient subset of EPL used to write the core of Multics.

replacement algorithm
The method used to determine which entry in an associative cache to flush to main memory when it is desired to cache a new block of data. The least recently used algorithm flushed the block which has not been accessed for the longest time. A random replacement algorithm picks any block with equal probability.

Replay
Acorn Computers' full-motion video system written by Roger Wilson. Video and sound information are stored in compressed form. Compression is relatively slow but decompression is done in real-time with quality and frame-rate varying with the processing power available, the size of the picture and whether it appears in a window or uses the whole screen.
(1994-11-09)

replication
database, networking Creating and maintaining a duplicate copy of a database or file system on a different computer, typically a server. The term usually implies the intelligent copying of parts of the source database which have changed since the last replication with the destination.
Replication may be one-way or two-way. Two-way replication is much more complicated because of the possibility that a replicated object may have been updated differently in the two locations in which case some method is needed to reconcile the different versions.
For example, Lotus Notes can automatically distribute document databases across telecommunications networks. Notes supports a wide range of network protocols including X25 and Internet TCP/IP.
Compare mirror. See also rdist.
(1997-12-12)

replicator
Any construct that acts to produce copies of itself; this could be a living organism, an idea (see meme), a program (see quine, worm, wabbit, fork bomb, and virus), a pattern in a cellular automaton (see life), or (speculatively) a robot or nanobot. It is even claimed by some that Unix and C are the symbiotic halves of an extremely successful replicator; see Unix conspiracy.
[Jargon File]

reply
See followup.

Repondez s'il vous plait
Répondez s'il vous plait

Report Program Generator
tool (RPG) A system produced by IBM in 1965 for easy production of sophisticated large system reports.
Versions: RPG II, RPG III, RPG/400 for the IBM AS/400. MS-DOS versions by California Software and Lattice. UNIX version by Unibol. Cross-platform version by J C Migrations runs on MS-DOS, Windows, AIX, HP-UX, and OS/390.
See also CL, OCL.
[Features?]
(1998-12-10)

repository
1. database See data dictionary.
2. programming The core of a CASE tool, typically a DBMS where all development documents are stored.
(1999-04-27)

Request For Comments
standard (RFC) One of a series, begun in 1969, of numbered Internet informational documents and standards widely followed by commercial software and freeware in the Internet and Unix communities. Few RFCs are standards but all Internet standards are recorded in RFCs. Perhaps the single most influential RFC has been RFC 822, the Internet electronic mail format standard.
The RFCs are unusual in that they are floated by technical experts acting on their own initiative and reviewed by the Internet at large, rather than formally promulgated through an institution such as ANSI. For this reason, they remain known as RFCs even once adopted as standards.
The RFC tradition of pragmatic, experience-driven, after-the-fact standard writing done by individuals or small working groups has important advantages over the more formal, committee-driven process typical of ANSI or ISO.
Emblematic of some of these advantages is the existence of a flourishing tradition of joke RFCs; usually at least one a year is published, usually on April 1st. Well-known joke RFCs have included 527 ( ARPAWOCKY , R. Merryman, UCSD; 22 June 1973), 748 ( Telnet Randomly-Lose Option , Mark R. Crispin; 1 April 1978), and 1149 ( A Standard for the Transmission of IP Datagrams on Avian Carriers , D. Waitzman, BBN STC; 1 April 1990). The first was a Lewis Carroll pastiche; the second a parody of the TCP/IP documentation style, and the third a deadpan skewering of standards-document legalese, describing protocols for transmitting Internet data packets by carrier pigeon.
The RFCs are most remarkable for how well they work - they manage to have neither the ambiguities that are usually rife in informal specifications, nor the committee-perpetrated misfeatures that often haunt formal standards, and they define a network that has grown to truly worldwide proportions.
InterNIC (http://ds.internic.net/rfc/). W3 (http://www.w3.org/hypertext/DataSources/Archives/RFC_sites.html) JANET UK FTP (ftp://nic.ja.net/pub/newsfiles/JIPS/rfc). Imperial College, UK FTP (ftp://src.doc.ic.ac.uk/rfc/). Nexor UK (http://www.nexor.com/public/rfc/index/rfc.html). Ohio State U (http://www.cis.ohio-state.edu/hypertext/faq/usenet/top.html).
See also For Your Information, STD.
(1997-11-10)

request for proposal
programming (RFP) The publication by a prospective software purchaser of details of the required system in order to attract offers by software developers to supply it. Software development under contract starts with the selection of the software developer by the customer. A request for proposal (also called in Britain an invitation to tender ) is the beginning of the selection process.
[Bennatan, E.M., Software Project Management , 2nd edition, McGraw-Hill International, 1992].
(1995-12-04)

Request For Technology
(RFT) The process established by the OSF to get proposals for new standards.
(1994-11-30)

Required-COBOL
A minimal subset of COBOL developed in 1961. It was later dropped entirely.
[Sammet 1969, p. 339].
(1994-11-30)

requirements
programming The first stage of software development which defines what the potential users want the system to do. In modern methods these requirements should be testable, and will usually be traceable in later development stages. A common feature of nearly all software is that the requirements change during its lifetime.
See software life-cycle.
(1995-11-11)

Requirements Acquisition and Controlled Evolution
programming, project (RACE) A back to basics approach to requirements engineering. The method, is being pieced together through a series of intermediate research studies. In essence, the approach has been to establish requirements for RACE, identify individual techniques that meet those requirements, experiment with the combined use of the techniques, and finally assemble the method. In practice, RACE has been influenced significantly by Checkland and Wilson's Soft Systems Methodology (SSM) and this forms the core of the method.
(1995-11-21)

requirements analysis
project The process of reviewing a business's processes to determine the business needs and functional requirements that a system must meet.
(1996-08-01)

Requirements Engineering
programming The task of capturing, structuring, and accurately representing the user's requirements so that they can be correctly embodied in systems which meet those requirements (i.e. are of good quality).
DOORS is one product to help with this task.
(1995-11-11)

Research Systems, Inc.
(RSI) Distributors of Interactive Data Language (IDL).
(ftp://gateway.rs.inc.com/pub/). E-mail: info@rsinc.com .
(1994-10-07)

reserved memory
storage The address range 640-1024 kilobytes on an IBM PC, reserved for BIOS, video cards, and add-on cards. Depending on the configuration some of the address space may be unused in which case it can be used by EMS or UMB.
(1996-01-10)

resolution
1. hardware the maximum number of pixels that can be displayed on a monitor, expressed as (number of horizontal pixels) x (number of vertical pixels), i.e., 1024x768. The ratio of horizontal to vertical resolution is usually 4:3, the same as that of conventional television sets.
2. logic A mechanical method for proving statements of first order logic, introduced by J. A. Robinson in 1965. Resolution is applied to two clauses in a sentence. It eliminates, by unification, a literal that occurs positive in one and negative in the other to produce a new clause, the resolvent.
For example, given the sentence:
(man(X) = mortal(X)) AND man(socrates).
The literal man(X) is negative . The literal man(socrates) could be considered to be on the right hand side of the degenerate implication
True = man(socrates)
and is therefore positive . The two literals can be unified by the binding X = socrates.
The truth table for the implication function is
A | B | A = B --+---+------- F | F | T F | T | T T | F | F T | T | T
(The implication only fails if its premise is true but its conclusion is false). From this we can see that
A = B == (NOT A) OR B
Which is why the left hand side of the implication is said to be negative and the right positive. The sentence above could thus be written
((NOT man(socrates)) OR mortal(socrates)) AND man(socrates)
Distributing the AND over the OR gives
((NOT man(socrates)) AND man(socrates)) OR mortal(socrates) AND man(socrates)
And since (NOT A) AND A == False, and False OR A == A we can simplify to just
mortal(socrates) AND man(socrates)
So we have proved the new literal, mortal(socrates).
Resolution with backtracking is the basic control mechanism of Prolog.
See also modus ponens, SLD Resolution.
3. networking address resolution.
(1996-02-09)

resolver
networking The TCP/IP protocol library software that formats requests to be sent to the Domain Name Server for hostname to Internet address conversion.
(1995-03-28)

Resource Access Control Facility
(RACF) IBM's large system security product. It originally ran only under MVS but has since been ported to run under VM.
(1995-02-07)

Resource Description Framework
World-Wide Web, specification, data (RDF) A specification being developed in 2000 by the W3C as a foundation for processing meta-data regarding resources on the Internet, including the World-Wide Web.
Resource Description Framework data consists of resources (nodes), and property/value pairs describing the resource. A node is any object which can be pointed to by a URI, properties are attributes of the node, and values can be either atomic values for the attribute, or other nodes. For example, information about a particular web page (a node), might include the property Author . The value for the Author property could be either a string giving the name of the author, or a link to a resource describing the author.
Resource Description Framework only specifies a mechanism for encoding and transferring meta-data. It does not specify what that meta-data should, or can be. RDF does not, for example, define an Author attribute. Sets of properties are defined within RDF Vocabularies (or Schemas). Anynone can create an RDF schema, describing a specialized set of properties, by creating a resource, referenced by the Schema URI, which provides a human- and machine-understandable definition of the schema's properties. The description of a node may include properties defined in different schemas. The properties within a resource description are associated with a certain schema definition using the XML namespace mechanism. Schemas currently being developed include a content screening system modeled after PICS, and a bibliographic vocabulary, such as the Dublin Core Initiative.
Home (http://www.w3c.org/RDF/).
W3C Resource Description Framework-RDF Model and Syntax Specification (http://www.w3.org/TR/REC-rdf-syntax/).
(2000-03-25)

resource fork
Macintosh file system

Resource Reservation Protocol
protocol (RSVP) A protocol that supports quality of service.
(http://www.zdnet.com/pcweek/stories/news/0,4153,389107,00.html).
(2001-03-18)

restriction
A bug or design error that limits a program's capabilities, and which is sufficiently egregious that nobody can quite work up enough nerve to describe it as a feature. Often used (especially by marketroid types) to make it sound as though some crippling bogosity had been intended by the designers all along, or was forced upon them by arcane technical constraints of a nature no mere user could possibly comprehend (these claims are almost invariably false).
Old-time hacker Joseph M. Newcomer advises that whenever choosing a quantifiable but arbitrary restriction, you should make it either a power of 2 or a power of 2 minus 1. If you impose a limit of 17 items in a list, everyone will know it is a random number - on the other hand, a limit of 15 or 16 suggests some deep reason (involving 0- or 1-based indexing in binary) and you will get less flamage for it. Limits which are round numbers in base 10 are always especially suspect.
[Jargon File]

Restructured EXtended eXecutor
language (REXX, or System Product Interpreter , originally known as REX ) A scripting language for IBM VM and MVS systems, developed by M. Cowlishaw at IBM ca. 1979, replacing EXEC2.
Versions: PC-Rexx for MS-DOS, AREXX for the Amiga, the OS/2 implementation from IBM, WINREXX (Rexx for Windows, from Quercus systems) and Personal Rexx (Rexx for MS-DOS, from Quercus systems).
See also Regina, freerexx, imc.
REXXWARE is an implementation of REXX for Novell NetWare.
Usenet newsgroup: news:comp.lang.rexx.
[ The REXX Language: A Practical Approach to Programming , M.F. Cowlishaw, 1985].
(1992-05-13)

restructuring
The transformation from one representation form to another at the same relative abstraction level, while preserving the subject system's external behaviour (functionality and semantics).

retcon
/ret'kon/ retroactive continuity.
The common situation in fiction where a new story reveals things about events in previous stories, usually leaving the facts the same (thus preserving continuity) while completely changing their interpretation. For example, revealing that a whole season of Dallas was a dream was a retcon.
This term was once thought to have originated on the Usenet newsgroup news:rec.arts.comics but is now believed to have been used earlier in comic fandom.
[Jargon File]
(1994-12-08)

rete
artificial intelligence /Re'te/ (From Latin net ) A net or network; a plexus; particularly, a network of blood vessels or nerves, or a part resembling a network.
[How is it used in AI? What is a rete procedure ?]
(2002-03-14)

RETI
RTI

Retrieve
language A query language inspired JPLDIS which led to Vulcan and then to dBASE II, developed by Tymshare Corp in the 1960s.
(1998-04-29)

retrocomputing
/ret'-roh-k*m-pyoo'ting/ Refers to emulations of way-behind-the-state-of-the-art hardware or software, or implementations of never-was-state-of-the-art; especially if such implementations are elaborate practical jokes and/or parodies, written mostly for hack value, of more serious designs. Perhaps the most widely distributed retrocomputing utility was the pnch(6) or bcd(6) program on V7 and other early Unix versions, which would accept up to 80 characters of text argument and display the corresponding pattern in punched card code. Other well-known retrocomputing hacks have included the programming language INTERCAL, a JCL-emulating shell for Unix, the card-punch-emulating editor named 029, and various elaborate PDP-11 hardware emulators and RT-11 OS emulators written just to keep an old, sourceless Zork binary running.
[Jargon File]

retronym
jargon A term invented to distinguish a subclass of things from new members of the superclass, where the distinction was previously not necessary, since the old subclass had been all there was of the superclass.
For example, the retronyms snail mail and paper mail were coined by those for who mail was likely to mean electronic mail.
While the English language in general has a few retronyms ( whole milk , snow skiing , acoustic guitar ), hacker jargon is necessarily (at points capriciously) rich in retronyms, e.g. plaintext, natural language, impact printer, eyeball search, biological virus.
[More examples?]
(2001-02-25)

return from interrupt
programming (RTI) An instruction mnemonic on many computers including the 6502 and 6800. The variant RETI is found among former Zilog Z80 hackers (almost nobody programs these things in assembly code anymore). The Intel 80x86 equivalent is IRET .
(1994-10-31)

return from the dead
jargon To regain access to the net after a long absence.
Compare person of no account.
[Jargon File]
(1999-01-14)

Return To Zero
communications A class of encoding methods for physical circuits in which the carrier (current, voltage) returns to zero after each transmitted bit, i.e. the data is carried in pulse width or polarity, not in the level of the signal.
Contrast NRZ.
(1995-11-11)

reusability
See reuse.

reuse
Using code developed for one application program in another application. Traditionally achieved using program libraries. Object-oriented programming offers reusability of code via its techniques of inheritance and genericity. Class libraries with intelligent browsers and application generators are under development to help in this process. Polymorphic functional languages also support reusability while retaining the benefits of strong typing.
See also DRAGOON, National Software Reuse Directory, RLF.

Reverse Address Resolution Protocol
networking, protocol (RARP) A protocol defined in RFC 903 which provides the reverse function of ARP. RARP maps a hardware address (MAC address) to an Internet address. It is used primarily by diskless nodes, when they first initialise, to find their Internet address.
See also BOOTP.
(1994-12-08)

Reverse ARP
Reverse Address Resolution Protocol

reverse engineering
The process of analysing an existing system to identify its components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Reverse engineering is usually undertaken in order to redesign the system for better maintainability or to produce a copy of a system without access to the design from which it was originally produced.
For example, one might take the executable code of a computer program, run it to study how it behaved with different input and then attempt to write a program oneself which behaved identially (or better). An integrated circuit might also be reverse engineered by an unscrupulous company wishing to make unlicensed copies of a popular chip.
(1995-10-06)

Reverse Polish Notation
postfix notation

Revised ALGOL 60
ALGOL 60 Revised

revision
programming A release of a piece of software which is not a major release or a bugfix, but only introduces small changes or new features.
(1996-08-04)

Revision Control System
software, tool (RCS) A version control system that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, graphics, papers, and form letters.
Unix manual page: rcs(1).
[ RCS -- A System for Version Control , Walter F. Tichy, Software--Practice Experience 15, 7, July 1985, 637-654].
[Features? Availability? URL?]
(1994-12-23)

Revolutionary Surrealist Vandal Party
body (RSVP) (http://www.impropaganda.com/kultcha.html#bullet21).
(1996-12-01)

REX
The original name for Restructured EXtended eXecutor.

REXX
Restructured EXtended eXecutor

REXXWARE
An implementation of REXX for Novell NetWare produced by Simware, Inc. in January 1994. It is used by LAN managers to automate LAN administration chores on a Novell NetWare server.
As a scripting language, REXXWARE is an NLM (NetWare Loadable Module) that runs on Novell NetWare servers. It includes more than 275 NetWare-specific functions, plus the standard REXX keywords, instructions, built-in functions, flow-control, tracing, and error trapping and recovery features.
REXXWARE is certified by Novell for use with NetWare.
E-mail: rexxware@simware.com .
(1995-01-11)

RFC
Request For Comments

RFC 1014
programming, networking, standard The RFC defining eXternal Data Representation.
(rfc:1014).
(1994-12-13)

RFC 1034
networking, standard One of the RFCs defining the Domain Name System.
(rfc:1034).
(1997-12-15)

RFC 1035
networking, standard One of the RFCs defining the Domain Name System.
(rfc:1035).
(1997-12-15)

RFC 1058
networking, standard The RFC defining Routing Information Protocol. Updated by RFC 1388.
(rfc:1058).
(1994-11-30)

RFC 1081
messaging, standard The RFC defining POP3, Post Office Protocol version 3.
(rfc:1081).
(1994-12-12)

RFC 1094
standard, networking, storage The RFC defining Sun Microsystems's Network File System (NFS).
(rfc:1094).
(1994-12-12)

RFC 1112
networking, standard The RFC describing MBONE.
(rfc:1112).
(1994-11-11)

RFC 1119
networking, standard The RFC defining Network Time Protocol.
(rfc:1119).
(1994-11-30)

RFC 1123
networking, standard The RFC Requirements for Internet Hosts Application and Support which clarifies or changes the specification of protocols given in earlier RFCs.
RFC 1123 defines the terms MUST , SHOULD , MAY , unconditionally compliant , conditionally compliant . Capitals are used to emphasise that the official definition of the word is being used.
MUST or REQUIRED means an absolute requirement for conformance.
SHOULD or RECOMMENDED means the item can be ignored under certain circumstances, although the full implications should be understood.
MAY or OPTIONAL means the implementor can choose, usually depending on whether it is needed or not.
Something unconditionally compliant meets all the MUST and SHOULD requirements, conditionally compliant meets all the MUST requirements and not compliant - does not meet some MUST requirement.
For example, RFC 1123 amends RFC952 to say software MUST handle either a letter or a digit as the first character of a hostname.
(rfc:1123).
(1996-01-13)

RFC 1156
standard The RFC which established the MIB I Management Information Base standard.
(rfc:1156).
(1994-11-14)

RFC 1157
networking, standard The RFC defining Simple Network Management Protocol.
(rfc:1157).
(1994-11-14)

RFC 1171
protocol, standard The RFC defining the Point-to-Point Protocol.
(rfc:1171).
(1994-12-13)

RFC 1208
networking, standard The RFC defining many of the network-related terms in this dictionary.
(rfc:1208).
[ A Glossary of Networking Terms , Jacobsen, O., and D. Lynch, RFC 1208, Interop, Inc., March 1991.]
(1996-08-06)

RFC 1213
networking, standard The RFC which definied the MIB II Management Information Base.
(rfc:1213).
(1994-11-14)

RFC 1267
networking, standard One of the RFCs describing Border Gateway Protocol.
(rfc:1267).

RFC 1268
networking, standard One of the RFCs describing Border Gateway Protocol.
(rfc:1268).

RFC 1304
networking, standard One of the RFCs describing SMDS Interface Protocol.
(rfc:1304).
(2000-09-02)

RFC 1321
messaging, standard The RFC defining the Message Digest 5 algorithm.
(rfc:1321).
(1996-08-04)

RFC 1334
networking, security, standard, protocol The RFC defining Challenge-Handshake Authentication Protocol and Password Authentication Protocol.
(rfc:1334).
(1996-03-23)

RFC 1341
messaging, standard The June 1992 RFC defining Multipurpose Internet Mail Extensions (MIME). This RFC has been obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, and BCP0013.
(rfc:1341).
(1997-08-30)

RFC 1347
networking, protocol One of the RFCs describing the TUBA protocol.
(rfc:1347).
(1997-08-30)

RFC 1350
networking, protocol The RFC defining TFTP.
(rfc:1350).
(1997-08-30)

RFC 1388
networking, standard An update to RFC 1058, the RFC defining Routing Information Protocol.
(rfc:1388).
(1994-11-30)

RFC 1436
networking, standard The RFC defining the Internet Gopher protocol.
(rfc:1436).
(1995-11-16)

RFC 1441
networking, standard The RFC introducing SNMP v2.
(rfc:1441).
(1997-11-23)

RFC 1442
networking, standard The RFC defining SMI for SNMP v2.
(rfc:1442).
(1997-11-23)

RFC 1443
networking, standard The RFC defining textual conventions for SNMP v2.
(rfc:1443).
(1997-11-23)

RFC 1444
networking, standard The RFC defining conformance statements for SNMP v2.
(rfc:1444).
(1997-11-23)

RFC 1445
networking, standard The RFC defining the administrative model for SNMP v2.
(rfc:1445).
(1997-11-23)

RFC 1446
networking, standard The RFC defining security protocols for SNMP v2.
(rfc:1446).
(1997-11-23)

RFC 1447
networking, standard The RFC defining Party MIB for SNMP v2.
(rfc:1447).
(1997-11-23)

RFC 1448
networking, standard The RFC defining protocol operations for SNMP v2.
(rfc:1448).
(1997-11-23)

RFC 1449
networking, standard The RFC defining transport mappings for SNMP v2.
(rfc:1449).
(1997-11-23)

RFC 1450
networking, standard The RFC defining MIB for SNMP v2.
(rfc:1450).
(1997-11-23)

RFC 1451
networking, standard The RFC defining Manager to Manger MIB.
(rfc:1451).
(1997-11-23)

RFC 1452
networking, standard The RFC describing coexistance between SNMP v1 and SNMP v2.
(rfc:1452).
(1995-02-15)

RFC 1475
networking, protocol The RFC describing the TP/IX protocol.
(rfc:1475).
(1995-04-03)

RFC 1508
security, standard One of the RFCs defining GSS-API.
(rfc:1508).
(1996-05-19)

RFC 1509
security, standard One of the RFCs defining GSS-API.
(rfc:1509).
(1996-05-19)

RFC 1520
networking, standard The RFC defining Classless Inter-Domain Routing.
(rfc:1520).
(1996-10-01)

RFC 1521
messaging, standard An RFC defining Multipurpose Internet Mail Extensions (MIME). This RFC has been obsoleted by RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049, and BCP0013.
(rfc:1521).
(1997-11-23)

RFC 1526
networking, protocol One of the RFCs describing the TUBA protocol.
(rfc:1526).
(1997-11-23)

RFC 1531
networking, protocol The original RFC defining DHCP, obsoleted by RFC 2131.
(rfc:1531).
(1998-11-20)

RFC 1550
networking, protocol An RFC white paper on IPng.
(rfc:1550).
(1995-04-03)

RFC 1561
networking, protocol One of the RFCs describing the TUBA protocol.
(rfc:1561).
(1997-11-23)

RFC 1568
messaging, standard An RFC defining the Simple Network Paging Protocol (SNPP) which is designed to support Internet access to paging services such as those based on the Telocator Alphanumeric Protocol. See also RFC 1861.
(rfc:1568).
(1996-06-24)

RFC 1591
networking, standard The RFC defining the Domain Name System. Written by J. Postel in March 1994.
(2001-05-14)

RFC 1630
networking, standard The RFC defining the Universal Resource Identifier.
(rfc:1630).
(1995-01-13)

RFC 1661
networking, standard The RFC defining Point-to-Point Protocol.
(rfc:1661).
(1997-02-05)

RFC 1700
networking, standard The RFC defining Assigned Numbers such as standard well-known Internet Protocol port numbers.
See also IANA, STD 2.
[What else?]
(2001-04-08)

RFC 1701
networking, standard The RFC defining Generic Routing Encapsulation.
See also RFC 1702.
(rfc:1701).
(1997-04-02)

RFC 1702
networking, standard The RFC defining Generic Routing Encapsulation over IP.
(rfc:1702).
(1997-04-02)

RFC 1707
networking, standard The RFC defining CATNIP.
(rfc:1707).
(1996-03-23)

RFC 1730
messaging, standard An old RFC defining IMAP, obsoleted by RFC 2060, RFC 2061 and others.
(rfc:1730).
(1996-03-11)

RFC 1756
messaging The RFC describing Remote Write Protocol.
(rfc:1756).
(1996-09-08)

RFC 1760
security The RFC describing the S/KEY One-Time Password system.
(rfc:1760).
(2000-01-31)

RFC 1777
networking, standard The RFC defining Lightweight Directory Access Protocol.
(rfc:1777).
(1996-08-23)

RFC 1778
networking, standard The RFC that defines the requirements that must be satisfied by encoding rules used to render X.500 Directory attribute syntaxes into a form suitable for use in LDAP.
(rfc:1778).
(2002-03-02)

RFC 1823
networking, standard The RFC defining the C language application program interface to the Lightweight Directory Access Protocol.
(rfc:1823).
(1996-11-28)

RFC 1825
networking, standard The RFC describing security mechanisms for Internet Protocol version 4 and IP version 6 and the services that they provide.
(rfc:1825).
(1997-07-09)

RFC 1861
networking, standard The RFC defining Simple Network Paging Protocol. See also RFC 1568.
(rfc:1861).
(1997-04-25)

RFC 1938
security, standard The RFC describing a proposed standard for a One-Time Password system, obsoleted by RFC 2289.
[ A One-Time Password System. , N. Haller C. Metz].
(rfc:1938).
(2000-03-05)

RFC 1951
standard The RFC describing deflate compression.
(rfc:1951).
(1997-06-21)

RFC 1959
networking, standard The RFC defining a URL format for the Lightweight Directory Access Protocol.
(rfc:1959).
(1996-11-28)

RFC 1960
networking, standard The RFC defining the human-readable format of search filters used with the Lightweight Directory Access Protocol.
(rfc:1960).
(2002-03-02)

RFC 2045
messaging, standard One of the RFCs defining MIME.
(rfc:2045).
(1999-10-29)

RFC 2046
messaging, standard One of the RFCs defining MIME.
(rfc:2046).
(1999-10-29)

RFC 2047
messaging, standard One of the RFCs defining MIME.
(rfc:2047).
(1999-10-29)

RFC 2048
messaging, file format, standard The RFC explaining registration of MIME types.
(rfc:2048).
(1998-02-11)

RFC 2049
messaging, standard One of the RFCs defining MIME.
(rfc:2049).
(1999-10-29)

RFC 2060
messaging One of the RFCs describing IMAP.
(rfc:2060).
(1999-03-14)

RFC 2061
messaging One of the RFCs describing IMAP.
(rfc:2061).
(1999-03-14)

RFC 2068
networking, standard The RFC defining HTTP version 1.1.
(rfc:2068).
(1997-05-03)

RFC 2093
networking, standard The RFC specifying the Inverse Address Resolution Protocol.
(rfc:2093).
(2000-01-15)

RFC 2131
networking, protocol The RFC defining DHCP. Obsoletes RFC 1531.
(rfc:2131).
(1998-11-22)

RFC 2234
standard The RFC defining Augmented Backus-Naur Form.
(rfc:2234).
(1997-11-23)

RFC 2236
networking, standard The RFC describing IGMP version 2.
(rfc:2236).
(1999-11-08)

RFC 2279
standard The RFC defining UTF-8.
(rfc:2279).
(1998-07-29)

RFC 2298
security, standard The RFC describing a proposed standard for a One-Time Password system.
(rfc:2298).
(2000-03-05)

RFC 2326
standard The RFC defining RTSP.
(rfc:2326).
(1999-10-12)

RFC 2408
standard, security The RFC proposing ISAKMP.
(rfc:2408).
(2000-02-08)

RFC 2543
networking, standard One of the RFCs describing Session Initiation Protocol.
(rfc:2543).
(2000-07-08)

RFC 2795
networking, standard The RFC describing The Infinite Monkey Protocol Suite .
(rfc:2795).

RFC 792
networking, standard The RFC defining Internet Control Message Protocol.
(rfc:792).
(1996-08-23)

RFC 822
messaging, standard The RFC defining the Internet standard format for electronic mail message headers. Also STD 11, evolved from RFC 733.
(rfc:822).
(1997-03-08)

RFC 826
networking, standard The RFC defining the Address Resolution Protocol.
(rfc:826).
(1997-11-21)

RFC 854
networking, standard The RFC defining the telnet protocol.
[ Telnet Protocol specification , J. Postel, J.K. Reynolds, 1983-05-01].
(rfc:854).
(2000-03-18)

RFC 903
networking, standard The RFC defining Reverse Address Resolution Protocol.
(rfc:903).
(1994-12-08)

RFC 959
networking, standard The RFC containing the official specification of File Transfer Protocol (FTP).
(rfc:959).
(1995-01-12)

RFE
1. Request For Enhancement (compare RFC).
2. (From Radio Free Europe , Bellcore and Sun) Radio Free Ethernet.
A system originated by Peter Langston for broadcasting audio among Sun SPARCstations over the Ethernet.
[Jargon File]
(1994-12-06)

RFI
Radio Frequency Interference

RFP
1. business Request for Proposal.
1. Debian Request for Package.
(2001-01-15)

RFT
Request For Technology

RG58
electronics A common, low-impedance (52 ohm), quarter-inch diameter coaxial cable used for 10base2 Ethernet wiring, sometimes called cheapernet in comparison with full spec RG8 cabling. A member of the Radio Guide series.
(2002-06-17)

RG8
networking, hardware, cable (Or thicknet - thick Ethernet ) The original full spec cable, used for 10base5 Ethernet networks. RG8 is stiff, large diameter coaxial cable with an impedance of 50 ohms, a member of the Radio Guide series. The outer sheath is usually yellow, to indicate double shielding, so it is often just called yellow cable .
10base5 cable is designed to allow transceivers to be added while existing connections are live. This is achieved using a vampire tap - a device which (with sufficient practise) clamps onto the cable, forcing a spike through the outer shielding to contact the inner conductor while other spikes bite into the outer conductor. This is often built into the transceiver and a more flexible multi-wire cable carries the connection between the transceiver and the node.
RG58 is a cheaper, more flexible alternative.
(2002-06-17)

RGB
Red, Green, Blue. The three colours of light which can be mixed to produce any other colour. Coloured images are often stored as a sequence of RGB triplets or as separate red, green and blue overlays though this is not the only possible representation (see CMYK and HSV). These colours correspond to the three guns in a colour cathode ray tube and to the colour receptors in the human eye.
Often used as a synonym for colour, as in RGB monitor as opposed to monochrome (black and white).

Rhapsody
operating system Apple Computer, Inc.'s next-generation operating system for PowerPC processor-based systems capable of running Mac OS. Rhapsody includes four components: the Core OS, the Blue Box (the implementation of the Mac OS within Rhapsody), the Yellow Box, and the Advanced Mac Look and Feel.
Rhapsody for Intel runs on Intel processors [which ones?]. It includes the Core OS, the Yellow Box, and the Advanced Mac Look and Feel, but lacks the Blue Box and therefore is unable to run Mac OS software.
Rhapsody Developer Release is a developer-only release of Rhapsody, scheduled for release in late 1997. It will go to all members of the Macintosh Developer Program and the Apple Media Program worldwide who have signed nondisclosure agreements.
Rhapsody Premier Release will be the second release of Rhapsody, scheduled for early 1998. It is meant for early adopters and will include a partially finished human interface and a partial implementation of the Blue Box.
Rhapsody Unified Release will be the third release, scheduled for mid-1998. It will be the first public release, and it will include the first full implementation of the Rhapsody human interface and the Blue Box.
FAQ (http://devworld.euro.apple.com/rhapsody/faqsec1.html).
(1997-10-15)

rib site
networking (By analogy with backbone site) A host with an on-demand high-speed link to a backbone site that serves as a regional distribution point for lots of third-party traffic in electronic mail and Usenet news.
Compare leaf site.
[Jargon File]
(1994-11-30)

rice box
(Ham radio slang) Any Asian-made commodity computer, especially an 80x86-based machine built to IBM PC-compatible ISA or EISA-bus standards.
[Jargon File]
(1994-11-30)

Richard Gabriel
person (Dick, RPG) Dr. Richard P. Gabriel. A noted SAIL LISP hacker and volleyball fanatic.
Consulting Professor of Computer Science at Stanford University. Richard Gabriel is a leader in the Lisp and OOP community, with years of contributions to standardisation. He founded the successful company, Lucid Technologies, Inc..
In 1996 he was Distinguished Computer Scientist at ParcPlace-Digitalk, Inc. (later renamed ObjectShare, Inc.).
See also gabriel, Qlambda, QLISP, saga.
(1999-10-12)

Richard Hamming
person Professor Richard Wesley Hamming (1915-02-11 - 1998-01-07). An American mathematician known for his work in information theory (notably error detection and correction), having invented the concepts of Hamming code, Hamming distance, and Hamming window.
Richard Hamming received his B.S. from the University of Chicago in 1937, his M.A. from the University of Nebraska in 1939, and his Ph.D. in mathematics from the University of Illinois at Urbana-Champaign in 1942. In 1945 Hamming joined the Manhattan Project at Los Alamos.
In 1946, after World War II, Hamming joined the Bell Telephone Laboratories where he worked with both Shannon and John Tukey. He worked there until 1976 when he accepted a chair of computer science at the Naval Postgraduate School at Monterey, California.
Hamming's fundamental paper on error-detecting and error-correcting codes ( Hamming codes ) appeared in 1950. In 1956 he worked on the IBM 650, leading to the development of a programming language [which?]. Hamming also worked on numerical analysis, integrating differential equations, and the Hamming spectral window used for smoothing data before Fourier analysis.
In 1968 he was made a fellow of the Institute of Electrical and Electronics Engineers and awarded the Turing Prize from the Association for Computing Machinery. The Institute of Electrical and Electronics Engineers awarded Hamming the Emanuel R Piore Award in 1979 and a medal in 1988.
(http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Hamming.html).
(http://zapata.seas.smu.edu/~gorsak/hamming.html).
(http://www.webtechniques.com/archives/1998/03/homepage/).
[Richard Hamming. Coding and Information Theory. Prentice-Hall, 1980. ISBN 0-13-139139-9].
(2002-07-24)

Richard P. Gabriel
Richard Gabriel

Richard Stallman
person Richard M. Stallman. Founder of the GNU project. He resigned from the AI lab at MIT so he would be free to produce free software which he could then distribute on his own terms. He went on to establish the Free Software Foundation to support the production of free software and ensure its free distribution.
E-mail: rms@gnu.ai.mit.edu .
(1994-10-28)

rich object
In artificial intelligence, an object which cannot be completely described or represented but about which assertions can be made.
(1994-12-14)

Rich Text Format
(RTF) An interchange format from Microsoft for exchange of documents between Word and other document preparation systems.
(1994-12-08)

RIFF
file format Microsoft's equivalent to the Amiga's IFF files format. RIFF is used for WAV and AVI files.
(1995-04-21)

RIGAL
A language for compiler writing. Data strucures are atoms, lists/trees. Control is based on pattern matching.
[ Programming Language RIGAL as a Compiler Writing Tool , M.I. Augustson, Inst of Math and CS of Latvia U, 1987].
(1994-10-28)

Rigel
A database language? Based on Pascal. Listed by M.P. Atkinson J.W. Schmidt in a tutorial presented in Zurich, 1989.
(1994-10-28)

right brace
character . ASCII character 125.
Common names: close brace; right brace; right squiggly; right squiggly bracket/brace; right curly bracket/brace; ITU-T: closing brace. Rare: unbrace; uncurly; rytit ( = leftit); right squirrelly; INTERCAL: bracelet ( = embrace).
Paired with left brace
(1995-03-30)

right bracket
character ] . ASCII character 93.
Common names: right square bracket; ITU-T: closing bracket; unbracket. Rare: unsquare; INTERCAL: U turn back.
Paired with left bracket.
(1997-11-23)

right-click
hardware To click the right-most mouse button on a mouse with more than one button. This usually performs a different function from the left button, e.g. displaying a context-sensitive menu (Microsoft Windows), extending the selection (X).
(2000-02-14)

right outer join
outer join

right parenthesis
character ) . ASCII character 41.
Common names: right paren; right parenthesis; right; close; thesis ( ( = paren); close paren; close parenthesis; right parenthesis; right banana. Rare: already ( ( = so); rparen; ITU-T: closing parenthesis; close round bracket, right round bracket, INTERCAL: wane ( ( = wax); unparenthisey ( ( = parenthisey); right ear.
Paired with left parenthesis.
(1995-03-06)

Right Thing
That which is *compellingly* the correct or appropriate thing to use, do, say, etc. Always capitalised, always emphasised in speech as though capitalised. Use of this term often implies that in fact reasonable people may disagree. What's the Right Thing for Lisp to do when it sees (mod a 0) ? Should it return a , or give a divide-by-0 error?
Opposite: Wrong Thing.
[Jargon File]
(1994-10-28)

Rijndael
Advanced Encryption Standard

ring network
networking, topology A network topology in which all nodes are connected to a single wire in a ring or point-to-point. There are no endpoints. This topology is used by token ring networks.
Compare: bus network, star network.
(2000-11-16)

ring topology
ring network

Riordan's Internet Privacy Enhanced Mail
messaging (RIPEM) A (not yet complete, but useful) implementation of Privacy Enhanced Mail (PEM). RIPEM allows your electronic mail to have the four security facilities provided by PEM: disclosure protection (optional), originator authenticity, message integrity measures and non-repudiation of origin (always).
RIPEM was written primarily by Mark Riordan mrr@scss3.cl.msu.edu . Most of the code is in the public domain, except for the RSA routines, which are a library called RSAREF licensed from RSA Data Security, Inc.
The current (November 1993) version of RIPEM is 1.1a; the current version of the Macintosh port of RIPEM is 0.8b1.
(1998-07-03)

RIP
Routing Information Protocol

RIPE
Réseaux IP Européens

RIPEM
Riordan's Internet Privacy Enhanced Mail

RISC
Reduced Instruction Set Computer

RISC OS
(Reduced Instruction Set Computer Operating System) Acorn Computers' operating system for their Archimedes family of personal computers. RISC OS replaced the Arthur operating system used on the first Archimedeses. It is written in ARM assembly code and distributed on ROM so it takes up no disk space and takes no time to load. It supports cooperative multitasking with memory management and includes a graphical user interface or WIMP . It is written in a highly modular style and makes extensive use of vectors so it is easy to modify and extend by loading new modules in RAM. A large number of system calls (called SWIs - software interrupts) are available to the applications programmer and some of these are available as user comands via a built-in command-line interpreter. RISC OS also supported outline fonts when only bitmap fonts were available on most other platforms.

Risc PC
computer The latest addition to Acorn's Archimedes family of personal computers. The Risc PC, released in April 1994, allows a second processor, e.g. an Intel 486 or a second ARM, to share the bus, memory and peripherals with the main processor. It also offers significantly increased speed with an ARM610 RISC processor and full 24-bit colour graphics support.
(http://www.cs.nott.ac.uk/~pjg/RiscPC/)
(1996-02-05)

RISC System/6000
computer (Or RS/6000 ) IBM's current RISC-based Unix computer. The RS/6000, announced in 1990, replaced the RT-PC. It runs AIX 3.x and 4.x. Most models have an MCA bus. A wide range of models are available.
(1995-04-06)

RISQL
Red Brick Intelligent SQL

RJ-11
hardware, communications An American-style telephone jack with six possible connections. A telephone normally uses two pairs of wires. Often found on the back of US-manufactured modems or for connection to a leased line.
(1998-06-30)

RJ-45
hardware A serial connector which looks very much like a standard telephone connector, except it houses eight wires instead of four. RJ-45s are not typically found on computers or normal serial equipment, but because they are so small they are often used on devices such as terminal servers that have many ports.
Ethernet (10baseT) and Token Ring sometimes use four wires of an RJ-45 plug, 100baseVG uses all eight. 100BaseTX uses the same four wires of the RJ-45 connector as 10baseT but the wire must be category 5 instead of category 3.
(1998-06-30)

RJE
Remote Job Entry

RKM
Rom Kernel Manual

RL
(MUD community) Real Life.
Firiss laughs in RL means that Firiss's player is laughing.
Opposite: VR.
[Jargon File]
(1995-05-09)

rl
Kent Wittenburg kentw@bellcore.com .
The RL files contain code for defining relational grammars and using them in a bottom-up parser to recognise and/or parse expressions in Relational Languages.
The approach is a simplification of that described in Wittenburg, Weitzman, and Talley (1991), Unification-Based Grammars and Tabular Parsing for Graphical Languages, Journal of Visual Languages and Computing 2:347-370. This code is designed to support the definition and parsing of Relational Languages, which are characterised as sets of objects standing in user-defined relations.
Correctness and completeness is independent of the order in which the input is given to the parser. Data to be parsed can be in many forms as long as an interface is supported for queries and predicates for the relations used in grammar productions.
To date, this software has been used to parse recursive pen-based input such as math expressions and flow charts; to check for data integrity and design conformance in databases; to automatically generate constraints in drag-and-drop style graphical interfaces; and to generate graphical displays by parsing relational data and generating output code.
requires:Common Lisp
ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
(ftp://flash.bellcore.com/rl/)
(1992/10/31)

RLaB
A MATLAB-like matrix-oriented programming language/toolbox. RLaB focusses on creating a good experimental environment (or laboratory) in which to do matrix mathematics. Currently RLaB has numeric scalars and matrices (real and complex), and string scalars, and matrices. RLaB also contains a list variable type, which is a heterogeneous associative array.
Version 0.95 includes an interpreter, libraries and documentation. E-mail: Ian Searle ians@eskimo.com . (ftp://evans.ee.adfa.oz.au). Requires GNUPLOT, lib[IF]77.a (from f2c). Ported to many platforms including Unix, OS/2,Amiga.
(1993-10-27).

RLE
run-length encoding

RLF
Reuse Library Framework of the DoD.

RLL
Representation Language Language. A frame language. A Representation Language Language , R. Greiner and D.B. Lenat, Proc AAAI-80, 1980.

rlogin
networking, tool (Remote login) The 4.2BSD Unix utility to allow a user to log in on another host via a network. Rlogin communicates with a daemon on the remote host.
Unix manual page: rlogin(1).
See also telnet.
(1997-01-12)

RMAG
Recursive Macro Actuated Generator

RMAIL
messaging A MUA written in Emacs Lisp to run within Emacs.
(1996-03-21)

RMI
Remote Method Invocation

RM-ODP
programming The ISO Reference Model for Open Distributed Environments.
(http://pepper.open.ac.uk/~armsarms/sa.html)
(1995-11-23)

RMON
Remote Monitor, Remote Monitoring.

RMS
1. Record Management Services.
2. Richard Stallman.

RNF
root normal form

ro
networking The country code for Romania.
(1999-01-27)

roach
jargon A Bell Labs term meaning destroy, especially of a data structure. Hardware gets toasted or fried, software gets roached.
[Why?]
[Jargon File]
(1999-02-08)

ROADS
Subsystem of ICES. Sammet 1969, p.616.

Robert T. Morris
The creator of the Internet Worm that wreaked havoc on many Internet systems for a day or two.
Morris, the son of an NSA spook, did some jail time for releasing the worm.
(1995-01-12)

ROBEX
ROBot EXapt. Aachen Tech College. Based on EXAPT. Version: ROBEX-M for micros.

RoboHELP
tool A Microsoft Windows Help authoring tool from Blue Sky Software. Used with Microsoft Word to create Help files for inclusion in a Windows application or for stand alone use.
(1997-01-19)

robot
1. robotics A mechanical device for performing a task which might otherwise be done by a human, e.g. spraying paint on cars.
See also cybernetics.
2. chat An IRC or MUD user who is actually a program. On IRC, typically the robot provides some useful service. Examples are NickServ, which tries to prevent random users from adopting nicks already claimed by others, and MsgServ, which allows one to send asynchronous messages to be delivered when the recipient signs on. Also common are annoybots , such as KissServ, which perform no useful function except to send cute messages to other people. Service robots are less common on MUDs; but some others, such as the Julia robot active in 1990--91, have been remarkably impressive Turing test experiments, able to pass as human for as long as ten or fifteen minutes of conversation.
3. World-Wide Web spider.
[Jargon File]
(1996-03-23)

robust
Said of a system that has demonstrated an ability to recover gracefully from the whole range of exceptional inputs and situations in a given environment. One step below bulletproof. Carries the additional connotation of elegance in addition to just careful attention to detail. Compare smart, opposite: brittle.
[Jargon File]

Rockwell Protocol Interface
(RPI) A cost-cutting feature of some modems allowing data compression and error correction (e.g. ITU-T V.42bis, V.42) to be provided in software instead of hardware.
Usually an RPI modem comes with RPI-aware software (e.g. the low-end RPI models of Supra come with the COMit which supports RPI, providing MNP 2,4,5,7, V.42 and V.42bis). RPI is not supported by many commercial packages nor by current releases of popular shareware communication programs (Telix v3.22 and Telemate v4.12). ProComm Plus for Windows 2.0 will support RPI.
Currently Rockwell produce two classes of RPI chip set. The original is capable of 2400 bit/s data, 9600 bit/s class 1-only fax. The newer one is capable of 14400 bit/s data/fax. Currently there are no RPI chipset from Rockwell supporting speeds higher than 14400 bit/s.
(1994-07-01)

Rocky Mountain Basic
language The BASIC language used by Hewlett Packard on their 680x0-based computers. Rocky Mountain Basic is good for interfaces to IEEE 488 controls and contains many mathematical and matrix functions. It has about 600 commands. Typical applications include automatic test stations.
(1996-04-28)

rococo
jargon, abuse Baroque in the extreme. Used to imply that a program has become so encrusted with the software equivalent of gold leaf and curlicues that they have completely swamped the underlying design. Called after the later and more extreme forms of Baroque architecture and decoration prevalent during the mid-1700s in Europe. Alan Perlis said: Every program eventually becomes rococo, and then rubble.
Compare critical mass.
[Jargon File]
(1996-04-06)

roff
text, tool A text formatting language associated with Unix. See groff, nroff, troff.
[Was roff the original? Platform(s)?]
(1998-11-14)

ROFLMAO
ROTFLMAO

rogue
games [Unix] A Dungeons-and-Dragons-like game using character graphics, written under BSD Unix and subsequently ported to other Unix systems. The original BSD curses(3) screen-handling package was hacked together by Ken Arnold to support rogue(6) and has since become one of Unix's most important and heavily used application libraries. Nethack, Omega, Larn, and an entire subgenre of computer dungeon games all took off from the inspiration provided by rogue(6) . See also nethack.
[Jargon File]

rollback
database Reverting data in a database to an earlier state, usually in response to an error or aborted operation.
In a transaction based database system, transactions are considered atomic. If an error occurs while performing a transaction, the database is automatically rolled back to the state at the previous commit.
Rollback may also be performed by an explicit rollback transaction.
(2000-01-15)

ROM
Read-Only Memory

ROM BIOS
Basic Input/Output System

ROME
An experimental object-oriented language.
[ The Point of View Notion for Multiple Inheritance , B. Carre et al, SIGPLAN Notices 25(10):312-321 (OOPSLA/ECOOP '90) (Oct 1990)].
(1994-11-30)

Rom Kernel Manual
publication (RKM) A series of books or files for developers for the Amiga computer, containing information about the operating system kernel stored in ROM.
(1996-04-06)

room
channel

ROOM Methodology
Real-Time Object-Oriented Modeling

room-temperature IQ
abuse (IBM) 80 or below. Used in describing the expected intelligence range of the luser. Well, but how's this interface going to play with the room-temperature IQ crowd? This is a much more insulting phrase in countries that use Celsius thermometers.
See drool-proof paper.
[Jargon File]
(1996-04-06)

root
1. operating system The Unix superuser account (with user name root and user ID 0) that overrides file permissions. The term avatar is also used. By extension, the privileged system-maintenance login on any operating system.
See root mode, go root, wheel.
[Jargon File]
(1994-10-27)
2. operating system root directory.
(1996-11-21)
3. data root node.
(1998-11-14)

root bridge
communications, hardware, networking A bridge which continuously transmits network topology information to other bridges, using the spanning tree protocol, in order to notify all other bridges on the network when topology changes are required.
This means that a network is able to reconfigure itself whenever a network link (e.g. another bridge) fails, so an alternative path can be found. The presence of a root bridge also prevents loops from forming in the network.
The root bridge is where the paths that frames take through the network they are assigned. It should be located centrally on the network to provide the shortest path to other links on the network. Unlike other bridges, the root bridge always forwards frames out over all of its ports.
Every network should only have one root bridge. It should have the lowest bridge ID number.
(2000-11-26)

root directory
file system The topmost node of a hierarchical file system.
(1996-11-21)

root mode
Synonym with wizard mode or wheel mode . Like these, it is often generalised to describe privileged states in systems other than operating systems.
[Jargon File]

root node
mathematics, data In a tree, a node with no parents, but which typically has daughters.
(1998-11-14)

Root Normal Form
(RNF) Head Normal Form in graph rewriting.

root version
The initial value of an object in a change management system.

ROSE
Remote Operations Service Element

Rosette
language A concurrent object-oriented language from MCC.
[Details?]
(1997-11-26)

Roskind grammars
tool Yacc-based parsers for C and C++ by Jim Roskind jar@netscape.com . It does not use the %prec and %assoc YACC features so conflicts are never hidden. The C grammar has only one shift-reduce conflict, the C++ grammar has a few more. With byacc it can produce graphical parse trees automatically. The C grammar conforms to ANSI C and the C++ grammar supports cfront 2.0 constructs.
Current version: cpp5 (cf2.0).
(ftp://ftp.infoseek.com/pub/c++grammar/)
(1996-01-04)

rot13
/rot ther'teen/ [Usenet: from rotate alphabet 13 places ], v. The simple Caesar-cypher encryption that replaces each English letter with the one 13 places forward or back along the alphabet, so that The butler did it! becomes Gur ohgyre qvq vg! Most Usenet news reading and posting programs include a rot13 feature. It is used to enclose the text in a sealed wrapper that the reader must choose to open - e.g. for posting things that might offend some readers, or spoilers. A major advantage of rot13 over rot(N) for other N is that it is self-inverse, so the same code can be used for encoding and decoding.
[Jargon File]

rotary debugger
(Commodore) Essential equipment for those late-night or early-morning debugging sessions. Mainly used as sustenance for the hacker. Comes in many decorator colours, such as Sausage, Pepperoni, and Garbage.
(1995-01-11)

rotational latency
The time for the start of the required sector on a disk to appear underneath the read/write head. The worst case is where it has just passed the head when the request is received. For a disk drive with N heads per surface, rotating at R revolutions per minute, the average rotational latency will be
L = 30/NR seconds.
Rotational latency is one component of access time.

rotation per minute
unit (rpm) A unit of angular velocity.
(1998-03-27)

ROTFL
chat Rolling on the floor laughing (or rolls...).
Used in a MUD, news.
See also ROTFLMAO, ROTFLOL.
(1996-02-22)

ROTFLMAO
chat Rolling on the floor laughing my ass (arse) off. An extreme form of ROTFL.
(2000-11-12)

ROTFLOL
chat Rolling on the floor laughing out loud. See ROTFL.
(1997-03-06)

round-robin
algorithm A scheduling algorithm in which processes are activated in a fixed cyclic order. Those which cannot proceed because they are waiting for some event (e.g. termination of a child process or an input/output operation) simply return control to the scheduler. The virtue of round-robin scheduling is its simplicity - only the processes themselves need to know what they are waiting for or how to tell if it has happened. However, if a process goes back to sleep just before the event for which it is waiting occurs then the event will not get handled until all the other processes have been activated.
Compare priority scheduling.
(1996-02-10)

round tape
storage, jargon Industry-standard 1/2-inch magnetic tape (7- or 9-track) on traditional circular reels.
See macrotape, opposite: square tape.
[Jargon File]
(1996-02-03)

round-trip time
(RTT) A measure of the current delay on a network, found by timing a packet bounced off some remote host. This can be done with ping -s.
(1994-11-30)

route
networking /root/ The sequence of hosts, routers, bridges, gateways, and other devices that network traffic takes, or could take, from its source to its destination. As a verb, to determine the link down which to send a packet, that will minimise its total journey time according to some routeing algorithm.
You can find the route from your computer to another using the program traceroute on Unix or tracert on Microsoft Windows.
(2001-05-26)

routed
networking /root dee/ Route Daemon. A program which runs under 4.2BSD Unix systems and derivatives to propagate routes among machines on a local area network, using the Routing Information Protocol. See also gated.
(2002-07-31)

route flapping
flapping router

routeing
networking (US routing ) /roo'ting/ The process, performed by a router, of selecting the correct interface and next hop for a packet being forwarded.
This is the British and international standard spelling.
See also Exterior Gateway Protocol, Interior Gateway Protocol.
(2001-05-28)

routeing domain
networking (US routing ) A set of routers that exchange routeing information within an administrative domain.
(1994-12-14)

router
networking /roo't*/ A device which forwards packets between networks. The forwarding decision is based on network layer information and routing tables, often constructed by routing protocols.
Unix manual page: route(8).
See also bridge, gateway, Exterior Gateway Protocol, Interior Gateway Protocol, flapping router.
(1999-08-24)

routine
subroutine

routing
tool /row'ting/ Using a kind of rotating cutting tool called a router, pronounced /row't*/. In the USA a router, pronounced /row't*/, is also a network device that performs routing . In the UK, the network device is pronounced /roo't*/ and what it does is spelled routeing .
(2002-07-31)

Routing Information Protocol
1. networking (RIP) A distance vector, as opposed to link state, routing protocol. RIP is an Internet standard Interior Gateway Protocol defined in STD 34, RFC 1058 and updated by RFC 1388.
See also Open Shortest Path First.
2. networking (RIP) A companion protocol to IPX for exchange of routing information in a Novell network. RIP has been partly superseded by NLSP. It is not related to the Internet protocol of the same name.
(1997-03-04)

Routing Table Maintenance Protocol
protocol (RTMP) A protocol used by AppleTalk to ensure that all routers on the network have consistent routing information.
(1997-05-11)

row
record

row-level locking
database A technique used in database management systems, where a row is locked for writing to prevent other users from accessing data being while it is being updated.
Other techniques are table locking and MVCC.
(1999-06-18)

Royal Veterinary and Agricultural University
Address: Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark.
(1994-12-12)

RPC
Remote Procedure Call

RPG
1. games Role-Playing Game.
2. tool Report Program Generator.
3. person Richard Gabriel.
(1999-10-12)

RPI
Rockwell Protocol Interface

RPL
Reverse Polish LISP. Language used by HP-28 and HP-48 calculators.

RPL-1
Data reduction language. Proc SJCC 30:571-575, AFIPS (Spring 1967).

RPM
operating system, tool A Unix package-management system that helps installation of software packages; similar to an install program.
[More details? Reference? Expansion?]
(1996-03-07)

rpm
rotation per minute

RPN
postfix notation

Répondez s'il vous plait
chat (RSVP) French for please reply , commonly found (abbreviated) on invitations.
(1996-12-02)

RPT
Unify. Report Writer Language.

RRL
Remote Reference Layer

RRS
An early definition of Scheme. Revised in R2RS.
[ The Revised Report on Scheme , G.L. Steele et al, AI Memo 452, MIT, Jan 1978].
(1994-10-28)
[Was the original Report on Scheme published?]

RS
1. character Record Separator
2. standard Recommended Standard, a series of EIA standards including EIA-232.

RS-232
EIA-232

RS-232C
communications, standard The EIA equivalent of ITU-T standard V.24.
The EIA EIA-232C electrical signal is unbalanced +/- 5 to +/- 12V, polar non return to zero and handles data speeds up to 19.2 kilobits per second.
[Correct name? Difference from EIA-232?]
(2000-02-03)

RS-232D
communications, standard The EIA equivalent of ITU-T standard V.28.
[Difference from EIA-232/EIA-232C?]
(1995-03-02)

RS-422
communications, standard An EIA serial line standard which specifies differential drivers and receivers.
[Details?]
(1995-03-14)

RS-423
A common electrical specification for the signals on a serial line. When no data is being transmitted, the serial line is at a logical zero (+3 to +15 Volts). A logical one is represented as a signal level of -15 to -3 Volts. In practise, one often finds signals which switch between nominally +4.5 and +0.5 Volts. Such signals are large by modern standards, and because the impedance of the circuits is relatively high, the allowable bit rate is modest.
The data is preceded by a start bit which is always a logical one. There may be seven or eight bits of data, possibly followed by an even or odd parity bit and one or two stop bits.
A break condition is a continuous logical one on the line which is what would be observed if nothing was connected.
EIA-232 specifies the physical connector normally used for RS-423 lines.
(1995-02-02)

RS-449
communications, standard (Recommended Standard 449) An EIA recommendation for an interface between 37-pin to 9-pin.
[Where is it used?]
(1996-06-07)

RS-485
communications, standard An EIA standard for serial communications over wires. It allows multiple devices to share a line. It is also used in Differential SCSI.
(1995-03-28)

RS6000
RISC System/6000

RS/6000
RISC System/6000

RS6K
RISC System/6000

RSA
cryptography, company (The initials of the authors)
1. RSA Data Security, Inc.
2. Their cryptography systems, especially RSA encryption.
The RSA algorithm was first described in the paper:
[R. Rivest, A. Shamir, L. Adleman, A Method for Obtaining Digital Signatures and Public-key Cryptosystems . CACM 21,2; 1978]
(1995-03-21)

RSA Data Security, Inc.
cryptography, company (After Rivest, Shamir, Adleman - see RSA) A recognised world leader in cryptography, with millions of copies of its software encryption and authentication installed and in use worldwide. RSA's technologies are the global de facto standard for public key cryptography and digital signatures, and are part of existing and proposed standards for the Internet, ITU-T, ISO, ANSI, PKCS, IEEE and business and financial networks around the world.
(http://www.rsa.com/)
(1994-12-08)

RSA encryption
cryptography, algorithm A public-key cryptosystem for both encryption and authentication, invented in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman. Its name comes from their initials.
The RSA algorithm works as follows: take two large prime numbers, p and q, and find their product n = pq; n is called the modulus. Choose a number, e, less than n and relatively prime to (p-1)(q-1), and find its inverse, d, mod (p-1)(q-1), which means that ed = 1 mod (p-1)(q-1); e and d are called the public and private exponents, respectively. The public key is the pair (n,e); the private key is d. The factors p and q must be kept secret, or destroyed. It is difficult (presumably) to obtain the private key d from the public key (n,e). If one could factor n into p and q, however, then one could obtain the private key d. Thus the entire security of RSA depends on the difficulty of factoring; an easy method for factoring products of large prime numbers would break RSA.
RSA FAQ (http://www.rsa.com/rsalabs/faq/faq_home.html).
(2002-03-29)

RSCS
communications Remote Spooling Communication Subsystem.
(1996-02-04)

Réseaux Associés pour la Recherche Européenne
(RARE) An association of national and international European networks and users.
See also CCIRN.
(1994-11-30)

Réseaux IP Européens
(RIPE) A collaboration between European networks which use the TCP/IP protocol suite to provide Internet services.
(1994-11-30)

RS flip-flop
SR flip-flop

rsh
Remote shell.
A Berkeley Unix networking command to execute a given command on a remote host, passing it input and receiving its output. Rsh communicates with a daemon on the remote host. It is sometimes called remsh to avoid confusion with the restricted shell, also called rsh .
Unix manual page: rsh(1).
(1994-12-08)

RSI
1. medical overuse strain injury.
2. company Research Systems, Inc..
(1999-01-08)

RSL
RAISE Specification Language. (RAISE = Rigorous Approach to Industrial Software Engineering). A wide-spectrum specification and design language developed by ESPRIT Project 315 at CRI A/S, Denmark. Systems may be modular, concurrent, nondeterministic. Specifications may be applicative or imperative, explicit or implicit, abstract or concrete.
[ The RAISE Specification Language , RAISE Language Group, P-H 1992, ISBN 0-13-752833-7].

RSN
Real Soon Now

rstat
netstat

RSTS/E
operating system A multi-user, general purpose timesharing operating system produced by Mentec, Inc. and licensed bu Digital Equipment Corporation.
RSTS/E can be used for interactive timesharing, batch processing, indirect command file processing, program development using a variety of languages and tools, and a wide variety of special purpose applications. Up to 127 concurrent terminal users in both local and remote locations through multi-terminal services can interact with application tasks. Without multi-terminal services, 63 users are the maximum. Tasks can share computational, storage, and input/output services provided by the RSTS/E system.
Full description (http://pyrfect.ico.olivetti.com/SPD/13-01-37.txt)
(1996-06-04)

RSVP
1. chat Répondez s'il vous plait.
2. protocol Resource Reservation Protocol.
3. body Revolutionary Surrealist Vandal Party.
(2001-03-18)

RTBM
(Unix) Read The Bloody Manual.
Commonwealth Hackish variant of RTFM. RTBM is often the entire text of the first reply to a question from a newbie; the *second* would escalate to RTFM .
[Jargon File]
(1994-12-08)

RTC++
A real-time extension of C++.
[ Object-Oriented Real-Time Language Design: Constructs for Timing Constraints , Y. Ishikawa et al, SIGPLAN Notices 25(10):289-298 (OOPSLA/ECOOP '90) (Oct 1990)].
(1994-12-08)

RT-CDL
Real-Time Common Design Language. Real-time language for the design of reliable reactive systems. RT-CDL: A Real-Time Description Language and Its Semantics , L.Y. Lin et al, 11th World Computer Congress IFIP '89 pp.19-26 (Sep 1989).

RTEE
Real Time Engineering Environment: a set of CASE tools produced by Westmount Technology B.V.

RTF
Rich Text Format

RTFAQ
(Usenet, primarily written, by analogy with RTFM) Read the FAQ!
An exhortation that the person addressed ought to read the newsgroup's FAQ list before posting questions.
[Jargon File]
(1994-12-08)

RTFB
jargon (By analogy with RTFM) Read The Fucking Binary.
Used when neither documentation nor source for the problem at hand exists, and the only thing to do is use some debugger or monitor and directly analyse the assembler or even the machine code.
RTFB is the least pejorative of the RTF? forms, the anger is directed at the absence of both source *and* adequate documentation rather than at the person asking a question.
[Jargon File]
(1995-08-20)

RTFM
jargon /R T F M/ Read The Fucking Manual (always abbreviated, sometimes bowdlerised to - Fine - ) An (unhelpful) guru's traditional response when someone asks a question in a newsgroup or mailing list which he could have easily answered for himself had he bothered to RTFM.
The term may also be used to indicate that you couldn't find the answer in the manual. E.g. How do I interface Unix to my toaster? And yes, I did RTFM but the FM didn't help and I can't RTFS.
Derived forms include RTFAQ, RTFB, and RTM. Compare: UTSL.
[Earliest use?]
[Jargon File]
(2000-05-16)

RTFS
1. Read The Fucking Source. Variant form of RTFM, used when the problem at hand is not necessarily obvious and not answerable from the manuals - or the manuals are not yet written and maybe never will be. For even trickier situations, see RTFB. Unlike RTFM, the anger inherent in RTFS is not usually directed at the person asking the question, but rather at the people who failed to provide adequate documentation.
2. Read The Fucking Standard; this oath can only be used when the problem area (e.g. a language or operating system interface) has actually been codified in a ratified standards document. The existence of these standards documents (and the technically inappropriate but politically mandated compromises that they inevitably contain, and the impenetrable legalese in which they are invariably written, and the unbelievably tedious bureaucratic process by which they are produced) can be unnerving to hackers, who are used to a certain amount of ambiguity in the specifications of the systems they use. (Hackers feel that such ambiguities are acceptable as long as the Right Thing to do is obvious to any thinking observer; sadly, this casual attitude towards specifications becomes unworkable when a system becomes popular in the Real World.) Since a hacker is likely to feel that a standards document is both unnecessary and technically deficient, the deprecation inherent in this term may be directed as much against the standard as against the person who ought to read it.
[Jargon File]

RTI
Return from interrupt

RTL
1. hardware Resistor-Transistor Logic.
2. language Register Transfer Language.

RTL/1
language Real Time Language.
A real-time language written by by J.G.P. Barnes of ICI in 1971. It was the predecessor of RTL/2.
[ Real Time Languages for Process Control , J.G.P. Barnes, Computer J 15(1):15-17, Feb 1972].
(1994-11-09)

RTL/2
Real Time Language.
A small real-time language based on ALGOL 68, with separate compilation designed by J.G.P. Barnes of ICI in 1972 as a successor to RTL/1.
A program is composed of separately compilable modules called bricks which may be datablocks, procedures or stack. A stack is a storage area for use as a workspace by a task. The language is block-structured and weakly typed. Simple types are byte, int, frac and real. There are no Booleans. Compound types may be formed from arrays, records and refs (pointers). There are no user-defined types. Control statements are if-then-elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and label variables.
[ RTL/2: Design and Philosophy , J.G.P. Barnes, Hayden Son, 1976].

RTM
1. [Usenet] Read The Manual. Politer variant of RTFM.
2. Robert T. Morris Jr.
The perpetrator of the great Internet worm of 1988 (see Great Worm); villain to many, naive hacker gone wrong to a few. Morris claimed that the worm that brought the Internet to its knees was a benign experiment that got out of control as the result of a coding error. After the storm of negative publicity that followed this blunder, Morris's user name on ITS was hacked from RTM to RTFM.
[Jargon File]
(1995-03-31)

RTMP
Routing Table Maintenance Protocol

RTOS
Real-Time Operating System

RT-PC
computer RISC Technology Personal Computer.
(Commonly, but incorrectly, known as the PC-RT , later changed to just RT ) IBM's first RISC-based Unix computer. The RT-PC was the predecessor to IBM's RS/6000. It ran AIX 1.x and 2.x and had a PC-AT bus and IBM's ROMP microprocessor. It was withdrawn from the marketing around 1989 or 1990.
(1995-04-06)

RTS
1. operating system run-time system.
2. programming return from subroutine.
(1999-07-26)

RTSA
real-time structured analysis

RTSP
Real Time Streaming Protocol

RTT
Round-Trip Time

RTTI
Run Time Type Information

ru
networking The country code for the Russian Federation.
(1999-01-27)

rubi
furigana

Ruby
language
1. A relational language designed by Jones and M. Sheeran in 1986 for describing and designing circuits (a hardware description language). Ruby programs denote binary relations and programs are built-up inductively from primitive relations using a pre-defined set of relational operators. Ruby programs also have a geometric interpretation as networks of primitive relations connected by wires, which is important when layout is considered in circuit design.
Ruby has been continually developed since 1986, and has been used to design many different kinds of circuits, including systolic arrays, butterfly networks and arithmetic circuits.
(ftp://ftp.cs.chalmers.se/pub/misc/ruby/).
E-mail: graham@cs.chalmers.se .
[ Ruby - A Language of Relations and Higher-Order Functions , M. Sheeran, Proc 3rd Banff Workshop on Hardware Verification, Springer 1990].
(1994-10-27)
2. One of five pedagogical languages based on Markov algorithms, used in Higman's report (below). The other languages are Brilliant, Diamond, Nonpareil, and Pearl.
[ Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics , B. Higman, ULICS Intl Report No ICSI 170, U London (1968)].
(1994-10-27)
3. A fully object oriented interpreted scripting language by Yukihiro Matsumoto matz@netlab.co.jp .
Similar in scope to Perl and Python, Ruby has high-level data types, automatic memory management, dynamic typing, a module system, exceptions, and a rich standard library. Other features are CLU-style iterators for loop abstraction, singleton classes/methods and lexical closures.
In Ruby, everything is an object, including the basic data types. For example, the number 1 is an instance of class Fixnum.
Current version (stable): 1.6.7, as of 2002-03-01.
Ruby Home (http://www.ruby-lang.org/).
Ruby Central (http://www.rubycentral.com/).
[ Programming Ruby - The Pragmatic Programmer's Guide , David Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley 2000].
(2002-06-19)

rude
[WPI] 1. Badly written or functionally poor, e.g. a program that is very difficult to use because of gratuitously poor design decisions. Opposite: cuspy.
2. Anything that manipulates a shared resource without regard for its other users in such a way as to cause a (non-fatal) problem. Examples: programs that change tty modes without resetting them on exit, or windowing programs that keep forcing themselves to the top of the window stack. Compare all-elbows.
[Jargon File]
(1994-10-27)

RUFL
Rhodes University Functional Language. A Miranda-like functional language from Rhodes University, Grahamstown, South Africa with a SPARC code generator.
(1994-10-27)

run
execution

RUNCIBLE
Early system for mathematics on IBM 650.
See also FORTRUNCIBLE, IT.
[Listed in CACM 2(5):16 (May 1959)].
(1994-10-27)

runes
1. Anything that requires heavy wizardry or black art to parse: core dumps, JCL commands, APL or code in a language you haven't a clue how to read. Not quite as bad as line noise, but close.
Compare casting the runes, Great Runes.
2. Special display characters (for example, the high-half graphics on an IBM PC).
[Jargon File]

runic
jargon Obscure, consisting of runes.
VMS fans sometimes refer to Unix as RUnix . Unix fans return the compliment by expanding VMS to Very Messy Syntax or Vachement Mauvais Systeme (French; literally Cowlike Bad System , idiomatically Bitchy Bad System ).
(1996-09-17)

run-length encoding
A kind of compression algorithm which replaces sequences ( runs ) of consecutive repeated characters (or other units of data) with a single character and the length of the run. This can either be applied to all input characters, including runs of length one, or a special character can be used to introduce a run-length encoded group. The longer and more frequent the runs are, the greater the compression that will be achieved. This technique is particularly useful for encoding black and white images where the data units would be single bit pixels.
(1994-10-27)

run time
1. The elapsed time to perform a computation on a particular computer.
2. The amount of time a processor actually spent on a particular process and not on other processes or overhead (see time-sharing).
3. The period of time during which a program is being executed, as opposed to compile-time or load time. The term should be hyphenated when used as an adjective.
4. run-time support.
(2001-09-14)

run-time environment
operating system A collection of subroutines and environment variables that provide commonly used functions and data for a program while it is running.
Compare run-time support.
(1995-03-22)

run-time error
programming An error in the execution of a program which occurs at run time, as opposed to a compile-time error.
A good programming language should, among other things, aim to replace run-time errors by compile-time errors. Language features such as strong typing help.
A good program should attempt to avoid run-time errors by, for example, checking that their input data is sensible. Where this is not possible, the program should attempt to detect the error and handle it gracefully rather than just exiting via the language or operating system's default handler. Here again, a good language will make this easy to do (or at least possible).
See also abort, core dump, GPF.
(1997-01-13)

run-time library
operating system, programming, library A file containing routines which are linked with a program at run time rather than at compile-time. The advantage of such dynamic linking is that only one copy of the library needs to be stored, rather than a copy being included with each executable that refers to it. This can greatly reduce the disk space occupied by programs. Furthermore, it means that all programs immediately benefit from changes (e.g. bug fixes) to the single copy of the library without requiring recompilation. Since the library code is normally classified as read-only to the memory management system, it is possible for a single copy of the library to be loaded into memory and shared by all active programs, thus reducing RAM and virtual memory requirements and program load time.
(1997-07-16)

run-time support
run-time system

run-time system
programming (RTS, run-time support, run-time) Library code and processes which support software written in a particular language running on a particular platform. The RTS typically deals with details of the interface between the program and the operating system such as system calls, program start-up and termination, and memory management.
(1999-07-26)

Run-Time Type Information
compiler (RTTI) Facilities included in C++ compilers to allow the type of an object to be determined at run time.
This facility, found in good C++ compilers and some other high level languages, adds type information to memory resident objects (i.e. type name or unique type-id). This allows the run-time system to determine if an object is of a specific type, for example, to ensure that a cast of an object is valid.
(1996-04-15)

ruptime
Unix Berkeley networking command to report the status of all hosts on the net. See also rwho. See ruptime(1N).

RUSH
1. language An interactive dialect of PL/I, related to CPS, dated about 1966. The name is the abbreviation of Remote Use of Shared Hardware .
[ Introduction to RUSH , Allen-Babcock Computing 1969. Sammet 1969, p.309.]
2. language A high-level language that closely resembles Tcl but aimed to provide substantially faster execution. See An Introduction to the Rush Language (ftp://ginsberg.cs.berkeley.edu/pub/papers/asah/rush-tcl94.ps.gz) by Adam Sah, Jon Blow, and Brian Dennis (1994).
(1996-12-17)

Russell
(After Bertrand Russell) A compact, polymorphically typed functional language by A. Demers J. Donahue with bignums and continuations. Types are themselves first-class values and may be passed as arguments.
(ftp://parcftp.xerox.com/pub/russell/russell.tar.Z)
[ An Informal Description of Russell , H. Boehm et al, Cornell CS TR 80-430, 1980].
[ Understanding Russell: A First Attempt , J.G. Hook in LNCS 173, Springer].
(1995-03-27)

Russell, Bertrand
Bertrand Russell

Russell's Attic
mathematics An imaginary room containing countably many pairs of shoes (i.e. a pair for each natural number), and countably many pairs of socks. How many shoes are there? Answer: countably many (map the left shoes to even numbers and the right shoes to odd numbers, say). How many socks are there? Also countably many, we want to say, but we can't prove it without the Axiom of Choice, because in each pair, the socks are indistinguishable (there's no such thing as a left sock). Although for any single pair it is easy to select one, we cannot specify a general method for doing this.
(1995-03-29)

Russell's Paradox
mathematics A logical contradiction in set theory discovered by the British mathematician Bertrand Russell (1872-1970). If R is the set of all sets which don't contain themselves, does R contain itself? If it does then it doesn't and vice versa.
The paradox stems from the acceptance of the following axiom: If P(x) is a property then
x : P
is a set. This is the Axiom of Comprehension (actually an axiom schema). By applying it in the case where P is the property x is not an element of x , we generate the paradox, i.e. something clearly false. Thus any theory built on this axiom must be inconsistent.
In lambda-calculus Russell's Paradox can be formulated by representing each set by its characteristic function - the property which is true for members and false for non-members. The set R becomes a function r which is the negation of its argument applied to itself:
r = x . not (x x)
If we now apply r to itself,
r r = ( x . not (x x)) ( x . not (x x))
= not (( x . not (x x))( x . not (x x)))
= not (r r)
So if (r r) is true then it is false and vice versa.
An alternative formulation is: if the barber of Seville is a man who shaves all men in Seville who don't shave themselves, and only those men, who shaves the barber? This can be taken simply as a proof that no such barber can exist whereas seemingly obvious axioms of set theory suggest the existence of the paradoxical set R.
Zermelo Fränkel set theory is one solution to this paradox. Another, type theory, restricts sets to contain only elements of a single type, (e.g. integers or sets of integers) and no type is allowed to refer to itself so no set can contain itself.
A message from Russell induced Frege to put a note in his life's work, just before it went to press, to the effect that he now knew it was inconsistent but he hoped it would be useful anyway.
(2000-11-01)

rusty iron
jargon, hardware Synonym tired iron. It has been claimed that this is the inevitable fate of water MIPS.
[Jargon File]
(1995-03-25)

rusty memory
storage, humour Mass-storage that uses iron-oxide-based magnetic media (especially magnetic tape and the pre-Winchester removable disk packs used in washing machines).
Compare donuts.
[Jargon File]
(1997-07-20)

RUTH
D.A. Harrison at Newcastle University. Real-time language based on LispKit. Uses timestamps and real-time clocks.
[ RUTH: A Functional Language for Real-Time Programming , D. Harrison in PARLE: Parallel Architectures and Languages Europe, LNCS 259, Springer 1987, pp.297-314].

rw
networking The country code for Rwanda.
(1999-01-27)

rwho
networking The Berkeley Unix networking command to report who is logged in on all hosts on the local network segment.
Unix manual page: rwho(1).
(1996-09-08)

RWP
Remote Write Protocol

Rx
A pattern matcher compatible with GNU regex, but generally faster.
Version 0.05, released 1994-05-18, contained substantial changes from the version last distributed with GNU sed. These changes provide low-level support for searching across arbitrarily fragmented strings and suspendable searches.

language A statistical analysis language from AT T.
[ S: An Interactive Environment for Data Analysis and Graphics , Richard A. Becker, Wadsworth 1984].
(1997-01-21)

s///
chat s/foo/bar/ is an idiom which means I didn't mean to type 'foo', I meant to type 'bar' .
Its use in talk systems, especially irc, comes from the use of s/// as a substitution operator in Perl, sed and ed. In these languages and tools, s/foo/bar/ would replace any substring matching the regular expression foo with the string bar .
(1997-03-16)

S3
1. language An ALGOL-like system language for the ICL 2900 computer.
2. graphics, hardware A video chipset.
3. graphics An X Window System screen server.
(1998-04-28)

SA
Structured Analysis

sa
networking The country code for Saudi Arabia.
(1999-01-27)

SA-110
processor The first member of the StrongARM family resulting from the architecture license agreement between Digital Equipment Corporation and Advanced RISC Machines Ltd. (ARM), developer of the ARM 32-bit RISC architecture.
The SA-110 combines ARM's low-power architecture with Digital's processor design and CMOS process expertise, and is targetted at embedded consumer electronics products.
(1996-02-06)

SAA
Systems Application Architecture

Saber-C
Renamed to CodeCenter.

Saber-C++
Renamed to ObjectCenter.

SAC
An early system on the Datatron 200 series.
[Listed in CACM 2(5):16 (May 1959)].
(1995-04-12)

SAC-1
mathematics, tool An early symbolic mathematics system, written in Fortran by G.E. Collins.
[Proc 2nd Symp Symb Alg Manip pp.144-152 (1971)].
(1995-04-12)

SAC2
mathematics, tool A symbolic mathematics system which compiles to Fortran or Common Lisp.
E-mail: jma@poly.polytechnique.fr .
(1995-04-12)

sacadm
operating system A Unix (Solaris?) command for administering both ttymon and listen. It can be used to add and remove, start and stop, and enable and disable port monitors.
[What does sac stand for?]
(1997-12-21)

sacred
Reserved for the exclusive use of something (an extension of the standard meaning). Often means that anyone may look at the sacred object, but clobbering it will screw whatever it is sacred to. The comment Register 7 is sacred to the interrupt handler appearing in a program would be interpreted by a hacker to mean that if any *other* part of the program changes the contents of register 7, dire consequences are likely to ensue.
[Jargon File]

SAD
Systems Analysis Definition

SAD SAM
Query language by Lindsay. Sammet 1969, p.669.

SADT
Structured Analysis and Design Technique.

SAFARI
ON-line text editing system by MITRE Corporation.
Sammet 1969, p.685.

safe
A safe program analysis is one which will not reach invalid conclusions about the behaviour of the program. This may involve making safe approximations to properties of parts of the program. A safe approximation is one which gives less information.
For example, strictness analysis aims to answer the question will this function evaluate its argument ?. The two possible results are definitely and don't know . A safe approximation for definitely is don't know . The two possible results correspond to the two sets: the set of all functions which evaluate their argument and all functions . A set can be safely approximated by another which contains it.

safety
See safe, safety-critical system.

safety-critical system
A computer, electronic or electromechanical system whose failure may cause injury or death to human beings. E.g. an aircraft or nuclear power station control system. Common tools used in the design of safety-critical systems are redundancy and formal methods.
See also aeroplane rule.

saga
jargon (WPI) A cuspy but bogus raving story about N random broken people.
Here is a classic example of the saga form, as told by Guy Steele (GLS):
Jon L. White (login name JONL) and I (GLS) were office mates at MIT for many years. One April, we both flew from Boston to California for a week on research business, to consult face-to-face with some people at Stanford, particularly our mutual friend Richard Gabriel (RPG).
RPG picked us up at the San Francisco airport and drove us back to Palo Alto (going logical south on route 101, parallel to El Camino Bignum). Palo Alto is adjacent to Stanford University and about 40 miles south of San Francisco. We ate at The Good Earth, a health food restaurant, very popular, the sort whose milkshakes all contain honey and protein powder. JONL ordered such a shake - the waitress claimed the flavour of the day was lalaberry . I still have no idea what that might be, but it became a running joke. It was the colour of raspberry, and JONL said it tasted rather bitter. I ate a better tostada there than I have ever had in a Mexican restaurant.
After this we went to the local Uncle Gaylord's Old Fashioned Ice Cream Parlor. They make ice cream fresh daily, in a variety of intriguing flavours. It's a chain, and they have a slogan: If you don't live near an Uncle Gaylord's - MOVE! Also, Uncle Gaylord (a real person) wages a constant battle to force big-name ice cream makers to print their ingredients on the package (like air and plastic and other non-natural garbage). JONL and I had first discovered Uncle Gaylord's the previous August, when we had flown to a computer-science conference in Berkeley, California, the first time either of us had been on the West Coast. When not in the conference sessions, we had spent our time wandering the length of Telegraph Avenue, which (like Harvard Square in Cambridge) was lined with picturesque street vendors and interesting little shops. On that street we discovered Uncle Gaylord's Berkeley store. The ice cream there was very good. During that August visit JONL went absolutely bananas (so to speak) over one particular flavour, ginger honey.
Therefore, after eating at The Good Earth - indeed, after every lunch and dinner and before bed during our April visit --- a trip to Uncle Gaylord's (the one in Palo Alto) was mandatory. We had arrived on a Wednesday, and by Thursday evening we had been there at least four times. Each time, JONL would get ginger honey ice cream, and proclaim to all bystanders that Ginger was the spice that drove the Europeans mad! That's why they sought a route to the East! They used it to preserve their otherwise off-taste meat. After the third or fourth repetition RPG and I were getting a little tired of this spiel, and began to paraphrase him: Wow! Ginger! The spice that makes rotten meat taste good! Say! Why don't we find some dog that's been run over and sat in the sun for a week and put some *ginger* on it for dinner?! Right! With a lalaberry shake! And so on. This failed to faze JONL; he took it in good humour, as long as we kept returning to Uncle Gaylord's. He loves ginger honey ice cream.
Now RPG and his then-wife KBT (Kathy Tracy) were putting us up (putting up with us?) in their home for our visit, so to thank them JONL and I took them out to a nice French restaurant of their choosing. I unadventurously chose the filet mignon, and KBT had je ne sais quoi du jour, but RPG and JONL had lapin (rabbit). (Waitress: Oui, we have fresh rabbit, fresh today. RPG: Well, JONL, I guess we won't need any *ginger*! )
We finished the meal late, about 11 P.M., which is 2 A.M Boston time, so JONL and I were rather droopy. But it wasn't yet midnight. Off to Uncle Gaylord's!
Now the French restaurant was in Redwood City, north of Palo Alto. In leaving Redwood City, we somehow got onto route 101 going north instead of south. JONL and I wouldn't have known the difference had RPG not mentioned it. We still knew very little of the local geography. I did figure out, however, that we were headed in the direction of Berkeley, and half-jokingly suggested that we continue north and go to Uncle Gaylord's in Berkeley.
RPG said Fine! and we drove on for a while and talked. I was drowsy, and JONL actually dropped off to sleep for 5 minutes. When he awoke, RPG said, Gee, JONL, you must have slept all the way over the bridge! , referring to the one spanning San Francisco Bay. Just then we came to a sign that said University Avenue . I mumbled something about working our way over to Telegraph Avenue; RPG said Right! and maneuvered some more. Eventually we pulled up in front of an Uncle Gaylord's.
Now, I hadn't really been paying attention because I was so sleepy, and I didn't really understand what was happening until RPG let me in on it a few moments later, but I was just alert enough to notice that we had somehow come to the Palo Alto Uncle Gaylord's after all.
JONL noticed the resemblance to the Palo Alto store, but hadn't caught on. (The place is lit with red and yellow lights at night, and looks much different from the way it does in daylight.) He said, This isn't the Uncle Gaylord's I went to in Berkeley! It looked like a barn! But this place looks *just like* the one back in Palo Alto!
RPG deadpanned, Well, this is the one *I* always come to when I'm in Berkeley. They've got two in San Francisco, too. Remember, they're a chain.
JONL accepted this bit of wisdom. And he was not totally ignorant - he knew perfectly well that University Avenue was in Berkeley, not far from Telegraph Avenue. What he didn't know was that there is a completely different University Avenue in Palo Alto.
JONL went up to the counter and asked for ginger honey. The guy at the counter asked whether JONL would like to taste it first, evidently their standard procedure with that flavour, as not too many people like it.
JONL said, I'm sure I like it. Just give me a cone. The guy behind the counter insisted that JONL try just a taste first. Some people think it tastes like soap. JONL insisted, Look, I *love* ginger. I eat Chinese food. I eat raw ginger roots. I already went through this hassle with the guy back in Palo Alto. I *know* I like that flavour!
At the words back in Palo Alto the guy behind the counter got a very strange look on his face, but said nothing. KBT caught his eye and winked. Through my stupor I still hadn't quite grasped what was going on, and thought RPG was rolling on the floor laughing and clutching his stomach just because JONL had launched into his spiel ( makes rotten meat a dish for princes ) for the forty-third time. At this point, RPG clued me in fully.
RPG, KBT, and I retreated to a table, trying to stifle our chuckles. JONL remained at the counter, talking about ice cream with the guy b.t.c., comparing Uncle Gaylord's to other ice cream shops and generally having a good old time.
At length the g.b.t.c. said, How's the ginger honey? JONL said, Fine! I wonder what exactly is in it? Now Uncle Gaylord publishes all his recipes and even teaches classes on how to make his ice cream at home. So the g.b.t.c. got out the recipe, and he and JONL pored over it for a while. But the g.b.t.c. could contain his curiosity no longer, and asked again, You really like that stuff, huh? JONL said, Yeah, I've been eating it constantly back in Palo Alto for the past two days. In fact, I think this batch is about as good as the cones I got back in Palo Alto!
G.b.t.c. looked him straight in the eye and said, You're *in* Palo Alto!
JONL turned slowly around, and saw the three of us collapse in a fit of giggles. He clapped a hand to his forehead and exclaimed, I've been hacked!
[My spies on the West Coast inform me that there is a close relative of the raspberry found out there called an ollalieberry - ESR]
[Ironic footnote: it appears that the meme about ginger vs. rotting meat may be an urban legend. It's not borne out by an examination of mediaeval recipes or period purchase records for spices, and appears full-blown in the works of Samuel Pegge, a gourmand and notorious flake case who originated numerous food myths. - ESR]
[Jargon File]
(1994-12-08)

sagan
jargon /say'gn/ (From Carl Sagan's TV series Cosmos ) Billions and billions. A large quantity of anything.
There's a sagan different ways to tweak Emacs. The US Government spends sagans on bombs and welfare - hard to say which is more destructive.
[Jargon File]
(1999-10-12)

SAGE
1. body, job Systems Administrators Guild.
2. project Semi-Automatic Ground Environment.
(2001-01-27)

SAIC
Home (http://www.saic.com).
(1996-03-21)

SAID
Security Association ID

SAIL
1. body, education Stanford Artificial Intelligence Laboratory.
2. language Stanford Artificial Intelligence Language.
3. language An early system on the Larc computer.
[Listed in CACM 2(5):16, May 1959].
[Jargon File]
(2001-06-22)

SAINT
1. language Symbolic Automatic INTegrator.
2. networking, security, tool Security Administrator's Integrated Network Tool.
(2000-07-11)

Saint Andrews Static Language
language [Is this the same as Single ASsignment Language?]
(2001-08-24)

SAL
1. Single Assignment Language.
2. Simple Actor Language.
A minimal actor language, used for pedagogical purposes in:
[ Actors, A Model of Concurrent Computation in Distributed Systems , G. Agha, MIT Press 1986].
(1994-12-08)
3. SPARK Annotation Language.
ICL, Ltd. Used in the verification of SPARK programs against Z specifications.
(1994-12-08)

SALEM
[ SALEM - A Programming System for the Simulation of Systems Described by Partial Differential Equations , S.M. Morris et al, Proc SJCC 33(1), 1968].
(1994-12-08)

Sales Automation
Sales Force Automation

salescritter
/sayls'kri tr/ Pejorative hackerism for a computer salesperson. Hackers tell the following joke:
Q. What's the difference between a used-car dealer and a computer salesman?
A. The used-car dealer knows he's lying. [Some versions add: ...and probably knows how to drive.]
This reflects the widespread hacker belief that salescritters are self-selected for stupidity (after all, if they had brains and the inclination to use them, they'd be in programming). The terms salesthing and salesdroid are also common.
Compare marketroid, suit, droid.
[Jargon File]
(1994-12-08)

Sales Force Automation
business (Sales Automation, SFA, SFFA, Sales Field Force Automation) Software to support sales reps. The software gives sales representitives access to contacts, appointments and e-mail. It is likely to be integrated with Customer Relationship Management systems and Opportunity Management Systems.
(1999-08-20)

S-ALGOL
Orthogonal data structures on ALGOL 60. S-Algol Language Reference Manual , R. Morrison, TR CS/79/1 U St Andrews, 1979. An Introduction to Programming with S-Algol , A.J. Cole R. Morrison, Cambridge U Press 1982.

SALT
1. Symbolic Assembly Language Trainer. Assembly-like language implemented in BASIC by Kevin Stock, now at Encore in France.
2. Sam And Lincoln Threaded language. A threaded extensible variant of BASIC. SALT , S.D. Fenster et al, BYTE (Jun 1985) p.147.
[Jargon File]

salt
A tiny bit of near-random data inserted where too much regularity would be undesirable; a data frob (sense 1). For example, the Unix crypt(3) manual page mentions that the salt string is used to perturb the DES algorithm in one of 4096 different ways.

salt mines
Dense quarters housing large numbers of programmers working long hours on grungy projects, with some hope of seeing the end of the tunnel in N years. Noted for their absence of sunshine. Compare playpen, sandbox.
[Jargon File]

salt substrate
[MIT] Collective noun used to refer to potato chips, pretzels, saltines, or any other form of snack food designed primarily as a carrier for sodium chloride. From the technical term chip substrate , used to refer to the silicon on the top of which the active parts of integrated circuits are deposited.

SAM
System Account Manager

sam
tool A multi-file screen editor with structural regular expressions. Sam runs under the X Window System.
(2000-07-16)

SAM76
A macro language by Claude Kagan descended from TRAC. There is a version for CP/M.
[Dr Dobbs J ca 1977].

Samba
networking A free suite of programs which implement the Server Message Block (SMB) protocol.
Originally developed for Unix by Andrew Tridgell at the Australian National University, the Samba server allows files and printers on the host operating system to be shared with clients such as Windows for Workgroups, DOS, OS/2, Windows NT and others.
For example, instead of using telnet to log in to a Unix machine to edit a file there, a Windows 95 user might connect a drive in the Windows Explorer to a Samba server on the Unix machine and edit the file in a Windows editor.
A Unix client called smbclient, built from the same source code, allows ftp-like access to SMB resources.
Samba is available for many Unix variants, OS/2, and VMS. Porting to Novell Netware is in progress (August 1996).
smblib is a portable generic library for making SMB calls for implementing client/server functions from within any program. Linux implements a complete file system (based on smbclient) so by default Linux users have full access to resources on LAN Server, Windows NT and LAN Manager networks.
Home (http://www.samba.org/samba/samba.html).
(1998-11-22)

SAME
Standard ANSI Module language with Extensions

same-day service
humour, operating system An ironic term used to describe long response time, particularly with respect to MS-DOS system calls (which ought to require only a tiny fraction of a second to execute). Such response time is a major incentive for programmers to write programs that are not well-behaved.
See also PC-ism.
[Jargon File]
(1996-12-17)

SAMeDL
SQL Ada Module Description Language. Used to interface Ada application programs to SQL-based DBMSs.
E-mail: Marc Graham marc@sei.cmu.edu . (ftp://ajpo.sei.cmu.edu/public/atip/samedl/).
[ Rationale for SQL Ada Module Description Language SAMeDL , SEI-92-TR-016].

samizdat
publication (Russian, literally self publishing ) The process of disseminating documentation via underground channels. Originally referred to photocopy duplication and distribution of banned books in the former Soviet Union; now refers by obvious extension to any less-than-official promulgation of textual material, especially rare, obsolete, or never-formally-published computer documentation. Samizdat is obviously much easier when one has access to high-bandwidth networks and high-quality laser printers.
Strictly, samizdat only applies to distribution of needed documents that are otherwise unavailable, and not to duplication of material that is available for sale under copyright.
See Lions Book for a historical example.
See also: hacker ethic.
[Jargon File]
(2000-03-23)

Sammet, Jean E.
Jean E. Sammet

sample
DSP The result of measuring the amplitude of an analog signal at a specified time. In digital signal processing a sample is a signed or unsigned number and the number of samples per second is called the sample rate.
(2001-06-06)

sample rate
DSP The number of times an analog signal is measured (sampled) in a unit of time.
See Nyquist frequency.
(2001-06-06)

sampling
DSP The process of taking a sample of a signal at evenly spaced intervals of time. This is the first step in Digital Signal Processing.
(2001-06-06)

sampling frequency
sample rate

samurai
A hacker who hires out for legal cracking jobs, snooping for factions in corporate political fights, lawyers pursuing privacy-rights and First Amendment cases, and other parties with legitimate reasons to need an electronic locksmith. In 1991, mainstream media reported the existence of a loose-knit culture of samurai that meets electronically on BBS systems, mostly bright teenagers with personal micros; they have modelled themselves explicitly on the historical samurai of Japan and on the net cowboys of William Gibson's cyberpunk novels. Those interviewed claim to adhere to a rigid ethic of loyalty to their employers and to disdain the vandalism and theft practiced by criminal crackers as beneath them and contrary to the hacker ethic; some quote Miyamoto Musashi's Book of Five Rings , a classic of historical samurai doctrine, in support of these principles.
See also Stupids, social engineering, cracker, hacker ethic, and dark-side hacker.
[Jargon File]

sandbender
[IBM] A person involved with silicon lithography and the physical design of integrated circuits. Compare ironmonger, polygon pusher.

sandbox
(UK: sandpit )
1. operating system A protected, limited environment where applications (e.g. Java programs downloaded from the Internet) are allowed to play without risking damage to the rest of the system.
2. jargon A term for the R D department at many software and computer companies (where hackers in commercial environments are likely to be found). The term is half-derisive, but reflects the truth that research is a form of creative play.
Compare playpen.
3. operating system link farm.
[Jargon File]
(2001-02-08)

Sandman
The DoD requirements that led to APSE.

San Francisco
project, library IBM's Java component framework application template.
The San Francisco Project, started in 1998(?), aims to create a generic set of java building blocks to provide the core functions of general business processes such as sales order processing, general ledger, inventory management and product distribution.
The project aims to use component based design allowing easy vendor customisation and Java code generation allowing applications to be built and run across multiple platforms. It also aims to be compatible with third party development tools.
Home (http://www.ibm.com/Java/Sanfrancisco/).
(1998-08-16)

sanity check
programming 1. Checking code (or anything else, e.g. a Usenet posting) for completely stupid mistakes. Implies that the check is to make sure the author was sane when it was written; e.g. if a piece of scientific software relied on a particular formula and was giving unexpected results, one might first look at the nesting of parentheses or the coding of the formula, as a sanity check , before looking at the more complex I/O or data structure manipulation routines, much less the algorithm itself.
Compare reality check.
2. A run-time test, either validating input or ensuring that the program hasn't screwed up internally (producing an inconsistent value or state).
[Jargon File]
(1998-08-29)

Santa Cruz Operation
(SCO) A supplier of Unix systems for Intel microprocessors. They supply Xenix and Open Desktop.
Founded in 1979, SCO became a public company in May, 1993 and trades on the Nasdaq National Market System under the symbol SCOC. SCO maintains its world headquarters in Santa Cruz, California, USA; a European headquarters in Watford, England; a Government Systems Group in Reston, Virginia; and offices in Asia, Australia, Canada, Latin America, and throughout Europe and the United States. In February 1993, SCO acquired IXI Limited of Cambridge, England, the leading supplier of Unix System windowing software.
(http://websco.sco.com/)
(1994-10-28)
[Addresses?]

SAP
1. company SAP AG (Systems, Applications and Products in Data Processing).
2. protocol Service Advertising Protocol.
3. networking Service Access Point.
4. language Symbolic Assembler Program.
(1999-05-26)

SAP AG
company (Systeme, Anwendungen, Produkte in der Datenverarbeitung - German for Systems, Applications and Products in Data Processing ) A company from Germany that sells the leading suite of client-server business software. The US branch is called SAP America.
Home (http://www.sap.com/).
[Details?]
(1998-07-28)

SAPI
1. programming Speech Application Programming Interface.
2. programming Scheduling Application Programming Interface.
3. networking Service Access Point Identifier.
(1996-10-03)

SAR
segmentation and reassembly

SAS
1. language Statistical Analysis System.
2. tool SAS System.
(1998-11-06)

SASD
Structured Analysis, Structured Design

SASE
Specific Application Service Element. Opposite: CASE.

SASI
Small Computer System Interface

SASL
1. language Single ASsignment Language.
2. Simple Authentication and Security Layer.
(2001-08-24)

SASL+LV
Unifies logic and functional programming. A more complete version of FGL+LV, in SASL syntax. Combinator Evaluations of Functional Programs with Logical Variables , G. Bage et al, TR UUCS-87-027, U Utah, Oct 1987.

SASL-YACC
A version of Yacc written in SASL by Simon Peyton-Jones.

SAS System
tool (SAS) Integrated software to access, manage, analyze, and present data. The SAS System can be used to perform data entry, retrieval and management; report writing and graphics design; statistical and mathematical analysis; business forecasting and decision support; operations research; project management and applications development.
(1998-11-06)

SATAN
Security Administrator's Integrated Network Tool

Sather
language /Say-ther/ (Named after the Sather Tower at UCB, as opposed to the Eiffel Tower).
An interactive object-oriented language designed by Steve M. Omohundro at ICSI in 1991. Sather has simple syntax, similar to Eiffel, but it is non-proprietary and faster.
Sather 0.2 was nearly a subset of Eiffel 2.0, but Sather 1.0 adds many distinctive features: parameterised classes, multiple inheritance, statically-checked strong typing, garbage collection. The compiler generates C as an intermediate language. There are versions for most workstations.
Sather attempts to retain much of Eiffel's theoretical cleanliness and simplicity while achieving the efficiency of C++. The compiler generates efficient and portable C code which is easily integrated with existing code.
A variety of development tools including a debugger and browser based on gdb and a GNU Emacs development environment have also been written. There is also a class library with several hundred classes that implement a variety of basic data structures and numerical, geometric, connectionist, statistical, and graphical abstractions. The authors would like to encourage contributions to the library and hope to build a large collection of efficient, well-written, well-tested classes in a variety of areas of computer science.
Sather runs on Sun-4, HP9000/300, Decstation 5000, MIPS, Sony News 3000, Sequent/Dynix, SCO SysVR3.2, NeXT, Linux.
See also dpSather, pSather, Sather-K.
(ftp://ftp.icsi.berkeley.edu/pub/sather)
E-mail: sather-admin@icsi.berkeley.edu .
Mailing list: sather-request@icsi.berkeley.edu.
(1995-04-26)

Sather-K
language Karlsruhe Sather.
A sublanguage of Sather used for introductory courses in object-oriented design and typesafe programming.
E-mail: trapp@karlsruhe.gmd.de .
(1994-11-11)

satisfiability problem
A problem used as an example in complexity theory. It can be stated thus:
Given a Boolean expression E, decide if there is some
assignment to the variables in E such that E is true.
A Boolean expression is composed of Boolean variables, (logical) negation (NOT), (logical) conjunction (AND) and parentheses for grouping. The satisfiability problem was the first problem to be proved to be NP-complete (by Cook).
[ Introduction to Automata Theory, Languages, and Computation by Hopcroft and Ullman, pub. Addison-Wesley].
(1994-11-11)

Saturday-night special
(From police slang for a cheap handgun) A quick-and-dirty program or feature kluged together during off hours, under a deadline, and in response to pressure from a salescritter. Such hacks are dangerously unreliable, but all too often sneak into a production release after insufficient review.
[Jargon File]
(1994-11-11)

SAVE
An assembler for the Burroughs 220 by Melvin Conway (see Conway's Law). 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.
(1995-01-16)

save
editor, programming, storage To copy data to a more permanent form of storage. The term is commonly used for when some kind of document editing application program writes the current document from RAM to a file on hard disk at the request of the user. The implication is that the user might later load the file back into the editor again to view it, print it, or continue editing it. Saving a document makes it safe from the effects of power failure.
The document might actually be anything, e.g. a word processor document, the current state of a game, a piece of music, a web site, or a memory image of some program being executed (though the term dump would probably be more common here).
Data can be saved to any kind of (writable) storage: hard disk, floppy disk, CD-R; either locally or via a network.
A program might save its data without any explicit user request, e.g. periodically as a precaution ( auto save ), or if it forms part of a pipeline of processes which pass data via intermediate files. In the latter case the term suggests all data is written in a single operation whereas output might be a continuous flow, in true pipeline fashion.
When copying several files from one storage medium to another, the terms back-up , dump , or archive would be used rather than save . The term store is similar to save but typically applies to copying a single item of data, e.g. a number, from a processor's register to RAM.
(2002-06-07)

say
A human may say things to a computer by typing them on a terminal. To list a directory verbosely, say ls -l . Tends to imply a newline-terminated command (a sentence ).
A computer may say things to you, even if it doesn't have a speech synthesiser, by displaying them on a terminal in response to your commands. This usage often confuses mundanes.
[Jargon File]

sb
networking The country code for the Solomon Islands.
(1999-01-27)

SB AWE32
multimedia, music, hardware A standard SB16 MultiCD sound card with the EMU8000 Advanced WavEffect music synthesizer integrated circuit. The card includes all the standard SB16 features as well as the Advanced Signal Processor and multiple interfaces supporting Creative, Mitsumi and Sony CD-ROM drives.
The EMU8000 comes integrated with 1MB of General MIDI samples and 512kB of DRAM for additional sample downloading. It can address up to 28 MB of external DRAM. The SB AWE32 supports General MIDI, Roland GS, and Sound Canvas MT-32 emulation.
(1996-12-16)

SBCS
character (IBM) single-byte character set.
A character set that uses 8 bits to represent a character.
(1995-03-21)

SBD
Smart Battery Data

SBM
Solution Based Modelling

SB-Prolog
Stony Brook Prolog. A public domain Prolog interpreter for Unix. Version 3.1. Distributed under the GNU General Public License.
(ftp://sbcs.sunysb.edu/pub/sbprolog/)
Amiga version 2.3.2 (ftp://ftp.cso.uiuc.edu/amiga/fish/f1/ff140) and (ftp://ftp.cso.uiuc.edu/amiga/fish/f1/ff141).
E-mail: warren@sbcs.sunysb.edu .
(1995-01-16)

SBR
Spectral Band Replication

SBus
hardware The hardware interface for add-in boards in later Sun-3 (and Sun-4?) workstations.
[Reference?]
(2001-09-07)

SC
body Subcommittee (of ISO, JTC?).

sc
networking The country code for the Seychelles.
(1999-01-27)

SCA
Single Connection Attach

SCADA
Supervisory Control and Data Acquisition

scag
To destroy the data on a disk, either by corrupting the file system or by causing media damage.
Compare scrog, roach.
[Jargon File]
(1995-01-16)

scalability
How well a solution to some problem will work when the size of the problem increases.
For example, a central server of some kind with ten clients may perform adequately but with a thousand clients it might fail to meet response time requirements. In this case, the average response time probably scales linearly with the number of clients, we say it has a complexity of O(N) ( order N ) but there are problems with other complexities. E.g. if we want N nodes in a network to be able to communicate with each other, we could connect each one to a central exchange, requiring O(N) wires or we could provide a direct connection between each pair, requiring O(N^2) wires (the exact number or formula is not usually so important as the highest power of N involved).
(1995-03-29)

Scalable Coherent Interface
hardware, protocol (SCI) The ANSI/IEEE 1596-1992 standard that defines a point-to-point interface and a set of packet protocols. The SCI protocols use packets with a 16-byte header and 16, 64, or 256 data bytes. Each packet is protected by a 16-bit CRC code.
The standard defines 1 Gbit/second serial fiber-optic links and 1 Gbyte/second parallel copper links. SCI has two unidirectional links that operate concurrently.
The SCI protocols support shared memory by encapsulating bus requests and responses into SCI request and response packets. Packet-based handshake protocols guarantee reliable data delivery. A set of cache coherence protocols are defined to maintain cache coherence in a shared memory system.
Message passing is supported by a compatible subset of the SCI protocols. This protocol subset does not invoke SCI cache coherency protocols.
SCI uses 64-bit addressing and the most significant 16 bits are used for addressing up to 64K nodes.
http://www.uni-paderborn.de/pc2/systems/sci/.
[Applications?]
(1999-03-22)

Scalable Processor ARChitecture
computer (SPARC) An instruction set architecture designed by Sun Microsystems for their own use in 1985. Sun was a maker of 680x0-based Unix workstations. Research versions of RISC processors had promised a major step forward in speed but existing manufacturers were slow to introduce a RISC type processor, so Sun went ahead and developed its own, based on the University of California at Berkley's RISC I and RISC II 1980-2. In keeping with their open philosophy, they licenced it to other companies, rather than manufacture it themselves. The evolution and standardisation of SPARC is now directed by the non-profit consortium SPARC International, Inc.
SPARC was not the first RISC processor. The AMD 29000 came before it, as did the MIPS R2000 (based on Stanford's design) and Hewlett-Packard Precision Architecture CPU, among others. The SPARC design was radical at the time, even omitting multiple cycle multiply and divide instructions (like a few others), while most RISC CPUs are more conventional.
SPARC implementations usually contain 128 or 144 registers, (CISC designs typically had 16 or less). At each time 32 registers are available - 8 are global, the rest are allocated in a window from a stack of registers. The window is moved 16 registers down the stack during a function call, so that the upper and lower 8 registers are shared between functions, to pass and return values, and 8 are local. The window is moved up on return, so registers are loaded or saved only at the top or bottom of the register stack. This allows functions to be called in as little as 1 cycle. Like some other RISC processors, reading global register zero always returns zero and writing it has no effect. SPARC is pipelined for performance, and like previous processors, a dedicated condition code register holds comparison results.
SPARC is scalable mainly because the register stack can be expanded (up to 512, or 32 windows), to reduce loads and saves between functions, or scaled down to reduce interrupt or context switch time, when the entire register set has to be saved. Function calls are usually much more frequent, so the large register set is usually a plus.
SPARC is not a chip, but a specification, and so there are various implementations of it. It has undergone revisions, and now has multiply and divide instructions. Most versions are 32 bits, but there are designs for 64-bit and superscalar versions. SPARC was submitted to the IEEE society to be considered for the P1754 microprocessor standard.
SPARC(R) is a registered trademark of SPARC International, Inc. in the United States and other countries.
[The SPARC Architecture Manual, v8, ISBN 0-13-825001-4].
(1994-11-01)

Scalable Sampling Rate
compression, standard, algorithm (SSR) See, e.g., MPEG-4 AAC SSR.
(2001-12-08)

Scalable Vector Graphics
graphics, World-Wide Web A W3C standard for vector graphics, based on XML.
Home (http://www.w3.org/Graphics/SVG/).
(2001-02-06)

scalar
1. mathematics A single number, as opposed to a vector or matrix of numbers. Thus, for example, scalar multiplication refers to the operation of multiplying one number (one scalar) by another and is used to contrast this with matrix multiplication etc.
2. architecture In a parallel processor or vector processor, the scalar processor handles all the sequential operations - those which cannot be parallelised or vectorised.
See also superscalar.
3. programming Any data type that stores a single value (e.g. a number or Boolean), as opposed to an aggregate data type that has many elements. A string is regarded as a scalar in some languages (e.g. Perl) and a vector of characters in others (e.g. C).
(2002-06-12)

SCALLOP
language, history A medium-level language for CDC computers, used to bootstrap the first Pascal compiler.
(1994-11-01)

SCAN
1. [ A Parallel Implementation of the SCAN Language , N.G. Bourbakis, Comp Langs 14(4):239-254 (1989)].
2. A real-time language from DEC.
[Are these the same language?]
(1994-11-01)

scan
1. (computer peripheral) See scanner.
2. (circuit design) See scan design.
3. (functional programming) See scanl, scanr.
4. storage, algorithm An algorithm for scheduling multiple accesses to a disk. A number of requests are ordered according to the data's position on the storage device. This reduces the disk arm movement to one scan or sweep across the whole disk in the worst case. The serivce time can be estimated from the disk's track-to-track seek time, maximum seek time (one scan), and maximum rotational latency.
Scan-EDF is a variation on this.
(1995-11-15)

scan design
electronics (Or Scan-In, Scan-Out ) A electronic circuit design design technique which aims to increase the controllability and observability of a digital logic circuit by incorporating special scan registers into the circuit so that they form a scan path.
Some of the more common types of scan design include the multiplexed register designs and level-sensitive scan design (LSSD) used extensively by IBM. Boundary scan can be used alone or in combination with either of the above techniques.
[ Digital Systems Testing and Testable Design by Abramovici, Breuer, and Friedman, ISBN 0-7167-8179-4].
[ Design of Testable Logic Circuits by R.G. Bennetts, (Brunel/Southhampton Universities), ISBN 0-201-14403-4].
(1995-02-23)

SCANDISK
operating system, storage An MS-DOS command to check for faults on a disk and provide a graphical representation the results. Scandisk was introduced with MS-DOS version 6 to replace CHKDSK.
[What kinds of disk? What faults?]
(1997-07-16)

Scan-EDF
storage, algorithm A variation of the Scan disk aceess algorithm for use in a real-time environment where, in general, requests are served according to Earliest Deadline First. If two requests share the same deadline, they may be reorganised according to Scan.
A typical example is a video server that retrieves video data from a hard disk. The playback of a video impose tight real-time constraints but if the server retrieves data once every second for each video channel, Scan-EDF can be applied, reducing the seek overhead.
(1995-11-15)

scanf
The C library routine that reads data from the standard input stream stdin into the locations given by each entry in its argument list. The first argument is a format string which controls interpretation of the input and each subsequent argument points to a variable with a type that corresponds to a type specifier in the format-string.
Unix manual page: scanf(3).
(1995-02-23)

Scan-In, Scan-Out
scan design

scan line
hardware A horizontal line of pixels generated by a single horizontal sweep of the beam from a monitor's electron gun. The number of scanlines that make up a frame is the vertical resolution.
(1996-02-09)

scanner
1. An input device that takes in an optical image and digitises it into an electronic image represented as binary data. This can be used to create a computerised version of a photo or illustration.
A scanner may be linked to optical character recognition software allowing printed documents to be converted to electronic text without having to type them in at a keyboard.
2. lexical analyser.
(1995-02-14)

scanno
/skan'oh/ An error in a document caused by a scanner glitch, analogous to a typo or thinko.
[Jargon File]
(1995-02-14)

scan path
(circuit design) A technique used to increase the controllability and observability of a logic circuit by incorporating scan registers into the circuit. Normally these act like flip-flops but they can be switched into a test mode where they all become one long shift register. This allows data to be clocked serially through all the scan registers and out of an output pin at the same time as new data is clocked in from an input pin.
Using this technique, the state of certain points in the circuit can be examined and modified at any time by suspending normal operation and switching to test mode. If the scan path is placed adjacent to the circuit's input and output pins then this is known as boundary scan .
(1995-02-14)

scan register
(circuit design) A digital logic circuit which can act either as a flip-flop or as a serial shift register and which is used to form a scan path.
The most common design is a multiplexed flip-flop:
___ ____
normal in --| | |
| |------|D Q|---- normal/scan output
scan in ----|___/ mux | |
| | |
test mode ----+ +----| | flip-flop
| |____|
clk ---------------+
The addition of a multiplexor (mux) to each flip-flop's input allows operation in either normal or test mode. The output of each flip-flop goes to the normal functional logic as well as to the scan input of the next multiplexor in the scan path.
The other common design is level-sensitive scan design (LSSD).
(1995-02-14)

SCC
strongly connected component

SCCS
Source Code Control System: a popular code management system for Unix systems.

SCEPTRE
Designing and analysing circuits.
[ SCEPTRE: A Computer Program for Circuit and Systems Analysis , J.C. Bowers et al, P-H 1971].

Schachter's Hypothesis
World-Wide Web The observation that Given two unrelated technical terms, an Internet search engine will retrieve only résumés . This was first formulated by Joshua Eli Schachter (http://www.burri.to/~joshua/) in about 1998, while poring over the uniformly irrelevant pages that resulted from a search he'd run on +Perl +MAPI in Altavista.
(2002-02-04)

scheduler
scheduling

scheduling
algorithm The arrangement of a number of related operations in time.
There are several kinds of scheduling related to computers:
instruction scheduling - sequencing the instructions executed by the CPU
multitasking ( process scheduling ) - sharing a CPU between several processes
application software to help organise your daily meetings etc.
task scheduling - algorithms to solve the general problem of satisfying time and resource constraints between a number of tasks.
Compare planning.
(1998-04-25)

Scheduling API
Scheduling Application Programming Interface

Scheduling Application Programming Interface
(SAPI, Scheduling API) An API aimed at software which aids humans in arranging their (business) activities.
Microsoft has defined a SAPI for its Schedule+ application.
(1995-01-11)

Schelog
language, Scheme, Prolog (Previously slog ?) A Prolog to Chez Scheme macro translator by dorai@cs.rice.edu . Schelog relies on continuations.
Home (http://www.cs.rice.edu/CS/PLT/packages/schelog).
(2000-11-20)

Schema Definition Set
(SDS) Something in Portable Common Tool Environment.
[What?]
(2001-03-03)

Schema Representation language
(SRL)
[ SRL/2 Users Manual , J.M. Wright et al, Robotics Inst, CMU, 1984].

schematic capture
The process of entering the logical design of an electronic circuit into a CAE system by creating a schematic representation of components and interconnections.

schematic type variable
See generic type variable.

Schematik
A NeXT front-end to MIT Scheme for the NeXT by Chris Kane and Max Hailperin max@nic.gac.edu . Schematik provides syntax-knowledgeable text editing, graphics windows and a user-interface to an underlying MIT Scheme process. It comes with MIT Scheme 7.1.3 ready to install on the NeXT and requires NEXTSTEP.
Version: 1.1.5.2.
USA FTP (ftp://ftp.gac.edu/pub/next/scheme/). Germany (ftp://ftp.informatik.uni-muenchen.de/pub/next/ProgLang).
E-mail: schematik@gac.edu .
(1993-03-11)

Scheme
(Originally Schemer , by analogy with Planner and Conniver). A small, uniform Lisp dialect with clean semantics, developed initially by Guy Steele and Gerald Sussman in 1975. Scheme uses applicative order reduction and is lexically scoped. It treats both functions and continuations as first-class objects.
One of the most used implementations is DrScheme, others include include Bigloo, Elk, Liar, Orbit, Scheme86 (Indiana U), SCM, MacScheme (Semantic Microsystems), PC Scheme (TI), MIT Scheme, and T.
See also Kamin's interpreters, PSD, PseudoScheme, Schematik, Scheme Repository, STk, syntax-case, Tiny Clos, Paradigms of AI Programming.
There have been a series of revisions of the report defining Scheme, known as RRS (Revised Report on Scheme), R2RS (Revised Revised Report ..), R3RS, R3.899RS, R4RS.
Scheme resources (http://www.schemers.org/).
Mailing list: scheme@mc.lcs.mit.edu.
[IEEE P1178-1990, IEEE Standard for the Scheme Programming Language , ISBN 1-55937-125-0].
(2001-02-22)

Scheme84
Scheme from Indiana University. It requires Franz Lisp on a VAX under VMS or BSD.
E-mail: Nancy Garrett nlg@indiana.edu .
Send a tape with return postage to Scheme84 Distribution, Nancy Garrett, c/o Dan Friedman, Department of Computer Science, Indiana University, Bloomington, Indiana. Telephone: +1 (812) 335 9770.

Scheme88
(ftp://nexus.yorku.ca/pub/scheme/)
[Description?]

Scheme- C
Scheme-to-C

Scheme Library
library (SLIB) A portable Scheme library providing compatibiliy and utility functions for all standard Scheme implementations.
Version 2c5 supports Bigloo, Chez, ELK, GAMBIT, MacScheme, MITScheme, PocketScheme, RScheme, Scheme- C, Scheme48, SCM, SCSH, T3.1, UMB-Scheme, and VSCM.
Home (http://swissnet.ai.mit.edu/~jaffer/SLIB.html).
(1999-06-07)

Scheme-Linda
A Scheme interface to Linda written by Ulf Dahlen of University of Edinburgh in 1990. It runs on the Computing Surface and the Symmetry.
[ Scheme-Linda , U. Dahlen et al, EPCC-TN-90-01 Edinburgh 1990].
(1994-12-15)

Scheme Object System
(SOS) Chris Hanson?
(ftp://altdorf.ai.mit.edu/archive/cph/sos.tar.gz)
[Description?]

Scheme Repository
A collection of free Scheme programs.
(ftp://nexus.yorku.ca/pub/scheme/)

Scheme-to-C
language A Scheme compiler written in C that emits C and is embeddable in C. Scheme-to-C was written by Joel Bartlett of Digital Western Research Laboratory. Version 15mar93 translates a superset of Revised**4 Scheme to C that is then compiled by the native C compiler for the target machine. This design results in a portable system that allows either stand-alone Scheme programs or programs written in both compiled and interpreted Scheme and other languages. It supports expansion passing style macros, foreign function calls, records, and interfaces to Xlib (Ezd and Scix).
Scheme-to-C runs on VAX, ULTRIX, DECstation, Alpha AXP OSF/1, Windows 3.1, Apple Macintosh 7.1, HP 9000/300, HP 9000/700, Sony News, SGI Iris and Harris Nighthawk, and other Unix-like 88000 systems. The earlier 01nov91 version runs on Amiga, SunOS, NeXT, and Apollo systems.
(ftp://gatekeeper.dec.com/pub/DEC/Scheme-to-C/)
(2000-05-24)

Schlaer-Mellor
An object-oriented analysis (OOA), design and modelling method that addresses the the integration of structural and behavioural properties. It also allows an animation of the design.
I-OOA is a tool that supports the Schlaer Mellor Design Method.
(1995-01-31)

Schoonschip
mathematics, tool (From the Dutch for beautiful ship or clean ship ) A program for symbolic mathematics, especially High Energy Physics, written by M. Veltman of CERN in 1964. Schoonschip only does algebra, no derivatives. It was implemented originally in CDC-6600 and CDC-7600 assembly language and currently in 680x0 assembly language. Latest versions run on Amiga, Atari ST, Sun-3 and NeXT.
It was once maintained by David Williams at the University of Michigan Physics Department.
(ftp://archive.umich.edu/physics/schip).
(2000-11-14)

schroedinbug
jargon, programming /shroh'din-buhg/ (MIT, from the Schroedinger's Cat thought-experiment in quantum physics) A design or implementation bug in a program that doesn't manifest until someone reading source or using the program in an unusual way notices that it never should have worked, at which point the program promptly stops working for everybody until fixed. Though (like bit rot) this sounds impossible, it happens; some programs have harboured latent schroedinbugs for years.
Compare heisenbug, Bohr bug, mandelbug.
[Jargon File]
(1995-02-28)

SCI
1. Scalable Coherent Interface.
2. serial communications interface.
(1998-02-14)

Science and Engineering Research Council
(SERC) Formerly the largest of the five research councils funded by the British Government through the Office of Science and Technology. SERC funded higher education research in science and engineering, including computing and was responsible for the Rutherford Appleton Laboratory, near Oxford; the Daresbury Laboratory, near Warrington; the Royal Greenwich Observatory at Cambridge and the Royal Observatory, Edinburgh.
In April 1994 SERC was split into the Engineering and Physical Sciences Research Council and the Particle Physics and Astronomy Research Council. SERC's remote sensing efforts have been transferred to the Natural Environment RC and its biotechnology efforts merged with the Agriculture and Food RC to make the new Biotechnology and Biological Sciences RC. The two major SERC laboratories - Rutherford Appleton Laboratory and Daresbury Laboratory are now independent.
(http://unixfe.rl.ac.uk/serc/serc.html)
(1994-12-15)

science-fiction fandom
Another voluntary subculture having a very heavy overlap with hackerdom; most hackers read SF and/or fantasy fiction avidly, and many go to cons (SF conventions) or are involved in fandom-connected activities such as the Society for Creative Anachronism. Some hacker jargon originated in SF fandom such as defenestration, great-wall, cyberpunk, h, ha ha only serious, IMHO, mundane, neep-neep, Real Soon Now. Additionally, the jargon terms cowboy, cyberspace, de-rezz, go flatline, ice, phage, virus, wetware, wirehead, and worm originated in SF stories.
[Jargon File]
(1994-12-02)

Scientific Data Systems
company (SDS) The company that produced the SDS 940 (later renamed XDS 940). Around 1968 Xerox bought out SDS and renamed the SDS machines to XDS.
[What else?]
(2001-03-03)

SCL
1. System Control Language. Command language for the VME/B operating system on the ICL2900. Block structured, strings, superstrings (lists of strings), int, bool, array types. Can trigger a block whenever a condition on a variable value occurs. Macros supported. Commands are treated like procedure calls. Default arguments.
[ VME/B SCL Syntax , Intl Computers Ltd. 1980].
2. Symbolic Communication Language. Designed primarily for the manipulation of symbolic formulas. Featured pattern matching (which was partly the inspiration for SNOBOL), string operations in buffers, and automatic storage management. A Language for Symbolic Communication , C.Y. Lee et al, Tech Mem 62-3344-4, Bell Labs, Sept 1962.

SCM
language A Scheme interpreter in C by Aubrey Jaffer and others. SCM conforms to R4RS and IEEE P1178 and includes a conformance test. It is distributed under GPL. Version 5d0 runs under Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix, and similar systems.
x-scm provides an X Window System interface for SCM programs.
Home (http://swissnet.ai.mit.edu/~jaffer/SCM.html).
(1999-06-07)

SC/MP
(Nicknamed Scamp ) A typical 8-bit microprocessor from National Semiconductor released in April 1976. It was intended for control applications (a simple BASIC in a 2.5K ROM was added to one version). It featured 16 bit addressing, with 12 address lines and 4 lines borrowed from the data bus (it was common to borrow lines from the data bus for addressing). Internally, it included three index registers (P1 to P3) and two 8-bit general-purpose registers. It had a PC, but no stack pointer or subroutine instructions (though they could be emulated with index registers). During interrupts, the PC was saved in P3. It was meant for embedded control, and these features were omitted for cost reasons. It was also bit serial internally to keep it cheap.
The unique feature was the ability to completely share a system bus with other processors. Most processors of the time assumed they were the only ones accessing memory or I/O devices. Multiple SC/MPs could be hooked up to the bus, as well as other intelligent devices, such as DMA controllers. A control line (ENOUT (Enable Out) to ENIN) could be chained along the processors to allow cooperative processing. This was very advanced for the time, compared to other CPUs.
In addition to I/O ports like the Intel 8080, the SC/MP also had instructions and one pin for serial input and one for output.
(1994-11-16)

SCO
Santa Cruz Operation

Scode
The internal representation used by the Liar compiler for MIT Scheme.
(1994-11-01)

SCOOP
Structured Concurrent Object-Oriented Prolog.
[ SCOOP, Structured Concurrent Object-Oriented Prolog , J. Vaucher et al, in ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988, pp.191-211].

SCOOPS
Scheme Object-Oriented Programming System. Developed at Texas Instruments in 1986. It supports multiple inheritance and class variables.
(ftp://altdorf.ai.mit.edu/archive/scheme-library/unsupported/CScheme)
(1994-11-01)

SCOPE
project Software Evaluation and Certification Programme Europe.
An ESPRIT project.
(1995-04-12)

scope
programming The scope of an identifier is the region of a program source within which it represents a certain thing. This usually extends from the place where it is declared to the end of the smallest enclosing block (begin/end or procedure/function body). An inner block may contain a redeclaration of the same identifier in which case the scope of the outer declaration does not include (is shadowed or occluded by) the scope of the inner.
See also activation record, dynamic scope, lexical scope.
(1994-11-01)

Scorpion
Twenty tools that can be used to construct specialised programming environments. The Scorpion Project was started by Prof. Richard Snodgrass rts@cs.arizona.edu as an outgrowth of the SoftLab Project (which produced the IDL Toolkit) that he started when he was at the University of North Carolina. The Scorpion Project is directed by him at the University of Arizona and by Karen Shannon at the University of North Carolina at Chapel Hill.
Version 6.0 runs on Sun-3, Sun-4, VAX, Decstation, Iris, Sequent, HP9000.
See also Candle.
(ftp://cs.arizona.edu/scorpion/)
Mailing list: info-scorpion-request@cs.arizona.edu.
E-mail: scorpion-project@cs.arizona.edu .
(1993-11-04)

Scott-closed
A set S, a subset of D, is Scott-closed if
(1) If Y is a subset of S and Y is directed then lub Y is in S and
(2) If y = s in S then y is in S.
I.e. a Scott-closed set contains the lubs of its directed subsets and anything less than any element. (2) says that S is downward closed (or left closed).
( = is written in LaTeX as sqsubseteq).
(1995-02-03)

Scott domain
An algebraic, boundedly complete, complete partial order. Often simply called a domain.
(1994-11-01)

SCPI
Standard Commands for Programmable Instruments

SCPI Consortium
body A body established to promote Standard Commands for Programmable Instruments.
Address: 8380 Hercules Drive, Suite P3, La Mesa, CA 91942, USA.
SCPI in Europe (http://ourworld.compuserve.com/homepages/acea/scpi_uk.htm). Address: ACEA, P.O. Box 134, 7640 AC Wierden The Netherlands. Telephone: +31 546 577 994. E-mail: ACEA@compuserve.com .
(1999-01-05)

scram switch
jargon (From the nuclear power industry) An emergency power-off switch (see Big Red Switch), especially one positioned to be easily hit by evacuating personnel. In general, this is *not* something you frob lightly; these often initiate expensive events (such as Halon dumps) and are installed in a dinosaur pen for use in case of electrical fire or in case some luckless field servoid should put 120 volts across himself while Easter egging.
SCRAM stands for Safety Critical Reactor Ax Man. In the early days of nuclear power, boron moderator rods were raised and lowered on ropes. In the event of a runaway chain reaction, a man with an axe would chop the rope and drop the rods into the nuclear pile to stop the reaction.
See also molly-guard, TMRC.
[Jargon File]
(1998-03-23)

SCRAP
Something written at CSIR, Pretoria, South Africa in the late 1970s. It ran on Interdata and Perkin-Elmer computers and was in use until the late 1980s.
[But what was it?]
(1994-12-15)

scratch
1. (From scratchpad ) Describes a data structure or recording medium attached to a machine for testing or temporary-use purposes; one that can be scribbled on without loss. Usually in the combining forms scratch memory , scratch register , scratch disk , scratch tape , scratch volume .
See also scratch monkey.
2. (primarily IBM) To delete (as in a file).
[Jargon File]
(1994-12-15)

scratch disk
1. storage See scratch.
2. operating system Unallocated space on Windows 95's primary hard disk partition, used for virtual memory.
Shortage of space on this partition can result in the error scratch disk full .
(2000-03-07)

scratch monkey
As in Before testing or reconfiguring, always mount a scratch monkey , a proverb used to advise caution when dealing with irreplaceable data or devices. Used to refer to any scratch volume hooked to a computer during any risky operation as a replacement for some precious resource or data that might otherwise get trashed.
This term preserves the memory of Mabel, the Swimming Wonder Monkey, star of a biological research program at the University of Toronto. Mabel was not (so the legend goes) your ordinary monkey; the university had spent years teaching her how to swim, breathing through a regulator, in order to study the effects of different gas mixtures on her physiology. Mabel suffered an untimely demise one day when a DEC engineer troubleshooting a crash on the program's VAX inadvertently interfered with some custom hardware that was wired to Mabel.
It is reported that, after calming down an understandably irate customer sufficiently to ascertain the facts of the matter, a DEC troubleshooter called up the field circus manager responsible and asked him sweetly, Can you swim?
Not all the consequences to humans were so amusing; the sysop of the machine in question was nearly thrown in jail at the behest of certain clueless droids at the local humane society. The moral is clear: When in doubt, always mount a scratch monkey.
[There is a version of this story, complete with reported dialogue between one of the project people and DEC field service, that has been circulating on Internet since 1986. It is hilarious and mythic, but gets some facts wrong. For example, it reports the machine as a PDP-11 and alleges that Mabel's demise occurred when DEC PMed the machine. Earlier versions of this entry were based on that story; this one has been corrected from an interview with the hapless sysop. - ESR]
[Jargon File]
(1994-12-15)

Scratchpad I
A general-purpose language originally for interactive symbolic mathematics by Richard Jenks, Barry Trager, Stephen M. Watt and Robert S. Sutor of IBM Research, ca 1971. It features abstract parametrised data types, multiple inheritance and polymorphism. There were implementations for VM/CMS and AIX.
[ Scratchpad User's Manual , RA 70, IBM (June 1975)].
(1994-12-15)

Scratchpad II
See Scratchpad I, AXIOM.
[ Scratchpad II Programming Language Manual , R.D. Jenks et al, IBM, 1985].
[Scratchpad II Newsletter: Computer Algebra Group, TJWRC, Box 218, Yorktown Hts, NY 10598].

scream and die
Synonym cough and die, but connotes that an error message was printed or displayed before the program crashed.
[Jargon File]

Screamer
An extension of Common Lisp providing nondeterministic backtracking and constraint programming.
(ftp://ftp.ai.mit.edu/pub/screamer.tar.Z)
[Isn't all backtracking nondeterministic by definition?]

screaming tty
[Unix] A terminal line which spews an infinite number of random characters at the operating system. This can happen if the terminal is either disconnected or connected to a powered-off terminal but still enabled for login; misconfiguration, misimplementation, or simple bad luck can start such a terminal screaming. A screaming tty or two can seriously degrade the performance of a vanilla Unix system; the arriving characters are treated as userid/password pairs and tested as such. The Unix password encryption algorithm is designed to be computationally intensive in order to foil brute-force crack attacks, so although none of the logins succeeds; the overhead of rejecting them all can be substantial.
[Jargon File]

screen blanker
screen saver

Screen Peace
tool A screen saver for Microsoft Windows by Anthony Andersen. Released as charityware. It can load extension modules with filename extension .SPX .
Some modules (ftp://src.doc.ic.ac.uk/computing/systems/ibmpc/windows3/desktop/spx2.zip).
(1997-11-23)

screen reader
application A text-to-speech system, intended for use by blind or low-vision users, that speaks the text content of a computer display.
(1998-10-19)

screen refresh
refresh rate

screen saver
tool A program which displays either a completely black image or a constantly changing image on a computer monitor to prevent a stationary image from burning into the phosphor of the screen. Screen savers usually start automatically after the computer has had no user input for a preset time. Some screen savers come with many different modules, each giving a different effect.
Approximately pre-1990, many cathode ray tubes, in TVs, computer monitors or elsewhere, were prone to burn-in ; that is, if the same pattern (e.g., the WordPerfect status line; the Pong score readout; or a TV channel-number display) were shown at the same position on the screen for very long periods of time, the phosphor on the screen would fatigue and that part of the screen would seem greyed out, even when the CRT was off.
Eventually CRTs were developed which were resistant to burn-in (and which sometimes went into sleep mode after a period of inactivity); but in the meantime, solutions were developed: home video game systems of the era (e.g., Atari 2600s) would, when not being played, change the screen every few seconds, to avoid burn-in; and computer screen saver programs were developed.
The first screen savers were simple screen blankers - they just set the screen to all black, but, in the best case of creeping featurism ever recorded, these tiny (often under 1K long) programs grew without regard to efficiency or even basic usefulness. At first, small, innocuous display hacks (generally on an almost-black screen) were added. Later, more complex effects appeared, including animations (often with sound effects!) of arbitrary length and complexity.
Along the way, avoiding repetitive patterns and burn-in was completely forgotten and screen savers such as Pointcast were developed, which make no claim to save your monitor, but are simply bloated browsers for push media which self-start after the machine has been inactive for a few minutes.
(1997-11-23)

screen scraper
tool A piece of software used to automate interaction between two computer systems through the terminal interface (designed for human use) of one of those systems.
Typically, the screen scraper interacts with terminal emulation software to generate input to and process output from the host system through terminal screens. Screen scrapers are advantageous when modifications to the host system are undesireable, when it is desireable to make use of the existing business and data integrity logic on the host, and when no other (peer-to-peer) interface method is available.
Some products employ screen scraping combined with additional functionality which provides a DBMS-like or other specialised interface to the host. The host system is often called a legacy system because it usually the older of the systems involved and based on older technology.
(1995-04-19)

screen sharing
Audiographic Teleconferencing

Screenwrite
language A simple query language developed by Honeywell in the late 1970s for Level 6 minicomputers.
(1994-12-01)

screw
jargon (MIT) A lose, usually in software. Especially used for user-visible misbehaviour caused by a bug or misfeature. This use has become quite widespread outside MIT.
[Jargon File]
(1994-12-01)

screwage
/skroo'*j/ Like lossage but connotes that the failure is due to a designed-in misfeature rather than a simple inadequacy or a mere bug.
[Jargon File]
(1994-12-01)

scribble
To modify a data structure in a random and unintentionally destructive way. Bletch! Somebody's disk-compactor program went berserk and scribbled on the i-node table. It was working fine until one of the allocation routines scribbled on low core. Synonymous with trash; compare mung, which conveys a bit more intention, and mangle, which is more violent and final.
[Jargon File]

Scribe
A text-formatting language by Brian Reid.
(1994-12-01)

SCRIPT
1. An early system on the IBM 702.
[Listed in CACM 2(5):16 (May 1959)].
2. A real-time language.
[ A Communication Abstraction Mechanism and its Verification , N. Francez et al, Sci Comp Prog 6(1):35-88 (1986)].
(1994-12-01)

script
language A program written in a scripting language, but see Ousterhout's dichotomy.
(1999-02-22)

Scriptics
company John Ousterhout's company that is the home of Tcl development and the TclPro tool suite.
Home (http://www.scriptics.com/).
(1998-11-27)

scripting language
language (Or glue language ) A loose term for any language that is weakly typed or untyped and has little or no provision for complex data structures. A program in a scripting language (a script ) is often interpreted (but see Ousterhout's dichotomy).
Scripts typically interact either with other programs (often as glue) or with a set of functions provided by the interpreter, as with the file system functions provided in a UNIX shell and with Tcl's GUI functions. Prototypical scripting languages are AppleScript, C Shell, MSDOS batch files, and Tcl.
(2001-03-06)

scrog
/skrog/ [Bell Labs] To damage, trash, or corrupt a data structure. The list header got scrogged. Also reported as skrog , and ascribed to the comic strip The Wizard of Id . Compare scag; possibly the two are related. Equivalent to scribble or mangle.
[Jargon File]

SCROLL
String and Character Recording Oriented Logogrammatic Language.
[ SCROLL - A Pattern Recording Language , M. Sargent, Proc SJCC 36 (1970)].
(1994-12-01)

scroll
interface (From a scroll of paper) To change the portion of a document displayed in a window or on a VDU screen. In a graphical user interface, scrolling is usually controlled by the user via scroll bars, whereas on a VDU the text scrolls up automatically as lines of data are output at the bottom of the screen.
(2001-04-27)

scrollable list
operating system A list of information in a graphical user interface with a scroll bar, often used to present a list of choices.
(1999-10-03)

scroll bar
graphics A widget found in graphical user interfaces and used to show and control ( scroll ) which portion of a document is currently visible in a window. A window may have a horizontal or, most often, vertical scroll bar or both.
A vertical scroll bar is a narrow strip drawn up the side of the window containing a bubble whose position in the scroll bar represents the position of the visible part within the whole document. By dragging the bubble with the mouse the user can scroll the view over the entire document. Arrow buttons are usually provided at the end(s) of the scroll bar to allow the window to be scrolled by a small amount, e.g. one line of text, in either direction by clicking them with the mouse. Some programs provide a second pair of buttons for scrolling a page at a time or some other unit. Clicking on the scroll bar outside the bubble will either, depending on the particular WIMP, move the bubble to that point or move it some amount (typically a screenful) in that direction.
Different WIMP systems define different standards for whether scroll bars appear on the left or right, top or bottom of the window, and for their behaviour.
To reduce mouse movement, the up and down scroll buttons should either be next to each other at one end of the scroll bar (as in NEXTSTEP) or should reverse their effect when clicked with the right-hand mouse button (as in the X Window System and RISC OS). The fraction of the scroll bar filled by the bubble should indicate the fraction of the document visible in the window.
(1998-06-26)

scrolling
chat, games To flood a chat room or Internet game with text or macros in an attempt to annoy the occupants. This can often cause the chat room to be uninhabitable due to the noise created by the scroller. Compare spam.
(2001-03-27)

scrool
/skrool/ [The pioneering Roundtable chat system in Houston ca. 1984; probably originated as a typo for scroll ] The log of old messages, available for later perusal or to help one get back in synch with the conversation. It was originally called the scrool monster , because an early version of the roundtable software had a bug where it would dump all 8K of scrool on a user's terminal.
[Jargon File]

scrozzle
/skroz'l/ Used when a self-modifying code segment runs incorrectly and corrupts the running program or vital data.
(1994-11-24)

scruffies
neats vs. scruffies

SCSI
Small Computer System Interface

SCSI-1
hardware The original SCSI, as opposed to SCSI-2 or SCSI-3.
(1995-04-20)

SCSI-2
hardware A version of the SCSI command specification.
SCSI-2 shares the original SCSI's asynchronous and synchronous modes and adds a Fast SCSI mode ( 10MB/s) and Wide SCSI (16 bit, 20MB/s or rarely 32 bit).
Another major enhancement was the definition of command sets for different device classes. SCSI-1 was rather minimalistic in this respect which led to various incompatibilities especially for devices other than hard-disks. SCSI-2 addresses that problem. allowing scanners, hard disk drives, CD-ROM drives, tapes and many other devices to be connected.
Normal SCSI-2 equipment (not wide or differential) can be connected to a SCSI-1 bus and vice versa.
(1995-04-19)

SCSI-3
hardware An ongoing standardisation effort to extend the capabilities of SCSI-2. SCSI-3's goals are more devices on a bus (up to 32); faster data transfer; greater distances between devices (longer cables); more device classes and command sets; structured documentation; and a structured protocol model.
In SCSI-2, data transmission is parallel (8, 16 or 32 bit wide). This gets increasingly difficult with higher data rates and longer cables because of varying signal delays on different wires. Furthermore, wiring cost and drive power increases with wider data words and higher speed. This has triggered the move to serial interfacing in SCSI-3. By embedding clock information into a serial data stream signal delay problems are eliminated. Driving a single signal also consumes less driving power and reduces connector cost and size.
To allow for backward compatibility and for added flexibility SCSI-3 allows the use of several different transport mechanisms, some serial and some parallel. The software protocol and command set is the same for each transport. This leads to a layered protocol definition similar to definitions found in networking.
SCSI-3 is therefore in fact the sum of a number of separate standards which are defined by separate groups. These standards and groups are currently:
X3T9.2/91-13R2 SCSI-3 Generic Packetized Protocol
X3T9.2/92-141 SCSI-3 Queuing Model
X3T9.2/92-079 SCSI-3 Architecture Model
IEEE P1394 High Performance Serial Bus
X3T9.2/92-106 SCSI-3 Block Commands
X3T9.2/91-189 SCSI-3 Serial Bus Protocol
X3T9.2/92-105 SCSI-3 SCSI-3 Core Commands
SCSI-3 Common Command Set
X3T9.2/92-108 SCSI-3 Graphic Commands
X3T9.2/92-109 SCSI-3 Medium Changer Commands
X3T9.2/91-11 SCSI-3 Interlocked Protocol
X3T9.2/91-10 SCSI-3 Parallel Interface
X3T9.2/92-107 SCSI-3 Stream Commands
SCSI-3 Scanner Commands
Additional Documents for the Fibre Channel are also meant to be included in the SCSI-3 framework, i.e.:
Fibre Channel SCSI Mapping
Fibre Channel Fabric Requirements
Fibre Channel Low Cost Topologies
X3T9.3/92-007 Fibre Channel Physical and Signalling Interface
Fibre Channel Single Byte Commands
Fibre Channel Cross Point Switch Topology
X3T9.2/92-103 SCSI-3 Fibre Channel Protocol (GPP SBP)
As all of this is an ongoing effort of considerable complexity, document structure and workgroups may change. No final standard is issued yet.
In the meantime a group of manufacturers have proposed an extension of SCSI-2 called Ultra-SCSI which doubles the transfer speed of Fast-SCSI to give 20MByte/s on an 8 bit connection and 40MByte/s on a 16-bit connection.
[Hermann Strass: SCSI-Bus erfolgreich anwenden , Franzis-Verlag Muenchen 1993].
(1995-04-19)

SCSI adaptor
hardware (Or host adaptor ) A device that communicates between a computer and its SCSI peripherals. The SCSI adaptor is usually assigned SCSI ID 7. It is often a separate card that is connected to the computer's bus (e.g. PCI, ISA, PCMCIA) though increasinly, SCSI adaptors are built in to the motherboard. Apart from being cheaper, busses like PCI are too slow to keep up with the newer SCSI standards like Ultra SCSI and Ultra-Wide SCSI.
There are several varieties of SCSI (and their connectors) and an adaptor will not support them all.
The performance of SCSI devices is limited by the speed of the SCSI adaptor and its connection to the computer. An adaptor that plugs into a parallel port is unlikely to be as fast as one incorporated into a motherboard. Fast adaptors use DMA or bus mastering.
Some SCSI adaptors include a BIOS to allow PCs to boot from a SCSI hard disk, if their own BIOS supports it.
Adaptec make the majority of SCSI chipsets and many of the best-selling adaptors.
Note that it is not a SCSI controller - it does not control the devices, and SCSI interface is redundant - the I of SCSI stands for interface .
(1999-11-24)

SCSI controller
SCSI adaptor

SCSI ID
hardware The unique address of a SCSI device. SCSI IDs range from 0 to 7 for 8-bit SCSI systems, 0 to 15 for 16-bit and 0 to 31 for 32-bit systems. The SCSI adaptor is usually assigned ID 7. A device's SCSI ID is often set by switches on the device.
(1999-09-01)

SCSI initiator
hardware A device that begins a SCSI transaction by issuing a command to another device (the SCSI target), giving it a task to perform. Typically a SCSI host adapter is the initiator but targets may also become initiators.
(1999-02-10)

SCSI interface
SCSI adaptor

SCSI reconnect
hardware The ability of a SCSI initiator to initiate new transactions before earlier ones have completed. A target or initiator can disconnect from the bus when it experiences a delay in completing a task so that another device can use the bus. It can reconnect later and complete the task.
(1999-02-16)

SCSI target
hardware A SCSI device that executes a command from a SCSI initiator to perform some task. Typically the target is a SCSI peripheral device but the host adapter can also be a target.
(1999-02-10)

ScumOS
abuse, operating system /skuhm'os/ or /skuhm'O-S/ An Unflattering hackerism for SunOS, the Unix variant once supported on Sun Microsystems's Unix workstations.
Despite what this term might suggest, Sun was founded by hackers and still enjoys excellent relations with hackerdom; usage is more often in exasperation than outright loathing.
See also sun-stools. Compare AIDX, Macintrash, Nominal Semidestructor, Open DeathTrap, HP-SUX.
[Jargon File]
(1995-04-19)

scuzzy
The usual pronunciation of SCSI.

SD
Structured Design

sd
networking The country code for the Sudan.
(1999-01-27)

SDDI
Sony Digital Data Interface

SDE
Software Development Environment: equivalent to SEE.

SDF
Syntax Definition Formalism. A language for lexical and syntactic specification.
[ The Syntax Definition Formalism SDF - Reference Manual , J. Heering et al, Centre for Math CS, Amsterdam].
[ Algebraic Specification , J.A. Bergstra et al eds, ACM Press 1989, Chap 6. To appear].
(1994-10-27)

SDH
Synchronous Digital Hierarchy

SDI
1. library Selective Dissemination of Information.
2. programming Single Document Interface.
(1999-03-30)

SDK
Software Developers Kit (or Software Development Kit ).

SDL
Specification and Design Language.
Defined by the ITU-T (recommendation Z100) to provide a tool for unambiguous specification and description of the behaviour of telecommunications systems. The area of application also includes process control and real-time applications. SDL provides a Graphic Representation (SDL/GR) and a textual Phrase Representation (SDL/PR), which are equivalent representations of the same semantics. A system is specified as a set of interconnected abstract machines which are extensions of the Finite State Machine (FSM).
1. System Software Development Language. System software for the B1700. System Software Development Language Reference Manual , 1081346, Burroughs Corp (Dec 1974).
2. Specification and Description Language. ITU-T. Specification language with both graphical and character-based syntaxes for defining interacting extended finite state machines. Used to specify discrete interactive systems such as industrial process control, traffic control, and telecommunication systems. Proc Plenary Assembly, Melbourne 14-1988-11-25, Fasc X.1, CCITT. Telecommunications Systems Engineering Using SDL , R. Saracco et al, N-H 1989. Available from Verilog, MD. (See XDL).
3. Shared Dataspace Language. A Shared Dataspace Language Supporting Large-Scale Concurrency , G. Roman et al, Proc 8th Intl Conf Distrib Comp Sys, IEEE 1988, pp.265-272.
4. Structure Definition Language. Used internally by DEC to define and generate the symbols used for VAX/VMS internal data structures in various languages.
5. System Description Language. language used by the Eiffel/S implementation of Eiffel to assemble clusters into a system. (see Lace).

SDL 92
SDL[2] with object-orientation.

SDLC
1. communications Synchronous Data Link Control.
2. programming Systems Development Life Cycle.
(2000-12-24)

SDM
Schematic Data Model

SDMS
A query language.

SDRAM
Synchronous Dynamic Random Access Memory

SDRC
company The company behind VGX.
Home (http://www.sdrc.com/).
[More details?]
(1998-02-06)

SDR-RAM
Single Data Rate Random Access Memory

SDR-SDRAM
Single Data Rate Random Access Memory

SDS
1. company Scientific Data Systems.
2. tool Schema Definition Set.
(2001-03-03)

SDS 92
computer A 12-bit computer from Scientific Data Systems which preceded the Xerox Data Systems Model 940.
(2001-03-03)

SDS 940
Xerox Data Systems Model 940

SDSL
Single-line Digital Subscriber Line

SE
1. software software engineering.
2. IBM Systems Engineer.
(1998-07-08)

se
networking The country code for Sweden.
(1999-01-27)

SEA
Self Extracting Archive

Seagate Technology
company A major manufacturer of hard disk drives, founded in 1979 as Shugart Technology by Alan F. Shugart and Finis Conner. That name is on the original patents for the 5.25 hard disk drive. They changed the name to Seagate Technology soon after to avoid confusion, and also to avoid friction with Xerox, which had since purchased Alan's earlier company, Shugart Associates.
Home (http://www.seagate.com/).
Technical information at Impediment (http://www.impediment.com/seagate/).
Address: 920 Disc Drive, Scotts Valley, CA 95066, USA.
Fax: +1 (408) 438 3320.
(2000-02-09)

SEAL
Semantics-directed Environment Adaptation Language.
(ftp://ftp.cwi.nl/pub/gipe/0092b.ps.Z)

search-and-destroy mode
Hackerism for a noninteractive search-and-replace facility in an editor, so called because an incautiously chosen match pattern can cause infinite damage.
[Jargon File]

search engine
World-Wide Web, tool, information science A remotely accessible program that lets you do keyword searches for information on the Internet. There are several types of search engine; the search may cover titles of documents, URLs, headers, or the full text.
A list of search engines (http://cuiwww.unige.ch/meta-index.html#MISC), Centre Universitaire d'Informatique at the University of Geneva
(1995-11-28)

search problem
computability A computational problem that requires identifying a solution from some, possibly infinite, solution space (set of possible solutions). E.g. What is the millionth prime number? . This contrasts with a decision problem which merely asks whether a given answer is a solution or not.
(1999-02-15)

search term
information science An element of a search or query. A search term is the basic building block of a boolean search or a weighted search. In a search engine a search term is typically a word, phrase, or pattern match expression. For example: cosmonaut or space travel or astronaut*
In a database a term is typically the comparison of a column with a constant or with another column. For example: last_name like 'Smith%'
(1999-08-27)

SEC
Single Edge Contact Cartridge

SECC
Single Edge Contact Cartridge

SECD machine
Stack Environment Control Dump machine

secondary cache
memory management (Or second level cache , level two cache , L2 cache ) A larger, slower cache between the primary cache and main memory. Whereas the primary cache is often on the same integrated circuit as the central processing unit (CPU), a secondary cache is usually external.
(1997-06-25)

secondary damage
When a fatal error occurs (especially a segfault) the immediate cause may be that a pointer has been trashed due to a previous fandango on core. However, this fandango may have been due to an *earlier* fandango, so no amount of analysis will reveal (directly) how the damage occurred. The data structure was clobbered, but it was secondary damage.
By extension, the corruption resulting from N cascaded fandangoes on core is Nth-level damage . There is at least one case on record in which 17 hours of grovelling with adb actually dug up the underlying bug behind an instance of seventh-level damage! The hacker who accomplished this near-superhuman feat was presented with an award by his fellows.
[Jargon File]

secondary key
database A candidate key which is not selected as a primary key.
(1997-04-26)

secondary storage
storage Any non-volatile storage medium that is not directly accessible to the processor. Memory directly accessible to the processor includes main memory, cache and the CPU registers. Secondary storage includes hard drives, magnetic tape, CD-ROM, DVD drives, floppy disks, punch cards and paper tape.
Secondary storage devices are usually accessed via some kind of controller. This contains registers that can be directly accessed by the CPU like main memory ( memory mapped ). Reading and writing these registers can cause the device to perform actions like reading a block of data off a disk or rewinding a tape. See also DMA.
Programs and data stored in secondary storage must first be loaded into main memory before the processor can use them.
(1997-11-05)

second generation computer
architecture A computer built from transistors, designed between the mid-1950s and mid-1960s.
Ferrite core memory and magnetic drums replaced cathode ray tubes and delay-line storage for main memory. Index registers and floating point arithmetic hardware became widespread. Machine-independent high level programming languages such as ALGOL, COBOL and Fortran were introduced to simplify programming.
I/O processors were introduced to supervise input-output operations independently of the CPU thus freeing the CPU from time-consuming housekeeping functions. The CPU would send the I/O processor an initial instruction to start operating and the I/O processor would then continue independently of the CPU. When completed, or in the event of an error, the I/O processor sent an interrupt to the CPU.
Batch processing became feasible with the improvement in I/O and storage technology in that a batch of jobs could be prepared in advance, stored on magnetic tape and processed on the computer in one continuous operation placing the results on another magnetic tape. It became commonplace for auxiliary, small computers to be used to process the input and output tapes off-line thus leaving the main computer free to process user programs. Computer manufacturers began to provide system software such as compilers, subroutine libraries and batch monitors.
With the advent of second generation computers it became necessary to talk about computer systems, since the number of memory units, processors, I/O devices, and other system components could vary between different installations, even though the same basic computer was used.
The instruction repertoire of the IBM 7094 (a typical second generation machine) had over 200 instructions including data transfer instructions for transferring a word of information between the CPU and memory or between two CPU registers; fixed-point and floating point arithmetic instructions; logic instructions (AND, OR etc.); instructions for modifying index registers; conditional and unconditional branching; subroutines; input-output operations for transferring data between I/O devices and main memory.
(1996-11-25)

second generation language
assembly language
See also first generation language, third generation language.

second level cache
secondary cache

second normal form
database normalisation

Second-Order Lambda-calculus
language (SOL) A typed lambda-calculus.
[ Abstract Types have Existential Type , J. Mitchell et al, 12th POPL, ACM 1985, pp. 37-51].
(1995-07-29)

second-system effect
(Sometimes, more euphoniously, second-system syndrome ) When one is designing the successor to a relatively small, elegant, and successful system, there is a tendency to become grandiose in one's success and design an elephantine feature-laden monstrosity. The term was first used by Fred Brooks in his classic The Mythical Man-Month. It described the jump from a set of nice, simple operating systems on the IBM 70xx series to OS/360 on the 360 series. A similar effect can also happen in an evolving system; see Brooks's Law, creeping elegance, creeping featurism. See also Multics, OS/2, X, software bloat.
[Jargon File]

sector interleave
(Or sector map) The mapping from logical to physical sector numbers on a magnetic disk designed to optimise sequential reads and writes. Data is usually transferred to and from the disk in blocks or sectors where one sector lies within a continuous range of rotational angle of the disk. If logical sectors are assigned sequentially to physical sectors (0,1,2,...) then by the time one sector has been read and processed (e.g. writen to main memory) the start of the next logical sector will have passed the read/write head and will not be accessible until the disk's rotation brings it back under the head.
Staggering the physical sectors (e.g. 0,3,6,1,4,7,2,5,8) aims to allow just enough time deal with one sector before the next is accessible. This obviously depends on the relative speed of the rotation of the disk, sector size, sectors per track and the speed of transfer of sectors to main memory.

sector interleaving
See sector interleave.

sector map
See sector interleave.

sector mapping
In this scheme the memory and cache are divided into blocks of 2^m bytes (the cache line size). A sector consists of 2^n consecutive blocks.
When a block is cached, it is read into the correct position in any sector of the cache, given by discarding the bottom m address bits and taking the next n as the block number within the sector.
That whole sector is then tagged with the remaining upper address bits and the other blocks in the sector are marked as invalid. This scheme takes advantage of locality of reference to consecutive blocks and needs fewer tags thus reducing the cost of associative access to the tags.

Secure Multipurpose Internet Mail Extensions
messaging, standard (S-MIME) A specification for secure electronic mail. S-MIME was designed to add security to e-mail messages in MIME format. The security services offered are authentication (using digital signatures) and privacy (using encryption).
(http://www.rsa.com/rsa/S-MIME/).
(1997-05-10)

Secure Shell
operating system (ssh) A Unix shell program for logging into, and executing commands on, a remote computer. ssh is intended to replace rlogin and rsh, and provide secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel.
Home (http://www.cs.hut.fi/ssh/).
(1997-01-07)

Secure Sockets Layer
networking (SSL) A protocol designed by Netscape Communications Corporation to provide encrypted communications on the Internet. SSL is layered beneath application protocols such as HTTP, SMTP, Telnet, FTP, Gopher, and NNTP and is layered above the connection protocol TCP/IP. It is used by the HTTPS access method.
(1995-01-17)

Security Administrator's Integrated Network Tool
networking, security, tool (SAINT, originally Security Administrator Tool for Analyzing Networks , SATAN) A tool written by Dan Farmer and Wietse Venema which remotely probes systems via the network and stores its findings in a database. The results can be viewed with an web browser. SAINT requires Perl 5.000 or better.
In its simplest mode, SAINT gathers as much information about remote hosts and networks as possible by examining such network services as finger, NFS, NIS, FTP, TFTP, rexd, and other services. The information gathered includes the presence of various network information services as well as potential security flaws - usually in the form of incorrectly setup or configured network services, well-known bugs in system or network utilities, or poor or ignorant policy decisions. It can then either report on this data or use a simple rule-based system to investigate any potential security problems. Users can then examine, query, and analyze the output with a web browser. While the program is primarily geared towards analysing the security implications of the results, a great deal of general network information can be gained when using the tool - network topology, network services running, and types of hardware and software being used on the network.
SAINT can also be used in exploratory mode. Based on the initial data collection and a user configurable ruleset, it will examine the avenues of trust and dependency and iterate further data collection runs over secondary hosts. This not only allows the user to analyse his own network, but also to examine the real implications inherent in network trust and services and help them make reasonably educated decisions about the security level of the systems involved.
Home (http://www.wwdsi.com/saint/).
Old SATAN page (http://www.fish.com/satan/).
Mailing list (http://www.wwdsi.com/saint/list_server.html).
(2000-08-12)

Security Association
networking The relationship between two or more entities (typically, a computer, but could be a user on a computer, or software component) which describes how the entities will use security services, such as encryption, to communicate.
See RFC 1825.
(1997-07-09)

Security Association ID
networking (SAID) A 32-bit field added to packet headers for encryption and authentication in the proposed Internet Protocol Version 6.
(1997-07-09)

security through obscurity
security Or security by obscurity . A term applied by hackers to most operating system vendors' favourite way of coping with security holes - namely, ignoring them, documenting neither any known holes nor the underlying security algorithms, trusting that nobody will find out about them and that people who do find out about them won't exploit them. This strategy never works for long and occasionally sets the world up for debacles like the RTM worm of 1988 (see Great Worm), but once the brief moments of panic created by such events subside most vendors are all too willing to turn over and go back to sleep. After all, actually fixing the bugs would siphon off the resources needed to implement the next user-interface frill on marketing's wish list - and besides, if they started fixing security bugs customers might begin to *expect* it and imagine that their warranties of merchantability gave them some sort of *right* to a system with fewer holes in it than a shotgunned Swiss cheese?
Historical note: There are conflicting stories about the origin of this term. It has been claimed that it was first used in the Usenet newsgroup in news:comp.sys.apollo during a campaign to get HP/Apollo to fix security problems in its Unix-clone Aegis/DomainOS (they didn't change a thing). ITS fans, on the other hand, say it was coined years earlier in opposition to the incredibly paranoid Multics people down the hall, for whom security was everything. In the ITS culture it referred to (1) the fact that that by the time a tourist figured out how to make trouble he'd generally got over the urge to make it, because he felt part of the community; and (2) (self-mockingly) the poor coverage of the documentation and obscurity of many commands. One instance of *deliberate* security through obscurity is recorded; the command to allow patching the running ITS system (altmode altmode control-R) echoed as $$^D. If you actually typed alt alt ^D, that set a flag that would prevent patching the system even if you later got it right.
[Jargon File]
(1994-12-15)

SED
smoke-emitting diode

Sed
tool, text Stream editor.
The Unix stream editor. It has a powerful but cryptic command language and is based on regular expressions.
There is a GNU version called GNU Sed.
[Jargon File]
(1994-11-03)

SEE
1. Simultaneous Engineering Environment.
2. Software Engineering Environment.
(1999-04-26)

seek
1. storage To move the head of a disk drive radially, i.e., to move from one track to another.
2. storage To wind the tape to a given location.
3. programming To move the pointer that marks the next byte to be read from or written to a file.
(1997-07-15)

seeking
seek

seek time
storage The time it takes for a disk drive to move its head(s) from one track to another. The seek time depends on the power of the servo, the mass of the heads, the number of tracks traversed and the time taken to position the heads over the target track accurately enough to start data transfer.
See also: average seek time, minimum seek time, maximum seek time.
(1997-07-15)

SEESAW
language An early system on the IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-15)

see u see me
CU-SeeMe

SEGA
company, games manufacturer of video game hardware and software.
Usenet newsgroup: news:rec.games.video.sega.
(1995-03-01)

segfault
segmentation fault

seggie
/seg'ee/ British shorthand for a Unix segmentation fault.
[Jargon File]
(1994-12-15)

segment
/seg'ment/ 1. architecture A collection of pages in a memory management system.
2. programming A separately relocatable section of an executable program. Unix executables have a text segment (executable machine instructions), a data segment (initialised data) and a bss segment (uninitialised data).
3. networking network segment.
4. To experience a segmentation fault. Confusingly, the stress is often put on the first syllable, like the noun segment , rather than the second like mainstream verb segment . This is because it is actually a noun shorthand that has been verbed.
[Jargon File]
(1994-12-15)

segmentation
networking (Or segmentation and reassembly , SAR) Breaking an arbitrary size packet into smaller pieces at the transmitter. This may be necessary because of restrictions in the communications channel or to reduce latency. The pieces are joined back together in the right order at the receiver ( reassembly ). Segmentation may be performed by a router when routing a packet to a network with a smaller maximum packet size.
The term segmentation is used in ATM, in TCP/IP, it is called fragmentation an is performed at the IP layer before the fragments are passed to the transport layer.
See for example ATM forum UNI 4.0 specification.
[Better reasons?]
(1999-06-14)

segmentation and reassembly
segmentation

segmentation fault
An error in which a running Unix program attempts to access memory not allocated to it and terminates with a segmentation violation error and usually a core dump.
[Jargon File]
(1994-12-15)

segmented address space
architecture The brain damaged addressing scheme used on the Intel 8086 and later Intel microprocessors (and maybe others(?)) where all memory references are formed by adding a 16-bit offset to a 16-bit base address held in one of four segment base registers. Each instruction has a default segment (code (CS), data (DS), stack (SS), ? (ES)) which determines which segment register is used. Special prefix instructions allow this default to be overridden.
The effect is to segment memory into blocks, of 64 kilobytes in the case of the Intel processors. Blocks may overlap either partially or completely, depending on the contents of the segment registers but normally they would be distinct to give access to the maximum total range of addresses. In this case the scheme does provide some degree of memory protection within a single process since, for example, a data reference cannot affect an area of memory containing code. However, compilers must either generate slower code or code with artificial limits on the size of data structures.
Opposite: flat address space. See also addressing mode.
(1996-12-21)

segv
/seg'vee/ segmentation violation.
segmentation fault
(1994-12-15)

SEI
Software Engineering Institute.
(Carnegie Mellon University).

Seiko RC-4000
A wristwatch with an EIA-232 interface. A clip fitted round the watch and made electrical contact. This clip had a socket for a stereo style jack lead the other end of which was a 25-way D-type connector. The lead allowed you to enter phone numbers etc. into the watch without having to play with tiny buttons. It also meant if the battery on your watch ran out you could restore the data without having to type it all in again.
It was around the era of the 8-bit home computers like the Spectrum, BBC Microcomputer, Apple II, C64 - the 1980s.
(1995-01-30)

SEL
1. Self-Extensible Language.
2. Subset-Equational Language.

Selective Dissemination of Information
library (SDI) (From Library Science) SDI is a current awareness system which alerts you to the latest publications in your specified field(s) of interest.
A user registers at such a system with keywords representing his or her fields of interest, called a search profile. When new publications matching the search profile appear, the system informs the user of them instantly, periodically or upon request. Some systems may also be able to inform the user if changes in already notified publications occur.
Health Science Library SDI (http://www-hsl.mcmaster.ca/sdi.html). FIZ Karlsruhe Scientific Service Institution (http://www.fiz-karlsruhe.de/mc-sdi.html).
(1997-03-10)

selector
programming 1. In Smalltalk or Objective C, the syntax of a message which selects a particular method in the target object.
2. An operation that returns the state of an object but does not alter that state. Selector functions or methods often have names which begin with get and corresponding modifier methods or procedures whose names begin with set .
(1998-01-12)

Self
language A small, dynamically typed object-oriented language, based purely on prototypes and delegation. Self was developed by the Self Group at Sun Microsystems Laboratories, Inc. and Stanford University. It is an experimental exploratory programming language.
Release 2.0 introduces full source-level debugging of optimised code, adaptive optimisation to shorten compile pauses, lightweight threads within Self, support for dynamically linking foreign functions, changing programs within Self and the ability to run the experimental Self graphical browser under OpenWindows. Designed for expressive power and malleability, Self combines a pure, prototype-based object model with uniform access to state and behaviour. Unlike other languages, Self allows objects to inherit state and to change their patterns of inheritance dynamically. Self's customising compiler can generate very efficient code compared to other dynamically-typed object-oriented languages.
Version: 3.0 runs on Sun-3 (no optimiser) and Sun-4.
Home (http://www.sunlabs.com/research/self/).
[ Self: The Power of Simplicity , David Ungar ungar@sun.eng.com et al, SIGPLAN Notices 22(12):227-242, OOPSLA '87, Dec 1987].
(1999-06-09)

Self-Extensible Language
[ SEL - A Self-Extensible Programming Language , G. Molnar, Computer J 14(3):238-242 (Aug 1971)].
(1994-12-15)

Self Extracting Archive
file format (SEA) An archive format used on the Apple Macintosh. Double-clicking a file of this type should extract its contents.
(1995-05-02)

self-reference
See self-reference.
[Jargon File]

selvage
chad

SEM
The semantic specification language for COPS.
[ Metalanguages of the Compiler Production System COPS , J. Borowiec, in GI Fachgesprach Compiler-Compiler , ed W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].

semantic gap
The difference between the complex operations performed by high-level language constructs and the simple ones provided by computer instruction sets. It was in an attempt to try to close this gap that computer architects designed increasingly complex instruction set computers.
(1994-10-10)

semantic network
data A graph consisting of nodes that represent physical or conceptual objects and arcs that describe the relationship between the nodes, resulting in something like a data flow diagram. Semantic nets are an effective way to represent data as they incorporate the inheritance mechanism that prevents duplication of data. That is, the meaning of a concept comes from its relationship to other concepts and the information is stored by interconnecting nodes with labelled arcs.
(1999-01-07)

semantics
theory The meaning of a string in some language, as opposed to syntax which describes how symbols may be combined independent of their meaning.
The semantics of a programming language is a function from programs to answers. A program is a closed term and, in practical languages, an answer is a member of the syntactic category of values. The two main kinds are denotational semantics and operational semantics.
(1995-06-21)

semaphore
programming, operating system The classic method for restricting access to shared resources (e.g. storage) in a multi-processing environment. They were invented by Dijkstra and first used in T.H.E operating system.
A semaphore is a protected variable (or abstract data type) which can only be accessed using the following operations:
P(s) Semaphore s;
while (s == 0) ;/* wait until s 0 */
s = s-1;
V(s) Semaphore s;
s = s+1;
Init(s, v) Semaphore s; Int v;
s = v;
P and V stand for Dutch Proberen , to test, and Verhogen , to increment. The value of a semaphore is the number of units of the resource which are free (if there is only one resource a binary semaphore with values 0 or 1 is used). The P operation busy-waits (or maybe sleeps) until a resource is available whereupon it immediately claims one. V is the inverse, it simply makes a resource available again after the process has finished using it. Init is only used to initialise the semaphore before any requests are made. The P and V operations must be indivisible, i.e. no other process can access the semaphore during the their execution.
To avoid busy-waiting, a semaphore may have an associated queue of processes (usually a FIFO). If a process does a P on a semaphore which is zero the process is added to the semaphore's queue. When another process increments the semaphore by doing a V and there are tasks on the queue, one is taken off and resumed.
(1995-02-01)

semi
/se'mee/ or /se'mi:/ A spoken abbreviation for semicolon.
Commands to grind are prefixed by semi semi star means that the prefix is ;;* , not 1/4 of a star.
[Jargon File]
(1995-01-31)

Semi-Automatic Ground Environment
project (SAGE) The computer system of the old US Norad air defence system. SAGE was ground-breaking in many ways, such as being one of the first very large software projects and the first real-time system.
MIT Lincoln Laboratory developed SAGE and MITRE Corporation was responsible for system engineering and implementation oversight.
(http://www.togger.com/), (http://www.jps.net/ethelen/sage.html), (http://www.eskimo.com/%7Ewow-ray/sage28.html).
[Confirm? Dates? Connection with MIT Research Laboratory for Electronics?]
(1999-12-16)

semicolon
;
Common: ITU-T: semicolon; semi. Rare: weenie; INTERCAL: hybrid, pit-thwong.

semiconductor
electronics A material, typically crystaline, which allows current to flow under certain circumstances. Common semiconductors are silicon, germanium, gallium arsenide. Semiconductors are used to make diodes, transistors and other basic solid state electronic components.
As crystals of these materials are grown, they are doped with traces of other elements called donors or acceptors to make regions which are n- or p-type respectively for the electron model or p- or n-type under the hole model. Where n and p type regions adjoin, a junction is formed which will pass current in one direction (from p to n) but not the other, giving a diode.
One model of semiconductor behaviour describes the doping elements as having either free electrons or holes dangling at the points in the crystal lattice where the doping elements replace one of the atoms of the foundation material. When external electrons are applied to n-type material (which already has free electrons present) the repulsive force of like charges causes the free electrons to migrate toward the junction, where they are attracted to the holes in the p-type material. Thus the junction conducts current.
In contrast, when external electrons are applied to p-type material, the attraction of unlike charges causes the holes to migrate away from the junction and toward the source of external electrons. The junction thus becomes depleted of its charge carriers and is non-conducting.
(1995-10-04)

Semidetached Mode
programming A term used by COCOMO to describe a project development somewhere between organic and embedded. The team members have a mixture of experienced and inexperienced personnel. The software to be developed has some characteristics of both organic and embedded modes. Semidetached software can be as large as 300K DSIs.
(1996-05-29)

SENDIT
Systems Engineering for Network Debugging, Integration and Test. A two-year European Commission funded project to produce software tools for distributed applications running on networks of microcontrollers.
(1994-07-21)

sendmail
messaging The BSD Unix Message Transfer Agent supporting mail transport via TCP/IP using SMTP. Sendmail is normally invoked in the background via a Mail User Agent such as the mail command.
Sendmail was written by Eric Allman at the University of California at Berkeley during the late 1970s. He now has his own company, Sendmail Inc.
Sendmail was one of the first programs to route messages between networks and today is still the dominant e-mail transfer software. It thrived despite the awkward ARPAnet transition between NCP to TCP protocols in the early 1980s and the adoption of the new SMTP Simple Mail Transport Protocol, all of which made the business of mail routing a complex challenge of backward and forward compatibility for several years. There are now over one million copies of Sendmail installed, representing over 75% of all Internet mail servers.
Simultaneously with the announcement of the company in November 1997, Sendmail 8.9 was launched, featuring new tools designed to limit junk e-mail. SendMail 8.9 is still distributed as source code with the rights to modify and distribute.
Latest version: 8.9.1, as of 1998-08-25.
The command
sendmail -bv ADDRESS
can be used to learn what the local mail system thinks of ADDRESS. You can also talk to the Sendmail daemon on a remote host FOO with the command
telnet FOO 25
(1998-08-25)

sendmail.cf
messaging sendmail's configuration file, which it reads once when starting up, usually found in the /etc directory.
Only real Unix Gurus can understand, let alone modify, this file since it consists moslty of header rewrite rules written as M4 macros, as well as various other one- or two-character commands.
(1996-12-09)

Sendmail Inc.
company The company, announced in November 1997 and launched in March 1998, created by Eric Allman, the original author of Sendmail. Allman is Chief Technology Officer, Greg Olson is President and CEO.
Sendmail Inc. will sell commercial upgrades, service and support to Internet Service Providers and corporations running critical e-mail applications, while still continuing freeware development.
Sun Microsystems founders Bill Joy and Andy Bechtolscheim are among the investors in the company, along with Tim O'Reilly of publishers O'Reilly Associates and John Funk of e-mail company InfoBeat Inc..
Allman said that he devoted the fist six months of the life of Sendmail Inc. to finalising the freeware release. A commercial version was due in summer 1998, at around $1000 per server. The company is expected to reach $40m annual sales within three years. Funding is in the region of $1.25m.
Home (http://www.sendmail.com/).
Address: Emeryville, California, USA.
(1998-08-25)

Seneca
Oberon-V

senior bit
[IBM] Synonym meta bit.
[Jargon File]

sensor
hardware An electronic device used to measure a physical quantity such as temperature, pressure or loudness and convert it into an electronic signal of some kind (e.g a voltage). Sensors are normally components of some larger electronic system such as a computer control and/or measurement system.
Analog sensors most often produce a voltage proportional to the measured quantity. The signal must be converted to digital form with a ADC before the CPU can process it.
Digital sensors most often use serial communication such as EIA-232 to return information directly to the controller or computer through a serial port.
(1997-04-15)

sentence
logic A collection of clauses.
(1996-12-08)

SE-ODP
Support Environment for Open Distributed Processing. An ECMA standard.

SEP
1. Someone Else's Problem.
2. tool A SASD tool from IDE.
(1995-10-12)

SEPIA
Standard ECRC Prolog Integrating Applications. Prolog with many extensions including attributed variables ( metaterms ) and declarative coroutining. SEPIA , Micha Meier micha@ecrc.de et al, TR-LP-36 ECRC, March 1988. Version 3.1 available for Suns and VAX. (See ECRC-Prolog). E-mail: sepia-request@ecrc.de .

SEPP
Single Edge Processor Package

Seque
Seque: A Programming Language for Manipulating Sequences , R.E. Griswold et al, Comp Langs 13(1):13-22 (1988).

Sequel
1. Precursor to SQL.
[ System R: Relational Approach to Database Management , IBM Res Lab, San Jose, reprinted in Readings in Database Systems].
2. U Leeds. Theorem prover specification language. Pattern matching notation similar to Prolog. Compiled into Lisp.
[Proc ICJAI 13].
(ftp://agora.leeds.ac.uk/scs/logic/)

Sequenced Packet Exchange
networking, protocol (SPX) A transport layer protocol built on top of IPX. SPX is used in Novell NetWare systems for communications in client/server application programs, e.g. BTRIEVE (ISAM manager).
SPX is not used for connections to the file server itself; this uses NCP. It has been extended as SPX-II. SPX/IPX perform equivalent functions to TCP/IP.
(http://developer.novell.com/research/appnotes/1995/december/03/04.htm).
[Better reference?]
(1999-05-27)

sequencer
music Any system for recording and/or playback of music via a programmable memory which stores music not as audio data, but as some representation of notes. The most common modern usage of sequencer is to refer to systems (whether in software, or as a feature of devices like synthesizers or drum machines) that deal with MIDI data.
(1999-06-04)

Sequent
company A computer manufacturer.
Quarterly sales $109M, profits $7M (Aug 1994).
[Details? Address?]
(1994-09-26)

sequential coding
graphics, file format, algorithm The usual bitmap image data storage format or transmission algorithm where the resoluton is constant and later data adds only more area. This contrasts with progressive coding.
(2000-09-12)

sequential file matching
A programming technique that matches records in one sequential file with records in another sequential file. The records are accessed in the physical order in which they are stored.
(1994-11-02)

Sequential Parlog Machine
(SPM) The virtual machine (and its machine code) for the Parlog logic programming language.
(ftp://nuri.inria.fr/lang/Parlog.tar.Z)
[ Parallel Logic Programming in PARLOG , Steve Gregory, Addison-Wesely, UK, 1987].

sequential processing
Running a single task to completion on a single processor, in contrast to parallel processing or multitasking.
(1995-04-23)

SERC
Science and Engineering Research Council

SERCOS
serial real-time communications system
[What is it?]
[ More choices link motors and drives to controls , by L. Langnau. Power Transmission Design, vol. 37, no. 7, pp. 33-36].
(1996-01-23)

serial communications interface
hardware (SCI) The same as a serial port?
(1998-02-14)

Serial Interface Adaptor
(SIA) The Ethernet driver chip used on a Filtabyte Ethernet card.

serialise
programming To represent an arbitrarily complex data structure in a location-independent way so that it can be communicated or stored elsewhere.
For example, an object representing a time, with attributes for year, month, timezone, etc., could be serialised as the string 2002-02-24T14:33:52-0800 , or an XML element dateobj year='2002' month='02' day='24' hour='14' minute='33' second='52' timezone='-0800' / , or as a binary string.
As well as providing an external data representation (e.g. representing an integer as a string of ASCII digits) and marshalling components into a single block of data, a serialisation algorithm needs to follow pointers to include objects referred to by the initial object. This is further complicated by the possible presence of cycles in the object graph.
It should be possible to store the serialised representation on disk, or transmit it across a network, and then restore it as an object (graph) that is the same as the original.
(2001-09-28)

serialize
serialise

serial line
Wires which connect two serial ports carrying serial data consisting of sequential bits represented by one of two voltages.
A common electrical specification for the signals on a serial line is RS-423.
(ftp://ftp.acorn.co.uk/pub/documents/appnotes/231-245/234.ps)
(1995-02-02)

Serial Line Internet Protocol
communications, protocol (SLIP) Software allowing the Internet Protocol (IP), normally used on Ethernet, to be used over a serial line, e.g. an EIA-232 serial port connected to a modem. It is defined in RFC 1055.
SLIP modifies a standard Internet datagram by appending a special SLIP END character to it, which allows datagrams to be distinguished as separate. SLIP requires a port configuration of 8 data bits, no parity, and EIA or hardware flow control. SLIP does not provide error detection, being reliant on other high-layer protocols for this. Over a particularly error-prone dial-up link therefore, SLIP on its own would not be satisfactory.
A SLIP connection needs to have its IP address configuration set each time before it is established whereas Point-to-Point Protocol (PPP) can determine it automatically once it has started.
See also SLiRP.
(1995-04-30)

Serial Line IP
(SLIP) Serial Line Internet Protocol.

serial port
hardware, communications (Or com port ) A connector on a computer to which you can attach a serial line connected to peripherals which communicate using a serial (bit-stream) protocol. The most common type of serial port is a 25-pin D-type connector carrying EIA-232 signals. Smaller connectors (e.g. 9-pin D-type) carrying a subset of EIA-232 are often used on personal computers. The serial port is usually connected to an integrated circuit called a UART which handles the conversion between serial and parallel data.
In the days before bit-mapped displays, and today on multi-user systems, the serial port was used to connect one or more terminals (teletypewriters or VDUs), printers, modems and other serial peripherals. Two computers connected together via their serial ports, possibly via modems, can communicate using a protocol such as UUCP or CU or SLIP.
(1995-01-12)

Serial Presence Detect
presence detect

serial processing
sequential processing

Serial Storage Architecture
(SSA) IBM's proposed ANSI standard for a standard high-speed interface to disk clusters and arrays. SSA allows full-duplex packet multiplexed serial data transfers at rates of 20Mb/sec in each direction.
According to John Taylor, programme manager at IBM's Storage Division at Havant, SSA will be used in arrays of discs working with high-end computers ranging from mainframes down to LAN servers. Taylor said that SSA differs from the IEEE proposed P1394 serial interface specification in its ability to offer simultaneous multiplexed transfers from more than one disk or array. IBM also supports the P1394 standard which will be used primarily by desktop PCs for multimedia applications.
SSA has received backing from a number of companies including connector makers Molex, ITT Cannon and AMP, disk drive makers Conner and Western Digital and RAID array suppliers like Dynatech and NCR. IBM expects to see the first SSA products released at Comdex in Autumn 1994 but it will be 1995 before the products ship in volume.
Under an agreement signed with ASIC maker and ARM licencee VLSI Technology, IBM will use ARM-based chips made by VLSI to implement the SSA interface and VLSI will make these cores available to third parties as one of its Functional System Blocks.

serve
networking To be a server, to provide a service.
E.g., The shttpd serves requested documents to clients over a secure link.
(1997-09-11)

servelet
Java servlet

server
1. A program which provides some service to other (client) programs. The connection between client and server is normally by means of message passing, often over a network, and uses some protocol to encode the client's requests and the server's responses. The server may run continuously (as a daemon), waiting for requests to arrive or it may be invoked by some higher level daemon which controls a number of specific servers (inetd on Unix). There are many servers associated with the Internet, such as those for Network File System, Network Information Service (NIS), Domain Name System (DNS), FTP, news, finger, Network Time Protocol. On Unix, a long list can be found in /etc/services or in the NIS database services . See client-server.
2. A computer which provides some service for other computers connected to it via a network. The most common example is a file server which has a local disk and services requests from remote clients to read and write files on that disk, often using Sun's Network File System (NFS) protocol or Novell Netware on IBM PCs.
[Jargon File]
(1996-09-08)

serverlet
Java Servlet

Server Message Block
protocol (SMB) A client/server protocol that provides file and printer sharing between computers. In addition SMB can share serial ports and communications abstractions such as named pipes and mail slots. SMB is similar to remote procedure call (RPC) specialised for file system access.
SMB was developed by Intel, Microsoft, and IBM in the early 1980s. It has also had input from Xerox and 3Com. It is the native method of file and print sharing for Microsoft operating systems; where it is called Microsoft Networking. Windows for Workgroups, Windows 95, and Windows NT all include SMB clients and servers. SMB is also used by OS/2, Lan Manager and Banyan Vines. There are SMB servers and clients for Unix, for example Samba and smbclient.
SMB is a presentation layer protocol structured as a large set of commands (Server Message Blocks). There are commands to support file sharing, printer sharing, user authentication, resource browsing, and other miscellaneous functions. As clients and servers may implement different versions ( dialects ) of the protocol they negotiate before starting a session.
The redirector packages SMB requests into a network control block (NBC) structure that can be sent across the network to a remote device.
SMB originally ran on top of the lower level protocols NetBEUI and NetBIOS, but now typically runs over TCP/IP.
Microsoft have developed an extended version of SMB for the Internet, the Common Internet File System (CIFS), which in most cases replaces SMB. CIFS runs only runs over TCP/IP.
Just what is SMB? (http://samba.anu.edu.au/cifs/docs/what-is-smb.html).
IBM protocols (http://www.protocols.com/pbook/ibm.htm).
Microsoft SMB/CIFS documents (ftp://ftp.microsoft.com/developr/drg/CIFS/).
(1999-08-08)

server-parsed HTML
file format, World-Wide Web (SPML, SHTML) A kind of HTML file containing server-specific, non-standard commands which are interpreted by the HTTP server and replaced by standard HTML or text before the data is returned to the client.
Different servers use different command syntax and support different sets of commands. The most common example is a server-side include command which simply expands to the contents of some given file and allows bits of HTML or text to be shared between pages for ease of updating. Other commands insert the value of an environment variable or the output of a shell command. These allow pages to be different each time they are served without requiring a CGI script.
Some servers distinguish SPML from HTML with a different filename extension, others use the execute bit of the file's permissions.
(1996-09-29)

server room
hardware The room where all the server computers are housed. The workstations at which people sit and program are usually located elsewhere.
Compare: sun lounge, dinosaur pen, play pen, salt mines, disk farm.
(1998-07-06)

servers
server

server-side include
World-Wide Web (SSI) The facility provided by several HTTP servers, e.g. NCSA httpd, to replace certain HTML tags in one HTML file with the contents of another file at the time when the file is sent out by the server, i.e. an HTML macro.
NCSA httpd tutorial (http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html).
(1996-09-08)

service
networking, programming Work performed (or offered) by a server. This may mean simply serving simple requests for data to be sent or stored (as with file servers, gopher or http servers, e-mail servers, finger servers, SQL servers, etc.); or it may be more complex work, such as that of irc servers, print servers, X Windows servers, or process servers.
E.g. Access to the finger service is restricted to the local subnet, for security reasons .
(1997-09-11)

serviceability
system The ease with which corrective maintenance or preventative maintenance can be performed on a system (e.g. by a hardware service technician). Higher serviceability improves availability and reduces service cost.
Serviceability is one component of RAS.
(2000-08-13)

Service Access Point
networking (SAP) The OSI term for the component of a network address which identifies the individual application on a host which is sending or receiving a packet.
TCP/IP's equivalent term is port .
Different SAPs distinguish between different services or applications on a host, e.g. electronic mail, FTP, HTTP.
(1996-12-23)

Service Advertising Protocol
networking (SAP) A Novell NetWare protocol. SAP follows the spirit of the Xerox Clearinghouse protocol, it permits file, print, and gateway servers to advertise their services and addresses.
(1996-01-13)

service provider
communications An organisation that provides a service by telephone, such as an 0800 (toll free) number. The service provider buys the services of a telecom supplier (e.g. BT) but advertises the service and deals with the calls itself. Increasingly, service providers are now also managing their advanced call-routing.
(1996-08-27)

servlet
Java servlet

session
networking 1. A lasting connection between a user (or user agent) and a peer, typically a server, usually involving the exchange of many packets between the user's computer and the server. A session is typically implemented as a layer in a network protocol (e.g. telnet, FTP).
In the case of protocols where there is no concept of a session layer (e.g. UDP) or where sessions at the session layer are generally very short-lived (e.g. HTTP), virtual sessions are implemented by having each exchange between the user and the remote host include some form of cookie which stores state (e.g. a unique session ID, information about the user's preferences or authorisation level, etc.).
See also login.
2. A lasting connection using the session layer of a networking protocol.
(1997-08-03)

Session Initiation Protocol
protocol (SIP) A very simple text-based application-layer control protocol. It creates, modifies, and terminates sessions with one or more participants. Such sessions include Internet telephony and multimedia conferences.
It is described in RFC 2543.
(2000-05-31)

session layer
networking The third highest protocol layer (layer 5) in the OSI seven layer model. The session layer uses the transport layer to establish a connection between processes on different hosts. It handles security and creation of the session. It is used by the presentation layer.
Documents: ITU Rec. X.225 (ISO 8327), ITU Rec. X.215 (ISO 8326).
[Examples?]
(1997-12-07)

SES/workbench
tool, simulation An iconic simulation and design tool, linked to some of the major CASE systems now available or in development.
(1996-03-28)

SET
1. security Secure Electronic Transaction.
2. electronics Single Electron Tunneling.
3. standard Standard d'Echange et de Transfert.
(1999-03-26)

set
A collection of objects, known as the elements of the set, specified in such a way that we can tell in principle whether or not a given object belongs to it. E.g. the set of all prime numbers, the set of zeros of the cosine function.
For each set there is a predicate (or property) which is true for (posessed by) exectly those objects which are elements of the set. The predicate may be defined by the set or vice versa. Order and repetition of elements within the set are irrelevant so, for example, 1, 2, 3 = 3, 2, 1 = 1, 3, 1, 2, 2.
Some common set of numbers are given the following names:
N = the natural numbers 0, 1, 2, ...
Z = the integers ..., -2, -1, 0, 1, 2, ...
Q = the rational numbers p/q where p, q are in Z and q /= 0.
R = the real numbers
C = the complex numbers.
The empty set is the set with no elements. The intersection of two sets X and Y is the set containing all the elements x such that x is in X and x is in Y. The union of two sets is the set containing all the elements x such that x is in X or x is in Y.
See also set complement.
(1995-01-24)

set abstraction
list comprehension

set associative cache
architecture A compromise between a direct mapped cache and a fully associative cache where each address is mapped to a certain set of cache locations. The address space is divided into blocks of 2^m bytes (the cache line size), discarding the bottom m address bits. An n-way set associative cache with S sets has n cache locations in each set. Block b is mapped to set b mod S and may be stored in any of the n locations in that set with its upper address bits as a tag. To determine whether block b is in the cache, set b mod S is searched associatively for the tag.
A direct mapped cache could be described as one-way set associative , i.e. one location in each set whereas a fully associative cache is N-way associative (where N is the total number of blocks in the cache). Performance studies have shown that it is generally more effective to increase the number of entries rathethe r than associativity and that 2- to 16-way set associative caches perform almost as well as fully associative caches at little extra cost over direct mapping.
(2002-02-09)

set complement
theory The complement of set A in set U is all elements of U which are not elements of A.
(1995-01-24)

set comprehension
list comprehension

Setext
A markup scheme intended for documents that are both human- and computer-readable.

SETL
SET Language. A very high level language based on sets, designed by Jack Schwartz at the Courant Institute in the early 1970s. It was possibly the first use of list comprehension notation.
Data types include sets (unordered collections), tuples (ordered collections) and maps (collections of ordered pairs). Expressions may include quantifiers ('for each' and 'exists'). The first Ada translator was written in SETL.
See also ISETL, ProSet, SETL2.
[ Programming With Sets - An Introduction to SETL , Jacob T. Schwartz et al, Springer 1986].

SETL2
SETL with more conventional Ada-like syntax, lexical scope, full block structure, first-class functions and a package and library system. Ported to OS/2, MS-DOS (3.1 up), Extended MS-DOS (80286 and higher processors with extended memory), Macintosh (with the MPW environment), Sun-3 (SunOS 4), Sun-4 (SunOS 4), IBM RS/6000 (AIX 3.1), DEC RISC product line (Ultrix 4.0), DEC Vaxen (Mt. Xinu Unix or VMS).
(ftp://cs.nyu.edu/pub/languages/setl2). Please e-mail Kirk Snyder snyder@spunky.cs.nyu.edu if you take a copy.
[ The SETL2 Programming Language , W. Kirk Snyder, Courant Inst TR 490, Jan 1990].

SETL/E
See ProSet.

Set Priority Level
(SPL) The way traditional Unix kernels implement mutual exclusion by running code at high interrupt priority levels and thus blocking lower level interrupts.
(1994-11-23)

SETS
Set Equation Transformation System.
Symbolic manipulation of Boolean equations. Efficient Ordering of Set Expressions for Symbolic Expansion , R.G. Worrell et al, J ACM 20(3):482-488 (Jul 1973).

set theory
mathematics A mathematical formalisation of the theory of sets (aggregates or collections) of objects ( elements or members ). Many mathematicians use set theory as the basis for all other mathematics.
Mathematicians began to realise towards the end of the 19th century that just doing the obvious thing with sets led to embarrassing paradoxes, the most famous being Russell's Paradox. As a result, they acknowledged the need for a suitable axiomatisation for talking about sets. Numerous such axiomatisations exist; the most popular among ordinary mathematicians is Zermelo Fränkel set theory.
The beginnings of set theory (http://www-groups.dcs.st-and.ac.uk/~history/HistoryTopics.html).
(1995-05-10)

set-top box
communications, networking (STB) Any electronic device designed to produce output on a conventional televesion set (on top of which it nominally sits) and connected to some other communications channels such as telephone, ISDN, optical fibre or cable. The STB usually runs software to allow the user to interact with the programmes shown on the television in some way.
Online Media are one STB manufacturer.
(1997-05-16)

SEUS
R. Weyrauch et al. Language allowing functions to return multiple values. Implemented but never published. Mentioned in Evolution of Lisp , G.L. Steele et al, SIGPLAN Notices 28(3):231-270 (March 1993).

seven layer model
Open Systems Interconnect

SEX
/seks/ [Sun Users' Group elsewhere] 1. Software EXchange. A technique invented by the blue-green algae hundreds of millions of years ago to speed up their evolution, which had been terribly slow up until then. Today, SEX parties are popular among hackers and others (of course, these are no longer limited to exchanges of genetic software). In general, SEX parties are a Good Thing, but unprotected SEX can propagate a virus. See also pubic directory.
2. The mnemonic often used for Sign EXtend, a machine instruction found in the PDP-11 and many other architectures. The RCA 1802 chip used in the early Elf and SuperElf personal computers had a SEt X register SEX instruction, but this seems to have had little folkloric impact.
DEC's engineers nearly got a PDP-11 assembler that used the SEX mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of The Intel 8086 Primer , who was one of the original designers of the Intel 8086, noted that there was originally a SEX instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed CBW and CWD (depending on what was being extended). The Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight SEX but has logical-or and logical-and instructions ORL and ANL .
The Motorola 6809, used in the UK's Dragon 32 personal computer, actually had an official SEX instruction; the 6502 in the Apple II with which it competed did not. British hackers thought this made perfect mythic sense; after all, it was commonly observed, you could (on some theoretical level) have sex with a dragon, but you can't have sex with an apple.
[Jargon File]
(1998-03-03)

sexadecimal
hexadecimal

sex changer
gender mender

SEXI
SNOBOL

Seymour Cray
person The founder of Cray Research and designer of several of their supercomputers.
Cray has been a charismatic yet somewhat reclusive figure. He began Cray Research in Minnesota in 1972. In 1988, Cray moved his Cray-3 project to Colorado Springs. The next year, Cray Research spun it off to create Cray Computer. In 1989, Cray left Cray Research and started Cray Computer Corporation in Colorado Springs.
His quest to build a faster computer using new-generation materials failed in 1995, and his bankruptcy cost half a billion dollars and more than 400 jobs. The company was unable to raise $20 million needed to finish the Cray-4 and filed for bankruptcy in March 1995.
In the summer of 1996, Cray started a Colorado Springs-based company called SRC Computers, Inc. We think we'll build computers, but who knows what kind or how, Cray said at the time. We'll talk it over and see if we can come up with a plan.
On 1996-09-22, aged 70, Cray broke his neck in a car accident. Surgery for massive head injuries and swelling of the brain leaving him in a critical and unstable condition.
(1997-03-02)

SFA
Sales Force Automation

SFBI
Shared Frame Buffer Interconnect (Intel)

SFD-ALGOL
System Function Description-ALGOL. Extension of ALGOL for synchronous systems. Sammet 1969, p.625.

SFFA
Sales Force Automation

SFL
System Function Language. Assembly language for the ICL2900. SFL Language Definition Manual , TR 6413, Intl Computers Ltd.

SFLV
Unifies logic and functional programming. SASL+LV with unification moved from actual/formal parameter matching to equational clauses. Static Analysis of Functional Programs with Logical Variables , G. Lindstrom in Programming Languages Implementation and Logic Programming, P. Deransart et al eds, LNCS 348, Springer 1988.

sg
networking The country code for Singapore.
(1999-01-27)

SGCP
Simple Gateway Control Protocol

SGI
Silicon Graphics, Inc.

SGML
Standard Generalized Markup Language

sgmls
language, tool Sgmls is an SGML parser derived from the ARCSGML parser materials which were written by Charles Goldfarb. It outputs a simple, easily parsed, line oriented, ASCII representation of an SGML document's Element Structure Information Set (see pp 588-593 of The SGML Handbook ). It is intended to be used as the front end for structure-controlled SGML application programs.
Version 1.1 for Unix and MS-DOS by James J. Clark jjc@jclark.com and Charles Goldfarb.
(ftp://ftp.uu.net/pub/text-processing/sgml/sgmls-1.0.tar.Z), (ftp://ftp.jclark.com/sgmls/sgmls-1.1.tar.Z).
E-mail: James Clark jjc@jclark.com .
(1993-02-22)

SGML Tagger
tool A tool to assist with adding SGML to a piece of text. The Tagger only lets the user insert a mark-up tag which is correct in that particular context.
(http://www1.oup.co.uk/cite/oup/E-P/Humanities/The_SGML_Tagger/).
(1997-03-18)

SGRAM
Synchronous Graphics Random Access Memory

sh
1. operating system Bourne shell.
2. networking The country code for St. Helena.
(1999-01-27)

SHACO
An early system on the IBM 701.
[Listed in CACM 2(5):1959-05-16].
(1995-10-25)

SHADOW
language A syntax-directed compiler written by Barnett and Futrelle in 1962. It was the predecessor to SNOBOL(?)
[Sammet 1969, p. 448, 605].
(1995-01-16)

shadowing
aliasing

shadow ram
operating system A memory area in PC-AT compatibles used to store frequently accessed ROM code to speed up operation.
(1995-01-16)

shallow binding
A method of storing variable bindings where the current value of a variable can be found at at a known location rather than by searching an environment or association list. When a new binding is made, the old value is copied into the environment.

shambolic link
/sham-bol'ik link/ A Unix symbolic link, particularly when it confuses you, points to nothing at all, or results in your ending up in some completely unexpected part of the file system.
[Jargon File]

Shape_VC
A code management system which offers version control functionality similar to systems like RCS or SCCS with some extensions and a more Unix-like command interface.
(1994-11-04)

ShapeTools
tool, programming A code management system for Unix from The Technical University of Berlin.
(1995-05-11)

shar
tool, file format ( Shell archive , after ar and tar) Any of the many Unix programs that creates a flattened representation of one or more files, with the unique property that it can be unflattened (the original files extracted) merely by feeding it through a standard Unix shell. The output of shar, known as a shar file or sharchive , can be distributed to anyone running Unix, and no special unpacking software is required.
Sharchives are intriguing in that they are typically created by shell scripts; the script that produces sharchives is thus a script which produces self-unpacking scripts, which may themselves contain scripts. The disadvantage of sharchives are that they are an ideal venue for Trojan horse attacks and that, for recipients not running Unix, no simple un-sharchiving program is possible; sharchives can and do make use of arbitrarily-powerful shell features and other Unix commands.
Different implementations of shar vary in sophistication. Some just uuencode each input file and output commands to uudecode the result, others include extensive checking to make sure the files have been transferred without corruption and that all parts of a multi-file sharchive have been unpacked.
The unshar utility strips off mail and news headers before passing the remainder of its input to sh.
(1996-10-18)

sharchive
shar

Share and enjoy!
1. Commonly found at the end of software release announcements and README files, this phrase indicates allegiance to the hacker ethic of free information sharing (see hacker ethic).
2. The motto of the Sirius Cybernetics Corporation (the ultimate gaggle of incompetent suits) in Douglas Adams's Hitch Hiker's Guide to the Galaxy . The irony of using this as a cultural recognition signal appeals to freeware hackers.
[Jargon File]

shared memory
1. Memory in a parallel computer, usually RAM, which can be accessed by more than one processor, usually via a shared bus or network.
It usually takes longer for a processor to access shared memory than to access its own private memory because of contention for the processor-to-memory connections and because of other overheads associated with ensuring synchronised access. Computers using shared memory usually have some kind of local cache on each processor to reduce the number of accesses to shared memory. This requires a cache consistency protocol to ensure that one processor's cached copy of a shared memory location is invalidated when another processor writes to that location.
The alternative to shared memory is message passing where all memory is private to some particular processor and processors communicate by sending messages down special links. This is usually slower than shared memory but it avoids the problems of contention for memory and can be implemented more cheaply.
2. Memory which can be access by more than one process in a multitasking operating system with memory protection. Some Unix variants, e.g. SunOS provide this kind of shared memory.
Unix manual pages: shmop(2), shmctl(2), shmget(2).
(1994-10-20)

Shared Time Repair of Big Electronic Systems
language (STROBES) A language for computer testing.
[Sammet 1969, p. 699].
(1995-02-06)

shareware
software /sheir'weir/ Software that, like freeware, can be usually obtained (downloaded) and redistributed for free, but most often is under copyright and does legally require a payment in the EULA, at least beyond the evaluation period or for commercial applications. This payment, as well as fulfilling the user's legal obligations, may buy additional support, documentation, or functionality. Generally, source code for shareware programs is not available. Shareware is sometimes also nagware and/or crippleware, which muddles the term and is frowned upon in the community.
See also careware, charityware, guiltware, postcardware, and -ware; compare payware.
The History of Shareware (http://www.pslweb.com/history.htm).
[Jargon File]
(2002-01-30)

shar file
shar

sharp
character hash.

Sharp APL
language (Or Dictionary APL )
[ A Dictionary of the APL Language , K. Iverson, Pub 0402, Sharp Assocs, Toronto, 1985].
(ftp://watserv1.waterloo.edu/languages/apl/sharp.apl)
(1997-09-02)

S-HDSL
Single-pair High Speed Digital Subscriber Line

shebang
operating system (Or shebang line , bang path ) /sh*-bang'/ (From sharp and bang ) The magic cookie #! used in Unix to mark the start of a script, e.g. a shell script or Perl script.
Under Unix, if the first two bytes of an executable file are #! , the kernel treats the file as a script rather than a machine code program. The word following the ! (i.e., everything up to the first whitespace) is used as the pathname of the interpreter. For example, if the first line of an executable is
#!/usr/local/bin/perl
the script will be treated as a Perl script and passed as an argument to /usr/local/bin/perl to be interpreted. Some variants of Unix also allow one or more parameters to be passed to the interpreter, for example, you can write
#!/usr/bin/perl -w
and the script will be started as if you typed
/usr/bin/perl -w filename
on the command line. Also, most modern kernels ignore any whitespace between the ! and the interpreter pathname. Even some modern kernels have fairly small limits (e.g. 32) on the length of line they will accept, making long pathnames and arguments somewhat unportable.
[Does anyone call this a magic string ?]
(1998-05-06)

SHEEP
mathematics, tool A package for symbolic mathematics, especially tensor analysis and General Relativity, developed by Inge Frick in Stockholm in the late 1970s to early 1980s. SHEEP was implemented in DEC-10 assembly language, then in several LISPs. The current version runs on Sun-3 and is based on Portable Standard LISP.
[ Sheep, a Computer Algebra System for General Relativity , J.E.F. Skea et al in Proc First Brazilian School on Comp Alg, W. Roque et al eds, Oxford U Press 1993, v2].
(ftp://galois.maths.gmw.ac.uk/homeftp/pub/sheep)
(1998-05-06)

shelf
A public library of classes for the Eiffel language.

shelfware
jargon /shelfweir/ Software which is never used and so ends up on the shelf. Shelfware may be purchased on a whim by an individual, or in accordance with corporate policy, but not actually required for any particular use. Alternatively, it may be software that has been developed (unlike vaporware), but is never released as a product -- a common occurrence at DEC.
[Jargon File]
(1997-07-20)

SHELL
language An early system on the Datatron 200 series.
[Listed in CACM 2(5):16 (May 1959)].
[Jargon File]
(1995-05-11)

shell
1. operating system (Originally from Multics, widely propagated via Unix) The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world.
The commonest Unix shells are the c shell (csh) and the Bourne shell (sh).
2. (Or wrapper ) Any interface program that mediates access to a special resource or server for convenience, efficiency, or security reasons; for this meaning, the usage is usually a shell around whatever.
[Jargon File]
(1995-05-11)

shell out
[Unix] To spawn an interactive subshell from within a program (e.g. a mailer or editor). Bang foo runs foo in a subshell, while bang alone shells out.
[Jargon File]
(1995-05-11)

shell script
programming, operating system A program written to be interpreted by the shell of an operating system, especially Unix.
Compare: script, glue language.
(1999-02-22)

shell variable
programming, operating system One of the variables accessible to a Unix shell process, including environment variables (e.g. $HOME), command line arguments (e.g. $1) and local variables (e.g. $input_file). Other operating systems have similar variables.
(1999-01-26)

shielded twisted pair
hardware (STP) A kind of cable used for most Ethernet cabling, especially fast ethernet connections such as 100 Mbps.
Compare: unshielded twisted pair.
(1999-11-15)

SHIFT
Scalable Heterogeneous Integrated Facility Testbed. A parallel processing project at CERN.

Shift In
character (SI, Control-O, ASCII 15) The character used on some ancient teletypes to start using an alternative character set.
(1996-06-24)

shift left logical
logical shift

Shift Out
character (SO, Control-N, ASCII 14) The character which was used to shift out of an alternate character set on some ancient teletypes, reversing the effect of the Shift In (SI, ASCII 15) character.
(1996-06-24)

shift right logical
logical shift

shim
jargon, memory A small piece of data inserted in order to achieve a desired memory alignment or other addressing property. For example, the PDP-11 Unix linker, in split I D (instructions and data) mode, inserts a two-byte shim at location 0 in data space so that no data object will have an address of 0 (and be confused with the C null pointer).
See also loose bytes.
[Jargon File]
(1994-12-21)

shit hit the fan
chat (SHTF) A slang expression for a chaotic or otherwise unfavourable outcome.
(2000-11-07)

shitogram
/shit'oh-gram/ A *really* nasty piece of e-mail.
Compare nastygram, flame.
[Jargon File]
(1994-12-21)

Shockwave
tool A program from Macromedia for viewing files created with Macromedia Director. Shockwave is freely available as a plug-in for the Netscape Navigator web browser.
Shocked pages that incorporate documents created in Director can usually only be enjoyed by users with an ISDN or faster connection.
Home (http://www.macromedia.com/shockwave/).
[Filetypes? More detail?]
(1998-07-07)

shockwave
networking The propagation of failure, shutdown, meltdown, net overload, or a virus from one network node to another, resulting in a wave of inactivity across the net.
(1997-05-16)

Shockwave Flash
Flash

shopbot
World-Wide Web A kind of bot that searches the World-Wide Web to find the best price for a product you're looking for.
[Examples?]
(1999-06-19)

short card
hardware A half-length IBM PC expansion card or adaptor that will fit in one of the two short slots located towards the right rear of a standard chassis (tucked behind the floppy disk drives).
See also: tall card.
[What bus?]
[Jargon File]
(1998-07-08)

Short Code
language (SHORTCODE) A pseudocode interpreter for mathematics problems, designed by John Mauchly in 1949 to execute on Eckert and Mauchly's BINAC and later on UNIVAC I and II. Short Code was possibly the first attempt at a high level language.
[Sammet 1969, p. 129].
(1996-11-01)

shortcut
file system Microsoft Corporation's term for a symbolic link, stored as a file with extension .lnk . Shortcuts first appeared in 1996 in the Windows 95 operating system. Windows shortcuts can link to any file or directory ( folder ), including those on remote computers, using UNC paths. Each shortcut can also have its own icon. A shortcut that links to an executable file can pass arguments and specify the directory in which the command should run. Unlike a Unix symbolic link, a shortcut does not always behave exactly like the target file or directory.
Compare pif.
(2001-12-18)

Shorten
audio, compression A form of lossless audio compression.
[Details?]
(2001-12-17)

shortest job first
algorithm A scheduling algorithm used in multitasking operating systems that favours processes with the shortest estimated running time.
(1998-04-25)

Short Message Service
messaging (SMS) A message service offered by the GSM digital cellular telephone system.
Using SMS, a short alphanumeric message (160 alphanumeric characters) can be sent to a mobile phone to be displayed there, much like in an alphanumeric pager system. The message is buffered by the GSM network until the phone becomes active.
(1996-02-18)

shotgun debugging
The software equivalent of Easter egging; the making of relatively undirected changes to software in the hope that a bug will be perturbed out of existence. This almost never works, and usually introduces more bugs.
[Jargon File]

shovelware
/shuh'v*l-weir / Extra software dumped onto a CD-ROM or tape to fill up the remaining space on the medium after the software distribution it's intended to carry, but not integrated with the distribution.

Show-And-Tell
A visual dataflow language designed for use by elementary school children.
[ A Visual Language for Keyboardless Programming , T. Kimura et al, TR WUCS-86-6, CS Dept Washington U, Mar 1986].
[ Show and Tell: A Visual Language , T.D. Kimura et al in Visual Programming Environments: Paradigms and Systems, E.P. Glinert ed, IEEE Comp Sci Press, 1990, pp. 397-404].
(1995-01-31)

showstopper
A hardware or (especially) software bug that makes an implementation effectively unusable; one that absolutely has to be fixed before development can go on. Opposite in connotation from its original theatrical use, which refers to something stunningly *good*.
[Jargon File]
(1995-01-31)

shriek
exclamation mark

sht
server-parsed HTML

SHTF
shit hit the fan

shtml
server-parsed HTML

Shub-Internet
/shuhb in't*r-net/ (MUD, from H. P. Lovecraft's evil fictional deity Shub-Niggurath , the Black Goat with a Thousand Young) The harsh personification of the Internet, Beast of a Thousand Processes, Eater of Characters, Avatar of Line Noise, and Imp of Call Waiting; the hideous multi-tendriled entity formed of all the manifold connections of the net. A sect of MUDders worships Shub-Internet, sacrificing objects and praying for good connections. To no avail - its purpose is malign and evil, and is the cause of all network slowdown. Often heard as in Freela casts a tac nuke at Shub-Internet for slowing her down. (A forged response often follows along the lines of: Shub-Internet gulps down the tac nuke and burps happily. ) Also cursed by users of FTP and telnet when the system slows down. The dread name of Shub-Internet is seldom spoken aloud, as it is said that repeating it three times will cause the being to wake, deep within its lair beneath the Pentagon.
[Jargon File]
(1994-11-04)

SHUG
Scottish Hypermedia Users' Group

Shugart, Alan F.
Alan F. Shugart

Shugart Associates
company The disk drive company, founded by Alan F. Shugart, which developed SCSI. Alan left Shugart Associates in 1974 [did he quit or was he fired?]. Shugart Associates was bought, and eventually shut down by Xerox.
(2000-02-09)

Shugart Technology
Seagate Technology

SI
1. unit Système International.
2. character Shift In.

si
networking The country code for Slovenia.
(1999-01-27)

SIA
Serial Interface Adaptor

SICL
Standard Instrument Control Library

SICS
Swedish Institute for Computer Science

SICStus Prolog
A Prolog from the SICS (Swedish Inst of Comp Sci).
E-mail: sicstus-request@sics.se . Mailing list: sicstus-users@sics.se.
(1995-01-05)

sidecar
1. Synonym slap on the side. Especially used of add-ons for the late and unlamented IBM PCjr.
2. The IBM PC compatibility box that could be bolted onto the side of an Amiga. Designed and produced by Commodore, it broke all of the company's own design rules. If it worked with any other peripherals, it was by magic.
[Jargon File]

side-effect
A language construct that modifies the state of the system. The most common side-effects are assignment, input and output. A language without side-effects is purely-functional - execution consists of the evaluation of an expression and all subexpressions are referentially transparent.
(1995-02-16)

Siemens
A German semiconductor and electronics manufacturer.
Home (http://www.siemens.de/)
[Summary?]
(1995-07-26)

Siemens Nixdorf Informationssteme, AG
company (SNI) A separate company within Siemens, the largest IT company in Europe. SNI sells the BS2000 operating system, a wide variety of databases, servers and other products.
(1997-06-13)

Sierra
company, games (Or Sierra On-Line ) A computer game developer founded in the early 1980s by Ken and Roberta Willams in the small mountain town of Oakhurst California. Sierra was named after the local mountian range, 15 miles from the famous Yosemite National Park.
In 1997 Sierra was purchased by CUC and its main office is now in Seattle, WA, USA.
Products include Kings Quest, Space Quest, Police Quest, Quest for Glory, Robin Hood, Phantasmagoria, Leisure Suit Larry, Eco Quest and many more.
Home (http://www.sierra.com /).
(1997-11-23)

SIFT
SHARE Internal Fortran Translator. Translation utility designed for converting Fortran II to Fortran IV. The word sift was often used as a verb to describe converting code from one language to another. Sammet 1969, p.153.

SIG
Special Interest Group

Sig
Signal Processing, Analysis, and Display program. An environment with an associated programming language by Jan Carter of Argonne National Lab. Telephone +1 (312) 972 7250.
[Jargon File]

sig
signature

sig block
/sig blok/ [Unix; often written .sig there]. See signature.
[Jargon File]

SIGBUS
bus error

SIGhyper
Special Interest Group on Hypertext and Multimedia of the SGML Users' Group.

SIGLA
robotics SIGma LAnguage. A language for industrial robots from Olivetti.
[ SIGLA: The Olivetti Sigma Robot Programming Language , M. Salmon, Proc 8th Intl Symp on Industrial Robots, 1978, pp. 358-363].

SIGMA
A scientific visual programming environment from NASA.
(http://fi-www.arc.nasa.gov/fia/projects/sigma/)

SIGNAL
language A synchronous language by Le Guernic et al of INRIA.
[ SIGNAL - A Data Flow-Oriented Language for Signal Processing, P. le Guernic, IEEE Trans Acoustics Speech Signal Proc, ASSP-34(2):362-1986-04-374].
(1996-12-10)

signal
operating system A predefined message sent between two Unix processes or from the kernel to a process. Signals communicate the occurrence of unexpected external events such as the forced termination of a process by the user. Each signal has a unique number associated with it and each process has a signal handler set for each signal. Signals can be sent using the kill system call.
(1996-12-10)

signalling rate
communications The number of times per second the amplitude, frequency or phase of the signal transmitted down a communications channel changes each second. The signalling rate is measured in baud.
(1998-02-14)

Signalling System 7
protocol (SS7) A protocol suite used for communication with, and control of, telephone central office switches and their attached processors.
(1995-03-01)

signal-to-noise ratio
1. communications (SNR, s/n ratio , s:n ratio ) Signal refers to useful information conveyed by some communications medium, and noise to anything else on that medium. The ratio of these is usually expressed logarithmically, in decibels.
2. networking The term is often applied to Usenet newsgroups though figures are never given. Here it is quite common to have more noise (inappropriate postings which contribute nothing) than signal (relevant, useful or interesting postings). The signal gets lost in the noise when it becomes too much effort to try to find interesting articles among all the crud. Posting noise is probably the worst breach of netiquette and is a waste of bandwidth.
[Jargon File]
(1996-01-29)

signature
1. A set of function symbols with arities.
2. messaging (Or sig) A few lines of information about the sender of an electronic mail message or news posting. Most Unix mail and news software will automagically append a signature from a file called .signature in the user's home directory to outgoing mail and news.
A signature should give your real name and your e-mail address since, though these appear in the headers of your messages, they may be munged by intervening software. It is currently (1994) hip to include the URL of your home page on the World-Wide Web in your sig.
The composition of one's sig can be quite an art form, including an ASCII logo or one's choice of witty sayings (see sig quote, fool file). However, large sigs are a waste of bandwidth, and it has been observed that the size of one's sig block is usually inversely proportional to one's prestige on the net.
See also doubled sig, sig virus.
2. programming A concept very similar to abstract base classes except that they have their own hierarchy and can be applied to compiled classes. Signatures provide a means of separating subtyping and inheritance. They are implemented in C++ as patches to GCC 2.5.2 by Gerald Baumgartner gb@cs.purdue.edu .
(ftp://ftp.cs.purdue.edu/pub/gb/)
(2001-01-05)

sig quote
messaging /sig kwoht/ A maxim, quote, proverb, joke, or slogan embedded in one's sig block (as used in Usenet news) and intended to convey something of one's philosophical stance, pet peeves, or sense of humour. Calm down, it's only ones and zeroes.
[Jargon File]
(1994-11-04)

sig virus
A parasitic meme embedded in a sig block. There was a meme plague or fad for these on Usenet in late 1991. Most were equivalents of I am a .sig virus. Please reproduce me in your .sig block. . Of course, the .sig virus's memetic hook is the giggle value of going along with the gag; this, however, was a self-limiting phenomenon as more and more people picked up on the idea. There were creative variants on it; some people stuck sig virus antibody texts in their sigs, and there was at least one instance of a sig virus eater.
[Jargon File]

SIL
1. SIL - A Simulation Language , N. Houbak, LNCS 426, Springer 1990.
2. SNOBOL Implementation Language. Intermediate language forming a virtual machine for the implementation of portable interpreters.
[ The Design of Transportable Interpreters , F. Druseikis, SNOBOL4 Project Document S4D49, U Arizona (Feb 1975)].
Version 3.11. (ftp://cs.arizona.edu/snobol4/). E-mail: snobol4@arizona.edu .
(1986-07-29)

Silage
Synchronous DSP specification language.
[ Silage Reference Manual, Draft 1.0 , D.R. Genin P.N. Hilfinger, Silvar-Lisco, Leuven 1989].

silicon
1. electronics The material used as the base (or substrate ) for most integrated circuits.
2. jargon Hardware, especially integrated circuits or microprocessor-based computer systems (compare iron).
Contrast: software. See also sandbender.
[Jargon File]
(1996-05-28)

silicon chip
integrated circuit

Silicon Graphics, Inc.
company (SGI) Manufacturer of workstations and software for graphics and image processing. SGI was founded by Dr. James H. Clark, who left some time before May 1994 to head Mosaic Communications Corporation.
Quarterly sales $433M, profits $44M (Aug 1994).
(http://www.sgi.com/)
(1994-09-26)

Siliwood
jargon (Or Hollywired ) The coming convergence of film, interactive TV and computers.
(1999-01-15)

silly walk
[Monty Python's Flying Circus] 1. A ridiculous procedure required to accomplish a task. Like grovel, but more random and humorous. I had to silly-walk through half the /usr directories to find the maps file.
2. Synonym fandango on core.
[Jargon File]

silo
The FIFO input-character buffer in an EIA-232 serial line card. So called from DEC terminology used on DH and DZ line cards for the VAX and PDP-11, presumably because it was a storage space for fungible stuff that went in at the top and came out at the bottom.

Silver Book
publication Jensen and Wirth's infamous Pascal User Manual and Report , so called because of the silver cover of the widely distributed Springer-Verlag second edition of 1978 (ISBN 0-387-90144-2).
See also book titles, Pascal.
[Jargon File]
(1996-12-03)

silver bullet
magic bullet

SIMAN
SIMulation ANalysis

SimCity
games Maxis Software's simulation game which lets you design and build your own city, which must be administered well if it is to thrive. Land must be zoned, transportation systems built, and police and fire protection provided. Once you've zoned some land, and provided electrical power, the simulation takes over, and simcitizens move in. If you perform your mayoral duties poorly, however, they will move out again. If you don't provide enough police, crime will rise and sims will vote with their feet. Try to save money on fire protection, and your city may burn to the ground. There is no predefined way to win the game, building the largest city you can is just one possible strategy.
SimCity runs on Archimedes, Amiga, Atari ST, IBM PC and Macintosh. There was also a NeWS version for Sun SPARC workstations running OpenWindows.
SimCity 2000 is an upgrade of SimCity.
(1995-06-11)

SimCity 2000
games An upgraded version of the game/simulation SimCity by Maxis Software. In the new version you can raise, lower and level terrain; build roads and railways at 45-degree angles; name things in your city by planting signs ; build raised highways, subways, and train and bus stations, schools, colleges, hospitals, electricity, water, recreational marinas and zoos.
There are three levels of zoom, and the view may be rotated to look at your city from any of the four directions. A query feature which will tell you the zoning, land value, etc. of any square. You get newspapers, advice from council members, graphs, and charts.
(1995-02-08)

SIMD
Single Instruction/Multiple Data

Similix
An autoprojector (self-applicable partial evaluator) for a higher order subset of the strict functional language Scheme. Similix handles programs with user defined primitive abstract data type operators which may process global variables (such as input/output operators).
Version 5.0.
Anders Bondorf anders@diku.dk
conformance: extension of large subset of R4RS Scheme.
requires: Scheme
ports: Scm, Chez Scheme
portability: high
E-mail: Anders Bondorf anders@diku.dk
(ftp://ftp.diku.dk/pub/diku/dists/Similix.tar.Z)
(1993/05/18)

SIML/I
Simulation language, descendant of ASPOL.
[ The Simulation Language SIML/I , M.H. MacDougall, Proc NCC 1979, pp. 39-44].

SIMM
Single in-line memory module

Simone
language A simulation language by A. Hoare et al. based on Pascal.
[ Quasiparallel Programming , W.H. Kaubisch et al, Soft Prac Exp 6:341-356 1976].
[C.A.R. Hoare?]
(1996-01-18)

Simonyi, Charles
Charles Simonyi

SIMPAC
Early simulation language with fixed time steps.
Simpac User's Manual , R.P. Bennett et al, TM-602/000/000, Sys Devel Corp, Apr 1962.

SIMPAS
Event scheduling language, implemented as Pascal preprocessor.
SIMPAS - A Simulation Language Based on Pascal , R.M. Bryant in Proc 1980 Winter Sim Conf, T.I Oren et al eds, pp.559-572.

SIMPL
Simulation language, descendant of OPS-4, compiled into PL/I on Multics.
The SIMPL Primer , M.W. Jones et al, Oct 1971.

SIMPLE
1. Early system on Datatron 200 series. Listed in CACM 2(5):16 (May 1959).
2. Simulation of Industrial Management Problems with Lots of Equations. R.K. Bennett, 1958. Predecessor to DYNAMO, for IBM 704.

Simple Authentication and Security Layer
(SASL)
(http://asg2.web.cmu.edu/sasl/).
[Summary?]
(2001-08-24)

Simple Gateway Control Protocol
communications, protocol (SGCP) An IETF work in progress, superseded by MGCP.
(1999-04-26)

Simple Mail Transfer Protocol
(SMTP) A protocol defined in STD 10, RFC 821, used to transfer electronic mail between computers, usually over Ethernet. It is a server to server protocol, so other protocols are used to access the messages. The SMTP dialog usually happens in the background under the control of the message transport system, e.g. sendmail but it is possible to interact with an SMTP server using telnet to connect to the normal SMTP port, 25. E.g.
telnet mhs-relay.ac.uk 25
You should normally start by identifying the local host:
HELO wombat.doc.ic.ac.uk
You can then issue commands to verify an address or expand an alias:
VRFY fred@doc.ic.ac.uk VRFY postmaster
or expand a mailing list:
EXPN c-help
You can even send a message:
MAIL From: fred@doc.ic.ac.uk RCPT To: fred@mailway.doc.ic.ac.uk DATA What is the point? . QUIT
This is useful if you want to find out exactly what is happening to your message at a certain point. See also Post Office Protocol, RFC 822, sendmail.
(1995-10-17)

simple multicast protocol
communications, protocol A proposed mulitcast protocol that would ease the requirements for IP Multicast, such as no longer mandating that routers be able to calculate the source of a multicast stream. This has not been adopted by the IETF.
(http://www.infoworld.com/cgi-bin/displayStory.pl?981125.whmulti.htm).
[Reference?]
(2001-07-02)

Simple Network Management Protocol
protocol (SNMP) The Internet standard protocol, defined in STD 15, RFC 1157, developed to manage nodes on an IP network. SNMP is not limited to TCP/IP. It can be used to manage and monitor all sorts of equipment including computers, routers, wiring hubs, toasters and jukeboxes.
See also Management Information Base, Simple Network Management Protocol version 2.
(1995-02-15)

Simple Network Management Protocol version 2
protocol (SNMP v2) A revision of Simple Network Management Protocol (not just a new MIB) which includes improvements in the areas of performance, security, confidentiality, and manager-to-manager communications.
The major components of SNMPv2 are defined in the following RFCs:
RFC 1089 - SNMP over Ethernet
RFC 1140 - IAB Official Protocol Standards
RFC 1155 - Structure and Identification of Management
Information for TCP/IP based internets
RFC 1156 (H) - Management Information Base Network
Management of TCP/IP based internets
RFC 1157 - A Simple Network Management Protocol
RFC 1158 - Management Information Base Network
Management of TCP/IP based internets: MIB-II
RFC 1161 (H) - SNMP over OSI
RFC 1187 - Bulk Table Retrieval with the SNMP
RFC 1212 - Concise MIB Definitions
RFC 1213 - Management Information Base for Network
Management of TCP/IP-based internets: MIB-II
RFC 1215 (I) - A Convention for Defining
Traps for use with the SNMP
RFC 1224 - Techniques for Managing
Asynchronously Generated Alerts
RFC 1270 (I) - SNMP Communication Services
RFC 1303 (I) - A Convention for Describing
SNMP-based Agents
RFC 1470 (I) - A Network Management Tool Catalog
RFC 1298 - SNMP over IPX
RFC 1418 - SNMP over OSI
RFC 1419 - SNMP over IPX
RFC 1441 - Introduction to SNMP v2
RFC 1442 - SMI For SNMP v2
RFC 1443 - Textual Conventions for SNMP v2
RFC 1444 - Conformance Statements for SNMP v2
RFC 1445 - Administrative Model for SNMP v2
RFC 1446 - Security Protocols for SNMP v2
RFC 1447 - Party MIB for SNMP v2
RFC 1448 - Protocol Operations for SNMP v2
RFC 1449 - Transport Mappings for SNMP v2
RFC 1450 - MIB for SNMP v2
RFC 1451 - Manager to Manger MIB
RFC 1452 - Coexistance between SNMP v1 and SNMP v2
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/usenet/snmp-faq).
Introduction (http://www.gt-er.cg.org.br/documentacao/buffer/gerencia/faq1.html).
Cisco (http://www.cisco.com/cpropub/univ-src/ccdcp/data/doc/software/11_1/mib/mover.htm).
(1997-12-02)

Simple Network Paging Protocol
protocol (SNPP) A standard for sending one- and two-way wireless messages to pagers. In its simplest form, SNPP provides a simple way to make a link between the Internet and a Telocator Alphanumeric input Protocol (TAP) paging terminal. SNPP is defined in RFC 1861.
(1997-04-25)

Simple Object Access Protocol
protocol (SOAP) A minimal set of conventions for invoking code using XML over HTTP.
DevelopMentor, Microsoft Corporation, and UserLand Software submitted SOAP to the IETF as an internal draft in December 1999.
Current version: SOAP 1.1 defined by World Wide Web Consortium.
(http://www.w3.org/TR/SOAP/).
(2000-01-08)

simplex
1. communications Used to describe a communications channel that can only ever carry a signal in one direction, like a one-way street. Television is an example of (broadcast) simplex communication.
Opposite: duplex.
2. The simplex method.
(2001-07-21)

simplex method
algorithm An algorithm for solving numerical constraints.
[Details?]
(2000-04-02)

simplex printer
communications A term applied by Western Union Telegraph Company to teletypewriters that are not part of a multiplex system. They usually provided for alternate transmission in both directions. If working simplex or half-duplex, what was keyed in at the keyboard would be typed out at the printing portion. If working full-duplex, sending would be blind as the printing portion was being used only for reception.
(2000-04-02)

SIMPL/I
A simulation language implemented as a PL/I preprocessor.
[ SIMPL/I (Simulation Language Based on PL/I). Program Reference Manual , IBM SH19- 5060-0 (June 1972)].
(1994-12-07)

Simplified Multicast Routing Protocol
communications, protocol (SMRP) A transport-layer protocol to route multimedia data streams over AppleTalk networks. SMRP supports Apple's QuickTime Conferencing (QTC).
Documentation (http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/smrp.htm).
(2001-07-02)

SIMPL-T
The base language for a family of languages and compilers.
[ SIMPL-T, A Structured Programming Language , V.R. Basili, Paladin House 1976].
(1994-12-07)

SIMSCRIPT
A free-form, English-like general-purpose simulation language produced by Harry Markowitz et al of Rand Corp in 1963. It was implemented as a Fortran preprocessor on IBM 7090 and was designed for large discrete simulations. It influenced Simula. Later versions included SIMSCRIPT I.5 and SIMSCRIPT II.5.

SIMSCRIPT I.5
A version of SIMSCRIPT developed at CACI in 1965. It produced assembly language.

SIMSCRIPT II.5
Another version of SIMSCRIPT from CACI.
[ SIMSCRIPT: A Simulation Programming Language , P.J. Kiviat et al, CACI, 1973].

simship
simultaneous shipment

SIMULA
language SIMUlation LAnguage.
See Lund Simula, SIMULA 67, SIMULA I. See also Association for SIMULA Users, C++SIM, FLEX, MODSIM, SIMSCRIPT.
A simula-to-C compiler project is underway. E-mail: Harald Thingelstad harald.thingelstad@basalmed.uio.no .
Usenet newsgroup: news:bit.listserv.simula.
(1995-03-29)

SIMULA 67
language A version of SIMULA I?
Association for SIMULA Users
Simula a.s., Postboks 4403 - Torshov, N-0402 Oslo 4, Norway, versions for almost every computer.
E-mail: Henry Islo hio@helios.sunet.se .
(ftp:/lund.se:/mac/misc/simula/), (ftp://ftp.fenk.wau.nl/pub/simula/compilers), (ftp://ftp.ifi.uio.no/cim/).
[ Object-Oriented Programming with SIMULA , Bjorn Kirkerud, A-W 1989].
[ Data Processing - Programming Languages - SIMULA , Swedish Standard SS 63 61 14 (1987), available through ANSI].
[Difference from SIMULA I?]
(1995-03-29)

SIMULA I
language SIMUlation LAnguage.
An extension to ALGOL 60 for the Univac 1107 designed in 1962 by Kristen Nygaard and Ole-Johan Dahl and implemented in 1964. SIMULA I was designed for discrete simulation. It introduced the record class, leading the way to data abstraction and object-oriented programming languages like Smalltalk. It also featured coroutines.
SIMULA's philosophy was the result of addressing the problems of describing complex systems for the purpose of simulating them. This philosophy proved to be applicable for describing complex systems generally (not just for simulation) and so SIMULA is a general-purpose object-oriented application programming language which also has very good discrete event simulation capability. Virtually all OOP products are derived in some manner from SIMULA.
For a description of the evolution of SIMULA and therefore the fundamental concepts of OOP, see Dahl and Nygaard in [ History of Programming Languages . Ed. R. W. Wexelblat. Addison-Wesley, 1981].
(1995-03-29)

simulated annealing
A technique which can be applied to any minimisation or learning process based on successive update steps (either random or deterministic) where the update step length is proportional to an arbitrarily set parameter which can play the role of a temperature. Then, in analogy with the annealing of metals, the temperature is made high in the early stages of the process for faster minimisation or learning, then is reduced for greater stability.

Simulating Digital Systems
Fortran-like language for describing computer logic design. Sammet 1969, p.622.

simulation
Attempting to predict aspects of the behaviour of some system by creating an approximate (mathematical) model of it. This can be done by physical modelling, by writing a special-purpose computer program or using a more general simulation package, probably still aimed at a particular kind of simulation (e.g. structural engineering, fluid flow). Typical examples are aircraft flight simlators or electronic circuit simulators. A great many simulation languages exist, e.g. Simula.
See also emulation, Markov chain.
Usenet newsgroup: news:comp.simulation.
(1995-02-23)

SIMulation ANalysis
language, simulation (SIMAN) A simulation language, especially for manufacturing systems, developed by C. Dennis Pegden in 1983.
[ Introduction to Simulation using SIMAN , C.D. Pegden et al, McGraw-Hill 1990].
(1999-01-13)

Simulation Language for Alternative Modeling
language (SLAM) A simulation language descended from GASP. Implemented as a Fortran preprocessor.

Simulation Oriented Language
language (SOL) An ALGOL extension for discrete simulation by Donald Knuth and McNeley.
[ SOL - A Symbolic Language for General Purpose System Simulation , D.E. Knuth et al, IEEE Trans Elec Comp, EC-13(4):401-408 (Aug 1964)].
[Sammet 1969, p. 656].
(1995-07-26)

Simultaneous Engineering Environment
(SEE) A CAE framework from DAZIX.
(1994-11-03)

Simultaneous Peripheral Operation On-Line
operating system, history (SPOOL) Accessing peripheral devices with the help of an off-line tape drive. The term was derived by IBM for use with the IBM 360 operating systems.
In the early days of computing (early 1960s), before multitasking was invented, computers (e.g. IBM 704) could run only one job at a time. As peripheral devices such as printers or card readers were much slower than the CPU, devoting the computer (the only computer in many cases) to controlling such devices was impractical.
To free the CPU for useful work, the output was sent to a magnetic tape drive, which was much faster than a printer and much cheaper than a computer. After the job was finished the tape was removed from the tape drive attached to the computer and mounted on a tape drive connected to a printer (such as the IBM 1403). The printer could then print the data without holding up the computer. Similarly, instead of inputting the program from the card reader it was first copied to a tape and the tape was read by the computer.
(1999-01-12)

simultaneous shipment
programming (simship) The release of international, localised versions of software at the same time, or within a short period of time of the original release.
Major software publishers can release as many as 30 different localised versions within a month or two of the original version. These products may have thousands of pages of documentation.
(1999-06-09)

Simware, Inc.
company The producers of REXXWARE.
E-mail: rexxware@simware.com .
Address: Ottawa, Canada.
(1995-01-11)

SINA
[ An Implementation of the Object-Oriented Concurrent Programming Language SINA , A. Tripathi et al, Soft Prac Exp 19(3):235-256 (1989)].

since time T equals minus infinity
A long time ago; for as long as anyone can remember; at the time that some particular frob was first designed. Usually the word time is omitted. See also time T; contrast epoch.
[Jargon File]

Sinclair, Clive
Clive Sinclair

Sinclair PC200
computer
(http://www.nonowt.demon.co.uk/magfold/articfol/the_miss.htm).
[Summary?]
1998-07-28

Sinclair Radionics
Sinclair Research

Sinclair Research
company A British microelectronics developer and manufacturer. Evolving from Sinclair Radionics in 1979, Sinclair Research was owned by Sir Clive Sinclair. Sinclair Radionics produced electronic components and devices (such as calculators and pocket radios and televisions), but Sinclair Research began by producing some of the first 8-bit home microcomputers.
Sinclair produced five microcomputers from 1980 to 1987, all based on the Zilog Z80 microprocessor (except for the QL, which used the Motorola 68008 - a variant on the 68000). The 1K kit-build ZX80, introduced in 1980, was followed by the 1K ZX81 (expandable to 16K) in 1981, the 16K (expandable to 48K) ZX Spectrum in 1982 (then superseded by two distinct 48K models and a 128K model in 1986) and the QL (Quantum Leap) in 1984. A portable laptop computer, the Z88, was released in 1987 under the Cambridge Computers banner.
Of them all, the ZX Spectrum was the best known, and it went on to become the most popular microcomputer of its time in the United Kingdom and in many other territories. This was partly due to its ease of use, and also due to its enormous software catalogue, covering games, word processing, music, programming and graphics. Glorious mine's-better-than-yours battles were fought (and still are today) between owners of Spectrums and Commodore 64s over who had the best machine.
Sir Clive's financial problems in the mid-80s led him to sell the rights to the Sinclair brand to Amstrad in April 1986. This led to further models of the Spectrum being released from 1986 to 1988 and also an IBM PC-compatible based internally on Amstrad's own PC range. Sir Clive was not involved with the production of these computers, and no computer with the Sinclair name has been produced since.
Home (http://www.sinclair-research.co.uk/). Planet Sinclair (http://www.nvg.ntnu.no/sinclair/). comp.sys.sinclair FAQ (http://www.kendalls.demon.co.uk/cssfaq/).
(1998-12-09)

sine wave
mathematics A waveform of a single constant frequency and amplitude that continues for all time.
Compare wavelet.
(1994-11-09)

single assignment
If a variable is only assigned a value once then an instance of that variable is thereafter semantically equivalent to the value. Thus a single assignment language is a functional language.
See also zero assignment.

Single ASsignment Language
language (SASL) A functional programming language designed by Professor David Turner in 1976. SASL is a derivative of ISWIM with infinite data structures. It is fully lazy but weakly typed. It was designed for teaching functional programming, with very simple syntax.
Example syntax:
def fac n =
n = 0 - 1 ; n x fac(n-1)
A version of the expert system EMYCIN has been written in SASL.
Not to be confused with SISAL.
(ftp://a.cs.uiuc.edu/uiuc/kamin.distr/distr/sasl.p). See also Kamin's interpreters.
[ A New Implementation Technique for Applicative Languages , D.A. Turner, Soft Prac Exp 8:31-49 (1979)].
[Is Saint Andrews Static Language the same thing?]
(2001-08-24)

single-attached
Connected to only one of the two rings of an FDDI network. This is the kind of connection normally used for a host computer, as opposed to routers and concentrators which are normally dual-attached .
(1994-12-13)

Single Connection Attach
hardware (SCA, Single Connector Attachment ) A non-standard type of SCSI connector, used mostly by OEMs, which carries both power and data on one 80-pin connector. SCA SCSI drives tend to be cheaper but use with standard SCSI cables requires an adaptor and external termination.
(http://www.pcmech.com/sca-scsi.htm).
(1999-02-16)

Single Connector Attachment
Single Connection Attach

Single Data Rate Random Access Memory
storage (SDR-RAM, SDR-SDRAM, Single Data Rate Synchronous Dynamic Random Access Memory) RAM or SDRAM that transfers data on only one clock transition (0-1 or 1-0), in contrast to DDR-RAM.
(2001-05-24)

Single Data Rate Synchronous Dynamic Random Access Memory
Single Data Rate Random Access Memory

Single Document Interface
programming (SDI) A limitation applying to an application program that only shows a single windows giving a view of one document at a time.
The opposite is Multiple Document Interface (MDI).
(1999-03-30)

single-duplex
communications (From telegraphy) A full-duplex link with one telegrapher at each end, transmitting alternately in each direction.
(2000-03-30)

Single Edge Contact
hardware (SEC) The type of cartridge in which a Pentium II is packaged.
[Other uses?]
(1999-02-15)

Single Edge Contact Cartridge
hardware (SEC, SECC) The cased daughterboard housing Intel's Pentium II, Pentium III, and Xeon microprocessors.
A SECC fits into a Slot 1 or Slot 2 connector.
[SECC 2?]
(1999-08-05)

Single Edge Processor Package
hardware (SEPP) The caseless daughterboard containing Intel's Celeron processor. A SEPP fits into a Slot 1 connector.
(1999-08-04)

single-electron transistor
quantum dot

Single Electron Tunneling
electronics (SET) A New electrical standard for capacitance.
SET devices can be used to construct circuits which process information by manipulating individual electrons. SET devices are small, dissipate little power, and can detect exquisitely small quantities of charge. The small size and low power dissipation of SET circuits makes them potentially useful for the Information Technology industry.
(1999-01-06)

Single Electron Tunneling Technology
hardware A neural network hardware concept based on single electron tunneling. Single electron tunneling transistors have some properties which make them attractive for neural networks, among which their small size, low power consumption and potentially high speed.
Simulations have been performed on some small circuits of SET transistors that exhibit functional properties similar to those required for neural networks.
(http://www.computer.org/conferen/proceed/mn96/ABSTRACT.HTM#125).
[Proceedings of the Fifth International Conference on Microelectronics for Neural Networks and Fuzzy Systems (MicroNeuro '96). Martijn J. Goossens, Chris J.M. Verhoeven, and Arthur H.M. van Roermund].
(1999-01-06)

single ended
hardware An electrical connection where one wire carries the signal and another wire or shield is connected to electrical ground. This is in contrast to a differential connection where the second wire carries an inverted signal.

Single Image Random Dot Stereogram
graphics (SIRDS, originally autostereogram ) A stereogram composed of (coloured) dots which when viewed correctly appears three-dimensional. SIRDs were invented by Dr. Christoper Tyler, Associate Director of the Smith-Kettlewell Eye Research Institute in San Francisco (1999).
FAQ (http://www.cs.waikato.ac.nz/~singlis/sirds.html). Nice pictures (http://www.eleves.ens.fr:8080/home/massimin/index.ang.html). Picture Gallery (http://h2.ph.man.ac.uk/gareth/sirds.html). Vern Hart's SIRDS Gallery (http://www.vern.com/). SGI Gallery (http://www.sgi.com/free/gallery.html).
(1996-11-06)

single inheritance
The property of an object-oriented language which restricts a sub-class to be derived from only one parent. Opposite of multiple inheritance.

Single In-line Memory Module
storage (SIMM) A small circuit board or substrate, typically about 10cm x 2cm, with RAM integrated circuits or die on one or both sides and a single row of pins along one long edge. Several SIMMs are mounted with their substrates at right-angles to the main circuit board (the motherboard). This configuration allows greater packing density than direct mounting of, e.g. DIL (dual in-line) RAM packages on the motherboard. In 1993 one SIMM typically held one or four megabytes, by early 1997 one could hold 8, 16, or 32 MB.
(1997-01-05)

Single Inline Pin Package
hardware (SIPP) An integrated circuit package with a single line of pins.
Compare Dual Inline Package, Single In-line Memory Module.
(1995-03-01)

Single Instruction Multiple Data
Single Instruction/Multiple Data

Single Instruction/Multiple Data
(SIMD) (Or data parallel ) The classification under Flynn's taxonomy for a parallel processor where many processing elements (functional units) perform the same operations on different data. There is often a central controller which broadcasts the instruction stream to all the processing elements.
Contrast Multiple Instruction/Multiple Data.
(1994-11-04)

Single-line Digital Subscriber Line
communications, protocol (SDSL, or Single-pair High Speed Digital Subscriber Line, S-HDSL) A form of Digital Subscriber Line similar to HDSL but providing T1 or E1 connections over a single twisted-pair copper line.
(1998-05-18)

Single-pair High Speed Digital Subscriber Line
Single-line Digital Subscriber Line

single program/multiple data
parallel, architecture (SPMD) A kind of parallel processing where the same program is run on multiple processors. Every instance of the program knows which part of the computation it should perform and the results of the computation are combined somehow.
(2002-04-21)

single quote
character ' ASCII character 39.
Common names include single quote; quote; ITU-T: apostrophe. Rare: prime; glitch; tick; irk; pop; INTERCAL: spark; ITU-T: closing single quotation mark; ITU-T: acute accent.
Single quote is used in C and derived languages to introduce a single character literal value which is represented internally by its ASCII code. In the Unix shells and Perl single quote is used to delimit strings in which variable substitution is not performed (in contrast to double-quote-delimited strings).
Single quote is often used in text for both open and close single quotation mark and apostrophe. Typesetters use two different symbols - open has a tail going up, close and apostrophe have tails hanging down (like a raised comma). Some people use back quote (`) for open single quotation mark.
(1998-04-04)

single sourcing
publication Using a single original document set to generate dead tree and on-line documentation, and usually also on-line help. In practice, it most often refers to a FrameMaker file set with conditional text which, when the conditions are set appropriately, allows you to create variants of the original document (e.g., for a product that runs on different Unix platforms) as well as for different media -- typically task-oriented on-line help to be accessed under Microsoft Windows or from a web browser, linear printed document, and HTML delivered via the WWW and/or CD-ROM.

singleton variable
programming A variable which is only referred to once in a piece of code, probably because of a programming mistake. To be useful, a variable must be set and read from, in that order. If it is only referred to once then it cannot be both set and read.
There are various exceptions. C-like assignment operators, e.g. x += y , read and set x and return its new value (they are abbreviations for x = x+y , etc). A function argument may be passed only for the sake of uniformity or to support future enhancements. A good compiler or a syntax checker like lint should report singleton variables but also allow specific instances to be marked as deliberate by the programmer.
(1997-12-20)

Single Virtual Storage
OS/VS2

siod
language (Scheme In One Defun or Scheme In One Day) A small Scheme implementation in C by George Carrette gjc@world.std.com , gjc@mitech.com . SIOD is arranged as a set of subroutines that can be called from any main program for the purpose of introducing an interpreted extension language. It compiles to 20 kbytes of executable (VAX/VMS). Lisp calls C and C calls Lisp transparently.
SIOD supports symbols, strings, arrays, hash coding, file i/o (binary, text, seek), data save/restore in binary and text, interface to commercial databases such Oracle and Digital RDB.
Version 3.0 runs on VAX/VMS,Unix, Sun-3, Sun-4, Amiga, Macintosh, MIPS, Cray, ALPHA/VMS, Windows NT and OS/2. It can be compiled by most ANSI C compilers and C++ compilers, e.g. gcc -Wall.
(ftp://world.std.com/pub/gjc/), (ftp://world.std.com/src/lisp/).
Usenet newsgroup: news:comp.lang.scheme.
(1994-02-18)

SIP
Session Initiation Protocol

SIPB
Student Information Processing Board, MIT.
(http://www.mit.edu:8001/afs/athena.mit.edu/user/r/e/rei/WWW/GAME/sipbroom.html)

SIPLAN
SIte PLANning computer language. Interactive language for space planning. Formal Languages for Site Planning , C.I. Yessios in Spatial Synthesis for Computer-Aided Design, C. Eastman ed, Applied Science Publ 1976.

SIPP
Single Inline Pin Package

Siprol
Signal Processing Language. A DSP language.
[ SIPROL: A High Level Language for Digital Signal Processing , H. Gethoffer, Proc ICASSP-80, 1980, pp.1056-1059].

SIR
1. language An early system on the IBM 650.
[Listed in CACM 2(5):16, May 1959].
2. standard Serial Infrared. An infrared standard from IrDA, part of IrDA Data. SIR supports asynchronous communications at 9600 bps - 115.2 Kbps, at a distance of up to 1 metre.
[Reference?]
(1999-10-14)

SIRDS
Single Image Random Dot Stereogram

Siri
An object-oriented constraint language using a single abstraction mechanism developed by Bruce Horn of CMU in 1991. Siri is a conceptual blend of BETA and Bertrand. It is similar to Kaleidoscope.
[ Constraint Patterns as a Basis for Object-Oriented Constraint Programming , B. Horn, OOPSLA '92 (Sept 1992)].
(1994-11-04)

SIRTS
Single Image Random Text Stereogram. (Or ASCII stereogram).

SISAL
Streams and Iteration in a Single Assignment Language.
A general-purpose single assignment functional programming language with strict semantics, automatic parallelisation and efficient arrays. Outputs a dataflow graph in IF1 (Intermediary Form 1). Derived from VAL, adds recursion and finite streams. Pascal-like syntax. Designed to be a common high-level language for numerical programs on a variety of multiprocessors.
Implementations exist for Cray X-MP, Cray Y-MP, Cray-2, Sequent, Encore Alliant, dataflow architectures, transputers and systolic arrays.
Defined in 1983 by James McGraw et al, Manchester University, Lawrence Livermore National Laboratory, Colorado State University and DEC. Revised in 1985. First compiled implementation in 1986. Performance superior to C and competitive with Fortran, combined with efficient and automatic parallelisation.
Not to be confused with SASL.
E-mail: John Feo feo@llnl.gov , Rod Oldehoeft rro@cs.colostate.edu .
David C. Cann has written an Optimising SISAL Compiler (ftp://sisal.llnl.gov/pub/sisal) (OSC) which attempts to make efficient use of parallel processors such as Crays.
Latest version: 12.0, SISAL 1.2.
[ A Report on the SISAL Language Project , J.T. Feo et al, J Parallel and Distrib Computing 10(4):349-366 (Dec 1990)].
(2000-07-07)

sit
Stuffit

SITBOL
language A SNOBOL4 interpreter for the PDP-10.
[ SITBOL Version 3.0 , J.F. Gimpel, TRS4D30b, Bell Labs, 1973].
(1997-09-14)

sitename
hostname

sj
networking The country code for Svalbard and Jan Mayen Islands.
(1999-01-27)

sk
networking The country code for Slovakia.
(1999-01-27)

Skel-ML
A parallel variant of ML using skeletons being developed (April 1994) as part of Tore Bratvold's PhD in the Department of Computing and Electronic Engineering, Heriot-Watt University, Edinburgh, UK. Programs are written in a subset of Standard ML, and parallelism is extracted from the use of certain higher-order functions. The SkelML compiler uses profiling information together with skeleton performance models to distinguish useful from non-useful parallelism. An important feature is the ability to perform transformations between skeletons to improve performance. Skeletons currently supported are map, filter, fold, pipe (implicitly extracted from function application) and various combinations of these.
See also paraML.
E-mail: Tore A Bratvold tore@cee.hw.ac.uk .

Sketchpad
A program that allowed users to draw on a screen with a light pen. It supported constraints (e.g. drawing a constrained ellipse produced a circle). It also had some computer aided design features (e.g. computing loads on beams).
Sketchpad was the subject of Ivan E. Sutherland's 1963 MIT PhD thesis, which opened the field of computer graphics. It was the progenitor of computer drawing packages like MacDraw or Adobe Illustrator. There is a film of Sketchpad in action.
It solved constraints using value inference and introduced the ring list structure.
[ Sketchpad: A Man-Machine Graphical Communication System , I.e. Sutherland, MIT Lincoln Lab, TR 296 (Jan 1963)].
[Sammet 1969, p. 678].
(1995-02-14)

S/Key
One-Time Password

Skill
A somewhat peculiar blend between Franz-Lisp and C, with a large set of various CAD primitives. It is owned by Cadence Design Systems and has been used in their CAD frameworks since 1985. It's an extension language to the CAD framework (in the same way that Emacs-Lisp extends GNU Emacs), enabling you to automate virtually everything that you can do manually in for example the graphic editor. Skill accepts C-syntax, fun(a b), as well as Lisp syntax, (fun a b), but most users (including Cadence themselves) use the C-style.
[Jonas Jarnestrom etxjojm@eua.ericsson.se ].
(1995-02-14)

Skim
language A Scheme implementation with packages and other enhancements, by Alain Deutsch et al, France.
(2000-11-02)

SkipJack
cryptography An encryption algorithm created by the NSA (National Security Agency) which encrypts 64-bit blocks of data with an 80-bit key. It is used in the Clipper chip, a VLSI device with an ARM processor core, which is intended to perform cryptographic operations while allowing the security agencies listen in.
There are (apparently) two agencies, both of whom have to agree that there is a valid reason to decode a message. Don't laugh, they are serious.
[Algorithm?]
(1995-12-07)

SKOL
Fortran pre-processor for COS (Cray Operating System).

skolemisation
A means of removing quantifiers from first order logic formulas.
[Details?]

S-K reduction machine
An abstract machine defined by Professor David Turner to evaluate combinator expressions represented as binary graphs. Named after the two basic combinators, S and K.

skrog
scrog

SKsh
Steve Koren/Korn shell. A Unix ksh-like shell which runs under AmigaDos by Steve Koren koren@hpfcogv.fc.hp.com . SKsh provides a Unix-like environment but supports many AmigaDos features such as resident commands and ARexx. Scripts can be written to run under either ksh or SKsh and many of the useful Unix commands such as xargs, grep and find are provided.
Current version: 2.1.
(ftp://hubcap.clemson.edu/pub/amiga/incom*/utils/SKsh021.lzh)
(1992-12-16)

SKU
stock-keeping unit

skulker
prowler

SL
processor Features of some Intel processors, including the Pentium, for reducing power consumption. These features operate at two levels: the microprocessor and the system. The processor can enter a low power state during non-processor intensive tasks (such as word processing), or a very low-power state when the computer is not in use ( sleep mode). At the system level, system management mode can slow down, suspend, or completely shut down various system components to save energy.
(1995-05-06)

sl
networking The country code for Sierra Leone.
(1999-01-27)

SL5
String and list processing language with expression-oriented syntax. Coroutines.
[ An Overview of SL5 , Ralph E. Griswold, SIGPLAN Notices 12(4):40-50 (Apr 1977)].

slack
1. operating system Internal fragmentation. Space allocated to a disk file but not actually used to store useful information.
2. jargon In the theology of the Church of the SubGenius, a mystical substance or quality that is the prerequisite of all human happiness.
Since Unix files are stored compactly, except for the unavoidable wastage in the last block or fragment, it might be said that Unix has no slack .
See ha ha only serious.
[Jargon File]
(1995-03-01)

slackware
operating system A distribution of the Linux operating system by Patrick Volkerding volkerdi@mhd1.moorhead.msus.edu , volkerdi@ftp.cdrom.com .
cdrom.com (ftp://ftp.cdrom.com/pub/linux/)
FAQ (ftp://sunsite.unc.edu/pub/Linux/distributions/slackware/SLAKWARE.FAQ)
Sunsite Linux archives (http://sunsite.unc.edu/pub/Linux/distributions/slackware/).
Sunsite mirrors (http://sunsite.unc.edu/pub/Linux/MIRRORS.html).
(1995-03-01)

SLAM
1. language Simulation Language for Alternative Modeling.
2. A continuous simulation language.
[ SLAM - A New Continuous Simulation Language , N.A. Wallington et al, in SCS Simulation Council Proc Series: Toward Real-Time Simulation (Languages, Models and Systems), R.E. Crosbie et al eds, 6(1):85-89 (Dec 1976)].
(1995-03-03)

SLANG
1. R.A. Sibley. CACM 4(1):75-84 (Jan 1961).
2. Set LANGuage. Jastrzebowski, ca 1990. C extension with set-theoretic data types and garbage collection. The SLANG Programming Language Reference Manual, Version 3.3 , W. Jastrzebowski wojtek@loml.math.yale.edu , 1990.
3. Structured LANGuage. Michael Kessler, IBM. A language based on structured programming macros for IBM 370 assembly language. Project RMAG: SLANG (Structured Language) Compiler , R.A. Magnuson, NIH-DCRT-DMB-SSS-UG105, NIH, DHEW, Bethesda, MD 20205 (1980).
4. SLANG: A Problem Solving Language for Continuous-Model Simulation and Optimisation , J.M. Thames, Proc 24th ACM Natl Conf 1969.

S-Lang
language A small but highly functional embedded interpreter. S-Lang was a stack-based postfix language resembling Forth and BC/DC with limited support for infix notation. Now it has a C-like infix syntax. Arrays, stings, integers, floating-point and autoloading are all suported. The editor JED embeds S-lang.
S-Lang is available under the GNU Library General Public License. It runs on MS-DOS, Unix, and VMS.
Latest version: 0.94, as of 1993-06-12.
(ftp://amy.tch.harvard.edu/)
E-mail: John E. Davis davis@tch.harvard.edu .
(2000-10-30)

slap on the side
(Also called a sidecar, or abbreviated SOTS ). A type of external expansion hardware marketed by computer manufacturers (e.g. Commodore for the Amiga 500/1000 series and IBM for the hideous failure called IBM PCjr). Various SOTS boxes provided necessities such as memory, hard drive controllers, and conventional expansion slots.
[Jargon File]

slash
oblique stroke

slashdot effect
jargon An effect where a document on a WWW server is linked to from another, popular, site, with the resultant traffic overloading the server so that a connection cannot be made to it. This is especially likely if the server is running Microsoft IIS.
The term was coined by readers of the Unix advocacy web site slashdot.org (http://slashdot.org/)
(1998-10-24)

slave tty
(/dev/ttyp*) The half of a pseudo-tty which programs (e.g. getty) read from and write to as though it was an ordinary serial line.

SLD resolution
Linear resolution with a selection function for definite sentences. A definite sentence has exactly one positive literal in each clause and this literal is selected to be resolved upon, i.e. replaced in the goal clause by the conjunction of negative literals which form the body of the clause.
(1995-06-03)

sleep
1. operating system, multitasking (Or block ) When a process on a multitasking system asks the scheduler to deactivate it until some given external event (e.g. an interrupt or a specified time delay) occurs.
The alternative is to poll or busy wait for the event but this uses processing power.
Also used in the phrase sleep on (or block on ) some external event, meaning to wait for it.
E.g. the Unix command of the same name which pauses the current process for a given number of seconds.
2. hardware To go into partial deactivation to save power.
[Jargon File]
(2000-09-25)

SLIB
Scheme Library

SLIM
A VLSI language for translating DFA's into circuits. J.L. Hennessy, SLIM: A Simulation and Implementation Language for VLSI Microcode , Lambda, Apr 1981, pp.20-28.
[Jargon File]

slim
A small, derivative change (e.g. to code).

Slingshot
networking, business, tool, product, protocol A real time financial server for the Internet.
Slingshot allows the delivery of real time market data across the Internet and private intranets quickly, cheaply and securely. The first beta-test version was released free to the Internet on 6 August 1996. Slingshot allows any financial institution, regardless of size, to publish their rates and associated information to a global audience using standard Internet protocols and software. The real-time data can be seamlessly integrated into any standard World-Wide Web application and thus combined with static text, database queries and even audio and video objects, to create services.
The Slingshot protocol enables the delivery of other forms of real time data over the Internet, thus making Slingshot useful in industries as varied as manufacturing, betting, telemetry, weather, transport and medicine.
Home (http://www.slingshot.ie).
E-mail: John Slattery jslatter@quay.ie .
(1997-05-19)

SLIP
1. Serial Line Internet Protocol.
2. Symmetric LIst Processsor. Early 1960's list processing subroutine package for Fortran by J. Weizenbaum. Later also embedded in MAD and ALGOL. [ Symmetric List Processor , J. Weizenbaum CACM 6:524-544(1963). Sammet 1969, p.387].

SlipKnot
A graphical World-Wide Web browser specifically designed for Microsoft Windows users who have Unix shell accounts with their service providers. Its primary feature is that it does not require SLIP or PPP or TCP/IP services. SlipKnot is distributed as restricted shareware, with a registration fee of $29.95 ($20 for individual users outside North America, Europe and Japan).
Version: 1.0.
(http://www.interport.net/slipknot/slipknot.html)
E-mail: slipknot@micromind.com .
(1994-12-01)

SLIPS
An Interpreter for SLIPS - An Applicative Language Based on Lambda-Calculus , V. Gehot et al, Comp Langs 11(1):1-14 (1986).

SLiRP
networking, tool A SLIP emulator by Danny Gasparovski, faster than TIA.
Version: 0.95H 12 Sep 95.
Home (http://www.webcom.com/~llarrow/slirp.html)
(1995-09-15)

SLLIC
language An intermediate language developed at HP. An infinite-register version of the Precision Architecture instruction set?
(1995-05-28)

slog
Schelog

Sloop
Parallel Programming in a Virtual Object Space , S. Lucco, SIGPLAN Notices 22(12):26-34 (OOPSLA '87) (Dec 1987).

slop
jargon 1. A one-sided fudge factor, that is, an allowance for error but in only one of two directions. For example, if you need a piece of wire 10 feet long and have to guess when you cut it, you make very sure to cut it too long, by a large amount if necessary, rather than too short by even a little bit, because you can always cut off the slop but you can't paste it back on again. When discrete quantities are involved, slop is often introduced to avoid the possibility of being on the losing side of a fencepost error.
2. The percentage of extra code generated by a compiler over the size of equivalent assembly code produced by hand-hacking; i.e. the space (or maybe time) you lose because you didn't do it yourself. This number is often used as a measure of the quality of a compiler; slop below 5% is very good, and 10% is usually acceptable. Modern compilers, especially on RISCs, may actually have *negative* slop; that is, they may generate better code than humans. This is one of the reasons assembler programming is becoming less common.
[Jargon File]
(1995-05-28)

slopsucker
/slop'suhk-r/ A lowest-priority task that waits around until everything else has had its fill of machine resources. Only when the machine would otherwise be idle is the task allowed to suck up the slop . Also called a hungry puppy or bottom feeder . One common variety of slopsucker hunts for large prime numbers. Compare background.
[Jargon File]

Slot 1
hardware, standard The physical and electrical specification for the connector used by some of Intel's microprocessor cards, currently (August 1999) the SEPP Celeron and the SECC Pentium II.
Slot 1 is a departure from the square ZIF PGA/SPGA sockets used by Pentium and earlier processors, the processor being mounted on a card, with a 242-lead edge-connector.
The Slot 1 specification allows for higher bus rates than Socket 7. Slot 1 motherboards use the GTL+ bus protocol.
See also Slot 2, Slot A.
[bus rates?]
(1999-08-04)

Slot 2
hardware, standard A physical and electrical specification for the 330-lead edge-connector used by some of Intel's microprocessor cards, currently (August 1999) the SECC Pentium III/Xeon.
Slot 2 is intended for use in high end multi-processor workstations and servers.
See also Slot A, Slot 1.
[Multi processor support?]
(1999-08-04)

Slot A
hardware The physical and electrical specification for the edge-connector used by AMD's Athlon processor.
The connector allows for a higher bus rate than Socket 7 or Super 7. Slot A motherboards use Compaq's EV6 bus protocol. Slot A is mechanically compatible but electrically incompatible with Intel's Slot 1.
(1999-08-05)

slurp
To read a large data file entirely into core before working on it. This may be contrasted with the strategy of reading a small piece at a time, processing it, and then reading the next piece. This program slurps in a 1K-by-1K matrix and does an FFT. See also sponge.
[Jargon File]

sm
networking The country code for San Marino.
(1999-01-27)

smail
snail-mail

SMALGOL
SMall ALGOL.
A subset of ALGOL 60.
[ SMALGOL-61 , G.A. Bachelor et al CACM 4(11):499-502 (Nov 1961)].
[Sammet 1969].
(1995-01-31)

SMALL
1. Functional, lazy, untyped.
[ SMALL - A Small Interactive Functional System , L. Augustsson, TR 28, U Goteborg and Chalmers U, 1986].
2. A toy language used to illustrate denotational semantics.
[ The Denotational Description of Programming Languages , M.J.C. Gordon, Springer 1979].

Small-C
A subset of C. The original compiler, written in C by Ron Cain, appeared in Dr. Dobb's Journal. James E. Hendrix improved and extended the original compiler and published The Small-C Handbook . Both these compilers produced 8080 assembly code.
A Small-C compiler based on RatC produced 6502 assembly code for the BBC Microcomputer. It was written in Small-C and bootstrapped using Zorland C on an Amstrad PC1512 under MS-DOS 3.2, then transferred onto a BBC Micro using Kermit. The compiler can be used to cross-compile 6502 code from an MS-DOS host, or as a resident Small-C compiler on a BBC Micro. It runs on 68000, 6809, VAX, 8080, BBC Micro and Zilog Z80.
Posted to comp.sources.unix volume 5.
(ftp://apple.com/ArchiveVol1/Unix_lang)
[ Small-C ?, Ron Cain, Dr. Dobb's Journal, May 1980, Dec 1982?]
[ The Small-C Handbook, James Hendrix, Reston 1984, ISBN 0-8359-7012-4].
(1989-01-05)

Small Computer System Interface
hardware, standard (SCSI) /skuh'zee/, /sek'si/ The most popular processor-independent standard, via a parallel bus, for system-level interfacing between a computer and intelligent devices including hard disks, floppy disks, CD-ROM, printers, scanners, and many more.
SCSI can connect multiple devices to a single SCSI adaptor (or host adaptor ) on the computer's bus. SCSI transfers bits in parallel and can operate in either asynchronous or synchronous modes. The synchronous transfer rate is up to 5MB/s. There must be at least one target and one initiator on the SCSI bus.
SCSI connections normally use single ended drivers as opposed to differential drivers. Single ended SCSI can suport up to six metres of cable. Differential ended SCSI can support up to 25 metres of cable.
SCSI was developed by Shugart Associates, which later became Seagate. SCSI was originally called SASI for Shugart Associates System Interface before it became a standard.
Due to SCSI's inherent protocol flexibility, large support infrastructure, continued speed increases and the acceptance of SCSI Expanders in applications it is expected to hold its market.
The original standard is now called SCSI-1 to distinguish it from SCSI-2 and SCSI-3 which include specifications of Wide SCSI (a 16-bit bus) and Fast SCSI (10 MB/s transfer).
SCSI-1 has been standardised as ANSI X3.131-1986 and ISO/IEC 9316.
A problem with SCSI is the large number of different connectors allowed. Nowadays the trend is towards a 68-pin miniature D-type or high density connector (HD68) for Wide SCSI and a 50-pin version of the same connector (HD50) for 8-bit SCSI (Type 1-4, pin pitch 1.27 mm x 2.45 mm). 50-pin ribbon cable connectors are also popular for internal wiring (Type 5, pin pitch 2.54 mm x 2.54 mm). Apple Computer used a 25-pin connector on the Macintosh computer but this connector causes problems with high-speed equipment. Original SCSI implementations were highly incompatible with each other.
ASPI is a standard Microsoft Windows interface to SCSI devices.
Usenet newsgroup: news:comp.periphs.scsi.
(news:comp.periphs.scsi) SCSI Trade Association FAQ (http://www.scsita.org/)
[ System or Systems ?]
(1999-03-30)

small-office/home-office
(SoHo) A term describing the market for certain computer goods.
(1995-01-11)

Small Outline DIMM
storage (SO-DIMM) A smaller kind of DIMM with 72 pins (supporting 32-bit transfers) or 144 pins (64-bit transfers). Regular DIMMs have 168 pins and support 64-bit transfers. Being roughly half the size of the regular DIMM, SO-DIMMs are often used in notebook computers.
Kingston Memory Guide (http://www.kingston.com/tools/umg/newumg05a.asp).
(2001-02-16)

Smalltalk
language The pioneering object-oriented programming system developed in 1972 by the Software Concepts Group, led by Alan Kay, at Xerox PARC between 1971 and 1983. It includes a language, a programming environment, and an extensive object library.
Smalltalk took the concepts of class and message from Simula-67 and made them all-pervasive. Innovations included the bitmap display, windowing system, and use of a mouse.
The syntax is very simple. The fundamental construction is to send a message to an object:
object message
or with extra parameters
object message: param1 secondArg: param2 .. nthArg: paramN
where secondArg: etc. are considered to be part of the message name.
Five pseudo-variables are defined: self , super , nil , true , false . self is the receiver of the current message. super is used to delegate processing of a message to the superclass of the receiver. nil is a reference to nothing (an instance of UndefinedObject). All variables initially contain a reference to nil. true and false are Booleans.
In Smalltalk, any message can be sent to any object. The recipient object itself decides (based on the message name, also called the message selector ) how to respond to the message. Because of that, the multiple inheritance system included in the early versions of Smalltalk-80 appeared to be unused in practice. All modern implementations have single inheritance, so each class can have at most one superclass.
Early implementations were interpreted but all modern ones use dynamic translation (JIT).
Early versions were Smalltalk-72, Smalltalk-74, Smalltalk-76 (inheritance taken from Simula, and concurrency), and Smalltalk-78, Smalltalk-80. Other versions include Little Smalltalk, Smalltalk/V, Kamin's interpreters. Current versions are VisualWorks, Squeak, VisualAge, Dolphin Smalltalk, Object Studio, GNU Smalltalk.
See also: International Smalltalk Association.
UIUC Smalltalk archive (http://st-www.cs.uiuc.edu/). FAQ (http://XCF.Berkeley.EDU/pub/misc/smalltalk/FAQ/).
Usenet newsgroup: news:comp.lang.smalltalk.
[ The Smalltalk-76 Programming System Design and Implementation , D.H. Ingalls, 5th POPL, ACM 1978, pp. 9-16].
(2001-09-11)

Smalltalk-80
[ Smalltalk-80: The Language and Its Implementation ( The Blue Book ), Adele Goldberg et al, A-W 1983].
[BYTE 6(8) (Aug 1981)].
(ftp://st.cs.uiuc.edu/pub/ISA), (ftp://st.cs.uiuc.edu/pub/MANCHESTER), (ftp://gnu.org/pub/gnu).
Mail server: goodies-lib@r5.cs.man.ac.uk.

Smalltalk/V
The first widely available version of Smalltalk, developed by Digitalk in 1986 for IBM PC and Macintosh.
(1995-02-14)

SmallVDM
tool
[ SmallVDM: An Environment for Formal Specification and Prototyping in Smalltalk , in Object Oriented Specification Case Studies, K. Lano et al eds, P-H 1993].
(1996-04-20)

SMALLWORLD
legal A trademark of Smallworldwide Plc. (http://www.smallworld.co.uk/).
(1999-08-26)

SmallWorld
language An object-oriented language.
[ SW 2 - An Object-based Programming Environment , M.R. Laff et al, IBM TJWRC, 1985].
(1996-04-20)

Smarandache logic
neutrosophic logic

SMART
For MS-DOS?
[Jargon File]

smart
1. programming Said of a program that does the Right Thing in a wide variety of complicated circumstances. There is a difference between calling a program smart and calling it intelligent; in particular, there do not exist any intelligent programs (yet - see AI-complete).
Compare robust (smart programs can be brittle).
2. hardware Incorporating some kind of digital electronics.
(1995-03-28)

Smart Battery Data
hardware, protocol (SBD) A method to monitor a rechargeable battery pack, initiated by Duracell and Intel. An special IC in the battery pack monitors the battery and reports information to the SMBus. This information might include: type, model number, manufacturer, characteristics, discharge rate, predicted remaining capacity, almost-discharged alarm so that the PC can shut down gracefully; temperature and voltage to provide safe fast-charging.
Smart Battery System Implementers Forum (http://www.sbs-forum.org/).
(1999-08-08)

smart card
Any plastic card (like a credit card) with an embedded integrated circuit for storing information.
Smart cards are being incorporated into soldier's dog-tags and used to store hospital patients' medical records. This way they are always instantly accessible.
Other uses are as a form of token in banking systems. You could store electronic money on the card or less valuable tokens such as those given away by petrol companies which you collect to exchange for free gifts at a later date. The idea being that one smart card is easier to carry around than a multitude of paper tokens.
news:alt.technology.smartcards
(1995-01-06)

Smartdrive
storage, product A Microsoft MS DOS disk cache program to speed up disk access.
For most users, a 1MB cache is sufficient. Devoting more memory to the cache offers diminishing returns, since the additional cache hits become fewer (and the extra memory could be better used to reduce swapping).
Typing SMARTDRV /S at a DOS prompt shows the cache size, a hit-and-miss report, and information about which drives are being cached. The hit-and-miss statistics are crucial for gauging the effectiveness of SmartDrive settings. A score in the high 80s shows that SmartDrive is well configured. Run SMARTDRV /S several times during a Windows session and note the-hit-and-miss figures each time. If your percentage usually falls below 80 percent, you should consider increasing the cache size. You can edit the SMARTDRV line in your AUTOEXEC.BAT file to increase both the InitCacheSize and the WinCacheSize parameters.
SmartDrive Monitor is an undocumented Windows program that comes with DOS 6.0 for logging and controling the cache.
(1995-11-22)

SMARTdrv
Smartdrive

smart terminal
intelligent terminal

smash case
case sensitivity

smash sum
coalesced sum

smash the stack
jargon In C programming, to corrupt the execution stack by writing past the end of a local array or other data structure. Code that smashes the stack can cause a return from the routine to jump to a random address, resulting in insidious data-dependent bugs.
Variants include trash the stack, scribble the stack, mangle the stack.
See spam; see also aliasing bug, fandango on core, memory leak, memory smash, precedence lossage, overrun screw.
[Jargon File]
(1995-03-16)

SMB
1. protocol Server Message Block.
2. hardware, protocol System Management Bus.
(1999-08-08)

smbclient
Samba

smblib
Samba

SMBus
System Management Bus

SMCC
Sun Microsystems Computer Corporation.

SMDS
Switched Multimegabit Data Service

SMG
Screen Management Guidelines. A VMS package of run-time library routines providing windows on DEC VT100 terminals.

SMI
Structure of Management Information

SMIL
1. language The machine language for a Swedish computer.
(ftp://ftp.wustl.edu/mirrors/info-mac/lang/smil-emulator.hqx).
2. hypertext, language, multimedia, text, World-Wide Web Synchronized Multimedia Integration Language.
(2000-04-21)

smiley
emoticon

S-MIME
Secure Multipurpose Internet Mail Extensions

SML
1. Standard ML.
2. Small Machine Language. Barnes, ICI 1969. Real-time language, an ALGOL variant, and the predecessor of RTL. SML User's Guide , J.G.P. Barnes, ICI, TR JGPB/69/35 (1969).

SML#
An extension of SML/NJ with polymorphic field selection and nondestructive field update. A Compilation Method for ML-style Polymorphic Record Calculi , A. Ohori, POPL 1992.
(ftp://ftp.cis.upenn.edu/pub/sml#/)

sml2c
A Standard ML to C compiler. sml2c is a batch compiler and compiles only module-level declarations, i.e. signatures, structures and functors. It provides the same pervasive environment for the compilation of these programs as SML/NJ. As a result, module-level programs that run on SML/NJ can be compiled by sml2c without any changes. Based on SML/NJ version 0.67 and shares front end and most of its run-time system, but does not support SML/NJ style debugging and profiling.
School of Computer Science, Carnegie Mellon University
(ftp://dravido.soar.cs.cmu.edu/usr/nemo/sml2c/sml2c.tar.Z). Linux (ftp://ftp.dcs.glasgow.ac.uk/pub/linux/smlnj-0.82-linux.tar.Z).
conformance:superset + first-class continuations, + asynchronous signal handling + separate compilation + freeze and restart programs
ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
portability:easy, easier than SML/NJ
E-mail: david.tarditi@cs.cmu.edu , peter.lee@cs.cmu.edu
(1991-06-27)

SML/NJ
Standard ML of New Jersey

SMM
System Management Mode

SMNP
Do you mean SNMP ? If not, please tell me.

smoke
1. To crash or blow up, usually spectacularly. The new version smoked, just like the last one. Used for both hardware (where it often describes an actual physical event), and software (where it's merely colourful).
2. [Automotive slang] To be conspicuously fast. That processor really smokes. Compare magic smoke.
[Jargon File]

smoke and mirrors
Marketing deceptions. The term is mainstream in this general sense. Among hackers it's strongly associated with bogus demos and crocked benchmarks (see also MIPS, machoflops). They claim their new box cranks 50 MIPS for under $5000, but didn't specify the instruction mix - sounds like smoke and mirrors to me. The phrase has been said to derive from carnie slang for magic acts and freak show displays that depend on trompe l oeil' effects, but also calls to mind the fierce Aztec god Tezcatlipoca (lit. Smoking Mirror ) for whom the hearts of huge numbers of human sacrificial victims were regularly cut out. Upon hearing about a rigged demo or yet another round of fantasy-based marketing promises, hackers often feel analogously disheartened.

smoke-emitting diode
humour, electronics (From light-emitting diode ) An incorrectly connected diode, probably a light-emitting diode, in the process of losing its magic smoke and becoming a friode.
See also LER.
(1996-04-28)

smoke test
1. A rudimentary form of testing applied to electronic equipment following repair or reconfiguration, in which power is applied and the tester checks for sparks, smoke, or other dramatic signs of fundamental failure. See magic smoke.
2. By extension, the first run of a piece of software after construction or a critical change. See and compare reality check.
There is an interesting semi-parallel to this term among typographers and printers: When new typefaces are being punch-cut by hand, a smoke test (hold the letter in candle smoke, then press it onto paper) is used to check out new dies.
[Jargon File]

smoking clover
[ITS] A display hack originally due to Bill Gosper. Many convergent lines are drawn on a colour monitor in AOS mode (so that every pixel struck has its colour incremented). The lines all have one endpoint in the middle of the screen; the other endpoints are spaced one pixel apart around the perimeter of a large square. The colour map is then repeatedly rotated. This results in a striking, rainbow-hued, shimmering four-leaf clover. Gosper joked about keeping it hidden from the FDA (the US's Food and Drug Administration) lest its hallucinogenic properties cause it to be banned.

SMoLCS
Specification metalanguage used for a formal definition of Ada. An Introduction to the SMoLCS Methodology , E. Astesiano, U Genova 1986.

SMOP
/S-M-O-P/ [Simple (or Small) Matter of Programming] 1. A piece of code, not yet written, whose anticipated length is significantly greater than its complexity. Used to refer to a program that could obviously be written, but is not worth the trouble. Also used ironically to imply that a difficult problem can be easily solved because a program can be written to do it; the irony is that it is very clear that writing such a program will be a great deal of work. It's easy to enhance a Fortran compiler to compile COBOL as well; it's just an SMOP. 2. Often used ironically by the intended victim when a suggestion for a program is made which seems easy to the suggester, but is obviously (to the victim) a lot of work.
[Jargon File]

SMP
1. Symbol Manipulation Program.
2. computer, parallel symmetric multiprocessing.
(1995-03-19)

SMPT
Do you mean SMTP?

SMRP
Simplified Multicast Routing Protocol

SMS
1. messaging Short Message Service.
2. storage Storage Management Services.
3. operating system System Management Server.
(1999-05-02)

SMT
Station Management

SMTP
Simple Mail Transfer Protocol

smurf
jargon /smerf/ (From the news:soc.motss Usenet newsgroup, after some obnoxiously gooey cartoon characters) A newsgroup regular with a habitual style that is irreverent, silly, and cute. Like many other hackish terms for people, this one may be praise or insult depending on who uses it. In general, being referred to as a smurf is probably not going to make your day unless you've previously adopted the label yourself in a spirit of irony.
Compare old fart.
[Jargon File]
(1995-10-25)

sn
networking The country code for Senegal.
(1999-01-27)

SNA
Systems Network Architecture

snacc
tool (Sample Neufeld ASN.1 to C/C++ Compiler) A program by Mike Sample msample@opentext.com which compiles 1990 ASN.1 data structures (including some macros) into C, C++ or type tables. The generated C/C++ includes a .h file with the equivalent data struct and a .c/.C file for the BER encode and decode, print and free routines.
snacc includes the compiler, run-time BER libraries, and utility programs. snacc is compiled under GNU General Public License. It requires yacc or bison, lex or flex, and cc (ANSI or non-ANSI).
ITU TS X.208/ISO 8824.
Latest version: 1.1, as of 1993-07-12.
Home (http://www.fokus.gmd.de/ovma/freeware/snacc/entry.html).
E-mail: snacc-bugs@cs.ubc.ca .
[Michael Sample and Gerald Neufeld, Implementing Efficient Encoders and Decoders for Network Data Representations , IEEE INFOCOM '93 Proceedings, Vol 3, pp. 1143-1153, Mar 1993].
[Michael Sample, How Fast Can ASN.1 Encoding Rules Go? , M.Sc. Thesis, University of British Columbia, Apr 1993].
(1998-08-09)

snaf
chad

SNAFU principle
/sna'foo prin'si-pl/ [WWII Army acronym for Situation Normal: All Fucked Up ] True communication is possible only between equals, because inferiors are more consistently rewarded for telling their superiors pleasant lies than for telling the truth. - a central tenet of Discordianism, often invoked by hackers to explain why authoritarian hierarchies screw up so reliably and systematically. The effect of the SNAFU principle is a progressive disconnection of decision-makers from reality. This lightly adapted version of a fable dating back to the early 1960s illustrates the phenomenon perfectly:
In the beginning was the plan,
and then the specification;
And the plan was without form,
and the specification was void.
And darkness
was on the faces of the implementors thereof;
And they spake unto their leader,
saying:
It is a crock of shit,
and smells as of a sewer.
And the leader took pity on them,
and spoke to the project leader:
It is a crock of excrement,
and none may abide the odor thereof.
And the project leader
spake unto his section head, saying:
It is a container of excrement,
and it is very strong, such that none may abide it.
The section head then hurried to his department manager,
and informed him thus:
It is a vessel of fertilizer,
and none may abide its strength.
The department manager carried these words
to his general manager,
and spoke unto him
saying:
It containeth that which aideth the growth of plants,
and it is very strong.
And so it was that the general manager rejoiced
and delivered the good news unto the Vice President.
It promoteth growth,
and it is very powerful.
The Vice President rushed to the President's side,
and joyously exclaimed:
This powerful new software product
will promote the growth of the company!
And the President looked upon the product,
and saw that it was very good.
After the subsequent disaster, the suits protect themselves by saying I was misinformed! , and the implementors are demoted or fired.
[Jargon File]

snail mail
messaging (Or snailmail , smail from US Mail via USnail ; paper mail ). Bits of dead tree sent via the postal service as opposed to electronic mail. One's postal address is, correspondingly, a snail (mail) address . There have even been parody USnail posters and stamps made.
The variant paper-net is a hackish way of referring to the postal service, comparing it to a very slow, low-reliability network. Sig blocks sometimes include a Paper-Net: header just before the sender's postal address; common variants of this are Papernet and P-Net . Note that the standard netiquette guidelines discourage this practice as a waste of bandwidth, since netters are quite unlikely to casually use postal addresses and if they really wanted your snail mail address they could always ask for it by e-mail.
Compare voice-net, sneakernet, P-mail.
(1995-01-31)

SNAP
1. Early (IBM 360?) interpreted text-processing language for beginners, close to basic English. [ Computer Programming in English , M.P. Barnett, Harcourt Brace 1969].
2. [ Some Proposals for SNAP, A Language with Formal Macro Facilities , R.B. Napper, Computer J 10(3):231-243 (1967)]. [same as 1?]
3. To replace a pointer to a pointer with a direct pointer; to replace an old address with the forwarding address found there. If you telephone the main number for an institution and ask for a particular person by name, the operator may tell you that person's extension before connecting you, in the hopes that you will snap your pointer and dial direct next time. The underlying metaphor may be that of a rubber band stretched through a number of intermediate points; if you remove all the thumbtacks in the middle, it snaps into a straight line from first to last. See chase pointers.
Often, the behaviour of a trampoline is to perform an error check once and then snap the pointer that invoked it so as henceforth to bypass the trampoline (and its one-shot error check). In this context one also speaks of snapping links . For example, in a Lisp implementation, a function interface trampoline might check to make sure that the caller is passing the correct number of arguments; if it is, and if the caller and the callee are both compiled, then snapping the link allows that particular path to use a direct procedure-call instruction with no further overhead.
[Jargon File]

Snappy
Snappy Video Snapshot

Snappy Video Snapshot
hardware (registered trademark) A frame grabber for the IBM PC designed and marketed by Play, Inc..
(1997-07-11)

snarf
/snarf/ 1. To grab, especially to grab a large document or file for the purpose of using it with or without the author's permission.
See also BLT.
2. (Unix) To fetch a file or set of files across a network.
See also blast.
3. To acquire, with little concern for legal forms or politesse (but not quite by stealing). They were giving away samples, so I snarfed a bunch of them.
4. Synonym for slurp. This program starts by snarfing the entire database into core.
5. (GEnie) To spray food or programming fluids due to laughing at the wrong moment. This sense appears to be widespread among mundane teenagers - ESR.
6. This term was mainstream in the late 1960s, meaning to eat piggishly . It may still have this connotation in context.
7. A creature on the Thundercats, fond of eating, usually covertly.
[Jargon File]
(1995-02-21)

snarf barf
/snarf'n-barf`/ Under a WIMP environment, the act of grabbing a region of text and then stuffing the contents of that region into another region (or the same one) to avoid retyping a command line. In the late 1960s, this was a mainstream expression for an eat now, regret it later cheap restaurant expedition.
[Jargon File]
(1994-11-04)

snarf down
To snarf, with the connotation of absorbing, processing, or understanding. I'll snarf down the latest version of the nethack user's guide - it's been a while since I last played.
[Jargon File]
(1994-11-04)

snark
[Lewis Carroll, via the Michigan Terminal System] 1. A system failure. When a user's process bombed, the operator would get the message Help, Help, Snark in MTS!
2. More generally, any kind of unexplained or threatening event on a computer (especially if it might be a boojum). Often used to refer to an event or a log file entry that might indicate an attempted security violation. See snivitz.
3. UUCP name of snark.thyrsus.com, home site of the Hacker Jargon File versions 2.*.*.
[Jargon File]

sneakernet
/snee'ker-net/ Term used (generally with ironic intent) for transfer of electronic information by physically carrying tape, disks, or some other media from one machine to another. Never underestimate the bandwidth of a station wagon filled with magtape, or a 747 filled with CD-ROMs. Also called Tennis-Net , Armpit-Net , Floppy-Net , Shoenet , walknet .

sneck
jargon The sound made by deboursification, according to Sam Spade anti-spam software.
(1999-09-15)

snert
abuse A derogatory term commonly used on the Internet ECHO BBS, echonyc.com, meaning to make overtures of a sexual nature . It implies terminal cluelessness.
(1995-03-01)

SNI
Siemens Nixdorf Informationssteme, AG

Sniff
A C++/C programming environment providing browsing, cross-referencing, design visualisation, documentation and editing support. Developed by UBS Switzerland and marketed by takeFive Salzburg.
[Jargon File]

sniff
poll

sniffer
packet sniffer

snivitz
jargon /sniv'itz/ A hiccup in hardware or software; a small, transient problem of unknown origin (less serious than a snark).
Compare glitch.
[Jargon File]
(1995-03-28)

SNMP
Simple Network Management Protocol

SNMP agent
networking A software process that responds to queries using the Simple Network Management Protocol to provide status and statistics about a network node.
(1995-11-11)

SNMPv2
Simple Network Management Protocol version 2

SNOBOL
String Oriented Symbolic Language

SNOBOL2
A SNOBOL variant which existed only briefly. It featured built-in functions, but not programmer-defined ones.
[ SNOBOL2 , D.J. Farber, R.E. Griswold and I.P. Polonsky, TR Bell Labs, Apr 1964].

SNOBOL3
SNOBOL with user-defined functions. Written in 1965. The SNOBOL 6.3 compiler for the PDP-6 and PDP-10 was written in SNOBOL.
[ The SNOBOL3 Programming Language , D.J. Farber et al, Bell Sys Tech J 45(6):895-944 (Jul 1966)].
(1994-11-04)

SNOBOL4
A quite distinct descendant of SNOBOL, developed by Griswold et al in 1967. SNOBOL4 is declarative with dynamic scope. Patterns are first-class data objects that can be constructed by concatenation and alternation. Success and failure are used for flow control. Delayed (unevaluated) expressions can be used to implement recursion. It has a table data type. Strings generated at run time can be treated as programs and executed.
See also vanilla.
(ftp://apple.com/ArchiveVol1/Unix_lang)
[ The SNOBOL4 Programming Language , Ralph E. Griswold et al, P-H 1971].
(1994-11-04)

SNOOPS
Craske, 1988. An extension of SCOOPS with meta-objects that can redirect messages to other objects. SNOOPS: An Object-Oriented language Enhancement Supporting Dynamic Program Reeconfiguration , N. Craske, SIGPLAN Notices 26(10): 53-62 (Oct 1991).

'Snooze
/snooz/ [FidoNet] Fidonews, the weekly official on-line newsletter of FidoNet. As the editorial policy of Fidonews is anything that arrives, we print , there are often large articles completely unrelated to FidoNet, which in turn tend to elicit flamage in subsequent issues.
[Jargon File]

SNPP
Simple Network Paging Protocol

SNR
signal-to-noise ratio

S/N ratio
signal-to-noise ratio

SO
1. character Shift Out
2. Significant Other, almost invariably written abbreviated and pronounced /S-O/ by hackers. Used to refer to one's primary relationship, especially a live-in to whom one is not married.
[Jargon File]

so
networking The country code for Somalia.
(1999-01-27)

SO 2
An early system on IBM 701.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-04)

SOAP
1. protocol Simple Object Access Protocol.
2. language Symbolic Optimal Assembly Program.
(2001-03-23)

SOAR
1. State, Operator And Result. A general problem-solving production system architecture, intended as a model of human intelligence. Developed by A. Newell in the early 1980s. SOAR was originally implemented in Lisp and OPS5 and is currently implemented in Common Lisp. Version: Soar6.
E-mail: soar@cs.cmu.edu .
[ The SOAR Papers , P.S. Rosenbloom et al eds, MIT Press 1993].
(1994-11-04)
2. Smalltalk On A RISC. A RISC microprocessor designed by David Patterson's at Berekeley.
(1994-11-04)

social engineering
Term used among crackers and samurai for cracking techniques that rely on weaknesses in wetware rather than software; the aim is to trick people into revealing passwords or other information that compromises a target system's security. Classic scams include phoning up a mark who has the required information and posing as a field service tech or a fellow employee with an urgent access problem. See also the tiger team story in the patch entry.
[Jargon File]

social science number
(IBM) A statistic that is content-free, or nearly so. A measure derived via methods of questionable validity from data of a dubious and vague nature. Predictively, having a social science number in hand is seldom much better than nothing, and can be considerably worse. Management loves them.
See also numbers, math-out, pretty pictures.
(1994-11-04)

socket
networking The Berkeley Unix mechansim for creating a virtual connection between processes. Sockets interface Unix's standard I/O with its network communication facilities. They can be of two types, stream (bi-directional) or datagram (fixed length destination-addressed messages). The socket library function socket() creates a communications end-point or socket and returns a file descriptor with which to access that socket. The socket has associated with it a socket address, consisting of a port number and the local host's network address.
Unix manual page: socket(2).
(1995-01-31)

Socket 1
x86 processor socket

Socket 2
x86 processor socket

Socket 3
x86 processor socket

Socket 370
hardware, standard, processor (PGA370) A physical and electrical specification for a motherboard processor socket. Socket 370 uses a square SPGA ZIF socket with 370 pins, arranged 37x37 (sometimes described as 19x19).
Intel originally designed Socket 370 for PPGA Celeron processors. Newer Socket 370 motherboards additionally support FC-PGA Celeron and Pentium III processors.
The difference between the two versions is electrical; some pins are used differently and voltage requirements have been changed from Intel's VRM 8.2 to VRM 8.4. In addition, Celeron processors require a 66 MHz front side bus (FSB), and Pentium III processors require a 100/133 MHz FSB.
Some older Socket 370 motherboards support VRM 8.4 and variable bus speeds, so adapters are available that convert the socket pinout to allow FC-PGA processors to work.
VIA's Cyrix III processor was designed to work with Socket 370 motherboards.
Intel Celeron Processor in PPGA form factor - Integration (http://www.pentium.com/design/quality/celeron/ppga/integration.htm).
Pentium III Processors - Design Guidelines (http://www.intel.com/design/PentiumIII/designgd/).
(2000-08-26)

Socket 4
x86 processor socket

Socket 5
x86 processor socket

Socket 6
x86 processor socket

Socket 7
hardware, standard A physical and electrical specification for the x86 processor socket matching the pins on Pentium microprocessors manufactured by Intel, and compatibles made by Cyrix, AMD and others. Any CPU chip conforming to this specification can be plugged into any conforming motherboard.
Supported processors include: 2.5V - 3.5V Pentiums 75-233 MHz, AMD K5 through K6, Cyrix 6x86 (and MX) P120 - P233.
Socket 7 uses a SPGA socket, either a 296 pin LIF or a 321 pin ZIF arranged as 37x37 or 19x19 (depending on who you speak to!).
See also Super 7.
Intel's Pentium II processor uses Slot 1 mounting.
[Pin-out?]
(1999-08-29)

Socket 8
hardware, standard A physical and electrical specification for the x86 processor socket matching the pins on a Pentium Pro microprocessor.
Socket 8 uses a dual pattern PGA/SPGA LIF/ZIF socket with 387 pins, arranged 24x26.
(1999-08-04)

SOCKS
security A security package that allows a host behind a firewall to use finger, FTP, telnet, Gopher, and Mosaic to access resources outside the firewall while maintaining the security requirements.
[The Security FAQ, Usenet newsgroups news:comp.security.misc, news:comp.security.unix, news:alt.security].
(1995-01-31)

SOCRATIC
An early interactive learning system (not a language(?)) developed at Bolt, Beranek Newman.
[Sammet 1969, p. 702].
(1994-11-04)

SODA
Symbolic Optimum DEUCE Assembly Program.
The symbolic assembler for a one-level storage virtual machine for the English ELectric DEUCE.
[ SODA Manual of Operation , R. C. Brigham and C. G. Bell, School of Elec Eng, U New S Wales, Sydney, NSW (1958)].
(1994-11-04)

SODAS
[D.L. Parnas J.A. Darringer. Proc FJCC 31:449-474, AFIPS (Fall 1967)].
(1994-11-04)

SO-DIMM
Small Outline DIMM

Sod's Law
humour Murphy's Law.
[Or is it Sodd ?]
(1995-12-29)

SoftBench
An IPSE from Hewlett-Packard.

soft boot
operating system A boot which resets only part of the system.
For example, If you're running the mess-dos emulator, control-alt-insert will cause a soft boot of the emulator, while leaving the rest of the system running .
Contrast hard boot.
[Jargon File]
(1995-11-27)

softcopy
/soft'kop-ee/ (by analogy with hardcopy ) A machine-readable ( machinable ) form of corresponding hardcopy.
[Jargon File]
(1994-11-04)

Softlab
company A software engineering company strong in the UK and Germany.
[Details?]

soft link
symbolic link

SoftModem
The integration of modem controller and data pump algorithms into a single RAM-based DSP hardware architecture. These integrated algorithms are stored on the computer's hard disk, from which they are downloaded into the DSP board's random access memory (RAM). This downloading, or booting process of the PC-installed software algorithms occurs as part of the computer's power-up initialisation process in less than 100 milliseconds, making it transparent to the user.
[Digicom Modem FAQ version 2.03].

software
programming (Or computer program , program , code ) The instructions executed by a computer, as opposed to the physical device on which they run (the hardware ).
The term was coined by the eminent statistician, John Tukey.
Programs stored on non-volatile storage built from integrated circuits (e.g. ROM or PROM) are usually called firmware.
Software can be split into two main types - system software and application software or application programs. System software is any software required to support the production or execution of application programs but which is not specific to any particular application. Examples of system software would include the operating system, compilers, editors and sorting programs.
Examples of application programs would include an accounts package or a CAD program. Other broad classes of application software include real-time software, business software, scientific and engineering software, embedded software, personal computer software and artificial intelligence software.
Software includes both source code written by humans and executable machine code produced by assemblers or compilers. It does not usually include the data processed by programs unless this is in a format such as multimedia which depends on the use of computers for its presentation. This distinction becomes unclear in cases such as spread sheets which can contain both instructions (formulae and macros) and data. There are also various intermediate compiled or semi-compiled, forms of software such as library files and byte-code.
Some claim that documentation (both paper and electronic) is also software. Others go further and define software to be programs plus documentation though this does not correspond with common usage.
The noun program describes a single, complete and more-or-less self-contained list of instructions, often stored in a single file, whereas code and software are uncountable nouns describing some number of instructions which may constitute one or more programs or part thereof. Most programs, however, rely heavily on various kinds of operating system software for their execution. The nounds code and software both refer to the same thing but code tends to suggest an interest in the implementation details whereas software is more of a user's term.
(2002-07-21)

Software AG
company A German software engineering company that started with the ADABAS database. Natural is their 4GL development environment, EntireX is their DCOM for Unix and IBM. BOLERO, is an object-oriented development environment and application server specially made for Electronic Business applications.
Home (http://www.softwareag.com/).
Mailing-list: sag-l@uafsysb.uark.edu .
(1999-03-06)

software audit
legal A regular investigation of the software installed on all computers in an organisation to ensure that it is authorised or licensed.
Software audits minimise the risk of prosecution for software theft, minimise the risk of viruses through uncontrolled software copying, and ensure technical support is available to all users.
The Business Software Alliance Guide To Software Management (http://www.bsa.org/bsa).
(1996-05-19)

Software BackPlane
programming, tool A CASE framework from Atherton.
(1996-05-19)

software bloat
jargon, abuse The result of adding new features to a program or system to the point where the benefit of the new features is outweighed by the extra resources consumed (RAM, disk space or performance) and complexity of use. Software bloat is an instance of Parkinson's Law: resource requirements expand to consume the resources available. Causes of software bloat include second-system effect and creeping featuritis. Commonly cited examples include Unix's ls(1) command, the X Window System, BSD, Missed'em-five, OS/2 and any Microsoft product.
[Jargon File]
(1995-10-16)

Software bus
A support environment for heterogeneous distributed processing, such as the ANSA Testbench.

Software Description Database
networking Archie's database of names and short descriptions of many of the software packages, documents (like RFCs and educational material), and data files that are available via the Internet.
(1995-11-12)

Software Developers Kit
jargon, product (SDK, or Software Development Kit ) Software provided by a software vendor to allow their products to be used with those of other software vendors.
(1995-03-01)

software development life cycle
software life cycle

software enabling
programming (Or enabling ) Modification of the design or implementation of software to allow internationalisation to take place.
In particular, enabling may refer to the modification of software to support double-byte character sets, hence Unicode enabling and double-byte enabling .
(1999-06-28)

software engineering
programming (SE) A systematic approach to the analysis, design, implementation and maintenance of software. It often involves the use of CASE tools. There are various models of the software life-cycle, and many methodologies for the different phases.
(1994-11-03)

Software Engineering Environment
(SEE) A set of management and technical tools to support software development, usually integrated in a coherent framework; equivalent to an IPSE.
(1994-11-03)

software handshaking
communications The transmission of extra data on a channel in order to control the device sending data in the other direction on that channel. For an EIA-232 connection, this means sending Control-S and Control-Q characters to stop and start transmission.
Since software handshaking requires the transmission and processing of extra data it can be less efficient than hardware handshaking.
(1996-10-16)

software interrupt
An interrupt caused by a specific machine language operation code (e.g. the Motorola 68000's TRAP, the IBM System/390's SVC or the ARM's SWI) rather than by a hardware event.
As with a hardware interrupt, this causes the processor to store the current state, store identifying information about the particular interrupt, and pass control to a first level interrupt handler.
A trap is similar except that it is caused by an unexpected software condition or error (e.g. divide by zero, undefined instruction) rather than a deliberate instruction.
(1995-02-14)

Software in the Public Interest, Inc.
company (SPI) A non-profit corporation which helps organisations develop and distribute open hardware and open software. SPI's goals are:
* to create, form and establish an organization to formulate and provide software systems for use by the general public without charge;
* to teach and train individuals regarding the use and application of such systems;
* to hold classes, seminars and workshops concerning the proper use and application of computers and computer systems;
* to endeavor to monitor and improve the quality of currently existing publicly available software;
* to support, encourage and promote the creation and development of software available to the general public;
* to provide information and education regarding the proper use of the Internet;
* to organize, hold and conduct meetings, discussions and forums on contemporary issues concerning the use of computers and computer software;
* to foster, promote and increase access to software systems available to the general public;
* to solicit, collect and otherwise raise money and to expend such funds in furtherance of the goals and activities of the corporation;
* to aid, assist, cooperate, co-sponsor and otherwise engage in concerted action with private, educational and governmental organisations and associations on all issues and matters concerning the use of computers and computer software and;
* generally to endeavor to promote, foster and advance interest in computers and computer software by all available means and methods.
SPI currently supports Berlin, Debian, GNOME, LSB, Open Source.
SPI Home (http://www.spi-inc.org/).
(2002-04-14)

software laser
An optical laser works by bouncing photons back and forth between two mirrors, one totally reflective and one partially reflective. If the lasing material (usually a crystal) has the right properties, photons scattering off the atoms in the crystal will excite cascades of more photons, all in lockstep. Eventually the beam will escape through the partially reflective mirror.
One kind of sorcerer's apprentice mode involving bounce messages can produce closely analogous results, with a cascade of messages escaping to flood nearby systems. By mid-1993 there had been at least two publicised incidents of this kind.
[Jargon File]

software law
legal Software may, under various circumstances and in various countries, be restricted by patent or copyright or both. Most commercial software is sold under some kind of software license.
A patent normally covers the design of something with a function such as a machine or process. Copyright restricts the right to make and distribute copies of something written or recorded, such as a song or a book of recipies. Software has both these aspects - it embodies functional design in the algorithms and data structures it uses and it could also be considered as a recording which can be copied and performed (run).
Look and feel lawsuits attempt to monopolize well-known command languages; some have succeeded. Copyrights on command languages enforce gratuitous incompatibility, close opportunities for competition, and stifle incremental improvements.
Software patents are even more dangerous; they make every design decision in the development of a program carry a risk of a lawsuit, with draconian pretrial seizure. It is difficult and expensive to find out whether the techniques you consider using are patented; it is impossible to find out whether they will be patented in the future.
The proper use of copyright is to prevent software piracy - unauthorised duplication of software. This is completely different from copying the idea behind the program in the same way that photocopying a book differs from writing another book on the same subject.
Usenet newsgroup: news:misc.legal.computing.
[ The Software Developer's and Marketer's Legal Companion , Gene K. Landy, 1993, AW, 0-201-62276-9].
(1994-11-16)

software life-cycle
programming The phases a software product goes through between when it is conceived and when it is no longer available for use. The software life-cycle typically includes the following: requirements analysis, design, construction, testing (validation), installation, operation, maintenance, and retirement.
The development process tends to run iteratively through these phases rather than linearly; several models (spiral, waterfall etc.) have been proposed to describe this process.
Other processes associated with a software product are: quality assurance, marketing, sales and support.
(1996-12-27)

Software Method
Software Methodology

Software Methodology
programming The study of how to navigate through each phase of the software process model (determining data, control, or uses hierarchies, partitioning functions, and allocating requirements) and how to represent phase products (structure charts, stimulus-response threads, and state transition diagrams).
(1996-05-29)

software metric
A measure of software quality which indicate the complexity, understandability, testability, description and intricacy of code.
(1994-11-16)

software patent
legal A patent intended to prevent others from using some programming technique.
There have been several infamous patents for software techniques which most experienced programmers would consider fundamental or trivial, such as the idea of using exclusive-or to plot a cursor on a bitmap display. The spread of software patents could stifle innovation and make programming much harder because programmers would have to worry about patents when designing or choosing algorithms.
There are over ten thousand software patents in the US, and several thousand more are issued each year. Each one may be owned by, or could be bought by, a grasping company whose lawyers carefully plan to attack people at their most vulnerable moments. Of course, they couch the threat as a reasonable offer to save you miserable years in court. Divide and conquer is the watchword: pursue one group at a time, while advising the rest of us to relax because we are in no danger today.
Compuserve developed the GIF format for graphical images many years ago, not knowing about Unisys's 1985 patent covering the LZW data compression algorithm used in GIF. GIF was subsequently adopted widely on the Internet. In 1994 Unisys threatened to sue Compuserve, forcing them to impose a sublicensing agreement for GIF on their users. Compuserve users can accept this agreement now, or face Unisys later on their own. The rest of us don't have a choice -- we get to face Unisys when they decide it's our turn. So much trouble from just one software patent.
Patents in the UK can't describe algorithms or mathematical methods.
See also LPF, software law.
patent search (http://sunsite.unc.edu/patents/intropat.html).
(1995-01-06)

software piracy
software theft

software pirate
software theft

Software Practice and Experience
publication (SPE) A Journal about software.
Home (http://columbus.cs.nott.ac.uk/compsci/spe/).
[Publisher? UK?]
(1997-12-12)

Software Productivity Centre
body (SPC) A non-profit organisation based in Vancouver, BC, Canada with the mandate to assist software developers to improve their software engineering process.
(1998-10-13)

Software Publishing Corporation
company (SPC) The company that produces Harvard Graphics.
Home (http://www.spco.com/).
(1998-10-13)

software reliability
See also formal methods, safety-critical system.
(ftp://ftp.sei.cmu.edu/pub/depend-sw). Mailing list: depend-sw@sei.cmu.edu.
[Summary?]

software rot
programming The tendency of software that has not been used in a while to fail; such failure may be semi-humorously ascribed to bit rot. More commonly, software rot strikes when a program's assumptions become out of date. If the design was insufficiently robust, this may cause it to fail in mysterious ways.
For example, owing to shortsightedness in the design of some COBOL programs, many would have succumbed to software rot when their 2-digit year counters wrapped around at the beginning of the year 2000. A related incident made the news in 1990, when a gentleman born in 1889 applied for a driver's licence renewal in Raleigh, North Carolina. The system refused to issue the card, probably because with 2-digit years the ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the mythical one was a real problem on early research computers (e.g. the R1; see grind crank). If a program that depended on a peculiar instruction hadn't been run in quite a while, the user might discover that the opcodes no longer did the same things they once did. ( Hey, so-and-so needs an instruction to do such-and-such. We can snarf this opcode, right? No one uses it. )
Another classic example of this sprang from the time an MIT hacker found a simple way to double the speed of the unconditional jump instruction on a PDP-6, so he patched the hardware. Unfortunately, this broke some fragile timing software in a music-playing program, throwing its output out of tune. This was fixed by adding a defensive initialisation routine to compare the speed of a timing loop with the real-time clock; in other words, it figured out how fast the PDP-6 was that day, and corrected appropriately.
[Jargon File]
(2002-02-22)

software theft
legal The unauthorised duplication and/or use of computer software. This usually means unauthorised copying, either by individuals for use by themselves or their friends or, less commonly, by companies who then sell the illegal copies to users. Many kinds of software protection have been invented to try to reduce software theft but, with sufficient effort it is always possible to bypass or crack the protection, and software protection is often annoying for legitimate users.
Software theft was estimated for 1994 to have cost $15 billion in worldwide lost revenues to software publishers. It is a serious offence under the Copyright, Designs and Patents Act 1988, which states that The owner of the copyright has the exclusive right to copy the work. .
It is illegal to: 1. Copy or distribute software or its documentation without the permission or licence of the copyright owner. 2. Run purchased software on two or more computers simultaneously unless the licence specifically allows it. 3. Knowingly or unknowingly allow, encourage or pressure employees to make or use illegal copies sources within the organisation. 4. Infringe laws against unauthorised software copying because a superior, colleague or friend compels or requests it. 5. Loan software in order that a copy be made of it.
Both individuals and companies may be convicted of piracy offences. Officers of a company are also liable to conviction if the offences were carried out by the company with their consent. On conviction, the guilty party can face imprisonment for up to two years (five in USA), an unlimited fine or both as well as being sued for copyright infringement (with no limit) by the copyright owner.
When software is upgraded it is generally the case that the licence accompanying the new version revokes the old version. This means that it is illegal to run both the old and new versions as only the new version is licensed.
Some people mistakenly think that, because it is so easy to make illegal copies of software, that it is less wrong than, say, stealing it from a shop. In fact, both actions deprive software producers of the income they need to continue their business and develop their products.
Software theft should be reported to the Federation Against Software Theft (FAST).
See also Business Software Alliance, software audit, software law.
(1996-05-20)

Software through Pictures
programming, tool (StP) A set of CASE tools distributed by Aonix (http://www.aonix.com/).
(1999-05-21)

software tool
programming A program that aids in the development of other programs. It may assist the programmer in the design, code, compile, link, edit, or debug phases.
(1996-05-28)

Software Verification Research Centre
body (SVRC) A Special Research Centre of the Australian Research Council. Its mission is to create improved methods and tools, of industrial significance, for developing verified software. Two of the SVRC's core projects are the Cogito methodology and the Ergo proof tool.
(1995-11-14)

softwarily
/soft-weir'i-lee/ In a way pertaining to software. The system is softwarily unreliable. The adjective softwary is *not* used. See hardwarily.
[Jargon File]

softy
(IBM) Hardware hackers' term for a software expert who is largely ignorant of the mysteries of hardware.
(1995-01-11)

SOH
Start Of Header

SOHIO
An early system on the IBM 705.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-11)

SoHo
small-office/home-office.

SOIF
Summary Object Interchange Format

SOJ
Small Outline J

SOL
1. language Simulation Oriented Language.
2. Second-Order lambda-calculus.
3. Semantic Operating Language. Language for manipulating semantic networks for building cognitive models, particularly for natural language understanding. Explorations in Cognition , D.A. Norman et al, W.H. Freeman 1974.
4. Shit Outta Luck.

Solaris
operating system Sun Microsystems, Inc.'s version of the Unix operating system. As well as the core operating system, Solaris inludes networking software, the Java Virtual Machine, the CDE/Desktop that includes an X11-based windowing environment and graphical user interface.
Sun claim that Solaris is not just an operating system but an operating environment .
Solaris 1.x was a retroactive (marketing?) name for SunOS 4.1.x (where x =1).
Solaris 2.x (which is the first version most people call Solaris ) includes SunOS5.x, which is an SVR4-derived Unix, OpenWindows 3.x, and tooltalk.
Version 2.7 ( Solaris 7 ) was around in 1999-03-02. Version 2.8 was released in June 2000. Current version: 9, as of 2002-07-15.
Home (http://www.sun.com/solaris/).
(2002-07-15)

solid-state storage device
storage Any memory component with no moving parts, typically built around some kind of semiconductor integrated circuit. An example is bubble memory.
See also: RAM disk.
(2001-12-31)

SOLO
[SOL (Semantic Operating Language) + LOGO]. A variant of LOGO with primitives for dealing with semantic networks and pattern matching rather than lists.
[ A User-Friendly Software Environment for the Novice Programmer , M. Eisenstadt marc@open.ac.uk , CACM 27(12):1056-1064 (1983)].

solution
jargon A marketroid term for something he wants to sell you without bothering you with the often dizzying distinctions between hardware, software, services, applications, file formats, companies, brand names and operating systems.
Flash is a perfect image-streaming solution. What is it? Um... about a thousand dollars.
See also: technology.
(1998-07-07)

Solution Based Modelling
(SBM) A software development process described in the book Developing Object-Oriented Software for the Macintosh written by Neal Goldstein and Jeff Alger, published by Addison Wesley in 1992.

Solve
Parallel object-oriented language. Message Pattern Specifications: A New Technique for Handling Errors in Parallel Object- Oriented Systems , J.A. Purchase et al, SIGPLAN Notices 25(10):116-125 (OOPSLA/ECOOP '90) (Oct 1990).

SOM
System Object Model. An implementation of CORBA by IBM.

Somar DumpAcl
tool A utilty which provides a concise report of Windows NT file system permissions, to help find holes in system security.
(1995-04-10)

Somar Software
company The distributors of Somar DumpAcl and other utilities for Windows NT.
Home (http://www.somar.com/)
Address: Washington, DC, USA.
(1995-04-10)

some random X
jargon Used to indicate a member of class X, with the implication that Xs are interchangeable. I think some random cracker tripped over the guest timeout last night.
See also J. Random.
[Jargon File]
(1995-03-03)

Sonata
operating system The code name for the major Mac OS release due in mid-1999.
(http://devworld.apple.com/mkt/informed/appledirections/mar97/roadmap.html).
(1997-10-15)

SONET
Synchronous Optical NETwork

Sony Playstation
Playstation

SORCERER
tool A simple tree parser generator by Terence Parr parrt@s1.arc.umn.edu .
SORCERER is suitable for translation problems lying between those solved by code generator generators and by full source-to-source translator generators. SORCERER generates simple, flexible, top-down, tree parsers that, in contrast to code generators, may execute actions at any point during a tree walk. SORCERER accepts extended BNF notation, allows predicates to direct the tree walk with semantic and syntactic context information, and does not rely on any particular intermediate form, parser generator, or other pre-existing application.
SORCERER is included in the Purdue Compiler-Construction Tool Set.
Version: 1.00B
(ftp://marvin.ecn.purdue.edu/pub/pccts/sorcerer/)
E-mail: parrt@acm.org ( e-mail sor.tar.Z.uu in subject).
Mailing list: pccts-users-request@ahpcrc.umn.edu (message body: subscribe pccts-users YOUR-NAME , where YOUR-NAME can be your name or e-mail address).
(1994-02-15)

sorcerer's apprentice mode
networking (From Johann Wolfgang von Goethe's Der Zauberlehrling , via the Walt Disney film Fantasia ) A bug in a protocol where, under some circumstances, the receipt of a message causes multiple messages to be sent, each of which, when received, triggers the same bug. Used especially of such behaviour caused by bounce message loops in electronic mail software.
Compare broadcast storm, network meltdown, software laser, ARMM.
Der Zauberlehrling (http://www.unix-ag.uni-kl.de/~conrad/lyrics/zauber.html).
[Jargon File]
(1999-10-08)

sort
1. application, algorithm To arrange a collection of items in some specified order. The items - records in a file or data structures in memory - consist of one or more fields or members. One of these fields is designated as the sort key which means the records will be ordered according to the value of that field. Sometimes a sequence of key fields is specified such that if all earlier keys are equal then the later keys will be compared. Within each field some ordering is imposed, e.g. ascending or descending numerical, lexical ordering, or date.
Sorting is the subject of a great deal of study since it is a common operation which can consume a lot of computer time. There are many well-known sorting algorithms with different time and space behaviour and programming complexity.
Examples are quicksort, insertion sort, bubble sort, heap sort, and tree sort. These employ many different data structures to store sorted data, such as arrays, linked lists, and binary trees.
2. tool The Unix utility program for sorting lines of files.
Unix manual page: sort(1).
(1997-02-12)

sorting
See sort.

SOS
1. Scheme Object System.
2. An infamously losing text editor. Once, back in the 1960s, when a text editor was needed for the PDP-6, a hacker crufted together a quick-and-dirty stopgap editor to be used until a better one was written. Unfortunately, the old one was never really discarded when new ones (in particular, TECO) came along. SOS is a descendant ( Son of Stopgap ) of that editor, and many PDP-10 users gained the dubious pleasure of its acquaintance. Since then other programs similar in style to SOS have been written, notably the early font editor BILOS /bye'lohs/, the Brother-In-Law Of Stopgap (the alternate expansion Bastard Issue, Loins of Stopgap has been proposed).
3. The PDP-10 instruction to decrease a value. Oppose AOS.
[Jargon File]

sound
1. audio.
2. logic An inference system A is sound with respect to another system B if A can only reach conclusions which are true in B. A type inference system is considered sound with respect to a semantics if the type inferred for an expression is the same as the type inferred for the meaning of that expression under the semantics.
The dual to soundness is completeness.
(1995-03-01)

Sound Blaster
hardware The best known family of sound cards for the IBM PC from Creative Labs.
[Features? Models? Reference?]
(1998-04-28)

sound card
A plug-in optional circuit card for an IBM PC. It provides high-quality stereo sound output under program control. A multimedia PC usually includes a sound card. One of the best known is the Sound Blaster.
[Other kinds?]
(1995-03-01)

soundex
algorithm, text An algorithm for encoding a word so that similar sounding words encode the same. The first letter is copied unchanged then subsequent letters are encoded as follows:
bfpv - 1 cgjkqsxzç - 2 dt - 3 l - 4 mnñ - 5 r - 6
Other characters are ignored and repeated characters are encoded as though they were a single character. Encoding stops when the resulting string is four characters long, adding trailing 0 s if it is shorter. For example, SMITH or SMYTHE would both be encoded as S530 .
(1995-01-05)

source
source code

source code
language, programming (Or source , or rarely source language ) The form in which a computer program is written by the programmer. Source code is written in some formal programming language which can be compiled automatically into object code or machine code or executed by an interpreter.
(1995-01-05)

source code escrow
software An arrangement where some source code is held in escrow by a third party as long as it is supported by the vendors, but should they cease to support it, it becomes the property of the purchasers so that they can arrange for its continued maintenance.
(1999-12-14)

source language
source code

source of all good bits
jargon, job A person from whom (or a place from which) useful information may be obtained. If you need to know about a program, a guru might be the source of all good bits. The title is often applied to a particularly competent secretary.
[Jargon File]
(2001-01-27)

source package
software A collection (usually an archive file) containing all the files necessary to build and modify a piece of software.
A Debian source package includes the original source archive (.orig.tar.gz), Debianisation diffs (- debian-version .diff.gz) and a Debian source control file (- debian-version .dsc).
(2000-05-31)

source route
messaging An electronic mail address which specifies the route the message should take as a sequence of hostnames. It is called a source route because the route is determined at the source of the message rather than at each stage as is now more common. The most common kind of source route is a UUCP style bang path, foo!bar!baz!fred'. The RFC 822 syntax, @foo:@bar:fred@baz , is seldom seen because most systems which understand RFC 822 also perform automatic routing based on the destination hostname. A third, intermediate, form is sometimes seen: fred%baz%bar@foo.com .

source routing
source route

southbridge
architecture The integrated circuit in a core logic chip set that controls the IDE bus, USB, plug-n-play support, the PCI-ISA bridge, keyboard/mouse controller, power management, and various other features. One brand provides sound card functions.
Other functions are provided by the northbridge chip.
(http://www.maximumpc.com/terminator/terminator_s.html).
(2000-01-15)

SP
Simplicity and Power.
A Prolog-like language.
[ Simplicity and Power - Simplifying Ideas in Computing , J.G. Wolff, Computer J 33(6):518-534 (Dec 1990)].
(1994-12-01)

SP2
SP/2
[Which is correct?]

SP/2
Scalable POWERparallel 2.
A line of RISC-based processors from IBM using symmetric multi-processing. SP/2 replaced SP/1.
The SP2 is a classical MPP design, based on a Shared Nothing architecture. The SP2 is an example of the Distributed Memory Processor (DMP) parallel model, with individual nodes interconnected over a LAN, or a High-Performance Switch (HPS). SP2 systems can have from 2 to 512 nodes. Each node is a RISC system/6000 running IBM's AIX operating system.
The SP2 supports applications in both technical and commercial environments. In terms of commercial applications, the SP2 is typically being used in support of, MIS/DSS including data mining, business applications e.g. SAP, Alternative Mainframe/Mainframe Offload, LAN Server Consolidation.
(1995-03-07)

space
character The space character, ASCII 32.
See octal forty.

space-cadet keyboard
A now-legendary device used on MIT Lisp machines, which inspired several still-current jargon terms and influenced the design of Emacs. It was equipped with no fewer than *seven* shift keys: four keys for bucky bits ( control , meta , hyper , and super ) and three like regular shift keys, called shift , top , and front . Many keys had three symbols on them: a letter and a symbol on the top, and a Greek letter on the front. For example, the L key had an L and a two-way arrow on the top, and the Greek letter lambda on the front. By pressing this key with the right hand while playing an appropriate chord with the left hand on the shift keys, you could get the following results:
Llowercase l
shift-Luppercase L
front-Llowercase lambda
front-shift-Luppercase lambda
top-Ltwo-way arrow
(front and shift are ignored) And of course each of these might also be typed with any combination of the control, meta, hyper, and super keys. On this keyboard, you could type over 8000 different characters! This allowed the user to type very complicated mathematical text, and also to have thousands of single-character commands at his disposal. Many hackers were actually willing to memorise the command meanings of that many characters if it reduced typing time (this attitude obviously shaped the interface of Emacs). Other hackers, however, thought that many bucky bits was overkill, and objected that such a keyboard can require three or four hands to operate.
See cokebottle, double bucky, meta bit, quadruple bucky.
Note: early versions of this entry incorrectly identified the space-cadet keyboard with the Knight keyboard . Though both were designed by Tom Knight, the latter term was properly applied only to a keyboard used for ITS on the PDP-10 and modelled on the Stanford keyboard (as described under bucky bits). The true space-cadet keyboard evolved from the Knight keyboard.
[Jargon File]
(1994-12-05)

space complexity
complexity The way in which the amount of storage space required by an algorithm varies with the size of the problem it is solving. Space complexity is normally expressed as an order of magnitude, e.g. O(N^2) means that if the size of the problem (N) doubles then four times as much working storage will be needed.
See also computational complexity, time complexity.
(1996-05-08)

space leak
A data structure which grows bigger, or lives longer, than might be expected. Such unexpected memory use can cause a program to require more garbage collections or to run out of heap. Space leaks in functional programs usually result from excessive laziness. For example, the Haskell function
sum [] = 0 sum (x:xs) = x + sum xs
when applied to a list will build a chain of closures for the additions and only when it reaches the end of the list will it perform the additions and free the storage. Another example is the function
mean l = sum l / length l
The sum function forces the entire list l to be evaluated and built in the heap. None of it can be garbage collected until the length function has consumed it.

SPACEWAR
games A space-combat simulation game, inspired by E. E. Doc Smith's Lensman books, in which two spaceships duel around a central sun, shooting torpedoes at each other and jumping through hyperspace. This game was first implemented on the PDP-1 at MIT in 1960--61.
SPACEWAR aficionados formed the core of the early hacker culture at MIT. Nine years later, a descendant of the game motivated Ken Thompson to build, in his spare time on a scavenged PDP-7, the operating system that became Unix. Less than nine years after that, SPACEWAR was commercialised as one of the first video games; descendants are still feeping in video arcades everywhere.
[ SPACEWAR or Space Travel ?]
[Jargon File]
(1994-11-07)

SPADE
Specification Processing And Dependency Extraction. Specification language. G.S. Boddy, ICL Mainframes Div, FLAG/UD/3DR.003

spaghetti code
programming A pejorative term for code with a complex and tangled control structure, especially one using many GOTOs, exceptions, or other unstructured branching constructs. The synonym kangaroo code has been reported, doubtless because such code has so many jumps in it.
[Jargon File]
(1997-02-17)

spaghetti inheritance
[encountered among users of object-oriented languages that use inheritance, such as Smalltalk] A convoluted class-subclass graph, often resulting from carelessly deriving subclasses from other classes just for the sake of reusing their code. Coined in a (successful) attempt to discourage such practice, through guilt-by-association with spaghetti code.
[Jargon File]

spam
1. messaging (From Hormel's Spiced Ham, via the Monty Python Spam song) To post irrelevant or inappropriate messages to one or more Usenet newsgroups, mailing lists, or other messaging system in deliberate or accidental violation of netiquette.
It is possible to spam a newsgroup with one well- (or ill-) planned message, e.g. asking What do you think of abortion? on soc.women. This can be done by cross-posting, e.g. any message which is crossposted to alt.rush-limbaugh and alt.politics.homosexuality will almost inevitably spam both groups. (Compare troll and flame bait).
Posting a message to a significant proportion of all newsgroups is a sure way to spam Usenet and become an object of almost universal hatred. Canter and Siegel spammed the net with their Green card post.
If you see an article which you think is a deliberate spam, DO NOT post a follow-up - doing so will only contribute to the general annoyance. Send a polite message to the poster by private e-mail and CC it to postmaster at the same address. Bear in mind that the posting's origin might have been forged or the apparent sender's account might have been used by someone else without his permission.
The word was coined as the winning entry in a 1937 competition to choose a name for Hormel Foods Corporation's spiced meat (now officially known as SPAM luncheon meat ). Correspondant Bob White claims the modern use of the term predates Monty Python by at least ten years. He cites an editor for the Dallas Times Herald describing Public Relations as throwing a can of spam into an electric fan just to see if any of it would stick to the unwary passersby.
Usenet newsgroup: news:news.admin.net-abuse.
See also netiquette.
2. (A narrowing of sense 1, above) To indiscrimately send large amounts of unsolicited e-mail meant to promote a product or service. Spam in this sense is sort of like the electronic equivalent of junk mail sent to Occupant .
In the 1990s, with the rise in commercial awareness of the net, there are actually scumbags who offer spamming as a service to companies wishing to advertise on the net. They do this by mailing to collections of e-mail addresses, Usenet news, or mailing lists. Such practises have caused outrage and aggressive reaction by many net users against the individuals concerned.
3. (Apparently a generalisation of sense 2, above) To abuse any network service or tool by for promotional purposes.
AltaVista is an index, not a promotional tool. Attempts to fill it with promotional material lower the value of the index for everyone. [...] We will disallow URL submissions from those who spam the index. In extreme cases, we will exclude all their pages from the index. -- Altavista.
4. jargon, programming To crash a program by overrunning a fixed-size buffer with excessively large input data.
See also buffer overflow, overrun screw, smash the stack.
5. chat, games (A narrowing of sense 1, above) To flood any chat forum or Internet game with purposefully annoying text or macros. Compare Scrolling.
(2001-05-17)

spamdex
World-Wide Web (Presumably from spam , index ) word spamming.
Spamdexing has come a long way from the halcyon days of the summer of 1995. Back then, all one needed to do was add the word 'sex' a thousand times at the end of a Web page to attract attention from the likes of Lycos. The search-engine operators caught on fast -- Andrew Leonard, Hotwired 1996 (http://www.packet.com/packet/leonard/96/32/index3a.html).
(1997-04-09)

spamming
spam

spanning tree algorithm
An IEEE 802.1 standard under consideration which will provide distributed routing over multiple LANs connected by bridges.

SPAR
Early system on Datatron 200 series. Listed in CACM 2(5):16 (May 1959).

SPARC
1. processor Scalable Processor ARChitecture.
2. database ANSI/SPARC Architecture.
(1999-02-27)

SPARC International, Inc.
body An organisation established to promote the Scalable Processor ARChitecture (SPARC). Their main service is conformance testing. They also produce the SPARC flash newsletter and publish lists of SPARC compliant machines tested by SPARC International to be binary compatible with other compliant machines.
Home (http://www.sparc.com/)
SPARC(R) is a registered trademark of SPARC International, Inc. in the United States and other countries.
(1995-01-04)

SPARCStation
computer A family of workstations from Sun Microsystems based on the SPARC architecture. Models include the SPARCStation 1, 1+, SLC, SPARCStation ELC, IPX, SPARCStation 5, SPARCStation 10 and SPARCStation 20.
(1994-11-23)

SPARCstation 10
computer A SPARCStation with a 4-way associative data cache and a five-way associative instruction cache. The 10/31, 10/41 and 10/51 also have a secondary cache not present on earlier SPARCStations.
(1994-12-02)

SPARCstation 20
computer A SPARCStation based on the HyperSPARC processor. The 20 is compatible with the earlier SPARCstation 10. It has a clock rate of 100MHz and delivers a SPECfp92 of 127.6.
The SPARCstation 20 Model 71 and 712MP uses the 75MHz SuperSPARC processors that give a 35% and 14% boost to SPECint92 and SPECfp92 respectively compared to the 61/612MP. UK prices range from £15,450 - £20,500 for 71 and £21,700 - £25,000 for the 712. UK availability was planned for April 1995.
(1994-12-02)

SPARCsystem 4
computer A computer built with the MicroSPARC ii 70MHz CPU as used in the SPARC 5 Model 70. The SPARCsystem 4 is basically a cheaper, cut-down SPARC 5. It has an 8-bit pixel accelerator instead of the SBus Turbo GX card. Memory expansion is limited to 160 MB. Availability was planned for March/April 1995.
(1995-02-07)

SPARC Xterminal 1
computer Sun's lowest cost networked Unix desktop, it is board-upgradeable to a SPARC 4. It comes with a choice of frame buffers: 8-bit colour, Turbo GX, or Turbo GX plus. This product was expected to replace the SPARCclassic X. UK availability was planned for March 1995.
(1995-02-08)

SPARK
language An annotated subset of Ada supported by tools supplied by Praxis Critical Systems (originally by PVL).
Home (http://www.sparkada.com).
(2001-07-12)

SPARKS
Fortran superset, used in Fundamentals of Data Structures, E. Horowitz S. Sahni, Computer Science Press 1976.

sparse
A sparse matrix (or vector, or array) is one in which most of the elements are zero. If storage space is more important than access speed, it may be preferable to store a sparse matrix as a list of (index, value) pairs or use some kind of hash scheme or associative memory.
(1995-01-16)

Spatial Technologies
company Distributors of the ACIS solid modelling engine.
[More info?]
(1999-06-29)

spawn
operating system To create a child process in a multitasking operating system. E.g. Unix's fork system call or one of the spawn() library routines provided by most MS-DOS, Novell NetWare and OS/2 C compilers - spawnl(), spawnle(), etc.
(1995-03-28)

SPC
1. business Statistical Process Control. Something to do with quality management.
[What is it?]
2. body Software Productivity Centre.
3. company Software Publishing Corporation.
(1998-12-22)

SPD
Serial Presence Detect

SPDL
Standard Page Description Language
A draft within the ODA standard.
(1995-03-28)

SPE
Software Practice and Experience

Speakeasy
Simple array-oriented language with numerical integration and differentiation, graphical output, aimed at statistical analysis.
[ Speakeasy , S. Cohen, SIGPLAN Notices 9(4), (Apr 1974)].
[ Speakeasy-3 Reference Manual , S. Cohen et al. 1976].

speaker
1. hardware loudspeaker.
2. The person who is (assumed to be) talking.
(1996-12-01)

SPEC
benchmark, body Standard Performance Evaluation Corporation.
A non-profit corporation registered in California formed to establish, maintain and endorse a standardized set of relevant benchmarks that can be applied to the newest generation of high-performance computers (from SPEC's bylaws). The founders believe that the user community will benefit greatly from an objective series of applications-oriented tests, which can serve as common reference points and be considered during the evaluation process.
SPEC develops suites of benchmarks intended to measure computer performance. These are available to the public for a fee covering development and administration costs.
The current (14 Nov 94) SPEC benchmark suites are: CINT92 (CPU intensive integer benchmarks); CFP92 (CPU intensive floating-point benchmarks); SDM (UNIX Software Development Workloads); SFS (System level file server (NFS) workload).
Results (ftp://ftp.cdf.toronto.edu/pub/spectable)
SPEC also publishes a quarterly report of SPEC news and results, The SPEC Newsletter. Some issues are here (http://performance.netlib.org/performance/html/spec.html).
There is a FAQ about SPEC here (http://performance.netlib.org/performance/html/specfaq.html)
(1994-11-14)

Spec
A specification language. It expresses black box interface specifications for large distributed systems with real-time constraints. It incorporates conceptual models, inheritance and the event model. It is a descendant of MSG.84.
[ An Introduction to the Specification Language Spec , V. Berzins et al, IEEE Software 7(2):74-84 (Mar 1990)].

spec
specification

SPECbase_fp92
A variant of SPECfp92 that reports baseline results, using stricter run rules.
(1994-11-14)

SPECbase_int92
A variant of SPECint92 that reports baseline results, using stricter run rules.
(1994-11-14)

SPECbaserate
A variant of SPECrate that reports baseline results, using stricter run rules.
See SPECrate_base_fp92, SPECrate_base_int92.
(1994-11-14)

SPEC CFP92
benchmark A benchmark suite from SPEC containing 14 programs performing floating-point computations. 12 are written in Fortran and two in C. They can be used to estimate the performance of CPU, memory system, and compiler code generation.
The individual programs are Circuit Design, Simulation (2x), Quantum Chemistry (3x), Electromagnetism, Geometric Translation, Optics, Robotics, Medical Simulation, Quantum Physics, Astrophysics, NASA Kernels.
The benchmark suite can be used either for speed measurement, resulting in SPEC ratios, or for throughput measurement, resulting in SPEC rates
(1994-11-15)

SPEC CINT92
benchmark A benchmark suite from SPEC, which contains six benchmarks in C performing integer computations. They can be used to estimate the performance of CPU, memory system, and compiler code generation.
The individual programs are Logic Design (2x), Interpreter, Data Compression, Spreadsheet. The approximate size of the suite is 85500 lines of source code without comments.
The benchmark suite can be used either for speed measurement, resulting in SPEC ratios, or for throughput measurement, resulting in SPEC rates
(1994-11-15)

SPECfp92
benchmark A benchmark result derived from the results of a set of CPU intensive floating-point benchmarks from SPEC (the geometric mean of the 14 SPEC ratios of CFP92). SPECfp92 can be used to estimate a machine's single-tasking performance on floating-point code.
Results (ftp://ftp.nosc.mil/pub/aburto/specfp92.tbl)
(1994-11-14)

SPECIAL
A SRI specification language. [HDM?]
[ SPECIAL - A Specification and Assertion Language , L. Robinson et al, TR CSL-46, SRI, Jan 1987].

special-case
To write unique code to handle input to or situations arising in a program that are somehow distinguished from normal processing. This would be used for processing of mode switches or interrupt characters in an interactive interface (as opposed, say, to text entry or normal commands), or for processing of hidden flags in the input of a batch program or filter.
[Jargon File]

Special Interest Group
(SIG) One of several technical areas, sponsored by the Association for Computing Machinery. Well-known SIGs include SIGPLAN (the Special Interest Group on Programming Languages), SIGARCH (the Special Interest Group for Computer Architecture) and SIGGRAPH (the Special Interest Group for Computer Graphics).
(1994-10-27)

specialisation
A reduction in generality, usually for the sake of increased efficiency. If a piece of code is specialised for certain values of certain variables (usually function arguments), this is known as partial evaluation . In a language with overloading (e.g. Haskell), an overloaded function might be specialised to a non-overloaded instance at compile-time if the types of its arguments are known.

specification
jargon (spec) A document describing how some system should work.
(2001-02-06)

specific markup
In computerised document preparation, a method of adding formatting commands to the text to control layout, such as new line, new page, centre text etc.
Compare generic markup.
(2001-02-06)

SPECint92
benchmark A benchmark result derived from the results of a set of integer benchmarks from SPEC (geometric mean of the 6 SPEC ratios of CINT92) which can be used to estimate a machine's single-tasking performance on integer code.
SPECint92 obsoletes SPECint89.
Results (ftp://ftp.nosc.mil/pub/aburto/specin92.tbl)
See also SPECbase_int92.
(1994-11-14)

SPECmark
benchmark The average of a set of floating-point and integer SPEC benchmark results.
While the old average SPECmark89 has been popular with the industry and the press, SPEC has intentionally *not* defined an average SPECmark92 over all CPU benchmarks of the 1992 suites (CINT92 and CFP92), for the following reasons: With 6 integer (CINT92) and 14 floating-point (CFP92) benchmarks, the average would be biased too much towards floating-point. Customers' workloads are different, some integer-only, some floating-point intensive, some mixed. Current processors have developed their strengths in a more diverse way (some more emphasizing integer performance, some more floating-point performance) than in 1989.
Some SPECmark results are available here (ftp://ftp.cdf.toronto.edu/pub/spectable).
See also SPECint92, SPECfp92, SPECrate_int92, SPECrate_fp92.
(1994-11-15)

SPECmark89
benchmark An old SPECmark benchmark result derived from a set of floating-point and integer benchmarks. It is the geometric mean of ten SPEC ratios of the outdated 1989 SPEC benchmark suite. The use of SPECmark89 is strongly discouraged, having been superseded by CINT92 and CFP92.
(1994-11-29)

SPECOL
[ SPECOL - A Computer Enquiry Language for the Non-Programmer , B.T. Smith, Computer J 11:121 (1968)].

SPEC rate
benchmark Results of the throughput measurement using SPEC benchmark suites CINT92 and CFP92. With the throughput measurement method, several copies of a given benchmark are executed. The method is particularly suitable for multiprocessor systems.
The results, called SPEC rate, express how many jobs of a particular type (characterised by the individual benchmark) can be executed in a given time (The SPEC reference time happens to be a week, the execution times are normalized with respect to a VAX 11/780). The SPEC rates therefore characterise the capacity of a system for compute-intensive jobs of similar characteristics.
See also SPEC ratio.
(1994-11-14)

SPECrate_base_fp92
benchmark A variant of SPECrate_fp92 that reports baseline results, using stricter run rules.
(1994-11-15)

SPECrate_fp92
benchmark A benchmark result derived from the results of a set of floating-point benchmarks (the geometric mean of 14 SPEC rates from CFP92) run multiple times simultaneously, which can be used to estimate a machine's overall multi-tasking throughput for floating-point code. It is typically used on multiprocessor machines.
SPECrate_fp92 obsoletes SPECfpThruput89.
(1994-11-14)

SPECrate_int92
benchmark The integer SPECrate derived from the results of a set of integer benchmarks (the geometric mean of six SPEC rates from CINT92) run multiple times simultaneously, and can be used to estimate a machine's overall multi-tasking throughput for integer code. It is typically used on multiprocessor machines.
SPECrate_int92 obsoletes SPECintThruput89.
See also SPECbaserate.
(1994-11-14)

SPEC ratio
benchmark Results for each individual benchmark of the SPEC benchmark suites, for example CINT92 and CFP92, expressed as the ratio of the wall clock time to execute one single copy of the benchmark, compared to a fixed SPEC reference time , which was chosen early-on as the execution time on a VAX 11/780.
See also SPEC rate.
(1994-11-14)

Spectral Band Replication
audio, compression (SBR) Guessing the nontransmitted higher frequency range of a compressed audio file by some helper bits (transmiited with the stream) and the transmitted base band. SBR allows a restoration (not reconstruction) of the upper frequency range without lots of bits. It was developed by Coding Technology (http://www.codingtechnolgy.com/), and is useful for medium and high quality coding at low and medium data rates. It is used by Digital Radio Mondiale and MP3 Pro.
(2001-12-22)

Spectrum
ZX Spectrum

speculative evaluation
parallel A technique used in parallel processing where some evaluation may be started before it is known whether it is needed (Eager evaluation). This may result in some wasted processing and may introduce unnecessary non-terminating processes but it can reduce the overall run time by making some needed results available earlier than they would be otherwise.
Opposite: conservative evaluation.
(1995-05-05)

speculative execution
processor A technique allows a superscalar processor to keep its functional units as busy as possible by executing instructions before it is known that they will be needed.
The Intel P6 uses speculative execution.
Compare branch prediction, speculative evaluation.
(1995-05-05)

Speech Application Programming Interface
programming, standard (SAPI) Microsoft's standard API for speech synthesis and speech recognition in Windows 95. The idea is to let developers try out and use various low-level speech software from any number of verndors, while retaining the same API.
Mike Rozak is the lead of the SAPI project at Microsoft. Numerous major speech vendors have announced SAPI-support plans. SRAPI, the competing speech recognition API by Lotus/WordPerfect, is fast becoming obsolete.
(1996-03-04)

speech recognition
application (Or voice recognition) The identification of spoken words by a machine. The spoken words are digitised (turned into sequence of numbers) and matched against coded dictionaries in order to identify the words.
Most systems must be trained, requiring samples of all the actual words that will be spoken by the user of the system. The sample words are digitised, stored in the computer and used to match against future words. More sophisticated systems require voice samples, but not of every word. The system uses the voice samples in conjunction with dictionaries of larger vocabularies to match the incoming words. Yet other systems aim to be speaker-independent , i.e. they will recognise words in their vocabulary from any speaker without training.
Another variation is the degree with which systems can cope with connected speech. People tend to run words together, e.g. next week becomes neksweek (the t is dropped). For a voice recognition system to identify words in connected speech it must take into account the way words are modified by the preceding and following words.
It has been said (in 1994) that computers will need to be something like 1000 times faster before large vocabulary (a few thousand words), speaker-independent, connected speech voice recognition will be feasible.
(1995-05-05)

Speech Recognition Application Program Interface
programming (SRAPI) Novell, Inc.'s high level API for speech recognition which will be rolled out with WordPerfect 7.0 and Perfect Office 7.0. SRAPI is in competition with SAPI from Microsoft, a high level API which currently addresses command and control (but not yet dictation).
[Byte; March 1996; page 30; Battle of the Dictaion APIs ].
(1996-03-12)

speech synthesis
The generation of an sound waveform of human speech from a textual or phonetic description. See also speech recognition.
There are demonstrations which say a number (http://www.cs.yale.edu/cgi-bin/saynumber.au) or say a phrase (http://wwwtios.cs.utwente.nl/say/form/).

SPEED
Early system on LGP-30. Listed in CACM 2(5):16 (May 1959).

Speedcoding
language A pseudocode interpreter for mathematics on IBM 701 and IBM 650 written by John Backus in 1953.
[Sammet 1969, p. 130].
(2000-03-27)

Speedcoding 3
language [Listed in CACM 2(5):16, May 1959].
(2000-03-27)

SPEEDEX
Early system on IBM 701. Listed in CACM 2(5):16 (May 1959).

speedometer
A pattern of lights displayed on a linear set of LEDs (today) or nixie tubes (yesterday, on ancient mainframes). The pattern is shifted left every N times the operating system goes through its main loop. A swiftly moving pattern indicates that the system is mostly idle; the speedometer slows down as the system becomes overloaded. The speedometer on Sun Microsystems hardware bounces back and forth like the eyes on one of the Cylons from the wretched Battlestar Galactica TV series.
Historical note: One computer, the GE 600 (later Honeywell 6000) actually had an *analog* speedometer on the front panel, calibrated in instructions executed per second.
[Jargon File]

spell
incantation

spelling flame
messaging A Usenet posting ostentatiously correcting a previous article's spelling, possibly as a way of casting scorn on the point the article was trying to make, instead of actually responding to that point (compare dictionary flame). Of course, people who are more than usually slovenly spellers are prone to think *any* correction is a spelling flame. It's an amusing comment on human nature that spelling flames themselves often contain spelling errors.
[Jargon File]
(1994-11-22)

Sperry Corporation
company The company which merged with the Burroughs Corporation to form Unisys Corporation. Divisions included Sperry Univac, Sperry Flight Systems, and others. Some of these were sold off after the merger.
(1995-03-27)

Sperry Univac
company One of the divisions of Sperry Corporation at the time that company merged with the Burroughs Corporation to form Unisys Corporation.
[Connection with the Univac computer?]
(1994-11-22)

SPG
System Program Generator. A compiler-writing language.
[ A System Program Generator , D. Morris et al, Computer J 13(3) (1970)].

SPGA
Staggered Pin Grid Array

SPI
Software in the Public Interest, Inc.

Spice Lisp
language A flavour of Lisp, the sources of which (in Lisp) are available from CMU.
(1998-03-14)

SPID
Service Provider ID

spider
World-Wide Web (Or robot , crawler ) A program that automatically explores the World-Wide Web by retrieving a document and recursively retrieving some or all the documents that are referenced in it. This is in contrast with a normal web browser operated by a human that doesn't automatically follow links other than inline images and URL redirection.
The algorithm used to pick which references to follow strongly depends on the program's purpose. Index-building spiders usually retrieve a significant proportion of the references. The other extreme is spiders that try to validate the references in a set of documents; these usually do not retrieve any of the links apart from redirections.
The standard for robot exclusion is designed to avoid some problems with spiders.
Early examples were Lycos and WebCrawler.
Home (http://info.webcrawler.com/mak/projects/robots/robots.html).
(2001-04-30)

Spiderweb
tool A program for creating versions of Knuth's WEB self-documenting programs ( literate programming ).
(ftp://princeton.edu/).
(1999-08-26)

spiffy
/spi'fee/ 1. Said of programs having a pretty, clever, or exceptionally well-designed interface. Have you seen the spiffy X version of empire yet? This was common mainstream slang during the 1940s.
2. Said sarcastically of a program that is perceived to have little more than a flashy interface going for it. Which meaning should be drawn depends delicately on tone of voice and context.
[Jargon File]

spike
jargon To defeat a selection mechanism by introducing a (sometimes temporary) device that forces a specific result. The word is used in several industries; telephone engineers refer to spiking a relay by inserting a pin to hold the relay in either the closed or open state, and railroaders refer to spiking a track switch so that it cannot be moved. In programming environments it normally refers to a temporary change, usually for testing purposes (as opposed to a permanent change, which would be called hard-coded).
(1999-10-18)

spill
register spilling

spin
Equivalent to buzz. More common among C and Unix programmers.
[Jargon File]

spiral model
programming A software life-cycle model which supposes incremental development, using the waterfall model for each step, with the aim of managing risk. In the spiral model, developers define and implement features in order of decreasing priority.
[Barry Boehm, A Spiral Model of Software Development and Enhancement , ACM SIGSOFT Software Engineering Notes, August 1986].
[Barry Boehm A Spiral Model of Software Development and Enhancement IEEE Computer, vol.21, #5, May 1988, pp 61-72].
[Better explanation?]
(1997-11-23)

SPIT
Language for IBM 650. (See IT).

SPITBOL
SPeedy ImplemenTation of snoBOL. Macro SPITBOL - A SNOBOL4 Compiler , R.B.K. Dewar et al, Soft Prac Exp 7:95-113, 1971.
Current versions: SPITBOL-68000, Sparc SPITBOL from Catspaw Inc, (719)539-3884.

SP/k
language (Subset PL/I, k=1..8) A series of PL/I subsets, simplified for student use.
[ SP/k: A System for Teaching Computer Programming , R.C. Holt et al, CACM 20(5):301-309, May 1977].
(1997-12-27)

SPL
1. Synchronous Programming Language. A DSP language. Introduction to the SPL Compiler , Computalker Consultants, 1986.
2. Space Programming Language. Realtime language used by the US Air Force for aerospace software. Aka SPL/J6. Similar to JOVIAL. Space Programming Language Development , SAMSO TP 70-325, System Development Corp (Sep 1970). (See CLASP).
3. System Programming Language. HP, 1977. An ALGOL-like language for the HP3000 computer allowing inline assembly code. MPE, the OS for the HP3000 was written in SPL. Pub.No.30000-90024, HP. See also SPLash!.
4. Systems Programming Language.
PRIME Computer, 80's. A variant of PL/I used on PRIME computers. PL/I subset G, less I/O plus a few extensions. SPL User's Reference Guide, Prime. (See PL/P.)
5. Systems Programming Language.
A PL/I subset/extension for the P1000.
D.B. Wortman, U Toronto.
Philips Data Sys, Netherlands, 1971.
Symbolic constants, pointer arithmetic, inline assembly code. Used to implement compilers, operating systems, and database.
[ Experiences With SPL , J. Klunder in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, pp. 385-393].
[Can 4 and 5 be the same?]
6. Student Programming Language.
A translator-interpreter for a dialect of PL/I.
7. Set Priority Level
[Jargon File]
(1995-02-07)

SPL/1
SPL/I

SPLash!
1. Software Research Northwest, 1987. Compiler for SPL[3].
2. Systems Programming LAnguage for Software Hackers. Mentioned in TeX for the Impatient, Paul W. Abrahams, A-W 1990.

splash screen
programming An initial screen displayed by interactive software, usually containing a logo, version information, author credits and/or a copyright notice.
The term originated among Macintosh users and spread, the synonym banner was once also used.
[Jargon File]
(1998-04-28)

splat
1. Name used in many places (DEC, IBM, and others) for the asterisk ( * ) character (ASCII 0101010). This may derive from the squashed-bug appearance of the asterisk on many early line printers.
2. Name used by some MIT people for the # character (ASCII 35).
3. (Rochester Institute of Technology) The feature key on a Mac (same as alt).
4. An obsolete name used by some people for the Stanford/ITS extended ASCII circle-x character. This character is also called blobby and frob , among other names; it is sometimes used by mathematicians as a notation for tensor product .
5. An obsolete name for the semi-mythical Stanford extended ASCII circle-plus character.
See also ASCII.
[Jargon File]
(1995-01-19)

SPL/I
Signal Processing Language One.
(Or SPL/1 ) A language designed by Intermetrics for acoustic signal processing. It has graphics and multiprocessing features.
[ SPL/I Language Reference Manual , M.S. Kosinski, Intermetrics Report 172-1 (July 1976)].
(1995-01-19)

SPLINTER
A PL/I interpreter with debugging features.
[Sammet 1969, p.600].
(1995-01-19)

split
chunker

Split-C
Parallel extension of C for distributed memory multiprocessors. Aims to provide efficient low-level access to the underlying machine.
CM5 (ftp://ftp.cs.berkeley.edu/ucb/CASTLE/Split-C). Mail-list: split-c@boing.cs.berkeley.edu.

splot
graphics, tool A graph plotting package from Stanford University which produces encapsulated PostScript.
splot is more flexible than gnuplot in producing histograms, and you can set font and symbol sizes individually.
(1997-09-26)

SPLX
language Specification Language for Parallel cross-product of processes and sequential modules.
[ Parallel Module Specification on SPLX , C.F. Nourani, SIGPLAN Notices 27(1):114-115, Jan 1992].
(1997-09-26)

SPM
Sequential Parlog Machine

SPMD
single processor/multiple data

SPML
server-parsed HTML

spod
chat (Great Britain) A lower form of life found on chat systems and MUDs. The spod has few friends in RL and uses chat instead, finding communication easier and preferable over the net. He has all the negative traits of the computer geek without having any interest in computers per se. Lacking any knowledge of, or interest in, how networks work, and considering his access a God-given right, he is a major irritant to sysadmins, clogging up lines in order to reach new MUDs, following passed-on instructions on how to sneak his way onto Internet ( Wow! It's in America! ) and complaining when he is not allowed to use busy routes. A true spod will start any conversation with Are you male or female? (and follow it up with Got any good numbers/IDs/passwords? ) and will not talk to someone physically present in the same terminal room until they log onto the same computer that he is using and enter chat.
Compare newbie, tourist, weenie, twink, terminal junkie, dweeb.
[Jargon File]
(1998-01-18)

spoiler
1. A remark which reveals important plot elements from books or movies, thus denying the reader (of the article) the proper suspense when reading the book or watching the movie.
2. Any remark which telegraphs the solution of a problem or puzzle, thus denying the reader the pleasure of working out the correct answer (see also interesting). Either sense readily forms compounds like total spoiler , quasi-spoiler and even pseudo-spoiler .
By convention, Usenet news articles which are spoilers in either sense should contain the word spoiler in the Subject: line, or guarantee via various tricks that the answer appears only after several screens-full of warning, or conceal the sensitive information via rot13, or some combination of these techniques.
[Jargon File]
(1995-01-18)

sponge
A special case of a Unix filter that reads its entire input before writing any output; the canonical example is a sort utility. Unlike most filters, a sponge can conveniently overwrite the input file with the output data stream. If a file system has file versioning (as ITS did and VMS does now) the sponge/filter distinction loses its usefulness, because directing filter output would just write a new version.
See also slurp.
[Jargon File]
(1995-01-18)

spoo
Variant of spooge, sense 1.
[Jargon File]

spoof
See spoofing.

spoofing
A technique used to reduce network overhead, especially in wide area networks (WAN).
Some network protocols send frequent packets for management purposes. These can be routing updates or keep-alive messages. In a WAN this can introduce significant overhead, due to the typically smaller bandwidth of WAN connections.
Spoofing reduces the required bandwidth by having devices, such as bridges or routers, answer for the remote devices. This fools (spoofs) the LAN device into thinking the remote LAN is still connected, even though it's not. The spoofing saves the WAN bandwidth, because no packet is ever sent out on the WAN.
LAN protocols today do not yet accommodate spoofing easily.
[ Network Spoofing by Jeffrey Fritz, BYTE, December 1994, pages 221 - 224].
(1995-01-13)

spooge
/spooj/ Inexplicable or arcane code, or random and probably incorrect output from a computer program.
[Jargon File]
(1995-01-12)

SPOOL
operating system Acronym for Simultaneous Peripheral Operation On-Line; but see also spool.
[Jargon File]
(1996-05-20)

Spool
language An object-oriented logic programming language.
[ An Experience with a Prolog Based Language , K. Fukunaga et al, SIGPLAN Notices 21(11):224-231 (Nov 1986) (OOPSLA '86)].
[Jargon File]
(1995-03-25)

spool
operating system To send files to some device or program (a spooler or demon) that puts them in a queue for later processing of some kind. Without qualification, the spooler is the print spooler controlling output of jobs to a printer; but the term has been used in connection with other peripherals (especially plotters and graphics devices) and occasionally even for input devices.
The term SPOOL has been attributed to IBM as an acronym for Simultaneous Peripheral Operation On-Line but it's widely thought to have been contrived for effect.
[No connection with spool of magnetic tape ?]
[Jargon File]
(1996-05-20)

spooler
operating system, tool Software or hardware to which data is spooled and which processes that data (e.g. prints it) in the background.
(1995-03-25)

spool file
Any file to which data is spooled to await the next stage of processing. Especially used in circumstances where spooling the data copes with a mismatch between speeds in two devices or pieces of software. For example, when you send mail under Unix, it's typically copied to a spool file to await a transport demon's attentions.
[Jargon File]

SpoolView
tool A printing system for Unix. SpoolView can control several printers connected to a TCP/IP network. Different printers can be loaded with different paper and forms.
After submitting a print request, the user can change the printer, form, number of copies or priority.
Administrators can register new printers, change paper forms on printers, cancel requests, suspend printers.
Light Infocon S.A. (http://www.light.com.br/).
(1998-12-21)

spreadsheet
application, tool (Or rarely worksheet ) A type of application program which manipulates numerical and string data in rows and columns of cells. The value in a cell can be calculated from a formula which can involve other cells. A value is recalculated automatically whenever a value on which it depends changes. Different cells may be displayed with different formats.
Some spreadsheet support three-dimensional matrices and cyclic references which lead to iterative calculation.
An essential feature of a spreadsheet is the copy function (often using drag-and-drop). A rectangular area may be copied to another which is a multiple of its size. References between cells may be either absolute or relative in either their horizontal or vertical index. All copies of an absolute reference will refer to the same row, column or cell whereas a relative reference refers to a cell with a given offset from the current cell.
Many spreadsheets have a What-if feature. The user gives desired end conditions and assigns several input cells to be automatically varied. An area of the spreadsheet is assigned to show the result of various combinations of input values.
Spreadsheets usually incorporate a macro language, which enables third-party writing of worksheet applications for commercial purposes.
In the 1970s, a screen editor based calculation program called Visi-Calc was introduced. It was probably the first commercial spreadsheet program. Soon Lotus Development Corporation released the more sophisticated Lotus 1-2-3. Clones appeared, (for example VP-Planner from Paperback Software with CGA graphics, Quattro from Borland) but Lotus maintained its position with world-wide marketing and support - and lawyers! For example, Borland was forced to abandon its Lotus-like pop-up menu.
While still developing 1-2-3, Lotus introduced Symphony, which had simultaneously active windows for the spreadsheet, graphs and a word processor.
Microsoft produced MultiPlan for the Macintosh, which was followed by Excel for Macintosh, long before Microsoft Windows was developed.
When Microsoft Windows arrived Lotus was still producing the text-based 1-2-3 and Symphony. Meanwhile, Microsoft launched its Excel spreadsheet with interactive graphics, graphic charcters, mouse support and cut-and-paste to and from other Windows applications. To compete with Windows spreadsheets, Lotus launched its Allways add-on for 1-2-3 - a post-processor that produced Windows-quality graphic characters on screen and printer. The release of Lotus 1-2-3 for Windows was late, slow and buggy.
Today, Microsoft, Lotus, Borland and many other companies offer Windows-based spreadsheet programs.
The main end-users of spreadsheets are business and science.
Spreadsheets are an example of a non-algorithmic programming language.
[Dates?]
(1995-03-28)

spread spectrum communications
communications (Or spread spectrum ) A technique by which a signal to be transmitted is modulated onto a pseudo-random, noise-like, wideband carrier signal, producing a transmission with a much larger bandwidth than that of the data modulation.
Reception is accomplished by cross correlation of the received wide band signal with a synchronously generated replica of the carrier.
Spread-spectrum communications offers many important benefits:
Low probability of detection, interception or determination of the transmitter's location. To an observer who does not possess information about the carrier, the transmission is indistinguishable from other sources of noise.
High immunity against interference and jamming (intentional interference). The presence of (narrowband) interference signals only decreases the channel's signal-to noise ratio and therefore its error rate, which can be dealt with by using error correcting codes. A jammer would have to use wideband interference signals, which would require very high power (again assuming that the jammer does not know the characteristics of the carrier).
High immunity against adverse effects of multipath transmission. In the presence of multiple paths between transmitter and receiver (e.g. by reflected signals), signals of certain frequencies can be cancelled at certain locations when the difference in path delays between multiple propagation paths cause the signals to arrive out of phase. This effect is particularly troublesome in narrowband mobile communications, where it causes blind spots - locations where no signal can be received.
Transmitter/receiver pairs using independent random carriers can operate in the same frequency range with minimal interference. These are called Code Division Multiple Access (CDMA) systems. Increasing the number of T/R pairs again only gradually increases each channel's error rate. In contrast, narrowband systems can only accomodate a fixed number of channels determined by available bandwidth and channel width (data rate).
When the data modulation cannot be distinguished from the carrier modulation, and the carrier modulation is random to an unwanted observer, the spread spectrum system assumes cryptographic capabilities, with the carrier modulation taking on the function of a key in a cipher system.
The most important practical modes of spread spectrum coding are Direct Sequence (DS) and Frequency Hopping (FH). In DS, a pseudo random sequence is phase-shift-keyed (PSK) onto the carrier. In FH, a frequency synthesizer is driven by a pseudo random sequence of numbers to generate output frequencies that hop around in the desired frequency range.
Spread Spectrum development began during World War II, with the earliest studies dating from the 1920s. Most papers remained classified until the 1980s.
Frequency hopping spread spectrum was invented by Hedy Lamarr ( the most beautiful girl in the world , Samson and Delilah etc.) and the composer George Antheil. They held a patent filed in 1942. Direct sequence spread spectrum was invented by Paul Kotowski and Kurt Dannehl at Telefunken.
The technique is used extensively in military communications today. Commercial applications include cellular telephony and mobile networking.
[ Spread Spectrum Communications , Charles E. Cook et al (Ed.), IEEE Press, New York, 1983. ISBN 0-87942-170-3].
Hedy Lamarr (http://www.sirius.be/lamarr.htm), (http://www.ncafe.com/chris/pat2/).
(2001-08-08)

SPRING
String PRocessING language

SPRINT
List processing language involving stack operations. SPRINT - A Direct Approach to List Processing Languages , C.A. Kapps, Proc SJCC 30 (1967). Sammet 1969, p 462.

Sprintnet
A public packet-switched network using the ITU-T X.25 protocols, that provides dial-up access to services like Delphi, Portal, GEnie and Compuserve.
(1994-10-17)

Sprite
operating system An operating system from Berkeley supporting multiprocessing and distributed files.
[Details? References?]
(1994-10-17)

sprite
graphics, file format A small bitmap image, often used in animated games but also sometimes used as a synonym for icon.
(1997-06-29)

sprocket feed
printer (Or tractor feed , pin feed ) A method some printers use to move paper by rotating wheels with pins or studs (tractors) that engage holes along the sides of the (usually fanfold) paper. A sprocket feed printer does not slip unless the paper jams, but cannot feed standard typing paper or work with a sheet feeder like friction feed.
Some paper for sprocket feed printers has the edge strips with the holes in detachable from the rest of the paper. These strips are known as chad (and other names).
(1997-06-29)

SPS
Symbolic Programming System. Assembly language for IBM 1620.

SPSS
Statistical Package for the Social Sciences

SPSS, Inc.
company A company selling a variety of software under the general description of Statistical Product and Service Solutions .
The company was founded to distribute and support the Statistical Package for the Social Sciences, but now supplies software or four broad markets: data mining, survey/market research, quality improvement, and scientific research.
Home (http://www.spss.com/).
(1999-07-20)

SPUR
An early system on the IBM 650.
[Listed in CACM 2(5):16 (May 1959)].
(1994-12-01)

SPX
1. networking Sequenced Packet Exchange.
2. application A graphics program for the Atari microcomputer.
(ftp://src.doc.ic.ac.uk/computing/systems/atari/umich/Graphics/spx_v18.lzh).
3. Simplex.
(1997-03-04)

spx
filename extension The filename extension for Screen Peace eXtension files.
(1995-03-14)

sqcap
LaTeX inverted square U. The symbol for greatest lower bound.
(1994-12-01)

sqcup
LaTeX square U. The symbol for least upper bound.
(1994-12-01)

SQE
Signal Quality Error
IEEE 802.3, Ethernet. Equivalent to D/I/X Collision Presence Test .
(1995-04-14)

SQL
language, database, standard /S Q L/ An industry-standard language for creating, updating and, querying relational database management systems.
SQL was developed by IBM in the 1970s for use in System R. It is the de facto standard as well as being an ISO and ANSI standard. It is often embedded in general purpose programming languages.
The first SQL standard, in 1986, provided basic language constructs for defining and manipulating tables of data; a revision in 1989 added language extensions for referential integrity and generalised integrity constraints. Another revision in 1992 provided facilities for schema manipulation and data administration, as well as substantial enhancements for data definition and data manipulation.
Development is currently underway to enhance SQL into a computationally complete language for the definition and management of persistent, complex objects. This includes: generalisation and specialisation hierarchies, multiple inheritance, user defined data types, triggers and assertions, support for knowledge based systems, recursive query expressions, and additional data administration tools. It also includes the specification of abstract data types (ADTs), object identifiers, methods, inheritance, polymorphism, encapsulation, and all of the other facilities normally associated with object data management.
The emerging SQL3 standard is expected to be complete in 1998.
According to Allen G. Taylor, SQL does _not_ stand for Structured Query Language . That, like SEQUEL (and its pronunciation /see'kw*l/), was just another unofficial name for a precursor of SQL. However, the IBM SQL Reference manual for DB2 and Craig Mullins's DB2 Developer's Guide say SQL _does_ stand for Structured Query Language .
SQL Standards (http://www.jcc.com/sql_stnd.html).
An SQL parser (ftp://ftp.uu.net/published/oreilly/nutshell/lexyacc/) is described in Lex Yacc , by Levine, Mason Brown published by O'Reilly.
The 1995 SQL Reunion: People, Projects, and Politics (http://www.mcjones.org/System_R/SQL_Reunion_95/).
[ A Guide to the SQL Standard , C.J. Date, A-W 1987].
[ SQL for Dummies , Allen G. Taylor, IDG Books Worldwide].
(2000-07-07)

SQL2
database, standard, language An extended version of the SQL standard.
(1995-03-20)

SQL3
database, standard, language A draft standard for another extension of SQL. The latest SQL3 Working Draft addresses the requirement for objects and object identifiers in SQL and also specifies supporting features such as encapsulation, subtypes, inheritance, and polymorphism.
In the USA, SQL3 is being processed as both an ANSI Domestic ( D ) project and as an ISO project. It is expected to be complete in 1998.
November 1992 paper (ftp://speckle.ncsl.nist.gov/isowg3/dbl/BASEdocs/sql3overview.txt).
Working draft (ftp://gatekeeper.dec.com/pub/standards/sql/).
[ISO/IEC SQL Revision. ISO-ANSI Working Draft Database Language SQL (SQL3), Jim Melton - Editor, document ISO/IEC JTC1/SC21 N6931, ANSI, July 1992].
[Current Status?]
(2002-04-21)

SQL Access Group
body The origanisaton which defined Call-Level Interface, on which ODBC is based. It is now part of X/Open.
[Address, details?]
(1995-11-05)

SQL/DS
A database package from IBM including a relational DBMS.

SQL Module Language
A language used to interface other languages (Ada, C, COBOL) to SQL-based DBMSes. It is an ANSI standard.
Version: Ada/SAME by Informix.
(1994-11-23)

SQL Server
database (Note capitalised)
1. Sybase SQL Server.
Sybase SQL Server Professional for Solaris and Windows NT.
2. Microsoft SQL Server.
[What is the connection between these two?]
(1997-12-07)

SQL server
database (Note not capitalised) Any database management system (DBMS) that can respond to queries from clients formatted in the SQL language.
Two popular examples are Microsoft SQL Server and Sybase SQL Server.
(1997-12-07)

SQLWindows
programming, product A package used to graphically develop MS-Windows client-server applications. Sold by Gupta Corporation.
Home (http://www.wji.com/gupta/w1000030.html). Demos FTP (ftp://wji.com/gupta/sqlw.demodisk/).
(1995-07-05)

SQR
database, language A fourth generation language for the creation of reports from databases. SQR is interpreted to dynamically generate SQL queries and format the results.
Originally a Sybase product, it was then sold to MITI, who subsequently changed their name to SQRIBE.
SQR Server supports native database access for all major DBMSs and the use of platform independent Java code.
(1998-09-19)

SQRIBE
company The company formerly known as MITI which bought SQR from Sybase.
Home (http://www.sqribe.com/).
(1998-09-24)

sqsubseteq
LaTeX name for a symbol like a capital E without the bottom half of its vertical line.
In domain theory,
x sqsubseteq y
means x is no more defined that y. This expression only has meaning if x and y are comparable elements of some partially ordered set.
(1994-11-24)

Square
language A query language, a precursor to SQL.
[ Specifying Queries as Relational Expressions: The SQUARE Data Sublanguage , R.E. Boyce et al, CACM 18(11):621-628 (Nov 1975)].
(1995-05-02)

square-headed boyfriend
square-headed girlfriend

square-headed girlfriend
humour A computer.
(1999-01-15)

square tape
storage Mainframe magnetic tape cartridges for use with IBM 3480 or compatible tape drives; or QIC tapes used on workstations and microcomputers. The term comes from the square (actually rectangular) shape of the cartridges; contrast round tape.
[Jargon File]

Squeak
language 1. graphics
[ Squeak: A Language for Communicating with Mice , L. Cardelli et al, Comp Graphics 19(3):199-204, July 1985].
See Newsqueak.
2. A Smalltalk implementation and a media authoring tool by members of the original Xerox PARC team which created Smalltalk (Alan Kay, Dan Ingalls et al). Squeak is an open-source implementation, with a highly portable virtual machine implemented in a subset of Smalltalk (translated into C and compiled by a C compiler of the target platform).
Squeak Home (http://www.squeak.org/).
SqueakCentral (http://www.squeakland.org/).
(2002-04-15)

Squiggol
Bird-Meertens Formalism

squirt the bird
jargon, communications To transmit a signal up to a satellite. Crew and talent are ready, what time do we squirt the bird?
(1997-04-29)

SR
language Synchronizing Resources.
A language for concurrent programming.
Resources encapsulate processes and variables they share. Each Resource can be separately compiled. Operations provide the primary mechanism for process interaction.
SR provides a novel integration of the mechanisms for invoking and servicing operations. Consequently, it supports local and remote procedure call, rendezvous, message passing, dynamic process creation, multicast, semaphores and shared memory.
Version 2.2 has been ported to Sun-3, Sun-4, Decstation, SGI Iris, HP PA, HP 9000/300, NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax, Apollo and others.
(ftp://cs.arizona.edu/sr/sr.tar.Z)
E-mail: sr-project@cs.arizona.edu . Mailing list: info-sr-request@cs.arizona.edu.
[ An Overview of the SR Language and Implementation , G. Andrews, ACM TOPLAS 10:51-86 (Jan 1988)].
[ The SR Programming Language: Concurrency in Practice , G.R. Andrews et al, Benjamin/Cummings 1993, ISBN 0-8053-0088-0].
(1992-09-01)

sr
networking The country code for Suriname.
(1999-01-27)

SRAM
static random access memory

SRAPI
Speech Recognition Application Program Interface

SRC Modula-3
Version 2.11
compiler(- C), run-time, library, documentation
The goal of Modula-3 is to be as simple and safe as it can be while meeting the needs of modern systems programmers. Instead of exploring new features, we studied the features of the Modula family of languages that have proven themselves in practice and tried to simplify them into a harmonious language. We found that most of the successful features were aimed at one of two main goals: greater robustness, and a simpler, more systematic type system. Modula-3 retains one of Modula-2's most successful features, the provision for explicit interfaces between modules. It adds objects and classes, exception handling, garbage collection, lightweight processes (or threads), and the isolation of unsafe features.
conformance:implements the language defined in SPwM3.
ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX RS/6000/AIX IBMRT/4.3 68000/NEXTSTEP i860/SVR4 SPARC/SunOS 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
Mailing list:comp.lang.modula3
E-mail: Bill Kalsow kalsow@src.dec.com
From DEC/SRC, Palo Alto, CA. Modula-3 Report (revised) Luca Cardelli et al.
(ftp://gatekeeper.dec.com/DEC/Modula-3/)
(1992/02/09)

SRDL
Small algebraic specification language, allows distfix operators.
[ A Constructive Method for Abstract Algebraic Software Specification , H. Klaeren, Theor Computer Sci 30, pp.134-204, 1984].

SR flip-flop
hardware (Or RS flip-flop ) A set/reset flip-flop in which activating the S input will switch it to one stable state and activating the R input will switch it to the other state.
The outputs of a basic SR flip-flop change whenever its R or S inputs change appropriately. A clocked SR flip-flop has an extra clock input which enables or disables the other two inputs. When they are disabled the outputs remain constant.
If we connect two clocked SR flip-flops so that the Q and /Q outputs of the first, master flip-flop drive the S and R inputs of the second, slave flip-flop, and we drive the slave's clock input with an inverted version of the master's clock, then we have an edge-triggered RS flip-flop. The external R and S inputs of this device are latched on one edge (transition) of the clock (e.g. the falling edge) and the outputs will only change on the next opposite (rising) edge.
If both R and S inputs are active (when enabled), a race condition occurs and the outputs will be in an indeterminate state. A JK flip-flop avoids this possibility.
(http://www.play-hookey.com/digital/logic4.html).
(1997-05-15)

SRI
SRI International

SRI International
company One of the world's largest contract research firms. Founded in 1946 in conjuction with Stanford University as the Stanford Research Institute, they later became fully independent and were incorporated as a non-profit organisation under U.S. and California laws.
SRI does research and development in many areas, independently and for hire. They produce and sell reports on the independent research.
Home (http://www.sri.com/).
Address: Palo Alto, California, USA; Cambridge, UK.
(1995-01-26)

SRL
1. Bharat Jayaraman.
[ Towards a Broader Basis for Logic Programming , B. Jayaraman, TR CS Dept, SUNY Buffalo, 1990].
2. Schema Representation language.
3. Structured Robot Language.
C. Blume W. Jacob, U Karlsruhe.
(1995-01-26)

SRP
A data link layer protocol.

SS7
Signalling System 7

SSA
Serial Storage Architecture

SSADM
A software engineering method and toolset required by some UK government agencies.

SSBA
Suite Synthetique des Benchmarks de l'AFUU

SSE
Streaming SIMD Extension

SSE-2
architecture Intel Corporation's extention of their SSE floating point SIMD instructions to handle 64-bit floating point numbers. SSE-2 was introduced with the Pentium 4.
(2001-12-23)

ssh
operating system 1. Steve's Shell.
2. Secure Shell.
(1997-01-07)

SSI
1. electronics small scale integration.
2. computer A kind of PDP-11(?).
[What kind?]
3. World-Wide Web server-side include.
(1996-09-08)

SSII
Societe de Service en Ingenierie Informatique

SSL
1. language Synthesizer Specification Language.
2. language Syntax/Semantic Language (S/SL).
3. networking, World-Wide Web Secure Sockets Layer.
(1996-09-08)

S/SL
Syntax/Semantic Language

SSLeay
networking, security, protocol A free implementation of Netscape's Secure Socket Layer protocol, coded from scratch, using only the publically available documentation of the various protocols, by Eric Young in Australia.
SSLeay supports the DES, RSA, RC4, and IDEA encryption algorithms.
[Home?]
(2000-12-07)

SSMA
chat some such meaningless acronym.
(1998-10-30)

SSR
Scalable Sampling Rate

st
networking The country code for Sao Tome and Principe.
(1999-01-27)

STAB
language A descendent of BCPL.
(1996-08-25)

STAB-11
[ The Translation and Interpretation of STAB-11 , A.J.T. Colin et al, Soft Prac Exp 5(2):123-138, Apr 1975].
(1996-08-25)

STAC
1. language Storage Allocation and Coding Program.
2. company The company responsible for Stacker and stac compression.
Home (http://www.stac.com/).
(1998-06-08)

stac compression
communications A data compression technique from STAC, used with modems. Stac compression is capable of compressing data by a factor of about four.
[Details?]
(1998-06-08)

stack
programming (See below for synonyms) A data structure for storing items which are to be accessed in last-in first-out order.
The operations on a stack are to create a new stack, to push a new item onto the top of a stack and to pop the top item off. Error conditions are raised by attempts to pop an empty stack or to push an item onto a stack which has no room for further items (because of its implementation).
Most processors include support for stacks in their instruction set architectures. Perhaps the most common use of stacks is to store subroutine arguments and return addresses. This is usually supported at the machine code level either directly by jump to subroutine and return from subroutine instructions or by auto-increment and auto-decrement addressing modes, or both. These allow a contiguous area of memory to be set aside for use as a stack and use either a special-purpose register or a general purpose register, chosen by the user, as a stack pointer.
The use of a stack allows subroutines to be recursive since each call can have its own calling context, represented by a stack frame or activation record. There are many other uses. The programming language Forth uses a data stack in place of variables when possible.
Although a stack may be considered an object by users, implementations of the object and its access details differ. For example, a stack may be either ascending (top of stack is at highest address) or descending. It may also be full (the stack pointer points at the top of stack) or empty (the stack pointer points just past the top of stack, where the next element would be pushed). The full/empty terminology is used in the Acorn Risc Machine and possibly elsewhere.
In a list-based or functional language, a stack might be implemented as a linked list where a new stack is an empty list, push adds a new element to the head of the list and pop splits the list into its head (the popped element) and tail (the stack in its modified form).
At MIT, pdl used to be a more common synonym for stack, and this may still be true. Knuth ( The Art of Computer Programming , second edition, vol. 1, p. 236) says:
Many people who realised the importance of stacks and queues
independently have given other names to these structures:
stacks have been called push-down lists, reversion storages,
cellars, dumps, nesting stores, piles, last-in first-out
( LIFO ) lists, and even yo-yo lists!
[Jargon File]
(1995-04-10)

Stack Environment Control Dump machine
(SECD machine) The first abstract machine for reducing lambda-calculus expressions, invented by P. J. Landin. The machine has four registers holding pointers to linked lists operated as push-down stacks which hold the information required for the evaluation of an expression. The registers point to (1) Stack which holds the arguments of partially evaluated expressions and results of completely evaluated ones, (2) Environment where the current expression being evaluated is stored, (3) Control which holds the machine instructions that manipulate the contents of the four registers that represent the expression being evaluated, (4) Dump on which the state of the machine is temporarily saved during the evaluation of expressions. See also Lispkit.

stack frame
activation record

stacking order
graphics The relationship between windows that (partially) obscure each other. A window manager will include commands to alter the stacking order by bringing a chosen window to the front (top) or back (bottom) of the stack.
(1995-03-21)

stack loader
hardware, storage (Or autoloader ) A magnetic tape drive that can automatically fetch tapes from a stack and load them.
Compare jukebox.
[Sequential or random access?]
(1996-12-12)

stack overflow
programming An error condition which results from attempting to push more items onto a stack than space has been allocated for. Often, this will simply overwrite the adjacent memory locations causing hard-to-trace bugs.
Stack overflow can result, for example, from an insufficient number of stack frames to handle hardware interrupts.
(1995-03-21)

stack pointer
architecture, programming (SP) A register or variable pointing to the top of a stack. If the stack is a full stack the SP points to the most recently pushed item, else if it is an empty stack, the PS points to the first empty location, where the next item will be pushed.
(1995-03-21)

stack puke
Some processor architectures are said to puke their guts onto the stack to save their internal state during exception processing. The Motorola 68020, for example, regurgitates up to 92 bytes on a bus fault. On a pipelined machine, this can take a while.
[Jargon File]
(1994-11-01)

stack traceback
programming (The results of) determining the sequence of nested procedure calls a program has made up to a certain point in its execution. A traceback may also show values of procedure arguments and local variables stored on the stack.
(1995-03-21)

STAGE2
A macro language.
[ The Mobile Programming System: STAGE2 , W.M. Waite, CACM 13:415 (1970)].
(1994-10-27)

Staggered Pin Grid Array
hardware (SPGA) A style of integrated circuit socket or pin-out with a staggered grid of pins around the edge of the socket, positioned as several squares, one inside the other.
SPGA is commonly used on motherboards for processors, e.g. Socket 5, Socket 7 and Socket 8.
See also PGA.
[Better description?]
(1999-08-04)

staircase
jaggies

staircasing
jaggies

stale pointer bug
programming (Or aliasing bug ) A class of subtle programming errors that can arise in code that does dynamic allocation, especially via malloc or equivalent.
If several pointers address (are aliases for ) a given hunk of storage, it may happen that the storage is freed or reallocated (and thus moved) through one alias and then referenced through another, which may lead to subtle (and possibly intermittent) lossage depending on the state and the allocation history of the malloc arena. This bug can be avoided by never creating aliases for allocated memory, or by use of a higher-level language, such as Lisp, which employs a garbage collector.
The term aliasing bug is nowadays associated with C programming, it was already in use in a very similar sense in the ALGOL 60 and Fortran communities in the 1960s.
See also smash the stack, fandango on core, memory leak, memory smash, spam.
[Jargon File]
(1995-05-09)

Stallman, Richard M.
Richard Stallman

stand-alone
jargon Capable of operating without other programs, libraries, computers, hardware, networks, etc. Exactly what is absent is presumed to be obvious from context.
We only run Windows on stand-alone PCs because it's too dangerous to run it on networked ones.
(1998-02-11)

standard
standard Standards are necessary for interworking, portability, and reusability. They may be de facto standards for various communities, or officially recognised national or international standards.
Andrew Tanenbaum, in his Computer Networks book, once said, The nice thing about standards is that there are so many of them to choose from , a reference to the fact that competing standards become a source of confusion, division, obsolescence, and duplication of effort instead of an enhancement to the usefulness of products.
Some bodies concerned in one way or another with computing standards are IAB (RFC and STD), ISO, ANSI, DoD, ECMA, IEEE, IETF, OSF, W3C.
(1999-07-06)

Standard Commands for Programmable Instruments
standard (SCPI) A standard complementing IEEE 488, developed by Hewlett-Packard and promoted by the SCPI Consortium.
(1994-11-01)

Standard d'Echange et de Transfert
standard (SET) A French standard for exchange of CAD data.
(1998-03-07)

standard for robot exclusion
World-Wide Web A proposal to try to prevent the havoc wreaked by many of the early World-Wide Web robots when they retrieved documents too rapidly or retrieved documents that had side effects (such as voting). The proposed standard for robot exclusion offers a solution to these problems.
(http://info.webcrawler.com/mak/projects/robots/norobots.html)
(1996-03-23)

Standard for the exchange of product model data
(STEP) A draft ISO standard for the exchange of CAD data.
See also PDES.
(1995-02-22)

Standard Generalised Markup Language
spelling ISO spell it Standard Generalized Markup Language .
(1996-12-13)

Standard Generalized Markup Language
language, text (SGML) A generic markup language for representing documents. SGML is an International Standard that describes the relationship between a document's content and its structure. SGML allows document-based information to be shared and re-used across applications and computer platforms in an open, vendor-neutral format. SGML is sometimes compared to SQL, in that it enables companies to structure information in documents in an open fashion, so that it can be accessed or re-used by any SGML-aware application across multiple platforms.
SGML is defined in ISO 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML) , an ISO standard produced by JTC 1/SC 18 and amended by Amendment 1:1988 .
Unlike other common document file formats that represent both content and presentation, SGML represents a document's content data and structure (interrelationships among the data). Removing the presentation from content establishes a neutral format. SGML documents and the information in them can easily be re-used by publishing and non-publishing applications.
SGML identifies document elements such as titles, paragraphs, tables, and chapters as distinct objects, allowing users to define the relationships between the objects for structuring data in documents. The relationships between document elements are defined in a Document Type Definition (DTD). This is roughly analogous to a collection of field definitions in a database. Once a document is converted into SGML and the information has been 'tagged', it becomes a database-like document. It can be searched, printed or even programmatically manipulated by SGML-aware applications.
Companies are moving their documents into SGML for several reasons:
Reuse - separation of content from presentation facilitates multiple delivery formats like CD-ROM and electronic publishing.
Portability - SGML is an international, platform-independent, standard based on ASCII text, so companies can safely store their documents in SGML without being tied to any one vendor.
Interchange - SGML is a core data standard that enables SGML-aware applications to inter-operate and share data seamlessly.
A central SGML document store can feed multiple processes in a company, so managing and updating information is greatly simplified. For example, when an aeroplane is delivered to a customer, it comes with thousands of pages of documentation. Distributing these on paper is expensive, so companies are investigating publishing on CD-ROM. If a maintenance person needs a guide for adjusting a plane's flight surfaces, a viewing tool automatically assembles the relevant information from the document repository as a complete document. SGML can be used to define attributes to information stored in documents such as security levels.
There are few clear leaders in the SGML industry which, in 1993, was estimated to be worth US $520 million and is projected to grow to over US $1.46 billion by 1998.
A wide variety tools can be used to create SGML systems. The SGML industry can be separated into the following categories:
Mainstream Authoring consists of the key word processing vendors like Lotus, WordPerfect and Microsoft.
SGML Editing and Publishing includes traditional SGML authoring tools like ArborText, Interleaf, FrameBuilder and SoftQuad Author/Editor.
SGML Conversions is one of the largest sectors in the market today because many companies are converting legacy data from mainframes, or documents created with mainstream word processors, into SGML.
Electronic Delivery is widely regarded as the most compelling reason companies are moving to SGML. Electronic delivery enables users to retrieve information on-line using an intelligent document viewer.
Document Management may one day drive a major part of the overall SGML industry.
SGML Document Repositories is one of the cornerstone technologies that will affect the progress of SGML as a data standard.
Since 1998, almost all development in SGML has been focussed on XML - a simple (and therefore easier to understand and implement) subset of SGML.
ISO 8879:1986//ENTITIES Added Latin 1//EN (http://www.ucc.ie/info/net/isolat1.html) defines some characters. [How are these related to ISO 8859-1?].
ISO catalogue entry (http://www.iso.ch/cate/d16387.html)
SGML parsers are available from VU, NL (ftp://star.cs.vu.nl/Sgml), FSU (ftp://mailer.cc.fsu.edu/pub/sgml), UIO, Norway (ftp://ifi.uio.no/pub/SGML/SGMLS).
See also sgmls.
Usenet newsgroup: news:comp.text.sgml.
[ The SGML Handbook , Charles F. Goldfarb, Clarendon Press, 1991, ISBN 0198537379. (Full text of the ISO standard plus extensive commentary and cross-referencing. Somewhat cheaper than the ISO document)].
[ SGML - The User's Guide to ISO 8879 , J.M. Smith et al, Ellis Harwood, 1988].
[Example of some SGML?]
(2000-05-31)

standard input/output
programming, operating system The predefined input/output channels which every Unix process is initialised with. Standard input is by default from the terminal, and standard output and standard error are to the terminal. Each of these channels (controlled via a file descriptor 0, 1, or 2 - stdin, stdout, stderr) can be redirected to a file, another device or a pipe connecting its process to another process. The process is normally unaware of such I/O redirection, thus simplifying prototyping of combinations of commands.
The C programming language library includes routines to perform basic operations on standard I/O. Examples are printf , allowing text to be sent to standard output, and scanf , allowing the program to read from standard input.
(1996-06-07)

Standard Instrument Control Library
(SICL) A platform-independent API for software to control and test electronic instruments conforming to IEEE 488.
(1995-01-05)

standard interpretation
standard semantics

standard I/O
standard input/output

Standard Lisp
A subset of Lisp 1.5 developed by A. Hearn primarily for implementing REDUCE. It was replaced by Portable Sandard LISP.
[ Standard LISP Report , J. Marti et al, SIGPLAN Notices 14(10):48-58 (Oct 1979)].
(1994-11-04)

Standard ML
language (SML) Originally an attempt by Robin Milner rm@lfcs.edinburgh.ac.uk ca. 1984 to unify the dialects of ML, SML has evolved into a robust general-purpose language. Later versions have been maintained by D. B. MacQueen, Lal George george@research.att.com , and J. H. Reppy jhr@research.att.com at AT T, and A. W. Appel appel@princeton.edu .
SML is functional, with imperative features. It is environment based and strict. It adds to ML the call-by-pattern of Hope, recursive data types, reference types, typed exceptions, and modules. (The core language excludes the modules).
Standard ML is polymorphically typed and its module system supports flexible yet secure large-scale programming. Standard ML of New Jersey is an optimising native-code compiler for Standard ML that is written in Standard ML. It runs on a wide range of architectures. The distribution also contains: an extensive library - The Standard ML of New Jersey Library, including detailed documentation; Concurrent ML (CML); eXene - an elegant interface to X11 (based on CML); SourceGroup - a separate compilation and make facility.
Implementations: SML/NJ, POPLOG ML, Poly/ML, Edinburgh SML, ANU ML, Micro ML, lazy sml2c.
sml2c compiles to C. See also ML Kit.
Version 0.93 runs on 68000, SPARC, MIPS, HPPA, RS/6000, Intel 386, Intel 486 and Macintosh.
Manual (http://www.dcs.napier.ac.uk/course-notes/sml/manual.html).
FTP from ATT (ftp://research.att.com/dist/ml/). FTP from Suny SB (ftp://sbcs.sunysb.edu/).
Mailing list: sml-request@cs.cmu.edu.
[ A Proposal for Standard ML , R. Milner, ACM Symp on LISP and Functional Prog 1984, pp. 184-197].
(1995-12-24)

Standard ML of New Jersey
(SML/NJ) An implementation of SML by Andrew Appel at Princeton Appel@princeton.edu and Dave MacQueen at AT T. Version 0.93.
[ Standard ML of New Jersey , A. Appel et al, Proc Third Intl Symp on Prog Lang Impl and Logic Programming , LNCS Springer 1991].
Versions for Unix, Mac. (ftp://cs.yale.edu/pub/ml), (ftp://research.att.com/dist/ml). Mailing list: sml@cs.cmu.edu.

standard semantics
The standard interpretation of a term in some language yields the term's standard denotational semantics, i.e. its meaning . This is usually given by a semantic function which maps a term in the abstract syntax to a point in some domain. The domain is the interpretation of the term's type. The semantic function also takes an environment - a function which maps the free variables of the term to their meaning. We say that a domain point denotes , or is the denotation of , a term. A non-standard semantics results from some other interpretation, e.g. an abstract interpretation.

Stanford Artificial Intelligence Laboratory
body, education (SAIL) /sayl/, not /S-A-I-L/ An important site in the early development of LISP; with the MIT AI Lab, BBN, CMU, XEROX PARC, and the Unix community, one of the major wellsprings of technical innovation and hacker-culture traditions (see the WAITS entry for details). The SAIL machines were shut down in late May 1990, scant weeks after the MIT AI Lab's ITS cluster was officially decommissioned.
[Jargon File]
(2001-06-22)

Stanford Artificial Intelligence Language
language (SAIL) Dan Swinehart Bob Sproull, Stanford AI Project, 1970. A large ALGOL 60-like language for the DEC-10 and DEC-20. Its main feature is a symbolic data system based upon an associative store (originally called LEAP). Items may be stored as unordered sets or as associations (triples). Processes, events and interrupts, contexts, backtracking and record garbage collection. Block- structured macros. Recent Developments in SAIL - An ALGOL-based Language for Artificial Intelligence , J. Feldman et al, Proc FJCC 41(2), AFIPS (Fall 1972). (See MAINSAIL).
The Stanford Artificial Intelligence Language used at SAIL (the place). It was an ALGOL 60 derivative with a coroutining facility and some new data types intended for building search trees and association lists.
A number of interesting software systems were coded in SAIL, including early versions of FTP and TeX and a document formatting system called PUB.
In 1978, there were half a dozen different operating systems for the PDP-10: WAITS (Stanford), ITS (MIT), TOPS-10 (DEC), CMU TOPS-10 (CMU), TENEX (BBN), and TOPS-20 (DEC, after TENEX).
SAIL was ported from WAITS to ITS so that MIT researchers could make use of software developed at Stanford University. Every port usually required the rewriting of I/O code in each application.
[Jargon File]
(2001-06-22)

Stanford Research Institute
Former name of SRI International.

Stanford University
A University in the city of Palo Alto, California, noted for work in computing, especially artificial intelligence. See SAIL.
(ftp://anna.stanford.edu/), (ftp://boole.stanford.edu/), (ftp://csli.stanford.edu/), (ftp://fresnel.stanford.edu/), (ftp://sumex-aim.stanford.edu/), (ftp://gregorio.stanford.edu/), (ftp://hanauma.stanford.edu/), (ftp://helens.stanford.edu/), (ftp://interviews.stanford.edu/), (ftp://labrea.stanford.edu/), (ftp://sail.stanford.edu/), (ftp://self.stanford.edu/), (ftp://wilbur.stanford.edu/).

Staple
Saint Andrews Applicative Persistent Language. Language combining functional programming with persistent storage, developed at St. Andrews University in Scotland. Tony Davie, ad@cs.st-andrews.ac.uk .

STAR 0
Early system on Datatron 200 series. Listed in CACM 2(5):16 (May 1959).

StarBurst
An active DBMS from IBM Almaden Research Center.

StarLISP
*LISP

StarMOD
*MOD

star network
networking A network topology where every node has a direct connection (only) to the central node, which might be a hub, switch, or server.
(1999-10-29)

Starset
Portable storage/retrieval language for distributed databases. Starset programming Language , M.M. Gilula et al, Nauka, Moscow 1991, ISBN 5-02-006831-4.

STARSYS
Convergent Technologies Operating System

start bit
protocol A bit which signals the start of transmission of a character on a serial line. For an RS-423 signal, the line is normally at logical zero which there is no data and the start bit is a logical one. The zero-one transition tells the receiver when to start sampling the signal to extract the data bits.
[Is this upside-down?]
(1995-02-02)

Start Of Header
character (SOH) mnemonic for ASCII 1.
[What header?]
(1996-05-31)

Start Of Text
character (STX) Mnemonic for ASCII 2.
(1996-05-31)

start tag
tag

state
storage, architecture, jargon, theory How something is; its configuration, attributes, condition, or information content. The state of a system is usually temporary (i.e. it changes with time) and volatile (i.e. it will be lost or reset to some initial state if the system is switched off).
A state may be considered to be a point in some space of all possible states. A simple example is a light, which is either on or off. A complex example is the electrical activation in a human brain while solving a problem.
In computing and related fields, states, as in the light example, are often modelled as being discrete (rather than continuous) and the transition from one state to another is considered to be instantaneous. Another (related) property of a system is the number of possible states it may exhibit. This may be finite or infinite. A common model for a system with a finite number of discrete state is a finite state machine.
[Jargon File]
(1996-10-13)

state diagram
state transition diagram

stateless
A stateless server is one which treats each request as an independent transaction, unrelated to any previous request. This simplifies the server design because it does not need to allocate storage to deal with conversations in progress or worry about freeing it if a client dies in mid-transaction. A disadvantage is that it may be necessary to include more information in each request and this extra information will need to be interpreted by the server each time.
An example of a stateless server is a World-Wide Web server. These take in requests (URLs) which completely specify the required document and do not require any context or memory of previous requests.
Contrast this with a traditional FTP server which conducts an interactive session with the user. A request to the server for a file can assume that the user has been authenticated and that the current directory and transfer mode have been set.

state machine
finite state machine

state transition diagram
A diagram consisting of circles to represent states and directed line segments to represent transitions between the states. One or more actions (outputs) may be associated with each transition. The diagram represents a finite state machine.

State University of New York
body (SUNY) The public university system of New York State, USA, with campuses throughout the state.
(1995-03-01)

static database management system
database (static DBMS) A database consisting of information-based relationships , one that is rigorously structured to facilitate retrieval and update in terms of inherent relationships. This creates a static environment wherein the locations of the related records are already known. Typical static DBMS are either hierarchical (IMS, System 2000) or a CODACYL (network or plex) DBMS (such as TOTAL, IDMS, IDS, DMS-2). These environments facilitate rapid, high volume processing of data.
The opposite is a dynamic database management system.
(1998-10-07)

static DBMS
static database management system

static link
compiler (Or access link or environment link ) A pointer from an activation record to the activation record for the textually enclosing scope. A static link is only required in a statically (lexically) scoped language.
The number of static links to follow may be determined statically (at compile time). It is simply the difference in lexical nesting depth between the declaration and the reference.
See also display.
(1995-03-07)

static nested scope
programming Where the scope of an identifier is fixed at compile-time to be the smallest block (begin/end, function, or procedure body) containing the identifier's declaration. This means that an identifier declared in some block is only accessible within that block and from procedures declared within it.
This term is used in the Python community.
Compare lexical scope.
(2002-02-18)

static nested scoping
static nested scope

static RAM
static random access memory

static random access memory
storage (SRAM) Random access memory in which each bit of storage is a bistable flip-flop, commonly consisting of cross-coupled inverters. It is called static because it will retain a value as long as power is supplied, unlike dynamic random access memory (DRAM) which must be regularly refreshed. It is however, still volatile, i.e. it will lose its contents when the power is switched off, in contrast to ROM. SRAM is usually faster than DRAM but since each bit requires several transistors (about six) you can get less bits of SRAM in the same area. It usually costs more per bit than DRAM and so is used for the most speed-critical parts of a computer (e.g. cache memory) or other circuit.
(1995-04-22)

static scope
lexical scope

Station Management
networking (SMT) Station Management One of the 4 key FDDI component layers. SMT is an overlay function that handles the management of the FDDI ring. It handles neighbor identification, fault detection and reconfiguration, insertion and de-insertion from the ring, and traffic statistics monitoring.
(1997-05-11)

Statistical Analysis System
language (SAS) A statistical and matrix handling language with PL/I-like syntax.
[ A User's Guide to SAS , A.J. Barr, SAS Inst 1976].
(1994-12-12)

Statistical Package for the Social Sciences
statistics, tool (SPSS) The flagship program of SPSS, Inc., written in the late 1960s.
[ SPSS X User's Guide , SPSS, Inc. 1986].
[Details?]
(1999-07-20)

statistical time division multiplexing
communications (STDM, StatMUX) A system developed to overcome some inefficiencies of standard time division multiplexing, where time slices are still allocated to channels, even if they have no information to transmit.
STDM uses a variable time slot length and by allowing channels to vie for any free slot space. It employs a buffer memory which temporarily stores the data during periods of peak traffic. This scheme allows STDM to waste no high-speed line time with inactive channels. STDM requires each transmission to carry identification information (i.e. a channel identifier). To reduce the cost of this overhead, a number of characters for each channel are grouped together for transmission.
[ Data Communications, Computer Networks and Open Systems , Halsall Fred, Addison Wesley, p160-161, 1995].
[ Digital, Analog, and Data Communication , Sinnema McGovern, Prentice Hall, p245, 1986].
(1997-03-05)

statistics
statistics, mathematics The practice, study or result of the application of mathematical functions to collections of data in order to summarise or extrapolate that data.
The subject of statistics can be divided into descriptive statistics - describing data, and analytical statistics - drawing conclusions from data.
(1997-07-16)

StatMUX
statistical time division multiplexing

STB
set-top box

STD
1. state transition diagram.
2. Internet standard.
A subseries of Request For Comments (RFC) that specify Internet standards. The official list of Internet standards is STD 1.
See also For Your Information.
(1994-11-30)

STD 1
standard The Internet Architecture Board official list of Internet standards.
[Postel, J., IAB Official Protocol Standards , STD 1, RFC 1360, Internet Architecture Board, September 1992].
(1995-02-07)

STD 13
networking, standard One of the STDs defining the Domain Name System.
(1997-12-15)

STD 15
The STD defining Simple Network Management Protocol.
(1994-11-14)

STD 2
networking, standard The document listing the current Internet Assigned Numbers.
[Reynolds, J., and J. Postel, Assigned Numbers , STD 2, RFC 1340, USC/Information Sciences Institute, July 1992].
(2001-04-08)

STD 9
The STD defining File Transfer Protocol (FTP).
(1995-02-07)

stderr
standard input/output

stdin
standard input/output

stdio
standard input/output

stdio.h
programming standard input/output header file.
(1996-01-28)

STDM
statistical time division multiplexing

stdout
standard input/output

STDWIN
A windowing interface from CWI with windows, menus, modal dialogs, mouse and keyboard input, scroll bars, drawing primitives, etc that is portable between platforms. STDWIN is available for Macintosh and the X Window System.

steam-powered
Old-fashioned or underpowered; archaic. This term does not have a strong negative loading and may even be used semi-affectionately for something that clanks and wheezes a lot but hangs in there doing the job.
[Jargon File]

Steelman
DoD, June 1978. Fifth and last of the series of DoD requirements that led to Ada. Steelman Requirements for High Order Programming Languages , US Dept of Defense, June 1978. SIGPLAN Notices 13(12) (Dec 1978). (See Strawman, Woodenman, Tinman, Ironman).

steganography
security Hiding a secret message within a larger one in such a way that others can not discern the presence or contents of the hidden message. For example, a message might be hidden within an image by changing the least significant bits to be the message bits.
[Chaffing and Winnowing: Confidentiality without Encryption, Ronald L. Rivest, MIT Lab for Computer Science, 1998-03-22 (http://theory.lcs.mit.edu/~rivest/chaffing.txt)].
(1998-07-13)

stemmer
information science, human language A program or algorithm which determines the morphological root of a given inflected (or, sometimes, derived) word form -- generally a written word form.
A stemmer for English, for example, should identify the string cats (and possibly catlike , catty etc.) as based on the root cat , and stemmer , stemming , stemmed as based on stem .
English stemmers are fairly trivial (with only occasional problems, such as dries being the third-person singular present form of the verb dry , axes being the plural of ax as well as axis ); but stemmers become harder to design as the morphology, orthography, and character encoding of the target language becomes more complex. For example, an Italian stemmer is more complex than an English one (because of more possible verb inflections), a Russian one is more complex (more possible noun declensions), a Hebrew one is even more complex (a hairy writing system), and so on.
Stemmers are common elements in query systems, since a user who runs a query on daffodils probably cares about documents that contain the word daffodil (without the s).
(This dictionary has a rudimentary stemmer which currently (April 1997) handles only conversion of plurals to singulars).
(1997-04-09)

stemming
stemmer

STENSOR
L. Hornfeldt, Stockholm, mid-80's. Symbolic math, especially General Relativity. Implemented on top of SHEEP and MACSYMA.

STEP
Standard for the exchange of product model data

Stephen Cole Kleene
Stephen Kleene

Stephen Jobs
person Stephen P. Jobs (born 24 February 1955). The co-founder and ex-president of Apple Computer, leader of the team that produced the Macintosh.
In 1979, when he was president of Apple, Steven Jobs saw a demonstration of Smalltalk at Xerox's Palo Alto Research Center. He and other Apple employees were very impressed with the unique and revolutionary user-friendly design .
The first Macintosh was released in January 1984. Jobs described it as insanely great.
Jobs was ousted from Apple in 1985 and founded Next, Inc.. In December 1996 he was re-employed by Apple when they bought NeXT.
See also lithium lick, Mathematica.
(1997-03-18)

Stephen Kleene
person Professor Stephen Cole Kleene (1909-01-05 - 1994-01-26) /steev'n (kohl) klay'nee/ An American mathematician whose work at the University of Wisconsin-Madison helped lay the foundations for modern computer science. Kleene was best known for founding the branch of mathematical logic known as recursion theory and for inventing regular expressions. The Kleene star and Ascending Kleene Chain are named after him.
Kleene was born in Hartford, Conneticut, USA. He received his bachelor of arts degree from Amherst College in 1930. From 1930 to 1935, he was a graduate student and research assistant at Princeton University where he received his doctorate in mathematics in 1934. In 1935, he joined UW-Madison mathematics department as an instructor. He became an assistant professor in 1937.
From 1939 to 1940, he was a visiting scholar at Princeton's Institute for Advanced Study where he laid the foundation for recursive function theory, an area that would be his lifelong research interest. In 1941 he returned to Amherst as an associate professor of mathematics.
During World War II Kleene was a lieutenant commander in the United States Navy. He was an instructor of navigation at the U.S. Naval Reserve's Midshipmen's School in New York, and then a project director at the Naval Research Laboratory in Washington, D.C.
In 1946, he returned to Wisconsin, eventually becoming a full professor. He was chair of mathematics, and computer sciences in 1962 and 1963 and dean of the College of Letters and Science from 1969 to 1974. In 1964 he was named the Cyrus C. MacDuffee professor of mathematics.
An avid mountain climber, Kleene had a strong interest in nature and the environment and was active in many conservation causes. He led several professional organisations, serving as president of the Association of Symbolic Logic from 1956 to 1958. In 1961, he served as president of the International Union of the History and the Philosophy of Science.
Kleene pronounced his last name /klay'nee/. /klee'nee/ and /kleen/ are extremely common mispronunciations. His first name is /steev'n/, not /stef'n/. His son, Ken Kleene kenneth.kleene@umb.edu , wrote: As far as I am aware this pronunciation is incorrect in all known languages. I believe that this novel pronunciation was invented by my father.
(gopher://gopher.adp.wisc.edu/00/.data/.news-rel/.9401/.940126a).
(1999-03-03)

Stepstone Corp
company A company founded by Brad Cox, responsible for Objective C.
Telephone: +1 (203) 426-1875.
(1996-08-04)

stepwise refinement
top-down design

stereogram
A two-dimensional image which, when viewed correctly appears three-dimensional. E.g. SIRDS or SIRTS.
(ftp://katz.anu.edu.au/pub/stereograms)
(1994-11-03)

Steve Jobs
Stephen Jobs

Steve's Shell
operating system (ssh) A Unix shell with many csh- and ksh-like features, by Steve Baker ice@judy.indstate.edu and Thomas Moore.
Version 1.7 has been ported to Sequent, Sun, NeXT, Ultrix, BSDI and is available from comp.sources.unix volume 26.
(1993-04-15)

Steve Wozniak
person Co-founder of Apple Computer with Steve Jobs on 01 April 1976 and the inventor of the Apple II personal computer.
(1998-04-05)

STFT
Short Term Fourier Transform

Sticks Stones
A functional, polymorphic hardware description language loosely based on ML by Lucca Cardelli.
[ An Algebraic Approach to Hardware Description and Verification , L. Cardelli, Thesis, Edinburgh U, 1982].
[ Sticks Stones II: A Functional Language VLSI Layout Generation Tool , Andrew Butterfield butrfeld@cs.tcd.ie , Thesis, Trinity College, 1990].

sticky analysis
theory A kind of program analysis that uses information from all the call sites of a function or procedure.
(1999-06-15)

sticky bit
operating system The bit in the mode of a Unix file which, if set for an executable, tells the kernel to keep the code loaded in swap space even after it has finished executing on the assumption that it is likely to be used again soon. This performance optimisation was included in some early (and recent?) versions of Unix to save reloading frequently used programs such as the shell or vi from disk.
If the sticky bit is set on a directory, an unprivileged user may not delete or rename files of other users in that directory even if he has write access to the directory.
The Unix ls command displays a set sticky bit as a t in the permissions of a file or directory.
(1997-02-26)

sticky content
World-Wide Web World-Wide Web pages that refer only or mostly to pages on the same web site. This is important to some commercial sites who want users to keep accessing pages from their site because they receive advertising income from each hit. It does however somewhat miss the point of the World-Wide Web which is to link useful information across the whole Internet.
(1999-06-15)

stiffy
storage, jargon (University of Lowell, Massachusetts) A 3.5-inch microfloppy, so called because their jackets are more rigid than those of the 5.25-inch and the (obsolete) 8-inch floppy disk. Elsewhere this might be called a firmy .
[Jargon File]
(1994-11-03)

STIL
STatistical Interpretive Language.
[ STIL User's Manual , C.F. Donaghey et al, Indust Eng Dept, U Houston (Aug 1969)].

STING
A parallel dialect of Scheme intended to serve as a high-level operating system for symbolic programming languages. First-class threads and processors and customisable scheduling policies.
E-mail: suresh@research.nj.dec.com .
[ A Customizable Substrate for Concurrent Languages , S. Jagannathan et al, ACM SIGPLAN Notices, 1992].
(1994-11-03)

STk
language, LISP, graphics A Scheme interpreter blended with Ousterhout's Tk package by Erick Gallesio eg@unice.fr . STk expresses all of Tk as Scheme objects. STk includes a slow CLOS/Dylan-like object-oriented extension.
STk almost conforms to R4RS and runs on SunOS 4.1.x and Ultrix/MIPS.
Latest version: 4.0.1, as of 2000-09-24.
(ftp://kaolin.unice.fr/pub/STk-1.00.tar.gz). (ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/STk-2.1.tar.Z).
(2000-12-16)

STMP
Did you mean SMTP?

stochastic
probabilistic

stock-keeping unit
database (SKU) /skyoo/ (rarely seen expanded) A common term for a unique numeric identifier, typically in a database. Originally this was used only for products, but has spread in usage.
Compare with UID for sense development.
(1998-09-27)

STOIC
STring Oriented Interactive Compiler

stomp on
To inadvertently overwrite something important, usually automatically. All the work I did this weekend got stomped on last night by the nightly server script. Compare scribble, mangle, trash, scrog, roach.
[Jargon File]

STONE
A Structured and Open Environment: a project supported by the German Ministry of Research and Technology (BMFT) to design, implement and distribute a SEE for research and teaching.

Stone Age
1. In computer folklore, an ill-defined period from ENIAC (ca. 1943) to the mid-1950s; the great age of electromechanical dinosaurs. Sometimes used for the entire period up to 1960--61 (see Iron Age); however, it is funnier and more descriptive to characterise the latter period in terms of a Bronze Age era of transistor-logic, pre-ferrite core memory machines with drum or CRT mass storage (as opposed to just mercury delay lines and/or relays).
2. More generally, a pejorative for any crufty, ancient piece of hardware or software technology. Note that this is used even by survivors from the Stone Age.
[Jargon File]
(1995-01-24)

stone knives and bearskins
(From the Star Trek Classic episode The City on the Edge of Forever ) A term traditionally used to describe (and deprecate) computing environments that are grotesquely primitive in light of what is known about good ways to design things. As in Don't get too used to the facilities here. Once you leave SAIL it's stone knives and bearskins as far as the eye can see .
Compare steam-powered.
[Jargon File]
(1995-01-24)

Stoneman
The requirements, written by the HOLWG of the US DoD in Feb 1980, that led to APSE.
[ Requirements for Ada Programming Support Environments: STONEMAN , US Dept of Defense, Feb 1980].
(1995-01-24)

stop bit
In serial communications, where each bit of the message is transmitted in sequence, stop bits are extra 1 bits which follow the data and any parity bit. They mark the end of a unit of transmission (normally a byte or character).
For example, characters on an EIA-232 serial line may have one or two stop bits added. Some UARTs even allow for 1.5 stop bits but one is probably the most commonly used. A serial connection may be described as, for example, 8N1 which means eight data bits, no parity and one stop bit.
(1995-01-24)

stoppage
/sto'p*j/ Extreme lossage that renders something (usually something vital) completely unusable. The recent system stoppage was caused by a fried transformer.
[Jargon File]
(1995-01-24)

storage
storage (Or memory ) A device into which data can be entered, in which they can be held, and from which they can be retrieved at a later time.
(1995-12-24)

Storage Allocation and Coding Program
language (STAC) A symbolic macro-assembler for the English Electric DEUCE.
[ DEUCE STAC Programming Manual , DEUCE News No. 38, Report K/AA y 1 DEUCE Library Service, Data Processing and COntrol Systems DIvision, English Electric Company, Kidsgrove, June].
(1998-06-08)

Storage Management Services
storage (SMS) Software that enables network administrators to route backup data from various devices on a network to another device such as a server or a magnetic tape backup unit. This is done either to make use of a high-capacity storage system such as a tape juke-box or for disaster protection.
(1996-02-18)

store
[probably from main store ] In some varieties of Commonwealth hackish, the preferred synonym for core. Thus, bringing a program into store means not that one is returning shrink-wrapped software but that a program is being swapped in.
[Jargon File]

store and forward
messaging (Or message switching ) A kind of message passing system where a complete message is received before it is passed on to the next node. This means that each message is using at most one interprocessor link at any time but may require more storage buffers on intermediate nodes than the alternative, wormhole routing.
(1995-02-16)

Story of Mel
The story of Mel

STP
shielded twisted pair

StP
Software through Pictures

STP4
A statistical language.

Strachey, Christopher
Christopher Strachey

Strand
1. AND-parallel logic programming language. Essentially flat Parlog83 with sequential-and and sequential-or eliminated.
[ Strand: New Concepts on Parallel Programming , Ian Foster et al, P-H 1990]. Strand88 is a commercial implementation.
2. A query language, implemented on top of INGRES (an RDBMS). [ Modelling Summary Data , R. Johnson, Proc ACM SIGMOD Conf 1981].

Strand88
A commercial implementation of Strand from Strand Software Technologies Ltd., UK and Strand Software, Beaverton, OR, USA. E-mail: strand88@sstl.uucp .

Stratus
company A computer manufacturer, one of the the world's leading providers of fault-tolerant systems and solutions, concentrating on four major vertical markets: financial services, telecommunications, travel and transportation, and gaming. While virtually all of Stratus' core hardware and software products are sold into these markets, a broad range of specialised solutions, both at the middleware and application solutions levels, are developed and marketed by Stratus, its subsidiaries and third party partners.
Yearly sales $609M, profits $43.5M (1996).
Home (http://www.stratus,com).
(1997-04-24)

Strawman
The first of the series of DoD requirements that led to Ada (Woodenman, Tinman, Ironman, Steelman). Strawman was produced by the HOLWG in Apr 1975.
(1995-01-30)

STREAM
[ STREAM: A Scheme Language for Formally Describing Digital Circuits , C.D. Kloos in PARLE: Parallel Architectures and Languages Europe, LNCS 259, Springer 1987].
(1995-01-30)

stream
1. communications An abstraction referring to any flow of data from a source (or sender, producer) to a single sink (or receiver, consumer). A stream usually flows through a channel of some kind, as opposed to packets which may be addressed and routed independently, possibly to multiple recipients. Streams usually require some mechanism for establishing a channel or a connection between the sender and receiver.
2. programming In the C language's buffered input/ouput library functions, a stream is associated with a file or device which has been opened using fopen. Characters may be read from (written to) a stream without knowing their actual source (destination) and buffering is provided transparently by the library routines.
3. operating system Confusingly, Sun have called their modular device driver mechanism STREAMS .
4. operating system In IBM's AIX operating system, a stream is a full-duplex processing and data transfer path between a driver in kernel space and a process in user space.
[IBM AIX 3.2 Communication Programming Concepts, SC23-2206-03].
5. communications streaming.
6. programming lazy list.
(1996-11-06)

streaming
communications Playing sound or video in real time as it is downloaded over the Internet as opposed to storing it in a local file first. A plug-in to a web browser such as Netscape Navigator decompresses and plays the data as it is transferred to your computer over the World-Wide Web. Streaming audio or video avoids the delay entailed in downloading an entire file and then playing it with a helper application. Streaming requires a fast connection and a computer powerful enough to execute the decompression algorithm in real time.
(1996-11-06)

Streaming SIMD Extension
architecture (SSE) Intel Corporation's floating point SIMD extention of their Pentium microprocessor architecture. SSE was formerly know as KNI (Katmai New Instructions). It was introduced with the Pentium III.
(2002-08-01)

stream-oriented
connection-oriented

STREAMS
operating system A collection of system calls, kernel resources, and kernel utility routines that can create, use, and dismantle a stream. A stream head provides the interface between the stream and the user processes. Its principal function is to process STREAMS-related user system calls. A stream module processes data that travel bewteen the stream head and driver. The stream end provides the services of an external input/output device or an internal software driver. The internal software driver is commonly called a pseudo-device driver.
The STREAMS concept has been formalised in Unix System V. For example, SVR4 implements sockets and pipes using STREAMS, resulting in pipe(2) openning bidirectional pipes.
[IBM AIX 3.2 Communication Programming Concepts, SC23-2206-03].
(1999-06-29)

strength reduction
An optimisation where a function of some systematically changing variable is calculated more efficiently by using previous values of the function. In a procedural language this would apply to an expression involving a loop variable and in a declarative language it would apply to the argument of a recursive function. E.g.
f x = ... (2**x) ... (f (x+1)) ...
==
f x = f' x (2**x)
where
f ' x z = ... z ... (f' (x+1) 2*z) ...
Here the expensive operation (2**x) has been replaced by the cheaper 2*z in the recursive function f'. This maintains the invariant that z = 2**x for any call to f'.
(1995-01-31)

STRESS
STRuctual Engineering Systems Solver.
A system for structural analysis problems in Civil Engineering. STRESS was superseded by STRUDL.
[ STRESS: A User's Manual , S.J. Fenves et al, MIT Press 1964].
[Sammet 1969, p. 612].
(1995-01-31)

stress testing
testing Testing aimed at investigating the behaviour of a software or hardware equipment in out of ordinary operating conditions.
(1998-03-27)

strict
A function f is strict in an argument if
f bottom = bottom
(See bottom). In other words, the result depends on the argument so evaluation of an application of the function cannot terminate until evaluation of the argument has terminated.
If the result is only bottom when the argument is bottom then the function is also bottom-unique.
See also strict evaluation, hyperstrict.
(1995-01-25)

strict evaluation
Call-by-value evaluation order is sometimes called strict evaluation because, in a sequential system, it makes functions behave as though they were strict, in the sense that evaluation of a function application cannot terminate before evaluation of the argument. Similarly, languages are called strict if they use call-by-value argument passing.
Compare eager evaluation, lazy evaluation.
(1994-12-21)

strided
/str:'d*d/ (scientific computing) Said of a sequence of memory reads and writes to addresses, each of which is separated from the last by a constant interval called the stride length , or just the stride . These can be a worst-case access pattern for cache schemes when the stride length is a multiple of the cache line size.
Strided references are often generated by loops through an array, and (if the data is large enough that access-time is significant) it can be worthwhile to tune for better locality by inverting double loops or by partially unrolling the outer loop of a loop nest.
[Jargon File]
(1994-12-21)

string
programming A sequence of data values, usually bytes, which usually stand for characters (a character string ). The mapping between values and characters is determined by the character set which is itself specified implcitly or explicitly by the environment in which the string is being interpreted.
The most common character set is ASCII but, since the late 1990s, there has been increased interest in larger character sets such as Unicode where each character is represented by more than eight bits.
Most programming languages consider strings (e.g. 124:shabooya: n , hello world ) basically distinct from numbers which are typically stored in fixed-length binary or floating-point representation.
A bit string is a sequence of bits.
(1999-12-21)

String EXpression Interpreter
String Oriented Symbolic Language

STring Oriented Interactive Compiler
language (STOIC) A language from the Smithsonian Astrophysical Observatory. STOIC is similar to FORTH for strings and includes many VAX-specific items.
(1998-09-27)

String Oriented Symbolic Language
language (SNOBOL) A string processing language for text and formula manipulation written by David Farber, Ralph Griswold, and I. Polonsky of Bell Labs in 1962-3.
SNOBOL had only simple control structures but provided a rich string-matching formalism of power comparable to regular expressions but implementated differently. People used it for simple natural language processing analysis tasks well into the 1980s. Since then, Perl has come into favour for such tasks.
SNOBOL was originally called SEXI - String EXpression Interpreter. In spite of the suggestive name, SNOBOL is not related to COBOL.
Implementations include (in no particular order): SNOBOL2, SNOBOL3, SNOBOL4, FASBOL, SITBOL, MAINBOL, SPITBOL and vanilla.
See also EZ, Poplar, SIL and Icon.
[ SNOBOL, A String Manipulating Language , R. Griswold et al, J ACM 11(1):21, Jan 1964].
[When and why was SEXI renamed?]
(1998-03-03)

String PRocessING language
language (SPRING)
[ From SPRING to SUMMER: Design, Definition and Implementation of Programming Languages for String Manipulation and Pattern Matching , Paul Klint, Math Centre, Amsterdam 1982].
(1996-02-06)

string reduction
A reduction system where an expression is represented as a string of function names, constants and parentheses. It is reduced by replacing parts of the string representing subterms by their value.
It is harder to represent sharing of subexpressions in string reduction than in graph reduction.
(1995-02-06)

stripe
data striping

stripe set
data striping

striping
data striping

STROBES
Shared Time Repair of Big Electronic Systems

stroke
The oblique stroke character, / , ASCII 47.
See ASCII for other synonyms.
[Jargon File]

StrongARM
processor A collaborative project between Digital Equipment Corporation and Advanced RISC Machines Ltd. (ARM) announced on 1995-02-06 licensing the ARM RISC architecture to Digital Semiconductor for the development of high-performance, low power microprocessors.
The StrongARM family of 32-bit RISC products developed under the agreement are faster versions of the existing ARM processors with a somewhat different instruction set. They are targetted at applications such as next-generation personal digital assistants with improved user interfaces and communications; interactive television and set-top products; video games and multimedia edutainment systems with realistic imaging, motion and sound; and digital imaging, including low cost digital image capture and photo-quality scanning and printing.
The StrongARM family has limited software compatibility with the ARM6, ARM7 and ARM8 families due to its separate caches for data and instructions which causes self-modifying code to fail.
The SA-110 is the first member of the family.
(1998-09-07)

strongly connected component
(SCC) A subset, S, of the nodes of a directed graph such that any node in S is reachable from any other node in S and S is not a subset of any larger such set. SCCs are equivalence classes under the transitive closure of the directly connected to relation.
(1995-02-06)

strongly typed
strong typing

strong typing
programming Strict enforcement of type rules with no exceptions. All types are known at compile time, i.e. are statically bound. With variables that can store values of more than one type, incorrect type usage can be detected at run time.
Strong typing catches more errors at compile time than weak typing, resulting in fewer run-time exceptions.
The languages Ada, Java, and Haskell are strongly typed. Pascal is (almost) strongly typed.
C and C++ are sometimes described as strongly typed, but are perhaps better described as weakly typed.
(2000-07-04)

Stroustrup, Bjarne
Bjarne Stroustrup

struct
programming A data type in C and C++ corresponding to a record in Ada or Pascal or a tuple in functional programming. A struct has one or more members, each of which may have different types. It is used to group associated data together.
(1995-02-14)

structural recursion
The process of transforming an expression by expressing its structure as a syntax tree and applying a certain transformation rule to each kind of node, starting from the top. Rules for non-leaf nodes will normally return a result which depends on applying the rules recursively to its sub-nodes. Examples include syntax analysis, code generation, abstract interpretation and program transformation.
(1995-01-11)

structured analysis
One of a number of requirements analysis methods used in software engineering.

structured design
programming (SD) One of a number of systematic top-down design techniques used in software engineering, usually after structured analysis.
(1995-04-28)

structure diagram
programming, data A pictorial representation of the composition, grouping and relationship of data items.
(1998-06-11)

structured language
programming A programming language where the program may be broken down into blocks or procedures which can be written without detailed knowledge of the inner workings of other blocks, thus allowing a top-down design approach.
See also abstract data type, module.
(1995-04-28)

structured programming
programming Any software development technique that includes structured design and results in the development of a structured program.
(1995-04-06)

Structured Query Language
SQL

Structure of Management Information
(SMI) The rules used to define the objects that can be accessed via a network management protocol. This protocol is defined in STD 16, RFC 1155.
See also Management Information Base.
(1994-11-14)

strudel
character Common (spoken) name for the commercial at sign, @ , ASCII 64.
[Jargon File]
(1995-03-13)

STRUDL
STRUctured Design Language.
Dynamic and finite-element analysis, steel and concrete structures. Subsystem of ICES. [ ICES STRUDL-II Engineering User's Manual , R68-91, CE Dept MIT (Nov 1968) Sammet 1969, p.613].

STSC APL
Implementation of APL by Scientific Time-Sharing Corporation

stub
1. programming A dummy procedure used when linking a program with a run-time library. The stub routine need not contain any code and is only present to prevent undefined label errors at link time.
2. programming, networking A local procedure in a remote procedure call. The client calls the stub to perform some task and need not necessarily be aware that RPC is involved. The stub transmits parameters over the network to the server and returns the results to the caller.
(1995-11-09)

stub network
A network which only carries packets to and from local hosts. Even if it has paths to more than one other network, it does not carry traffic for other networks. See also backbone, transit network.

stubroutine
/stuhb'roo-teen/ [contraction of stub subroutine ] Tiny, often vacuous placeholder for a subroutine that is to be written or fleshed out later.
[Jargon File]

STUDENT
D.G. Bobrow 1964. Early query system. Sammet 1969, p.664.

Student PL/I
language A translator-interpreter for a PL/I subset derived from SPL.
[ Student PL/I Compiler , R.A. Vowels, RMIT, Melbourne, 1971].
(1996-01-19)

studly
Impressive; powerful. Said of code and designs which exhibit both complexity and a virtuoso flair. Has connotations similar to hairy but is more positive in tone. Often in the emphatic most studly or as noun-form studliness . Smail 3.0's configuration parser is most studly.
[Jargon File]

studlycaps
jargon /stuhd'lee-kaps/ A hackish form of silliness similar to BiCapitalisation for trademarks, but applied randomly and to arbitrary text rather than to trademarks. ThE oRigiN and SigNificaNce of thIs pRacTicE iS oBscuRe.
(1995-03-01)

Stuffit
tool, file format (filename extension: .sit) A file archiving and compression utility, developed by Aladdin Systems, Inc., that started life on the Macintosh and is still the Mac standard tool for compression and archiving (compressing multiple files into one).
Stuffit is also available for Microsoft Windows and, compared to the standard Windows tool, PKZIP, it is faster and gives better compression.
Stuffit archives can be extracted with Stuffit Expander.
[URL?]
(2000-02-08)

Stupids
Term used by samurai for the suits who employ them. Succinctly expresses an attitude at least as common, though usually better disguised, among other subcultures of hackers. There may be intended reference here to an SF story originally published in 1952 but much anthologised since, Mark Clifton's Star, Bright . In it, a super-genius child classifies humans into a very few Brights like herself, a huge majority of Stupids , and a minority of Tweens , the merely ordinary geniuses.
[Jargon File]

stupid-sort
Synonym bogo-sort.

Sturgeon's Law
Ninety percent of everything is crap . Derived from a quote by science fiction author Theodore Sturgeon, who once said, Sure, 90% of science fiction is crud. That's because 90% of everything is crud. Oddly, when Sturgeon's Law is cited, the final word is almost invariably changed to crap . Compare Ninety-Ninety Rule. Though this maxim originated in SF fandom, most hackers recognise it and are all too aware of its truth.
[Jargon File]

STX
Start Of Text

su
operating system, tool, security (substitute user) The Unix command which allows you to become another user after entering their password. su is most often used without arguments in which case it defaults to user root. Some versions of Unix only allows this command to be used by members of the wheel group.
Unix manual page: su(1).
(1996-09-08)

SUB
Substitute

subband encoding
An audio compression technique where the sound is split into frequency bands and then parts of the signal which the ear cannot detect are removed, e.g. a quiet sound masked by a loud one. The remaining signal is encoded using variable bit-rates with more bits per sample being used in the mid frequency range.
Subband encoding is used in MPEG-1.
(1994-11-02)

subclass
derived class

subject
programming In subject-oriented programming, a subject is a collection of classes or class fragments whose class hierarchy models its domain in its own, subjective way. A subject may be a complete application in itself, or it may be an incomplete fragment that must be composed with other subjects to produce a complete application. Subject composition combines class hierarchies to produce new subjects that incorporate functionality from existing subjects.
(1999-08-31)

subject index
information science An information resource that contains references to other resources, categorised by subject, usually in a hierarchy.
Yahoo is the most popular Internet subject index. Like most other subject indices (http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Searching_the_Web/Web_Directories/), Yahoo is arranged ontologically.
Subject indices are not to be confused with search engines, which are based not on subject, but instead on relevance, although (1) this difference is often (possibly rightly) hidden from the unsophisticated user, and (2) future integration of knowledge representation into relevance ranking algorithms will make this a hazy distinction.
(1997-04-09)

subject-oriented programming
programming Program composition that supports building object-oriented systems as compositions of subjects, extending systems by composing them with new subjects, and integrating systems by composing them with one another (perhaps with glue or adapter subjects).
The flexibility of subject composition introduces novel opportunities for developing and modularising object-oriented programs. Subject-oriented programming-in-the-large involves dividing a system into subjects and writing rules to compose them correctly. It complements object-oriented programming, solving a number of problems that arise when OOP is used to develop large systems or suites of interoperating or integrated applications.
IBM subject-oriented programming (http://www.research.ibm.com/sop/).
(1999-08-31)

sublanguage
database, language One of the languages associated with a DBMS, for example a data-definition language or query language.
(1999-10-18)

subnet
A portion of a network, which may be a physically independent network segment, which shares a network address with other portions of the network and is distinguished by a subnet number. A subnet is to a network what a network is to an internet.

subnet address
The subnet portion of an IP address. In a subnetted network, the host portion of an IP address is split into a subnet portion and a host portion using an address mask (the subnet mask).

subnet mask
address mask

subnet number
subnet address

subroutine
programming (Or procedure ) A sequence of instructions for performing a particular task. Most programming languages, including most machine languages, allow the programmer to define subroutines. This allows the subroutine code to be called from multiple places, even from within itself (in which case it is called recursive). The programming language implementation takes care of returning control to (just after) the calling location, usually with the support of call and return instructions at machine language level.
Most languages also allow arguments to be passed to the subroutine, and one, or occasionally more, return values to be passed back.
A function is often very similar to a subroutine, the main difference being that it is called chiefly for its return value, rather than for any side effects.
(1996-10-01)

subscribe
messaging To request to receive messages posted to a mailing list or newsgroup. In contrast to the mundane use of the word this is often free of charge.
(1997-03-27)

subscribing
subscribe

subseteq
Like a U on its right side with a line under it. For sets x and y, x subseteq y if all elements of x are also elements of y.
(1995-02-03)

Subset-Equational Language
(SEL) A declarative language for set processing by Bharat Jayaraman with subset and equational program clauses; pattern matching over sets (it supports efficient iteration over sets); annotations to say which functions distribute over union in which arguments (for point-wise/incremental computation over sets); defining transitive closures through circular constraints (implemented by mixed top-down/memoisation and bottom-up strategy); meta-programming and simple higher-order programming; modest user-interface including tracing.
The SEL compiler, written in Quintus Prolog, generates WAM-like code, extended to deal with set-matching, memoisation, and the novel control structure of the language. The run-time system is written in C.
(ftp://ftp.cs.buffalo.edu/users/bharat/SEL2)
E-mail: Bharat Jayaraman bharat@cs.buffalo.edu .
[ Towards a Broader Basis for Logic Programming , B. Jayaraman, TR CS Dept, SUNY Buffalo, 1990].
[ Set Abstraction in Functional and Logic Programming , F.S.K. Silbermann fs@cs.tulane.edu et al, ACM Proc 1989].
(1994-12-15)

Substitute
character (SUB) ASCII character 26.
[Why?]
(1996-06-28)

substrate
hardware The body or base layer of an integrated circuit, onto which other layers are deposited to form the circuit. The substrate is usually Silicon, though Sapphire is used for certain applications, particularly military, where radiation resistance is important. The substrate is originally part of the wafer from which the die is cut. It is used as the electrical ground for the circuit.
(1996-04-07)

subtype
programming If S is a subtype of T then an expression of type S may be used anywhere that one of type T can and an implicit type conversion will be applied to convert it to type T.
In object oriented programming, this means that objects of type S must accept every message that one of type T would.
(1997-07-28)

subtyping
subtype

SuccessoR
A language for distributed computing derived from SR.
[ SuccessoR: Refinements to SR , R.A. Olsson et al, TR 84-3, U Arizona 1984].
(1994-12-15)

successor
daughter

sucking mud
(Or pumping mud ) (Applied Data Research) Crashed or wedged. Usually said of a machine that provides some service to a network, such as a file server. This Dallas regionalism derives from the East Texas oilfield lament, Shut 'er down, Ma, she's a-suckin' mud . Often used as a query. We are going to reconfigure the network, are you ready to suck mud?
[Jargon File]
(1994-12-15)

Sue
The system language used to write an operating system for the IBM 360. It is a cross between Pascal and XPL. It allows type checked separate compilation of internal procedures using a program library.
[ The System Language for Project Sue , B.L. Clark e al, SIGPLAN Notices 6(9):79-88 (Oct 1971)].
(1994-12-01)

sufficiently small
suitably small

SUGAR
A simple lazy functional language designed at Westfield College, University of London, UK and used in Principles of Functional Programming, Hugh Glaser et al, P-H 1984.
(1994-12-01)

suicideware
jargon A program which entirely stops functioning after a predefined date. Used to ensure that beta versions don't remain in circulation indefinitely or in demo versions to ensure that they can only be used to try out the program.
(1997-05-26)

SUIF
Stanford University Intermediate Format.
A register-oriented intermediate language.
(1994-12-01)

suit
1. Ugly and uncomfortable business clothing often worn by non-hackers. Invariably worn with a tie , a strangulation device that partially cuts off the blood supply to the brain. It is thought that this explains much about the behaviour of suit-wearers.
2. A person who habitually wears suits, as distinct from a techie or hacker.
See loser, burble, management, Stupids, SNAFU principle, and brain-damaged.
[Jargon File]
(1998-07-01)

suitably small
jargon, mathematics (From mathematical jargon) An expression used ironically to characterise unquantifiable behaviour that differs from expected or required behaviour. For example, suppose a newly created program came up with a correct full-screen display, and one publicly exclaimed: It works! Then, if the program dumped core on the first mouse click, one might add: Well, for suitably small values of `works'.
Compare the characterisation of pi under for values of.
[Jargon File]
(1997-09-21)

Suite Synthetique des Benchmarks de l'AFUU
benchmark (SSBA, AFUU Synthetic Benchmark Suite) A public domain benchmark suite produced by the AFUU.
Version: 2.3 (1995-07-14).
(1996-06-11)

sum
1. theory In domain theory, the sum A + B of two domains contains all elements of both domains, modified to indicate which part of the union they come from, plus a new bottom element. There are two constructor functions associated with the sum:
inA : A - A+B inB : B - A+B inA(a) = (0,a) inB(b) = (1,b)
and a disassembly operation:
case d of isA(x) - E1; isB(x) - E2
This can be generalised to arbitrary numbers of domains.
See also smash sum, disjoint union.
2. tool A Unix utility to calculate a 16-bit checksum of the data in a file. It also displays the size of the file, either in kilobytes or in 512-byte blocks. The checksum may differ on machines with 16-bit and 32-bit ints.
Unix manual page: sum(1).
(1995-03-16)

Summary Object Interchange Format
World-Wide Web, protocol (SOIF) The attribute-value pair record format which Harvest Brokers use to exchange Harvest content summaries.
SOIF provides a means of bracketing collections of summary objects, allowing Harvest Brokers to retrieve SOIF content summaries for many objects in a single, efficient compressed stream. Harvest Brokers provide support for querying SOIF data using structured attribute-value queries and many other types of queries.
(http://www.ust.hk/Harvest/brokers/soifhelp.html)
(1996-09-16)

SUMMER
String manipulation and pattern matching language by Klint Sint at CWI in the late 1970s. It was recently used as the input and implementation language for the Dataflow Compiler Project at CWI.
[ An Overview of the SUMMER Programming Language , Paul Klint, 7th POPL, ACM 1980, pp. 47-55].

SUMMER SESSION
An early system on MIT's Whirlwind.
[Listed in CACM 2(5):16 (May 1959)].
(1995-01-19)

sum of products type
algebraic data type

Sun
Sun Microsystems

Sun-2 Workstation
computer A Unix workstation produced by Sun Microsystems, Inc., based on the Motorola 68000. Followed by the Sun-3 Workstation.
[Details? Dates?]
(2001-03-11)

Sun-3 Workstation
computer A Unix workstation produced by Sun Microsystems, Inc. in the 1980s, based on the Motorola 68020. Successor to the Sun-2 Workstation, followed by the Sun-4 Workstation. The Sun-3 had a custom MMU. A couple of mutant models used an entirely different architecture.
[Details? Dates?]
(2001-03-11)

Sun-4 Workstation
computer A Unix workstation produced by Sun Microsystems, Inc. in the late 1980s[?], based on SPARC processors. The Sun-4 followed the Sun-3 Workstation. Later SPARC-based workstations were called SPARCstations .
[Details? Dates? Was Sun-4 a SPARCstation?]
(2001-03-11)

sun lounge
jargon (Great Britain) The room where all the Sun workstations live. The humour in this term comes from the fact that it's also in mainstream use to describe a solarium, and all those Sun workstations clustered together give off an amazing amount of heat.
[Jargon File]
(1995-01-19)

Sun Microsystems, Inc.
company One of the first, and now biggest, US computer manufacturers. They also manufacture in Europe. The Sun-2 and 3 series of workstations and servers were based on the Motorola 680x0 family of microprocessors and the Sun-4 series on the SPARC. Sun also produce their own version of Unix, originally called SunOS and now Solaris. Their Network File System has become the de facto standard for sharing files between Unix systems.
Quarterly sales $1403M, profits $78M (Aug 1994).
Home (http://www.sun.com/). Sun World Online (http://www.sun.com/sunworldonline/).
Address: 2550 Garcia Ave., Mt. View, CA 94043 -1100 USA.
(1995-10-14)

SunOS
operating system Sun Microsystems' version of Unix for Sun workstations. SunOS is similar to BSD Unix with some SVR4 features and OpenWindows 3.0.
After version 4, SunOS was integrated into Sun's Solaris operating environment .
(1999-03-26)

sunspots
1. Notional cause of an odd error. Why did the program suddenly turn the screen blue? Sunspots, I guess.
2. Also the cause of bit rot - from the myth that sunspots will increase cosmic rays, which can flip single bits in memory. See also phase of the moon.
[Jargon File]

sun-stools
Unflattering hackerism for SunTools, a pre-X windowing environment notorious in its day for size, slowness, and misfeatures. X, however, is larger and slower; see second-system effect.

SunView
A windowing system from Sun Microsystems, superseded by NeWS.

SUNY
State University of New York

SUPER
The successor to LOGLISP, based on LNF.
[ New Generation Knowledge Processing: Final Report on the SUPER System , J Alan Robinson et al, CASE Center TR 8707, Syracuse U, 1987].
(1994-11-24)

Super 7
hardware, standard An upgrade to Socket 7 to support AGP and a 100 MHz system bus,, supported by non-Intel processor and motherboard manufacturers such as AMD and Cyrix.
Due to faster access to L2 cache and memory, Super 7 gives a 10% performance boost over Socket 7 motherboards for the same processor. Super 7 motherboards should support all Socket 7 processors.
(1999-08-04)

superclass
base class

supercombinators
Combinators with coarser granularity than those proposed by David Turner. A functional program is translated to a set of functions without free variables. The members of the set are selected to be optimal for that program. Supercombinators were proposed by John Hughes at University of Edinburgh.

supercompilation
A function program transformation technique invented by Turchin. A program is evaluated symbolically in order to observe the possible history of computation states called configurations. Based on this Turchin's REFAL compiler would try to construct a better program.

supercomputer
computer A broad term for one of the fastest computers currently available. Such computers are typically used for number crunching including scientific simulations, (animated) graphics, analysis of geological data (e.g. in petrochemical prospecting), structural analysis, computational fluid dynamics, physics, chemistry, electronic design, nuclear energy research and meteorology. Perhaps the best known supercomputer manufacturer is Cray Research.
A less serious definition, reported from about 1990 at The University Of New South Wales states that a supercomputer is any computer that can outperform IBM's current fastest, thus making it impossible for IBM to ever produce a supercomputer.
(1996-12-13)

superhighway
information superhighway

SuperJanet
An initiative started in 1989, under the Computer Board, with the aim of developing of a national broadband network to support UK higher education and research. The preparatory work culminated in 1992 with the award of a contract worth 18M pounds to British Telecom to provide networking services over a four year period that extends to March 1997.
The BT contract will provide a national network with two components: a high speed, configurable bandwidth network serving up to 16 sites, initially using PDH to be replaced with SDH, and a high speed switched data service (SMDS) serving 50 or more sites. The primary role of the PDH/SDH component will be to support the development and deployment of an ATM network. These components will be complemented by several high performance Metropolitan Area Networks each serving several closely located sites. The aim is to provide, within the first year of the project, a pervasive network capable of supporting a large and diverse user community.
The network has two parts, an IP data network and an ATM network, both operating at 34Mbit/s. Early in August 1993 the pilot IP network was transferred to full service and was configured to provide a trunk network for JIPS, the JANET IP Service.
In November 1993 work was well advanced on the next phase which aims to extend SuperJANET to a large number of sites. The pilot four site ATM network will be extended to serve twelve sites and will expand the scope of the video network. The principal vehicle used for the expansion of the data network will be the SMDS service provided by BT. Most of the work associated with the development of this phase is expected to be completed by the end of March 1994.
[Joint Network Team, Network News 40, ISSN 0954 - 0636].
(ftp://osiris.jnt.ac.uk/pub/newsfiles/documents/netwnews/news40+/news40.para)
[Current status?]
(1994-12-15)

SUPERMAC
A general-purpose macro language, embeddable in existing languages as a run-time library.
[ SUPERMAC - A Macro Facility That can be Added to Existing Compilers , P.J. Brown, Soft Prac Exp 10(6):431-434].
(1994-12-15)

Super Pascal
A Pascal variant used in [ Data Structures and Algorithms , A. Aho, Hopcroft Ullman, A-W 1983]. It adds non-numeric labels, a return statement and expressions as names of types.
(1994-12-15)

superpipelined
1. Traditional pipelined architectures have a single pipeline stage for each of: instruction fetch, instruction decode, memory read, ALU operation and memory write. A superpipelined processor has a pipeline where each of these logical steps may be subdivided into multiple pipeline stages.
2. Marketese for pipelined.

superprogrammer
A prolific programmer; one who can code exceedingly well and quickly. Not all hackers are superprogrammers, but many are. Productivity can vary from one programmer to another by three orders of magnitude. For example, one programmer might be able to write an average of three lines of working code in one day, while another, with the proper tools, might be able to write 3,000. This range is astonishing; it is matched in very few other areas of human endeavour.
The term superprogrammer is more commonly used within such places as IBM than in the hacker community. It tends to stress naive measures of productivity and to underweight creativity, ingenuity, and getting the job *done* - and to sidestep the question of whether the 3,000 lines of code do more or less useful work than three lines that do the Right Thing. Hackers tend to prefer the terms hacker and wizard.
[Jargon File]

superscalar
architecture A superscalar architecture is a uniprocessor that can execute two or more scalar operations in parallel. Some definitions include superpipelined and VLIW architectures; others do not. Superscalar architectures (apart from superpipelined architectures) require multiple functional units, which may or may not be identical to each other. In some superscalar processors the order of instruction execution is determined statically (purely at compile-time), in others it is determined dynamically (partly at run time).

super source quench
A special packet designed to shut up an Internet host. The Internet Protocol (IP) has a control message called Source Quench that asks a host to transmit more slowly on a particular connection to avoid congestion. It also has a Redirect control message intended to instruct a host to send certain packets to a different local router. A super source quench is actually a redirect control packet, forged to look like it came from a local router, that instructs a host to send all packets to its own local loopback address. This will effectively tie many Internet hosts up in knots. Compare godzillagram, breath-of-life packet.
[Jargon File]

SuperTalk
Silicon Beach Software. A superset of HyperTalk used in SuperCard.

superuser
[Unix] Synonym root, avatar. This usage has spread to non-Unix environments; the superuser is any account with all wheel bits on. A more specific term than wheel.
[Jargon File]

Super VGA
Super Video Graphics Array

Super Video Graphics Adapter
Super Video Graphics Array

Super Video Graphics Adaptor
Super Video Graphics Array

Super Video Graphics Array
hardware (SVGA) A video display standard created by VESA for IBM PC compatible personal computers. The resolution is 800 x 600 4-bit pixels. Each pixel can therefore be one of 16 colours.
See Video Graphics Array.
[Is there a palette? Standard document? Adapter, Adaptor, or Array?]
(1995-01-12)

supervisor mode
(Or supervisor state ) An execution mode on some processors which enables execution of all instructions, including privileged instructions. It may also give access to different a address space, to memory management hardware and to other peripherals. This is the mode in which the operating system usually runs.
Opposite: user mode.
(1995-02-15)

Supervisory Control and Data Acquisition
application (SCADA) Systems are used in industry to monitor and control plant status and provide logging facilities. SCADA systems are highly configurable, and usually interface to the plant via PLCs.
(1997-02-11)

support
After-sale handholding; something many software vendors promise but few deliver. To hackers, most support people are useless - because by the time a hacker calls support he or she will usually know the software and the relevant manuals better than the support people (sadly, this is *not* a joke or exaggeration). A hacker's idea of support is a tête-à-tête or exchange of electronic mail with the software's designer.
[Jargon File]
(1995-02-15)

supremum
least upper bound

Sure
[ Towards a Broader Basis for Logic Programming , Bharat Jayaraman, TR CS Dept, SUNY Buffalo, 1990].
(1995-01-05)

surfing
( Internet surfing ) Used by analogy to describe the ease with which an expert user can use the waves of information flowing around the Internet to get where he wants. The term became popular in the early 1990s as access to the Internet became more widespread and tools such as World-Wide Web browsers made its use simpler and more pleasant.
(1995-01-05)

SURGE
Sorter, Updater, Report Generator, Etc. IBM 704, 1959. Sammet 1969, p.8.

surjection
mathematics A function f : A - B is surjective or onto or a surjection if f A = B. I.e. f can return any value in B. This means that its image is its codomain.
Only surjections have right inverses, f' : B - A where f (f' x) = x since if f were not a surjection there would be elements of B for which f' was not defined.
See also bijection, injection.
(1995-05-27)

surjective
surjection

surrogate key
database A unique primary key generated by the RDBMS that is not derived from any data in the database and whose only significance is to act as the primary key.
A surrogate key is frequently a sequential number (e.g. a Sybase identity column ) but doesn't have to be. Having the key independent of all other columns insulates the database relationships from changes in data values or database design and guarantees uniqueness.
Some database designers use surrogate keys religiously regardless of the suitability of other candidate keys. However, if a good key already exists, the addition of a surrogate key will merely slow down access, particularly if it is indexed.
Compare: intelligent key.
(1999-12-07)

suspension
In lazy evaluation, a suspension (or in Henderson's terminology, a recipe ) is a closure with a flag indicating whether the expression has been evaluated or not. When the expression is evaluated the first time, this flag is set. Subsequent requests for the value of the expression will not attempt to re-evaluate it.
(1995-02-06)

Suzie COBOL
/soo'zee koh'bol/ 1. (IBM, probably from Frank Zappa's Suzy Creamcheese ) A coder straight out of training school who knows everything except the value of comments in plain English. Also (fashionable among personkind wishing to avoid accusations of sexism) Sammy Cobol or (in some non-IBM circles) Cobol Charlie .
2. (proposed) Meta-name for any code grinder, analogous to J. Random Hacker.
[Jargon File]
(1995-02-06)

sv
networking The country code for El Salvador.
(1999-01-27)

SVC
1. operating system Supervisor Call.
2. networking switched virtual connection.
(2001-10-25)

SVG
Scalable Vector Graphics

SVGA
hardware Super Video Graphics Array (not Adapter ).
(1995-11-16)

SVGA monitor
hardware, graphics A monitor capable of displaying the output of an SVGA card.
(1997-02-25)

SVID
System V Interface Definition

S-Video
multimedia A video format offering a higher quality signal than composite video, but a lower quality than component video. This mid-level format divides the signal into two channels - luminance and chrominance.
[Used where and for what?]
(1998-06-25)

SVR4
AT T/USL Unix System V Release 4.
(1995-03-28)

SVRC
body Software Verification Research Centre.
(1995-11-14)

SVS
OS/VS2

swab
/swob/ The PDP-11 swap byte instruction mnemonic, as immortalised in the dd option conv=swab .
1. To solve the NUXI problem by swapping bytes in a file.
2. The program in V7 Unix used to perform this action, or anything functionally equivalent to it.
See also big-endian, little-endian, middle-endian, bytesexual.
[Jargon File]

SWAG
jargon Scientific (or Silly) Wild Ass Guess. A term used by technical teams when establishing high level sizings for large projects.
(2000-08-09)

swap
operating system To move a program from fast-access memory to a slow-access memory ( swap out ), or vice versa ( swap in ). The term often refers specifically to the use of a hard disk (or a swap file) as virtual memory or swap space .
When a program is to be executed, possibly as determined by a scheduler, it is swapped into core for processing; when it can no longer continue executing for some reason, or the scheduler decides its time slice has expired, it is swapped out again.
This contrasts with paging systems in which only parts of a program's memory is transfered.
[Jargon File]
(1996-11-22)

swap file
operating system A file used by a program or, more often, an operating system as swap space. A swap file is usually allocated as a long contiguous section of a hard disk to reduce access time. The disk space used for a swap file can not be used for other things. Under Microsoft Windows, swap files are recommended not to exceed three times the available RAM and are usually 150 percent of the RAM size.
(1996-11-15)

swapped in
swap

swapped out
swap

swapping
swap

swap space
operating system An area of disk (e.g. a swap file) used to store the state of a process that has been swapped out. Under a virtual memory system, it is the amount of swap space rather than the amount of physical memory which determines the maximum size of a single process and the maximum total size of all active processes.
[Jargon File]
(1994-11-03)

SweetLambda
Sugared lambda-calculus(?).

SWI-Prolog
programming A Prolog by Jan Wielemaker jan@swi.psy.uva.nl like a superset of Edinburgh Prolog. Version 1.7.2. Docking Station is distributed under General Public License. It runs on Sun-4, Sun-3, Linux, DEC MIPS (incomplete), RS/6000, PS2/AIX, Atari ST, Gould PN, NeXT, VAX, HP-UX (problems), MS-DOS, and OS/2.
Home (ftp://swi.psy.uva.nl/pub/SWI-Prolog).
OS/2 (ftp://mpii02999.ag2.mpi-sb.mpg.de/pub/toolw/SWI/).
Mailing list: prolog-request@swi.psy.uva.nl.
(2000-03-23)

switch
1. programming switch statement.
2. software command line option.
3. networking packet switch, circuit switch.
(1999-01-14)

Switched Multimegabit Data Service
networking (SMDS) An emerging high-speed datagram-based public data network service developed by Bellcore and expected to be widely used by telephone companies as the basis for their data networks.
See also Metropolitan Area Network.
(1997-01-31)

switched virtual circuit
virtual circuit

switched virtual connection
networking (SVC) A virtual connection in an ATM network set up on demand by the signalling control point.
Contrast with permanent virtual connection.
(2001-06-29)

switching hub
networking A circuit switching hub.
(1999-01-01)

switch statement
programming (Or case statement, multi-way branch) A construct found in most high-level languages for selecting one of several possible blocks of code or branch destinations depending on the value of an expression. An example in C is
switch (foo(x, y)) case 1: printf( Hello n );/* fall through */ case 2: printf( Goodbye n ); break; case 3: printf( Fish n ); break; default: fprintf(stderr, Odd foo value n ); exit(1);
The break statements cause execution to continue after the whole switch statemetnt. The lack of a break statement after the first case means that execution will fall through into the second case. Since this is a common programming error you should add a comment if it is intentional.
If none of the explicit cases matches the expression value then the (optional) default case is taken.
A similar construct in some functional languages returns the value of one of several expressions selected according to the value of the first expression. A distant relation to the modern switch statement is Fortran's computed goto.
(1997-01-30)

swizzle
To convert external names, array indices, or references within a data structure into address pointers when the data structure is brought into main memory from external storage (also called pointer swizzling ); this may be done for speed in chasing references or to simplify code (e.g. by turning lots of name lookups into pointer dereferences). The converse operation is sometimes termed unswizzling .
See also snap.
[Jargon File]

swung dash
character A character similar to tilde but appearing in the same vertical position as a dash, i.e. half way up rather than at the top like tilde. ASCII does not include a swung dash so tilde is used instead.
It is commonly used for approximates or is approximately equal to .
(1997-06-28)

sy
networking The country code for Syria.
(1999-01-27)

Sybase, Inc.
company A software vendor focused on database management software.
Yearly sales: $903.9 million (1997).
Address: 6475 Christie Ave., Emeryville, California, USA.
Home (http://www.sybase.com)
(1998-05-18)

SYDEL
A system language, fully typed, with inline assembly code, by Jan Garwick, ca 1974.

SYGMA
A symbolic generator and macro assembler by A.P. Ershov et al of Novosibirsk. For the BESM-6, M-220 and Minsk-22.
[ SYGMA, A Symbolic Generator and Macroassembler , A.P. Ershov et al, in Symbol Manipulation Languages and Techniques, D.G. Bobrow ed, N-H 1968, pp.226- 246].

SYLK
Symbolic Link

Sylvan
[Distributed language?]

Symantec
company Software manufacturer of utility and development applications for Windows and Macintosh platforms. Products include ACT!, Norton Utilities, Norton AntiVirus, Symantec AntiVirus for Macintosh, Symantec Cafe.
Home (http://www.symantec.com/).
(1997-03-10)

SYMBAL
SYMbolic ALgebra. A symbolic mathematics language with ALGOL-like syntax by Max Engeli, late 60's. Implemented for CDC6600.
[ User's Manual for the Formula Manipulation Language SYMBAL , M. Engeli, TRM-8.00, Comp Ctr UT Austin, June 1968].

SymbMath
mathematics, tool A small symbolic mathematics package for MS-DOS which can learn new facts.
Latest version: 2.1.1.
(Home (http://www.symbmath.com/).
(2001-03-26)

SYMBOLANG
Lapidus Goldstein, 1965. Symbol manipulating Fortran subroutine package for IBM 7094, later CDC6600.
[ Some Experiments in Algebraic Manipulation , CACM 8:501-508 1965].
(1995-03-16)

Symbolic Assembler Program
language (SAP) The assembly language for the IBM 704, defined in the late 1950s.
(1994-12-12)

SYMBOLIC ASSEMBLY
language An early system on the IBM 705.
[Listed in CACM 2(5):16, May 1959].
(1996-01-15)

Symbolic Automatic INTegrator
mathematics, tool (SAINT) A symbolic mathematics program written in Lisp by J. Slagle at MIT in 1961.
[Sammet 1969, p. 410].
(1994-12-08)

symbolic inference
The derivation of new facts from known facts and inference rules. This is one of the fundamental operations of artificial intelligence and logic programming languages like Prolog.
Inference is a basic part of human reasoning. For example given that all men are mortal and that Socrates is a man, it is a trivial step to infer that Socrates is mortal. We might express these symbolically:
man(X) = mortal(X). man(socrates).
( if X is a man then X is mortal and Socrates is a man ). Here, man , mortal and socrates are just arbitrary symbols which the computer manipulates without reference to or knowledge of their external meaning. A forward chaining system (a production system) could use these to infer the new fact
mortal(socrates).
simply by matching the left-hand-side of the implication against the fact and substituting socrates for the variable X.
(1994-10-28)

Symbolic Link
file format (SYLK) A standard file format for spreadsheets, (not to be confused with symbolic link).
[Context? Reference?]
(1999-12-06)

symbolic link
file system (Or symlink , soft link (by contrast with hard link ), shortcut , alias ) A special type of Unix file which refers to another file by its pathname. A symbolic link is created with the ln (link) command:
ln -s OLDNAME NEWNAME
Where OLDNAME is the target of the link (usually a pathname) and NEWNAME is the pathname of the link itself.
Most operations (open, read, write) on the symbolic link automatically dereference it and operate on its target (OLDNAME). Some operations (e.g. removing) work on the link itself (NEWNAME).
In contrast with hard links, there are no restrictions on where a symbolic link can point, it can refer to a file on another file system, to itself or to a file which does not even exist (e.g. when the target of the symlink is removed). Such problems will only be detected when the link is accessed.
(1997-10-22)

symbolic logic
logic The discipline that treats formal logic by means of a formalised artificial language or symbolic calculus, whose purpose is to avoid the ambiguities and logical inadequacies of natural language.
(1995-12-24)

Symbolic Mathematical Laboratory
tool, mathematics An on-line system under CTSS for symbolic mathematics. It used a display screen and a light pen.
[Sammet 1969, p.514].
(1995-04-16)

symbolic mathematics
mathematics, application (Or symbolic math ) The use of computers to manipulate mathematical equations and expressions in symbolic form, as opposed to manipulating the numerical quantities represented by those symbols. Such a system might be used for symbolic integration or differentiation, substitution of one expression into another, simplification of an expression, change of subject etc.
One of the best known symbolic mathematics software packages is Mathematica. Others include ALAM, ALGY, AMP, Ashmedai, AXIOM*, CAMAL, CAYLEY, CCalc, CLAM, CoCoA(?), ESP, FLAP, FORM, FORMAL, Formula ALGOL, GAP, JACAL, LiE, Macaulay, MACSYMA, Magic Paper, MAO, Maple, Mathcad, MATHLAB, MuMath, Nother, ORTHOCARTAN, Pari, REDUCE, SAC-1, SAC2, SAINT, Schoonschip, Scratchpad I, SHEEP, STENSOR, SYMBAL, SymbMath, Symbolic Mathematical Laboratory, TRIGMAN, UBASIC.
Usenet newsgropup: news:sci.math.symbolic.
(1995-04-12)

Symbolic Optimal Assembly Program
language (SOAP) The IBM 650's assembly language. Optimal refers to rearranging instructions on slowly rotating drum memory.
Versions: SOAP I, SOAP II, CASE SOAP III.
[Listed in CACM 2(5):16, May 1959].
(1994-11-04)

Symbolics, Inc.
company The company which produced the Lisp Machine.
The Symbolics Museum (http://home.brightware.com/~rwk/symbolics/).
[Summary?]
(1998-12-13)

Symbol Manipulation Program
(SMP) Steven Wolfram's earlier symbol manipulation program, before he turned to Mathematica.
[ SMP Handbook , C. Cole, S. Wolfram et al, Caltech 1981].
(1995-01-29)

symlink
symbolic link

symmetric
mathematics 1. A relation R is symmetric if, for all x and y,
x R y = y R x
If it is also antisymmetric (x R y y R x = x == y) then x R y = x == y, i.e. no two different elements are related.
2. In linear algebra, a member of the tensor product of a vector space with itself one or more times, is symmetric if it is a fixed point of all of the linear isomorphisms of the tensor product generated by permutations of the ordering of the copies of the vector space as factors. It is said to be antisymmetric precisely if the action of any of these linear maps, on the given tensor, is equivalent to multiplication by the sign of the permutation in question.
(1996-09-22)

symmetric key cryptography
cryptography A cryptography system in which both parties have the same encryption key, as in secret key cryptography.
Opposite: public-key cryptography.
(1998-06-09)

Symmetric LISP
A parallel Lisp in which environments are first-class objects. It is implemented in Common LISP.
[ Parallelism, Persistence and Meta-Cleanliness in the Symmetric Lisp Processor , D. Gelernter et al, SIGPLAN Notices 22(7):274-282 (July 1987)].
[ A Programming Language Supporting First-Class Parallel Environments , S. Jagannathan, MIT-LCS/TR 434, 1989].
E-mail: Suresh Jagannathan suresh@research.nj.nec.com .
(1995-03-16)

symmetric multiprocessing
parallel (SMP) Two or more similar processors connected via a high-bandwidth link and managed by one operating system, where each processor has equal access to I/O devices. This is in contrast to the compute server kind of parallel processor where a front-end processor handles all I/O to disks, terminals and local area network etc.
The processors are treated more or less equally, with application programs able to run on any or perhaps all processors in the system, interchangeably, at the operating system's discretion. Simple MP usually involves assigning each processor to a fixed task (such as managing the file system), reserving the single main CPU for general tasks.
OS/2 currently supports so-called HMP (Hybrid Multiprocessing), which provides some elements of symmetric multiprocessing, using add-on IBM software called MP/2. OS/2 SMP was planned for release in late 1993.
(1995-03-19)

symmetric multiprocessor
symmetric multiprocessing

Symphony
tool, product Lotus Development's successor to their Lotus 1-2-3 spreadsheet. Unlike 1-2-3, Symphony allowed a limited form of multitasking. The user could switch manually between it and MS-DOS and separate graph and spreadsheet windows could be opened simultaneously and would be updated automatically when cells were changed. In addition, a small word processor could be opened in a third window. These all could be printed out on the same report. Symphony could read and write Lotus 1-2-3 files and had interactive graphical output and a word processor, thus making it effectively a report generator. Unlike 1-2-3, Symphony was not a great commercial success.
(1995-03-28)

SYMPL
language SYsteMs Programming Language.
CDC's derivative of Jovial. SYMPL is a non-re-entrant block structured language with extensive bit manipulation facilities, which is linkable with Fortran. Major parts of CDC systems during the 1970s were written in SYMPL.
(1995-02-14)

SYN
1. character Synchronous idle.
2. language A syntactic specification language for COPS.
[ Metalanguages of the Compiler Production System COPS , J. Borowiec, in GI Fachgesprach Compiler-Compiler , ed W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].
3. [TCP/IP SYN request?]
(1996-04-17)

sync
/sink/ (Or synch ) 1. To synchronise, to bring into synchronisation.
2. file system To force ( flush ) all pending buffered disk writes to the disk.
3. More generally, to force a number of competing processes or agents to a state that would be safe if the system were to crash, i.e. to checkpoint in the database sense.
[Jargon File]
(1994-11-11)

Synchronized Multimedia Integration Language
hypertext, language, multimedia, text, World-Wide Web (SMIL) A language based on Extensible Markup Language (XML), that enables people without programming or scripting backgrounds to author multimedia presentations in a simple text editor. SMIL is suitable for use on the World-Wide Web.
For example, a developer can write SMIL to display an image after an audio track ends.
SMIL uses two main tags: parallel and sequential. It refers to media objects by URLs, allowing them to be shared between presentations and stored on different servers for load balancing. The language can also associate different media objects with different bandwidths.
SMIL 1.0 became an official recommendation of the World Wide Web Consortium W3C in June 1998.
W3C (http://www.w3c.org/audiovideo/).
(2000-04-21)

synchronous
operating system, communications 1. Two or more processes that depend upon the occurrences of specific events such as common timing signals.
2. Occurring at the same time or at the same rate or with a regular or predictable time relationship or sequence.
Opposite: asynchronous.
(1996-04-11)

Synchronous Data Link Control
communications (SDLC) An IBM protocol.
A discipline conforming to subsets of the ADCCP of ANSI and the HDLC of the International Organization for Standardization. SDLC manages synchronous, code-transparent, bit-serial communication which can be duplex or half-duplex; switched or non-switched; point-to-point, multipoint, or loop.
Compare Binary Synchronous Communication.
(1995-03-22)

Synchronous Digital Hierarchy
communications, standard (SDH) An international digital telecommunications network hierarchy which standardises transmission around the bit rate of 51.84 megabits per second, which is also called STS-1. Multiples of this bit rate comprise higher bit rate streams. Thus STS-3 is 3 times STS-1, STS-12 is 12 times STS-1, and so on. STS-3 is the lowest bit rate expected to carry ATM traffic, and is also referred to as STM-1 (Synchronous Transport Module-Level 1).
The SDH specifies how payload data is framed and transported synchronously across optical fibre transmission links without requiring all the links and nodes to have the same synchronized clock for data transmission and recovery (i.e. both the clock frequency and phase are allowed to have variations, or be plesiochronous).
SDH offers several advantages over the current multiplexing technology, which is known as Plesiochronous Digital Hierarchy. Where PDH lacks built-in facilities for automatic management and routing, and locks users into proprietary methods, SDH can improve network reliability and performance, offers much greater flexibility and lower operating and maintenance costs, and provides for a faster provision of new services.
Under SDH, incoming traffic is synchronized and enhanced with network management bits before being multiplexed into the STM-1 fixed rate frame.
The fundamental clock frequency around which the SDH or SONET framing is done is 8 KHz or 125 microseconds.
SONET (Synchronous Optical Network) is the American version of SDH.
(1995-03-02)

Synchronous DRAM
Synchronous Dynamic Random Access Memory

Synchronous Dynamic Random Access Memory
storage (SDRAM, Synchronous DRAM) A form of DRAM which adds a separate clock signal to the control signals. SDRAM chips can contain more complex state machines, allowing them to support burst access modes that clock out a series of successive bits (similar to the nibble mode DRAM).
(1996-10-05)

Synchronous Graphics RAM
Synchronous Graphics Random Access Memory

Synchronous Graphics Random Access Memory
storage (SGRAM, Synchronous Graphics RAM) A type of Synchronous DRAM optimised for use in graphics hardware. Extra features can include burst operation, block write and write per bit. SGRAMs are designed to provide the very high throughput needed for graphics-intensive operations such as 3d rendering and full-motion video.
(1996-11-28)

Synchronous idle
character (SYN) The mnemonic for ASCII character 22.
[Why?]
(1996-06-28)

synchronous key encryption
algorithm, cryptography Data encryption using two interlocking keys where enything encoded using one key may be decoded using the other key. This means if someone makes one of the two keys publicly available (as in public-key encryption) and keeps the other private, then anyone may send them a message or data that only they can decode, giving privacy, and furthermore, the sender may also encrypt that same message additionally with their own private key, making it impossible to read without decoding first with *their* _public_ key by the receiver, this gives authenticity.
It is a very powerful system. One cannot determine one key from the other, nor can they crack the encryption by computing all combinations, because, depending on the size of the keys (sometimes as large as 1024 bytes, though having grown from smaller versions in popular implementations of the software which does this), the amount of computing power required to crack the code is unavailable, even supercomputers would take more than a hundred years to crack it.
PGP is a publicly availble software implementation written by Phil Zimmermann.
(1994-10-10)

Synchronous Optical NETwork
networking (SONET) A broadband networking standard based on point-to-point optical fibre networks. SONET will provide a high-bandwidth pipe to support ATM-based services.
The SONET standard will establish a digital hierarchical network with a consistent worldwide transport scheme. SONET has been designed to take advantage of fibre, in contrast to the plain old telephone system which was designed for copper wires.
SONET carries circuit-switched data in frames at speeds in multiples of 51.84 megabits per second (Mbps) up to 48 * 51.84 Mbps = 2.488 gigabits per second. Since SONET uses multiple channels to transmit data, each SONET frame can be considered to be a two-dimensional table of bytes that is 9 rows high and 90 columns deep. For every OC-n level, SONET can transmit n number of frames at a given time. Groups of frames are called superframes.
SONET is the American version of SDH.
[Wulf Losee; Corporate Computing 8.92; STACKS; LAN Magazine 10.93].
(1994-11-30)

syncronous
spelling It's spelled synchronous .
(1996-12-13)

synflood
networking To flood another machine with bogus TCP/IP SYN requests.
(1997-04-07)

synonym ring
information science A list of words with related meanings used to broaden the scope of a word search. As well as returning documents which contain a sought-for word a search using a synonym ring might also return documents which contain words in the same synonym ring as a sought-for word. Synonym rings are produced manually and are usually specific to a certain field, e.g. legal knowhow.
(1997-04-09)

syntactic salt
The opposite of syntactic sugar, a feature designed to make it harder to write bad code. Specifically, syntactic salt is a hoop the programmer must jump through just to prove that he knows what's going on, rather than to express a program action. Some programmers consider required type declarations to be syntactic salt. A requirement to write end if , end while , end do , etc. to terminate the last block controlled by a control construct (as opposed to just end ) would definitely be syntactic salt. Syntactic salt is like the real thing in that it tends to raise hackers' blood pressures in an unhealthy way. Compare candygrammar.
[Jargon File]

syntactic sugar
Term coined by Peter Landin for additions to the syntax of a language which do not affect its expressiveness but make it sweeter for humans to use. Syntactic sugar gives the programmer an alternative way of coding that is more succinct or more like some familiar notation. It does not affect the expressiveness of the formalism (compare chrome).
Syntactic sugar can be easily translated ( desugared ) to produce a program in some simpler core syntax. E.g. C's a[i] notation is syntactic sugar for *(a + i) . In a (curried) functional language, all operators are really functions and the use of infix notation x+y is syntactic sugar for function application (+) x y .
Alan Perlis once quipped, Syntactic sugar causes cancer of the semicolon.
The variants syntactic saccharin and syntactic syrup are also recorded. These denote something even more gratuitous, in that they serve no purpose at all. Compare candygrammar, syntactic salt.

syntax
The structure of strings in some language. A language's syntax is described by a grammar. For example, the syntax of a binary number could be expressed as
binary_number = bit [ binary_number ]
bit = 0 | 1
meaning that a binary number is a bit optionally followed by a binary number and a bit is a literal zero or one digit.
The meaning of the language is given by its semantics.
See also abstract syntax, concrete syntax.
(1994-10-31)

Syntax-Case
language A macro system for Scheme by R. Kent Dybvig dyb@cs.indiana.edu . It is superior to the low-level system described in the Revised^4 Report (R4RS). Pattern variables are ordinary identifiers with essentially the same status as lexical variable names and macro keywords. The syntax is modified to recognise and handle references to pattern variables. Version 2.1 works with Chez Scheme and the Macintosh port runs under MacGambit 2.0
(ftp://iuvax.cs.indiana.edu/pub/scheme/syntax-case.tar.Z). Macintosh (ftp://maya.dei.unipd.it/pub/mac/gambit/).
[ Syntactic Abstraction in Scheme , Robert Hieb, R. Kent Dybvig and Carl Bruggeman IUCS TR #355, 6/92 (revised 7/3/92)].
[ Writing Hygienic Macros in Scheme with Syntax-Case , R. Kent Dybvig, IUCS TR #356, 6/92 (revised 7/3/92)].
(1992-07-06)

syntax directed translation
A technique where the structure of a language processor (e.g. a compiler) is based on the structure of the language's abstract syntax. There might be one procedure in the translator corresponding to each category in the abstract syntax. That procedure is responsible for processing constructs of that category. Each procedure would call others corresponding to the construct's subconstituents and then combine their results to give the overall result for that construct.

Syntax/Semantic Language
(S/SL) A specification language for recursive descent parsers by Rick C. Holt and Jim Cordy cordy@cs.queensu.ca . Rayan Zachariassen rayan@cs.toronto.edu produced the C implementation.
Unlike most other languages, practicially the LEAST expensive thing you can do in S/SL is recurse. A small language that defines input, output, and error token names ( values), semantic operations (which are really escapes to a programming language but allow good abstraction in the pseudo-code) and a pseudo-code program that defines a grammar by the token stream the program accepts. Alternation, control flow and 1-symbol lookahead constructs are part of the language.
An S/SL implementation compiles this S/SL pseudo-code into a table (byte-codes) that is interpreted by the S/SL table-walker (interpreter). The pseudo-code language probably has an LR1 grammar and the semantic mechanisms probably turn it into an LRn grammar relatively easily. It is more powerful and cleaner than yacc but slower.
(ftp://ftp.cs.toronto.edu/pub/ssl.tar.Z)
[ Specification of S/SL: Syntax/Semantic Language , Cordy, J.R. and Holt, R.C., Computer Systems Research Institute, University of Toronto, 1980].
[ An Introduction to S/SL: Syntax/Semantic Language by R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions on Programming Languages and Systems (TOPLAS), Vol 4, No. 2, April 1982, Pages 149-178].
(1989-09-25)

syntax tree
mathematics, theory, language A tree representing the abstract syntax of some tokens in a language.
(1998-11-12)

synthesis
programming, specification The process of deriving (efficient) programs from (clear) specifications.
See also program transformation.
(1996-08-23)

Synthesizer Specification Language
(SSL) A specification language based on term algebra and attribute grammars. SSL is used by the Synthesizer Generator, a generator for language-based editors such as the Cornell Program Synthesizer.
[ Generating Language Based Environments , T. Reps, MIT Press 1984].
(1994-12-16)

SyQuest Technology, Inc.
company, hardware An early entrant into the removable hard disk market for personal computers. For may years SyQuest held the market, particularly as a method of transferring large desktop publisher documents to printers. SyQuest aim their products to give personal computer users endless hard drive space for data-intensive applications like desktop publishing, Internet information management, pre-press, multimedia, audio, video, digital photography, fast backup, data exchange, archiving, confidential data security and easy portability for the road.
At the top of their current (Mar 1997) range are two drives, The SyJet 1.5 GB a 3.5 inch, double platter removable drive and the EZFlyer 230 MB also on 3.5 inch media. A cartridge holding over 4.7GB is promised before the end of 1997.
In recent years they have not fared as well in the market, whilst Iomega has cornered the Small Office/Home Office (SOHO) market. Over the period 1995 to 1997 sales declined resulting in a series of losses. In the first quarter of 1997 these losses had been reduced to $6.8 million with net revenues increasing to $48.3 million. This compares to a net loss of $33.8 million, or $2.98 per share, on net revenues of $78.7 million for the same period the year before. It would appear that substantial restructuring has occurred over the past few years.
Home (http://www.syquest.com/).
(1997-03-27)

sysadmin
system administrator

sysape
/sys'ayp/ A rather derogatory term for a computer operator; a play on sysop common at sites that use the banana hierarchy of problem complexity (see one-banana problem).
[Jargon File]

Sysdeco Mimer AB
company Part of the international software group Sysdeco Group AS. They developed the MIMER RDBMS.
Home (http://www.mimer.se/)
Address: Uppsala, Sweden.
(1995-11-11)

sys-frog
/sis'frog/ (the PLATO system) A playful variant of sysprog .
[Jargon File]
(1994-11-04)

SYSKEY
cryptography, operating system, security A utility that encrpyts the hashed password information in a SAM database using a 128-bit encryption key.
SYSKEY was an optional feature added in Windows NT 4.0 SP3. It was meant to protect against offline password cracking attacks so that the SAM database would still be secure even if someone had a copy of it. However, in December 1999, a security team from BindView (http://www.bindview.com/) found a security hole in SYSKEY which indicates that a certain form of cryptoanalytic attack is possible offline. A brute-force attack then appeared to be possible.
Microsoft later collaborated with BindView to issue a fix (dubbed the 'Syskey Bug') which appears to have been settled and SYSKEY pronounced secure enough to resist brute-force attack.
According to Todd Sabin of the BindView team RAZOR, the pre-RC3 versions of Windows 2000 were also affected.
BindView Security Advisory (http://packetstorm.securify.com/9912-exploits/bindview.syskey.txt).
BindView press release (http://www.bindview.com/news/99/1222.html).
Microsoft bulletin (http://www.microsoft.com/Security/Bulletins/ms99-056.asp).
(2000-07-16)

SYSLISP
System language used in the implementation of Portable Standard Lisp. Mentioned in The Evolution of Lisp , G.L. Steele et al, SIGPLAN Notices 28(3):231-270 (Mar 1993).

sysop
system operator

Sysplex
operating system An IBM term for communicating MVS systems. See also Parallel Sysplex .
(1996-11-23)

sysprog
Systems programmer

system
1. The supervisor program or operating system on a computer.
2. The entire computer system, including input/output devices, the supervisor program or operating system and possibly other software.
3. Any large program.
4. Any method or algorithm.
[Jargon File]

System/360
operating system A computer announced by IBM on 1964-04-07. Operating System/360 (OS/360) was developed for System/360.
[Mainframe? Features?]
(2001-03-23)

System 5
System V

System 7.5
operating system A version of Mac OS, the latest release as of Oct 1996 was 7.5.5. Superseded by Mac OS 7.6 around March 1997.
Mac OS home (http://www.macos.apple.com/).
[Dates? Features?]
(1997-03-23)

System Account Manager
cryptography, operating system, security (SAM) A password database stored as a registry file in Windows NT and Windows 2000.
The System Account Manager (SAM) database stores users' passwords in a hashed format. Since a hash function is one-way, this provides some measure of security for the storage of the passwords. In an attempt to enhance the security of the SAM database against offline cracking, Microsoft introduced the SYSKEY utility in Windows NT 4.0.
(2000-07-19)

system administration
job Activities performed by a system administrator (or admin , sysadmin , site admin ) such as monitoring security configuration, managing allocation of user names and passwords, monitoring disk space and other resource use, performing backups, and setting up new hardware and software.
system administrators often also help users, though in a large organisation this may be a separate job.
Compare postmaster, sysop, system management, systems programmer.
[Other tasks?]
(1999-05-02)

system administrator
system administration

system analysis
systems analysis

system analyst
systems analysis

system board
motherboard

system call
operating system, programming The mechanism used by an application program to request service from the operating system. System calls often use a special machine code instruction which causes the processor to change mode (e.g. to supervisor mode or protected mode ). This allows the OS to perform restricted actions such as accessing hardware devices or the memory management unit.
(1995-03-01)

system catalog
database The data dictionary of a DBMS. The system catalogue stores meta-data including the schemas of the databases. It is a mini-database, and is usually stored using the DBMS itself in special tables called system tables. It maybe referred to as being on line , as it is active, and can be queried by users like any other table.
(1999-04-27)

System F
A type system by J-Y. Girard. Also known as Lambda-2 or the polymorphic lambda-calculus.
[ Proofs and Types , J-Y. Girard, Cambridge U Press 1989].
(1994-11-23)

system management
job Activities performed by a system manager, aiming to minimise the use of excessive, redundant resources to address the overlapping requirements of performance balancing, network management, reducing outages, system maintenance costs, diagnosis and repair, and migration to new hardware and software system versions.
Compare: system administration.
(1995-11-10)

System Management Bus
hardware, protocol (SMBus, SMB) A simple two-wire bus used for communication with low-bandwidth devices on a motherboard, especially power related chips such as a laptop's rechargeable battery subsystem (see Smart Battery Data). Other devices might include temperature sensors and lid switches.
A device can provide manufacturer information, indicate its model/part number, save its state for a suspend event, report different types of errors, accept control parameters, and return status. The SMB is generally not user configurable or accessible.
The bus carries clock, data, and instructions and is based on Philip's I2C serial bus protocol. Support for SMBus devices is provided on Windows 2000. Windows 98 does not support such devices.
The PIIX4 chipset provides SMBus functionality. Vendors using SMBus would be required to pay royalties.
SMBus website (http://www.sbs-forum.org/smbus/)
Software to interrogate a SMB motherboard (http://www.online.de/home/podien/SMB.HTM)
SMB devices, Part 8 Kernel Mode Driver Design Guide, Win2000 DDK (http://www.microsoft.com/ddk/)
(1999-08-08)

System Management Mode
hardware (SMM) A reduced power consumption state provided by some Intel microprocessors. When a CPU enters SMM it saves its current state in a special area of static RAM called SMRAM (System Management RAM) and then runs a program, also stored in in SMRAM, the SMM handler.
SMM is implemented in all Intel SL suffixed CPUs. In June 1993, Intel announced it was discontinuing its SL range and instead making all its current processors SL enhanced.
See also Auto Idle.
(1994-11-09)

System Management Server
operating system (SMS) Software used by Microsoft Windows NT system administrators to manage personal computers on any size network. SMS can distribute software to desktops from one central location, detect every machine on the network, track software and hardware configurations, send key information back to a central database, and perform other tasks.
Home (http://www.microsoft.com/ntserver/management/exec/overview/sms.asp).
(1999-03-24)

system manager
system management

system mangler
humour A humorous synonym for system manager , possibly from the fact that one major IBM operating system had a root account called SYSMANGR. The term refers specifically to a systems programmer in charge of administration, software maintenance, and updates at some site. Unlike admin, this term emphasises the technical end of the skills involved.
[Jargon File]
(1995-11-10)

system operator
job, jargon (Always abbreviated to sysop ) /sis'op/ A term used in the BBS world for the operator of a bulletin-board system (who is usually also the owner).
A common neophyte mistake on FidoNet is to address a message to sysop in an international echo, thus sending it to hundreds of sysops around the world.
Contrast: system administrator.
(1999-10-20)

System Product Interpreter
Restructured EXtended eXecutor

system programming language
Ousterhout's dichotomy

System R
database A database system built as a research project at IBM San Jose Research (now IBM Almaden Research Center) in the 1970s. System R introduced the SQL language and also demonstrated that a relational system database could provide good transaction processing performance.
Home (http://www.mcjones.org/System_R/).
(1998-09-29)

Systems Administrators Guild
body, job (SAGE) A special technical group of the USENIX Association.
Home (http://www.usenix.org/sage).
[Details?]
(2001-01-27)

systems analysis
job Study of the design, specification, feasibility, cost, and implementation of a computer system for business. What a systems analyst does.
(1997-04-25)

Systems Analysis Definition
programming (SAD) The analysis of the role of a proposed system and the identification of the requirements that it should meet. SAD is the starting point for system design. The term is most commonly used in the context of commercial programming, where software developers are often classed as either systems analysts or programmers. The systems analysts are responsible for identifying requirements (i.e. systems analysis) and producing a design. The programmers are then responsible for implementing it.
(1996-03-07)

systems analyst
systems analysis

Systems Application Architecture
programming (SAA) IBM's family of standard interfaces which enable software to be written independently of hardware and operating system.
(1997-04-25)

Systems Development Life Cycle
programming (SDLC) Any logical process used by a systems analyst to develop an information system, including requirements, validation, training, and user ownership.
An SDLC should result in a high quality system that meets or exceeds customer expectations, within time and cost estimates, works effectively and efficiently in the current and planned Information Technology infrastructure, and is cheap to maintain and cost-effective to enhance.
US DOJ SDLC (http://www.usdoj.gov/jmd/irm/lifecycle/table.htm).
(2000-12-24)

systems jock
jock

Systems Network Architecture
networking (SNA) IBM's proprietary high level networking protocol standard, used by IBM and IBM compatible mainframes.
Also referred to as Blue Glue , SNA is a bletcherous protocol once widely favoured at commercial shops. The official IBM definition is that which binds blue boxes together. It may be relevant that Blue Glue is also a 3M product commonly used to hold down carpets in dinosaur pens.
[Jargon File]
(1994-11-23)

system software
operating system Any software required to support the production or execution of application programs but which is not specific to any particular application.
System software typically includes an operating system to control the execution of other programs; user environment software such as a command-line interpreter, window system, desktop; development tools for building other programs such as assemblers, compilers, linkers, libraries, interpreters, cross-reference generators, version control, make; debugging, profiling and monitoring tools; utility programs, e.g. for sorting, printing, and editting.
Different people would classify some or all of the above system software as part of the operating system while others might say the operating system was just the kernel.
(1997-09-22)

systems operator
system operator

systems programmer
job (sysprog) A generic job title that covers a variety of specialist roles such as writing low-level code that talks to directly to the operating system on a server.
Typical skills required are experience of specific operating systems, networking (TCP/IP, ATM, Ethernet, DNS), electronic mail (POP, IMAP, SMTP), web servers, RDBMS, operating system and network security, and hardware (SCSI, hard disks, and back-up devices).
Contrast: system administration.
(1999-09-14)

systems programming
systems programmer

system unit
hardware The main body of a computer, consisting of a plastic or metal enclosure, the motherboard, and (typically) internal disk drives, a power supply, cooling fans, and whatever circuit boards plugged into the mother board, such as a video card.
The system unit is occasionally referred to as the CPU, though this really means central processing unit.
(2000-08-10)

System V
1. The other major versions of the Unix operating system apart from BSD. Developed by AT T. Later versions of Unix such as SunOS combined the best features of System V and BSD Unix.
(1994-10-31)
[Differences?]
2. A supplier of Unix open systems for Intel x86 processors. They supply products from SCO and Solaris and offer general support for Unix, TCP/IP, and Internet. They serve and create third-party WWW pages and provide on-line support for commercial and non-commercial applications.
(http://www.systemv.com/)
See also System V Interface Definition.
(1994-12-12)

System V Interface Definition
(SVID) A standard allowing source code portability between different platforms running Unix System V.
(1995-03-28)

systolic array
architecture, parallel (By analogy with the regular pumping of blood by the heart) An arrangement of processors in an array (often rectangular) where data flows synchronously across the array between neighbours, usually with different data flowing in different directions. H. T. Kung and Charles Leiserson publish the first paper describing systolic arrays in 1978 [reference?].
Each processor at each step takes in data from one or more neighbours (e.g. North and West), processes it and, in the next step, outputs results in the opposite direction (South and East).
An example of a systolic algorithm might be matrix multiplication. One matrix is fed in a row at a time from the top of the array and is passed down the array, the other matrix is fed in a column at a time from the left hand side of the array and passes from left to right. Dummy values are then passed in until each processor has seen one whole row and one whole column. At this point, the result of the multiplication is stored in the array and can now be output a row or a column at a time, flowing down or accross the array.
See also Ruby, SISAL.
(1998-07-01)

SysVile
Missed'em-five

sz
networking The country code for Swaziland.
(1999-01-27)

1. True. A Lisp compiler by Johnathan A. Rees in 1982 at Yale University. T has static scope and is a near-superset of Scheme. Unix source is available. T is written in itself and compiles to efficient native code. Used as the basis for the Yale Haskell system. Maintained by David Kranz kranz@masala.lcs.mit.edu .
Current version: 3.1.
(ftp://ftp.ai.mit.edu/pub/systems/t3.1)
A multiprocessing version of T is available (ftp://masala.lcs.mit.edu/pub/mult).
Runs on Decstation, SPARC, Sun-3, Vax under Unix, Encore, HP, Apollo, Macintosh under A/UX.
E-mail: t3-bugs@cs.yale.edu (bugs). E-mail: t-project@cs.yale.edu .
(1991-11-26)
[ The T Manual , Johnathan A. Rees jar@zurich.ai.mit.edu et al, Yale U, 1984].
2. A functional language.
[ T: A Simple Reduction Language Based on Combinatory Term Rewriting , Ida et al, Proc of Prog Future Generation Computers, 1988].
3. (lower case) The Lisp atom used to represent true , among other things. false is represented using the same atom as an empty list, nil. This overloading of the basic constants of the language helps to make Lisp write-only code.
4. In transaction-processing circles, an abbreviation for transaction .
5. (Purdue) An alternative spelling of tee .

t
horizontal tabulation

T1
communications An AT T term for a digital carrier facility used to transmit a DS1 formatted digital signal at 1.544 megabits per second.
T1 transmission uses a bipolar Return To Zero alternate mark inversion line coding scheme to keep the DC carrier component from saturating the line.
Although some consider T1 signaling obsolete, much equipment operates at the T1 rate and such signals are either combined for transmission via faster circuits, or demultiplexed into 64 kilobit per second circuits for distribution to individual subscribers.
T1 signals can be transported on unshielded twisted pair telephone lines. The transmitted signal consists of pips of a few hundred nanoseconds width, each inverted with respect to the one preceding. At the sending end the signal is 1 volt, and as received, greater than 0.01 volts. This requires repeaters about every 6000 feet.
The information is contained in the timing of the signals, not the polarity. When a long sequence of bits in the transmitted information would cause no pip to be sent, bit stuffing is used so the receiving apparatus will not lose track of the sending clock.
A T1 circuit requires two twisted pair lines, one for each direction. Some newer equipment uses the two lines at half the T1 rate and in full-duplex mode; the sent and received signals are separated at each end by components collectively called a hybrid . Although this technique requires more sophisticated equipment and lowers the line length, an advantage is that half the sent and half the received information is mixed on any one line, making low-tech wiretaps less a threat.
See also Integrated Services Digital Network.
(1994-11-23)

T1 line
T1

T1 rate
T1

T3
communications A digital carrier facility used to transmit a DS3 formatted digital signal at 44.736 megabits per second.
See also Integrated Services Digital Network.
(1994-11-23)

T3 line
T3

TA
Terminal Adaptor

TAA
Track Average Amplitude

TAB
HT

table
database A collection of records in a relational database.
(1997-06-04)

table locking
database A technique used in database management systems, where an entire table is locked while data in it is being updated.
Other techniques are row-level locking and MVCC.
(1999-06-18)

TABLET
A query language.
[ Human Factor Comparison of a Procedural and a Non-procedural Query Language , C. Welty et al, ACM Trans Database Sys 6(4):626-649 (Dec 1981)].
(1994-11-23)

TABLOG
language A programming language based on first order predicate logic with equality that combines relational programming and functional programming. It has functional notation and unification as its binding mechanism. TABLOG supports a more general subset of standard first order logic than Prolog. It employs the Manna-Waldinger 'deductive-tableau' proof system as an interpreter instead of resolution.
(1997-06-19)

tab-separated values
file format (TSV) A file format used as a portable representation of a database. Each line represents one entry or record; and in every line, each field is separated from the next by a tab character (HT).
Compare CSV.
(2001-03-16)

TABSOL
language A language extension for GECOM written in the form of truth tables which was compiled into code for the tests and actions described. TABSOL was developed by T.F. Kavanaugh, and was in use around 1964-5.
(1996-09-15)
[Proc FJCC 18:117-136, AFIPS (Fall 1960)].
(1996-09-16)

Tabulating Machine Company
company The company founded in 1896 by Herman Hollerith to exploit his invention of the punched card. It became part of IBM in 1924.
(1996-01-02)

TAC
1. Translator Assembler-Compiler. For Philco 2000.
2. Terminal Access Controller.

TACL
Tandem Advanced Command Language. Tandem, about 1987. The shell language used in Tandem computers.

TACPOL
language A PL/I-like language used by the US Army for command and control.
(2001-01-31)

tag
language, text An SGML, HTML, or XML token representing the beginning (start tag: p ... ) or end (end tag: /p ) of an element. In normal SGML syntax (and always in XML), a tag starts with a and ends with an .
In HTML jargon, the term tag is often used for an element .
(2001-01-31)

Tagged Image File Format
file format, graphics (TIFF) A file format used for still-image bitmaps, stored in tagged fields. Application programs can use the tags to accept or ignore fields, depending on their capabilities.
While TIFF was designed to be extensible, it lacked a core of useful functionality, so that most useful functions (e.g. lossless 24-bit colour) requires nonstandard, often redundant, extensions. The incompatibility of extensions has led some to expand TIFF as Thousands of Incompatible File Formats .
Compare GIF, PNG, JPEG.
(1997-10-11)

tagged queueing
hardware A method allowing a device or controller to process commands received from a device driver out of order. It requires that the device driver attaches a tag to each command which the controller or device can later use to identify the response to the command.
Tagged queueing can speed up processing considerably if a controller serves devices of very different speeds, such as an SCSI controller serving a mix of CD-ROMs and high-speed disks. In such cases if a request to fetch data from the CD-ROM is shortly followed by a request to read from the disk, the controller doesn't have to wait for the CD-ROM to fetch the data, it can instead instruct the disk to fetch the data and return the value to the device driver, while the CD-ROM is probably still seeking.
(1997-07-04)

tagged types
programming Ada's type mechanism in which types can be extended via single inheritance.
(2000-02-21)

tag name
generic identifier

tail circuit
communications A circuit which connects the serial lines of two modems together.
[Why do that?]
(1996-10-16)

tail recursion
programming When the last thing a function (or procedure) does is to call itself. Such a function is called tail recursive. A function may make several recursive calls but a call is only tail-recursive if the caller returns immediately after it. E.g.
f n = if n 2 then 1 else f (f (n-2) + 1)
Here the both calls to fib are recursive but only the outer one is tail recursive.
See tail recursion optimisation, and, if you aren't sick of them already, recursion, tail recursion.
[Jargon File]
(1996-02-22)

tail recursion modulo cons
programming, compiler A generalisation of tail recursion introduced by D.H.D. Warren. It applies when the last thing a function does is to apply a constructor functions (e.g. cons) to an application of a non-primitive function. This is transformed into a tail call to the function which is also passed a pointer to where its result should be written. E.g.
f [] = [] f (x:xs) = 1 : f xs
is transformed into (pseudo C/Haskell):
f [] = [] f l = f' l allocate_cons
f' [] p = *p = nil; return *p
f' (x:xs) p = cell = allocate_cons;
*p = cell; cell.head = 1; return f' xs cell.tail

where allocate_cons returns the address of a new cons cell, *p is the location pointed to by p and c is the address of c.
[D.H.D. Warren, DAI Research Report 141, University of Edinburgh 1980].
(1995-03-06)

tail recursion optimisation
(TRO) When the last thing a function or procedure does is to call itself, it is not necessary to retain the calling environment. This is important when a procedure calls itself recursively many times for, without tail recursion optimisation, the environments of earlier invocations would fill up the memory only to be discarded when (if) the last call terminated.
Tail recursion optimisation is a special case of last call optimisation but it allows the further optimisation that some arguments may be passed in situ, possibly in registers. It allows recursive functions to be compiled into iterative loops. See also conversion to iteration, tail recursion modulo cons.

tail-strict
A tail-strict function evaluates every cons cell in its (list) argument. It will therefore fail to terminate if its argument is an infinite list or if any tail of its argument fails to terminate. The archetypal tail-strict function is length. See also Head-strict, Hyper-strict.

TAL
Transaction Application Language

TALE
Typed Applicative Language Experiment. M. van Leeuwen. Lazy, purely applicative, polymorphic. Based on typed second order lambda-calculus. Functional Programming and the Language TALE , H.P. Barendregt et al, in Current Trends in Concurrency, LNCS 224, Springer 1986, pp.122-207.

Taligent
A company founded jointly by Apple and IBM in March 1992. HP announced in January, 1994 that it would buy a 15% stake in Taligent. They are working on an object-oriented operating system , due to be finished sometime in 1995. However, various independent pieces of Taligent will likely appear to be used with other operating systems, e.g. IBM's WorkplaceOS. Pink is an older name for Taligent, dating back to work that Apple did before the formation of Taligent.

talk
chat, tool, networking, messaging A Unix program and protocol supporting conversation between two or more users who may be logged into the same computer or different computers on a network. Variants include ntalk, ytalk, and ports or emulators of these programs for other platforms.
Unix has the talk program and protocol and its variants xtalk and ytalk for the X Window System; VMS has phone; Windows for Workgroups has chat. ITS also has a talk system. These split the screen into separate areas for each user.
Unix's write command can also be used, though it does not attempt to separate input and output on the screen.
Users of such systems are said to be in talk mode which has many conventional abbreviations and idioms. Most of these survived into chat jargon, but many fell out of common use with the migration of user prattle from talk-like systems to chat systems in the early 1990s. These disused talk-specific forms include:
BYE? - are you ready to close the conversation? This is the standard way to end a talk-mode conversation; the other person types BYE to confirm, or else continues the conversation.
JAM / MIN - just a minute
O - over (I have stopped talking). Also / as in x/y - x over y, or two newlines (the latter being the most common).
OO - over and out - end of conversation.
- Greek lambda.
R U THERE? - are you there?
SEC - wait a second.
/ / / - laughter. But on a MUD, this usually means earthquake fault .
See also talk bomb.
(1998-01-25)

talk bomb
flash

talker system
talk

talk mode
chat Using a talk system. E.g., B1FF had me in talk mode for hours last night. I had to bring his box down just to get him to shut up.
The (1980s?) term now is as dated as talk itself which has been largely replaced by chat.
[Jargon File]
(1998-01-19)

TALL
language TAC List Language.
[ TALL - A List Processor for the Philco 2000 , J. Feldman, CACM 5(9):484-485 (Sep 1962)].
(1995-03-01)

tall card
hardware An expansion card for the IBM PC AT. These can be larger than IBM PC or IBM PC XT cards because the AT case is bigger.
When IBM introduced the PS/2 model 30 (its last gasp at supporting the ISA) they made the case lower and many industry-standard tall cards wouldn't fit. This was felt to be a reincarnation of the connector conspiracy, done with less style.
See also short card.
[Jargon File]
(1995-03-01)

Tandem Application Language
Transaction Application Language

Tandem Computers
company A US computer manufacturer.
Quarterly sales $544M, profits $49M (Aug 1994).
(1994-09-26)

Tandy
company A US company, the parent company of Radio Shack, makers of the TRS-80 and other early personal computers.
(1995-02-28)

Tanenbaum, Andrew
Andrew Tanenbaum

tanked
1. jargon Same as down, used primarily by Unix hackers.
See also hosed.
2. Popularised as a synonym for drunk by Steve Dallas in the late lamented Bloom County comic strip.
[Jargon File]
(1995-02-28)

TANSTAAFL
/tan'stah-fl/ (From Robert Heinlein's classic The Moon is a Harsh Mistress ) There Ain't No Such Thing As A Free Lunch .
Often invoked when someone is balking at the prospect of using an unpleasantly heavyweight technique, or at the poor quality of some piece of free software, or at the signal-to-noise ratio of unmoderated Usenet newsgroups. What? Don't tell me I have to implement a database back end to get my address book program to work! Well, TANSTAAFL you know. This phrase owes some of its popularity to the high concentration of science-fiction fans and political libertarians in hackerdom.
[Jargon File]
(1995-02-28)

TAO
Lisp dialect with concurrency, object-orientation and logic. Concurrent Programming in TAO - Practice and Experience , I. Takeuchi in Parallel Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989, pp.271-299.

TAOS
Technology for Autonomous Operation Survivability

TAP
Telocator Alphanumeric Protocol

tap
hit

tape
1. magnetic tape.
2. paper tape.
(1996-05-25)

tape archive
tar

tape drive
magnetic tape drive

tape head
hardware The electromagnetic component in a magnetic tape drive which reads and writes magnetic tape as it passes over it. Tape heads need to be cleaned periodically to remove the oxide particles which accumulate on them and can lead to errors.
(1997-03-12)

Tape Operating System
operating system (TOS) An IBM operating system for System 360, used in the early days around 1965 to support the IBM 360 model 30 et al. TOS was a predecessor to IBM's Disk Operating System.
TOS died out really early as disks such as the 2311 and 2314 became common with the IBM 360 whereas thet had been a real luxury on the IBM 7090.
[Relationship to BOS?]
(1999-01-20)

TAPI
Telephony Application Programming Interface

tar
file format ( Tape ARchive , following ar) Unix's general purpose archive utility and the file format it uses. Tar was originally intended for use with magnetic tape but, though it has several command line options related to tape, it is now used more often for packaging files together on other media, e.g. for distribution via the Internet.
The resulting archive, a tar file (humourously, tarball ) is often compressed, using gzip or some other form of compression (see tar and feather).
There is a GNU version of tar called gnutar with several improvements over the standard versions.
Filename extension: .tar
MIME type: unregistered, but commonly application/x-tar
Unix manual page: tar(1).
Compare shar, zip.
(1998-05-02)

tar and feather
jargon (A sick contrivance from the Unix tar command and the Ku Klux Klan torture method) To create a transportable archive from a group of files by first sticking them together with tar (the Tape ARchiver) and then compressing the result. The latter action is dubbed feathering (purely for contrived effect) by analogy to what you do with an aeroplane propeller to decrease wind resistance, or with an oar to reduce water resistance; smaller files, after all, slip through comm links more easily.
[Jargon File]
(1997-05-26)

tarball
tar

targa
graphics, file format A graphics data format for bitmap images. It uses 24 bits per pixel and is a common output format for ray tracing programs.
(1995-01-05)

Targa Graphics Adaptor
graphics, file format (TGA) The Truevision Targa Graphics Adaptor file format.
The TGA format is a common bitmap file format for storage of 24-bit images. It supports colourmaps, alpha channels, compression and comments.
Filename extension: .tga.
More information is available from Truevision (http://www.truevision.com/) and The Graphics File Format Page (http://www.dcs.ed.ac.uk/~mxr/gfx/).
[What does it have to do with graphics adaptors?]
(1997-08-07)

target
SCSI target

Target-Machine Description Language
(TMDL) The machine-description language used in the Graham-Glanville code generator.
[ Table-Driven Code Generation , S.L. Graham, IEEE Computer 13(8):25-34 (Aug 1980)].
(1995-02-21)

TARTAN
A simple language proposed to meet the Ironman requirements.
[ TARTAN - Language Design for the Ironman Requirements: Reference Manual , Mary Shaw et al, SIGPLAN Notices 13(9):36-58 (Sep 1978)].
(1995-01-05)

Task Control Block
architecture An MVS control block used to communicate information about tasks within an address space that are connected to an MVS subsystem such as MQSeries for MVS/ESA or CICS.
FAQ (http://www-4.ibm.com/software/ts/mqseries/library/manuals/csqfao/CSQFAO22.HTM)
(2000-12-30)

task scheduling
algorithm The assignment of start and end times to a set of tasks, subject to certain constraints. Constraints are typically either time constraints (the payload must be installed before the payload bay doors are closed) or resource constraints (this task requires a small crane and a crane operator).
In the case where the tasks are programs to run concurrently on a computer, this is also known as multitasking.
(1998-04-25)

TASM
Turbo Assembler. MS-DOS assembler from Borland.

TASS
Template ASSembly language. Intermediate language produced by the Manchester SISAL compiler.

taste
1. (primarily MIT) The quality of a program that tends to be inversely proportional to the number of features, hacks, and kluges it contains. Taste refers to sound judgment on the part of the creator. See also elegant, flavour.
2. Alternative spelling of tayste .
[Jargon File]

tautological probability
logic A notion introduced by Florentin Smarandache whereby the probability of some event is more than one. Tautological probability is used for universally true propositions, i.e. those which do not depend on time, space, subjectivity, etc.
[Florentin Smarandache, A Unifying Field in Logics. / Neutrosophy: Neutrosophic Probability, Set, and Logic , American Research Press, Rehoboth 1999].
(2001-04-06)

tautological set
logic A notion introduced by Florentin Smarandache: An element x(T, I, F) belongs more than sure to the set M; here T, I, F are real subsets representing the truth, indeterminacy, and falsity percentages respectively, and sup(T) 100.
tautological set are used for universally true propositions where no parameter such as time, space, or subjectivity influences the truth value.
[Florentin Smarandache, A Unifying Field in Logics. / Neutrosophy: Neutrosophic Probability, Set, and Logic , American Research Press, Rehoboth, 1999 (http://www.gallup.unm.edu/~smarandache/neut-ad.htm)]
(1999-11-24)

tautology
logic A proposition which is always true.
Compare: paradox.
The Linguistic Smarandache Tautologies, (http://www.gallup.unm.edu/~smarandache/tautolog.txt).
(1999-07-28)

TAWK
Tiny AWK

Taxis
[ A Language Facility for Designing Database-Intensive Applications , J. Mylopoulos et al, ACM Trans Database Sys 5(2):185-207 (June 1980)].

tayste
/tayst/ (or taste , crumb , quarter) Two bits. Compare byte, dynner, playte, nibble, quad.
[Jargon File]

taz
tgz

TBF
Mean Time Between Failures

TBIL
Tiny Basic Interpreter Language

TBK
Tool Builder Kit

Tbl
1. A language by M.E. Lesk for formatting tables, implemented as a preprocessor to nroff.
(1994-11-01)
2. Table Building Language. A simple language by Robert Freiburghouse of MIT which combines user-defined actions into an abstract machine. It can be used to build table-driven predictive parsers and code generators in the MULTICS Fortran compiler and several PL/I compilers, including VAX-11 PL/I.
[ Engineering A Compiler: VAX-11 Code Generation and Optimisation , P. Anklam et al, Digital Press 1977].
(1994-11-01)

tc
networking The country code for the Turks and Caicos Islands.
(1999-01-27)

T-carrier system
communications A series of wideband digital data transmission formats originally developed by the Bell System and used in North America and Japan.
The basic unit of the T-carrier system is the DS0, which has a transmission rate of 64 Kbps, and is commonly used for one voice circuit.
Originally the 1.544 megabit per second T1 format carried 24 pulse-code modulated, time-division multiplexed speech signals each encoded in 64 kilobit per second streams, leaving 8 kilobits per second of framing information which facilitates the synchronisation and demultiplexing at the receiver. T2 and T3 circuits channels carry multiple T1 channels multiplexed, resulting in transmission rates of up to 44.736 Mbps.
The T-carrier system uses in-band signaling or bit-robbing, resulting in lower transmission rates than the E-carrier system. It uses a restored polar signal with 303-type data stations.
Asynchronous signals can be transmitted via a standard which encodes each change of level into three bits; two which indicate the time (within the current synchronous frame) at which the transition occurred, and the third which indicates the direction of the transition. Although wasteful of line bandwidth, such use is usually only over small distances.
T1 lines are made free of direct current signal components by in effect capacitor coupling the signal at the transmitter and restoring that lost component with a slicer at the receiver, leading to the description restored polar .
[Telecommunications Transmission Engineering, Vol. 2, Facilities, AT T, 1977].
(2001-04-08)

TCB
1. jargon Trouble Came Back.
2. security (Orange Book) Trusted Computing Base.
3. operating system Task Control Block.
[Jargon File]
(1998-07-02)

TCGS
Twente Compiler Generator System

TC/IX
The LynxOS kernel ported to the MIPS R3000 RISC processor by CDC.

Tcl
Tool Command Language

Tcl Consortium
body A non-profit agency dedicated to promoting Tcl.
Home (http://www.tclconsortium.org/).
(1998-11-27)

tcl-debug
A debugger for Tcl by Don Libes libes@cme.nist.gov that can be easily embedded in other applications. It is included with many other Tcl libraries.
(ftp://ftp.cme.nist.gov/pub/expect/tcl-debug.tar.Z)
(1994-10-31)

Tcl-DP
Tcl-DP extends Tcl's send by removing the restriction that you can only send to other clients of the same X11 server. Version 3.0 library by Larry Rowe.
(ftp://toe.cs.berkeley.edu/pub/multimedia/Tcl-DP)

tclhttpd
tool An embeddable Tcl-based web server.
[Details?]
(1998-11-27)

tclx
Tcl extended with statements to provide high-level access Unix system primitives. Version 7.2a by Mark Diekhans markd@NeoSoft.com and Karl ?.
(ftp://ftp.neosoft.com/pub/tcl/beta/tclX7.1a-B5.tar.Z)
E-mail: tcl-project@NeoSoft.com .
(1993-11-19)

TCM
Trellis Code Modulation

TCO
Total Cost of Ownership

Tcode
Intermediate language used by the Spineless Tagless G-machine (an abstract machine based on graph reduction) designed as a target for compilation of non-strict functional languages. The Spineless tagless G- machine , S. Peyton Jones et al, Fourth Intl Conf Func Prog Langs and Comp Arch pp.184-201, ACM Sept 1989.

TCOL
CMU. Tree-based intermediate representation produced by the PQCC compiler generator. An Overview of the Production Quality Compiler- Compiler Projects , B.W. Leverett et al, IEEE Computer 13(8): 38-49 (Aug 1980). (See LG).

TCOL.Ada
CMU, 1980. An intermediate representation for Ada, was merged with AIDA to form Diana. TCOL.Ada: Revised Report on an Intermediate Representation for the DOD Standard Programming Language , J.M. Newcomer et al, CMU-CS-79-128 (June 1979).

TCP
Transmission Control Protocol

TCPIP
Normally written TCP/IP .

TCP/IP
protocol Transmission Control Protocol over Internet Protocol.
The de facto standard Ethernet protocols incorporated into 4.2BSD Unix. TCP/IP was developed by DARPA for internetworking and encompasses both network layer and transport layer protocols. While TCP and IP specify two protocols at specific protocol layers, TCP/IP is often used to refer to the entire DoD protocol suite based upon these, including telnet, FTP, UDP and RDP.
See also ICMP, SMTP, SNMP.
(1995-03-17)

tcsh
Unix, shell A Unix shell by Christos Zoulas christos@ee.cornell.edu , based on csh. tcsh adds WYSIWYG command line editing, command name completion, input history and various other features.
Version 6.04 runs under many versions of Unix and under OpenVMS.
(ftp://ftp.spc.edu/)
(1993-07-09)

Tcsim
Time Complex Simulator

TCVN 5773
human language, standard A 1993 Vietnamese character standard that includes Han characters.
(2001-01-02)

TCVN 6056
human language, standard A 1995 Vietnamese character standard that includes Han characters.
(2001-01-02)

td
networking The country code for Chad.
(1999-01-27)

TDD
Telecommunications Device for the Deaf

TDF
Intermediate language, a close relative of ANDF. A TDF program is an ASCII stream describing an abstract syntax tree. TDF Specification , Defence Research Agency/Electronics Division, Great Malvern, England, +44 684 895314. E-mail: Nic Peeling peeling@hermes.mod.uk

TDFL
Dataflow language. TDFL: A Task-Level Dataflow Language , P. Suhler et al, J Parallel Dist Comp 9(2):103-115 (Jun 1990).

TDI
Transport Driver Interface

TDM
1. Technical Data Management
2. Time Division Multiplexing

TDMA
time division multiple access

TDR
time domain reflectometer

Teamwork
A SASD tool from CADRE Technologies which supports the Shlaer/Mellor Object-Oriented method. It is the recommended replacement for the defunct DECdesign.
(1994-09-05)

Technical/Office Protocol
(TOP) An applications layer network application and protocol stack for office automation developed by Boeing following the OSI model. This protocol is very similar to MAP except at the lowest levels, where it uses Ethernet (IEEE 802.3) rather than Token Bus (IEEE 802.4).

Technion
body Israel Institute of Technology.
Home (http://www.technion.ac.il/)
(ftp://ftp.technion.ac.il/).
Address: Haifa, Israel.
(1995-05-09)

technology
jargon Marketroid jargon for software , hardware , protocol or something else too technical to name.
The most flagrant abuse of this word has to be Windows NT (New Technology) - Microsoft's attempt to make the incorporation of some ancient concepts into their OS sound like real progress. The irony, and even the meaning, of this seems to be utterly lost on Microsoft whose Windows 2000 start-up screen proclaims Based on NT Technology , (meaning yet another version of NT, including some Windows 95 features at last).
See also: solution.
(2001-06-28)

Technology Enabled Relationship Manager
Customer Relationship Management

Technology of Object-Oriented Languages and Systems
event (TOOLS) One of the oldest object-oriented conferences, with 18 published proceedings volumes. TOOLS is organised by Interactive Software Engineering.
(1995-12-29)

TechRef
/tek'ref/ [MS-DOS] The original IBM PC Technical Reference Manual , including the BIOS listing and complete schematics for the PC. The only PC documentation in the issue package that's considered serious by real hackers.
[Jargon File]

TECO
editor, text /tee'koh/ (Originally an acronym for [paper] Tape Editor and COrrector ; later, Text Editor and COrrector ]) A text editor developed at MIT and modified by just about everybody. With all the dialects included, TECO may have been the most prolific editor in use before Emacs, to which it was directly ancestral. The first Emacs editor was written in TECO.
It was noted for its powerful programming-language-like features and its unspeakably hairy syntax (see write-only language). TECO programs are said to resemble line noise. Every string of characters is a valid TECO program (though probably not a useful one); one common game used to be predict what the TECO commands corresponding to human names did.
As an example of TECO's obscurity, here is a TECO program that takes a list of names such as:
Loser, J. Random Quux, The Great Dick, Moby
sorts them alphabetically according to surname, and then puts the surname last, removing the comma, to produce the following:
Moby Dick J. Random Loser The Great Quux
The program is
[1 J^P$L$$ J .-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L $$
(where ^B means Control-B (ASCII 0000010) and $ is actually an alt or escape (ASCII 0011011) character).
In fact, this very program was used to produce the second, sorted list from the first list. The first hack at it had a bug: GLS (the author) had accidentally omitted the @ in front of F^B , which as anyone can see is clearly the Wrong Thing. It worked fine the second time. There is no space to describe all the features of TECO, but ^P means sort and J .-Z; ... L is an idiomatic series of commands for do once for every line .
By 1991, Emacs had replaced TECO in hacker's affections but descendants of an early (and somewhat lobotomised) version adopted by DEC can still be found lurking on VMS and a couple of crufty PDP-11 operating systems, and ports of the more advanced MIT versions remain the focus of some antiquarian interest.
See also retrocomputing.
(ftp://usc.edu/) for VAX/VMS, Unix, MS-DOS, Macintosh, Amiga.
[Authro? Home page?]
(2001-03-26)

tee
tool, operating system A Unix command which copies its standard input to its standard output (like cat) but also to a file given as its argument. tee is thus useful in pipelines of Unix commands (see plumbing) where it allows you to create a duplicate copy of the data stream. E.g.
egrep Unix Dictionary | tee /dev/tty | wc -l
searches for lines containing the string Unix in the file Dictionary , prints them to the terminal (/dev/tty) and counts them.
Unix manual page: tee(1).
[Jargon File]
(1996-01-22)

TEI
1. communications Terminal Endpoint Identifier.
2. text, project Text Encoding Initiative.
(1997-03-11)

telco
communications, company (from telephone company) A company providing phone services to end users. The company may or may not provide other phone services such operating long-distance/international backbones but the name telco usually emphasises its operation as a local service provider.
Compare: PTT.
(1998-05-18)

TELCOMP
language A variant of JOSS.
[Sammet 1969, p.217].
(1997-04-07)

Telecommunication Display Device
Telecommunications Device for the Deaf

Telecommunications Device for the Deaf
communications (TDD) A terminal device used widely by deaf people for text communication over telephone lines.
The acronym TDD is sometimes expanded as Telecommunication Display Device but is generally considered to be derived from Telecommunications Device for the Deaf , although there is some disagreement on this. The deaf themselves do not usually use the term TDD , but prefer simply TTY -- possibly the original term. The ambiguity between this and the other meanings of TTY is generally not problematic. The acronym TTD is also common [Teletype for the deaf?].
The standard most used by TDDs is reportedly a survivor of Baudot code implemented asynchronously at 45.5 or 50 baud, 1 start bit, 5 data bits, and 1.5 stop bits. This is generally incompatible with standard modems.
[Standards docs? i18n issues?]
A typical TDD is a device about the size of a small laptop computer (resembling, in fact, a circa 1983 Radio Shack Model 100 computer) with a QWERTY keyboard, and small screen (often one line high, often made of an array of LEDs). There is often a small printer for making transcripts of terminal sessions.
Because of the Stone Age vintage of this technology (the idiosyncrasy of which drives up the expense of individual units), it is thought that TDD standards should transition to use of standard modem line settings (e.g., ASCII 2400-8-N-1). An obstacle to this is the millions of Baudot-only terminals in use (an example of lock-in with a high cruft factor).
Another scenario sees the use of TDDs being replaced by the use of personal computers and talk protocols, presumably over the Internet.
(1998-06-15)

Telecommunications Industry Association
body, standard (TIA) An association that sets standards for communications cabling.
Cables that TIA set standards for include: EIA/TIA-568A and EIA/TIA-568B category three, four and five cable.
Home (http://www.tiaonline.org/).
[Details?]
(2000-04-24)

telecommuting
The practice of working at home and communicating with your fellow workers through the phone, typically with a computer and modem. Telecommuting saves the employee getting to and from work and saves the employer from supplying support services such as heating and cleaning, but it can also deprive the worker of social contact and support.
(1995-01-05)

teledildonics
application, virtual reality /tel *-dil-do -niks/ Sex in a computer simulated virtual reality, especially computer-mediated sexual interaction between the VR presences of two humans. This practice is not yet possible except in the rather limited form of erotic conversation on MUDs and the like. The term, however, is widely recognised in the VR community as a ha ha only serious projection of things to come. When we can sustain a multi-sensory surround good enough for teledildonics, *then* we'll know we're getting somewhere.
[Jargon File]
(1995-02-06)

telematics
The combination of telecommunications and computing. Data communications between systems and devices.
(1995-02-07)

TelEnet
The old name for Sprintnet. TELENET used to provide a service called PC Pursuit.
Not to be confused with telnet the program and protocol.
(1994-10-17)

TELEPAC
networking The Swiss PTT X.25 network.
(1995-11-09)

Telephone Application Program Interface
programming, communications (TAPI) Officially it's Telephony Application Programming Interface.
(1995-11-27)

telephony
communications Communication, often two-way, of spoken information, by means of electrical signals carried by wires or radio waves. The term was used to indicate transmission of the voice, as distinguished from telegraphy (done in Morse code and usually called continuous wave or CW transmission), radio teletypewriter (RTTY) transmission (also called FSK for Frequency Shift Keying , the modulation scheme used by such machines), and later, facimile.
(1995-03-14)

Telephony Application Programming Interface
programming, communications (TAPI, or Telephone Application Program Interface ) A Windows 95 Application Program Interface enabling hardware independent access to telephone based communication. TAPI covers a rather wide area of services from initialising the equipment (e.g. a modem) and placing a call to voice mail or control of a remote computer.
[Telephone or Telephony?]
(1995-12-05)

Telerat
abuse, hardware /tel'*-rat/ Unflattering hackerism for Teleray , a line of extremely losing terminals.
[Jargon File]
(1995-01-19)

Telescript
A communications-oriented programming language using active software agents , released by General Magic in 1994. What PostScript did for cross-platform, device-independent documents, Telescript aims to do for cross-platform, network-independent messaging. Telescript protects programmers from many of the complexities of network protocols.
(1995-01-16)

Teletype
hardware, product (tty) A trademark for a hard-copy teletypewriter produced by Teletype Corporation.
(2000-04-02)

teletype
teletypewriter

Teletype Corporation
company The company which made Teletype teletypewriters.
Address: Skokie, Illinois, USA.
(2000-04-03)

teletypewriter
hardware (Nearly always abbreviated to teletype or tty ) An obsolete kind of terminal, with a noisy mechanical printer for output, a very limited character set, and poor print quality.
See also bit-paired keyboard.
(2000-04-02)

TeleUSE
An interface builder for Motif.

television
hardware A dedicated push media device for receiving streaming video and audio, either by terrestrial radio broadcast, satellite or cable.
(1997-11-23)

Television Interface Adaptor
hardware, graphics (TIA) The graphics chip in the Atari 2600, also used as a sound chip for some arcade game.
(1999-12-06)

TELNET
/tel'net/ 1. The Internet standard protocol for remote login. Runs on top of TCP/IP. Defined in STD 8, RFC 854 and extended with options by many other RFCs. Unix BSD networking software includes a program, telnet, which uses the protocol and acts as a terminal emulator for the remote login session. Sometimes abbreviated to TN. TOPS-10 had a similar program called IMPCOM.
2. The US nationwide network into which one dials to access CompuServe. It was created by John Goltz, one of the founders and system guru of CompuServe. He later worked for Tymshare, one of CompuServe's big competitors.
[Jargon File]

Telocator Alphanumeric Protocol
communications, protocol (TAP, or IXO , PET ) A protocol for submitting requests to a pager service. IXO/TAP is an ASCII-based, half-duplex protocol that allows the submission of a numeric or alphanumeric message.
Examples, protocol description, clarifications (ftp://mirror.lcs.mit.edu/telecom-archives/technical).
See also RFC 1568.
(1996-04-07)

Telon
CA-Telon

TELOS
1. The LeLisp Version 16 Object System. Also used in EuLisp. The object-oriented core of EuLisp. Incorporates ideas from CLOS, ObjVLisp and OakLisp. Total merging of types with classes and message-passing with normal function application.
2. A Pascal-based AI language.
[ Design Rationale for TELOS, a Pascal-based AI Language , Travis et al, SIGPLAN Notices 12(8) (Aug 1977)].

TELSIM
Busch, ca 1966. Digital simulation.
[Sammet 1969, p. 627].

template code
Pseudocode generated by an automated CASE system and requiring further hand-coding before compilation.

TEMPLOG
Extension of Prolog to handle a clausal subset of first-order temporal logic with discrete time. Proposed by M. Abadi and Z. Manna of Stanford University.
[ Temporal Logic in Programming , M. Abadi et al, INtl Symp Logic Prog pp.4-16 (1987)].

TEMPO
A programming language with simple syntax and semantics designed for teaching semantic and pragmatic aspects of programming languages.
[ TEMPO: A Unified Treatment of Binding Time and Parameter Passing Concepts in Programming Languages , N.D. Jones et al, LNCS 66, Springer 1978].

Tempo
operating system The original code name for Mac OS version 8.
(1997-10-15)

temporal database
database A database that can store and retrieve temporal data, that is, data which depends on time in some way.
[More details? Examples?]
(1996-05-25)

temporal logic
logic An extension of predicate calculus which includes notation for arguing about *when* statements are true. Time is discrete and extends indefinitely into the future. Three prefix operators, represented by a circle, square and diamond mean is true at the next time instant , is true from now on and is eventually true . x U y means x is true until y is true. x P y means x precedes y.
There are two types of formula: state formulae about things true at one point in time, and path formulae about things true for a sequence of steps. An example of a path formula is x U y , and example of a state formula is next x or a simple atomic formula such at waiting .
true until in this context means that a state formula holds at every point in time up to a point when another formula holds. x U y is the strong until and implies that there is a time when y is true. x W y is the weak until in which it is not necessary that y holds eventually.
There are two types of temporal logic used: branching time and linear time. The basic propositional temporal logic cannot differentiate between the two, though. Linear time considers only one possible future, in branching time you have several alternative futures. In branching temporal logic you have the extra operators A (for all futures ) and E (for some future ). For example, A(work U go_home) means I will work until I go home and E(work U go_home) means I may work until I go home .
(1997-01-21)

Tempura
Language based on temporal logic. Executing Temporal Logic Programs , B. Moszkowski, Camb U Press 1986.

Ten15
A universal intermediate language, predecessor to TDF. Polymorphic? Ten15: An Overview , P. Core et al, Royal Signals Radar Establishment TR 3977 (Sept 1986).

tendinitis
overuse strain injury

ten-finger interface
The interface between two networks that cannot be directly connected for security reasons; refers to the practice of placing two terminals side by side and having an operator read from one and type into the other.
[Jargon File]

tennis elbow
overuse strain injury

tense
Of programs, very clever and efficient. A tense piece of code often got that way because it was highly bummed, but sometimes it was just based on a great idea. A comment in a clever routine by Mike Kazar, once a grad-student hacker at CMU: This routine is so tense it will bring tears to your eyes. A tense programmer is one who produces tense code.
[Jargon File]

tensor product
mathematics A function of two vector spaces, U and V, which returns the space of linear maps from V's dual to U.
Tensor product has natural symmetry in interchange of U and V and it produces an associative multiplication on vector spaces.
Wrinting * for tensor product, we can map UxV to U*V via: (u,v) maps to that linear map which takes any w in V's dual to u times w's action on v. We call this linear map u*v. One can then show that
u * v + u * x = u * (v+x) u * v + t * v = (u+t) * v and hu * v = h(u * v) = u * hv
ie, the mapping respects linearity: whence any bilinear map from UxV (to wherever) may be factorised via this mapping. This gives us the degree of natural symmetry in swapping U and V. By rolling it up to multilinear maps from products of several vector spaces, we can get to the natural associative multiplication on vector spaces.
When all the vector spaces are the same, permutation of the factors doesn't change the space and so constitutes an automorphism. These permutation-induced iso-auto-morphisms form a group which is a model of the group of permutations.
(1996-09-27)

tenured graduate student
job One who has been in graduate school for 10 years (the usual maximum is 5 or 6): a ten-yeared student (get it?). Actually, this term may be used of any grad student beginning in his seventh year. Students don't really get tenure, of course, the way professors do, but a tenth-year graduate student has probably been around the university longer than any untenured professor.
[Jargon File]
(1996-09-27)

tera-
prefix

terabyte
unit 2^40 = 1,099,511,627,776 bytes = 1024 gigabytes or roughly 10^12 bytes.
(Note the spelling - one 'r'). See prefix.
(1995-09-29)

teraflop
unit 10^12 flops.
Intel beat Hitachi to the record of 1.06 teraflops, on 04 Dec 1996, unofficially in Beverton, Oregon, using 7264 Pentium Pro chips.
(1997-07-21)

teraflop club
body /te'r*-flop kluhb/ (From tera- and flops) A mythical association of people who consume outrageous amounts of computer time in order to produce a few simple pictures of glass balls with intricate ray-tracing techniques. Caltech professor James Kajiya is said to have been the founder.
[Jargon File]
(1997-07-21)

TERM
1. networking A program by Michael O'Reilly michael@iinet.com.au for people running Unix who have Internet access via a dial-up connection, and who don't have access to SLIP, or PPP, or simply prefer a more lightweight protocol. TERM does end-to-end error-correction, compression and mulplexing across serial links. This means you can upload and download files as the same time you're reading your news, and can run X clients on the other side of your modem link, all without needing SLIP or PPP.
Current version: 1.15.
(ftp://tartarus.uwa.edu.au/pub/oreillym/term/term115.tar.gz)
2. business Technology Enabled Relationship Management.
(1999-10-04)

TERMAC
An interactive matrix language.
[ Users Guide to TERMAC , J.S. Miller et al, MIT Dec 1968].
(1994-11-04)

termcap
operating system (terminal capabilities) A Unix database listing different types of terminal (or terminal emulation) and the the character strings to send to make the terminal perform certain functions such as move the cursor up one line or clear the screen.
Programs written using termcap can work on any terminal in the database which supports the necessary functions. Typical programs are text editors or file viewers like more. The termcap routines look for an environment variable TERM to determine which terminal the user is using.
terminfo is a later version of termcap.
(1998-10-30)

terminak
/ter'mi-nak`/ [Caltech, ca. 1979] Any malfunctioning computer terminal. A common failure mode of Lear-Siegler ADM 3a terminals caused the L key to produce the K code instead; complaints about this tended to look like Terminak #3 has a bad keyboard. Pkease fix. See AIDX, Nominal Semidestructor, Open DeathTrap, ScumOS, sun-stools, Telerat, HP-SUX.
[Jargon File]
(1995-04-14)

terminal
1. hardware An electronic or electromechanical device for entering data into a computer or a communications system and displaying data received. Early terminals were called teletypes, later ones VDUs. Typically a terminal communicates with the computer via a serial line.
2. electronics The end of a line where signals are either transmitted or received, or a point along the length of a line where the signals are made available to apparatus.
3. electronics Apparatus to send and/or receive signals on a line.
(1995-10-02)

Terminal Access Controller
hardware, networking (TAC) A device which connects terminals to the Internet, usually using dial-up modem connections and the TACACS protocol.
(1997-11-27)

terminal adapter
Terminal Adaptor

Terminal Adaptor
networking, hardware (TA) Equipment used to adapt Integrated Services Digital Network (ISDN) Basic Rate Interface (BRI) channels to existing terminal equipment standards such as EIA-232 and V.35. A Terminal Adaptor is typically packaged like a modem, either as a stand-alone unit or as an interface card that plugs into a computer or other communications equipment (such as a router or PBX). A Terminal Adaptor does not interoperate with a modem; it replaces it.
[ISDN FAQ].
(1994-10-03)

terminal brain death
The extreme form of terminal illness. What someone who has obviously been hacking continuously for far too long is said to be suffering from.
[Jargon File]

terminal emulation
What a terminal emulator does.

terminal emulator
A program that allows a computer to act like a (particular brand of) terminal, e.g. a vt-100. The computer thus appears as a terminal to the host computer and accepts the same escape sequences for functions such as cursor positioning and clearing the screen.
xterm is a terminal emulator for the X Window System.
(1995-02-16)

terminal illness
raster burn

terminal junkie
(UK) A wannabee or early larval stage hacker who spends most of his or her time wandering the directory tree and writing noddy programs just to get a fix of computer time. Variants include terminal jockey , console junkie , and console jockey. The term console jockey seems to imply more expertise than the other three (possibly because of the exalted status of the console relative to an ordinary terminal).
See also twink, read-only user.
[Jargon File]
(1995-02-16)

terminal node
leaf

Terminal Oriented Social Science
project (TOSS) The Cambridge Project Project MAC was an ARPA-funded political science computing project. They worked on topics like survey analysis and simulation, led by Ithiel de Sola Pool, J.C.R. Licklider and Douwe B. Yntema. Yntema had done a system on the MIT Lincoln Labs TX-2 called the Lincoln Reckoner, and in the summer of 1969 led a Cambridge Project team in the construction of an experiment called TOSS. TOSS was like Logo, with matrix operators. A major feature was multiple levels of undo, back to the level of the login session. This feature was cheap on the Lincoln Reckoner, but absurdly expensive on Multics.
(1997-01-29)

Terminal Productivity eXecutive
operating system (TPX) A multiple session manager used to access mainframe applications. TPX allows you to work in multiple mainframe applications concurrently; lock and unlock your TPX screen; place your applications on hold; logon on to TPX from a different terminal without losing your place; customize your TPX menu; and send a screen image to another TPX user.
[What does it run on?]
(2000-05-08)

terminal server
A device which connects many terminals (serial lines) to a local area network through one network connection. A terminal server can also connect many network users to its asynchronous ports for dial-out capabilities and printer access.
(1995-02-16)

Terminate and Stay Resident
(TSR) A type of DOS utility which, once loaded, stays in memory and can be reactivated by pressing a certain combination of keys.

termination analysis
A program analysis which attempts to determine whether evaluation of a given expression will definitely terminate.
Evaluation of a constant is bound to terminate, as is evaluation of a non-recursive function applied to arguments which are either not evaluated or which can themselves be proved to terminate. A recursive function can be shown to terminate if it can be shown that the arguments of the recursive calls are bound to reach some value at which the recursion will cease.
Termination analysis can never guarantee to give the correct answer because this would be equivalent to solving the halting problem so the answer it gives is either definitely terminates or don't know .
(1994-10-20)

terminator
electronics A resistor connected to a signal wire in a bus or network for the purpose of impedance matching to prevent reflections.
For example, a 50 ohm resistor connected across the end of an Ethernet cable. SCSI chains and some LocalTalk wiring schemes also require terminators.
(1995-05-17)

term rewriting system
(TRS) A collection of rewrite rules used to transform terms (expressions, strings in some formal language) into equivalent terms. See reduction.
(1994-11-04)

Terms Of Service
networking (TOS) The rules laid down by an on-line service provider such as AOL that members must obey or risk being TOS-sed (disconnected).
(1999-04-02)

ternary
programming A description of an operator taking three arguments. The only common example is C's ?: operator which is used in the form CONDITION ? EXP1 : EXP2 and returns EXP1 if CONDITION is true else EXP2. Haskell has a similar if CONDITION then EXP1 else EXP2 operator.
See also unary, binary.
(1998-07-29)

terpri
/ter'pree/ TERminate PRInt line. [LISP 1.5 and later, MacLISP] To output a newline. Still used in Common LISP. On some early operating systems and hardware, no characters would be printed until a complete line was formed, so this operation terminated the line and emitted the output.
[Jargon File]
(1996-06-24)

terrabyte
spelling It's spelled terabyte .
(1997-01-23)

Terse
Language for decryption of hardware logic.
[ Hardware Logic Simulation by Compilation , C. Hansen, 25th ACM/IEEE Design Automation Conf, 1988].

test
1. The process of exercising a product to identify differences between expected and actual behaviour. Typically testing is bottom-up: unit test, integration test and finally system test. Ideally testing should be done by real users bashing on a prototype long enough to get thoroughly acquainted with it, with careful monitoring and followup of the results.
Test coverage attempts to assess how complete a test has been.
2. The second stage in a generate and test search algorithm.
[Jargon File]

Test coverage
testing A measure of the proportion of a program exercised by a test suite, usually expressed as a percentage. This will typically involve collecting information about which parts of a program are actually executed when running the test suite in order to identify which branches of conditional statements which have been taken.
The most basic level of test coverage is code coverage testing and the most methodical is path coverage testing. Some intermediate levels of test coverage exist, but are rarely used.
The standard Unix tool for measuring test coverage is tcov, which annotates C or Fortran source with the results of a test coverage analysis. GCT is a GNU equivalent.
(2001-05-20)

testing
test

TET
Test Environment Toolkit project coordinated by X/Open.

TeX
publication /tekh/ An extremely powerful macro-based text formatter written by Donald Knuth, very popular in academia, especially in the computer-science community (it is good enough to have displaced Unix troff, the other favoured formatter, even at many Unix installations).
The first version of TeX was written in the programming language SAIL, to run on a PDP-10 under Stanford's WAITS operating system.
Knuth began TeX because he had become annoyed at the declining quality of the typesetting in volumes I-III of his monumental Art of Computer Programming (see Knuth, also bible). In a manifestation of the typical hackish urge to solve the problem at hand once and for all, he began to design his own typesetting language. He thought he would finish it on his sabbatical in 1978; he was wrong by only about 8 years. The language was finally frozen around 1985, but volume IV of The Art of Computer Programming has yet to appear as of mid-1997. (However, the third edition of volumes I and II have come out). The impact and influence of TeX's design has been such that nobody minds this very much. Many grand hackish projects have started as a bit of toolsmithing on the way to something else; Knuth's diversion was simply on a grander scale than most.
Guy Steele happened to be at Stanford during the summer of 1978, when Knuth was developing his first version of TeX. When he returned to MIT that fall, he rewrote TeX's I/O to run under ITS.
TeX has also been a noteworthy example of free, shared, but high-quality software. Knuth offers monetary awards to people who find and report a bug in it: for each bug the award is doubled. (This has not made Knuth poor, however, as there have been very few bugs and in any case a cheque proving that the owner found a bug in TeX is rarely cashed). Though well-written, TeX is so large (and so full of cutting edge technique) that it is said to have unearthed at least one bug in every Pascal system it has been compiled with.
TeX fans insist on the correct (guttural) pronunciation, and the correct spelling (all caps, squished together, with the E depressed below the baseline; the mixed-case TeX is considered an acceptable kluge on ASCII-only devices). Fans like to proliferate names from the word TeX - such as TeXnician (TeX user), TeXhacker (TeX programmer), TeXmaster (competent TeX programmer), TeXhax, and TeXnique.
Several document processing systems are based on TeX, notably LaTeX Lamport TeX - incorporates document styles for books, letters, slides, etc., jadeTeX uses TeX as a backend for printing from James' DSSSL Engine, and Texinfo, the GNU document processing system. Numerous extensions to TeX exist, among them BibTeX for bibliographies (distributed with LaTeX), PDFTeX modifies TeX to produce PDF and Omega extends TeX to use the Unicode character set.
For some reason, TeX uses its own variant of the point, the TeX point.
See also Comprehensive TeX Archive Network.
(ftp://labrea.stanford.edu/tex/)
E-mail: tug@tug.org (TeX User's group, Oregon, USA).
(2002-03-11)

TeX-78
language, text The original version of TeX.
(1997-11-20)

TeX-82
language, text The version of TeX described in The TeXbook, Donald Knuth, A-W 1984.
(1997-11-20)

Texas Instruments
company (TI) A US electronics company.
A TI engineer, Jack Kilby invented the integrated circuit in 1958. Three TI employees left the company in 1982 to start Compaq.
The COOL and OATH C++ class libraries were developed at TI, as were PDL2 and the ASC computer, PC-Scheme and Texas Instruments Pascal.
(ftp://ti.com/)
(1994-09-26)

Texinfo
A GNU documentation system that uses a single source file to produce both on-line information and printed output. You can read the on-line information, known as an Info file , with an Info documentation-reading program. By convention, Texinfo source file names end with a .texi or .texinfo extension.
You can write and format Texinfo files into Info files within GNU Emacs, and read them using the Emacs Info reader. If you do not have Emacs, you can format Texinfo files into Info files using makeinfo and read them using info . TeX is used to typeset Texinfo files for printing.
Texinfo is available from your nearest GNU archive site.
Current version: 3.1, as of 1993-03-23.
(1994-10-05)

TeX point
unit, text The variant of the point used by TeX, equal to 0.3514598035 mm, or 1/72.27 inch.
[Why yet another variant?]
(2002-03-11)

text
1. Executable code, especially a pure code portion shared between multiple instances of a program running in a multitasking operating system.
Compare English.
2. Textual material in the mainstream sense; data in ordinary ASCII or EBCDIC representation (see flat ASCII). Those are text files; you can review them using the editor.
These two contradictory senses confuse hackers too.
[Jargon File]
(1995-03-16)

text-based
jargon Working under a non-window-based operating system (e.g. MS-DOS) as opposed to a graphical user interface (e.g. Microsoft Windows).
An MS-DOS text-based program uses a screen with a fixed array of 80x25 or 80x40 characters. Examples are WordPerfect before version 5.1 and Microsoft Word.
(1995-03-16)

text editor
tool, text A utility program for creating and modifying text files. This differs from a word processor in that the word processors often embed special control codes or escape sequences in the file to control formatting.
(1996-11-15)

Text Encoding Initiative
text, project, standard (TEI) A project working to establish a standard for interchanging electronic text for scholarly research. The TEI has adopted SGML and implemented the TEI standard as an SGML Document Type Definition.
The TEI was incorporated as a not-for-profit consortium in December 2000, with host sites in Bergen, Oxford, Virginia, and Providence RI, USA.
Home (http://www.tei-c.org/).
See also Corpus Processing.
[Any connection with Computational Linguistics or Natural Language Processing?]
(2001-03-23)

text file
file format A file containing no invisible control characters, only printable letters, numbers and symbols, usually from the ASCII character set.
A text file can be produced with a text editor and can usually be imported into any word processor though it will probably appear unformatted.
Compare binary file, flat file, rich text file.
(1996-11-15)

Text Processing Utility
language (TPU) A DEC language for creation of text-processing interfaces, used to implement DEC's Extensible VAX Editor (EVE).
(2000-05-08)

Text Reckoning And Compiling
language (TRAC) An interactive macro generator language for string manipulation by Calvin N. Mooers and Peter Deutsch of Sun Microsystems. TAC derived ideas from Macro SAP. There are versions for PDP-1, PDP-8, PDP-10 and PDP-11.
See also MINT, SAM76.
E-mail: Preston Briggs preston@rice.edu .
[ TRAC: A Procedure- Describing Language for the Reactive Typewriter , Calvin N. Mooers, CACM 9(3):215-219 (Mar 1966). Rockford Research Inst, 1972].
[Sammet 1969, pp.448-454].
[ Macro Processors , A.J. Cole, Cambridge U Press].
(1994-12-21)

text segment
code segment

Text To Speech
application (TTS) Automatic conversion of text streams to voice.
[Details?]
(1997-05-11)

texture
graphics A measure of the variation of the intensity of a surface, quantifying properties such as smoothness, coarseness and regularity. It's often used as a region descriptor in image analysis and computer vision.
The three principal approaches used to describe texture are statistical, structural and spectral. Statistical techniques characterise texture by the statistical properties of the grey levels of the points comprising a surface. Typically, these properties are computed from the grey level histogram or grey level cooccurrence matrix of the surface.
Structural techniques characterise texture as being composed of simple primitives called texels (texture elements), that are regularly arranged on a surface according to some rules. These rules are formally defined by grammars of various types.
Spectral techiques are based on properties of the Fourier spectrum and describe global periodicity of the grey levels of a surface by identifying high energy peaks in the spectrum.
(1995-05-11)

tf
networking The country code for French southern territories.
(1999-01-27)

TFDL
language [ TFDL : A Task-level Dataflow Language , P.A. Suhler et al, J Parallel and Distrib Comput 9:103-115 (1990)].
(1995-05-11)

TFTP
Trivial File Transfer Protocol

tg
networking The country code for Togo.
(1999-01-27)

TGA
Targa Graphics Adaptor

T-gen
A general-purpose object-oriented tool for the automatic generation of string-to-object translators. It was written in Smalltalk by Justin Graver graver@comm.mot.com and runs in the Smalltalk programming environment. T-gen supports the generation of both top-down parsers (LL parsers) and bottom-up parsers (LR parsers), which will automatically generate derivation trees, abstract syntax trees or arbitrary Smalltalk objects. The simple specification syntax and graphical user interface are intended to enhance the learning, comprehension and usefulness of T-gen.
Current version: 2.1.
Runs on Smalltalk-80, ParcPlace Objectworks/Smalltalk 4.0 or 4.1.
(ftp://st.cs.uiuc.edu/pub/st80_r41/T-gen2.1/)
(1992-10-18)

TGS-II
Translator Generator System. Contained TRANDIR.
[Sammet 1969, p. 640].

TGS Systems
company Suppliers of Prograph.
Telephone: +1 (902) 429 5642.
(1995-03-31)

tgz
filename extension, compression (Or less often taz , Tar GNU zip) A filename extension for a file or directory which has been archived with tar and then compressed with gzip. The full form .tar.gz is also common on proper file systems not limited to 8.3 file names.
(1996-11-03)

th
networking The country code for Thailand.
(1999-01-27)

thanks in advance
jargon (Usually TIA ) A conventional Usenet net.politeness ending a posted request for information or assistance. Sometimes written advTHANKSance or aTdHvAaNnKcSe .
[Jargon File]
(1999-02-09)

That's not a bug, that's a feature!
The canonical first parry in a debate about a purported bug. The complainant, if unconvinced, is likely to retort that the bug is then at best a misfeature.
See also feature.
[Jargon File]
(1995-02-02)

T.H.E
operating system The operating system in which semaphores were first used.
[Details?]
(1999-10-12)

The Cuckoo's Egg
A great book (and subsequent BBC TV series) telling the true story of Clifford Stoll, an astronomy professor at UCB's Lawrence Berkeley Lab. A 75-cent accounting error alerted him to the presence of an unauthorised user (a cracker) on his system. The cracker, code named Hunter , was breaking into US computer systems and stealing sensitive military and security information. Hunter was part of a spy ring paid in cash and cocaine, and reporting to the KGB.
[ The Cuckoo's Egg , Clifford Stoll, London: Bodley Head, 1990, ISBN 0-370-31433-6, ISBN 0-671-72688-9].
[FTP?]
(1994-11-15)

The Force
A data parallel language by Harry Jordan harry@boulder.colorado.edu which extends Fortran for shared memory multiprocessors. It features parallel case statements and critical sections.
[ The Force , H. Jordan, in The Characteristics of Parallel Algorithms , L. Jamieson et al eds, MIT Press 1987, pp. 395-436].
(1994-12-14)

The Internet Account
An Internet provider in Sydney, Australia who provides SLIP, PPP and CLI accounts for the same rates. riscman@geko.com.au handles Acorn software.
Home (http://www.geko.com.au/)
(ftp://ftp.geko.com.au/pub/)
E-mail: accounts@geko.com.au .
Telephone: +61 (2) 968 4333. Fax: +61 (2) 968 4334.
Address: PO BOX 473, Crows Nest, NSE 2065, Australia.
(1995-02-02)

The MathWorks, Inc.
company The company marketing MATLAB.
(http://www.mathworks.com/)
E-mail: info@mathworks.com .
Address: 24 Prime Park Way, Natick, Massachusetts 01760. Telephone: +1 (508) 647-7000. Fax: +1 (508) 647-7101.
(1997-07-01)

The Metadata Company
company A company founded by Jack Myers, originally known as Metadata Information Partners.
Home (http://www.metadata.com/).
E-mail: metadata@metadata.com .
Address: 444 West Ocean Blvd, Suite 1600, Long Beach CA 90802, USA.
(1998-11-21)

The Microsoft Network
networking (MSN) Microsoft's ISP and online content service, launched in October 1996. Not to be confused with Microsoft Networking.
MSN was originally based on custom software and protocols, however Microsoft saw the error of their ways and adopted Internet standards. MSN now provides standard WWW and email facilities, albeit with Microsoft's Internet Explorer web-browser and the Outlook Express email software.
The service also provides Community Services including newsgroups, forums, and chat.
Home (http://msn.com/).
(1998-08-11)

The Mythical Man-Month
publication Fred Brooks's excellent 1975 book on software engineering.
See also Brooks's Law.
[ The Mythical Man-Month: Essays on Software Engineering , Fred Brooks, Addison-Wesley, 1975, ISBN 0-201-00650-2].
(1996-06-20)

The Network
network, the

THEO
A frame language.
[ Theo: A Framework for Self-Improving Systems , Mitchell et al, in Architectures for Intelligence, K. VanLehn ed, Erlbaum, 1989].
(1994-12-14)

theology
1. Ironically or humorously used to refer to religious issues.
2. Technical fine points of an abstruse nature, especially those where the resolution is of theoretical interest but is relatively marginal with respect to actual use of a design or system. Used especially around software issues with a heavy AI or language-design component, such as the smart-data vs. smart-programs dispute in AI.
[Jargon File]

theory
The consensus, idea, plan, story, or set of rules that is currently being used to inform a behaviour. This usage is a generalisation and (deliberate) abuse of the technical meaning. What's the theory on fixing this TECO loss? What's the theory on dinner tonight? ( Chinatown, I guess. ) What's the current theory on letting lusers on during the day? The theory behind this change is to fix the following well-known screw....
(1994-12-14)

theory change
artificial intelligence The study of methods used to incorporate new information into a knowledge base when the new information may conflict with existing information.
Belief revision is one area of theory change.
[Others?]
(1995-03-20)

There's More Than One Way To Do It
Perl, philosophy One of the design principles of Perl. The Perl man page ends with a note:
The Perl motto is There's more than one way to do it. Divining how many more is left as an exercise to the reader.
(2001-03-15)

Theseus
language A language based on Euclid, never implemented.
[ Theseus - A Programming Language for Relational Databases , J.E. Shopiro, ACM Trans Database Sys 4(4):493-517, Mar 1979].
(1994-12-14)

The story of Mel, a Real Programmer
programming, person An article devoted to the macho side of programming made the bald and unvarnished statement, Real Programmers write in Fortran . Maybe they do now, in this decadent era of Lite beer, hand calculators and user-friendly software but back in the Good Old Days, when the term software sounded funny and Real Computers were made out of drums and vacuum tubes, Real Programmers wrote in machine code - not Fortran, not RATFOR, not even assembly language - Machine Code. Raw, unadorned, inscrutable hexadecimal numbers, directly.
Lest a whole new generation of programmers grow up in ignorance of this glorious past, I feel duty-bound to describe, as best I can through the generation gap, how a Real Programmer wrote code. I'll call him Mel, because that was his name.
I first met Mel when I went to work for Royal McBee Computer Corporation, a now-defunct subsidiary of the typewriter company. The firm manufactured the LGP-30, a small, cheap (by the standards of the day) drum-memory computer, and had just started to manufacture the RPC-4000, a much-improved, bigger, better, faster -- drum-memory computer. Cores cost too much, and weren't here to stay, anyway. (That's why you haven't heard of the company, or the computer.)
I had been hired to write a Fortran compiler for this new marvel and Mel was my guide to its wonders. Mel didn't approve of compilers.
If a program can't rewrite its own code, he asked, what good is it?
Mel had written, in hexadecimal, the most popular computer program the company owned. It ran on the LGP-30 and played blackjack with potential customers at computer shows. Its effect was always dramatic. The LGP-30 booth was packed at every show, and the IBM salesmen stood around talking to each other. Whether or not this actually sold computers was a question we never discussed.
Mel's job was to re-write the blackjack program for the RPC-4000. (Port? What does that mean?) The new computer had a one-plus-one addressing scheme, in which each machine instruction, in addition to the operation code and the address of the needed operand, had a second address that indicated where, on the revolving drum, the next instruction was located. In modern parlance, every single instruction was followed by a GO TO! Put *that* in Pascal's pipe and smoke it.
Mel loved the RPC-4000 because he could optimize his code: that is, locate instructions on the drum so that just as one finished its job, the next would be just arriving at the read head and available for immediate execution. There was a program to do that job, an optimizing assembler , but Mel refused to use it.
You never know where its going to put things , he explained, so you'd have to use separate constants .
It was a long time before I understood that remark. Since Mel knew the numerical value of every operation code, and assigned his own drum addresses, every instruction he wrote could also be considered a numerical constant. He could pick up an earlier add instruction, say, and multiply by it, if it had the right numeric value. His code was not easy for someone else to modify.
I compared Mel's hand-optimised programs with the same code massaged by the optimizing assembler program, and Mel's always ran faster. That was because the top-down method of program design hadn't been invented yet, and Mel wouldn't have used it anyway. He wrote the innermost parts of his program loops first, so they would get first choice of the optimum address locations on the drum. The optimizing assembler wasn't smart enough to do it that way.
Mel never wrote time-delay loops, either, even when the balky Flexowriter required a delay between output characters to work right. He just located instructions on the drum so each successive one was just *past* the read head when it was needed; the drum had to execute another complete revolution to find the next instruction. He coined an unforgettable term for this procedure. Although optimum is an absolute term, like unique , it became common verbal practice to make it relative: not quite optimum or less optimum or not very optimum . Mel called the maximum time-delay locations the most pessimum .
After he finished the blackjack program and got it to run, ( Even the initialiser is optimised , he said proudly) he got a Change Request from the sales department. The program used an elegant (optimised) random number generator to shuffle the cards and deal from the deck , and some of the salesmen felt it was too fair, since sometimes the customers lost. They wanted Mel to modify the program so, at the setting of a sense switch on the console, they could change the odds and let the customer win.
Mel balked. He felt this was patently dishonest, which it was, and that it impinged on his personal integrity as a programmer, which it did, so he refused to do it. The Head Salesman talked to Mel, as did the Big Boss and, at the boss's urging, a few Fellow Programmers. Mel finally gave in and wrote the code, but he got the test backwards, and, when the sense switch was turned on, the program would cheat, winning every time. Mel was delighted with this, claiming his subconscious was uncontrollably ethical, and adamantly refused to fix it.
After Mel had left the company for greener pa$ture$, the Big Boss asked me to look at the code and see if I could find the test and reverse it. Somewhat reluctantly, I agreed to look. Tracking Mel's code was a real adventure.
I have often felt that programming is an art form, whose real value can only be appreciated by another versed in the same arcane art; there are lovely gems and brilliant coups hidden from human view and admiration, sometimes forever, by the very nature of the process. You can learn a lot about an individual just by reading through his code, even in hexadecimal. Mel was, I think, an unsung genius.
Perhaps my greatest shock came when I found an innocent loop that had no test in it. No test. *None*. Common sense said it had to be a closed loop, where the program would circle, forever, endlessly. Program control passed right through it, however, and safely out the other side. It took me two weeks to figure it out.
The RPC-4000 computer had a really modern facility called an index register. It allowed the programmer to write a program loop that used an indexed instruction inside; each time through, the number in the index register was added to the address of that instruction, so it would refer to the next datum in a series. He had only to increment the index register each time through. Mel never used it.
Instead, he would pull the instruction into a machine register, add one to its address, and store it back. He would then execute the modified instruction right from the register. The loop was written so this additional execution time was taken into account -- just as this instruction finished, the next one was right under the drum's read head, ready to go. But the loop had no test in it.
The vital clue came when I noticed the index register bit, the bit that lay between the address and the operation code in the instruction word, was turned on-- yet Mel never used the index register, leaving it zero all the time. When the light went on it nearly blinded me.
He had located the data he was working on near the top of memory -- the largest locations the instructions could address -- so, after the last datum was handled, incrementing the instruction address would make it overflow. The carry would add one to the operation code, changing it to the next one in the instruction set: a jump instruction. Sure enough, the next program instruction was in address location zero, and the program went happily on its way.
I haven't kept in touch with Mel, so I don't know if he ever gave in to the flood of change that has washed over programming techniques since those long-gone days. I like to think he didn't. In any event, I was impressed enough that I quit looking for the offending test, telling the Big Boss I couldn't find it. He didn't seem surprised.
When I left the company, the blackjack program would still cheat if you turned on the right sense switch, and I think that's how it should be. I didn't feel comfortable hacking up the code of a Real Programmer.
[Posted to USENET by its author, Ed Nather utastro!nather , on 1983-05-21].
[When did it happen? Did Mel use hexadecimal or octal?]
(1997-08-29)

The World Of Cryton
(TWOC) A BBS for the Acorn Archimedes.
Telephone: +44 (1749) 670 030 (24hrs, most speeds).
(1994-11-08)

the X that can be Y is not the true X
Yet another instance of hackerdom's peculiar attraction to mystical references - a common humorous way of making exclusive statements about a class of things. The template is from the Tao te Ching : The Tao which can be spoken of is not the true Tao. The implication is often that the X is a mystery accessible only to the enlightened. See the trampoline entry for an example, and compare has the X nature.
[Jargon File]

thicket
jargon Multiple files output from some operation.
The term has been heard in use at Microsoft to describe the set of files output when Microsoft Word does Save As a Web Page or Save as HTML . The process can result in a main XML or HTML file, a graphic file for each image in the original, a CSS file, etc.
This can be an issue as XML can be used as the default format in Office 2000, and document management systems can't yet cope with the relationship between the files in a thicket when checking in and out.
(2001-09-01)

thicknet
10base5

thin client
networking A simple client program or hardware device which relies on most of the function of the system being in the server.
Gopher clients, for example, are very thin; they are stateless and are not required to know how to interpret and display objects much more complex than menus and plain text. Gopher servers, on the other hand, can search databases and provide gateways to other services.
By the mid-1990s, the model of decentralised computing where each user has his own full-featured and independent microcomputer, seemed to have displaced a centralised model in which multiple users use thin clients (e.g. dumb terminals) to work on a shared minicomputer or mainframe server. Networked personal computers typically operate as fat clients , often providing everything except some file storage and printing locally.
By 1996, reintroduction of thin clients is being proposed, especially for LAN-type environments (see the cycle of reincarnation). The main expected benefit of this is ease of maintenance: with fat clients, especially those suffering from the poor networking support of Microsoft operating systems, installing a new application for everyone is likely to mean having to physically go to every user's workstation to install the application, or having to modify client-side configuration options; whereas with thin clients the maintenance tasks are centralised on the server and so need only be done once.
Also, by virtue of their simplicity, thin clients generally have fewer hardware demands, and are less open to being screwed up by ambitious lusers.
Never one to miss a bandwagon, Microsoft bought up Insignia Solutions, Inc.'s NTRIGUE Windows remote-access product and combined it with Windows NT version 4 to allow thin clients (either hardware or software) to communicate with applications running under on a server machine under Windows Terminal Server in the same way as X had done for Unix decades before.
(1999-02-01)

ThingLab
A simulation system written in Smalltalk-80. It solves constraints using value inference.
Version: ThingLab II.
[ The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory , A. Borning, ACM TOPLAS 3(4):353-387 (Oct 1981)].

Think C
An extension of ANSI C for the Macintosh by Symantec Corporation. It supports object-oriented programming techniques similar to C++.

Thinking Machines Corporation
company The company that introduced the Connection Machine parallel computer ca 1984. Four of the world's ten most powerful supercomputers are Connection Machines. Thinking Machines is the leader in scalable computing, with software and applications running on parallel systems ranging from 16 to 1024 processors. In developing the Connection Machine system, Thinking Machines also did pioneering work in parallel software.
The 1993 technical applications market for massively parallel systems was approximately $310 million, of which Thinking Machines Corporation held a 29 percent share. Thinking Machines planned to become a software provider by 1996, by which time the parallel computing market was expected to have grown to $2 billion.
Thinking Machines Corporation has 200 employees and offices worldwide.
Address: 245 First Street, Cambridge, MA 02142-1264, USA. Telephone: +1 (617) 234 1000. Fax: +1 (617) 234 4444.
(1994-12-01)

thinko
jargon /thing'koh/ (Or braino , by analogy with typo ) A momentary, correctable glitch in mental processing, especially one involving recall of information learned by rote; a bubble in the stream of consciousness.
See also brain fart. Compare mouso.
[Jargon File]
(1996-04-20)

thinnet
cheapernet

third generation computer
architecture A computer built with small-scale integration integrated circuits, designed after the mid-1960s.
Third generation computers use semiconductor memories in addition to, and later instead of, ferrite core memory. The two main types of semiconductor memory are Read-Only Memory (ROM) and read-and-write memories called Random Access Memory (RAM).
A technique called microprogramming became widespread and simplified the design of the CPUs and increased their flexibility. This also made possible the development of operating systems as software rather than as hard-wiring.
A variety of techniques for improving processing efficiency were invented, such as pipelining, (parallel operation of functional units processing a single instruction), and multiprocessing (concurrent execution of multiple programs).
As the execution of a program requires that program to be in memory, the concurrent running of several programs requires that all programs be in memory simultaneously. Thus the development of techniques for concurrent processing was matched by the development of memory management techniques such as dynamic memory allocation, virtual memory, and paging, as well as compilers producing relocatable code.
The LILLIAC IV is an example of a third generation computer.
The CTSS (Compatible Time-Sharing System) was developed at MIT in the early 1960s and had a considerable influence on the design of subsequent timesharing operating systems.
An interesting contrasting development in this generation was the start of mass production of small low-cost minicomputers .

third generation language
language (3GL, high level language ) A language designed to be easier for a human to understand, including things like named variables. A fragment might be
let c = c + 2 * d
Fortran, ALGOL and COBOL are early examples of this sort of language. Most modern languages (BASIC, C, C++) are third generation. Most 3GLs support structured programming.
See also second generation language, fourth generation language.
(1996-05-30)

third normal form
database normalisation

This can't happen
can't happen

this dictionary
Free On-line Dictionary of Computing

This time, for sure!
exclamation Ritual affirmation frequently uttered during protracted debugging sessions involving numerous small obstacles (e.g. attempts to bring up a UUCP connection). For the proper effect, this must be uttered in a fruity imitation of Bullwinkle J. Moose.
Also heard: Hey, Rocky! Watch me pull a rabbit out of my hat! The canonical response is, of course, But that trick *never* works!
See hacker humour.
[Jargon File]
(1995-09-27)

thn
thumbnail

Thomas
language A language compatible with the language Dylan(TM). Thomas is NOT Dylan(TM).
The first public release of a translator to Scheme by Matt Birkholz, Jim Miller, and Ron Weiss, written at Digital Equipment Corporation's Cambridge Research Laboratory runs (slowly) on MIT's CScheme, DEC's Scheme- C, Marc Feeley's Gambi, Macintosh, PC, Vax, MIPS, Alpha, 680x0.
(ftp://gatekeeper.pa.dec.com/pub/DEC/Thomas).
Mailing list: info-thomas@crl.dec.com .
[ Dylan(TM) an object-oriented dynamic language , Apple Computer, Eastern Research and Technology, April 1992].
(1992-09-11)

thrash
To move wildly or violently, without accomplishing anything useful. Paging or swapping systems that are overloaded waste most of their time moving data into and out of core (rather than performing useful computation) and are therefore said to thrash. Thrashing can also occur in a cache due to cache conflict or in a multiprocessor (see ping-pong).
Someone who keeps changing his mind (especially about what to work on next) is said to be thrashing. A person frantically trying to execute too many tasks at once (and not spending enough time on any single task) may also be described as thrashing.
Compare multitask.
[Jargon File]

thrashing
thrash

thread
1. See multithreading.
2. See threaded code.
3. topic thread.
[Jargon File]

threaded
thread

threaded code
programming A technique for implementing virtual machine interpreters, introduced by J.R. Bell in 1973, where each op-code in the virtual machine instruction set is the address of some (lower level) code to perform the required operation. This kind of virtual machine can be implemented efficiently in machine code on most processors by simply performing an indirect jump to the address which is the next instruction.
Many Forth implementations use threaded code and nowadays some use the term threading for almost any technique used to implement Forth's virtual machine.
(http://www.complang.tuwien.ac.at/forth/threaded-code.html).
[ James R. Bell , Threaded Code , CACM, 1973, 16, 6, pp 370-372].
[ An Architectural Trail to Threaded Code Systems , Kogge, P. M., IEEE Computer, March 1982].
(1998-09-02)

threading
thread

Thread Language Zero
language (TL0) The instruction set of the TAM (Threaded Abstract Machine), used to implement Id.
[ Fine-grain Parallelism with Minimal Hardware Support , David Culler et al, SIGPLAN Notices 26(4):164-175, ASPLOS-IV Proc, Apr 1991].
(1995-03-13)

thread-safe
programming A description of code which is either re-entrant or protected from multiple simultaneous execution by some form of mutual exclusion.
(1997-01-30)

three-finger salute
Vulcan nerve pinch

three-letter acronym
(TLA) The canonical self-describing abbreviation for the name of a species with which computing terminology is infested. Examples include MCA, FTP, SNA, CPU, MMU, DMU, FPU, TLA. For a complete list of the TLAs in this dictionary, see TLAs.
Sometimes used by extension for any confusing acronym. People who like this looser usage argue that not all TLAs have three letters, just as not all four-letter words have four letters. One also hears of ETLA (Extended Three-Letter Acronym) being used to describe four-letter acronyms. The term SFLA (Stupid Four-Letter Acronym) has also been reported.
See also YABA.
The self-effacing phrase TDM TLA (Too Damn Many...) is often used to bemoan the plethora of TLAs in use. In 1989, a random of the journalistic persuasion asked hacker Paul Boutin What do you think will be the biggest problem in computing in the 90s? Paul's straight-faced response: There are only 17,000 three-letter acronyms. (To be exact, there are 26^3 = 17,576.)
(1994-12-14)

three-tier
architecture A client-server architecture in which the user interface, functional process logic ( business rules ) and data storage and access are developed and maintained as independent modules, most often on separate platforms.
Apart from the usual advantages of modular software with well defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements or technology change. For example, an upgrade of desktop operating system from Microsoft Windows to Unix would only affect the user interface code.
Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical user interface, functional process logic may consist of one or more separate modules running on a workstation or application server, and an RDBMS on a database server or mainframe contains the data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an n-tier architecture ).
(1998-05-13)

throughput
1. The rate at which a processor can work expressed in instructions per second or jobs per hour or some other unit of performance.
2. communications data transfer rate.
(2001-05-22)

thud
1. Yet another metasyntactic variable (see foo). It is reported that at CMU from the mid-1970s the canonical series of these was foo , bar , thud , blat .
2. Rare term for the hash character, # (ASCII 35). See ASCII for other synonyms.
[Jargon File]

Thumb
processor An extension to the Advanced RISC Machine architecture, announced on 06 March 1995 by Advanced RISC Machines Ltd. By identifying the critical subset of the ARM instruction set and encoding it into 16 bits, ARM has succeeded in reducing typical program size by 30-40% from ARM's already excellent code density. Since this Thumb instruction set uses less memory for program storage, cost is further reduced.
All Thumb-aware processor cores combine the capability to execute both the 32-bit ARM and the 16-bit Thumb instruction sets. Careful design of the Thumb instructions allow them to be decompressed into full ARM instructions transparently during normal instruction decoding without any performance penalty. This differs from other 32-bit processors, like the Intel 486SX, with a 16-bit data bus, which require two 16-bit memory accesses to execute every 32-bit instruction and so halve performance.
The patented Thumb decompressor has been carefully designed with only a small amount of circuitry additional to the existing instruction decoder, so chip size and thus cost do not significantly increase. Designers can easily interleave fast ARM instructions (for performance critical parts of a program) with compact Thumb code to save memory.
(1995-03-14)

thumb
jargon The slider or bubble on a window system scrollbar. So called because moving it allows you to browse through the contents of a text window in a way analogous to thumbing through a book.
[Jargon File]
(1995-03-14)

thumbnail
file format, graphics (From thumbnail sketch ) A file format used by Graphics Workshop for Microsoft Windows. Filename extension: .thn .
[What's in the files?]
(1996-05-28)

thunk
programming /thuhnk/ 1. A piece of coding which provides an address , according to P. Z. Ingerman, who invented thunks in 1961 as a way of binding actual parameters to their formal definitions in ALGOL 60 procedure calls. If a procedure is called with an expression in the place of a formal parameter, the compiler generates a thunk which computes the expression and leaves the address of the result in some standard location.
2. The term was later generalised to mean an expression, frozen together with its environment (variable values), for later evaluation if and when needed (similar to a closure ). The process of unfreezing these thunks is called forcing .
3. A stubroutine, in an overlay programming environment, that loads and jumps to the correct overlay.
Compare trampoline.
There are a couple of onomatopoeic myths circulating about the origin of this term. The most common is that it is the sound made by data hitting the stack; another holds that the sound is that of the data hitting an accumulator. Yet another suggests that it is the sound of the expression being unfrozen at argument-evaluation time. In fact, according to the inventors, it was coined after they realised (in the wee hours after hours of discussion) that the type of an argument in ALGOL 60 could be figured out in advance with a little compile-time thought, simplifying the evaluation machinery. In other words, it had already been thought of ; thus it was christened a thunk , which is the past tense of think at two in the morning .
4. (Microsoft Windows programming) universal thunk, generic thunk, flat thunk.
[Jargon File]
(1997-10-11)

TIA
1. chat Thanks in advance.
2. body Telecommunications Industry Association.
3. software The Internet Adapter.
4. graphics, hardware Television Interface Adaptor.
(1999-12-06)

tick
1. A jiffy (sense 1). 2. In simulations, the discrete unit of time that passes between iterations of the simulation mechanism. In AI applications, this amount of time is often left unspecified, since the only constraint of interest is the ordering of events. This sort of AI simulation is often pejoratively referred to as tick-tick-tick simulation, especially when the issue of simultaneity of events with long, independent chains of causes is handwaved. 3. In the FORTH language, a single quote character.
[Jargon File]

TickIT
A software industry quality assessment scheme.

Tickle
text, tool A text editor, file translator and TCL interpreter for the Macintosh.
Version 5.0v1. The text editor breaks the 32K limit (like MPW).
The file translation utilities support drag and drop handling via tcl scripts of BinHex, MacBinary, Apple Computer Single/Double, StuffIt (with engine), Unix compress, Unix tar and UUencode files as well as text translation.
Tickle implements tcl 7.0 with tclX extensions and Macintosh equivalents of Unix's ls, pwd, cd commands. It provides Macintosh access to Resource Manager, Communications Toolbox, OSA Components (and AppleScript), Editions (publish and subscribe) and Apple Events (including AEBuild and AEPrint). OSA Script support allows programming of any OSA scripting component within Tickle interpreter windows. It provides the OSAtcl and OSAJ J/APL extensions and creates Ticklets which are small application programs that carry only the tcl script and use code in the OSAtcl component to drive an application that allows drag and drop with tcl scripts. Tickle is scriptable and recordable.
(ftp://ftp.msen.com/pub/vendor/ice/tickle/Tickle5.0v1.hqx)
E-mail: time@ice.com .
(1994-10-12)

tickle a bug
To cause a normally hidden bug to manifest itself through some known series of inputs or operations. You can tickle the bug in the Paradise VGA card's highlight handling by trying to set bright yellow reverse video.
[Jargon File]

tick-list features
(Acorn Computers) Features in software or hardware that customers insist on but never use (calculators in desktop TSRs and that sort of thing). The American equivalent would be checklist features , but this jargon sense of the phrase has not been reported.
(1995-01-06)

TIFF
Tagged Image File Format

tiger team
(US military jargon) 1. Originally, a team whose purpose is to penetrate security, and thus test security measures. These people are paid professionals who do hacker-type tricks, e.g. leave cardboard signs saying bomb in critical defence installations, hand-lettered notes saying Your codebooks have been stolen (they usually haven't been) inside safes, etc. After a successful penetration, some high-ranking security type shows up the next morning for a security review and finds the sign, note, etc. and all hell breaks loose. Serious successes of tiger teams sometimes lead to early retirement for base commanders and security officers (see the patch entry for an example).
2. Recently, and more generally, any official inspection team or special firefighting group called in to look at a problem.
A subset of tiger teams are professional crackers, testing the security of military computer installations by attempting remote attacks via networks or supposedly secure communication channels. Some of their escapades, if declassified, would probably rank among the greatest hacks of all times. The term has been adopted in commercial computer-security circles in this more specific sense.
[Jargon File]

tight loop
programming A loop of code that executes without releasing any resources to other programs or the operating system.
Consider the following pointless BASIC loop that counts upwards indefinitely
10 i = i + 1
20 GOTO 10
Run on a single-user system such as MS-DOS this will not cause any problems. Run on a cooperative multitasking operating system such as Windows 3, the system would appear to freeze.
A pre-emptive multitasking operating system such as UNIX or Windows NT would steal cycles away from the program and continue to run other programs.
See also busy-wait and multitasking.
(1999-05-06)

tilde
character ~ ASCII character 126.
Common names are: ITU-T: tilde; squiggle; twiddle; not. Rare: approx; wiggle; swung dash; enyay; INTERCAL: sqiggle (sic).
Used as C's prefix bitwise negation operator; and in Unix csh, GNU Emacs, and elsewhere, to stand for the current user's home directory, or, when prefixed to a login name, for the given user's home directory.
The swung dash or approximation sign is not quite the same as tilde in typeset material but the ASCII tilde serves for both (compare angle brackets).
[Has anyone else heard this called tidal (as in wave)?]
(1996-10-18)

TILE Forth
language A Forth interpreter in C for Unix by Mikael Patel mip@sectra.se . TILE Forth comes with many Forth libraries. It conforms to the Forth83 standard and is distributed under GPL.
Current version: 2.1, as of 1991-11-13.
Availalbe via FTP from a GNU archive site.
(1991-11-13)

Tim Berners-Lee
person The man who invented the World-Wide Web while working at the Center for European Particle Research (CERN). Now Director of the World-Wide Web Consortium.
Tim Berners-Lee graduated from the Queen's College at Oxford University, England, 1976. Whilst there he built his first computer with a soldering iron, TTL gates, an M6800 processor and an old television.
He then went on to work for Plessey Telecommunications, and D.G. Nash Ltd (where he wrote software for intelligent printers and a multi-tasking operating system), before joining CERN, where he designed a program called 'Enquire', which was never published, but formed the conceptual basis for today's World-Wide Web.
In 1984, he took up a fellowship at CERN, and in 1989, he wrote the first World-Wide Web server, httpd , and the first client, WorldWideWeb a hypertext browser/editor which ran under NEXTSTEP. The program WorldWideWeb was first made available within CERN in December, and on the Internet as a whole in the summer of 1991.
In 1994, Tim joined the Laboratory for Computer Science (LCS) at the Massachusetts Institute of Technology (MIT). In 1999, he became the first holder of the 3Com Founders chair. He is also the author of Weaving the Web , on the past present and future of the Web.
In 2001, Tim was made a fellow of The Royal Society.
Tim is married to Nancy Carlson. They have two children, born 1991 and 1994.
(http://www.w3.org/People/Berners-Lee/Longer.html).
(2001-06-17)

time bomb
software, security A subspecies of logic bomb that is triggered by reaching some preset time, either once or periodically. There are numerous legends about time bombs set up by programmers in their employers' machines, to go off if the programmer is fired or laid off and is not present to perform the appropriate suppressing action periodically.
Interestingly, the only such incident for which we have been pointed to documentary evidence took place in the Soviet Union in 1986! A disgruntled programmer at the Volga Automobile Plant (where the Fiat clones called Ladas were manufactured) planted a time bomb which, a week after he'd left on vacation, stopped the entire main assembly line for a day. The case attracted lots of attention in the Soviet Union because it was the first cracking case to make it to court there. The perpetrator got 3 years in jail.
[Jargon File]
(2001-09-15)

time complexity
complexity The way in which the number of steps required by an algorithm varies with the size of the problem it is solving. Time complexity is normally expressed as an order of magnitude, e.g. O(N^2) means that if the size of the problem (N) doubles then the algorithm will take four times as many steps to complete.
See also computational complexity, space complexity.
(1996-05-08)

Time Complex Simulator
simulation (Tcsim) Complex arithmetic version of Tsim.
Contact: ZOLA Technologies.
(1996-01-18)

time division multiple access
time division multiplexing

time division multiplexing
communications (TDM) A type of multiplexing where two or more channels of information are transmitted over the same link by allocating a different time interval ( slot or slice ) for the transmission of each channel. I.e. the channels take turns to use the link. Some kind of periodic synchronising signal or distinguishing identifier is usually required so that the receiver can tell which channel is which.
TDM becomes inefficient when traffic is intermittent because the time slot is still allocated even when the channel has no data to transmit. Statistical time division multiplexing was developed to overcome this problem.
Compare wavelength division multiplexing, frequency division multiplexing, code division multiplexing.
(2001-06-27)

Time Domain Reflectometer
hardware, networking (TDR) An electronic device for detecting and locating short- or open-circuits in an Ethernet cable. TDRs can also measure how the characteristic impedance of a line varies along its length.
(1995-12-28)

timeout
A period of time after which an error condition is raised if some event has not occured. A common example is sending a message. If the receiver does not acknowledge the message within some preset timeout period, a transmission error is assumed to have occured.
(1995-11-09)

time quantum
time slice

time-sharing
operating system (Or timesharing ) An operating system feature allowing several users to run several tasks concurrently on one processor, or in parallel on many processors, usually providing each user with his own terminal for input and output. time-sharing is multitasking for multiple users.
(1998-04-24)

Time Sharing Option
(TSO) System software from IBM that provides time-sharing on an IBM mainframe running in an MVS environment.

Time Simulator
simulation (Tsim) A stack-based simulation language.
Contact: ZOLA Technologies.
(1999-10-04)

time sink
(By analogy with heat sink or current sink ) A project that consumes unbounded amounts of time.
[Jargon File]
(1995-02-07)

time slice
operating system (Or time quantum , quantum ) The period of time for which a process is allowed to run uninterrupted in a pre-emptive multitasking operating system.
The scheduler is run once every time slice to choose the next process to run. If the time slice is too short then the scheduler will consume too much processing time but if it is too long then processes may not be able to respond to external events quickly enough.
(1998-11-06)

times-or-divided-by
(By analogy with plus-or-minus ) A term occasionally used when describing the uncertainty associated with a scheduling estimate, for either humorous or brutally honest effect. For a software project, the scheduling uncertainty factor is usually at least 2.
[Jargon File]
(1995-02-07)

time T
/ti:m T/ An unspecified but usually well-understood time, often used in conjunction with a later time T+1. We'll meet on campus at time T or at Louie's at time T+1 means, in the context of going out for dinner: We can meet on campus and go to Louie's, or we can meet at Louie's itself a bit later. (Louie's was a Chinese restaurant in Palo Alto that was a favourite with hackers.) Had the number 30 been used instead of the number 1, it would have implied that the travel time from campus to Louie's is 30 minutes; whatever time T is (and that hasn't been decided on yet), you can meet half an hour later at Louie's than you could on campus and end up eating at the same time.
See also since time T equals minus infinity.
[Jargon File]
(1994-12-12)

Time to Live
(TTL) A field in the Internet Protocol header which indicates how many more hops this packet should be allowed to make before being discarded or returned.
(1994-12-12)

time zone
One of approximately 24 longitudinal divisions of the globe, nominally 15 degrees wide, in which clocks show the same time. Some zones follow the boundaries of states or territories, others differ from neighbouring zones by more or less than one hour.
Computers can be programmed to take into account the time zone each user is working in, which is not necessarily the same as the zone the computer is in.
See also TZ.
(1997-07-20)

TINC
There Is No Cabal

Tinman
language The third of the series of DoD requirements that led to Ada. Written by HOLWG, DoD, Jan 1976.
See Strawman, Woodenman, Ironman, Steelman.
(1976-01-01)

tinman+
Macro language for Apple II? Published in DDJ?

TINT
Interpreted version of JOVIAL.
[Sammet 1969, p. 528].

tint
hue

Tiny
1. A language which provides concurrency through message-passing to named message queues.
2. A tool written by Michael Wolfe mwolfe@cse.ogi.edu at Oregon Graduate Institute of Science Technology for examining array data dependence algorithms and program transformations for scientific computations.
Extended Tiny was used to implement the Omega test. Michael Wolfe has also made extensions to his version of tiny.
(1994-12-12)

Tiny BASIC
language A dialect of BASIC developed by Dr. Wang [Wong?] in the late 1970s. Tiny BASIC was 2K bytes in size and was loaded from paper tape. It ran on almost any Intel 8080 or Zilog Z80 microprocessor for which the user could provide the necessary I/O driver software.
Tiny BASIC was distributed as [the first ever?] freeware. The program listing contained the following phrases All Wrongs reserved and CopyLeft , he obviously wasn't interested in money.
See also Tiny Basic Interpreter Language.
[More info?]
(1997-09-12)

Tiny Basic Interpreter Language
language (TBIL) The inner interpreter of Tom Pittman's set of Tiny Basics in Dr Dobb's Journal.
(1997-09-12)

Tiny Clos
A core part of Common Lisp Object System (CLOS) ported to Scheme and rebuilt using a MOP (Metaobject Protocol). This should be interesting to those who want to use MOPs without using a full Common Lisp or Dylan.
The first release works with MIT Scheme 11.74.
(ftp://parcftp.xerox.com/pub/mops/). E-mail: Gregor Kiczales gregor@parc.xerox.com . Mailing list: mops (administered by gregor@parc.xerox.com ).
(1992-12-14)

TIP
1. Texas Instruments Pascal.
2. A Unix program for interactive communication via serial lines.
Unix manual page: tip(1).

TIPL
1. Teach IPL. An interpretive IPL teaching system.
[Sammet 1969, p. 393].
2. A dialect of IGL.

tip of the ice-cube
[IBM] The visible part of something small and insignificant. Used as an ironic comment in situations where tip of the iceberg might be appropriate if the subject were at all important.
[Jargon File]

tired iron
[IBM] Hardware that is perfectly functional but far enough behind the state of the art to have been superseded by new products, presumably with sufficient improvement in bang-per-buck that the old stuff is starting to look a bit like a dinosaur.

tits on a keyboard
jargon Small bumps on certain keycaps to help touch-typists find the home keys (ASDF and JKL;) without looking. They are nearly always on the F and J of a QWERTY and the 5 of a numeric keypad. The Macintosh, perverse as usual, has them on the D and K keys.
This term is based on the vernacular American expression as useful as tits on a boar (or boar-hog, bull, bullfrog, or many other variants), meaning not useful .
[Jargon File]
(1998-02-25)

tj
networking The country code for Tajikistan.
(1999-01-27)

Tk
programming, graphics A GUI library, generally used with TCL by John Ousterhout, but also available from within C or Perl. Tk is available for X Window System, Microsoft Windows and Macintosh. Tk looks very similar to Motif.
Version 3.5.
(ftp://ftp.cs.berkeley.edu/ucb/tcl/)
(1995-11-09)

tk
networking The country code for Tokelau.
(1999-01-27)

TK-90X
computer A Brazilian clone, manufactured by Micro Digital, of the British Sinclair Research ZX Spectrum 8-bit microcomputer. It differed from the standard Spectrum by adding an Interface 2-compatible joystick interface, and extra BASIC commands to aid programming and graphics-editing. Because of these differences, it was slightly incompatible with the standard Spectrum.
A later model, the TK-95, which boasted an improved keyboard (similar to the Commodore 64's) and a more compatible ROM, was little more than a Timex TC2048 (another Spectrum clone) in disguise.
comp.sys.sinclair FAQ (http://www.kendalls.demon.co.uk/cssfaq/).
[ comp.sys.sinclair FAQ , D Burke M Fayzullin P Kendall et al, pub. Philip Kendall 1998]
(1998-11-09)

TK-95
TK-90X

T. Kohonen
person A researcher at the University of Helsinki who has been studying neural networks for many years with the idea of modelling as closely as possible the behaviour of biological systems. His name is commonly associated with a particular kind of neural network in which there are only two kinds of neurons (see McCulloch-Pitts), input and others. All the input neurons are connected to all others and the others are connected only to their other nearest neighbors. The training algorithm is a relatively simple one based on the geometric layout of the neurons, and makes use of simulated annealing.
(1994-10-19)

TK!Solver
Software Arts 1983. Numerical constraint-oriented language. The TK!Solver Book , M. Konopasek et al, McGraw-Hill 1984.

TL0
Thread Language Zero

TL1
Transaction Language 1.
A subset of ITU-T's MML from Bellcore, with simpler syntax. TL1 is similar to USL. It is used in communications between telephone operating systems and remote network test equipment.
[OTGR, TR-TSY-000439, section 12, Bellcore].
(1994-12-14)

TLA
Three-Letter Acronym

TLAs
At the last count, this dictionary gave expansions for 761 three-letter acronyms, a mere 4.3%, of the 26^3 = 17576 possible. Here's the grep command used:
egrep '^[A-Z][A-Z][A-Z]$' Dictionary | sort -u
Here they are:
AAP, ABC, ABI, ABP, ACA, ACE, ACK, ACL, ACM, ACP, ADL, ADM, ADS, ADT, AED, AEP, AES, AFJ, AFK, AFS, AGL, AIA, AID, AIX, AKC, AKL, ALC, ALF, ALM, ALP, AMD, AML, AMP, AMS, ANL, ANU, AOS, APA, APC, API, APL, APT, AQL, ARC, ARL, ARM, ARP, ARQ, ART, ASA, ASE, ASF, ASL, ASM, ASN, ASP, ATA, ATK, ATM, ATS, AUI, AUP, AVS, BAD, BAL, BAP, BBC, BBL, BBN, BBS, BCD, BCL, BCS, BDL, BEA, BER, BFI, BGP, BIP, BLT, BMF, BNF, BOF, BOS, BPS, BQS, BRB, BRI, BRS, BSD, BSI, BSL, BSS, BTW, BWQ, CAD, CAE, CAF, CAL, CAP, CAT, CBN, CBV, CCL, CCP, CCR, CCS, CDA, CDC, CDE, CDF, CDL, CDM, CDS, CEN, CFD, CFP, CGI, CGM, CHI, CID, CIF, CIL, CIM, CIS, CIX, CLM, CLP, CLR, CLU, CLX, CMA, CMC, CML, CMS, CMU, CMZ, CNC, CNI, COM, COS, CPI, CPL, CPS, CPU, CRC, CRL, CRT, CSL, CSM, CSO, CSP, CSU, CTC, CTI, CTL, CTY, CUA, CUL, CVS, CWI, DAA, DAG, DAS, DAU, DBA, DBC, DBH, DCA, DCE, DCG, DCL, DCT, DDE, DDL, DDM, DDN, DDT, DEA, DEC, DED, DEK, DES, DEX, DFA, DFC, DFD, DGL, DIN, DIP, DLG, DLL, DLM, DLP, DME, DML, DNF, DNS, DOE, DOF, DOL, DOS, DPB, DPL, DPS, DSA, DSE, DSL, DSM, DSP, DSS, DSU, DTD, DTE, DTP, DTS, DUA, DVI, DXF, EAG, ECL, ECP, EDA, EDI, EDL, EDU, EER, EFF, EFL, EGP, ELF, ELI, ELP, EMA, EML, EMX, ENQ, EOF, EOL, EOU, EPL, EPS, ERA, ERC, ERD, ESA, ESF, ESI, ESL, ESP, ETC, ETM, EXE, FAC, FAD, FAP, FAQ, FCP, FDT, FEA, FEL, FFP, FFT, FGL, FIX, FMQ, FMV, FNC, FOD, FPA, FPU, FQL, FRL, FSF, FSL, FSM, FSP, FTP, FUD, FYA, FYI, GAN, GAP, GAT, GCC, GCL, GCR, GCT, GDB, GEA, GEI, GFR, GHC, GIF, GIN, GIP, GKS, GLB, GLS, GLU, GMD, GNU, GOL, GOM, GPL, GPM, GPV, GPX, GRG, GSL, GSM, GUI, GVL, GWM, HCF, HCI, HCS, HDF, HDL, HDM, HEP, HLL, HOL, HPF, HPL, HQX, HSV, IAB, IAD, IAL, IAM, IAW, IBM, ICE, ICI, IDE, IDL, IEC, IEF, IEN, IFP, IFX, IGC, IGL, IGP, IHS, IIS, IIT, IMP, IMR, IMS, IPA, IPC, IPE, IPL, IPS, IPX, IQL, IRC, IRL, IRQ, ISA, ISE, ISF, ISL, ISO, ISP, ISV, ITS, ITU, IVY, JAZ, JCL, JPL, JRL, JRN, JSA, JTC, JTS, KAP, KBS, KCL, KEE, KFX, KIS, KMS, KRC, KRL, KRS, KSL, LAN, LAP, LAU, LAX, LBE, LBL, LCC, LCF, LCL, LCS, LDB, LDL, LDP, LDT, LEP, LER, LGN, LIS, LLC, LML, LNF, LOC, LOL, LOM, LOP, LPC, LPG, LPI, LPL, LPS, LPT, LSE, LSL, LTR, MAC, MAD, MAL, MAN, MAO, MAP, MAS, MBS, MCA, MCC, MCI, MCL, MCP, MCS, MDL, MFE, MHS, MIB, MIG, MIS, MIT, MIX, MJS, MLL, MML, MNP, MPG, MPL, MPV, MRS, MTS, MTU, MUD, MVC, MVS, NAG, NAK, NAS, NBS, NCD, NCS, NDL, NFA, NFS, NFT, NGL, NIC, NIH, NII, NIL, NIS, NLS, NMI, NOC, NPL, NQS, NSE, NSF, NSS, NTP, OBE, OBJ, OCL, OCR, OCS, ODA, ODC, ODI, ODP, ODT, OEM, OIC, OIL, OLC, OLE, OMA, OMF, OMG, OMT, ONC, OOA, OOD, OOF, OOP, OPS, ORB, OSA, OSE, OSF, OSI, OTI, OTT, OWL, PAD, PAL, PAT, PAW, PBD, PBM, PBX, PCA, PCF, PCI, PCL, PCN, PCS, PDA, PDF, PDL, PDP, PDS, PDU, PEM, PER, PEX, PFE, PFL, PGP, PIC, PIE, PIL, PIP, PIT, PMC, PML, POC, POE, POM, PPL, PPM, PPN, PPP, PRA, PRI, PRL, PSA, PSD, PSI, PSL, PSN, PTI, PTT, PUB, PVM, QAM, QBE, QNX, QPE, RAD, RAL, RAM, RCC, RCL, RCS, RDL, RDS, REC, RFC, RFE, RFT, RGB, RIP, RLF, RLL, RMS, RNF, RPC, RPG, RPI, RPL, RPT, RRS, RSA, RSI, RSL, RSN, RTF, RTI, RTL, RTM, RTT, SAA, SAC, SAL, SAP, SAS, SBM, SCC, SCI, SCL, SCO, SDE, SDF, SDH, SDL, SDM, SDS, SEA, SED, SEE, SEI, SEL, SEM, SEP, SET, SEX, SFL, SGI, SIA, SIG, SIL, SIR, SMG, SMI, SML, SMM, SMP, SNA, SOL, SOM, SOS, SPC, SPG, SPL, SPM, SPS, SPX, SQL, SRI, SRL, SRP, SSA, SSL, STB, STD, SYN, TAC, TAL, TAO, TBK, TCB, TCL, TCM, TCP, TDF, TDR, TEI, TET, TIA, TIP, TLA, TLB, TMG, TNX, TOK, TOP, TPL, TPS, TPU, TRO, TRS, TSO, TSP, TSR, TTL, TXL, UAN, UAW, UBD, UCB, UDP, UFO, UIL, UIS, ULP, UNI, URC, URI, URL, URN, USE, USL, USR, UTC, UTP, VAL, VAR, VAX, VDL, VDM, VEE, VEL, VGA, VHE, VIF, VLB, VME, VML, VMS, VPL, VSF, VSP, VSX, VTS, VUE, WAM, WAN, WCL, WEB, WFL, WRT, WSL, WTF, WTH, WWW, XDL, XDR, XIE, XNF, XNS, XON, XPC, XPG, XPL, XRN, XSB, XSI, XTI, XUI, XVT, XXX, YSM, ZAP, ZIF, ZIL, ZOG, ZUG
(1994-12-14)

TLB
Translation Look-aside Buffer

TLD
top-level domain

TLI
Transport Layer Interface

TL/I
language An intermediate language for Turing Machines.
[ Examples of Formal Semantics , D. Knuth in Symp on Semantics of Algorithmic Languages, E. Engeler ed, LNM 188, Springer 1971, pp. 212-235].
(1994-12-02)

T Lisp
See T.

TM
1. Turing Machine.
2. A formal database specification language.
[Jargon File]

tm
networking The country code for Turkmenistan.
Heavily used for vanity domains because it looks like the abbreviation for trademark .
(1999-01-27)

(TM)
(Trademark) An ASCII rendition of the trademark-superscript symbol, appended to phrases that the author feels should be recorded for posterity.
It is sometimes used ironically as a form of protest against the recent spate of software patents, algorithm patents and look and feel lawsuits.
[Jargon File]
(1994-12-02)

TMDL
Target-Machine Description Language

TMG
TransMoGrifier.
An early language for writing recursive descent compilers. It was macroed from the IBM 1604 to the IBM 709 to the IBM 7094 to the GE635, where it was used by McIlroy and Morris to write the EPL compiler for Multics.
[ TMG - A Syntax-Directed Compiler , R.M. McClure, Proc ACM 20th Natl Conf (1965)].
[Sammet 1969, p.636].
(1994-12-02)

TMRC
/tmerk'/ The Tech Model Railroad Club at MIT, one of the wellsprings of hacker culture. The 1959 Dictionary of the TMRC Language compiled by Peter Samson included several terms that became basics of the hackish vocabulary (see especially foo, mung, and frob).
By 1962, TMRC's legendary layout was already a marvel of complexity (and has grown in the thirty years since; all the features described here are still present). The control system alone featured about 1200 relays. There were scram switches located at numerous places around the room that could be thwacked if something undesirable was about to occur, such as a train going full-bore at an obstruction. Another feature of the system was a digital clock on the dispatch board, which was itself something of a wonder in those bygone days before cheap LEDS and seven-segment displays. When someone hit a scram switch the clock stopped and the display was replaced with the word FOO ; at TMRC the scram switches are therefore called foo switches .
Steven Levy, in his book Hackers , gives a stimulating account of those early years. TMRC's Power and Signals group included most of the early PDP-1 hackers and the people who later bacame the core of the MIT AI Lab staff. Thirty years later that connection is still very much alive, and this dictionary accordingly includes a number of entries from a recent revision of the TMRC dictionary (via the Hacker Jargon File).
[Jargon File]

TMRCie
/tmerk'ee/, (MIT) A denizen of TMRC.

TMS 9900
One of the first true 16-bit microprocessors, released by Texas Instruments in June 1976 (the first are probably National Semiconductor IMP-16 or AMD-2901 bit slice processors in 16-bit configuration). It was designed as a single chip version of the TI 990 minicomputer series, much like the Intersil 6100 was a single chip PDP-8, and the Fairchild 9440 and Data General mN601 were both one chip versions of Data General's Nova. Unlike the IMS 6100, however, the TMS 9900 had a mature, well thought out design.
It had a 15-bit address space and two internal 16 bit registers. One unique feature was that all user registers were actually kept in memory - this included stack pointers and the program counter. A single workspace register pointed to the 16 register set in RAM, so when a subroutine was entered or an interrupt was processed, only the single workspace register had to be changed - unlike some CPUs which required dozens or more register saves before acknowledging a context switch.
This was feasible at the time because RAM was often faster than the CPUs. A few modern designs, such as the INMOS transputer, use this same design using caches or rotating buffers, for the same reason of faster context switches. Other chips of the time, such as the 650x series had a similar philosophy, using index registers, but the TMS 9900 went the farthest in this direction.
That wasn't the only positive feature of the chip. It had good interrupt handling features and very good instruction set. Serial I/O was available through address lines. In typical comparisons with the Intel 8086, the TMS9900 had smaller and faster programs. The only disadvantage was the small address space and need for fast RAM.
Despite very poor support from Texas Instruments, the TMS 9900 had the potential at one point to surpass the Intel 8086 in popularity.
(1994-11-30)

tn
networking The country code for Tunisia.
(1999-01-27)

tn3270
A program, similar to telnet, used to connect to remote IBM mainframe hosts, many of which do not understand telnet. The program emulates a 3270-type terminal.
For many tn3270 versions, the clear screen function is activated by typing Control-Z. When logged on to an IBM host and HOLDING or MORE... appears at the lower right corner of the screen, the clear screen function must be entered to display the next screen. tn3270 emulations usually include function key definitions.
(1994-11-03)

TNC
hardware A threaded version of a BNC.
(1996-12-21)

TNSTAAFL
TANSTAAFL

TNX
chat Thanks. Also TNX 1.0E6 or TNXE6 - thanks a million.
(1996-05-19)

TNXE6
Thanks a million. E is used in many programming languages to separate the mantissa and exponent of a floating-point constant so a number ending in E6 means times ten to the power six , i.e. times a million.

to
networking The country code for Tonga.
Heavily used for vanity domains because it looks like the English word to .
(1999-01-27)

to a first approximation
1. When one is doing certain numerical computations, an approximate solution may be computed by any of several heuristic methods, then refined to a final value. By using the starting point of a first approximation of the answer, one can write an algorithm that converges more quickly to the correct result.
2. In jargon, a preface to any comment that indicates that the comment is only approximately true. The remark To a first approximation, I feel good might indicate that deeper questioning would reveal that not all is perfect (e.g. a nagging cough still remains after an illness).
[Jargon File]

toast
jargon 1. Any completely inoperable system or component, especially one that has just crashed and burned: Uh, oh ... I think the serial board is toast.
2. To cause a system to crash accidentally, especially in a manner that requires manual rebooting. Rick just toasted the firewall machine again.
Compare fried.
(1995-05-01)

toaster
jargon 1. The archetypal really stupid application for an embedded microprocessor controller; often used in comments that imply that a scheme is inappropriate technology (but see elevator controller). DWIM for an assembler? That'd be as silly as running Unix on your toaster!
2. A very, very dumb computer. You could run this program on any dumb toaster.
See bitty box, Get a real computer!, toy, beige toaster.
3. A Macintosh, especially the Classic Mac. Some hold that this is implied by sense 2.
4. A peripheral device. I bought my box without toasters, but since then I've added two boards and a second disk drive .
This is not usually to be taken literally but, to show off the expansion capabilities of the Risc PC, Acorn Computers Ltd. built a seven-slice machine (which they called the rocket-ship ) and installed every imaginable peripheral. In a spare drive bay of the top slice they installed a toaster. This machine was exhibited at various shows where it attracted attention by occasionally ejecting a pizza.
[Jargon File]
(1997-07-18)

toasternet
networking 1. A low cost, low tech, publicly accessible local community network. This is probably an extension of the term toaster used to mean a small, cheap, slow computer.
community networks (gopher://gopher.well.sf.ca.us/00/Community/communets/about.nets).
2. The title of some informal notes on Internet addressing, ( Toasternet Part I and II ), circulated on the IETF mailing list during November 1991 and March 1992.
Subsequent work was published in June 1993 in RFC 1475 and RFC 1476 and the CATNIP Internet-Draft by Robert L. Ullmann
(1995-05-01)

to a zeroth approximation
jargon (From to a first approximation ) A *really* sloppy approximation; a wild guess.
Compare social science number.
[Jargon File]
(1994-12-12)

toeprint
jargon A footprint of especially small size.
[Jargon File]
(1994-12-12)

toggle
To change a bit from whatever state it is in to the other state; to change from 1 to 0 or from 0 to 1. This comes from toggle switches , such as standard light switches, though the word toggle actually refers to the mechanism that keeps the switch in the position to which it is flipped rather than to the fact that the switch has two positions. There are four things you can do to a bit: set it (force it to be 1), clear (or zero) it, leave it alone, or toggle it.
[Jargon File]
(1994-12-12)

TOK
Referred to in Ursula K. LeGuin's Always Coming Home. Seems to be similar to the original BASIC.
(1994-12-12)

token
1. grammar A basic, grammatically indivisible unit of a language such as a keyword, operator or identifier. Compare: lexeme.
2. convention (Or pumpkin ) An abstact concept passed between cooperating agents to ensure synchronised access to a shared resource. Such a token is never duplicated or destroyed (unless the resource is) and whoever has the token has exclusive access to the resource it controls. See for example token ring.
If several programmers are working on a program, one programmer will have the token at any time, meaning that only he can change the program whereas others can only read it. If someone else wants to modify it he must first obtain the token.
(1999-02-23)

token bus
networking (IEEE 802.4) A networking protocol which mediates access to a bus topology network as though it were a token ring. This eliminates the collisions found in carrier sense collision detect protocols. Nodes can be configured to pass the token in any order, not necessarily related to their physical ordering on the bus. The token is sent from one node to its successor in the logical ring by broadcast on the bus and is ignored by the other nodes.
(1996-12-13)

token ring
A computer local area network arbitration scheme in which conflicts in the transmission of messages are avoided by the granting of tokens which give permission to send. A station keeps the token while transmitting a message, if it has a message to transmit, and then passes it on to the next station.
Often, Token Ring is used to refer to the IEEE 802.5 token ring standard, which is the most common type of token ring.
Usenet newsgroup: news:comp.dcom.lans.token-ring.

Tom Knight
person A noted hacker at MIT.
(http://www.ai.mit.edu/people/tk/tk.html)
(1996-12-12)

tone
brightness

Tony Hoare
Anthony Hoare

tool
1. tool A program used primarily to create, manipulate, modify, or analyse other programs, such as a compiler or an editor or a cross-referencing program. Opposite: app, operating system.
2. A Unix application program with a simple, transparent (typically text-stream) interface designed specifically to be used in programmed combination with other tools (see filter, plumbing).
3. jargon (MIT: general to students there) To work; to study (connotes tedium). The TMRC Dictionary defined this as to set one's brain to the grindstone . See hack.
4. jargon, person (MIT) A student who studies too much and hacks too little. MIT's student humour magazine rejoices in the name Tool and Die .
[Jargon File]
(1996-12-12)

tool bar
operating system A common graphical user interface component, consisting of a permanently visible row of button icons which, when clicked with the mouse, cause the program to perform some action such as printing the current document or changing the mode of operation.
The tool bar buttons often duplicate functions accessible via menus but are easier to use since they are permanently visible. A typical use would be in a paint program where the tool bar allows the users to select one of the various painting tools - brush, pencil, bucket etc.
Some application programs under some operating systems may allow the user to customise the functions accessible via toolbars, in others the choice is fixed by the programmer.
(2000-02-09)

toolbook
tool A Microsoft Windows utility to make easy-to-use applications with a graphical user interface. E.g. a guided tour of some software.
(1995-03-14)

Toolbuilder
Tool Builder Kit

Tool Builder Kit
tool (TBK) A product from IPSYS which allows users to develop CASE tools appropriate to any software engineering methodology.
(1996-05-08)

Tool Command Language
language /tik*l/ (Tcl) An interpreted string processing language for issuing commands to interactive programs, developed by John Ousterhout at UCB. Each application program can extend tcl with its own set of commands.
Tcl is like a text-oriented Lisp, but lets you write algebraic expressions for simplicity and to avoid scaring people away. Though originally designed to be a scripting language rather than for serious programming, Tcl has been used successfully for programs with hundreds of thousands of lines.
It has a peculiar but simple syntax. It may be used as an embedded interpreter in application programs. It has exceptions and packages (called libraries), name-spaces for procedures and variables, and provide/require. It supports dynamic loading of object code. It is eight-bit clean. It has only three variable types: strings, lists and associative arrays but no structures.
Tcl and its associated GUI toolkit, Tk run on all flavors of Unix, Microsoft Windows, Macintosh and VMS. Tcl runs on the Amiga and many other platforms.
Current version: 8.0.3, as of 1998-09-25.
See also expect (control interactive programs and pattern match on their output), Cygnus Tcl Tools, [incr Tcl] (adds classes and inheritence to Tcl), Scriptics (John Ousterhout's company that is the home of Tcl development and the TclPro tool suite), Tcl Consortium (a non-profit agency dedicated to promoting Tcl), tclhttpd (an embeddable Tcl-based web server), tclx (adds many commands to Tcl), tcl-debug.
comp.lang.tcl FAQ at MIT (ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/tcl-faq/) or at purl.org (http://www.purl.org/NET/Tcl-FAQ/).
Scriptics downloads (http://www.scriptics.com/software/download.html). Kanji (ftp://srawgw.sra.co.jp/pub/lang/tcl/jp/).
Usenet newsgroups: news:comp.lang.tcl.announce, news:comp.lang.tcl.
[ Tcl: An Embeddable Command Language , J. Ousterhout, Proc 1990 Winter USENIX Conf].
(1998-11-27)

TOOLS
Technology of Object-Oriented Languages and Systems

toolsmith
The software equivalent of a tool-and-die specialist; one who specialises in making the tools with which other programmers create applications. Many hackers consider this more fun than applications per se; to understand why, see uninteresting. Jon Bentley, in the Bumper-Sticker Computer Science chapter of his book More Programming Pearls , quotes Dick Sites from DEC as saying I'd rather write programs to write programs than write programs .
[Jargon File]

TOP
Technical/Office Protocol

top-down design
programming (Or stepwise refinement ). The software design technique which aims to describe functionality at a very high level, then partition it repeatedly into more detailed levels one level at a time until the detail is sufficient to allow coding. This approach to software design probably originated at IBM, and grew out of structured programming practices.
(1996-08-04)

Top-Down Model
programming A method for estimating the overall cost and effort of the proposed software project from global properties of the project. The total cost and schedule is partitioned into components for planning purposes.
(1996-05-29)

topic drift
messaging Term used on GEnie, Usenet and other electronic fora to describe the tendency of a thread to drift away from the original subject of discussion (and thus, from the Subject header of the originating message), or the results of that tendency.
Often used in gentle reminders that the discussion has strayed off any useful track. I think we started with a question about Niven's last book, but we've ended up discussing the sexual habits of the common marmoset. Now *that's* topic drift!
[Jargon File]
(1996-05-29)

topic group
Synonym forum.
[Jargon File]

topic thread
[Usenet, GEnie, CompuServe] A more or less continuous chain of postings on a single topic. To follow a thread is to read a series of Usenet postings sharing a common subject or (more correctly) which are connected by Reference headers. The better newsreaders can present news in thread order automatically.

top-level domain
networking The last and most significant component of an Internet fully qualified domain name, the part after the last . . For example, host wombat.doc.ic.ac.uk is in top-level domain uk (for United Kingdom).
Every other country has its own top-level domain, including .us for the U.S.A. Within the .us domain, there are subdomains for the fifty states, each generally with a name identical to the state's postal abbreviation. These are rarely used however. Within the .uk domain, there is a .ac.uk subdomain for academic sites and a .co.uk domain for commercial ones. Other top-level domains may be divided up in similar ways.
In the US and some other countries, the following top-level domains are used much more widely than the country code:
.com - commercial bodies .edu - educational institutions .gov - U. S. government .mil - U. S. armed services .net - network operators .org - other organisations
Since the rapid commercialisation of the Internet in the 1990s the .com domain has become particularly heavily populated with every company trying to register its company name as a subdomain of .com, e.g. netscape.com so as to make it easy for customers to guess or remember the URL of the comany's home page.
United Nations entities use the domain names of the countries where they are located. The UN headquarters facility in New York City, for example, is un.org.
Several new top-level domains are about to be added (Oct 1997): .nom - individual people .rec - recreational organisations .firm - businesses such as law, accounting, engineering .store - commercial retail companies .ent - entertainment facilities and organisations
(1997-10-08)

topology
1. mathematics The branch of mathematics dealing with continuous transformations.
2. networking Which hosts are directly connected to which other hosts in a network. Network layer processes need to consider the current network topology to be able to route packets to their final destination reliably and efficiently.
(2001-03-29)

TOPS-10
/tops-ten/ DEC's proprietary OS for the fabled PDP-10 machines, long a favourite of hackers but now effectively extinct. A fountain of hacker folklore. See also ITS, TOPS-20, TWENEX, VMS, operating system. TOPS-10 was sometimes called BOTS-10 (from bottoms-ten ) as a comment on the inappropriateness of describing it as the top of anything.
[Jargon File]

TOPS-20
TWENEX

Tornado
programming The software development environment previously distributed with VxWorks.
(1996-11-29)

Toronto Euclid
language The standard dialect of Euclid, as compared to Ottawa Euclid.
(1996-11-29)

TOS
operating system /toss/
1. IBM's Tape Operating System.
2. The operating system of the Atari ST range of computers. This range included the 512ST, 1040ST and the F, FM and E variations (e.g.1040STE). Later, 32-bit machines (TT, Falcon030 and MegaSTE) were developed using a new version of TOS, called MultiTOS which was based on MinT.
TOS went through several revisions starting initially as a derivative of CP/M, but developing into a remarkably complete and flexible operating system. Features include: a flat memory model, MS-DOS-compatible disk format and support for MIDI and SCSI (in later versions). TOS was designed to run Atari's version of the GEM GUI.
There is some argument as to what TOS stands for, the main candidates being Tramiel Operating System (named after Atari's head at the time) or simply The Operating System .
3. networking Terms Of Service.
4. Star Trek The Original Series as opposed to ST-TNG or ST-DS9.
(1999-04-02)

TOSS
Terminal Oriented Social Science

total function
mathematics A function which is defined for all arguments of the appropriate type. The opposite is a partial function.
(1997-01-10)

totally ordered
mathematics Having a total ordering.
(1997-01-10)

totally ordered set
mathematics A set with a total ordering.

total ordering
mathematics A relation R on a set A which is a partial ordering; i.e. it is reflexive (xRx), transitive (xRyRz = xRz) and antisymmetric (xRyRx = x=y) and for any two elements x and y in A, either x R y or y R x.
See also equivalence relation, well-ordered.
(1995-02-16)

toto
programming /toh-toh'/ The default scratch file name among French-speaking programmers - in other words, a francophone foo. The phonetic mutations titi , tata , and tutu canonically follow toto , analogously to bar, baz and quux in English.
[Jargon File]
(1995-04-18)

touchpad
hardware (Or trackpad ) A stationary pointing device used mainly on laptop computers. Touchpads provide a small, flat surface that you slide your finger over using the same movements as you would a mouse. They were originally developed to provide a more natural and intuitive connection for the computer user than the mouse.
Touchpads use a principle called coupling capacitance, and requires a conductive pointer such as a finger. They contain a two-layer grid of electrodes which are connected to an integrated circuit (IC) mounted under the pad. The upper layer contains vertical electrode strips while the lower layer is composed of horizontal electrode strips. Capacitance from each of the horizontal electrodes to each of the vertical electrodes is measured by the IC. A finger near the intersection of two electrodes modifies the capacitance between them, since a finger has very different dielectric properties than air. The position of the finger is precisely determined based on these changes at various locations.
According to one correspondent, you can use any part of your body, which is not surprising, but not a McDonalds Chicken McCrispy. You can use reheated Pizza Hut Christmas Pizza though.
Synaptics (http://www.synaptics.com/product.htm).
(2000-11-01)

touch screen
hardware An input device that allows user to interact with computer by touching the display screen.
Often this uses beams of infrared light that are projected across the screen surface. Interrupting the beams generates an electronic signal identifying the location of the screen. Software interprets the signal and performs the required operation.
(1995-04-13)

tourist
jargon A guest on the system, especially one who generally logs in over a network from a remote location for comm mode, electronic mail, games and other trivial purposes. A tourist is one step below a luser.
Hackers often spell this turist, perhaps by some sort of tenuous analogy with luser (this also expresses the ITS culture's penchant for six-letterisms).
Compare twink, read-only user.
[Jargon File]
(1995-03-10)

touristic
jargon Having the quality of a tourist.
[Jargon File]
(1995-03-10)

tourist information
Information in an on-line display that is not immediately useful, but contributes to a viewer's gestalt of what's going on with the software or hardware behind it. Whether a given piece of info falls in this category depends partly on what the user is looking for at any given time. The bytes free information at the bottom of an MS-DOS dir display is tourist information; so (most of the time) is the TIME information in a Unix ps(1) display.
[Jargon File]

Tower Technology Corporation
A company, established in 1992 by the merger of two OOT companies, with the intention of supplying high performance Eiffel compilation systems. Tower provides development tools, reusable class libraries, and services supporting large scale system development.
(http://www.cm.cf.ac.uk/Tower/)
E-mail: tower@twr.com (orders and inquiries), outlook@twr.com (The Eiffel Outlook Journal).
Telephone: +1 (512) 452 9455 (8:30 to 5:30 CST business days). Fax: +1 (512) 452 1721. Sales +1 (800) 285-5124 (Free, USA and Canada only).
Address: Tower Technology, 1501 W. Koenig Lane, Austin, TX 78756, USA.
(1994-12-12)

toy
A computer system; always used with qualifiers.
1. nice toy : One that supports the speaker's hacking style adequately.
2. just a toy : A machine that yields insufficient computrons for the speaker's preferred uses. This is not condemnatory, as is bitty box; toys can at least be fun. It is also strongly conditioned by one's expectations; Cray XMP users sometimes consider the Cray-1 a toy , and certainly all RISC boxes and mainframes are toys by their standards. See also Get a real computer!.
[Jargon File]

Toy/Ada
language A compiler for a subset of Ada, written in SML/NJ by Amit Bhatiani at Rose-Hulman University.
(ftp://master.cs.rose-hulman.edu/pub/)
(1992-04-08)

toy language
language A language useful for instructional purposes or as a proof-of-concept for some aspect of computer-science theory, but inadequate for general-purpose programming. Bad Things can result when a toy language is promoted as a general purpose solution for programming (see bondage-and-discipline language); the classic example is Pascal. Several moderately well-known formalisms for conceptual tasks such as programming Turing Machines also qualify as toy languages in a less negative sense.
See also MFTL.
[Jargon File]
(1995-05-09)

toy problem
[AI] A deliberately oversimplified case of a challenging problem used to investigate, prototype, or test algorithms for a real problem. Sometimes used pejoratively. See also gedanken, toy program.
[Jargon File]

toy program
programming 1. A trivial program that can be readily comprehended.
2. A program for which the effort of initial coding dominates the costs through its life cycle.
See also noddy.
(1996-05-19)

tp
networking The country code for East Timor.
(1999-01-27)

TPA
Transient Program Area

TPF
Transaction Processing Facility

TP/IX
networking, protocol An Internet protocol, described in RFC 1475, which changes TCP and UDP headers to give a 64-bit IP address, a 32-bit port number, and a 64 bit sequence number.
(1995-04-03)

TPL
1. Table Producing Language. The Bureau of Labor Statistics Table Producing Language (TPL) , R.C. Mendelssohn, Proc ACM Annual Conf (1974).
2. Fleming Nielson. A concurrent functional language.
3. Terminal Programming Language. Texas Inst, late 70's. Used on the TI-990/1 Small Business Computer and the TI-771 Intelligent Terminal.

TPO
twisted pair only

TPS
Tree Pruning System. An Adaptive Tree Pruning System: A Language for Programming Heuristic Tree Searches , E.W. Kozdrowicki, Proc ACM 23rd Natl Conf 1968.

tptc
A Turbo Pascal to Turbo C translator. Comes with full source.
(ftp://wuarchive.wustl.edu/mirrors/msdos/turbopas/tptc17*.zip)

TPU
Text Processing Utility

TPX
Terminal Productivity eXecutive

tr
networking The country code for Turkey.
(1999-01-27)

TRAC
Text Reckoning And Compiling

traceroute
A (typically Unix) TCP/IP utility which allows the user to determine the route packets are taking to a particular host. Traceroute works by increasing the time to live value of packets and seeing how far they get, until they reach the given destination; thus, a lengthening trail of hosts passed through is built up.

trace scheduling
processor A method of controlling and coordinating the operation of multiple hardware elements of a Very Long Instruction Word processor. It was developed by Josh Fisher at the now-defunct Multiflow Computer Corporation
[Details?]
(1995-03-01)

track
storage The part of a disk which passes under one read/write head while the head is stationary. The number of tracks on a disk surface therefore corresponds to the number of different radial positions of the head(s). The collection of all tracks on all surfaces at a given radial position is known a cylinder and each track is divided into sectors.
(1997-07-15)

track ball
tracker ball

tracker ball
hardware A pointing device consisting of a ball housed in a socket containing sensors to detect rotation of the ball about two axes - like an upside-down mouse. The user rolls the ball with his thumb or the palm of his hand to move a cursor. Tracker balls are common on CAD workstations for ease of use and on modern portable computers, where there may be no desk space on which to use a mouse. Some clip onto the side of the keyboard and have integral buttons which have the same function as mouse buttons.
(1996-08-04)

tracking
text The spacing between characters in a line of text. This is defined when a font is designed but can often be altered in order to change the appearance of the text or for special effects.
Tracking should not be confused with kerning which deals with the spacing between certain pairs of characters.
See also leading.
(1996-06-07)

trackpad
touchpad

Trackpoint
hardware (Or nipple ) The pointing device used on Toshiba, AST and IBM notebook computers. The Trackpoint is a small knob found in the middle of the keyboard. It works like a very short joystick - pressing it toward or away from you or from side to side moves the pointer on the screen. This takes up virtually no extra room on the box or the work area and also requires minimal movement of the hands from the keyboard.
(http://www.research.ibm.com/mathsci/cmc/trackpoint.htm).
(1999-07-21)

tractor feed
sprocket feed

TrafoLa
language A functional programming language designed in the PROSPECTRA ESPRIT project to support declarative specification of program transformations. It provides higher-order pattern matching on expression trees with backtracking.
[Heckmann88].
(1996-06-07)

Trafola-H
A specification language for program transformations. Functional, statically typed, polymorphic, with extended constructs for pattern-matching. Trafola-H Reference Manual , R. Heckmann et al, U Saarlandes, Saarbrucken 1991.

trampoline
An incredibly hairy technique, found in some HLL and program-overlay implementations (e.g. on the Macintosh), that involves on-the-fly generation of small executable (and, likely as not, self-modifying) code objects to do indirection between code sections. These pieces of live data are called trampolines . Trampolines are notoriously difficult to understand in action; in fact, it is said by those who use this term that the trampoline that doesn't bend your brain is not the true trampoline. See also snap.
[Jargon File]

TRANDIR
TRANslation DIRector. A language for syntax-directed compiling. Sammet 1969, p.640.

TRANQUIL
1966. ALGOL-like language with sets and other extensions, for the Illiac IV. TRANQUIL: A Language for an Array Processing Computer , N.E. Abel et al, Proc SJCC 34 (1969).

TRANS
TRAffic Network Simulation Language. A Model for Traffic Simulation and a Simulation Language for the General Transportation Problem , Proc FJCC 37 (1970).

transaction
A unit of interaction with a DBMS or similar system. It must be treated in a coherent and reliable way independent of other transactions. See atomic.

Transaction Application Language
language, Tandem (TAL) Not Tandem Application Language . A block-structured, procedural language optimised for use on Tandem hardware. TAL is a cross between C and Pascal and is the primary system programming language on Tandem computers. Tandem has no assembler and originally had no C or Pascal.
[Was TAL derived from HP's System Programming Language?]
(2001-07-09)

Transaction Processing Facility
operating system (TPF) A real-time mainframe operating system released by IBM around 1976. TPF is particularly suited to organisations dealing in very high I/O message switching and large global networks. Current users include British Airways (reservations), VISA International (authorisations), Holiday Inn, and Quantas.
TPF was traditionally a 370/Assembler environment although the latest, release 4.1, contains C. Formerly known as ACP (Airline Control Program), it was renamed TPF to suggests its greater scope.
It is common for TPF sites to use IBM's MVS and VM operating systems for off-line processing.
(1996-08-27)

transceiver
Transmitter-receiver. The physical device that connects a host interface (e.g. an Ethernet controller) to a local area network. Ethernet transceivers contain electronics that apply signals to the cable and sense other host's signals and collisions. See also CSMA/CD.

TRANSCODE
Early system on Ferut computer. Listed in CACM 2(5):16 (May 1959).

transducer
1. A device for converting sound, temperature, pressure, light or other signals to or from an electronic signal.
2. Finite State Machine.
(1995-02-15)

transfer syntax
networking, protocol The actual representation of data as it is transmitted over a network (as opposed to abstract syntax).
(1998-05-19)

transfinite induction
mathematics Induction over some (typically large) ordinal.
(1995-03-30)

transformation
program transformation

transient
software A software object with a short and limited lifetime which is not saved for later reuse.
(1998-04-19)

Transient Program Area
operating system (TPA) The region of memory CP/M set aside for user programs.
(2001-11-01)

transistor
electronics A three terminal semiconductor amplifying device, the fundamental component of most active electronic circuits, including digital electronics. The transistor was invented on 1947-12-23 at Bell Labs.
There are two kinds, the bipolar transistor (also called the junction transistor), and the field effect transistor (FET).
Transistors and other components are interconnected to make complex integrated circuits such as logic gates, microprocessors and memory.
(1995-10-05)

Transistor-Transistor Logic
(TTL) A common semiconductor technology for building discrete digital logic integrated circuits. It originated from Texas Instruments in 1965.
There have been several series of TTL logic:
7400:10 ns propagation time, 10 mW/gate power consumption, obsolete;
74L00:Low power: higher resistances, less dissipation (1 mW), longer propagation time (30 ns);
74H00: High power: lower resistances, more dissipation: less sensitivity for noise;
74S00: Schottky-clamped: faster switching (3 ns, 19 mW) by using Schottky diodes to prevent the transistors from saturation;
74LS00: Low power, Schottky-clamped (10 ns, 2 mW);
74AS00: Advanced Schottky: faster switching, less
dissipation, (1.5 ns, 10 mW);
74ALS00: Advanced Low power Schottky (4 ns, 1.3 mW).
For each 74xxx family there is a corresponding 54xxx family. The 74 series are specified for operation at 0 - 70 C whereas the 54 (military) series can operate at -55 - 125 C
See also CMOS, ECL.

TRANSIT
Subsystem of ICES. Sammet 1969, p.616.

transitive
A relation R is transitive if x R y y R z = x R z. Equivalence relations, pre-, partial and total orders are all transitive.

transitive closure
The transitive closure R* of a relation R is defined by
x R y = x R* y x R y and y R* z = x R* z
I.e. elements are related by R* if they are related by R directly or through some sequence of intermediate related elements.
E.g. in graph theory, if R is the relation on nodes has an edge leading to then the transitive closure of R is the relation has a path of zero or more edges to . See also Reflexive transitive closure.

transit network
A network which passes traffic between other networks in addition to carrying traffic for its own hosts. It must have paths to at least two other networks.
See also backbone, stub.
(1995-01-30)

Translation Look-aside Buffer
storage, architecture (TLB) A table used in a virtual memory system, that lists the physical address page number associated with each virtual address page number. A TLB is used in conjunction with a cache whose tags are based on virtual addresses. The virtual address is presented simultaneously to the TLB and to the cache so that cache access and the virtual-to-physical address translation can proceed in parallel (the translation is done on the side ). If the requested address is not cached then the physical address is used to locate the data in main memory. The alternative would be to place the translation table between the cache and main memory so that it will only be activated once there was a cache miss.
(1995-01-30)

Transmission Control Protocol
networking, protocol (TCP) The most common transport layer protocol used on Ethernet and the Internet. It was developed by DARPA.
TCP is the connection-oriented protocol built on top of Internet Protocol (IP) and is nearly always seen in the combination TCP/IP (TCP over IP). It adds reliable communication and flow-control and provides full-duplex, process-to-process connections.
TCP is defined in STD 7 and RFC 793.
User Datagram Protocol is the other, connectionless, protocol that runs on top of IP.
(2001-06-14)

transparent
1. jargon Not visible, hidden; said of a system which functions in a manner not evident to the user. For example, the Domain Name System transparently resolves a fully qualified domain name into an Internet address without the user being aware of it.
Compare this to what Donald Norman (http://www.atg.apple.com/Norman/) calls invisibility , which he illustrates from the user's point of view:
You use computers when you use many modern automobiles, microwave ovens, games, CD players and calculators. You don't notice the computer because you think of yourself as doing the task, not as using the computer. [ The Design of Everyday Things , New York, Doubleday, 1989, p. 185].
2. theory Fully defined, known, predictable; said of a sub-system in which matters generally subject to volition or stochastic state change have been chosen, measured, or determined by the environment. Thus for transparent systems, output is a known function of the inputs, and users can both predict the behaviour and depend upon it.
(1996-06-04)

transparent audio coding
audio, compression A lossy audio compression algorithm is transparent if the original and decoded signal are indistinguishable to the human ear. The bit rate depends on the codec and the audio material. Some codecs (e.g. AAC, MP3) are optimized for transparent coding at a low data rate, others (e.g. VQF, MP3Pro, AAC+SBR, WMA) for distinguisable but pleasant reproduction at lower bit rates.
Typical data rates in kbps for different codecs are:
MP1 288-320
MP2 224-256
MP3 160-224
MPEG-2 AAC 128-160
MPEG-4 AAC 112-144
MPEGplus 160-200
(2001-12-23)

Transport Driver Interface
networking (TDI) Developed by SUN, IBM, and Microsoft (and others?), the TDI is a software interface between the protocols and application programing interface layers of the Windows NT network model.
(1997-11-05)

transport layer
networking (Or host-host layer ) The middle layer in the OSI seven layer model. The transport layer determines how to use the network layer to provide a virtual error-free, point to point connection so that host A can send messages to host B and they will arrive un-corrupted and in the correct order. It establishes and dissolves connections between hosts. It is used by the session layer.
An example transport layer protocol is Transmission Control Protocol (TCP).
OSI documents: ITU Rec. X.214 (ISO 8072), ITU Rec. X.224 (ISO 8073).
(1997-12-07)

Transport Layer Interface
networking, programming (TLI, or Transport Level Interface ) A protocol-independent interface for accessing network facilities, modelled after the ISO transport layer (level 4), that first appeared in Unix SVR3.
TLI is defined by SVID as transport mechanism for networking interfaces, in preference to sockets, which are biased towards IP and friends. A disavantage is that a process cannot use read/write directly, but has to use backends using stdin and stdout to communicate with the network connection. TLI is implemented in SVR4 using the STREAMS interface. It adds no new system calls, just a library, libnsl_s.a. The major functions are t_open, t_bind, t_connect, t_listen, t_accept, t_snd, t_rcv, read, write.
According to the Solaris t_open man page, XTI (X/OPEN Transport Interface) evolved from TLI, and supports the TLI API for compatibility, with some variations on semantics.
(1999-06-10)

Transport Level Interface
Transport Layer Interface

Transport Service Access Point
networking (TSAP) Part of the OSI IP Presentation Addressing schema.
A TSAP identifes the service access point between the session layer and the transport layer.
(1999-08-01)

transputer
processor, parallel (Note lower case) A family of microprocessors from Inmos with interprocessor links, programmable in occam.
[More details?]
(1994-11-18)

TRANS-USE
Early system on IBM 1103 or 1103A. Listed in CACM 2(5):16 (May 1959).

trap
1. A program interrupt, usually an interrupt caused by some exceptional situation in the user program. In most cases, the OS performs some action, then returns control to the program.
2. To cause a trap. These instructions trap to the monitor. Also used transitively to indicate the cause of the trap. The monitor traps all input/output instructions.
This term is associated with assembler programming ( interrupt or exception is more common among HLL programmers) and appears to be fading into history among programmers as the role of assembler continues to shrink. However, it is still important to computer architects and systems hackers (see system, sense 1), who use it to distinguish deterministically repeatable exceptions from timing-dependent ones (such as I/O interrupts).
[Jargon File]

trap door
Or trapdoor 1. back door.
2. trap-door function

trap-door function
cryptography, mathematics A special class of one-way function, which is reversible if you know a certain secret associated with the function.
(http://www.rsasecurity.com/rsalabs/faq/2-3-2.html). (http://memento.ieor.berkeley.edu/~jun/knapsack/Review/OverviewPK.html). (http://www.cs.rpi.edu/~goldberg/01-s/ca-01/crypto/node1.html).
(2001-05-10)

trash
To destroy, e.g. the contents of a data structure. The most common of the family of near-synonyms including mung, mangle, and scribble.
[Jargon File]
(1994-11-03)

Trash-80
Derogatory name for Tandy's TRS-80.
(1994-11-03)

traveling salesman problem
spelling US spelling of travelling salesman problem.
(1996-12-13)

travelling salesman problem
algorithm, complexity (TSP or shortest path , US: traveling ) Given a set of towns and the distances between them, determine the shortest path starting from a given town, passing through all the other towns and returning to the first town.
This is a famous problem with a variety of solutions of varying complexity and efficiency. The simplest solution (the brute force approach) generates all possible routes and takes the shortest. This becomes impractical as the number of towns, N, increases since the number of possible routes is !(N-1). A more intelligent algorithm (similar to iterative deepening) considers the shortest path to each town which can be reached in one hop, then two hops, and so on until all towns have been visited. At each stage the algorithm maintains a frontier of reachable towns along with the shortest route to each. It then expands this frontier by one hop each time.
Pablo Moscato's TSP bibliography (http://www.densis.fee.unicamp.br/~moscato/TSPBIB_home.html). Fractals and the TSP (http://www.ing.unlp.edu.ar/cetad/mos/FRACTAL_TSP_home.html).
(1998-03-24)

traversal
data Processing nodes in a graph one at a time, usually in some specified order. Traversal of a tree is recursively defined to mean visiting the root node and traversing its children. Visiting a node usually involves transforming it in some way or collecting data from it.
In pre-order traversal , a node is visited _before_ its children. In post-order traversal, a node is visited _after_ its children. The more rarely used in-order traversal is generally applicable only to binary trees, and is where you visit first a node's left child, then the node itself, and then its right child.
For the binary tree:
T
/
I S
/
D E
A pre-order traversal visits the nodes in the order T I D E S. A post-order traversal visits them in the order D E I S T. An in-order traversal visits them in the order D I E T S.
(2001-10-01)

traverse
traversal

trawl
To sift through large volumes of data (e.g. Usenet postings, FTP archives, or the Jargon File) looking for something of interest. [Jargon File]

tree
mathematics, data A directed acyclic graph; i.e. a graph wherein there is only one route between any pair of nodes, and there is a notion of toward top of the tree (i.e. the root node), and its opposite direction, toward the leaves. A tree with n nodes has n-1 edges.
Although maybe not part of the widest definition of a tree, a common constraint is that no node can have more than one parent. Moreover, for some applications, it is necessary to consider a node's daughter nodes to be an ordered list, instead of merely a set.
As a data structure in computer programs, trees are used in everything from B-trees in databases and file systems, to game trees in game theory, to syntax trees in a human or computer languages.
(1998-11-12)

tree-killer
jargon, abuse (Sun) 1. A printer.
2. A person who wastes paper. This epithet should be interpreted in a broad sense; wasting paper includes the production of spiffy but content-free documents. Thus, most suits are tree-killers.
This term may derive from J.R.R. Tolkien's Lord of the Rings (http://sf.www.lysator.liu.se/sf_archive/sf-texts/SF_resource_guide/sfrgft.htm) in which Treebeard the Ent uses it to refer to the orcs' master, Saruman of Isengard. Saruman represents, among other things, technology at its most misguided.
See also: dead tree.
[Jargon File]
(1999-11-03)

TREET
E.C. Haines, 1964. An experimental variant of LISP1.5, implemented on the STRETCH computer. Basic structure was a trinary tree.
[ The TREET Time-Sharing System , H.A. Bayard et al, Proc 2nd Symp Symb and Alg Manip, ACM (Mar 1971)].
[Sammet 1969, pp.457-461].

TREETRAN
A Fortran IV subroutine package for tree manipulation.

Tree Transformation Language
functional language, rule-based language (TXL) A hybrid functional language and rule-based language by Jim R. Cordy cordy@cs.queensu.ca et al of Queen's University, Canada in 1988. TXL is suitable for performing source to source transformations and for rapidly prototyping new languages and language processors. It uses structural transformation. It is written in ANSI C.
It has also been used to prototype specification languages, command languages, and more traditional program transformation tasks such as constant folding, type inference, source optimisation and reverse engineering.
TXL takes as input an arbitrary context-free grammar in extended BNF-like notation, and a set of show-by-example transformation rules to be applied to inputs parsed using the grammar.
Latest version: 7.4, as of 1993-08-04.
(ftp://ftp.qucis.queensu.ca/pub/txl/)
[ TXL: A Rapid Prototyping System for Programming Language Dialects , J.R. Cordy et al, Comp Langs 16(1) (Jan 1991)].
[ Specification and Automatic Prototype Implementation of Polymorphic Objects in Turing Using the TXL Dialect Processor , J.R. Cordy E.M. Promislow, Proc IEEE Intl Conf on Comp Lang ICCL'90 (Mar 1990)].
(1993-08-04)

treeware
jargon /tree'weir/ Printouts, books, documentation and other information media made from pulped dead trees by a tree-killer.
[Jargon File]
(1999-01-15)

Trellis
1. An object-oriented language from the University of Karlsruhe(?) with static type-checking and encapsulation.
2. An object-oriented application development system from DEC, based on the Trellis language. (Formerly named Owl).
E-mail: Jerry Smith smith@pipe.enet.dec.com
[ Persistent and Shared Objects in trellis/owl , P. O'Brien et al, Proc 1986 IEEE Workshop on Object-Oriented Database Systems, IEEE, NY 1986].

Trellis Code Modulation
(TCM) A modulation technique with hardware error detection and correction.
[Details?]
(1995-02-22)

Trident
company A video card manufacturer.
[More info?]
(1997-07-16)

trigger
database An action causing the automatic invocation of a procedure, for instance to preserve referential integrity. A triggers goes into effect when a user attempts to modify data with an insert, delete, or update command. A trigger can instruct the system to take any number of actions when a specified change is attempted. By preventing incorrect, unauthorized, or inconsistent changes to data, triggers help maintain the integrity of the database.
[Sybase SQL Server Release 10.0 Transact-SQL User's Guide].
(1995-02-22)

trigger finger
overuse strain injury

TRIGMAN
A system for symbolic mathematics, especially celestial mechanics.
(1994-12-14)

trillion
mathematics In Britain, France, and Germany, 10^18 or a million cubed.
In the USA and Canada, 10^12.
[Elsewhere?]
(1996-10-03)

Trilogy
language A strongly typed logic programming language with numerical constraint-solving over the natural numbers, developed by Paul Voda voda@voda.ii.fmph.uniba.sk at UBC in 1988. Trilogy is syntactically a blend of Prolog, Lisp, and Pascal. It contains three types of clauses: predicates (backtracking but no assignable variables), procedures (if-then-else but no backtracking; assignable variables), and subroutines (like procedures, but with input and system calls; callable only from top level or from other subroutines).
Development of Trilogy I stopped in 1991. Trilogy II, developed by Paul Voda 1988-92, was a declarative general purpose programming language, used for teaching and to write CL.
(http://www.fmph.uniba.sk/~voda).
[ The Constraint Language Trilogy: Semantics and Computations , P. Voda, Complete Logic Systems, 741 Blueridge Ave, North Vancouver BC, V7R 2J5].
(2000-04-08)

triple DES
cryptography A product cipher which, like DES, operates on 64-bit data blocks. There are several forms, each of which uses the DES cipher 3 times. Some forms use two 56-bit keys, some use three. The DES modes of operation may also be used with triple-DES.
(1995-05-11)

tri state
hardware A feature of some digital electronic devices which allows a connector (pin) to either act as a normal output, driving a signal onto a line, or to be tri stated - set to a high-impedance ( high Z ) condition. This allows other outputs to drive signals onto the line. Often the same connector also functions as an input when its output circuitry is tri stated.
Tri-state outputs are typically used for the connection of several digital circuits to a shared bus onto which any one of them may output data for the others to input.
(1996-07-26)

trit
unit /trit/ (By analogy with bit ) One base-3 digit; the amount of information conveyed by a selection among one of three equally likely outcomes. Trits arise, for example, in the context of a flag that should actually be able to assume *three* values - such as yes, no, or unknown. Trits are sometimes jokingly called 3-state bits . A trit may be semi-seriously referred to as a bit and a half , although it is linearly equivalent to 1.5849625 bits (that is, log2(3) bits).
[Jargon File]
(1995-05-11)

Triton
processor Intel's Pentium core logic chip set. In addition to the traditional features, this chip set supports: EDO DRAM to increase the bandwidth of the DRAM interface; pipelined burst SRAM for a cheaper, faster second level cache; bus master IDE control logic to reduce processor load; a plug and play port for easy implementation of functions such as audio.
The Triton I chipset (official name 82430FX) consists of 4 chips: one 82437FX TSC (Triton Sysetm Controller), two 82438FX TDP (Triton Data Path), and one 82371FB PIIX (PCI IDE Xcellerator). It supports PB Cache, EDO DRAM, and a maximum PCI and memory burst data transfer rate of 100 megabytes per second.
There are also Moble Triton (82430MX), Triton II (82430HX), and the Triton VX (82430VX) chip sets.
Introduction (http://www.asus.com.tw/Products/TB/triton-intro.html).
(1996-04-03)

Triton II
processor (Official name 82430HX) A version of Intel's Triton processor chip set with all the features of the Triton I plus support for ECC, parity RAM, two-way SMP, USB, and Concurrent PCI to improve speed.
It consists of one 82439HX TXC and one 82371SB PIIX3.
(1996-04-03)

Triton VX
processor (Official name 82430VX) A version of Intel's Triton processor chip set with all the features of the Triton I plus support for SDRAM, USB, and a UMA option.
Triton VX consists of one 82437VX TVC, two 82438VX TVP, and one 82371SB PIIX3.
(1996-04-03)

Trivial File Transfer Protocol
networking (TFTP) A simple file transfer protocol used for down-loading boot code to diskless workstations.
TFTP is defined in RFC 1350.
[Details? Other uses? Relationship to FTP?]
(1997-08-30)

TRO
tail recursion optimisation

troff
text, tool /T'rof/ or /trof/ The grey eminence of Unix text processing; a formatting and phototypesetting program, written originally in PDP-11 assembly code and then in barely-structured early C by the late Joseph Ossanna, modelled after the earlier ROFF which was in turn modelled after Multics' RUNOFF by Jerome Saltzer (*that* name came from the expression to run off a copy ). A companion program, nroff, formats output for terminals and line printers.
In 1979, Brian Kernighan modified troff so that it could drive phototypesetters other than the Graphic Systems CAT. His paper describing that work ( A Typesetter-independent troff , AT T CSTR #97) explains troff's durability. After discussing the program's obvious deficiencies - a rebarbative input syntax, mysterious and undocumented properties in some areas, and a voracious appetite for computer resources and noting the ugliness and extreme hairiness of the code and internals, Kernighan concludes:
None of these remarks should be taken as denigrating Ossanna's accomplishment with TROFF. It has proven a remarkably robust tool, taking unbelievable abuse from a variety of preprocessors and being forced into uses that were never conceived of in the original design, all with considerable grace under fire.
The success of TeX and desktop publishing systems have reduced troff's relative importance, but this tribute perfectly captures the strengths that secured troff a place in hacker folklore; indeed, it could be taken more generally as an indication of those qualities of good programs that, in the long run, hackers most admire.
groff is GNU's implementation of roff in C++.
[Jargon File]
(1995-03-21)

troglodyte
jargon (Commodore) 1. A hacker who never leaves his cubicle. The term Gnoll (from Dungeons Dragons) is also reported.
2. A curmudgeon attached to an obsolescent computing environment. The combination ITS troglodyte was flung around some during the Usenet and e-mail wringle-wrangle attending the 2.x.x revision of the Jargon File; at least one of the people it was intended to describe adopted it with pride.
[Jargon File]
(1995-01-11)

troglodyte mode
jargon (Rice University) Programming with the lights turned off, sunglasses on, and the terminal inverted (black on white) because you've been up for so many days straight that your eyes hurt (see raster burn). Loud music blaring from a stereo stacked in the corner is optional but recommended.
See larval stage, hack mode.
[Jargon File]
(1995-03-21)

Trojan horse
application, security (Coined by MIT-hacker-turned-NSA-spook Dan Edwards) A malicious, security-breaking program that is disguised as something benign, such as a directory lister, archiver, game, or (in one notorious 1990 case on the Mac) a program to find and destroy viruses! A Trojan horse is similar to a back door.
See also RFC 1135, worm, phage, mockingbird.
[Jargon File]
(1995-03-21)

TROLL
An array language for continuous simulation, econometric modelling or statistical analysis.
[ TROLL Reference Manual , D0062, Info Proc Services, MIT (1973-76)].

troll
An electronic mail message, Usenet posting or other (electronic) communication which is intentionally incorrect, but not overtly controversial (compare flame bait), or the act of sending such a message. Trolling aims to elicit an emotional reaction from those with a hair-trigger on the reply key. A really subtle troll makes some people lose their minds.
(1994-10-17)

TRON
project A project headed by Dr. Ken Sakamura of the University of Tokyo and supported by most of the major Japanese computer makers and NTT.
[Jargon File]
(1995-03-15)

tron
jargon (NRL, CMU, probably from the film Tron ) To become inaccessible except via electronic mail or talk especially when one is normally available via telephone or in person.
Compare spod.
[Jargon File]
(1994-11-03)

Trouble Came Back
jargon (TCB) An IBM term for an intermittent or difficult-to-reproduce problem that has failed to respond to neglect or shotgun debugging.
Compare heisenbug.
(1998-07-02)

TRS
term rewriting system

TRS-80
computer A series of personal computers sold by Tandy Radio Shack. The '80' refers to the use of Zilog Z-80 processor (NOT Intel 80x8x).
There were 7.5 computers in the TRS-80 line: Models I, II, III, 4, 100, 102, 200. The Model 4P was a portable version of the Model 4 with no tape drive -- only 2 1/2-height single sided disk drives.
Later models that Radio Shack produced were not TRS-80 machines -- they were based on the Intel 80x8x architecture. These included Tandy 1000, Tandy 2000, Tandy 3000, and others. The 1000 had a proprietary Color card. The 2000 was a powerful machine for its time, but was based on the Intel 80186, so when IBM didn't build a computer based on this chip, it failed. It was used to design a boat for the America's Cup.
The TRS-80 GUI, DeskMate, was proprietary, but no more than Windoze at the time.
Many joke about TRaSh-80 machines but several models were in fact classics of their time.
(1996-02-18)

Truchet point
unit, text An obsolete variant of the point, equal to 0.188 mm.
(2002-03-11)

True BASIC
language A compiled BASIC, by John Kemeny and Thomas E. Kurtz, requiring no line numbers.
(1996-03-24)

true colour
graphics A system where the red, green, and blue components of a colour are stored in display memory, as opposed to storing logical colours and using a colour palette to convert them to red, green, blue components.
The advantage of true colour over a palette is that it does not restrict the range of colours which can be displayed on screen simultaneously. For example, if eight bits are used to store each component of each pixel then a total of 2^24 (about 17 million) different colours can be displayed at once which would require a (very expensive) palette with 3 * 2^24 bytes (about 50 megabytes) of memory.
The disadvantage of true colour is that image transformations which would normally be done by changing the palette must be done to every pixel of the image which can be much slower.
Compare high colour.
(1996-03-24)

true hacker
person (By analogy with trufan from SF fandom) One who exemplifies the primary values of hacker culture, especially competence and helpfulness to other hackers. A high compliment. He spent 6 hours helping me bring up UUCP and netnews on my FOOBAR 4000 last week - manifestly the act of a true-hacker .
Compare demigod, opposite: munchkin.
[Jargon File]
(1996-01-07)

TrueType
text, standard An outline font standard first developed by Apple Computer, and later embraced by Microsoft, as a competitor to Adobe Systems, Inc.'s PostScript which is still more popular.
(1995-03-16)

Trumpet
A news reader for Microsoft Windows, using the WinSock library. There is also an MS-DOS version. Trumpet is shareware from Australia.
(ftp://ftp.utas.edu.au/pc/trumpet)
(ftp://ftp.demon.co.uk/pub/ibmpc/winsock/stacks/trumpwsk/)
news:alt.winsock.trumpet.
[Author?]
(1995-01-12)

TRUSIX
TRUSted Unix operating system

truth table
logic A table listing all possible combinations of inputs and the corresponding output of a Boolean function such as AND, OR, NOT, IMPLIES, XOR, NAND, NOR. Truth tables can be used as a means of representing a function or as an aid in designing a circuit to implement it.
(1998-07-30)

TS
Typed Smalltalk.
A Smalltalk by Ralph Johnson johnson@speedy.cs.uiuc.edu of the University of Illinois.
[ TS: An Optimising Compiler for Smalltalk , R.E. Johnson et al, SIGPLAN Notices 23(11) (Nov 1988)].
(1995-01-12)

TSAP
Transport Service Access Point

TSEE
Technical and Engineering Environment: part of the RTEE toolset.

TSIA
messaging Title Says It All. Something to put in the body of a electronic mail message or bulletin board posting when no body is really necessary because the title or subject header contains the whole message.
(2000-02-10)

Tsim
Time Simulator

TSL-1
Task Sequencing Language. Language for specifying sequences of tasking events in Ada programs.
[ Task Sequencing Language for Specifying Distributed Ada Systems , D.C. Luckham et al in PARLE: Parallel Architectures and Langs Europe, LNCS 259, Springer 1987, pp.444-463].

TSO
Time Sharing Option

TSP
travelling salesman problem

TSR
Terminate and Stay Resident

TSV
tab-separated values

tt
networking The country code for Trinidad and Tobago.
(1999-01-27)

TTD
Telecommunications Device for the Deaf

TTFN
chat ta-ta for now - goodbye for now. Used in the UK, USA and probably elsewhere.
(1998-07-02)

TTL
1. transistor-transistor logic.
2. Time to Live.

TTS
Text To Speech

tty
hardware /tit'ee/ (ITS pronunciation, but some Unix people say it this way as well; this pronunciation is not considered to have sexual undertones), /T T Y/
1. teletypewriter.
2. (Especially Unix) Any terminal at all; sometimes used to refer to the particular terminal controlling a given job (it is also the name of a Unix command which outputs the name of the current controlling terminal).
3. (Unix) Any serial port, whether or not the device connected to it is a terminal; so called because under Unix such devices have names of the form tty*. Ambiguity between senses 2 and 3 is common but seldom bothersome.
4. A TDD.
[Jargon File]
(1995-11-23)

TTYL
chat talk to you later.
(1998-01-18)

TUB
Technische Universita't Berlin. (Berlin technical university).

TUBA
networking, protocol An Internet protocol, described in RFC 1347, RFC 1526 and RFC 1561, and based on the OSI Connectionless Network Protocol (CNLP).
TUBA is one of the proposals for Internet Protocol Version 6.
(1995-04-03)

tube
1. hardware A CRT terminal. Never used in the mainstream sense of TV; real hackers don't watch TV, except for Loony Toons, Rocky Bullwinkle, Trek Classic, the Simpsons, and the occasional cheesy old swashbuckler movie.
2. electronics electron tube.
3. jargon (IBM) To send a copy of something to someone else's terminal. Tube me that note.
[Jargon File]
(1996-02-05)

tube time
Time spent at a terminal or console. More inclusive than hacking time; commonly used in discussions of what parts of one's environment one uses most heavily. I find I'm spending too much of my tube time reading mail since I started this revision.
[Jargon File]

Tuckals
An old statistical package still in use on some VM computers.
(1995-11-28)

Tui
language A functional programming language.
[ Tui Language Manual , B. Boutel, TR CSD-8-021, Victoria U of Wellington, 1988].
(2002-07-16)

Tukey, John
John Tukey

Tuki
An intermediate code for functional languages. Another Implementation Technique for Applicative Languages , H. Glaser et al, ESOP86, LNCS 213, Springer 1986.

tunafish
humour, operating system In hackish lore, refers to the mutated punchline of an age-old joke to be found at the bottom of the manual pages of tunefs(8) in the original 4.2BSD distribution. The joke was removed in later releases once commercial sites started using 4.2. Tunefs relates to the tuning of file-system parameters for optimum performance, and at the bottom of a few pages of wizardly inscriptions was a BUGS section consisting of the line You can tune a file system, but you can't tunafish . Variants of this can be seen in other BSD versions, though it has been excised from some versions by humourless management droids. The [nt]roff source for SunOS 4.1.1 contains a comment apparently designed to prevent this: Take this out and a Unix Demon will dog your steps from now until the time_t's wrap around.
[Jargon File]
(1997-01-12)

tune
jargon (From musical, possibly via automotive, usage) To optimise a program or system for a particular environment, especially by adjusting numerical parameters designed as hooks for tuning, e.g. by changing #define lines in C. One may tune for time (fastest execution), tune for space (least memory use), or tune for configuration (most efficient use of hardware).
See bum, hot spot, hand-hacking.
[Jargon File]
(1999-06-05)

tunnelling
networking (US: tunneling ) Encapsulation of protocol A within protocol B, such that A treats B as though it were a data link layer. Tunnelling is used to get data between administrative domains which use a protocol that is not supported by the internet connecting those domains.
(1997-03-26)

TUPLE
Toyohashi University Parallel Lisp Environment. A parallel Lisp based on KCL.
[ Memory Management and Garbage Collection of an Extended Common Lisp System for Massively Parallel SIMD Architecture , Taiichi Yuasa, in Memory Management, IWMM92, Springer 1992, 490-507].
(1994-11-08)

tuple
In functional languages, a data object containing two or more components. Also known as a product type or pair, triple, quad, etc. Tuples of different sizes have different types, in contrast to lists where the type is independent of the length. The components of a tuple may be of different types whereas all elements of a list have the same type. Examples of tuples in Haskell notation are (1,2), ( Tuple ,True), (w,(x,y),z). The degenerate tuple with zero components, written (), is known as the unit type since it has only one possible value which is also written ().
The implementation of tuples in a language may be either lifted or not. If tuples are lifted then (bottom,bottom) /= bottom and the evaluation of a tuple may fail to terminate. E.g. in Haskell:
f (x,y) = 1 -- f bottom = bottom
f (bottom,bottom) = 1
With lifted tuples, a tuple pattern is refutable. Thus in Haskell, pattern matching on tuples is the same as pattern matching on types with multiple constructors (algebraic data types) - the expression being matched is evaluated as far as the top level constructor, even though, in the case of tuples, there is only one possible constructor for a given type.
If tuples are unlifted then (bottom, bottom) = bottom and evaluation of a tuple will never fail to terminate though any of the components may. E.g. in Miranda:
f (x,y) = 1 -- f bottom = 1
f (bottom,bottom) = 1
Thus in Miranda, any object whose type is compatible with a tuple pattern is assumed to match at the top level without evaluation - it is an irrefutable pattern. This also applies to user defined data types with only one constructor. In Haskell, patterns can be made irrefutable by adding a ~ as in
f ~(x,y) = 1.
If tuple constructor functions were strict in all their arguments then (bottom,x) = (x,bottom) = bottom for any x so matching a refutable pattern would fail to terminate if any component was bottom.

tuple calculus
database A form of relational calculus in which a variable's only permitted values are tuples of a given relation.
Codd's unimplemented language ALPHA and the subsequent QUEL are examples of the tuple calculus.
(1998-10-05)

Tuple Space Smalltalk
[ Using Tuple Space Communication in Distributed Object-Oriented Languages , S. Matsuoka et al, SIGPLAN Notices 23(11):276-284 (Nov 1988)].
(1994-11-08)

tupling
A program transformation where several results are returned from a single traversal of a data structure. E.g.
mean l = sum l / length l
==
mean l = s/n
where
(s,n) = sumLen l
sumLen [] = (0,0) sumLen (x:xs) = (s+x, n+1) where (s,n) = sumLen xs
In procedural languages this technique is known as horizontal loop combination because it uses one loop to calculate several results.
Another form of tupling transformation is used to avoid repeated evaluation where a function generates several identical calls to itself. By analysing the pattern of recursion (see descent function) it is possible to arrange for these identical calls to share results. E.g.
fib 0 = 1 fib 1 = 1 fib n = fib (n-1) + fib (n-2)
==
fib n = v where (_,v) = fibt n fibt 0 = (1,1) fibt n = (u+v,u) where (u,v) = fibt (n-1)
(1995-01-12)

Turbo C
language Borland's C compiler for IBM PCs.
Turbo C, version 1.0, was introduced by Borland in 1987. It offered the first integrated edit-compile-run development environment for C on IBM PCs. It ran in 384KB of memory. It allowed inline assembly, supported all memory models, and offered optimisations for speed, size, constant folding, and jump elimination.
Version 1.5 shipped on five 360 KB diskettes of uncompressed files, and came with sample C programs, including a stripped down spreadsheet called mcalc.
Turbo C 2.0 has a debugger, a fast assembler, and an extensive graphics library.
Turbo C has been largely supplanted by Turbo C++, introduced circa September, 1990 for both MS-DOS and Microsoft Windows.
[ Compiling the facts on C , Richard Hale Shaw, PC Magazine, September 13, 1988, pages 115-183].
(1996-10-31)

Turbo Debugger
programming A source-level debugger designed for use with Borland and other compilers.
(http://www.borland.com/).
(1999-04-23)

turbo nerd
computer geek

Turbo Pascal
language, product Borland International's Pascal. Perhaps the first integrated development environment for MS-DOS.
Versions 1.0-3.0: standard Pascal with a few extensions Versions 4.0 (1987) and 5.0: separate compilation. Version 5.5: object-oriented. Version 6.0: Turbo Vision OOP library.
Home (http://www.borland.com/Product/ProdInfo.html)
tptc translates Turbo Pascal to Turbo C.
(1995-05-01)

Turbo Prolog
A strongly typed Prolog-like logic programming language. 1986. It has user-defined domains. Programs are arranged in sections: DOMAINS, CLAUSES, PREDICATES, DATABASE and GOAL. It is currently known as PDC Prolog and is distributed by Prolog Development Center, Atlanta +1 404 873 1366. E-mail: pdc@mcimail.com .

Turing
1. Alan Turing.
2. R.C. Holt holt@csri.toronto.edu J.R. Cordy cordy@cs.queensu.ca , U Toronto, 1982. Descendant of Concurrent Euclid, an airtight super-Pascal. Used mainly for teaching programming at both high school and university level.
Available from Holt Software Assocs, Toronto.
Versions for Sun, MS-DOS, Mac, etc.
E-mail: distrib@turing.toronto.edu .
[ Turing Language Report , R.C. Holt J.R. Cordy, Report CSRI-153, CSRI, U Toronto, Dec 1983].
[ The Turing Programming Language , R.C. Holt J.R. Cordy, CACM 31(12) (Dec 1988)].

Turing Machine
computability A hypothetical machine defined in 1935-6 by Alan Turing and used for computability theory proofs. It consists of an infinitely long tape with symbols (chosen from some finite set) written at regular intervals. A pointer marks the current position and the machine is in one of a finite set of internal states . At each step the machine reads the symbol at the current position on the tape. For each combination of current state and symbol read, a program specifies the new state and either a symbol to write to the tape or a direction to move the pointer (left or right) or to halt.
In an alternative scheme, the machine writes a symbol to the tape *and* moves at each step. This can be encoded as a write state followed by a move state for the write-or-move machine. If the write-and-move machine is also given a distance to move then it can emulate an write-or-move program by using states with a distance of zero. A further variation is whether halting is an action like writing or moving or whether it is a special state.
[What was Turing's original definition?]
Without loss of generality, the symbol set can be limited to just 0 and 1 and the machine can be restricted to start on the leftmost 1 of the leftmost string of 1s with strings of 1s being separated by a single 0. The tape may be infinite in one direction only, with the understanding that the machine will halt if it tries to move off the other end.
All computer instruction sets, high level languages and computer architectures, including parallel processors, can be shown to be equivalent to a Turing Machine and thus equivalent to each other in the sense that any problem that one can solve, any other can solve given sufficient time and memory.
Turing generalised the idea of the Turing Machine to a Universal Turing Machine which was programmed to read instructions, as well as data, off the tape, thus giving rise to the idea of a general-purpose programmable computing device. This idea still exists in modern computer design with low level microcode which directs the reading and decoding of higher level machine code instructions.
A busy beaver is one kind of Turing Machine program.
Dr. Hava Siegelmann of Technion reported in Science of 28 Apr 1995 that she has found a mathematically rigorous class of machines, based on ideas from chaos theory and neural networks, that are more powerful than Turing Machines. Sir Roger Penrose of Oxford University has argued that the brain can compute things that a Turing Machine cannot, which would mean that it would be impossible to create artificial intelligence. Dr. Siegelmann's work suggests that this is true only for conventional computers and may not cover neural networks.
See also Turing tar-pit, finite state machine.
(1995-05-10)

Turingol
language A high-level language for programming Turing Machines by Donald Knuth. It was the subject of the first construction of a nontrivial attribute grammar.
[ Semantics of Context-Free Languages , D. Knuth, Math Sys Thy 2:127-145 (1975)].
(1995-10-08)

Turing Plus
Systems programming language, a concurrent descendant of Turing.
[ The Turing Plus Report , R.C. Holt J.R. Cordy, CSRI, U Toronto, Feb 1987].
Available from Holt Software Assocs, Toronto distrib@hsa.on.ca .

Turing tar-pit
A place where anything is possible but nothing of interest is practical. Alan M. Turing helped lay the foundations of computer science by showing that all machines and languages capable of expressing a certain very primitive set of operations are logically equivalent in the kinds of computations they can carry out, and in principle have capabilities that differ only in speed from those of the most powerful and elegantly designed computers. However, no machine or language exactly matching Turing's primitive set has ever been built (other than possibly as a classroom exercise), because it would be horribly slow and far too painful to use.
A Turing tar-pit is any computer language or other tool that shares this property. That is, it's theoretically universal but in practice, the harder you struggle to get any real work done, the deeper its inadequacies suck you in. Compare bondage-and-discipline language.
A tar pit is a geological occurence where subterranean tar leaks to the surface, creating a large puddle (or pit) of tar. Animals wandering or falling in get stuck, being unable to extricate themselves from the tar. La Brea, California, has a museum built around the fossilized remains of mammals and birds found in such a tar pit.
[Jargon File]
(1998-06-27)

Turing test
artificial intelligence A criterion proposed by Alan Turing in 1950 for deciding whether a computer is intelligent. Turing called it the Imitation Game and offered it as a replacement for the question, Can machines think?
A human holds a written conversation on any topic with an unseen correspondent (nowadays it might be by electronic mail or chat). If the human believes he is talking to another human when he is really talking to a computer then the computer has passed the Turing test and is deemed to be intelligent.
Turing predicted that within 50 years (by the year 2000) technological progress would produce computing machines with a capacity of 10**9 bits, and that with such machinery, a computer program would be able to fool the average questioner for 5 minutes about 70% of the time.
The Loebner Prize is a competition to find a computer program which can pass an unrestricted Turing test.
Julia (http://fuzine.mt.cs.cmu.edu/mlm/julia.html) is a program that attempts to pass the Turing test.
See also AI-complete.
(1995-01-04)

turist
/too'rist/ Variant spelling of tourist. Possibly influenced by luser and Turing .
[Jargon File]

TURN
messaging, protocol An SMTP command with which a client asks the server to open an SMTP connection to the client, thus reversing their roles.
Superseded by ETRN.
(1997-11-21)

turn-key
jargon, application A term which describes a system (hardware and software) which can be used for a specific application without requiring further programming or software installation. The user can just turn the key (switch it on) and use it.
(1995-02-06)

TUTOR
A Scripting language on PLATO systems from CDC.
[ The TUTOR Language , Bruce Sherwood, Control Data, 1977].

TUXEDO
database, networking A Database Transaction Monitor ( Middleware ) offered by Novell, Inc.
Home (http://tuxedo.novell.com/tree.htm)
(1996-02-22)

TV
television

tv
networking The country code for Tuvalu.
Heavily used for vanity domains by TV stations.
(1999-01-27)

tw
networking The country code for Taiwan.
(1999-01-27)

TWAIN
graphics, standard An image capture API for Microsoft Windows and Apple Macintosh operating systems. The standard was first released in 1992, and is currently ratified at version 1.9 as of January 2000. TWAIN is typically used as an interface between image processing software and a scanner or digital camera.
The word TWAIN is from Kipling's The Ballad of East and West - ...and never the twain shall meet... , reflecting the difficulty, at the time, of connecting scanners and personal computers. It was up-cased to TWAIN to make it more distinctive. This led people to believe it was an acronym, and then to a contest to come up with an expansion. None were selected, but the entry Technology Without An Interesting Name continues to haunt the standard.
Home (http://www.twain.org/).
(2000-02-25)

tweak
1. To change slightly, usually in reference to a value. Also used synonymously with twiddle. If a program is almost correct, rather than figure out the precise problem you might just keep tweaking it until it works. See frobnicate and fudge factor; also see shotgun debugging.
2. To tune or bum a program; preferred usage in the UK.
[Jargon File]

tweening
graphics An interpolation technique where an animation program generates extra frames between the key frames that the user has created. This gives smoother animation without the user having to draw every frame.
A scene is described by a mathematical model - a set of two- or three-dimensional objects whose positions in are given by sets of coordinates. Tweening uses mathematical formulae to generate these coordinates at a sequence of discrete times. The simplest system would move each point at a constant rate in a straight line between its initial and final positions, though other kinds of path are possible. The coordinates at each time step are used to generate (or render ) a two-dimensional image of the scene which forms one frame of the animation.
Tweening is similar to morphing except that morphing is usually performed by interpolating between corresponding points marked by the user on two images, rather than between two configurations of a model.
(1995-04-04)

tweeter
woofer

TWENEX
operating system /twe'neks/ The TOPS-20 operating system by DEC - the second proprietary OS for the PDP-10 - preferred by most PDP-10 hackers over TOPS-10 (that is, by those who were not ITS or WAITS partisans). TOPS-20 began in 1969 as Bolt, Beranek Newman's TENEX operating system using special paging hardware. By the early 1970s, almost all of the systems on the ARPANET ran TENEX. DEC purchased the rights to TENEX from BBN and began work to make it their own. The first in-house code name for the operating system was VIROS (VIRtual memory Operating System); when customers started asking questions, the name was changed to SNARK so DEC could truthfully deny that there was any project called VIROS. When the name SNARK became known, the name was briefly reversed to become KRANS; this was quickly abandoned when someone objected that krans meant funeral wreath in Swedish (though some Swedish speakers have since said it means simply wreath ; this part of the story may be apocryphal).
Ultimately DEC picked TOPS-20 as the name of the operating system, and it was as TOPS-20 that it was marketed. The hacker community, mindful of its origins, quickly dubbed it TWENEX (a contraction of twenty TENEX ), even though by this point very little of the original TENEX code remained (analogously to the differences between AT T V6 Unix and BSD). DEC people cringed when they heard TWENEX , but the term caught on nevertheless (the written abbreviation 20x was also used). TWENEX was successful and very popular; in fact, there was a period in the early 1980s when it commanded as fervent a culture of partisans as Unix or ITS - but DEC's decision to scrap all the internal rivals to the VAX architecture and its relatively stodgy VMS OS killed the DEC-20 and put a sad end to TWENEX's brief day in the sun. DEC attempted to convince TOPS-20 users to convert to VMS, but instead, by the late 1980s, most of the TOPS-20 hackers had migrated to Unix.
[Jargon File]
(1995-04-01)

Twente Compiler Generator System
language, tool (TCGS) A compiler generator developed at the University of Twente, The Netherlands.
(1998-04-27)

Twentel
A functional language.
[ The TWENTEL System (Version 1). , H. Kroeze, CS Dept TR, U Twente, 1986].

twiddle
1. The tilde character ( ~ , ASCII 126). Also called squiggle , sqiggle (sic - pronounced /skig'l/), and twaddle , but twiddle is the most common term.
2. A small and insignificant change to a program. Usually fixes one bug and generates several new ones (see also shotgun debugging).
3. To change something in a small way. Bits, for example, are often twiddled. Twiddling a switch or knob implies much less sense of purpose than toggling or tweaking it; see frobnicate. Bit twiddling connotes aimlessness, and at best doesn't specify what you're doing to the bit; to toggle a bit has a more specific meaning.
[Jargon File]
(1995-01-31)

TWIG
Tree-Walking Instruction Generator.
A code generator language. ML-Twig is an SML/NJ variant.
[ Twig Language Manual , S.W.K. Tijang, CS TR 120, Bell Labs, 1986].
(1995-01-31)

twilight zone
[IRC] Notionally, the area of cyberspace where IRC operators live. An op is said to have a connection to the twilight zone .
[Jargon File]

twink
/twink/ [UCSC] Equivalent to read-only user. Also reported on the Usenet group soc.motss; may derive from gay slang for a cute young thing with nothing upstairs (compare mainstream chick ).

twinning
storage Keeping a mirror of a magnetic tape.
(1997-07-18)

Twin Vector Quantization
audio, compression (VQF) Part of the MPEG-4 standard dealing with time domain weighted interleaved vector quantization.
[Why VQF ?]
(2001-12-17)

twip
unit, graphics (TWentIeth of a Point) 1/20 of a Postscript point, or 1/1440th of an inch. There are thus 1440 twips to an inch or about 567 twips to a centimeter.
Twips are used in Microsoft formats and products, notably Rich Text Format, Visual BASIC, Visual C++, and printer drivers; and in IBM AFP products.
Twips were devised in the olden days to describe the sizes of characters produced by dot matrix printers that were constrained to multiples of either 12 or 10 dots per inch.
[Is it definitely relative to a _Postscript_ point, as opposed to one of the other definitions of point?]
(2002-03-11)

twirling baton
graphics The overstrike sequence -/| -/| - which produces an animated twirling baton. If you output it with a single backspace between characters, the baton spins in place. If you output the sequence BS SP between characters, the baton spins from left to right. If you output BS SP BS BS between characters, the batton spins from right to left.
The twirling baton was a popular component of animated signature files on the pioneering PLATO educational time-sharing system. The archie Internet service is perhaps the best-known baton program today; it uses the twirling baton as an idler indicating that the program is working on a query.
[Jargon File]
(1995-02-23)

twisted pair
hardware A type of cable in which pairs of conductors are twisted together to randomise possible cross-talk from nearby wiring. Inadequate twisting is detectable using modern cable testing instruments.
(1995-02-23)

twisted pair only
networking (TPO) A network connection to an Ethernet PCMCIA card using twisted pair cable.
[Other options?]
(1997-05-12)

twm
Tab Window Manager.
A window manager for the X Window System. Twm provides titlebars, shaped windows, several forms of icon management, user-defined macro functions, click-to-type and pointer-driven keyboard focus, and user-specified key and pointer button bindings. It can be extensively configured by a startup file.
Twm was written by Tom LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium; Steve Pitschke, Stardent Computer; Keith Packard, MIT X Consortium; Dave Sternlicht, MIT X Consortium; Dave Payne, Apple Computer.
An extended version, vtwm, provides a virtual desktop.
[Why Tab ?]
(1995-02-14)

.twmrc
operating system (Tab Window Manager run commands) The configuration file for twm.
See also rc.
(1996-04-09)

two-binary, one-quaternary
communications (2B1Q) A physical layer encoding used for Integrated Services Digital Network basic rate interface. 2B1Q uses four signal levels (1Q), equivalent to two bits (2B).
(1998-10-22)

twonkie
/twon'kee/ The software equivalent of a Twinkie (a variety of sugar-loaded junk food, or (in gay slang) the male equivalent of chick ); a useless feature added to look sexy and placate a marketroid.
Compare Saturday-night special.
The term may also be related to The Twonky , title menace of a classic SF short story by Lewis Padgett (Henry Kuttner and C. L. Moore), first published in the September 1942 Astounding Science Fiction and subsequently much anthologised.
[Jargon File]
(1994-10-20)

two-phase commit
database A technique for maintaining integrity in distributed databases. Where a system uses two or more database, a transaction among the distibuted database should be atomic ( all or nothing ). This is done by handling the transaction in two phases. First the databases prepare the transaction, confirm that it is possible to process it, and lock the relevant record.
Once all the required databases confirm that the transaction is viable, the system instructs them all to commit it - i.e. to make it permanent. If it is not possible to process it, the system will instruct the databases to rollback (undo) the transaction.
(2000-02-28)

twos complement
data A system used in some computers to represent negative numbers in binary. Each bit of the number is inverted (zeros are replaced with ones and vice versa), as for ones complement, but then one (000...0001) is added (ignoring overflow). This avoids the two representations for zero found in ones complement by using all ones to represent -1.
... 000...00011 = +3 000...00010 = +2 000...00001 = +1 000...00000 = 0 111...11111 = -1 111...11110 = -2 111...11101 = -3 ...
This representation simplifies the logic required for addition and subtraction, at the expense of a little extra complexity for negation.
(1994-10-31)

two-to-the-N
An amount much larger than N but smaller than infinity. I have 2-to-the-N things to do before I can go out for lunch means you probably won't show up.
Numbers of the form two-to-the-N are very important in computing because they represent the value of bit N of a binary number (counting from 0) and the number of things you can count with an N bit number.
[Jargon File]
(1994-12-06)

two-valued logic
logic (Commonly known as Boolean algebra ) A mathematical system concerning the two truth values, TRUE and FALSE and the functions AND, OR and NOT. Two-valued logic is one of the cornerstones of logic and is also fundamental in the design of digital electronics and programming languages.
The term Boolean is used here with its common meaning - two-valued, though strictly Boolean algebra is more general than this.
Boolean functions are ususally represented by truth tables where 0 represents false and 1 represents true . E.g.:
A | B | A AND B --+---+-------- 0 | 0 | 0 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1
This can be given more compactly using x to mean don't care (either true or false):
A | B | A AND B --+---+-------- 0 | x | 0 x | 0 | 0 1 | 1 | 1
Similarly:
A | NOT A A | B | A OR B
--+------ --+---+--------
0 | 1 0 | 0 | 0
1 | 0 x | 1 | 1
1 | x | 1
Other functions such as XOR, NAND, NOR or functions or more than two inputs can be constructed using combinations of AND, OR and NOT. AND and OR can be constructed from each other using DeMorgan's Theorem:
A OR B = NOT ((NOT A) AND (NOT B)) A AND B = NOT ((NOT A) OR (NOT B))
In fact any Boolean function can be constructed using just NOR or just NAND using the identities:
NOT A = A NOR A A OR B = NOT (A NOR B)
and DeMorgan's Theorem.
(1995-01-05)

TX-0
The first transistorised computer, the direct ancestor of the PDP-1 built at MIT's Lincoln Lab in 1957.
(1994-12-06)

TXL
Tree Transformation Language

TYMCOM-X
operating system Tymshare's operating system which ran for many years on Tymshare's PDP-10s. It was a descendent of TOPS-10 but had many of the important features of TOPS-20 such as real paging and controllable/spawnable processes. TYMCOM-X, one of the best kept secrets in the PDP-10 folklore, was written by Bill Weiher, Vance Socci vsocci@vcctech.com , Allen Ginzburg, Karen Kolling, Art Atkinson, Gary Morgenthaler (founder of the company that produced IDRIS), Todd Corenson and Murray Bowles. Some copies still run today. Most TYMNET development was done under TYMCOM-X and Tymshare sold a TYMCOM-X system to TRW to use in their credit reporting network, which was based on a purchased copy of TYMNET circa 1979.
[E-mail from Vance Socci 1994-05-20].
(1995-11-09)

TYMNET
networking, history A United States-wide commercial computer network, created by Tymshare, Inc. some time before 1970, and used for remote login and file transfer. In its original implementation, it was made up of a number of fairly simple circuit-oriented nodes, whose circuits were created by one central network supervisor writing into the appropriate nodes' permuter tables . The supervisors also performed login validations as well as circuit management. Circuits were character oriented and the network was oriented towards interactive character-by-character full-duplex communications circuits.
There was a clever scheme to switch the echoing function between the local node and the host based on whether or not a special character had been typed by the user. Data transfers were also possible via auxiliary circuits .
The network had more than one supervisor running, but only one was active, the others being put to sleep with sleeping pill messages. If the active supervisor went down, all the others would wake up and battle for control of the network. After the battle, the supervisor with the highest pre-set priority would dominate, and the network would then again be controlled by only one supervisor. (During the takeover battle, the net consisted of subsets of itself across which new circuits could not be built). Existing circuits were not affected by supervisor switches.
Tymshare, Inc. originally wrote and implemented TYMNET to provide nationwide access for their time-sharing customers. When Tymshare started using Interdata 8/32 minicomputers as nodes they started developing TYMNET on PDP-10. The Tymshare hosts (which ran customer code) were SDS 940, XDS 940, DEC PDP-10, and eventually IBM 370 computers. The switches were originally: Varian Data Machines 620 and Interdata 8/32. PDP-10s supported (and still do in 1999) cross-platform development and billing.
Tymshare sold the TYMNET network software to TRW, who created their own private network (which was not called TYMNET). In about 1979, TYMNET Inc. was spun off from Tymshare, Inc. to continue administration and development of the network.
TYMNET was the largest commercial network in the United States in its heyday, with nodes in every major US city and a few overseas as well. Tymshare acquired a French subsidiary, SLIGOS, and had TYMNET nodes in Paris, France.
TYMNET has outlived its parent company Tymshare and is now owned by MCI. As of May 1994 they still ran three DEC KL-10s under TYMCOM-X, although they planned to decommission them soon.
The original creators of TYMNET include: Ann Hardy, Norm Hardy, Bill Frantz. Laroy Tymes (who always insisted that his name was NOT the source of the name) wrote the first supervisor which ran on the 940. Joe Rinde made many significant technical and marketing contributions. Laroy wrote most of the code of the network proper. Several others wrote code in support of development and administration. Just recently (1999) Laroy, on contract, wrote a version of the supervisor to run on SPARC hardware.
The name TYMNET was suggested by Vigril Swearingen in a weekly meeting between Tymshare technical and marketing staff in about 1970.
(http://cap-lore.com/ETH.html).
(2001-12-31)

Tymshare, Inc.
company The US company that created the TYMNET network.
(1999-03-17)

type
theory, programming (Or data type ) A set of values from which a variable, constant, function, or other expression may take its value. A type is a classification of data that tells the compiler or interpreter how the programmer intends to use it. For example, the process and result of adding two variables differs greatly according to whether they are integers, floating point numbers, or strings.
Types supported by most programming languages include integers (usually limited to some range so they will fit in one word of storage), Booleans, floating point numbers, and characters. Strings are also common, and are represented as lists of characters in some languages.
If s and t are types, then so is s - t, the type of functions from s to t; that is, give them a term of type s, functions of type s - t will return a term of type t.
Some types are primitive - built-in to the language, with no visible internal structure - e.g. Boolean; others are composite - constructed from one or more other types (of either kind) - e.g. lists, structures, unions.
Some languages provide strong typing, others allow implicit type conversion and/or explicit type conversion.
(2002-02-22)

type assignment
theory A mapping of the free variables of some expression E to types. This is used in type inference to deduce the type of E and its subexpressions.
(2002-02-22)

type class
A set of types for which certain operations or methods are defined. E.g. the class Number might have methods for addition and subtraction. Classes are a feature of object oriented languages and of the functional programming language Haskell. See also inheritance.

typed lambda-calculus
theory (TLC) A variety of lambda-calculus in which every term is labelled with a type.
A function application (A B) is only synctactically valid if A has type s -- t, where the type of B is s (or an instance or s in a polymorphic language) and t is any type.
If the types allowed for terms are restricted, e.g. to Hindley-Milner types then no term may be applied to itself, thus avoiding one kind of non-terminating evaluation.
Most functional programming languages, e.g. Haskell, ML, are closely based on variants of the typed lambda-calculus.
(1995-03-25)

TypedProlog
language A strongly typed logic programming language.
(1995-03-25)

typeface
text The style or design of a font. Other independent parameters are size, boldness (thickness of lines), and obliqueness (a sheer transformation applied to the characters, not to be confused with a specifically designed italic font).
(1996-08-02)

type inference
programming An algorithm for ascribing types to expressions in some language, based on the types of the constants of the language and a set of type inference rules such as
f :: A - B, x :: A --------------------- (App)
f x :: B
This rule, called App for application, says that if expression f has type A - B and expression x has type A then we can deduce that expression (f x) has type B. The expressions above the line are the premises and below, the conclusion. An alternative notation often used is:
G |- x : A
where |- is the turnstile symbol (LaTeX vdash) and G is a type assignment for the free variables of expression x. The above can be read under assumptions G, expression x has type A . (As in Haskell, we use a double :: for type declarations and a single : for the infix list constructor, cons).
Given an expression
plus (head l) 1
we can label each subexpression with a type, using type variables X, Y, etc. for unknown types:
(plus :: Int - Int - Int) (((head :: [a] - a) (l :: Y)) :: X) (1 :: Int)
We then use unification on type variables to match the partial application of plus to its first argument against the App rule, yielding a type (Int - Int) and a substitution X = Int. Re-using App for the application to the second argument gives an overall type Int and no further substitutions. Similarly, matching App against the application (head l) we get Y = [X]. We already know X = Int so therefore Y = [Int].
This process is used both to infer types for expressions and to check that any types given by the user are consistent.
See also generic type variable, principal type.
(1995-02-03)

type scheme
A typing of an expression which may include type variables. E.g.
x . x :: a - a
where a is a generic type variable which may be instantiated to any type.
(1994-10-31)

typo
typographical error

typographical error
(typo) An error while inputting text via keyboard, made despite the fact that the user knows exactly what to type in. This usually results from the operator's inexperience at keyboarding, rushing, not paying attention, or carelessness.
Compare: mouso, thinko.
(1996-04-20)

TYPOL
A specialised logic programming language.
[ TYPOL: A Formalism to Implement Natural Semantics , T. Despeyroux, RR 94, INRIA, 1988].
(1994-10-31)

TZ
operating system The Unix environment variable containing the current time zone identifier, e.g. GMT , EST .
In early versions of Unix this variable simply contained the standard identifier for the zone, an offset in hours from GMT and an identifier to use during daylight saving time (e.g. GMT0BST ). In later systems it stores the name of a file containing the details of a particular zone such as the dates when DST is in force.
Unix manual page: ctime(3V).
(1997-07-20)

tz
networking The country code for Tanzania.
(1999-01-27)

networking The country code for the Ukraine.
(1999-01-27)

UAN
User Action Notation. A notation from VPI for representation of activity in a graphical user interface.
[H. Hartson et al, ACM Trans on Info Sys, July 1990].
(1994-10-31)

UART
Universal Asynchronous Receiver/Transmitter

UAW
spelling Misspelling of IAW ?

UBASIC
Yuji Kida kida@rkmath.rikkyo.ac.jp .
An extension of BASIC for symbolic mathematics and number theory.
UBASIC supports bignums, fractions, complex numbers, polynomials and integer factorisation. It runs under MS-DOS and is written in assembly language.
Current version: 8.
(ftp://ftp.simtel.com/math/utk/software/msdos/number.theory/ubasic/)
[Review, W.D. Neumann, Notices of AMS 36 (May/June 1989)]
[ A math-oriented high-precision BASIC , Notices of the A.M.S, 38 (Mar 1991)].
(1992-07-06)

UBD
User Brain Damage

ubiquitous computing
Computers everywhere. Making many computers available throughout the physical environment, while making them effectively invisible to the user. Ubiquitous computing is held by some to be the Third Wave of computing. The First Wave was many people per computer, the Second Wave was one person per computer. The Third Wave will be many computers per person. Three key technical issues are: power consumption, user interface, and wireless connectivity.
The idea of ubiquitous computing as invisible computation was first articulated by Mark Weiser in 1988 at the Computer Science Lab at Xerox PARC.
(http://www.ubiq.com/hypertext/weiser/weiser.html)
(1994-12-23)

uC++
Micro-C++. A extension of C++, by Peter A Ruhr pabuhr@plg.uwaterloo.ca of the University of Waterloo, with light-weight concurrency coroutines and mutual exclusion.
Version 3.7 for Unix uses GCC 2.3.3 and requires dmake 3.0+ and the setitimer and sigcontext library calls. It runs on Sequent, Sun-4, Sun-3, Ultrix, SGI, RS/6000, HP-PA.
(ftp://plg.uwaterloo.ca/pub/uSystem/u++-3.7.tar.Z)
[Software--Practice and Experience, 22(2):137-172, February 1992].
(1993-06-10)

UCB
University of California at Berkeley

U-Code
Universal Pascal Code. Intermediate language, a generalisation of P-code for easier optimisation. Developed originally for the Los Alamos Cray-1 and the Lawrence Livermore S-1. A refined version currently used by MIPS compilers is descended from one at Stanford U. Machine Independent Pascal Code Optimisation , D.R. Perkins et al, SIGPLAN Notices 14(8): 201-201 (1979). A Transporter's Guide to the Stanford U-Code Compiler System , P. Nye et al, TR CSL Stanford U, June 1983. (See HPcode).

UCS
Universal Character Set

UCSD Pascal
Pascal-P

UCS transformation format
standard, character (UTF) A set of standard character encodings in accordance with ISO 10646.
One of a set of standard character encodings, the most widely used of which are UTF-8, UTF-16, and UTF-32. The code tables in ISO 10646 and in the Unicode standard are identical, although the Unicode standard includes additional material.
UTF-8 is the most widely used encoding, at least on Unix systems. Since it does not include any bytes like ' 0' or '/' which have a special meaning in filenames and other C library function parameters, and 7-bit ASCII characters have the same encoding under both ASCII and UTF-8, the required changes to existing software are minimised.
Other UTFs: UTF-1 and UTF-7 are not widely used.
UTF-8 and Unicode FAQ for Unix/Linux (http://www.cl.cam.ac.uk/~mgk25/unicode.html#ucs)
(2002-01-15)

UCX
Universal Communications X

udb
Universal Debugger

UDF
Universal Disk Format

UDMA
ATA-4

UDP
User Datagram Protocol

uemacs
MicroEmacs. ( u looks a bit like the Greek letter micro).

UFO
language (United Functions and Objects) A hybrid functional and object-oriented language designed by John Seargant at Manchester University for general-purpose parallel computation.
To a first approximation, UFO is a strict, higher-order functional language with an object-oriented type system, and strong support for numeric computation in the form of SISAL-style arrays and loops. Parallelism is implicit, and applies at various different levels of granularity, thereby facilitating implementations on a wide range of parallel architectures.
It is planned to run it on a 64 processor KSR machine.
(1996-08-22)

ug
networking The country code for Uganda.
(1999-01-27)

UGLIAC
AN early system on the Datatron 200 series.
[Listed in CACM 2(5):16 (May 1959)].

UHELP
A linear programming system.
[ UHELP User's Manual , D. Singh, Indus Eng Dept, U Houston (Oct 1969)].

UI
Unix International

uid
programming, database
1. user identifier.
2. unique identifier - of any sort, possibly following sense 1.
Compare with SKU for sense-development.
(1998-09-27)

UIDL
Unique ID Listing

UIL
User Interface Language

UIMS
User Interface Management System: a system supporting the development and execution of user interfaces, usually on top of windowing systems.

UIMX
An interface builder for Motif from Visual Edge.

UIS
graphics, programming A VMS graphics programming interface package for VAXstations.
(1998-10-25)

uk
networking The country code for United Kingdom.
(1999-01-27)

UKC
University of Kent at Canterbury

UKERNA
United Kingdom Education and Research Networking Association

UKUUG
United Kingdom Unix Users Group

ULCC
University of London Computing Centre

Ulm's Modula-2 System
language A Modula-2 compiler, library and tools by Andreas Borchert borchert@mathematik.uni-ulm.de . The compiler is derived from the ETHZ compiler for the Lilith system. Version 2.2.1 conforms to PIM3. It requires gas version 1.36 (to be found in the same directory). Commercial use requires a licence. It runs on Sun-3, Nixdorf Targon/31, Concurrent 3200 Series.
(ftp://titania.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z)
(1992-03-02)

ULP
1. language A small structured language for use on microprocessors.
[ User's Guide to the ULP Language for the PDP-11 , CS TR 536, U Maryland, May 1977].
2. protocol Upper Layer Protocol.
(1999-02-17)

Ultra64
hardware, games A Nintendo games machine, unveiled in May 1995.
[Details?]
(1995-05-10)

Ultra-ATA
ATA-4

Ultra DMA
ATA-4

Ultra-SCSI
hardware An extension of SCSI-2 proposed by a group of manufacturers which doubles the transfer speed of Fast-SCSI to give 20MByte/s on an 8-bit connection and 40MByte/s on a 16-bit connection.
(1995-04-19)

Ultrix
operating system A version of Unix based on the Berkeley version, designed and implemented by DEC to run on their VAX and DECstation processors.
(1994-10-26)

um
networking The country code for United States minor outlying islands.
(1999-01-27)

UMB
1. Upper Memory Block.
2. A university(?).
(1996-01-10)

UMB Scheme
A Scheme system including an editor and debugger by William Campbell bill@cs.umb.edu . Conforms to the R4RS.
(ftp://nexus.yorku.ca/pub/scheme/)
(1994-10-28)

UMDL
University of Michigan Digital Library Project

UML
Unified Modeling Language

uML
Micro ML

UMTS
Universal Mobile Telecommunications System

unary
1. programming (or monadic ) A description of a function or operator which takes one argument, e.g. the unary minus operator which negates its argument. The term is part of the same sequence as nullary and binary.
2. data, humour Base one. A number base with only one digit, namely zero, and which can therefore only be used to express the number zero. Attempting to add one to zero results in an infinite sequence of carries. Numbers in unary notation can be represented particularly efficiently however since each digit requires no storage.
(2001-02-25)

UNC
networking Uniform Naming Convention.
(1995-11-09)

UNCL
Universal Naming Code Locater

UNCOL
UNiversal Computer Oriented Language. A universal intermediate language, discussed but never implemented.
[ A First Version of UNCOL , T.B. Steel, Proc JCC 19:371-378 (Winter 1961)].
[Sammet 1969, p.708].

uncompression
compression

uncountable
countable

uncurrying
programming Transforming a curried function of the form f x y z = ... to one of the form f (x,y,z) = ... , i.e. all arguments are passed as one tuple.
(1998-07-02)

undefined external reference
[Unix] A message from Unix's linker, ld. Used in speech to flag loose ends or dangling references in an argument or discussion.
[Jargon File]

underflow
programming (or floating point underflow , floating underflow , after overflow ) A condition that can occur when the result of a floating-point operation would be smaller in magnitude (closer to zero, either positive or negative) than the smallest quantity representable. Underflow is actually (negative) overflow of the exponent of the floating point quantity. For example, an eight-bit twos complement exponent can represent multipliers of 10^-128 to 10^127. A result less than 10^-128 would cause underflow.
Depending on the processor, the programming language and the run-time system, underflow may set a status bit, raise an exception or generate a hardware interrupt or some combination of these effects. Alternatively, it may just be ignored and zero substituted for the unrepresentable value, though this might lead to a later divide by zero error which cannot be so easily ignored.
(1997-08-25)

Undernet
networking An Internet Relay Chat network dating from the 1990s, when it broke away from the main (still larger) IRC network, EFNet.
Home (http://www.undernet.org/)
The History of the Undernet (http://www2.undernet.org:8080/~cs93jtl/unet_history.txt).
(1995-11-09)

underscore
character _, ASCII 95.
Common names: ITU-T: underline; underscore; underbar; under. Rare: score; backarrow; skid; INTERCAL: flatworm.
See also left arrow.
(1995-03-06)

under the hood
[hot-rodder talk] 1. The underlying implementation of a product (hardware, software, or idea). Implies that the implementation is not intuitively obvious from the appearance, but the speaker is about to enable the listener to grok it. Let's now look under the hood to see how ....
2. Can also imply that the implementation is much simpler than the appearance would indicate: Under the hood, we are just fork/execing the shell.
3. Inside a chassis, as in Under the hood, this baby has a 40MHz 68030!
[Jargon File]

undocumented feature
See feature.

U-NET Limited
A dial-up Internet access provider based in Warrington, UK. Speeds 4800 - 28.8kbps. The currently support Microsoft Windows and RISC OS users. For 12 pounds to join and 12 pounds per month or 100 pounds per year you get a full SLIP account with a pernament IP address and POP3 electronic mail account. Membership includes a disk with Mosaic, Eudora, Trumpet2, Newsreader, FTP and Telnet and full Internet access. Users can choose their own user name and hostname. Allows some extra services such as more than one POP3 account per access account. User name is significant so that a company can have accounts with the same hostname (i.e. their company name) but the mail going to diffent machines. Mail in users POP3 account is accessible from anywhere not just via the dial-up connection. On your next business trip you can still check your e-mail (provided you can get onto the Internet).
(http://www.u-net.com/)
E-mail: hi@u-net.com .
(1994-11-18)

unfold
inline

unfold/fold
A program transformation where a recursive call to a function is unfolded to an instance of the function's body and then later an instance of the function's body is replaced by a call. E.g.
sumdouble l = sum (double l)
double l = case l of
[] - []
x:xs - 2*x + double xs
== (unfold double)
sumdouble l = sum (case l of
[] - []
x:xs - 2*x : double xs)
== (distribute over case)
sumdouble l = case l of
[] - sum []
x:xs - sum (2*x : double xs)
== (unfold sum)
sumdouble l = case l of
[] - 0
x:xs - 2*x + sum (double xs)
== (fold sumdouble)
sumdouble l = case l of
[] - 0
x:xs - 2*x + sumdouble xs
(1994-11-03)

UNI
1. standard, body Ente Nazionale Italiano di Unificazione.
2. networking User Network Interface.
(1999-02-01)

Unicode
1. character A 16-bit character set standard, designed and maintained by the non-profit consortium Unicode Inc.
Originally Unicode was designed to be universal, unique, and uniform, i.e., the code was to cover all major modern written languages (universal), each character was to have exactly one encoding (unique), and each character was to be represented by a fixed width in bits (uniform).
Parallel to the development of Unicode an ISO/IEC standard was being worked on that put a large emphasis on being compatible with existing character codes such as ASCII or ISO Latin 1. To avoid having two competing 16-bit standards, in 1992 the two teams compromised to define a common character code standard, known both as Unicode and BMP.
Since the merger the character codes are the same but the two standards are not identical. The ISO/IEC standard covers only coding while Unicode includes additional specifications that help implementation.
Unicode is not a glyph encoding. The same character can be displayed as a variety of glyphs, depending not only on the font and style, but also on the adjacent characters. A sequence of characters can be displayed as a single glyph or a character can be displayed as a sequence of glyphs. Which will be the case, is often font dependent.
See also Jürgen Bettels and F. Avery Bishop's paper Unicode: A universal character code (http://research.compaq.com/wrl/DECarchives/DTJ/DTJB02/DTJB02SC.TXT).
(2002-08-06)
2. language Pre-Fortran on the IBM 1103, similar to MATH-MATIC.
[Sammet 1969, p.137].
(1997-11-15)

UniCOMAL
COMmon Algorithmic Language

unicos
A Unix variant for Cray computers.
[More details?]
(1994-12-06)

Uniface
1. database, programming, product A 4GL development environment marketed by Compuware. Uniface is database independent, with interfaces to more than 30 database management and file retrieval systems. It is currently supported on Macintosh, MS-DOS, Windows, Windows 95, Unix and VMS.
Home (http://www.compuware.com/products/uniface/).
Usenet newsgroup: news:comp.soft-sys.app-builder.uniface.
Mailing list: UNIFACE-L at listserv@ctc.ctc.edu (development and support of software using Uniface).
2. text Synonym of bitmap font.
(1999-01-05)

unification
programming The generalisation of pattern matching that is the logic programming equivalent of instantiation in logic. When two terms are to be unified, they are compared. If they are both constants then the result of unification is success if they are equal else failure. If one is a variable then it is bound to the other, which may be any term (which satisfies an occurs check ), and the unification succeeds. If both terms are structures then each pair of sub-terms is unified recursively and the unification succeeds if all the sub-terms unify.
The result of unification is either failure or success with a set of variable bindings, known as a unifier . There may be many such unifiers for any pair of terms but there will be at most one most general unifier , other unifiers simply add extra bindings for sub-terms which are variables in the original terms.
(1995-12-14)

Unified Han
Han character

Unified Modeling Language
language (UML) A non-proprietary, third generation modelling language. The Unified Modeling Language is an open method used to specify, visualise, construct and document the artifacts of an object-oriented software-intensive system under development. The UML represents a compilation of best engineering practices which have proven successful in modelling large, complex systems.
UML succeeds the concepts of Booch, OMT and OOSE by fusing them into a single, common and widely usable modelling language. UML aims to be a standard modelling language which can model concurrent and distributed systems.
UML is not an industry standard, but is taking shape under the auspices of the Object Management Group (OMG). OMG has called for information on object-oriented methodologies, that might create a rigorous software modelling language. Many industry leaders have responded in earnest to help create the standard.
See also: STP, IDE.
OMG UML Home (http://www.uml.org/).
Rational UML Resource Center (http://www.rational.com/uml/index.jsp).
(2002-01-03)

unifier
The unifier of a set of expressions is a set of substitutions of terms for variables such that the expressions are all equal.
See also most general unifier, unification.
(1994-12-06)

UNIFORM
An intermediate language developed for reverse engineering both COBOL and Fortran.
[ The REDO Compendium , H. van Zuylen ed, Wiley 1993].
(1994-12-06)

Uniform Naming Convention
networking (UNC) Used in IBM PC networking to completely specify a directory on a file server.
The basic format is:
servername sharename
where servername is the hostname of a network file server, and sharename is the name of a networked or shared directory. Note this is not the same as the conventional MS-DOS C: windows directory name. E.g.
server1 dave
might be set up to point to
C: users homedirs dave
on a server called server1 .
It is possible to execute a program using this convention without having to specifically link a drive, by running:
server share directory program.exe
The undocumented DOS command, TRUENAME can be used to find out the UNC name of a file or directory on a network drive.
(1995-11-14)

Uniform Resource Citation
World-Wide Web (URC) A set of attribute/value pairs describing an object. Some of the values may be URIs of various kinds. Others may include, for example, athorship, publisher, datatype, date, copyright status and shoe size. A URC is not normally considered as a string, but a set of fields and values with some defined free formatting.
(1995-03-24)

Uniform Resource Locater
Uniform Resource Locator

Uniform Resource Locator
World-Wide Web (URL, previously Universal ) A standard way of specifying the location of an object, typically a web page, on the Internet. Other types of object are described below. URLs are the form of address used on the World-Wide Web. They are used in HTML documents to specify the target of a hyperlink which is often another HTML document (possibly stored on another computer).
Here are some example URLs:
http://www.w3.org/default.html
http://www.acme.co.uk:8080/images/map.gif
http://www.foldoc.org/?Uniform+Resource+Locator
http://www.w3.org/default.html#Introduction
ftp://wuarchive.wustl.edu/mirrors/msdos/graphics/gifkit.zip
ftp://spy:secret@ftp.acme.com/pub/topsecret/weapon.tgz
mailto:fred@doc.ic.ac.uk
news:alt.hypertext
telnet://dra.com
The part before the first colon specifies the access scheme or protocol. Commonly implemented schemes include: ftp, http (World-Wide Web), gopher or WAIS. The file scheme should only be used to refer to a file on the same host. Other less commonly used schemes include news, telnet or mailto (e-mail).
The part after the colon is interpreted according to the access scheme. In general, two slashes after the colon introduce a hostname (host:port is also valid, or for FTP user:passwd@host or user@host). The port number is usually omitted and defaults to the standard port for the scheme, e.g. port 80 for HTTP.
For an HTTP or FTP URL the next part is a pathname which is usually related to the pathname of a file on the server. The file can contain any type of data but only certain types are interpreted directly by most browsers. These include HTML and images in gif or jpeg format. The file's type is given by a MIME type in the HTTP headers returned by the server, e.g. text/html , image/gif , and is usually also indicated by its filename extension. A file whose type is not recognised directly by the browser may be passed to an external viewer application, e.g. a sound player.
The last (optional) part of the URL may be a query string preceded by ? or a fragment identifier preceded by # . The later indicates a particular position within the specified document.
Only alphanumerics, reserved characters (:/?# %+) used for their reserved purposes and $ , - , _ , . , , + are safe and may be transmitted unencoded. Other characters are encoded as a % followed by two hexadecimal digits. Space may also be encoded as + . Standard SGML name ; character entity encodings (e.g. eacute; ) are also accepted when URLs are embedded in HTML. The terminating semicolon may be omitted if name is followed by a non-letter character.
The authoritative W3C URL specification (http://www.w3.org/hypertext/WWW/Addressing/Addressing.html).
(2000-02-17)

Uniform Resource Name
World-Wide Web (URN) 1. Any URI which is not a URL.
2. A particular scheme which is currently (1991-4) under development by the IETF, which should provide for the resolution using Internet protocols of names which have a greater persistence than that currently associated with Internet host names or organisations (as used in URLs). Uniform Resource Names will be URI schemes that improve on URLs in reliability over time, including authenticity, replication, and high availability.
When defined, a URN in sense 1 will be an example of a URN in sense 2.
(http://www.w3.org/pub/WWW/Addressing/Addressing.html)
(1995-10-27)

Uniform Resource Number
Former name for Uniform Resource Name.

Unify
database, product A relational database produced by Unify Corporation.
(1995-03-15)

unify
algorithm To perform unification.
(1995-03-15)

Unify Corporation
company Developers of the Unify relational database. At one time, before Sybase, they were a competitor of Oracle, et al.
Home (http://www.unify.com/)
(ftp://ftp.unify.com/).
(1995-03-15)

Unihan
Han character

uninstaller
operating system A utility program to remove another application program from a computer's disks.
Most commonly found on IBM PCs, as applications tend to leave files in various places on the hard disc, so special software is required to tidy up after them.
Ken Spreitzer ken@maximized.com claims to have written the original PC program called UnInstaller , first licensed to MicroHelp and now (Feb 1998) sold by CyberMedia.
Compare with installer.
(1998-02-09)

uninteresting
jargon 1. Said of a problem that, although nontrivial, can be solved simply by throwing sufficient resources at it.
2. Also said of problems for which a solution would neither advance the state of the art nor be fun to design and code.
Hackers regard uninteresting problems as intolerable wastes of time, to be solved (if at all) by lesser mortals. *Real* hackers (see toolsmith) generalise uninteresting problems enough to make them interesting and solve them - thus solving the original problem as a special case (and, it must be admitted, occasionally turning a molehill into a mountain, or a mountain into a tectonic plate).
See WOMBAT, SMOP. Compare toy problem. Oppose interesting.
[Jargon File]
(1995-03-10)

Uninterruptible Power Supply
hardware (UPS) A battery powered power supply that is guaranteed to provide power to a computer in the event of interruptions in the incoming electrical power. Different rating UPSs will provide power for different lengths of time.
Modern UPSs connect to the computer's serial port and provide information such as battery time remaining, allowing the computer to shut down gracefully before complete loss of power.
(1996-12-11)

union
1. set theory An operation on two sets which returns the set of all elements that are a member of either or both of the argument sets; normally written as an infix upper-case U symbol. The operator generalises to zero or more sets by taking the union of the current partial result (initially the empty set) with the next argument set, in any order.
For example, (a, b, c) U (c, d, e) = (a, b, c, d, e)
2. programming A type whose values may be of one of a number of other types, thet current type depending on conditions that are only known at run-time. A variable of union type must be allocated sufficient storage space to hold the largest component type. Some unions include extra information to say which type of value the union currently has (a tagged union ), others rely on the program to keep track of this independently.
A union contrasts with a structure or record which stores values of all component types at once.
3. database An SQL operator that concatenates two result sets, that must have the same number and types of columns. The operator may be followed by the word ALL to indicate that results that appear in both sets should appear twice in the output.
(2002-02-26)

Unipalm Group plc
company A company floated in March 1994.
Home (http://www.unipalm.co.uk/index.html).
(1996-12-11)

Unipress Software, Inc.
company A developer and distributor of Unix software. They produce PC-UNIX connectivity software, development tools and applications and provide technical support and maintenance, porting services, training and consulting.
Home (http://www.unipress.com/).
(1996-12-11)

uniprocessor
processor (From uni - one) A computer with a single central processing unit, in contrast to a parallel processor. Most personal computers are currently (March 1997) uniprocessors. Some more expensive computers, typically servers, have multiple processors to provide increased throughput.
See also symmetric multiprocessor and massively parallel processor.
(1997-03-23)

UNIQUE
language A portable job control language.
[ The UNIQUE Command Language - Portable Job Control , I.A. Newman, Proc DATAFAIR 73, 1973, pp. 353-357].
(1994-11-22)

Unique ID Listing
messaging (UIDL) A system used by POP3 electronic mail servers to uniquely identify a mail message. Normally, a message is identified by its position in the list of messages but this will change when an earlier message is deleted. The UIDL is a fixed string of characters which is unique to the message. The UIDL of a message never changes and will never be reused, even when the message has been deleted from the user's mailbox.
RFC 1725 (http://ds0.internic.net/rfc/rfc1725.txt).
(1997-04-16)

unique key
database A key which identifies only one body of information out of several.
(1997-04-26)

unique sales point
product (USP) A feature that the salesman hopes will convince you to buy his product instead of another.
(1999-10-21)

Unir Tech
company The company with the exclusive license from Bell Labs to distribute C+@. Unir is owned and operated by well-known anti-IETF ranter, Jim Fleming.
Telephone: +1 (800) 222-8647.
(2002-05-19)

UNISAP
An early system on UNIVAC I or II.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-22)

Unisys Corporation
company The company formed in 1984-5 when Burroughs Corporation merged with Sperry Corporation. This was when the phrase dinosaurs mating was coined.
Unisys is one of the largest providers of information services, technology, and software in the world. They employ about 49,000 people and do business in some 100 countries. In 1994 about 80 percent of revenue was derived from commercial information systems and services, with the remainder coming from electronic systems and services for the defense market. The defense business was sold to Loral in early 1995. Slightly more than half of Unisys's revenue is from business in the United States.
They specialise in providing business-critical solutions, based on open information networks, for organisations that operate in transaction-intensive environments. These organisations include financial services companies, airlines, telecommunications companies, government agencies, and other commercial enterprises.
In August 1994, quarterly sales were $1799M and profits $50M.
Home (http://www.unisys.com/)
(1995-03-21)

United Kingdom Unix Users Group
Unix, body (UKUUG)
UKUUG Home (http://www.ukuug.org/).
(2002-01-02)

United Technologies Research Cente
(UTRC) http://utrcwww.utc.com/.
(1994-11-29)

Unit Separator
character (US) ASCII character 31.
(1996-06-29)

UNITY
A high-level parallel language.
A translator into MPL is available by (ftp://sanfrancisco.ira.uka.de/pub/maspar/maspar_unity.tar.Z).
See also MasPar Unity.
[ Parallel Program Design , K.M. Chandry and Misra, A-W 1988].
(1994-11-29)

Univac
processor, company A brand of computer.
There is a historical placard in the United States Census Bureau that has the following, The Bureau of the Census dedicated the world's first electronic general purpose data processing computer, UNIVAC I, on June 14, 1951. Eckert-Mauchly Computer Corporation .
The Eckert-Mauchly Computer Corporation designed and built Univac. Over the years, rights to the Univac name changed hands several times. Circa 1987, Sperry Univac merged with the Burroughs Corporation to form Unisys Corporation.
(1994-11-22)

Universal algebra
logic The model theory of first-order equational logic.
(1997-02-25)

Universal Asynchronous Receiver/Transmitter
communications, hardware (UART) An integrated circuit used for serial communications, containing a transmitter (parallel-to-serial converter) and a receiver (serial-to-parallel converter), each clocked separately.
The parallel side of a UART is usually connected to the bus of a computer. When the computer writes a byte to the UART's transmit data register (TDR), the UART will start to transmit it on the serial line. The UART's status register contains a flag bit which the computer can read to see if the UART is ready to transmit another byte. Another status register bit says whether the UART has received a byte from the serial line, in which case the computer should read it from the receive data register (RDR). If another byte is received before the previous one is read, the UART will signal an overrun error via another status bit.
The UART may be set up to interrupt the computer when data is received or when ready to transmit more data.
The UART's serial connections usually go via separate line driver and line receiver integrated circuits which provide the power and voltages required to drive the serial line and give some protection against noise on the line.
Data on the serial line is formatted by the UART according to the setting of the UART's control register. This may also determine the transmit and receive baud rates if the UART contains its own clock circuits or baud rate generators . If incorrectly formated data is received the UART may signal a framing error or parity error .
Often the clock will run at 16 times the baud rate (bits per second) to allow the receiver to do centre sampling - i.e. to read each bit in the middle of its allotted time period. This makes the UART more tolerant to variations in the clock rate ( jitter ) of the incoming data.
An example of a late 1980s UART was the Intel 8450. In the 1990s, newer UARTs were developed with on-chip buffer space for data. This allowed higher transmission speed without data loss and without requiring such frequent attention from the computer. For example, the Intel 16550 has a 16 byte FIFO.
See also bit bang.
[Is this the same as an ACIA?]
(1995-01-12)

Universal Character Set
character, standard (UCS, ISO/IEC 10646) A 1993 ISO and IEC standard character set, also known as Universal Multiple-Octet Coded Character Set .
UCS comes in two flavours: a 16-bit variant called UCS-2 and a 32-bit variant called UCS-4, which is composed of 16-bit UCS-2 planes . So far only one 16-bit plane has been defined, which is known as the Basic Multilingual Plane.
The implementation of UCS is still in in its infancy, though some moves, such as the Java language defining a character to be 16 bits, are tale-telling.
(1997-07-04)

Universal Communications X
communications (UCX) A software implementation of the ubiquitous TCP/IP suite of communications protocols for Digital Equipment Corporation's OpenVMS operating system.
Users of the UCX product can connect to heterogeneous networks to access and download files, send electronic mail, run and develop applications, and monitor activity.
Software Product Description, DIGITAL TCP/IP Services for OpenVMS, Version 4.2 , (http://www.digital.com/info/QAW009/QAW009HM.HTM).
(2000-12-15)

Universal Debugger
tool, parallel (udb) KSR's interactive source level debugger for serial and parallel programs written in KSR, Fortran, KSR C and KSR1 assembly language.
Udb is a source level debugger for testing and debugging serial and parallel programs; it is compatible with GDB and dbx. The user can direct udb either by typing commands or graphically through an X-based window interface; the latter provides simultaneous display of source code, I/O and instructions. For parallel programs, operations can be carried out per-thread.
Home (http://www.tc.cornell.edu/Parallel.Tools/tools/udb.html).
(1995-05-07)

Universal Disk Format
storage, standard (UDF) A CD-ROM file system standard that is required for DVD ROMs. UDF is a replacement for the ISO 9660 file system used on CD-ROMs, but will be mostly used on DVD. DVD multimedia disks use UDF to contain MPEG audio and video streams.
To read DVDs you need a DVD drive, the kernel driver for the drive, MPEG video support, and a UDF driver. DVDs containing both UDF filesystems and ISO 9660 filesystems can be read without UDF support.
UDF can also be used by CD-R and CD-RW recorders in packet writing mode.
(1999-09-01)

universal quantifier
quantifier

Universal Resource Identifier
World-Wide Web (URI, originally UDI in some WWW documents) The generic set of all names and addresses which are short strings which refer to objects (typically on the Internet). The most common kinds of URI are URLs and relative URLs.
URIs are defined in RFC 1630.
W3 specification (http://www.w3.org/hypertext/WWW/Addressing/URL/URI_Overview.html).
(1997-07-16)

Universal Resource Locator
Uniform Resource Locator

Universal Serial Bus
hardware, standard (USB) An external peripheral interface standard for communication between a computer and external peripherals over an inexpensive cable using biserial transmission.
USB is intended to replace existing serial ports, parallel ports, keyboard, and monitor connectors and be used with keyboards, mice, monitors, printers, and possibly some low-speed scanners and removable hard drives. For faster devices existing IDE, SCSI, or emerging FC-AL or FireWire interfaces can be used.
USB works at 12 Mbps with specific consideration for low cost peripherals. It supports up to 127 devices and both isochronous and asynchronous data transfers. Cables can be up to five metres long and it includes built-in power distribution for low power devices. It supports daisy chaining through a tiered star multidrop topology. A USB cable has a rectangular Type A plug at the computer end and a square Type B plug at the peripheral end.
Before March 1996 Intel started to integrate the necessary logic into PC chip sets and encourage other manufacturers to do likewise. It was widely available by 1997. Later versions of Windows 95 included support for it. It was standard on Macintosh computers in 1999.
USB 2.0 is a much faster enhanced version.
usb.org (http://www.usb.org/).
(2002-01-01)

universal thunk
programming, operating system A software mechanism allowing a Windows 3.1 application to call a 32-bit dynamically linked library (DLL) under Win32s.
The Windows 3.1 application which wants to call an entry in a 32-bit DLL instead calls a corresponding entry in a 16-bit DLL. The programmer must also include code to detect whether the 32-bit DLL is loaded. A 32-bit EXE loads the 32-bit DLL.
See also Generic Thunk, Flat Thunk.
[ Calling a Win32 DLL from a Windows 3.1 Application , Win32 SDK Knowledge Base, Article ID Q97785].
[Better explanation?]
(1997-10-11)

Universal Time
time, standard (UT) The mean solar time along the prime meridian (0 longitude) that runs through the Greenwich Observatory outside of London, UK, where the current system originated. UT is tied to the rotation of the Earth in respect to the fictitious mean Sun .
Greenwich Mean Time (GMT) was measured from Greenwich mean midday until 1925 when the reference point was changed from noon to midnight and the name changed to Universal Time .
There are three separate definitions, UT0, UT1, and UT2, depending on which corrections have been applied to the Earth's motion. Coordinated Universal Time is kept within 0.9 seconds of UT1, by addition of leap seconds to International Atomic Time.
(2001-08-02)

Universal Time Coordinated
time, standard An incorrect term for Coordinated Universal Time.
(2001-08-01)

University of Arizona
body, education The University was founded in 1885 as a Land Grant institution with a three-fold mission of teaching, research and public service. Today, the University is one of the top 20 research universities in the nation, with a student enrollment of more than 35,000, a faculty and staff of 12,500, and a 345-acre campus.
Home (http://www.arizona.edu/).
Address: Tucson, Arizona, USA.

University of California at Berkeley
body, education (UCB)
See also Berzerkley, BSD.
Home (http://www.berkeley.edu/)
Note to British and Commonwealth readers: that's /berk'lee/, not /bark'lee/ as in British Received Pronunciation.
(1994-11-29)

University of Durham
body, education A busy research and teaching community in the historic cathedral city of Durham, UK (population 61000). Its work covers key branches of science and technology and traditional areas of scholarship. Durham graduates are in great demand among employers and the University helps to attract investment into the region. It provides training, short courses, and expertise for industry. Through its cultural events, conferences, tourist business and as a major employer, the University contributes in a wide social and economic sense to the community.
Founded in 1832, the University developed in Durham and Newcastle until 1963 when the independent University of Newcastle upon Tyne came into being. Durham is a collegiate body, with 14 Colleges or Societies which are a social and domestic focus for students. In 1992, the Universities of Durham and Teesside launched University College, Stockton-on-Tees, which has 190 students in the first year.
Home (http://www.dur.ac.uk/)
(1995-03-17)

University of East London
body, education (UEL) A UK University with six academic Faculties: Design and The Built Environment, East London Business School, Institute Of Health and Rehabilitation, Faculty Of Science, Social Sciences and Technology.
Home (http://www.uel.ac.uk/)
(1994-11-29)

University of Edinburgh
body, education A university in the centre of Scotland's capital. The University of Edinburgh has been promoting and setting standards in education for over 400 years. Granted its Royal Charter in 1582 by James VI, the son of Mary Queen of Scots, the University was founded the following year by the Town Council of Edinburgh, making it the first post-Reformation university in Scotland, and the first civic university to be established in the British Isles.
Known in its early years as King James College, or the Tounis (Town's) College, the University soon established itself internationally, and by the 18th century Edinburgh was a leading centre of the European Enlightenment and one of the continent's principal universities. The University's close relationship with the city in which it is based, coupled with a forward-looking, international perspective, has kept Edinburgh at the forefront of new research and teaching developments whilst enabling it to retain a uniquely Scottish character.
Edinburgh's academics are at the forefront of developments in the study and application of languages, medicine, micro-electronics, biotechnology, computer-based disciplines and many other subjects. Edinburgh's standing as a world centre for research is further enhanced by the presence on and around University precincts of many independently-funded, but closely linked, national research institutes
Home (http://www.ed.ac.uk/)
Address: Old College, South Bridge, Edinburgh, Scotland EH8 9YL, UK.
Telephone: +44 (131) 650 1000.
See also ABSET, ABSYS, Alice, ASL+, Baroque, C++Linda, Cogent Prolog, COWSEL, Echidna, Edinburgh Prolog, Edinburgh SML, EdML, ELLIS, ELSIE, ESLPDPRO, Extended ML, Hope, IMP, LCF, Lisp-Linda, Marseille Prolog, metalanguage, MIKE, ML, ML Kit, ML-Linda, Multipop-68, Nuprl, Oblog, paraML, Pascal-Linda, POP-1, POP-2, POPLER, Prolog, Prolog-2, Prolog-Linda, Scheme-Linda, Skel-ML, Standard ML, Sticks Stones, supercombinators, SWI-Prolog, tail recursion modulo cons, WPOP.
(1995-12-29)

University of Hawaii
body, education A University spread over 10 campuses on 4 islands throughout the state.
Home (http://www.hawaii.edu/uhinfo.html)
See also Aloha, Aloha Net.
(1995-12-10)

University of Iceland
body, education The Home of Fjolnir.
Háskóli íslands.
Home (http://www.rhi.hi.is/)
(1995-03-17)

University of London Computing Centre
body, education (ULCC) One of the UK's national high performance computing centres. It provides networking services and large-scale computing facilities which are used by researchers from all over the UK.
ULCC was founded in 1968 to provide a service for education and research. It has been at the forefront of advanced research computing since its foundation, initially providing large-scale CDC-based facilities, then from 1982 to 1991 a national Cray vector supercomputing service. Its high performance computing facilities are now centred on a 6 processor, 4 Gbyte Convex C3860 supercomputer (Neptune) with a Convex C3200 front-end (Pluto).
ULCC is the main site for national and international network connections in the UK. They run the Network Operations and Service Centre for the JANET Internet Protocol Service (JIPS), the largest of the JANET NOCs and various international links and relays on behalf of UKERNA.
ULCC's pilot National Data Repository service provides a network-accessible digital archive and filestore, based on a robotic tape system with 6 Terabytes of storage. Although the data is stored on tape, you can access it very quickly, as if it were on-line. It is made available to you via high-speed links to the JANET and SuperJANET networks.
Home (http://www.ulcc.ac.uk/)
(1994-11-29)

University of Michigan
body, education A large cosmopolitan university in the Midwest USA. Over 50000 students are enrolled at the University of Michigan's three campuses. The students come from 50 states and over 100 foreign countries. 70% of the University's students graduated in the top 10% of their high school class. 90% rank in the top 20% of their high school class. 60% of the students receive financial aid.
The main Ann Arbor Campus lies in the Huron River valley, 40 miles west of Detroit. The campus boasts 2700 acres with 200 buildings, six million volumes in 23 libraries, nine museums, seven hospitals, hundreds of laboratories and institutes, and over 18000 microcomputers.
Home (http://www.umich.edu/)
(1995-02-23)

University of Michigan Digital Library Project
project (UMDL) The University of Michigan's part of the Digital Library Initiative.

University of Minnesota
body, education The home of Gopher.
Home (http://www.umn.edu/)
Address: Minneapolis, Minnesota, USA.
(1995-01-30)

University of Nijmegen
body, education Katholieke University of Nijmegen (KUN), Nijmegen, the Netherlands.
KUN's Computing Science Institute (http://www.cs.kun.nl/csi) is known for the Clean, Comma, Communicating Functional Processes, and GLASS projects.
Home (http://www.kun.nl/)
(1995-11-07)

University of Pennsylvania
body, education The home of ENIAC and Machiavelli.
Home (http://www.upenn.edu/)
Address: Philadelphia, PA, USA.
[More info?]
(1995-02-21)

University of Tasmania
body, education
Home (ftp://ftp.utas.edu.au/).
(1995-01-25)

University of Twente
body, education A university in the east of The Netherlands for technical and social sciences. It was founded in 1961, making it one of the youngest universities in The Netherlands. It has 7000 students studying Applied Educational Science; Applied Mathematics; Applied Physics; Chemical Technology; Computer Science; Electrical Engineering; Mechanical Engineering; Philosophy of science, Technology and Society; Educational Technology.
Home (http://www.nic.utwente.nl/uthomuk.htm)
(1995-04-16)

Unix
operating system /yoo'niks/ (Or UNIX , in the authors' words, A weak pun on Multics ) Plural Unices . An interactive time-sharing operating system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a co-author of the system.
The turning point in Unix's history came when it was reimplemented almost entirely in C during 1972 - 1974, making it the first source-portable OS. Unix subsequently underwent mutations and expansions at the hands of many different people, resulting in a uniquely flexible and developer-friendly environment.
By 1991, Unix had become the most widely used multi-user general-purpose operating system in the world. Many people consider this the most important victory yet of hackerdom over industry opposition (but see Unix weenie and Unix conspiracy for an opposing point of view).
Unix is now offered by many manufacturers and is the subject of an international standardisation effort [called?]. Unix-like operating systems include AIX, A/UX, BSD, Debian, FreeBSD, GNU, HP-UX, Linux, NetBSD, NEXTSTEP, OpenBSD, OPENSTEP, OSF, POSIX, RISCiX, Solaris, SunOS, System V, Ultrix, USG Unix, Version 7, Xenix.
Unix or UNIX ? Both seem roughly equally popular, perhaps with a historical bias towards the latter. UNIX is a registered trademark of The Open Group, however, since it is a name and not an acronym, Unix has been adopted in this dictionary except where a larger name includes it in upper case. Since the OS is case-sensitive and exists in many different versions, it is fitting that its name should reflect this.
The UNIX Reference Desk (http://www.geek-girl.com/unix.html).
Spanish fire extinguisher (ftp://linux.mathematik.tu-darmstadt.de/pub/linux/people/okir/unix_flame.gif).
[Jargon File]
(2001-05-14)

Unix box
box

Unix brain damage
Something that has to be done to break a network program (typically a mailer) on a non-Unix system so that it will interoperate with Unix systems. The hack may qualify as Unix brain damage if the program conforms to published standards and the Unix program in question does not. Unix brain damage happens because it is much easier for other (minority) systems to change their ways to match non-conforming behaviour than it is to change all the hundreds of thousands of Unix systems out there.
An example of Unix brain damage is a kluge in a mail server to recognise bare line feed (the Unix newline) as an equivalent form to the Internet standard newline, which is a carriage return followed by a line feed. Such things can make even a hardened jock weep.
[Jargon File]

Unix conspiracy
[ITS] According to a conspiracy theory long popular among ITS and TOPS-20 fans, Unix's growth is the result of a plot, hatched during the 1970s at Bell Labs, whose intent was to hobble AT T's competitors by making them dependent upon a system whose future evolution was to be under AT T's control. This would be accomplished by disseminating an operating system that is apparently inexpensive and easily portable, but also relatively unreliable and insecure (so as to require continuing upgrades from AT T). This theory was lent a substantial impetus in 1984 by the paper referenced in the back door entry.
In this view, Unix was designed to be one of the first computer viruses (see virus) - but a virus spread to computers indirectly by people and market forces, rather than directly through disks and networks. Adherents of this Unix virus theory like to cite the fact that the well-known quotation Unix is snake oil was uttered by DEC president Kenneth Olsen shortly before DEC began actively promoting its own family of Unix workstations. (Olsen now claims to have been misquoted.)

Unix International
body (UI) A consortium including Sun, AT T and others formed to promote an open environment based on Unix System V, including the Open Look windowing system.

Unixism
operating system, jargon A piece of code or a coding technique that depends on the protected multitasking environment with relatively low process-spawn overhead that exists on virtual-memory Unix systems.
Common Unixisms include: gratuitous use of fork ; the assumption that certain undocumented but well-known features of Unix libraries such as stdio are supported elsewhere; reliance on obscure side-effects of system calls (use of sleep with a 0 argument to tell the scheduler that you're willing to give up your time-slice, for example); the assumption that freshly allocated memory is zeroed; and the assumption that fragmentation problems won't arise from never freeing memory.
Compare vaxocentrism. See also New Jersey.
[Jargon File]
(1995-02-27)

Unix man page
Unix manual page

Unix manual page
operating system (Or man page ) A part of Unix's extensive on-line documentation. To read a manual page, type
man [-s section ] page
at a shell prompt, e.g. man ftp (the section number can usually be omitted). Pages are traditionally referred to using the notation page(section) , e.g. ftp(1).
Under SunOS (which is fairly typical), Section 1 covers commands, 2 system calls, 3 C library routines, 4 devices and networks, 5 file formats, 6 games and demos, 7 miscellaneous, 8 system administration. Each section has an introduction which can be obtained with, e.g., man 2 intro .
Manual pages are stored as nroff source files. Formatted versions are also usually cached.
Unix manual page: man(1).
A Linux man gateway (http://www.foldoc.org/man.cgi).
A Solaris man gateway (http://www.medsch.wisc.edu/cgi-bin/pdm/man.pl).
(2000-03-13)

Unix System V
System V

Unix to Unix Copy
networking, messaging (uucp) A Unix utility program and protocol that allows one Unix system to send files to another via a serial line which may be a cable going directly from one machine's serial port to another's or may involve a modem at each end of a telephone line.
Software is also available to allow uucp to work over Ethernet though there are better alternatives in this case, e.g. FTP or rcp for file transfer, SMTP for electronic mail or NNTP for news.
The term is now also used to describe the large international network which uses UUCP to pass Usenet news and electronic mail, also known as UUCPNET .
Unix manual page: uucp(1).
See also cu, uuencode.
(1997-01-12)

UnixWare
operating system Novell's implementation of Unix System 5 heavily based on Release 4.2 but with enhancements and new bundled products.
In 1993 Novell acquired Unix Systems Laboratories from AT T along with the Unix trademark. UnixWare was the result of Novell's efforts to make Unix interoperable with Novell NetWare.
In 1995 Novell sold UnixWare and the rights to the Unix operating system to SCO at a time when UnixWare was gainnig popularity. It was later the first 64-bit operating system on the Intel platform, and, in 1999, is the world's fastest-growing commercial operating system.
[Any connection with X/Open? URL?]
(1999-11-10)

Unix weenie
jargon (ITS) 1. A derogatory play on Unix wizard , common among hackers who use Unix by necessity but would prefer alternatives. The implication is that although the person in question may consider mastery of Unix arcana to be a wizardly skill, the only real skill involved is the ability to tolerate (and the bad taste to wallow in) the incoherence and needless complexity that is alleged to infest many Unix programs. This shell script tries to parse its arguments in 69 bletcherous ways. It must have been written by a real Unix weenie.
2. A derogatory term for anyone who engages in uncritical praise of Unix. Often appearing in the context stupid Unix weenie .
See Weenix, Unix conspiracy, weenie.
[Jargon File]
(1995-02-27)

Unix wizard
job Someone with a deep understanding of Unix.
See wizard.
(1995-05-11)

unnormalised
normalisation

unproto
A translator from ANSI C to K R C by Wietse Venema wietse@wzv.win.tue.nl .
(ftp://ftp.win.tue.nl/pub/Unix/unproto4.shar.Z)

unshar
A Unix utility that removes e-mail and news header lines from its input, and feeds the remainder (which is presumed to be a shar file) to /bin/sh to unpack it. unshar is designed for unpacking archives directly from the news or mail systems simply by piping a message into it.

unshielded twisted pair
(UTP) Normal telephone wire (in the USA). It may be used for computer to computer communications, e.g. using a version of Ethernet or localtalk. It is much cheaper than standard full-spec Ethernet cable.
(1995-02-15)

unswizzle
The opposite of swizzle.
[Jargon File]
(1995-02-15)

unwind-protect
(MIT) A Lisp operator which evaluates an expression and then, even if that expression causes a non-local exit, evaluates zero or more other expressions. This can be used to ensure that essential clean-up operations are performed even in the presence of errors.
[Jargon File]
(1994-11-03)

unwind the stack
During the execution of a procedural language, one is said to unwind the stack from a called procedure up to a caller when one discards the stack frame and any number of frames above it, popping back up to the level of the given caller. In C this is done with longjmp / setjmp , in Lisp with throw/catch . See also smash the stack.
[Jargon File]

UN*X
operating system, convention Used to refer to the Unix operating system (a trademark of AT T) in writing, but avoiding the need for the ugly (TM) typography. Also used to refer to any or all varieties of Unixoid operating systems. Ironically, lawyers now say that the requirement for the TM-postfix has no legal force, but the asterisk usage is entrenched anyhow.
It has been suggested that there may be a psychological connection to practice in certain religions (especially Judaism) in which the name of the deity is never written out in full, e.g. YHWH or G--d is used.
See also glob.
(1998-04-17)

unzip
1. tool, compression To extract files from an archive created with PKWare's PKZIP archiver.
2. tool, compression A program to list, test, or extract files from a ZIP archive, commonly found on MS-DOS systems. zip, creates ZIP archives; both programs are compatible with archives created by PKWARE's PKZIP and PKUNZIP for MS-DOS.
(1995-03-06)

up
jargon Working, in order. E.g. The down escalator is up.
Opposite: down.
[Jargon File]
(1995-03-06)

uparrow
character The graphic which the 1963 version of ASCII had in place of the caret character, ASCII 94.
(1995-03-06)

uparrow
character An upward pointing arrow in LaTeX.
See closure.
(1995-03-16)

UPenn
University of Pennsylvania

upgradability
jargon (Or upgradeability ) How easily upgrades to a system can be produced and applied. E.g. Buying a PC with more PCI slots gives you increased upgradeability.
(1999-10-11)

upgrade
1. A new or better version of some hardware or software.
Often used in marketroid-speak to mean bug fix .
2. The act of developing or installing a new version.
(1995-03-14)

upgradeability
upgradability

upload
/uhp'lohd/ To transfer programs or data over a digital communications link from a smaller or peripheral client system to a larger or central host one.
Opposite: download.
[Jargon File]
(1994-10-27)

UPMAIL Tricia Prolog
(ftp://ftp.csd.uu.se/pub/Tricia/README)
E-mail: tricia-request@csd.uu.se .
[Description?]
(1994-10-27)

upper bound
An upper bound of two elements x and y under some relation = is an element z such that x = z and y = z.
( = is written in LaTeX as sqsubseteq).
See also least upper bound.
(1995-02-15)

Upper Layer Protocol
protocol 1. (ULP, or upper-layer protocol) Any protocol residing in OSI layers five or above.
The Internet protocol suite includes many upper layer protocols representing a wide variety of applications e.g. FTP, NFS, RPC, and SMTP. These and other network applications use the services of TCP/IP and other lower layer protocols to provide users with basic network services.
2. A protocol higher in the OSI reference model than the current reference point. Upper Layer Protocol is often used to refer to the next-highest protocol in a particular protocol stack.
(1999-02-17)

upper memory block
storage (UMB) Up to 64 kilobytes of the expanded memory page frame above the first 64 kilobytes. The UMB can be used to store TSR programs or device drivers thereby freeing parts of the precious conventional memory. The UMB is provided by special memory manager programs; many EMMs can provide UMB as well.
(1996-01-10)

Upper Side-Band modulation
communications (USB) A kind of modulation applied to a sinusoidal carrier.
[Details?]
(1997-07-16)

Upright Database Technology AB
company The Swedish company that developed the Mimer SQL database.
(2002-06-03)

UPS
1. uninterruptible power supply.
2. A source level C debugger that runs under X11 or SunView by Mark Russell mtr@ukc.ac.uk . Ups includes a C interpreter which allows you to add fragments of code simply by editing them into the source window. Version 2.1.
Ported to Sun, DECstation, VAX Ultrix, HLH Clipper.
(ftp://export.lcs.mit.edu/contrib/). Mailing list: ups-users-request@ukc.ac.uk.
Unofficial enhancements by Rod Armstrong rod@sj.ate.slb.com (ftp://sj.ate.slb.com/misc/Unix/ups/contrib/rob).
(1991-05-20)

upstream
networking Fewer network hops away from a backbone or hub. For example, a small ISP that connects to the Internet through a larger ISP that has their own connection to the backbone is downstream from the larger ISP, and the larger ISP is upstream from the smaller ISP.
(1999-08-05)

upthread
Earlier in the discussion (see thread), i.e. above . See also followup.
[Jargon File]

upward closure
See closure.

Uranus
Hideyuki Nakashima nakashim@el.go.jp , 1993. A logic-based knowledge representation language. An extension of Prolog written in Common Lisp, with Lisp-like syntax. Extends Prolog with a multiple world mechanism, plus term descriptions to provide functional programming.
(ftp://etlport.etl.go.jp/pub/uranus/ftp)

urban legend
publication A story, which may have started with a grain of truth, that has been embroidered and retold until it has passed into the realm of myth. It is an interesting phenomenon that these stories get spread so far, so fast and so often. Urban legends never die, they just end up on the Internet! Some legends that periodically make their rounds include The Infamous Modem Tax , Craig Shergold/Brain Tumor/Get Well Cards , and The $250 Cookie Recipe .
(1996-05-08)

URC
Uniform Resource Citation (previously Universal).

urchin
See munchkin.
[Jargon File]

URI
Universal Resource Identifier

URL
Uniform Resource Locator

URL forwarding
URL redirection

URL redirection
World-Wide Web (Or URL forwarding )
When a web server tells the client browser to obtain a certain requested page from a different location. This is controlled by directives in the server's configuration files or a Location: header output by a CGI script.
The web server stores all its documents in a directory tree rooted at some configured directory, known as its document root . Normally the URI part of the URL (the part after the hostname) is used as a relative path from the document root to the desired file or directory. A redirect directive allows the server administrator to specify exceptions to this general mapping from URL to file name by telling the browser try this URL instead . The new URL may be on the same server or a different one and may itself be subject to redirection.
The user is normally unaware of this process except that it may introduce extra delay while the browser sends the new request and the browser will usually display the new URL rather than the one the user originally requested.
(1997-07-15)

URN
Uniform Resource Name (previously Uniform/Universal Resource Number).

URouLette
(After URL and roulette, the gambling game) A World-Wide Web service which selects other web pages at random.
(http://kuhttp.cc.ukans.edu/cwis/organizations/kucia/uroulette/uroulette.html)
(1994-11-24)

US
Unit Separator

us
networking The country code for the United States.
Usually used only by schools, libraries, and some state and local governments. Other US sites, and many international ones, use the non-national top-level domains .com, .edu etc.
(1999-01-27)

usability
programming The effectiveness, efficiency, and satisfaction with which users can achieve tasks in a particular environment of a product. High usability means a system is: easy to learn and remember; efficient, visually pleasing and fun to use; and quick to recover from errors.
(http://www.orrnet.com/).
(1999-04-01)

USAModSim
language United States Army ModSim compiler.
Version 1.0 runs on SPARC/SunOS, Silicon Graphics, MS-DOS.
(ftp://max.cecer.army.mil/ftp/isle)
E-mail: Charles Herring herring@lincoln.cecer.army.mil .
(1993-12-29)

usa.net
Internet Express

US-ASCII
character The 7-bit version of ASCII, which preceded (and is the basis for) 8-bit versions such as Latin-1, MacASCII and later, even larger coded character sets such as Unicode.
US-ASCII is defined in Standard ANSI X3.4-1986, US-ASCII. Coded Character Set - 7-Bit American Standard Code for Information Interchange .
(1998-10-18)

USB
1. architecture Universal Serial Bus.
2. communications Upper Side-Band modulation.
(1997-07-16)

USB Adapter Card Support
communications, software A set of software extensions that provide support for USB adapter cards installed in the PCI bus or Cardbus slots in Macintosh computers that do not have built-in USB ports.
(2001-11-28)

USE
An early system on the IBM 1103 or 1103A.
[Listed in CACM 2(5):16 (May 1959)].
(1994-11-11)

Usenet
messaging /yoos'net/ or /yooz'net/ (Or Usenet news , from Users' Network ) A distributed bulletin board system and the people who post and read articles thereon. Originally implemented in 1979 - 1980 by Steve Bellovin, Jim Ellis, Tom Truscott, and Steve Daniel at Duke University, and supported mainly by Unix machines, it swiftly grew to become international in scope and, before the advent of the World-Wide Web, probably the largest decentralised information utility in existence.
Usenet encompasses government agencies, universities, high schools, businesses of all sizes, and home computers of all descriptions. In the beginning, not all Usenet hosts were on the Internet. As of early 1993, it hosted over 1200 newsgroups ( groups for short) and an average of 40 megabytes (the equivalent of several thousand paper pages) of new technical articles, news, discussion, chatter, and flamage every day. By November 1999, the number of groups had grown to over 37,000.
To join in you originally needed a news reader program but there are now several web gateways such as Deja (http://www.deja.com/). Several web browsers include news readers and URLs beginning news: refer to Usenet newsgroups.
Network News Transfer Protocol is a protocol used to transfer news articles between a news server and a news reader. The uucp protocol was sometimes used to transfer articles between servers, though this is probably rare now that most sites are on the Internet.
Stanford University runs a service to send news articles by electronic mail. Send electronic mail to netnews@db.stanford.edu with help in the message body. [Still? URL?]
(http://www.openmarket.com/info/internet-index/current-sources.html)
Notes on news (http://www.ifi.uio.no/~larsi/notes/notes.html) by Lars Magne Ingebrigtsen larsi@ifi.uio.no .
[Gene Spafford spaf@cs.purdue.edu , What is Usenet? , regular posting to news:news.announce.newusers].
(1999-12-17)

Usenet news
Usenet

Usenetter
networking A (regular) user of Usenet.
(1996-09-08)

USENIX
body Since 1975, the USENIX Association has provided a forum for the communication of the results of innovation and research in Unix and modern open systems. It is well known for its technical conferences, tutorial programs, and the wide variety of publications it has sponsored over the years.
USENIX is the original not-for-profit membership organisation for individuals and institutions interested in Unix and Unix-like systems, by extension, X, object-oriented technology, and other advanced tools and technologies, and the broad interconnected and interoperable computing environment.
USENIX's activities include an annual technical conference; frequent specific-topic conferences and symposia; a highly regarded tutorial program covering a wide range of topics, introductory through advanced; numerous publications, including a book series, in cooperation with The MIT Press, on advanced computing systems, proceedings from USENIX symposia and conferences, the quarterly journal Computing Systems , and the biweekly newsletter; login: ; participation in various ANSI, IEEE and ISO standards efforts; sponsorship of local and special technical groups relevant to Unix. The chartering of SAGE, the System Administrators Guild as a Special Technical Group within USENIX is the most recent.
(http://usenix.org)
Usenet newsgroup: news:comp.org.usenix.
(1994-12-07)

user
1. person Someone doing real work with the computer, using it as a means rather than an end. Someone who pays to use a computer. A programmer who will believe anything you tell him. One who asks silly questions without thinking for two seconds or looking in the documentation. Someone who uses a program, however skillfully, without getting into the internals of the program. One who reports bugs instead of just fixing them. See also luser, real user.
Users are looked down on by hackers to some extent because they don't understand the full ramifications of the system in all its glory. The term is relative: a skilled hacker may be a user with respect to some program he himself does not hack. A LISP hacker might be one who maintains LISP or one who uses LISP (but with the skill of a hacker). A LISP user is one who uses LISP, whether skillfully or not. Thus there is some overlap between the two terms; the subtle distinctions must be resolved by context.
2. jargon Any person, organisation, process, device, program, protocol, or system which uses a service provided by others.
The term client (as in client-server systems) is rather more specific, usually implying two processes communicating via some protocol.
[Jargon File]
(1996-04-28)

user base
jargon The number of users of some product or standard.
This term typically arises in discussions of backward compatibility or lock-in.
(1998-01-15)

User Brain Damage
humour (UBD) A description (usually abbreviated) used to close a trouble report obviously due to utter cluelessness on the user's part. Compare pilot error; opposite: PBD; see also brain-damaged, PEBCAK.
(1998-08-27)

User Datagram Protocol
protocol (UDP) Internet standard network layer, transport layer and session layer protocols which provide simple but unreliable datagram services. UDP is defined in STD 6, RFC 768. It adds a checksum and additional process-to-process addressing information [to what?]. UDP is a connectionless protocol which, like TCP, is layered on top of IP.
UDP neither guarantees delivery nor does it require a connection. As a result it is lightweight and efficient, but all error processing and retransmission must be taken care of by the application program.
Unix manual page: udp(4).
[Postel, Jon, User Datagram Protocol, RFC 768, Network Information Center, SRI International, Menlo Park, Calif., August 1980].
(1998-02-11)

user-friendly
Programmer-hostile. Generally used by hackers in a critical tone, to describe systems that hold the user's hand so obsessively that they make it painful for the more experienced and knowledgeable to get any work done. See menuitis, drool-proof paper, Macintrash, user-obsequious.
[Jargon File]

user id
user identifier

user identifier
operating system 1. (Or uid , user id ) A number or name which is unique to a particular user of a computer or group of computers which share user information. The operating system uses the uid to represent the user in its data structures, e.g. the owner of a file or process, the person attempting to access a system resource etc.
A user database, e.g. Unix's /etc/passwd file or NIS, maps the uid to other information about that user such as their user name, password, home directory and real name.
2. user name.
(1997-03-01)

user interface
The aspects of a computer system or program which can be seen (or heard or otherwise perceived) by the human user, and the commands and mechanisms the user uses to control its operation and input data.
A graphical user interface emphasises the use of pictures for output and a pointing device such as a mouse for input and control whereas a command line interface requires the user to type textual commands and input at a keyboard and produces a single stream of text as output.
See also user interface copyright.
(1995-02-20)

user interface copyright
There have been several attempts, mostly by big US software companies, to enforce patents and copyright on user interfaces. Such legal action aims to restrict the use of certain command languages or graphical user interfaces to products from one software supplier. This is undesirable because it either forces users to buy software from the company whose interface they have learned or to learn more than one interface. An analogy is often drawn with the user interface of a car - the arrangement of pedals and steering wheel etc. If each car manufacturer was forced to use a different interface this would be very bad for car users.
Following a non-jury trial, which began in early January 1987, a federal judge ruled on 28 June 1990 that keyboard commands and on-screen images produced by Lotus Development Corporation's popular 1-2-3 spreadsheet are protected by copyright. Paperback Software International and subcontractor Stephenson Software Ltd. who lost the case, argued that the copyright applies only to the inner workings of the software. US District Judge Robert Keeton wrote that The user interface of 1-2-3 is its most unique element and is the aspect that has made 1-2-3 so popular. That defendants went to such trouble to copy that element is a testament to its substantiality . Defence attorneys had argued that the Lotus commands represented instructions for a machine rather than the expression of an idea .
Soon after this decision, on 2 July 2 1990, Lotus sued Borland International and the Santa Cruz Operation for producing spreadsheets (Quattro, Quattro Pro and SCO Professional) whose interfaces could be configured to look like 1-2-3's.
(1994-11-16)

User Interface Language
language, graphics (UIL) A language for specifying widget hierarchies etc. in OSF/Motif and DECwindows.
(1997-03-01)

user name
operating system, security (Or logon ) A unique name for each user of computer services which can be accessed by several persons.
Users need to identify themselves for accounting, security, logging, and resource management. Usually a person must also enter a password in order to access a service. Once the user has logged on the operating system will often use a (short) user identifier, e.g. an integer, to refer to them rather than their user name.
User names can usually be any short string of alphanumeric characters. Common choices are first name, initials, or some combination of first name, last name, initials and an arbitrary number. User names are often assigned by system administrators according to some local policy, or they may be chosen by the users themselves.
User names are often also used as mailbox names in electronic mail addresses.
(1997-03-16)

User Network Interface
communications, networking (UNI) An interface point between ATM end users and a private ATM switch, or between a private ATM switch and the public carrier ATM network.
The physical and protocol specifications for UNIs are defined by the ATM Forum's UNI documents, which allow for various types of physical interfaces.
See also: NNI
(1999-01-23)

user-obsequious
jargon Emphatic form of user-friendly. Connotes a system so verbose, inflexible, and determinedly simple-minded that it is nearly unusable. Design a system any fool can use and only a fool will want to use it.
See WIMP, Macintrash.
See also user-unctuous.
[Jargon File]
(1999-06-27)

user-unctuous
jargon (By analogy with user-friendly and user-obsequious) User-interfaces that attempt to soothe (or, some would say, stupify) users instead of cooperating with them. Common features of user-unctuous systems include: icons of happy faces; mellow colors; melodic sound effects or even mood music; help tips appearing unbidden and at unhelpful moments; and a cloying tone either in system messages ( Oops! I couldn't seem to find my old preferences file! I do think I'll have to make a new one! Please press OK to continue! ) or in labelling of system components (such as the main hard drive being labelled Your Hard Drive -- or, with infantile pronoun-reversal, My Hard Drive ).
(1999-06-27)

Use the Source Luke
humour, programming (UTSL) (A pun on Obi-Wan Kenobi's Use the Force, Luke! in Star Wars ) A more polite version of RTFS. This is a common way of suggesting that someone would be better off reading the source code that supports whatever feature is causing confusion, rather than making yet another futile pass through the manuals, or broadcasting questions on Usenet that haven't attracted wizards to answer them.
Once upon a time in Elder Days, everyone running Unix had source. After 1978, AT T's policy tightened up, so this objurgation was in theory appropriately directed only at associates of some outfit with a Unix source licence. In practice, bootlegs of Unix source code (made precisely for reference purposes) were so ubiquitous that one could utter it at almost anyone on the network without concern.
Nowadays, free Unix clones are becoming common enough that almost anyone can read source legally. The most widely distributed is probably Linux. FreeBSD, NetBSD, 386BSD, jolix also have their followers. Cheap commercial Unix implementations with source such as BSD/OS from BSDI are accelerating this trend.
(1996-01-02)

USG Unix
operating system /U-S-G yoo'niks/ Refers to AT T Unix commercial versions after Version 7, especially System III and System V releases 1, 2, and 3. So called because during most of the lifespan of those versions AT T's support crew was called the Unix Support Group .
Compare BSD.
[Jargon File]
(1997-02-20)

usim
A Motorola 6809 simulator. Version 0.11 by Ray P. Bellis rpb@psy.ox.ac.uk .
(ftp://ftp.cns.ox.ac.uk/pub/mc6809/)
(1993-02-14)

USL
1. Query language, close to natural English.
2. User System Language. Bellcore, Operations Technology Generic Requirements: User System Interface , TR-825.
3. Unix System Laboratories: the software subsidiary of AT T, responsible for Unix System V and related software.

USP
unique sales point

USR
U.S. Robotics, Inc.

usr
User. The /usr directory hierarchy on Unix systems. Once upon a time, in the early days of Unix, this area actually held users' home directories and files. Since these tend to expand much faster than system files, /usr would be mounted on the biggest disk on the system. The root directory, / in contrast, contains only what is needed to boot the kernel, after which /usr and other disks could be mounted as part of the multi-user start-up process.
/usr has been used as the everything else area, with many system files such as compiler libraries (/usr/include, /usr/lib), utilty programs (/usr/bin, /usr/ucb), games (/usr/games), local additions (/usr/local), manuals (/usr/man), temporary files and queues for various daemons (/usr/spool). These optional extras have grown in size as Unix has evolved and disks have dropped in price. Under later versions of SunOS, the user files have fled /usr altogether for a new /home partition and temporary files have moved to /var . This allows /usr to be mounted read-only with some gain in security and performance since access times are not updated for files on read-only file systems.

US Robotics
U.S. Robotics, Inc.

U.S. Robotics, Inc.
company A US modem manufacturer.
Home (http://www.usr.com/)
(ftp://ftp.usr.com/)
Finger: usr.com.
E-mail: support@usr.com , salesinfo@usr.com (USA and Canada), eurosupport@usr.com , eurosales@usr.com (Europe), intlsales@usr.com (other).
(1995-03-14)

USSA
Object-oriented state language by B. Burshteyn, Pyramid, 1992.
Documentation (ftp://primost.cs.wisc.edu/pub/ussa.ps.Z)

UTC
Coordinated Universal Time

UTF
UCS transformation format

UTF-8
character (UCS transformation format 8) An ASCII-compatible multibyte Unicode and UCS encoding, used by Java and Plan 9.
The Unicode character set occupies a 16-bit code space. The most obvious Unicode encoding (known as UCS-2) consists of a sequence of 16-bit words. Such strings can contain bytes like ' 0' or '/' which have a special meaning in filenames and other C library function parameters. In addition, the majority of Unix tools expects ASCII files and can't read 16-bit words as characters without major modifications. For these reasons, UCS-2 is not a suitable external encoding of Unicode in filenames, text files, environment variables, etc.
The ISO 10646 Universal Character Set (UCS), a superset of Unicode, occupies a 31-bit code space and the obvious UCS-4 encoding for it (a sequence of 32-bit words) has the same problems.
The UTF-8 encoding of Unicode and UCS avoids the problems of fixed-length Unicode encodings because an ASCII file encoded in UTF is exactly same as the original ASCII file and all non-ASCII characters are guaranteed to have the most significant bit set (bit 0x80). This means that normal tools for text searching etc. work as expected.
UTF-8 is defined in RFC 2279.
[ File System Safe UCS Transformation Format (FSS_UTF) , X/Open Preliminary Specification, X/Open Company Ltd., Document Number: P316. This information also appears in ISO/IEC 10646, Annex P].
Plan 9 UTF manual entry (ftp://ftp.uu.net/doc/obi/Bell.Labs/plan9pm/09utf.ps.Z).
(1998-07-29)

utility-coder
language A language for data manipulation and report generation.
[ User's Manual for utility-coder , Cambridge Computer Association, Jul 1977].
(1997-12-09)

UTOPIST
E. Tyugu, Acad Sci Estonia, Tallinn, early 1980's. Specification language for attribute grammars.
[ Synthesis of a Semantic Processor from an Attribute Grammar , Prog and Comp Soft, 9(1):29-39 (Jan 1983)].

UTP
unshielded twisted pair

UTRC
United Technologies Research Cente

UTSL
humour Use the Source Luke
[Jargon File]
(1996-01-02)

uucp
Unix to Unix Copy

UUCPNET
The international store and forward network consisting of all the world's connected Unix machines (and others running some clone of the UUCP software). Any machine reachable only via a bang path is on UUCPNET. See network address.
[Jargon File]

uudecode
A Unix program to convert the ASCII output of uuencode back to binary. See uuencode for details.

uuencode
Unix program for encoding binary data as ASCII. Uuencode was originally used with uucp to transfer binary files over serial lines which did not preserve the top bit of characters but is now used for sending binary files by e-mail and posting to Usenet newsgroups etc. The program uudecode reverses the effect of uuencode, recreating the original binary file exactly.
Uuencoded data starts with a line of the form
begin mode file
where mode is the files read/write/execute permissions as three octal digits and file is the name to be used when recreating the binary data.
Uuencode repeatedly takes in a group of three bytes, adding trailing zeros if there are less than three bytes left. These 24 bits are split into four groups of six which are treated as numbers between 0 and 63. Decimal 32 is added to each number and they are ouput as ASCII characters which will lie in the range 32 (space) to 32+63 = 95 (underscore). Each group of sixty ouptut characters (corresponding to 45 input bytes) is output as a separate line preceded by an 'M' (ASCII code 77 = 32+45). At the end of the input, if there are N output characters left after the last group of sixty and N 0 then they will be preceded by the character whose code is 32+N. Finally, a line containing just a single space is output, followed by one containing just end .
Sometimes each data line has an extra dummy character added to avoid problems which mailers that strip trailing spaces. These characters are ignored by uudecode.
Despite using this limited range of characters, there are still some problems encountered when uuencoded data passes through certain old computers. The worst offenders are computers using non-ASCII character sets such as EBCDIC.

UUNET PIPEX
company An Internet provider, part of the Unipalm Group. PIPEX launched their Internet service in March 1992, and by November 1993 provided Internet service to 150 customer sites in the UK. Each site is either a complete commercial company or a branch of one, or a public-sector organisation. They provide a commercial internetworking service, with 24-hour support, and a resilient backbone with multiple international links. PIPEX provides for individual users through their PIPEX Dial service, and has a number of re-sellers connected to its backbone, including CityScape, Direct Connection and the IBM PC User Group, who also offer such services.
Home (http://www.pipex.net).
E-mail: support@pipex.net .
Address (Head office): Cambridge ?
Address: King St. London EC2V(?)
(1996-10-13)

UUPC
UUCP for MS-DOS, Microsoft Windows, and OS/2.
E-mail: server@netmail.com with subject SEND INDEX.

uy
networking The country code for Uruguay.
(1999-01-27)

uz
networking The country code for Uzbekistan.
(1999-01-27)

Upper case V, ASCII character 86, known in INTERCAL as book.
1. A testbed for distributed system research.
2. Wide-spectrum language used in the knowledge-based environment CHI. Research on Knowledge-Based Software Environments at Kestrel Inst , D.R. Smith et al, IEEE Trans Soft Eng SE-11(11):1278-1295 (1985).

V.21
protocol An ITU-T modem protocol for 300 bits per second two-wire full-duplex communications using Frequency Shift Keying modulation.
All modern modems support both V.21 and the close variant, Bell 103.
(1996-07-22)

V.22
An ITU-T modem protocol which allowed data rates of 1200 bits per second. V.22bis doubled this.

V.22bis
V.22 twice. An ITU-T modem protocol which allowed a data rate of 2400 bits per second, twice that of V.22.

V.23
An old ITU-T modem protocol which allowed half-duplex (unidirectional) data transmission at 1200 bits per second. This was the main standard used for British Telecom's Prestel service.

V.24
standard The ITU-T standard defining interchange circuits between DTE and DCE. V.24 is the ITU-T equivalent of EIA standard EIA-232C.
V.24 recommends 12 modem carrier frequencies that will not interfere with Dual Tone Multi-Frequency or other telephone control tones. These are:
GROUP A = 920 Hz, 1000 Hz, 1080 Hz, 1160 Hz
GROUP B = 1320 Hz, 1400 Hz, 1480 Hz, 1560 Hz
Group C = 1720 Hz, 1800 Hz, 1880 Hz, 1960 Hz
(1995-03-02)

V.25
communications, standard A standard allowing an auto-answer modem to determine the correct modulation standard to use.
(2001-04-06)

V.28
communications, standard An ITU-T physical interface standard for serial data communications equipment, formally titled Electrical Characteristics for Unbalanced Double-Current Interchange Circuits . The combination of V.28 and V.24) is equivalent to the EIA's RS-232 and uses the same 25-pin connectors.
(2001-04-06)

V.32
The ITU-T standard protocol for modems transmitting at 4800 or 9600 bits per second. V.32bis extended this to 14400 bps.
V32 and V.32bis acheive bidirectional data transmission not by having different sets of tones at each end but by subtracting what is sent from what is received.
(1994-12-15)

V.32bis
V.32 twice. An extension of the ITU-T V.32 modem protocol allowing speeds of 7200, 12000 and 14400 bits per second. The modem should select the appropriate speed according to the current line conditions.
See also V.32ter.
(1994-12-15)

V.32ter
An extension of the ITU-T V.32bis modem protocol. While waiting for V.34, many modem manufacturers decided to extend V.32bis to 19.2 kbps. This was known as V.32ter which some marketroids rechristened V.32 terbo which is not only misspelled but misses the fact that V.32ter means the third revision of V.32.
(1994-12-15)

V.34
protocol An ITU-T standard modem serial line protocol using symbol rates of 2400, 2743, 2800, 3000, 3200 and 3429 and up to 28800 bits per second.
The official V.34 draft recommendation was titled:
Modem operating at data signalling rates of up to 28 800
bit/s for use on the general switched telephone network and
on leased point-to-point 2-wire telephone-type circuits.
During the lengthy process of approval by ITU-T, many manufacturers released 28.8 kbps modems described as V.FAST . The V.34 recommendation was ratified by ITU-T on 20 September 1994. Rockwell and US Robotics both have seats on the ITU-T, and have both released chip set/BIOS combinations that they feel will meet V.34. V.34 modems will also support V.FC if the manufacturer currently supports V.FC (e.g. Rockwell). Some (all?) V.34 modems will also support line probing.
ITU document (http://www.itu.int/itudoc/itu-t/rec/v/v34_25302.html).
(1998-07-03)

V.35
communications, standard The ITU-T standard for data transmission at 48 kilobits per second over 60 - 108 KHz group band circuits. It contains the 34-pin V.34 connector specifications normally implemented on a modular RJ-45 connector.
(1995-03-02)

V.42
An ITU-T standard protocol for error correction between modems which includes MNP up to level 4.

V.42bis
An extension of the ITU-T V.42 standard modem protocol to included compression.
[Details? On-line spec?]

V.90
protocol An ITU-T standard modem serial line protocol allowing download speeds of up to 56 kbps with upload speeds of 33.6 kbps. V.90 modems are designed for connections that are digital at one end and have only one digital-to-analogue conversion.
As of 1998-02-06 the V.90 standard, formerly called V.pcm, has been given final approval by ITU-T. On 1998-10-27 the ITU-T announced that approval of the V.90 standard was completed. Interoperability testing is complete or in progress for several modem manufacturers. The V.90 standard reconciles two competing standards, X2 and K56flex.
The ITU-T has initiated the approval process for a new all-digital version of the protocol, to be known as V.91.
ITU Press Release 98-04 (http://www.itu.int/newsroom/press/releases/1998/98-04.html) and NP-3 (http://www.itu.int/newsroom/press/releases/1998/NP-3.html).
(1999-01-25)

V.91
protocol An all-digital version of the V.90 protocol, undergoing ITU-T approval.
(1999-01-13)

va
networking The country code for the Vatican.
(1999-01-27)

vacuum tube
electron tube

vadding
games /vad'ing/ (From VAD, a permutation of ADV, i.e. ADVENT, used to avoid a particular admin's continual search-and-destroy sweeps for the game) A leisure-time activity of certain hackers involving the covert exploration of the secret parts of large buildings - basements, roofs, freight elevators, maintenance crawlways, steam tunnels, and the like. A few go so far as to learn locksmithing in order to synthesise vadding keys. The verb is to vad (compare phreaking; see also hack, sense 9). This term dates from the late 1970s, before which such activity was simply called hacking ; the older usage is still prevalent at MIT.
Vadding (pronounced /vay'ding/) was also popular CMU, at least as early as 1986. People who did it every night were called the vaders, possibly after elevator, which was one of the things they played with, or invader, or Darth Vader . This game was usually played along with no-holds-barred hide-and-seek. CMU grad students were the known to pry open the inner doors of elevators between floors to see the graffiti on the inside of the outer doors.
The most extreme and dangerous form of vadding is elevator rodeo , also known as elevator surfing , a sport played by wrasslin' down a thousand-pound elevator car with a 3-foot piece of string, and then exploiting this mastery in various stimulating ways (such as elevator hopping, shaft exploration, rat-racing, and the ever-popular drop experiments). Kids, don't try this at home!
See also hobbit.
[Jargon File]
(1996-01-07)

VAL
1. Value-oriented Algorithmic Language. J.B. Dennis, MIT 1979. Single assignment language, designed for MIT dataflow machine. Based on CLU, has iteration and error handling, lacking in recursion and I/O. A Value- Oriented Algorithmic Language , W.B. Ackermann et al, MIT LCS TR-218, June 1979. The VAL Language: Description and Analysis , J.R. McGraw, TOPLAS 4(1):44-82 (Jan 1982).
2. language, robotics Variable Assembly Language. Unimation. Language for industrial robots. Version: VAL II - VAL II: A New Robot Control System for Automatic Manufacturing , B.E. Shimano et al, Proc IEEE Intl Conf on Robotics 1984, pp.278-292.
3. VHDL Annotation Language. Stanford. (ftp://wilbur.stanford.edu/pub/valbin-sun3-4.0-0.1.3.tar.Z). Source in Ada available from Larry M. Augustin lma@sierra.stanford.edu .

Valencia Simple Tasker
operating system (VSTa) A small microkernel based Unix-like operating system, taking ideas from QNX and Plan 9, available under GPL.
Home (http://www.chat.net/~jeske/VSTa/).
(1999-03-03)

valency
See degree.

Valid
A dataflow language.
[ A List-Processing-Oriented Data Flow Machine Architecture , Makoto Amamiya et al, AFIPS NCC, June 1982, pp. 143-151].
(1995-02-14)

validation
The stage in the software life-cycle at the end of the development process where software is evaluated to ensure that it complies with the requirements.
(1995-02-14)

value
brightness

Value Added Network
networking (VAN) A privately owned network that provides a specific service, such as legal research or access to a specialised database, for a fee. A Value Added Network usually offers some service or information that is not readily available on public networks.
A Value Added Network's customers typically purchase leased lines that connect them to the network or they use a dial-up number, given by the network owner, to gain access to the network.
(1998-11-10)

value added reseller
company (VAR, or value added retailer ) A company which sells something (e.g. computers) made by another company (an OEM) with extra components added (e.g. specialist software).
(1995-02-14)

value added retailer
value added reseller

valve
electronics UK term for a vacuum tube.
(1996-01-10)

VAN
Value Added Network

vanilla
1. (Default flavour of ice cream in the US) Ordinary flavour, standard. When used of food, very often does not mean that the food is flavoured with vanilla extract! For example, vanilla wonton soup means ordinary wonton soup, as opposed to hot-and-sour wonton soup. Applied to hardware and software, as in Vanilla Version 7 Unix can't run on a vanilla PDP 11/34. Also used to orthogonalise chip nomenclature; for instance, a 74V00 means what TI calls a 7400, as distinct from a 74LS00, etc. This word differs from canonical in that the latter means default , whereas vanilla simply means ordinary . For example, when hackers go to a chinese restaurant, hot-and-sour wonton soup is the canonical wonton soup to get (because that is what most of them usually order) even though it isn't the vanilla wonton soup.
[Jargon File]
(1994-11-04)
2. Snobol4 by Catspaw, Inc. for MS-DOS.
(ftp://cs.arizona.edu/snobol4/vanilla.arc)
(1992-02-05)

vanity domain
networking A domain you register for the sole purpose of having your own domain so you can have an easily remembered URL and e-mail address. The domain is usually served (often vhosted) off someone else's machines.
This is as opposed to a domain you register because you have machines of your own which are already on the Internet and which you want to make addressable via something other than dot addresses.
Whereas vanity domains were almost unheard-of in 1980s, since the invention and popularisation of the Web in the mid-1990s and the desire for URLs which consist only of memorable domain names (e.g., http://www.pbs.org ) for everything from movies to car wax, vanity domains have come to be the rule instead of the exception.
(1997-09-11)

vannevar
jargon /van'*-var/ A bogus technological prediction or a foredoomed engineering concept, especially one that fails by implicitly assuming that technologies develop linearly, incrementally, and in isolation from one another when in fact the learning curve tends to be highly nonlinear, revolutions are common, and competition is the rule. The prototype was Vannevar Bush's prediction of electronic brains the size of the Empire State Building with a Niagara-Falls-equivalent cooling system for their tubes and relays, a prediction made at a time when the semiconductor effect had already been demonstrated. Other famous vannevars have included magnetic-bubble memory, LISP machines, videotex, and a paper from the late 1970s that computed a purported ultimate limit on areal density for integrated circuits that was in fact less than the routine densities of 5 years later.
[Jargon File]
(2000-02-29)

Vannevar Bush
person Dr. Vannevar Bush, 1890-1974. The man who invented hypertext, which he called memex, in the 1930s.
Bush did his undergraduate work at Tufts College, where he later taught. His masters thesis (1913) included the invention of the Profile Tracer, used in surveying work to measure distances over uneven ground. In 1919, he joined MIT's Department of Electrical Engineering, where he stayed for twenty-five years. In 1932, he was appointed vice-president and dean. At this time, Bush worked on optical and photocomposition devices, as well as a machine for rapid selection from banks of microfilm.
Further positions followed: president of the Carnegie Institute in Washington, DC (1939); chair of National Advisory Committee for Aeronautics (1939); director of Office of Scientific Research and Development. This last role was as presidential science advisor, which made him personally responsible for the 6,000 scientists involved in the war effort. During World War II, Bush worked on radar antenna profiles and the calculation of artillery firing tables. He proposed the development of an analogue computer, which later became the Rockefeller Differential Analyser.
Bush is the pivotal figure in hypertext research. His ground-breaking 1945 paper, As We May Think, speculated on how a machine might be created to assist human reasoning, and introduced the idea of an easily accessible, individually configurable storehouse of knowledge. This machine, which he dubbed memex, in various ways anticipated hypermedia and the World Wide Web by nearly half a century.
Electronic Labyrinth article (http://jefferson.village.virginia.edu/elab/hfl0034.html).
Bush's famous article, As We May Think (http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm).
(2001-06-17)

vaporware
jargon /vay'pr-weir/ Products announced far in advance of any release (which may or may not actually take place). The term came from Atari users and was later applied by Infoworld to Microsoft's continuous lying about Microsoft Windows.
See also brochureware.
[Jargon File]
(1996-09-30)

VAR
1. Value Added Reseller (or retailer).
2. /veir/ or /var/ Short for variable . Compare arg, param.
[Jargon File]

Variational Graphics eXtended
software (VGX) Software developed by SDRC for use in 3D CAD solid modelling.
(1998-02-06)

VAX
computer /vaks/ (Virtual Address eXtensio) The most successful minicomputer design in industry history, possibly excepting its immediate ancestor, the PDP-11. Between its release in 1978 and its eclipse by killer micros after about 1986, the VAX was probably the hacker's favourite machine, especially after the 1982 release of 4.2BSD Unix. Especially noted for its large, assembly code-programmer-friendly instruction set - an asset that became a liability after the RISC revolution.
VAX is also a British brand of carpet cleaner (http://www.vax.co.uk/) whose advertising slogan, Nothing sucks like a VAX! became a battle-cry of RISC partisans. It is even sometimes claimed that DEC actually entered a licencing deal that allowed them to market VAX computers in the UK in return for not challenging the carpet cleaner trademark in the US.
The slogan originated in the late 1960s as Nothing sucks like Electrolux , Electrolux AB being a rival Swedish company. It became a classic textbook example of the perils of not knowing the local idiom, which is ironic because, according to the Electrolux press manager in 1996, the double entendre was intentional. VAX copied the slogan in their promotions in 1986-1987, and it surfaced in New Zealand TV ads as recently as 1992!
[Jargon File]
(2000-09-28)

VAX DOCUMENT
A document preparation system from DEC.

VAXectomy
jargon /vak-sek't*-mee/ (By analogy with vasectomy ) Removal of a VAX. DEC's Microvaxen, especially, are much slower than newer RISC-based workstations such as the SPARC. Thus, if one knows one has a replacement coming, VAX removal can be cause for celebration.
[Jargon File]
(1995-02-20)

VAXen
/vak'sn/ (From oxen , perhaps influenced by vixen ) The plural canonically used among hackers for the DEC VAX computers. Our installation has four PDP-10s and twenty vaxen.
See boxen.
[Jargon File]
(1995-02-20)

vaxherd
/vaks'herd/ [ oxherd ] An operator who tends one or more VAXen.
[Jargon File]

vaxism
/vak'sizm/ A piece of code that exhibits vaxocentrism in critical areas. Compare PC-ism, Unixism.

VAX MIPS
benchmark (Or VAX Unit of Performance, VUP) The processing power normally attributed to a Digital Equipment Corporation VAX 11/780. Future VAX systems were rated according to this scale (e.g. VAX 8350's being 2.7 VUPs per CPU). A MicroVAX II is normally associated with 0.9 VUPs and at a later time the MicroVUP was coined to rate VAX workstations. The use of the VUP by Digital Equipment Corporation has been replaced with more standard benchmarks (SPECint and SPECfp) in the DEC Alpha processor systems.
(1996-08-22)

vaxocentrism
/vak soh-sen trizm/ [analogy with ethnocentrism ] A notional disease said to afflict C programmers who persist in coding according to certain assumptions that are valid (especially under Unix) on VAXen but false elsewhere. Among these are:
1. The assumption that dereferencing a null pointer is safe because it is all bits 0, and location 0 is readable and 0. Problem: this may instead cause an illegal-address trap on non-VAXen, and even on VAXen under OSes other than BSD Unix. Usually this is an implicit assumption of sloppy code (forgetting to check the pointer before using it), rather than deliberate exploitation of a misfeature.
2. The assumption that characters are signed.
3. The assumption that a pointer to any one type can freely be cast into a pointer to any other type. A stronger form of this is the assumption that all pointers are the same size and format, which means you don't have to worry about getting the casts or types correct in calls. Problem: this fails on word-oriented machines or others with multiple pointer formats.
4. The assumption that the parameters of a routine are stored in memory, on a stack, contiguously, and in strictly ascending or descending order. Problem: this fails on many RISC architectures.
5. The assumption that pointer and integer types are the same size, and that pointers can be stuffed into integer variables (and vice-versa) and drawn back out without being truncated or mangled. Problem: this fails on segmented architectures or word-oriented machines with funny pointer formats.
6. The assumption that a data type of any size may begin at any byte address in memory (for example, that you can freely construct and dereference a pointer to a word- or greater-sized object at an odd char address). Problem: this fails on many (especially RISC) architectures better optimised for HLL execution speed, and can cause an illegal address fault or bus error.
7. The (related) assumption that there is no padding at the end of types and that in an array you can thus step right from the last byte of a previous component to the first byte of the next one. This is not only machine- but compiler-dependent.
8. The assumption that memory address space is globally flat and that the array reference foo[-1] is necessarily valid. Problem: this fails at 0, or other places on segment-addressed machines like Intel chips (yes, segmentation is universally considered a brain-damaged way to design machines (see moby), but that is a separate issue).
9. The assumption that objects can be arbitrarily large with no special considerations. Problem: this fails on segmented architectures and under non-virtual-addressing environments.
10. The assumption that the stack can be as large as memory. Problem: this fails on segmented architectures or almost anything else without virtual addressing and a paged stack.
11. The assumption that bits and addressable units within an object are ordered in the same way and that this order is a constant of nature. Problem: this fails on big-endian machines.
12. The assumption that it is meaningful to compare pointers to different objects not located within the same array, or to objects of different types. Problem: the former fails on segmented architectures, the latter on word-oriented machines or others with multiple pointer formats.
13. The assumption that an int is 32 bits, or (nearly equivalently) the assumption that sizeof(int) == sizeof(long) . Problem: this fails on PDP-11s, Intel 80286-based systems and even on Intel 80386 and Motorola 68000 systems under some compilers.
14. The assumption that argv[] is writable. Problem: this fails in many embedded-systems C environments and even under a few flavours of Unix.
Note that a programmer can validly be accused of vaxocentrism even if he or she has never seen a VAX. Some of these assumptions (especially 2--5) were valid on the PDP-11, the original C machine, and became endemic years before the VAX. The terms vaxocentricity and all-the-world s-a-VAX syndrome' have been used synonymously.
[Jargon File]

VAXset
A set of software development tools from DEC, including a language-sensitive editor, compilers etc.

VAXstation
A family of workstations from DEC based on their VAX computer architecture.
(1995-02-03)

VAX/VMS
VMS

VB
Visual BASIC

VBA
Visual Basic for Applications

vbell
visible bell

VBScript
Visual BASIC Script

vbx
filename extension The filename extension for Visual Basic Extension.
(1995-02-03)

vc
networking The country code for Saint Vincent and the Grenadines.
(1999-01-27)

VCC filtering
electronics /V C C fil't*-ring/ A technique for reducing the amount of Radio Frequency Interference spread via power supply connections. VCC is a common name for the non-ground power supply line in circuits based on bipolar transistors.
When part of a circuit generates lots of radio-frequency noise, that portion of the power plane can be isolated from the rest of the circuit and power delivered to it via a low pass filter, usually a PI filter, as shown in the diagram below.
source ________inductor_________ load
| |
capacitor capacitor
| |
ground ground
This helps to shield the rest of the circuit from the noise generated by the load.
(1998-01-26)

VCID
Virtual Circuit Identifier

VCL
Visual Component Library

VCODE
1. The intermediate language used in the compilation of NESL.
[ Implementation of a Portable Nested Data-Parallel Language , Guy Blelloch et al, in Fourth ACM SIGPLAN Symposium on Princ and Practice of Parallel Programming, ACM, 1993].
2. The intermediate language used in the compilation of C+@.
(1995-01-12)

VCPI
Virtual Control Program Interface

VCR
Video Cassette Recorder

vdiff
/vee'dif/ Visual diff. The operation of finding differences between two files by eyeball search. The term optical diff has also been reported, and is sometimes more specifically used for the act of superimposing two nearly identical printouts on one another and holding them up to a light to spot differences. Though this method is poor for detecting omissions in the rear file, it can also be used with printouts of graphics, a claim few if any diff programs can make. See diff.
[Jargon File]

VDL
Vienna Definition Language

VDM
1. Vienna Definition Method
2. Virtual Device Metafile.

VDM++
Object-oriented extension of VDM-SL. [ Object-Oriented Specification in VDM++ , in Object Oriented Specification Case Studies, K. Lano et al eds, P-H 1993].

VDM-SL
Vienna Development Method Specification Language

VDSL
Very high bit-rate Digital Subscriber Line

VDT
video display terminal

VDU
Visual Display Unit

ve
networking The country code for Venezuela.
(1999-01-27)

vector
1. mathematics A member of a vector space.
2. graphics A line or movement defined by its end points, or by the current position and one other point. See vector graphics.
3. operating system A memory location containing the address of some code, often some kind of exception handler or other operating system service. By changing the vector to point to a different piece of code it is possible to modify the behaviour of the operating system.
Compare hook.
4. programming A one-dimensional array.
(1996-09-30)

Vector C
language A variant of C from CMU(?), similar to ACTUS.
(1996-09-30)

vector font
outline font

vector graphics
graphics (Sometimes called object-oriented graphics, though it's nothing to do with object-oriented programming). The representation of separate shapes such as lines, polygons and text, and groups of such objects, as opposed to bitmaps. The advantage of vector graphics ( drawing ) programs over bitmap ( paint ) editors is that multiple overlapping elements can be manipulated independently without using differenet layers for each one. It is also easier to render an object at different sizes and to transform it in other ways without worrying about image resolution and pixels.
(2001-02-06)

vector processor
array processor

vector space
mathematics An additive group on which some (scalar) field has an associative multiplicative action which distributes over the addition of the vector space and respects the addition of the (scalar) field: for vectors u, v and scalars h, k; h(u+v) = hu + hv; (h+k)u = hu + ku; (hk)u = h(ku).
[Simple example?]
(1996-09-30)

VECTRAN
language Fortran with array extensions.
[ The VECTRAN Language: An Experimental Language for Vector/Matrix Array Processing , Report G320- 3334, IBM, Aug 1975].
(1996-01-19)

VEE
HP VEE

veeblefeetzer
veeblefetzer

veeblefester
jargon, abuse /vee'b*l-fes tr/ (From Born Loser comix via Commodore; probably originally from Mad Magazine's Veeblefeetzer parodies ca. 1960) Any obnoxious person engaged in the (alleged) professions of marketing or management.
Antonym of hacker. Compare suit, marketroid. See also veeblefetzer.
[veeblefeetzer or veeblefetzer?]
[Jargon File]
(1996-03-31)

veeblefetzer
jargon /vee'b*l-fetz'*/ (Or veeblefeetzer ?) A purposely nonsensical sounding word applied to any sort of obscure or complicated object, e.g. a piece of computer code, model railroad equipment, auto parts, etc.
The more immediate origin of the word is Mad Magazine. In the late 1950s and early 1960s it used the word along the same lines, especially in its send-ups of big business. North American Veeblefetzer was the subject of satires of an annual reports, an in-house newsletter, and more. A Veeblefetzer, in their case, was a robot-like device that did something or other.
The more distant source was probably a 19th century yiddish word, possibly with limited usage. In German, Fetzer is any contraption, while Veeble is a likely corruption of Webel -- meaning weaving. Textile mills of this period were crammed with very complicated, wildly active and very loud pieces of machinery.
See also veeblefester.
[veeblefeetzer or veeblefetzer?]
(1996-03-31)

VEL
See LISP70.

Vendor Independent Messaging
networking (VIM) An electronic mail API promoted by an industry group headed by Lotus Development. VIM is a competitor to Microsoft's MAPI.
[Features?]
(1995-03-28)

ventilator card
lace card

Ventura Publisher
Corel VENTURA

Venus flytrap
[after the insect-eating plant] See firewall machine.
[Jargon File]

verbage
spelling, jargon /ver'b*j/ A deliberate misspelling and mispronunciation of verbiage that assimilates it to the word garbage . Compare content-free. More pejorative than verbiage .
(1996-12-13)

verbiage
When the context involves a software or hardware system, this refers to documentation. This term borrows the connotations of mainstream verbiage to suggest that the documentation is of marginal utility and that the motives behind its production have little to do with the ostensible subject.
[Jargon File]

Verdi
(named after the Italian composer Giuseppe Verdi (1813-1901)) Provable systems language. Descendant of Ottawa Euclid.

verification
The process of determining whether or not the products of a given phase in the life-cycle fulfil a set of established requirements.

Verilog
language A Hardware Description Language for electronic design and gate level simulation by Cadence Design Systems.
xnf2ver is an XNF to Verilog translator.
[ The Verilog Hardware Description Language , Donald E. Thomas Philip Moorby, Kluwer, 1991].
(1999-04-16)

Verilog SA
company A French real-time software engineering company.
(1999-04-16)

Veronica
information science Very Easy Rodent-Oriented Net-wide Index to Computerized Archives. Veronica offers a keyword search of most gopher menu titles in the entire gopher web. As archie is to FTP archives, Veronica is to Gopherspace. A Veronica search produces a menu of Gopher items, each of which is a direct pointer to a Gopher data source. Because Veronica is accessed through a Gopher Client, it is easy to use, and gives access to all types of data supported by the Gopher protocol.
To try Veronica, select it from the Other Gophers menu on Minnesota's gopher server, or point your gopher at:
Name=veronica (search menu items in most of GopherSpace)
Type=1
Port=70
Path=1/veronica
Host=gopher.scs.unr.edu
(gopher://gopher.scs.unr.edu/1/veronica)

Versa Module Europa
hardware (VME) A flexible open-ended bus system which makes use of the Eurocard standard.
VME was introduced in 1981 by Motorola, Philips, Thompson, and Mostek. It was intended to be a flexible environment supporting a variety of computing intensive tasks, and has become a rather popular protocol in the computer industry. It is defined by the IEEE standard 1014-1987.
(1997-03-10)

version
programming One of a sequence of copies of a program, each incorporating new modifications. Each version is usually identified by a number, commonly of the form X.Y where X is the major version number and Y is the release number. Typically an increment in X (with Y reset to zero) signifies a substantial increase in the function of the program or a partial or total re-implementation, whereas Y increases each time the progam is changed in any way and re-released.
Version numbers are useful so that the user can know if the program has changed (bugs have been fixed or new functions added) since he obtained his copy and the programmer can tell if a bug report relates to the current version. It is thus always important to state the version when reporting bugs. Statements about compatibility between different software components should always say which versions they apply to.
See change management.
(1997-12-07)

Version 7
operating system (V7) The unsupported release of Unix ancestral to all current commercial versions. Brian Kernighan announced the release of V7 in summer 1979, at the Unix User's Group meeting in Toronto.
Before the release of the POSIX/SVID standards, V7's features were often treated as a Unix portability baseline. Some old-timers impatient with commercialisation and kernel bloat still maintain that V7 was the Last True Unix.
See BSD, USG Unix, System V.
[Jargon File]
(1996-05-22)

vertical application
application, jargon An application program supporting one specific industry process, e.g. for e-commerce purchasing applications, the entire distribution process including order entry, shipping, and customer service.
Compare horizontal application.
(2000-03-28)

vertical bar
character The character | , ASCII code 124.
Common names: bar; or; or-bar; v-bar; pipe; vertical bar. Rare: ITU-T: vertical line; gozinta; thru; pipesinta; INTERCAL: spike.
Pipe , gozinta , thru and pipesinta refer to the use of | in Unix shells to create a pipe.
Some keyboards show both a solid vertical bar (code 124) and a broken vertical bar (code 166).
[Does anyone call either kind of vertical bar pling ? Other codes?]
(1998-09-20)

vertical encoding
processor An instruction set where a field (a bit or group of bits) of the instruction word is decoded (either by hard-wired logic or microcode) to generate signals to control the functional units, as opposed to horizontal encoding where the instruction word bits are used as the control signals directly.
With vertical encoding, which combinations of signals and operations are possible is dictated by the decoding logic; the instruction field can only select one of these preprogrammed combinations. This has the advantage that many control signals can be generated based on only a few instruction word bits and only valid combinations of control signals can be generated, e.g. only one source driving a bus at once. An instruction set may use a mixture of horizontal and vertical encoding within each instruction.
(1995-04-23)

vertical loop combination
See fusion.

vertical microcode
processor Microcode using vertical encoding.
(1995-04-23)

Vertical Redundancy Check
storage, communications (VRC) An error checking method performed on one 8-bit ASCII character, where the 8th bit is used as the parity bit.
The resulting parity bit is constructed by XORing the word. The result is a 1 if there is an odd number of 1s, and a 0 if there is an even number of 1s in the word. This method is unreliable because if an odd number of bits are distorted, the check will not detect the error. The Longitudinal Redundancy Check is an improvement.
(2001-04-28)

vertical refresh rate
hardware Synonym for refresh rate.
(1996-02-09)

vertical scan rate
hardware Synonym for refresh rate.
(1996-02-09)

Very high bit-rate Digital Subscriber Line
communications, protocol (VDSL) A form of Digital Subscriber Line similar to ADSL but providing higher speeds at reduced lengths.
(1998-05-18)

Very Large Database
database (VLDB) A database that can use a Very Large Memory model to keep as much data as possible in physical memory.
(Oracle http://www.oracle.com/platforms/dec/collateral/vlmwp_3.html).
(1998-07-07)

Very Large Memory
architecture (VLM) A processor and operating system that can use more than 4GB of RAM, which is the limit for systems using 32-bit addresses.
VLM architectures allow application programs and Very Large Databases with more than 4GB of data to be placed entirely in physical memory, with large performance enhancements.
Some recent processors like the DEC Alpha can process 64 bits of data at a time and use addresses wider than 32 bits.
Digital Unix (http://www.unix.digital.com/unix/64bit/).
(Solaris http://www.sun.com/solaris/64bit.html).
(SGI http://www.sgi.com/Technology/standard/faq.html).
(Unix 98 http://www.UNIX-systems.org/version2/whatsnew/login_64bit.html).
[How wide are the address busses?]
(1998-07-07)

Very Large Scale Integration
hardware (VLSI) A term describing semiconductor integrated circuits composed of hundreds of thousands of logic elements or memory cells.
(1995-01-11)

Very Long Instruction Word
(VLIW) Used to describe an assembly language instruction set implemented using horizontal microcode. A horizontally encoded instruction word which encodes four or more operations might be considered very long .
VLIW architectures are sometimes classified as a type of static superscalar architecture. They are static in the sense that which units operate in parallel is determined by the instruction rather than by dynamic scheduling at run time.
Producing code for VLIW machines is difficult; trace scheduling is a helpful compiler technique.
The most famous VLIW machine was built by (the late) Multiflow Computer, Inc.
(1994-11-11)

Very Small Aperture Terminal
communications (VSAT) A kind of ground station used to contact a communications satellite such as INMARSAT.
(1995-03-28)

VESA
Video Electronics Standards Association

VESA Local Bus
hardware, standard (VL, VLB) A local bus defined by the Video Electronics Standards Association, mostly used in personal computers based on the Intel 486. See also PCI.
(1995-03-31)

V.FAST
V.34

VFAT
operating system A standard developed by Microsoft to enable long file names on standard FAT partitions. VFAT suffers from all the drawbacks of FAT and adds more problems but moving to it is very easy.
(1996-12-23)

V.FC
communications, protocol A serial line protocol supported by some modems. Uses symbol rates of 2400, 2800, 3000, 3200 and 3429 and up to 28800 baud.
V.34 modems will also support V.FC if the manufacturer currently supports V.FC.
The first V.FC modems were shipped in November 1993 and there have been many thousands sold. There will probably be in excess of a million V.FC modems installed by the end of 1994.
V.FC was intended to take some of the techniques being proposed for V.34 and put them into a real modem that people could use. This also gave a lot of people the opportunity to try out 28.8 kilobit per second operation for the first time. There was never any intention from Hayes or Rockwell (who worked together for two years on V.FC) that V.FC would be compatible with V.34 - even if they had wanted it, others would have made sure it didn't happen! In fact, they made the start-up deliberately different from V.34 so that it would be easy to distinguish between the two and easier to make dual-mode V.FC/V.34 modems.
V.FC is quite different from V.34. Most of the signal-processing algorithms, whilst based on the same theory, are implemented in different ways. V.34 has some extra things like a secondary channel and a special mode for 28.8 kilobit per second fax.
The Rockwell V.FC implementation uses a single-chip mask-programmed DSP for all the signal processing functions. You can also buy a modem controller chip from Rockwell to go with it which implements AT commands, error-control and compression. Hayes made their own controller using the Motorola 68302 processor. When it comes to an upgrade from V.FC to V.34 you have to have a new, masked DSP chip and new controller firmware to implement all the V.34-specific features. This means that Rockwell-DSP based modems must be returned to the manufacturer for upgrade. Upgraded modems will talk to either V.FC or V.34 modems.

vg
networking The country code for the British Virgin Islands.
(1999-01-27)

VGA
hardware Video Graphics Array (not Adapter ).
(1995-11-16)

VGQF
A query language.

vgrep
jargon /vee'grep/ (Or optical grep ) Visual grep. Finding patterns in a file by eye rather than digitally.
Compare vdiff.
[Jargon File]
(1998-02-06)

VGX
Variational Graphics eXtended

VHDL
Very High Speed Integrated Circuit (VHSIC) Hardware Description Language. A large high-level VLSI design language with Ada-like syntax. The DoD standard for hardware description, now standardised as IEEE 1076.
[ VHSIC Hardware Description Language , M.R. Shahdad et al, IEEE Computer 18(2):94-103 (Feb 1985)].

VHE
Virtual Home Environment

VHLL
Very-High-Level Language.
A bondage-and-discipline language that the speaker happens to like; Prolog and Backus's FP are often called VHLLs.
(1994-12-07)

vhost
virtual host

VHS
1. Very High Speed.
2. storage Video Home System.
JVC's video cassette format.
3. Virtual Host Storage.

vi
1. tool Visual Interface.
2. networking The country code for the U. S. Virgin Islands.
[Jargon File]
(1999-01-27)

VIC-20
computer A home computer made by Commodore with a 6502 CPU, similar in style to the Commodore 64 and Commodore C16. The VIC-20 was released before the C64, and after the Commodore PET(?). It was intended to be more of a low-end home computer than the PET.
The VIC-20 had connectors for game cartridges and a tape drive (compatible with a C64). It came with five kilobytes of RAM, but 1.5 KB were used by the system for various things, like the video display (which had an unusual 22x20 char/line screen layout), and other dynamic aspects of the operating system (such as it was). The RAM was expandable with a plug-in cartridge which used the same expansion port as games. Port expander boxes were available to allow more than one cartridge to be connected at a time.
RAM cartridges were available in several sizes: 3K, 8K, 16K and 32K. The internal memory map was re-organised with the addition of each size cartridge, leading to the situation that some programs would only work if the right amount of memory was available. The 32K cartridges were all third-party and had switches to allow the RAM to be enabled in sections so that any expansion size could be achieved.
BASIC programs could use at most 24 KB of RAM. Any extra occupied the location usually used by ROM cartridges (i.e. games). This allowed people to copy ROM cartridges to tape and distribute them to their friends, who could load the tape into the top 8k of their 32k RAM packs.
The name VIC came from the Video Interface Chip that was also used in the other, later, Commodore 8-bit computers.
(2000-03-28)

video adapter
graphics adaptor

video card
graphics adaptor

video compression
Compression of sequences of images. Video compression algorithms use the fact that there are usually only small changes from one frame to the next so they only need to encode the starting frame and a sequence of differences between frames. This is known as inter-frame coding or 3D coding .
MPEG is a committee producing standards in this area and also the name of their standard algorithm. H.261 is another standard.
See also Integrated Information Technology, 3DO, full-motion video, Online Media.

video conference
An instance of video conferencing.

video conferencing
communications A discussion between two or more groups of people who are in different places but can see and hear each other using electronic communications. Pictures and sound are carried by the telecommunication network and such conferences can take place across the world.
To overcome the bandwidth and latency limitations of current networks (especially the PSTN), some form of video compression is often used.
(1995-05-01)

video dial tone
communications A means by which telephone companies can deliver television programs on a common carrier basis and, by law, provide equal access to all.
[What does this mean?]
(1996-12-01)

video display terminal
visual display unit

Video Electronics Standards Association
body, standard (VESA) An industry standards organisation created in 1989 or 1990 mostly(?) concerned with IBM compatible personal computers. The first standard it created was the 800 x 600 pixel Super VGA (SVGA) display and its software interface. It also defined the VESA Local Bus (VLB).
See also PCI.
Home (http://www.vesa.org/)
(1995-11-16)

Video Graphics Adapter
Video Graphics Array

Video Graphics Adaptor
Video Graphics Array

Video Graphics Array
hardware (VGA) A display standard for IBM PCs, with 640 x 480 pixels in 16 colours and a 4:3 aspect ratio. There is also a text mode with 720 x 400 pixels.
IBM technical references define the *product name* of their original VGA display board as Video Graphics Array , in contrast to the preceding boards, the Color Graphics Adapter (CGA) and Enhanced Graphics Adapter (EGA).
See also Super Video Graphics Adapter.
(1995-01-12)

video memory
storage The memory in a computer's graphics adaptor, used to store the image displayed on a bitmap display. Often this is built using VRAM chips. There is normally a simple correspondence between groups of bits in video memory and the dots or pixels on the screen, such that writing to a given group of bits will alter the appearance of a single dot. If each pixel corresponds to eight bits then it can have any of 256 colours (or shades of grey on a monochrome display).
The video display electronics is responsible for reading the data from video memory and converting it into the necessary signals to drive the display. Often this includes a colour palette which converts pixel values into RGB triplets.
(1996-11-01)

Video on Demand
communications (VoD) A planned system using video compression to supply programs to viewers when requested, via ISDN or cable.
(1994-11-02)

video RAM
video random access memory

video random access memory
hardware (VRAM) Fast memory designed for storing the image to be displayed on a computer's monitor. VRAM may be built from special memory integrated circuits designed to be accessed sequentially.
VRAM must be fast enough to supply data to the display electronics at the speed at which the screen is scanned. Thus for example, for a resolution of 1280x1024 eight-bit pixels at a refresh rate of 70 Hz, the video memory would need to supply 1280x1024x70 = 90 Mbyte/s or one byte every 11 ns. The VRAM may be dual ported in order to allow the display electronics and the CPU to access it at the same time.
In an IBM PC the VRAM is located on the display interface card and 0.5 - 2 MB is typical.
A VRAM Song (http://www.fweep.com/vram.html)!
(2001-02-14)

video terminal
visual display unit

videotex
An obsolete electronic service offering people the privilege of paying to read the weather on their television screens instead of having somebody read it to them for free while they brush their teeth. The idea bombed everywhere it wasn't government-subsidised, because by the time videotex was practical the installed base of personal computers could hook up to time-sharing services and do the things for which videotex might have been worthwhile better and cheaper. Videotex planners badly overestimated both the appeal of getting information from a computer and the cost of local intelligence at the user's end. Like the gorilla arm effect, this has been a cautionary tale to hackers ever since. See also vannevar.
[Jargon File]

Vienna Definition Language
(VDL) IBM Vienna Labs. A language for formal, algebraic definition via operational semantics. Used to specify the semantics of PL/I. See also VDM.
[ The Vienna Definition Language , P. Wegner, ACM Comp Surveys 4(1):5-63 (Mar 1972)].

Vienna Definition Method
Vienna Development Method

Vienna Development Method
programming, specification (VDM) A program development method based on formal specification using the Vienna Development Method Specification Language (VDM-SL).
[Details?]
[Is there such a thing as Vienna Definition Method ?]
(2000-11-02)

Vienna Development Method Specification Language
programming, specification (VDM-SL, Meta-IV) A model-oriented specification language, upon which the Vienna Development Method is based. An ISO draft was released in April 1993.
Version: BSI/VDM.
(ftp://gateway.dec.com/pub/vdmsl_standard).
[ The Vienna Development Method: The Meta-Language , D. Bjorner et al eds, LNCS 61, Springer 1978].
[ The VDM-SL Reference Guide , J. Dawes, Pitman 1991].
[ Systematic Software Development Using VDM , C.B. Jones, P-H 1989].
(2000-11-02)

Vienna Fortran
A data-parallel extension of Fortran 77 for distributed memory multiprocessors by Hans Zima zima@sophie.par.univie.ac.at , Vienna University.
[ Programming In Vienna Fortran , B. Chapman et al, Scientific Programming 1(1):31-50 (Aug 1992)].

Vietnamese
human language An Asian language that, like other CJKV languages, requires 16-bit character encodings but, unlike them, does not use Han characters.
While normal Vietnamese has not used Han characters since the 18th century, the standards TCVN 5773 and TCVN 6056 contain Han characters and may be used by computers and academics.
(2001-01-01)

viewer
tool A program to allow a file to be read (or played) but not changed. Viewers are often freely distributable, even when the editor application is not. This allows you to create files with the editor and make the viewer available to other users to view your files, e.g. on a web site. Examples include the Word and Adobe Acrobat viewers.
(1997-08-29)

ViewPoints
programming A framework for distributed and concurrent software engineering which provides an alternative approach to traditional centralised software development environments.
Decentralised process models are used to drive consistency checking and conflict resolution. The process models use pattern matching on local development histories to determine the particular state of the development process, and employ rules to trigger situation-dependent assistance to the user. Communication between such process models facilitates the decentralised management of explicitly defined consistency constraints.
[Ulf Leonhardt]
(1995-03-27)

Views
A Smalltalk extension for computer algebra. An Object Oriented Approach to Algebra System Design , K. Abdali et al, in Symp Symb Alg Manip, ACM 1986, pp.24-30.

VIF
VHDL Interface Format. Intermediate language used by the Vantage VHDL compiler. A VHDL Compiler Based on Attribute Grammar Methodology , R. Farrow et al, SIGPLAN NOtices 24(7):120-130 (Jul 1989).

Vi Improved
text, tool (VIM) (Previously vi iMitation ), An improved version of vi, available for many platforms. VIM allows multiscreen editing, more flexible insert/command mode handling, better C indentation and much more.
Home (http://www.vim.org/).
(1999-06-15)

VIM
1. messaging Vendor Independent Messaging.
2. text, tool Vi Improved.
(1999-06-15)

vines
networking, product A family of local area networking products from Banyan.
(1995-03-01)

Vine Technology
company A company which provides professional consulting services in the areas of networking, real-time systems, graphic arts, and World-Wide Web server advertisement space.
Home (http://www.vine.com/)
E-mail: webmaster@vine.com .
(1995-03-03)

Vint Cerf
person (Vinton G. Cerf) The co-inventor with Bob Kahn of the Internet and its base protocol, TCP/IP. Like Jon Postel, he was crucial in the development of many higher-level protocols, and has written several dozen RFCs since the late 1960s.
Vinton Cerf is senior vice president of Internet Architecture and Technology for MCI WorldCom. His team of architects and engineers design advanced Internet frameworks for delivering a combination of data, information, voice and video services for business and consumer use.
In December 1997, President Clinton presented the U.S. National Medal of Technology to Cerf and his partner, Robert E. Kahn, for founding and developing the Internet.
Prior to rejoining MCI in 1994, Cerf was vice president of the Corporation for National Research Initiatives (CNRI). As vice president of MCI Digital Information Services from 1982-1986, he led the engineering of MCI Mail, the first commercial e-mail service to be connected to the Internet.
During his tenure from 1976-1982 with the U.S. Department of Defense Advanced Research Projects Agency (DARPA), Cerf played a key role leading the development of Internet and Internet-related data packet and security technologies.
Cerf served as founding president of the Internet Society from 1992-1995 and is currently chairman of the Board. Cerf is a member of the U.S. Presidential Information Technology Advisory Committee (PITAC) and the Advisory Committee for Telecommunications (ACT) in Ireland.
Cerf is a recipient of numerous awards and commendations in connection with his work on the Internet. In December 1994, People magazine identified Cerf as one of that year's 25 Most Intriguing People.
In addition to his work on behalf of MCI and the Internet, Cerf serves as technical advisor to production for Gene Roddenberry's Earth: Final Conflict, the number one television show in first-run syndication. He also made a special guest appearance in May 1998. Cerf also holds an appointment as distinguished visiting scientist at the Jet Propulsion Laboratory where he is working on the design of an interplanetary Internet.
Cerf holds a Bachelor of Science degree in Mathematics from Stanford University and Master of Science and Ph.D. degrees in Computer Science from UCLA. He also holds honorary Doctorate degrees from the Swiss Federal Institute of Technology, Zurich; Lulea University of Technology, Sweden; University of the Balearic Islands, Palma; Capitol College and Gettysburg College.
Home (http://www.mci.com/cerfsup/).
(1999-02-25)

Vinton Cerf
Vint Cerf

Viola
An experimental hypercard-like interpreted hypertext system by Pei Y. Wei of Berkeley.
(1994-11-30)

virgin
Unused; pristine; in a known initial state. Let's bring up a virgin system and see if it crashes again. (Especially useful after contracting a virus through SEX.) Also, by extension, buffers and the like within a program that have not yet been used.
[Jargon File]
(1994-11-30)

virgule
character Rare, and ambiguous: slash or comma.
Virgule (or rather, Latin virgula , meaning little rod or, vividly enough, little penis ) was the name of a punctuation character shaped like a small slash and used in the Latin writing system much like a modern comma -- hence the ambiguity of this term in modern English.
Compare French virgule and Italian virgola , meaning comma (not slash ); Italian doppia virgola and virgoletta , both meaning double quote .
(1997-04-08)

Viron
[ Five Paradigm Shifts in Programming Language Design and Their Realisation in Viron, a Dataflow Programming Environment , V. Pratt, 10th POPL, ACM 1983, pp. 1-9].
(1994-11-30)

virtual
jargon, architecture (Via the technical term virtual memory, probably from the term virtual image in optics) 1. Common alternative to logical; often used to refer to the artificial objects (like addressable virtual memory larger than physical memory) created by a computer system to help the system control access to shared resources.
2. Simulated; performing the functions of something that isn't really there. An imaginative child's doll may be a virtual playmate.
Opposite of real or physical.
[Jargon File]
(1994-11-30)

virtual 86 mode
processor, programming (Or virtual mode or virtual 8086 mode ) An operating mode provided by the Intel 80386 and later processors to allow real mode programs to run under operating systems which use protected mode. In this sub-mode of protected mode, an operating environment is created which mimics the address calculation in real mode.
In virtual 86 mode the segment MMU is practically turned off and the segment registers exhibit the same behaviour as in real mode. The paged MMU, however, still operates. This means that the one megabyte address space of real mode can be remapped in four kilobyte pages to anywhere in the 32 bit physical address space. Each page can be protected separately from read or write accesses.
Virtual mode is handled on a per-task-basis, so each exception (from protection violations or interrupts) switches the processor back into protected mode. It is therefore possible to have multiple tasks in virtual mode which run concurrently under the control of an operating system which runs in protected mode.
Most operating system services in MS-DOS systems are called by software interrupts, which are a kind of exception. If an MS-DOS application runs in virtual mode under the control of a protected mode operating system, each call to MS-DOS causes a switch to protected mode. The operating system emulates the MS-DOS service and switches back to the application in virtual mode. From the viewpoint of the application nothing differs from real mode.
Microsoft Windows, Windows NT, and OS/2 use this feature to implement DOS-boxes in which both MS-DOS and real mode application programs can run.

virtual address
1. architecture A memory location accessed by an application program in a system with virtual memory such that intervening hardware and/or software maps the virtual address to real (physical) memory. During the course of execution of an application, the same virtual address may be mapped to many different physical addresses as data and programs are paged out and paged in to other locations.
2. In IBM's VM operating system, Virtual Device Location.
(2001-01-02)

virtual cache
A cache which uses virtual address, i.e. it is between the processor and the memory management unit. A virtual cache cannot recognise external access to physical address, e.g. from DMA. The whole cache must be flushed when swapping between tasks which share same virtual address space.
(1994-11-30)

virtual circuit
networking A connection-oriented network service which is implemented on top of a network which may be either connection-oriented or connectionless (packet switching).
The term switched virtual circuit was coined needlessly to distinguish an ordinary virtual circuit from a permanent virtual circuit. (One of the perpetrators of this confusion appears to be [ Networking Essentials , 1996, Microsoft Press, ISBN 1-55615-806-8], a book aimed at people preparing for the MCSE exam on LANs and WANs).
Not to be confused with switched virtual connection.
(2001-10-26)

Virtual Circuit Identifier
networking (VCID) An identifier used for the routing of a virtual circuit. An ATM switch may route according to a Virtual Circuit Identifier, a Virtual Path Identifier, or a combination.
(2001-05-16)

virtual connection
networking 1. (VC) A connection or a path through an ATM network. The word virtual indicates that the connection is logical rather than physical.
Nothing to do with a virtual circuit on a packet switching network.
[Fred Halsall, Data Communications, Computer Networks and Open Systems , 1996, Addison Wesley].
2. A communications link that appears to be a direct connection between sender and receiver, although physically the link can be routed through a more circuitous path, running over virtual circuits instead of a private network built primarily with dedicated lines.
A virtual connection can provide full-time connection among many sites, including those configured for SNA/SDLC protocol. A virtual connection can handle any transmission protocol and is supported worldwide. It can provide high throughput and low delay for LAN and Internet applications, peer-to-peer connectivity, client-server computing, and other distributed processing applications.
[Same as virtual circuit?]
(2001-10-26)

Virtual Control Program Interface
(VCPI) An alternative, and incompatible method for doing the same thing as DOS Protected Mode Interface (DPMI).
(1995-01-12)

Virtual Device Driver
operating system (VxD) A device driver under Windows 3.x/Windows 95 running as part of the kernel and thus having access to the memory of the kernel and all running processes as well as raw access to the hardware. VxD's usually have the filename extension .386 under Windows 3.x and .vxd under Windows 95. VxD's written for Windows 3.x can be used under Windows 95 but not vice versa.
(1997-02-27)

Virtual Device Location
(Or Virtual Address ) The address of a device (e.g. disk, printer, terminal) belonging to a guest operating system. Such an address is mapped to a physical device. VM may remap several virtual disks to different parts of a single physical disk.
(1995-02-22)

virtual disk
RAM disk

Virtual Home Environment
(VHE) A tool for using NFS on HP UX.
(1994-12-07)

virtual host
networking Most computers on the Internet have a single Internet address; however, often via special kernel patches, a given computer can be made to respond to several IP addresses and provide different services (typically different Web services) on each. Each of these different IP addresess (which generally each have their own hostname) act as if they were distinct hosts on distinct machines, even though they are actually all one host. Hence, they are virtual hosts. A common use is when an Internet Service Provider hosts World-Wide Web or other services for several of their customers on one computer but giving the appearence that they are separate servers.
(1997-09-11)

Virtual LAN
networking Software defined groups of host on a local area network (LAN) that communicate as if they were on the same wire, even though they are physically on different LAN segments throughout a site. To define a virtual LAN, the network administrator uses a virtual LAN management utility to establish membersip rules that determine which hostss are in a specific virtual LAN. Many models may exist but two seem to dominate:
(1) Vitual Segment (or Port-Group) Virtual LAN. These are switched at the data link layer (OSI layer 2). Virtual segments turn an arbitrary number of physical segments into a single virtual segment that funtions as a self-contained traffic domain.
(2) Virtual Subnet Virtual LAN: These are switched at the Network Layer (OSI layer 3). Subnet-oriented virtual LANs are based on subnet addresses used by IP, IPX, and other network layer protocols to normally identify physical networks. Administrators assign one subnet address to a number of switch ports (which may be on different switches and over a backbone). Once identified as a virtual subnet, the selected LANs function as a bridge group - traffic is bridged at Layer 2 within the virtual subnet and routed at Layer 3 between virtual subnets.
[ The many faces of virtual LANs , Steven King, Network World, 1994/5?].
(1995-04-03)

Virtual Loadable Module
networking (VLM) Novell's term for software modules that can be dynamically loaded to extend the functionality of the VLM NetWare Requester for MS-DOS that became standard beginning with Novell NetWare 4.
(1995-01-11)

Virtual Local Area Network
networking (VLAN) A logical grouping of two or more nodes which are not necessarily on the same physical network segment but which share the same IP network number. This is often associated with switched Ethernet.
IEEE 802.1Q is a VLAN standard.
[Confirm? Better description? Reference?]
(2002-08-30)

Virtual Machine
operating system (VM) An IBM pseudo-operating system hypervisor running on IBM 370, ESA and IBM 390 architecture computers.
VM comprises CP (Control Program) and CMS (Conversational Monitor System) providing Hypervisor and personal computing environments respectively. VM became most used in the early 1980s as a Hypervisor for multiple DOS/VS and DOS/VSE systems and as IBM's internal operating system of choice. It declined rapidly following widespread adoption of the IBM PC and hardware partitioning in microcode on IBM mainframes after the IBM 3090.
VM has been known as VM/SP (System Product, the successor to CP/67), VM/XA, and currently as VM/ESA (Enterprise Systems Architecture). VM/ESA is still in used in 1999, featuring a web interface, Java, and DB2. It is still a major IBM operating system.
Home (http://vmdev.gpl.ibm.com/).
[ History of VM (?), Melinda Varian, Princeton University].
(1999-10-31)

virtual machine
1. An abstract machine for which an interpreter exists. Virtual machines are often used in the implementation of portable executors for high-level languages. The HLL is compiled into code for the virtual machine (an intermediate language) which is then executed by an interpreter written in assembly language or some other portable language like C.
Examples are Core War, Java Virtual Machine, OCODE, OS/2, POPLOG, Portable Scheme Interpreter, Portable Standard Lisp, Parallel Virtual Machine, Sequential Parlog Machine, SNOBOL Implementation Language, SODA, Smalltalk.
2. A software emulation of a physical computing environment.
The term gave rise to the name of IBM's VM operating system whose task is to provide one or more simultaneous execution environments in which operating systems or other programs may execute as though they were running on the bare iron , that is, without an eveloping Control Program. A major use of VM is the running of both outdated and current versions of the same operating system on a single CPU complex for the purpose of system migration, thereby obviating the need for a second processor.
(2002-04-15)

Virtual Machine/Conversational Monitor System
operating system (VM/CMS) An IBM time-sharing and personal computing environment executing under Virtual Machine (VM) in a virtual machine environment. VM/CMS is designed to support large numbers of interactive users. It relies on numerous APIs into the Control Program (CP) to provide very efficient single-user processing
VM/CMS was only adopted some time after the original design of Virtual Machine as a more efficient personal computing environment than MVS/TSO.
(1999-01-19)

Virtual Machine Environment
operating system (VME) ICL's mainframe operating system.
(1995-06-28)

Virtual Machine/ESA
Virtual Machine

Virtual Machine/System Product
Virtual Machine

Virtual Machine/XA
Virtual Machine

virtual memory
memory management The address space available to a process running in a system with a memory management unit (MMU).
The virtual address space is divided into pages. Each virtual address output by the CPU is split into a (virtual) page number (the most significant bits) and an offset within the page (the N least significant bits). Each page thus contains 2^N bytes (or whatever the unit of addressing is).
The offset is left unchanged and the memory management unit (MMU) maps the virtual page number to a physical page number. This is recombined with the offset to give a physical address - a location in physical memory (RAM).
Virtual memory is usually much larger than physical memory. Paging allows the excess to be stored on hard disk and copied to RAM as required. This makes it possible to run programs for which the total code plus data size is greater than the amount of RAM available. This is known as demand paged virtual memory . A page is copied from disk to RAM when an attempt is made to access it and it is not already present. This paging is performed automatically by collaboration between the CPU, the MMU and the operating system kernel, and the program is unaware of it.
The performance of a program will depend dramatically on how its memory access pattern interacts with the paging scheme. If accesses exhibit a lot of locality of reference, i.e. each access tends to be close to previous accesses, the performance will be better than if accesses are randomly distributed over the program's address space thus requiring more paging.
In a multitasking system, physical memory may contain pages belonging to several programs. Without demand paging, an OS would need to allocate physical memory for the whole of every active program and its data. Such a system might still use an MMU so that each program could be located at the same virtual address and not require run-time relocation. Thus virtual addressing does not necessarily imply the existence of virtual memory. Similarly, a multitasking system might load the whole program and its data into physical memory when it is to be executed and copy it all out to disk when its timeslice expired. Such swapping does not imply virtual memory and is less efficient than paging.
Some application programs implement virtual memory wholly in software, by translating every virtual memory access into a file access, but efficient virtual memory requires hardware and operating system support.
(2001-01-02)

Virtual Memory System
operating system (VMS) DEC's proprietary operating system originally produced for its VAX minicomputer.
VMS V1 was released in August 1978. VMS was renamed OpenVMS around version 5.5. The first version of VMS on DEC Alpha was known as OpenVMS for AXP V1.0, and the correct way to refer to the operating system now is OpenVMS for VAX or OpenVMS for Alpha. The renaming also signified the fact that the X/Open consortium had certified OpenVMS as having a high support for POSIX standards.
VMS is one of the most secure operating systems on the market (making it popular in financial institutions). It currently (October 1997) has the best clustering capability (both number and distance) and is very scalable with binaries portable from small desktop workstations up to huge mainframes.
Many Unix fans generously concede that VMS would probably be the hacker's favourite commercial OS if Unix didn't exist; though true, this makes VMS fans furious.
FAQ (http://www.cis.ohio-state.edu/hypertext/faq/bngusenet/comp/os/vms/top.html).
Usenet newsgroup: news:comp.os.vms.
[How does its performance compare with other OSes?]
(1999-06-03)

virtual path
networking The location of a file or directory on a particular server, as seen by a remote client accessing it via World-Wide Web (or similar distributed document service).
A virtual path provides access to files outside the default directory and subdirectories. It appears in the form .../~name/... where ~name is replaced with actual path configured by the administrator. An access control list can be associated with a virtual path.
(1995-04-13)

virtual point of presence
(virtual PoP) A point, via which users can connect to an Internet access provider, which is not operated by the provider. The user is charged by the telephone company for the call to the virtual point of presence which relays his call via some third party circuit to the Internet provider's central location. This is in contrast to a physical point of presence (PoP) which is operated by the Internet provider themselves. The advantage of a virtual PoP is that the provider can keep all their modems in one location, thus improving availability and maintenance, but users do not have to pay long-distance call charges to that point.
(1994-12-13)

virtual PoP
virtual point of presence

Virtual Private Network
networking, security (VPN) The use of encryption in the lower protocol layers to provide a secure connection through an otherwise insecure network, typically the Internet. VPNs are generally cheaper than real private networks using private lines but rely on having the same encryption system at both ends. The encryption may be performed by firewall software or possibly by routers.
Link-level (layer 2 and 3) encryption provides extra protection by encrypting all of each datagram except the link-level information. This prevents a listener from obtaining information about network structure. While link-level encryption prevents traffic analysis (a form of attack), it must encrypt/decrypt on every hop and every path.
Protocol-level encryption (layer 3 and 4) encryption encrypts protocol data but leaves protocol and link headers clear. While protocol-level encryption requires you to encrypt/decrypt data only once, and it encrypts/decrypts only those sessions that need it, headers are sent as clear text, allowing traffic analysis.
Application (layer 5 up) encryption encryption is based on a particular application and requires that the application be modified to incorporate encryption.
Cisco (http://www.cisco.com/univercd/cc/td/doc/product/lan/cat5000/cnfg_nts/rsm/rsm_pa/4801encr.htm).
(1999-11-15)

virtual reality
(VR)
1. application Computer simulations that use 3D graphics and devices such as the data glove to allow the user to interact with the simulation.
2. games A form of network interaction incorporating aspects of role-playing games, interactive theater, improvisational comedy, and true confessions magazines. In a virtual reality forum (such as Usenet's news:alt.callahans newsgroup or the MUD experiments on Internet and elsewhere), interaction between the participants is written like a shared novel complete with scenery, foreground characters that may be personae utterly unlike the people who write them, and common background characters manipulable by all parties. The one iron law is that you may not write irreversible changes to a character without the consent of the person who owns it, otherwise, anything goes.
See bamf, cyberspace.
[Jargon File]
(1995-01-30)

Virtual Reality Modeling Language
virtual reality, language (VRML) A draft specification for the design and implementation of a platform-independent language for virtual reality scene description.
VRML 1.0 was released on 1995-05-26.
Home (http://www.vrml.org/)
Wired (http://vrml.wired.com/)
Hypermail Archive (http://vrml.wired.com/arch/)
Mailing list: majordomo@wired.com (message body: subscribe www-vrml your-email-address ).
(1995-07-20)

Virtual Sequential Access Method
Virtual Storage Access Method

virtual shredder
The jargon equivalent of the bit bucket at shops using IBM's VM/CMS operating system. VM/CMS officially supports a whole bestiary of virtual card readers, virtual printers, and other phantom devices; these are used to supply some of the same capabilities Unix gets from pipes and I/O redirection.
[Jargon File]
(1995-01-30)

Virtual Software Factory
programming, tool (VSF) A product from Systematica which allows users to develop CASE tools appropriate to any software engineering methodology.
(1997-06-09)

Virtual Storage Access Method
database (VSAM) An IBM disk file storage scheme first used in S/370 and virtual storage. VSAM comprises three access methods: Keyed Sequenced Data Set (KSDS), Relative Record Data Set (RRDS), and Entry Sequenced Data Set (ESDS).
Both IMS/DB and DB2 are implemented on top of VSAM and use its underlying data structures.
[ Storage or Sequential ?]
(2002-07-26)

Virtual Storage Extended
operating system (VSE, formerly DOS/VSE) is a multitasking, IBM 370-architected operating system similar to Multiple Virtual Storage (MVS).
VSE run jobs in partitions rather than address spaces, and uses POWER for input/output rather than JES, but is largely similar to MVS. Subsequent VSE/ESA releases gave VSE the XA-370 channel architecture, 31-bit virtual and real storage support, and data spaces. VSE is the IBM operating system on one-third of installed IBM 4381s and a significant proportion of IBM 9370s as well. It offers transaction processing and batch processing capabilities well beyond Virtual Machine's current capabilities, and has a close affinity with MVS.
(1997-06-09)

Virtual Telecommunications Access Method
(VTAM) A data communications access method compatible with IBM's Systems Network Architecture.
[More detail?]
(1995-01-30)

virus
(By analogy with biological viruses, via SF) A cracker program that searches out other programs and infects them by embedding a copy of itself in them, so that they become Trojan horses. When these programs are executed, the embedded virus is executed too, thus propagating the infection . This normally happens invisibly to the user.
Unlike a worm, a virus cannot infect other computers without assistance. It is propagated by vectors such as humans trading programs with their friends (see SEX). The virus may do nothing but propagate itself and then allow the program to run normally. Usually, however, after propagating silently for a while, it starts doing things like writing cute messages on the terminal or playing strange tricks with the display (some viruses include display hacks). Many nasty viruses, written by particularly antisocial crackers, do irreversible damage, like deleting all the user's files.
In the 1990s, viruses have become a serious problem, especially among IBM PC and Macintosh users (the lack of security on these machines enables viruses to spread easily, even infecting the operating system). The production of special antivirus software has become an industry, and a number of exaggerated media reports have caused outbreaks of near hysteria among users; many lusers tend to blame *everything* that doesn't work as they had expected on virus attacks. Accordingly, this sense of virus has passed into popular usage (where it is often incorrectly used to denote a worm or even a Trojan horse).
See boot virus, phage. Compare back door. See also Unix conspiracy.
[Jargon File]
(1995-01-31)

viruses
virus

visible bell
communications (Or visual bell ) A program option (whether in a terminal program, termcap setting, or as a stand-alone program) which outputs the bell character code as a visual signal (e.g., a flashing status bar or menu bar).
Generally intended for deaf or hearing-disabled users who couldn't hear the normal auditory beep; also widely used by users who simply don't want their machines feeping at them or disturbing other users.
[Implementations?]
(1997-04-07)

visionary
1. One who hacks vision, in the sense of an Artificial Intelligence researcher working on the problem of getting computers to see things using TV cameras. (There isn't any problem in sending information from a TV camera to a computer. The problem is, how can the computer be programmed to make use of the camera information? See SMOP, AI-complete.)
2. [IBM] One who reads the outside literature. At IBM, apparently, such a penchant is viewed with awe and wonder.
[Jargon File]

visit
programming To process a node while traversing a graph.
(2001-09-30)

Visual BASIC
language (VB) A popular event-driven visual programming system from Microsoft Corporation for Microsoft Windows. VB is good for developing Windows interfaces, it invokes fragments of BASIC code when the user performs certain operations on graphical objects on-screen. It is widely used for in-house application program development and for prototyping. It can also be used to create ActiveX and COM components.
Version 1 was released in 1991 [by Microsoft?].
Current version: 6, as of 1999-11-26.
Home (http://msdn.microsoft.com/vbasic/). History (http://www.iessoft.com/scripts/vbhistry.asp). Strollo Software (http://www.op.net/~jstrollo/vblinks.html). Books (http://www.wrox.com/Consumer/Default.asp?Category=Visual+Basic).
(1999-11-26)

Visual Basic for Applications
programming (VBA) Microsoft's common language for manipulating components of its Microsoft Office suite. It is used as the macro language for these applications and is the primary means of customising and extending them. A VBA program operates on objects representing the application and the entities it manipulates, e.g. a spreadsheet or a range of cells in Microsoft Excel.
[Relationship to Visual BASIC? URL?]
(1999-09-12)

Visual BASIC Script
language (VBScript) Microsoft's scripting language which is an extension of their Visual Basic language. VBScript can be used with Microsoft Office applications and others. It can also be embedded in web pages but can only be understood by Internet Explorer.
Visual Basic is a BASIC variant with object-oriented features. Objects include applications, windows and selections.
[Relationship with ASP? VBA?]
(1998-07-05)

visual bell
visible bell

Visual C++
A C and C++ programming environment sold by Microsoft Corporation.
Usenet newsgroup: news:comp.lang.c++.
[Differences? Features?]
(1994-12-21)

Visual Component Library
programming VCL A application framework library for Microsoft Windows and Borland Software Corp.'s Delphi and C++Builder rapid application development software. VCL was originally designed for Delphi but is now also used for C++Builder. This replaces OWL Object Windows Library as Borland's Windows C++ framework of choice. VCL encapsulates the C-based Win32 API into a much easier to use, object-oriented form. Like its direct rival, Microsoft Foundation Class Library (MFC), VCL includes classes to create Windows programs.
The VCL component class can be inherited to create new VCL components, which are the building blocks of Delphi and C++Builder applications. VCL components are somewhat in competition with ActiveX controls, though a VCL wrapper can be created to make an ActiveX control seem like a VCL component.
Home (http://www.borland.com/bcppbuilder/productinfo/feaben/visual.html)
(2001-07-09)

Visual dBASE
language A Rapid Application Development suite with a compiler and intranet tools to enable developers to publish data on the World-Wide Web.
(http://www.borland.com/VdBASE/).
(1996-11-05)

Visual Display Unit
hardware (VDU, or video terminal , video display terminal , VDT, display terminal ) A device incorporating a cathode ray tube (CRT) display, a keyboard and a serial port. A VDU usually also includes its own display electronics which store the received data and convert it into electrical waveforms to drive the CRT.
VDUs fall into two categories: dumb terminals and intelligent terminals (sometimes called programmable terminals ).
Early VDUs could only display characters in a single preset font, and these were confined to being layed out in a rectangular grid, reproducing the functionality of the paper-based teletypes they were designed to replace.
Later models added graphics facilities but were still driven via serial communications, typically with several VDUs attached to a single multi-user computer. This contrasts with the much faster single bitmap displays integrated into most modern single-user personal computers and workstations.
(1997-11-27)

Visual FoxPro
database A Microsoft database derived from Fox Software's FoxPRO.
Latest version: 5.0, as of 2000-06-21.
Home (http://msdn.microsoft.com/vfoxpro/).
[Features? Dates?]
(2000-08-06)

Visual Interface
tool, text (vi) /V-I/, /vi:/, *never* /siks/ A screen editor crufted together by Bill Joy for an early BSD release. vi became the de facto standard Unix editor and a nearly undisputed hacker favourite outside of MIT until the rise of Emacs after about 1984.
It tends to frustrate new users no end, as it will neither take commands while expecting input text nor vice versa, and the default setup provides no indication of which mode the editor is in (one correspondent accordingly reports that he has often heard the editor's name pronounced /vi:l/). Nevertheless it is still widely used (about half the respondents in a 1991 Usenet poll preferred it), and even some Emacs fans resort to it as a mail editor and for small editing jobs (mainly because it starts up faster than the bulkier versions of Emacs).
See holy wars.
(1995-10-03)

visualisation
graphics Making a visible presentation of numerical data, particularly a graphical one. This might include anything from a simple X-Y graph of one dependent variable against one independent variable to a virtual reality which allows you to fly around the data.
Gnuplot is the Free Software Foundation's utility for producing various kinds of graphs.
Usenet newsgroup: news:comp.graphics.
The Computer Graphics Resource Listing contains pointers to several visualisation tools.
comp.graphics FAQ (ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics/).
Electronic Visualization Laboratory, University of Illinois at Chicago (http://www.ncsa.uiuc.edu/EVL/docs/Welcome.html).
(2002-02-21)

visual language
visual programming language

visual programming
1. Writing programs in a language which manipulates visual information or supports visual interaction.
2. Writing programs in a visual programming language.
3. Writing programs in a visual programming environment.

visual programming environment
Software which allows the use of visual expressions (such as graphics, drawings, animation or icons) in the process of programming. These visual expressions may be used as graphical interfaces for textual programming languages. They may be used to form the syntax of new visual programming languages leading to new paradigms such as programming by demonstration or they may be used in graphical presentations of the behaviour or structure of a program.
(1995-02-23)

visual programming language
language (VPL) Any programming language that allows the user to specify a program in a two-(or more)-dimensionsional way. Conventional textual languages are not considered two-dimensional since the compiler or interpreter processes them as one-dimensional streams of characters. A VPL allows programming with visual expressions - spatial arrangements of textual and graphical symbols.
VPLs may be further classified, according to the type and extent of visual expression used, into icon-based languages, form-based languages and diagram languages. Visual programming environments provide graphical or iconic elements which can be manipulated by the user in an interactive way according to some specific spatial grammar for program construction.
A visually transformed language is a non-visual language with a superimposed visual representation. Naturally visual languages have an inherent visual expression for which there is no obvious textual equivalent.
Visual Basic, Visual C++ and the entire Microsoft Visual family are not, despite their names, visual programming languages. They are textual languages which use a graphical GUI builder to make programming interfaces easier. The user interface portion of the programming environment is visual, the languages are not. Because of the confusion caused by the multiple meanings of the term visual programming , Fred Lakin has proposed the term executable graphics as an alternative to VPL.
Some examples of visual programming languages are Prograph, Pict, Tinkertoy, Fabrik, CODE 2.0 and Hyperpascal.
(http://www.cogs.susx.ac.uk/users/ianr/vpl.html). (http://cuiwww.unige.ch/eao/www/readme.html).
Usenet newsgroup: news:comp.lang.visual (NOT for Visual Basic or Visual C++).
(1995-02-10)

VisualWorks
language A modern commercial implementation of the Smalltalk programming language. VisualWorks descends directly from the original Smalltalk-80 by Xerox PARC and was originally developed (for some time under the name Objectworks Smalltalk) by ParcPlace Systems. VisualWorks relies on dynamic translation as its virtual machine technology.
VisualWorks Wiki (http://brain.cs.uiuc.edu/VisualWorks).
(2002-04-15)

VITAL
A semantics language using FSL, developed by Mondshein in 1967.
[Sammet 1969, p. 641].
(1995-02-23)

VIVID
A numerical constraint-oriented language.
[ VIVID: The Kernel of a Knowledge Representation Environment Based on the Constraints Paradigm of Computation , J. Maleki, Proc 20th Annual Hawaii Intl Conf on System Sciences (Jan 1987) pp.591-597].
(1995-02-23)

viz
A visual language for specification and programming.
[ viz: A Visual Language Based on Functions , C.M. Holt, 1990 IEEE Workshop on Visual Langs, Oct 1990, pp.221-226].
(1995-02-23)

VLAN
Virtual Local Area Network

VLB
VESA local bus

VLDB
Very Large DataBase
[How large?]
(1996-12-21)

Vlisp
Patrick Greussay pg@litp.ibp.fr ca 1973.
A Lisp dialect with a fast interpreter and a portable virtual machine. Introduced the chronology , a dynamic environment for implementing interrupts. Led to Le_Lisp. See also ObjVlisp.
[ Contribution a la Definition Interpretive et a l'Implementation des Lambda-Langages , P. Greussay, These d'Etat, U Paris VI, Nov 1977].

VLIW
Very Long Instruction Word

VLM
1. architecture Very Large Memory.
2. networking Virtual Loadable Module.
(1998-02-24)

VLSI
Very Large Scale Integration

VLSM
Variable Length Subnet Masks

VM
Virtual Machine

VM/CMS
Virtual Machine/Conversational Monitor System

VME
1. hardware Versa Module Europa.
See VMEbus.
2. operating system Virtual Machine Environment.

VMEbus
A widely accepted backplane interconnection bus system developed by a consortium of companies led by Motorola, now standardised as IEEE 1014.
(1995-06-01)

VME Microsystems International Corporation
company (VMIC)
Address: Huntsville, AL, USA.
Telephone: +1 800 322 3616.
(1995-06-01)

VM/ESA
Virtual Machine

VML
VODAK Model Language. Language for an extensible object-oriented database.
[ Object-Oriented Modeling for Hypermedia Systems Using the Object-Oriented VODAK Model Language (VML) Wolfgang Klas et al, in Object-Oriented Database Management Systems, NATO ASI Series, Springer 1993].
E-mail: aberer@darmstadt.gmd.de .

VMS
Virtual Memory System

VM/SP
Virtual Machine

VM/XA
Virtual Machine

vn
networking The country code for Vietnam.
(1999-01-27)

vocoder
communications Hardware or software which implements a compression algorithm particular to voice.
For example Qualcomm uses a vocoding algorithm to compresses voice data in digital communication systems such as wireless CDMA and Eudora voice attach.
(1998-04-29)

vocoding
vocoder

VoD
video on demand

voice mail
messaging, business Any system for sending, storing and retrieving audio messages, like a telephone answering machine.
A voice mailbox is typically associated with a telephone number or extension. When the number is called and the line is busy or not answered, the caller hears a message left by the owner and is given instructions for leaving a message or other available options, such as paging the individual or being transferred to an operator. The owner of a mailbox can change the outgoing message or listen to incoming messages after entering a PIN. Members of a voice mail system can generally forward or broadcast messages to other members' boxes.
The experience of two people trying to reach other by telephone but always reaching each other's voice mail is referred to as (tele)phone tag .
(1996-11-03)

voice-net
Hackish way of referring to the plain old telephone system, comparing it to a digital network. Usenet sig blocks sometimes include the sender's telephone number next to a Voice: or Voice-Net: header; variants of this are Voicenet and V-Net .
Compare paper-net, snail-mail.
[Jargon File]
(1995-02-16)

Voice over IP
communications (VoIP) Any technology providing voice telephony services over IP connections. The IMTC's Conferencing over IP Activity Group is trying to standardise this around H.323.
(1999-04-26)

voice recognition
speech recognition

VoIP
Voice over IP

volatile
1. programming volatile variable.
2. storage See non-volatile storage.
(1997-06-05)

volatile memory
non-volatile storage

volatile storage
non-volatile storage

volatile variable
programming A variable in a computer program which can be modified by processes other than the program. For example, a variable that stores the value of a timer chip (either because it is located at the address of the hardware device or because it is updated on interrupts) needs to be volatile to be useful.
A static variable, on the other hand, maintains its value until the program changes it or it is no longer needed. In addition, volatile variables can be held in the stack whereas static variables are usually stored in a program's data segment.
(1995-05-17)

voltage
electronics (Or potential difference , electro-motive force (EMF)) A quantity measured as a signed difference between two points in an electrical circuit which, when divided by the resistance in Ohms between those points, gives the current flowing between those points in Amperes, according to Ohm's Law. Voltage is expressed as a signed number of Volts (V). The voltage gradient in Volts per metre is proportional to the force on a charge.
Voltages are often given relative to earth or ground which is taken to be at zero Volts. A circuit's earth may or may not be electrically connected to the actual earth.
The voltage between two points is also given by the charge present between those points in Coulombs divided by the capacitance in Farads. The capacitance in turn depends on the dielectric constant of the insulators present.
Yet another law gives the voltage across a piece of circuit as its inductance in Henries multiplied by the rate of change of current flow through it in Amperes per second.
A simple analogy likens voltage to the pressure of water in a pipe. Current is likened to the amount of water (charge) flowing per unit time.
(1995-12-04)

Volume Table Of Contents
storage (VTOC) /V-tock/ A special file on a disk, which contains a list of all the ordinary files on the disk and their addresses. Also called a directory.
The term is used mostly with large mainframe disk drives. Storage administrators will often refer to the VTOC to obtain information on the number of files stored on a disk.
(1997-04-15)

von Neumann architecture
architecture, computability A computer architecture conceived by mathematician John von Neumann, which forms the core of nearly every computer system in use today (regardless of size). In contrast to a Turing machine, a von Neumann machine has a random-access memory (RAM) which means that each successive operation can read or write any memory location, independent of the location accessed by the previous operation.
A von Neumann machine also has a central processing unit (CPU) with one or more registers that hold data that are being operated on. The CPU has a set of built-in operations (its instruction set) that is far richer than with the Turing machine, e.g. adding two binary integers, or branching to another part of a program if the binary integer in some register is equal to zero (conditional branch).
The CPU can interpret the contents of memory either as instructions or as data according to the fetch-execute cycle.
A von Neumann machine can compute the same class of functions as a universal Turing machine.
[Reference? Was von Neumann's design, unlike Turing's, originally intended for physical implementation? How did they influence each other?]
(2002-07-08)

von Neumann integer
mathematics A finite von Neumann ordinal.
The von Neumann integer N is a finite set with N elements which are the von Neumann integers 0 to N-1. Thus
0 = = 1 = 0= 2 = 0, 1= , 3 = 0, 1, 2= , , , ...
The set of von Neumann integers is infinite, even though each of its elements is finite.
[Origin of name?]
(1995-03-30)

von Neumann, John
John von Neumann

von Neumann machine
von Neumann architecture

von Neumann ordinal
mathematics An implementation of ordinals in set theory (e.g. Zermelo Fränkel set theory or ZFC). The von Neumann ordinal alpha is the well-ordered set containing just the ordinals shorter than alpha.
Reasonable set theories (like ZF) include Mostowski's Collapsing Theorem: any well-ordered set is isomorphic to a von Neumann ordinal. In really screwy theories (e.g. NFU -- New Foundations with Urelemente) this theorem is false.
The finite von Neumann ordinals are the von Neumann integers.
(1995-03-30)

voodoo programming
jargon (From George Bush's voodoo economics ) The use by guess or cookbook of an obscure or hairy system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with black magic, except that black magic typically isn't documented and *nobody* understands it.
Compare magic, deep magic, heavy wizardry, rain dance, cargo cult programming, wave a dead chicken.
[Jargon File]
(1995-03-10)

Voronoi diagram
mathematics, graphics (After G. Voronoi) For a set S of points in the Euclidean plane, the partition Vor(S) of the plane into the voronoi polygons associated with the members of S. Vor(S) is the dual of the Delaunay triangulation of S.

Voronoi polygon
mathematics, graphics For a member s of a set S of points in the Euclidean plane, the locus of points in the plane that are closer to s than to any other member of S.
(1997-08-03)

VOS
operating system An operating system used in Stratus computers.
See also FTX.
[Details?]
(1998-07-06)

Voters Telecommunications Watch
body (VTW) A non-profit organisation based in New York, founded by Shabbir J. Safdar to protect the rights of Internet users. The VTW has actively opposed regulation of encryption and restrictions on Internet free speech. VTW created the animated Free Speech fireworks icon that has been displayed on many web pages since June 12, 1996, the day that a three-judge panel in Philadelphia ruled the CDA unconstitutional.
Home (http://www.vtw.org).
(1996-11-03)

voxel
jargon (By analogy with pixel ) Volume element.
The smallest distinguishable box-shaped part of a three-dimensional space. A particular voxel will be identified by the x, y and z coordinates of one of its eight corners, or perhaps its centre. The term is used in three dimensional modelling.
(1995-03-10)

V.pcm
V.90

VPL
1. visual programming language.
[ VPL: An Active, Declarative Visual Programming System, D. Lau-Kee et al, 1991 IEEE Workshop on Vis Langs, Oct 1991, pp. 40-46].
2. A dataflow language for interactive image processing.

VPN
Virtual Private Network

VP-Planner
tool, product A spreadsheet from Paperback Software. It has a graph menu within the the spreadsheet program (with CGA graphics). The graphs are updated every time the graph screen is activated.
(1995-03-28)

VQF
Twin Vector Quantization

VR
virtual reality

VRAM
video random access memory

VRC
Vertical Redundancy Check

VRML
Virtual Reality Modeling Language

VRTX
Virtual Real-Time Executive.
A real-time operating system from ReadySystems for the Motorola 68000 family of microprocessors.
MPV is a multi-processing extension.
(1994-11-08)

VSAM
Virtual Storage Access Method

VSAT
communications Very Small Aperture Terminal.

VSCM
language, LISP A highly portable implementation of Scheme, written in ANSI C and Scheme. VSCM features exception and interrupt handling, executable portable memory images, coroutines and continuations with multiple arguments.
Portability is achieved by exclusive use of legal ANSI C features.
Version II Nov9 by Matthias Blume blume@cs.princeton.edu included run-time support and a bytecode compiler. It conforms to R4RS and IEEE P1178 and runs on Unix and Macintosh.
VSCM is no longer actively developed - the author recommends StandardML.
Home (http://www.cs.princeton.edu/~blume/vscm/).
(2001-01-02)

VSE
Virtual Storage Extended

VSF
Virtual Software Factory

VSP
Very Simple Prolog+.

VSTa
operating system Valencia Simple Tasker.

VSX
Verification Suite for X/open.

VT
character Vertical Tab, the mnemonic for ASCII 11.
(1996-06-24)

vt100
hardware DEC's definitive CRT video terminal of the early/mid 1980s. Its control codes and escape sequences still form the basis of the xterm set and of the ANSI or IBM PC standards. VT100 compatibility is still provided by most terminal emulators.
[On-line documentation?]
(1995-03-28)

vt220
hardware A DEC video terminal, the successor to the VT100 series.
[On-line documentation?]
(1995-03-28)

VTAM
Virtual Telecommunications Access Method

VTC
video teleconferencing

VTOC
Volume Table Of Contents

VTS
A suite of test programs for Motif from OSF.

VTW
Voters Telecommunications Watch

vu
networking The country code for Vanuatu.
(1999-01-27)

VUE
Visual User Environment: a desktop manager for Unix from Hewlett-Packard.

VUIT
Visual User Interface Tool: a WYSIWYG editor from DEC for building human interfaces to applications using OSF/Motif. It provides an interactive interface to UIL and the Motif toolkit.

VULCAN
1. Wayne Ratliff ca. 1980. CP/M port of JPLDIS which evolved into dBASE II.
2. The dBASE-like interpreter and compiler sold by RSPI with their Emerald Bay product. [same as 1?]
3. Early string manipulation language. VULCAN - A String Handling Language with Dynamic Storage Control , E.P. Storm et al, Proc FJCC 37, AFIPS (Fall 1970).
4. Kahn et al, Xerox PARC. Concurrent object orientation and logic programming. An object-oriented preprocessor for FCP. Vulcan: Logical Concurrent Objects , K. Kahn et al in Research Directions in Object- Oriented Programming, A.B. Shriver et al eds, MIT Press 1987.

Vulcan death grip
jargon A variant of Vulcan nerve pinch derived from a Star Trek classic epsisode where a non-existant Vulcan death grip was used to fool Romulans that Spock had killed Kirk.
(1996-10-27)

Vulcan nerve pinch
jargon (Or three-finger salute , Vulcan death grip; from the old Star Trek TV series via Commodore Amiga hackers) The keyboard combination that forces a soft boot or jump to ROM monitor (on machines that support such a feature).
On an Amiga this is done with Ctrl/Right Amiga/Left Amiga; on IBM PCs and many microcomputers it is Ctrl/Alt/Del; on Suns, L1-A; on some Macintoshes, it is Cmd - Power switch ! Silicon Graphics users are obviously the most dextrous however, as these machines use the five-finger combination: Left Shift/Left Ctrl/Left Alt/Keypad Divide/F12.
Compare quadruple bucky.
[Jargon File]
(2000-04-04)

vulture capitalist
abuse A pejorative hackerism for venture capitalist , deriving from the common practice of pushing contracts that deprive inventors of control over their own innovations and most of the money they ought to have made from them.
[Jargon File]
(1995-04-14)

VUP
VAX MIPS

VxD
Virtual Device Driver

VXI
VMEbus Extension for Instrumentation

VxWorks
operating system A real-time multitasking operating system from Wind River Systems. Originally it used the VRTX kernel but this has been replaced by Wind River's own Wind kernel 2.4 .
Before version 5.3 VxWorks included a software development environment but this is now called Tornado .
Current version: 5.3, as of 1996-11-28.
(1996-11-29)

Windows 2000

W3
A World-Wide Web browser for Emacs by William M. Perry wmperry@indiana.edu .
(1994-12-16)

W3C
World Wide Web Consortium

W3 Consortium
World Wide Web Consortium

WA-12
Workflow Analysis in 12 different organisations. A project from the Department of Computer Science from the University of Twente, Enschede, The Netherlands. The final report of this project is available to the public (ISBN 90-365-0683-2).

wabbit
/wab'it/ [almost certainly from Elmer Fudd's immortal line You wascawwy wabbit! ] 1. A legendary early hack reported on a System/360 at RPI and elsewhere around 1978; this may have descended (if only by inspiration) from hack called RABBITS reported from 1969 on a Burroughs 55000 at the University of Washington Computer Center. The program would make two copies of itself every time it was run, eventually crashing the system.
2. By extension, any hack that includes infinite self-replication but is not a virus or worm. See fork bomb and rabbit job, see also cookie monster.
[Jargon File]

Wabi
Windows Application Binary Interface

WabiServer
operating system, tool An addition to Wabi which allows the Microsoft Windows application to run on a server, e.g. a powerful Intel-based computer, with users accessing it from their desktop which can be a cheap computer such as an X terminal.
(1997-01-08)

wacco
A BNF-based LL(?) parser generator.
Posted to comp.sources.misc.

Wafe
programming (From Widget Athena front end) A package by Gustaf Neumann Gustaf.Neumann@uni-essen.de implementing a symbolic interface to the Athena widgets and OSF/Motif. A typical Wafe application consists of two parts: a front-end (Wafe) and an application program which runs as a separate process. The distribution contains sample application programs in Perl, GAWK, Prolog, TCL, C, and Ada talking to the same Wafe binary.
The current Wafe version is 1.0.15. It supports Athena as distributed with X releases 4-6 and Motif versions 1.1, 1.2, and 2.0 but new distribution are only tested against X releases 5 and 6, and Motif versions 1.2.4 and 2.0.
HOME (http://www.wu-wien.ac.at/wafe), (ftp://ftp.wu-wien.ac.at/pub/src/X11/wafe/).
Mailing list: listserv@wu-wien.ac.at ( subscribe Wafe Your Name ).
(1996-07-09)

WAFL
WArwick Functional Language. Warwick U, England. LISP-like.

WAIS
Wide Area Information Servers

WAITS
/wayts/ The mutant cousin of TOPS-10 used on a handful of systems at SAIL up to 1990. There was never an official expansion of WAITS (the name itself having been arrived at by a rather sideways process), but it was frequently glossed as West-coast Alternative to ITS . Though WAITS was less visible than ITS, there was frequent exchange of people and ideas between the two communities, and innovations pioneered at WAITS exerted enormous indirect influence. The early screen modes of Emacs, for example, were directly inspired by WAITS's E editor - one of a family of editors that were the first to do real-time editing , in which the editing commands were invisible and where one typed text at the point of insertion/overwriting. The modern style of multi-region windowing is said to have originated there, and WAITS alumni at XEROX PARC and elsewhere played major roles in the developments that led to the XEROX Star, the Macintosh, and the Sun workstations. Bucky bits were also invented there --- thus, the ALT key on every IBM PC is a WAITS legacy. One notable WAITS feature seldom duplicated elsewhere was a news-wire interface that allowed WAITS hackers to read, store, and filter AP and UPI dispatches from their terminals; the system also featured a still-unusual level of support for what is now called multimedia computing, allowing analog audio and video signals to be switched to programming terminals.
[Jargon File]

wait state
architecture A delay of one or more clock cycles added to a processor's instruction execution time to allow it to communicate with slow external devices. The number and duration of wait states may be pre-configured or they may be controlled dynamically via certain control lines.
(1996-10-16)

waldo
/wol'doh/ [Robert A. Heinlein's story Waldo ] 1. A mechanical agent, such as a gripper arm, controlled by a human limb. When these were developed for the nuclear industry in the mid-1940s they were named after the invention described by Heinlein in the story, which he wrote in 1942. Now known by the more generic term telefactoring , this technology is of intense interest to NASA for tasks like space station maintenance.
2. At Harvard (particularly by Tom Cheatham and students), this is used instead of foobar as a metasyntactic variable and general nonsense word. See foo, bar, foobar, quux.
[Jargon File]

walk
programming To Traverse a data structure, especially an array or linked-list in core.
See also codewalker, silly walk, clobber.
(2001-04-12)

walking drives
An occasional failure mode of magnetic-disk drives back in the days when they were huge, clunky washing machines. Those old dinosaur parts carried terrific angular momentum; the combination of a misaligned spindle or worn bearings and stick-slip interactions with the floor could cause them to walk across a room, lurching alternate corners forward a couple of millimeters at a time. There is a legend about a drive that walked over to the only door to the computer room and jammed it shut; the staff had to cut a hole in the wall in order to get at it! Walking could also be induced by certain patterns of drive access (a fast seek across the whole width of the disk, followed by a slow seek in the other direction). Some bands of old-time hackers figured out how to induce disk-accessing patterns that would do this to particular drive models and held disk-drive races.
[Jargon File]

walk off the end of
To run past the end of an array, list or medium after stepping through it - a good way to land in trouble. Often the result of an off-by-one error. Compare clobber, roach, smash the stack.

wall
Unix's write all command which sends a message to everyone currently logged in.
[Jargon File]

wall clock time
software The elapsed time between when a process starts to run and when it is finished. This is usually longer than the processor time consumed by the process because the CPU is doing other things besides running the process such as running other user and operating system processes or waiting for disk or network I/O.
(1998-03-13)

wall follower
robotics A person or algorithm that compensates for lack of sophistication or native stupidity by efficiently following some simple procedure shown to have been effective in the past. Used of an algorithm, this is not necessarily pejorative; it recalls Harvey Wallbanger , the winning robot in an early AI contest (named, of course, after the cocktail). Harvey successfully solved mazes by keeping a finger on one wall and running till it came out the other end. This was inelegant, but it was mathematically guaranteed to work on simply-connected mazes - and, in fact, Harvey outperformed more sophisticated robots that tried to learn each maze by building an internal representation of it. Used of humans, the term *is* pejorative and implies an uncreative, bureaucratic, by-the-book mentality. See also code grinder, droid.
[Jargon File]

wallpaper
1. A file containing a listing (e.g. assembly listing) or a transcript, especially a file containing a transcript of all or part of a login session. (The idea was that the paper for such listings was essentially good only for wallpaper, as evidenced at Stanford, where it was used to cover windows).
The term is now rare, especially since other systems have developed other terms for it (e.g. PHOTO on TWENEX). However, the Unix world doesn't have an equivalent term, so perhaps wallpaper will take hold there. The term probably originated on ITS, where the commands to begin and end transcript files were :WALBEG and :WALEND , with default file WALL PAPER (the space was a path delimiter).
2. The background pattern used on graphical workstations under the Microsoft Windows graphical user interface to MS-DOS.
(1994-12-22)

wall time
(Or wall clock time ) 1. Real world time (what the clock on the wall shows), as opposed to the system clock's idea of time.
2. The real running time of a program, as opposed to the number of ticks required to execute it (on a time-sharing system these always differ, as no one program gets all the ticks, and on multiprocessor systems with good thread support one may get more processor time than real time).
[Jargon File]

WAM
Intermediate language for compiled Prolog, used by the Warren Abstract Machine. An Abstract Prolog Instruction Set , D.H.D. Warren, TR 309, SRI 1983.

WAN
Wide Area Network

Wang Laboratories
Computer manufacturer, known for their office automation products.
Quarterly sales $208M, profits $3M (Aug 1994).
(1994-09-26)

wango
/wang'goh/ Random bit-level grovelling going on in a system during some unspecified operation. Often used in combination with mumble. For example: You start with the .o file, run it through this postprocessor that does mumble-wango - and it comes out a snazzy object-oriented executable.
[Jargon File]

wank
/wangk/ [Columbia University: probably by mutation from Commonwealth slang wank , to masturbate] Used much as hack is elsewhere, as a noun denoting a clever technique or person or the result of such cleverness. May describe (negatively) the act of hacking for hacking's sake ( Quit wanking, let's go get supper! ) or (more positively) a wizard. wanky describes something particularly clever (a person, program, or algorithm). Conversations can also get wanky when there are too many wanks involved. This excess wankiness is signalled by an overload of the wankometer (compare bogometer). When the wankometer overloads, the conversation's subject must be changed, or all non-wanks will leave. Compare neep-neeping (under neep-neep). Usage: US only. In Britain and the Commonwealth this word is *extremely* rude and is best avoided unless one intends to give offense.

wannabee
/won'*-bee/ (Or, more plausibly, spelled wannabe ) [Madonna fans who dress, talk, and act like their idol; probably originally from biker slang] A would-be hacker. The connotations of this term differ sharply depending on the age and exposure of the subject. Used of a person who is in or might be entering larval stage, it is semi-approving; such wannabees can be annoying but most hackers remember that they, too, were once such creatures. When used of any professional programmer, CS academic, writer, or suit, it is derogatory, implying that said person is trying to cuddle up to the hacker mystique but doesn't, fundamentally, have a prayer of understanding what it is all about. Overuse of hacker terms is often an indication of the wannabee nature. Compare newbie.
Historical note: The wannabee phenomenon has a slightly different flavour now (1993) than it did ten or fifteen years ago. When the people who are now hackerdom's tribal elders were in larval stage, the process of becoming a hacker was largely unconscious and unaffected by models known in popular culture - communities formed spontaneously around people who, *as individuals*, felt irresistibly drawn to do hackerly things, and what wannabees experienced was a fairly pure, skill-focussed desire to become similarly wizardly. Those days of innocence are gone forever; society's adaptation to the advent of the microcomputer after 1980 included the elevation of the hacker as a new kind of folk hero, and the result is that some people semi-consciously set out to *be hackers* and borrow hackish prestige by fitting the popular image of hackers. Fortunately, to do this really well, one has to actually become a wizard. Nevertheless, old-time hackers tend to share a poorly articulated disquiet about the change; among other things, it gives them mixed feelings about the effects of public compendia of lore like this one.
[Jargon File]

want list
wish list

WAP
Wireless Application Protocol

WAP Forum
body The official body developing Wireless Application Protocol.
Home (http://www.wapforum.org/).
(2000-02-10)

wardialer
security Almost certainly a shortened version of WarGames dialer , from the film WarGames.
1. carrier scanner
2. A program which attempts to break a password of known length by iterating thru all possible combinations of characters that could make up that password.
This approach is not feasable for cracking most passwords these days. However, as late as the mid-1980s, some long-distance companies required only very short numeric access codes (e.g. five digits) to verify the identity of their customers. Wardialers were created which would, running unattended, call up long-distance providers' local connect numbers and iteratively try possible access codes. Codes which worked were logged for later illicit use.
These wardialers had a high success rate because of the small range of possibilities to iterate through, e.g. 10000 for a five digit access code, compared to hundreds of trillions of combinations for an eight-character alphanumeric code.
Long-distance providers soon required longer passwords and took advantage of technology for rapidly tracing the phone numbers that wardialers were being run from, such that running wardialers became pointless and dangerous.
(1997-03-16)

-ware
[ software ] Commonly used to form terms for classes of software. For examples, see careware, crippleware, crudware, freeware, fritterware, guiltware, liveware, meatware, payware, psychedelicware, shareware, shelfware, vaporware, wetware.
[Jargon File]

warez
/weirz/ A term used by software pirates use to describe a cracked game or application that is made available to the Internet, usually via FTP or telnet, often the pirate will make use of a site with lax security.
Software piracy is illegal and should be reported to the Federation Against Software Theft (FAST).
(1994-11-29)

WarGames
recreation (Not War Games ) A 1983 film about a schoolboy cracker using a wardialer to try to break into a games company's computer and accidentally connecting to a backdoor into Whopper , a ficticious C3 computer at Norad (USAF). He then procedes to unwittingly initiate global thermonuclear warfare. Playing naughts and crosses finally teaches Whopper that the only way to win the game is never to play.
IMDb (http://us.imdb.com/Title?WarGames+%281983%29).
(1999-03-08)

warlording
jargon The act of excoriating a bloated, ugly or derivative sig block. Common grounds for warlording include the presence of a signature rendered in a BUAF, over-used or cliched sig quotes, ugly ASCII art, or simply excessive size. The original Warlord was a BIFF-like newbie c. 1991 who featured in his sig a particularly large and obnoxious ASCII graphic resembling the sword of Conan the Barbarian in the 1981 John Milius movie; the group name alt.fan.warlord was sarcasm, and the characteristic mode of warlording is devastatingly sarcastic praise.
Usenet newsgroup: news:alt.fan.warlord.
[Jargon File]
(1994-11-29)

warm boot
operating system A boot from power on, where the CPU and peripherals are already powered up (warm).
A warm boot might be performed after a software crash or a hardware reset.
Contrast cold boot. See also reboot.
[Jargon File]
(1998-04-28)

Warm Silence Software
A small company run by(?) Robin Watts, producing software for the Acorn Archimedes.
(http://www.comlab.ox.ac.uk/oucl/users/robin.watts/)
(1994-11-01)

Warp
OS/2

wart
A small, crocky feature that sticks out of an otherwise clean design. Something conspicuous for localised ugliness, especially a special-case exception to a general rule. For example, in some versions of csh(1) , single quotes literalise every character inside them except ! . In ANSI C, the ? syntax used for obtaining ASCII characters in a foreign environment is a wart. See also miswart.
[Jargon File]

washing machine
storage An old-style 14-inch hard disk in a floor-standing cabinet. So called because of the size of the cabinet and the top-loading access to the media packs - and, of course, they were always set on spin cycle . The thick channel cables connecting these were called bit hoses . The washing-machine idiom transcends language barriers; it is even used in Russian hacker jargon.
See also walking drives.
(1995-02-15)

Wasserman
A.I. Wasserman (Tony), president of IDE.
(1995-02-15)

WATBOL
WATerloo COBOL.
A COBOL for IBM MVS.
(1995-02-15)

Watcom C/C++
language, product A compiler and development tools for multi-platform, 16 and 32-bit applications. Watcom C/C++ 10.0 has an integrated development environment (IDE) and development tools. It includes the SOMobjects Toolkit to enable access to IBM's System Object Model (SOM) and Distributed System Object Model (DSOM). It supports 16 bit MS DOS, Microsoft Windows 3.x, OS/2 1.x, and 32 bit platforms including extended DOS, OS/2 2.x, Windows NT, Win32s, 32-bit Windows 3.x, Novell NLM and AutoCAD ADS/ADI.
(1995-04-18)

Watcom International
company A provider of application development tools and IBM PC-based SQL database servers.
Founded in 1974, Watcom initially focused on scientific and engineering markets establishing itself as a supplier of programming and information tools worldwide, serving customers in 60 countries with highly regarded products such as WATFOR-77 for mainframes, minicomputers and PCs.
Since the introduction of Watcom C in 1988, the company has emerged as an industry leader in optimising compilers for 16 and 32-bit Intel-based IBM PCs.
Moving into the client/server market in 1992, Watcom introduced Watcom SQL, including SQL database servers for multi-user networks and single-user stand-alone applications. The product has since been incorporated into Powersoft's PowerBuilder development environment and the Powersoft Enterprise Series. In June, 1993, Watcom launched VX*REXX, an integrated visual development environment for OS/2.
In February 1994, Watcom became a wholly-owned subsidiary of Powersoft Corporation which merged with Sybase Inc. on 13 February 1995. Today the company addresses a broad range of application developers, including corporate MIS professionals, system integrators, VARs and independent software vendors.
Watcom has strategic relationships with IBM, Lotus, Microsoft, Intel and Novell. Based on its academic roots, Watcom maintains a research relationship with the nearby University of Waterloo.
Watcom's products include the Watcom SQL databases, Watcom C/C++, and Watcom VX*REXX 2.1.
Ian McPhee is President and Chief Executive Officer, David Boswell is Vice President of Sales and Marketing, Craig Dynes is Vice President of Finance and David Yach is Vice President of Development.
Headquarters: Waterloo, Ontario, Canada.
(1995-04-18)

Watcom SQL
database, product A family of databases from Watcom International, based on scalable technology and a SQL database engine. Version 4.0 adds stored procedures and triggers. It is designed for environments ranging from large departmental networks with a diverse range of PC client systems, to peer-to-peer workgroups, to stand-alone PCs. It is available in stand-alone versions for Microsoft Windows, Windows NT, OS/2 and MS DOS; and multi-user network server versions for Microsoft Windows, Windows NT, OS/2, NetWare NLM and MS DOS.
(1995-04-18)

Watcom VX*REXX
programming, tool A visual development environment for creating OS/2 applications with graphical user interfaces. It includes a project management facility, visual designer and an interactive source level debugger. Version 2.1 introduced the VX*REXX Client/Server Edition for client/server GUI application development on OS/2 by incorporating database objects. Using IBM's DRDA support on OS/2, users can access DB2 for MVS, DB2/400 for AS/400, and DB2/VSE and VM (SQL/DS) for VM and VSE. Also supported are Watcom SQL and ODBC-enabled databases. Since the VX*REXX visual development environment is based on IBM's object-oriented SOM technology, VX*REXX applications are open and extensible through the addition of new SOM objects.
(1995-04-18)

Waterfall Model
programming A software life-cycle or product life-cycle model, described by W. W. Royce in 1970, in which development is supposed to proceed linearly through the phases of requirements analysis, design, implementation, testing (validation), integration and maintenance. The Waterfall Model is considered old-fashioned or simplistic by proponents of object-oriented design which often uses the spiral model instead.
Earlier phases are sometimes called upstream and later ones downstream .
Compare: iterative model.
[W. W. Royce, Managing the Development of Large Software Systems , Proceedings of IEEE WESCON, August 1970].
(1997-11-23)

water MIPS
jargon Large, water-cooled computers of either today's ECL-supercomputer flavour or yesterday's traditional mainframe type.
See MIPS
[Jargon File]
(1995-03-25)

WATFIV
WATerloo Fortran IV. U Waterloo, Canada. Student-friendly variant of Fortran IV.

WATFOR
WATerloo FORtran. U Waterloo, Canada. Student-friendly variant of Fortran. WATFOR - The University of Waterloo Fortran IV Compiler , P.W. Shantz et al, CACM 10(1):41-44 (Jan 1967).

wav
multimedia, file format, filename extension (waveform) /wav/, /dot wav/ A sound format developed by Microsoft and used extensively in Microsoft Windows. Conversion tools are available to allow most other operating systems to play .wav files.
.wav files are also used as the sound source in wavetable synthesis, e.g. in E-mu's SoundFont. In addition, .wav files are also supported by some MIDI sequencers as add-on audio. That is, pre-recorded .wav files are played back by control commands written in the sequence script.
Specification (http://www.qzx.com/pc-gpe/wav.txt).
(1997-10-11)

WAVE
language, robotics A robotics language.
[ WAVE: A Model-Based Language for Manipulator Control , R.P. Paul, Ind Robot 4(1):10-17, 1979].
(1996-09-08)

wave a dead chicken
jargon To perform a ritual in the direction of crashed software or hardware that one believes to be futile but is nevertheless necessary so that others are satisfied that an appropriate degree of effort has been expended. I'll wave a dead chicken over the source code, but I really think we've run into an OS bug .
Compare voodoo programming, rain dance.
[Jargon File]
(1996-09-08)

wave division multiplexing
spelling A common misnomer for wavelength division multiplexing.
(2002-07-16)

Waveform Generation Language
testing (WGL) A data description language for test program description.
[Reference? What kind of test programs?]
(2001-05-20)

wavelength division multiplexing
communications (WDM) Multiplexing several Optical Carrier n signals on a single optical fibre by using different wavelengths (colours) of laser light to carry different signals.
The device that joins the signals together is known as a multiplexor, and the one that splits them apart is a demultiplexor. With the right type of fibre you can have a device that does both and that ought to be called a mudem but isn't.
The first WDM systems combined two signals and appeared around 1985. Modern systems can handle up to 128 signals and can expand a basic 9.6 Gbps fibre system to a capacity of over 1000 Gbps.
WDM systems are popular with telecommunications companies because they allow them to expand the capacity of their fibre networks without digging up the road again. All they have to do is to upgrade the (de)multiplexors at each end. However these systems are expensive and complicated to run. There is currently no standard, which makes it awkward to integrate with older but more standard SONET systems.
Note that this term applies to an optical carrier (which is typically described by its wavelength), whereas frequency division multiplexing typically applies to a radio carrier (which is more often described by frequency). However, since wavelength and frequency are inversely proportional, and since radio and light are both forms of electromagnetic radiation, the distinction is somewhat arbitrary.
See also time division multiplexing, code division multiplexing.
[Is wave division multiplexing , as in dense wave division multiplexing (DWDM) just a trendy abbreviation?]
(2002-07-16)

wavelet
mathematics A waveform that is bounded in both frequency and duration. Wavelet tranforms provide an alternative to more traditional Fourier transforms used for analysing waveforms, e.g. sound.
The Fourier transform converts a signal into a continuous series of sine waves, each of which is of constant frequency and amplitude and of infinite duration. In contrast, most real-world signals (such as music or images) have a finite duration and abrupt changes in frequency.
Wavelet transforms convert a signal into a series of wavelets. In theory, signals processed by the wavelet transform can be stored more efficiently than ones processed by Fourier transform. Wavelets can also be constructed with rough edges, to better approximate real-world signals.
For example, the United States Federal Bureau of Investigation found that Fourier transforms proved inefficient for approximating the whorls of fingerprints but a wavelet transform resulted in crisper reconstructed images.
SBG Austria (http://www.mat.sbg.ac.at/~uhl/wav.html)
[ Ten Lectures on Wavelets , Ingrid Daubechies].
(1994-11-09)

wavetable
hardware, music A type of sound generator often built in a sound card. A wavetable contains digitised samples of real instrument sounds or effect (FX) sounds. A wavetable chip often also contains a drum kit sound to faciliate rhythm accompaniment.
A recorded wavetable sound may be edited and enhanced by various effects (reverb, chorus) and layered with other waveforms before writing it to ROM or RAM. The latter type serves as user sound memory.
A wavetable generator is typically controlled by MIDI input. When a MIDI note-on signal is detected, the output part of a wavetable generator generates a sound with definitive pitch, typically a musical note.
Wavetable sounds are used in games and music. The more realistic wavetable sounds have all but replaced the earlier synthetic FM (frequency modulation) sound generation in sound cards but to ensure compatibility with older games etc., an FM part is usually included.
The best known wavetable sound generators includes the E-mu 8000 chip, used in Creative Labs' Sound Blaster AWE-32 card family and in E-mu keyboards. Other wavetable cards are Gravis Ultra-Sound (GUS), ESS Cards, Opti, Zoltrix and many Roland cards.
E-Mu (http://www.emu.com /). AWE-32(http://www.edu.isy.liu.se/~d93jesno/awe32.html). Creative Labs (http://www.creaf.com/).
(1997-11-04)

wavetable synthesis
wavetable

WaZOO
protocol Warp-zillion Opus-to-Opus. Fidonet's session layer protocol. Although it mentions Opus (a specific BBS from the 1980s), WaZOO is the session protocol used for the Fidonet network. Because WaZOO is much more efficient than other mechanisms (e.g., FTP), it is sometimes used for automated or batch communications in other parts of the Internet.
(ftp://ftp.psg.com/pub/fidonet/stds/fts-0006.txt)
(1995-11-16)

WBMP
wireless bitmap

WBS
Work Breakdown Structure

WCL
A Common Lisp implementation in a shared library by Wade Hennessey wade@leland.Stanford.edu . WCL is not a complete Common Lisp, but it does have the full development environment including dynamic file loading and debugging. A modified version of GDB provides mixed-language debugging.
Version 2.14 includes a shared library, run-time support and source debugger. It requires GNU GCC 2.1 (not 2.2.2) and runs on SPARC under SunOS.
(ftp://sunrise.stanford.edu/pub/wcl/). Mailing list: wcl-request@sunrise.stanford.edu . E-mail: wcl@sunrise.stanford.edu .
[Proceedings of the 1992 Lisp and Functional Programming Conference].
(1992-10-28)

WD
Western Digital

WDASM
tool (Probably Windows disassembler ) An interactive Intel 486 disassembler for Windows 3.1 written by Eric Grass at the University of Missouri, St. Louis. WDASM supports multiple disassembly formats.
(ftp://ftp.simtel.com/cica/win3/util/wdasm15.zip)
(1993-06-01)

WDM
wavelength division multiplexing

WE
A hypertext authoring system developed at the University of North Carolina.
(1994-11-07)

Weak Head Normal Form
reduction, lambda calculus (WHNF) A lambda expression is in weak head normal form (WHNF) if it is a head normal form (HNF) or any lambda abstraction. I.e. the top level is not a redex.
The term was coined by Simon Peyton Jones to make explicit the difference between head normal form (HNF) and what graph reduction systems produce in practice. A lambda abstraction with a reducible body, e.g.
x . (( y . y+x) 2)
is in WHNF but not HNF. To reduce this expression to HNF would require reduction of the lambda body:
( y . y+x) 2 -- 2+x
Reduction to WHNF avoids the name capture problem with its need for alpha conversion of an inner lambda abstraction and so is preferred in practical graph reduction systems.
The same principle is often used in strict languages such as Scheme to provide call-by-name evaluation by wrapping an expression in a lambda abstraction with no arguments:
D = delay E = () . E
The value of the expression is obtained by applying it to the empty argument list:
force D = apply D () = apply ( () . E) () = E
(1994-10-31)

weakly typed
weak typing

weak typing
programming Strict enforcement of type rules but with well-defined exceptions or an explicit type-violation mechanism.
Weak typing is friendlier to the programmer than strong typing, but catches fewer errors at compile time.
C and C++ are weakly typed, as they automatically coerce many types e.g. ints and floats. E.g.
int a = 5;
float b = a;
They also allow ignore typedefs for the purposes of type comparison; for example the following is allowed, which would probably be disallowed in a strongly typed language:
typedef int Date; /* Type to represent a date */
Date a = 12345;
int b = a; /* What does the coder intend? */
C++ is stricter than C in its handling of enumerated types:
enum animal CAT=0,DOG=2,ANT=3;
enum animal a = CAT; /* NB The enum is optional in C++ */
enum animal b = 1; /* This is a warning or error in C++ */
(2000-07-04)

weasel
jargon, abuse (Cambridge) A naive user, one who deliberately or accidentally does things that are stupid or ill-advised. Roughly synonymous with loser.
[Jargon File]
(1995-03-21)

WEB
language Donald Knuth's self-documenting literate programming, with algorithms and documentation intermixed in one file. They can be separated using Weave and Tangle. Versions exist for Pascal and C. Spiderweb can be used to create versions for other languages. FunnelWeb is a production-quality literate-programming tool.
(ftp://princeton.edu/), (ftp://labrea.stanford.edu/).
[ Literate Programming , D.E. Knuth, Computer J 27(2):97-111, May 1984].
(1996-05-10)

Web
World-Wide Web The Web is the World-Wide Web. A web is part of it on some specific web site.
(1996-05-10)

web2c
tool A utility by Karl Berry karl@claude.cs.umb.edu to translate WEB to C.
Current version: 5-851d.
FTP UCI (ftp://ics.uci.edu/TeX/web2c.tar.Z). FTP Gernamy (ftp://ftp.th-darmstadt.de/pub/tex/src/web2c/web2c.tar.Z).
(1996-05-10)

web browser
World-Wide Web A browser for the World-Wide Web.
(1996-03-23)

webcam
World-Wide Web, hardware, video (World-Wide Web camera) Any video camera whose output is available for viewing via the Internet or an intranet. Typically a webcam would be a slow-scan CCD video camera connected to a video capture card in a computer. Images from the camera are captured periodically and made available on a web page. In 1999 there are hundreds of webcams in operation around the world showing everything from bedrooms to traffic.
[List?]
(1999-01-11)

webcasting
multimedia, World-Wide Web (From World-Wide Web and broadcast ) Multicasting on the Internet. Webcasting implies real-time transmission of encoded video under the control of the server to multiple recipients who all receive the same content at the same time. This is in contrast to normal web browsing which is controlled from the browser by individual users and may take arbitrarily long to deliver a complete document.
Pointcast (http://www.pointcast.com) is the most popular service to date which uses webcasting, however, Microsoft and Netscape have products planned.
[Is this correct? Better explanation?]
(1997-09-06)

WebCGM
graphics, file format A Web-oriented version of the Computer Graphic Metafile file format.
(1999-02-16)

WebCOMAL
COMmon Algorithmic Language

WebCrawler
World-Wide Web A free World-Wide Web search engine developed by Brian Pinkerton at the University of Washington and now moved to America Online, Inc. WebCrawler collects URLs by searching the Internet and allows users to perform keyword searches through a World-Wide Web browser.
Home (http://webcrawler.com/)
(1995-11-28)

webhead
A compulsive or frequent user of, or contributor to, the World-Wide Web.
(1994-07-21)

weblint
hypertext, tool (After lint) A syntax checker and style checker for HTML. Weblint is a Perl script which does for HTML pages what the traditional lint picks does for C programs.
Version: 1.020 (1997-12-07).
Home (http://www.cre.canon.co.uk/~neilb/weblint/).
(1997-12-07)

webmaster
World-Wide Web (Sometimes webmistress ) The alias or role of the person(s) responsible for the development and maintenance of one or more web servers and/or some or all of the web pages at a web site. The term does not imply any particular level of skill or mastery (see webmonkey ).
The webmaster's e-mail address often appears on the home page of the site. Failing that, you could try sending e-mail to postmaster (from which the term is probably derived) or root at that host, possibly after removing an initial www. .
(1999-04-01)

webmistress
webmaster

webmonkey
World-Wide Web a largely unskilled Web worker - one with a passable understanding of HTML but little else.
It is often supposed that, in the New Media food chain, there is nothing lower than a webmonkey. Alas, there is: people who barely have the skills to use FrontPage; these people are called typists .
The B1FF of webmonkeys is personified as Bobo the Webmonkey.
Compare actor/singer/waiter/webmaster.
And compare sysape, one-banana problem, scratch monkey, monkey up, and Infinite-Monkey Theorem for other simian allusions.
(1998-04-04)

WebObjects
operating system NeXT's framework that provides an interface between a web server and an application server process. It enables developers to easily create dynamic web-based applications.
WebObjects acts as an adaptor between the web server and a process which needs to maintain state over multiple HTTP request-response transactions (which are intrinsically stateless). It exists in two forms - as a CGI program and as an Objective C library. It also includes a simple scripting language for developing web applications. Special WebObjects tags can be included in HTML pages and these are processed at the server to produce dynamic but standard HTML to deliver to the client.
[URL?]
(1997-10-15)

web page
World-Wide Web A block of data available on the World-Wide Web, identified by a URL. In the simplest, most common case, a web page is a file written in HTML, stored on the server. It may refer to images which appear as part of the page when it is displayed by a web browser. It is also possible for the server to generate pages dynamically in response to a request, e.g. using a CGI script.
A web page can be in any format that the browser or a helper application can display. The format is transmitted as part of the headers of the response as a MIME type, e.g. text/html , image/gif .
An HTML web page will typically refer to other web pages and Internet resources by including hypertext links.
A web site often has a home page (usually just the hostname, e.g. http://www.foldoc.org/). It may also have individual home pages for each user with an account at the site.
(1999-03-21)

Web Request Broker
World-Wide Web (WRB) Part of Oracle Corporation's WebServer suite of programs. It is a high-performance, multi-threaded HTTP server which allows clients' requests to be directly translated into Oracle 7 database scripts, and automatically translates the results of the query back into HTML for delivery to the client browser.
Oracle WebServer (http://www.oracle.com/products/websystem/webserver/html/ws2_info.html).
(1997-03-14)

web server
HTTP server

web site
World-Wide Web (Not website ) Any computer on the Internet running a World-Wide Web server process. A particular web site is identified by the hostname part of a URL. Multiple hostnames may actually map to the same computer in which case they are known as virtual servers .
(1997-02-05)

web smith
World-Wide Web A person who creates web pages. Not necessarily the same as a webmaster.
(1997-02-05)

Webster
1. Webster's Dictionary.
2. A World-Wide Web browser for the Acorn Archimedes. The HTML files may reside locally or be retrieved using a fetcher . An HTTP fetcher for use with KA9Q is supplied.
Version: 0.05.
HENSA Gopher (gopher://micros.hensa.ac.uk:70/11/micros/arch/riscos/c/c164). Demon FTP (ftp://ftp.demon.co.uk/pub/archimedes/developers/).
(1995-02-21)

Webster's Dictionary
Hypertext interface (http://c.gp.cs.cmu.edu:5103/prog/webster).
(1996-04-10)

wedged
1. To be stuck, incapable of proceeding without help. This is different from having crashed. If the system has crashed, it has become totally non-functioning. If the system is wedged, it is trying to do something but cannot make progress; it may be capable of doing a few things, but not be fully operational. For example, a process may become wedged if it deadlocks with another (but not all instances of wedging are deadlocks). See also gronk, locked up, hosed. 2. Often refers to humans suffering misconceptions. He's totally wedged - he's convinced that he can levitate through meditation. 3. [Unix] Specifically used to describe the state of a TTY left in a losing state by abort of a screen-oriented program or one that has messed with the line discipline in some obscure way.
There is some dispute over the origin of this term. It is usually thought to derive from a common description of recto-cranial inversion; however, it may actually have originated with older hot-press printing technology in which physical type elements were locked into type frames with wedges driven in by mallets. Once this had been done, no changes in the typesetting for that page could be made.
[Jargon File]

wedgie
(Fairchild) A bug. Probably related to wedged.

wedgitude
/wedj'i-t[y]ood/ The quality or state of being wedged.
[Jargon File]

Weeble
/wee'b*l/ An egg-shaped plastic toy person with a weight in the bottom so that, if tipped over, they would right themselves and stand up again. They were popular in the UK during the 1970s and were famous for the slogan Weebles wobble but they don't fall down , unlike some computers (pretty tenuous link with computing).
(1994-11-29)

weeds
1. Refers to development projects or algorithms that have no possible relevance or practical application. Comes from off in the weeds . Used in phrases like lexical analysis for microcode is serious weeds.
2. At CDC/ETA before its demise, the phrase go off in the weeds was equivalent to IBM's branch to Fishkill and mainstream hackerdom's jump off into never-never land.
[Jargon File]

weenie
1. [on BBSes] Any of a species of luser resembling a less amusing version of BIFF that infests many BBSes. The typical weenie is a teenage boy with poor social skills travelling under a grandiose handle derived from fantasy or heavy-metal rock lyrics. Among sysops, the weenie problem refers to the marginally literate and profanity-laden flamage weenies tend to spew all over a newly-discovered BBS.
Compare spod, computer geek, terminal junkie.
2. Among hackers, when used with a qualifier (for example, as in Unix weenie, VMS weenie, IBM weenie) this can be either an insult or a term of praise, depending on context, tone of voice, and whether or not it is applied by a person who considers him or herself to be the same sort of weenie. It implies that the weenie has put a major investment of time, effort and concentration into the area indicated; whether this is good or bad depends on the hearer's judgment of how the speaker feels about that area. See also bigot.
3. The semicolon character, ; (ASCII 59).
(1995-01-18)

Weenix
/wee'niks/ An ITS fan's derogatory term for Unix, derived from Unix weenie. According to one noted ex-ITSer, it is the operating system preferred by Unix Weenies: typified by poor modularity, poor reliability, hard file deletion, no file version numbers, case sensitivity everywhere, and users who believe that these are all advantages . Some ITS fans behave as though they believe Unix stole a future that rightfully belonged to them.
[Jargon File]
(1995-01-18)

weighted search
information science A search based on frequencies of the search terms in the documents being searched. Weighted search is often used by search engines. It produces a numerical score for each possible document. A document's score depends on the frequency of each search term in that document compared with the overall frequency of that term in the entire corpus of documents. A common approach is called tf.idf which stands for term frequency * inverse document frequency. Term frequency means the more often a term occurs in a document, the more important it is in describing that document. http://ciir.cs.umass.edu/cmpsci646/ir4/tsld034.htm Inverse document frequency means the more documents a term appears in, the less important the term is.
A simple weighted search is just a list of search terms, for example: car automobile
Weighted search is often contrasted with boolean search. It is possible to have a search that syntactically is a boolean search but which also does a weighted search.
See also query expansion.
For a detailed technical discussion see Chapter 5, Search Strategies , in the reference below.
[ Information Retrieval , C. J. van Rijsbergen, (http://www.dcs.gla.ac.uk/Keith/Chapter.5/Ch.5.html)].
(1999-08-28)

well-behaved
1. [primarily MS-DOS] Said of software conforming to system interface guidelines and standards. Well-behaved software uses the operating system to do chores such as keyboard input, allocating memory and drawing graphics. Oppose ill-behaved.
2. Software that does its job quietly and without counterintuitive effects. Especially said of software having an interface spec sufficiently simple and well-defined that it can be used as a tool by other software. See cat.
[Jargon File]

well-connected
Said of a computer installation, asserts that it has reliable electronic mail links with the network and/or that it relays a large fraction of available Usenet newsgroups. Well-known can be almost synonymous, but also implies that the site's name is familiar to many (due perhaps to an archive service or active Usenet users).

well-ordered set
mathematics A set with a total ordering and no infinite descending chains. A total ordering = satisfies
x = x
x = y = z = x = z
x = y = x = x = y
for all x, y: x = y or y = x
In addition, if a set W is well-ordered then all non-empty subsets A of W have a least element, i.e. there exists x in A such that for all y in A, x = y.
Ordinals are isomorphism classes of well-ordered sets, just as integers are isomorphism classes of finite sets.
(1995-04-19)

Wesley Clark
person One of the designers of the Laboratory Instrument Computer at MIT who subsequently had a quiet hand in many seminal computing events, such as the development of the Internet, the first really good description of the metastability problem in computer logic.
(http://www.pretext.com/mar98/features/story1.htm).
(1999-03-29)

Western Digital Corporation
company A company founded in 1970 as a specialised semiconductor manufacturer, which today manufactures and sells microcomputer products including small form factor hard disk drives for personal computers, integrated circuits and circuit boards for graphics, storage, communications, battery management, and logic functions.
Home (http://www.wdc.com/)
(1995-04-12)

Westmount
company A Dutch software engineering vendor of RTEE and other products.
(1998-04-27)

wetware
jargon /wet'weir/ (Probably from the novels of Rudy Rucker, or maybe Stanislav Lem) The human nervous system, as opposed to electronic computer hardware or software. Wetware has 7 plus or minus 2 temporary registers. Also, human beings (programmers, operators, administrators) attached to a computer system, as opposed to the system's hardware or software.
See liveware, meatware.
[True origin? Dates?]
[Jargon File]
(1996-08-19)

wf
networking The country code for the Wallis and Futuna Islands.
(1999-01-27)

WFL
Work Flow Language. Burroughs, ca 1973. A job control language for the B6700/B7700 under MCP. WFL was a compiled block-structured language similar to ALGOL 60, with subroutines and nested begin-end's.
[ Work Flow Management User's Guide , Burroughs Manual 5000714, 1973].
[ Burroughs B6700/B7700 Work Flow Language , R.M. Cowan in Command Languages , C. Unger ed, N-H 1975].
(1996-01-18)

WfMC
Workflow Management Coalition

WFW
Windows for Workgroups

WFWG
Windows for Workgroups

WG
Working Group

WGL
Waveform Generation Language

whack
According to arch-hacker James Gosling, to ...modify a program with no idea whatsoever how it works. (See whacker.) It is actually possible to do this in nontrivial circumstances if the change is small and well-defined and you are very good at glarking things from context. As a trivial example, it is relatively easy to change all stderr writes to stdout writes in a piece of C filter code which remains otherwise mysterious.
[Jargon File]

whacker
[University of Maryland: from hacker] 1. A person, similar to a hacker, who enjoys exploring the details of programmable systems and how to stretch their capabilities. Whereas a hacker tends to produce great hacks, a whacker only ends up whacking the system or program in question. Whackers are often quite egotistical and eager to claim wizard status, regardless of the views of their peers. 2. A person who is good at programming quickly, though rather poorly and ineptly.

whales
See like kicking dead whales down the beach.
[Jargon File]

whalesong
The peculiar clicking and whooshing sounds made by a PEP modem such as the Telebit Trailblazer as it tries to synchronise with another PEP modem for their special high-speed mode. This sound isn't anything like the normal two-tone handshake between conventional modems and is instantly recognizable to anyone who has heard it more than once. It sounds, in fact, very much like whale songs. This noise is also called the moose call or moose tones .

whatis
tool 1. A Unix command which searches for a given string in the headings of all man pages.
2. A command which searches the archie Software Description Database for a given string, with case being ignored.
(1995-11-12)

What's a spline?
[XEROX PARC] This phrase expands to: You have just used a term that I've heard for a year and a half, and I feel I should know, but don't. My curiosity has finally overcome my guilt. The PARC lexicon adds Moral: don't hesitate to ask questions, even if they seem obvious.
[Jargon File]

What You Get Is What You Never Thought You Had
jargon (WYGIWYNTYH) A jibe at WYSIWYG systems that fail in their stated aim by rendering documents differently on screen and on paper.
(1999-06-15)

What You See Is All You Get
jargon (WYSIAYG) /wiz'ee-ayg/ Describes a user interface under which What You See Is *All* You Get ; an unhappy variant of WYSIWYG. Visual, point-and-drool interfaces are easy to learn but often lack depth; they often frustrate advanced users who would be better served by a command-style interface. When this happens, the frustrated user has a WYSIAYG problem.
This term is most often used of editors, word processors, and document formatting programs. WYSIWYG desktop publishing programs, for example, are a clear win for creating small documents with lots of fonts and graphics in them, especially things like newsletters and presentation slides. When typesetting book-length manuscripts, on the other hand, scale changes the nature of the task; one quickly runs into WYSIAYG limitations, and the increased power and flexibility of a command-driven formatter like TeX or Unix's troff becomes not just desirable but a necessity.
Compare YAFIYGI.
(1999-03-03)

What You See Is What You Get
jargon (WYSIWYG) /wiz'ee-wig/ Describes a user interface for a document preparation system under which changes are represented by displaying a more-or-less accurate image of the way the document will finally appear, e.g. when printed. This is in contrast to one that uses more-or-less obscure commands that do not result in immediate visual feedback.
True WYSIWYG in environments supporting multiple fonts or graphics is a a rarely-attained ideal; there are variants of this term to express real-world manifestations including WYSIAWYG (What You See Is *Almost* What You Get) and WYSIMOLWYG (What You See Is More or Less What You Get). All these can be mildly derogatory, as they are often used to refer to dumbed-down user-friendly interfaces targeted at non-programmers; a hacker has no fear of obscure commands (compare WYSIAYG). On the other hand, Emacs was one of the very first WYSIWYG editors, replacing (actually, at first overlaying) the extremely obscure, command-based TECO.
See also WIMP.
(1999-03-03)

wheel
[slang big wheel for a powerful person] A person who has an active wheel bit. We need to find a wheel to unwedge the hung tape drives. (See wedged).
[Jargon File]

wheel bit
A privilege bit that allows the possessor to perform some restricted operation on a time-sharing system, such as read or write any file on the system regardless of protections, change or look at any address in the running monitor, crash or reload the system, and kill or create jobs and user accounts. The term was invented on the TENEX operating system, and carried over to TOPS-20, XEROX-IFS, and others. The state of being in a privileged logon is sometimes called wheel mode . This term entered the Unix culture from TWENEX in the mid-1980s and has been gaining popularity there (especially at university sites). See also root.

wheel wars
[Stanford University] A period in larval stage during which student hackers hassle each other by attempting to log each other out of the system, delete each other's files, and otherwise wreak havoc, usually at the expense of the lesser users.
[Jargon File]

When It's Done
jargon A manufacturer's non-answer to questions about product availability. This answer allows the manufacturer to pretend to communicate with their customers without setting themselves any deadlines or revealing how behind schedule the product really is. It also sounds slightly better than We don't know .
(1999-08-22)

Whetstone
benchmark The first major synthetic benchmark program, intended to be representative for numerical (floating-point intensive) programming. It is based on statistics gathered by Brian Wichmann at the National Physical Laboratory in England, using an Algol 60 compiler which translated Algol into instructions for the imaginary Whetstone machine. The compilation system was named after the small town of Whetstone outside the City of Leicester, England, where it was designed.
The later dhrystone benchmark was a pun on Whetstone.
Source code: C (ftp://netlib.att.com/netlib/benchmark/whetstonec.Z), single precision Fortran (ftp://netlib.att.com:/netlib/benchmark/whetstones.Z), double precision Fortran (ftp://netlib.att.com:/netlib/benchmark/whetstoned.Z).
[ A Synthetic Benchmark , H.J. Curnow and B.A. Wichmann, The Computer Journal, 19,1 (1976), pp. 43-49].
(1994-11-14)

Which Stands For Nothing
language (WSFN) A beginner's language with emphasis on graphics produced by Atari in 1983 for Atari home computers. There is also Advanced WSFN.
(1996-06-12)

while
programming The loop construct found in nearly all imperative programming languages which executes one or more instructions (the loop body ) repeatedly so long as some condition evaluates to true. In contrast to a repeat loop, the loop body will not be executed at all if the condition is false on entry to the while.
For example, in C, a while loop is written
while ( expr ) statement ;
where expr is any expression and statement is any statement, including a compound statement within braces
.. .
(1995-03-14)

Whirlwind
computer An early computer from the MIT Research Laboratory for Electronics.
Whirlwind used electrostatic memory and ran Laning and Zierler (1953); and ALGEBRAIC, COMPREHENSIVE and SUMMER SESSION (all 1959).
[Details, reference?]
(2002-06-03)

White Book
1. language, publication K R.
2. language, publication, file format The fourth book in Adobe Systems, Inc.'s PostScript series, describing the previously-secret format of Type 1 fonts. The other three official guides are known as the Blue Book, the Green Book, and the Red Book.
[ Adobe Type 1 Font Format, version 1.1 , Addison-Wesley, 1990 (ISBN 0-201-57044-0)].
3. hardware, standard White book CD-ROM.
[Jargon File]
(1996-12-03)

White book CD-ROM
hardware, standard A more open CD-ROM standard than Green Book CD-ROM. All films mastered on CD-ROM after March 1994 use White Book. Like Green Book, it is ISO 9660 compliant, uses mode 2 form 2 addressing and can only be played on a CD-ROM drive which is XA (Extended Architecture) compatible. White book CDs are labelled Video CD .
(1994-11-02)

white box testing
programming (Or clear , glass , open ) Software testing approaches that examine the program structure and derive test data from the program logic.
Structural testing is sometimes referred to as clear-box testing since white boxes are considered opaque and do not really permit visibility into the code.
(1996-05-10)

White pages
A directory service for locating individuals by name (by analogy with the telephone directory). The Internet supports several databases that contain basic information about users, such as electronic mail addresses, telephone numbers and postal addresses. These databases can be searched to get information about particular individuals. See Knowbot, Netfind, whois, X.500, finger.

white paper
publication A short treatise whose purpose is to educate industry customers. See, e.g., Architecture Neutral Distribution Format.
(1997-10-24)

whitespace
character (From the colour it produces on white paper) Any contiguous sequence of spaces, tabs, carriage returns, and/or line feeds. Whitespace might also possibly include form feed characters. The term is common on Unix.
See also non-printing character.
(1996-09-04)

white trash
abuse, hardware A pejorative term for Intel-based microcomputers, used by NeXT users at UK law firm Linklaters Paines to contrast these machines with their black NeXT boxes.
(1996-09-04)

WHNF
weak head normal form

whois
An Internet directory service for looking up names of people on a remote server. Many servers respond to TCP queries on port 43, in a manner roughly analogous to the DDN NIC whois service described in RFC 954. Other sites provide this directory service via the finger protocol or accept queries by electronic mail for directory information. On Unix the client command is
whois -h server_name person_name
You can also type telnet server_name 43 and then type the person's name on a separate line. For a list of whois servers, FTP/Gopher: sipb.mit.edu. Or
whois -h sipb.mit.edu whois-servers
As the above command demonstrates, whois can find information about things other than users, e.g. domains, networks and hosts.
See also finger, X.500, white pages.

Whopper
WarGames

WHQL
Windows Hardware Quality Labs
[What is it?]
(1998-05-21)

WIBNI
(Bell Labs) Wouldn't It Be Nice If.
What most requirements documents and specifications consist entirely of.
Compare IWBNI.
[Jargon File]
(1994-11-24)

Wide Area Information Servers
networking, information science (WAIS) A distributed information retrieval system. WAIS is supported by Apple Computer, Thinking Machines and Dow Jones. Clients are able to retrieve documents using keywords. The search returns a list of documents, ranked according to the frequency of occurrence of the keyword(s) used in the search. The client can retrieve text or multimedia documents stored on the server. WAIS offers simple natural language input, indexed searching for fast retrieval, and a relevance feedback mechanism which allows the results of initial searches to influence future searches. It uses the ANSI Z39.50 service. Public domain implementations are available.
Other information retrieval systems include archie, Gopher, Prospero, and World-Wide Web.
Usenet newsgroup: news:comp.infosystems.wais.
Telnet (telnet://sunsite.unc.edu)
(1995-03-13)

Wide Area Network
(WAN) A network, usually constructed with serial lines, extending over distances greater than one kilometre.
Compare local area network, metropolitan area network.
(1994-11-24)

Wideband ATM
networking An enhanced form of ATM networking that transfers digital data over local area networks, orignally at 0.96 Gbps, now (Aug 1996) at 1.0 Gbps.
(1996-08-23)

Wide SCSI
hardware, standard A variant on the SCSI-2 interface. It uses a 16-bit bus - double the width of the original SCSI-1 - and therefore cannot be connected to a SCSI-1 bus. It supports transfer rates up to 20 MB/s, like Fast SCSI.
There is also a SCSI-2 definition of Wide-SCSI with a 32 bit data bus. This allows up to 40 megabytes per second but is very rarely used because it requires a large number of wires (118 wires on two connectors). Thus Wide SCSI usually means 16 bit-wide SCSI.
(1995-04-21)

widget
1. A meta-thing. Used to stand for a real object in didactic examples (especially database tutorials). Legend has it that the original widgets were holders for buggy whips. But suppose the parts list for a widget has 52 entries...
2. [possibly evoking window gadget ] In graphical user interfaces, a combination of a graphic symbol and some program code to perform a specific function. E.g. a scroll-bar or button. Windowing systems usually provide widget libraries containing commonly used widgets drawn in a certain style and with consistent behaviour.
[Jargon File]

wiggles
[scientific computation] In solving partial differential equations by finite difference and similar methods, wiggles are sawtooth (up-down-up-down) oscillations at the shortest wavelength representable on the grid. If an algorithm is unstable, this is often the most unstable waveform, so it grows to dominate the solution. Alternatively, stable (though inaccurate) wiggles can be generated near a discontinuity by a Gibbs phenomenon.

WiLAN
wireless local area network

Wild_LIFE
Logic, Inheritance, Functions and Equations
parts: interpreter, manual, tests, libraries, examples
Paradise Project, DEC Paris Research Laboratory.
(ftp://gatekeeper.dec.com/pub/plan/Life.tar.Z) - Wild_LIFE interpreter from Paradise project at DEC's Paris Research Lab
LIFE is an experimental programming language with a powerful facility for structured type inheritance. It reconciles styles from functional programming, logic programming, and object-oriented programming. LIFE implements a constraint logic programming language with equality (unification) and entailment (matching) constraints over order-sorted feature terms. The Wild_LIFE interpreter has a comfortable user interface with incremental query extension ability. It contains an extensive set of built-in operations as well as an X Windows interface.
A semantic superset of LOGIN and LeFun. Syntax is similar to prolog.
bugs: life-bugs@prl.dec.com
ports:MIPS-Ultrix
Mailing list:life-request@prl.dec.com
E-mail: Peter Van Roy vanroy@prl.dec.com
(1992-12-14)

wild card
operating system, programming, text (From card games in which certain cards, often the joker, can act as any other card) A special character or character sequence which matches any character in a string comparison, like ellipsis ( ... ) in ordinary written text.
In Unix filenames '?' matches any single character and '*' matches any zero or more characters. In regular expressions, '.' matches any one character and [...] matches any one of the enclosed characters.
See also Backus-Naur Form.
(1997-07-16)

William Gibson
person Author of cyberpunk novels such as Neuromancer (1984), Count Zero (1986), Mona Lisa Overdrive, and Virtual Light (1993).
Neuromancer, a novel about a computer hacker/criminal cowboy of the future helping to free an artificial intelligence from its programmed bounds, won the Hugo and Nebula science fiction awards and is credited as the seminal cyberpunk novel and the origin of the term cyberspace .
Gibson does not have a technical background and supposedly purchased his first computer in 1992.
(1996-06-11)

William Hamilton
person A mathematician who posed Hamilton's problem.
Biography (http://gregory.dcs.st-and.ac.uk/~history/ShortBiogs/H.html#Hamilton).
[Summary?]
(1995-11-02)

William Joy
person (Bill Joy) Author of the C shell and vi, he was also one of the people at the University of California at Berkeley responsible for the Berkeley Software Distribution of Unix. He also wrote a book on Unix.
He was a co-founder of Sun Microsystems, Inc., where he is still (1997) Vice-President of Research. Among his many projects for Sun have been helping to design the Network File System and the SPARC architechture.
Biography (http://www.sun.com/aboutsun/media/ceo/mgt_joy.html).
See also dinosaur.
[Book ref? E-mail?]
(2000-10-30)

WIMP
operating system Windows, Icons, Menus and Pointers (or maybe Windows, Icons, Mouse, Pull-down menus).
The style of graphical user interface invented at Xerox PARC, popularised by the Apple Macintosh and now available in other varieties such as the X Window System, OSF/Motif, NeWS and RISC OS.
See menuitis, user-obsequious, window system.
(1995-05-02)

WIMP environment
WIMP

win
jargon (Said of people, computers, algorithms, programs) (To be) a success at a given task.
E.g. WYSIWYG is a clear win for small documents .
winnitude is the quality posessed by something which wins. winning is often (ab)used as an adjective.
Synonyms: cuspy, elegant. Antonym: lose. Compare lossy, lossless.
[Jargon File]
(1996-09-08)

Win2K
Windows 2000

Win32
programming An application programming interface that is common to all Microsoft's 32-bit Windows operating systems. These currently include: Windows 95, Windows 98, Windows NT and Windows CE.
[Relationship with Win32s?]
(1997-12-20)

Win32s
operating system A free extension for Microsoft Windows, released by Microsoft. Win32s is a software layer on top of Windows which allows 32-bit applications (e.g. Mosaic) to run on Windows. Both stand-alone Windows and Windows for Workgroups run as 16 bit, and both can use Win32s to run 32-bit applications.
(1996-07-08)

Win 95
Windows 95

Win 98
Windows 98

winchester
hardware An informal generic term for floating-head magnetic disk drives in which the read-write head planes over the disk surface on an air cushion.
The name arose because the original 1973 engineering prototype for what later became the IBM 3340 featured two 30-megabyte volumes; 30--30 became Winchester when somebody noticed the similarity to the common term for a famous Winchester rifle (in the latter, the first 30 referred to caliber and the second to the grain weight of the charge).
[Jargon File]
(1994-12-06)

windowing system
window system

window manager
operating system A part of a window system which arranges windows on a screen. It is responsible for moving and resizing windows, and other such functions common to all applications.
Examples from the X Window System are twm, gwm, olwm.
(1994-12-06)

Window RAM
Window Random Access Memory

Window Random Access Memory
hardware, storage (WRAM, Window RAM) A kind of RAM which is faster than VRAM.
WRAM is used in the Matrox MGA Millennium video display card and almost certainly elsewhere.
[More details?]
(1996-06-05)

Windows
operating system See Microsoft Windows, Windows NT.
(1997-11-23)

Windows 1
operating system The first incarnation of Microsoft Windows, released in 1985. It took a total of 55 programmer-years to develop, and only allowed tiled windows.
(1996-07-08)

Windows 2
operating system The second version of Microsoft Windows, released in 1987. Windows 2 had considerably more features than Windows 1, such as overlapping windows and icons. When Windows/386 was released, Windows 2 was renamed Windows/286.

Windows 2000
operating system (Win2k, W2k, NT5, Windows NT 5.0) An operating system developed by Microsoft Corporation for PCs and servers, as the successor to Windows NT 4.0. Early beta versions were referred to as Windows NT 5.0 . Windows 2000 was officially released on 2000-02-17.
Windows 2000 is most commonly used on Intel x86 and Pentium processors, with a DEC Alpha version rumoured. Unlike Windows NT 4.0, Windows 2000 is not available for PowerPC or MIPS.
Windows 2000's user interface is very similar to Windows 95 or Windows NT 4.0 with integrated Internet Explorer, or to Windows 98.
It is available in four flavours:
- Professional: the client version, meant for desktop workstations, successor to Windows NT Workstation.
- Server: entry-level server, designed for small deployments, and departmental file, print, or intranet servers.
- Advanced Server: high throughput, larger scale servers and applications, and small to medium scale web sites.
- Data Center Server: software for large-scale server clusters (in development as of 2000-03-14).
New features in Windows 2000 include:
- Active Directory.
- Greatly improved built-in security mechanisms, including Kerberos-based authentication, public key support, an encrypting file system, and IPsec support.
- Integrated web browser - Internet Explorer 5.0.
- Integrated web server - IIS 5.0
- Terminal services for displaying application interfaces on remote computers (similar to X-Windows).
- File protection that prevents user programs from accidentally deleting or overwriting critical system files.
- Improved hardware support, including Plug-and-Play, DVD, IEEE-1394 (FireWire), USB, infra-red, PCMCIA, ACPI, laptop computers.
- Improved user interface, including a single point to control the entire system.
- Improved management tools, including remote administration.
Minimum system requirements, according to Microsoft, are Pentium-133 MHz CPU, 64 MB RAM, 650 MB of hard disk space. These are for W2K Professional, others require more.
Many operating systems compete with Windows 2000, including the Apple MacOS, Linux, FreeBSD, OpenBSD, NetBSD, Sun Solaris, IBM AIX, Hewlett-Packard HP-UX, SGI Irix. Novell's NDS also provides a service similar to Active Directory.
Windows 2000 will be followed by Windows XP Professional and Windows 2002.
Home (http://www.microsoft.com/windows2000/).
Usenet newsgroups: (news:microsoft.public.windows2000), (news:comp.os.ms-windows).
(2002-01-28)

Windows/286
Windows 2

Windows 2K
Windows 2000

Windows 3.0
operating system A complete rework of Microsoft Windows with many new facilities such as the ability to address memory beyond 640k. It was released in 1990, and vigorous development of applications by third parties helped Microsoft sell over 10 million copies.
(1996-07-08)

Windows 3.1
operating system A version of Microsoft Windows with many improvements over Windows 3.0, including True Type Fonts, Object Linking and Embedding (OLE) and Mouse Trails for use with LCD Devices. It also saw the loss of Real Mode, which meant it would no longer run on Intel 8086 processors (did anyone ever do this anyway?).
Sometimes described as stand-alone Windows , in contrast to Windows for Workgroups 3.1. Windows 3.11 is a free bug-fix update. 3.1's successors are Windows 95 and Windows NT.
(1996-07-08)

Windows 3.11
operating system A free upgrade to Windows 3.1, which contained mainly minor bug fixes.
(1996-07-08)

Windows/386
operating system A version of Microsoft Windows released in late 1987. Windows/386 was basically the same as its predecessor, Windows/286 (as Windows 2 was renamed), but with the capability to run multiple MS-DOS applications simultaneously in extended memory.
(1996-07-08)

Windows 4GL
tool, database (INGRES/Windows 4GL) A graphical tool running on top of a workstation's native windowing system, to help developers to build user interfaces to INGRES applications.
(1996-07-09)

Windows 94
operating system, humour A facetious name for Windows 95, so called because it was originally meant to ship in 1994.
(1998-09-07)

Windows 95
operating system (Win95) Microsoft's successor to their Windows 3.11 operating system for IBM PCs. It was known as Chicago during development. Its release was originally scheduled for late 1994 but eventually happened on 11 Jul 1995, followed by Service Release 1 on 1995-12-31 and OSR2 (OEM Service Release 2) on 1996-08-24.
In contrast to earlier versions, Windows 95 is a complete operating system rather than a graphical user interface running on top of MS-DOS.
It provides 32-bit application support, pre-emptive multitasking, threading and built-in networking (TCP/IP, IPX, SLIP, PPP, and Windows Sockets). It includes MS-DOS 7.0, but takes over completely after booting. The graphical user interface, while similar to previous Windows versions, is significantly improved.
Windows 95 has also been described as 32-bit extensions and a graphical shell for a 16-bit patch to an 8-bit operating system originally coded for a 4-bit microprocessor, written by a 2-bit company that can't stand 1-bit of competition .
The successor to Windows 95 was Windows 98.
(1998-07-19)

Windows 98
operating system Microsoft's 1998 update to Windows 95 that adds:
* Hardware support for Universal Serial Bus (USB).
* Internet Connection Sharing (IGC) - multiple PCs share a single connection to the Internet.
* Microsoft WebTV for Windows - watch TV on your PC.
* Support for new graphic, sound, and multimedia formats.
* Internet Explorer release 5.
* Windows 98 Service Pack - year 2000 updates.
Windows 98 was followed logically by Windows ME but chronologically by Windows 2000 Professional Edition.
Home (http://www.microsoft.com/windows98).
(2002-01-19)

Windows Application Binary Interface
operating system, tool (WABI) A software package from Sun Microsystems to allow certain Microsoft Windows applications under the X Window System. Wabi 2.2 runs under Solaris on SPARC, Intel, and PowerPC. Wabi works by providing translated versions of the three core Windows libraries, user.dll, kernel.dll, and gdi.dll which redirect Windows calls to Solaris equivalents. For code other than core library calls Wabi either executes the instructions directly on the hardware, if it is Intel, or emulates them, either one instruction at a time or by translating a block of instructions and caching the result (e.g. for a loop).
WabiServer allows the Windows application and X display to be on different computers.
Overview (http://www.sun.com/solaris/products/wabi/).
(1997-01-08)

Windows CE
operating system /C E/ A version of the Microsoft Windows operating system that is being used in a variety of embedded products, from handheld PCs to specialised industrial controllers and consumer electronic devices. Programming for Windows CE is similar to programming for other Win32 platforms.
Windows CE was developed to be a customisable operating system for embedded applications. Its kernel borrows much from other Microsoft 32-bit operating systems, while eliminating (or replacing) those operating system features that are not needed for typical Windows CE-based applications. For example, as on Windows NT, all applications running on Windows CE run in a fully preemptive multitasking environment, in fully protected memory spaces.
The Win32 (API) for Windows CE is smaller than the Win32 API for the other 32-bit Windows operating systems. It includes approximately half the interface methods of the Windows NT version of the API. But the Win32 API for Windows CE also includes features found in no other Microsoft operating system. The notification API, for example, makes it possible to handle user or application notification events (such as timer events) at the operating-system level, rather than in a running application. The touch screen API and the built-in support for the Windows CE database are not found in other Windows operating systems. The touch screen API makes it easy to manage screen calibration and user interactions for touch-sensitive displays, while the database API provides access to a data storage facility.
(http://channels.microsoft.com/windowsce/developer/default.htm).
(http://channels.microsoft.com/windowsce/developer/technical/default.htm).
(1997-12-20)

Windows for Workgroups
operating system (WFW, WFWG) A version of Windows 3.1 which works with a network. Although stand-alone 3.1 can be networked, the installation and configuration is much improved with Windows for Workgroups (3.1). Windows for Workgroups 3.11 was a significant upgrade to WFW 3.1, adding 32-bit file access, fax capability and higher performance.
(1996-07-08)

window shopping
jargon A term used among users of WIMP environments like the X Window System or the Macintosh at the US Geological Survey for extended experimentation with new window colours, fonts, and icon shapes. This activity can take up hours of what might otherwise have been productive working time. I spent the afternoon window shopping until I found the coolest shade of green for my active window borders --- now they perfectly match my medium slate blue background. Serious window shoppers will spend their days with bitmap editors, creating new and different icons and background patterns for all to see. Also: window dressing , the act of applying new fonts, colours, etc.
See fritterware, compare macdink.
[Jargon File]
(1996-07-08)

Windows Internet Naming Service
networking (WINS) Software which resolves NetBIOS names to IP addresses.
[Details?]
(1998-02-14)

Windows Messaging
messaging Microsoft's Internet electronic mail application, formerly called Microsoft Exchange.
(1998-07-05)

windows messaging
messaging An inter-process communication facility usually provided by vendors of graphical user interfaces for concurrent operating systems, such as Microsoft, The X Consortium and Apple.
The system software translates hardware interrupts from various input devices into messages according to the current input context (e.g. the active window of the frontmost application). Each message is a short piece of information. A message's format depends on its type, which is usually encoded in its first field. The message is sent to the client application using some communication protocol (e.g. shared memory, internal socket, network socket). The client application dispatches the message and performs any actions required. The messages can also be sent by client applications. This provides convenient and flexible inter-process communication.
(1998-07-06)

Windows NT
operating system (Windows New Technology, NT) Microsoft's 32-bit operating system developed from what was originally intended to be OS/2 3.0 before Microsoft and IBM ceased joint development of OS/2. NT was designed for high end workstations (Windows NT 3.1), servers (Windows NT 3.1 Advanced Server), and corporate networks (NT 4.0 Enterprise Server). The first release was Windows NT 3.1.
Unlike Windows 3.1, which was a graphical environment that ran on top of MS-DOS, Windows NT is a complete operating system. To the user it looks like Windows 3.1, but it has true multi-threading, built in networking, security, and memory protection.
It is based on a microkernel, with 32-bit addressing for up to 4Gb of RAM, virtualised hardware access to fully protect applications, installable file systems, such as FAT, HPFS and NTFS, built-in networking, multi-processor support, and C2 security.
NT is also designed to be hardware independent. Once the machine specific part - the Hardware Abstraction Layer (HAL) - has been ported to a particular machine, the rest of the operating system should theorertically compile without alteration. A version of NT for DEC's Alpha machines was planned (September 1993).
NT needs a fast 386 or equivalent, at least 12MB of RAM (preferably 16MB) and at least 75MB of free disk space.
NT 4.0 was followed by Windows 2000.
Usenet newsgroups: news:comp.os.ms-windows.nt.setup, news:comp.os.ms-windows.nt.misc.
(2002-06-10)

Windows NT 3.1
operating system Microsoft's first version of Windows NT, released in September 1993, price UKP 395, after having been in beta-test for as long as anyone could remember.
The person responsible for VMS on the DEC VAX [who?] was also responsible for Windows NT. Incrementing each letter in VMS yeilds WNT.
(http://www.win2000mag.com/Articles/Index.cfm?ArticleID=4494).
(2000-08-12)

Windows NT 3.5
operating system A much improved version of Microsoft's Windows NT 3.1. NT is now (July 1996) supplied as Windows NT 3.5 Workstation and Windows NT 3.5 Server . It has better OLE support, higher performance and requires less memory.
(1996-07-08)

Windows NT 4
operating system A version of Microsoft's Windows NT operating system, originally code named Cairo . It was supposed to ship in the first half of 1995. Details are scarce, but it is intended to provide an object-oriented version of Windows.
(1996-07-09)

Windows NT 5
Windows 2000

Windows NT Network Model
networking The network model used by Windows NT. The model has the following layers:
User Applications (e.g. Excel)
APIs
File System Drivers
TDI
Protocols
NDIS v4
NDIS Wrapper
NDIS Card Driver
Network Adapter Card
Compare OSI seven layer model.
(1997-11-05)

Windows Open Service Architecture
architecture, library, microsoft (WOSA) One of the mainstays of Microsoft Windows: the ethos of abstraction of core services.
For each extension, Windows Open Services Architecture defines an API and an SPI, as well as a universal interface (usually placed in a single DLL) that both comply to.
These then transparently let the operating system speak to device drivers, database managers, and other low level entities.
These extensions include, among others, ODBC (called the crowning jewel of WOSA ), TAPI, WOSA/XFS, SAPI and MAPI, and their supporting services, as well as the abstraction of access to printers, modems, and networking services, which run identically over TCP/IP, IPX/SPX, and NetBEUI.
(2000-08-16)

Windows sockets
networking, standard (Winsock) A specification for Microsoft Windows network software, describing how applications can access network services, especially TCP/IP. Winsock is intended to provide a single API to which application developers should program and to which multiple network software vendors should conform. For any particular version of Microsoft Windows, it defines a binary interface (ABI) such that an application written to the Windows Sockets API can work with a conformant protocol implementation from any network software vendor.
Winsock was conceived at Fall Interop '91 during a Birds of a Feather session.
Windows Sockets is supported by Microsoft Windows, Windows for Workgroups, Win32s, Windows 95 and Windows NT. It will support protocols other than TCP/IP. Under Windows NT, Microsoft will provide Windows Sockets support over TCP/IP and IPX/SPX. DEC will be implementing DECNet. Windows NT will include mechanisms for multiple protocol support in Windows Sockets, both 32-bit and 16 bit.
Mark Towfiq said, The next rev. of Winsock will not be until towards the end of 1993. We need 1.1 of the API to become firmly settled and implemented first.
Windows Sockets API (ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock) or (ftp://microdyne.com/pub/winsock) or send a message help to either ftpmail@SunSite.UNC.Edu or ftpmail@DECWRL.DEC.Com .
Windows Sockets specification (ftp://rhino.microsoft.com)
Currently NetManage (NEWT), Distinct, FTP and Frontier are shipping Winsock TCP/IP stacks, as is Microsoft (Windows NT and TCP/IP for WFW), Beame Whiteside Software (v1.1 compliant), and Sun PC-NFS. Windows 95 has dial-up networking which supports Winsock and TCP/IP.
winsock.dll is available from some TCP/IP stack vendors. Novell has one in beta for their Lan Workplace for DOS.
Peter Tattam peter@psychnet.psychol.utas.edu.au is alpha-testing a shareware Windows Sockets compliant TCP/IP stack (ftp://ftp.utas.edu.au/pc/trumpet/winsock/winsock.zip) and (ftp://ftp.utas.edu.au/pc/trumpet/winsock/winpkt.com).
The Consummate Winsock App List (http://wwwvms.utexas.edu/~Neuroses/cwsapps.html).
[Adapted from: Aboba, Bernard D., comp.protocols.tcp-ip.ibmpc Frequently Asked Questions, 1993 Usenet: news:news.answers, (ftp://netcom1.netcom.com/pub/mailcom/IBMTCP/)].
[Current status?]
(1996-06-20)

Windows XP
operating system Microsoft's version of the Windows operating system that finally, in 2001[?], merged the Windows 95 - Windows ME strain with the Windows NT - Windows 2000 one.
Windows XP Home (http://www.microsoft.com/windowsxp/).
[Summary?]
(2002-06-10)

window system
Software which allows a workstation's screen to be divided into rectangular areas which act like a separate input/output devices under the control of different application programs. This gives the user the ability to see the output of several processes at once and to choose which one will receive input by selecting its window, usually by pointing at it with a mouse.
Examples are the X Window System, and proprietary systems on the Macintosh and NeXT, NeWS on Suns and RISC OS on the Archimedes. See also WIMP.

Windoze
Microsloth Windows

Wind River Systems
company A company founded in 1981, now a world leader in embedded systems, providing real-time operating systems and development tools. Wind River's development tools enable customers to standardise designs across projects and quickly develop feature-rich products.
Wind River Systems employs over 500 people worldwide (1998). Service and support is provided through its U.S. headquarters and overseas operations in the U.K., France, Germany, Scandinavia and Japan.
Home (http://www.wrs.com/).
Address: Alameda, California, USA.
(1998-11-06)

winged comments
programming Comments set on the same line as code, as opposed to boxed comments.
In C, for example:
d = sqrt(x*x + y*y); /* distance from origin */
Generally these refer only to the action(s) taken on that line.
[Jargon File]
(1997-07-21)

winkey
chat winkey face.
See emoticon.
[Jargon File]
(1996-09-08)

winning
win

winnitude
win

WINS
Windows Internet Naming Service

Winsock
Windows sockets

WinSoft Products Ltd
company The company which produces EMBLA Pro.
Home (http://www.ftech.co.uk/~winsoft)
E-mail: WinSoft Products Ltd info@winsoft.ftech.co.uk
(1996-03-11)

wintel
jargon, architecture A term describing any computer platform consisting of some version of Microsoft Windows running on an Intel 80x86 processor or compatible.
Despite the dominance of the wintel platform, in its many forms, from MS-DOS on an Intel 8088 to Windows 2000 on a Pentium II Xeon, there are many non-wintel platforms in use. These include Acorn, Amiga, Apple, ARM, Atari, A Box, Be, Network Computer, OS/2, PowerPC, Psion, Linux and all other Unix systems.
Convergence International (http://www.convergence.org/).
(1999-09-15)

WINZIP
tool A Microsoft Windows archiving and compression program, distributed by Nico Mak Computing, Inc. WINZIP has a graphical user interface front end and is compatible with PKZIP. WINZIP can be obtained as shareware, on evaluation, or as a licenced copy. It is much easier to use then PKZIP for DOS, and includes a helpful, help file.
Home (http://www.winzip.com/).
(2000-02-27)

wired
hard-wired

wirehead
jargon /wi:r'hed/ (Probably from SF slang for an electrical brain-stimulation addict) 1. A hardware hacker, especially one who concentrates on communications hardware.
2. An expert in local-area networks. A wirehead can be a network software wizard too, but will always have the ability to deal with network hardware, down to the smallest component. Wireheads are known for their ability to lash up an Ethernet terminator from spare resistors, for example.
[Jargon File]
(1995-02-28)

wireless
networking A term describing a computer network where there is no physical connection (either copper cable or fibre optics) between sender and receiver, but instead they are connected by radio.
Applications for wireless networks include multi-party teleconferencing, distributed work sessions, personal digital assistants, and electronic newspapers. They include the transmission of voice, video, images, and data, each traffic type with possibly differing bandwidth and quality-of-service requirements. The wireless network components of a complete source-destination path requires consideration of mobility, hand-off, and varying transmission and bandwidth conditions. The wired/wireless network combination provides a severe bandwidth mismatch, as well as vastly different error conditions. The processing capability of fixed vs. mobile terminals may be expected to differ significantly. This then leads to such issues to be addressed in this environment as admission control, capacity assignment and hand-off control in the wireless domain, flow and error control over the complete end-to-end path, dynamic bandwidth control to accommodate bandwidth mismatch and/or varying processing capability.
Usenet newsgroup news:comp.std.wireless.
(1995-02-27)

Wireless Application Protocol
protocol, standard (WAP) An open international standard for applications that use wireless communication, e.g. Internet access from a mobile phone.
The official body developing WAP is the WAP Forum.
Home (http://www.wapforum.org/).
Technical data (http://www.wapforum.org/what/technical.htm).
[More detailed summary?]
(2000-02-10)

wireless bitmap
graphics, file format (WBMP) A bitmap for display on a WAP mobile phone.
Currently (2001) the only type of WBMP file defined is a simple black-and-white image file with one bit per pixel and no compression.
[WAP Forum (http://www.wapforum.org/), WAP-190-WAE-Spec or Wireless Application Protocol, Wireless Application Environment Specification ].
(2001-05-23)

wireless local area network
networking (WLAN /W-lan/, or LAWN /lorn/, sometimes WiLAN /wi-lan/) A communication system that transmits and receives data using modulated electromagnetic waves, implemented as an extension to, or as an alternative for, a wired LAN. WLANs are typically found within a small client node-dense locale (e.g. a campus or office building), or anywhere a traditional network cannot be deployed for logistical reasons.
Benefits include user mobility in the coverage area, speed and simplicity of physical setup, and scalability. Being a military spin-off, WLANs also provide security features such as encryption, frequency hopping, and firewalls. Some of these are intrinsic to the protocol, making WLANs at least as secure as wired networks, and usually more so. The drawbacks are high initial cost (mostly hardware), limited range, possibility of mutual interference, amd the need to security-enable clients.
The established protocols are covered by IEEE 802.11 (http://standards.ieee.org/getieee802/). Recent developments include the Bluetooth project and other WPAN, or Personal Area Network initiatives, accessible through IEEE 802.15 working group (http://grouper.ieee.org/groups/802/15/).
Wireless Lan Association (http://www.wlana.com/).
Usenet newsgroups: news:comp.dcom.lans.misc, news:comp.std.wireless.
(2001-07-14)

wirewater
jargon programming fluid. This melds the mainstream slang adjective wired (stimulated, up, hyperactive) with firewater ; however, it refers to caffeinacious rather than alcoholic beverages.
[Jargon File]
(1995-02-27)

wish list
jargon A list of desired features or bug fixes that probably won't get done for a long time, usually because the person responsible for the code is too busy or can't think of a clean way to do it. OK, I'll add automatic filename completion to the wish list for the new interface.
Compare tick-list features.
[Does anybody call this a want list ?]
[Jargon File]
(1998-04-28)

Wisp
[ An Experiment with a Self-Compiling Compiler for a Simple List-Processing Language , M.V. Wilkes, Ann Rev Automatic Programming 4:1-48. (1964)].

within delta of
See delta.
[Jargon File]

within epsilon of
See epsilon.

wizard
1. A person who knows how a complex piece of software or hardware works (that is, who groks it); especially someone who can find and fix bugs quickly in an emergency. Someone is a hacker if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it.
2. A person who is permitted to do things forbidden to ordinary people; one who has wheel privileges on a system.
3. A Unix expert, especially a Unix systems programmer. This usage is well enough established that Unix Wizard is a recognised job title at some corporations and to most headhunters.
See guru, lord high fixer. See also deep magic, heavy wizardry, incantation, magic, mutter, rain dance, voodoo programming, wave a dead chicken.
4. An interactive help utility that guides the user through a potentially complex task, such as configuring a PPP driver to work with a new modem. Wizards are often implemented as a sequence of dialog boxes which the user can move forwards and backwards through, filling in the details required. The implication is that the expertise of a human wizard in one of the above senses is encapsulated in the software wizard, allowing the average user to perform expertly.
[Jargon File]
(1998-09-07)

Wizard Book
publication Hal Abelson, Gerald Sussman and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.
[Jargon File]
(1995-01-10)

wizardly
Pertaining to wizards. A wizardly feature is one that only a wizard could understand or use properly.
[Jargon File]

wizard mode
games [rogue] A special access mode of a program or system, usually password protected, that permits some users godlike privileges. Generally not used for operating systems themselves ( root mode or wheel mode would be used instead). This term is often used with respect to games that have editable state.

WizDOM
Software for distributed Unix system management from TIVOLI Systems of Austin, Texas, USA.
(1995-02-10)

wk1
filename extension (worksheet) The filename extension used by early versions of the Lotus 1-2-3 spreadsheet program including release 2.01 (1987). All files created by the user are given this extension.
(1995-11-28)

WLAN
wireless local area network

WMA
Windows Media Audio

wmf
filename extension The filename extension for a Windows Metafile.
(1995-04-25)

WMV
Windows Media Video

WNPP
Work Needed and Prospective Packages

Wolfram Research, Inc.
company The company founded by Stephen Wolfram in August 1987 to develop Mathematica which was released in June 1988 for the Macintosh and is now available on over 20 platforms. The company has offices in the United Kingdom and Tokyo, Japan.
Home (http://www.wri.com/)
E-mail: info@wri.com .
(1995-02-10)

WOM
write-only memory

woman
tool A replacement for the Unix man documentation browsing command. Version 1.157 of woman runs under/on 386BSD, OSF, Apollo Domain/OS, BSD, HP-UX, IBM RS-6000, Irix, Linux, Solaris, Sony NEWS, SunOS, Ultrix, Unicos.
Posted to comp.sources.reviewed Volume 3, Issue 50 on 05 Jul 1993 by Arne Henrik Juul arnej@pvv.unit.no , archive-name woman-1.157.
FTP USC, USA (ftp://usc.edu/archive/usenet/sources/comp.sources.reviewed/volume3/woman-1.157/). FTP Imperial, UK (ftp://src.doc.ic.ac.uk/usenet/comp.sources.reviewed/volume3/woman-1.157/).
(1995-03-21)

WOMBAT
Waste Of Money, Brains, And Time.
Problems which are both profoundly uninteresting in themselves and unlikely to benefit anyone interesting even if solved. Often used in fanciful constructions such as wrestling with a wombat .
See also crawling horror, SMOP.
[Jargon File]
(1995-03-10)

wombat
1. programming A metasyntactic variable in Commonwealth Hackish.
2. computer wombat.doc.ic.ac.uk.
[Jargon File]
(1995-03-10)

wombat.doc.ic.ac.uk
computer (Named after the Australian marsupial, vombatus ursinus). The Internet host from which this dictionary was originally served. Internet address 146.169.22.42. Formerly a SPARCstation ELC. Kindly provided by the Computing Department, Imperial College, London. Replaced by foldoc.doc.ic.ac.uk (a Linux box) in June 1999. Alias www.foldoc.org added 2000-07-18, courtesy of Karl O. Pinc.
(2000-10-09)

womb box
1. [TMRC] Storage space for equipment.
2. [proposed] A variety of hard-shell equipment case with heavy interior padding and/or shaped carrier cutouts in a foam-rubber matrix; mundanely called a flight case . Used for delicate test equipment, electronics, and musical instruments.
[Jargon File]

Woodenman
HOLWG, DoD, 1975. Second of the series of DoD requirements that led to Ada. Woodenman Set of Criteria and Needed Characteristics for a Common DoD High Order Programming Language , David A. Fisher, Inst for Def Anal Working Paper, Aug 1975. (See Strawman, Tinman, Ironman, Steelman).

woofer
jargon (University of Waterloo) Some varieties of wide paper for printers have a perforation 8.5 inches from the left margin that allows the 3.5 inch excess on the right-hand side to be torn off when the print format is 80 columns or less wide. If done with sufficient aplomb this makes a sound like the woof of a dog. If the large part is the woofer then the small part must obviously be the tweeter , following the names for the large and small cones in a hi-fi loudspeaker.
These terms have been in use at Waterloo since 1972, but are unknown elsewhere.
Compare chad.
[Jargon File]
(1997-03-21)

WOOL
Window Object Oriented Language. A small Common Lisp-like extension language. It claims to be the fastest interpreted language in C with run-time types. Colas Nahaboo colas@sophia.inria.fr . Version 1 is used as the kernel language of the GWM window manager. Version 2 has an object system.
(ftp://export.lcs.mit.edu/contrib/gwm)

Worcester Polytechnic Institute
(WPI) A well-regarded, small engineering college.
Address: Worcester, MA, USA.
(1995-03-01)

Word
Microsoft Word

word
storage A fundamental unit of storage in a computer. The size of a word in a particular computer architecture is one of its chief distinguishing characteristics.
The size of a word is usually the same as the width of the computer's data bus so it is possible to read or write a word in a single operation. An instruction is usually one or more words long and a word can be used to hold a whole number of characters. These days, this nearly always means a whole number of bytes (eight bits), most often 32 or 64 bits. In the past when six bit character sets were used, a word might be a multiple of six bits, e.g. 24 bits (four characters) in the ICL 1900 series.
(1994-11-11)

Word for Windows
text, tool, product The version of Microsoft Word which runs under Microsoft Windows.
Version 6.0.
(1995-04-14)

WordPerfect
1. text, tool, product A word processor for a wide range of computers. The first version was sold in 1980 for Data General machines, and by the end of 1993 versions were on sale for MS-DOS, Microsoft Windows and Macintosh computers. WordPerfect 6.0 for Unix was scheduled for introduction in May 1994.
Versions: WordPerfect 6.1 for Windows, WordPerfect 3.1 for Macintosh/Power Macintosh, WordPerfect 6.0 for UNIX, WordPerfect 6.0 for DOS, WordPerfect 7.0 for Windows 95.
[Distinguishing features?]
Home (http://www.corel.com/products/wordperfect/).
2. WordPerfect Corporation.
(1995-07-05)

WordPerfect Corporation
company The original developers of the WordPerfect word processor and a variety of other applications for personal computers. WordPerfect was founded in Provo, Utah, USA in 1979 by Alan Ashton and Bruce Bastion as Satellite Software International . The company name was changed to Wordperfect Corporation in 1986. The company was bought by Novell, Inc. in 1994, who then sold it to Corel Corporation in 1996.
(1997-03-12)

word processing
word processor

word processor
text, tool A program used to create and print (chiefly textual) documents that might otherwise be prepared on a typewriter. The key advantage of word processor is its ability to make changes easily, such as correcting spelling, changing margins, or adding, deleting, and relocating entire blocks of text. Once created, the document can be printed quickly and accurately and saved for later modifications.
Today most popular word processors, such as Microsoft Word, offer a much greater range of facilities than the first such programs.
Compare text editor.
(1995-04-14)

word size
processor The number of bits that a CPU can process at one time. Processors with many different word sizes have existed though powers of two (8, 16, 32, 64) have predominated for many years. A processor's word size is often equal to the width of its external data bus though sometimes the bus is made narrower than the CPU (often half as many bits) to economise on packaging and circuit board costs.
(1995-04-23)

word spamming
World-Wide Web, information science Repeating a word many times in a web page, in a (usually futile) attempt to increase its relevance ranking in a search engine's index (to spam the index).
Repeating a word over and over in a Web page (known as word spamming) has no effect on the [page's] ranking [in the index]. -- Altavista FAQ (http://www.altavista.digital.com/cgi-bin/query?pg=tmpl v=faq.html).
See also spamdex.
(1997-04-09)

WordTech
company Manufacturers of Quicksilver.
Address: Orinda, CA, USA.
(1995-05-11)

word wrap
text A feature of word processors and most text editors where a word which would extend past the right hand margin is moved to the following line. This is more sophisticated than character wrap which only moves to the next line for the first character past the right margin and thus will break some words in the middle. The program may actually insert a new line in the text at the point where it is wrapped or it may only display it as though it contained a new line at that point.
(1996-07-24)

workaround
jargon, programming A temporary kluge used to bypass, mask or otherwise avoid a bug or misfeature in some system. Customers often find themselves living with workarounds for long periods of time rather than getting a bug fix.
[Jargon File]
(1998-06-25)

Work Breakdown Structure
project (WBS) A division of a project into tasks and subtasks. The tasks are numbered to indicate their relationship to each other. WBSs are indespensible for project planning, particularly when estimating time and resource requirements. Some industries use established work breakdown structure systems for billing and reporting purposes.
(2001-05-09)

workflow
1. operating system The scheduling of independent jobs on a computer.
See also time-sharing, WFL.
2. job The set of relationships between all the activities in a project, from start to finish. Activities are related by different types of trigger relation. Activities may be triggered by external events or by other activities.
3. The movement of documents around an organisation for purposes including sign-off, evaluation, performing activities in a process and co-writing.
[Stef Joosten et.al. An empirical study about the practice of workflow management , WA-12 report, 1994].
(1995-03-27)

Workflow Management Coalition
body (WfMc) A non-profit, international organisation of workflow vendors, users, and analysts committed to establishing standards for workflow terminology, interoperability, and connectivity.
WfMC was founded in 1993 and now (1999) has over 130 members.
Home (http://www.aiim.org/wfmc).
(1999-08-01)

workgroup
Computer Supported Cooperative Work

working as designed
jargon (IBM) Conforming to a wrong or inappropriate specification; useful, but misdesigned. Frequently used as a sardonic comment on a program's utility or as a bogus reason for not accepting a criticism or suggestion. At IBM, this sense is used in official documents!
See BAD.
[Jargon File]
(1995-04-04)

working set
architecture The set of all pages (in a paging virtual memory system) used by a process during some time interval.
As a result of locality of reference, the working set frequently consists of a relatively small fraction of a process's total virtual memory pages. While a process's entire working set is in physical memory the process will run without page faults. If the working set is too large for available physical memory, the process causes frequent page faults.
In a multitasking environment, information about which pages are in each process's working set allows the memory management system to improve CPU efficiency by prepaging (also called the working set model).
[ Modern Operating Systems , Andrew S. Tanenbaum, pub. Prentice Hall, Inc. 1992].
(1997-04-09)

working set model
prepaging

Work Needed and Prospective Packages
Debian (WNPP) A document, maintained on the Debian web site here (http://www.debian.org/devel/wnpp/), providing a current list of packages which are either orphaned (withdrawn from distribution), maintained but its developer would like to find a new person, currently being worked on to include in the distribution, or good ideas with no one working on them.
WNPP is also a pseudo package on the Debian Bug Tracking System. Developers update the WNPP document by filing, modifying or closing bugs agains the psuedo package.
(2000-09-06)

worksheet
spreadsheet

workstation
computer A general-purpose computer designed to be used by one person at a time and which offers higher performance than normally found in a personal computer, especially with respect to graphics, processing power and the ability to carry out several tasks at the same time.
(1995-05-04)

World Time
Coordinated Universal Time

World-Wide Wait
humour A pejorative expansion of WWW reflecting on the slowness of some network connections and sites.
(1997-03-30)

World-Wide Web
World-Wide Web, networking, hypertext (WWW, W3, The Web) An Internet client-server hypertext distributed information retrieval system which originated from the CERN High-Energy Physics laboratories in Geneva, Switzerland.
An extensive user community has developed on the Web since its public introduction in 1991. In the early 1990s, the developers at CERN spread word of the Web's capabilities to scientific audiences worldwide. By September 1993, the share of Web traffic traversing the NSFNET Internet backbone reached 75 gigabytes per month or one percent. By July 1994 it was one terabyte per month.
On the WWW everything (documents, menus, indices) is represented to the user as a hypertext object in HTML format. Hypertext links refer to other documents by their URLs. These can refer to local or remote resources accessible via FTP, Gopher, Telnet or news, as well as those available via the http protocol used to transfer hypertext documents.
The client program (known as a browser), e.g. NCSA Mosaic, Netscape Navigator, runs on the user's computer and provides two basic navigation operations: to follow a link or to send a query to a server. A variety of client and server software is freely available.
Most clients and servers also support forms which allow the user to enter arbitrary text as well as selecting options from customisable menus and on/off switches.
Following the widespread availability of web browsers and servers, many companies from about 1995 realised they could use the same software and protocols on their own private internal TCP/IP networks giving rise to the term intranet .
If you don't have a WWW browser, but you are on the Internet, you can access the Web using the command:
telnet www.w3.org
(Internet address 128.141.201.74) but it's much better if you install a browser on your own computer.
The World Wide Web Consortium is the main standards body for the web.
An article by John December (http://sunsite.unc.edu/cmc/mag/1994/oct/webip.html).
A good place to start exploring (http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/StartingPoints/NetworkStartingPoints.html).
WWW servers, clients and tools (http://www.w3.org/hypertext/WWW/Status.html).
Mailing list: www-talk@www.w3.org .
Usenet newsgroups: news:comp.infosystems.www.misc, news:comp.infosystems.www.providers, news:comp.infosystems.www.users, news:comp.infosystems.announce.
The best way to access this dictionary is via the Web since you will get the latest version and be able to follow cross-references easily. If you are reading a plain text version of this dictionary then you will see lots of curly brackets and strings like
(http://hostname/here/there/page.html)
These are transformed into hypertext links when you access it via the Web.
See also Java, webhead.
(1996-10-28)

World-Wide Web browser
World-Wide Web A browser for the World-Wide Web.
(1996-11-22)

World Wide Web Consortium
World-Wide Web, body (W3C) The main standards body for the World-Wide Web. W3C works with the global community to establish international standards for client and server protocols that enable on-line commerce and communications on the Internet. It also produces reference software.
W3C was created by the Massachusetts Institute of Technology (MIT) on 25 October 1994. Netscape Communications Corporation was a founding member. The Consortium is run by MIT LCS and INRIA, in collaboration with CERN where the web originated. W3C is funded by industrial members but its products are freely available to all. The director is Tim Berners-Lee who invented the World-Wide Web at the Center for European Particle Research (CERN).
Home (http://www.w3.org/).
(1996-11-03)

World-Wide Web Worm
World-Wide Web (WWWW) One of the first automatic indexing tools for the World-Wide Web, being developed in September 1994 by Oliver McBryan mcbryan@cs.colorado.edu at the University of Colorado. The worm created a database of 300000 multimedia objects which can be obtained or searched for keywords via the WWW.
Home (http://www.cs.colorado.edu/home/mcbryan/WWWW.html)
(1996-05-19)

WORM
Write-Once Read-Many

worm
networking, security (From Tapeworm in John Brunner's novel The Shockwave Rider , via XEROX PARC) A program that propagates itself over a network, reproducing itself as it goes. Compare virus. Nowadays the term has negative connotations, as it is assumed that only crackers write worms.
Perhaps the best-known example was the Great Worm.
Compare Trojan horse.
[Jargon File]
(1996-09-17)

wormhole
back door

wormhole routing
messaging A property of a message passing system in which each part of a message is transmitted independently and one part can be forwarded to the next node before the whole message has been received. All parts of a single message follow the same route.
The independent parts are normally small, e.g. one 32-bit word. This reduces the latency and the storage requirements on each node when compared with message switching where a node receives the whole message before it starts to forward it to the next node. It is more complex than message switching because each node must keep track of the messages currently flowing through it.
Wormhole routing could potentially apply to packets in a packet switching system so that forwarding of a packet could start as soon as its destination is known, before the whole packet had arrived. [Is this done?].
(1999-03-30)

WOSA
Windows Open Services Architecture

wound around the axle
infinite loop

WPG
Workstation Products Group

WPI
Worcester Polytechnic Institute

WPL+
Word-oriented language internal to PRODOS Applewriter 2.1. Available on GEnie.

WPOP
WonderPop. Robert Rae rhr@aiai.ed.ac.uk , Edinburgh 1976. An implementation of POP for the PDP-10 that used cages for different data types. Introduced processes, properties, and some typed identifiers.

wps
unit (Obsolete) Words per second (mostly used for Telex and TWX transmission).
(1997-01-07)

WRAM
Window Random Access Memory

wrap around
(Or wraparound , wrap ) The action of a counter that starts again at zero or at minus infinity (see infinity) after its maximum value has been reached, and continues incrementing, either because it is programmed to do so or because of an overflow (as when a car's odometer starts again at 0).
[Jargon File]

wrapper
programming Code which is combined with another piece of code to determine how that code is executed. The wrapper acts as an interface between its caller and the wrapped code. This may be done for compatibility, e.g. if the wrapped code is in a different programming language or uses different calling conventions, or for security, e.g. to prevent the calling program from executing certain functions. The implication is that the wrapped code can only be accessed via the wrapper.
(1998-12-15)

wrats nest
hardware, jargon (From wrap and rats nest ) A wire-wrapping defect where all of the wire piles up around the bottom of the post instead of wrapping smoothly around it. It looks like a little bird nest.
(1997-03-18)

wrb
Web Request Broker

write
1. chat Unix's simple talk command and protocol. write has been largely superseded by talk and then irc.
An enhancement, RWP, has been proposed.
2. tool A simple text editor for Windows.
(1998-04-28)

WRITEACOURSE
language A CAI language for IBM 360.
[ WRITEACOURSE: An Educational Programming Language , E. Hunt et al, Proc FJCC 33(2) 1968].
(1998-04-28)

write-back
memory management A cache architecture in which data is only written to main memory when it is forced out of the cache.
Opposite of write-through. See also no-write allocation.
(1996-06-12)

write buffer
buffered write-through

Write-Once Read-Many
storage (WORM) Any type of storage medium to which data can be written to only a single time, but can be read from any number of times. Typically this is an optical disk whose surface is permanently etched using a laser in order to record information. WORM media have a significantly longer shelf life than magnetic media and thus are used when data must be preserved for a long time.
(1996-04-01)

write-only code
[a play on read-only memory ] Code so arcane, complex, or ill-structured that it cannot be modified or even comprehended by anyone but its author, and possibly not even by him/her. A Bad Thing.
[Jargon File]

write-only language
A language with syntax (or semantics) sufficiently dense and bizarre that any routine of significant size is automatically write-only code. A sobriquet applied occasionally to C and often to APL, though INTERCAL and TECO certainly deserve it more.

write-only memory
1. jargon, humour (WOM) The obvious antonym to read-only memory (ROM).
Out of frustration with the long and seemingly useless chain of approvals required of component specifications, during which no actual checking seemed to occur, an engineer at Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics management only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the erroneous ones. Later, around 1974, Signetics bought a double-page spread in Electronics magazine's April issue and used the spec as an April Fools' Day joke. Instead of the more conventional characteristic curves, the 25120 fully encoded, 9046 x N, Random Access, write-only-memory data sheet included diagrams of bit capacity vs. Temp. , Iff vs. Vff , Number of pins remaining vs. number of socket insertions , and AQL vs. selling price . The 25120 required a 6.3 VAC VFF supply, a +10V VCC, and VDD of 0V, +/- 2%.
2. bit bucket.
[Jargon File]

write-through
architecture (Or write-thru ) A cache architecture in which data is written to main memory at the same time as it is cached.
Opposite of write-back. See also buffered write-through, posted write-through, no-write allocation.
(1996-06-12)

write-thru
write-through

writing system
human language, character The set of glyphs used for representing a given human language in written form, generally along with their conventions for use.
(1998-10-19)

Wrong Thing
jargon A design, action, or decision that is clearly incorrect or inappropriate. Often capitalised; always emphasised in speech as if capitalised. The opposite of the Right Thing; more generally, anything that is not the Right Thing. In cases where the good is the enemy of the best , the merely good - although good - is nevertheless the Wrong Thing. In C, the default is for module-level declarations to be visible everywhere, rather than just within the module. This is clearly the Wrong Thing.
[Jargon File]

WRT
with regard to, with respect to.

ws
networking The country code for Samoa.
(1999-01-27)

WSFN
Which Stands For Nothing

WSL
Waterloo Systems Language. A C-like systems programming language.
[ Waterloo Systems Language: Tutorial and Language Reference , F.D. Boswell, WATFAC Publications Ltd., Waterloo, Canada. ISBN 0-919884-00-8].

WTF
who/what/why the fuck? The universal interrogative particle. Also WTH.

WTH
who/what/why the hell? Also WTF.

wugga wugga
/wuh'g* wuh'g*/ Imaginary sound that a computer program makes as it labours with a tedious or difficult task. Compare cruncha cruncha cruncha, grind.
[Jargon File]

Wumpus
Hunt the Wumpus

WWW
World-Wide Web

WWW browser
hypertext, World-Wide Web A browser for use on the World-Wide Web.
(1996-10-28)

WWWW
World-Wide Web Worm

WYGIWYNTYH
What You Get Is What You Never Thought You Had

WYSIAYG
What You See Is All You Get

WYSIWYG
What You See Is What You Get

1. convention Used in various speech and writing contexts (also in lowercase) in roughly its algebraic sense of unknown within a set defined by context (compare N). Thus, the abbreviation 680x0 stands for 68000, 68010, 68020, 68030 or 68040, and 80x86 stands for Intel 80186, Intel 80286, Intel 80386 or Intel 80486. A Unix hacker might write these as 680[0-4]0 and 80[1-4]86 or 680?0 and 80?86 respectively; see glob.
2. graphics An alternative name for the X Window System.
3. storage A suffix for the speed of a CD-ROM drive relative to standard music CDs (1x). 32x is common in September 1999.
[Jargon File]
(1999-09-15)

X-1
language An early system on the UNIVAC I or II.
[Listed in CACM 2(5):16 (May 1959)].
(1995-05-10)

X11R4
Version 11 release 4 of the X protocol. See X Window System.

X11R5
Version 11 release 5 of the X protocol. Released in June 1994. See X Window System.

X11R6
operating system Version 11 release 6 of the X Window System.
[Release date?]
(1995-01-20)

X.12
standard The American equivalent of UN/EDIFACT and various other national and industry EDI messaging protocols. The first Y2K ready version of X.12 is version 4010.
[What's UN ? Details? Differences from EDIFACT?]
(1999-09-10)

X2
protocol A proprietary modem standard developed by US Robotics for 56 kbps communications. Not taken up as widely as K56flex and will shortly be superseded by the official V.90 standard.
(1998-09-08)

X.208
Abstract Syntax Notation 1

X.209
Basic Encoding Rules

X.21
communications, standard A digital signaling interface recommended by ITU-T that includes specifications for DTE/DCE physical interface elements, alignment of call control characters and error checking, elements of the call control phase for circuit switched services, data transfer at up to 2 Mbps, and test loops. 64 kbps is the most commonly used transfer rate.
(2000-02-28)

X.214
transport layer

X.215
session layer

X.216
presentation layer

X.217
Association Control Service Element

X.219
Remote Operations Service Element

X.224
transport layer

X.225
session layer

X.226
presentation layer

X.227
Association Control Service Element

X.229
Remote Operations Service Element

X.25
protocol, standard An ITU-T standard protocol suite for the DTE-DCE interface in a packet-switched network, approved by ISO. X.25 defines standard physical layer, data link layer and network layers (layers 1 through 3). It was developed to describe how data passes into and out of public data communications networks. X.25 networks are in use throughout the world.
Document: ISO 8208.
Several other ITU-T recommendations are relevant to packet switching: X.3, X.28, X.29, X.75.
(1996-08-10)

X.28
The ITU-T standard specifying how to control a PAD from character-mode DTE, approved by ISO.
(1995-01-31)

X.29
The ITU-T standard, approved by ISO, specifying procedures for the exchange of control information and user data between a PAD and a remote packet-mode DTE. Character-mode DTEs are often referred to as X.29 terminals.
(1995-01-31)

X.3
The ITU-T standard, approved by ISO, which specifies the basic functions and user-selectable capabilities of a PAD.
(1995-01-31)

X3J16
The C++ standard technical committee.

X3T10
body The ATA standards body.
(1996-10-16)

X.400
The set of ITU-T communications standards covering electronic mail services provided by data networks. It is widely used in Europe and Canada. X.400 addresses tend to be very long compared to RFC 822 ones.

X.409
standard, messaging Part of the X.400 electronic mail specification which included the original definition of Abstract Syntax Notation 1.
[What was it about?]
(1998-08-06)

X.500
standard, networking The set of ITU-T standards covering electronic directory services such as white pages, Knowbot, whois.
Compare: LDAP.
(1994-12-06)

X.680
standard
[Is it Coordinated Universal Time or Abstract Syntax Notation 1?]
(1999-12-09)

X.75
The ITU-T standard specifying the protocols for communication between two PSDNs.
(1995-01-31)

x86
hardware A common abbreviation for any of the Intel 80x86 range, or compatibles, e.g. from Cyrix or AMD.
(1999-08-29)

x86 processor socket
hardware, standard One of the series of standard sockets into which you can plug various x86 microprocessors. These vary in the number of pins, package, voltages, bus speeds, and supported processors. Motherboards often have clock multipliers so that the processor runs at a multiple of the bus speed.
Socket 1, 169 pin LIF/ZIF PGA (17x17), 5v, 16-33 MHz 486 SX, 486 DX, 486 DX2, DX4 Overdrive. Socket 1 was the first standard Intel 486 socket.
Socket 2, 238 pin LIF/ZIF PGA (19x19), 5v, 25-50 MHz 486 SX, 486 DX, 486 DX2, 486 DX4, DX4 Pentium Overdrive. Updated Socket 1, added support for Pentium Overdrive processors.
Socket 3, 237 pin LIF/ZIF PGA (19x19), 3.3/5v, 25-50 MHz 486 SX, 486 DX, 486 DX2, 486 DX4, DX4 Pentium Overdrive. Supports 5V 3.3V processors, considered the latest 486 socket.
Socket 4, 273 pin LIF/ZIF PGA (21x21), 5v, 60/66 MHz Pentium 60/66 and Pentium Overdrive, only 5v.
Socket 5, 296 pin LIF/ZIF, 320 pin LIF/ZIF SPGA (19x19 or 37x37), 3.3v, 50/60/66 MHz Pentium 75 - 133MHz, Pentium Overdrive, only 3.3v.
Socket 6, 235 pin ZIF PGA (19x19), 3.3v, 25-40MHz. Unpopular advanced Socket 3, rarely seen / paper spec 486 DX4, Pentium Overdrive, only 3.3v.
See also Socket 7, Socket 8, Super 7, Slot 1, Slot 2, Slot A.
CPU Sockets chart (http://users.erols.com/chare/sockets.htm).
CPU Sockets (http://webm3308.ntx.net/cpusockets.htm).
(1999-08-05)

XA
Extended Architecture
A specification for drives which can play CD-ROMs in Green book CD-ROM format.
(1994-12-06)

Xaw
The Athena Widget Set. A set of widgets distributed with the X Window System.
(1994-11-02)

Xbase
Generic term for the dBASE family of database languages. Coined in response to threatened litigation over use of the copyrighted trademark dBASE.

xbeeb
A BBC Microcomputer emulator for Unix and X11 by James Fidell jfid@mfltd.co.uk . Posted to alt.sources.
(ftp://ftp.pipex.net/incoming/xbeeb)
(1994-08-18)

xbm
filename extension X bit map. The filename extension for files containing bitmaps for use in the X Window System.
These are actually include files which can be #include'd into C program source to define images as initialised data.
(1995-03-14)

XC
A declarative extension of C++.
[ XC - A Language for Embedded Rule Based Systems , E. Nuutila et al, SIGPLAN Notices 22(9):23-32 (Sep 1987)].

X client
An application process in the X Window System. It gains access to windowing services via the Xlib library. These are translated by the system into X protocol messages to an X server.

X Consortium
A vendor consortium supporting development, evolution and maintenance of the X Window System. The X Consortium is an independent, not-for-profit company. It was formed in 1993 as the successor to the MIT X Consortium, a research group of the MIT Laboratory for Computer Science.
(ftp://ftp.x.org). (http://www.x.org/).
[Members?]

Xcoral
A multiwindow mouse-based text editor, for the X Window System with a built-in browser to navigate through C functions and C++ classes hierarchies. Xcoral provides variables width fonts, menus, scrollbars, buttons, search, regions, kill-buffers and 3D look. Commands are accessible from menus or standard key bindings. Xcoral is a direct Xlib client and runs on colour or monochrome X displays.
Version 1.72 (ftp://ftp.inria.fr/X/contrib/clients/xcoral*)
(1993-03-14)

xdbx
programming, tool An X Window System front end for dbx developed by Po Cheung at MCC.
Latest version: 2.1, as of 1992-02-22.
Posted to comp.sources.x volumes 11, 12, 13, 14, 16.
(2000-07-12)

X-Designer
programming, tool A user interface builder for Motif from Imperial Software Technology.
Home (http://www.ist.co.uk/xd/)
(1995-10-26)

X.desktop
A desktop manager for Unix from IXI.

XDL
language An object-oriented extension to ITU-T's SDL.
[ XDL: An Object-Oriented Extension to SDL , S.J. Ochuodho et al].
(1995-10-12)

XDR
eXternal Data Representation

XDS 940
Xerox Data Systems Model 940

xDSL
Digital Subscriber Line

Xemacs
text, tool (Originally Lucid Emacs ) A text editor for the X Window System, based on GNU Emacs version 19, produced by a collaboration of Lucid, Inc., SunPro (a division of Sun Microsystems, Inc.), and the University of Illinois.
Lucid chose to build part of Energize, their C/C++ development environment on top of GNU Emacs. Though their product is commercial, the work on GNU Emacs is free software, and is useful without having to purchase the product. They needed a version of Emacs with mouse-sensitive regions, multiple fonts, the ability to mark sections of a buffer as read-only, the ability to detect which parts of a buffer has been modified, and many other features.
The existing version of Epoch was not sufficient; it did not allow arbitrary pixmaps and icons in buffers, undo did not restore changes to regions, regions did not overlap and merge their attributes. Lucid spent some time in 1990 working on Epoch but later decided that their efforts would be better spent improving Emacs 19 instead.
Lucid did not have time to get their changes accepted by the FSF so they released Lucid Emacs as a forked branch of Emacs. Roughly a year after Lucid Emacs 19.0 was released, a beta version of the FSF branch of Emacs 19 was released. Lucid continued to develop and support Lucid Emacs, merging in bug fixes and new features from the FSF branch as appropriate.
A compatibility package was planned to allow Epoch 4 code to run in Lemacs with little or no change. (As of 19.8, Lucid Emacs ran a descendant of the Epoch redisplay engine.)
[Update?]
(2000-05-16)

XENIX
operating system A commercial version of Unix for microprocessor-based computers, released by Microsoft in 1980. In 1992, SCO became Microsoft's co-development partner and the alternate source for the product.
(1999-12-07)

Xeon
Pentium II Xeon

XEROX Corporation
company
Home (http://www.xerox.com/).
See also XEROX PARC, XEROX Network Services.
[Summary?]
(2001-03-03)

Xerox Data Systems Model 940
computer (SDS 940, XDS 940) A time-sharing system, announced in February 1966, developed by Scientific Data Systems with help from The University of California at Berkeley and Tymshare. SDS 940 was backward compatible with SDS's previous systems (except the 12-bit SDS 92). It had monitor and user modes, dynamic program relocation, automatic memory fragmentation, and system protection.
After 1968 Xerox bought out SDS and renamed the SDS machines Xerox Data Systems (XDS).
(2001-03-03)

XEROX Network Services
(XNS) A proprietary network architecture developed by Xerox corporation. Implementations exist for both 4.3BSD derived systems, as well as the Xerox Star computers.
[Or is it Service (singular) or Xerox Network System ?]

XEROX PARC
/zee'roks park'/ Xerox Corporation's Palo Alto Research Center.
For more than a decade, from the early 1970s into the mid-1980s, PARC yielded an astonishing volume of ground-breaking hardware and software innovations. The modern mice, windows, and icons (WIMP) style of software interface was invented there. So was the laser printer and the local-area network; Smalltalk; and PARC's series of D machines anticipated the powerful personal computers of the 1980s by a decade. Sadly, the prophets at PARC were without honour in their own company, so much so that it became a standard joke to describe PARC as a place that specialised in developing brilliant ideas for everyone else.
The stunning shortsightedness and obtusity of XEROX's top-level suits has been well described in the reference below.
[ Fumbling The Future: How XEROX Invented, Then Ignored, the First Personal Computer by Douglas K. Smith and Robert C. Alexander (William Morrow Co., 1988, ISBN 0-688-09511-9)].
[Jargon File]
(1995-01-26)

Xerox Star
Xerox 8010

XFree86 Project, Inc.
operating system, graphics A non-profit organisation that produces XFree86, a freely redistributable implementation of the X Window System that runs on Unix and Unix-like operating systems and OS/2. The XFree86 Project has traditionally focused on Intel x86 based platforms (hence the 86 ), but the current release supports other platforms.
Home (http://www.xfree86.org/).
(1999-04-02)

Xfun
A polymorphic functional language which is a cross between SML and Russell, developed by S. Dalmas dalmas@sophia.inria.fr of INRIA in 1991, and intended for computer algebra.
[ A Polymorphic Functional language Applied to Symbolic Computation , S. Dalmas, Proc Intl Symp Symb Alg Comp, Berkeley 1992].
(1995-02-03)

XGA
eXtended Graphics Array

XGA-2
eXtended Graphics Array

XHTML
hypertext, standard, World-Wide Web A reformulation of HTML 4.01 in XML. Being XML means that XHTML can be viewed, edited, and validated with standard XML tools. At the same time, it operates as well as or better than HTML 4 in existing HTML 4 conforming user agents.
Home (http://www.w3.org/TR/xhtml1/).
Latest version: 1.0, as of 2000-09-10.
(2000-09-10)

Xi
A VLSI design language.
[ The Circuit Design Language Xi , S.I. Feldman, unpublished memo, Bell Labs, 1982].
[Mentioned in Computational Aspects of VLSI, J.D. Ullman, CS Press 1984].
(1995-02-03)

XIE
X Image Extension

Xilinx, Inc.
company The electronics company who invented the FPGA.
Xilinx was founded in San Jose, California, in 1984, and invented the field-programmable gate array. They claim to command more than half of the world market for these devices today. More recent innovations include complex programmable logic devices.
Home (http://www.xilinx.com/).
Address: 2100 Logic Drive, San Jose, CA 95124, USA.
(1998-09-25)

Xilinx Netlist Format
language, electronics (XNF) A Hardware Description Language for electronic circuit design, developed by Xilinx, Inc..
Xilinx-developed tools use XNF and handle the details of the FPGA architecture. Converters are available for a number of widely-used HDLs - for example Verilog (xnf2ver) - so that designers can use familiar tools to develop Logic Cell Array designs. In addition, XNF can be converted to the input language of different logic simulators.
Specification (ftp://ftp.xilinx.com/pub/documentation/xactstep6/xnfspec.pdf)
(1999-03-31)

X Image Extension
(XIE) Extensions to the X protocol to handle images.
(1995-02-03)

Xlib
X library: program interface to the X Window System.

xlisp
eXperimental LISP

xls
filename extension Excel spreadsheet.
(1995-10-17)

XML
Extensible Markup Language

XMM
Extended Memory Manager

XMODEM
The Christensen file transfer protocol, probably the most widely available protocol used for file transfer over serial lines (e.g. between modems). XMODEM uses 128-byte packets with error detection, allowing the receiver to request retransmission of a corrupted packet. XModem is fairly slow but reliable.
Several variations have been proposed with increasing packet sizes (e.g. XMODEM-1K) and different error detection (CRC instead of checksum) to take advantage of faster modems. Sending and receiving programs can negotiate to establish the best protocol they both support.
Standard XMODEM specifies a one-second timeout during the reception of characters in the data block portion of a packet.
Chuck Forsberg improved upon XMODEM by developing YMODEM and ZMODEM.
[Chuck Forsberg, XMODEM/YMODEM Protocol Reference ].
(1995-02-02)

XMODEM-1K
A version of XMODEM using 1 kilobyte packets.

xmosaic
Mosaic for the X Window System.

XMS
storage Extended Memory Specification.
(1996-01-10)

XNF
Xilinx Netlist Format

xnf2ver
An XNF to Verilog translator by Martin J. Colley martin@essex.ac.uk .
This program was written by a postgraduate student as part of his M.Sc course. It was designed to form part a larger system operating with the Cadence Edge 2.1 framework. This should be born in mind when considering the construction and/or operation of the program.
(ftp://punisher.caltech.edu/pub/dank/xnf2ver.tar.Z)

XNS
Xerox Network Services or Xerox Network System.
[Which?]

XOFF
control-S

XON
control-Q

XON/XOFF
software handshaking

Xopen
X/Open

X/Open
body An international consortium of vendors who are defining the X/Open Common Applications Environment to provide applications portability. They also procuced the X/open Portability Guide (XPG).
(1994-12-01)

X/open Portability Guide
(XPG) A document which defines the interfaces of the X/Open Common Applications Environment.
Version: XPG3.
(1994-12-01)

X/Open System Interface
standard (XSI) Part of the X/Open Common Applications Environment.
(1994-11-03)

xor
/X'or/, /kzor/ Exclusive or. A xor B means A or B, but not both . The truth table is
A | B | A xor B --+---+-------- F | F | F F | T | T T | F | T T | T | F
[Jargon File]
(1994-12-01)

XPC
eXplicitly Parallel C.
A dialect of Parallel C which is efficiently compilable to both SIMD and MIMD architectures. Only research implementations exist.
[ Toward Semantic Self-Consistency in Explicitly Parallel Languages, M.J. Phillip H.G. Dietz, Proc 4th Intl Conf on Supercomputing, Santa Clara, CA, May 1989, v.1, pp.398-407].
(1994-12-01)

XperCASE
A structure diagram editor for developing, re-engineering, maintaining and documenting programs, developed by Siemens AG, Austria. It runs under Microsoft Windows.
(ftp://src.doc.ic.ac.uk/computing/systems/ibmpc/simtel/windows3/xperspx1.zip)
E-Mail: 100141.2120@compuserve.com .
(1994-12-01)

XPG
X/open Portability Guide

XPG3
Version 3 of the X/open Portability Guide.

XPL
A small dialect of PL/I used for compiler writing from Stanford, 1967-69. XPL has one-dimensional arrays. I/O is achieved with character pseudo-variable INPUT and OUTPUT, e.g.
OUTPUT = 'This is a line';
It has inline machine code. Programmers are given all the rope they ask for. Novices tend to hang themselves fairly frequently. XPL has been implemented on IBM 360, Univac 1100, ICL System 4, CDC6000 and Cyber series, XDS Sigma-5 and Sigma-7 and DEC PDP-10.
An optimising XPL compiler (version 1) by Robin Vowels robin_vowels@rmit.edu.au is a standard implementation of XPL and is based on McKeeman, Horning, and Wortman's improved XCOM (which employs hashed symbol table generation). It includes the extra built-in function COREHALFWORD.
The following areas have been optimised: procedures calls when the argument and corresponding parameter are of the same type, and when the argument is a constant; constant subscripts; use of CORELHALFWORD and COREWORD; string constants of length one; iterative DO statements by transferring code to the end of the loop.
String constants of length one do not require a descriptor, hence more descriptors are available for string variables. Comparison operations are treated as commutative, and an improved Commute algorithm is used. Halfword instructions are generated for BIT(16) variables.
These areas have been improved or re-written: calls on OUTPUT, catenation, integer-to-string conversion, multiply, divide, and MOD. An emitter for SS-type instructions has been added. The compiler achieves an 11% reduction in object code compiling itself, an 11% increase in compilation rate, a 55% increase in compilation speed when the $E toggle is set. Special treatment for catenating a string to an integer substantially decreases consumption of the free string area, and decreases string moves. The latter improvement is most noticeable on small core machines.
Core requirements: less than the improved XCOM on which it is based (approx. 98000 bytes). Symbol table size is 468. Ported to IBM System 370. The compiler is written in XPL. The code generators are machine-specific.
[ A Compiler Generator, W.M. McKeeman et al, P-H 1970].
[JCC, AFIPS 1968].
(1993-08-07)

xpm
file format X11 Pixmap.
A pixmap image file format for the X Window System.
(1995-04-28)

XPOP
language An extensible macro assembly language with user-redefinable grammar, for use with FAP.
[ XPOP: A Meta-language Without Metaphysics , M.I. Halpern, Proc FJCC 25:57-68, AFIPS (Fall 1964)].
(1995-04-28)

X protocol
networking, protocol A standard protocol used by clients (applications) and servers in the X Window System for exchanging requests for window operations.
(1995-04-28)

xref
/X'ref/ 1. cross-reference.
2. A cross-reference generator tool by Jim Leinweber.
(1985?)
[Jargon File]

XRemote
A serial line protocol for the X Window System.

XRN
A newsreader program for Usenet news running under the X Window System.

XSB
XSB extends the standard functionality of Prolog (being a descendant of PSB- and SB-Prolog) to include implementations of OLDT (tabling) and HiLog terms. OLDT resolution is extremely useful for recursive query computation, allowing programs to terminate correctly in many cases where Prolog does not. HiLog supports a type of higher-order programming in which predicate symbols can be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to the arguments of the predicates. Of course, Tabling and HiLog can be used together.
Version 1.2
ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX
portability:Generally to 32-bit machines.
interpreter, preprocessor(HiLog), documentation
XSB research group / SUNY at Stony Brook
(ftp://sbcs.sunysb.edu/pub/XSB/XSB.tar.Z)
(130.245.1.15) E-mail: xsb-contact@cs.sunysb.edu .
(1993/07/28)

XScheme
language Scheme in C with object-oriented extensions by David Betz.
Version 0.28 runs on IBM PC, Macintosh, Atari and Amiga.
(ftp://labrea.stanford.edu/comp.sources.amiga/volume90). (ftp://nexus.yorku.ca/pub/scheme/).
Usenet newsgroup: news:comp.lang.lisp.x.
(1992-02-02)

x-scm
language An accessory for the scm Scheme interpreter, by Larry Campbell, that provides an environment for building Motif and OpenLook application programs. There is some support as well for raw Xlib applications, but not enough yet to be useful.
Posted to alt.sources.
(1992-08-10)

X server
A process which controls a bitmap display device in an X Window System. It performs operations on request from client applications.
(1994-11-03)

XSI
X/Open System Interface

XSL
Extensible Stylesheet Language

XSLT
Extensible Stylesheet Language Transformations

XT
IBM PC XT

Xt
The intrinsics of the X Window System Toolkit.
[What does that mean?]

XT bus architecture
hardware, architecture (After the IBM PC XT) An eight-bit ISA bus architecture used by Intel 8086 and Intel 8088 systems in the IBM PC and IBM PC XT in the 1980s. It predates the 16-bit ISA architecture used on the Intel 80286 based machines.
The XT bus has four DMA channels, of which three are brought out to the expansion slots. Of these three, two are normally allocated to machine functions:
DMA channel Expansion Standard function
0 No dynamic RAM refresh
1 Yes add-on cards
2 Yes floppy disk controller
3 Yes hard disc controller
(1997-09-15)

xterm
operating system A terminal emulator program for the X Window System. A user can have many different invocations of xterm running at once on the same display, each of which provides independent input and output for the process running in it (normally a shell).
(1996-08-23)

X terminal
hardware An intelligent terminal which operates as an X server directly connected to Ethernet.
Not to be confused with the program xterm which is an X client.
(1996-08-23)

XTI
X/open Transport Interface

XTP
Home (http://www.ca.sandia.gov/xtp/)
[What is it?]

XTRAN
Fortran-like, interactive language.

XUI
X User Interface: program interface to the X Window System supported by DEC.

Xv++
A library of classes from Interface Engineering, Stevenage, providing a C++ Application Programmer's Interface to the XView toolkit.

XVGA
eXtended Video Graphics Array

XView
A toolkit from Sun, derived from SunView, providing an Open Look user interface for X applications.

XVT
eXtensible Virtual Toolkit: a product allowing applications to be developed independent of GUI.

X-Windows
spelling A common misnomer for the X Window System.
(1997-06-10)

X Window System
operating system, graphics A specification for device-independent windowing operations on bitmap display devices, developed initially by MIT's Project Athena and now a de facto standard supported by the X Consortium. X was named after an earlier window system called W . It is a window system called X , not a system called X Windows .
X uses a client-server protocol, the X protocol. The server is the computer or X terminal with the screen, keyboard, mouse and server program and the clients are application programs. Clients may run on the same computer as the server or on a different computer, communicating over Ethernet via TCP/IP protocols. This is confusing because X clients often run on what people usually think of as their server (e.g. a file server) but in X, it is the screen and keyboard etc. which is being served out to the applications.
X is used on many Unix systems. It has also been described as over-sized, over-featured, over-engineered and incredibly over-complicated. X11R6 (version 11, release 6) was released in May 1994.
Home (http://www.x.org/).
See also Andrew project, PEX, VNC, XFree86.
Usenet newsgroups: news:comp.windows.x, news:comp.x, news:comp.windows.x.apps, news:comp.windows.x.intrinsics, news:comp.windows.x.announce, news:comp.sources.x, news:comp.windows.x.motif, news:comp.windows.x.pex.
(1999-04-02)

XWIP
X Window Interface for Prolog. A package for Prologs following the Quintus foreign function interface (e.g. SICStus Prolog). XWIP provides a (low-level) Xlib-style interface to X. The current version was developed and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1. It should be adaptable to many other Unix configurations. Version 0.6.
(ftp://export.lcs.mit.edu/contrib/xwip-0.6.tar.Z). E-mail: xwip@cs.ucla.edu .
(1993-02-25)

xxgdb
An X11 front end for gdb by Pierre Willard pierre@la.tce.com . Version 1.06.
Posted to comp.sources.x volumes 11, 12, 13, 14, 16.
(1992-02-22)

XXX
/X-X-X/ A marker that attention is needed. Commonly used in program comments to indicate areas that are kluged or need to be. Some hackers liken XXX to the notional heavy-porn movie rating. Compare FIXME.
[Jargon File]

Xy-pic
graphics, publication A package for typesetting graphs and diagrams using TeX. It is structured as several modules, each defining a custom notation for a particular kind of graphical object or structure. Example objects are arrows, curves, and frames. These can be organised in matrix, directed graph, path, polygon, knot, and 2-cell structure.
Xy-pic works with LaTeX, AMS-LaTeX, AMS-TeX, and plain TeX, and has been used to typeset complicated diagrams from many application areas including category theory, automata theory, algebra, neural networks and database theory.
Home (http://www.ens-lyon.fr/~krisrose/Xy-pic.html).
(1997-11-20)

xyzzy
games The canonical magic word from the ADVENT adventure game, in which the idea is to explore an underground cave with many rooms and to collect the treasures you find there. If you type xyzzy at the appropriate time, you can move instantly between two otherwise distant points. If, therefore, you encounter some bit of magic, you might remark on this quite succinctly by saying simply Xyzzy! Ordinarily you can't look at someone else's screen if he has protected it, but if you type quadruple-bucky-clear the system will let you do it anyway. Xyzzy! Xyzzy has actually been implemented as an undocumented no-op command on several OSes; in Data General's AOS/VS, for example, it would typically respond Nothing happens , just as ADVENT did if the magic was invoked at the wrong spot or before a player had performed the action that enabled the word. In more recent 32 bit versions, by the way, AOS/VS responds Twice as much happens . See also plugh.
[Jargon File]

1. General purpose language syntactically like RATFOR, semantically like C. Lacks structures and pointers. Used as a source language for Jack W. Davidson and Christopher W. Fraser's peephole optimiser which inspired GCC RTL and other optimisation ideas.
(ftp://ftp.cs.princeton.edu/pub/y+po.tar.Z). It is a copy of the original distribution from the University of Arizona during the early 80's, totally unsupported.
[ The Y Programming Language , D.R. Hanson, SIGPLAN Notices 16(2):59-68 (Feb 1981)].
[Jack W. Davidson and Christopher W. Fraser, The Design and Application of a Retargetable Peephole Optimiser , TOPLAS, Apr. 1980].
[Jack W. Davidson, Simplifying Code Through Peephole Optimisation Technical Report TR81-19, The University of Arizona, Tucson, AZ, 1981].
[Jack W. Davidson and Christopher W. Fraser, Register Allocation and Exhaustive Peephole Optimisation Software-Practice and Experience, Sep. 1984].
2. See fixed point combinator.

Y2K
Year 2000

YA-
Yet Another

Yaa
Yet Another Assembler - Macro assembler for GCOS 8 and Mark III on Bull DPS-8 machines. Available from Bull as part of U Waterloo Tools package (maintained by pjf@thinkage.on.ca ).

YABA
/ya'b*/ [Cambridge] Yet Another Bloody Acronym. Whenever some program is being named, someone invariably suggests that it be given a name that is acronymic. The response from those with a trace of originality is to remark ironically that the proposed name would then be YABA-compatible . Also used in response to questions like What is WYSIWYG? See also YA-, TLA.
[Jargon File]

yacc
Yet Another Compiler Compiler

YADE
Yet Another DSSSL Engine

YAFIYGI
abuse /yaf'ee-y*-gee/ You asked for it, you got it.
The command-oriented ed/vi/nroff/TeX style of word processing or other user interfaces which are not WYSIWYG. What you actually asked for is often not immediately apparent.
This precise sense of You asked for it, you got it seems to have first appeared in Ed Post's classic parody Real Programmers don't use Pascal ; the acronym is a more recent (as of 1993) invention.
[Jargon File]
(1995-03-13)

Yahoo
World-Wide Web Yet Another Hierarchical Officious/Obstreperous/Odiferous/Organized Oracle.
(Or a member of a race of brutes in Swift's Gulliver's Travels who have the form and all the vices of man, or an uncouth or rowdy person).
Probably the biggest hierarchical index of the World-Wide Web. Originally at Stanford University, Yahoo moved to its own site in April 1995. It allows you to move up and down the heirarchy, to search it and to suggest additions. It also features What's New , What's Popular , What's Cool and a random link.
Home (http://www.yahoo.com/)
(1995-04-05)

Yale Haskell
language A fully integrated Haskell programming environment. It provides tightly coupled interactive editing, incremental compilation and dynamic execution of Haskell programs. Two major modes of compilation, correspond to Lisp's traditional interpreted and compiled modes. Compiled and interpreted modules may be freely mixed in any combination.
Yale Haskell is run using either a command-line interface or as an inferior process running under the Emacs editor. Using the Emacs interface, simple two-keystroke commands evaluate expressions, run dialogues, compile modules, turn specific compiler diagnostics on and off and enable and disable various optimisers. Commands may be queued up arbitrarily, thus allowing, for example, a compilation to be running in the background as the editing of a source file continues in Emacs in the foreground.
A scratch pad may be automatically created for any module. Such a pad is a logical extension of the module, in which additional function and value definitions may be added, but whose evaluation does not result in recompilation of the module.
A tutorial on Haskell is also provided in the Emacs environment. A Macintosh version of Yale Haskell includes its own integrated programming environment, complete with an Emacs-like editor and pull-down menus.
Yale Haskell is a complete implementation of the Haskell language, but also contains a number of extensions, including:
(1) Instead of stream based I/O, a monadic I/O system is used. Although similar to what will be part of the new Haskell 1.3 report, the I/O system will change yet again when 1.3 becomes official.
(2) Haskell programs can call both Lisp and C functions using a flexible foreign function interface.
(3) Yale Haskell includes a dynamic typing system. Dynamic typing has been used to implement derived instances in a user extensible manner.
(4) A number of small Haskell 1.3 changes have been added, including polymorphic recursion and the use of @_@ in an expression to denote bottom. Although the 1.3 report is not yet complete, these changes will almost certainly be part of the new report.
(5) A complete Haskell level X Window System interface, based on CLX.
(6) A number of annotations are available for controlling the optimiser, including those for specifying both function and data constructor strictness properties, inlining functions, and specialising over-loaded functions. Many standard prelude functions have been specialised for better performance using these annotations.
(7) Separate compilation (including mutually recursive modules) is supported using a notion of a UNIT file, which is a kind of localised makefile that tells the compiler about compiler options and logical dependencies amongst program files.
(8) Yale Haskell supports both standard and literate Haskell syntax.
Performance of Yale Haskell's compiled code has been improved considerably over previous releases. Although still not as good as the Glasgow (GHC) and Chalmers (HBC) compilers, the flexibility afforded by the features described earlier makes Yale Haskell a good choice for large systems development. For some idea of performance, Hartel's latest Nuc benchmark runs at about the same speed under both Yale Haskell and hbc. (Our experiments suggest, however, that Yale Haskell's compiled code is on average about 3 times slower than hbc.)
Binaries are provided for Sun/SPARC and Macintosh, but it is possible to build the system on virtually any system that runs one of a number of Common Lisp implementations: CMU Common Lisp, Lucid Common Lisp, Allegro Common Lisp or Harlequin LispWorks. akcl, gcl and CLisp do not have adaquate performance for our compiler. The current version is 2.1.
Yale (ftp://nebula.cs.yale.edu/pub/haskell/yale) (128.36.13.1). UK (ftp://ftp.dcs.glasgow.ac.uk/pub/haskell/yale/). Sweden (ftp://ftp.cs.chalmers.se/pub/haskell/yale/). E-mail: haskell-request@cs.yale.edu , haskell-request@dcs.glasgow.ac.uk .
(1993-07-14)

Yamaha
company A Japanese company best known for consumer electronics and motorbikes. They make music synthesizers, CD-Rom Writers and HiFi sound equipment.
Home (http://www.yamaha.com/).
(1997-04-29)

yank
jargon (From the colloquial meaning to pull suddenly ) To insert a copy of some saved text at the current position in a document being edited.
The term is used in the Unix text editors GNU Emacs and vi but paste is more common elsewhere.
[Used elsewhere?]
(1998-07-01)

YAPS
Yet Another Production System? College Park Software. A commercial production system rule language, simpler than OPS5. YAPS allows knowledge bases to be attached to instances of CLOS objects.
E-mail: Liz Allen liz@grian.cps.altadena.cs.us .

YASOS
Yet Another Scheme Object System. E-mail: Ken Dickey kend@newton.apple.com

YAUN
/yawn/ Yet Another Unix Nerd.
Reported from the San Diego Computer Society (predominantly a microcomputer users' group) as a good-natured punning insult aimed at Unix zealots.
[Jargon File]
(1994-11-11)

Yay
Yet Another Yacc

ye
networking The country code for Yemen.
(1999-01-27)

Year 2000
programming (Y2K, or millennium bug ) A common name for all the difficulties the turn of the century, or dates in general, bring to computer users.
Back in the 1970s and 1980s, the turn of the century looked so remote and memory/disk was so expensive that most programs stored only the last two digits of the year. These produce surprising results when dealing with dates after 1999. They may believe that 1 January 2000 is before 31 December 1999 (00 99), they may miscalculate the day of week, etc. Some programs used the year 99 as a special marker; there are rumours that some car insurance policies were cancelled because a year of 99 was used to mark deleted records.
Complete testing of date-dependent code is virtually impossible, especially where the system under test relies on other systems such as customers' or suppliers' computers. Despite this, the predicted millennium meltdown never occurred.
And yes, the year 2000 was a leap year (multiples of 100 aren't leap years unless they're also multiples of 400).
PPR Corp Y2K FAQ (http://www.pprcorp.com/y2k/y2kfaq_j97.html).
(2000-09-25)

Yellow
A language from SRI proposed to meet the Ironman requirements which led to Ada.
[ On the YELLOW Language Submitted to the DoD , E.W. Dijkstra, SIGPLAN Notices 13(10):22-26, Oct 1978].
(1994-11-09)

Yellow Book
1. publication Yellow Book, Jargon.
2. Yellow Book CD-ROM.
[Jargon File]
(1996-12-03)

Yellow Book CD-ROM
A CD-ROM format which is ISO 9660 compliant and uses mode 1 addressing. Discs of this type can be played on most drives and would be appropriate for most multimedia applications which have been developed for personal computers.
(1994-11-02)

Yellow Book, Jargon
publication The print version of the Jargon File, titled The New Hacker's Dictionary . It includes essentially all the material the File, plus a Foreword by Guy L. Steele, Jr. and a Preface by Eric S. Raymond. Most importantly, the book version is nicely typeset and includes almost all of the infamous Crunchly cartoons by the Great Quux, each attached to an appropriate entry. The first, second, and third editions correspond to versions 2.9.6, 3.0.0, and 4.0.0 of the File, respectively.
[ The New Hacker's Dictionary , 3rd edition, MIT Press, 1996 (ISBN 0-262-68092-0)].
(1996-12-03)

Yellow Box
operating system Apple Computer, Inc.'s new development platform for building desktop, server, and web applications. Yellow Box is a rich object-oriented environment that is tightly integrated with Java and allows you to deploy applications across five platforms: Rhapsody, Rhapsody for Intel, Windows 95, Windows NT, and Mac OS. All Yellow Box-based products are an evolution of OpenStep - an operating system-independent, object-oriented application platform from NeXT.
Integrating the cross-platform robustness of OpenStep with Apple's market-leading digital media and graphics technologies will differentiate the Yellow Box from other development platforms.
Yellow Box for Windows is the run-time software (implemented as dynamically linked libraries) that allows Yellow Box applications to run under Windows 95 and Windows NT. Applications that use it will feature a full native Windows user interface.
(http://wais.sensei.com.au/macarc/appdir/1996/0077.html)
(1997-10-15)

Yellow Pages
Network Information Service

yellow wire
(IBM) Repair wires used when connectors (especially ribbon connectors) got broken due to some schlemiel pinching them, or to reconnect cut traces after the field engineer mistakenly cut one. Compare blue wire, purple wire, red wire.
[Jargon File]

Yerk
language (After Yerkes Observatory) An object-oriented language based on a Forth Kernel with some major modifications. It was originally known as Neon, developed and sold as a product by Kriya Systems from 1985 to 1989. Several people at The University of Chicago have maintained Yerk since its demise as a product. Because of possible trademark conflict they named it Yerk, which is not an acronym for anything, but rather stands for Yerkes Observatory, part of the Department of Astronomy and Astrophysics at U of C.
Version 3.62.
(ftp://oddjob.uchicago.edu/pub/Yerk/)
E-mail: Bob Lowenstein rfl@oddjob.uchicago.edu .
(1994-11-23)

Yet Another
jargon (YA-, after Unix's yacc - Yet Another Compiler-Compiler) A humorous allusion often used in titles to acknowledge that the topic is not original, though the content is. As in Yet Another AI Group or Yet Another Simulated Annealing Algorithm . If used of others' work, it describes something of which there are already far too many.
In hackish acronyms the YA prefix almost invariably expands to Yet Another, e.g. YABA, YAUN.
[Jargon File]
(1996-11-26)

Yet Another Compiler Compiler
tool, language (yacc) The LALR parser generator found on most Unix systems. Also, the language used to describe the syntax of another language to yacc (the program).
Implementations: ayacc, YAY, perln-byacc,
SASL-Yacc - Yacc in SASL - An Exercise in Functional Programming , Simon Peyton-Jones, Software Prac Exp 15:807-820 (1985). Mentions also a BCPL implementation.
Yacc++ - 1990. An object-oriented rewrite of yacc, supports regular expressions, produces an LR1 grammar parser.
[ YACC Meets C++ , S.C. Johnson, USENIX Spring '88 Conf].
Chris Clark, Compiler Resources Inc, +1 (508) 435-5016.
MLYACC - Implementation and output in SML/NJ. (ftp:research.att.com/dist/ml/75.tools.tar.Z).
A version, by David Poole at Montana University has been retargeted to Turbo Pascal.
(ftp://iecc.com/pub/file/lyprg.zip).
See also Bison, yet another, Yet Another Yacc.
Unix manual page: yacc(1).
[ YACC - Yet Another Compiler Compiler , S.C. Johnson, CS TR 32, Bell Labs (Jul 1975)].
[Was there ever an ACC - Another Compiler Compiler ? If so, what was the first compiler compiler called?]
(2000-11-15)

Yet Another Yacc
tool (Yay) An extension of Yacc with LALR2 parsing.
Yay is available from Bull as part of the University of Waterloo Tools package maintained by pjf@thinkage.on.ca .
(1994-11-09)

YGMTPO
chat (Usenet) You Greatly Misunderstood The Purpose Of .
(1998-03-03)

YLISP
A variant of Xlisp from Hewlett-Packard for the HP-95LX palmtop.
(ftp://hpcsos.col.hp.com/mirrors/.scsi5/hp95lx/languages)
(1994-11-23)

YMMV
Your mileage may vary

YMODEM
A file transfer protocol used between modems. YMODEM was developed by Chuck Forsberg as the successor to XMODEM and was itself succeeded by ZMODEM. XMODEM used 128-byte packets, YMODEM can also use 1 kilobyte packets. Whereas YMODEM is a batch protocol, YMODEM-G is a non-stop version.
File sizes are included in the YMODEM header when sending both binary and text files. Thus files transferred via YMODEM should preserve their exact length. File modification times may also be present in the YMODEM header.
YModem can fall back to smaller packets when necessary but there is no backward compatibility with XModem's error detection.
[Chuck Forsberg, XMODEM/YMODEM Protocol Reference ].
(1995-02-02)

YMODEM-G
A non-stop streaming version of YMODEM designed for error-free connections with proper flow control; the transmitting program sends packets to the receiver as fast as it can without waiting for acknowledgements. Any errors cause the entire file transfer to abort.

yocto-
prefix

yotta-
prefix

yottabyte
unit 2^80 = 1,208,925,819,614,629,174,706,176 bytes = 1024 zettabytes.
See prefix.
(1997-05-02)

You are not expected to understand this
[Unix] The canonical comment describing something magic or too complicated to bother explaining properly. From an infamous comment in the context-switching code of the V6 Unix kernel.
[Jargon File]

You know you've been hacking too long when...
The set-up line for a genre of one-liners told by hackers about themselves. These include the following:
* Not only do you check your e-mail more often than your paper mail, but you remember your network address faster than your postal one.
* Your SO kisses you on the neck and the first thing you think is Uh, oh, priority interrupt .
* You go to balance your chequebook and discover that you're doing it in octal.
* Your computers have a higher street value than your car.
* In your universe, round numbers are powers of 2, not 10.
* You have woken up recalling a dream in some programming language.
* You realise you have never seen half of your best friends.
[An early version of this entry said All but one of these have been reliably reported as hacker traits (some of them quite often). Even hackers may have trouble spotting the ringer. The ringer was balancing one's chequebook in octal, which I made up out of whole cloth. Although more respondents picked that one out as fiction than any of the others, I also received multiple independent reports of its actually happening, most famously to Grace Hopper while she was working with BINAC in 1949. - ESR]
(1995-04-07)

Yourdon
1. programming The Yourdon methodology.
2. person Edward Yourdon.
3. company Yourdon, Inc..
(1995-04-07)

Yourdon/Constantine
programming (Or Constantine/Yourdon ) A structured design methodology involving structure charts, developed by Larry Constantine.
(1995-04-07)

Yourdon/Demarco
programming (Or DeMarco/Yourdon ) A structured analysis methodology involving data flow diagrams, etc. developed by Edward Yourdon and Tom DeMarco.
(1995-04-07)

Yourdon, Inc.
company The company founded in 1974 by Edward Yourdon to provide educational, publishing, and consulting services in state-of-the-art software engineering technology. Over the next 12 years, the company grew to a staff of over 150 people, with offices throughout North America and Europe. As CEO of the company, Yourdon oversaw an operation that trained over 250,000 people around the world; the company was sold in 1986 and eventually became part of CGI, the French software company that is now part of IBM. The publishing division, Yourdon Press (now part of Prentice Hall), has produced over 150 technical computer books on a wide range of software engineering topics; many of these classics are used as standard university computer science textbooks.
(1995-04-16)

Yourdon methodology
programming The software engineering methodology developed by Edward Yourdon and colleagues in the 1970s and 1980s. Yourdon methodology is a generic term for all of the following methodologies: Yourdon/Demarco, Yourdon/Constantine, Coad/Yourdon.
(1995-04-07)

Your mileage may vary
(Standard disclaimer attached to EPA mileage ratings by American car manufacturers) A ritual warning often found in Unix freeware distributions and elsewhere. Translates roughly as Hey, I tried to write this portably, but who *knows* what'll happen on your system?
[Jargon File]
(1994-11-10)

Yow!
exclamation /yow/ (From Zippy the Pinhead comics) A favoured hacker expression of humorous surprise or emphasis. Yow! Check out what happens when you twiddle the foo option on this display hack!
Compare gurfle.
[Jargon File]
(1995-03-07)

yoyo mode
jargon The state in which a computer is said to be when it rapidly alternates several times between being up and being down. Interestingly (and perhaps not by coincidence), many hardware vendors give out free yoyos at Usenix exhibits.
Sun Microsystems gave out logoised yoyos at SIGPLAN '88. Tourists staying at one of Atlanta's most respectable hotels were subsequently treated to the sight of 200 of the country's top computer scientists testing yo-yo algorithms in the lobby.
[Is it yoyo or yo-yo ?]
[Jargon File]
(1995-03-07)

YP
Yellow Pages. The original name for Sun's Network Information Service.
(1995-03-07)

YSM
Yourdon Structured Method

yt
networking The country code for Mayotte.
(1999-01-27)

YTalk
Version: V3.0 Patch Level 1.
networking, tool A multi-user chat program by Britt Yenne yenne@austin.eds.com . YTalk works almost exactly like the standard Unix talk program and even communicates with the same talk daemon(s), but YTalk supports multiple connections.
Multiple user names may be given as command-line arguments, in the form name#tty@host where the optional #tty specifies a particular tty.
YTalk is able to communicate with both existing versions of Unix talk daemons. Once connected, typing escape gives access to a menu of commands to add or delete users, trace to a file, or set options. If run under the X Window System, YTalk will use separate X windows for each user in the conversaton, otherwise it will split the terminal screen between them.
E-mail: ytalk@austin.eds.com .
[FTP?]
(1995-04-04)

yu
networking The country code for the former Yugoslavia.
(1999-01-27)

Yu-Shiang Whole Fish
/yoo-shyang hohl fish/ An obsolete name for the Greek character gamma (extended SAIL ASCII code 9, Unicode glyph 0x0263) which with a loop in its tail looks like a little fish swimming down the page. The term is actually the name of a Chinese dish in which a fish is cooked whole (not parsed) and covered with Yu-Shiang (or Yu-Hsiang) sauce. Used primarily by people on the MIT LISP Machine, which could display this character on the screen. Tends to elicit incredulity from people who hear about it second-hand.
[Jargon File]
(1995-01-31)

/zed/ language, specification 1. (After Zermelo-Fränkel set theory) A specification language developed by the Programming Research Group at Oxford University around 1980. Z is used for describing and modelling computing systems. It is based on axiomatic set theory and first order predicate logic. Z is written using many non-ASCII symbols. It was used in the IBM CICS project.
See also Z++.
[ Understanding Z , J.M. Spivey, Cambridge U Press 1988].
2. language, simulation A stack-based, complex arithmetic simulation language from ZOLA Technologies.
(1995-08-11)

Z++
language An object-oriented extension of Z.
[ Z++, an Object-Oriented Extension to Z , Lano, Z User Workshop, Oxford 1990, Springer Workshops in Computing, 1991, pp.151-172].
(1995-04-22)

Z180
processor An 8-bit microprocessor, code compatible with the Zilog Z80 and based on a design from Hitachi which is in turn based on the Zilog Z80.
[Manufacturer?]
(1995-04-22)

Z3
computer The third computer designed and built by Konrad Zuse and the first computer to successfully run real programs. The computer was ready in 1941, five years before ENIAC.
Zuse began his work on program-driven calculating machines in 1935. His two predessors of the Z3, the Z1 and Z2, were unsuccessful mechanical calculating machines. The Z3 was delivered to the Deutsche Versuchsanstalt für Luftfahrt (German Experimental Department of Aeronautics) in Berlin and was used for deciphering coded messages. In 1998, there may still be models of Z3 in museums [where?].
The Z3 used about 2600 relays of the kind used in telecommunications. Zuse wrote and implemented the language Plankalkül on the Z3. Programs were punched into cinefilm.
Zuse built some more computers after World War II, including the Z3's successor, the Z4, which was set up at ETH Zurich, Switzerland.
Of the potential rival claimants to the title of first programmable computer, Babbage (UK, c1840) planned but was not able to build a decimal, programmable machine. Atanasoff's ABC, completed in 1942, and Eckert and Mauchly's ENIAC (US, 1945/46) were special purpose calculators, like those of Pascal (1640) and Leibniz (1670). None of these machines was freely programmable. Neither was Turing et al.'s Colossus (UK, 1943-45). Aiken's MARK I (1944) was programmable but still decimal, without separation of storage and control.
[Features? Where was it designed? Contemporaries? References?]
(2002-07-28)

Z39.50
ANSI Z39.50

Z8
Zilog Z8

Z80
Zilog Z80

Z8000
Zilog Z8000

za
networking The country code for South Africa.
(1999-01-27)

ZAP
1. language A language for expressing program transformations.
[ A System for Assisting Program Transformation , M.S. Feather, ACM TOPLAS 4(1):1-20, Jan 1982].
2. Zero and Add Packed.
(2001-03-25)

zap
jargon 1. To modify, usually to correct; especially used when the action is performed with a debugger or binary patching tool. Also implies surgical precision. Zap the debug level to 6 and run it again.
In the IBM mainframe world, binary patches are applied to programs or to the operating system with a program called superzap , whose file name is IMASPZAP (possibly contrived from I M A SuPerZAP).
See also Zero and Add Packed.
2. To fry a chip with static electricity. Uh oh - I think that lightning strike may have zapped the disk controller.
(1998-07-08)

ZAPP
Zero Assignment Parallel Processor. A virtual tree machine architecture in which a process tree is dynamically mapped onto a fixed, strongly connected network of processors communicating by message passing. The basic operation of each node is to apply a divide and conquer function which takes four arguments: (1) a function 'primitive' which takes a problem description (PD) and returns true if it can be solved without division, (2) a function 'solve' which takes a primitive PD and returns its solution, (3) a function 'divide' which takes a PD and returns a list of PDs of smaller problems and (4) a function 'combine' which returns the solution to a problem by combining a list of solutions of subproblems.
Each node has a copy of the code and one is given the initial problem description. Task distribution is by process stealing in which a process constructs a descriptor for each subtask and idle (lightly loaded) processors can steal a descriptor from a physically connected neighbour.

Z-buffer
graphics An array used to store the maximum Z coordinate of any feature plotted at a given (X, Y) location on the screen, used for hidden line removal in a 2D rendering of a 3D scene. The Z axis is perpendicular to the screen with values increasing towards the viewer so that any point whose Z coordinate is less than the corresponding Z-buffer value will be hidden behind some feature which has already been plotted.
(1997-07-18)

ZEBRA
A data management package in the CERN Program Library.

Zed
1978. Software Portability Group, U Waterloo. Eh, with types added. Similar to C. Implementation language for the Thoth realtime operating system. Added a few simple types for greater efficiency on byte-addressed machines. String constants in case statements. Enforces the naming convention: MANIFESTS, Externals and locals. Porting the Zed Compiler , G.B. Bonkowski et al, SIGPLAN Notices 14(8):92-97 (Aug 1979).

Zen
[Kehoe, B., Zen and the Art of the Internet , February 1992.]
[Jargon File]

zen
jargon To figure out something by meditation or by a sudden flash of enlightenment. Originally applied to bugs, but occasionally applied to problems of life in general. How'd you figure out the buffer allocation problem? Oh, I zenned it.
Contrast grok, which connotes a time-extended version of zenning a system. Compare hack mode. See also guru.
(1996-09-17)

ZENO
U Rochester 1978. Euclid with asynchronous message-passing. Preliminary ZENO Language Description , J.E. Ball et al, SIGPLAN Notices 14(9):17-34 (Sep 1979).

zepto
prefix

Zermelo Fränkel set theory
mathematics A set theory with the axioms of Zermelo set theory (Extensionality, Union, Pair-set, Foundation, Restriction, Infinity, Power-set) plus the Replacement axiom schema:
If F(x,y) is a formula such that for any x, there is a unique y making F true, and X is a set, then
F x : x in X
is a set. In other words, if you do something to each element of a set, the result is a set.
An important but controversial axiom which is NOT part of ZF theory is the Axiom of Choice.
(1995-04-10)

Zermelo set theory
mathematics A set theory with the following set of axioms:
Extensionality: two sets are equal if and only if they have the same elements.
Union: If U is a set, so is the union of all its elements.
Pair-set: If a and b are sets, so is
a, b.
Foundation: Every set contains a set disjoint from itself.
Comprehension (or Restriction): If P is a formula with one free variable and X a set then
x: x is in X and P(x)
is a set.
Infinity: There exists an infinite set.
Power-set: If X is a set, so is its power set.
Zermelo set theory avoids Russell's paradox by excluding sets of elements with arbitrary properties - the Comprehension axiom only allows a property to be used to select elements of an existing set.
Zermelo Fränkel set theory adds the Replacement axiom.
[Other axioms?]
(1995-03-30)

ZERO
language An object oriented extension of Z.
[ Object Orientation in Z , S. Stepney et al eds, Springer 1992].
[Jargon File]
(1995-03-30)

zero
1. character 0, ASCI character 48. Numeric zero, as opposed to the letter O (the 15th letter of the English alphabet). In their unmodified forms they look a lot alike, and various kluges invented to make them visually distinct have compounded the confusion.
If your zero is centre-dotted and letter-O is not, or if letter-O looks almost rectangular but zero looks more like an American football stood on end (or the reverse), you're probably looking at a modern character display (though the dotted zero seems to have originated as an option on IBM 3270 controllers). If your zero is slashed but letter-O is not, you're probably looking at an old-style ASCII graphic set descended from the default typewheel on the venerable ASR-33 Teletype (Scandinavians, for whom slashed-O is a letter, curse this arrangement).
If letter-O has a slash across it and the zero does not, your display is tuned for a very old convention used at IBM and a few other early mainframe makers (Scandinavians curse *this* arrangement even more, because it means two of their letters collide). Some Burroughs/Unisys equipment displays a zero with a *reversed* slash. And yet another convention common on early line printers left zero unornamented but added a tail or hook to the letter-O so that it resembled an inverted Q or cursive capital letter-O.
[Jargon File]
(1995-01-24)
2. To set to zero. Usually said of small pieces of data, such as bits or words (especially in the construction zero out ).
3. To erase; to discard all data from. Said of disks and directories, where zeroing need not involve actually writing zeroes throughout the area being zeroed. One may speak of something being logically zeroed rather than being physically zeroed .
See scribble.
(1999-02-07)

Zero and Add Packed
language (ZAP) An IBM 360/370 assembly language instruction used when performing packed arithmatic to initialise an accumulator.
(2001-03-25)

zero assignment
A zero assignment language is a language where there are no variables but only functions. See also single assignment.

zero-content
content-free

Zero Insertion Force
hardware (ZIF) A kind of socket for integrated circuits. A ZIF socket can be opened and closed by means of a lever or screw. When open, there the chip may be placed in the socket without any pressure at all, the socket is then closed, causing its contacts to grip the pins of the chip. Such sockets are used where chips must be inserted and removed frequently, such as in test equipment. They are more expensive and usually take up more space than conventional IC sockets.
(1994-12-05)

zeroth
jargon First.
Since zero is the lowest value of an unsigned binary integer, which is one of the most fundamental types in programming and hardware design, it is often natural to count from zero rather than one, especially when the integer is actually an index, as in hardware addressing or C and Lisp's 0-based indexing of arrays.
Hackers and computer scientists often like to call the first chapter of a publication Chapter 0 , especially if it is of an introductory nature (one of the classic instances was in the First Edition of K R). In recent years this trait has also been observed among many pure mathematicians (who have an independent tradition of numbering from 0).
Zero-based numbering tends to reduce fencepost errors, though it cannot eliminate them entirely.
Logically, the next item after the zeroth should be the oneth but this is never used.
[Jargon File]
(1997-12-07)

ZEST
An object-oriented extension of Z.
[ Object Orientation in Z , S. Stepney et al eds, Springer 1992].

ZetaLisp
language The Maclisp dialect used on the LISP Machine. The many extensions to Maclisp include vectors, closures, flavors, stack groups, locatives, and invisible pointers. Currently supported by Lisp Machines, Inc. and Symbolics.
[ LISP Machine Manual , D. Weinreb and D. Moon, MIT AI Lab, 1981].
(1997-03-18)

zetta-
prefix

zettabyte
unit 2^70 = 1,180,591,620,717,411,303,424 bytes = 1024 exabytes.
See prefix.
(1997-05-02)

Zeus
Berkeley Yacc

ZFC
mathematics Zermelo Fränkel set theory plus the Axiom of Choice. A favourite axiomatisation of set theory.
(1995-03-29)

ZF expression
programming (After Zermelo Fränkel set theory). David Turner's name for list comprehension.
(1995-03-27)

ZIF
Zero Insertion Force

zigamorph
/zig'*-morf/ 1. Hex FF (11111111) when used as a delimiter or fence character. Usage: primarily at IBM shops.
2. [proposed] The Unicode non-character +UFFFF (1111111111111111), a character code which is not assigned to any character, and so is usable as end-of-string.
[Jargon File]

ZIL
games Zork Implementation Language. Language used by Infocom's Interactive Fiction adventure games. Interpreted by the zmachine, for Unix and Amiga.
(ftp://plains.nodak.edu/Minix/st.contrib.Infocom.tar.Z)

Zilog
company The microprocessor manufacturer who produced the Zilog Z80 in July 1976 (as used by Sinclair in the ZX-80, ZX-81 and ZX Spectrum computers) and later the Zilog Z8000.
Zilog was founded in 1974 and became a wholly owned subsidiary of Exxon Corp. by 1980. The company's management and employees purchased Zilog back from Exxon in 1989. Zilog became a publicly-held company in February, 1991. In March of 1998, Zilog was privatised, as a result of the merger and recapitalisation transaction by Texas Pacific Group (TPG).
Zilog now produce a range of 8-bit microcontrollers, 8-, 16- and 32-bit microprocessors, and digital signal processors, covering the home entertainment, communications, and embedded systems markets.
Home (http://www.zilog.com/).
Address: 910 East Hamilton Avenue, Suite 110, Campbell, CA 95008, USA.
(1998-09-14)

Zilog Z280
An enhanced version of the Zilog Z80 with a 16 bit architecture, introduced in July, 1987. It added an MMU to expand addressing to 16Mb, features for multitasking, a 256 byte cache, and a huge number of new op codes (giving a total of over 2000!). Its internal clock runs at 2 or 4 times the external clock (e.g. a 16MHz CPU with a 4MHz bus).
(1994-10-31)

Zilog Z8
processor A family of microcontrollers from Zilog with on-chip RAM and ROM. The Z8 is not related to the Zilog Z80, it uses a totally different architecture and instruction set.
Competitors include the Motorola 6805/68HC05 family or the Intel 8051-family (or i51-family or MCS51-family - there is no standard family name).
(1995-04-22)

Zilog Z80
processor An 8-bit microprocessor. It was released in July 1976 with a 2.5 MHz clock rate. The Z80 was a much improved Intel 8080 (as was the Intel 8085). It also used 8-bit data and 16-bit addressing, and could execute all of the 8080 op codes as well as 80 new ones, instructions that included 1, 4, 8 and 16-bit operations and even block move and block I/O instructions. The register set was doubled, with two banks of registers (including A and F) that could be switched between. This allowed fast operating system or interrupt context switches. It features 3 types of interrupt mode.
The Z80 also added two index registers (IX and IY) and relocatable vectored interrupts (via the 8-bit IV register). Like many processors (including the 8085), the Z80 featured many undocumented op codes. Chip area near the edge was used for added instructions, but fabrication made the failure of these high. Instructions that often failed were just not documented, increasing chip yield. Later fabrication made these more reliable.
The thing that really made the Z80 popular was the memory interface - the CPU generated it's own RAM refresh signals, which meant easier design and lower system cost. That and its 8080 compatibility and CP/M, the first standard microprocessor operating system, made it the first choice of many systems.
In addition to the original Z80 (2.5 MHz) there are the Zilog Z80A (4 MHz), Zilog Z80B (6MHz) and Zilog Z80H (8 MHz) versions. The popular Hitachi HD64180 processor family adds peripherals and an MMU to the Z80.
The Zilog Z280 was an enhanced version with an MMU and many new op codes.
(1996-06-12)

Zilog Z8000
processor A microprocessor from Zilog introduced not long after the Intel 8086, but with superior features. It was basically a 16-bit processor, but could address up to 23 bits in some versions by using segment registers (to supply the upper 7 bits). There was also an unsegmented version, but both could be extended further with an additional MMU that used 64 segment registers.
Internally, the Z8000 had sixteen 16-bit registers, but register size and use were exceedingly flexible. The Z-8000 registers could be used as sixteen 8-bit registers (only the first half were used like this), sixteen 16-bit registers, eight 32-bit registers, or four 64-bit registers, and included 32-bit multiply and divide. They were all general purpose registers - the stack pointer was typically register 15, with register 14 holding the stack segment (both accessed as one 32-bit register for painless address calculations).
The Z8000 featured two modes, one for the operating system and one for user programs. The user mode prevented the user from messing about with interrupt handling and other potentially dangerous stuff.
Finally, like the Zilog Z80, the Z8000 featured automatic DRAM refresh circuitry. Unfortunately it was somewhat slow, but the features generally made up for that. Initial bugs also hindered its acceptance (partly because it did not use microcode). There was a radiation resistant military version.
There was a later 32-bit, pipelined version, the Zilog Z80000.
(1997-12-16)

Zilog Z80000
processor A later version of the Zilog Z8000, expanded to 32 bits internally and with a 6-stage pipeline.
(1997-12-16)

Zilog Z80A
processor A version of the Zilog Z80 microprocessor with a 4 MHz clock rate.
(1995-04-24)

zip
1. tool, compression, file format To create a compressed archive (a zip file ) from one or more files using PKWare's PKZIP or a compatible archiver. Its use is spreading from MS-DOS now that portable implementations of the algorithm have been written.
zip is also the name of a Unix archiving utility compatible with PKZIP. unzip is the corresponding de-archiver.
See also gzip, tar and feather.
2. storage Zip Drive.
[Jargon File]
(1996-08-26)

Zipcode
language A parallel language at Lawrence Livermore(?).
(1996-08-26)

Zip Drive
hardware, storage A disk drive from Iomega Corporation which takes removable 100 megabyte hard disks. Both internal and external drives are manufactured, making the drive suitable for backup, mass storage or for moving files between computers. Software is included to help with file organisation. The internal SCSI model offers up to 60 MB / minute transfer rate.
The Zip drive was awarded Byte's Readers' Hardware Choice Award 1996 (http://www.byte.com/art/9607/sec11/art1.htm). The company has started to manufacture a larger Jaz drive, which takes one gigbyte disks.
Home (http://www.iomega.com/index.html)
(1997-03-23)

zip file
zip

zipperhead
abuse An IBM term for a person with a closed mind.
[Jargon File]
(1994-11-30)

zm
networking The country code for Zambia.
(1999-01-27)

ZMODEM
protocol A file transfer protocol with error checking and crash recovery. Developed by Chuck Forsberg. Its transfer rate is similar to YMODEM-g. Like YMODEM-g, ZMODEM does not wait for positive acknowledgement after each block is sent, but rather sends blocks in rapid succession. If a ZMODEM transfer is cancelled or interrupted for any reason, the transfer can be resurrected later and the previously transferred information need not be resent.
FTP Oakland (ftp://oak.oakland.edu/pub/simtelnet/msdos/zmodem/), FTP PDX (ftp://ftp.cs.pdx.edu/pub/zmodem/).
Telephone: +1 900 737 7836.
(1996-07-02)

ZOG
A high-performance hypertext system developed at Carnegie-Mellon University.
(1994-11-30)

ZOLA Technologies
company Producers of the Z simulation language.
(1994-11-30)

zombie
1. operating system zombie process.
2. chat A ghost.
[Jargon File]
(1997-10-08)

zombie process
operating system (Or defunct process ) A Unix process that has terminated (either because it has been killed by a signal or because it has called exit()) and whose parent process has not yet received notification of its termination by executing (some form of) the wait() system call.
A zombie process exists solely as a process table entry and consumes no other resources. This entry is retained to hold the child's exit status until the parent process wants to retrieve it. The parent can also be notified asynchronously via a signal of the child's termination.
Zombie processes can be seen in ps listings occasionally (with a status Z in some versions).
Compare orphan process.
(1997-10-08)

zone
A logical group of network devices on AppleTalk.
(1994-11-30)

Zoo
Berkeley Yacc

zoo
tool, file format A data compression program and format by Rahul Dhesi. Zoo is reported to use the same Lempel Ziv algorithm as LHA. It is available for many platforms and source is available. .zoo archives are handled by many other PC archiving programs.
Version 2.10 was released in 1989. Search the web for zoo210 to obtain an executable.
Description (http://sources.isc.org/archiver/zoo2.txt)
(2000-07-05)

zoom
graphics To show a smaller area of an image at a higher magnification ( zoom in ) or a larger area at a lower magnification ( zoom out ), as though using a zoom lense on a camera.
Unlike in an optical system, zooming in on a computer image does not necessarily increase the amount of detail displayed since this is limited by what is actually stored in the image. Similarly, you cannot zoom out beyond the full size of the image.
(1997-10-24)

Zoomer
A PDA from Casio, based on the GEOS microkernel operating system.
Home (http://www.biostat.washington.edu/zoomer.html). (http://www.eit.com/mailinglists/zoomer/resources.html).
Usenet newsgroup: news:comp.sys.pen, news:comp.sys.handhelds, news:comp.sys.palmtops.
(1995-01-23)

ZOPL
language A block structured, untyped low-level language used on computers manufactured by Geac.
[Dates? Reference? Stands for?]
(2002-02-24)

zorch
/zorch/ 1. [TMRC] To attack with an inverse heat sink.
2. [TMRC] To travel with velocity approaching lightspeed.
3. [MIT] To propel something very quickly. The new comm software is very fast; it really zorches files through the network.
4. [MIT] Influence. Brownie points. Good karma. The intangible and fuzzy currency in which favours are measured. I'd rather not ask him for that just yet; I think I've used up my quota of zorch with him for the week.
5. [MIT] Energy, drive, or ability. I think I'll punt that change for now; I've been up for 30 hours and I've run out of zorch.
6. [MIT] To flunk an exam or course.
7. Computing power.
[Jargon File]
(1997-07-09)

Zork
games /zork/ The second of the great early experiments in computer fantasy gaming; see ADVENT. Zork was originally written on MIT-DM during the late 1970s, later distributed with BSD Unix as a patched, sourceless RT-11 Fortran binary (see retrocomputing) and commercialised as The Zork Trilogy by Infocom. The Fortran source was later rewritten for portability and released to Usenet under the name Dungeon .
Both Fortran Dungeon and translated C versions are available from many FTP archives.
[Jargon File]
(1998-09-21)

zorkmid
games /zork'mid/ The canonical unit of currency in hacker-written games. This originated in Zork but has spread to nethack and is referred to in several other games.
[Jargon File]
(1998-09-21)

zr
networking The old country code for Zaire.
cd is now used instead, since Zaire changed its name to the Democratic Republic of the Congo.
(1999-01-27)

zsh
Z shell

Z shell
(zsh) 1. sh with list processing and database enhancements.
Version 2.1.o (before 1995-10-30).
(ftp://cs.ucsd.edu/pub/zsh/zsh2.1.0.tar.Z)
2. A Unix command interpreter shell by Paul Falstad pf@ttisms.com , similar to, but not completely compatible with, ksh, with many additions to please csh users and some tcsh features. zsh supports editing of multi-line commands a single buffer; variable editing; a command buffer stack; recursive globbing; manipulation of arrays; and spelling correction.
zsh is available for Berkeley and SVR4-based Unix.
Current version: 2.3.1 (2.4 in beta), as of 1993-03-23.
zsh FAQ (http://mal9000.bevc.blacksburg.va.us/zsh/FAQ)
(ftp://carlo.phys.uva.nl/pub/bas/zsh/)
Mailing list: zsh-request@cs.uow.edu.au .
(1995-10-31)

ZUG
A low-level Awk(?) from Geac.
(1995-01-23)

Zulu time
Coordinated Universal Time

ZUSE
language An LL(1) parser generator by Arthur Pyster of the University of California at Santa Barbara. ZUSE requires Pascal.
(1986-09-23)

Zuse
language (After Konrad Zuse) A descendant of Ada, Modula-2, Mesa and Oberon-1, described by Christian Collberg collberg@dna.lth.se in his PhD thesis 1991.
Zuse supports several levels of information hiding. The Zuse type system includes fully hidden types (similar to Modula-2 opaque types but without any implementation restriction), semi-open pointer types (same as Modula-2 opaque types), extensible record types (similar to Oberon-1 public projection types but without the compiler hint), enumeration types, extensible enumeration types, and extensible subrange types.
A type can also be protected by specifying the operations that particular modules may perform (similar to C++ friend classes and Ada private types). Zuse also includes hidden and extensible constants and hidden inline procedures. In order to support the higher levels of information hiding the implementation employs partial intermediate code linking.
A version for Sun-3 is available.
(1999-02-18)

Zuse, Konrad
Konrad Zuse

zw
networking The country code for Zimbabwe.
(1999-01-27)

ZX-80
computer Sinclair's cheap personal computer with built-in BASIC, launched at the end of January 1980 at a computer fair in Wembley, UK. The processor was an NEC 780-C running at 3.25 MHz. It had 1KB of RAM, externally expandable to 16KB, and 4KB of ROM. It had RF video output to a TV, displaying 24 lines by 32 characters of monochrome text. An audio cassette recorder was used to save programs.
The ZX-80 was sold in kit form for £79.95 or ready-built for £99.95. It was used by many UK hobbyists as a means of learning the basics of computing. Some remember the 1KB ZX-80 for the claim in its advertising that you could control a nuclear power station with it.
The ZX-80 was succeeded by the ZX-81.
(http://home.t-online.de/home/p.liebert/zx80_eng.htm).
Planet Sinclair (http://www.nvg.ntnu.no/sinclair/).
The Sinclair Story (http://www.sincuser.f9.co.uk/046/sstory.htm).
(2002-08-30)

ZX-81
computer An even more successful version of the Sinclair ZX-80, featuring a large uncommitted logic array instead of much discrete logic, an improved BASIC, and rather more expandability (it could take 16kb RAM packs). It was launched around 1981 and was eventually replaced by the Spectrum.
(1995-11-04)

zxnrbl
jargon /sner'b*l/ Incorrect data introduced by transmission errors; any corrupted or uninterpretable data.
The word originated in a 1978 advertisement for a Mockingboard, which makes frogs croak, princesses shriek, and martians zxnrbl.
It's not misspelled on the original page. The Internet must have zxnrbled it on the way to you.
(1997-03-16)

ZX Spectrum
computer Sinclair's first personal computer with a colour display. The Spectrum used the Zilog Z80 processor like its predecessors the ZX-80 and ZX-81. It was originally available in 16k and 48k versions using cassette tape and later grew to 128k and sprouted floppy disks. It had a wider and more solid case and a marginally better dead flesh keyboard. Unlike the earlier models, it didn't require the presence of a cold carton of milk to prevent it overheating. It was possibly the most popular home computer in the UK for many years.
The TK-90X was a clone.
(1995-11-04)

Zynet Ltd.
company A UK Internet service provider offering full Internet Protocol connection by any reasonable means for any number of computers from individual dial-ups to leased line connections to entire networks.
Zynet is a sister company of Minerva Software and thus claim a better than average understanding of the needs and idiosyncracies of Acorn systems and will be offering special services for education.
(http://www.zynet.co.uk/)
E-mail: zynet@zynet.co.uk .
Telephone: +44 (1392) 426 160. Fax: +44 (1392) 421 762.
Address: Minerva House, Baring Crescent, Exeter EX1 1TL, UK.
(1995-01-31)

ZyXEL
A modem manufacturer.
(ftp://ftp.zyxel.com/pub/other/zyxel)
E-mail: tech@zyxel.com , sales@zyxel.com .
Telephone: +1 800-255-4101 (Sales), +1 714-693-0808 (tech), +1 714-693-0762 (BBS), +1 714-693-8811 (fax).
Address: 4920 E. La Palma, Anaheim, CA 92807, USA.
(1994-10-31)