EDP Dictionary - DD
1. "The Data Language." {MS-DOS} 4GL.
2. A {Haskell}-like language, with {type class}es.
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.
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.
(16 Jan 1995)
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
language}s, {logic language}s 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)].
(22 Sep 1994)
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 {host}s 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}.
(11 May 1995)
DAG
{directed acyclic graph}
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}).
(07 Jan 1997)
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.
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. Oppose {samurai}.
Darms
<language> A music language.
["The Darms Project: A Status Report", R.F. Erickson,
Computers and the Humanities 9(6):291-298 (June 1975)].
(12 May 1995)
DARPA
<body> {Defense Advanced Research Project Agency}.
Dartmouth BASIC
<language> The original {BASIC} by Kemeny and Kurtz.
(12 May 1995)
Darwin
A general purpose structuring tool of use in building complex
{distributed system}s 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>.
(08 Nov 1994)
DAS
Digital Analog Simulator.
Represents {analog computer} design.
(08 Nov 1994)
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.
(08 Nov 1994)
DAT
1. {Digital Audio Tape}.
2. {Dynamic Address Translation}.
data
<data processing, jargon> (Or "raw data", "information",
"wisdom") 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}.
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}. For example, the number 123454657.99 is
data but if it is output as your bank balance then that is
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.
123454657.99 is data.
"Your bank balance has jumped 8087% to 123454657.99" 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.
(18 May 1996)
data abstraction
{abstract data type}
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}.
2. <hypertext> A collection of {node}s managed and stored in
one place and all accessible via the same {server}. {Link}s
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.
(04 Mar 1997)
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 analyst}s.
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
(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. Commercial examples include {Ingres}, {Oracle}
and {Sybase}.
A database management system (DBMS) is 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.
MAJOR FEATURES OF A DBMS
DATA SECURITY AND INTEGRITY
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.
INTERACTIVE QUERY
Query languages and report writers allow users to
interactively interrogate the database and analyse its data.
INTERACTIVE DATA ENTRY AND UPDATING
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 does not
automatically leave an audit trail of actions and does not
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.
This is one of the most common misconceptions about database
management systems that are used in personal computers.
Thoroughly comprehensive and sophisticated business systems
can be developed in dBASE, Paradox and other DBMSs; however,
they are created by experienced programmers using the DBMS's
own programming language.
DATABASE DESIGN
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 that is
chosen is the one that can mirror the organisation's data
structure properly and process the transaction volume
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.
HIERARCHICAL, NETWORK AND RELATIONAL DATABASES
Hierarchical, network and relational databases are the three
most commonly advertised methods of organizing data. A
database management system may provide one, two or all three
methods. Inverted lists and other methods are also used.
The structure that best suits an organisation depends on the
organisation's particular requirements, the volume of daily
transactions and the estimated number of ad hoc inquiries that
will be made.
Hierarchical databases link records together like an
organisation chart, and a record type can be owned by only one
owner. For example, orders are owned by only 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.
In network database structures, a record type can have
multiple owners. In the order processing example, orders are
owned by both customers and products, since that's the way
they relate in the business.
Relational databases don't link records together physically,
but the design of the records must provide a common field,
such as account number, to allow for matching. Quite often,
the fields used for matching are indexed in order to speed up
the process. In the order processing example, customers,
orders and products are linked by comparing data fields and/or
indexes when information from more than one record type is
needed. This method is the most flexible for ad hoc
inquiries, but may be too slow for heavy transaction
processing environments. Although relational database is
often considered a new concept, database management systems
have traditionally provided relational capability with their
hierarchical or network designs.
INTELLIGENT DATABASES
All DBMSs provide some data validation; for example, they will
reject invalid dates entered into date fields, alphabetic data
entered into money fields. But the real processing is left up
to the application programs.
Intelligent databases provide more validation; for example,
table lookups will reject incorrect spelling or coding of
items. There's no limit to the amount of processing that can
be placed into an intelligent database as long as the process
is a standardised function for that data. For example, the
correct sales tax can be computed by the database and applied
to all orders for the customer based on the customer's billing
address.
When the validation process is left up to the individual
application program, one program can allow one set of codes to
be entered into a field, while another program can allow a
totally different, and erroneous, set of codes. Data
integrity is best served when there's one controlling source
for the validation of data.
Mainframe databases have increasingly become more intelligent,
and personal computer database systems are rapidly following
suit. In time, all database management systems will be
"intelligent."
DATABASE MACHINES
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.
FUTURE DATABASES
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.
When this happens, the office of the future will have finally
arrived!
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 query language
A language in which users of a {database} can (interactively)
formulate requests and generate reports. The best known is
{SQL}.
databases
{database}
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
Also known as 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).
DATABUS
DATApoint BUSiness Language.
A language like an interpreted {assembly language}, used for
custom applications on {Datapoint} computers.
(16 Jan 1995)
data bus
<architecture> (Or "data path", "datapath") The connections
between the {CPU}, memory and peripherals used to carry data.
Other connections are the {address bus} and control signals.
The width of the data bus 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.
(16 Jan 1995)
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.
(10 Mar 1997)
DATACODE I
<language> An early system used on the {Datatron 200} series.
[Listed in CACM 2(5):16, May 1959].
(06 Dec 1994)
Datacom
A {DBMS} from {Computer Associates International}.
(06 Dec 1994)
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 {RS-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 {modem}s are "DTE" according to the original
standard.
(28 Feb 1995)
Data Communications Equipment
{Data Communication Equipment}
data compression
<algorithm> {compression}. Probably to distinguish it from
(electronic) {signal compression}.
(02 Apr 1995)
data definition language
(DDL) 1. A language enabling the structure and instances of a
{database} to be defined in a human- and machine-readable
form.
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].
(06 Dec 1994)
data dictionary
A set of {data description}s that can be shared by several
applications.
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 Encryption Algorithm
(DEA) An {ANSI} {standard} defined in ANSI X3.92-1981. It is
identical to the {Data Encryption Standard} (DES).
(06 Dec 1994)
Data Encryption Key
(DEK) Used for the {encryption} of message text and for the
computation of message integrity checks (signatures).
See {cryptography}.
(06 Dec 1994)
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).
(06 Dec 1994)
data flow
A data flow architecture or language performs a computation
when all the {operand}s 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.
(13 May 1996)
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}.
(04 Mar 1996)
data frame
See {activation record}.
Data General
US computer manufacturer. Responsible for the {Nova}
minicomputer.
Quarterly sales $284M, profits -$12M (Aug 1994).
(26 Sep 1994)
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?]
(04 Apr 1995)
datagram
A self-contained, independent entity of data carrying
sufficient information to be {route}d 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 {method}s 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.
(03 Nov 1995)
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.
(07 Jan 1997)
Datakit
<networking> A {circuit-switched} digital network, similar to
{X.25}. Datakit supports {host-to-host} connections and
{RS-232} connections for {terminals}, {printers}, and {hosts}.
Most of {Bell Laboratories} is {trunk}ed 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].
(20 Oct 1996)
Data Link Control Identifier
<networking> (DLCI) A channel number which is attached to
{data frames} to tell the network how to route the data.
{Frame Relay FAQ (http://www.etinc.com/)}.
(01 Mar 1997)
datalink layer
<networking> Layer two, the second lowest layer in the {ISO}
{seven layer model}. It splits data into {frame}s (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
datalink 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}.
(14 Feb 1995)
data link level
{datalink 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?]
(29 Jan 1996)
Datamation
/day"t*-may"sh*n/ A magazine that many hackers assume all
{suit}s 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.
data mining
Analysis of data in a {database} using tools which look for
trends or anomalies without knowledge of the meaning of the
data.
[Products?]
(20 Oct 1994)
data model
<database>
A mathematical formalism with a notation for describing data
structures and a set of operations used to manipulate and
validate that data.
The {Relational model} is the most widely used data model.
An example is {NIAM}.
["Principles of Database and Knowledge-Base Systems",
J.D. Ullman, Volume I, Computer Science Press, 1988, p. 32].
[What does this mean?]
(31 Mar 1995)
data packet
{packet}
Dataparallel-C
{C} with parallel extensions by Hatcher and Quinn of the
University of New Hampshire. It 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].
(30 Mar 1995)
data path
{data bus}
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.
(28 Feb 1995)
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.
(30 Mar 1995)
data rate
See {baud}.
Datastorm Technologies, Inc.
<company> Suppliers of {Procomm}.
Address: Columbia MO, USA.
(04 Apr 1995)
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}.
(17 Oct 1996)
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)].
(28 Feb 1995)
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 converter}s, and {multiplexor}s.
DTE is usually connected via an {RS-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
should transmit on pin three and receive on pin two. It is a
curious fact that many {modem}s are actually "DTE" according
to the original standard.
(28 Feb 1995)
DATA-TEXT
<tool> A system from {Harvard} for numerical computations in
the Social Sciences.
["DATA-TEXT Primer", D.J. Armor, Free Press 1972].
(06 Dec 1994)
DATATRIEVE
A query and report system for use with DEC's VMS system (RMS,
VAX Rdb/VMS or VAX DBMS).
DataViews
{Graphical user interface} development software from
{V.I.Corporation}, aimed at constructing
{platform}-independent interactive views of dynamic data.
(07 Dec 1994)
DataVis
A {dataflow} language for scientific {visualisation}.
["Data Flow Visual Programming Languages", D. Hils, J Vis
Langs and Comput, Dec 1991].
(06 Dec 1994)
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.
(01 Aug 1996)
data warehousing
{data warehouse}
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}.
(06 Dec 1994)
David Turner
Professor David A Turner. One of the pioneers of modern
{functional language}s. He designed several languages,
including, {SASL} (1976), {KRC} (1981) and {Miranda}, many of
which were implemented using {combinator}s and the {S-K
reduction machine} which he defined.
He coined the name "{ZF expression}" for the {list
comprehension}.
He set up a company, {Research Software} Limited to market
{Miranda}.
E-mail: <dat@ukc.ac.uk>.
(06 Dec 1994)
day mode
See {phase} (sense 1). Used of people only.
DAZIX
Daisy/Cadnetix Corporation.
A supplier of digital electronic {CAE} systems.
(06 Dec 1994)
DB
{database}
DB2
A {DBMS} from IBM.
DB-25
<hardware> The standard 25-pin "D-type" connector used for
{RS-232} serial communication.
{DB-9} is a common alternative, especially on {personal
computers}.
(08 Dec 1996)
DB-9
<hardware> The standard 9-pin connector used for {RS-232}
serial communication (in place of {DB-25}).
(08 Dec 1996)
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.
(05 Nov 1996)
DBC
<language, parallel> A {data-parallel} {bit-serial} {C} based
on {MPL}. SRC, Bowie MD.
E-mail: <maya@super.org>.
(01 May 1995)
DBCS
<character> (IBM) double-byte character set.
A {character set} that uses 16 bits to represent a character.
(21 Mar 1995)
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].
(07 Dec 1994)
DBRI
{Dual Basic Rate Interface}
dBXL
A {dBASE}-like {interpreter}/language for {MS-DOS} from
{WordTech}, Orinda, CA.
(07 Dec 1994)
DC
<language, tool> The {Unix} {arbitrary precision} {postfix}
calculator and its language.
Here is an example program which prints out {factorial}s:
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}.
(17 Mar 1995)
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
<networking> {Direct Client to Client Protocol}.
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}
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.
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?]
DCS
{Digital Cellular System}
DCT
{Discrete Cosine Transform}
DD
{Data Dictionary}
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".
(03 Feb 1995)
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):850-861 (Sep 1968).
2. M. Urban, C. Kostanick et al, UCLA Computer Club. An
{adventure} language, the forerunner of {ADL}.
3. {Data Definition Language}.
4. {document description language}.
DDM
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.
DDN
{Defense Data Network}
DDP
{Distributed Data Processing}
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 {suit}s 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).
DEA
{Data Encryption Algorithm}
DEACON
Direct English Access and CONtrol. English-like query system.
Sammet 1969, p.668.
dead
1. Non-functional; {down}; {crash}ed. Especially used of
{hardware}.
2. At {XEROX PARC}, software that is working but not
undergoing continued development and support.
DEADBEEF
/ded-beef/ The {hexadecimal} word-fill pattern for freshly
allocated memory (decimal -21524111) under a number of {IBM}
environments, including the {RS/6000}. As in "Your program is
DEADBEEF" (meaning gone, aborted, flushed from memory); if you
start from an odd half-word boundary, of course, you have
BEEFDEAD.
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}.
(22 May 1996)
deadlock
1. A situation wherein 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 communicating to a
server, which may find itself waiting for output from the
server before sending anything more to it, while the server is
similarly 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}.
2. Also used of deadlock-like interactions between humans, as
when two people meet in a narrow corridor, and each tries to
be polite by moving 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.
deadly embrace
Same as {deadlock}, 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.
deamon
<spelling> Misspelling of "{daemon}".
(13 Dec 1996)
death code
A routine whose job is to set everything in the computer -
{register}s, 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 {register}s 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).
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.
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.
(13 May 1996)
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}.
DEC Alpha
<processor> A {RISC} {microprocessor} from {DEC} clocked at
200 Mhz or more. The Alpha is purportedly the fastest
non-research chip available in commonly available
{workstations} (Nov 1995).
[Features? Dates?]
(18 Feb 1996)
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.
DECdesign
A software analysis and design tool from {DEC} supporting
several methodologies. Now replaced by {Teamwork}.
(05 Sep 1994)
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}.
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.
(13 Jan 1995)
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.
(14 Mar 1995)
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}.
(03 May 1996)
decision support
Software used to aid management decision making, typically
relying on a {decision support database}.
[Examples?]
(14 Feb 1995)
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.
(14 Feb 1995)
Decision Support Systems
<application, tool> (DSS) Software tools to help with
{decision support}.
(14 Feb 1995)
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.
(22 Sep 1995)
deckle
/dek'l/ (From "dec-" and "{nybble}"; the original spelling
seems to have been "decle") Two {nickle}s; 10 {bit}s.
Reported among developers for {Mattel}'s {GI 1600} (the
{Intellivision} games processor), a chip with 16 bit wide
{RAM} but 10 bit wide {ROM}.
(23 Nov 1994)
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 rule}s 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 language}s like {Haskell}.
See also {production system}.
(23 Nov 1994)
DECmate
{DEC}'s original competition for the {IBM PC}. It used the
{Intersil 6120} {microprocessor}.
(23 Nov 1994)
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}.
decryption
<cryptography> Any procedure used in {cryptography} to convert
{ciphertext} (encrypted data) into {plaintext}.
(10 May 1995)
DECstation
A range of {RISC} based {workstation}s manufactured by {DEC}.
DECT
{Digital Enhanced Cordless Telecommunications}
DECtape
<hardware, storage> A small reel, about 4 inches in diameter,
of {magnetic tape} about an inch wide. Unlike those for
today's {macrotape}s, 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). In their heyday they 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.
(16 Mar 1995)
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.
(03 Nov 1994)
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.
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
{AFJ}s (suggested uses included "as a power-off indicator").
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.
(10 Aug 1996)
deductive database
<database> A combination of a conventional {database}
containing {fact}s, a {knowledge base} containing {rule}s, 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.
(27 Apr 1995)
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.
(07 Dec 1994)
deep hack mode
See {hack mode}.
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.
de facto standard
A widespread consensus on a particular product or {protocol}
which has not been ratified by any official {standard}s 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.
(27 Oct 1994)
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.
(13 May 1996)
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.
(13 May 1996)
defect density
<programming> The ratio of the number of {defects} to program
length.
(13 May 1996)
defenestration
<humour> (From the traditional Czechoslovakian method of
assassinating prime ministers, via SF fandom) 1. Proper karmic
retribution for an incorrigible punster. "Oh, ghod, that was
*awful*!" "Quick! Defenestrate him!"
2. The act of exiting a window system in order to get better
response time from a full-screen program. This comes from the
dictionary meaning of "defenestrate", which is to throw
something out a window.
3. The act of discarding something under the assumption that
it will improve matters. "I don't have any disk space left."
"Well, why don't you defenestrate that 100 megs worth of old
core dumps?"
(13 May 1996)
Defense Advanced Research Project Agency
{Advanced Research Projects Agency}
Defense Advanced Research Projects Agency
{Advanced Research Projects Agency}
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}.
(01 Dec 1994)
Defense Data Network Network Information Center
(DDN NIC or just "The NIC") The {DDN} {NIC}'s primary
responsibility is the assignment of {Internet address}es and
{Autonomous System number}s, the administration of the root
domain, and providing information and support services to the
{DDN}. It is also a primary repository for {RFC}s.
See also {Internet Registry}.
(07 Dec 1994)
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/)}
(01 Dec 1994)
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}.
(19 Jun 1995)
deferral
Waiting for quiet on the {Ethernet}.
definite clause
See {Horn clause}.
definite sentence
A collection of {definite clause}s.
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 {constraint}s and constraint abstractions
are reused to define new constraints, as the means of
programming logical variables for parallel coordination.
{Goffin} is a DCP language.
(28 Mar 1995)
deforestation
A technique invented by {Phil Wadler} for eliminating
intermediate data structures built and passed between composed
functions in {function language}s.
degree
The degree (or valency) of a node in a graph is the number of
edges joined to it.
degrees of freedom
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.
DEK
{Data Encryption Key}
delayed control-transfer
A technique used on the {SPARC} which attempts to reduce the
effect of {pipeline break}s 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).
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.
delay instruction
The instruction in a {delay slot} in a program for a processor
which uses {delayed control-transfer}.
delay slot
The instruction location following a control-transfer
instruction for a processor which uses {delayed
control-transfer}.
delete
1. <operating system> 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.
(01 Dec 1996)
delint
/dee-lint/ To modify code to remove problems detected when
{lint}ing. Confusingly, this process is also referred to as
"linting" code.
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.
(29 May 1996)
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)}.
(29 May 1996)
Delphi
1. <company, communications> A US {Internet service provider}.
[Addresses?]
(06 Apr 1995)
2. <language> {Borland}'s {Object Orientated 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.
(27 May 1996)
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.
(29 May 1996)
Delta
1. An expression-based language by J.C. Cleaveland, 1978.
2. A string-processing language with single-character
commands. Tandem.
3. 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.
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".
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 goal}s 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
(20 Feb 1997)
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}.
(16 Feb 1995)
demand paged
{demand paging}
demand paging
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}.
(16 Feb 1995)
DeMarco
Tom DeMarco proposed a form of {structured analysis}.
(16 Feb 1995)
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.
(07 Dec 1994)
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].
(07 Dec 1994)
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}.
(27 Oct 1994)
De-Militarised Zone
(DMZ) (From the military term for an area between two
opponents where fighting is prevented) DMZ {Ethernet}s connect
networks and computers controlled by different bodies. They
may be external or internal. External DMZ Ethernets link
regional networks with {router}s to internal networks.
Internal DMZ Ethernets link local nodes with routers to the
regional networks.
(23 Feb 1995)
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.
(04 Nov 1994)
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 {app}s 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}).
(22 Feb 1995)
demon
1. (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 rule}s 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.
(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).
2. {Demon Internet} Ltd.
3. A program generator for differential equation problems.
[N.W. Bennett, Australian AEC Research Establishment,
AAEC/E142, Aug 1965].
(22 Feb 1995)
Demon Internet Ltd.
A company which provides public {Internet} access in the UK.
The staff of Demon Systems Ltd., an established software
house, started Demon Internet on 1st June 1992 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.
The service runs on {Sun} and {Apricot} {Unix} machines
centred around the Network Operation Centre in Finchley, North
London. Connected via {Ethernet}, as well as various
{router}s, is the news server (news.demon.co.uk) which is a
{SPARC IPX} (dis.demon.co.uk). A Sun {SPARC 10},
post.demon.co.uk handles {electronic mail} and
nether.demon.co.uk, a {SPARC}, handles routing.
ftp.demon.co.uk, another {Sun} is the {FTP} server.
A 256 Kbps line to {Sprintlink} network {hub} in the United
States makes Demon a totally independent Internet service
provider. They peer with {EUNet} and {PIPEX} to ensure good
connectivity in Great Britain as well as having on order a 384
Kbps line 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 have over 100 {dial-up} lines operating in racks of
{U.S. Robotics} {V.32bis} {modem}s on all digital exchanges.
In addition they have a number of dedicated phone lines for
their network customers, private staff numbers etc. There are
{PoP}s in Warrington, Edinburgh and many other places,
bringing 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 {PoP}s are being added continuously.
Subscribers get allocated an {Internet Address} and you can
choose your own {hostname} within the demon.co.uk {domain},
e.g. hostname yourmc.demon.co.uk. You can have any number of
mail address at that host. You need software on your machine
which can use {Internet Protocol} - either {Serial Line
Internet Protocol} or {Point-to-Point Protocol}. Demon have
free software for all types of computer.
Demon hosts:
post.demon.co.uk 158.152.1.72 e-mail
dis.demon.co.uk 158.152.1.69 FTP
(a.k.a. ftp.demon.co.uk)
newnews.demon.co.uk 158.152.254.254 news
(a.k.a. news.demon.co.uk)
nether.demon.co.uk 158.152.1.71 router
disme.demon.co.uk 158.152.1.70 accounts
dismayl.demon.co.uk 158.152.1.76 IRC etc.
ns.demon.co.uk 158.152.1.193 a parallel port!
gate.demon.co.uk 158.152.1.65 London
styx.demon.co.uk 158.152.1.73 Central London
hel.demon.co.uk 158.152.5.65 Warrington
clootie.demon.co.uk 158.152.6.65 Edinburgh
ragnarok.demon.co.uk 158.152.12.194 Reading
thokk.demon.co.uk 158.152.7.194 Sunderland
tyr.demon.co.uk 158.152.14.194 Yorkshire
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 {PoP}s will be phased out and
replaced with others during 1995.
E-mail: <internet@demon.net>.
{(ftp://ftp.demon.co.uk/)}
{(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.
(08 Nov 1994)
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).
(14 Dec 1995)
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}.
(04 Nov 1994)
Denis Howe
<person> Denis B. Howe. Editor of the {Free On-line
Dictionary of Computing}.
{Curriculum vitae (http://wombat.doc.ic.ac.uk/denis-cv.html)}
E-mail: Denis Howe <dbh@doc.ic.ac.uk>.
Telephone: +44 (171) 606 7080 x8161.
(13 Dec 1995)
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}.
(21 Aug 1996)
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].
(13 Oct 1996)
Department of Defense
<body> (DoD) The US military body responsible for sponsoring
many software engineering standards.
(29 May 1996)
Department of Defense Network
<networking> (DDN) A military subset of the {Internet}, which
includes {ARPAnet}.
(07 Dec 1994)
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.
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}.
(19 Apr 1995)
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}.
(19 Apr 1995)
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}.
(19 Apr 1995)
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.
derived type
<programming> A type constructed from {primitive type}s or
other derived types using a {type constructor function}. This
term is usually applied to {procedural language}s such as {C}
or {Ada}. C's derived types are the {array}, function,
pointer, {struct}ure and {union}.
(16 Feb 1995)
DES
{Data Encryption Standard}
descent function
If a {recursive} function is of the form
f x = ... f (d x) ...
then d is known as the descent function.
Descriptive Top-Level Specification
(DTLS) A language used in {POSIX} and {TRUSIX}.
(11 Nov 1994)
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].
(08 Dec 1996)
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.
(08 Dec 1996)
Design System language
J. Gaffney, Evans & Sutherland 1976. Interpretive FORTH-like
language for 3-D 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}.
(13 May 1996)
desktop database
<file system> See {Macintosh file system}.
(04 Mar 1996)
desktop manager
A {user interface} to system services, usually {icon} and
{menu} based like the {Macintosh} {Finder}, enabling the user
to run {application program}s and use a {file system}
without directly using the command language of the {operating
system}.
(07 Dec 1994)
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?]
(05 Jan 1995)
DESQview
A system from {Quarterdeck Office Systems} implementing
{multitasking} under {MS-DOS}.
destructor
A function provided by a {class} in {C++} to delete an object.
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].
(07 Dec 1994)
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.
(22 Sep 1995)
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}).
(03 May 1996)
DETOL
<language> {Directly Executable Test Oriented
Language}.
(29 Sep 1995)
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.
(13 May 1996)
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?]
(20 Aug 1996)
Device Control 1
{Control-Q}
Device Control 2
<character> (DC2) The {mnemonic} for {ASCII} character 18, one
of the four {Device Control} characters.
(28 Jun 1996)
Device Control 3
{Control-S}
Device Control 4
<character> (DC4) The {mnemonic} for {ASCII} character 20, one
of the four {Device Control} characters.
(28 Jun 1996)
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
{register}s 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.
(27 Oct 1994)
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.
(20 Sep 1996)
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}).
(03 Dec 1996)
/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}.
devo
/dee'voh/ (In-house jargon at {Symbolics}) A person in a
development group. See also {doco} and {mango}.
(04 Nov 1994)
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
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://netlib.att.com:/netlib/benchmark/)} (files
dhry-ada.Z, dhry-c.Z and dhry-pascal.Z).
{Results
(http://performance.netlib.org/performance/html/dhrystone.data.col0.html)}
and {(ftp://ftp.nosc.mil/pub/aburto/dhry.tbl)}.
(14 Nov 1994)
DHSD
{Duplex High Speed Data}
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 {modem}s.
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.
A {de facto standard} intermediate language for {Ada}
programs, developed by Goos and Wulf at CMU in Jan 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}.
["DIANA - An Intermediate Language for Ada", G.T. Goos et al,
LNCS 161, Springer 1983].
(11 Nov 1994)
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}".
(28 Mar 1995)
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.
(29 Mar 1995)
Dictionary APL
Nickname for {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}.
Dictionary of Computing
See {Free On-line Dictionary of Computing}.
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}.
(31 Jan 1995)
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}.
(28 May 1996)
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".
(28 May 1996)
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}.
(10 Feb 1995)
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.
(10 Feb 1995)
differential
<hardware> {differential line}.
differential driver
<hardware> An electronic device (commonly an {integrated
circuit}), containing two amplifiers, used to drive a
{differential line}.
(14 Mar 1995)
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 reciever 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 converter}s and the subtraction performed
digitally.
The {RS-422} {serial line} {standard} specifies differential
drivers and recievers, whereas the earlier {RS-232} standard
does not.
Oppose {single ended}.
(08 Mar 1995)
digerati
<jargon> (Or "digirati". By analogy with "literati" - people
knowledgeable about literature) People knowledgeable about
computers, "computer literate".
[Newsweek, March 1995?].
(07 May 1995)
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 reader}s 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)}
(10 Apr 1995)
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}.
Digital
<company> Common abbreviation for {Digital Equipment
Corporation}.
(18 Dec 1995)
Digital Audio Tape
<storage> (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 disc}s, 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.
(09 Feb 1995)
digital carrier
<hardware, communications> A medium which can carry {digital}
signals; broadly equivalent to the {physical layer} of the
{ISO 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.
(31 Mar 1996)
Digital Data Service
<communications> (DDS) The class of service offered by
telecommunications companies for transmitting digital data as
opposed to voice.
(28 Feb 1995)
Digital Equipment Computer Users Society
(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.
(08 Feb 1995)
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 {microcomputer}s 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 system}s 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).
{(http://www.dec.com/info.html)}
(07 Dec 1994)
Digital Equipment Corporation Network
(DECNET) Ethernet software used on DEC machines, e.g. Vax.
Digital Express Group, Inc.
(Digex) The largest {Internet provider} in the Washington
metropolitan area with {POP}s in Maryland, Virginia, New
Jersey, New York and California.
{(http://www.digex.net)}
(25 Oct 1994)
Digital Lempel Ziv 1
(DLZ1) The {compression} {algorithm} used on {Digital Linear
Tape}.
[Details?]
(22 Feb 1995)
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)}
(23 Feb 1995)
Digital Linear Tape
(DLT) A {magnetic tape} drive format developed by {DEC}, based
on the {Digital Lempel Ziv 1} (DLZ1) {compression}
{algorithm}. DLT drives are capable of 2.5 megabytes per
second transfer rates with compression, and 1.25M bytes/s
uncompressed. DEC's tests have achieved about 1 gigabyte in
12 minutes. One of the available drives has a 10GB raw/20GB
compressed capacity on a single cartridge.
The {Lempel-Ziv compression} type used 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.
(22 Feb 1995)
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.
(12 Feb 1997)
Digital Research
<company> The company which developed {CP/M}, the {operating
system} used on many of the first generation 8 bit
{microprocessor}-based {personal computer}s.
Address: Santa Cruz, CA, USA.
[Did they do DR-DOS?]
(01 Feb 1995)
digital 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 {modem}s 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.
(30 Jan 1995)
Digital Signal Processing
(DSP) Computer manipulation of analog signals (commonly sound
or {image}) which have been converted to digital form
(sampled).
(07 Dec 1994)
digital signature
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.
(07 Feb 1995)
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.
(16 Nov 1995)
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].
(13 Oct 1996)
Digital Simultaneous Voice and Data
<communications> (DSVD) A technique for multiplexing
compressed speech with digital data for transmission over a
normal telephone line.
[How does it work? References?]
(01 Dec 1996)
DIGITAL Standard MUMPS
(DSM) {DEC}'s version of {MUMPS}.
(10 Jan 1995)
Digital Subscriber Line
<communications, protocol> (DSL, or "Digital Subscriber Loop",
HDSL, High-Speed DSL) A {digital} {telecommunications}
{protocol} for use over existing {copper} telephone lines, as
opposed to {fibre optics}.
See also {ADSL}.
["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].
(13 Oct 1996)
Digital Subscriber Loop
{Digital Subscriber Line}
Digital Versatile Disc
{Digital Video Disc}
Digital Video Disc
<storage> (DVD) An optical storage medium with improved
capacity and bandwidth over the {Compact Disc}. DVD, like CD,
is initally marketed for entertainment. It will be available
for computer users in late 1996.
As an entertainment product DVD will be used for full length
movies with up to 133 minutes of high quality video ({MPEG-2}
format) and audio.
The first DVD drives for computers will be read-only drives
("DVD-ROM"). These will provide over 7 times the storage
capacity of CD-ROM (4.7GBytes). DVD-ROM drives will read
existing CD-ROMs and music CDs and will be compatible with
installed sound and video boards. Additionally, the DVD-ROM
drive will read DVD movie titles using an advanced (MPEG-2)
video board, required to decode the high resolution video
format.
DVD-ROM drives will ultimately be available from many
manufacturers. The first drives, using a single-layer disc of
4.7GB, will be available during the second half of 1996 from
several manufacturers including {Toshiba}, {Philips}, {Sony}
and {Hitachi}. In 1997, dual-layer discs are expected to
increase the disc capacity to 8.5GB. Double-sided, dual-layer
discs will eventually increase the capacity to 17GB.
Write-once DVD-R ("recordable") drives will record a 3.9GB
DVD-R disc that can be read on a DVD-ROM drive. The first
DVD-R drive is expected by mid 1997.
By the end of 1997, the rewritable DVD-RAM (by false analogy
with {random access memory}) drive will become available.
DVD-RAM drives will read and write to a 2.6GB DVD-RAM disc,
read and write-once to a 3.9GB DVD-R disc, and read a
4.7GB/8.5GB DVD-ROM disc. Also, it is expected that a DVD-RAM
disc will 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)}.
(17 Nov 1996)
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].
(07 Dec 1994)
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.
DIL
{Dual In-Line Package}
Dilbert
<recreation> 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.
{Home (http://www.unitedmedia.com/comics/dilbert/)}.
{Latest cartoons
(http://www.unitedmedia.com/comics/dilbert/archive/)}.
(11 Oct 1996)
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].
(07 Jan 1996)
DIMM
<storage> {Dual In-Line Memory Module}.
(07 Jan 1996)
DIN
Deutsche Institut fuer Normung. The German standardisation
body, a member of {ISO}.
DIN-8
<hardware> An 8-pin round connector, sometimes used for
{RS-232} serial communication when space is restricted, such
as on {laptops}.
(08 Dec 1996)
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."
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}.
(31 Oct 1994)
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].
(31 Oct 1994)
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 {minicomputer}s and {mainframe}s, 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}.
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}.
(17 Nov 1995)
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" (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 1984 - this was when the phrase "dinosaurs mating" was
coined); and in 1991 {AT&T} absorbed NCR, only to spit it out
again in 1996. Unisys later bought {Convergent Technologies}
(among others).
More such earth-shaking unions of doomed giants seem
inevitable.
[More dates?]
(18 Feb 1996)
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}.
(14 Mar 1995)
DIP
1. {Dual In-line Package}.
2. {Document Image Processing}.
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.
(01 Mar 1995)
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).
(12 Apr 1995)
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.
(07 Dec 1994)
directed graph
(digraph) A graph with one-way edges.
See also {directed acyclic graph}.
(11 Nov 1994)
directed set
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}.
(11 Nov 1994)
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).
(23 Dec 1995)
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].
(29 Sep 1995)
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
master}ing.
(23 Aug 1996)
directory
<file system> A node in a {hierarchical file system}.
(21 Nov 1996)
Directory Access Protocol
X.500 protocol used for communication between a Directory User
Agent and a Directory System Agent.
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.
(07 Dec 1994)
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.
(07 Dec 1994)
DirectX
<programming, hardware> A new {Microsoft} programming
interface {standard} for {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. The current
version (1996) is DirectX 3.
{(http://www.nfinity.com/~swhalen/directx.html)}.
(27 Dec 1996)
Dirt
Design In Real Time.
A user interface builder for the {X Window System} by
R. Hesketh.
(07 Dec 1994)
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
(07 Dec 1994)
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 hit}s).
DISA
{Defense Information Systems Agency}
disc
<storage, spelling> British spelling of "{disk}", normally
only used for "{compact disc}".
(30 Jul 1995)
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.
(30 Jul 1995)
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.
{Joke religions
(http://www.goucher.edu/~jlasser/hairboys/religion.html)}.
See {Religion}, {Church of the SubGenius}, and {ha ha only
serious}.
(12 Apr 1995)
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}.
(10 Mar 1997)
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}.
(10 Mar 1997)
discrete preorder
<mathematics> A {preorder} is said to be discrete if any two
of its elements are {incomparable}.
(21 Sep 1995)
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.
(25 Apr 1995)
Disiple
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)].
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
{conjunction}s where no conjunction contains a disjunction.
E.g. the DNF of (A or B) and C is (A and C) or (B and C).
(07 Dec 1994)
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, are correctly spelled with a
"c", indeed, this spelling is part of the CD standard.
(30 Jul 1995)
disk drive
<hardware> A {peripheral} device that reads and writes {floppy
disk}s or {hard disk}s. 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.
The disks may be removable; floppy disks always are, removable
hard disks were common on {mainframe}s and {minicomputer}s but
less so on {microcomputer}s.
A {CD-ROM} drive is not usually referred to as a disk drive.
See also {Integrated Drive Electronics}.
(14 Mar 1995)
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.
(22 Feb 1996)
diskette
{floppy disk}
disk farm
<jargon> (Or "{laundromat}") A large room or rooms filled with
disk drives (especially {washing machine}s).
(27 Mar 1995)
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} memory. 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}.
(28 Mar 1995)
disk mirroring
<hardware, storage> Use of one or more {mirrors} of a {hard
disk}.
(17 Feb 1996)
Disk Operating System
<operating system> (DOS) The name of a number of {operating
system}s 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). Ideally, it
will present a uniform interface to different kinds of storage
device such as {floppy disk}s, {hard disk}s 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).
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].
(10 May 1995)
display
1. <hardware> {monitor}.
2. <language> A vector of pointers to {activation record}s.
The Nth element points to the activation record containing
variables declared at {lexical depth} N. This allows faster
access to variables from outer {scope}s 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.
(22 Feb 1996)
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}.
(10 May 1995)
Display PostScript
An extended form of {PostScript} permitting its interactive
use with {bitmap display}s.
display standard
<hardware> {IBM} and others have introduced a bewildering
plethora of graphics and text display {standard}s for {IBM
PC}s. 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 has {CGA} and {MDA}
capability.
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. The 8514 will be built
into future models of the PS/2 line, as well.
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 driver}s 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 Sponsor Systems
MDA 720x350 T 2 IBM PC
CGA 320x200 4 IBM PC
EGA 640x350 16 IBM PC
PGA 640x480 256 IBM PC
Hercules 729x348 2 non-IBM PC
MCGA 720x400 T
320x200 G 256 PS/2
VGA 720x400 T
640x480 G 16
SVGA 800x600 16 VESA
8514 1024x768 256
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}.
(10 May 1995)
display standards
{display standard}
display terminal
{video display terminal}
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}.
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.
(21 Jan 1997)
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)}
(07 Dec 1994)
distributed database
A collection of several different {database}s that looks like
a single {database} to the user. An example is the {Internet}
{Domain Name System} (DNS).
(07 Dec 1994)
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].
(07 Dec 1994)
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 {object}s. {Multi-threaded}
objects have autonomous activity and may simultaneously
evaluate {method} calls.
["DLP: A Language for Distributed Logic Programming",
A. Eliens, Wiley 1992].
(07 Jan 1996)
Distributed Management Environment
(DME) An {OSF} {standard}. It had reached the {RFT} stage.
(22 Feb 1995)
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.
Oppose {shared memory}.
(22 Mar 1995)
Distributed Network Operating System
<operating system> (DNOS) A proprietary {operating system} for
{Texas Instruments} {990}-series {minicomputers}.
(01 Apr 1996)
Distributed Operating Multi Access Interactive Network
(DOMAIN) The proprietary network {protocol} used by {Apollo}
{workstation}s.
(16 Feb 1995)
Distributed Processes
(DP) The first {concurrent} language based on {remote
procedure call}s.
["Distributed Processes: A Concurrent Programming Concept",
Per Brinch Hansen CACM 21(11):934-940 (Nov 1978)].
(02 Dec 1994)
Distributed Queue Dual Bus
<networking, standard> (DQDB) An {IEEE} {standard} for
{metropolitan area network}s.
[Details?]
(28 Mar 1995)
Distributed Smalltalk
["The Design and Implementation of DIstributed Smalltalk",
J. Bennett, SIGPLAN Notices 22(12):318-330 (Dec 1980)].
(02 Dec 1994)
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)}
(06 Dec 1994)
distributed systems
{distributed system}
distribution
1. A software source tree packaged for distribution; but see
{kit}.
2. A vague term encompassing {mailing list}s and {Usenet}
{newsgroup}s (but not {BBS} {fora}); any topic-oriented
message channel with multiple recipients.
3. An information-space domain (usually loosely correlated
with geography) to which propagation of a {Usenet} message is
restricted; a much-underused feature.
distributive lattice
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 glb c) lub (a glb b)
and vice versa.
("lub" and "glb" are written in {LateX} as {\sqcup} and
{\sqcap}).
(03 Feb 1995)
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.
(08 Dec 1994)
dithering
A technique used in {computer graphics} to create additional
colors and shades from an existing {palette} by interspersing
{pixel}s of different colours. On a {monochrome} display,
areas of gray 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.
(02 Nov 1994)
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.
(08 Dec 1994)
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.
(07 Mar 1997)
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.
(10 Apr 1995)
DK
{Datakit}
DL/1
Query language, linear keyword.
DLC
{Data Link Control}
DLCI
{Data Link Control Identifier}
[Is this correct?]
(01 Mar 1997)
DLE
<character> Data Link Escape, the {mnemonic} for {ASCII} 16.
(24 Jun 1996)
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. {Datalink Layer}.
2. {Dynamically linked library}.
3. Dial Long Line equipment.
DLM
Distributed Lock Manager on distributed VMS systems.
DLP
<language> {Distributed Logic Programming}.
(07 Jan 1996)
DLPI
{Data Link Provider Interface}
DLT
{Digital Linear Tape}
DLZ1
{Digital Lempel Ziv 1}
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)]
(02 Nov 1994)
dmake
Required by {uC++}.
{(ftp://plg.uwaterloo.ca/pub/dmake/dmake38.tar.Z)}
[What is it?]
(02 Nov 1994)
DMALGOL
{ALGOL} with extensions to interface to {DMS II}, the
{Burroughs} {database}.
(22 Feb 1995)
DME
{Distributed Management Environment}
DML
1. Data Management Language. Early ALGOL-like language with
lists, graphics, on Honeywell 635. "DML: A Data Management
Language", D.W. Bray et al, GE, Syracuse NY.
2. "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.
DMM
{Digital Multimeter}
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].
(11 Feb 1997)
DNF
{disjunctive normal form}
DNIS
{Dialled Number Identification Service}
DNOS
{Distributed Network Operating System}
DNS
1. {Domain Name System}.
2. Distributed Name Service. See {DECdns}.
DOA
<jargon> Dead on arrival. A piece of {hardware} has never worked.
(28 Nov 1996)
Doc
Directed 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).
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).
doco
<jargon> /do'koh/ (In-house jargon at Symbolics) A
documentation writer.
See also {devo} and {mango}.
(16 Apr 1995)
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}.
Document Examiner
<hypertext, tool> A high-performance {hypertext} system by
{Symbolics} that provides on-line access to their user
documentation.
(16 Apr 1995)
Document Image Processing
(DIP) Storage, management and retrieval of {image}s.
(11 Nov 1994)
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}, consisting of a set of {mark-up} tags and their
interpretation.
{HTML DTD (http://www.w3.org/pub/WWW/MarkUp/Cougar/HTML.dtd)}.
(08 Dec 1994)
DOCUS
Display Oriented Computer Usage System. Interactive system
using push buttons. Sammet 1969, p.678
DoD
{Department of Defense}
DoD-1
Unofficial name of the language that became Ada.
dodgy
Synonym with {flaky}. Preferred outside the US
DOD-STD-2167A
<standard> A {DoD} {standard} specifying the overall process
for the development and documentation of mission-critical
software systems.
(28 May 1996)
DoD-STD-2168
<standard> A {DoD} {standard} for software quality assurance
procedures.
(29 May 1996)
DOE
Distributed Object Environment: a distributed object-oriented
application framework from SunSoft.
DOF
{degrees of freedom}
dogcow
/dog'kow/ See {Moof}.
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.
(08 Dec 1994)
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}.
(08 Dec 1994)
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.
(06 Mar 1995)
domain
1. <mathematics> In the theory of functions, the set of
argument values for which a {function} is defined.
See {domain theory}.
2. <networking> On the {Internet}, "domain" is most commonly
used to refer to a group of computers whose {hostname}s share
a common suffix, the domain name. Some important domains are:
.com (commercial), .edu (educational, mostly US), .net
(network operations), .gov (US government), and .mil (US
military). Most countries also have a domain. For example,
.us (United States), .uk (United Kingdom), .au (Australia),
.su (ex-Soviet Union (see {kremvax})).
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.
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.
(29 May 1996)
domain address
<networking> The name of a {host} on the {Internet} belonging
to the {hierarchy} of Internet {domain}s.
(27 Oct 1994)
domainist
/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
path}s. This term is now (1993) semi-obsolete, as most sites
have converted.
(21 Apr 1995)
Domain Name Server
(DNS) {RFC} 1034 calls it {Domain Name System}.
[Does anyone call it "Domain Name Server(s)"?].
(21 Apr 1995)
Domain Name System
<networking> (DNS) A general-purpose distributed, replicated,
data query service chiefly used on {Internet} for translating
{hostname}s into {Internet address}es. 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.
DNS is usually installed as a replacement for the hostname
translation offered by {Sun Microsystem}'s {Network
Information System}. Whereas NIS relies on a single {server},
DNS is a {distributed database}. It can be queried
interactively using the command {nslookup}. It is defined in
{STD} 13, {RFC}s 1034 and 1035.
The Domain Name System refers to both the way of naming hosts
and the servers and clients that administer that information
across the Internet.
See also {BIND}.
{Info from Virtual Office, Inc.
(http://virtual.office.com/domains.html)}.
{(ftp://src.doc.ic.ac.uk/rfc/rfc1034.txt.gz)}
(21 Apr 1995)
Domain Software Engineering Environment
<programming> (DSEE) A proprietary {CASE} framework and
{configuration management} system from {Apollo}.
(29 May 1996)
domain 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 {application}s 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}
{CPO}s.
There are domain-theoretic computational models in other
branches of mathematics including {dynamical system}s,
{fractal}s, {measure theory}, {integration theory},
{probability theory} and {stochastic process}es.
See also {abstract interpretation}, {bottom}, {pointed
domain}.
DOMF
Distributed Object Management Facility.
An {OMG}-compliant object management system; part of {DOE}.
Produced by {SunSoft}.
(04 Nov 1994)
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}.
(04 Nov 1994)
dongle
/dong'gl/ 1. A security or {copy protection} device for
commercial microcomputer programs consisting of a serialised
EPROM and some drivers in a D-25 connector shell, which 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 startup
and at programmed intervals thereafter, and terminate if it
does not respond with the dongle's programmed validation code.
Thus, users can make as many copies of the program as they
want but must pay for each dongle. The idea was clever, but
it was initially a failure, as users disliked tying up a
serial port this way. Almost all dongles on the market today
(1993) will pass data through the port and monitor for {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. The devices are still not widely
used, as the industry has moved away from copy-protection
schemes in general. 2. By extension, any physical electronic
key or transferable ID required for a program to function.
Common variations on this theme have used parallel or even
joystick ports. See {dongle-disk}.
[Note: in early 1992, advertising copy from Rainbow
Technologies (a manufacturer of dongles) included a claim that
the word derived from "Don Gall", allegedly the inventor of
the device. The company's receptionist will cheerfully tell
you that the story is a myth invented for the ad copy.
Nevertheless, I expect it to haunt my life as a lexicographer
for at least the next ten years. - ESR]
dongle-disk
/don'gl disk/ 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.) Also called a "key
disk". See {dongle}.
Don't do that, then!
[An old doctor's office joke about a patient with a trivial
complaint] Stock response to a user complaint. "When I type
control-S, the whole system comes to a halt for thirty
seconds." "Don't do that, then!" (or "So don't do that!").
Compare {RTFM}.
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}.
DOOM
<games> A simulated 3D moster-hunting action game for {IBM
PC}s, 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 3-D (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 <ap641@cleveland.freenet.edu>: {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.
(14 Dec 1994)
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}.
DOS
1. {Disk Operating System}.
2. Common abbreviation for {MS-DOS}.
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 PC}s.
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].
(12 Jan 1995)
dot
<character> {decimal point}.
See also {dot file}, {dot notation}.
(14 Mar 1995)
dot address
An {Internet address} in {dot notation}.
dot file
(Unix) A file that is not visible by default to normal
directory-browsing tools (on {Unix}, files named with a
leading dot are, by convention, not normally presented 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 {creep} - 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.
See also {profile}, {rc file}.
(07 Dec 1994)
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
printer}s.
[Other pin arrangements?]
(14 Mar 1995)
dot notation
{Berkeley Unix} notation for {Internet address}es. An
{Internet address} in dot notation consists of one to four
numbers in hexadecimal (leading 0x), octal (leading 0) or
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 commands will accept
an address in dot notation in place of a hostname.
(07 Dec 1994)
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 {CRT}s use vertical stripes, not dots, and its
measurement is the distance between stripes, not the diagonal
distance between dots.
["The Computer Glossary", Alan Freedman].
(14 Dec 1995)
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}.
(07 Dec 1994)
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}.
(21 Mar 1997)
double DECkers
Used to describe married couples in which both partners work
for {Digital Equipment Corporation}.
(07 Dec 1994)
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}.
(07 Dec 1994)
double quote
<character> '"' {ASCII} character 34. Often used in
programming languages to delimit strings. In {Unix} {shell}s
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.
(28 Mar 1995)
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.
(28 Mar 1995)
DOUGLAS
An early system on the {IBM 701}.
[Listed in CACM 2(5):16 (May 1959)].
(07 Dec 1994)
DOW COMPILER
An early system on the {Datatron 200} series.
[Listed in CACM 2(5):16 (May 1959)].
(07 Dec 1994)
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}; oppose {up}.
(07 Dec 1994)
download
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 {mainframe}) to a smaller "client"
system, especially a {microcomputer} or specialised
peripheral.
Oppose {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.
(07 Dec 1994)
downloading
{download}
downsizing
<jargon> The process of moving an {application program} from a
{mainframe} to a cheaper system, typically a {client-server}
system.
(27 Mar 1995)
downward closed
left closed.
See {closure}.
(07 Dec 1994)
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}.
(22 Jul 1996)
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.
(07 Dec 1994)
DPer
/dee-pee-er/ Data Processor. Hackers are absolutely amazed
that {suit}s use this term self-referentially. *Computers*
process data, not people!
See {DP}.
(07 Dec 1994)
dpi
Dots per inch.
A measure of resolution for printers, scanners and displays.
{Laser printer}s typically reach 300 DPI, though 600 DPI is
becoming more common. Commercial typesetters are usually
around 1200 DPI.
(05 Jan 1995)
DPL
DECmmp Parallel Language.
A {C}-like parallel language for the {DECmpp} machine.
(07 Dec 1994)
DPL-82
["DPL-82: A Language for Distributed Processing", L. Ericson,
Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.526-531].
(07 Dec 1994)
DPLL
{Digital Phase-Locked Loop}
DPMI
{DOS Protected Mode Interface}
DPMS
<hardware> {Display Power Management Signaling}.
(11 Dec 1995)
DPN
{Decomposed Petri Net}
d-Prolog
{Prolog} extended with {defeasible reasoning}.
{(ftp://aisun1.ai.uga.edu/ai.prolog/)} for {MS-DOS} and {Unix}.
(07 Dec 1994)
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)].
[Expansion?]
(28 Mar 1995)
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}.
(04 Nov 1994)
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}.
(13 Dec 1996)
DRAGON
1. An {Esprit} project aimed at providing effective support to
{reuse} in {real-time} distributed {Ada} {application
program}s.
2. An implementation language used by {BTI Computer Systems}.
E-mail: Pat Helland <helland@hal.com>.
(08 Dec 1994)
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 system}s 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".
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}.
(03 Dec 1996)
DRAGOON
A distributed concurrent {object-oriented} {Ada}-based
language from the {Esprit} {DRAGON} project by Colin Atkinson
<atkinson@cl.uh.edu>, Imperial College 1989. (Now at
University of Houston, Clear Lake). Object-oriented
programming for embeddable systems. Presently implemented as
an Ada {preprocessor}. E-mail: <adimaio@vms.eurokom.ie>.
["Object-Oriented Reuse, Concurrency and Distribution: An
Ada-Based Approach", C. Atkinson, A-W 1991, ISBN
0-2015-6-5277].
drain
[IBM] Synonym for {flush}. Has a connotation of finality
about it; one speaks of draining a device before taking it
off-line.
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}.
(23 Feb 1997)
Drawing eXchange Format
(DXF) A file format for graphical information, similar to
{IGES}. Commonly used by {CAD} systems like {AutoCAD}.
(08 Dec 1994)
dread high bit disease
A condition endemic to PRIME (also known as "PR1ME")
minicomputers that results in all the characters having their
high (0x80) bit ON rather than OFF. This of course makes
transporting files to other systems much more difficult, not
to mention talking to true 8 bit devices. Folklore had it
that PRIME adopted the reversed-8 bit 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. See {meta bit}. A few other machines
have exhibited similar brain damage.
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.
drivers
{driver}
droid
<abuse> (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}.
(27 Sep 1995)
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
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."
drop cable
Wiring between a computer and its {Ethernet transceiver}.
Maximum length if full-spec is 47m.
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.
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}.
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.
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 {newbie}s.
See also "{The Story of Mel}".
(22 Dec 1994)
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 pad 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.
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.
(13 May 1996)
DS0
<communications> The zeroth {DS level}, a {framing
specification} for digital signals in the North American
digital transmission hierarchy. A DS0 signal has a
transmission rate of 64 kilobits per second.
(12 Jan 1995)
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 1544000 bits per second ({baud}). DS1 is
a {bipolar}, 50% {duty cycle} signal. A logical zero is
represented by no pulse, a one by a pulse.
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 code} (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].
(30 Mar 1996)
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".
(07 Feb 1995)
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}.
(07 Feb 1995)
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.
(12 Jan 1995)
DSA
{Directory System Agent}
DSE
{Data Structure Editor}
DSEE
{Domain Software Engineering Environment}
DSI
{Delivered Source Instruction}
DSL
1. <communications> {Digital Subscriber Line}.
2. <language> {Digital Simulation Language}.
3. <language> {Denotational Semantics Language}.
(13 Oct 1996)
DS level
<communications> (Data Service level) A generic measure of
data service rates that can be used to classify the user
access rates for various point-to-point {WAN} technologies or
standards (e.g. {X.25}, {SMDS}, {ISDN}, {ATM}, {PDH}). They
tend to mark off the low and high ends of access rates for
these technologies.
DS0 64 Kbps
DS1 1.544 Mbps
DS1C 3.15 Mbps
DS2 6.31 Mbps
DS3 44.736 Mbps
(where K and M signify multiplication by 1000 and 1000000,
rather than powers of two).
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 entirely different. 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,000 bps.
See {DS0}, {DS1}, {DS1C}, {DS2}, {DS3}.
(08 Feb 1995)
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}.
(10 Jan 1995)
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.
A {C}-derived {DSP} language.
["The Programming Language DSPL", A. Schwarte & H. Hanselmann,
Proc PCIM 90, 1990].
(01 Dec 1994)
DSS
1. {Decision Support Systems}.
2. {Digital Signature Standard}.
(16 Nov 1995)
DSSSL
{Document Style Semantics and Specification Language}
DSU
1. <communications> {Digital Service Unit}.
2. {Disk Subsystem Unit} ({Artecon}).
3. <humour> {Dwarf Storage Unit}.
(01 Dec 1996)
DSVD
{Digital Simultaneous Voice and Data}
DTALGOL
Decision Table ALGOL.
An {ALGOL} superset from {Victoria University}, Wellington
that added {decision table}s and runs on {Burroughs Large
System}.
(02 Feb 1995)
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}
DTS
{Distributed Time Service}
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 {RS-232}.
(05 Jan 1995)
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}.
(28 Mar 1995)
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.
(16 Mar 1997)
DUAL-607
An early system on the {IBM 701}.
[CACM 2(5):16 (May 1959)].
(13 Dec 1994)
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 {router}s and {concentrator}s 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.
(13 Dec 1994)
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.
(13 Dec 1994)
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 {notebooks}.
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.
(28 Jan 1996)
Dual In-Line Package
<hardware> (DIL, DIP) The most common type of package for
small and medium scale {integrated circuit}s, 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?]
(06 Feb 1995)
dual ported
A term used to describe memory {integrated circuit}s 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}.
(12 Jan 1995)
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.
(28 Mar 1995)
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/)}
(20 Mar 1993)
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]
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}.
(14 Apr 1995)
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?]
(14 Apr 1995)
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
hex 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).
(01 Dec 1994)
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}.
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}.
(02 Feb 1995)
duplex
<communications> A half-duplex communication channel can, at
any given time, carry data in either one direction or the
other, but not both. A full-duplex channel can carry data in
both directions at once. A {simplex} channel can only ever
carry data in one direction.
Early use of the term "duplex" arose in wireless, telegraph,
and telephone communications, where "duplex" circuits between
communicating terminals were capable of transmission in both
directions, and "simplex" indicated transmission from a sender
to a reciever, or broadcast to several potential receivers.
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, print all input characters as they are
typed. In contrast, the {video terminal}s that have replaced
them require that, as well as the character be transmitted to
the receiver, it should also be displayed on the screen
("{echo}ed"). The echo can be effected locally, but this can
confuse the operator because characters continue to appear on
the screen, even when the communication circuit has failed.
Additionally, if the echo of the character was effected by the
remote (receiving) process, the operator could see and correct
not only typing errors, but also transmission errors. This
crude but effective mechanism was called, somewhat
misleadingly, "full duplex", and the echoing of characters by
the sending process was called half duplex. The terms "remote
echo" and "local echo" are now more common. Nearly all
communications circuits used by computers are two-way, so the
distinction between simplex and duplex is seldom made.
(12 Apr 1995)
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}).
(02 Feb 1995)
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 killer}s
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}.
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}.
DV cartridge
<games> (Digital Video?) A plug-in circuit cartridge required
by some games consoles in order to play {MPEG} video material.
(02 Nov 1994)
DVD
{Digital Video Disc}
DVD-R
{Digital Video Disc}
DVD-ROM
{Digital Video 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.
(17 Nov 1996)
Dvorak
<hardware> A configuration of (computer) keyboard keys
arranged to increase the speed and ease of typing over the
normal {qwerty} layout. The home row of keys are for the
characters A, O, E, U, I, D, H, T, N and S.
(17 Nov 1996)
Dwarf Storage Unit
<humour> (DSU) An {IBM} term for a cupboard.
(24 Jun 1996)
dweeb
An even lower form of life than the {spod}, found in much the
same habitat as the former. though more prevailent on {talker
system}s. 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
<file name extension> The file name extension for {drawing}
files.
[From which program(s)?]
(26 Jan 1997)
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}.
DX4
See {Intel DX4}.
DXF
{Drawing Exchange Format}
DYANA
DYnamics ANAlyzer. Early specialised language for vibrational
and other dynamic systems. [Sammet 1969, p.628].
Dylan
<language> DYnamic LANguage.
A simple {object-oriented} {Lisp} dialect, most closely
resembling {CLOS} and {Scheme}, developed by Advanced
Technology Group East at {Apple Computer}.
See also {Marlais}.
{Compiler implemented in Scheme
(ftp://crl.dec.com/pub/DEC/Thomas)}.
E-mail: <dylan-manual-request@cambridge.apple.com>.
Mailing list: <info-thomas@crl.dec.com>.
["Dylan, an Object-Oriented Dynamic Language", Apple 1992].
(19 Apr 1995)
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}, 11 Aug 1993, article
<CBM3Bo.Lpw@fi.gs.com>.
(11 Aug 1993)
dynamic adaptive routing
Automatic re{routing} of traffic based on analysis of current
{network} conditions. This does not include routing decisions
based on predefined information.
(30 Jan 1995)
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}.
(30 Jan 1995)
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}, {Microsoft Windows} and {RISC OS} on the {Acorn}
{Archimedes}.
(12 Dec 1995)
dynamic analysis
<programming> Evaluation of a program based on its execution.
Dynamic analysis relies on executing a piece of software with
selected test data.
(13 May 1996)
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
function}s".
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 Data Exchange
(DDE) A {Microsoft Windows} 3 {hotlink} {protocol} that allows
{application program}s 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.
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.
(05 May 1995)
Dynamic Host Configuration Protocol
(DHCP) A {protocol} introduced by {Microsoft} on their {NT
server} with version 3.5 in late 1994. This protocol provides
a means to dynamically allocate {IP address}es to {IBM PC}s
running on a {Microsoft Windows} {local area network}. The
system administrator assigns a range of IP addresses to DHCP
and each client PC 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. More information can be found in
the Microsoft documentation on NT Server.
Compare {Reverse Address Resolution Protocol}.
(12 Jan 1995)
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.
(07 Mar 1995)
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 miniaturization,
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 is 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, without
supplying a column address for the bits following the first.
This mode is now unfashionable but can be found on older chips
(64 kilobit and 256 kilobit).
{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.
VRAM (Video RAM) is DRAM with 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.
(11 Jul 1996)
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}.
(11 Jul 1996)
dynamic scoping
{dynamic scope}
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)}
(28 Apr 1995)
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 interface}s. 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)}
(28 Apr 1995)
dynner
/din'r/ 32 bits, by analogy with {nybble} and {byte}. Usage:
rare and extremely silly. See also {playte}, {tayste},
{crumb}.
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.
(17 Mar 1995)