Keyboard Upgrade is firmware that was designed for use on homebrew USB keyboard controllers based on Atmel AVR microcontrollers, particularly the ATMEGA series. The firmware allows multiple user-defined key maps to be uploaded to your controller and switched at any time, turning your keyboard into a Dvorak or Colemak or any other layout keyboard in hardware. It currently supports the following keyboards: IBM Model M, IBM Model M Mini, and IBM M4-1. Schematics for the controller hardware are included. Support for new controller designs can be added to the firmware fairly easily by reusing a common set of source code files.
The Full-text Index Data structure library, libfid for short, is a portable software library for accessing indexed data through a simple C interface. It implements, among others, functions for reading indexed data from files, and for performing common operations such as fast string matching. Easy alphabet handling for mapping between printable and binary alphabets is integrated from the ground up. Currently, the enhanced suffix array is the only full-text index data structure supported. A very simplistic program for constructing enhanced suffix arrays is included.
mkESA is a program for constructing enhanced suffix arrays (ESAs) from biological sequence data. The program is based on an implementation of Manzini's lightweight Deep-Shallow algorithm, which can also utilize multiple CPUs/cores for extra performance. The generated output is compatible with the output of mkvtree from the Vmatch package.