Lifecycle management for your AppImages.
Why I swapped GNU stow's symlink farm for chezmoi: one command to bootstrap a Mac with Homebrew packages and macOS settings, a small daily sync loop, and agent skills shared between Claude Code and Codex.
Learn how to disable Chrome AI on your device model to optimize performance, keep your disk space, and reduce battery usage.
How cmd/go's script tests led me to testscript, and how to use it for CLI tests that exercise argv, stdout, stderr, exit codes, and scratch files.
A curated collection of command-line tools that fundamentally changed how I work. With installation guides using Homebrew and practical usage examples for each tool.
today iain learned: how to enable the tmux extended-keys option and use it to add more Neovim keymaps with modifiers
today iain learned: that working with CSVs in the terminal or text editors is terrible, but the Miller CLI tool makes it bearable!
today iain learned: How to remap the CapsLock key with a tap-hold keybind in Linux
A list of the most useful keyboard shortcuts for the terminal
today iain learned: How to use terminal commands for displaying a custom Neovim dashboard logo on startup
A simple alias to update, upgrade, and cleanup your brew installation on macOS.
Control Go test behavior with custom flags instead of build tags or env vars. Enable integration and snapshot tests with discoverable CLI options.
fzf-tools is a zsh plugin that enhances command line efficiency with interactive selection for files, history, scripts, and git commits.
Jeff Dickey discusses his polyglot development tools Mise, Usage, and Pitchfork, and how they're revolutionizing CLI frameworks and dev environments.
Learn variable indirection in Bash with ${!var} syntax. Build context-aware configs, function dispatch, and dynamic variable name resolution.
A quick and simple Python based shell script to find RSS links from any given URL.
Curious about customizing your terminal experience? Here's how I do it.
Curious about customizing your terminal experience? Here's how I do it.
Automate environment variables per directory with direnv. Load .envrc files on entry, unload on exit. Integrate with Python venv and uv workflow.
Curious about customizing your terminal experience? Here's how I do it.
Master Bash namerefs with declare -n to create dynamic variable references. Build generic functions for arrays and associative arrays without eval.
Replace mkdir, cp, and chmod with a single install command. Copy files, create directories, and set permissions in one step with GNU coreutils.
Removing one of many excuses I usually have for starting a blog post
This is a quick cheatsheet for the most commonly used Docker Commands.
Organize custom scripts with comma-prefixed naming. Improve tab completion and eliminate clutter by prefixing script names with special characters.
Emanuele Stoppa tells the story of Biome rising from Rome's ashes to become a unified JavaScript toolchain with CST architecture.
Manage dotfiles across devices with GNU Stow. Symlink configuration files from git repo to home directory with simple, idempotent commands.
Corbin Crutchley shares his Framework Field Guide approach to learning React, Angular, and Vue simultaneously through practical examples.
Build interactive CLI menus with Bash select statement. Create user-friendly command-line tools with option selection and function dispatch.
Format terminal output with tput instead of ANSI codes. Set colors, bold text, underlines, and backgrounds with simple commands in shell scripts.
This tutorial will guide you through the process of setting up custom commands and aliases for ZShell and its plugins.
Use the colon : command as a no-op in Bash scripts for cleaner debug output with -x flag. Alternative to echo for section markers and comments.
A straightforward guide to setting up your computer for development based on what I use and how to install it.
A quick set of commands to safely move your Bitbucket repo to Github all while keeping history and everything.
Stuck getting `Errors occurred, no packages were upgraded.`? Well, have I got the solution for you..
Nmap (Network mapper) is a dope open-source tool for seeing what's going on networks and how security is looking.
Automatically merge Dependabot pull requests using GitHub Actions. Configure branch protection and status checks for safe automated dependency updates.
Zach Lloyd and Michelle Lim from Warp.dev explain why they built a modern Rust-based terminal to reimagine developer efficiency.
View Python docstrings from the command line with pydoc or serve them as HTML documentation for modules, classes, and functions.