I maintain a collection of useful small programs and scripts for personal use. You can check out the whole collection directly in the subversion repository:
The collection also contains a Makefile that can be used to easily install the whole set of programs. The following is a list of some selected tools from the collection:
Generic command line tools
rpn/rpn64: A simple RPN calculator for 32 or 64 bit integers. It also features boolean bit manipulation operations and a nice display of the results in different formats (see here).
teletype: A simple serial terminal with all the small features I always wanted in a terminal app without the overhead of the stuff I don’t need and/or want.
systime: A small vmstat-like tool displaying the overall kernel cpu load. Sometimes useful to figure out if you cputime is spend in userland, normal kernel code, irq handlers or waiting on io.
iomem: A tiny command-line tool to access bus-addresses directly. Probably pretty dangerous on normal workstations but nice for debugging embedded systems.
utf8purify: A small filter that reads a mixture of latin1 and utf8 encoding and outputs pure utf8.
Electronic design tools
This tools run directly in the web browser. Waring: Some of them may only work in recent Firefox releases!
rcalc.html: A small tool to approximate resistance values using combinations of up to three R6 resistors.
vdcalc.html: A small tool for dimensioning voltage dividers using R6 resistors.
fcalc.html: A simple calculator for the AC-simulation of RLC circuits.
oplinfunc.html: A simple tool to create OpAmp circuits that implement any user-specified linear function of the input signals.
svnbranch.sh: A small tool for more sophisticated branching and merging with subversion (see here).
svnbrowse.spl: A simple interactive browser for subversion repositories (needs SPL and STFL).
svncache.sh: Simple tool to run long running read only svn commands on a local cache instead of using the actual repository.
svnclean.sh: A automatic „make clean“ for subversion projects: remove everything that is not added to subversion.
svnemboss.sh: Perform all changes on a subversion tree so it matches a specified local directory. Very useful for managing vendor trees.
svnemptydir.sh: Find empty directories in a subversion working copy (ignoring the „.svn“ directories).
svnfind.sh and svngrep.sh: Simple wrappers for „find“ and „grep“ so they ignore the „.svn“ directories.
svnignore.sh: A small helper app to manage the (svn:ignore) properties. E.g. „svnignore add foobar.elf“.
svnexternals.sh: A small helper app to „freeze“ and „unfreeze“ the (svn:externals) references.
svnlast.sh: Show all changes from the last N days.
svnlist.sh: List all files under version control.
svnpurge.sh: Revert all local changes. Use with care!
git-commit-dir.sh: Commit a local filesystem tree as new commit. Useful for managing vendor trees.
git-kickin.sh: Create a new git repository from a local *.tar.gz (or similar) file. Useful for quick creation of patches to 3rd party code.
git-last.sh: Show recent changes in the repository in a nice format.
git-register.sh: Set the most important settings in the ~/.gitconfig file.