Clifford's Tools

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!

eqsolver.html: A numerical solver for equation systems (using a Gauss-Newton least square fitting approach). The core functionality is also available as JavaScript library. As small example for the library I also wrote a primitive Circuit Simulator.

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.

Subversion related tools 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). Simple tool to run long running read only svn commands on a local cache instead of using the actual repository. A automatic "make clean" for subversion projects: remove everything that is not added to subversion. Perform all changes on a subversion tree so it matches a specified local directory. Very useful for managing vendor trees. Find empty directories in a subversion working copy (ignoring the ".svn" directories). and Simple wrappers for "find" and "grep" so they ignore the ".svn" directories. A small helper app to manage the (svn:ignore) properties. E.g. "svnignore add foobar.elf". A small helper app to "freeze" and "unfreeze" the (svn:externals) references. Show all changes from the last N days. List all files under version control. Revert all local changes. Use with care!

GIT related tools Commit a local filesystem tree as new commit. Useful for managing vendor trees. Create a new git repository from a local *.tar.gz (or similar) file. Useful for quick creation of patches to 3rd party code. Show recent changes in the repository in a nice format. Set the most important settings in the ~/.gitconfig file.