A Java Geek weekly 105

Back to basics: accessing Kubernetes pods

Kubernetes is a colossal beast. You need to understand many different concepts before it starts being useful. When everything is set up, you’ll probably want to expose some pods to the outside of the cluster. Kubernetes provides different ways to do it: I’ll describe them in this post.

Despite a bit old, I think the post is still relevant.

Detaching GraalVM from the Java Ecosystem Train
  • The GraalVM team are transitioning to focus on non-Java Graal Languages including GraalPy and GraalJS. Details are expected to be announced later.
  • GraalVM for JDK 24 was the final GraalVM release licensed and supported as part of Oracle Java SE Products. Customers requiring further updates to legacy GraalVM versions should download them via Oracle Support.
  • Oracle JDK 24 was the final release to include the experimental and optional Graal JIT.
  • GraalVM Early Adopter technology, including Native Image, is being discontinued for Java SE Product customers. The goals of improving the startup time, time to peak performance, and footprint of Java programs are being pursued further in OpenJDK’s Project Leyden as a standard part of Java.

This one can be open to so many interpretations that I’ll avoid commenting. Wait and see.

The state of HTTP clients in Spring

The author goes through all the history of RestTemplate, WebClient, and RestClient.

Introducing Claude Sonnet 4.5

I recently subscribed to Claude Code. I hope its underlying model gets better with this release.

Twelve years of blogging

In the early days of Twitter, I focused on two blogs: Petri Kainulainen's and Vlad Mihalcea's; the former focused on testing, and the latter on JPA. I don’t see Petri’s posts anymore (I’m happy to see he’s still blogging), but I still stumble upon Vlad’s. They are always very interesting to read. Even better, we met a couple of times and I’m happy to count him as a friend. Icing on the cake, he speaks very good French!

Documentation

Lots of good advices, but I’m far from sure about the AI-related ones. Call me old-fashioned, but for me, the reference site for documentation is still The Documentation System. Granted, it focuses on a much higher level. They aren’t actually exclusive.

Nine HTTP Edge Cases Every API Developer Should Understand
  1. The Range Header Problem
  2. Content-Type Enforcement Prevents Weird Parser Behavior
  3. Accept Header Negotiation Gets Weird Fast
  4. Method Not Allowed Should Tell You What Works
  5. Compression Configuration Is Never Where You Think
  6. Character Encoding Silently Corrupts Your Database
  7. Path Traversal Lets Attackers Read Arbitrary Files
  8. Request Size Limits Prevent Memory Exhaustion
  9. Transfer-Encoding Enables Request Smuggling
What is "good taste" in software engineering?

The post makes an interesting point, but this part strikes a particular chord in me:

Even if the big technical debates do have definite answers, no working software engineer is ever in a position to know what those answers are, because you can only fit so much experience into one career. We are all at least partly relying on our own personal experience: on our particular set of engineering values.

A (deep) dive into (shallow) immutability: Valhalla and beyond
How to Unit Test Micrometer

TL;DR:

For unit testing, we can create a SimpleMeterRegistry programmatically and inject it into our service.

How I influence tech company politics as a staff software engineer

Interesting read. However, if I need to try convince my whole hierarchy about the soundness of my decision, I feel like I’m wasting time. I’m amazed by people who do this as their job, and I’ll definitely be very supportive of any boss who does this for me.

Leveling Up My Homelab

My precious! I want the same.

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 105
Share this