Error thrown when I try to console log a ZodError

# Postmortem: Error Thrown When Logging ZodError in TypeScript ## Summary An attempt to log Zod validation errors using `console.log(error)` unexpectedly throws an error instead of printing diagnostic information. This occurs because `ZodError` contains circular references via its `.issues` array, causing JSON serialization to fail during console output. ## Root Cause – **Circular references in … Read more

Xcode Memory Graph shows leaks in brand new Kotlin Multiplatform + SwiftUI app (__NSArrayI, __NSCFString, MTLAttributeInternal)

# Xcode Memory Graph Shows Leaks in Kotlin Multiplatform + SwiftUI App ## Summary – Xcode Memory Graph reported immediate leaks (`__NSArrayI`, `__NSCFString`, `MTLAttributeInternal`) in a brand-new Kotlin Multiplatform (KMP) + SwiftUI app – Leaks occur in the default Compose Multiplatform template without custom code – Memory usage stabilizes over time with no actual growth … Read more

PHP form data not saving in MySQL database using mysqli

# Postmortem: Failed Data Insertion in PHP/MySQL Form Handler ## Summary Form submissions weren’t persisting in MySQL despite valid database connections and table structure verification. The key failure was inadequate error handling masking underlying SQL processing failures, compounded by SQL injection vulnerabilities. ## Root Cause – **Absence of runtime error reporting** silenced critical MySQL constraint … Read more

Why does self-invocation bypass @Transactional in Spring Boot, even when using CGLIB proxies?

## Summary Self-invocation occurs when a method within a Spring bean calls another `@Transactional` method in the same bean. Despite using CGLIB proxies for transaction interception, the transactional behavior fails because the call bypasses the proxy layer, executing directly on the target instance. ## Root Cause – Spring’s proxy-based AOP creates wrappers around beans to … Read more

Google Maps Marker & Bubble Misaligned on Android

# Google Maps Marker & Bubble Misaligned on Android: A Production Postmortem ## Summary – Custom marker bubbles appeared misaligned on Android while working correctly on iOS – Bubble positioning was being calculated synchronously after marker creation – Android required additional time for marker layout completion before reliable coordinate fetching – Debugging revealed `getScreenCoordinate()` returned … Read more

How to limit a decimal point to 1 from user input on a Calculator app?

# Postmortem: Decimal Input Overflow in Calculator Application ## Summary A calculator application allowed users to input unlimited decimal digits via button presses despite UI-level safeguards. The attempted solution prevented duplicate decimal points but failed to enforce single-digit precision after the decimal separator in numeric inputs. ## Root Cause 1. Validation scope was incomplete: – … Read more

Snowflake count_if returns 0 if no records satisfy the condition, while the documentation states otherwise

# Postmortem: Snowflake `COUNT_IF` Behavior vs. Documentation Discrepancy ## Summary – Snowflake’s `COUNT_IF` function returns `0` when no records meet the condition. – Official documentation claims it should return `NULL` in such cases. – Discrepancy confirmed via live testing of `COUNT_IF(1 != 1)` returning `0`. ## Root Cause – Implementation aligns with SQL’s `COUNT` aggregation … Read more

How to get an older project to Create universal binary and target Apple Silicon

# Production Postmortem: Older Project Fails to Build Universal Binary for Apple Silicon ## Summary An Objective-C project migrated to Apple Silicon revealed compatibility issues: – Could only run under Rosetta emulation – Build system refused to target Apple Silicon (`arm64`) – Identified problematic third-party libraries (`libssl.a` and Crashlytics) – Build configuration showed `ARCHS_STANDARD` as … Read more

Can the Duan et al. 2025 “breaking the sorting barrier” faster-than-Dijkstra SSSP algorithm speed up Yamada–Kinoshita negative-cycle enumeration?

# Can the Duan et al. 2025 “breaking the sorting barrier” faster-than-Dijkstra SSSP algorithm speed up Yamada–Kinoshita negative-cycle enumeration? ## Summary This postmortem explores whether Duan et al.’s advanced single-source shortest path (SSSP) algorithm for nonnegative weights can accelerate Yamada–Kinoshita’s method for enumerating negative cycles. Key conclusions: – Duan et al.’s algorithm cannot be directly … Read more