Clear Liquibase checksum on upgrade

overview Recently, I upgraded from spring 3.5 to 4. It went quite smoothly thanks to openrewrite script. There are some hiccups of course (with jackson objectmapper, custom deserializer) but thanks to Claude, those are solved quite quickly. One strange thing is that liquibase checksum changed. Many past migrations failed due to this error (I don’t … Read more

Guide To ReentrantLock

Java gives you more than one way to coordinate access to shared state. Most developers start with synchronized and never look further — but understanding the full lock landscape, especially ReentrantLock, unlocks (pun intended) a set of capabilities that can be critical for production-grade concurrent code. This post covers the full picture: from the JVM … Read more

Lesson 3.2: The Loop (Cycles)

The most powerful feature of LangGraph is that it allows Cycles. You can draw an edge from Node B back to Node A. This creates a loop. The Scenario A “Coin Flip” game. The agent keeps flipping a coin until it gets “Heads”. The Code Output (Randomized) Key Concept: Recursion Limit If you ran this … Read more