A Java Geek weekly 69

Working on an unfamiliar codebase

In our profession, it’s common to work on an unfamiliar codebase. It happens every time one joins a new project or even needs to work on a previously untouched part in big ones. This occurrence is not limited to a developer having to fix a bug; it can be a solution architect having to design a new feature or an OpenSource contributor working on a GitHub issue in their free time. Hence, I want to describe how I approach the situation so it can benefit others.

Implementing a "Share on Mastodon" button for a blog

Sharing on Mastodon is more complex than on other social media because of its decentralized nature: you need to first choose the Mastodon instance you publish to.

The Essence of Successful Abstractions

Complexity has to live somewhere; but it does not have to live everywhere.

Most of the early debates about complexity were about essential vs. accidental. Incidental complexity comes from the real world, while accidental is the one we create and can be tamed. The post provides a fresh perspective on this old division.

Highlighting journalism on Mastodon

TL;DR:

  1. Add a fediverse:creator meta tag, e.g., <meta name="fediverse:creator" content="@frankel@mastodon.top" />
  2. Add your links' domain to the list of verified sites, e.g., https://blog.frankel.ch.

    At this point, you’ll get a nice "More from" footer on your toots that point to your domain.

Architects Are Useless…​ Until They’re Not

Our industry is caught between calling the architects useless and making them all powerful. The post strives to understand the context in which they are indeed useful. Context is important as always.

Kafka Has Reached a Turning Point

I never bought the Kafka hype. A couple of years ago, it was ubiquitous. Just as the old-age motto, you wouldn’t get fired if you bought IBM, it seemed that you couldn’t fired if you set up Kafka. Still, Kafka wasn’t a database, it was temporary storage. Moreover, transforming data incurred reading from disk and writing to disk again: highly inefficient. There are use cases for Kafka, but it shouldn’t be the magical fallback solution it is now.

Every System is a Log: Avoiding coordination in distributed applications

The post describes an interesting and useful "thought" experiment, but they have the product to back it up. I wonder how the implementation works at scale, as it could potentially replace Kafka and similar products.

Almost pwned

I love good stories, even frightening ones, and this one is quite frightening indeed. If even the mighty Google organization can’t apply proper security procedures, what chances do we mere mortals have?

The Liskov Substitution Principle (LSP) in Kotlin — Deep Dive

Good post that sets things straight.

I Asked This Kubernetes Question in Every Interview

Your application runs in Kubernetes, but users report they cannot access it. What do you do?

  1. Step 1: Check Pod Health and Logs
  2. Step 2: Verify Service Configuration
  3. Step 3: Examine Network Policies
  4. Step 4: Investigate Ingress and DNS
  5. Step 5: Validate Node and Cluster Health
  6. Step 6: Debug with Port Forwarding
  7. Step 7: Monitor with Tools
Type, or Interface, That Is the Question

I don’t know Typescript and I always thought that it was "just" JavaScript with types. It seems that I was very mistaken: this difference between type and interface is quite subtle.

What Okta Bcrypt incident can teach us about designing better APIs

Don’t be liberal in what you accept!

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