Kotlin Coroutines Under the Hood - Dispatchers, Thread Pools, and Work Stealing

What actually happens when you launch a coroutine? A look inside the CoroutineScheduler, how Dispatchers.Default and Dispatchers.IO share one thread pool, why work stealing uses …

kotlincoroutinesconcurrencyjvm

Kotlin's Plugin Discovery - Service Provider Interface Explained

A practical guide to the JVM Service Provider Interface (SPI) for Kotlin: what it is, real world usage in Ktor and SLF4J, META-INF/services mechanics, and when to use alternatives.

kotlinjvmspimodularity

Four Doors, One Party - K/N, JNI, JNA & FFM

A friendly guide to four ways Kotlin reaches native power: Kotlin Native, JNI, JNA and the JDK Foreign Function and Memory API. What they are, pros and cons, where they shine and …

kotlinkmpinteropjvm

From Source to Sorcery - Kotlin Native's Interop Magic

Pragmatic, desktop focused guide to Kotlin/Native C interop on macOS, Windows, and Linux: .def file anatomy, Gradle cinterops, type mapping, memory safety patterns, callbacks, …

kotlinkotlin nativecinteropmacOS

Detekt Convention Plugin

This article talks about detekt, a static code analysis tool, we'll setup it's dependency and create a convention plugin to do this heavy lifting for us in gradle modules of our …

detektgradlekotlinplugin

My Technology Stack

An overview of the technologies, frameworks, and tools I work with in my Android development journey.

kotlinjavaandroid-sdkjetpack-compose

Cleaning up the Navigation (Jetpack Compose)

A guide to writing a cleaner navigation code when using Jetpack Compose.

androidkotlincomposejetpack-compose

AlarmManager for Android Oreo and above

This article talks about the workarounds which let developer trigger Alarms exactly when they want on Android Oreo and above.

androidandroid-sdkAlarmManagerkotlin