Java Grinder takes Java byte-code from a class file and compiles it into an assembly code text file that can be assembled and run on microcontrollers and CPUs including MSP430, dsPIC, 6502 (Commodore 64), 68000, ARM, and MIPS. A Java API is provided for dealing with SPI, GPIO, Commodore 64 hardware, and more.
yuck is a command line option parser for C that works on a minimal set of dependencies - only a C compiler and the m4 macro processor are required. It supports all the standard use cases: GNU-style long options (--option), condensable short options (-xab for -x -a -b), and optional arguments to long and short options (--foo[=BAR]), multiple occurrence of options (-vvv). Most importantly, it does not depend on libc's getopt() nor getopt_long().
NimBorg is a library for accessing Lua and Python libraries from within Nimrod code. It wraps the C API of these languages with macros which make the code far more readable than the low-level API, and also automatically handles the memory management interface of these languages so that objects aren't deallocated as long as they're accessible from your Nimrod code.
Harry is a small tool for comparing strings and measuring their similarity. It implements several common distance and kernel functions for strings, as well as some exotic similarity measures. For example, Harry supports the Levenshtein (edit) distance, the Jaro-Winkler distance, and the compression distance. Harry is implemented using OpenMP, so its runtime scales linearly with the number of available CPU cores. Efficient implementations and effective caching speed comparison of strings.
PC-BASIC is an interpreter for GW-BASIC files. It can run and convert between ASCII, bytecode, and "protected" (encrypted) .BAS files. It implements floating-point arithmetic in the Microsoft Binary Format (MBF) and can therefore read and write binary data files created by GW-BASIC.
php_mt_seed finds possible seeds given the very first PHP mt_rand() output after possible seeding with mt_srand(). With advanced invocation modes, php_mt_seed is also able to match multiple, non-first, and/or inexact mt_rand() outputs to possible seed values. php_mt_seed is written in C with optional SIMD intrinsics (SSE4.1/AVX, XOP, AVX2, MIC) and OpenMP. On a modern quad-core CPU, it is able to search the full 32-bit seed space in one minute (or in just seven seconds on Xeon Phi).
Erudite is an application for training and testing back propogation neural networks using the ANNeML (Artifical Neural Network Markup Language) XML format. It supports testing and training neural nets with CSV files and has support for randomized training sets, optional adapting learning rate, sigmoid or hyperbolic tangent transfer functions, optional bias and weight adjustment locking, and more.