Kotlin Coroutine Mechanisms part 3: swapping CoroutineContextPart 3 — CoroutineContext, Dispatchers, runContext, and Android viewModelScope explainedSep 16Sep 16
Published inGoogle Developer ExpertsKotlin Coroutine Mechanisms part 2: launch v. asyncExamining join, await, coroutine behavior through playful examplesJun 92Jun 92
Kotlin Coroutine Mechanisms part 1: runBlocking v. launchIntroduction to coroutine behavior through playful examplesMar 286Mar 286
Published inGoogle Developer ExpertsCrash Course on the Kotlin Compiler | K1 + K2 Frontends, BackendsQuick detour on why there are so many versions and how it affects data transformations in the compilerMay 22, 20231May 22, 20231
A Not-so-scary Introduction to DP Mechanisms in Kotlin: Maximum SubarrayUnderstanding the fibonacci mechanism in 1D dynamic programmingDec 15, 2022Dec 15, 2022
Published inProAndroidDevPerformance Considerations for Memory leaks: An Android Cookbook, Part 2Strange Fragment/View lifecycle interaction, Rx leaks, and dependency leaksOct 28, 2022Oct 28, 2022
Published inGoogle Developer ExpertsPerformance Considerations for Memory Leaks: An Android CookbookA quick reference guide loosely based on “Programming Kotlin with Android: Programming Kotlin with Android”Jul 5, 20224Jul 5, 20224
Published inGoogle Developer ExpertsCrash course on the Kotlin compiler | 1. Frontend: Parsing phaseLexers, parsers, PSI, AST v. CST, and other fundamental concepts to help understand writing IDE/compiler pluginsMar 28, 20222Mar 28, 20222
Published inGoogle Developer ExpertsExploring Kotlin initialization with Android custom viewsA closer look at the relationship between Kotlin and View inflationApr 12, 20212Apr 12, 20212
Published inProAndroidDevCreating Stateful Architecture with Android Jetpack’s Navigation ComponentPart 1: Navigation UI, MVVM, and the SingleFragmentActivity PatternMay 5, 20201May 5, 20201