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:
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 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
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 related tools
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.