Recent Posts
-
Handling LLM Rate Limits in Go: Circuit Breakers and Durable Queues
How to build resilient LLM integrations in Go using circuit breakers and durable queues, avoiding retry storms and handling rate limits with backpressure.
-
Runbook Notes 007: Conditional Jobs & Dynamic Logic
Runbook can now make runtime decisions with boolean expressions, environment variables, and manual approvals. And it's powered by a language I wrote a year ago, called PinguLang
-
Runbook Notes 006: Github Integration
This update covers Runbook’s GitHub integration — from OAuth logins to pulling repos and running workflows. After a week of battling JWT tokens, it finally works!
-
Runbook Notes 005: Quotas and Limits
This update is about guardrails: adding runtime quotas to track usage minutes, and concurrency limits to keep users from running too many workflows at once. With SQL tricks, pending workflow queues, and a touch of fairness, Runbook is getting closer to production-ready orchestration.
-
Runbook Notes 004: Cloud-Native Graceful Shutdowns
Runbook finally supports graceful shutdowns. In this update: fixing the lost context cancellation from Note 002, using Go’s errgroup to propagate errors, and a neat state-management pattern with first-class functions. No more zombie pods when workflows fail or get cancelled.
-
Runbook Notes 003: New UI, Deadlocks, and AI Overengineering
Goodbye juggling multiple terminals, hello frontend! In this update: workflow visualizations, over-engineered log deduplication, and the self-deadlock that stole an afternoon from me.