Volker's Software

This is my software which I have made available for download. It's all free, meaning you don't have to pay me for it (though I won't offer resistance if you insist). This "free" however does not mean that you're free to do whatever you want with it. The licenses under which I offer this software is either the GPL or the LPPL.



Converts audio files into a format suitable for writing to audio CDs. Can also perform a number of editing operations on the audio data: cutting, fading in/out, silence detection for cutting along tracks, volume adjustment. The program adopts automatically to the endianness of both the host and the data.

License: GPL 2 or later, download. Linux packages are available in the packages section.


Shell Scripts

A collection of shell scripts which I use all the time, including a function library. All scripts are now in one tar file.

License: GPL 2
Download: scriptutils Linux packages are in the package section

Here are some examples:

functions_vk.bash A function library used by many of my shell scripts. If you get an error from one of the scripts telling you your functions_vk.bash is too old, get a new one from here.

md5 Create and verify MD5 checksums of files, directory trees, or CD/DVD disk images (e.g. ISO files).

writecd Helps with writing CDs. Essentially it calls cdrecord, but takes care of some of the fiddly parameters, and logs all its actions. Keeping the log is a good way of telling later where things might have gone wrong with a particular CD. Can also verify CDs, both by whole disk and by file.

rpmdump Unpack the content of an rpm package into the current directory, and force rpm (the program) not to ask any annoying stupid dumb questions!!

vuescan A wrapper script for the vuescan software from www.hamrick.com, which fixes 3 problems the author of vuescan doesn't want to address.

fxargs A combination of find and xargs which does not barf (or become dangerous) on non-alphanumeric characters in filenames. It even works on systems which do not have GNU find/xargs.

Ren Bulk renaming of files, especially for case changes. Useful for all those annoying uppercase files from Redmond systems, and to fix up 3-letter extensions into proper acronyms.

cp-ext, cp-sort cp-ext duplicates an ext2 filesystem into an empty (sparse) file of sufficient size, but does not copy files. cp-sort recursively copies all files in alphabetic order, taking care not to lose any info assiated with files (times, permissions). Useful for defragmenting and sorting (to some extent) an ext2 filessystem before burning it to CD or DVD.

dolog Run the given command, but log all output and total execution time.

listall Create formatted directory listings, long and short format. Useful for indexing data on backup CD (store the output created by listall and run grep).

cacheexpire Operate a simple cache of strings. Entries older than a given time can be expired.

Col, Lines Perform common column and line operations on text files.

Cmp Compare the given files with files of the same name in another directory. Cmp is needed when comparing files with find / xargs.

ringbell Ring the terminal bell the given number of times. Useful e.g. when you want to be alerted when a long-running program finishes.

strreplace Replace strings A with strings B in all the given files. Non-literal handling of A and B is optional.

ppp-quicklink Network 2 computers via serial cable, by running just this one command on each side.

iplogfilter Translate ipchains and iptables logs into something more readable, with the essential info in 80 characters/line. Not a security tool, but brilliant for getting a quick view of why something doesn't work.




Search the contents of a set of SuSE Linux CDs. An index is created once and stored, searching is performed on the index so the CDs are no longer needed (except for installation). Handles different versions of the distribution. A checksum of the CDs is also stored, to check at any time later whether a CD has errors.

License: GPL
Download: Packages are in the Linux package section. Packages come in two parts: the data part, one for each (professional) SuSE version, and the script itself. Multiple data packages for different versions can be installed together. The script is also in the scriptutils package, and likely to be newer there. Just the script: susegrep



Processing and archiving digitised photos. Programs makeimage, photosort. Requires ImageMagick. Due to the very buggy nature of almost all versions of ImageMagick, a particular version 3 is required for makeimage to function properly. Some versions 5 of ImageMagick seem to work as well, for the most part.

License: GPL 2
Download: It's part of the shell scripts package. A version 3 ImageMagick is in the Linux packages section.



Automatic compilation of LaTeX documents, including their figures (from xfig), plots (from matlab, scilab, octave), and bitmap images (from makeimage). Makes extensive use of makefiles, after changing something just run make. No need to export anything in xfig any more...

License: GPL 2


Mail filtering

These are mail filters programmed in the best mail filtering program available - procmail.

License: GPL 2, download

Included are, among others:

An auto-responder which replies to your emails when you're on vacation. It's smart enough not to send "hi, I'm back on..." to everyone subscribed to the same mailing lists as you are. You can specify the response message sent, and it won't respond more than once to the same email address.

ad filter Get rid of ads in emails from public email providers. Can be configured for many providers, a configuration for yahoo groups is already there.

mailing lists Filters for popular list managers to sort your mailing list messages into folders. The files which begin with lm_.

virus-related rubbish Filters all those rubbish emails caused by virusses, like dud bounces and those moronic "you are infected" notifications. Errs on the side of caution, catches about 80-90%. Not primarily a virus filter, but a remover of rubbish caused by other peoples' virusses.



Highlighting patterns for BibTeX, and highlighting test cases for BibTeX, sh, and Makefile. The latter two are a start at most.

License: same as NEdit, or GPL, download



A program which authenticates a client host to the firewall of the University of Canterbury, for outbound net access. Requires tcl and expect. Now uses a lock file by default. Modify for your needs if you like.

License: GPL 2, download



Display a binary file in hex and ascii. Not lightning fast, but displays what I want to know, which at least od fails to do.

License: GPL, download


SuSE updates

My quick hacks which mirror SuSE's update directory to local disk and prepare for writing it to CD as a "SuSE patch CD". list_suse_updates is Lars Ellenberg's take.

Because it's not realy all that good I've taken it offline. Use fou4s instead. Lars Ellenberg's script is there too.



Download the traffic usage details for a TelstraClear cable internet plan. Suitable for use with cron.

License: GPL, download



Read/write/modify the CMOS non-volatile memory (NVRAM) area of the x86-type PC architecture. This memory area for example stores all the BIOS settings.

License: GPL, download



Enter binary constants in C/C++ in a legible way. Portable - using only standard language features.

License: public domain, download


Odd Stuff

License: public domain, download

get-sys-time.c, set-sys-time-minuteswest.c Display and set the kernel's zone offset value. Largely unused, but required to be correct for mounting vfat filesystems like those fron android devices. openSUSE 13.2 no longer sets it, resulting in wrong timestamps.


home | typesetting | linux | software | packages | photography | contact
Copyright © 2001–2015 by Volker Kuhlmann
Created: 07 Feb 2001, last updated: 19 Nov 2015         URL:http://volker.top.geek.nz/soft/
Valid HTML 4.01!