uterus is a codec library for financial tick data with an emphasis on market data integrity and maintainability. It comes with a set of tools to convert (mux) and print (demux) data from some sources, and to perform standard tasks like selecting instruments, creating snapshots and candles from tick data, etc. Special care is taken to provide longevity and consistence. All timestamps are internally converted to coordinated time, and price and quantity quotes are converted to a monetary datatype which doesn't suffer from rounding errors. Most importantly, meta data is stored along with the payload data in an inseparable unit, to provide self-contained and self-documenting files or network streams.
Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
libxmp is a module player library which supports many mainstream and obscure module formats, including Protracker MOD, Scream Tracker III S3M, and Impulse Tracker IT. Possible applications for libxmp include standalone module players, module player plugins for other players, module information extractors, background music replayers for games and other applications, module-to-mp3 converters, etc.
zlog is a reliable, efficient, thread safe, flexible, pure C logging library. It was written because there were no good C logging libraries along the lines of Logback for Java or log4cxx for C++. printf can work, but can not be easily redirected or reformatted, and syslog is slow and designed for system use. It provides a syslog model, log format customization, multiple output, safe run-time reconfiguration, high performance, user-defined log levels, safe log rotation, a log4j-style key-value map, in-built debugging, and no external dependencies.
cconstants is a library and a set of commandline utilities which allow the values of constants defined in C header files to be queried outside the C preprocessor. This allows the values of these constants to be queried from programming languages other than C, on systems without the C preprocessor installed, and on systems on which the header files defining these constants are not available.
rgxg (ReGular eXpression Generator) is a C library and a command-line tool that generate (extended) regular expressions. It can be useful for generating expressions that match, for example, a specific number range (e.g. 0 to 31 or 00 to FF) or all addresses in a CIDR block (e.g. 192.168.0.0/24 or 2001:db8:aaaa::/64).
Click'n'Drag is a Python module that introduces the "Plane" class, which extends PyGame's "Surface" functionality, offering a hierarchy of mouse-sensitive, draggable Surfaces that can be used as sprites, windows, icons, or other interactive elements. In addition, the clickndrag.gui module uses clickndrag to provide basic GUI elements like container, label, text box, option list, and button.
The KoreLogic Expression Language Library (libklel) is a C library that provides a simple expression language that can be embedded in other programs. It does not implement a full programming language, but rather a simpler expression language called KL-EL that is designed to provide arithmetic and logic operations in situations where embedding a full programming language would be overkill. KL-EL can access functions and variables exported from the embedding program, and is statically and strongly typed, which helps ensure that expressions are valid before they are executed. The embedding API is easy to use, and the library itself is very small.
OnPosix is a tiny library to abstract POSIX mechanisms to C++ developers. Most features offered by this library can be found either inside the Boost library or in a library compliant with the C++11 standard. Unfortunately, however, for some embedded Linux devices, these libraries cannot represent viable solutions, due to the lack of memory space (for the Boost libraries) and the lack of a new C++ compiler (e.g., on Xilinx MicroBlaze). On these platforms, the OnPosix library represents a good and cheap solution to have object-oriented POSIX mechanisms. The library offers support for threads, mutual exclusion, sockets, logging, timing, etc.