Clifford's Tools

I maintain a collection of usefull small programs and scripts for personal use. You can check out the whole collection directly in the subversion repository:

     http://svn.clifford.at/tools/trunk/

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 usefull 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-adresses directly. Probably pretty dangerous on normal workstations but nice for debugging emdedded 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

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 usefull 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 related tools

git-commit-dir.sh: Commit a local filesystem tree as new commit. Usefull for managing vendor trees.

git-kickin.sh: Create a new git repository from a local *.tar.gz (or simmilar) file. Usefull 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.