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().
AntiJOP is an anti-malware solution that recodes assembly language to remove JOP attack gadgets. JOP attacks on x86 often hinge on the availability of 0xFF bytes in preexisting code, which can be co-opted to serve as register-indirect call instructions. AntiJOP removes instances of 0xFF bytes that may exist, for example, in immediate values, MOD/RM bytes, etc.
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.
uncsv is a filter command converting the lines of a CSV file into a non‐escaped, non‐quoted delimited file (pipe by default). csv is the opposite of this command; it takes an un-quoted stream of values, separated by the delimiter of your choice (default: pipe ’|’) and produces a "standard" CSV file. Both tools avoid end‐of‐line character politics and will leave these untouched.
vimpc is a curses-based client for the Music Player Daemon (mpd) that draws inspiraton from vi/vim. It supports a vim-like rc file, mappable key bindings, normal/ex modes, counts, searching, a music library, directory navigation, playlist editing, and comprehensive help, is highly configurable and customizable, and more. It is written with the intent to make vi users feel at home when using mpd, but is also intuitive and very usable by non-vi users.