Skip to main content

Values, Records, and Primitives (Oh My!) - Kotlin & Java's 'Valuable' Future

·24 mins

A couple years ago, I did a semi-deep-dive on Kotlin Inline Classes and how they were implemented. Kotlin 1.5 was just released, and with it came the evolution of inline classes into the start of value classes. Meanwhile, Kotlin 1.5 also now supports JVM Records, which at first read might sound like a very similar concept. Finally, with JEP-401 Java is going to bring “primitive classes” which also sounds like a very similar concept. This can sound all very confusing, so let’s take a look!

Jeep JK Wrangler Code P0571: Brake Switch Fix

·4 mins

At the start of the year, my Jeep began reporting a failure in the traction control system, as well as eventually starting to throw a P0571 check-engine ODB-II code. This post describes what I discovered as the root cause, and what could easily be your issue if you have had similar symptoms.

Snap Applications Missing in Linux with ZSH

·2 mins

I’m a regular ZSH user, and overall it works just fine as a replacement of BASH. However, recently I kept having trouble with my personal workstation losing track of my SNAP-installeed applications (in particular the Atom Editor) while running KDE Neon. Thankfully, I’m not the only one that had this problem, and there is a straightforward (and in hindsight obvious) fix.

Distroless and Jib: Lightweight Java Container Images

·9 mins

The server world has moved to containers. And rightfully so: they isolate application concerns, they unify deployment, they are easy to host, and they make big complex systems like Kubernetes possible. Unfortunately, Java has been slow to adapt to the container world. Thankfully, tools are starting to become prevalent that make Java in containers easy and effective. Distroless and Jib are two of those tools.