Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
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.
cgroups v2: How the Kernel Enforces Container Resource Limits
Docker's --memory and --cpus flags are just file writes into cgroup v2. A tour of the unified hierarchy: cpu.max, memory.high, PSI, and how limits actually behave under load.
Legal Contract Review Agents: Extraction, Clause Risk, and Citation
Contract review is an ideal agent workload — until the agent cites a clause that does not exist. How to build extraction, risk scoring, and citation-grounded outputs with LlamaIndex-style pipelines.
Exposing Your Payment Gateway as an MCP Tool Server
MCP lets agents call tools — and payments are the scariest tools you can expose. Here is how to structure an MCP tool server over your payment gateway with two-phase approval, idempotency, and least privilege.
Feedback Loops: Turning Human Edits into Agent Improvements
Every time a human rewrites your agent's output, you throw away a training signal. A feedback loop turns those edits into datasets, evals, and measurable model improvements.
gRPC in Flutter: Typed RPCs Between Your App and Backend
REST plus hand-written models gets old fast. gRPC for Flutter gives you protobuf-defined contracts, generated clients, streaming, and deadlines — across mobile and web.
WidgetsBindingObserver: Handling App Lifecycle in Flutter
Flutter apps live inside an OS lifecycle they do not control. WidgetsBindingObserver is how your widgets learn about resume, pause, memory pressure, and metric changes — and how to use it correctly.
Federated Plugin Architecture: How Flutter Plugins Split Across Platforms
A Flutter plugin no longer has to be one package. Federated plugins split the API, the platform interface, and the native implementations — here is the architecture and when to use it.
Dart Pattern Matching and Records: Cleaner Data Flow in Flutter Apps
Dart 3 introduced patterns and records — two features that quietly eliminate entire categories of boilerplate. Here is how they work and where they pay off in real Flutter code.
The Container Security Model: What Is and Is Not Isolated
Containers share one host kernel, so isolation is a bundle of kernel features, not a wall. NIST SP 800-190 frames the model — this post maps each layer to what it really isolates and how to harden it.
Startup Ordering That Actually Works: Healthchecks and depends_on in Compose
Compose depends_on only waits for containers to start, not to be ready. Gate startup on real readiness with healthchecks and condition: service_healthy — and know what that guarantee does not cover.