ESP32-C3 ESP-IDF v5.4.2 driver for CMT2300A / VG3411 RF module (3-wire SPI, IRQ, RX+TX)

Summary The CMT2300A RF module (VG3411) integration with ESP32-C3 using ESP-IDF v5.4.2 failed due to non-functional IRQ interrupts, preventing reliable TX/RX operations. Root cause: incorrect SPI turnaround timing and misconfigured IRQ polarity. Root Cause SPI Turnaround Delay Miscalculation: The bit-banged SPI implementation lacked precise timing for SDIO direction switching, causing data corruption. IRQ Polarity Mismatch: … Read more

Why do Quarkus tests fail in Eclipse after upgrade to new LTS version?

Summary Quarkus tests fail in Eclipse after upgrading because Quarkus 3.22+ introduced a rewritten test classloading system, and Eclipse’s built‑in JUnit launcher is not yet fully compatible with the new QuarkusClassLoader expectations. Root Cause Quarkus 3.22 introduced a major rewrite of the test classloading internals, specifically affecting @QuarkusTest. Eclipse still launches tests using the standard … Read more

How do I configure VSCode IntelliSense to actually use my GCC version?

Summary This incident examines why VSCode IntelliSense refused to recognize C++26 reflection features (e.g., std::meta::is_type, the ^^ operator) even though the project successfully compiled with a custom GCC trunk build. The failure stemmed from IntelliSense not actually using the custom GCC toolchain, despite configuration attempts. Root Cause The root cause was that VSCode IntelliSense does … Read more

Right floating image in GitHub’s README.md

Summary This incident examines why right‑floating images in GitHub README.md behave unpredictably, especially when placed near Markdown headings. GitHub’s Markdown renderer mixes Markdown and sanitized HTML, which leads to layout collisions such as header underline borders overlapping floated images. Root Cause The underlying issue is that GitHub’s Markdown engine (CommonMark + HTML sanitization) does not … Read more

Neural Networks with weight plus input instead of multiplication?

Summary This postmortem analyzes an experimental neural‑network design that replaces the standard weighted multiplication (w_i x_i) with a weight–input addition (w_i + x_i). While the idea appears computationally attractive, the resulting model underperforms and introduces structural issues that make deeper architectures difficult to train—even with autograd. Root Cause The core issue is that addition destroys … Read more

How to read/write in minio using spark?

Summary This incident stemmed from a misconfigured Spark–MinIO integration where Spark could not resolve the S3A endpoint hostname, resulting in the error “hostname cannot be null”. Although the MinIO service was reachable, Spark’s internal Hadoop S3A client never received a valid endpoint due to missing or incorrect configuration propagation inside the containerized environment. Root Cause … Read more

Why can’t I import Dagre into my Vite app?

Summary Vite’s dynamic import restrictions caused the error when importing Dagre in a migrated Vue CLI app. The issue stems from Vite’s optimized build process, which doesn’t support require statements for certain modules, including @dagrejs/graphlib. Root Cause Dynamic require statements are not supported in Vite for specific modules like @dagrejs/graphlib. Dagre’s dependency on graphlib triggers … Read more

How to get the same domain name working on my internal LAN and also externally via tailscale?

Summary This postmortem analyzes why a single domain name failed to resolve consistently on both a local LAN and over Tailscale. The core issue stemmed from DNS split‑horizon behavior and the assumption that a public DNS record could simultaneously serve internal and Tailscale clients without additional configuration. Root Cause The failure occurred because public DNS … Read more