A Java Geek weekly 96

BlockHound: how it works

One of the talks in my current portfolio is Migrating from Imperative to Reactive. The talk is based on a demo migrating from Spring WebMVC to Spring WebFlux in a step-by-step approach. One of the steps involves installing BlockHound: it allows to check whether a blocking call occurs in a thread it shouldn’t happen and throws an exception at runtime when it happens.

I’ve presented this talk several times in the previous week, both in its Java version and its Kotlin one. One such presentation was at Javaday Istanbul. After the talk, one of the questions I received was, "How does BlockHound work?" I admit that at the time, I couldn’t remember. After the surprise had passed, but too late, I remembered it involved a Java agent. But I wanted to go down the rabbit hole.

This post tries to explain what I discovered.

Dumb pipe

In 2023 it’s hard to connect two devices directly. Dumb pipe punches through NATs, using on-the-fly node identifiers. It even keeps your machines connected as network conditions change.

How I fixed my blog’s performance issues by writing a new Jekyll plugin

I never had such issues despite having more than 800 blog items. I don’t use fancy fonts and stopped using YouTube embedded code to display videos. My non-optimized mobile Lighthouse score is 93/100, with absolutely post-processing.

The Ultimate Guide to Git Branching Strategies

Good overview of branching strategies and the context they are a fit for:

  • GitFlow
  • GitHub Flow
  • GitLab Flow
  • Environment Branching
  • Trunk-Based Development
  • Release Branching
  • Feature Branching
  • Forking Workflow
Reverse Proxy Deep Dive Part 3: The Hidden Complexity of Service Discovery

The second part of the series was great; I decided to read the third part and I wasn’t disappointed. It goes through all service discovery approaches and lists their pros and cons:

  • Static Host Lists
  • DNS-Based Discovery
  • External Discovery Systems
Working with the new Idempotency Keys RFC

I’m quite interested in idempotent APIs and already listed quite a few links. The post features a practical example with JavaScript code samples.

StackOverflow 2025 Developer Survey

The 2025 Developer Survey is the definitive report on the state of software development. In its fifteenth year, Stack Overflow received over 49,000+ responses from 177 countries across 62 questions focused on 314 different technologies.

Did you know that only one in four developers are happy at their current job? Time to learn more trivia for your next geek meetup!

Atomic Habits for Developers

I don’t usually relay non-technical articles, but I understand that some developers struggle with creating good habits for themselves.

How motivation actually works
ofbg50li0bx71
Partner with the AI, throw away the code

The power of a rubber duck at 1,000 times the cost!

PgBouncer is useful, important, and fraught with peril

I heard many things about PgBouncer. Then, I stumbled upon this post, and I’m very happy I did. It explains a lot.

The many, many, many JavaScript runtimes of the last decade

Many, indeed!

Nicolas Fränkel

Nicolas Fränkel

Nicolas Fränkel is a technologist focusing on cloud-native technologies, DevOps, CI/CD pipelines, and system observability. His focus revolves around creating technical content, delivering talks, and engaging with developer communities to promote the adoption of modern software practices. With a strong background in software, he has worked extensively with the JVM, applying his expertise across various industries. In addition to his technical work, he is the author of several books and regularly shares insights through his blog and open-source contributions.

Read More
A Java Geek weekly 96
Share this