A Java Geek weekly 109

Default map value

In this post, I’ll explain how to provide a default value when querying an absent key in a hash map in different programming languages.

Meta and TikTok broke EU rules on data access for researchers

Why am I not surprised?

As a Twitter user, I also noticed that Musk made it particularly hard to report unlawful content under the DSA. Not only do you need to authenticate (again), you also need to pass challenges to prove "you’re a human". Last week, we had to 10 such challenges to report a single tweet, and the challenge was hard that sometimes had to try 3 or 4 times.

I thought about several counter-measures:

  • Make the European Union enforce its own laws
  • Build a sovereign social media
  • Ban social media
  • Require identity verification
  • Require a social media permit
Spring Shell 4.0.0-M1 is available!

If you’re committed to the JVM and the Spring ecosystem, Spring Shell is great to write CLI applications, with a declarative way to declare options and parameters.

Funnily enough, even though I’m quite involved in Spring, I was only introduced to Spring Shell by my Hazelcast colleague Neil Stevenson a couple of years ago. At the time, it hadn’t been maintained for a couple of years. I’m happy it finally got some long due love.

As for me, I see no benefit a running a JVM for a single usage. Nowadays, I’d rather write a Rust application, for which there are also tons of CLI-focused crates.

Simplify Your Code: Functional Core, Imperative Shell

A very simplified explanation of Hexagonal Architecture, or should I say naive?

The interesting bit is that it comes from the Google Testing blog, aka Testing on the Toilets.

Log4j 2 Plugins

TIL: Log4J2 has a plugin-based architecture.

Anthropic Introduces Skills for Custom Claude Tasks

As a Claude Code user, I’d like to try this.

You already have a git server

I love this sort of smart hack.

We Deleted Tokio From Our Payment System and Cut Cloud Costs by $127,000

I don’t know whether the story is beautified or not. I don’t know whether the author wants to share knowledge or just brag. What I know is that I think that if more organizations did that exercise, there would be much more pushback against reactive programming.

Your data, their rules

If you’re a high-level architect or a CTO, you must read this post. And read it again for good measure.

Is hosting EU services in US clouds still a good idea?

For EU businesses, the answer is increasingly no. The current concentration on the Big Three is creating unfavourable market conditions, and the current political landscape poses a risk to European data security.

Scaling Postgres

The A Real-World Scaling Journey section features a great plan on how to leverage different levers at different phases of your application lifetime, from less than 100 users to millions.

Understanding Docker Internals: Building a Container Runtime in Python

I remember attending a talk by Liz Rice doing the same thing (in Go) years ago. I found it fantastic!

Architectural debt is not just technical debt
cascade
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 109
Share this