Case-insensitive filesystems considered harmful (to me) – Jake Wharton
Jake Wharton·4 Jun 2021
04 June 2021 Having been burned by case-insensitive filesystem bugs one too many times, I long ago switched my development folder to a case-sensitive filesystem partition on my otherwise...
Cross-compiling static Rust binaries in Docker for Raspberry Pi – Jake Wharton
Jake Wharton·27 May 2021
27 May 2021 Earlier this year I built a web-based garage door controller using Rust for the Raspberry Pi called Normally Closed.
Migrating from Burst to TestParameterInjector
Jake Whartonby Jake Wharton·15 Apr 2021
Migrating from Burst to TestParameterInjector Square’s Burst library burst onto the scene in 2014 stemming from general dissatisfaction with JUnit 4’s built-in parameterized runner.
Integration verbosity and good layering – Jake Wharton
Jake Wharton·7 Apr 2021
07 April 2021 One of my favorite non-features from building view binding is that it lacks integration with activities or fragments.
AssistedInject is dead, long live AssistedInject!
Jake Whartonby Jake Wharton·31 Mar 2021
AssistedInject is dead, long live AssistedInject! After ~5 years of existing and ~4 years as an open source project, our AssistedInject library has been deleted.
A Jetpack Compose by any other name – Jake Wharton
Jake Wharton·30 Dec 2020
30 December 2020 I really like Jetpack Compose. Between work and personal stuff I have three projects which are each built on top of it. It's great!
Treating Dockerfiles as shell scripts – Jake Wharton
Jake Wharton·3 Dec 2020
03 December 2020 I use Docker to run a lot of tools. With the tools all wrapped up in containers, my computers are free of Python and Go and the various other dependencies needed for their use.
Shrinking a Kotlin binary by 99.2% – Jake Wharton
Jake Wharton·24 Aug 2020
24 August 2020 We'll get to the shrinking, but first let's motivate the binary in question. Three years ago I wrote the "Surfacing Hidden Change to Pull Requests" post which covered pushing...
Wire Support For Swift, Part 1
Jake Whartonby Eric Firestone·19 Aug 2020
Wire Support For Swift, Part 1 Introduction We’re excited to announce support for Swift in Wire. Wire already supports compiling your protocol buffer files into Java and Kotlin, and today Swift...
R8 Optimization: Lambda Groups – Jake Wharton
Jake Wharton·30 Apr 2020
30 April 2020 Note: This post is part of a series on D8 and R8, Android's new dexer and optimizer, respectively. For an intro to D8 read "Android's Java 8 support".
Which is better on Android: divide by 2 or shift by 1? – Jake Wharton
Jake Wharton·23 Apr 2020
23 April 2020 I've been porting the AndroidX collection library to Kotlin multiplatform to experiment with binary compatibility, performance, tooling, and the different memory models.
Simple Multiplatform RPC with Kotlin Serialization – Jake Wharton
Jake Wharton·15 Apr 2020
15 April 2020 I recently played a minor role in helping add Cast support to an Android app. Both the Android app and Cast display are written in Kotlin.
Litmus-Testing Kotlin's Many Memory Models – Jake Wharton
Jake Wharton·8 Apr 2020
08 April 2020 When writing multiplatform code, Kotlin's three compiler backends each have different memory models which must be considered.
D8 Optimization: Assertions – Jake Wharton
Jake Wharton·25 Mar 2020
25 March 2020 Note: This post is part of a series on D8 and R8, Android's new dexer and optimizer, respectively. For an intro to D8 read "Android's Java 8 support".
Removing Google as a Single Point of Failure Part 2: Gmail – Jake Wharton
Jake Wharton·18 Mar 2020
18 March 2020 I want to remove Google as a single point of failure in my life. In the first blog post on this subject I detailed my setup for backing up Google Photos and Google Drive contents onto...
Removing Google as a Single Point of Failure – Jake Wharton
Jake Wharton·19 Feb 2020
19 February 2020 I want to remove Google as a single point of failure in my life. They have two decades of my email. They have two decades of my photos.
Extracting 100% of Data From a Stubborn, Dying ZFS Pool – Jake Wharton
Jake Wharton·12 Feb 2020
12 February 2020 In 2010 I built a home server with five 2TB drives. It ran Solaris and ZFS for the redundancy and data checksumming to ensure no data could be lost or corrupted.
D8 Library Desugaring – Jake Wharton
Jake Wharton·18 Dec 2019
18 December 2019 Note: This post is part of a series on D8 and R8, Android's new dexer and optimizer, respectively. For an intro to D8 read "Android's Java 8 support".
Public API challenges in Kotlin – Jake Wharton
Jake Wharton·21 Nov 2019
21 November 2019 Kotlin is justifiably lauded for its language features compared to today's Java. It has constructs which allow expressing common patterns with more concise alternatives.
D8 Optimizations – Jake Wharton
Jake Wharton·30 Oct 2019
30 October 2019 Note: This post is part of a series on D8 and R8, Android's new dexer and optimizer, respectively. For an intro to D8 read "Android's Java 8 support".
Your filters hide everything on this page. Adjust them in preferences.