A Java Geek weekly 73

Are you guilty of over-engineering?

If you listen to other language communities - such as Python or Ruby, it seems Java developers have a strong tendency of over-engineering.

Perhaps they’re just jealous of our superior platform (wink), perhaps there is some very slight reason that they believe so. I do believe so. And it’s quite interesting that I realized it by doing code review - while I may be guilty of over-engineering myself when writing code. But I’m working on it.

When Imperfect Systems are Good, Actually: Bluesky’s Lossy Timelines

Engineering is never about perfection, but about "good enough". This post is a good example of an engineering approach.

Kubernetes Native Java
Modern CI-CD Pipelines of REST API Python Project with UV

The more I read about UV, the more I want to try. I’m too lazy to migrate one of my current Python projects; I need to wait to create a new one.

API Governance: Using Patterns From PayPal, Netflix and More
  • Pattern 1: Centralized Design Authority
  • Pattern 2: Federated Governance
  • Pattern 3: Directed Self-Governance
OpenTelemetry resource attributes: Best practices for Kubernetes

The good thing is that if you’re using the kubernetesAttributes of the OpenTelemetry Helm Chart collector, nearly of these data are for free. On my OpenTelemetry demo, the only thing I had to do was to manually set the container’s name, because there’s no way to get it from anywhere.

    spec:
      containers:
        - name: analytics
          image: {{ .apps.analytics.image }}
          env:
            - name: OTEL_RESOURCE_ATTRIBUTES
              value: k8s.container.name=analytics

A small price to pay.

The Anatomy of a Durable Execution Stack from First Principles

I think durable execution is the next big thing.

Docker Hub usage and limits

Starting March 1st:

Type  Pull rate limit per hour Private repositories Private repository storage

Unauthenticated users

10 per IPv4 address or IPv6 /64 subnet

N/A

N/A

Personal (authenticated)

40

Up to 1

Up to 2 GB

Announcing Rust 1.85.0 and Rust 2024

I’ll be honest, I don’t understand the finer points, especially regarding the async closures.

Artifacts

Artifacts is a Sandbox MMORPG with HTTP endpoints to automate gameplay and build your own tools

Most games want to prevent you to automate your actions; this one forces you to automate them!

OpenAI Cancels o3 Release and Announces Roadmap for GPT 4.5, 5

The world of AI is still in its early stage. Good to follow the news, as it can be a tremendous help for IT workers.

The State of Scala & Clojure Surveys: How is functional programming on JVM doing

IMHO, binding the success of functional programming on the JVM to Scala and Clojure is a big mistake.

  • Scala was never the success its proponents wanted it to be
  • The Python 2 to 3 migration has shown that a major version migration take years
  • There’s a risk that the migration from Scala 2 to Scala 3 migration fails
  • Clojure is a niche language

Despite this, Java has Vavr and Kotlin has Arrow. The future (if not the present) of functional programming on the JVM might be well outside Scala and Clojure.

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