A Java Geek weekly 8

OpenAPI Breaking Changes - A Formal Definition

Seems like an evidence but it’s a great list of what qualifies as an API breaking change and what doesn’t.

Epoxy: ACID Transactions Across Diverse Data Stores

After having worked with CDC, I find transactions to synchronize the state of datastores a bit inelegant. Yet, it should be compatible with how the majority of companies think about synchronization.

Every software is messy and has skeletons

I’ve been in enough projects to know the difference between pragmatism and praising the "move fast and break things" approach. After reading the post, I’m wondering if the author doesn’t favor the latter.

A healthy dose of pragmatism help a project moves forward. A cutting corners approach is a one-shot and hinders the next updates made on the project until the technical debt has been paid off.

Fighting with type hints – overloaded decorator

Here’s the limit of gradual typing. Languages that added typing as an afterthought have a hard time addressing corner cases. In this example, Python shows how hard it is.

I’d sooner leave it untyped.

Git Cleanup: "git remote prune" explained

When we run the command git remote prune origin, Git is essentially cleaning up any remote-tracking branches that no longer exist on the remote repository.

TIL! This command has become my new friend.

Kafka Tracing with Spring Boot and Open Telemetry

Micrometer in Spring Boot takes care of all nitty-gritty details of OpenTelemetry tracing, so you don’t need code.

Python Decorators That Can Reduce Your Code By Half

Good introduction to Python decorators and a couple of existing out-of-the-box ones.

Web Path Finder

Web Path Finder is a Python program that provides information about a website. It retrieves various details such as page title, last updated date, DNS information, subdomains, firewall names, technologies used, certificate information, and more

Fixit 2: Meta’s next-generation auto-fixing linter
  • Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter.
  • Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codebases.
  • Fixit 2 is available today on PyPI.
Strong static typing, a hill I’m willing to die on…​

Me as well! And that’s after trying to read untyped Python codebases and trying to add types to it.

What are Pipelines in Python?

TIL: the toolz library and its pipe() function

Lessons learned from previous projects

TL;DR:

  • Packaging by layers
  • Blindly obey quality tools
  • Setters
  • Abstractions everywhere
  • Data Transfer Objects
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 8
Share this