A Java Geek weekly 115

The try block is an experimental approach to make multiple unwrap() more elegant. It allows "compacting" all the checks for errors in a single block.

How Java Virtual Threads Broke Netflix

TL;DR: wait for Java 24 to run virtual threads.

Model Context Protocol Server for Home Assistant

The Model Context Protocol is an open protocol that standardizes how applications provide context to LLMs. The Model Context Protocol Server (MCP) integration enables using Home Assistant to provide context for MCP LLM Client Applications. For example, you can control your lights from Claude Desktop, or expose your Google Tasks to-do list as a tool.

On Idempotency Keys

The post goes tries to answer the problem of exactly-once delivery of messages through several logical steps:

  • exactly-once processing
  • sending an idempotency key along with messages
  • which kind of keys are better suited
  • sequences for the win
  • leveraging PostgreSQL transaction logs
MySQL Repository Analysis Reveals Declining Development and Shrinking Contributor Base

How far can Oracle scale back MySQL engineering before developer mindshare begins to erode? How long will large enterprises accept feature lock-in as the price of continuity?

Patterns for Defensive Programming in Rust
  • Code Smell: Indexing Into a Vector
  • Code Smell: Lazy use of Default
  • Code Smell: Fragile Trait Implementations
  • Code Smell: From Impl That Are Really TryFrom
  • Code Smell: Non-Exhaustive Matches
  • Code Smell: _ Placeholders for Unused Variables
  • Pattern: Temporary Mutability
  • Pattern: Defensively Handle Constructors
  • Pattern: Use #[must_use] on Important Types
  • Code Smell: Boolean Parameters
  • Clippy Lints for Defensive Programming
That’s Unpossible – A full stack side project webapp (including a high-fidelity UI!) all in Kotlin
Remotely access your Synology from anywhere with Tailscale

Somebody mentioned Tailscale under one of my posts about Cloudflare. I’m getting very interested in it

Stop Breaking TLS

Rant ahead: I hate TLS "Inspection" software with a burning passion and I wish we collectively as an industry would just knock it the fuck off and stop pretending it’s some great security benefit. Every time I encounter it, in whatever form, it’s a gigantic headache that makes everyone’s life worse off and as far as I am concerned offers next to zero tangible benefits.

Fray Detects Concurrency Issues in JVM Languages

Interesting framework. I never did have to write concurrent code by myself, but I’ll be sure to remember this tool if I do.

Primitive Type never

TIL:

The ! type, also called "never".

! represents the type of computations which never resolve to any value at all. For example, the exit function fn exit(code: i32) → ! exits the process without ever returning, and so returns !.

Use Python for Scripting!

All of these reasons to use Python come up when your script grows to a certain size, or you’re doing things that are hard or unreadable in Bash. And from experience, when the script’s already in Bash, you won’t even consider rewriting it in Python.

I concur.

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