Jake Wharton
Blog posts, presentations, GitHub, and more.
Java / JVMMobile / iOS / AndroidDev tools / editors / IDEsEngineering blogs
- Posts
- 105 from 1 Dec 2011 to 10 Sep 2026
- Posting
- monthly (9 in the last year)
- Kind
- personal blog
- Feed
- https://jakewharton.com/atom.xml
2026 6
2025 7
2024 5
2023 4
2022 3
2021 8
- The state of managing state (with Compose)
- Multiplatform Compose and Gradle module metadata abuse
- Gradle dependency license validation
- Case-insensitive filesystems considered harmful (to me)
- Cross-compiling static Rust binaries in Docker for Raspberry Pi
- Migrating from Burst to TestParameterInjector
- Integration verbosity and good layering
- AssistedInject is dead, long live AssistedInject!
2020 15
- A Jetpack Compose by any other name
- Treating Dockerfiles as shell scripts
- Peeking at command-line ANSI escape sequences
- Smaller APKs with resource optimization
- Shrinking a Kotlin binary by 99.2%
- Wire Support For Swift, Part 1
- Sixteen corners
- R8 Optimization: Lambda Groups
- Which is better on Android: divide by 2 or shift by 1?
- Simple Multiplatform RPC with Kotlin Serialization
- Litmus-Testing Kotlin's Many Memory Models
- D8 Optimization: Assertions
- Removing Google as a Single Point of Failure Part 2: Gmail
- Removing Google as a Single Point of Failure
- Extracting 100% of Data From a Stubborn, Dying ZFS Pool
2019 16
- D8 Library Desugaring
- Public API challenges in Kotlin
- D8 Optimizations
- R8 Optimization: Enum Switch Maps
- R8 Optimization: Enum Ordinals and Names
- R8 Optimization: Class Reflection and Forced Inlining
- Calculating the true impact of zip file entries
- Exceptions and proxies and coroutines, oh my!
- R8 Optimization: Method Outlining
- Optimizing Bytecode by Manipulating Source Code
- The Economics of Generated Code
- R8 Optimization: Class Constant Operations
- R8 Optimization: String Constant Operations
- R8 Optimization: Value Assumption
- R8 Optimization: Null Data Flow Analysis (Part 2)
- Inline Classes Make Great Database IDs
2018 8
- R8 Optimization: Null Data Flow Analysis (Part 1)
- R8 Optimization: Staticization
- Avoiding Vendor- and Version-Specific VM Bugs
- Android's Java 9, 10, 11, and 12 Support
- Android's Java 8 Support
- Increased accuracy of aapt2 "keep" rules
- Tracing Gradle task execution
- Introducing Android KTX: Even Sweeter Kotlin Development for Android
2017 4
2016 3
2015 2
2014 7
2013 5
2012 8
- Deprecated From Inception
- The Android Build System Is Broken
- Decoupling Android App Communication with Otto
- Using ActionBarSherlock As A Base
- Announcing ActionBarSherlock Version 4.0
- Advanced Pre-Honeycomb Animation with NineOldAndroids
- Something Beta This Way Comes!
- ActionBarSherlock - A Love Story (Part 3)