Is it not possible to write: “result.plus(if (condition) 1f else 0f)” in kotlin?

Summary This incident revolves around a subtle Kotlin behavior: plus() does not mutate the original value, while += does. A junior engineer assumed both expressions were equivalent, leading to incorrect numerical results in production code. Root Cause The failure stems from a misunderstanding of Kotlin’s immutability model for primitive wrappers and numeric operations. Key points: … Read more

Reducing Interactive Prompts When Using Different Scopes Azure

Summary This incident describes a common authentication pitfall when using InteractiveBrowserCredential with multiple Azure scopes. Because each Azure resource provider (Key Vault, Resource Graph, ARM) issues tokens from different audiences, the credential triggers multiple interactive logins unless the application is explicitly designed to unify token acquisition. Root Cause The browser opens twice because: Azure Key … Read more

AoE 2025 Day 1 Part 2. What did I missed?

Summary A JavaScript solution for a coding challenge produced results higher than expected by approximately 2000 units. The issue stems from incorrect handling of circular position resets and cumulative rounding errors in the logic for tracking rounds. Root Cause Incorrect reset logic: When current exceeds 100 or falls below 0, the reset mechanism incorrectly calculates … Read more

Creating a figure with matplotlib imshow with native resolution of the array

Summary This incident centers on a common frustration in scientific visualization: getting a Matplotlib imshow figure to render at the array’s native pixel resolution. The engineer expected a straightforward one‑to‑one mapping between array elements and displayed pixels, but Matplotlib’s figure‑layout system introduced padding, DPI scaling, and axes adjustments that distorted the intended output. Root Cause … Read more

Practical alternatives to write() for terminal output in Linux userspace

Summary This postmortem analyzes a common performance pitfall: assuming that write(), writev(), or even splice() represent the full set of practical terminal‑output strategies in Linux userspace. The incident stemmed from benchmarking a lightweight libc and overlooking several kernel‑supported mechanisms that reduce syscall overhead for small writes. The result was misleading performance data and incorrect architectural … Read more

Float value changes when rounded

Summary This incident centers on a classic floating‑point precision problem in SQL Server: a value stored as a float appears as 10000 when selected normally, but becomes 9999 when cast to int. The discrepancy is caused by hidden binary rounding errors inherent to floating‑point storage. Root Cause The root cause is the inexact binary representation … 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