Start here
A few posts that capture what this site is about.
-
Part 7: Kahan Summation - A Better sum() for Java Streams
Learn why naive summation loses digits and how Kahan compensated summation helps. Includes Java Stream integration, test strategies, and when to use BigDecimal instead.
-
Discipline First: A Trust Pipeline for AI-Assisted Coding
AI-assisted coding is a force multiplier. This post argues that disciplined engineering practices, rooted in Extreme Programming, are what make agentic workflows trustworthy and shippable.
-
Org Incentive Optimization Problem
Most orgs are unknowingly running an “Org Incentive Optimization” algorithm that over-rewards flashy new platforms and under-values quiet reliability work, so you have to translate maintenance into visible, computable outcomes.
-
Reforming the Security Council Without Breaking Trust
A practical case for UNSC reform that preserves stability, legitimacy, and the incentives for major powers to stay invested.
-
TDD as a Management Technique Revisited
I still think TDD is a Taylorian construct. What I care about now is thinking about testing and evaluation before writing code.
-
[Movie Review] Dhurandhar
Review of Hindi movie Dhurandhar
Recent posts
-
Java Generics: The Cost of Type Erasure
Generic types in Java are excellent for compile-time safety, but weak as runtime type descriptors. Whenever a framework crosses a runtime boundary such as JSON, reflection, dependency injection, messaging, persistence, or RPC, it often needs an explicit replacement for the erased generic type inf...
-
Renaming a Linux User Without Losing Your Setup
When I installed Ubuntu on a spare laptop, my intent was to make it usable for my son. So, I named the account old-user (obfuscated for obvious reasons). However, my son moved on and took my old MacBook Pro, leaving this laptop for me. The first thing I wanted to do was personalize it by renami...
-
Saving Private Notes
How I cleaned up a thousand Apple Notes by being honest about what I actually use notes for, building a small folder structure to match, and drawing a hard line between notes and tasks.
-
Insight Agents and the End of Dashboard-Driven Analytics
Why Insight Agents signal a shift from dashboard-driven analytics to conversational, agentic systems that prioritize speed, context, and real business understanding.
-
Part 8: Big Decimal Rounding Modes - Why HALF_UP Isn't Always the Answer
Learn why HALF_UP rounding isn't always correct and how to choose a rounding policy in Java (HALF_EVEN, HALF_UP, HALF_DOWN, UP, DOWN, CEILING, FLOOR, UNNECESSARY).
-
Part 7: Kahan Summation - A Better sum() for Java Streams
Learn why naive summation loses digits and how Kahan compensated summation helps. Includes Java Stream integration, test strategies, and when to use BigDecimal instead.
-
Stereotypes Are Lazy Maps
A short essay on why stereotypes feel efficient but fail under scrutiny, and how to talk about groups: Indians, Americans, immigrants, anyone, without flattening millions of people into a single sentence.
-
Part 6: Defending Against NaN Without Defensive Programming Hell
Learn how to handle NaN and Infinity in Java without scattering if (isNaN) checks everywhere. Five practical patterns: boundary validation with Double.isFinite(), result types, domain types, centralized sanitization, and detecting NaN at its source. Avoid Checkpoint Syndrome and keep your computa...