Last checked or modified: Feb. 28, 1997
- Gnans
- A program and language for the numerical analysis of
deterministic and stochastic dynamical systems which may
evolve in either continuous or discrete time.
In Gnans a dynamical system is defined using a special equation
oriented language which also allows arbitrary C++ code
to be included in the description.
The resulting definitions are sorted, translated into C++,
and compiled and linked into an executable program.
The system can then be solved numerically with the speed
of a compiled program.
Several numerical integrators are included in the distribution.
A simple and intuitive GUI is available which makes it possible
to control the program by interactively changing the governing
parameters.
Simple interactive 2-D plotting routines are also provided.
A source code distribution of Gnans is available as are
binaries for various platforms including Linux Intel.
A user's manual and reference guide is included in
PostScript format.
[ftp://ftp.mathematik.uni-bremen.de/pub/gnans/]
- GNAT
- The GNU NYU Ada Translator is
a complete compiler for Ada 95 integrated in the gcc
compiler system, i.e. it is
a front-end and runtime system for Ada which uses the gcc
back-end as a retargetable code generator.
The front-end is written in Ada 95 and the gcc back-end extended to
meet the needs of Ada semantics.
The front-end comprises four phases which communicate by means of
a compact Abstract Syntax Tree (AST).
GNAT also includes three other modules not involved in code generation
but which are an integral part of any Ada compilation system:
the runtime and tasking executive, the library manager, and the binder.
These components are also written in Ada 95.
The GNAT compiler is available in both source code and
binary distributions, but binaries available for several
platforms including Linux Intel.
The system is described in a technical report available in
PostScript format.
See also the GLADE package.
[http://www.gnat.com/]
- GNOME
- The GNU Network Object Model
Environment is a project whose goal is to build a
complete, user-friendly desktop based entirely on free software.
GNOME will consists of a free and complete set of user friendly
applications and desktop tools somewhat similar to CDE and
KDE
but based entirely on free software.
The three main components of the project are:
CORBA for the network object interface;
GTK for the graphical toolkit; and
Guile for the extension language.
Several features are planned to enhance the standard X11 environment
including:
a standard GNOME application framework for programmers to ensure a
consistent user interface;
drag-and-drop between applications;
a comprehensive file manager on top of a virtual filesystem (VFS) which
exports an API to other GNOME components;
objects which exist on the desktop;
use of CORBA to export interesting APIs between components to allow the
use of the components from a wide variety of languages without having
to write an interface for each;
a powerful panel component (which can be written in any language supported
by the CORBA bindings) with a default panel including a program launcher,
an icon viewer, a docking area of mini-views of other apps, and more.
Software packages that are part of the GNOME project include:
- Aorta, a suite of personal management tools including an address
book, task manager, and day planner;
- Audiotechque, a sound and waveform editor;
- Balsa, an e-mail reader;
- ElectricEyes, a lightweight image viewer;
- Express, a web browser;
- gdm, an xdm clone;
- gEdit, a text editor;
- genius, an advanced and fully featured calculator;
- GLUe, a WYSIWYG page layout tool;
- gncal, a calendar program;
- GnoMoney, a Quicken-like software package;
- Gtop, a process and system monitor;
- gwp, a word processor;
- Litespeed, an FTP client;
- M, a cross-platform e-mail application supporting a wide range
of e-mail transfer protocols and providing MIME support; and
- xnet, an application for managing PPP connections.
These packages exist in various stages of completion. See the GNOME
home site for further information.
A source code distribution of GNOME is available. THe
current (3/98) alpha release is version 0.13.
The requirements for compilation include
Guile,
gettext,
GTK,
GMP, and
SLIB.
[http://www.linux.org/gnome/]
- GNU
- The GNU's Not
UNIX project aims to develop a complete
UNIX-compatible software system. The project is operated
by the Free Software Foundation (FSF), an organization
founded by Richard Stallman, one of the elder gods of
the net.
Most, if not
all, of the GNU software conforms to
POSIX standards. There is
also an Unofficial GNU Site
which was the preferred site before
the appearance of the official site.
See Loukides and Oram (1996).
The GNU software packages include:
- Autoconf, which creates configuration scripts
for software packages;
- Automake, a makefile generator;
- Bash, a UNIX shell or command interpreter;
- bc, a calculator language which supports arbitrary
precision numbers;
- binutils, a package of software development
tools including compilers, assemblers, linkers, debuggers, etc.;
- Bison, a general purpose parser generator;
- Calc, an advanced calculator and mathematical
tool that runs in Emacs;
- cfengine, a site configuration engine;
- cpio, a program to manage archives of files;
- CVS, a version control system;
- DejaGnu, a framework for testing programs;
- diffutils, a package of utilities for
comparing and merging files;
- dld, a library of C functions for performing
dynamic link editing;
- GCC, a compiler suite for C,
C++, Fortran, etc.;
- DJGPP, a suite of GUI utilities for DOS platforms;
- ed, a line-oriented text editor;
- Emacs, the text editor that can do anything;
- Enscript, which converts ASCII files to
PostScript for printing;
- Fiasco, a replacement for the SPSS statistical
software package;
- fileutils, a set of file management utilities;
- findutils, a set of utilities for finding
files and performing actions on them;
- Flex, a lexical analyzer;
- fontutils, a package of utilities for
manipulating fonts;
- Gawk, an implementation of the Awk language;
- gdb, a debugger that works with GCC;
- gdbm, a library of database functions;
- gettext, a set of tools for allowing other
packages to produce multilingual messages;
- gforth, an implemention of the Forth language;
- Ghostscript, a PostScript interpreter;
- git, a set of tools for browsing and viewing files;
- GNUSSL, a scientific subroutine library;
- GNUstep, a clone of Next OpenStep;
- Groff, an implementation of the [t/n]roff text
processing language and tools;
- g77, a Fortran compiler;
- Guile, the GNU extensbility library;
- gzip, a file compression program;
- HURD, the kernel of the GNU OS;
- id-utils, a set of utilities for implementing
an ID database;
- inetutils, a set of networking utilities
and servers;
- JACAL, a symbolic mathematics system;
- less, an improved implementation of the
more paging utility;
- Stow, a program for managing the installation
of software packages; and
- Teak, the GNU desktop interface.
Free programs which have been adopted as part of the GNU system include:
- dbedit, a system for developing web database
applications;
- Exim, an experimental mail transfer agent;
- Generic-NQS, a network queueing system;
- GNAT, an Ada compiler suite;
- Guavac, a compiler for the
Java language;
- HylaFAX, a telecommunication software package;
- Karma, a toolkit for performing a wide variety
of network, graphics, encryption, and other tasks;
- Lynx, a text-only Web browser;
- Octave, a high-level interactive language
for numerical calculations;
- Roxen, an HTTP server;
- Wget, a non-interactive Web mirroring utiity; and
- WN, an HTTP server.
[http://www.gnu.ai.mit.edu/]
- GNU-Win32 Project
- A project to create ports of the GNU
development tools to Windows NT/95 for x86 and
PowerPC processors. The applications built with these
tools will have access to the Microsoft Win32 API and the
Cygwin32 API (which provides additional UNIX-like functionality,
e.g. sockets, process control, etc.).
An installation of the GNU-Win32 tools enables users to:
write Win32 console or GUI applications which make use of the
two APIs previously mentioned,
configure and build many GNU tools from source (including the
GNU-Win32 tools themselves under x86 NT),
port other UNIX programs to Windows NT/95 without having to
make significant source code changes,
work in a reasonably full UNIX-like environment with access
to many common UNIX utilities.
This port was accomplished by first modifying the
GNU development tools to enable them to generate and interpret
Win32 native object files.
The next step of porting the tools to Windows NT/95 was accomplished
by writing a shared library called cygwin.dll which adds
the needed UNIX-like functionality to the Win32 API.
The new interface, called Cygwin32, made it possible to build
working Win32 tools by using UNIX-hosted cross-compilers and
linking against the library.
Finally, native tools capable of rebuilding themselves under
Windows NT/95 were produced by modifying configure scripts and
making minor source code changes.
The GNU-Win32 package is available in both source and binary
versions, although a binary version has to be installed before
the source version can be compiled. Separate binary versions
are available for the full development toolkit and for a subset
of this which includes popular user tools, e.g.
bash, etc.
The standard GNU documentation for the separate development and
user tools also applies to this port.
See also the Mingw32 package.
[http://www.cygnus.com/misc/gnu-win32/]
- gnubc
- A set of programs that run under the GNU bc
program for interactively performing arbitrary precision integer
arithmetic calculations.
The gnubc programs include:
- gcd, for calculating the sign function, absolute values,
binomial coefficients, and much more;
- euclid, for performing Euclid's algorithm;
- jacobi, for calculating the Jacobi symbol and finding the
square root of the quadratic residues a mod p via Serret's algorithm;
- serret, for expressing a prime of the form 4n+1 as the
sum of two squares using Serret's algorithm;
- phi, for returning the number of distinct prime factors, the
value of Euler's functions, the number of divisors, the sum of the divisors,
the value of the Mobius function, and more for a given integer;
- factors, for factoring an integer using the Brent-Pollard
algorithm;
- lucas, which performs the strong base 2 pseudoprime and Lucas
psuedoprime tests on an integer;
- primes, which prints the primes between two integers;
- pell, which finds the least solution of Pell's equations;
- surd, which finds the continued fraction expansion of a
quadratic irrational;
- fibonacci, which prints the Fibonacci and Lucas numbers;
- rootd, which finds the continued fraction expansion of the
square root of a given integer; and
- pollard, which attempts to find a factor of an integer using
the Pollard method.
[http://www.maths.uq.edu.au/~krm/gnubc.html]
- GNUDL
- The GNU Data Language is a planned high-level language and environment
designed to allow flexible and powerful manipulation and plotting
of data. It will provide some of the capabilities of high level
languages for data analysis and plotting (e.g.
Yorick,
Matlab
,
Octave, and
IDL, from which GNUDL gets it
name and which the GNUDL author considers the most powerful of such
languages). A primary goal is to eventually provide a vast
library of numerical, signal processing, imaging processing, etc.
routines that can be interactively used within the system.
The useful features of the aforementioned
languages planned for replication include
the immediate availability of graphing operations for data
viewing with well-designed and extensible defaults, the ease
and optimization of array operations, the publication quality
of output graphics, and the availability on many platforms.
General limitations of such languages that the author wants to
circumvent include the special-purpose languages developed for
each package. GNUDL will use
Guile, a
Scheme-based utility, as its
language. This will allow the use of Scheme as well as a variety
of other languages that can be run on top of Scheme to be used
for programming applications. Guile also incorporates the
Tcl/Tk toolkit, allowing
GUI applications to be custom built.
It is planned to used the
Texinfo system for documentation,
which will allows several
types of documentation formats to be produced from a single
source file.
GNUDL will provide X Window and PostScript rendering of all
plots (perhaps via Ghostview)
to provide publication quality graphical output.
GNUDL is in the prototype stage (with alpha version 0.3
released in 2/96). The source code for the prototype
version is available and is known to compile on Linux,
IRIS and SunOS platforms. Installing GNUDL requires the
prior installation of the aforementioned Guile distribution.
[http://nis-www.lanl.gov/~rosalia/]
- Gnuotes
- A project to develop a clone of Lotus Notes.
[http://samba.anu.edu.au/gnuotes/]
- GNUPG
- The GNU Privacy Guard is a complete and free
replacement for PGP. It does not use either
IDEA or RSA and can thus be used without restrictions. It conforms
to RFC 1991, has some extensions, and partly
supports OpenPGP.
The features of GNUPG include:
- can be used as a filter program;
- implements the PGP format described in RFC 1991 with some
enchancements;
- better functionality than PGP with some security enhancements;
- decryption and verification of PGP 5.x messages;
- support for ElGamal, DSA, Blowfish, CAST5, MD5, SHA-1,
RIPE-MD-160 and TIGER;
- creation of user ID in a standard format;
- support for key expiration data; and
- German and Italian language support.
A source code distribution of GNUPG is available and can be
installed on most platforms via the usual GNU tools.
Documentation is currently (5/98) in a man page although a
manual is being written.
[http://www.d.shuttle.de/isil/crypt/gnupg.html]
- Gnuplot
- A command-line driven interactive function plotting utility for
UNIX, DOS and VMS platforms. It handles both curves (2-D) and
surfaces (3-D), with surfaces plotted as a mesh fitting the
specified function, floating in the 3-D coordinate space, or
as a contour plot on the x-y plane. There are many plot styles
for 2-D plots. Gnuplot supports many different types of terminals
and printers, and is most likely easier to install than anything
here, even from source code.
[http://www.cs.dartmouth.edu/gnuplot_info.html]
- xgfe
- An X11 GUI front-end to the
Gnuplot package. It is written in
C++ and uses the
Qt widget set.
[http://www2.msstate.edu/~dmi1/xgfe/xgfe.html]
[http://von-mises.home.ml.org/xgfe/xgfe.html
a
http://von-mises.home.ml.org/xgfe/xgfe.html]
- Gnus
- A drop-in replacement for GNUS as a Emacs newsreader for Usenet.
New capabilities include subscribing to groups from as many servers
as you like, reading mail, kill files featuring auto-expiring kill
calls, scoring articles in various ways, support of virtual newsgroups,
and more.
[http://www.gnus.org/]
- GNUSSL
- The GNU
Scientific Subroutine
Library is a software package designed to
simplify programming for scientific applications. The primary
focus is on numerical linear algebra and problems which may be
solved with straightforward applications of these algorithms.
There are two components to the library: a
C version and a
C++
version, although the C component is simply a compiled
interface to the C++ version. The C++ component is based primarily
on vector and matrix classes supplied with libg++, which are
template based and compatible with the standard template library
(STL). The functionality of this package is provided in the form
of template functions and classes plus a number of structures and
functions with explicit C linkage.
The present (3/97) version of GNUSSL contains functions that can
be divided into three areas: linear algebra, orthogonal and
non-orthogonal function transforms, and a plotting class.
The linear algebra library contains functions for performing
Gauss-Jordan elimination, LU-decomposition, pivoting,
reductions (Hessenberg and bi-diagonal),
decomposition (QR and singular value), pseudo-inverses,
Householder transformations, and Givens rotations.
The function transforms include code for FFTs, discrete transforms,
and expansion functions. The plotting class, called Viewport,
contains many options for plotting and labeling 2- and 3-D plots.
Much more is planned, including algorithms for sparse and banded
matrices, support for arbitrary precision numbers, eigenvalue
routines for Hermitian matrices, etc.
The package includes the source code written in C and C++.
This was developed using the GNU C/C++ compiler and libraries
and thus should compile on platforms with these installed.
The documentation is contained within a GNUSSL user's guide
and a guide to numerical template arrays in libg++, both of
which are available in TeX or PostScript format.
The file to look for is called gnussl-*.tar.gz, where * is the
version number.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- GNUStep
- A project to port Next's OpenStep to UNIX platforms. Their first
port is for the
X Window system including Linux.
[http://www.gnustep.org/]
- GNU C Library
- The C library (also
called glibc) used in the GNU
system. A modified version of this is currently (1/97) used as
the C library in Linux systems, although release 2.0 is planned to be
usable in unmodified form.
The GNU C Library generally supports the ISO C and
POSIX standards, and also attempts to support
the features of popular variants such as BSD and System V when they
do not conflict with the previous standards.
Different compatibility modes are specifiable at compilation time
to allow the use of the variants.
Nearly all known and useful functions from other C libraries are
presently available in glibc.
A GNU Libc 2 for Linux FAQ
contains all the
gory details on installing and using the latest version of the
GNU C Library on Linux systems. As of this writing, version
2.0.4 is the latest experimental version, with version 2.1 planned
to be the eventual stable version.
The improvements in version 2 include:
reimplementation of the appropriate functions to make the library
thread safe;
a better scheme for handling name databases;
an improved math library;
several new functions from the POSIX and XPG4.2 standards;
a stable interface that won't need to be changed in future versions;
reduced dependency on kernel header files;
a trackable bug report mechanism;
a clean name space and header files;
a single source tree for all ports; and
a 64-bit clean version for the Alpha architecture.
[http://www.gnu.org/software/libc/libc.html]
- GNU Make
- A program for redirecting compilation which automatically
determines which pieces of a large program need to be compiled
and issues commands to recompile them.
This GNU version of the widely
used UNIX make utility conforms to section 6.2 of
IEEE Standard 1003.2-1992 (POSIX.2).
This utility can be used with any programming language whose
compiler can be run with a shell command, and is not limited
to programming languages. It can perform any task wherein some
files must be automatically updated from others whenever the
others change.
The make utility is used by creating a makefile which contains
descriptions of the relationships among files in a package
and a procedure for updating each file.
GNU Make considers the make utility in 4.2 BSD systems as
a baseline and adds features from System V, other versions
of make, and features unique to GNU Make.
Features unique to GNU Make include:
simply expanded variables whose values are substitute verbatim
when they are expanded;
passing command-line variable assignments automatically through
the variable MAKE to recursive make invocations;
making verbatim variable definitions with define;
manipulating text by calling functions to compute files to
be operated on or commands to use;
specifying a search path for included makefiles;
specifying extra makefiles to read with an environment variable;
keeping track of the current make level using the
MAKELEVEL variable;
specifying static pattern rules;
providing a selective vpath search;
providing computed variable references;
a larger selection of built-in implicit rules; and more.
A source code distribution of GNU Make is available and
can be compiled and installed via the usual GNU utilities
on a wide variety of platforms.
It is documented in a 160+ page user's and reference
manual in Texinfo format.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- Godess
- The Generic Ordinary Differential Equation
Solver System is an initial value solver for ODEs
and DAEs written in C++.
It is a project whose aim is to construct better time-stepping
solvers for dynamical systems and contains the necessary structures
to facilitate the implementation of new numerical methods for these
classes of problems as well as for developing special purpose
solvers and testing methods.
The solver is a collection of different classes for, e.g. norms,
time stepping, step-size control, etc. which can be improved and
added to independently.
The goals of the Godess project include:
the uniform implementation of different methods,
support for method development,
method testing and verification under ceteris paribus conditions,
better control of how algorithmic features affect method performance,
common functionality in all routines,
easy to switch solvers,
ease of development of special purpose solvers within the system, and
the provision of a general interface for the entire system instead
of separate ones for various methods.
The current (6/97) beta release of the Godess package can
be obtained via the given Web site.
Some documentation is available, although it is still a bit
sketchy.
[http://www.dna.lth.se/home/Hans_Olsson/Godess/index.html]
- Gödel
- Gödel is a declarative, general-purpose programming
language in the family of logic programming
languages. It is a strongly typed language, the type
system being based on many-sorted logic with
parametric polymorphism. It has a module system.
Gödel supports infinite precision integers, infinite
precision rationals, and also floating-point numbers.
It can solve constraints over finite domains of
integers and also linear rational constraints. It
supports processing of finite sets. It also has a flexible
computation rule and a pruning operator which generalises
the commit of the concurrent logic
programming languages. Considerable emphasis is placed
on Gödel's meta- logical facilities which
provide significant support for meta-programs that do
analysis, transformation, compilation,
verification, debugging, etc.
The source code distribution of Gödel requires
SICStus Prolog
version 2.1 or later
for compilation.
Precompiled binaries are available for Linux Intel
and Sun SPARC platforms.
Documentation is available in the form of a user's manual
and other assorted documents in PostScript format.
See Hill and Lloyd (1994).
[http://www.cs.bris.ac.uk/~bowers/goedel.html]
- Golem
- An inductive logic programming (ILP) system designed to learn
by creating RLGGS.
Golem uses extensional background knowledge to avoid the problem
of non-finite RLGGS.
A source code distribution of Golem is available.
It is written in ANSI C and can be compiled and installed on
generic UNIX platforms.
See Muggleton and Feng (1992).
[http://www.comlab.ox.ac.uk/oucl/groups/machlearn/golem.html]
- GOM
- GOM is nOt yet another Mixer is a generic
audio mixer program whose facilities include sound driver (compiler
time) and sound card (runtime time) independence, arbitrary mixer
selection, loading and saving of mixer settings, volume fading,
verbosity-level driven output, and more.
It has a complete command line interface and two built-in interactive
interfaces (called gomiis): a terminal gomii which uses
ncurses and an X11 gomii which uses
the Xview toolkit.
GOM supports the OSS software in the
Linux kernel.
[http://www.fh-worms.de/~suerken/code/c/gom/index.en.html]
- GOOD
- An object-oriented
C++/Tcl/Tk
framework for interactive
3D applications running under the
X Window with special support
for SGI GL and PHIGS. It features a Tcl shading/raytracing/radiosity
kernel, a Tk interaction application builder, and C++ class library.
An extension is available that implements additional objects for
scientific visualization, and a set of Tcl objects for generating
interactive 3D graphics is included. This will run on many
UNIX systems, and a Linux port is available. More information
can be found at the
GOOD Web site
.
[ftp://metallica.prakinf.tu-ilmenau.de/GOOD.html]
[ftp://wuarchive.wustl.edu/pub/wuarchive/graphics/graphics/mirrors/metallica.prakinf.tu-ilmenau.de/
]
[ftp://ftp.sunet.se/pub/multimedia/VR/
]
- gOpenMol
- A graphical interface to the OpenMol
package which can also be used for the analysis and display
of molecular dynamics trajectories and the display of molecular
orbitals, electron densities, and electrostatic potentials
from external programs.
The gOpenMol GUI can import, display, and analyze several different
input coordinate file formats and binary trajectory file formats,
and can be used for a wide range of analysis and display tasks like
the display of isocontour surfaces.
The coordinate input formats supported
include Amber, CHARMm/CHARMM, Gaussian formatted
checkpoint files, HyperChem, Insight, Mol2, Mumod, OpenMol,
PDB, Xmol, and YASP.
The supported binary trajectory formats are
Amber, Cerius2, CHARMm/CHARMM, Discover, Gromos, HyperChem,
MUMOD, XPLOR, and YASP.
Several utility tools which work with gOpenMol are available
including:
- gcube2plt, which converts Gaussian cube output into
a form readable by gOpenMol;
- contman, a program to manipulate contours;
- sybyl2amber, which converts SYBYL ASCII trajectory files
to AMBER binary files;
- trajmerge, which merges two CHARMM trajectories into one;
- charmmtrj, which converts a CHARMM trajectory to and from
formatted form;
- xmol2bamber, which transforms XMOL formatted trajectories
into AMBER binary trajectories;
- probesurf, which generates a grid mesh; and
- vss, which calculates the electrostatic potential created
by the electronic distribution and the nuclei of a molecule in the
surrounding space.
Binary distributions of gOpenMol are available for several
platforms including Linux Intel. The source code is available
via special request.
The documentation is available in HTML format.
[http://laaksonen.csc.fi/gopenmol/gopenmol.html]
- GopherVR
- An interface to Gopher that maps a 3D virtual world interface onto
the existing Gopher servers. GopherVR makes it possible to display
clustering of documents and thus visualize complex relationships within
collections.
[ftp://boombox.micro.umn.edu/pub/gopher/Unix/
GopherVR/]
- Gorby
- A small, powerful scripting language for Linux which is stack-based
but also allows for direct interface to Linux system calls.
It is infinitely extensible in that its syntax can be added on to
infinitely, which allows for the extension of the basic language
set to include any and all system calls.
Gorby can also be easily extended to support any function supplied
by the operating system by using the register, string manipulation,
and syscall words.
Gorby was called Slang at one time but the name was changed when
it was found to conflict with another langage.
Gorby is available in versions for Linux Intel and ELKS platforms.
It is documented in a reference guide and a tutorial.
[http://www.knotwork.com/(nobg)/info/comp/freeware/linux/gorby/]
[http://198.164.159.190/~gsh/gorby.html
]
- GPC+
- The Genetic Programming package is a C++
class library which can be used to apply genetic programming
techniques to a large variety of problems. The library defines
a class hierarchy and an integral component is the ability to
produced automatically defined functions.
The GPC++ system features include:
- automatically defined functions (ADFs);
- tournament and fitness selection;
- demetic grouping;
- an optional steady-state genetic programming kernel in which a
complete new population is not built every generation but bad
performing GPs are replaced by newly evolved ones;
- subtree crossover;
- swap and shrink mutation;
- the capability of changing all parameters without recompilation;
- the capacity for multiple populations;
- the loading and saving of populations and genetic programs;
- a standard random number generator for portability;
- explanations of how to write the modules for evolving code and
several examples;
- a parameter study showing the influence of every important
parameter; and
- internal parameter checks that can be turned off by a compiler
switch.
The GPC++ system is available as C++ source code. It does not
make use of templates or exceptions and has been compiled with
gcc 2.7.0 and the SunSoft C++ compiler.
The documentation includes a user's manual as well as a short
introduction to genetic programming, both in PostScript format.
Several examples are included in the package.
[http://www.emk.e-technik.th-darmstadt.de/~thomasw/gp.html]
- GPERF
- A GNU program that generates perfect
hash functions for sets of words. A perfect hash function
is a hash function and data structure which allow the recognition
of a key word in a set of words using exactly one probe
into the data structure.
It can generate the reserved keyword recognizer for lexical
analyzers in several compilers including GCC.
This program is also distributed with the
libg++ library.
A source code distribution of GPERF is available.
It is written in C and can be compiled and installed on
a variety of platforms using the supplied makefile.
It is documented in a user's manual in
Texinfo format as well as in
a man page.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- GPIB
- See Linux-GPIB.
- GPK (GTK)
- The General Proxy Kit is an add-on library that
permits thread-safe access to GTK.
GPK is a library that turns main GTK event loop threads into server
threads that listen for requests from other threads.
This is one solution to the problem of integrating threads with
event-driven libraries.
[http://www.humanfactor.com/gpk/]
- GPK
- The Genetic Programming Kernel is an
easy-to-use C++ class library for performing genetic programming
tasks.
The algorithm is based on simple
genetic algorithms (GAs)
over context-free languages.
It can handle any grammar available in a file in its
Backus-Naur-Form, with the user having to add only an appropriate
interpreter.
The features of GPK include:
- initialization by both standard random and uniformly distributed
initialization heuristic methods;
- fitness standardization;
- fitness adjustment by any user-defined function;
- fitness normalizing;
- either proportional or linear rank selection;
- a choice of stochastic sampling with replacement or stochastic universal
sampling;
- random or random permutation mating;
- 1-point, n-point, or user-defined crossover;
- mutation based on user defined weighting of subtree selection based
upon treesize or search space size;
- an optional elitism strategy;
- optional including of subtrees;
- fast seach space-size calculation of every grammar;
- retraceable parents; and
- load- and save-operators to save a population into a file.
A source code distribution of GPK is available. It
is written in C++ and can be compiled with g++.
A user's manual is available in HTML
or PostScript format.
[http://aif.wu-wien.ac.at/%7Egeyers/archive/gpk/vuegpk.html]
- GPL
- The General Public
License is the license that covers all
software developed by the GNU Project.
The terms of the license are that anyone can modify the
software and distribute a separate version of it. The
constraint is that no one can prevent a recipient of such
software from further distributing it for free. This right
attaches to the original software and to all modified
derivatives thereof. Anyone who distributes the software
or a derivative of it, for whatever price, is obligated to
make the source code available for no more than the cost of
copying it. Frequent and seemingly interminable discussion
about the GPL can be found on the usenet group
gnu.misc.discuss. Further information about GNU and the GPL
can be found at the official
GNU Web site
.
- GPLOT
- A graphics utility program which processes CGM
metafiles produced by other packages.
GPLOT can be used to select and animate several images from
a CGM file.
The GPLOT package consists of several components.
GPLOT is a CGM processor which allows CGM files to be
displayed using various X11-based GUIs including
Motif, DECWindows, Xaw,
and Suntools.
It can also produce color PostScript output.
GTEX is a companion program which displays TeX
DVI files on various X11 devices.
DrawCGM is a package of Fortran and C routines designed to
be called from Fortran programs which can be used to create a
CGM metafile as well as store and manipulate graphics data.
It uses the same drivers as GPLOT but can also be used to
create output formats such as Tektronix, X11, SUN and PostScript
in addition to CGM.
A separate package in the same directory
(hdfdev.tar.Z) contains the additions
needed to add a new device to produce output in
HDF format.
A source code distribution is available as is a binary
for Linux Intel platforms.
The various components are documented (more or less) in
text files scattered about in the distribution.
[http://www.psc.edu/general/software/packages/gplot/gplot.html]
- GPLOTM
- A CGM graphics metafile interpreter which
uses Motif.
GPLOTM can be used to select and animate several frames from
a CGM file.
This is a version of GPLOT
rewritten in C++.
The source code is available as are binaries for various
machines including Linux Intel platforms.
[http://www.psc.edu/general/software/packages/gplotm/gplotm.html]
- G++
- The name used for the GNU C Compiler, i.e. GCC,
when it is being used to compile C++ programs.
G++ is a compiler and not merely a preprocessor. It builds object
code directly from C++ program source, i.e. there is no intermediate
C version of the program.
It provides most of standard ANSI C++ in addition to several
extensions which include:
giving a new name to C++ function return values,
C++ minimum and maximum operators,
the safe use of goto even when destructors are needed,
the capability of using a single C++ header file for both
declarations and definitions,
methods for ensuring that exactly one copy of each needed
template instantiation is emitted,
and specifying abstract types to get subtype polymorphism
independent from inheritance.
G++ can also take advantage of most of the GCC extensions
to the ANSI C standard.
[http://www.gnu.ai.mit.edu/software/gcc/gcc.html]
- gprof
- A program which produces an execution profile of
C, Pascal for
Fortran 77 programs.
See the binutils package for
availability.
- gps
- This is a Pascal compiler from the GNU folks. It
is a 32 bit highly optimizing compiler with no limits, runs
on all operating systems supported by GNU C, and is compatible
with other GNU languages and tools. It implements most
of the ISO 7185 Standard and ISO 10206 Extended Pascal standards
including complex numbers, initialized variables, structured
function return values, and modules from Extended Pascal.
It also includes some extensions from Borland Pascal as well
as some GNU extensions.
The drawbacks are that gdb does not yet (1/97) understand
Pascal syntax and types, there are few standard libraries (although
the C standard libraries can be used instead), and longer
compilation times than with Borland Pascal.
[http://didaktik.physik.uni-essen.de:80/~gnu-pascal/]
- GPsys
- A genetic programming
system developed in Java.
The features of GPsys include:
a steady state engine;
ADP support;
strong typing which supports generic functions and terminals,
has many built-in primitives, includes indexed memory, and
has exception support;
a save/load feature which can save or load the current generation
to or from a file, store it in compressed format, and uses
serializable objects for efficiency;
full documentation including commented source code and
javadoc generated class documentation;
total parameterization;
full object-orientation and extensibility;
high performance;
memory efficiency;
and a set of example problems.
A source code distribution of GPsys is available.
It is written in Java and can be compiled and used on
UNIX systems with the JDK distribution.
Documentation is included in the distribution.
[http://www.cs.ucl.ac.uk/staff/A.Qureshi/gpsys.html]
- GrADS
- The Grid Analysis
and Display System
is an interactive tool
for the analysis and display of Earth science data. It provides
an integrated environment for access, manipulation, and display
of gridded data.
GrADS implements a 4-D data model, where the dimensions
are usually latitude, longitude, level and time, and each data set
is located within this 4-D space using a separate data description file.
Both gridded and station data may be described, and the gridded
data may be unevenly spaced. Intercomparison of separate data sets
is greatly facilitated by the 4-D data space model, which allows
disparate data to be graphically overlaid with correct spatial
and temporal matching.
Features of GrADS include direct support for both Gaussian and variable
resolution of ocean model grids, a command language with Fortran-like
expressions that can be run interactively or in batch mode,
a rich set of built-in functions and the capability of
adding new functions as external routines written in any programming
language, and a large variety of graphical output techniques.
Graphical output forms include line, bar, and scatter plots as well
as contour, shaded contour, streamline, wind vector, grid box, shaded
grid box, and station model plots. These plots can be viewed
interactively or output to either monochrome or color PostScript
files for printing. Almost all graph attributes can be modified
by the user or the reasonable and intuitive default values may
be used.
The scripting or command language can be used to develop user
interfaces where widgets are displayed and actions are performed
based on pointing and clicking.
It is available in binary form for all commonly available
UNIX workstations (including Linux) and for DOS platforms.
A more recent version of the Linux port can be found at the
LLNL GrADS site
than at the given home site.
The documentation is available as either a 148-page
PostScript file or online as a hypertext document.
Reference cards for both GrADS commands and the scripting
language are also available as is a mailing list for
GrADS users.
[http://grads.iges.org/grads/head.html]
- Grafix
- A C++ library originally designed to
aid scientists in the visualization of the results of
computations but more widely applicable for any application
which wants to use the
X Window System for drawing
pictures, functions, or other graphical objects in a convenient
interactive manner.
Grafix is a layer between an application and the X Window System
which comprises a set of basic classes as building blocks, with
the simplest way to use it being defining instances of these classes.
The capabilities available within the Grafix classes include:
windows with automatic restoring for complex drawings,
several types of predefined button classes for different purposes,
pop-up windows and pulldown menus for selecting discrete values,
binding pop-up help windows to any window,
scrollbars for selecting continuous values,
windows with real-valued coordinate systems,
an edit window for entering strings,
simple file selection boxes,
a predefined palette manager for color definitions,
an advanced class with a complete manager for handling the
display of 2-D functions as a lattice or body in arbitrary
perspective with shadowing and zooming capabilities,
an animator class to store time sequences of 2-D arrays
in a file and play them like a video,
an integrator class for linking any numerical 2-D or 3-D
integration program with the graphical interface and playback features,
scrolled windows, and
classes for displaying tree and graph structures including a
graphical class browser.
Several example programs are included to demonstrate the basic
functions available in the package as well as to demonstrate
a complete numerical integration procedure.
A source code distribution of Grafix is available. It is
written in C++ and can be compiled using g++.
The documentation is a bit sketchy and basically comprises
an introductory ASCII file and the examples mentioned.
[http://sunsite.unc.edu/pub/Linux/libs/X/c++libs/]
- Grail
- An extensible Internet browser that supports the protocols and
file formats commonly found on the WWW, e.g. HTTP, FTP, HTML.
It is easily extended to support other protocols or file formats.
It is written (and extensible) in the
Python language and uses
the Tcl/Tk toolkit,
and should compile and run on any UNIX system
to which these have been ported. The source code is available
as well as binaries for several platforms, including Linux.
[http://monty.cnri.reston.va.us/grail-0.3/]
- GraphApp
- A toolkit for platform-independent GUI programming in
C.
Version (2.2) of GraphApp (10/97) has versions for MS Windows,
mac, Motif, and Xaw.
A Python binding is also available for
the X Window versions.
A source code distribution of GraphApp is available. It includes
instructions on how to build each version as well as numerous
examples. It is documented in a reference manual and a tutorial
slide show.
[http://www.cs.su.oz.au/~loki/graphapp/]
- graphics
- Quite a few packages are available for performing various tasks
relating to graphics.
These packages include those for creating and manipulating graphics
and images, for building 2- and 3-D models for ray tracing, for
ray tracing, for volume visualization, and for converting between
various graphics formats.
They range from standalone programs to collections of tools to
libraries.
Animation packages include:
- AERO, a tool for the simulation and visualization
of rigid-body systems;
- Agat, a tool for the fast and easy production
of algorithm animation;
- AL, a programming language for modeling and
animation;
- anim, a system for algorithm animation;
- blender, a package of 3-D design and
animation software;
- Crystal Space, a 3-D graphics and
animation engine;
- DAVID, an interactive visualization environment;
- EcoSim, an ecological modeling package with
animation capabilities;
- Egon Animator, a animation development
tool written in Scheme;
- FElt, a finite element analysis tool with
animation capabilities;
- Geomview, an interactive program for
viewing and manipulating geometric objects;
- gifmerge, a program for creating animations
out of a series of GIF images;
- Gifsicle, another program for creating
animations out of a series of GIF images;
- GMV, a scientific visualization tool;
- Histo-Scope Widget Set, a collection
of widgets for graphing and plotting;
- ImageMagick, an image manipulation
package with animation capabilities;
- LinkWinds, a visual data exploration system;
- MindsEye, a project to create a modeling
and animation package;
- MMTK, a molecular modeling tool with animation
capabilities;
- Pixcon/Anitroll, a 3-D renderer
and animation system;
- PlotPlus, a general purpose graphics package;
- POLKA, a general purpose animation system;
- POSES++, a tool for modeling and simulating
arbitrary discrete and continuous systems;
- Sceda, a 3-D modeling package;
- StageTools, a set of modules that work
with Geomview for creating animations;
- StarSplatter, a package for creating
images and animations from astrophysical simulations;
- Vigie, a system for data visualization;
- Vis5D, a system for data visualization;
- VolVis, a system for data visualization;
- VORT, a rendering toolkit;
- xa, an animation package with a panel interface; and
- Xanim, a program for viewing animations in
many formats.
2-D plotting packages or package which contain such
functionality include:
- ACEgr, an interactive 2-D plotting
package with numerous capabilities;
- AGL, a library of graphics routines with
C and Fortran interfaces;
- Aipsview, a tool for visual astronomical data
analysis with which images can be viewed and processed and interactive
vector plots can be created;
- DATAPLOT, a scientific and mathematical
computational environment with 2-D plotting capabilities;
- DAVID, an interactive visualization
environment with, among many other things, 2-D plotting functionality;
- DISLIN, a high-level library of functions
for graphical data display;
- Dore, a graphics library for producing
high-quality images and image sequences;
- EDGR, an interactive program for creating,
editing, printing and storing graphical data;
- EPIC, a sytem for the management, display and
analysis of oceanographic data;
- ESO-MIDAS, an astronomical data analysis
system with 2-D plotting functionality;
- gd, a library for quickly drawing images and
writing them out as GIF files;
- Geomview, an interactive program for
viewing and manipulating geometric objects;
- GLE, a scientific graphics library;
- GMT, a collection of over 50 UNIX tools for
manipulating and graphing 2-D data;
- GMV, a scientific visualization tool for simulation
data from structured and unstructured meshes;
- Gnuplot, a command-line driven
interactive plotting utility;
- GPLOT, a utility program for plotting
CGM metafiles produced by other programs;
- GrADS, an interactive tool for the display
and analysis of Earth science data;
- Gri, a language for drawing scientific graphs;
- GYVE, a planned vector-based drawing program;
- Hvplot, a scientific plotting package for
2-D plots;
- Ipe, a drawing editor for creating figures
for LaTeX documents;
- ivtools, a framework for building drawing
editors which contains example drawing editors;
- jsplot, an interactive drawing and
charting tool;
- LASSPTools, a collection of utilities
for analyzing and graphing data;
- LinkWinds, a visual data exploration
system that can output geophysical data in several formats;
- MAPGEN/PLOTGEN, a collection of
programs to create maps of data with geographic coordinates;
- Mesh-TV, an interactive tool for visualizing
and analyzing data on regular meshes;
- PGPerl, a Perl
interface to PGPLOT;
- PGPLOT, a library of Fortran-callable
graphing routines;
- PHYSICA, a high-level interactive programming
environment with graphics capabilities;
- Plotmtv, an interactive 2-D plotting program;
- PlotPlus, an interactive, command-driven
2-D scientific graphics package;
- plotutils, a collection of programs for
plotting 2-D scientific data;
- PLplot, a library of C functions for
creating 2-D scientific graphs;
- PONGO, an application for interactively
plotting data which uses PGPLOT;
- PRL, a family of compatible libraries including
one for creating 2-D graphs;
- PSPLOT, a library of Fortran-callable
routines for generating 2-D PostScript graphs;
- ptcl, a package that registers
PGPLOT functions as
Tcl commands;
- PPGPLOT, a Python
interface to PGPLOT;
- Robot, a plotting and data analysis program;
- STAP, an interactive graphics and data
analysis program built on top of PGPLOT;
- tgif, a 2-D drawing utility that supports
the hierarchical construction of drawings;
- TIPSY, a tool for displaying and analyzing
the results of N-body simulations in astronomy;
- VCS, a package for the manipulation and
display of scientific data;
- Vigie, a system for data visualization;
- Vis5D, a package for visualizing output from
numerical weather models and similar sources;
- VOGLE, a library of C routines for creating
2-D graphs;
- VOPL, a plotting library built on top of
VOGLE;
- WIP, an interactive scientific graphics package
built on top of PGPLOT;
- xdang, a data visualization and viewing
package;
- XFarbe, a contouring program for isolines;
- xfig, an interactive tool for drawing and
manipulating objects;
- XGraph, an interactive program for creating
line and restricted surface plots;
- Xgraphic, an interactive package for
drawing graphs;
- Xlisp-Stat, an extensible statistical
computing environment with graph creation capabilities;
- XmdvTool, a package for visually exploring
multivariate data;
- XploRe, an interactive statistical computing
environment with graph creation capabilities; and
- YPLOT, a tool for creating 2-D scientific
plots.
Packages that can create 3-D graphics include:
- AL, a language for modeling and animation;
- Alpha Shapes, which reconstructs surface and
volume shapes for point clouds;
- blender, 3-D design and animation software;
- CINEMA, for the visualization and manipulation of
protein and DNA sequences;
- Crystal Space, a 3-D graphics engine based
on the portal technology;
- DATAPLOT, a system for data analysis and
graphics;
- DEM Tools, for working with Digital Elevation Model
(DEM) data;
- DISLIN, a graphics library;
- Dore, a graphics library for generating full-color,
high-resolution 3-D images;
- Geomview, an interactive program for viewing and
manipulating geometric objects;
- GGI, a generic package for accessing graphics capabilities;
- GL-Space, a 3-D modeler;
- GMV, a visualization tool for data from structured or
unstructured meshes;
- GOOD, an object-oriented framework for building
interactive 3-D applications;
- jaw3d, a 3-D model viewer;
- Lab-3D, a library for testing and comparing graphics
algorithms;
- LinkWinds, a visual data exploration system for
the geosciences;
- MAGE, a viewer for 3-D scientific images;
- MAM/VRS, a toolkit for animated, interactive 3-D
graphics;
- Mesa, a graphics library similar to OpenGL;
- MindsEye, a modeling and animation package;
- MolScript, for creating schematic and detailed
molecular graphics images;
- MR Toolkit, tools for the production of virtual
reality systems and other 3-D interfaces;
- Panorama, for creating, rendering and processing
3-D images;
- Plush, a 3-D graphics library;
- SART, a library for highly complex 3-D modeling;
- Sceda, a 3-D modeler and scene animator;
- 3Dom, a 3-D solid object modeler designed to create
input files for rendering programs;
- TINA, a library for vision algorithm development and
evaluation;
- Vis5D, a system for visualizing numerical weather
model output;
- xdang, a data visualization package;
- XDataSlice, a color imaging and data analysis tool;
- Zone, a library of 3-D PostScript operators;
- Graphlet
- A toolkit for implementing graph editors and graph drawing
algorithms, Graphlet is a graph editor, a toolkit for graph
editors, a programming language for graphs, and a toolkit
for graph drawing algorithms. A graph is a set of nodes
and edges where the nodes are objects and the edges the
connections between those objects. These can be used to
describe diagrams, networks, hierarchies, data flow diagrams,
data structures, and more.
The Graphlet graph editor comes with a set of 12 pre-installed
layout algorithms with more currently (3/97) under development.
The graph editor toolkit is a powerful toolkit for graph
editors and is implemented in C++,
LEDA, Tcl/Tk,
and Graphscript. Graphscript is a high level scripting
language based on Tcl/TK with which users can customize
and extend graph editors. Graph drawing algorithms help
turn abstract graph structures into nicely arranged sets
of nodes and edges.
The Graphlet package is available either as source code
or in binary form for Sun Solaris and SunOS, Linux and
MS-DOS/Windows platforms. The documentation includes
a Graphscript manual, a C++ interface manual, a GML file
format manual, and a standards manual, all of which are
available in PostScript format.
[http://www.fmi.uni-passau.de/Graphlet/]
- Graph3D
- A library of C++ classes which implement a real-time 3-D
rendering library with Gouraud shading, support for different
color depths and palettes, and color dithering.
Scenes can be built in Graph3D by either:
using the built-in primitives by creating objects, calling
the appropriate methods, and adding the objects to a scene;
loading polygon-based objects (in a simple text format) in from files;
and loading an entire scene in the MSDL format.
A source code distribution of Graph3D is available.
It is written in C++ and can be compiled and used on
several types of platforms, including most UNIX flavors.
It can be compiled to use either floating point or fixed
point arithmetic.
The documentation is a bit sketchy.
[ftp://ftp.math.ohio-state.edu/pub/users/gregt/]
- graphviz
- A set of graph drawing tools which address the problem of
visualizing structural information by constructing geometric
representations of abstract graphs and networks.
The goals of this package are to find efficient algorithms for
making readable drawings of graphs up to several hundreds of
nodes which quality approaching that of manual layouts as well as
to create systems that provide graph drawing as a convenient
service (i.e. defining sound interfaces and supporting features).
The graphviz package includes:
- dot, which makes hierarchical layouts of directed graphs;
- neato, which makes ``spring'' model layouts of undirected graphs;
- dotty, a customizable interface written in LEFTY;
- tcldot, a customizable graphical interface written in
Tcl 7.6; and
- libgraph, a base library for graph tools.
These tools can run stand-alone and can also be extended to
create interfaces to external databases and systems via writing
dotty or tcldot scripts to customize the graph
editor's behavior and to program it to communicate with external
files or programs.
A source code distribution of graphviz is available as are binaries
for several platforms including Linux Intel.
User's guides for some of the programs are available in
PostScript format.
The program suite is also documented in Krishnamurthy (1995).
[http://www.research.att.com/sw/tools/graphviz/]
- GRASP
- A commercial-grade GUI front-end for GNAT,
GCC, and JDK with
which users can compile, edit, and run programs.
It was originally developed for Ada software development but
has been extended to other languages.
It provides complete support for generating, editing, and printing
Control Structure Diagrams (CSDs) from Ada 95, C,
Java, and VHDL source code (where a CSD is
a diagram intended to increase the comprehension efficiency of
the source code).
The features of GRASP include:
- extensive capabilities as a GUI interface to the GNU
compiler family including the ability to run semantic checks via the
compiler and performing compiles without leaving the CSD window;
- a full text editor in the CSD window with capabilities including
cut, paste, copy, and search and replace;
- multiple file viewing and editing within one copy of GRASP;
- multiple CSD views;
- multiple language support;
- pre-defined language templates which can be modified;
- CSD generation either dynamically or on demand;
- preservation of spacing and comments;
- syntax error detection;
- creation and printing of PostScript images of CSDs;
- color syntax highlighting of keywords, strings, comments, numbers,
operators, etc.;
- the creation of a project workspace for project management; and
- the creatino of a Complexity Profile Graph (CPG) which is the
visualization of a fine-grained, statement level complexity metric.
Binary versions of GRASP are available for Sun Solaris and SunOS,
Linux Intel ELF, SGI IRIX, and and DOS/Windows platforms.
The UNIX binaries are available in versions that are both
dynamically and statically linked with the Motif
libraries.
Documentation is both included in the distribution and available
online.
[http://www.eng.auburn.edu/department/cse/research/grasp/]
- GRASS
- The Geographic Resources
Analysis Support
System is a raster- and vector-based
Geographic Information System (GIS), an image processing
sytem, and a graphics production system. It can serve
as an educational tool due to its ease of use via a simple
graphical user interface, and it can also be use as a research
tool due to the capability of extending and customizing it
via programs written in the native GRASS language
that call the available libraries. GRASS allows the quick
and easy analysis, storage, updating, modeling, and displaying
of landscape data.
GRASS contains over 40 programs to render images on both
interactive and hardcopy devices, over 60 raster manipulation
programs, over 30 vector manipulation programs, around
30 multi-spectral image processing and manipulation
programs, 16 data management programs, and more. There is
also an extensive library of user contributed programs.
The source code, written in ANSI C, is available as are
binaries for CDC, InterGraph, Linux, PC, SGI, and SUN4
platforms at the home site. Ports to other machines are also available at
scattered locations. Minimum requirements for this large package
are 8 Mb of RAM and 100+ Mb of free disk space. Documentation
is extensive and includes several user's and reference manuals
in both hypertext and PostScript format as well as several
tutorials scattered about on the Web.
[http://www.cecer.army.mil/grass/]
- GRAV
- This is a graphic viewer that runs at the linux console
(not X11). It has a user interface to select the images you want.
GRAV supports many popular graphics formats including GIF, PCX, LBM, IFF,
PPM,
PBM, BMP,
JPEG and PNG. It requires at least NCurses 1.8 and
SVGALIB 0.98.
[http://sunsite.unc.edu/pub/Linux/apps/graphics/viewers/svga/]
[ftp://ftp.cc.gatech.edu/pub/linux/apps/graphics/viewers/
]
- Gre
- A descendant of the Gri graphics creation
language.
Gre includes a working parser with Perl-like
capabilities and emulation of all relevant Gri commands.
[http://www.phys.ocean.dal.ca/~kelley/gre/gre1.html]
- GRG
- The GNU Report Generator is a program that reads
record and file information from a dBase3+ file, a delimited ASCII
text file, or an SQL query to an RDBMS and produces a report
listing. It is ideal for generating large bodies of text where
various parts of the text are substituted with information from
a database.
GRG was loosely designed to produce
TeX/LaTeX formatted
output although output in ASCII, Troff,
PostScript, HTML
or any other kind of ASCII-based output can just as easily be
produced.
The GRG formatting process is controlled by a definition file
which holds the report, page, and record layouts as well as what
fields to display and where to display them.
The file also supports other useful functions such as sorting,
filtering, and data manipulation.
The features that can be used in the definition file include:
- multiple input databases;
- support for ASCII text, dBase3+, CA-Ingre and GNU SQL Server databases;
- sorting of database records;
- automatic banner placement at the start of each sorted group;
- filters using regular expressions or GRG equates;
- five main text bodies, i.e. header, footer, record, 1st page,
and Nth page;
- user-defined macros and text bodies;
- user-defined equations on field contents including conditionals;
- user-configurable input parsing patterns (similar to Awk);
- include files and environment and system variables;
- a general purpose processing language; and
- optional Guile support.
A source code distribution of GRG is available under the
GPL. It has been compiled on several
platforms including Linux Intel.
A user manual is available in several popular formats.
[http://www.dai.ed.ac.uk/daidb/grg/]
- Gri
- A programming language for drawing science-style graphs.
It is not mouse-driven nor amenable to business-style applications,
but rather can be regarded as the plotting equivalent of the
LaTeX document preparation system (with a similar learning
curve of an hour or so). Gri can be used either interactively
or via a series of commands in an executable command file.
The capabilities of Gri include X-Y plots, contour plots, and
image plots, and the user has extensive control over line widths, fonts,
grayscales, and other graph components. Rudimentary data analysis
functions such as regression, column manipulation, smoothing, etc.
is available but it is not intended to be an integrated analysis
and graphics package. Gri is also a programming language so
new drawing methods can be easily added or customized versions
of Gri can be created for specific applications using programming
elements like statements, control structures, variables, etc.
Gri also allows the use of system calls, making the use of
familiar and powerful external tools possible.
Online help is available by either command name or topic.
Graphical output is in standard PostScript, allowing either
viewing or printing via standard methods.
Gri will compile and install on most UNIX platforms (e.g. Sun,
HP, IBM, Linux, etc.), PCs, and even VMS platforms. The
documentation includes an online texinfo manual, a PostScript
manual, a WWW hypertext manual, a cookbook with many examples,
and several reference cards. There is a mail-in newsgroup
to which questions or comments can be sent. There is also
an Emacs Gri major mode package
.
[http://www.phys.ocean.dal.ca/~kelley/gri/gri1.html]
- GRIB
- The GRIdded Binary format is a general purpose, bit-oriented
data exchange format developed by the World Meteorological
Organization (WMO). It is an efficient vehicle for transmitting
large volumes of gridded data to automated centers over high speed
telecommunications lines using modern protocols. GRIB can also
be used as a data storage format.
[http://wesley.wwb.noaa.gov/index.html]
- wgrib
- A program to manipulate, inventory, and decode files in
GRIB format.
[http://wesley.wwb.noaa.gov/wgrib.html]
- Groff
- GNU Troff is an extended version of the UNIX
troff and nroff document formatters. (The difference is in
the output formats, i.e. troff produces output for typesetting
machines, e.g. PostScript, and nroff produces output for
line printers.) Groff, like TeX,
works using a batch paradigm, i.e. the input files are normal
text with special formatting commands embedded and the output
files are text typeset for printing on a variety of output
devices. The capabilities of Groff include text filling,
adjusting and centering, hyphenation, page control, font and
character size control, vertical spacing adjustments, indenting,
the use of macros to alias lengthy command sequences onto
short commands, and much more. Various prepackaged macros
are also available for formatting technical documents, man
pages, graphics, mathematics, etc.
Various prepackaged Groff macros are available for formatting
technical documents, man pages, graphics, mathematics, etc.
Drivers are included for PostScript, DVI, X11, and
constant width printers. It includes the entire suite
of troff preprocessors or filters
with the exception of grap.
It supports character kerning which is not supported by any
of the troff family.
The Groff package is written in C++ and can be configured
and compiled via the usual GNU methods.
The given URL is to a
site that contains links to programs and documentation for
the entire *roff family of typesetting programs.
A series of AT&T technical reports provide documentation
for many parts of the *roff hierarchy. These include
Nroff/Troff User's Manual, A Typesetter-Independent
Troff, PIC - A Graphics Language for Typesetting,
CHEM - A Program for Typesetting Chemical Structure
Diagrams, Computers, and Chemistry, and
Tools for Printing Indexes. All are available at the
given URL.
See Dougherty and O'Reilly (1987),
Computer Systems Research Group, UC Berkeley (1994),
Christian (1987), and
McGilton and McNabb (1990).
[http://www.cs.pdx.edu/~trent/gnu/groff/index.html]
- Groupkit
- A groupware toolkit for developing real-time conferencing
applications. Applications such as drawing tools, editors and
meeting tools can be shared simultaneously among several users.
The goal of this software is to make developing groupware
applications only slightly more difficult than single-user
applications. It has been used as a research tool for prototyping
groupwave systems and investigating multi-user architectures and
interaction techniques, and also as a graduate level teaching tool.
A number of conference applications are included in the
distribution, including a brainstorming tool, a file viewer,
a fisheye, a group sketchpad, a group draw, a hyper node
editor, a postit note editor, a simple sketchpad, a text chat
and editor, and several simple games. Session managers, the
programs used to create, locate and join conferences, can
also be constructed using GroupKit.
GroupKit should compile and install on generic UNIX/X11 workstations.
It is based on the
Tcl/Tk toolkit as well as
an extension called
Tcl-DP, a Tcl front-end to
standard UNIX sockets. The source code is available and should
install on the indicated platforms if these tools are first
installed. The documentatation consists of a 50-page users
manual and several papers, all available in PostScript.
[http://www.cpsc.ucalgary.ca/projects/grouplab/groupkit/]
- GROW
- This project, which was an attempt to create a
Java-like language, was abandoned in 1996.
- GRS
- The Genome Retrieval and
Segment analysis tool is a graphic tool for the retrieval
and visualization of genome segments from partially of completely
sequenced genes. Genes are color-coded according to their presumed
functional roles to facilitate visual identification, and
aligned genes can be screened rapidly for potential homology
by automatic retrieval and alignment of the corresponding
protein sequences.
The map location of any genome segment can be visually compared
to the position of the same segment in other genomes or to
the position of other segments within the same genome.
A string analysis option allows the identification of genes
which are identically arranged in any pairwise set of genomes.
The program also allows the creation of a new gene table format
file to enable comparisons of gene order structures in recently
determined sequence data to the patterns of genes in already
existing microbial and organellar databases.
Binary versions of GRS are available for several platforms
including Linux ELF, Sun Solaris, DEC Alpha, and SGI IRIX.
Sample datasets are also available.
The documentation is thus far (9/97) a bit sketchy.
[http://evolution.bmc.uu.se/~thomas/software/grs/]
- GRUB
- The GRand Unified Bootloader is an attempt to
create a bootloader for PC-compatible machines that is both
easy to use for beginners and sufficiently flexible for advanced
users to use in diverse environments.
It is currently most useful for users of at least one of the
various free UNIX-like operating systems although it can be
used with almost every PC operating system.
The primary goal of GRUB is that is be compliant with the
proposed Multiboot Standard
..
GRUB has both a simple menu interface for preset options from
a configuration file and a highly flexible command line for
performing any desired combination of boot commands.
It can boot Linux, FreeBSD, NetBSD, Mach and the GNU HURD directly
and proprietary OS such as DOS, Windows and OS/2 via a chain-loading
function.
Additional features of GRUB include:
- support for multiple executable formats, e.g. many a.out variants
and ELF;
- support for non-multiboot OS, e.g. FreeBSD, NetBSD, and Linux;
- full support of loading multiple modules;
- support for a configuration file with preset boot commands;
- a menu interface listing the preset boot commands with a programmable
timeout;
- a flexible command-line interface accessible from the menu which can
be used to edit any preset commands;
- support for multiple filesystem types with the currently (5/97) supported
types being BSD FFS, DOS FAT, and Linux extfs;
- decompression support for files compressed with gzip;
- accessing data on any installed device;
- independence from geometry translation; and
- detection of all installed RAM.
GRUB can completely replace the primary bootloader on a hard disk or
floppy disk and can also be run after some other bootloader capable
of chain-loading on the hard disk.
[http://www.uruk.org/grub/]
- GRUUMP
- The Generation and Refinement of Unstructured
Mixed-element Meshes in Parallel package is a set
of C++ libraries for manipulating unstructured
finite element meshes as well as a set of executables built using
those libraries.
The GRUUMP project aims to develop automatic mesh generation software
for unstructured meshes with mixed element types.
The GRUUMP programs are:
- tri, a 2-D triangular mesh generator;
- meshopt2d, a 2-D mesh improvement tool;
- tetra, a 3-D tetrahedral mesh generator;
- meshopt3d, a 3-D mesh improvement tool;
- scat3d, a tool for interpolating scattered 3-D data; and
- t2d, which translates 2-D mesh files from one format to
another.
A source code distribution of GRUUMP is available.
It is written in C++ and known to compile on Linux Intel,
Sun SunOS and Solaris, SGI IRIX, and DEC OSF1 platforms.
A user's manual is included in PostScript format.
[ftp://tetra.mech.ubc.ca/pub/GRUMMP/]
- g77
- The GNU Fortran compiler, designed to
be a replacement for or alternative to the UNIX f77 command.
The g77 compiler consists of several components:
a modified version of the gcc command,
the g77 command itself,
the libf2c run-time library which contains the machine
code needed to support capabilities of the Fortran language
which are not directly supported by the machine code generated
by the g77 compilation phase; and
f771, the compiler itself which generates assembly code
which is converted to machine code by the assembler as.
The gcc command does several things
including preprocessing,
compiling (in a variety of languages),
assembling, and linking.
In a GNU Fortran installation it can by itself recognize Fortran
source files and compile them with the f771 command.
The g77 command is mainly a front-end for the gcc
command which also knows how to specify the libraries needed
to link with Fortran programs (libf2c and lm).
The libf2c library is not strictly a part of GNU Fortran
although just about any useful program needs to link with it.
Operations like trig functions are compiled by f771 into
machine code that calls on functions in libf2c when it
is run, i.e. it is a run-time library.
The f771 program contains most of what is unique to GNU
Fortran. It consists of two large pieces of code, one being
the GNU Back End (GBE) which can generate code for a wide
variety of processors (and is used by the C, C++ and Fortran
compiler programs).
The other piece contains the bits that are unique to GNU Fortran,
i.e. the code that knows how to interpret Fortran programs to
determine what they want to do and then pass the knowledge to
the GBE. This is known as the Fortran Front End (FFE).
The GNU Fortran language is distinct from the GNU Fortran
compilation system, i.e. g77.
While the primary purpose of the latter is to support the
former, it also supports various dialects of Fortran which
are not strictly the GNU Fortran language.
The language is primarily based on the ANSI FORTRAN 77 standard
but also offers some extensions popular among users of UNIX f77
and f2c, users of other compilers such as
the DEC Fortran compilers, and some that are unique to GNU
Fortran. It also contains a number of features that are part
of Fortran 90.
In addition to the intrinsic functions defined in ANSI FORTRAN 77,
GNU Fortran supports a large number of additional functions,
subroutines, types, and arguments.
The intrinsics supported by the compiler are divided into several groups:
badu77, UNIX intrinsics having inappropriate forms, e.g. functions
with intended side effects;
gnu, intrinsics support by the GNU Fortran language that are
extensions to the Fortran 77 and 90 standards;
f2c, intrinsics supported by AT&T's f2c
converter and its associated libf2c;
f90, Fortran 90 intrinsics;
mil, MIL-STD 1753 intrinsics (e.g. MVBITS, IAND,
BTEST, etc.);
unix, UNIX intrinsics (e.g. IARGC, EXIT, etc.); and
vxt, VAX/VMS FORTRAN intrinsics.
A complete list is available in the reference manual.
A source code distribution of g77 is available. It must
be compiled along with the appropriate accompanying version of
GCC since it modifies parts of the GCC source
code during compilation.
The latest (9/97) version is g77-0.5.20.1 and requires
gcc-2.7.3.1.
The source code
is available at the GNU sites and binaries in
ELF
format are available at either the
Sunsite Linux Fortran
or the
Linux mirror Fortran
directories.
A 300+ page reference manual is included in the distribution
in Texinfo format.
[http://www.gnu.ai.mit.edu/order/ftp.html]
- GSLIB
- A library of Fortran programs to perform various geostatistical
tasks. This is composed of various sublibraries including:
- Gamlib, routines
to calculate the varigram of data on 2-D and 3-D regular and
irregular grids;
- Kriglib, routines to perform kriging and cokriging
on 2D and 3D rectangular gridded data, multiple-indicator kriging,
and cross-validation and jackknifing of 2D and 3D data;
- Simlib, routines for boolean simulation of 2D ellipses, condition
simulation of a 3D rectangular grid (with or without Markov/Bayes
extension), 3D simulation by annealing, and unconditional simulation
by turning bands;
- Postplot, routines for generating grey scale and
color PostScript graphs;
- Solve, routines for inverting matrices; and
- miscellanous routines to perform such tasks as Gaussian back
transformation, indicator variograms for bigaussian distributions,
3D cell declustering, calibration for Markov/Bayes simulation,
compute normal scores of a data set, univariate transformation.
The GSLIB library is available in source code and also contains
example source code driver programs for most programs as well as
data for the example programs. The documentation is a bit sparse
and is contained in comments within the programs.
Complete documentation is available in Deutsch and Journel (1992).
[ftp://banach.stanford.edu/gslib/]
- GSM
- A suite of programs for using finite state machines (FSM) graphically.
GSM consists of several programs including:
- gsmedit, a Motif-based graphically
oriented FSM editor which allows you to draw a picture of a state
machine, define the events that drive it, and enter the code to
be executed when each state is entered;
- gsm2cc, a compiler which takes files created with
gsmedit and generates C++ code to
implement the semantics of the state machine, i.e. a header file
and a code file containing class declarations and definitions
appropriate to the given state machine;
- gsm2ps, a program which creates a rendering of the graphical
elements of a FSM in PostScript;
- gsmcheck, which checks to see if the FSM are created
properly; and
- gsm2dot, a program which transforms files created by
gsmedit to files suitable for input to dot, a directed
graph layout program.
GSM was developed on a Linux Intel machine and is available
in both source and binary formats and in both .tar.gz and
RPM formats.
Binary versions both statically and dynamically linked to
the Motif libraries can be obtained.
[http://www.slip.net/~andrewm/gsm/]
- GSM
- The Global System for Mobile communication
is an implementation of a lossy speech compression algorithm coder
and decoder in C.
The implementation consists of a C library and a standalone
program.
The library is used to create a GSM object which holds the
state needed to either encode frames of 160 16-bit PCM samples
into 264-bit GSM frames or to decode GSM frames into linear
PCM frames.
The program is called toast and is modeled after the
UNIX compress program, i.e. it former operates on sound files
similar to how the latter operates on data files.
A difference is that toast losses information with each
compression cycle.
The source code for GSM is available. It is written in C
and can be compiled and used on generic UNIX platforms.
It is documented in a man page.
[http://kbs.cs.tu-berlin.de/~jutta/toast.html]
- GSS
- The GNU SQL Server is
a free portable multiuser relational database
system which supports the full SQL89 dialect with some extensions
from SQL92. GSS provides multiuser access and transaction isolation
based on predicative locks.
GSS is available as source code and can be easily installed on
most UNIX systems using the supplied configure script.
The documentation (in English, at least) is fairly
scarce at present (4/97), consisting mainly of an ASCII description
and installation guide.
[http://www.ispras.ru/~kml/gss/]
- Gstat
- A program for the multivariable geostatistical modeling, prediction and
simulation of variables in 1, 2 or 3 dimensions.
The geostatistical data (or some transform thereof)
are modeled as a sum of a constant or
varying trend and a spatially correlated residual.
The modeling portion consists of estimating the spatial correlation
given a model for the trend and some assumptions of stationarity.
The prediction part (also known as kriging) involves finding the
best linear unbiased prediction (i.e. the expected value) and the
prediction error for a variable at a specific location given
observations and a model for their variations in space.
Simulation entails creating randomly drawn realizations of a field
given a model for the data which can be conditioned on observations.
Gstat performs prediction and estimation with a model that is the
sum of a trend modeled as a linear function of polynomials (of either
the coordinates or of user-defined base functions) and an independent
(or dependent) geostatistically modeled residual.
This allows the performance of simple, ordinary, and universal
kriging and cokriging as well as standardized cokriging, kriging
with external drift, block kriging, and kriging the trend.
Uncorrelated and ordinary or weighted least squares regression
prediction is also available.
Simulation is done in Gstat by the conditional or unconditional
(multi-)Gaussian sequential simulation of point values or block
averages or by (multi-)indicator sequential simulation.
Other features of Gstat include an interactive user interface
for modeling variograms and generalized covariances using
the Gnuplot plotting program,
support for several ASCII and binary data formats (e.g. ASCII
column, GeoEAS, PCRaster, ArcInfo-grid, Idrisi image),
a command language that is concise and flexible,
user customization of program defaults, and more.
A source code distribution of Gstat is available as are
binaries for Linux Intel or MS-DOS platforms.
It is written in ANSI C and can be compiled on many generic
UNIX flavors with an appropriate compiler, e.g. gcc.
It is documented in a 35 page
manual in PostScript format.
[http://www.frw.ruu.nl/gstat/]
- Gt
- A collection of C++ classes for creating GUIs under
the X Window System based directly
on Xlib. It provides low-level
encapsulation of X resources and high-level GUI components.
The Gt library was created to allow further widgets to be
developed with as little effort as possible. It is implemented
in an object oriented manner with classes divided into two
parts, i.e. low-level classes which provide an object oriented
interface to most of the X resources and high-level classes which
use the low-level classes to create such components as buttons,
frames, and lists.
The classes in the package are:
GtApp, which is a common anchor class for all of the displays
and widget created by a program;
GtAppDisp, which extends the GtDisplay class with event
distribution to a tree of widgets;
GtBase, an abstract base class for many of the other classes;
GtColormap, which encapsulates the X colormap in a C++ object;
GtCursor, which encapsulates an X cursor;
GtDisplay, which handles the connection to the X server and
encapsulates the X display;
GtDrawable, an abstract superclass for the encapsulation of
pixmaps and windows;
GtFont, which encapsulates an X font in a shared object;
GtGC, which encapsulates an X GC in a private or shared object;
GtImage, which encapsulates an X image structure;
GtWidget, which is the base class of all widget classes;
and GtWindow, which encapsulates an X window and provides methods
involving those window, e.g. mouse pointer handling.
The Gt source code is included in the distribution. It is
written in C++ which can be compiled using g++ via the
supplied configure file.
All of the classes are documented in ASCII text files included
in the distribution.
[http://sunsite.unc.edu/pub/Linux/libs/X/]
- GTK/GTK+
- The GIMP ToolKit is a small, efficient
widget set for creating graphical user interfaces
(GUIs) designed with the general look and feel of
Motif.
GTK is essentially an object-oriented application programmer's
interface (API) written in C and using classes and callback functions.
It was originally designed for developing the
GIMP. It was also originally called GTK
with a newer version with additional functionality called GTK+.
It allows a programmer to use a variety of standard widgets
such as push, radio, and check buttons, menus, lists, and frames
as well as several container widgets useful for controlling the
layout of the interface elements.
The GTK library is built on top of the GDK or General
Drawing Kit, a wrapper library built on
top of Xlib. GDK allows a programmer
to perform many common operations without having to explicitly
call Xlib, e.g. a common interface to both regular and shared
memory which allows an application to transparently use the
fastest image type available.
A third, smaller library called GLIB is also included in the
distribution. It contains replacements for a few programs
such as printf and malloc which are used to increase
the portability of GTK.
Programs built using GTK include
GIMP,
gsumi, and
Mnemonic.
There is an introductory article about GTK in the March 1998 issue of
the Linux Journal.
Ancillary software for use with GTK includes:
- GCK, a collection of utilities for UI construction,
color and image handling, vector operations, etc.;
- GPK, an add-on library that permits thread-safe
access to GTK;
- GUBI, a user interface builder.
[http://www.gimp.org/gtk/]
- GTK-
- A C++ wrapper for the
GTK widget library.
[http://www.cs.tut.fi/~p150650/gtk/gtk-.html]
- wxGTK
- A port of the wxWindows cross-platform
GUI toolkit to the GTK widget set.
[http://www.freiburg.linux.de/~wxxt/]
- gtml
- An HTML preprocessor which adds some extra
features designed for maintaining multiple Web pages.
The gtml commands are embedded in HTML documents and then
the program processes them while leaving the rest of the
file unchanged. Thus it is compatible with all versions of
HTML and can be used immediately on any HTML pages.
The gtml program capabilities include:
- creating a project file with the names of all your Web pages so
they can be simultaneously updated;
- specifying a tree-like hierarchy of Web pages so Next, Previous,
and Up links can be automatically added;
- the use of constants for HTML fragments to save typing and
ensure consistency;
- the inclusion of header, footer and other common files into
all your HTML files;
- the inclusion of a timestamp to show the time of last update;
- the use of conditional commands to create different output
versions under different circumstances; and
- diversion of output to different directories to generate different
versions (e.g. frames and non-frames versions).
The gtml program is a Perl script and
can be used on any platform with a Perl installation.
The program is documented at the Web site.
[http://www.firststep.com.au/software/free.html]
- Guavac
- A portable compiler for the
Java language. All materials
needed to compile a HotJava/Netscape compliant applet are
included in the distribution, and no proprietary code from
Sun is needed. It was written in C++ to compile on any UNIX
system and will compile with gcc-2.7.2.
[http://http.cs.berkeley.edu/~engberg/guavac]
- GUBI
- The GTK+ User Interface Builder
is a GUI builder which uses the GTK+
toolkit as an underyling widget set.
[http://www.SoftHome.net/pub/users/timj/gubi/index.htm]
- GUI builders
- Packages include:
- Guile
- GNU's Ubiquitous Intelligent
Language for Extension
which includes
an embeddable Scheme
interpreter, several graphics options, other languages that
can be used along with Scheme, a formalism for applets,
and hooks for much more.
The Guile project originated out of the dissatisfaction of
some with Tcl/Tk as an
extension language, and was designed and built to overcome
the perceived limitations of that language.
The Scheme interpreter will interpret almost all standard
scheme programs, with about the only difference between Guile
and the R4RS standard being that Guile is case sensitive.
One of the graphics options is the use of the Tk toolkit to
create widgets or groups of widgets for a GUI, while another
is an interface to OpenGL via the almost complete
Mesa implementation of GL.
Other languages can also be used to extend programs via translators
that convert them into Scheme. At present the only other language
available is Tcl, but converters are also planned for Python,
Perl, C, etc. Libguile is a library that can be linked to C
programs and which allows the C programs to start a Scheme
interpreter and execute Scheme code.
Guile has a protocol for writing applets, i.e. programs that
execute in the context of a parent program, in Tcl. These
applets will currently run on the
SurfIt browser analogously
to how Java applets run
on Netscape browsers (or
at least the Netscape browsers for operating systems other than
Linux).
Guile also includes Goonix, an interface to Posix, and can be
configured to use threads on the platforms that support them.
Regular expressions are implemented via the rx library.
There is also a PLUGIN system that defines an orderly way of
adding packages to the Guile tree.
The source code for Guile is now available from the standard
GNU FTP sites
Mark Galassi's
Guile documentation site
may also be of some interest.
Guile is also being used as the implementation language for
the GNUDL project.
[http://www.red-bean.com/guile/]
- GV
- A PostScript viewer developed using
Ghostview as a base. It is easier to
use than Ghostview and has some additional features such as the
capability of viewing PDF files.
[http://wwwthep.physik.uni-mainz.de/~plass/gv/]
- GWM
- The Generic Window Manager is an extensible
window manager for the X Window System. It is based on
a Window Object Oriented Language (WOOL) kernel which is
an interpreted dialect of Lisp
with specific window management primitives. A window
manager is built by writing WOOL files which describe
objects on the screen, including a finite state machine
(FSM) which triggers WOOL actions in reponse to X events
on objects. The objects can be used as decorations around
X applications windows, as pop-up menus, or as
independent windows. GWM can be used to efficiently
emulate other window managers and play the same role
for window managers that Emacs
does for text editors.
The distribution includes some pre-defined profiles
for various popular window managers.
A source code distribution of GWM is available as
are binaries for DEC Alpha, Linux Intel, and Sun SunOS
and Solaris platforms. A 120 page user's manual
is available in PostScript
format.
[http://zenon.inria.fr/koala/gwm/]
- gwstat
- This processes the HTML output files from
wwwstat and generates a set
of GIF graphics that illustrate the httpd traffic by hour, day, week,
month, year, calling country/domain and accessed archives. In addition
to wwwstat this requires Perl,
ACEgr,
Ghostscript, and
ImageMagick
to work correctly. Luckily, all of these packages compile and
run on Linux boxes.
[http://dis.cs.umass.edu/stats/gwstat.html]
- GWT
- The Gadget Windowing Toolkit is a complete
windowing toolkit for Java graphical user
interface (GUI) applications. It was built to improve upon and
replace the Abstract Windowing Toolkit (AWT) that comes installed
with typical Java Virtual Machines (JVM).
A gadget is a software object with the API and functionality
of a standard GUI component, but instead of having its own
AWT-managed Canvas or Panel in which to draw it is drawn in
a shared Canvas or Panel along with other gadgets.
Other advantages and features of the GWT include:
support for transparent components, e.g. background images that
are visible through all of the gadgets in a window;
the capability of passing mouse events through a transparent
component to any component beneath which allows the drawing of
overlays like tips, pop-up windows for combo components, and
pop-up menus;
a high software re-use capability obtained via configurability,
flexibility, and extensibility;
automated support for keyboard focus management wherein the
tab key can be used to traverse the focus chain forward or
backward between any gadgets which are transversable;
built-in on-line help support;
emulation of the Java 1.1 API and event model;
the capability of supporting a mixture of AWT and GWT objects;
and more.
A source code distribution of GWT is available under the
GPL.
Documentation is included in the distribution.
[http://www.dtai.com/products/gwt/]
- gwTTS
- The grounds wide Tele-Tutoring System
is a set of interactive multimedia tools which enable instructors
and students to interact and collaborate remotely over a computer
network.
GwTTS is a multi-platform system which runs on UNIX workstations,
Intel PCs, and Macs. It is easy to use and can be started from
a web browser nad takes advantage of the
MBone to allow a large number of users
to simultaneously interact through a gwTTS application.
The gwTTS system consists of a set of applications.
In Electronic Office Hours instructors and students can communicate
electronically in a manner similar to the traditional office hour
scenario. This supports bidirectional compressed digital video and
audio, a shared whiteboard, and joint browsing of Web documents.
Digital Video Broadcast of Lectures enables a grounds-wide dissemination
of course lectures.
In the Virtual Classroom the instructor and students are at different
geographic locations but interact as if they were in the same classroom.
This supports a simultaneous exchange of motion video, voice, data,
and graphical images.
Remote Study Groups enables groups of students to join and communicate
via their desktop workstations. It supports audio and visual
communication, the joint editing of files, and a whiteboard.
The gwTTS system is available in binary form for IBM AIX,
FreeBSD, SGI IRIX, Linux Intel, and Sun SunOS and Solaris platforms.
It consists of separate teacher and student application binaries
as well as some resource files.
Additional required software packages are nv,
vat, wb, and
Mosaic. Ghostscript
is also recommended. A list of recommended hardware options is
available at the site.
The package is documented in installation and user's guides.
[http://www.cs.virginia.edu/~gwtts/]
- GYVE
- The GNU Yellow Vector Editor is a vector-based
drawing program in the spirit of Adobe Illustrator and Corel Draw.
GYVE is planned to be an extensible drawing editor which will use
Guile as an extension language and
Objective-C to implement GYVE and
an array of plug-in modules.
It will also use Display PostScript (DPS) as the drawing engine
and GTK to construct the GUI.
[http://bandits.aist-nara.ac.jp/~masata-y/]
- gzip
- The GNU zip package is a compression utility designed to
replace the classic UNIX compress utility, and it is better
in that is has much better compression and it doesn't use any
patented algorithms.
A source code distribution is available which can be installed
on a wide variety of platforms with the usual
GNU tools.
[http://www.gzip.org/]