
My IndieWeb Journey: A Guide to POSSE on a Hugo Static Site
My journey of integrating IndieWeb principles into my Hugo blog-from microformats to Brid.gy syndication and building a custom Webmention renderer.

My journey of integrating IndieWeb principles into my Hugo blog-from microformats to Brid.gy syndication and building a custom Webmention renderer.

Learn how to disable the annoying pager for apt search results on Debian-based systems, and find the best permanent solution.

A developer’s journey of building a recursive descent parser in Go, from basic concepts to tackling left recursion with Packrat memoization.

Transmission on Ubuntu may be denied access to localized Downloads directories due to AppArmor profiles expecting English folder names. Here’s how to fix it.

Learn how to squash Docker images using Buildx to create smaller, more efficient images by consolidating layers.

Fix ZSH ‘illegal modifier’ errors with Git Conventional Commits by disabling the NO_BANG_HIST option.

Configure Windows to use UTC for the hardware clock when dual-booting with Linux, avoiding time synchronization issues and maintaining Linux defaults.

A detailed guide on shucking WD Elements 20TB drives, including testing, performance benchmarks, and stress testing.

A story of how I bought a digital photo frame, and how I created a tool to generate miniatures of my photo collection to fit them all on the device.

Learn how to create beautiful slide decks with Markdown and Marp, a simple and powerful tool for presentations.