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
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
Photo of hands between human and robot as reference to the creation of Adam painting

How to add llms.txt to a Hugo Blog

Learn how to add an llms.txt file to your Hugo blog to make it more visible to AI agents and improve Generative Engine Optimization (GEO).

2025-10-16 · 4 min · Tom