Memory Allocation Pool

The Java virtual machine provides a limited amount of memory which can be used for application data. By default, this memory allocation pool is initialized to 2 megabytes and is limited to 64 megabytes. There are two command line options that control the size of the pool:

Java Build System

This Java build system is based on ant. It comes with a build.xml that contains project configuration variables. This file includes include.xml that defines the available targets.

GLibC Locales

Portage can be configured to not build all available locales. By applying the following two steps, the selected locales are whitelisted.

Caching Entity Resolver

Both SAX and DOM parsers attempt to download document type definitions everytime they are encountered. The caching entity resolver stores them in a local repository and answers all further requests directly from the repository.

Changing Your Passphrase

To change the passphrase of your ssh private key:

My Setup: Public Key Authentication

The following code chunk is copied from my ~/.bash_profile and demonstrates how to ensure that all login shells share a single SSH agent. You will also want to distribute your public key(s) and enable agent forwarding.

Authorized Key Commands

Please be sure to have read and understood public key authentication. In ~/.ssh/authorized_keys a public key may be prepended by comma-separated list of options:

Public Key Authentication

Are you getting sick of typing in your password each and every time you want to login to a remote host? Why don’t you use public key authentication?

Generating PostScript and PDF Documents

PS and PDF documents are generated by so-called drivers. The name of the driver is to be specified as an option in the following notes: Figures, Colours, PDF Hyper References. The listed commands are compulsory for the given driver.

Branches in Subversion Repositories

For medium to large projects, it is useful to maintain separate copies of the code to represent different stages of the development. These copies are called branches. A common approach is to have a main branch for unstable development where breakage occurs rather frequently. For each release, a separate branch is created from the main branch which is stabilized before the code is deployed. Sometimes changes need to be transferred between branches if development code needs to be included into a stable branch or if bugfixes need to be included into the development branch. This procedure is called merging.