Extracting unique values from multiple sets

Summary Unique value extraction from multiple sets using set operations resulted in an inefficient and error-prone solution. The goal was to retrieve values occurring only once across three sets: alice, bob, and charlie. Root Cause Incorrect application of set operations (intersection, union, difference) led to overlapping and missing values. Lack of a systematic approach to … Read more

Flask API pagination and filtering works, but totalRecords count seems incorrect

Summary This incident centers on a Flask REST API implementing filtering + pagination, where the totalRecords value appears unreliable. Although the API returns correct filtered results, the logic used to compute the total count introduces subtle correctness and maintainability issues. This postmortem explains why this happens, how real systems typically solve it, and why junior … Read more

Jupyter Kernel stuck on “Connecting” in Docker (CellOracle) on macOS Silicon (M2)

Summary A legacy amd64‑only Jupyter environment was run inside Docker on an Apple Silicon (M2) host. Although the container launched and Jupyter started, the notebook kernel stayed stuck on “Connecting…” because the browser could not establish a WebSocket connection to the kernel running under Rosetta‑translated Docker networking. The issue was not Tornado itself but a … Read more

Is this Deep Learning → GenAI roadmap (project-based) sufficient for transitioning into LLM & GenAI engineering in 2026?

Summary This postmortem analyzes a learning‑roadmap failure pattern frequently seen in engineers transitioning from classical Deep Learning into LLM & Generative AI engineering. The user’s roadmap is strong, but it misses several production‑critical components that real systems depend on. This document explains why these gaps appear, how they impact real systems, and how senior engineers … Read more

Fast way to identify and remove the PDF content object at a specific (x, y) point?

Summary Issue: Slow removal of PDF content objects at specific (x, y) coordinates using iText7 due to expensive geometry calculations and initialization. Impact: High latency on complex pages with many operations. Goal: Find a faster, more direct mechanism to identify and remove objects at given coordinates. Root Cause Treating every q … Q block as … Read more

wkhtmltopdf repeated table headers overlap rows when rows contain long, multi-line text

Summary This postmortem analyzes a wkhtmltopdf layout defect where repeated table headers overlap the first row on subsequent pages when rows contain long, multi‑line text. Although the HTML renders correctly in browsers, wkhtmltopdf’s patched Qt layout engine fails to recalculate row heights before placing repeated headers, causing truncation and overlap. Root Cause The failure stems … Read more

Plot weighted average of two ETFs on TradingView Supercharts

Summary This incident examines why a seemingly simple request—plotting a weighted average of two ETF percent‑change series in TradingView Supercharts—fails when implemented naively. Although the user expected Pine Script to directly combine percent‑scaled overlays, the underlying data model of TradingView makes this non‑trivial. The postmortem breaks down what went wrong, why it happens, and how … Read more

Why is rm -rf so slow on PolarDB-FileSystem FUSE compared to ext4?

Summary This incident analyzes why rm -rf on PolarDB-FileSystem (FUSE mode) is dramatically slower than the same operation on ext4, despite running on the same NVMe SSD. The core issue stems from metadata-heavy operations crossing the user–kernel boundary, compounded by FUSE design constraints and PolarDB-FileSystem’s metadata architecture. Root Cause The slowdown is caused by a … Read more