The Objex Project (like the GNU Project) aims to develop a complete operating system composed of free and open source software. In contrast to the GNU Project, it aims to build a modern system that brings together all the recent advances in computer science, instead of a Unix-like system. "A complete system" means that it will include the kernel, a full suite of developers tools, user utilities, and a graphical user interface. It is based on OSKit, a framework and a set of utilities, drivers, and program code intended for operating system creation.
SIMD Viterbi Decoder provides library functions to decode certain popular error correction codes. This version supports two codes: a rate 1/2, constraint length 7 (r=1/2, k=7) code, and an r=1/2, k=9 code. Four implementations of each decoder are provided. One is in portable C and should run in any GNU C environment. The other three use the IA32 SIMD (single instruction, multiple data) instruction sets: MMX, SSE, and SSE2. The SSE version of the k=7 decoder executes at ~9 megabits/sec on a 1GHz Pentium-III.
DSP implements several low-level digital signal processing (DSP) primitives accelerated, when available, by the Intel/AMD SIMD instruction sets MMX/SSE/SSE2. Portable C versions are provided for compatibility on non-IA32 machines. Routines are provided to compute 16-bit integer dot products (FIR filtering, correlation); sum-of-squares (signal energy measurement), and peak sample detection (for automatic gain control, etc.).
The Torque Network Library is a robust, secure, and easy-to-use cross-platform C++ networking API designed for high performance simulations and games. It features a UDP- based connection architecture with DoS prevention functionality, different types of data guarantee, bit stream compression, server object replication and updating, and a simple, highly space efficient RPC mechanism. It includes a deterministic application journaling replay function for eliminating hard to find networking bugs.
basE91 is an advanced method for encoding binary data as ASCII characters. It is similar to UUencode or base64, but is more efficient. The overhead produced by basE91 depends on the input data. It amounts at most to 23% (versus 33% for base64) and can range down to 14%, which typically occurs on 0-byte blocks. This makes basE91 very useful for transferring larger files over binary unsafe connections like e-mail or terminal lines.
Push Puppet Toy is a computer-controlled puppet that stands to attention when a friend joins an IRC channel or comes online on IM, and collapses when he leaves. The concept is very similar to the Availabot (http://availabot.com/), but works under Linux. Schematics, firmware for the puppet, and plugins for Gaim and XChat to control the puppet are provided.
ADTPro transfers disks to and from Apple II and Apple /// computers and the modern world using any of these communications methods: serial/USB, UDP via the Uthernet or LANceGS Ethernet cards, or audio via the Apple's cassette ports. ADTPro has comprehensive bootstrapping support for otherwise diskless Apple IIs. The home page includes extensive tutorials for getting started.
FECpp is a C++ library implementing a fast forward error correction code, sometimes also called an erasure code. These codes are used to split input data into a set of n shares, with the property that if any subset of at least k shares survives, the original data can be recovered by the decoder. The number of share losses the code will tolerate can be parameterized during encoding, allowing the code to be adapted to to a variety of loss scenarios. FECpp is bit-for-bit compatible with several other FEC libraries.