keychain is a manager for the SSH agent. It ensures that there is a single running SSH agent which can be used from several shells at the same time.

Session Multiplexing

Although the OpenSSH client supports session multiplexing as of version 3.9, I understand that the server offers the support for some time. It allows several logins to share the same session and therefore the same login credentials. You will not have to authenticate everytime you open a session.

XML Validator

This is a validator for XML documents with the foillowing features:

Subversion Tunnels

Subversion supports sending its communication via custom tunnels in addition to the predefined SSH tunnel. New tunnels are defined in the [tunnels] section of your global configuration in /etc/subversion/config or your private configuration in ~/.subversion/config


The OpenSSL library provides access to SSL encrypted tunnels. Most of its functionality is accessible via the openssl command which is shipped with the OpenSSL package.

Null Entity Resolver

Instead of permitting the XML parser to download document type definitions, this entity resolver returns an empty string for all entities.

Merging Subversion Repositories

If you have for some reason started out with separate subversion repositories for different aspects of your project but realized that this setup does not make sense anymore, you can use the following instructions to merge repositories.


Although many linux distributions are preconfigured for various locales, they may need further user customization to support the desired features.


Although java.lang.Object declares and implements a method finalize() which is meant to be called by the garbage collector to allow the object to gain control one last time to free resources and finish sanely, I found out in a rather painful way that finalize() will only be called by the garbage collector and not when exiting the program. This means that all the objects that have been in use shortly before shutdown of the virtual machine do not get the chance to close sanely.

Escaping URLs

To ensure that URLs can be displayed regardless of the locale, special characters are substituted by a percent sign followed by their two digit hexadecimal equivalent.