Complete software directory
File system --
To prevent disappointments, I have to state right away that almost all of these are
command-line programs, both because I tend to work mostly in terminal windows
and because I lack the time to program nice GUIs. So, no eye-candy.
Additionally, even though all of the programs work well for their intended
purpose, different people work in different ways, and not all of them might be
useful to everybody. To facilitate your decision whether to try them out, I
have classified them as follows:
Understand and adapt
To be used in pipes
Experimental or hackers only
Entries without any icon are usually just very small scripts you can read
through quickly and form your own opinion about.
- VHDocL, a documentation utility for designs coded in
the hardware description language VHDL. More
- sndsys, a powerful audio stream processing
toolkit. More info...
- printscales.pl prints musical scales for
practicing in PDF format. Download.
- mksam generates long loopable samples from short
- alsacap serves to list ALSA devices and explore
their possible configuration parameters. Download.
- maxwav substitutes the maximum length in the
header of a piped .wav file to allow playing a .wav file from a pipe.
- The Perl script nametracks.pl comfortably
names ripped audio tracks after enumerated song titles.
- fifo, a first-in-first-out buffer which reads from stdin and writes to
stdout. Originally created for buffering audio data to avoid hickups when
playing an audio CD digitally or for other real-time applications where
latency is not an issue. Download.
Web spidering and information retrieval
- histo.c computes
histograms of numeric data in plain text files, optionally taking the
difference between successive values first.
- The octave script
binhist computes histograms of binary data
- fft (also an octave
script) computes the Fourier transform of textual numeric data, optionally
splitting the input file into blocks.
- nsum prints sums and statistics of files
containing numbers in plain text. More info...
- movavg.pl computes a moving
average of series data in plain text files.
- paragraph.pl selects a
paragraph out of several in a text file, which is very useful for files
containing data sets formatted for gnuplot.
- The shell script float.sh uses the C preprocessor
to print out the floating-point limit constants that used to be contained
explicitly in the float.h header file.
File system helpers
- mkcd: A bash shell function for creating a directory
and descending into it in one go.
- The reverse: rmcd, a bash shell function for leaving an
empty directory and removing it.
- renum renames or moves a series
of files to numbered destination files.
- mulmv renames or moves all files
which start with a certain prefix to files starting with a different prefix.
Prefixes may include paths.
- This enhanced version of Perl rename supports
numbering files. Download. More
- This Perl
script detects gaps in series of files with names containing sequential
numbers, such as dates or indexes of sections or instalments. Multiple
numbers are allowed; missing files at the start or end of a sequence cannot
- graftat makes mkisofs's graft points feature
more usable and thereby facilitates inserting files and directories at a
given path in a CD-ROM image. It has the semantics of cp or mv and
outputs graft points in the right format for a mkisofs command line.
- The shell script mkscript creates an empty shell
script for each of its arguments, which contains just the line
"#!/bin/sh" and is an executable file. It then calls your $EDITOR
with the same list of arguments. Saves the first 50 or so keypresses every
time you write a new shell script. mkperl does the
same thing for perl scripts; mkpython for python
- The shell script cscript
compiles a single-source C program and executes it. The related
mkcscript creates a template cscript script.
Together they allow quickly writing small C programs that can be executed
like interpreter scripts.
- tc.pl is a calculator for time
durations which accepts operands in minutes:seconds or
hours:minutes:seconds form and outputs results in both total seconds and
the two other formats.
- The Perl script imgtime.pl
allows you to re-synchronise the times embedded in the EXIF information of
digital photos. It shifts a set of photos so that one of them receives a
certain time, so that you can photograph a clock and adjust the times of all
- The shell script thumbindex
uses ImageMagick to generate thumbnail pages of images (25 thumbnails each).
The thumbnails' caption contains the image file name and, for those
ImageMagick versions which support EXIF, the time and date of exposure (EXIF
- The Perl script repodiff
compares files in different git commits by their SHA1 hashes, possibly
between unrelated repositories. Useful when you have different repositories
sharing some files.
- The C program xobsdview is
a clone of xosview for OpenBSD, which that program no longer supports.
Forks and patches
TOS / Impressum