Blog Archive

Falsehoods programmers believe about addresses

Invalid assumptions that we make about addresses, that lead to poor UX

Stateless widget animations in Flutter

Using Implicit animations in Flutter to animate stateless widgets

Diff animations with SwiftUI

SwiftUI: Recreating Android circular diff animations from a previous post using SwiftUI

Android Gradle: Lessons learnt using missingDimensionStrategy

Advanced flavor configuration in Android Gradle, and the missingDimensionStrategy DSL

Android DiffUtil Part 3: Custom animations

A 3 part series on Android's DiffUtil; Part 3 implements a very custom circular animation by wrapping DiffUtil API

Android DiffUtil Part 2: List Diffs on other platforms

A 3 part series on Android's DiffUtil; Part 2 is a survey of similar APIs on Swift, iOS, Angular and Flutter

What's the big difference? A deep dive into Android DiffUtil

A 3 part series on Android's DiffUtil; Part 1 is about the API and how to use it

The Limits of One-size-fits-all

Java: Value classes and the equals() method

Gotchas while overriding equal() method while using Java's value classes

Delegates - Composition over Inheritance in Kotlin

Using Kotlin's interface delegation feature to replace inheritance with composition