Thirteen years of blogging
Thirteen years later! Thirteen years ago today, I created this blog on WordPress.com because I wanted to share some best practices I discovered while developing various web and enterprise applications with both Java and…
Topic - Edition
Thirteen years later! Thirteen years ago today, I created this blog on WordPress.com because I wanted to share some best practices I discovered while developing various web and enterprise applications with both Java and…
Find out about the improved Curve25519 field performance in JDK 27 and JDK 28.
There’s a moment every Java developer has lived through: staring at a stack trace at 2 a.m., trying to figure out whether to catch this exception, wrap it, rethrow it, or just let the whole request die. Somewhere in an…
AI applications are rapidly moving from single-model applications toward systems composed of multiple specialized agents. One agent may specialize in weather information, another in travel planning, another in financial…
A background job charges a customer’s card on step three of four, then throws an exception on step four. The scheduler does what schedulers do and retries the whole job. Step three runs again. The customer pays twice.…
AutoMemoryTools lets a Spring AI agent keep useful facts between sessions without treating the whole conversation transcript as permanent context. This article explains the idea and builds a small Spring Boot chat…
Ask any backend developer what they hate most about maintaining a REST API, and somewhere near the top of the list you’ll hear “the docs are lying again.” Someone changed a field name three sprints ago, nobody updated…