Blog posts

Subscribe via RSS


Feb 20 ‐ Searching for the perfect laptop keyboard. Find out what a notoriously-picky web developer thinks makes a good laptop keyboard.


Nov 2 ‐ Song review: Mono No Aware (William Basinski). William Basinski is at his best in this remarkable soundscape from 'Selva Oscura'.

Nov 2 ‐ Album review: Riceboy Sleeps (by Jónsi and Alex). I wanted to write about why this album is so important to me.

Nov 2 ‐ Album review: Lost and Found (by Jónsi and Alex). Some thoughts on why this is my absolute favorite album of all time.

Jun 10 ‐ Migrating Debian Buster from iptables to nftables. Debian is making the change in the next major release. If you want to get ahead and migrate on your own schedule, follow these steps.

Jun 5 ‐ Using Apache RewriteMap to handle redirects for WordPress multisite. Speed up your server by eliminating WordPress redirection plugins.

Feb 3 ‐ Solving the mystery of Xigmanas Samba file permissions on ZFS. Years in the making and I've finally figured it out. Now time to share with others.

Jan 17 ‐ Batch processing video files with Avidemux. Here's how to convert multiple video files at once.


Dec 12 ‐ Disable Apache 2.4 directory listings. Disable them for real-realz.

Nov 24 ‐ Proud of my 35KB homepage. It's as bare-bones as it's gonna get.

Nov 23 ‐ Fixing slow FTP download speeds. Here's how to correct slow download speeds on Linux clients.

Nov 17 ‐ Website changes. Some adjustments I've made to this site.

Oct 16 ‐ Comparing the compiling times of a large application between a 4-core Core i5-4670 and a 32-core dual socket Xeon E5-2670. Will an upgrade to Ryzen be worth it?

Jun 25 ‐ Give me the command prompt, or give me death!. It bears repeating.

Jun 23 ‐ Apache performance benchmarks. Performance data for two different Apache engines.

Jan 30 ‐ Crappy DisplayPort cables wasted six months of my life. A short tale of mystery and intrigue. My computer started rebooting during POST, and it took me 6 months to figure out why.


Jul 30 ‐ Replacing the blue LEDs on a Das Keyboard 4 Professional with red LEDs. Swap the blindingly-bright blue LEDs on a Das Keyboard 4 Professional with red LEDs that are a better match for the keyboard's style and your retinas.


Apr 21 ‐ Installing Salt on Debian servers. See how you can save time managing many servers using SaltStack.

Mar 31 ‐ Deploying WordPress content changes using WP CLI. Use WP CLI to deploy hundreds of WordPress content changes to a production environment.

Jan 14 ‐ Scarlett 2i2 USB DAC and Debian 8. Removing PulseAudio is key to getting your Scarlett 2i2 USB DAC working smoothly in Linux.


Dec 18 ‐ How to upgrade your web server from Debian 7 Wheezy to Debian 8 Jessie. There are some things to know about during the upgrade. Here is my process and my notes on upgrading Debian 7 systems to Debian 8.

Jul 30 ‐ How to automate moving WordPress custom field values into taxonomy selections. Here's how I migrated hundreds of custom field values to taxonomy tags using wp cli.

Jul 1 ‐ How to migrate a standalone WordPress site into a multisite network. It's actually more straightforward than you think to migrate a standalone WordPress site into an existing multisite network.

May 16 ‐ Improve your online privacy by automatically deleting cookies. The web is a nicer place without remarketing ads.

Apr 15 ‐ gmfw WordPress theme. A simple WordPress theme adapted from MFW and BMFW.

Feb 14 ‐ Fix erratic touchpad on Dell E7240 laptop with Linux. Here's how I fixed an issue I was having with the trackpad on my Dell E7240 laptop.


Nov 20 ‐ RAID 1D (Mirroring with delay). A formalized overview of a filesystem protection scheme that I use to safeguard the data on my personal systems.

Aug 2 ‐ Structured content. If you can do only one thing to ensure that your site architecture is sound, read up on this post about structured content.


Nov 20 ‐ Minecraft soundtrack. Some music I like to listen to when playing Minecraft.