A Java Geek weekly 112

getCaller() hack

A good example of this terrible temptation is the sun.reflect.Reflection.getCaller(int) method. As its name implies, this evil piece returns which class called your current code, letting you tailor your code behavior depending on the calling class. The Dark Side can be seductive indeed!

I found the hack in 2013. The specific class has been removed from the JDK since then. The alternative is StackWarlker:

StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass();
Homebrew 5.0.0

It’s a major release, but as a end user, I don’t see many benefits, if at all.

jMolecules 2.0 – Stereotypical

As a reminder:

A set of libraries to help developers implement domain models in distraction-free, plain old Java.

I finally understand Cloudflare Zero Trust tunnels

I came upon this post while implementing my second Cloudflare Tunnel, and the next day, Cloudflare crashed. Coincidence? I think not.

Rust in Android: move fast and fix things

While Google has changed over the years, they still take engineering decisions based on facts, not opinions. The conclusion is confirms what others have claimed over the last few years:

While C and C++ will persist, and both software and hardware safety mechanisms remain critical for layered defense, the transition to Rust is a different approach where the more secure path is also demonstrably more efficient. Instead of moving fast and then later fixing the mess, we can move faster while fixing things. And who knows, as our code gets increasingly safe, perhaps we can start to reclaim even more of that performance and productivity that we exchanged for security, all while also improving security.

The Clean Architecture I Wish Someone Had Explained to Me

I love the conclusion:

Installing an industrial oven in your home kitchen doesn’t turn it into a bakery. It just takes up space, consumes more power, and complicates your routine. But a clay oven in a small corner shop? Simple, purposeful — enough to bake bread daily. It is a bakery. The same applies to software. You can stack layers, interfaces, and abstractions everywhere — but if none of that serves your context, you’ve simply built a heavy technical burden.

Feature Flagging with OpenFeature

OpenFeature is a +<abbr title="Cloud Native Computing Foundation">CNCF</abbr> project for feature-flagging. Here’s a free 10-hours course. The perfect package for the Christmas vacations.

why agents DO NOT write most of our code - a reality check

Are people starting to come to their sense? I remember the microservices cargo-cult.

AI absolutely has a place in a developer’s toolbox. I use ChatGPT or Cursor’s Ask mode daily - to brainstorm, debug, or get unstuck on smaller problems. Tab completions? They’re right about 80% of the time, which is good enough to keep them on. I even let AI handle things like writing unit tests for clean interfaces or refactoring small snippets. Wrapping a loop in Promise.allSettled is boring for me - but trivial and instant for AI. It’s also great at recreating well-known patterns from scratch - like traversing a tree structure.

And sure, maybe one day AI will truly handle everything it’s being credited with today (whether that’s LLMs or something beyond them).

But we’re not there yet - and more people are starting to admit it.

Helm v4.0.0
  • Redesigned plugin system that supports Web Assembly based plugins
  • Post-renderers are now plugins
  • Server side apply is now supported
  • Improved resource watching, to support waiting, based on kstatus
  • Local Content-based caching (e.g. for charts)
  • Logging via slog enabling SDK logging to integrate with modern loggers
  • Reproducible builds of chart archives
  • Updated SDK API including support for multiple chart API versions (new experimental v3 chart API version coming soon)
An open protocol with a chance of working

Nostr is an apolitical communication commons. A simple standard that defines a scalable architecture of clients and servers that can be used to spread information freely. Not controlled by any corporation or government, anyone can build on Nostr and anyone can use it.

Why Engineers Can’t Be Rational About Programming Languages

When a peripheral belief was challenged, something the person believed but wasn’t core to their identity, the brain’s reasoning centers activated normally. Participants could consider the evidence, weigh the arguments, and sometimes even change their minds.

But when an identity based belief was challenged, the brain responded as if under physical attack. The amygdala, your threat detection system, the same system that fires when you encounter a predator or a physical danger, activates immediately. The insular cortex, which processes emotional pain and disgust, lit up with activity. Most tellingly, the brain’s Default Mode Network, the system that maintains your sense of self and personal narrative, went into defensive mode, working to protect the existing identity rather than evaluate the new information.

Gmail can read your emails and attachments to train its AI, unless you opt out

Imagine that I’m paying Google so that it uses my data to train ist LLMs. It was previously "if you’re not paying for the product, you are the product". Now, not only you are paying, but you are the product as well.

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