Tutorials

Glob Patterns: Complete Syntax Reference with Examples
Part 2: A comprehensive reference covering every glob pattern from basic wildcards to advanced features like brace expansion and extended globs. Learn the rules that apply everywhere.
Glob Patterns: The Invisible Abstraction Everyone Uses But Nobody Learns
Glob patterns are everywhere - .gitignore, shell wildcards, build configs - yet most developers learn them by accident through copy-paste. Here’s why glob deserves explicit teaching.
Mastering ZSH: Part 4 - Completion System Demystified
Part 4: Learn how ZSH completions work under the hood. Build custom completions for your scripts, understand _arguments and completion contexts, and make tab completion actually useful.
The Complete Guide to Rust Testing: Unit, Integration, Property-Based, and Snapshot Testing
A complete overview of Rust testing strategies: unit tests, integration tests, property-based testing, snapshot testing, parameterized tests, and doctests. Learn which testing approach fits your needs.
Rust Error Handling: thiserror, anyhow, and error-envelope
Three Rust error handling crates that seem to overlap but fill distinct roles. Learn when to use thiserror for typed errors, anyhow for application code, and error-envelope for HTTP boundaries.
The ? Operator in Rust: Error Propagation Demystified
The ? operator looks like magic. One character that handles errors, converts types, and returns early. Understand how it actually works under the hood and when to use it.
Building a GCP Secret Manager Emulator for Offline Integration Testing
Needed offline GCP Secret Manager testing for CI/CD pipelines. Existing solutions were either too heavy or incomplete. Built a standalone gRPC emulator that works with the official Go SDK–zero credentials, zero network calls, 100% local.
Mastering ZSH: Part 3 - Understanding Your Prompt: How Powerlevel10k Actually Works
Everyone uses Powerlevel10k, but do you understand how that fancy prompt actually works? Learn the ZSH primitives behind instant git status, command timing, and async rendering.
Understanding Protocol Buffers: Part 1 - Introduction and Core Concepts
Protocol Buffers (protobuf) is Google’s binary serialization format - smaller, faster, and type-safe compared to JSON. Learn what protobuf is, how it works, and when to use it for APIs and microservices.
From Shell Scripts to Go: Building a Multi-Vault Secret Management Library
Started with Bitwarden-only shell scripts. Needed to support 1Password and pass without breaking anything. Built a shell abstraction layer, then ported it to Go. Same interface, three backends, zero breaking changes.
Mastering ZSH: Part 1 - Hooks and Automation
Complete guide to ZSH hooks: automate prompts, time commands, activate virtualenvs on cd, and filter secrets from history–without slowing down your terminal.
Mastering ZSH: Part 2 - Line Editor and Custom Widgets
ZLE lets you create custom keybindings that manipulate your command line. Learn the fundamentals, build practical widgets (insert git branch, fuzzy file search), and understand how fzf integrates with ZSH.
HTTP Error Handling in Go: Chi, Gin, and Echo
Stop returning errors as plain text. Learn how to implement consistent, structured HTTP error responses in Go with support for Chi router, Gin framework, and Echo framework. Includes field-level validation and trace IDs.
Managing Multiple Claude Code Contexts Without Going Insane
I work on OSS projects, client work, and employer projects. Each needs different Claude Code configuration. Here’s how I stopped manually editing CLAUDE.md every time I switched contexts.