Blog Archives
4 February, 2025
A Beginner's Guide to Extending Emacs
27 January, 2025
Blog Architecture Redux
8 February, 2023
How to Preview System Updates on NixOS
13 December, 2022
An Affordable Voice Assistant that Won’t Spy On You
16 October, 2022
A Modest License Violation Proposal
27 September, 2022
The Best Thing About Docker is not Docker
14 September, 2022
35 Million Hot Dogs: Benchmarking Caddy vs. Nginx
5 September, 2022
One Year With the Framework Laptop and NixOS
21 July, 2022
Have You Considered Load-bearing Shell History?
24 March, 2022
A Doppler Test Drive
4 February, 2022
Too Simple To Fail: Marrying Nomad, Caddy, and Wireguard
10 June, 2021
Unbreakable Builds on Container Schedulers without Containers
23 January, 2021
Tools I Love to Not Think About
26 September, 2020
Industrial Strength Arch Linux
4 February, 2020
My Favorite Things From 2019
5 January, 2019
Shell Kung Fu
13 August, 2018
Going Completely Overboard with a Clustered Homelab
9 April, 2018
Building my ideal router for $50
12 March, 2018
When Disks Die: A ZFS Recovery Post-Mortem
9 July, 2017
Systemd for (Impatient) Sysadmins
30 November, 2016
Advent Of Code 2016 in Haskell
11 July, 2015
systemd, User Instances, Device Units, and Media Archiving
19 October, 2014
Kippo Honeypot Video Gallery
3 October, 2014
Running Docker on CentOS - External Network Access
17 May, 2014
Practical Linux Pipelining
27 April, 2014
SSH Kung Fu
20 April, 2014
Please stop hashing passwords
4 April, 2014
An Exercise in Weak Random Seed Exploitation
2 March, 2014
Docker DVWA Container How-To
25 December, 2013
Yet Another Vim Setup
29 December, 2012
Raspberry Pi XBMC How-To
19 July, 2012
The blog zygote
12 June, 2012
In which I make a blog