McGarrah Technical Blog

Essential CLI Tools for Linux System Management

· 4 min read

After years of managing Linux systems - from my Dell Wyse 3040 Proxmox cluster to various VMs and containers - I’ve accumulated a collection of command-line tools that I reach for constantly. These aren’t exotic utilities, but rather the practical tools that help me figure out what’s actually happening when systems misbehave.

Most of these came from those “why is this server slow?” moments where you need to quickly diagnose CPU, memory, storage, or network issues. Here’s what I actually use and why.

Jekyll Website Optimization for GitHub Pages - Part 1

· 9 min read
Foundational optimizations for a Jekyll blog on GitHub Pages — the changes that made the biggest difference across 100+ posts over two years.

Generate Git Timesheet from Commit Logs

· 10 min read
A Python tool that generates timesheets from git commit history — because your commits are already timestamped and reflect when you were actually working.

Enabling SMART Monitoring on Seagate USB Drives

· 5 min read

USB drives are notorious for hiding their SMART data behind finicky USB-to-SATA bridges. If you’ve ever tried to check the health of a Seagate USB drive and gotten frustrated with “unsupported field in scsi command” errors, you’re not alone.

After wrestling with several Seagate drives in my homelab, I finally figured out the magic incantations needed to get SMART data working. Here’s how to do it properly.

Update (2026-02-03): This article has been superseded by USB Drive SMART Updates: Fast-Track to the GRUB Solution which includes updated device IDs and production experience from my Ceph cluster deployment.

Note: The decision to not allow this in Linux as a default was done for good reasons. You are playing with fire as some drives behave erratically. I have not experienced this with recently purchased USB drives, but older ones did have quirks and issues. So buyer beware.

Posts