A Java Geek weekly 91

On inheritance and subtyping

Java is the first language I learned in my career. Its structure is foundational in my early years of understanding programming concepts. After going through several other languages with very different approaches, I’ve widened my point of view. Today, I want to reflect on the idea of inheritance.

Standard Commits 0.1.0 ─ RFC

The Standard Commits format is a structured approach to writing commit messages that enhance clarity and consistency in version control systems. This format is particularly beneficial for projects with multiple contributors, as it provides a common language for describing changes. Without getting lost in too many frills:

Why use Standard Commits?

  • Create a history that is easily greppable and log-like
  • Make commits context-rich so that they are easily interpretable even in the future
  • Bring consistency even among commits of different people
  • Let projects relying on the repo determine compatibility with new changes just by looking at the commits headers

The document also provides a comparison with other attempts at commit format approaches: conventional commits, Gitmoji commits, and Tim Pope commits.

I never heard about the last two.

PostgreSQL 18 just dropped: 10 powerful new features devs need to know

I found this interesting post, read it, shared it…​ and was made aware it’s bullshit.

I don’t remember any work getting committed this release cycle on parallellizing INSERT, let alone parallelizing COPY or MERGE, and I can’t find this supposed new feature in any of the changelogs that track PG18, nor is it mentioned in the COPY docs for PG18.

[email protected]/114751678558823032" target="_blank" rel="noopener">Matthias van de Meent

If I’m sharing crap (it can happen), feel free to point it to me!

A visual guide on troubleshooting Kubernetes deployments

Troubleshooting flowchart

Rich Errors (in Kotlin)

video:IUrA3mDSWZQ[youtube,width=840,height=473]

Unorthodox Java: Building QuestDB
  • Java CAN be fast - With the right approach
  • Hardware sympathy - Know your CPU and memory
  • Question conventions - Standard library isn’t sacred
  • Batch operations - Amortize costs
  • Measure everything - Benchmarks guide optimization

This a quite above my pay grade, but Jaromir is an amazing engineer (as well as a good friend).

Regardless of the pearls of wisdom contained in the presentation, I wouldn’t advise to use the JVM and bypass its automated memory management capabilities.

Error Handling Patterns for Apache Kafka Applications
  1. Stop on error
  2. Dead letter queue
  3. Add a retry topic and retry application
  4. Maintain order of redirected events

    The patterns are relevant for any message-oriented system.

What’s new in Kotlin 2.2

On the language side:

  • Experimental: Preview of context parameters
  • Experimental: Preview of context-sensitive resolution
  • Experimental: Preview of features for annotation use-site targets
  • Experimental: @all meta-target for properties
  • Experimental: New defaulting rules for use-site annotation targets
  • Beta: Support for nested type aliases
  • Stable features: guard conditions, non-local break and continue, and multi-dollar interpolation
My Workflow With AI: How I Code, Test, and Deploy Faster Than Ever
CI/CD Catalog
  • GitLab’s Component is a GitHub Action
  • GitLab’s Catalog is GitHub’s Marketplace

    A CI/CD component is a reusable single pipeline configuration unit. Use components to create a small part of a larger pipeline, or even to compose a complete pipeline configuration.

    A component can be configured with input parameters for more dynamic behavior.

    CI/CD components are similar to the other kinds of configuration added with the include keyword, but have several advantages:

    • Components can be listed in the CI/CD Catalog.
    • Components can be released and used with a specific version.
    • Multiple components can be defined in the same project and versioned together.
Add Useful AI to Your Web App (Not Just Chatbots)
Don’t Be Ashamed to Say "I Don’t Know"

I endorse this message. You wouldn’t believe the number of things I learned by saying these words.

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