Actually useful

Most of the things I write nowadays end up immediately in one of these:

workspace switcher status

wss is a tool to show the status of your X workspaces while you switch between them. This tool was made necessary because Xfce does not tell you which workspace you are on in any obvious way - there may be some information in the panel, but if that's hidden you lose.

Start it in your ~/.xsession and it'll become active on the active-workspace-changed event.

password store

pwstore is a tool to maintain a GnuPG encrypted password store.

It supports defining groups of users/keys so that different files in a store can be encrypted to different sets of authorized readers.

Written for Debian-admin so we can keep all of our credentials in a single git and give out partial access to various local admins.

Code on github.

The Debian snapshot service attempts to provide a view on for any chosen point in time in the past. In a way it archives various Debian related repositories, making it possible to get versions of software that is no longer available from Debian's main mirrors.

As of mid 2012 it has about 15 Terabytes of data in about 11 million files.

Code available from; Bugs tracked on


A very tiny script by Florian Reitmeir and myself, but yet so very useful. Ever have a file that you want to share with people on IRC or in mail? Upload it to your webserver, find a unique name etc. Don't forget to clean up after a while.

publish makes this easy. Just run it from your command line as publish foo.bla or without arguments to have it publish what you paste in to stdin. It then rsyncs the data to a new, unique, random place on your webserver and gives you the URL in the terminal, and your X clipboard.

Sounds trivial, but if I didn't have it anymore I'd have to just invent it again.


keylookup is a script to search keyservers for GnuPG/PGP Keys and import them into your keyring. It basically is a wrapper around gpg --search but with a nicer interface.

Nowadays part of the PGP-tools project on salsa.

On the right you can see a screenshot of what happens when you run keylookup

Project page on salsa.

caff - CA - fire and forget

caff is a script that helps you in keysigning. It takes a list of keyids on the command line, fetches them from a keyserver and calls GnuPG so that you can sign it. It then mails each key to all its email addresses - only including the one UID that we send to in each mail.

Source is part of the PGP-tools project on salsa – see


Echolot is a Pinger for anonymous remailers.


For a couple of years I contributed actively to the Mixmaster project.

Mixmaster is a type II anonymous remailing protocol and network. Remailers provide protection against traffic analysis and allow sending email mail anonymously or pseudonymously. There are currently (May 2002) about three dozens functional mixmasters in the Mix Net most running either the Reliable (on Microsoft Windows) or the (non-free) Mixmaster v3 software.


awm is Weasel's mail archiver for Maildir style mailfolders.


My former CA-Bot is a collection of small scripts that help me do the paperwork which comes with doing GPG/PGP-Keysigning properly.

The code and everything is there, just not in a very releaseable status (It worked for me and did so for at least a year but it's not cleaned up). If you cannot wait for an official release, which will never come, you'll find the tarball here. Or actually a tarball of the subversion repository.

Here be dragons.

It has also been abandoned in favor of code.


Code2HTML is a script that converts a program's source code to html to be displayed on a web site. My first perl project, a long time ago, and it shows.

Nowadays there are probably plenty better tools to do this.


Libsis is a simple wrapper library which allows you to set the source address of outgoing TCP and UDP traffic.

Webinterface for Unix Listproc

Probably not really useful nowadays, but back in the days mailinglist software didn't have fancy web interfaces, which was a problem for some users. So I hacked together some perl to make it simplier for the subscribers of one particular list to change their settings, subscribe to the list, unsubscribe, get their forgotten passwords and so. on

There are no admin functions since I never needed them.

Toys/proof of concept


This was my attempt at writing Perl module for doing all the operation mixmaster clients and remailers need as well as an implementation of an actual client and a remailer.

I never finished it, but what I have can be found in the tarball.

PHP Indent

phpindent is a slow source code indenter for php which does not even work. More a proof of concept than anything else. It's just here because a friend said I wouldn't dare to publish it.

Other Channel Homepage and FAQ

I started the (on IRCnet and OPN) channel homepage.

Nowadays it is run by many other contributors - adding FAQ entries and fortunes. For a while it was still autobuilt daily by me.

The CVS^WGit can be found at

Trust analysis on the Debian Keyring

For a while I ran trust/connectedness analyses on the Debian Keyring.

NoReply - remailer stats and more

Over at you can find some information about remailers and pingers.


I maintain a few packages for Debian, a free/open source operating system.

The package tracking system has a current overview.

At one point in time I was also helping with Debian's Quality Assurance efforts (debcheck). Every now and then I sponsor prospective developers from time to time (check their packages, provide feedback and if everything is well done upload it into the archive)

My main involvement nowadays is with the Debian System Administration team.


I was involved and contributed ideas or code to nymserv, an anonymous pseudonym email server, such as that which runs

It lets you create an email address in an anonymous and secure fashion. You can then use this address to send and receive mail anonymously.


Another project I contributed a bit to is Mixminion, the next generation (type III) anonymous (emailing) network. Currently dormant. Was being designed, speficied, and implemented.

Really old stuff


A small document that descibes how hashing works (written to test code2html's inline feature).

Set Dyn DNS

This was just a quick hack that updated the dynamic dns entry of your account.

It requires wget, nslookup and some other UNIX tools.

If you put this script into your /etc/ppp/ip-up.d/ directory, it should get executed everytime you fire up your (i)ppp connection.

Download: setdyndns.

ls with nicer file sizes

Another quick hack which changes the output of ls, to make it display filesizes more readable. Probably doesn't apply against latest fileutils/coreutils.

The output of the standard ls with option -l looks like this:

-r--r--r--    1 root     root      1924022 Feb  9 18:08 Contents-i386.gz

So how large is the file? Is it 19 megs, or 1.9 megs or just 190 k? It is quite hard to tell for me on the first look, so I decided to change the ls output.

The new -M option together with -l now prints filesizes like this:

-r--r--r--   1 root     root         1_924_022 Feb  9 18:08 Contents-i386.gz

Note that this was long before --human-readable (which I still don't like, but that's a different story).

Anyway, patch against ls.c of fileutils 4.0. (Warning: horrible code ahead.)