The notebook
Writing - page 2
distributed systemsWhen "no healthy upstream" isn't about the upstream you think
Learn what Envoy's no healthy upstream error means, why health checks can remove every backend, and how timeouts and retries can trigger it.
distributed systemsThe Acknowledgment Gap - How Event-Driven Systems Lose Messages Without Errors
Event-driven systems can drop messages while every component reports success. How acknowledgment boundaries hide loss, and where to put them.
aiHow I Built an AI-Assisted Dependency Vulnerability Fixer
Most CVE fixes fail on packaging, not on code. What I learned building an agent that upgrades dependencies and proves the build still works.
pythonIntroducing gh-weekly-updates - Automate Your Weekly GitHub Impact Summaries
Use gh-weekly-updates to collect GitHub activity into concise summaries for standups, one-to-ones, and personal progress tracking.
distributed systemsDeploying GitHub Self-Hosted Runners on Your Home Kubernetes Cluster with ARC
Deploy autoscaling GitHub Actions self-hosted runners on a k3s home lab with Actions Runner Controller, Helm, runner scale sets, and monitoring.
Updated · originally
distributed systemsBuilding a Home Lab Kubernetes Cluster with Old Hardware and k3s
Build a Kubernetes home lab from old laptops with Ubuntu Server and k3s, including networking, node setup, and cluster verification.
pythonHow Does the Python Virtual Environment Work?
A Python virtual environment is mostly a directory and a path lookup. Here is what venv actually creates and how activation changes resolution.
distributed systemsHTTP Chunked Transfer Encoding Explained with curl
Learn what Transfer-Encoding: chunked means in HTTP/1.1, inspect hexadecimal chunk sizes with curl --raw, and see how HTTP/2 and HTTP/3 differ.
Updated · originally
metaUpgrading sahansera.dev to Gatsby 5
Follow the upgrade of sahansera.dev to Gatsby 5, including dependency conflicts, plugin replacements, build fixes, and lessons learned.
pythonStreaming APIs with FastAPI and Next.js - Part 2
Build a streaming API with FastAPI's StreamingResponse, send incremental log updates over HTTP, and connect the response to a Next.js frontend.
Updated · originally