Blog
Use ⌘ F / Ctrl F to search · RSS Feed
Want to browse by topic instead? Head over to the tags page.
- 2026
- re: I Received An AI Email
- Nowhere, Specifically
- Generating Scene-Style NFO Files in 2026
- I Built My Own Org-Mode Static Site Generator
- People & Blogs: Christian
- Upgrading My Homelab to 10 Gbps
- Small Wins on the App Store
- Forking SkunkyArt
- Re: Your RSS Reader Is Robbing You
- Re: Quoting Linus Torvalds
- The Night Feeling
- The Internet I Grew Up With Doesn’t Exist Anymore
- I Don't Maintain My Homelab
- Junited 2026
- Bring MOTD to macOS
- Git Is Not GitHub
- Plain Text, Plain Language
- Automating Backups with Zerobyte & Cloudflare R2
- Announcing Hutch: An iOS Client for Sourcehut
- Auditing AWS S3 Buckets
- Auditing AWS Passwords
- Auditing AWS IAM Users
- Automating weblorg Deployments
- Managing Dotfiles with GNU Stow and Git
- IndieWeb Carnival: Intersecting Interests
- Emacs Carnival: Completion
- Emacs Carnival: This Year, I Will...
- 2025
- Self-Hosting Guide: Home Assistant
- Self-Hosting Guide: Tor Websites
- IT Audit and AI: Where It Helps and Where It's Theater
- WCAG Compliance: Accessibility as a Real Constraint
- Using aerc on macOS
- Digital Garden
- Rocket League on macOS via CrossOver
- My Privacy Toolkit
- Minimalist Site: Strip It Down
- Website Redesign 2025
- Private iOS Apps: What I Actually Use
- IT Audit Career: Skills That Matter
- Asahi Linux: Linux on Apple Silicon
- Automating GitHub to GitLab Repository Sync
- Email Migration: 5,000+ Emails, Proton to Migadu
- Obscura VPN: A Two-Party Protocol Review
- Self-Hosting Guide: Tandoor
- 2024
- Self-Hosting Guide: The Lounge (IRC)
- Ollama Code Assistant in VS Codium
- Self-Hosting Guide: Transmission
- Prometheus and Grafana Cloud for Server Monitoring
- Email Sentiment Analysis with n8n
- Org Mode Features: What I Actually Use
- Running Emacs Natively on an Apple Silicon iPad
- Ubuntu: Migrate GPG Keys to trusted.gpg.d
- OrbStack on macOS: Running Ubuntu
- mu4e with Doom Emacs on macOS
- Local Web Dev Server with Docker and Nginx
- OneNote to Org: Escape the Microsoft Format
- Blogging with Emacs Org Mode and weblorg
- Self-Hosting Guide: DDNS Updater
- Doom Emacs and Org Mode Setup
- Self-Hosting Guide: Otter Wiki
- Ubuntu Emergency Mode: Bad /etc/fstab Fix
- ZFS Storage Pools on Ubuntu
- Omaha Crime Data: 8 Years in Tableau
- Audit Dashboard: Alteryx and Power BI
- Local LLM: Run the Model, Keep the Data
- macOS Customization: Terminal, Tiling WM, Widgets
- Don't Say Hello
- 2023
- NextDNS on Unifi Dream Machine
- Signal CLI (scli) on Alpine
- Self-Hosting Guide: AnonymousOverflow
- Alpine Linux SSH Hardening
- Self-Hosting Guide: Authelia
- Digital Minimalism: Fewer Inputs, More Signal
- SQL Scripts for Auditing User Privileges
- Self-Hosting Guide: GitWeb
- Agile Auditing
- Plex Transcoder Errors: Subtitle Fix
- Mullvad WireGuard with LAN Access
- Self-Hosting Guide: Voyager for Lemmy
- Backblaze B2 Backups
- Self-Hosting Guide: Convos
- Byobu: tmux with Less Configuration Overhead
- Audit Testing Review Checklist
- Blocking Malicious IPs on Unifi
- Self-Hosting Guide: Baikal
- Nginx Traffic Analysis with GoAccess and GeoIP
- Burnout
- Hare Lang: Notes from First Contact
- Self-Hosting Guide: wger
- Random Mullvad WireGuard on Startup
- Flatpak Symlinks: Shorten the Command
- Fedora i3: Remove the Login Manager
- Mass Unlike All Tumblr Posts
- Website Updates 2023
- 2022
- Alpine Desktop with Sway
- Suckless Simple Terminal on Fedora
- Nginx Wildcard Redirects
- Nginx Gzip: Compress Text, Nothing Else
- Nginx Referrer Ban List
- Server Build: Rack Hardware, Consumer Parts
- Fixing Nginx Permission Denied Errors on /var/lib/nginx
- Self-Hosting Guide: Matrix Synapse
- Void Linux: Remove the Display Manager
- Alpine Linux: Minimal Install, Minimal Attack Surface
- Self-Hosting Guide: Syncthing
- MTP on Linux: Mount Your Phone Without a File Manager
- Installing GrapheneOS on Pixel 6 Pro
- Building and Exploring SerenityOS
- Privacy.com Changed the Product, Not the Name
- Bash-It: Plugins and Autosuggestions
- Recursive FLAC to Opus Conversion
- Curseradio: Internet Radio from the Terminal
- GnuPG: Encryption, Signing, Web of Trust
- Self-Hosting Guide: Git and cgit
- Fedora and i3: Back on Linux
- Daily Poetry via Cron
- Terminal First: Why the GUI Is Optional
- Self-Hosting Guide: FreshRSS
- Ditching Cloudflare
- PineTime: Open Source Smartwatch Overview
- Nginx Reverse Proxy Config
- SSH MFA: TOTP on Top of Keys
- Server Hardening: Firewalls, SSH, VLANs
- Self-Hosting Guide: Nextcloud
- Dynamic DNS Updates via the Cloudflare API
- Migrating Plex to New Hardware with Nvidia GPU
- Personal Finance Tracker with SQLite
- Create Reliable Notes with Plaintext
- Twosday: 2/22/22
- Nginx Caching for Static Content
- ExifTool: Strip Metadata Before You Post
- Migrating from Ubuntu to Debian with Nginx
- Dynamic DNS Updates via the Njalla API
- Leaving the Office
- 2021
- I Passed the CISA Exam
- Apache Rewrite Rules for Extensionless URLs
- Audit Sampling with Pandas
- Deleting All GitLab Repositories with Python
- Correcting Git Author Details Across Multiple Repos
- My Photography Gear
- A Lightweight, Static PHP Comment System
- Agate Gemini Server Setup
- VPS Web Server: Get Off Shared Hosting
- Vaporwave vs. Outrun
- Gemini Capsule: Deploy and Own Your Content
- Scripting Mass Clones from GitHub and Sourcehut
- macOS for Linux Users
- UFW: Firewall Setup on Ubuntu
- Fediverse: Decentralized Social
- SEUM: Speedrunners from Hell
- 2020
- The Zork Anthology
- Neon Drive
- Minimalist Website Redesign (5kb)
- On Mediocrity
- Data Analysis: World Happiness Choropleth Map
- Internal Audit: Who Are They?
- IBM Watson Vision API
- Learning PHP Auth
- GitHub Pages Redirect Subdomain to TLD
- Data Analysis: Finding the Best Location for a Business
- Data Analysis: Video Games Sales Data
- Ubuntu GNOME Customization
- A Look Inside My Homelab
- Review: Session Messenger
- Cryptography Basics
- Steam NTFS Fix on Linux
- My Favorite Linux Software
- 2019
- NIST Password Security
- The Ansoff Matrix
- Internal Audit Analytics
- CSS Tips: Flexbox, Shadows, Variables
- 2018
- The C++ Compiler
- AES Encryption