Recently I’ve been using TrueNAS Scale BlueFin at home, and exploring self-hosting a variety utilities for my personal life. As part of that I’ve run into at least one case where, despite Google Fiber, I was unable to fetch docker images for deployment in time. Here’s an easy way to fix that.
I think most Java developers (and Kotlin JVM developers by proxy) have for a long time lamented the absence of a really simple “copy directory” or “delete directory” API. It seems, at the surface, such a simple thing. Of course there are edge-cases that exist that have prevented the existence of a “one-line” API in the JDK. Kotlin 1.8 ships with some new easy-to-use APIs for just this, with tools to handle the uglier edge-cases built right in. Let’s take a look!
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!
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.
About three years ago, I asked the question Using OSX? Why Aren’t You Using iTerm, ZSH, and Prezto?. In that article I highly suggested a combination of tools to help with development workflows on OSX (though, most of this is equally relevant that those of us that use Linux as well). Today I’m revising this article with a look towards Fish shell instead. Let’s take a look.