libmawk is a fork of mawk 1.3.3 restructured for embedding. It allows you to embed awk interpreters in any application written in C or in a language that can interface C libraries. This allows the application to have plugins, configuration, run control, and AI written in awk. It extends the original feature set of mawk with modularity (C-style include), save/load of compiled bytecode, function calling by name-in-string (substitute for pointers/references), and accounting and limiting of memory and CPU use. While awk as a language does not offer OOP and complex data structures, it is still reasonably powerful. A major advantage is the short learning curve for new users.
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.
Libporty provides a higher level API for some commonly used library functions such as sockets, date/time, file system access, background processes, and asynchronous DNS resolving. Libporty is configured using scconfig and the API is guaranteed to work the same way on all supported systems. An application that exclusively uses the libporty API will not require autotools/scconfig for porting. Libporty has been tested on Linux, Windows, Mac OS X, multiple BSD variants, Minix, OpenSolaris, and some ancient Unix systems.
LMDB is an ultra-fast, ultra-compact key-value data store developed by Symas for the OpenLDAP Project. It uses memory-mapped files, so it has the read performance of a pure in-memory database while still offering the persistence of standard disk-based databases, and is only limited to the size of the virtual address space (it is not limited to the size of physical RAM).