lcra renames filenames like COMMAND.COM and MAIN.C to more tasteful ones like command.com and main.c. It tries to guess which filenames are DOS-ish ones needing changing, and which are really meant to be uppercase. It will fix the contents of a directory and all subdirectories. The companion program nsra changes spaces in filenames to underscores.
Pip is a wrapper for programs that won't use stdin and stdout, but require filenames to be given on the command line; it lets you use '-' as a special filename. Now you can build pipelines to your heart's content. Pip takes care of creating and removing the temporary files needed. Also included is pip_latex, which handles the peculiarities of TeX and LaTeX.
Unarc unpacks an archive and creates a top-level directory to unpack into if it's needed. Unarc works with lots of archives, not just tarballs (bz2, zip, and even rpm are supported). There is a companion program arcdir which provides a uniform way to archive directories into tarfiles, zipfiles, etc.
Demoroniser is a Perl script which attempts to fix the gratuitously incompatible HTML generated by Microsoft applications. Many Microsoft programs use an 'enhanced' version of Latin-1 with extra characters like quotation marks and dashes. Sometimes people paste these characters into supposedly ASCII or Latin-1 web pages, resulting in pages that don't display properly on non-MS platforms. Demoroniser replaces these MS characters with standard ASCII equivalents. It also fixes up wrongly nested tags generated by HTML export in some MS applications.
Pcal prints nice-looking PostScript (or HTML) calendars (in monthly or yearly formats) and has a wide variety of useful options. Its real power is its ability to create personalized calendars by marking 'events' (e.g. holidays, birthdays, paydays, etc.) and by adding EPS images (photos, icons, etc.). Lcal generates full-year, colorized lunar calendars in a one-page or two-page format.
rs reads its input into an array of rows and columns, applies a specified transformation to the array, and writes it out with the specified number of rows and columns. It can be used to do column formatting and tidying of text, to transpose rows to columns and columns to rows (word-by-word, not character-by-character), and as a wrapper around line-oriented tools to let them handle multiline data. Rs is often distributed together with jot and lam, sometimes under the name bsd-utils.
Jot is used to print out increasing, decreasing, random, or redundant data, usually numbers, one per line. It can be used to generate randomness fitting a certain pattern (eg, a random IP address) or number sequences (useful in shell programming). It is often distributed together with lam and rs, sometimes under the name bsd-utils.
Lam merges several input files line-by-line. By changing the input or output line separators you can do fun things like interleaving lines from several files or making a simple template system. Lam can also pad or truncate input lines to given widths before merging. Lam is often distributed together with jot and rs (sometimes under the name bsd-utils).
Image Alchemy has the ability to convert between over 90 different raster image formats (including all colorspace and compression variations of each format). Color management features include gamma correction, undercolour removal, seven high quality dithers, colorspace conversion, and palette manipulation. It also includes a Postscript interpreter.
VTeX/Lnx is a TeX program that generates PDF or PostScript output immediately from the TeX source file. In contrast to pdfTeX, VTeX supports inclusion of PostScript images (EPS), as well as inline PostScript programming, even when generating PDF output. VTeX includes a complete LaTeX system, Bibtex, and Makeindex. Packages such as PStricks, PSfrag, and draftcopy can be used with VTeX.
FleXML reads a DTD (Document Type Definition) describing the format of XML documents and produces a validating XML processor with an interface to support XML applications. Because the DTD is known in advance, the C code generated is much more efficient than equivalent code using an API such as SAX.
The Disk and CPU memory test is a memory testing program that attempts to stress the memory system more heavily than purely CPU-based memory tests. It works by running lots of big diff commands in parallel to exercise both the CPU and the disk. If the disk uses DMA, then a greater load will be placed on the memory bandwidth, and the chance of detecting memory errors will be increased.
Respell converts English text between the American, British, and Canadian spelling conventions. It prompts the user for cases where more than one target spelling could be chosen for a source word. It can also create a 'universal' spelling which can be automatically converted to any of the three without loss of information.
Emacs vertical bar mode is an Emacs minor mode which allows one to display one or more vertical bars in a buffer. These bars can help you see how things are aligning up in the file or if you are over a column limit. There are multiple ways to show the bars, and a context menu can be popped up on a visible bar.
find_used_modules looks over your entire system and figures out which modules people are using. It then builds a Perl script that can be used to test to make sure that all those modules are available. The purpose of all this is to allow Perl to be upgraded without breaking too many installed Perl programs.
fixbb repairs the incorrect bounding box for PostScript files created by many Windows applications. It uses bbfig to compute the bounding box, and then fixes any existing bounding box that is in the file. (It currently doesn't add a bounding box to PostScript files that do not have it.)
This package contains generic Linux drivers for the Conexant HCF (controllerless) modem family used by many modem and computer system manufacturers. They should work on most current Linux distributions, based on the 2.4.x kernels. Some systems may require kernel recompilation with special ACPI patches.
This package contains generic Linux drivers for the Conexant (formerly Rockwell) Softmodem HSF modem family, which are used by many modem and computer system manufacturers. They should work on most current Linux distributions, based on the 2.4.x kernels. A Pentium processor with the MMX enhancements is required. Some systems may require kernel recompilation with special ACPI patches. Preemptible kernels are not yet supported.
The Conexant Riptide Driver package contains Linux drivers for the Conexant (Rockwell) RipTide Audio/Communication Controller found in RipTide HCF and RipTide HSF modems. It is an OSS-compatible sound driver. For the HCF modems, this driver is required as well as the HCF driver. For HSF modems, this driver is optional to get soundcard and game port functionality.
PubCrawler is a script for an "alerting" service which scans daily updates to the NCBI Medline (PubMed) and GenBank databases. When PubCrawler is run daily, the results can keep scientists informed of the current contents of Medline and GenBank by listing new database entries that match their research interests.
Xenofarm is a distributed build script similar to Mozilla's Tinderbox, but with more emphasis on finding the causes of bugs rather than merely finding that they exist. The main differences are that Xenofarm synchronizes its build on all platforms (so all the hosts build the same source package at the same time), Xenofarm waits for five minutes (by default) since the last CVS checkin before getting its checkout (to minimize the chance of getting broken code in the middle of a checkin), and more information is sent from the build machines to the front end (so you can track bugs even without login access to the build machines).
Revert sets back timestamps on files if they have not changed. If a source file has identical content to a destination file but the destination's modification time is newer, the mtime is set back to the same as the source. This can save time when using make(1) and generated files, for example. Usage is like cp(1).
MOPS (MOdelchecking Programs for Security) is a tool for finding security bugs in C programs and for verifying conformance to rules of defensive programming. This is targeted at developers writing security-critical programs and at security auditors reviewing the security of existing C code. MOPS is designed to check for violations of rules that can be expressed as temporal safety properties. A temporal safety property dictates the order of a sequence of operations. For example, in Unix systems, we might verify that the C program obeys the following rule: a setuid-root process should not execute an untrusted program without first dropping its root privilege. The current release is an early version of a research tool.
OpenJGraph is a Java library to create and manipulate graphs. Its features include directed, undirected, directed-acylic, and weighted graphs, and simple graph algorithms such as graph traversal, minimum spanning tree, and shortest path spanning trees for weighted graphs. The library also has some support for graph drawing, including straight line and orthogonal graph drawing, and for user interaction such as creating and removing a vertex, creating and removing an edge, dragging a vertex, and changing some of the vertex and edge properties.
Quoter is a simple tool (filter) that takes HTML, XML, or SGML files as input and sends them back out as output with their quotation marks fixed. It handles Microsoft's non-standard quotes, typical Unix conventions (`` and ''), and straight single and double quotes. It knows to leave untouched anything in comments, scripts, or tags.
RC is a dialect of C that adds safe, region-based memory management to C. Region-based memory management allocates objects in a program-specified region. Objects cannot be freed individually; instead regions are deleted with all their contained objects. RC is safe, since for each region, r, it maintains a reference count of the number of external pointers to objects in r (i.e. of pointers not stored within r). Deleting a region with a non-zero reference count causes a runtime error (abort). RC's compiler, rcc, is based on gcc.
CCured is a source-to-source translator for C. It analyzes the C program to determine the smallest number of run-time checks that must be inserted in the program to prevent all memory safety violations. The resulting program is memory safe, meaning that it will stop rather than overrun a buffer or scribble over memory that it shouldn't touch. Many programs can be made memory-safe this way while losing only 10-60% run-time performance. CCured can find more bugs that Purify misses but with much less run-time cost.
Date::Manip is a Perl module for handling Gregorian dates. Operations such as comparing two times, calculating a time a given amount of time from another, or parsing international times are all easily done. The library is oriented towards the type of operations people tend to think of rather than those operations used routinely by computers.
dsh (the distributed shell) is a program which executes a single command on multiple remote machines. It can execute this command in parallel (i.e., on any number of machines at a time) or in serial (by specifying parallel execution of the command on 1 node at a time). It was originally designed to work with rsh, but has full support for ssh and with a little tweaking of the top part of the dsh executable, should work with any program that allows remote execution of a command without an interactive login.
similarity-utils is a set of two programs to give a quantitative measure of how similar two files are, on a scale 0 to 1. similarity_by_diff measures the number of difference lines reported by diff(1), while similarity_by_zlib tries compressing the two files, both separately and together, and comparing the results.
Tzip reduces the size of the named files using a dictionary for each file. The dictionary itself is compressed using Huffman coding and stored in its own file. Tzip also allows you to compress entire directories. In this case, only one dictionary per directory is generated. The compression is not always as good as gzip.
Parsec is a monadic parser combinator library for Haskell. It can parse context-sensitive, infinite look-ahead grammars but performs best on predictive (LL) grammars. The parser definition is in the same language as the rest of the program, so it benefits from type checking and existing development tools. Parsers are first-class values within the language and it is easy to extend the set of parsers with custom-made ones.
Happy is a parser generator system for Haskell, similar to the tool 'yacc' for C. Like yacc, it takes a file containing an annotated BNF specification of a grammar and produces a Haskell module containing a parser for the grammar. It is flexible: you can have several Happy parsers in the same program, and several entry points to a single grammar. It can work in conjunction with a lexical analyser supplied by the user (either hand-written or generated by another program), or it can parse a stream of characters directly (but this isn't practical in most cases).
PEACE is a set of programs to run Win32 applications on a NetBSD/i386 box. PEACE is a "Win32-compatible package" rather than an "emulator" because instead of using an emulator executable, it extends the kernel and dynamic linker to understand Windows EXE and DLL file and provides a small implementation of the core Windows APIs.
[incr Tcl] is a set of extensions to the Tcl language for object-oriented programming. [incr Tcl] (itcl) provides the extra language support needed to build large Tcl/Tk applications. It introduces the notion of objects, which act as building blocks for an application. Each object is 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.
Unionfs is a stackable unification file system which can appear to merge the contents of several directories (branches), while keeping their physical content separate. Unionfs is useful for unified source tree management, merging the contents of a split CD-ROM, merging separate software package directories, data grids, and more. Unionfs allows any mix of read-only and read-write branches, as well as insertion and deletion of branches anywhere in the fan-out. To maintain Unix semantics, Unionfs handles elimination of duplicates, partial-error conditions, and more.
pmq is a tool to query installed Perl modules. It will find the .pm file for a given module (like which(1) for Perl) and its version number. It is robust against modules that give an error on loading or don't define a version number. pmq --all lists information on all installed modules, which is useful for checking that Perl upgrades haven't broken anything.
The DBI module enables your Perl applications to access multiple database types transparently. You can connect to MySQL, MSSQL, Oracle, Informix, Sybase, ODBC, and other database systems without having to know the different underlying interfaces of each. The API defined by DBI will work on all these database types and many more. You can connect to multiple databases of different types at the same time and easily move data between them.
scbib is a bibliography manager written in Scheme. It handles bibliographic data written in simple S-expressions and generates a bibtex file and an HTML file from the S-expressions file. It is capable of obtaining bibliographic data using the Amazon Web service. A simple converter for importing a bibtex file is also included.
SmartList is a mailing list manager. It is built on top of procmail and provides for the simple creation and handling of mailing lists, including fully automated subscription/unsubscription/help-request processing, intelligent auto-removal of addresses from the list that cause too many bounces, and a built in archive server (with MIME support).
SqWebMail is the Webmail module that's bundled with the Courier mail server. It can also be packaged separately and used with any other mail server that uses maildirs. SqWebMail does support traditional Mailbox files, only Maildirs. It accesses maildirs directly, and does not use an IMAP server.
unpaper is a post-processing tool for scanned sheets of paper, especially for book pages that have been scanned from previously created photocopies. It can make scanned pages more readable on a screen and more acceptable for OCR. unpaper removes dark edges from the image and also tries to unskew or rotate pages to make the text horizontal.
Shell.NET is a set of console applications written in C#. It features some classic Unix applications like basename, cal, grep, tr, uniq, and wc, but also some unique tools like RunScript or TextTransform, an awk-like text processing application accepting scripts written in any .NET language.
DRLX is a DR-DOS application and Linux kernel that loads a fully functional Linux kernel from DR-DOS. It preserves DR- DOS in memory and on disk so that when Linux has completed execution, control is returned to DR-DOS. DRLX allows the ability to load and run Linux applications from native FAT32 (or FAT16) filesystems.
ExifTool is a platform-independent Perl library plus a command line application for reading, writing, and editing meta-information in image, audio, and video files. It supports many different types of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP, and ID3, as well as the maker notes of many digital cameras.
vss2svn is a Perl script (vss2svn.pl) and accompanying C program (ssphys.exe) to migrate revision history from a Microsoft Visual SourceSafe (VSS) database to a Subversion repository. This combination of programs was designed by reverse-engineering the backend database structure of Microsoft's VSS repository. In doing so, the authors have made progress towards overcoming the inability of even Microsoft's own API to properly recover deep history from VSS. This also means that you don't actually need a copy of VSS or its libraries to convert your repository.
TeX Live is an easy way to get up and running with TeX. It provides a comprehensive TeX system with binaries for most flavors of Unix, including GNU/Linux, and also Windows. It includes all the major TeX-related programs, macro packages, and fonts that are free software, including support for many languages around the world.
Vx32 is a user-mode library that can be linked into arbitrary applications that wish to create secure, isolated execution environments in which to run untrusted extensions or plug-ins implemented as native x86 code. Vx32 is similar in purpose to the Java or .NET virtual machines, but it runs native x86 code, so plug-ins can be written in any language. Vx32 runs on unmodified x86 FreeBSD, Linux, and Mac OS X systems without special permissions, privileges, or kernel modules. It also runs on x86-64 Linux systems.
xz is a data compression program using the LZMA algorithm and a similar user interface to gzip. Typically it compresses both tighter and faster than bzip2, and decompresses nearly as fast as gzip. The .xz file format includes headers and checksums, and also includes data filters (LZMA2) that can increase compression further.
Make category names unambiguous
This is a good move, but the 'Programming languages' category should be renamed to 'Implemented using languages: ' or something unambiguous.
Similarly, 'Operating systems' should be 'Runs under operating systems: '.
That first screenshot of the fm2 interface is 200 kilobytes big - huge, considering it's mostly white space! You would cut your bandwidth bill by taking more care to create small PNG files - an ordinary screen capture on the system I tried was only 29 kilobytes.