Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
The Default Bridge Network in Depth
A close look at docker0 and Docker's default bridge: how packets flow, which iptables rules the daemon programs, where it diverges from user-defined bridges, and how to migrate.
Dependency Caching for npm, pip, Go Modules, and Cargo
Two layers of build caching for language dependencies: lockfile-first COPY ordering plus BuildKit cache mounts, with Dockerfiles for npm, pip, Go, and Cargo.
Storage Drivers Deep Dive: overlay2
How Docker's overlay2 driver stores image layers and container writes: lower, upper, merged, copy-up, on-disk anatomy, kernel options, and where it performs badly.
Signal-Safe Entrypoints with tini and dumb-init
Why PID 1 in a container ignores SIGTERM and leaks zombies, and how to fix it with docker run --init, tini, or dumb-init, with worked examples.
Primary Constructors in Dart: The Design Decisions Behind the Syntax
Dart 3.13 ships primary constructors after years of debate. Walk through the trade-offs the language team weighed and what they mean for your code.
Mocking and Dependency Injection in Flutter Tests
Design Flutter code for constructor injection, pick fakes over mocks where it matters, run mockito codegen, and swap dependencies in Provider or Riverpod tests.
TabBar and TabBarView in Flutter: Building Tabbed Interfaces
Choose DefaultTabController or a manual TabController, keep TabBar and TabBarView in sync, style indicators, and avoid the classic length and disposal pitfalls.
GestureDetector in Flutter: Recognizers, Hit Testing, and Touch Input
How raw pointer events become gestures, how the GestureArena picks a winner, and how behavior, semantics, and InkWell change what your taps actually do.
Build Secrets with BuildKit: Keeping Credentials Out of Layers
Why ARG and ENV secrets stay permanently in image history, and how RUN --mount=type=secret plus the --secret flag keep credentials out of layers.
Event Sourcing Agent Decisions: Replaying Past Runs for Debugging
Record every agent decision as an immutable event, pair it with OTel GenAI traces, and replay past runs to reproduce and regression-test failures.
Google ADK Workflows: From ReAct Loops to Graph Execution
How one ADK agent's think-act-observe loop generalizes into Sequential, Parallel and Loop agents, session state, and ADK 2.0 graph workflows.
Tool Permission Profiles: Least Privilege for Function Calls
Define named permission profiles, map every tool to a class, and enforce them outside the model with guardrails, approvals, and narrowed schemas.