Sam's home page on this here internet thing
"The fact that I flew here to sit on a panel for one and a half hours, then I'm flying straight back to the US, is an example of our commitment to environmental sustainability..." -- Indra Nooyi, CEO (and COI) of PepsiCo, on her company's environmental commitments
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
FreeIPA: my own notes on FreeIPA regarding stuff that I wish was in the manual
CertmongerSELinux: when SELinux prevents your post-save command from working...
WritingManpages: useful links to documentation
Some notes on performing Continuous Integration builds of Debian packages
... and on my pbuilder firewall setup
PodmanOnDebian: how to build the official Debian Podman packages on your own machine, while they are waiting in the NEW queue
Filtering Emails from Facebook based on the X-Facebook-Notify header
FirewalldZones quick reference
PKCS10CertificateSigningRequestGenerationWithOpenSSL generating private keys and CSRs the easy way
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
IPP over USB: the relentless march of technology results in layering weirdness
PythonVenvCreation: my take on the one true way to create Python virtual environments
ToshibaX30X40FirmwareUpdate: updating the firmware of the Toshiba/Dynabook X30/X40 without having to install Windows
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