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
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 with a sliced cake

How to split Git repository

This guide explains how to split a mono-repo into smaller repositories, keeping the git history for selected files.

2025-09-02 · 3 min · Tom
Example Hyperfine output

Benchmarking Docker image registries

Learn how to benchmark Docker registry performance using the Hyperfine CLI tool. A simple way to compare image pull speeds between registries like Artifactory, Harbor, Docker Hub, and Quay.

2025-08-31 · 2 min · Tom
Cloudflare Pages screenshot

Purge old Cloudflare Pages deployments

Learn how to automatically delete old Cloudflare Pages deployments using a Bash script and the Cloudflare API. Keep your account clean and reduce clutter by removing outdated deployments.

2025-08-26 · 2 min · Tom
[Photo by Markus Spiske](https://www.pexels.com/photo/czarno-zielona-plytka-drukowana-2644597/)

Backup from broken NVMe drive with ddrescue

Learn how to recover data from a failing NVMe drive using ddrescue on Linux. This guide covers step-by-step backup instructions, handling read errors, and restoring your files safely.

2025-04-24 · 3 min · Tom
[Photo by Lukas](https://www.pexels.com/photo/blue-retractable-pen-574070/)

Fix 'Cannot Rebase Onto Multiple Branches' error once and for all

A Guide to using git pull --rebase effectively Using git pull --rebase as your default merge strategy offers several benefits, particularly in maintaining a clean and linear commit history, which can simplify collaboration and code review. However, you may occasionally encounter the error “Cannot rebase onto multiple branches”. This article explains why this happens and provides a solution to make git pull --rebase work seamlessly. Benefits of git pull --rebase Linear History: Rebasing applies your local commits on top of the upstream changes, creating a straight line of commits without unnecessary merge commits. This makes the project history easier to read and understand. ...

2024-05-27 · 2 min · Tom
[Photo by @felipepelaquim](https://www.pexels.com/photo/electronic-book-subscription-in-an-electronic-gadget-8531176/)

Remove password from PDF documents

Learn how to remove passwords from PDF documents using the qpdf tool on Linux, making it easier to read protected files on devices like the Pocketbook Touch HD.

2024-05-27 · 1 min · Tom
[Photo by Pixabay](https://www.pexels.com/photo/orange-and-white-seashell-on-white-surface-33234/)

The power of extensive command history in Bash and Zsh

Learn how to leverage extensive command history in Bash and Zsh to improve your efficiency and productivity in the terminal.

2024-03-05 · 3 min · Tom