Sam's home page on this here internet thing
It is time for students of the evolutionary process, especially those who have been misquoted and used by the creationists, to state clearly that evolution is a fact, not theory, and that what is at issue within biology are questions of details of the process and the relative importance of different mechanisms of evolution. It is a fact that the earth with liquid water, is more than 3.6 billion years old. It is a fact that cellular life has been around for at least half of that period and that organized multicellular life is at least 800 million years old. It is a fact that major life forms now on earth were not at all represented in the past. There were no birds or mammals 250 million years ago. It is a fact that major life forms of the past are no longer living. There used to be dinosaurs and Pithecanthropus, and there are none now. It is a fact that all living forms come from previous living forms. Therefore, all present forms of life arose from ancestral forms that were different. Birds arose from nonbirds and humans from nonhumans. No person who pretends to any understanding of the natural world can deny these facts any more than she or he can deny that the earth is round, rotates on its axis, and revolves around the sun. The controversies about evolution lie in the realm of the relative importance of various forces in molding evolution. -- R. C. Lewontin
My PGP key, for paranoid people who wish to contact me.
Art: pictures I have drawn, or otherwise computed.
Is This Image Illegal?: Renders an arbitrary number as an image.
Dotfiles: my configuration files for Bash, Vim, etc. Includes a fancy coloured prompt!
PasswordGeneration: generate passwords given alphabet and desired entropy
WritingManpages: useful links to documentation
Some notes on performing Continuous Integration builds of Debian packages
... and on my pbuilder firewall setup
Filtering Emails from Facebook based on the X-Facebook-Notify header
Debian cruft: cleaning up cruft on Debian systems
Debian Release file fields: the correct values to provide in your Release files
CUPS driver list: how CUPS decides which drivers are available
CUPS URL discovery: how CUPS discovers printers and resolves printer URLs
WindowsPrinterDiscovery: pointers to information about WS-Discovery and WS-Print
Booting your own kernel on DigitalOcean (also changing the init system to systemd)
A short, graphical guide to using software RAID with the Debian-Installer.
MailSystem: notes on configuring an email system with Exim, PostgreSQL, Dovecot IMAP, SpamAssassin, ClamAV and greylisting.
AlteringProcessName: how to alter the names of processes on Linux.
ApacheSecurity: various methods for configuring Apache to run virtual hosts as separate users.
SamsungQ45: my laptop, and notes on the problems I ran into installing and using Linux on it.
DVD quality reviews: reviews of the picture quality and DRM present on the DVDs I buy.
PortableFilenamesOnWindows: how Microsoft make it painful to write portable programs that deal with filenames, and what to do about it.
WindowsInstallFromUSB: throw out your DVD drive!
DisableCapsLockIndicator from the Widcomm Bluetooth stack