Welcome to Tom’s Blog!

Discover in-depth guides on Linux, automation, security, and containerization, along with leadership tips and my personal bookshelf recommendations for continuous learning
Screenshot of Transmission error and denial messages

Transmission: Permission Denied to Downloads directory

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.

2025-12-26 · 4 min · Tom
Lego heads showing different angry facial expressions

Do not respond in anger

Responding in anger undermines leadership. Learn how managing emotions leads to better decisions and healthier team dynamics.

2025-12-24 · 5 min · Tom
A photo of sandwitch with many layers, symbolizing Docker layers

Squashing Docker images with Buildx

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

2025-12-24 · 4 min · Tom
A terminal window showing a git commit command with a Conventional Commits 'bang' causing an error.

Zsh 'illegal modifier' with Git Conventional Commits

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

2025-12-19 · 2 min · Tom
Photo of 4 clocks in different timezones

I made Windows use UTC with Linux dual boot

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

2025-12-14 · 2 min · Tom
A WD Elements 20TB hard drive box

Shucking WD Elements 20TB

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

2025-11-30 · 3 min · Tom
Digital Photo Frame

Generating Miniatures for my Frameo Digital Photo Frame

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.

2025-11-28 · 7 min · Tom
Photography of someone working with task lists

20 years of Getting Things Done

Reflections and practical tips from 20 years using Getting Things Done, plus a short workshop plan for leaders who want actionable routines.

2025-11-27 · 17 min · Tom
Marp logo

Create Markdown presentations with Marp

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

2025-11-06 · 4 min · Tom
screenshot from Gemini CLI

Running Gemini CLI in a Docker container

Learn how to run Google’s Gemini CLI in a Docker container to avoid installing Node.js and its dependencies directly on your system. This guide provides a simple setup, a recommended shell function for seamless integration, and usage examples.

2025-10-31 · 2 min · Tom