Devops

retry: a tiny CLI for the things that almost always work

A Go CLI (and library) for retrying flaky commands with fixed delays or exponential backoff

There’s a category of bash one-liners I keep rewriting: “run this thing, and if it fails, try again a few times with a delay.” curl against a service that’s still booting. A kubectl rollout status that flickers. A flaky integration test. A docker pull from a registry having a bad five seconds.

You can write the loop yourself in five lines of bash. I’ve done it hundreds of times. But I always forget the exit code handling, the sleep arithmetic, the cap on retries. So I wrote retry — a single binary that does exactly this, with proper exponential backoff if you want it.

Tools golang cli devops

Mise — Simplify Your Dev Toolchain

How Mise replaces nvm, pyenv, and scattered version managers with a single config file for runtimes, tools, and environment variables

Working across large repositories that mix multiple technologies is common in modern software teams. Keeping everyone aligned on the same tool versions, environment variables, and runtimes has always been a friction point — until I started using Mise (mise-en-place).

It has since replaced several tools on my machine (goodbye nvm, reduced Homebrew usage) and become my go-to for managing development environments, both locally and in CI.

DevOps mise devops tooling