Concurrency Kit provides a plethora of concurrency primitives and lock-less and lock-free data structures designed to aid in the design and implementation of high performance scalable concurrent systems. It was designed to minimize dependencies on operating system-specific interfaces, and most of the interface relies only on a strict subset of the standard library and more popular compiler extensions.
GTKMathplot is an interactive plotting program based on GTK+ and the Cairo graphics library. It can display bidimensional curves, tridimensional curves, and surfaces from Cartesian or parametric equations describing the mathematical objects you would like to visualize. It is designed to be intuitive for high school students with good mathematical knowledge. University students of engineering, physics, mathematics, or natural sciences should need no explanation at all to start using it proficiently.
Grand Unified Builder (GUB) is a mini source-based distribution and packaging system. It cross-compiles several packages with their dependencies and assembles them into a single installation package. It currently supports GNU/Linux, FreeBSD, Mac OS X, and Microsoft Windows installation packages. All packages are fully relocatable and can be installed with user privileges. Plain Python classes are used to describe package build specifics. For reasonably well behaved packages, individual build specifications can stay very simple by extending the generic build specification classes. It was originally developed for turnkey building of all LilyPond binary installers.
Grapple is designed to be a simple network layer, allowing the addition of multiuser features to an application for as little as a dozen lines of code. However, it also allows for more. It features simple client-server networking that keeps all clients aware of all other clients, passworded servers, and data transfer via TCP, UDP, or reliable UDP. Advanced features include network messaging via push, pull, or a combination, multiple methods of querying users, user groups for client bandwidth saving, network load reacting data transmission and retransmission, background pinging to monitor network states, server failover, and a fully functional lobby system.
The Interplanetary Overlay Network (ION) software distribution is an implementation of Delay-Tolerant Networking (DTN) architecture as described in Internet RFC 4838. It includes implementations of the DTN Bundle Protocol, the Licklider Transmission Protocol, and two CCSDS application protocols that have been adapted to run over the BP/LTP stack: the CCSDS File Delivery Protocol and Asynchronous Message Service.
JCGO (pronounced as "j-c-go") translates (converts) programs written in Java into platform-independent C code that can be compiled (by third-party tools) into highly-optimized native code for the target platform. JCGO is a powerful solution that enables your desktop, server-side, embedded, mobile, and wireless Java applications to take full advantage of the underlying hardware. In addition, JCGO makes your programs, when compiled to native code, as hard to reverse engineer as if they were written in C/C++. The JCGO translator uses some optimization algorithms that allow, together with optimizations performed by a C compiler, the resulting executable code to reach better performance compared with the traditional Java implementations (based on the Just-In-Time technology). The produced executable does not contain nor require a Java Virtual Machine to execute, so its resource requirements are smaller than that required by a typical Java VM. This also simplifies the process of deployment and distribution of an application.
UnDBX is a tool to extract, recover, and undelete email messages from Outlook Express .dbx files. On first run, all messages are extracted as individual .eml files. Subsequent runs only update the output directory with new messages, and delete old .eml files that correspond to deleted messages in the .dbx file. Corrupted .dbx files (including files larger than 2GB) can be opened in recovery mode, in order to recover messages and partially undelete deleted messages. The success of recovery depends on the type and level of .dbx file corruption.