Infinite Loops. Or: Anything that Can Possibly Go Wrong, Does.

A wise man once said: Anything that can possibly go wrong, does -- Murphy Some programmers are wise men, thus a wise programmer once said: A good programmer is someone who looks both ways before crossing a one-way street. -- Doug Linder In a perfect world, things work as expected and you may think that … Continue reading Infinite Loops. Or: Anything that Can Possibly Go Wrong, Does.

Inadvertent Recursion Protection with Java ThreadLocals

Now here's a little trick for those of you hacking around with third-party tools, trying to extend them without fully understanding them (yet!). Assume the following situation: You want to extend a library that exposes a hierarchical data model (let's assume you want to extend Apache Jackrabbit) That library internally checks access rights before accessing … Continue reading Inadvertent Recursion Protection with Java ThreadLocals