Rahul Ravikumar

@rahulrav.com

Software Engineer at Google working on the Android Toolkit team.

I published vibrance-0.1.0 on Maven, now with support for Compose for Desktop (JVM). The APIs let you mix colors yourself, or draw gradients as modifiers or Compose brushes. Next steps: refine the model training to improve some color transitions, better alpha support. github.com/romainguy/vi...

BildBild

I have always wanted to better understand how frameworks like PyTorch do back propagation for gradient descent. I finally wrote my own implementation for a scalar valued type that can compute gradients from the ground up. Its ~130 lines of Kotlin. Remarkably capable now ! github.com/tikurahul/by...

GitHub - tikurahul/bytegrad: An implementation of the scalar valued type in Kotlin, that can support gradient descent based on micrograd

An implementation of the scalar valued type in Kotlin, that can support gradient descent based on micrograd - tikurahul/bytegrad

github.com

Signed up for Deep Learning coursework; and as I am reading some recommended papers - I swear adjacent to a mathematical construct I think i know, is a rabbit hole that until now never existed. Oh, you want an integral on this marginal distribution; surely you must have heard of error functions. 😭

Sometimes what you need is a hybrid of an ArrayList and a LinkedList. (When your API allows adding things into a list like structure - think contextual data). BlockLinkedList that does exactly. Uses ART instrinsics for a fast reset and object pooling to minimize GC overhead.

github.com

Wrote up a blog post going over the "why" in each of the features in Perfetto v57. This is something I plan on doing for each release going forward (including dedicated posts when a feature is big enough to deserve it!) Find it at lalitm.com/post/perfett...

Perfetto v57: fixing PyTorch traces, plus journald logs and an AI skill

We just released Perfetto v57 and I wanted to share the new things I’m most excited about. This is something I wanted to do for past releases but I just never quite got round to it. It’s also somethin...

lalitm.com

Installed Cauchy OS a few months ago on my Framework 16 and I must say, arch has been extremely delightful to use. Extremely grateful that I don't have to use Windows or macOS. It's really the year of Linux on the desktop!

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).

Given the state of Windows 11 + Copilot 🤮; 2026 might actually be the year of Linux on the Desktop. Framework 16+ Ubuntu has been a breath of fresh air.

I presented an updated version of "A Busy (Android) Developers guide to Perfetto" at Droidcon India this past week. The session was packed and was standing room only ! There were so many other wonderful Performance talks !