How to avoid OUTER APPLY in my SQL Server Query

Postmortem: Avoiding OUTER APPLY for Retrieving Latest Rows in SQL Server Summary A developer needed to fetch the latest attendance record per employee after a specific timestamp but inadvertently retrieved all matching records. The initial solution used OUTER APPLY, which caused performance issues in a complex production query. This postmortem explains the optimization strategy replacing … Read more

How to use inverse scaling on React Native apps

Solving Inconsistent Font Scaling in React Native Apps Summary Consistent font sizing across different Android/iOS devices proved challenging due to default pixel density scaling in React Native. Attempts to manually scale fonts using screen dimensions failed because reported pixel dimensions don’t linearly correlate with physical display size across manufacturers. Root Cause React Native applies automatic … Read more

How to specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS manually on MacOSX?

Postmortem: Solving mysqlclient Installation Failures on macOS Due to Missing MySQL Configuration Flags Summary Installation of the mysqlclient Python package via pip fails on macOS with explicit errors The package requires MySQL client C library headers and binaries (libmysqlclient) Failure occurs because build tools can’t locate MySQL client dependencies Users are directed to manually specify … Read more

Why is Promise.all not supported inside MongoDB (Mongoose) transactions?

Why Promise.all in MongoDB Transactions Leads to Undefined Behavior Summary MongoDB transactions require sequential execution of operations within a session. Promise.all and similar constructs cause parallel execution, violating MongoDB’s transaction isolation constraints. This pattern can appear to work but risks data corruption and undefined behavior under load. Root Cause MongoDB’s transaction protocol requires operations to … Read more

Types no longer inferred from Array.reduce initial value

Types No Longer Inferred from Array.reduce Initial Value After TypeScript Version Change Summary A TypeScript upgrade or downgrade in a Deno environment caused type inference failures for Array.reduce operations when using an initial value of Map<string, number>. Previously, the result type was correctly inferred as Map, but after the environment change, TypeScript required explicit generic … Read more

How can I let come objects in from the top of the canvas and delete them after they are gone into oblivion?

Technical Postmortem: Unmanaged Object Lifetimes Causing Performance Degradation in p5.js Traffic Simulation Summary Implementation failed to manage dynamically spawned road markings, causing unbounded memory growth due to unremoved off-canvas objects and ineffective virtualization. Root Cause Declared roadLinesArray was never populated or utilized RoadLine class permanently maintained two static instances that reset vertically without deletion No … Read more

Custom Gutenberg block changes not updating after npm start

# Postmortem: Custom Gutenberg Block Changes Not Updating After `npm start` **Summary** – JavaScript changes in a custom Gutenberg block created with `@wordpress/create-block` aren’t reflected in the WordPress editor despite running `npm start`. – Occurs in a local WordPress environment using XAMPP, with no active caching plugins. **Root Cause** – **Hard browser caching** of JavaScript … Read more

Remove request to merge remote tracking branch on GitHub

# Postmortem: Removing Misleading Merge Requests for Remote Tracking Branches on GitHub **Summary** A developer encountered persistent merge request prompts on a GitHub fork despite changes already being integrated via regular pull requests. Locally, `git status` showed the branch was ahead of `upstream/main` by 3 commits. The workflow issue centers around unpropagated upstream changes creating … Read more

Rounding decimals in Swift, while maintaining a trailing zero

# Rounding decimals in Swift, while maintaining a trailing zero **Summary** A functional test failed when rounding a `Decimal` value to three decimal places with a trailing zero. The rounding function correctly computed `609.660`, but Swift’s `Decimal` type internally discards trailing zeros in its representation. The test incorrectly expected a `Decimal` containing explicit trailing zero … Read more