- 2024-03-28 Nonsensical Maven is still a Gradle problem
- 2024-03-21 Gradle toolchains are rarely a good idea
- 2024-03-13 Kotlin's JDK release compatibility flag
- 2024-02-14 Perils of duplicate finding
- 2024-02-07 Intermediate collection avoidance
- 2023-07-19 ⇖ A stable, multiplatform Molecule 1.0 Cash App Code Blog
- 2023-07-05 ⇖ Native UI and multiplatform Compose with Redwood Cash App Code Blog
- 2023-06-21 ⇖ Flow testing with Turbine Cash App Code Blog
- 2023-01-16 Using jlink to cross-compile minimal JREs
- 2022-09-20 Report card: Java 19 and the end of Kotlin
- 2022-05-17 Build on latest Java, test through lowest Java
- 2022-04-05 Slope-intercept library design
- 2021-11-11 ⇖ The state of managing state (with Compose) Cash App Code Blog
- 2021-11-04 Multiplatform Compose and Gradle module metadata abuse
- 2021-06-08 ⇖ Gradle dependency license validation Cash App Code Blog
- 2021-06-04 Case-insensitive filesystems considered harmful (to me)
- 2021-05-27 Cross-compiling static Rust binaries in Docker for Raspberry Pi
- 2021-04-15 ⇖ Migrating from Burst to TestParameterInjector Cash App Code Blog
- 2021-04-07 Integration verbosity and good layering
- 2021-03-31 ⇖ AssistedInject is dead, long live AssistedInject! Cash App Code Blog
- 2020-12-30 A Jetpack Compose by any other name
- 2020-12-03 Treating Dockerfiles as shell scripts
- 2020-10-28 Peeking at command-line ANSI escape sequences
- 2020-09-01 Smaller APKs with resource optimization
- 2020-08-24 Shrinking a Kotlin binary by 99.2%
- 2020-08-19 ⇖ Wire Support For Swift, Part 1 Cash App Code Blog
- 2020-08-06 Sixteen corners
- 2020-04-30 R8 Optimization: Lambda Groups
- 2020-04-23 Which is better on Android: divide by 2 or shift by 1?
- 2020-04-15 Simple Multiplatform RPC with Kotlin Serialization
- 2020-04-08 Litmus-Testing Kotlin's Many Memory Models
- 2020-03-25 D8 Optimization: Assertions
- 2020-03-18 Removing Google as a Single Point of Failure Part 2: Gmail
- 2020-02-19 Removing Google as a Single Point of Failure
- 2020-02-12 Extracting 100% of Data From a Stubborn, Dying ZFS Pool
- 2019-12-18 D8 Library Desugaring
- 2019-11-21 Public API challenges in Kotlin
- 2019-10-30 D8 Optimizations
- 2019-10-16 R8 Optimization: Enum Switch Maps
- 2019-10-09 R8 Optimization: Enum Ordinals and Names
- 2019-09-25 R8 Optimization: Class Reflection and Forced Inlining
- 2019-09-20 Calculating the true impact of zip file entries
- 2019-07-31 Exceptions and proxies and coroutines, oh my!
- 2019-04-11 R8 Optimization: Method Outlining
- 2019-04-02 Optimizing Bytecode by Manipulating Source Code
- 2019-03-26 The Economics of Generated Code
- 2019-02-27 R8 Optimization: Class Constant Operations
- 2019-02-12 R8 Optimization: String Constant Operations
- 2019-01-22 R8 Optimization: Value Assumption
- 2019-01-15 R8 Optimization: Null Data Flow Analysis (Part 2)
- 2019-01-10 Inline Classes Make Great Database IDs
- 2018-12-18 R8 Optimization: Null Data Flow Analysis (Part 1)
- 2018-12-11 R8 Optimization: Staticization
- 2018-12-04 Avoiding Vendor- and Version-Specific VM Bugs
- 2018-11-27 Android's Java 9, 10, 11, and 12 Support
- 2018-11-20 Android's Java 8 Support
- 2018-08-07 Increased accuracy of aapt2 "keep" rules
- 2018-08-01 Tracing Gradle task execution
- 2018-02-05 ⇖ Introducing Android KTX: Even Sweeter Kotlin Development for Android Android Developers Blog
- 2017-07-13 ⇖ Surfacing Hidden Change to Pull Requests Square Corner
- 2017-05-16 ⇖ Generating Kotlin code with KotinPoet Square Corner
- 2017-05-14 ⇖ An Optional's place in Kotlin Square Corner
- 2017-05-12 ⇖ Square Open Source ♥s Kotlin Square Corner
- 2016-12-02 ⇖ Web Sockets now shipping in OkHttp 3.5! Square Corner
- 2016-09-06 Forcing bytes downward in Okio
- 2016-01-21 Just Say mNo to Hungarian Notation
- 2015-12-11 Java Interoperability Policy for Major Version Updates
- 2015-02-25 ⇖ SQLBrite: A reactive Database Foundation Square Corner
- 2014-11-21 ⇖ Better Parameterized Tests with Burst Square Corner
- 2014-11-20 The Conference Speaker Investment
- 2014-10-24 Coercing Picasso To Play With Palette
- 2014-07-03 Play Services 5.0 Is A Monolith Abomination
- 2014-06-16 Android Needs A Simulator, Not An Emulator
- 2014-05-30 ⇖ Hello Picasso 2.3 Square Corner
- 2014-01-20 ⇖ Dynamic Images with Thumbor Square Corner
- 2013-05-14 ⇖ Enhance Your Application Using Picasso Square Corner
- 2013-05-13 ⇖ Easy HTTP Requests with Retrofit Square Corner
- 2013-05-08 ⇖ MimeCraft, JavaWriter, and ProtoParser Square Corner
- 2013-05-06 ⇖ Seven Days of Open Source Square Corner
- 2013-04-03 ⇖ The Resurrection of Testing for Android Square Corner
- 2012-10-01 Deprecated From Inception
- 2012-07-22 The Android Build System Is Broken
- 2012-07-02 ⇖ Decoupling Android App Communication with Otto Square Corner
- 2012-05-15 ⇖ Using ActionBarSherlock As A Base Square Corner
- 2012-03-07 Announcing ActionBarSherlock Version 4.0
- 2012-01-18 Advanced Pre-Honeycomb Animation with NineOldAndroids
- 2012-01-02 Something Beta This Way Comes!
- 2012-01-01 ActionBarSherlock - A Love Story (Part 3)
- 2011-12-19 ActionBarSherlock - A Love Story (Part 2)
- 2011-12-01 ActionBarSherlock - A Love Story (Part 1)