• Type-safe time calculations using Duration

    Time calculations have always been a sensitive topic in most programming languages. Kotlin is no exception. If we have a function which accepts a time value to calculate a duration, it’s challenging to enforce a proper unit that the caller must follow. Starting from Kotlin 1.3.50, we can now make use of the Duration class…

    Read More

  • Introducing OkKotlin

    Kotlin has been around for quite a few years. Like any other excited developer, I picked it up right after Google announced first-class support for Kotlin for Android app development. Using the language and reading articles on it, I wasn’t convinced that there couldn’t be a better publication on the language. A lot of publications…

    Read More

  • Let’s defuse the Compose BOM

    Many people rely on the Compose bill of materials (BOM) artifact to provide the complete set of Compose dependency versions. If we use Compose’s foundation 1.8.0 but a transitive dependency bumps foundation-layout, there’s a risk that these two versions are incompatible with each other despite otherwise being stable libraries. The Compose BOM will unify the…

    Read More

  • An update on Android KTX

    Eight years ago we launched a library of Kotlin extensions for the Android platform, Android KTX. In the time since, the library became Core KTX, and numerous other KTX libraries were written for other AndroidX libraries. And while KTX’s approach to adding Kotlin niceties was built on a strong technology foundation, we’ve made the difficult decision to…

    Read More

  • The lysine contingency

    I’m happy to announce that Retrofit, OkHttp, and Okio are moving to a new GitHub organization, and along with SQL Delight are all joining the Commonhaus Foundation. You can read their announcement of the move. This move is meant to reinforce our commitment to these projects’ longevity and honor the fact that they’ve long since…

    Read More