Multixterm creates multiple xterms that can be driven together or separately. It can be used to login via SSH to multiple hosts and control them simultaneously, or for ad hoc things where you want to see the results as you type. Each xterm may also be driven separately. Multixterm is scriptable so that you can easily fire up, for example, a dozen xterms with a single command, tiled nicely on your screen. In addition to SSH, multixterm can drive rlogin, telnet, passwd, or any program that runs in an xterm.
Clusters and server farms often have many nodes and very little hardware support for locating and diagnosing problems, especially if the problem involves the network interface. Helpme is a small stand-alone program that allows a node to use the standard PC speaker, both to signal that a problem has been detected and to render arbitrary alphanumeric text using either Morse code or the NATO phonetic alphabet. The input syntax allows repeating messages and more.
Platform Independent Petri Net Editor (PIPE) creates and analyses Petri Nets quickly, efficiently, and effectively. A key design feature is the modular approach adopted for analysis, enabling new modules to be written easily and powerfully, using built-in data layer methods for standard calculations. Six analysis modules are provided, including Invariant Analysis, State-Space Analysis (deadlock, etc.), and Simulation Analysis and Classification. PIPE adheres to the XML Petri net standard (PNML). The file format for saving and loading Petri Nets is extensible through the use of XSLT, the default being PNML.
The DNServer class can be used to implement domain name servers (DNS). It starts listening to DNS UDP port 53 to handle domain name resolution requests. The class decodes the DNS request, and invokes a configurable callback function that takes the DNS query type and the domain to resolve and returns an IP address.
jobqueue is a fault tolerant program for executing jobs in parallel to complete all jobs as quickly as possible. It can be used to distribute a set of jobs to a specific number of processors and/or machines. New jobs are started as older jobs finish. Failed jobs can be automatically restarted. Jobs can be automatically migrated away from failed nodes.