ted (Tiny EDitor) is a lightweight commandline text editor designed for scripting. It's intended to be an easier-to-use alternative to "ed". It is lightweight, scriptable, and easily harnessed by shell scripts, but doesn't suffer from the chronic user-unfriendliness that characterizes ed. It is also slightly more featureful than ed, and includes multiple editing buffers and built-in script handling.
Simulated annealing is a computational algorithm for optimization. It mimics the physical process of thermal annealing in which a metal is heated and then slowly cooled to settle into a highly ordered crystal structure. For common metals, the lowest energy state is already known. But the method is useful for other problems where the best state is not known and exhaustively searching all possible states is impractical. The method is applied by modeling the problem as a physical system with structure, energy, and temperature. This Python module implements simulated annealing so that it can be easily applied to a variety of problems. An example program is include to perform simulated annealing of the traveling salesman problem.
Boscli is a framework to create interactive command line interfaces. It is meant to help developers write interactive shells for domain specific tasks. It provides an easy way to wrap and join together command line apps and utilities and create specific shells with security levels and modes, history, auto-completion, and so on. Using this framework any developer can build an interactive command line interface for configuration or monitor an appliance in a few minutes. Boscli can be used as a "glue code" for an appliance's interface or to create a "homogeneous" administration interface for different systems and applications.
topvhost is a curses-based display of virtual host activity on a Web server. The display is created by monitoring a collection of server log files to show update time, update count, and selected fields from the last record of each file in a top-like presentation which can be sorted by last update time, update count, or domain name. Log file format and display columns are configured using an extension of the Apache LogFormat syntax. The collection of associations between domain name and log file is specified either by direct enumeration or a file system glob() pattern in those cases where the domain name is part of the log file path. These details are saved in an INI format configuration file in the user's home directory.
Unhide.rb finds hidden processes on your system. It looks for active processes in many different ways. Processes found by some means but not others are considered to be "hidden", and are reported to the user. Unhide.rb is a Ruby rewrite of the original Unhide, which was written in C. Unhide.rb performs the same checks as the original, but is 10 times faster in only half as much code, and has better diagnostics when hidden processes are found.
When writing anything that needs to communicate with a terminal in some way, it is almost always speaking some dialect of VT100 or ANSI. The libvt 100 library aims solely at parsing a stream of VT100/ANSI data and then letting the host application do the rendering. Many other projects also parse VT100/ANSI data, but their parser is always tangled up with the actual rendering of the data, making reuse in other projects problematic. The hope is that other projects will start using libvt100 and everyone can stop reinventing the wheel with each project.
Uhura is a Web console for databases. It works with MySQL, PostgreSQL, and FirebirdSQL. It presents trees that let you browse databases, tables, columns, constraints, triggers, views, and procs. It has panels for history and fragments. Its editor features autocompletion and autoindenting. It is easy to install.
log4bash facilitates creating easy to read and easy to parse log files from your bash scripts. Developers have the ability to override pretty much all of the default behavior. If the developer chooses to let a user do so, they can pass flags to a script at run time to control some aspects of the logging output. This includes displaying the logging output to the screen in addition to the log file, and altering the logging level. There is a script included (test.log4bash.sh) that provides working code on how to use all of log4bash's features.