Skip to main content

Kotlin

Helpful Kotlin APIs for Java Developers

·11 mins

One of the major benefits of Kotlin as a JVM language is that you can use any and all Java libraries natively. However, sometimes, Kotlin has better (or at least more idiomatic) alternatives to the native Java libraries. Over the years, I’ve coached a lot of Java developers at various experience levels on how to effectively use Kotlin, and it’s a very common pattern for them to not know the standard Kotlin library and choose the “Java way” instead of the “Kotlin way”. This article will cover some of the more common cases where I see that happen.

Kotlin 1.8 - Easier Copying and Deleting of Files

·5 mins

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!

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!

Paperless Adulting on Linux with Evernote and NoteSlurp

·12 mins

Adulting is hard. Bills come and go, taxes have to be prepared, escrows have shortages, kids have activites, FSAs need proof of medical expenses, cars need to be registered.

The list of things an adult has to do seems to only grow larger over time, and one of the fundamental things that all adults seem to have to do is to track and file paperwork. I’ve gone “paperless” in my personal life (which I seem to have interpreted it to mean: “keep digital copies of everything, even if it was paper originally”).

When it comes to adulting, barriers to doing the right thing (like actually getting stuff filed paperlessly) are bad, as you won’t do them. So, recently I decided to make that just a little bit easier on myself with a new tool. Let me walk through the research I’ve done, what my process for paperless filing is, and where I’ve historically had problems, and how this new tool has helped me out.