geo-* is a set of tools for geocaching, including tools for accessing the www.geocaching.com, opencaching.com, opencaching.us, and navicache.com websites, tools for geocoding addresses and creating maps, and tools for manipulating Mapopolis place guide data. The focus of these tools is to provide a command line driven environment.
basE91 is an advanced method for encoding binary data as ASCII characters. It is similar to UUencode or base64, but is more efficient. The overhead produced by basE91 depends on the input data. It amounts at most to 23% (versus 33% for base64) and can range down to 14%, which typically occurs on 0-byte blocks. This makes basE91 very useful for transferring larger files over binary unsafe connections like e-mail or terminal lines.
Plait (pronounced "play") is a command-line jukebox and music player front end. It understands brief, easy to type queries that pick a single song, mix queries that combine works from multiple artists, and stream queries that find Shoutcast radio streams. A variety of filters are available to pick just the music you want to hear. In order to actually play the music it finds, Plait automatically hands off a playlist to one of the supported music players, or creates a playlist that you can manually load.
Dim is a utility to help you track the changes of items (sets composed of multiple files). It provides commands to handle the complete lifecycle of version control operations: create a library, register users (code authors), create items, save local versions, branch, clone, export, import, remove, merge, archive, replicate library content over the network or the filesystem, and access the full history and browse differences at the library, item, file, line, or word level. Dim is a single self-documented POSIX shell script. It just uses standard Unix utilities like awk, diff, tar, and openssl.
Werc is a minimalistic RESTful Web application framework and content management system. It follows the Unix "tool philosophy" and it is designed to be fast, simple, convenient, and easily extensible. It handles both small and big sites and has a flexible system for user and group permissions. All data is stored in plain text files that can be easily manipulated with standard tools, without using any databases or other external dependencies. Existing applications include a blogging engine with RSS/Atom feeds, a wiki system that can easily integrate pre-existing documents (can be enabled for any directory tree), and others.
snmp2xml is a program to convert snmpget output to XML. The output from snmpget, snmpwalk, or snmpbulkwalk is first filtered to correct for SNMP agent flaws and then processed into XML. This XML can be passed through xmllint to tidy it up or it can be processed by an XQuery or XSLT processor. The XML output represents all the SNMP data such that the original SNMP output can be reproduced if desired with an XSLT stylesheet (which is included). The snmp2xml converter has been tested on 7 SNMP agents: Mac OS X, Apple Time Capsule, the Billion ADSL router, the Huawei S9306 switch, the Foundry/Brocade CES and MLX-4 switches, and the Nortel 425 switch.
Newfangle is a literate programming technique for LyX (or LaTeX) inspired by notangle. It comes in two parts. The weave part that produces the formatted document is implemented entirely in LaTeX, and the tangle that generates the source code is implemented in awk for portability. Naturally, newfangle is written using literate programming techniques, using itself, and so the source is also the documentation. The source is written using the LyX document editor, an excellent front end to LaTeX. LyX is not required, but newfangle provides formatting support for LyX. Literate programming makes you write good code, because if you can't write a good justification or explanation for your code, it makes you think again and write something that you can explain.