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

expo-location not working on an Android device but working fine on iOS and even Android Emulators

Summary The expo-location API failed to retrieve location data on physical Android devices, despite functioning correctly on iOS devices and Android emulators. The issue stemmed from inconsistent permission handling and background service limitations on Android. Root Cause Permission Granting Discrepancy: Android devices required explicit runtime permissions, which were not consistently granted or handled. Background Service … Read more

Issue initializing AXS15231B LCD via QSPI on ESP32-S3 with ESP-IDF v5.5.2

Summary The issue involves an AXS15231B LCD (model JC3248W535EN) connected via QSPI on an ESP32-S3 using ESP-IDF v5.5.2. The backlight functions correctly, but the display remains blank despite successful initialization and no error logs. The root cause lies in incorrect QSPI bus configuration and missing panel initialization commands. Root Cause Incorrect QSPI bus configuration: The … Read more

wkhtmltopdf repeated table headers overlap content when a single table row spans multiple pages

Summary This postmortem analyzes a wkhtmltopdf table‑rendering defect where repeated table headers overlap content when a single table row spans multiple pages. Although the HTML renders correctly in browsers, wkhtmltopdf’s legacy layout engine fails to reserve vertical space for the repeated header, causing visual corruption and truncated content. Root Cause The underlying issue is a … Read more

Different between tsvector and tsquery

Summary The difference between tsvector and tsquery in PostgreSQL can be confusing, even after reading the documentation. In essence, tsvector is used to normalize and optimize text data for searching, while tsquery is used to specify the search terms. Understanding the distinction between these two data types is crucial for effective text search in PostgreSQL. … Read more