I too find myself procrastinating less thanks to Agents doing some of the grunt work to get things going to the point where I can step in and do the fun stuff!
Your article describes what I have been experiencing as well. Thanks for the deep dive!
Posts by Rahul Ravikumar
This is excellent, one of my favorite long-form pieces on agentic engineering - includes several non-obvious ways in which leaning on coding agents can catch you out
👋
In the next version of AGP
- R8 makes coroutines 2x faster
androidx.tracing 2.0.0-alpha04 is now available. Here is the release notes.
Happy tracing !
developer.android.com/jetpack/andr...
If you are a parent always worried about waking someone up while watching TV, this headphone is just incredible 🙂
electronics.sony.com/audio/speake...
What is time really, but an illusion 😶🌫️🙂
I will be speaking at Android Makers about the internals of the androidx.tracing library and how benchmark driven development ensures low overhead tracing. If you like tracing, profilers and benchmarks - this talk is for you!
androidmakers.droidcon.com/2026/rahul-r...
Want to actually understand what your app is doing at runtime?
In the next episode we explore:
⚡ Android Profiler
🔎 Perfetto
🧵 Tracing 2.0
📱 Performance in Compose
With Rahul Ravikumar.
Join us live → cwti.link/twitch
#AndroidDev #Performance #JetpackCompose
What about magic move though?
In general, anything downloaded from the Snap store does not seem to use Wayland. 😭
While you are doing that, also ensure that the version of Visual Studio Code installed, is not a snap. That version hard codes the display server to X11 as well!
Use the official distribution from Microsoft, and again your eyes will thank you.
PSA: Switch the display server for IntelliJ from X11 to Wayland. Your eyes will thank you. What an incredible difference!
It's glorious now !
blog.jetbrains.com/platform/202...
What’s new:
✅ Multi-platform: Android + JVM targets!
✅ Automatic Coroutine context propagation.
✅ Pluggable backends and Sinks.
The new major version of androidx.tracing is now available on Google Maven. We’ve spent the last year optimizing it, so it's extremely low overhead.
The documentation is available at: developer.android.com/topic/perfor...
Happy Tracing!
A huge thank you to all the colleagues I’ve had the privilege of working with over the last 10 years. I’m incredibly grateful for everything you’ve taught me. Who I am, is a direct result of the brilliant people I was lucky enough to call teammates. 🙏
Two blog posts back to back! ✍️
I just published a summary of my decade-long journey at Google. It covers the projects and the growth, but more importantly, a reflection on some of the things I’ve learned along the way.
You can read the full post here: rahulrav.com/blog/10_year...
I broke down how R8 strips away Intrinsics overhead and leverages ART intrinsics to make your apps faster—without you changing a single line of code (starting with AGP 9.0).
rahulrav.com/blog/kotlin_...
Gemini please rewrite this Python to Kotlin 🙂. Let our AI overlords do the work.
Let me write one !
2 Months from now you will be closer to AGP 10 😅
Same. Berkeley Mono is 😍
I also tried to upstream the change into the Kotlin Compiler itself but it ended up being easier to do this.
github.com/JetBrains/ko...
There is a pretty visible shift in frame durations after this change. Here is an example with one of the Compose Hero benchmarks.
The actual change in R8 that describes this in more detail is: r8-review.git.corp.google.com/c/r8/+/112940
Code that used to look like:
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
turns into a simpler:
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
If p1 was null, calling getClass() on it throws the NPE
Here is an example: godbolt.org/z/Eeve5q1dz
Effectively what ends up happening is that you are using a new proguard directive: `-processkotlinnullchecks`.
PSA: Starting Android Gradle Plugin 9.0 (or the latest stable version of R8): R8 will automatically optimize all Intrinsics.check* APIs in Kotlin automatically !
This should greatly help improve app performance (especially Compose given the large Kotlin library API surface).
Thank you for putting the podcast together. I've been an avid listener even before I joined Google and found it really inspiring to hear about all the amazing stuff you folks shipped !
Ooh a tiling Window Manager. Before I go all in, I should dip my toes with using one on Ubuntu and make sure I am able to work with it.