Writing on mobile development, reactive programming, and clean architecture.

Notes, tutorials, and essays on Android, Flutter, iOS, Kotlin, Dart, and the things I learn along the way. Also published on Medium.

💠 Union Types in C#

Union types in C# 15 / .NET 11 Preview 2 — syntax, implicit conversions, pattern matching semantics, null checking, and common traps.

Looking at `Dp` class in Jetpack Compose

Why do @Composable functions in Jetpack Compose usually use `Dp.Unspecified` as default value? Why not use null? The optimization of Jetpack Compose under the hood.

Grouping trong Kotlin (Grouping in Kotlin)

So sánh groupBy, groupingBy và reduce trong Kotlin — phân tích time complexity, space complexity, và cơ chế lazy evaluation của Grouping.