Blog Layout

Open Source Bait and Switch

I was reading this article and wanted to post a comment but I felt this warrants a response article. First, if you don’t know me I’ve written a ton of Open Source code. A whole platform and then some. I think the general view expressed in that article and a lot of the fluff I see online is over simplistic …

Read More »

How the world caught up with Apache Cassandra

The O’Reilly book, Cassandra: The Definitive Guide, features a quote from Ray Kurzweil, the noted inventor and futurist:  “An invention has to make sense in the world in which it is finished, not the world in which it is started.”  This quote has a prophetic ring to it, especially considering my co-author Eben Hewitt included it in the 2010 first edition of …

Read More »

Best Practices for Managing Java Dependencies

Creating Java applications is great, and many resources are available. To speed up development, many folks use frameworks and libraries that do some of the heavy lifting. When looking at modern Java applications, almost all of them contain dependencies from libraries developed by someone else. Dependencies take up about 80 to 90 percent of the binary — so, we should …

Read More »

The Unix Philosophy for Low Latency

Unix has been around for more than 50 years, and the original design principles must be good enough for it (and its derivative, Linux) to be the most widely used Operating System on the planet – 80% of servers, most supercomputers, and the most deployed OS (Android). It is also the most popular OS on Mars! Much of Unix’s success can be attributed …

Read More »

Baeldung Series Part 2: Build a Dashboard With Cassandra, Astra and CQL – Mapping Event Data

1. Introduction In our previous article, we looked at augmenting our dashboard to store and display individual events from the Avengers using DataStax Astra, a serverless DBaaS powered by Apache Cassandra using Stargate to offer additional APIs for working with it. In this article, we will be making use of the exact same data in a different way. We are going to allow the user to select …

Read More »

The Story of a Java 17 Native Memory Leak

Context When Java 17 was released, we (the platform team at Auto Trader where I was working at the time) were fairly quick to provide a new Docker base image to allow our developers to gain the benefits of the new goodness in the JDK available since Java 11, the previous LTS version. Over the course of a few years, we’ve …

Read More »

On Cosmetics vs. Intrinsics in Programming

A ruthless battle occurs every day on the World Wide Web. Its goal is to decide which programming flavor is the best: OOP or FP? I assume that imperative and procedural programming are not part of the contenders. Arguments range from the factual to the irrelevant to the utterly stupid. A couple of years ago, I wanted to listen to …

Read More »

A Quick Glance at the Kubernetes Gateway API

In one of my recent blog posts, I described several ways to access Kubernetes pods. One can access a pod through its IP, but pods are naturally transient. The nominal way is to configure a Service: its IP is stable, and Kubernetes’ job is to keep the mapping between a Service and its underlying pods up-to-date. Different kinds of services …

Read More »

Serverless is the New Timeshare

We have a shared amnesia. When I speak to younger developers about past technologies, I often get blank stares. To be fair, some of that is because I’m a bit “intense” or “weird” but some of that is because. Huh? Really? Did we have that? Case in point XA transactions and 2PC (Two Phase Commit). We have a young generation …

Read More »