PinnedInBetter ProgrammingbySam Cooper·Feb 5, 2023Short Circuits, Bottom Types and the Vacuous BoomerangThe surprisingly useful explanation behind Kotlin’s funniest programA response icon5A response icon5
PinnedInBetter ProgrammingbySam Cooper·Feb 20, 2023The Silent Killer That’s Crashing Your CoroutinesThere’s only one safe way to deal with cancellation exceptions in Kotlin, and it’s not to re-throw themA response icon12A response icon12
Sam Cooper·Jan 28What does ‘when’ return in Kotlin?Mixed Messages? Kotlin Brain Teasers bonus puzzle!
Sam Cooper·Jan 21Can a Kotlin class have no name?Nothing to see here! Kotlin Brain Teasers, Puzzle 18 of 23
Sam Cooper·Jan 14What does ‘throw return’ do in Kotlin?The Vacuous Boomerang! Kotlin Brain Teasers, Puzzle 16 of 23
Sam Cooper·Jan 7What’s null + null in Kotlin?Something From Nothing? Kotlin Brain Teasers, Puzzle 1 of 23
Sam Cooper·Oct 10, 2025The Country That Broke KotlinLogic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compilerA response icon16A response icon16
Sam Cooper·May 2, 2025Does Your Kotlin Async Cache Leak User Data Between Coroutines?Don’t let shared computations turn into shared errors and cancellationsA response icon2A response icon2
Sam Cooper·Apr 24, 2025Suspending Kotlin Beyond CoroutinesGet creative with continuations for recursion, serialization, sequences, and moreA response icon2A response icon2
Sam Cooper·Apr 17, 2025Kotlin Coroutine Cancellation, ExplainedSafely stop suspending tasks for faster apps and fewer bugs