Traditional vi is derived from the 4BSD source and includes support for modern operating systems, 8-bit input, multi-byte character encodings like UTF-8, and features demanded by POSIX.2. It contains few additions beyond this, so it is of interest for those who look for a small but well-defined vi implementation close to that of most commercial Unix systems. It also has some features to cope with primitive terminals or slow connections.
Encdec encodes and decodes C objects such as integers, IEEE754 float and double values, times, and internationalized strings to and from popular binary formats and a wide variety of character encodings as they might appear in various file formats or network messages. It is compiled directly against the libiconv sources.
The libmba package is a collection of mostly independent C modules potentially useful to any project. There are the usual ADTs including a linkedlist, hashmap, pool, stack, and varray, a flexible memory allocator, CSV parser, path canonicalization routine, I18N text abstraction, configuration file module, portable semaphores, condition variables, and more. The code is designed so that individual modules can be integrated into existing codebases rather than requiring the user to commit to the entire library. The code has no typedefs, few comments, and extensive man pages and HTML documentation.
The Heirloom Toolchest is a collection of standard Unix utilities. It was derived from original Unix material released as open source by Caldera and Sun, and contains multiple versions of each utility corresponding to SVID3/SVR4, SVID4/SVR4.2MP, POSIX.2-1992/SUSV2, POSIX.1-2001/SUSV3, and 4BSD (SVR4 /usr/ucb). It processes lines of arbitrary length and in many cases binary input data, supports characters in UTF-8 and many East Asian encodings, and contains more than 100 individual utilities including bc, cpio, diff, ed, file, find, grep, man, nawk, oawk, pax, ps, sed, sort, spell, and tar. Extensive documentation is included.
cstrings is a lightweight internationalization tool for C code. It is useful for those who find gettext too bulky and intrusive. It extracts strings from a program, and turns them into #defines in a prepended code section. It has good features for building up your message base incrementally.
uim is a multilingual input method framework. It aims to provide a flexible development platform and useful user environment for input methods. It works in many environments, including general desktop systems such as GNOME or KDE, and even in a console. It also supports Linux Zaurus and Mac OS X.