Linux Projects

Here is a collection of various programs I wrote (the latest versions, you can find the rest in the archive). All of them have been developed under the Linux operating system and usually in a fairly portable way, so they will probably run on other Unices as well. Most programs are distributed under the terms of the GNU General Public License.

sherlock-4.0
(13-04-09)
Sherlock Holmes is a universal system for indexing (not only) web pages and searching in them. Look at its home page for more details.
pciutils-3.1.5
(19-01-10)
The PCI Utilities are a set of programs for listing PCI devices, inspecting their status and setting their configuration registers. It comes with a library for portable configuration register access.
libucw-4.0
(13-04-09)
The UCW library is a library that makes the life of a C programmer happier. It contains various generic data structures (e.g., lists, trees, hash tables), a configuration file parser, fast implementations of several standard algorithms (most notably sorting), fast buffered I/O, memory pools and many other goodies.
sleuth-1.4.4
(21-05-08)
The DNS Sleuth is a tool for automated checking of DNS zones for errors. I wrote it after trying a dozen of similar tools and finding out that all of them are either unable to discover many of common errors or totally obscure and unmaintainable. You can try it online.
nsc-3.1
(21-05-08)
The Name Server Configurator: A set of utilities and M4 scripts for easy maintenance of DNS configuration and zone files. Supports IPv6, classless delegations and other quirks.
metaclip-1.0
(04-04-08)
Metaclip is a simple distributed clipboard for the X Window system, using an ordinary HTTP server to share the contents of the clipboard.
checkmail-1.3
(05-03-08)
CheckMail is nothing more than a smart textual menu allowing easy browsing through a set of mailboxes, displayed together with numbers of all messages and new messages. Simple, but very handy.
killerd-1.1
(16-01-07)
KillerD is a simple daemon for automatic killing of login shells with idle time exceeding given limits, runaway processes and other system hogs. Almost everything can be easily configured.
bex-2.0
(21-07-06)
BEX a.k.a. Batch Executor is a simple set of scripts for running commands and shell scripts on sets of machines. Sysadmin's delight :)
maildups-0.9
(21-01-06)
MailDups is a small utility to be plugged into your procmailrc for easy filtering of duplicate mail based on Message-ID's.
mo-eval-1.0
(19-02-05)
The MO Contest environment: A simple environment for running programming contests. Currently used at the Czech Programming Olympiad.
netgrind-1.1
(28-06-03)
Netgrind is a tool for further analysis of packets collected by tcpdump. The current version is able to reconstruct TCP streams including precise timings, to dissect HTTP connections to individual transactions and log them, again including precise timings, and also to calculate lots of other statistics. The tarball includes several tools for filtering the statistics and visualizing them using gnuplot.
ywho-1.10
(13-01-03)
Yet another who command: Shows lots of things about the system and all logged-in users including commands they run.
teatimer-1.1
(24-09-02)
Trivial Tea Timer – a simple GTK application for timing brewing of your cup of tea or anything else.
nwho-1.10
(06-07-02)
Network Who: A simple replacement for rwho (who via network). This one uses a centralized server and doesn't trust broadcasts, so it works even across routers.
usher-1.1
(05-07-02)
Usher: A couple of enhancements for the Majordomo list server: better queueing, list archival a'la Listproc and integration with SpamAssassin to fight spam.
sock-1.1
(12-06-01)
Sock: Simple interface between shell (or the command line) and network sockets.
suas-010315
(15-03-01)
Simple User Authentication System – a solution (not an ideal one, but a usable one) for authentication on a network containing one central server and lots of diskless machines. Communicates with a NFS server and tells it which UIDs to accept from which machine. Used at our faculty for a long time, if you'd like to try it, please ask me first for the latest version.
fmap-010125
(25-01-01)
File Mapper: A bunch of utilities for creating snapshot of directory structure (including MD5 hashes of files if requested) and finding differences between the snapshots. Useful for security audits and mapping changes performed by automatic installers.
adsp-0.9.1
(15-12-00)
ADSP Tools: An assembler and some tools for the Analog Devices ADSP 2181 signal processor. Almost ready to be distributed, but no documentation exists yet. Seems to work very well and much faster than the original DOS tool pack.
sss-0.0.1
(18-11-99)
Startup and Shutdown Scripts:A very simple, yet more powerful replacement for the zillions of startup scripts used by today's Linux distributions – consists of a configuration file describing all system services together with shell commands used to control them (everything has a reasonable default, so to describe an usual daemon, it's enough to write a single line with its name) and a simple C program which handles all system state transitions (generalization of run level changes) according to these rules. It probably still should be considered experimental, but I use it on all my machines for several years and I'm perfectly happy with it. Worth a try, but beware, the documentation is minimal.
syncom
(01-07-99)
An experiment in Syntactic Compression: compress Pascal programs by parsing them and encoding the parse tree statistically. Instead of decompressing to the same program, it generates an equivalent one.
ucw-cs-1.1
(13-12-97)
Czech Characters on Linux Console: An attempt to solve the ever-lasting Czech font problems on Linux console by Unicode mappings.
news
(21-03-96)
System News: The superuser places a news file to a spool directory, the users are notified when they log in.

Obsolete programs

These are probably useless these days, but it's still possible somebody will find inspiration in them one day.

moxa-0.98
(11-02-00)
A Linux driver for MOXA C218 multi-port serial boards from the dark ages when MOXA was refusing to give even a snippet of specs. Probably superseded by the current driver in Linux kernel.
slice-0.0
(06-06-99)
Simple LInux Clustering Extensions are a relatively short patch to Linux Kernel 2.2.x which supports clustering with respect to maximization of computing power. Written as a term program for OS classes, but I don't have time to maintain it any longer.
flop-1.6
(17-07-98)
Flop is a tool allowing direct floppy disk mounting and unmounting by normal users. Supports automatic disk format and filesystem recognition.
powerd
(06-02-97)
A power-daemon for certain (now hopefully almost extinct) UPS monitoring cards. Can be a good example of how to write a power daemon.
contrast
(25-09-96)
A display contrast control utility for notebooks equipped with Cirrus Logic LCD controllers.
Best viewed with any browser. Last modification: 2010-01-19 by Martin MarešNo counters, no frames, no syntax errors.