Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
CVE Scanning with Trivy: Finding Vulnerabilities in Container Images
A practical guide to scanning container images for known vulnerabilities with Trivy — from a one-line local scan to CI gates, ignore policies, and air-gapped setups.
Docker Build Cache: What Invalidates Each Layer
Why changing one line of code re-downloads your dependencies — the exact rules Docker uses to hit or miss the cache, and how to structure a Dockerfile so it hits almost every time.
Base Images Compared: Alpine, Slim, Distroless, and Scratch
The FROM line decides your image size, your CVE count, your glibc-vs-musl headaches, and whether you have a shell to debug with. A practical guide to choosing a base image.
Recruiting Agents: Resume Parsing, Screening, and Bias Guards
A resume-screening agent is a regulated decision system with an LLM in the middle. How to structure parsing and scoring — and the guardrails that keep an agent out of the headlines.
Rate-Limiting Agent Tools: 429s, Throttling, and Graceful Degradation
A 429 is the one error an agent cannot think its way out of. Where limits come from, how to honor them at the gateway with LiteLLM, and what your agent should do when the queue is full.
The Saga Pattern for Multi-Agent Transactions: Compensating Actions
Agent workflows touch payment, inventory, email, and CRM systems — and they fail halfway. Sagas give you long-running transactions with compensating actions instead of pretending rollback exists.
Image Picker in Flutter: Camera, Gallery, and Lost-Data Handling
image_picker is a federated plugin with platform quirks on every OS — plist keys, Android process death, a cache that is not permanent, and a camera API desktop does not support by default.
Pan and Zoom in Flutter: Building Pinch-to-Zoom with InteractiveViewer
Maps, canvases, image galleries, and whiteboards all need the same gesture pair. InteractiveViewer gives you pan and zoom for free — but boundaries, constraints, and programmatic control are where it gets interesting.
Glassmorphism in Flutter: BackdropFilter, Blur, and ImageFiltered
Frosted glass, blurred dialogs, and soft scrims all run through BackdropFilter — one of the most expensive widgets in Flutter. How it works, why it needs a clip, and how to make multiple blurs cheap.
Drag and Drop in Flutter: Draggable, DragTarget, and LongPressDraggable
Drag-and-drop looks simple until a drag fights a scroll view or the feedback widget vanishes. Here is how Draggable and DragTarget actually work, and the parameters that decide how a drag behaves.
Docker Network Drivers: bridge, host, overlay, macvlan, and when to use each
Six built-in network drivers, each with a different isolation model. A practical guide to bridge vs host vs overlay vs macvlan vs ipvlan — and the user-defined network features most projects never discover.
ENTRYPOINT vs CMD: Who Actually Runs in Your Container
ENTRYPOINT sets the executable, CMD sets the default arguments — and the rules for how they combine, override, and break signal handling are the ones every Docker user eventually needs.