A Java Geek weekly 81

API versioning

In my previous post Evolving your APIs, I mention the main API versioning approaches. During the talk of the same name, I sometimes get some questions on the subject. In this post, I’ll detail each of them.

I assume readers know the reasons behind versioning, semantic versioning, and product lifecycle. If not, I encourage you to read a bit about these themes; in particular, chapter 24 of the excellent API Design Patterns book focuses on them.

I’ll summarize the subject in a few words in any case.

Why I chose Calendar Versioning

Pretty interesting discussion, especially the app vs. library point.

Pulumi Roadmap

Step-by-step guide to learning Pulumi

facet-rs

facet provides "const fn" reflection for Rust.

The Facet trait is meant to be derived for every single type in the Rust ecosystem, and can be used to replace many other derive macros.

pub unsafe trait Facet: Sized {
    const SHAPE: &'static Shape;
    // (other fields ignored)
}
Engineers who won’t commit

Eye-opening, especially since if I’m being honest, I tend to be very "careful" myself.

How to win an argument with a toddler

If you spend any amount of time on social media, you may have reached the same conclusion. In any case, it’s good to know whether you’re having an argument or interacting with a toddler.

Cutting Down Rust Compile Times From 30 to 2 Minutes With One Thousand Crates

I didn’t know that LLVM passes and codegen are single-threaded.

CVE program faces swift end after DHS fails to renew contract, leaving security flaw tracking in limbo

I don’t work in cybersecurity, but even I understand that the CVE registry is the cornerstone of modern cybersecurity practices. I shudder just thinking what’s going to happen next now that the program is shut down.

7 Levels of Using HTTPX: A Pythonic HTTP Client
  1. Execute GET Requests Straightforward
  2. Send POST Requests with Data
  3. Customize HTTP Headers and Parameters
  4. Handle Errors and Timeouts Skillfully
  5. Upload Files to Remote Server through HTTPX
  6. Download Large Files by Streaming Responses
  7. Make Asynchronous Request To Speed up Your Programs
Mutating webhooks in Kubernetes
When Is a Detail Just a Detail?

A phrase often repeated in programming circles, echoed in software architecture discussions, and found in the pages of influential tech books. But is it true? Yes—and no. Let’s unpack why this seemingly simple statement is both insightful and misleading.

Guiding an LLM for Robust Java ByteBuffer Code

LLMs are incredibly powerful coding assistants, accelerating development and handling complex tasks. However, as this case study shows, they are tools that respond to guidance.

The LLM takes care of the low-value work; the developer still needs to be critic and guide the LLM to the desired solution.

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