The Noble Ape Simulation is a collection of a number of autonomous simulation components including a landscape simulation, biological simulation, weather simulation, sentient creature (Noble Ape) simulation, and a simple intelligent-agent scripting language (ApeScript). Noble Ape also contains a social simulation where the Noble Apes can be tracked in terms of social groups and also over many generations to explain social phenomenon to users looking to study this kind of interaction. It has been in development for more than a fifteen years.
MatrixSSL is an embedded SSL and TLS implementation designed for small footprint devices and applications requiring low overhead per connection. The library is less than 50Kb on disk with cipher suites. It includes client and server support through TLS 1.2, mutual authentication, session resumption, and implementations of RSA, ECC, AES, 3DES, ARC4, SHA2, SHA1, and MD5. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.
baresip is a bare-bones SIP user agent. It supports SIP, SDP, RTP/RTCP, and STUN/TURN/ICE, and IPv4 and IPv6, and is RFC-compliant and has portable C89 and C99 source code. A modular plugin architecture provides stdio, cons, and evdev user interfaces, celt, g711, g722, gsm, ilbc, l16, and speex audio codecs, alsa, coreaudio, gst, portaudio, oss, winwav, and mda audio drivers, speex_pp, speex_aec, speex_resamp, and sndfile audio filters, the avcodec video codec, avformat, quicktime, qtcapture, v4l, and v4l2 video sources, sdl, opengl, and x11 video display drivers, and srtp media encoding.
The Open-Transactions project is a collaborative effort to develop a robust, commercial-grade, fully-featured, free-software toolkit implementing a full-strength financial cryptography library, API, CLI, and prototype server. Open-Transactions democratizes financial and monetary actions. You can use it for issuing currencies/stock, paying dividends, creating asset accounts, sending/receiving digital cash, writing/depositing cheques, cashier's cheques, creating basket currencies, trading on markets, scripting custom agreements, recurring payments, escrow, etc. Strong crypto is used. Balances are unchangeable (even by a malicious server). Receipts are destructible and redundant. The transactions are unforgeable. The cash is untraceable. The cheques are non-repudiable.
libre is a generic library for real-time communications with asynchronous I/O support. It is written in portable POSIX source code that conforms to the ANSI C89 and ISO C99 standards. It is robust and fast, with a low memory footprint. It also features RFC compliance and support for IPv4 and IPv6. Protocol implementations include SIP, SDP, RTP/RTCP, BFCP, DNS, STUN/TURN/ICE, HTTP, and WebSockets.
The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.
Jabylon is an extensible Web-based translation management software. It is meant primarily as a tool to help translators and developers manage and create translations. Jabylon supports translations of Java, Android, and iOS applications. It features tight integration into various source code management systems, a feature-rich Web editor, and a REST API to upload or download translations. It can also be used to offer your user community an easy way of contributing translations for new languages or suggest changes to existing translations.
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one or more clients can attach to and detach from a central core, much like the popular combination of screen and a text-based IRC client, but graphical. In addition to this unique feature, it aims to be a comfortable chatting program.
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.