Engineering
13 posts filed under Engineering.
- September 21, 2026System design of a fast symbolicator
Turning minified stack traces back into source, fast: a flat pointer-free cache format, mmap instead of a heap cache, and a 22,000x parse-to-lookup gap.
- September 21, 2026SQLite vs DuckDB: every read cliff moved 100x
Same $16.49/month box, same binary, two embedded databases. DuckDB wrote 4x to 15x faster than SQLite and moved every dashboard read cliff by 100x.
- September 21, 2026What degrades when telemetry lives in SQLite
Embedded telemetry stores fail slowly, not loudly: WAL growth, read cliffs, retention, and backpressure, plus the settings that decide each one.
- September 21, 2026How far an observability backend goes on SQLite
A single Go binary writing OTLP metrics into SQLite on a 2 vCPU, 8 GB box sustained 58k metric points a second. Here is the method, and where it stops.
- September 21, 2026Source Maps and Symbolication Explained
A minified stack trace points into compiled output. Symbolication maps it back to your source. Here is how source maps, VLQ mappings and debug IDs work.
- September 21, 2026Why net/http Recovers Panics, and When to Crash
net/http recovers handler panics by default. That keeps the process up, not the service correct. How to pick a recovery boundary, and when to exit 1.
- September 21, 2026How TracePath's MCP Server Works
TracePath speaks MCP: a remote server with OAuth built in and a local stdio one on the CLI. The tools, the three credentials, and when to skip it.
- September 21, 2026Reading an Obfuscated Flutter Crash by Hand
An obfuscated Flutter trace is bare instruction offsets. Here is how to resolve one to a function and a line by reading the DWARF tree yourself.
- September 21, 2026Flutter Session Replay: See What the User Did
How TracePath records the ten seconds before a Flutter exception: a RepaintBoundary ring buffer, MP4 encoded only on error, and widget-level masking.
- September 21, 2026Session Replay in Flutter Without a DOM
Web replay serializes DOM mutations. Flutter has no DOM. Here is the design space that leaves, what TracePath picked, and what the approach cannot do.
- September 21, 2026How source maps fall short on function names
A source map recovers the exact file, line and column of a minified stack frame — but not the function name. Here is why, decoded by hand, and the fix.
- September 21, 2026Why observability outgrows SQLite
An embedded row store ingests telemetry surprisingly well. The dashboard is what breaks first — and which query shape breaks tells you exactly why.
- September 21, 2026How to build an AI SRE agent
A working loop: a production error opens a GitHub issue, an agent reads the telemetry behind it over MCP, and CI turns the result into a PR or a comment.
All categories
Tags
Get new engineering posts in your inbox
This opens your mail client with a short message to [email protected]. Prefer no email at all? Use the RSS feed.