getxbook is a collection of tools to download books from websites. There are tools to download from Google Books' "book preview", Amazon's "look inside the book", and Barnes and Noble's "book viewer". There is an optional GUI written in Tcl/Tk, and some shell scripts using OCR to create plain text or searchable PDFs and DjVu files from the downloaded books.
plumb is a shell with focus on pipes: instead of pipelines, it can build large graphs of processes (nodes) and pipes (edges). Pipes are simple unidirectional streams without side effects. Traffic can be controlled by virtual processes (which are nodes just like real processes, but are implemented in plumb for minimal overhead). Virtual processes can split, merge, regex filter/alter, and shape the streams. Timers and starting/stopping processes or even rewiring the script on the fly are also supported. It is portable (using libporty) and behaves exactly the same way on Linux, Windows, Mac OS X, many BSD variants, and older UNIX systems.
PirateWall is a simple Twitter Client. It displays search results for a certain keyword or hashtag in realtime in a shell-based environment. It can also be configured to act as a data provider for many different visualization tools. For example, it is possible to use the client as a text generator for many XScreensaver applications like "apple2" or "starwars". When used in a Unix shell environment, colorized output can be generated.
Qataki is a shell script that you can use to read/post notices from the command line in a simple manner. It supports Identi.ca, Twitter, and StatusNet. You can post, reply, retweet, or send direct messages; read personal, public, and user and group timelines (last statuses); read messages directed to you (i.e. where you are mentioned); read messages in context (conversations available only for Identi.ca/StatusNet); and search for notices.
The STX ExecPipe library provides a convenient C++ interface to execute child programs connected via pipes. It is a front-end to the system calls fork(), pipe(), select(), and execv() and hides all the complexity of these low-level functions. It allows a program to build a sequence of connected children programs with the input and output of the pipe sequence redirected to a file, string, or file descriptor. The library also allows custom asynchronous data processing classes to be inserted into the pipe or placed at the source or sink of the sequence.