prerex is an interactive (command-line) editor and a LaTeX macro support package that can be used to create very attractive and readable prerequisite charts. A graphical front-end for the editor also provides a prerex-enabled PDF viewer. A prerequisite chart is a network of course boxes linked by prerequisite and co-requisite arrows.
prll is a utility for parallelizing the execution of shell functions. It provides a convenient interface for parallelizing the execution of a single task over multiple data files or any other kind of data that you can pass as a shell function argument. It is meant to make it simple to fully utilize a multicore/multiprocessor machine. prll is designed to be used not just in shell scripts, but also in interactive shells. To make the latter convenient, it is implemented as a shell function. Shells are not very good at automatic job management, so prll uses helper programs, written in C. To prevent race conditions, System V Message Queues are used to signal job completion. Standard output is buffered and Semaphores are used to prevent interleaving.
ptee is a Unix shell tool similar to tee, but it allows you to invoke multiple sub-shells in parallel. Standard input to ptee is copied to both normal standard output and to each sub-shell running under ptee. Each sub-command is run concurrently and fed the same input. The output of each sub-command is thrown away, but any shell expression can be used, such as redirecting to a file. Note that there are some limits on ptee. The shell pipeline will only execute at the pace of the slowest sub-command; otherwise large amounts of data would have to be buffered. Also, the shell that ptee invokes requires 'sh'-like semantics, such as supporting the -c option.
puddletag is a tag editor for Linux loosely based on mp3tag. It uses a table layout so that all the tags you want to edit by hand are visible and easily editable. puddletag excels at automating repetitive tasks like extracting tag information from filenames, tagging files from a text file or the clipboard, renaming or moving files and folders based on tags by using patterns, and manipulating tags using actions and regular expressions. Supported formats include id3v1, id3v2 (.mp3), AAC (.m4a), VorbisComments (.ogg, .flac), and APEv2 (.ape). Much of mp3tag's functionality has been replicated with added enhancements and tweaks.
The pure::variants Eclipse plugin supports development and variant management for software product lines with many product variants. pure::variants is completely model-based. It uses feature models for variability and commonality modeling. It supports creation, management, and evaluation of all necessary models, and uses XML based data formats. It includes a model transformer, which permits the creation of product variants directly from customizable components.
pwnat, pronounced "poe-nat", is a tool that allows any number of clients behind NAT gateways to communicate with a server behind a separate NAT with no port forwarding and no DMZ setup on any routers in order to directly communicate with each other. The server does not need to know anything about the clients trying to connect, nor does it need to communicate with any other hosts in order to initiate the communication. Simply put, this is a proxy server that works behind a NAT, even when the client is behind a NAT. There is no middle man, no proxy, no third party, no UPnP required, no spoofing, and no DNS tricks. More importantly, the client can then connect to any host or port on any remote host or to a fixed host and port decided by the server.
py-setproctitle is a library that allows a Python process to change its title, as displayed by system tools such as ps and top. Changing the title is useful in multi-process systems, for example when a master process is forked: changing the child's title allows you to identify the task each process is busy with. It is based on PostgreSQL's multi-platform implementation.