libnode is a C++ implementation of Node.js. Just like Node.js, libnode provides non-blocking I/O, which enables you to develop scalable Web applications in C++. The memory management of libnode is automatic, based on either shared_ptr or bdw-gc. libnode is good to use on embedded devices because its system resource consumption is lower than Node.js.
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.
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.