next up previous contents
Next: Ja-Jm Up: Linux Software Encyclopedia Previous: Ia-Im   Contents

In-Iz

Last checked or modified: Nov. 2, 1996

[home / linux ]


CATEGORIES | NEW
Aa-Am | An-Az | Ba-Bm | Bn-Bz | Ca-Cm | Cn-Cz | Da-Dm | Dn-Dz | Ea-Em | En-Ez | Fa-Fm | Fn-Fz | Ga-Gm | Gn-Gz | Ha-Hm | Hn-Hz | Ia-Im | In-Iz | Ja-Jm | Jn-Jz | Ka-Km | Kn-Kz | La-Lm | Ln-Lz | Ma-Mm | Mn-Mz | Na-Nm | Nn-Nz | Oa-Om | On-Oz | Pa-Pm | Pn-Pz | Qa-Qm | Qn-Qz | Ra-Rm | Rn-Rz | Sa-Sm | Sn-Sz | Ta-Tm | Tn-Tz | Ua-Um | Un-Uz | Va-Vm | Vn-Vz | Wa-Wm | Wn-Wz | Xa-Xm | Xn-Xz | Ya-Ym | Yn-Yz | Za-Zm | Zn-Zz |


incres
An implementation of an efficient method for computing all isolated solutions of an arbitrary system of N polynomials in N unknowns based on the sparse resultant. This uses algorithms for constructing sparse resultant formulas that yield nontrivial multiples of the resultant, with the matrices thus obtained allowing the reduction of the root-finding problem to the eigendecomposition of a square matrix. The procedure is implemented in C and provides a self-contained and fast polynomial solver along with an eigenvalue solver. This method is useful for solving problems expressed in terms of geometric and kinematic constraints, with the resulting polynomial systems found in robotics and computational biology. See Emiris and Canny (1995).

