A Java Geek weekly 38

Choosing a cache

A two-part series:

  • Web Caching on the client side: What features a cache must have and which ones it can optionally provide. Most criteria are general and can be used regardless of the tech stack, while a couple is specific to the JVM
  • Web Caching on the server side: List providers and verify their respective capabilities
Why we can’t have nice things in Kotlin

A language models reality and reality is much more complex than most developers realize.

Functional builders in #Java with #Jilt

I don’t know what to make of it. Is it better, is it worse?

API Design Standard of the Australian Government

I like when an organization publishes their standards. I browsed through this one; it seems to be pragmatic enough to reuse it.

For example, it mentions versioning via the URI, e.g, /v1, as opposed to other versioning approaches. It also mentions semantic versioning. Finally, it tells that only the major version is required in the URI. It makes sense, since major versions introduce breaking changes, whereas minor and bugfix versions should be compatible with earlier client.

Autism as the Kolmogorov Complexity Phenotype

We hypothesize that information processing styles in some individuals with ASD may exhibit tendencies that align more with Kolmogorov Complexity, emphasizing discrete, rule-based patterns and minimizing algorithmic complexity. In contrast, neurotypical cognition may align more with Shannon Entropy, prioritizing probabilistic reasoning and statistical pattern recognition. This divergence may stem from distinct computational architectures and information processing strategies. Individuals with ASD may excel in memory for details and identifying algorithmic patterns, while neurotypical individuals may rely more on statistical learning and generalization. However, these characteristics may not apply to all individuals. We acknowledge the vast heterogeneity within the ASD population and aim to explore the potential diversity in information processing styles as one contributing factor among many others. This research is exploratory and does not seek to categorize individuals with ASD based on processing styles alone.

In short, autists manage information analytically, neurotypical people holistically.

Follow the money: The financial background of OpenSource in the Java ecosystem

The post focuses on three themes: the creator of Vavr stopping its development effort, the buy-out of VMWare by Broadcom, and the Oracle strategy around Java.

Mergeable: A better inbox for GitHub pull requests

Indeed, the categorization looks much nicer:

  • Needs your review
  • Changes requested
  • Approved
  • Waiting for reviewers
  • Waiting for the author
  • Draft
Review: Redpanda gives Kafka a run for its money

I’ve been following the Kafka craze since years from afar. Most organizations using Kafka don’t need it - just like microservices. However, if you do, I believe Redpanda is an interesting alternative. I’m just wondering about using C++ over a more modern language such as Rust.

Redpanda’s official Jepsen report: What we fixed, and what we shouldn’t

I became aware of the Jepsen tests when I worked at Hazelcast. They’re a set of tests whose aim is to uncover issues in a distributed database.

The post, like the majority of all vendors posts, pats itself on the shoulder because it "passed" the tests. Yet, there’s no pass/fail: the report mentions all issues it found.

What I find interesting, though, is that:

  • Redpanda is not a database
  • The similarities and their limits between a Kafka-like system and a database
From the 80’s to 2024 - how CI tests were invented and optimized

Great overview of the testing and CI evolution throughout the ages, with a slight glimpse into a possible future.

Hitting the wall with Rust’s borrow checker

A deep-dive into how Rust manages the lifetime. Since I don’t use Rust in production, most examples look very advanced to me. But even then, some are really mind-blowing.

api-catalog: a well-known URI and link relation to help discovery of APIs

The idea of catalogs/registries to find services is as old as services. I remember when we had myriads of solutions to publish our SOAP services.

Anyhow, I find the draft not enough prescriptive to be of any value.

Dioxus Labs + "High-level Rust"

I don’t use Rust in production, so I won’t pretend I understood every point mentioned in the post. However, I do understand caching and pre-compiled crates.

The main question, however, is can we keep the performance and speed up compilation times in development and how much effort it’s going to cost. Corollary question: who’s going to fund it?

Nicolas Fränkel

Nicolas Fränkel

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.

Read More
A Java Geek weekly 38
Share this