Live coding with dir stepper – Jake Wharton
Jake Wharton16 Jul 2026
16 July 2026 Two months ago I gave my first ever live programming talk at KotlinConf. It was called "Talking to terminals (and how they talk back)", and you can watch it here.
jakewharton.comadded August 2026
Jake Wharton16 Jul 2026
16 July 2026 Two months ago I gave my first ever live programming talk at KotlinConf. It was called "Talking to terminals (and how they talk back)", and you can watch it here.
Jake Wharton17 Jun 2026
17 June 2026 I'm happy to announce that Retrofit, OkHttp, and Okio are moving to a new GitHub organization, and along with SQL Delight are all joining the Commonhaus Foundation.
Jake Wharton3 Dec 2025
03 December 2025 Many people rely on the Compose bill of materials (BOM) artifact to provide the complete set of Compose dependency versions.
Jake Wharton19 Nov 2025
19 November 2025 Did you know the versioning of AndroidX libraries and their stability guarantees are different from most libraries?
Jake Wharton14 Oct 2025
14 October 2025 I used to use Bit.ly to put links into my presentations. Their service allowed you to customize the path portion of the link, so I was able to create links like bit.ly/ok-libs.
Jake Wharton7 May 2025
07 May 2025 It doesn't take long for a project to spawn multiple jobs in their GitHub Actions. Parallelization can lead to huge speedups for PRs.
Jake Wharton12 Mar 2025
12 March 2025 JNI allows managed code inside the JVM or ART to call into native code. Java methods can be declared as native, and then a corresponding C function1 can be written and automatically...
Jake Wharton19 Feb 2025
19 February 2025 When Espresso was made public a decade ago, one of its banner features was the "idling resource" concept.
Jake Wharton8 Jan 2025
08 January 2025 You want to be using the latest JDK for development. Don't use Gradle toolchains, they'll needlessly force you to use old JDKs.
Jake Wharton28 Mar 2024
28 March 2024 There was a time when I used Maven heavily, but today all the libraries I work on build with Gradle.
Jake Wharton21 Mar 2024
21 March 2024 The last post featured some Kotlin code inadvertently targeting a new Java API when the build JDK was bumped to 21.
Jake Wharton13 Mar 2024
13 March 2024 Yesterday, our Android app crashed with a weird NoSuchMethodError. java.lang.NoSuchMethodError: No interface method removeFirst()Ljava/lang/Object; in class Ljava/util/List; or its...
Jake Wharton7 Feb 2024
07 February 2024 Given a list of users, extract their names and join them into a comma-separated list. Kotlin's extension functions on collections make this trivial.
Jake Whartonby Jake Wharton19 Jul 2023
A stable, multiplatform Molecule 1.0 Molecule is a Compose-based library which we announced two years ago for managing application state.
Jake Whartonby Jake Wharton5 Jul 2023
Native UI and multiplatform Compose with Redwood Redwood is Cash App’s take on multiplatform mobile client UI.
Jake Whartonby Jake Wharton21 Jun 2023
Flow testing with Turbine Say hello to Turbine 1.0, our library for testing kotlinx.coroutines Flow and more. Turbine changes push-based Flows into pull-based suspend functions to simplify testing.
Jake Wharton16 Jan 2023
16 January 2023 jlink is a JDK tool to create bespoke, minimal JREs for your applications. Let's try it with a "Hello, world!" program: class Main { public static void main(String...
Jake Wharton17 May 2022
17 May 2022 In the past, when a new version of Java was released, I would add that version to our open source project's CI builds.
Jake Wharton5 Apr 2022
05 April 2022 The equation y=mx+b defines a line in slope-intercept form. The line will intercept the y-axis at the value b and for each change in x its slope (the amount the line goes up or down)...
Jake Whartonby Jake Wharton11 Nov 2021
The state of managing state (with Compose) Five years ago the Cash App Android client started splitting our UI rendering and UI presenter responsibilities into distinct types.