- DND
- The Drag aNd Drop protocol is a C interface to
Xt-based programs available together with
OffiX, a collection of useful utilities.
[http://leb.net/~offix/dnd.html]
- DNS
- The Domain Name System is a distributed database
that holds the alphanumeric names and IP addresses of every registered
system on the Internet.
The databases are maintained by systems running name servers, usually
the BIND package.
The DNS allows the translation of names to IP addresses in a process
called name resolution.
The databases are distributed with, for example, a local server
holding the mappings of names to addresses for a group of local
hosts.
In addition to these domain-specific servers there are mid-level
servers that maintain data from several domains. At the top are
root name servers containing the data for all of the top level
domains, e.g. com, org, net, us, uk, gd, etc.
The root name servers enable every host on the Internet to
hierarchically access the complete DNS database.
See Albitz and Liu (1996).
Available DNS server software includes:
- BIND, the Berkeley Internet Name Domain; and
- LB, a load balancing name server written
in Perl.
Available DNS management tools include:
- dlint, a DNS verification utility;
- DNStool, an auto-configuration system;
- dnsutl, a package of utilities for
DNS configuration;
- dnswalk, a DNS database debugger;
- doc, a tool for diagnosing unhealthy DNS domains;
- domtools, a set of high-level name
server query tools;
- GASH, a large-scale systems administration
system which, among other things, automates NIS and DNS administration;
- hiermap, a set of utilities that take
raw hierarchical data and create a PostScript map showing the
relationships, e.g. a domain name hierarchy;
- host, a nameserver query utility intended
to update nslookup and dig;
- WEBDNS, a Web utility for editing
DNS master files;
- DNStool
- A DNS auto-configuration system designed to
ease the management of DNS. DNStool accomplishes this by automatically
generating DNS files from a small number of configuration files,
thus eliminating the almost inevitable mistakes caused by hand-editing
the complex and tedious format of the DNS files.
It reduces the task of maintenance to maintaining a database describing
its hosts for each domain, maintaining a description of the common
features across domains, and running the configuration programs to
generate and install the files.
A source code distribution of DNStool is available. It is written
in Perl and requires version 5 of that language.
It is documented in a user's manual included in the distribution.
[ftp://ftp.uniq.com.au/pub/tools/dnstool/guide.html]
- dnsutil
- A package of utilities to make DNS configuration easier.
The utilities include:
- dns-rev, which takes a forward DNS mapping and generates
the reverse mapping;
- dns-hosts, which takes the forward DNS mapping and
generates the /etc/hosts file;
- dns-ng, which takes the forward DNS mapping and generates
the /etc/netgroup file;
- dns-bootp, which generates bootp tables from DNS tables;
- dns-bootprms, which generates /etc/bootparams entries from
DNS tables;
- dns-ethers, which generates /etc/ethers entries
from DNS tables; and
- dns-filter, which filters DNS database files.
The dnsutl package includes the source code which is written in
ANSI C. It has been successfully compiled on several UNIX
platforms using the included autoconfig
file.
The utilities are documented in man pages.
[ftp://ftp.agso.gov.au/pub/Aegis/]
- dnswalk
- A DNS database debugger which works by initiating a zone transfer of
a current zone, inspecting individual records for inconsistencies
with other data, and generating warnings and errors. It doesn't
parse DNS data files but works via existing DNS query methods on
a live system.
A source code distribution of dnswalk is available.
It is written in Perl and requires 5.003 or newer.
[http://www.cis.ohio-state.edu/~barr/dnswalk/]
- doc
- A tool for diagnosing unhealthy DNS domains.
Doc automatically verifies (to an extent) that a domain is configured
and functioning correctly. It doesn't validate the data inside
a domain but only the structure of the domain.
A source code distribution of doc is available.
[ftp://ftp.is.co.za/networking/ip/dns/doc/]
- DocuGen
- A program that can be used to facilitate the creation of
complex documents in several formats from the same source code
file.
DocuGen can output documents in HTML,
ASCII test, ANSI text, and Platform Independent Text formats.
It has extensive support for HTML document creation including
document templates, include files, automatic image sizing,
detailed data and time functions, and much more.
Binary distributions are available for Linux Intel and
Windows NT/95 platforms.
A user's manual is available online in HTML format.
[http://TheCG.com/DocuGen/]
- Doc Welder
- A tool for building documents, especially using HTML.
It uses four types of files to assemble a Web site (or a document
or a program or anything else that is text-based).
Template files look mostly like the final target except that they
use variables (called Symbols) for commonly used features.
Data files contain the data associated with specific Symbols.
Site Control files specify which data files are used with which
template files to build a specific target file.
Finally, Libraries supply great flexibility in defining and
producing specific document types.
Doc Welder is written in Perl.
[http://www.cgibuilder.com/welder/]
- DOGMA
- The Distributed Object Group Metacomputing
Architecture allows applications to be written for and run on
large groups of networked computers. DOGMA is built using
Java RMI and JDK 1.1
and applications are essentially parallel Java applications.
The features of DOGMA include:
- dynamic configuration of system topology so clusters can be
grown or shrunk on the fly;
- other than a small amount of local system class files all
remaining code is served to nodes via HTTP;
- methods can be invoked on entire object groups;
- automatic data partitioning by the system at the user's request;
- partitioning according to node speed and load;
- data returned from group method invokations is reassembled by
the system;
- members of object groups can communicate with each other in point to
point or broadcast modes;
- users can interactive with the system via a web browser; and
- an MPI implementation called MPIJ which
supports many of the basic MPI functions.
A source code distribution of DOGMA is available. It requires
JDK 1.1 or greater for installation and use.
It has been tested on several systems including Linux Intel.
Documentation is included with the distribution.
[http://zodiac.cs.byu.edu/DOGMA/]
- DOM
- The Discrete Ordinates Method is a polarized
multi-dimensional discrete-ordinates radiative transfer model
for remote sensing applications.
It can solve the monochromatic vector radiative transfer equation
taking into account polarization using the four Stokes parameters
and the 4x4 scattering phase matrix.
The equation can be solved for systems containing thermal and/or
collimated radiant sources as well as background sources of
radiation in anisotropically scattering 1-, 2-, or 3-D Cartesian
geometries. Boundary conditions can be used to account for a variety
of surfaces via the use of polarized emission vectors and bidirectional
reflectance matrices.
A source code distribution of DOM is available. It is written
in Fortran and has the capability of using the PVM
message passing library to distribute the computational load over
several distributed machines.
A vectorized version called VDOM is also available.
The code and its use are documented in the author's dissertation
which is separately available in PostScript format.
[ftp://iihr.uiowa.edu/pub/hml/haferman/]
- domain decomposition
- See the
Domain Decomposition Methods
Web site.
- Dome
- The Distributed Object
Migration Environment provides
a C++ library of distributed objects for parallel programming.
These objects perform dynamic load balancing and support fault
tolerance. This package can be used to write parallel programs
that are automatically distributed over a heterogeneous
network, dynamically balanced as the program runs, and able
to survive compute node and network failures. The focus of the
Dome system is to support parallel programming over networks of
workstations. It uses a single program multiple data (SPMD)
model to perform the parallelization of programs using the
Dome library and
PVM to provide its underlying
process control and message passing.
The source code is available in a package that also includes
makefiles, related build scripts, documentation, and example
programs.
[http://www.cs.cmu.edu/afs/cs.cmu.edu/project/nectar-adamb/web/DomeRelease.html]
- DOME
- The Distributed Object Management Enviroment
is a high performance C++ toolkit for the implementation of distributed
systems using the OMG CORBA
architecture for Object Request Brokers (ORBs).
DOME allows services, data, and applications to be easily and effectively
distributed across heterogeneous systems.
The features of DOME include:
- multi-threading and asynchronous operation;
- virtual callbacks from the server;
- synchronous and asynchronous calls to the server;
- location broking for location transparency;
- connection groups; and
- networking monitoring and debugging.
It works with GUI toolkits such as C++Views,
Motif, and
OpenLook
and can be integrated with C and C++ applications of all types.
It supports multiple concurrent protocols such as
TCP/IP,
NetBIOS, XTI, ISDN and
ATM.
The binary Linux version of DOME is freely available for personal
use.
The package is documented in several documents available in
PostScript format, including an introductory tutorial and
a library reference manual.
[http://www.realobj.demon.co.uk/]
- domtools
- A set of high-level name server query tools that allow you to traverse
DNS domain hierarchies, list all hosts or subdomains within a given
domain, convert host name to IP address and vice-versa, convert a normal
IP address to the ``in-addr.arpa.'' format and vice-versa, and much
more.
The tools are grouped by level, where level 1 contains basic function
tools for computing netmasks, performing address format conversions,
and other tasks that don't require nameserver usage.
The level 2 tools do simple domain record lookups using dig.
The level 3 tools perform much more complex tasks, combine several
tools from the previous levels, and can take
some time to run.
The level 1 tools are
addr2mask,
addr2net,
f2iaddr,
i2faddr,
type,
isequal,
issubdom,
netwithzeros,
netkillzeros,
ipsort,
domsort,
basedomain,
rndarg,
gensubnetlist,
localad, and
localdom.
The level 2 tools are
ns,
zone,
root,
nsroot,
address,
ptr,
hinfo,
uinfo,
soa,
txt,
any,
wks,
mx,
cname,
axfr,
nsap,
gw,
netname,
subnetmask,
network,
netmask,
subdom,
subzone, and
hosts.
The level 3 tools are:
- soalist, which tells DNS admins what nameservers are supposed
to be authoritative for their domain according to its parent domain (as
well as the SOA record of each of those servers);
- cachebuild, which queries root domain name servers for a complete
list of root domain name servers and then generates a new
BIND root.cache;
- makestatic, which runs the hosttbl, networktbl and
netmasktbl scripts, usually from cron at regular intervals;
- hosttbl, which generates a table of host information in the
format of the static host file used by some UNIX machines in place
of name service;
- networktbl, which generates a table of network information
in the format of the static networks file used by some UNIX machines;
- netmasktbl, which generates a table of network information
in the format of the static subnet masks file used by some UNIX machines;
- check1101, which traverses a domain hierarchy and examines
only the RFC 1101 proposed records;
- siteinfo, which performs various types of domain name service
queries to accumulate information about a site.
A source code distribution of domtools is available.
The requirements for installation include dig,
BIND 4.8.3 or newer,
Perl 4 or newer, and
Gawk.
The documentation is contained within several ASCII text files.
[http://www.jammed.com/~pbalyoz/dns/]
- Dore
- The Dynamic Object Rendering Environment
is a powerful graphics library which enables the production of
both dynamic image sequences and near-photographic quality images.
Dore allows a user to combine the generation of full-color,
high-resolution 3-D images with computationally intensive
applications in such fields as molecular modeling and fluid
dynamics.
It was designed for ease of use, to be interactive,
to support multiple output devices and renderers, and to be
portable to several platforms.
Dore provides a comprehensive set of tools for creating graphics
applications including:
- geometric primitives such as polygons and patches for representing
objects;
- advanced primitives such as polygonal meshes, closed cubic surfaces,
and nonuniform rational B-spline surfaces;
- surface properties such as ambient, diffuse, and specular light
reflectance as well as transparency, shadows, and environmental
reflection;
- features for the description of graphics scenes which include
objects, the lights used to illuminate them, and the cameras used
to view them;
- various rendering representations including points, wireframe,
faceted, and smooth-shaded surface types as well as combinations
of styles in the same scene;
- and a wide array of functions which enable the editing of the
graphics database.
Dore has interfaces and drivers to X11, PEX,
IrisGL, OpenGL,
PostScript, and more.
A source code distribution of Dore is available.
It has been ported to most UNIX systems including Linux.
It is extensively documented in separate developer's, system, and
programmer's guides as well as in a reference manual, all of
which are available in PostScript
format.
It is also documented in a set of man pages.
[http://sunsite.unc.edu/pub/packages/development/graphics/Dore/]
- DOSEMU
- A PC emulator application that allows Linux to run a DOS
operating system in a virtual x86 machine. This allows you to
run many DOS programs including some
DPMI applications. This is far from a completed project,
but still farther along than the similar
WINE project. The
Nov. 1995 issue of the
Linux Gazette has an
article entitled
``Introduction to DOSEMU'' by Alan Bailward.
The current (3/98) stable version is 0.66.7 (which runs with
the 2.0.x/2.1.x Linux kernel) and the current development
version is 0.97.4.
[http://www.suse.com/~dosemu/]
- DOSLINUX
- A version of Linux that can be dropped into any DOS system,
e.g. OpenDOS, MS-DOS, PC-DOS, Novell, and Windows 95 in
DOS mode.
It is primarily intended as a way to have outgoing SLIP/PPP
networking under a DOS system.
The DOSLINUX kernel has math coprocessor
support for CPUs without one and requires at least a 386
CPU to run Linux.
It was compiled with support for IDE and SCSI hard drives, but
doesn't have X11 or any programs needed for compiling, e.g.
the gcc compiler
There are compiled ELF versions of
these programs which can be dropped into the system as well as
instructions on how to get and install X11 on it.
[ftp://wauug.erols.com/pub/people/kent-robotti/doslinux/index.html]
[ftp://gwyn.tux.org/pub/people/kent-robotti/doslinux/
]
- Dotfile Generator
- See TDG.
- doubledouble
- A C++ library which implements doubled-double
(approximately 30 decimal places) floating point arithmetic on
IEEE 754 floating point hardware.
This will also work on the Pentium architecture since the control
word is manipulated to override the effect of double rounding.
The speed penalty is about a 10 to 25 times slowdown compared to
double precision.
The available documentation for doubledouble is on the web site.
[http://www-epidem.plantsci.cam.ac.uk/~kbriggs/doubledouble.html]
- DOUG
- The Domain decomposition On
Unstructured Grids package is a black box
parallel iterative solver for finite element systems arising
from elliptic partial differential equations. DOUG will,
when used in conjuction with a finite element discretization
code, solve the resulting linear systems using an iterative
method and provides a range of powerful domain decomposition
preconditioners. It is designed to run efficiently in parallel
on any machine that supports MPI.
The source code is available as is the documention in HTML
and PostScript format.
[http://www.bath.ac.uk/~masmjh/]
- DP
- A logic programming system which controls symbolic inferences using
general heuristics based on dynamics.
Programs written in DP resemble those in Prolog although computation
doesn't always proceed on a top-down and left-to-right basis.
Information flow is implicit and computation proceeds along
various directions depending upon context, i.e. DP deals with
the whole logic program as a constraint.
The declarative semantics of a program are expressed by capturing
the degree of violation of constraint in terms of potential
energy. This gives rise to a dynamical situation which
controls computation to process only important information.
DP programs create heterarchies consisting of various constraint
modules.
A source code distribution of DP is available which contains
three versions of DP. One version is written in C and can be
compiled on generic UNIX systems.
A user's guide is included in LaTeX format.
This is part of the ICOT project.
[http://www.icot.or.jp/AITEC/IFS/IFS-abst/010.html]
- DPMTA
- The Distributed Parallel
Multipole Tree
Algorithm library provides applications with
a flexible implementation of numerous multipole algorithms to
efficiently compute N-body interactions for a wide variety of
system sizes and particles. Fast multipole algorithms (FMAs)
are for the numerical solution of the N-body problem, which
involves computing the net effect of the interactions of each
pair of particles out of a set of N. In molecular dynamics
the particles are atoms and the forces electrostatic while
in astrophysics the particles are stellar bodies and the
forces gravitational.
Brute force, naive algorithms for calculating these interactions require
an amount of computation that grows as the square of the number
of particles. The FMA process uses multipole expansions (MPEs)
to represent the effects of a group of particles on a single entity.
This reduces the amount of computation required to an almost
linear function of the number of particles.
The DPMTA package also includes another tree-based algorithm
similar to FMA as well as the PMTA algorithm which combines
parts of both preceding algorithms.
DPTMA is written using the
PVM distributed computing
toolset and thus runs on all platforms on which PVM can be
installed, i.e. a very large range of platforms. The
documentation is contained in 24 page user's manual in
PostScript format.
[http://www.ee.duke.edu/Research/SciComp/software.html]
- DQS
- The Distributed Queueing System is
a management tool to aid in the distribution of computational
resources across a network. DQS provides architecture
transparency for both users and administration across a
heterogeneous network, allowing for the seamless interaction
of multiple architectures.
It is highly customizable to fit specific site needs.
DQS includes many useful features including:
- Qmon, a GUI for DQS based on X/Xt
which displays the status of various processes and allows commands
to be issued;
- Qusage, an accounting utility featuring online help and
PostScript output;
- Qconf, a GUI configuration utility for configuring queue
complexes, clusters, queues, managers, hosts, and users;
- Qstat, which shows qstat options; and
- Qsub, to build the qsub command for submitting jobs.
It uses the DMake parallel make
utility and supports PVM.
The new features of the latest (3.0) version include:
- increased fault tolerance;
- the use of queue-complexes (i.e. arbitrary
resource definitions that can be associated with queues to determine
a best fit between requested and available resources);
- greater flexibility in user submission scripts;
- compile-time option matrices which allow the inclusions or exclusions
of various features at compile time;
- support for DFS/WAN in addition to AFS; and
- better interactive support.
A source code distribution of DQS is available.
It is written in C and includes an installation system that
configures everything and walks you through the setup and
installation procedures.
The documentation includes an installation and maintenance
manual, a reference guide, a user's guide, and a guide to
error messages, each of which is available in ASCII and HTML
format.
[http://www.scri.fsu.edu/~pasko/dqs.html]
- DragonRay
- A ray tracing engine similar to POV-Ray
in design. DragonRay implements basic objects, lighting,
textures, platform independence, parallelism, and more.
A source code distribution is available.
[http://www.cs.utk.edu/~rothrock/dray/]
- Drat
- A C++ interface to the Ncurses
library which is not simply a wrapper but is intended
to allow object-oriented programmers to quickly develop
curses-based user interfaces.
Drat encapsulates many of the awkwawrd bits of the curses
library within a common interface, e.g. positions are
specified consistent with other window schemes, the same
methods are invoked regardless of which window is involved,
and many common tasks such as prompting or retrieving a line
of input have been incorporated into the interface.
It includes form-based clases to handle some common interface
tasks including menus, input forms, and output forms.
These classes allow callbacks to be registered with form items
which allows the data and methods associated with input processing
to be encapsulated within a class.
A source code distribution of Drat is available.
It is written in C++ and has been successfully compiled
using gcc 2.7.0 or greater.
The documentation is thus far (6/97) a bit sketchy.
[http://www.best.com/~smurman/Drat]
- DRAWxtl
- A program which creates and displays crystal structures in
two forms, i.e. VRML and
POV-Ray.
The VRML form can be viewed locally or across the Internet with
the viewer capable of rotating and zooming the drawing in real
time.
The POV-Ray form is equivalent to the original, non-rotated and
non-zoomed version and intended to create high resolution pictures
for publication.
DRAWxtl can make ball-and-stick diagrams with either spheres
or thermal ellipsoids, with
the capability of inputting anisotropic coefficients in different ways.
It can also make polyhedral diagrams with polyhedra of any desired
shape.
It can read structural input from CIF, CSD, GSAS, SCHAKAL and
SHELX formats as well as its native format.
A source code distribution of DRAWxtl is available as are binaries
for various platforms including Linux Intel.
[http://btgix9.bgi.uni-bayreuth.de/lafi/DRAWxtl.html]
- Drone
- A tool for automatically running batch jobs of a simulation
program, allowing sweeps over arbitrary sets of parameters as
well as multiple runs for each parameter set with a separate
random seed for each run. The runs may be executed either
on a single computer or over the Internet on a set of remote
hosts. Drone was originally designed for use with the
Swarm agent-based simulation
framework, but can be used with any simulation program which
reads parameters from the command line or an input file.
Drone is written in Expect, a
Tcl/Tk extension. The former but
not the latter must be installed to use Drone.
A user's guide for Drone is available in DVI,
PostScript and HTML format.
[http://pscs.physics.lsa.umich.edu/Software/Drone/doc/drone.html]
- DrScheme
- A Scheme development environment with project management
and debugging tools. The features include source text
highlighting of syntax and run-time errors, simple program
analysis to prevent common syntax errors, a project
manager to support multi-file Scheme programs, interactive
and graphical static analysis, Scheme language extensions
including primitive graphics utilities, and more. Planned
extensions include support for an object system and a full
GUI library and execution monitoring tools. This is available
in source form or as a binary for several different platforms,
including Linux (in a.out format). The documentation includes
a user manual in several different printable formats.
[http://www.cs.rice.edu/CS/PLT/packages/drscheme/
index.html]
- DR3M
- The Distributed Routing Rainfall-Runoff
Model II is a watershed model for routing storm runoff through
a branched system of pipes and/or natural channels using rainfall as
input.
It is usually used to simulate small urban basins.
DR3M provides a detailed simulation of specified storm-runoff periods.
It features a daily soil moisture accounting between storms
and represents a drainage basin as a set of overland flow, channel,
and reservoir segments which jointly comprise the drainage features
of the basin.
It does not simulate interflow, base flow, snow accumulation, or
snowmelt.
DR3M accounts for several rainfall-excess components including
soil moisture, pervious-area rainfall excess, impervious-area
rainfall excess, and parameter optimization.
The Green-Ampt equation is used in the calculations of infiltration
and pervious area rainfall excess, with a Rosenbrock optimization
procedure used to aid in calibrating several of the infiltration
and soil moisture accounting parameters.
Kinematic wave theory is used for both overland flow and channel routing.
Three solution techniques are provided including the method of
characteristics and implicit and explicit finite differences.
Two soil types can be defined and overland flow can be defined as
turbulent or laminar.
Detention reservoirs can be simulated as linear storage or via a
modified-Puls method, and channel segments can be defined as gutter,
pipe, triangular cross-section, or by explicitly specifying the
kinematic channel parameters.
A source code distribution of DR3M for UNIX platforms is
available.
The primary documentation is contained within
Alley and Smith (1982).
This is part of the USGS
Water Resources Applications Software
collection.
[http://water.usgs.gov/software/dr3m.html]
[http://www.geogr.uni-jena.de/software/dr3m.html
]
- Drumachine
- A program which translates a simple drum pattern description file
into a Csound score.
It supports time-variable volume and tempo changes.
The distribution contains the source code and a Linux Intel
executable version of Drumachine.
It also contains a selection of drum samples and a manual.
[http://www.fishnet.net/~willis/drumachine/drumachine.html]
- DSC
- The Distributed Symbolic Computations
system is an environment for the distributed processing of
coarse grained computations, i.e. a set of programs and
conventions for implementing parallel algorithms on conventional
computers with conventional operating systems and conventional
high level languages. It supports the distribution of code written
in any of
four languages, i.e. C, C++, Lisp and Maple.
DSC consists of two daemon programs which execute on each
participating node on a TCP/IP
network; an interactive program
to start and monitor task programs; C, Lisp and C++ program
modules which must be built into any application target problem
programmed into any of these languages; higher level Lisp and
C++ library functions; and Maple program interface modules
and daemons.
DSC is designed to compile and run on generic UNIX workstation
environments (and will compile with gcc). The distribution
includes the C source, several example programs, some network
utilities, and a user's
guide in PostScript format. It has been tested on Sun SPARC
and DEC Ultrix platforms.
[ftp://ftp.cs.rpi.edu/pub/dsc/]
- dsp library
- This is a library of digital signal processing programs
written in Fortran. It includes subroutines for FIR and IIR
filter design, FFT routines, and various other programs for
signal processing. Since the home site for this package is
notoriously intermittent and their package is compressed using
the ZIP software, I've made it available here in a file
named dsp.tar.gz
.
[ftp://nimios.eng.mcmaster.ca/pub/IEEE/software]
- DS++
- A library of C++ classes which implement a variety of data
structures which makes significant use of templates to enable
the client to have data structures of any user defined class.
The author's intention is to do something about the complete
lack of a standard set of classes for C++, i.e. most C++
libraries that exist are commercial and many compiler vendors
don't supply any classes. The g++ classes are available but
the compiler isn't on machines like the Cray. This led to
the creation of a class library of generally useful data
structures for C++. The author does recommend that if you
have access to STL you should use it instead.
The classes include:
- Array, a bounds-checked templated
array class;
- DynArray, a dynamically growable templated
array class;
- DynTable, an autoexpanding row/column container;
- Islist, an intrusive singly linked list;
- Islist_iter, an iterator for an Islist;
- Map, an association array class;
- Map_iter, an iterator for Map;
- SArray, a simple array class;
- SP, a templated smart pointer class;
- Slist, a templated singly linked list class;
- Stack, a templated unbound stack class; and
- String, a string class.
The source code to DS++ in compilable by both Cfront
and g++.
The classes are documented in man pages and in a brief
FAQ included with the distribution.
[http://dino.ph.utexas.edu/~furnish/ds++/ds++.html]
- DSSSL
- The Document Style Semantics and
Specification Language is an international standard
for associating processessing with SGML
documents, i.e. it can be used to describe the processing of
documents in a standard way. The first two types of document
processing standardized by DSSSL were formatting and
transformation.
The parts of the DSSSL standard are:
the style language, a standardized, powerful language for describing
the formattaing of SGML documents, i.e. a DSSSL processor implementing
the language will take an SGML document (with DTD) and a stylesheet
and either create a formatted document (in whatever formats it supports)
or immediately display the formatted result;
flow objects, a standard mechanism for describing the layout of
a document which represents layout constructs such as page sequences,
paragraphs, hyperlinks, etc.;
the transformation language which is a standard language for transforming
SGML documents marked up according to one DTD into antoher;
the document model which describes a document or a set of documents
as nodes organized into a grove, i.e. trees of trees;
and the query language which is for selecting and returning document
components in a manner similar to SQL selecting and returning
a particular element from a database.
A freely available DSSSL processor is
Jade. See also the
DSSSL Page
of James Clark.
- DsTool
- A computational environment the provides a tool for exploring
dynamical systems. It integrates a GUI, data management,
a set of numerical algorithms with a capability of adding
more, and the capability of communicating with other
programs. It was developed for the X Window system and
the original port was to Sun platforms, although it supposedly
can be ported to any platform for which a port of the
XView library
has been made, a list of which is available in the
indicated directory. The documentation says that it has
been ported to a Linux platform.
[ftp://macomb.cam.cornell.edu/pub/dstool/]
- DSU
- Distributed Seismic
Unix is a package designed to assist
geophysicists in developing and executing sequences of
SU applications in clusters
of workstations as well as on tightly coupled multiprocessor
machines. DSU is built on top of SU, the
TclTk toolkit and GUI
development package, and the
PVM software that supports
multiprocessing. DSU provides tools for creating, editing,
setting parameters, saving on plain ASCII files, and executing
SU application sequences over several types of multiprocessor
environments.
The source code of the DSU package is available and should
readily install on any UNIX platform on which SU, PVM,
and Tcl/Tk can also be installed which, given the portability
of all of the above, is quite a few platforms.
The documention for DSU is available in both HTML and
PostScript formats.
[http://landau.mines.edu/pvm]
- DT_NURBS
- A spline geometry subroutine library used by the David Taylor research
center. DT_NURBS uses a non-uniform rational B-spline (NURBS)
representation for general spline functions and is implemented in
Fortran 77.
The principal motivation for creating this library was the need for
a toolkit for building interfaces between the many design and
analysis tools used in the development of complex physical systems
like ships and airplanes.
Another motivation was to help establish standard representations
for geometric design and related analysis data which are not
dependent on the peculiarities of any particular tool.
Although the NURBS representation is most often used to express curves
in a plane or curves and surfaces in space, the underlying mathematics
work equally well for n-parameter functions in m-dimensional space.
DT_NURBS was designed to support these more general functions, which
allows it to be used to represent functions with arbitrary numbers of
independent and dependent variables. Examples include modeling
a surface along with the pressure and temperature at each surface
point as a single NURBS object, the ability to model a time-varying
surface as a three-parameter NURBS object, the ability to model fluid
flows in a volume as a single continuous NURBS function, and the
ability to create, manipulate, and analyze all these things with
the same set of tools.
DT_NURBS also includes facilities which mitigate the shortcomings
of Fortran 77 in regards to creating complex data structures and
dynamically allocating memory based on run-time needs while still
remaining fully compliant with the Fortran 77 standard.
The DT_NURBS library is available in a source code distribution
upon submitting an email request stating what will be done with
the library and various other information.
Documentation includes user's, reference, and theory manuals as
well as several technical papers, all available in several
formats.
[http://dtnet33-199.dt.navy.mil/]
- Duel
- A high-level C debugging language extension
to gdb. It is designed for the concise
state exploration of debugged C programs and invoked by entering
the shell command duel rather than gdb.
According to the authors, Duel stands for either
Debugging U (might) Even Like or
Don't Use (this) Exotic Language.
See also the xduel interface package.
[ftp://ftp.cs.princeton.edu/pub/packages/duel/]
- dvgt
- A previewer for TeX
DVI files using ttys and SVGAlib.
[http://sunsite.unc.edu/pub/Linux/apps/tex/dvi/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/tex/dvi/]
- dvi
- A device independent file is the standard output
format of the TeX typesetting program.
It contains the formatted text along with information about the
required character fonts, all in a form that is independent of
the printer to be used for printing the document.
The dvi file is transformed into a form amenable to printing via
the use of any of several available printer drivers, the most
common of which is probably the dvips
program which converts the dvi file into a standard
PostScript file.
The CTAN dviware
directory contains
printer drivers for many types of printers, many of which are
wholly obsolete.
- dvips
- The de facto standard
program for converting a TeX dvi file
into a PostScript file for printing or
distribution.
The dvips program generates standard PostScript which can be included
in other documents as figures or printed through a variety of spoolers.
It allows PostScript graphics to be included in documents and scaled
and positioned in a variety of ways.
Printers with resolutions of 300 dpi and greater are supported, as
is very high resolution output for typesetters (with an option for
compressing bitmapped fonts to conserve virtual memory).
Missing fonts can be automatically generated if
Metafont is available, and if a font
cannot be generated a scaled version of the same font at a different
size can be used.
Additional features of dvips include collated copies and support for
tpic, psfig, emtex, and Metapost.
It supports multiple printers (each with their own configuration
file) and can automatically pipe the output directly to a program
such as lpr.
An important feature is support for virtual fonts which is used to
provide PostScript font support. The font remapping is handled in
a natural, portable, elegant, and extensible way, with the driver
even having its own afm2tfm program which can create the
necessary virtual fonts and TeX font metric files from the Adobe
font metric files.
A source code distribution of dvips is available. It is written
in C and portable to most UNIX flavors as well as to other
OS types.
It is documented in a user's manual available in PostScript
format.
The standard teTeX distributions include
the most recent version of dvips and is probably the best way
to obtain this if you don't want to compile it.
[http://tug2.cs.umb.edu/ctan/tex-archive/dviware/dvips/index.html]
- dxpc
- The Differential X
Protocol Compressor is a program
designed to improve the speed of X11 applications run over
low-bandwidth links such as dial-up PPP connections. The
performance varies quite a bit depending on the application
you're running.
[http://ccwf.cc.utexas.edu/~zvonler/dxpc/]
- Dylan
- A language, more about which Later. For now see
Marlais,
Mindy, and
Thomas.
[http://legend.gwydion.cs.cmu.edu/dylan/]
- Dynace
- The DYNAmic C language Extension is
an object-oriented extension to the C
programming language
which was created to solve several perceived problems in
C++.
Dynace is more backward compatible with C and offers stronger
object-oriented facilities than does C++.
It is a preprocessor, include files, and a library which extends
C with object-oriented capabilities similar to those found in
CLOS and Smalltalk. These
include multiple inheritance, true dynamic binding,
a metaobject basis from the ground up, a class library, automatic
garbage collection, and multiple threads.
The strong encapsulation features allow classes located in the
middle of a class hierarchy to be modified without having to
recompile related classes.
A source code version of Dynace is available. It is written
in C and portable to 16 and 32 bit DOS, Windows 3.1/NT/95,
Mac, VMS, Linux, Sun SunOS and several other UNIX flavors.
It is documented in a user's manual available in
PostScript format.
The package is freely available for non-commercial use.
[http://www.edge.net/algorithms/]