[ftp://ftp-sop.inria.fr/saga/emiris/sparse/incremental/]

[incr Tcl]
A package, also called Itcl, which provides the extra language support needed to build large TclTk applications. It introduces the notion of objects which act as building blocks for an application, with each object being a bag of data with a set of procedures or methods that are used to manipulate it. Objects are organized into classes with identical characteristics, and classes can inherit functionality from one another. This adds an object oriented paradigm on top of the basic variable/procedure elements of Tcl/Tk, making the resulting code easier to understand and maintain.

In addition to the basic [incr Tcl] features, the package also includes: [incr Tk], a framework for building mega-widgets using [incr Tcl]; [incr Widgets], a widget set with many new and general purpose widgets like option menus, comboboxes, selection boxes, and various dialogs; and namespaces, a collection of commands and global variables that is kept apart from the usual global scope.

The source code for [incr Tcl] is available along with binary versions for Windows 95/NT and Mac platforms. The documentation is contained within a tutorial introduction with code examples.

[http://www.tcltk.com/itcl/]

InDEPS
A Java- and CCA-based next generation component architecture for high-performance computing. The project goal is to create a common component architecture for high-performance computing in which every application is itself a component, components are embeddable and extensible, and both SPMD and MIMD applications are treated. The component-based framework consists of several core packages including:
  • an IndepsObject interface providing the fundamental properties an object should have as well as basic component functionality accessible from the Java language and packages;
  • a Component interface containing a context (with a data store, partition, machine and context data) in which specific components can be derived to meet various needs;
  • a Component Container interface that provides flow control of component execution, both SPMD and MIMD, provides access to common data, and provides recursiveness and embedding;
  • Data interfaces including a storage container called DataStore for cell data and a partition table that keeps track of the data therein;
  • a MessageComponent interface providing a serialiable object for exchanging data and tasks between processors; and
  • Ports interfaces that provide external access to methods within a component, defining both the method name and return type.

[http://z.ca.sandia.gov/~indeps/]

iNES
A portable emulator of the Nintendo Entertainment System written in C. Binary versions are available for several platforms including Linux Intel.

[http://www.komkon.org/fms/iNES/]

inet6-apps
A collection of IPv6-aware applications designed to replace many of the basic networking programs in a system. Most of them support IPv4, IPv6, and UNIX domain sockets. The utilities in inet6-apps include:
  • finger and fingerd, the finger client and server;
  • ftp and ftpd, the ftp client and server;
  • inetd, the Internet super-server daemon;
  • ping, an echo diagnostic program; and
  • tftp, a tftp client.

The source code distribution of inet6-apps is configured to compile and install the programs on Linux Intel systems. Each program is documented in a man page.

[ftp://ftp.uk.linux.org/pub/linux/Networking/IPv6/]

inetutils
The GNU package of common networking utilities and servers. All are currently (9/97) from the 4.4BSD-Lite2 distribution with occasional changes made to make them compatible with the GNU Hurd and to make them more portable via autoconf.

The programs included in inetutils are:

  • ftp, a user interface to the standard FTP (file transfer protocol) which allows the transferal of files to and from a remote network site;
  • ftpd, an FTP server process daemon which uses the TCP protocol and listens at a specified port;
  • inetd, a daemon that listens for connections on certain internet sockets and invokes the correct service when a request is found, i.e. essentially one daemon that can invoke several others;
  • rcp, which allows the remote coping of files between machines;
  • rexecd, a remote server daemon which provides remote execution facilities with authentication based on usernames and passwords;
  • rlogin, which strats a terminal session on a remote host using either the Kerberos mechanism or the standard Berkeley rhosts mechanism;
  • rlogind, the server daemon for the rlogin program which provides a remote login facility with authentication based on privileged port numbers from trusted hosts;
  • rsh, which executes locally entered commands on remote hosts;
  • rshd, the remote server daemon for rcmd and rsh;
  • syslog, which makes entries in the system log;
  • syslogd, a daemon that reads and logs messages to the system console, log files, other machines, and/or users as specified;
  • talk, a visual communication program which copies lines from your terminal to a remote terminal;
  • talkd, the server daemon which notifies a user that someone else wants to initiate a conversation via talk;
  • telnet, used to communicate with another host via the TELNET protocol;
  • telnetd, a server daemon which supports the TELNET protocol;
  • tftp, a program which supports the Trival File Transfer Protocol (TFTP);
  • tftpd, a server which supports the TFTP; and
  • uucpd, a server daemon which supports UUCP.

A source code distribution of inetutils is available. All the programs are written in C and can be compiled and installed via the autoconf scripts supplied in the distribution. Each program is documented in a separate man page.

[http://www.gnu.org/software/inetutils/inetutils.html]
[http://www.gnu.ai.mit.edu/order/ftp.html]

Inferno
A network operating system and programming environment to deliver content in an environment of heterogeneous networks, clients, and servers, i.e. to create distributed services. It is intended to be used in a variety of network environments, e.g. those supporting advanced telephones, hand-held devices, TV set-top boxes attached to cable systems, inexpensive networked computers, and also traditional computing systems.

The features of Inferno include:

  • portability across processors (i.e. it currently runs on Intel, Sparc, MIPS, ARM, HP-PA and AMD 29 K architectures),
  • portability across environments (i.e. it runs as a standalone OS on small terminals and also as a user application under Windows NT and 95 and several UNIX platforms),
  • a distributed design wherein an identical environment is established as the user's terminal and at the server,
  • minimal hardware requirements (i.e. it can run useful applications on standalone machines with as little as 1 MB of memory),
  • portable applications written in the type-safe language Limbo whose binary representation is identical over all platforms, and
  • dynamic adaptability (i.e. applications may, depending on the hardware and resources available, load different program modules to perform a specific function).

A free binary distribution designed for programmers interested in developing network applications under Inferno is available for Plan 9, Windows 95, Windows NT 3.5 and 4.0, SGI Irix 5.3, Solaris 2.5, and Linux platforms. All sorts of documentation is available in PostScript and PDF formats for Inferno and Limbo at the home site.

[http://inferno.lucent.com/inferno/index.html]
[http://www.lucent-inferno.com/]

InfoDock
An integrated software development and Internet productivity tool based on XEmacs. InfoDock provides a consistent look and feel across all its integrated information management, software development and productivity tools. The XEmacs-based features include:
  • a compiler interface with which you can run arbitrary build commands such as makefile targets, with the build output placed in a scrollable buffer;
  • support for five different debuggers with the capability of setting and clearing breakpoints with a mouse click;
  • an autonumbered outliner with each item given a relative label reflecting its present position in the outline and a permanent label that can be used in hyperlinks;
  • specific editing modes for most major programming languages including assembler and many scripting languages;
  • automatic color coding of programs based on language syntax;
  • function browsing, i.e. obtaining the definition of an entity by clicking on a function call, macro or assembler label;
  • an object-oriented code browser; and
  • a visual file comparison tool that uses colors to show differences between files.

The browsing and editing features of InfoDock include:

  • all InfoDock documentation available online;
  • running any InfoDock tool from a dumb terminal over a dialup line;
  • an information management system called Hyperbole (also separately available);
  • an online library system for, e.g. publishing software standards;
  • advanced editing via the underlying features of XEmacs;
  • remote file access, i.e. reading and writing files across the Internet with the same commands used for local files; and
  • a Web browser including support for many recent extensions and modes for creating HTML and Java code.

InfoDock also has advanced messaging features including:

  • several available email readers with advanced features such as automatic mail categorization and prioritization, filtering by message attribute, and multimedia mail handling;
  • a news tool for reading and writing Usenet articles; and
  • integration with paging server programs for sending numeric and alphanumeric messages to a wide range of paging systems.

A source code distribution of InfoDock is available as Open Source. Binary distributions are also available for several platforms including Linux. Documentation includes an InfoDock user's manual as well as manuals for the various component systems.

[http://www.BeOpen.com/products.html]

InfoPrism
A document processing system which translates SGML source files conforming to the InfoPrism DTD into different output formats, e.g. HTML, Texinfo, LaTeX, and plain text.

The installation and use of the InfoPrism package requires an SGML parser, [incr Tcl], the Jultaf library, and the Tcl/Tk package. It currently (6/97) supports the sgmls and nsgmls parsers. The documentation is still a bit sketchy.

[http://www.linuxia.de/InfoPrism/]

Info-ZIP
A project to provide free, portable and high quality versions of the Zip and UnZip compression/archive utilities that are compatible with the DOS-based PKZIP commercial program. A source code distribution is available as are binaries for a frighteningly large number of platforms.

[http://www.cdrom.com/pub/infozip/]

INN
InterNet News is a complete Usenet system of which the cornerstone is innd, an NNTP server that multiplexes all I/O. News reading is handled by a separate server called nnrpd which is spawned for each client. INN separates hosts that feed you news from those that have users reading news, although a mixed environment can also be supported with a bit of extra work. See the Usenet group news.software.nntp for various discussions and information about INN and other packages as well as the NNTP standard itself.

[http://www.isc.org/inn.html]
[http://www.cis.ohio-state.edu/~barr/INN.html]

inner-apps
A collection of network applications including:
  • fdsniff, a diagnostic tool for debugging file descriptor leaks;
  • fingerd, a finger daemon;
  • gai, a front-end for getaddrinfo;
  • ifi, an interface index function front-end;
  • ipfwdump, saves IP firewalled packets for tcpdump; and
  • netd, a replacement for inetd and tcp_wrappers.
A support library of useful functions is also included in the package. Documentation is via man pages.

[ftp://ftp.inner.net/pub/ipv6/]

Innovation3D
A open source 3-D modeling program created for Linux 3-D game development (although more widely applicable). The features and functionality include:
  • splines, e.g. lines, polygons, Nurbs curves;
  • quadrics, e.g. cubes, planes, spheres, and cylinders;
  • surface creation via lathing splines, sweeping splines and spline cages;
  • mesh creation via revolving lines, polygons, extruding lines, and polygons;
  • face subdivision and extrusion;
  • merging, welding and splitting vertices;
  • bone creation and the attachment of vertices to create digital skin;
  • IK and FK manipulation of bones;
  • keyframe animation;
  • material control via a color picker;
  • texture control and autosizing;
  • planar, cylindrical and spherical texture mapping modes;
  • a UVEditor to manipulate UV mapping coordinates;
  • unlimited undo/redo;
  • saving windows to a PNG or BMP file; and
  • print support for windows.

[http://innovation3d.sourceforge.net/]

INRSTeX
A set of TeX macros for document preparation. It was designed for use in a bilingual (French/English) environment.

[http://tug2.cs.umb.edu/ctan/tex-archive/macros/inrstex/]

INSPIRE
A VHDL simulation environment with INcremental analysis/elaboration, SPecialized functions, and Incremental waveform REgeneration is a set of tools needed to simulate VHDL descriptions. The available tools include:
  • a VHDL compiler that takes VHDL intermediate forms as input and generates C code;
  • a waveform analyzer; and
  • a source-level debugger.

INSPIRE features that speed up the VHDL simulation process include:

  • incremental analysis/elaboration that reduces the number of reanalyzed and recompiled design units when the description is modified;
  • use of specialized functions for executables, a process that slows compilation but greatly speeds up simulations; and
  • incremental regeneration of signal waveforms.
Binary distributions are available for a range of platforms including Linux Intel. This requires the VDT package.

[http://poppy.snu.ac.kr/INSPIRE/]

Intel2GAS
A utility for converting assembler source files written for NASM to files that can be assembled using the GNU Assembler (GAS) on the i386 platform. The features include:
  • basic opcodes;
  • MMX/FPU support;
  • preliminary GAS2Intel conversion as well; and
  • conversion from masm/tasm to GNU syntax.

[http://hermes.terminal.at/intel2gas/]

interactive drawing
Programs with interactive drawing capabilities include:

INTERCAL
The language designed to be Turing-complete but as fundamentally unlike any existing language as possible. The main advantage this has over other programming languages is its simplicity, i.e. it has few capabilities and therefore there are few restrictions to be kept in mind. A version of this written in C is available and features a manual unlike any software manual you'll ever read.

[http://earthspace.net/~esr/intercal/]

interface compilers/generators
Interface compilers are programs that automate the process of creating code that allows programs written in one programming language to access programs written in other programming languages. Available interface compilers include:
  • cfortran, for creating an interface between C and Fortran routines and data;
  • c2hs, for creating Haskell bindings to C libraries;
  • CXX, for extending Python with C++ programs;
  • f2py, for interfacing Fortran and Python;
  • g-wrap, for accessing C libraries from within the Guile and RScheme interpreters;
  • ILU, provides multi-language object interfaces that hide implementation distinctions between different languages, e.g. C++, ANSI C, Python, Java, Common Lisp, Modula-3, Guile Scheme and Perl;
  • Matwrap, for interfacing C++ code into matrix-oriented scripting languages, e.g. Matlab, Octave and Tela;
  • Pyfort, generates bindings for Fortran functions so they can be accessed as Python modules;
  • SILOON, for interfacing C++ and Fortran code with Python and Perl;
  • SIP, generates bindings for C++ classes so they can be accessed as Python classes;
  • SWIG, compiles interfaces connecting programs written in C, C++ and Objective-C with scripting languages including Perl, Python, Tcl/Tk and Guile;

InterMezzo
A distributed filesystem with a focus on high availability via such features as disconnected operation and automatic recovery from network outages. The primary project goal is to provide support for the flexible replication of directories, with disconnected operation and a persistent cache. This will, for example, make it easy to manage copies of home directories on multiple computers, as well as solve the laptop/desktop synchronization problem. A large scale goal is to provide replication of large file repositories to support, e.g. high availability for servers.

InterMezzo consists of two main parts:

  • an OS-specific kernel module called Presto on Linux; and
  • an OS-independent userspace cache manager and file server named Lento.
It uses the local disk file system as a persistent cache which allows for disconnected operation and good performance, while avoid the complexities associated with implementing a new disk file system to support its metadata. Presto is a wrapper around the local disk file system, intercepting access to files and directories to check for the currency of the data, and intercepting updates to add these to an update journal for propagation to servers.

This is currently (3/01) in the beta stage, so the user is cautioned not to put anything irreplaceable on it just yet.

[http://www.inter-mezzo.org/]

Internet Junkbuster Proxy
A proxy that filters out such things as banners and cookies while surfing the web. It works as a proxy that stands between a browser and the Internet, checking every HTTP request for each resource against a blockfile containing selected URLs before sending the request. Newly annoying ads can be added to the blockfile as can entire sites. The Junkbuster can stop almost all cookies except from those sites specified as allowed to set cookies. It can also prevent the disclosure of other information such as a computer's hardware and software configuration. It can be used with almost any browser and can be used in a wide variety of computing environments.

A source code distribution of Junkbuster is available which can be installed in many environments including Linux Intel. Its use is documented in a FAQ and a man page, both of which are available online.

[http://internet.junkbuster.com/]

interpcom
A C library which can be used to create command interpreters, i.e. programs that can accept interactive commands or programs (i.e. scripts) consisting of sequences of commands. This can be used, for instance, to create a shell. The author was inspired to create this when he used to command interpreter included in the Macaulay number theory package. The features of interpcom include:
  • adding new commands easily;
  • an expression evaluator that can be used to parse numeric arguments, make direct computations, and define variables;
  • loop and jump constructs for writing, loading and executing sequences of commands, i.e. scripts;
  • defining arrays of several types of numbers as objects with names to allow referring to objects in command arguments by giving their name;
  • defining structures whose members are objects or other structures; and
  • two different implementations of complex numbers.
A tutorial application that uses the library is included in the distribution. A source code distribution is available which can be compiled on most UNIX flavors.

[http://sunsite.unc.edu/pub/Linux/system/shells/]
[http://www.math.jussieu.fr/~drezet/]

Interscript
An advanced literate programming system designed to suport the integrated development of source code and documentation. The features include:
  • use of Python 1.5.x for scripting services as for the implementation;
  • platform-independent filenames;
  • several available document constructions including automatic numbering of headings, cross-references, tables, nested lists, URL citations, code and prose displays, and basic font selection;
  • advanced Web weaving including automatic heading pagination, syntax highlighting, CSS1 support, folding tables of contents, frames, flexible navigation, convergence status, and tables of classes, functions, identifiers, sections and tests;
  • Perl POD format support;
  • specialized Python support including several general purpose extension modules and a function generator supporting Eiffel-style assertions;
  • weavers for LaTeX2e, plain text and HTML;
  • an input filter for HTML;
  • planned support for XML weaving and input; and
  • on-the-fly unit tests embedded in code and summarized in a table.

[http://xenon.triode.net.au/~skaller/interscript/]

interval arithmetic
A type of arithmetic defined on sets of intervals rather than sets of real numbers. The usefulness of this sort of arithmetic lies in its implementation on computers, e.g. outwardly rounded interval arithmetic allows rigorous enclosures for the rnages of operations and functions. This simply means that results in scientific computations are intervals rather than numbers, a qualitatively different situation than before since the result is guaranteed to lie in the calculated interval rather than probably be located somewhere near the single result. Interval arithmetic also has some utility in automatic theorem proving.

Software packages which implement interval arithmetic include:

[http://cs.utep.edu/interval-comp/main.html]

INTERVAL_ARITHMETIC
A Fortran 90 module for an interval data type. This data type is based on two double-precision real Fortran storage units and uses INTLIB as a supportinglibrary. This is TOMS algorithm 763 and is documented in Kearfott (1996).

[http://www.acm.org/calgo/contents/]

Interscript
A component of a programming environment incorporating literate programming and category theory. Interscript is a literate programming tool that embodies Python, allowing the use of the powerful features of that language. It has an object based design including pluggable drivers for data sources and sinks (including automatic file downloading), tanglers for several languages (e.g. C, C++, Python, generic scripts, and raw data), and pluggable viewers for various typesetting systems including HTML, TeX, PostScript and plain text. Interscript includes functionality designed to support building, testing, installation, and version control. This is freely available for any use.

[http://www.triode.net.au/~skaller/interscript/]

InterViews
A system for building and using interactive software. It is a set of C++ class libraries with high-level abstractions for implementing interactive programs. InterViews includes specific support for resolution independent graphics, sophisticated document formatting, and graphical connectivity. In addition to the classes the package contains applications including a drawing editor, a WYSIWYG document editor, and an interface builder. Unidraw is the graphical editing framework part of Interviews. Interviews was built on top of UNIX/X11 and can be compiled and installed on most such variants. The site includes patch files for installation using GCC/G++ and Linux as well as for other compiler and operating system variants. A Linux InterView patch can be found at the standard Linux mirror sites. The documentation consists of a reference manual for the core classes, a tutorial and manual pages for Unidraw, a user manual for the interface builder, and manual pages for everything else. Active development of Interviews was stopped in 1994 as development of a new sytem called Fresco was started.

[http://sunsite.unc.edu/pub/Linux/X11/devel/libraries/]
[ftp://interviews.stanford.edu/]

Inti
A collection of shared C++ libraries designed to meet the common needs encountered by application developers on UNIX-like systems such as Linux. The largest Inti module provides a C++ interface to the GTK+ toolkit, although there is also a base module for nongraphical applications containing general purpose features including internationalization support, a main loop abstraction, and text-processing utility functions. Inti is currently (9/00) in the early stage of development.

[http://sources.redhat.com/inti/]

INTLAB
The INTerval LABoratory is a Matlab toolbox for self validating algorithms including:
  • interval arithmetic for real and complex data including vectors, matrices, and sparse matrices;
  • automatic differentiation and slopes;
  • rigorous standard functions;
  • rigorous input and output; and
  • multiple precision interval arithmetic.
This is written entirely in Matlab but for one routine for switching the rounding mode. It also makes extensive use of BLAS.

[http://www.ti3.tu-harburg.de/rump/intlab/]

INTLIB
A portable interval arithmetic library written in Fortran 77. It is meant to provide a standard for interval operations to aid in efficiently transporting programs involving interval arithmetic. It is modeled after the BLAS package and is composed of elementary interval arithmetic routines, standard function routines for interval data and values, and utility routines. INTLIB uses a machine's intrinsic double precision floating point arithmetic and simulates directed roundings for rigor.

The elementary arithmetic routines include:

  • ADD, which adds two intervals;
  • CANCEL, which performs cancellation-type subtraction on an accumulated sum;
  • IDIV, which does interval division of ordinary intervals;
  • MULT, which multiplies two intervals;
  • RNDOUT, which performs simulated directed rounding;
  • SCLADD, which adds an interval to a point;
  • SCLMLT, which multiplies an interval by a point; and
  • SUB, which subtracts two intervals.
The standard functions available include:
  • IACOS, the interval arc cosine;
  • IACOT, the single argument arc cotangent;
  • IASIN, the interval arc sine;
  • IATAN, the single argument arc tangent;
  • ICOS, the interval cosine;
  • IEXP, the interval exponential;
  • IIPOWR, the nonnegative interval to an interval power;
  • ILOG, the interval natural log;
  • ISIN, the interval sine;
  • ISINH, the hyperbolic sine;
  • ISQRT, the interval square root; and
  • POWER, the integer power of an interval.
About twenty utility routines are included as are a couple of machine dependent routines which set parameters for a specific machines's arithmetic and mathematical constants. A suite of test programs is also included.

A source code distribution of INTLIB is available. It is written in Fortran 77 and documented in a user's guide available in PostScript format. This is TOMS algorithm 737 and is documented in Kearfott et al. (1994).

[ftp://interval.usl.edu/pub/interval_math/]
[http://www.acm.org/calgo/contents/]
[http://www.netlib.org/toms/index.html]

Invariant
A C++ library of classes, functions and macros for performing automated consistency checking and detecting bugs. The features include:
  • an assert macro with extra features;
  • an assert macro for conditions that are usually but not always true;
  • smart numbers that can only be positive, only decrease, only be nonzero, etc.;
  • smart restricted pointers that cannot be null and those that don't have any array access abilities;
  • numbers with units;
  • safe casting functions that cast from one numerical type to another while requiring that the source value is within the legal range of the destination type; and
  • a function to enable or disable exceptions for illegal floating point operations.
A source code distribution is available.

[http://www.world.std.com/~rjs/invariant.html]

IOTP
The Internet Open Trading Protocol provides an interoperable framework for Internet commerce. It is a payment system independent of and encapsulating currently used payment systems.

[http://www.ietf.org/ids.by.wg/trade.html]

IOWDM
A program for handling Input and Output for Watershed Data Management files. IOWDM is designed to reformat data to and from a WDM file, where a WDM file is a binary, direct-access file used to store hydrologic, meteorologic, water quality, and physiographic data.

A source code distribution of IOWDM for UNIX platforms is available. The primary documentation is contained within Lumb et al. (1990). This is part of the USGS Water Resources Applications Software collection.

[http://water.usgs.gov/software/iowdm.html]
[http://www.geogr.uni-jena.de/software/iowdm.html]

IP Filter
A TCP/IP packet filter suitable for usage in a firewall environment. The functionality includes:
  • explicitly denying/permitting any packet from passing;
  • distinguishing between various interfaces;
  • filtering by IP networks or hosts;
  • selectively filtering any IP protocol, fragmented IP packets, and packets with IP options;
  • sending back an ICMP error/TCP reset for blocked packets;
  • keeping packet state information for TCP, UPD and ICMP packet flows;
  • keeping fragment state information for any IP packet;
  • acting as a Network Address Translator (NAT);
  • using redirection to set up true transparent proxy connections;
  • providing packet header details to a user program for authentication; and
  • supporting temporary storage of pre-authenticated rules for passing packets.

IP Filter makes special provisions for the three most common Internet protocols (i.e. TCP, UDP and ICMP) by allowing the filtering of:

  • inverted host/net matching;
  • TCP/UPD packets by port number or a port number range;
  • ICMP packets by type/code;
  • established (i.e. those with the ACK bit set) TCP packets;
  • any arbitrary combination of TCP flags;
  • short (i.e. fragmented) IP packets with incomplete headers;
  • any of the 19 available IP options or 8 registered IP security classes; and
  • TOS (Type of Service) field in packets.
The package also includes a logging device which can keep logs of arbitrary statistics, and the filter keeps its own set of statistics in several categories.

The distribution contain several tools for easing the performance of various tasks including:

  • ipf, for reading in a set of rules and appending them to the current list;
  • ipfstat, for interrogating the kernel for statistics on packet filtering and retrieving a list of currently used filters;
  • ipftest, for reading a filter rule file and applying sample IP packets to that file;
  • ipmon, for reading buffered data from the logging device and writing it to various places;
  • ipsend, for generating arbitrary IP packets for Ethernet connected machines;
  • ipresend, for reading a data file of saved IP packets and sending it back across the network;
  • iptest, a set of test programs for sending series of IP packets to test the strength of the TCP/IP stack at which it is aimed; and
  • ipnat, reads a set of rules and adds them to the current list of active NAT rules.

A source code distribution of IP Filter is available. On Linux systems it can be either compiled into the kernel or used as a loadable kernel module. Documentation includes man pages, a FAQ file, and various other ASCII files. See the related flc program.

[http://coombs.anu.edu.au/~avalon/ip-filter.html]
[http://www.obfuscation.org/ipf/]

IP Masquerading
A network function in Linux that enables a single Internet-connected computer running Linux and with a real (i.e. registered) IP address to act as a gateway for non-Internet connected machines with fake IP addresses (known only to the machine running IP Masquerade). The mothership computer handles mapping the packets from the local intranet out to the Internet and vice-versa. This is one form of NAT.

Related packages and programs include:

  • floppyfw, a single-floppy distribution with masquerading capabilities;
  • LRP, a minimal distribution for building routers that has masquerading capabilities;
  • firewalls, a topic usually connected with masquerading;
  • ipchains-firewall, scripts for creating and maintaining IP masquerade/firewall systems;
  • Mason, a tool for building firewalls that has masquerading support;
  • masq, management utilities for dealing with firewalls with masquerading; and
  • masqdialer, for access control of multiple dialout modem connections using masquerading.

[http://ipmasq.cjb.net/]
[ipmasq2.home.ml.org]
[http://www.indyramp.com/masq/]
[http://dijon.nais.com/~nevo/masq/]

ipac
A program that collects IP accounting information on a regular basis using both the kernel features for IP accounting and the ipfwadm package. It is designed to summarize and create an aesthetically pleasing output for the IP accounting data. Ipac consists of three scripts:
  • ipacset, which reads a config file and sets up IP accounting for the kernel using ipfwadm;
  • fetchipac, which is executed by cron and reads the current IP accounting data assembled by the kernel and writes it to a new file; and
  • ipacsum, which summarizes the data from a set of files and optionally replaces them with one file.
A source code distribution of ipac, consisting Perl and shell scripts, is available.

[http://www.comlink.apc.org/~moritz/ipac.html]

IPC
InterProcess Communication facilities are, as the phrase implies, a means of communicating between processes on UNIX systems. This is used both in a broad sense and a narrower sense, with the latter meaning the System V IPC utilities, i.e. semaphores, message queues, and shared memory. Semaphores are special variables which takes only whole positive numbers and upon which only the operations of wait and signal are allowed, and they are used to ensure that a single executing process has exclusive access to a resource. The available semaphore functions are:
  • semget, which either creates a new semaphore of obtains the semaphore key of an existing semaphore;
  • semop, which changes the value of a semaphore; and
  • semctl, which allows direct control of semaphore information.
Shared memory allows two unrelated processes to access the same logical memory and is an efficient way to transfer data between two running processes. The shared memory functions are:
  • shmget, which creates shared memory;
  • shmat, attaches created memory to the address space of a process;
  • shmdt, which detaches memory from a process; and
  • shmctl, the control function for shared memory.
Message queues are like simpler named pipes and provide a way of sending a block of data from one process to another. The message queue functions are:
  • msgget, which creates and access a message queue;
  • msgsnd, which adds a message to a message queue;
  • msgrcv, which retrieves messages from a message queue; and
  • msgctl, the control function for message queues.

In the broader sense IPC can include pipes, FIFOs, shared files, sockets, TCP/IP, RPC, DCE, and other concepts. See Gray (1997).

ipchains
The IP Firewalling Chains package is an improvement to the existing Linux firewalling code in the 2.0 and 2.1 kernels (and is included in kernels 2.1.102 and higher). Ipchains is a rewrite of both the Linux IPv4 firewalling code and ipfwadm. The features/improvements include:
  • more flexible packet manipulations, e.g. all TCP packets can be handled by separate chains;
  • accounting integrated into normal chains;
  • SMP safe;
  • byte and packet counters on chain policies;
  • specification of interface classes, e.g. all PPP;
  • filtering on ICMP code as well as type;
  • handing packets to a userspace daemon for more sophisticated accounting, firewalling or manipulation;
  • more complex accounting;
  • logging of suspicious packets;
  • 64-bit packet and byte counters;
  • handling protocols other than ICMP/TCP/UDP;
  • inverse rules, e.g. specifying packets not comping in ppp0; and
  • atomic reading of packet/byte counters (per rule).
A source code distribution is available for those who aren't using kernel 2.1.102 or greater.

[http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html]

gfcc
The GTK+ Firewall Control Center is a GTK+ GUI front-end for controlling Linux firewall policies and rules based on the ipchains package.

[http://joayo.net/~tri/]

ipchains-firewall
A set of scripts for easing the task of creating and maintaining an IP masquerade/firewall system. The features include:
  • IP masquerading via the kernel masquerading modules;
  • easy configurability for PPP or LAN-LAN gatewaying;
  • external port blocks for vulnerable processes, e.q. SQL, NFS and X11;
  • allowing or blocking specific addresses or subnets;
  • packet logging for detecting hacks;
  • individual control of basic services, e.g. FTP, HTTP, etc.; and
  • uses the ability of ipchains to manipulate TOS bits for improved performance.

[http://www.nerdherd.org/ipchains/]

Ipe
A drawing editor for creating figures for inclusion into LaTeX documents which can also be used to prepare transparencies or slides. Ipe drawings combine PostScript data with LaTeX source code, both stored in the same file. It is also extensible, allowing editing functions or geometric objects to be added by the user. It is written in C++, runs under the X Window system, and requires the Motif library. The source code is available as well as binaries for SGI and Linux platforms. A 50-page manual comes with the distribution, and an online hypertext version is available.

[http://www.cs.ust.hk/~otfried/ipe.html]

ipfw
See NetTools.

IPfwd
A tool for performing the redirection of arbitrary IP protocol datagrams that can be used for implementing firewalls or IP masquerading. This was originally written to support gatewaying PPTP across a Linux-based firewall using TCP port 1723 and IP protocol 47. This must be used in conjunction with support for outgoing PPTP masquerading.

[http://www.pdos.lcs.mit.edu/~cananian/Projects/IPfwd/]

IPFT
The IP Forging Tool is a userspace IP networking stack with a set of utilities that expose some of the weaknesses of the TCP protocol stack as well as some exploits on address authentication schemes. The IPFT toolchest consists of:
  • SPOOF, a TCP sequencing attacker that exploits address authentication;
  • HIJACK, a utility that can overtake an establishes TCP session on the local network;
  • SPROBE, a stealth TCP port scanner that can get through firewalls; and doesn't show up on wrapper logs on the target host;
  • SNIPER, which can shut down a host or network indefinitely;
  • FLOOD, an implementation of a SYN-flooder;
  • UNFLOOD, which restores hosts attacked by FLOOD;
  • UDP_FORGE, which forges a UDP-based set of packets; and
  • BOGUS_TCP, an example of how to set up a real TCP state machine.
This has been ported to Linux Intel and Sun platforms and is available upon request.

[http://www.tisl.ukans.edu/~jkeimig/IPFT.html]

ipfwadm
The IP FireWall ADMinistration utility is used to administer the IP accounting and firewall services offered by the Linux kernel. It is meant to be a replacement for the existing ipfw utiity, being more complete and easier to use than the latter. The features of ipfwadm include:
  • changing default policies for all firewall categories;
  • automatically adding the necessary extra rules when the named hosts have more than one IP address;
  • support for specifying the interface address and name for the rules;
  • listing and resetting packet/byte counters atomically for setting up a reliable accounting scheme;
  • listing the existing rules in a number of formats;
  • support for optional functions, e.g. bidirectional rules, TCP ACK, and TCP SYN matching;
  • support for redirection for transparent proxying; and
  • support for masquerading in the forwarding firewall.

The ipfwadm utility is avaiable in source, binary, or RPM format, with separate versions for 1.2 and 2.0 kernel distributions. It is documented in an extensive man page. A paper describing the utility is also available.

[http://www.xos.nl/linux/ipfwadm/]

DNi
An interactive, online GUI for configuring firewall rules that is actually a front-end to ipfwadm. This generates filtering firewall scripts and cookies to remember the user's last choice. It also has a logging facility. Almost every conceivable service is covered by this.

[http://members.tripod.com/~robel/dni/dniadm.html]

ipgrab
A packet sniffing tool that reads and parses packets from the link layer through the transport layer while dumping explicit header information to a file. The currently (3/99) known protocols include Ethernet, SLIP, raw IP, ICMP, ARP, RARP, IPX, TCP, UDP, SPX, RIP, DNS and DHCP.

[http://www.xnet.com/~cathmike/MSB/Software/]

iplib
The interpolation library is a library of Fortran programs which can be used for interpolating between almost any types of grids used in meteorology. The interpolation methods available in the library are bilinear, bicubic, neighbor, budget and spectral methods. The library can handle 2-D vector fields as well as scalar fields and works well only with regular grids.

The bilinear interpolation is straightforward with no options. The bicubic interpolation has a monotonic constraint option which constrains the output value to be within the range of the four surrounding input values. Neighbor interpolation sets the output value to the nearest input value as would be appropriate for interpolating integer fields like a vegetation index. Budget interpolation is a low order method which quasi-conserves area averages and is appropriate for interpolating budget fields such as precipitation. Spectral interpolation has options for the spectral shape (triangular or rhomboidal) and the spectral truncation. The projects the library can handle are Mercator cylindrical, equidistant cylindrical, Lambert conformal cylindrical, Gaussian cylindrical, polar stereographic azimuthal, and filled rotated equidistant cylindrical.

The library is written in Fortran 77. It is documented in a large ASCII document. See also splib.

[ftp://nic.fb4.noaa.gov/pub/nws/nmc/codes/interp/]

IPM
The Interval Performance Monitoring package provides a portable interface for obtaining performance-related statistics over an interval of the execution of a piece of code. It delimits the interval via explicit calls to start and stop routines and also provides a simple, portable interface to read high resolution timers. Environment variables are used to communicate which measurements are supposed to take place from the external agent to the IPM library, and the IPM library uses ASCII strings to send the performance information back to the agent. The timing routines supported by IPM that are available on Linux platforms are gettimeofday and getrusage. This will provide a maximum time resolution of about 0.0001 seconds. A source code distribution of IPM is available.

[http://www.icsi.berkeley.edu/~krste/ipm/IPM.html]

IPMA Tools
The Internet Performance Measurement and Analysis project Tools are a set of Java applications for measuring and analyzing various aspects of Internet performance. These tools include:
  • Launcher, a front-end interface to all of the tools;
  • IRRj, an interface into the Internet Routing Registry (IRR) for looking up routing policies, editing and submitting updates, and navigating through the database;
  • RouteTracker, a tool for tracking routing announcements over time, e.g. examining past BGP announcements at different exchange points from different providers on different days;
  • ASExplorer, for real-time exploring of AS routing topology and instability of the Internet via a GUI map showing network service providers connected by links reflecting their level of routing stability;
  • IPN, an Inter-Provider Notification tool for viewing and sharing information with customers and other ISPs;
  • FlapGraph, for calculating and graphing the level of routing instability at the major IXPs;
  • RouteTable, for providing reports on the size and content of the Internet routing tables as seen by the Route Servers at each Network Access Point; and
  • NetNow, for graphically looking at real-time network conditions across major ISPs and IXs.
The source code distribution requires JDK 1.1.6 for operation. It has only been tested on Windows and Solaris platforms.

[http://www.merit.edu/~ipma/tools/]

IPng
See IPv6.

ipol
A curve discretization package that can be used to distribute points on analytic or discrete curves by specifying point distances at various locations along the curve. A scripting language is used to input and process the curve parameters and program options. The features of ipol include:
  • a library of analytical shapes such as lines, circles, arcs, polynomials, etc.;
  • scaling, rotation and translation transformations can be applied to each geometrical segment;
  • point density can be arbitrarily specified at any location along the surface;
  • global and local scaling factors can be applied to adjust the mesh size;
  • the point distribution is smoothed by a Gauss-Seidel relaxation; and
  • output is in a format compatible with delaundo.
A source code distribution of this Fortran package is available.

[http://www.cerfacs.fr/~muller/delaundo.html]

iPP
A platform-independent general preprocessor written in Java.

[http://www.servertec.com/products/ipp/ipp.html]

IPP
The Internet Printing Protocol is an application level protocol for distributed printing via the Internet. The goal is to develop requirements for Internet printing and to describe a model and semantics for it. The core functions desired for the application level include finding out about a printer's capabilities, submitting print jobs to printers, finding out the status of a printer or print job, and canceling a submitted job.

[http://www.ietf.org/ids.by.wg/ipp.html]
[http://www.pwg.org/ipp/index.html]

ippl
A daemon for logging IP packets. The features include:
  • multi-threading to handle packet logging;
  • a filtering using a chained list; and
  • DNS query caching to avoid overloading the server.

[http://www.via.ecp.fr/~hugo/ippl/]

IPP (planner)
The Interference Progression Planner is an extension of Graphplan to a more expressive language which is a subset of ADL. The features of IPP include:
  • language support for atomic negation, equality, and existentially or universally quantified and conditional goals;
  • improved generation of operator instances limited to only those instances satisfying inertia;
  • a sophisticated implementation of subset memoization based on tree-like data structures instead of the list processing used in Graphplan;
  • an efficient technique for removing irrelevant information from planning graphs;
  • extended propagation of state-independent exclusivity relations over conditional effects;
  • additional checking to avoid memory allocation failures for very large planning problems; and
  • lexer/parser generation for easy accomodation of future syntax changes.
A source code distribution of this C package is available.

[http://www.informatik.uni-freiburg.de/~koehler/ipp.html]

IPSec
A protocol and project designed to provide interoperable, cryptographically-based security at the IP layer for both the current IPv4 and the next generation IPv6. The security services offered include access control, connectionless integrity, data origin authentication, protection against replays, confidentiality, and limited traffic flow confidentiality. These services are provided through the use of two traffic security protocols - the Authentication Header (AH) and Encapsulating Security Payload (ESP) protocols - and through the use of cryptographic key management procedures and protocols.

Related software includes:

  • Cerberus, a reference implementation of the IPsec specifications; and
  • PlutoPlus, a reference implementation of the IPsec key negotiation and management specifications.

[http://csrc.ncsl.nist.gov/ipsec/]
[http://www.ietf.org/internet-drafts/
draft-ietf-ipsec-arch-sec-07.txt
]

IPTraf
A network monitor and statistics generator for IP LANs. The features of this Ncurses-based utility include:
  • an IP traffic monitor for the IP traffic passing over a network including TPC flag information, packet and byte counts, ICMP details, OSPF packet types, and oversized IP packet warnings;
  • general and detailed statistics showing IP, TCP, UDP, ICMP, non-IP and other IP packet counts as well as IP checksum errors, interface activity and packet size counts;
  • a TCP and UDP service monitor for counts of incoming and outgoing packets for common ports;
  • an Ethernet statistics module that discovers active hosts and shows statistics about their data activity;
  • display filters for TCP, UDP and other protocols;
  • logging;
  • support for Ethernet, SLIP, PPP and loopback interfaces; and
  • use of the built-in raw socket interface in the Linux kernel for use over a wide range of supported network cards.

A source code distribution of IPTraf is available. It is a Linux utility requiring kernel 2.0.0 or later and Linux C library 5 or GNU libc 2. A user's manual is included in the distribution. This is distributed under the GPL.

[http://cebu.mozcom.com/riker/iptraf/]

IPv6
IPv6 is the formal name of the IPng (IP next generation protocol, with IPv4 being the current version of the Internet Protocol. IPng is a new version of IP which is designed to be an evolutionary step up from IPv4. It can be installed as a normal software upgrade in Internet devices and is interoperable with the current IPv4. The changes were needed to solve the Internet scaling problem, provide a flexible transition mechanism for the current Internet, and to meet the needs of new markets such as nomadic personal computing devices, networked entertainment, and device control.

The changes from IPv4 to IPv6 include:

  • expanded routing and addressing capabilities, e.g. an address size increased from 32 to 128 bits to support more levels of addressing hierarchy, and improved scalability of multicast routing;
  • a new type of address called an ``anycast address'' to identify sets of nodes where a packet sent to any anycast address is delivered to one of the nodes;
  • header format simplification with some IPv4 fields dropped or made optional;
  • improved support for IP header options which allows for more efficient forwarding and greater flexibility for future modifications;
  • quality-of-service capabilities which enable the labeling of packets belonging to particular traffic flows for which the sender requests special handling; and
  • authentication and privacy capabilities including the definition of extensions which provide support for authentication, data integrity, and confidentiality.

There are a couple of IPv6 implementations for Linux platforms, and the stabilized 2.2.0 Linux kernel is supposed to support it. Related software packages include:

See the Linux IPv6 FAQ/HOWTO, Bradner and Mankin (1996), Britton et al. (1995), Huitema (1996), and Stallings (1996).

[http://playground.sun.com/ipng]
[http://www.bieringer.de/linux/IPv6/]
[http://www.6bone.net/]

IPv6-DRET
A public implementation of IPv6. IPv6 has been implemented inside the Linux operating system. The features include: IPv6 addressing, loopback (i.e. multiple ethernet interfaces), IPv6 raw protocol, ICMPv6 including error and ND messages, neighbor discovery, IPv6 multicast, UDP over IPv6, a Simple Interface Transition device, IPv6 BSD API and router, simple IPv6 forwarding, use of router advertisements, extension headers, IPv6 over ATM, performance tuning, and IPSEC capabilities. Applications include network configuration (e.g. ifconfig and route) and debugging (e.g. ping and traceroute) tools.

The IPv6-DRET package was developed on a Linux Intel box and the source code is configured to compile and install on one. The available documentation is still a bit sketchy and scattered.

[http://zenon.inria.fr/rodeo/IPv6/]

IPW
The Image Processing Workbench is a UNIX-based image processing software system. It was designed to address the general application of algorithm development, application development, and instruction to remote sensing. It was also designed to follow the UNIX paradigm of developing several small programs that can be used as filters and combined via pipes to perform complex tasks, and as such it can also be used in combination with existing UNIX programs. IPW consists of programs for generic image processing operations applications programs and interfaces to freely available display programs, and is a toolkit rather than an interactive system or a library where one or several commands are combined and run as shell scripts.

The image processing related programs available in IPW include:

  • hist for histogram computation,
  • mklut for creating look-up tables,
  • lutx for look-up table driven intensity transformation,
  • window for subimage extraction,
  • bitcom for binary operations,
  • mux for multiplexing or interleaving,
  • lincom for linear arithmetic operations,
  • mult for image multiplication,
  • mstats for multivariate statistics computations,
  • convolve for convolution,
  • alinear for performing automatic linear contrast stretching,
  • histeq for performing histogram equalization,
  • transpose for transposing images,
  • flip for flipping images,
  • cmpimg for comparing images, and
  • edimg for editing images.
There are also programs for radiation modeling including:
  • hor1d for finding angles to the local horizon,
  • horizon for finding horizon in direction azimuth,
  • sunang for calculating sun angles,
  • shade for finding cosines of illumination angles, and
  • viewcalc and viewf for configuring and viewing sky view and terrain factors.
There are also programs for image classification, principal component analysis, image conversion, various statistical quantities and manipulations, map projection conversion, image classification, and much more.

The IPW software is written in C and can be compiled and used on most UNIX flavors. The complete distribution consists of a file containing the basic IPW package plus another containing numerous user contributed programs. It doesn't include an interactive viewing program but instead uses xv for such tasks. IPW is documented in a 300 page user's manual available in PostScript format.

[http://skua.crseo.ucsb.edu/hydro/~ipw2/]

IRAF
The Image Reduction and Analysis Facility is a general purpose software system for the reduction and analysis of scientific data and images developed at NOAO. It includes a selection of programs for general image processing and graphics applications and a large number of programs for the reduction and analysis of optical astronomy data, all usable via a command line interface. A graphical user interface is currently (4/96) under development and beta test versions are available for some platforms. IRAF also provides a complete programming environment with a command language and a Fortran programming interface. The basic IRAF distribution is split into two parts, i.e. the core system and the NOAO science software, the former containing broadly applicable analysis tools and the latter spectroscopic and photometric reduction and analysis tools more specific to astronomy. Although designed and developed by astronomers, many parts of IRAF can (and have been) applied to tasks in other scientific fields.

In the IRAF package the programs or commands that are executed to perform specific functions are called tasks, and tasks that perform similar functions are grouped together into packages. The IRAF core system contains packages for data format conversion, database management, general image processing, the command language, list processing, local templates, plotting, prototyping, obsolete tasks, miscellaneous software tools, image display, system utilities, and miscellanous utilities. The NOAO science software contains packages for artificial data generation, astrometry, general astronomical utilities, digital stellar photometry, faint object classification and analysis, image reduction, magnetic tape i/o, prototype tasks, obsolete tasks, examining and defining observatory parameters, 1-D and 2-D spectral reduction and analysis, radial velocity analysis, and galaxy isophotal analysis.

Various layered or external packages that use the basic IRAF functionality to extend its capabilities are also available. Examples include packages for analyzing data from the Hubble Space Telescope, analyzing and reducing x-ray data, using the maximum entropy method for image restoration, and analyzing and reading data from several other specific projects. The NOAO package is itself a layered package although it is included in the general IRAF distribution.

The IRAF distribution is freely available as source code or as a binary for IBM, Mac, DEC, HP. SGI, VMS, and Linux platforms. The binaries take up anywhere from 40-80 Mb of disk space depending on the platform. A large variety of tutorials, reference manuals, and cookbooks in PostScript format are available for the entire distribution as well as for specific parts. I've not yet encountered any significant problems with the Linux binaries I obtained, although I've not really done that much with them.

[ftp://tucana.noao.edu/iraf/web/iraf-info.html]

IRC
Internet Relay Chat (also called just chat) is a protocol and related software that allows people to communicate one-on-one or in groups via typing messages which are instantly viewed by all others involved. An IRC robot or bot is an automated client that stays on IRC after its owner leaves. Software for accessing and using IRC includes:

IRCAMPACK
A Starlink Project package which provides facilities for the processing of IRCAM data. This specifically provides certain specialized functions not provided in the related CCDPACK and KAPPA packages. In particular, IRCAMPACK contains applications which interpret and process the IRCAM-specific header information stored within IRCAM data files. It also provides facilities for the normalization of frames to unit total exposure time and for performing a simple imaging polarimetry reduction procedure.

A binary distribution of IRCAMPACK is available for DEC OSF/1, Linux Intel, and Sun Solaris platforms. It is documented in a 34 page user's manual available in PostScript format.

[http://star-www.rl.ac.uk/store/storeapps.html]

IRIT
A solid modeling environment for performing a wide-ranging number of tasks in computational geometry. The features of IRIT include:
  • full-featured matrix algebra via operator overloading;
  • polygonal-based modeling, i.e. constructors for basic primitives as well as those for model construction;
  • freeform curve and surface manipulation tools supporting polynomial and rational Bezier and piecewise polynomial/rational NURB curves and surfaces;
  • tools for computing the zero set of curves, the extreme points, the minimal or maximal distance from a curve to a point or line, the inflection points or points of extreme curvature, and the intersection points of two curves;
  • trivariate B-spline and Bezier support including evaluation, isosurface extraction, subdivision, differentiation, etc.; and
  • triangular patch support including evaluation, isocurve extraction, etc.
Nearly 300 commands for performing various tasks are including in the main IRIT module.

In addition to the main IRIT module, several other useful tools are also available including:

  • poly3d-h, a hidden-line removal tool;
  • irender, a scan conversion Z-buffer rendering tool;
  • illustrt, a line drawing illustration tool;
  • several display programs for various output devices including X11 and OpenGL; and
  • several filters for converting IRIT output to other formats including PostScript.

A source code distribution of IRIT is available. It is written entirely in ANSI C and thus portable to most UNIX flavors with an appropriate compiler. Documentation includes both user's and programmer's guides.

[http://www.cs.technion.ac.il/~irit/]

IronDoc
A kind of dabase with a very open structure that lets experienced developers store content persistently in a variety of patterns that might be convenient or efficient to use in the runtimes of a broad range of applications. IronDoc is chiefly intended as a persistence engine for integrated development environments (IDEs) supporting dynamic languages. Such languages that require the development of much flexible, late-binding code often have a need to store a variety of kinds of things in organized patterns. The author also envisions using IronDoc for the development of games, MUDs, virtual environments, microservers, hypercards, scripting, modeling and simulation. This has not yet been released, although the author indicates the possibility of a release in late 1999 or early 2000. This is related to the Mithril project.

[http://www.best.com/~mccusker/irondoc/irondoc.htm]

IRQTUNE
A utility which changes the IRQ priority of devices to allow those that require high priority and fast service to have it. Problems that might be cured by IRQTUNE include slow SLIP/PPP transfers, a browser hanging or stalling while accessing a web site, and disk accesses that seem to interfere with SLIP/PP. IRQTUNE can change to priority of serial devices from their defaults of 11 and 12 to whatever the user specifies, thus speeding up applications that use the serial ports. A source code distribution is available. It is compiled and installed as a kernel patch.

[http://www.best.com/~cae/irqtune/]

iRRAM
The interactive Real RAM package is a C++ library for error-free real arithmetic based on the concept of a Real-RAM, where RAM stands for Random Access Machine. It is based on a theoretical approach to exact real arithmetic wherein a Turing machine-based simulation of random access machines is used to work with reals. The basic idea is to iterate a finite precision approximation of the RAM, but to increase the precision from iteration to iteration. A program coded using iRRAM uses ordinary C++ statements along with a special class REAL that implements real number calculations without error.

[http://www.informatik.uni-trier.de/iRRAM/]

IRRd
A streamlined, standalone Internet Routing Registry database server. IRRd supports both the RIPE-181 and RPSL routing registry syntaxes. It includes all required IRR support servces and other features including:
  • automated real-time mirroring of other IRR databases;
  • update syntax checking;
  • update authentication and security;
  • GUI database query and management tools; and
  • update notification;
  • automated generation of route configuration files and access lists;
  • Internet topology visualization; and
  • network trouble shooting and debugging.
Source and binary distributions of IRRd are available.

[http://www.merit.edu/radb/irrd/]

IRRv
A program that graphically displays the topology of the Internet or of selected parts. It employes heuristics for clustering parts of the topology into higher level icons (e.g. clustering together all single-homed customers of a provider) to reduce visual clutter. It interacts with the analysis tools in RAToolSet to graphically display their results. A source code distribution is available which requires both Scotty and tkined for compilation and use.

[http://www.isi.edu/ra/]

IrTcl
The Information retrieval Tcl package is an extension to the Tcl/Tk which allows the rapid development of platform-independent, graphical clients to the Z39.50 protocol supporting both the X Window and MS/Windows environments. IrTcl uses YAZ to interface with the Z39.50/SR protocol via two transport types: RFC-1729/BER on TCP/IP and the mOSI protocol stack (although the latter is not necessary unless communication within an OSI environment is desired). Two system environments are supplied with IrTcl: a simple command line shell and a command line shell which operates within the Tk environment which makes it easy to implement GUI clients.

The source code for the IrTcl package is available. It requires an ANSI C compiler, Tcl 7.3 or higher, Tk 3.6 or higher, and the YAZ package. The XTI/mOSI package is needed if an OSI environment is to be used. The package is documented in a user's guide available in HTML and PostScript formats.

[http://www.indexdata.dk/irtcl.html]

Isaac
A combination calculator, programming language and integrated development environment designed to be a practical language for engineers. It currently (12/98) includes a wide variety of functions including elementary and special mathematical, statistical, geometric, array, matrix and polynomial functions in addition to a nice selection of numerical methods. A source code distribution of Isaac is available which has been developed under Linux 2.0.35. It is written entirely in C and requires a few of the standard UNIX/Linux libraries for compilation. The documentation is thus far (12/98) a bit on the sketchy side.

[http://www.thoday.demon.co.uk/isaac/overview.html]

Isabelle
A generic theorem prover that has been instatiated to support reasoning in several object-logics including:
  • first-order logic (constructive and classical versions);
  • higher-order logic similar to that of HOL;
  • Zermelo-Fraenkel set theory;
  • an extensional version of Martin-Löf's Type Theory;
  • the classical first-order sequent calculus;
  • the modal logics T, S4 and S43; and
  • the Logic for Computable Functions.
The syntax and inference rules for each logic are specified declaratively to allow single-step proof construction. Control structures are provided for expressing search procedures as well as several generic tools such as simplifiers and classical theorem provers that can be applied to object-logics.

A source code distribution of Isabelle is available. It requires an ML compiler such as SML/NJ, the bash shell and Perl 5 for compilation and use. It has been succesfully installed and used on Linux Intel platforms. Documentation includes an introduction, a tutorial, a reference manual, a system manual and some technical reports.

[http://www.cl.cam.ac.uk/Research/HVG/Isabelle/]

ISAKMP
The Internet Security Association and Key Management Protocol uses security concepts needed for establishing Security Associations (SAs) and cryptographic keys in an Internet environment. This is part of the IPsec project.

[http://www.ietf.org/internet-drafts/
draft-ietf-ipsec-isakmp-10.txt
]

[http://www.ietf.org/ids.by.wg/ipsec.html]

isapnptools
A set of programs which allow ISA Plug-and-Play devices to be configured on a Linux machine. This will work with all systems containing PnP cards whether or not they include a PnP BIOS. The package consists of:
  • pnpdump, which scans all the PnP cards and dumps their resources to stdout in a form which can be used by isapnp (except that the configuration statements are commented out);
  • isapnp, a program to configure PnP devices which carries out the instructions in a configuration file to configure a PnP card; and
  • isapnp.conf, the configuration file for isapnp which contains information on how to identify the cards that are present as well as configuration information for each.
A source code distribution of isapnptools is available. It is written in C and documented via a series of man pages.

[http://www.roestock.demon.co.uk/isapnptools/]

isc
The Integrated Session Controller is a conference controller which can manage several media sessions in a single conference and can be used with a range of different media agents. It is part of a conferencing system which allows the creation of flexible multimedia applications from independent components. The media agents and conference controllers are connected either via MBone or via a supplied message replicator called pmm.

The isc system is available in source code form. It has been compiled and used on DEC Alpha, PH-UX, IBM AIX, Linux Intel, SGI IRIX, and Sun SunOS and Solaris platforms. Compilation and installation of isc also requires Tcl/Tk (7.4 and 4.0 or greater, respectively), BLT (1.8 or greater), Tcl-DP, and the tksolo libraries. It is documented in a couple of technical and conference reports available in PostScript format.

[http://www.fokus.gmd.de/step/isc/]

ISDAT
The Interactive Scientific Data Analysis Tool is a package created for the analysis of data from satellite and other space physics related projects. The features of ISDAT include:
  • an interactive data analysis environment;
  • a client/server architecture;
  • distribution of processing power and databases;
  • project- and instrument-specific input formats;
  • a general internal data structure;
  • extensibility via modules written in C and IDL;
  • interfaces to IDL and Matlab; and
  • output in CDF format.

The core of ISDAT consists of a project-independent interface between a data base handler (DBH) and the scientific analysis and display software (i.e. clients) as well as a mechanism for communication among them. The specific components are:

  • the data base handler, which unpacks and calibrates experimental data as well as formatting data sent to clients;
  • time managers, i.e. special clients responsible for the coordination of other clients;
  • general clients including a program for the display and basic analysis of time series data (ts), a more advanced time series and analysis and display package (ghplot), and a client to calculate platform position and altitude as well as model magnetic field parameters (satpos);
  • filters, i.e. separate programs executed via the UNIX pipe mechanism;
  • libraries supporting time manager and client development including:
    • IsLib, for client/manager communication;
    • IsutilLib, for time transformations;
    • DbLib, for data base handler communications;
    • UiLib, a user interface library;
    • GiLib, a plotting function library;
    • TsLib, for developing time series analysis programs;
    • PfLib, containing functions related to the measuring platform and position; and
    • BfLib, for magnetic field model development.
  • interfaces to other software packages.

A source code distribution of ISLAB is available. It is written in C and should compile on rational UNIX/X11 platforms. It is documented via several manuals in PostScript format.

[http://sapin.irfu.se/isdat/]

ISDN
The Integrated Services Digital Network is a completely digital telphone and telecommunications network designed to carry everything (e.g. voice, data, images, video, etc) and provide a single interface (in terms of both hardware and communication protocols) for connecting phones, fax machines, computers, videophones, microwaves, etc. It is basically a set of protocols, hardware and software that allow the switches and connections of the present telephone network to be used in an all-digital mode. The designers of the original ISDN, now called Narrowband ISDN, wanted a all-fiber service that would be very fast, but the cost and rarity of fiber at the time prompted them to design it to run on the predominantly copper network that was available. A recent development is Broadband ISDN or B-ISDN, a complete redesign of the original concept for the fiber networks that are becoming increasingly available. This will allow ISDN to finally perform as its original designers envisioned and intended.

An article about Linux and ISDN can be found in the March 1998 issue of the Linux Journal. See also Hopkins (1995), Inc. (1992), Inc. (1993a), and Summers (1995).

Relevant links include:

ibod/xibod
A daemon program that constantly monitors the ISDN interface for inbound and outbound traffic. When the traffic passes a specified limit in bytes/second, it attempts to connect a second B-channel (slave channel) to increase the capacity from 64 kbps to 128 kbps. It also disconnects the slave channel when traffic decreases to under the limit.

[http://www.compound.se/ibod.html]

isdn-config
A GUI tool for configuring ISDN dialup connections. This was created using the Qt 2.1.0 toolbox.

[http://people.redhat.com/than/]

isdn4linux
A set of kernel modules for implementing ISDN in the Linux kernel. This consists of a main module called isdn and hardware drivers for specific cards. The main module implements a network interface, TTY drivers, audio drivers and a PPP protocol handler. This allows possibilities ranging from using a terminal program to connections via HDLC (using included devices) to full connections to the Internet with PPP to audio applications. This does not yet (5/99) implement full duplex audio connections. This has been included with the kernel distribution since 1.3.59, but can also be separately obtained. The isdn4k-utils packages is additionally needed for various useful utilities.

[http://www.isdn4linux.de/]

isdn4k-utils
A set of utilities for working with the isdn4linux module for implementing ISDN in the Linux kernel. The runtime configuration tools include:
  • isdnctrl, a general link-level setup utility;
  • iprofd, a daemon for realizing AT&W0 on TTYIs;
  • icnctrl, setup tuility for the icn driver;
  • telesctrl, setup utility for the teles driver;
  • hisaxctrl, setup utility for the HiSax driver;
  • pcbitctrl, setup utility for the pcbit driver;
  • avmcapictrl, setup utility for the avmb1 driver; and
  • actctrl, setup utility for the act2000 driver.

Tools for monitoring activity include:

  • imon, an Ncurses-based utility for monitoring activities;
  • imontty, a TTY-based utility for doing same;
  • isdnlog, utilities for connection logging;
  • ipppstats, for showing syncPPP stats;
  • xisdnload, an xload-like meter;
  • xmonisdn, an X11-based utility for monitoring and controlling actvity; and
  • isdnmon, a Tcl/Tk-based utility for monitoring activities.
Applications include:
  • vbox, an answering machine/voice mailbox; and
  • ipppd, a daemon needed for syncPPP and MPP.

[ftp://ftp.cs.tu-berlin.de/pub/net/isdn/isdn4linux/]

vbox
A voice message box written for isdn4linux that can record and play messages, use touchtones, and implement commands in complex scripts.

[http://www.mayn.de/michael/vbox/]

Isearch
A system for searching through large amounts of text which allows a user to very quickly find out which documents that contain certain key words are available. Isearch supports fielded searching, relevance ranking, Boolean queries, heterogeneous databases, and document type-specific customization and extensibility via C++ class inheritance.

The features of Isearch include:

  • searching large collections via a free-text search that doesn't rely on keywords, abstracts or human-generated indexes;
  • handling very large collections (e.g. over a megabyte of text) on modest servers;
  • sophisticated result sorting wherein the documents most likely to be useful are returned first;
  • working well with OCR document storage and retrieval systems;
  • handling a wide range of document types from raw ASCII to SGML with an interface that quickly allows the handling of new or unusual formats;
  • efficient use of disk resources with relatively compact indexes;
  • text maintenance commands that allow old documents to be deleted and new ones to be added withing re-indexing;
  • highly portable and scalable;
  • smooth integration with Web and ANSI Z39.50 servers; and
  • highly customizable via well-defined APIs.

A source code distribution of Isearch is available as are binaries for several platforms including Linux Intel. Documentation is contained within the distributions.

[http://www.cnidr.org/ir/isearch.html]
[http://www.etymon.com/Isearch/]

iSelect
The interactive Selection tool is an interactive line selection tool for ASCII files which operaties via a full screen Ncurses-based terminal session. It can be used either as a user interface front-end controlled by some back-end as its wrapper or in batch mode as a pipeline filter (e.g. between grep and the final executing command). A source code distribution is available. It is written in C and documented in a man page.

[http://www.engelschall.com/sw/iselect/]

Ishmail
A MUA GUI for handling email. Ishmail is designed for reading, composing and organizing email messages of many formats including MIME. The features of Ishmail include:
  • a WYSIWYG text editor for composing text messages that allos the interactive application of font and format changes and the embedding of multimedia data in messages;
  • built-in support for composing, viewing, and printing mail with mixed fonts, character sets and formatting attributes;
  • support for international character sets;
  • using an external editor to compose message text;
  • including or attaching external files to messages;
  • concurrent use of multiple mail folders;
  • selection of mail folders by names, with wild cards, or via menu lists;
  • support for mailx, mh and MMDF folder formats;
  • sorting messages in a folder by combinations of criteria;
  • reformatting message lists including reordering and resizing the columns;
  • a search function for finding strings within messages;
  • reconfiguration and redefinition of shortcut buttons in several windows;
  • multiple simultaneous reading windows;
  • customization of fonts and colors;
  • specification of patterns (via regular expressions) to look in message headers and take appropriate actions (e.g. file the message, run an alert command, etc.);
  • specification of multiple signature files;
  • recognition of URLs and launching of a Web browser upon command;
  • protection of many operations with a confirmation prompt; and
  • creation and use of alias names for email addresses.
Source and binary distributions are available under the GPL.

[http://www.halsoft.com/]

IsinGlass
A script for making Internet-connected machines more secure. It prevents a number of exploits that are commonly perpetrated on various daemons. The features of IsinGlass include:
  • a secure default setup which usually requires no configuration;
  • easy configuration if required;
  • automatic detection of LAN/WAN network interfaces;
  • full access for LANs while PPP lines are secured;
  • secure LANs bridged/routed to the Internet;
  • protection against bad or no passwords and insecure X; and
  • logging of prevented attempts in syslog.
A source code distribution is available which requires both a kernel built with firewalling support and the ipfwadm program.

[http://www.tummy.com/isinglass/]

ISIP
A public domain speech to text system that consists of a front-end that converts the signal to a signal model, a decoder that performs a time-synchronous Viterbi search, and a training module that performs HMM training. The ISIP system consists chiefly of the ASR speech recognition toolkit and the ISIP Software Environment, the latter being a set of C++ classes that form the foundation of the Toolkit.

Several useful utilities and tools are also available including:

  • Speech Signal Display, a GUI for playing and viewing part or all of a speech signal waveform, its energy plot, and a spectrogram on the fly;
  • Echo Canceller, a standard LMS FIR echo canceller;
  • FFT Benchmark, programs to benchmark the efficiency of FFT algorithms;
  • Random Number Generator, a portable RNG with a uniform probability distribution function;
  • Speech Endpoint Detector, detects endpoints (i.e. word, phrase and sentence boundaries) in a speech signal based on energy criteria;
  • Signal-to-Noise Ratio, implements a standard approach to estimating the SNR of an audio file;
  • Discrete HMM Toolkit, for training discrete Hidden Markov models using the Viterbi and Baum-Welch algorithms;
  • Decision Trees, a comprehensive general purpose decision tree package;
  • Segmenter, a GUI for performing segmentation and transcription of two-channel speech data;
  • Transcriber, a single-channel version of the segmenter; and
  • Language Modeling, a package for building and manipulating N-gram language models.

[http://www.isip.msstate.edu/projects/speech/software/]

ISIS++
A portable, object-oriented framework for solving sparse systems of linear equations which includes implementations of a number of Krylov subspace iterative solution methods and preconditioners as well as both uni- and multi-processor matrix and vector classes. A key feature of ISIS++ is the simple interchangability of components from both within and without the ISIS++ system. A key goal of the project is to decompose problem spaces into a set of independent, object-oriented functional units, in particular the decoupling of sparse matrix data structures and their implementations from their use in Krylov solvers and preconditioners. A source code distribution is available.

[http://z.ca.sandia.gov/isis/]

Isite
An integrated Internet publishing software package including a text indexer, search engine, and Z39.50 communication tools to access databases. Isite integrates database systems with other open Internet systems and protocols such as the WWW, Gopher, e-mail, and (primarily) ANSI/NISO Z39.50. It includes all Z39.50 communications applications as well as an HTTP to Z39.50 gateway and a complete text search system called Isearch.

[http://vinca.cnidr.org/software/Isite/guide.html]

ISL
The Inter-Switch Link protocol is used for the interconnection of two VLAN-capable Ethernet switches using the Ethernet MAC and media. Packets on the ISL link contain a standard Ethernet, FDDI or Token Ring frame and the VLAN information associated with that frame. Various additional information is also present in the frame.

[http://www.cisco.com/warp/public/741/4.html]

isl
A Linux kernel patch for implementing the ISL protocol.

[http://www.tu-chemnitz.de/~sger/isl/]

ISODE
The ISO Development Environment is a collection of software which supports the development of certain kinds of OSI protocols and applications. This is a non-proprietary implementation of some of the protocols defined by ISO/IEC which is made available to accelerate the process of the development of applications in the OSI protocol suite. This software can support several different network services below the transport service access point (TSAP), e.g. TCP and pure OSI lower levels. The modules available (in version 6.0) include:
  • OSI transport service (TP0 on top of TCP and X.25 and TP4 for SunLink OSI);
  • OSI session, presentation, and association control services;
  • ASN.1 abstract syntaxx/transfer notation tools including a remote operations stub-generator (a front-end for remote operations), a structure generator (ASN.1 to C), and an element parser (basic encoding rules);
  • OSI reliable transfer and remote operations services;
  • OSI file transfer, access, and management;
  • a FTAM/FTP gateway;
  • OSI directory services; and
  • an OSI virtual terminal.

The distribution and its documentation are split into five sections. The first section contains the raw facilities available to applications which are contained within four libraries:

  • libacsap which implements the OSI Association Control Service (ACS);
  • librosap, which implements different styles of the OSI Remote Operations Service (ROS);
  • librtsap, which implements the OSI Reliable Transfer Service (RTS); and
  • libpsap, which implements the OSI abstract syntax and transfer mechanisms.
The second section includes the services upon which the application facilities are build:
  • libpsap2, which implements the OSI presentation service;
  • libssap, which implements the OSI session service; and
  • libtsap, which implements the OSI transport service access point.
There is also a replacement for libpsap2 called libpsap2-lpp which implements the lightweight presentation protocol for TCP/IP-based nets. The third section contains some application programs written using release 6.0. These include: an implementation of the ISO File Transfer, Access and Management (FTAM), the ISO file service, which runs on UNIX; an implementation of an FTAM/FTP gateway; an implementation of the ISO Virtual Terminal (VT), the OSI terminal service; an implementation of several smaller services used for debugging; and an implementation of a simple image database service.

The fourth section contains of a cooked interface for applications using remote operations which includes:

  • rosy, a compiler which is a stub generator for specifications of Remote Operations;
  • posy, a compiler which is a structure generator for ASN.1 specifications;
  • pepy, a compiler which reads a specification file for an application and produces a program fragment that builds or recognizes the data structures communicated by that application; and
  • librosy, a library for applications using this distributed applications paradigm.
The fifth section contains the QUIPU directory which consists of:
  • quipu, a program which is a Directory System Agent (DSA);
  • dish, a family of programs which are a set of Directory Shell commands; and
  • libdsap, a library for applications using the Directory.

Version 6.0 of ISODE was released in 1990 so it is a bit long in the tooth by now. The distribution is coded entirely in C and is was known to run under Berkeley UNIX (BSD), AT&T UNIX (SVR), AIX, HP-UX, and a couple of other obscure UNIX variants. The distribution is well documented in over 1000 pages of manuals and technical reports, all of which are available in either LaTeX or (in a separate file) PostScript format. A version of ISODE already ported to Linux is available at Sunsite and its mirrors.

[ftp://ncbi.nlm.nih.gov/toolbox/other_tools/isode/]
[http://sunsite.unc.edu/pub/Linux/system/network/isode/]

ISO8211Lib
A C++ library for reading ISO/IEC 8211 formatted files, particularly those that are part of SDTS and S-57 datasets. ISO 8211 is a standard designed for the transfer of data files consisting of logical records (or blocks), each of which is made up of a leader, a directory and a data area. The directory in each record contains the name of a field, the length of that field's data, and the offset of that field's data in the data area.

[http://gdal.velocet.ca/projects/iso8211/]

ISO-8859
A standardized series of 8-bit character sets for writing in Western alphabetic, i.e. Latin, languages which was originally designed by the European Computer Manufacturer's Association. It is not as complete as the Unicode set but a significant improvement over the 7-bit US ASCII set.

[http://wwwwbs.cs.tu-berlin.de/~czyborra/charsets/]

isomac
A program that checks system headers for ISO 9899:1990 compliance, i.e. it tries to find illegal macro definitions in system header files. Illegal macro definitions are those not from the implementation name space or not matching any identifier mandated by the standard.

[http://www.shuttle.de/schweikh/isomac.c.html]

ISO-VST
A Fortran 95 module implementing facilities for the manipulation of character strings of arbitrary and dynamically variable length.

[http://www.pcweb.liv.ac.uk/jls/is1539-2-99.htm]

Ispell
An interactive spell-checking program for UNIX systems that supports a largae number of European languages. Both command-line and Emacs interfaces are available. It shows spelling errors in the context of the original file and suggests possible corrections when it can figure them out. Dictionaries are available for Ispell in over a dozen different languages. A source code distribution is available.

[http://ficus-www.cs.ucla.edu/ficus-members/geoff/ispell.html]

KSpell
A GUI interface to Ispell for KDE.

[http://www.glue.umd.edu/~dsweet/KDE/KSpell/index.html]

$\vert$STAT
A set of about 30 data manipulation and analysis programs developed for various statistical tasks. These compute the most widely used statistics and can be used interactively or in shell scripts like other UNIX tools. Typical usage involves a pipeline (whence comes the first symbol in the name) of transformations of data followed by input to an analysis program. The |STAT package features simple input formats (free-format field-oriented), flexible data manipulation, several simple lineprinter options, data validation, consistent option conventions, and more.

The data manipulation programs include:

  • abut, for joining data files beside each other;
  • dm, for conditional data extraction and/or transformation;
  • maketrix, for making a matrix format from a free-format input;
  • probdist, probability distribution functions;
  • ranksort, for converting data to ranks;
  • series, to generate an additive series of numbers;
  • transpose, to transpose matrix form input;
and several more. The data analysis programs include:
  • anova, for multi-factor analysis of variance;
  • calc, an interactive algebraic modeling calculator;
  • contab, for making contingency tables and chi-square tables;
  • ts, for time series analysis and plotting;
  • regress, for multiple linear regression and correlation;
and several more.

The source code, written in C, is available in encrypted form. You must send an email message to the author for details on how to decrypt it. The documentation is contained within man pages as well as in an ASCII handbook.

[http://www.cis.ohio-state.edu/~perlman/statinfo.html]

Itcl
See [incr Tcl].

ITI
The Incremental Tree Inducer is a program that constructs decision trees automatically from labelled examples. The ITI program contains both the ITI and DMTI (Direct Metric Tree Induction) algorithms. The most useful feature of ITI is its provision for incremental tree induction, i.e. if one has an already constructed tree and obtains a new labeled example, then the algorithm can perform the necessary revisions without completely reconstructing the tree. This can handle symbolic and numeric values as well as missing data values. A virtual pruning mechanism is also supplied. A source code distribution of this C program is freely available for individual research purposes.

[http://www-ml.cs.umass.edu/iti/]

ITPACK
The ITeration PACKage is a collection of Fortran subroutines for solving large sparse systems of linear algebraic equations by adapted accelerated iterative algorithms. ITPACK combines basic iterative procedures such as the Jacobi method, the successive overrelaxation (SOR) method, the symmetric successive overrelaxation method (SSOR), and the RS method for the reduced system with acceleration procedures such as Chebyshev and conjugate gradient for rapid convergence. The package features the automatic selection of the acceleration parameters and the use of accurate stopping criteria. ITPACK can be used to solve any linear system containing positive diagonal elements but it is most effective at solving systems with symmetric positive definite or mildly nonsymmetric coefficient matrices.

ITPACK consists of seven main subroutines, each corresponding to an iterative method. These are:

  • JCG, using Jacobi conjugate gradient;
  • JSI, using Jacobi semi-iteration;
  • SOR, using successive overrelaxation (SOR);
  • SSORCG, using symmetric SOR conjugate gradient;
  • SSORSI, using symmetric SOR semi-iteration;
  • RSCG, using reduced system conjugate gradient; and
  • RSSI, using reduced system semi-iteration.

The source code for ITPACK2C is available. It is written in Fortran 77 and there are single and double precisions as well as a vectorized version for vector computers available. ITPACK2C uses the BLAS subroutines so the performance can be enhanced by using machine-specific versions of these. It is documented in a user's manual available in LaTeX format. See Young and Kincaid (1981).

[http://www.netlib.org/netlib/itpack/]
[http://rene.ma.utexas.edu/CNA/ITPACK/]

IUE
The Image Understanding Environment is a comprehensive software environment for performing advanced research in image understanding (IU), i.e. the automation of visual tasks by computer. The primary goals of the project are to promote research productivity and facilitate the exchange of research results. To this end, the package provides:
  • an extensive C++ class hierarchy for representing a wide range of objects, images, image features, and processes;
  • a well-documented, modular, standard object-oriented interface;
  • the implementation of established IU algorithms; and
  • the ability to exploit and coordinate the processing power of existing IU tools and systems.

The IUE is composed of three layers, each of which provides a different level of functionality. The IUE Basics is an initial system fully implemented in C++ that serves both as the development enviroment for the full IUE and as a vehicle for evaluating and testing the IUE design. The IUE Core comprises the IUE Basics plus a fully functional subset of the IUE object hierarchy. This includes objects for handling images, sensors, coordinate transforms, N-D spatial domains, and 1- and 2-D spatial domains. The IUE libraries are the outermost layer of the system and consist of instances of specific categories of image understanding algorithms such as region segmentation, motion, stereo model matching, shape from object recognition, image enchancement, modeling matching, texture analysis, photogrammetry, etc. It is this outermost layer which is being made available to the IU community (and any other interested parties), along with various useful ancillary programs.

The IUE distribution includes source files, binaries, compiled libraries, and documentation. Binaries are provided for Sun SunOS and Solaris and Linux platforms. The documentation is contained within an overview, a programmer's reference manual, an IUE data exchange manual, and several papers and reports, all available in PostScript format.

[http://www.aai.com/AAI/IUE/IUE.html]

IUEDR
A Starlink Project package which provides facilities for the reduction of IUE data. IUEDR allows the user to start with a IUE Guest Observer tape or disk file and finish with a calibrated spectrum which can be used in scientific analysis, i.e. it aims to be a complete system for IUE data extraction. The capabilites of IUE include: examination of tapes and files to see what images are present, reading file images from tapes or files, extraction of spectra from images, creating line-by-line spectra (LBLS), full calibration of spectra, graphical displaying operations to guide spectrum extraction and calibration, image display operations such as marking bad pixels and image modification, reading IUESIPS extracted spectra, spectrum averaging by combing spectral from groups of échelle orders or from different apertures, and the writing of finished spectra to various output formats.

A binary distribution of IUEDR is available for DEC OSF/1, Linux Intel, and Sun Solaris platforms. The package is documented in a brief user's guide available in PostScript format.

[http://star-www.rl.ac.uk/store/storeapps.html]

Ivf++
The Interactive Visualization Framework is a C++ class library designed to make it easier to use the OpenGL library. It is not a complete visualization library but rather a foundation of classes that can be extended in simple ways. The main classes include:
  • CIvfBase, the root classe for all others (handling type information and reference counting);
  • CIvfObject, handles all classes that use OpenGL;
  • CIvfShape, used by all visual classes;
  • CIvfComposite, a class for hierarchical scenes; and
  • CIvfTransform, for implementing hierarchical models for, e.g. linking robotic arms.

[http://www.gorkon.byggmek.lth.se/ivfweb/]

ivmaps
Note: This has been merged with the vhclserv package into the combined vhclmaps. A package which provides facilities for map database access and display. It is built on top of ivtools and PROJ and support databases implemented in Vector Product Format (VPF) and Digital Line Graph format (DLG) (both used for databases produced by the USGS).

The ivmaps package consists of several libraries and applications. The libraries are:

  • Map, a library of map access base classes;
  • MapUnidraw, a library of Map display Unidraw-derived classes;
  • VfpUtil, a utility library of VPF source code;
  • Vpf, a library of VPF access classes;
  • Dlg, a library of DLG access classes;
  • Dem, a library of elevation grid access classes;
  • DemVtk, a library of elevation grid 3-D objects;
  • Los, a line-of-sight and viewshed library;
  • LosServ, a losserv library;
  • MapServ, a mapserv library;
  • VpfUnidraw, a library of Vpf display Unidraw-derived classes;
  • DlgUnidraw, a library of Dlg display Unidraw-derived classes; and
  • DemUnidraw, a library of Dem display Unidraw-derived classes.
The available map viewers are:
  • vpfviewer, a VPF viewer;
  • dlgviewer, a DLG viewer;
  • demviewer, a DEM viewer; and
  • utmviewer, a 2-D map viewer using the UTM projection.
The two map servers are:
  • mapserv, a map feature class server; and
  • losserv, a line-of-sight server.
The utility programs include:
  • dcwdemprint, which prints the contents of DCW DEM files;
  • usgsdem2vtk, which converts a USGS 1 degre DEM into a format importable by demviewer;
  • usgsdemprint, which prints the contents of USGS 1 degree and 7.5 minute DEM files;
  • vpfdbprint, which prints the contents of a VPF database; and
  • vpftableprint, which prints the contents of any VPF table.

A source code distribution of ivmaps 0.5.5 (7/97) is available as is a binary version for Linux Intel ELF platforms. Documentation is scattered throughout the distributions.

[http://www.vectaport.com/ivmaps/]

ivtools
A framework for building custom drawing editors and servers, ivtools is a collection of C++ libraries and example programs which incorporate and evolve the last last source tree for the InterViews 3.1 package. Ivtools consists of four sets of interrelated capabilities useful for application programmers. The first set contains libraries and example programs from InterViews 3.1. These include:
  • IV, the library of InterViews 3.1 and 2.6, Dispatch, OS, and TIFF objects;
  • dclock, a digital clock with fading digits;
  • iclass, a C++ class browser; and
  • idemo, a glyph demo.
The second set is for reusing and extending the lightweight glyph objects of InterViews 3.1 and includes:
  • IVGlyph, a library of Glyph-derived classes;
  • bdvtable, for bounded-value editing;
  • formdemo, a program for value-editing;
  • gclock, a glyph-based clock;
  • meter, a sliding meter;
  • radiogroup, a set of radio buttons;
  • scrollable, a 2-D scrollable glyph;
  • scrollfield, a 2-D scrollable field-editor;
  • strchooser, a string chooser;
  • text-editor, an Emacs-like text editor; and
  • timestamp, an editable time glyph.

The third set of ivtools capabilities reuses and extends the Unidraw library from InterViews and includes:

  • Unidraw, the Unidraw library from InterViews 3.1;
  • UniIdraw, the librarification of InterViews 3.1 idraw;
  • OverlayUnidraw, an extended Unidraw framework;
  • Topology, a spatial network library;
  • GraphUnidraw, a graph browser/editor library;
  • FrameUnidraw, a multi-frame display mechanism;
  • idraw, a version of idraw built on top of UniIdraw;
  • drawtool, an extended verion of idraw built on OverlayUnidraw;
  • netdraw, a graph browser/editor integrated with drawtool; and
  • flipbook, a multi-frame editor based on drawtool.
The fourth set adds a command interpreter and server mechanism to ivtools as well as several demonstrations. This set includes:
  • ComUtil, command interpreter utility functions;
  • Attribute, an attribute property list mechanism;
  • AttrGlyph, glyphs for Attribute;
  • ComTerp, command interpreter objects;
  • ComGlyph, glyphs for the ComTerp library;
  • ComUnidraw, a library for command interpreter augmentation;
  • comtest, a test program;
  • comterp, a sample command interpreter;
  • glyphterp, a command interpreter user interface;
  • comdraw, drawtool with a command interpreter; and
  • drawserv, comdraw with graphs.
There is also a Time library with date and time classes.

A source code distribution of ivtools-0.5 (7/97) is available as is a binary version for Linux Intel ELF platforms. Documentation is scattered throughout the distribution.

[http://www.vectaport.com/ivtools/]

[ home / linux ]


next up previous contents
Next: Ja-Jm Up: Linux Software Encyclopedia Previous: Ia-Im   Contents
Manbreaker Crag 2001-03-08