Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
GPU Scheduling in Kubernetes: How Device Plugins Actually Work
Kubernetes schedules GPUs via the device plugin framework: a vendor plugin registers with the kubelet over gRPC and advertises nvidia.com/gpu as an integer extended resource. Covers the handshake, limits-only rules, and the failure modes behind Pending pods.
Embedding Wasmtime: Driving WebAssembly from Rust
A practical tour of the Wasmtime embedding API from Rust: Engine, Store, Linker and Module, host functions, WASI preview 2 components, and fuel and epoch limits for sandboxed plugins.
Backpressure in AI Pipelines: Bounded Channels and Flow Control in Tokio
Why unbounded queues quietly kill inference pipelines, and how to size bounded Tokio mpsc channels and semaphores, then propagate pressure to ingress to queue, reject or shed load on purpose.
Leader-Agent Orchestration: Coordinating Specialist Sub-Agents in LangGraph
Build the leader (supervisor) pattern as an explicit LangGraph state machine: graph structure, routing, shared vs private state, failure handling and hard stopping conditions for delegated sub-agents.
Building an A2A Client in Python: A Hands-On Guide
A code-along guide to building an A2A client in Python with the official SDK: resolve the Agent Card, send messages, stream status and artifact updates over SSE, handle input-required multi-turn tasks, and secure push notifications.
Stress Testing MCP Servers Under Real Agent Workloads
Load-testing an MCP server like a REST API measures the wrong things. Model agent-like traffic - discovery bursts, chatty tool sequences, SSE subscriptions - run it with k6, and watch per-method latency, tool error rate, and first-event time.
Building an E-Commerce Cart Agent with Structured Tool Outputs
Cart tools that return free text push JSON parsing into your agent prompt. Build a Pydantic AI cart agent where add, update, remove, price, and checkout-prepare each return a validated Pydantic model, with recoverable validation errors and TestModel tests.
Writing Useful HEALTHCHECK Instructions in a Dockerfile
A HEALTHCHECK that always passes is worse than none. A practitioner guide to the instruction forms, timing options and defaults, how health status reaches docker ps and Compose depends_on, and the checks that lie while your app is broken.
COPY vs ADD in a Dockerfile: When Each One Is Right
COPY and ADD look interchangeable but are not. The exact behavioral differences - URL fetching, tar extraction, --chown, --from, cache invalidation - and why the guidance is to prefer COPY.
Running Databases in Containers with Persistent Volumes
A database tutorial for Docker: why the writable layer loses data, how to set up named volumes for Postgres and MySQL, fix ownership problems, back up a running DB, and decide when to go managed.
Cosign and Sigstore: Signing Images at the Registry
A hands-on Sigstore tutorial: keyless signing with Fulcio and Rekor, keypair signing, signing a pushed image by digest, verifying in CI and at deploy, and attaching SBOM attestations.
Docker Hub Rate Limits: How They Work and How to Cope
Docker Hub caps pulls per six-hour window for unauthenticated and Personal users. Learn exactly what counts as a pull, what the 429 looks like, and the mitigation ladder from CI auth to a pull-through cache.