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().
The Courier Unicode Library implements several algorithms related to the Unicode Standard: look up of uppercase, lowercase, and titlecase equivalents of a Unicode character, grapheme and work breaking rules, line breaking rules, and several other related functions. The library also implements C++ bindings for these algorithms.
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.
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).
Gpart is a small tool which tries to guess which partitions are on a PC harddisk in case the primary partition table was damaged. It works by scanning through the device (or file) given on the commandline on a sector basis. Each guessing module is asked if it thinks a filesystem it knows about could start at a given sector. Several filesystem guessing modules are built in, and others can be added dynamically.