Buglyst Blog

Learn to debug under pressure.

Playbooks for fast pattern recognition, guides for the full investigation, and articles for the engineering judgment around the edges.

( 02 )Deep debugging guides

Structured investigations for the failure modes engineers meet in real systems.

Browse all guides
Guide

Pulumi State Drift: How Refresh Lies and What to Actually Do

A hard-nosed guide to diagnosing and fixing Pulumi state drift when `pulumi refresh` doesn't behave as expected. Covers real root causes, verification steps, and a war story from production.

Cloud
Guide

Ansible Task Not Idempotent: Changed Every Run

An Ansible task that reports 'changed' on every run is breaking idempotency. This guide covers real-world causes beyond check_mode, from missing diff to transient state in shell commands.

Cloud
Guide

Istio Sidecar Envoy 503: Debugging Upstream Connection Failures

A systematic guide to diagnosing 503 responses from Istio sidecar proxies, covering upstream cluster issues, TLS mismatch, and routing misconfigurations.

Kubernetes
Guide

Linkerd mTLS Handshake Failures: A Practical Debugging Guide

Linkerd mTLS connections failing? This guide covers diagnosing broken TLS handshakes, certificate mismatches, and policy misconfigurations in Kubernetes.

Kubernetes
Guide

Debugging SWC Transform Errors: Syntax Errors in Rust-Based JS/TS Transforms

A practical guide to diagnosing and fixing syntax errors when using SWC for JavaScript/TypeScript transforms. Covers common causes like mismatched decorators, unsupported syntax, and misconfigured .swcrc.

Build tools
Guide

Metro Bundler 'Unable to Resolve Module' — Real Debugging & Fix Strategy

A practical guide to debugging Metro Bundler's 'Unable to resolve module' errors in React Native projects, covering cache, aliases, symlinks, and native module misconfigurations.

Build tools
( 03 )Engineering articles

Long-form thinking on debugging habits, observability, and the systems around the bug.

Browse all articles
Article

Sentry Error Monitoring: A Practical Setup Guide from a Production Outage

A step-by-step setup guide for Sentry error monitoring, covering source maps, release tracking, grouping rules, and alerting — with a real story of a production outage that taught us the hard way.

Observability
Article

Reading Prometheus Alert Rules: A Practical Reference for Debugging Firing Alerts

Alert rules look straightforward until you're staring at a firing alert at 3 AM. This post covers the structure, common traps, and how to extract actionable intent from any rule.

Observability
Article

Debugging Network Issues with Chrome DevTools: Timing, Waterfalls, and Hidden Columns

A practical guide to diagnosing slow requests, stalled connections, and caching bugs using the Network tab's non-obvious features.

Tools
Article

Finding Jank in React Apps with Chrome DevTools Performance Tab

A practical walkthrough of the Performance tab for diagnosing frame drops and long tasks in React apps, with a real debugging story.

Tools
Article

Using Breakpoints Effectively: Beyond Step and Continue

Most engineers know F9 to set a breakpoint and F5 to run. But breakpoints have hidden superpowers — conditional, logpoint, hit-count, and data breakpoints — that can cut debugging time in half. Here's how to use them with real examples.

Tools
Article

Conditional Breakpoints: When and How to Use Them Beyond the Basics

Conditional breakpoints stop only when a specific condition is true, reducing noise in loops and high-frequency code. Here's how to wield them in Chrome DevTools, VS Code, and IntelliJ, plus a war story about a subtle race condition.

Tools