Romain Guy's Avatar

Romain Guy

@romainguy.dev.bsky.social

Photography (https://curious-creature.com), Blog (https://romainguy.dev). In the past: Engineering Director, Android Toolkit team at Google.

3,164 Followers  |  182 Following  |  282 Posts  |  Joined: 04.08.2023  |  1.7713

Latest posts by romainguy.dev on Bluesky

Are they aware of all other features? Why is AI getting this preferential treatment? It's weird.

10.08.2025 17:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0

The main problem I have with AI features in *all* the apps where they are present is how desperate the apps look to make me use said features. It's notifications, icons, banners, etc. everywhere. No other features get this treatment. It's weird and obnoxious.

10.08.2025 16:33 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Second Reality, along with the legendary Assembly party were among the earliest influences to the members of Conspiracy. Today we're honoring the 32nd anniversary with a gift to the community: a native 32 bit port of the demo that kicked off the PC demoscene era with a bang.

Second Reality, along with the legendary Assembly party were among the earliest influences to the members of Conspiracy. Today we're honoring the 32nd anniversary with a gift to the community: a native 32 bit port of the demo that kicked off the PC demoscene era with a bang.

= 32 bits after 32 years =

We're incredibly proud to announce that Second Reality has now been finally ported to a modern operating system, and you can watch it tear up your system: no video, no emulation, just code - as it should be.

conspiracy.hu/files/w32nd_...
github.com/ConspiracyHu...

01.08.2025 21:34 β€” πŸ‘ 212    πŸ” 106    πŸ’¬ 9    πŸ“Œ 7

I also use em-en dashing and I'm deeply annoyed it would cause folks to think I use LLMs (which I don't)

28.07.2025 06:06 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Exploring PausableComposition internals in Jetpack Compose Explore the internals of the `PausableComposition` API in Jetpack Compose to improve UI performance by pre-composing elements during idle time in Android

Shreyas Patil wrote a nice article about Pausable Composition!

We have been working on designs for this feature for quite a while until Leland asked "Why don't we just skip?". Ben Tengrove did a prototype to prove it would work and voila a feature is born.

blog.shreyaspatil.dev/exploring-pa...

21.07.2025 16:48 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

The setup is easy. You might be surprised by the number of requests some devices make though πŸ˜• (I had a Logitech remote I got rid of because it was talking to a remote server twice a minute, 24 hours a day)

13.07.2025 19:43 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If you're willing to go the extra mile, installing something like pi-hole on your network does wonders

13.07.2025 18:52 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I just fell into Gunpla, glad to see it's far from the worst πŸ˜‚

13.07.2025 00:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Will do, thanks!

06.07.2025 06:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It's partly what turned me off last time. But it saved me from an impulse buy πŸ˜…

06.07.2025 06:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

How's that deck? I've been tempted to pick one up

06.07.2025 06:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If you’ve never read her 1978 interview with Art Bell(?) for Playboy(??) about being trans it’s very good btw www.digitaltransgenderarchive.net/files/nv9352...

30.06.2025 00:21 β€” πŸ‘ 37    πŸ” 8    πŸ’¬ 1    πŸ“Œ 1

Yeah I have this issue with English and French, it's infuriating.

21.06.2025 13:27 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Auto-dubbed videos on YouTube got worse. If I download an auto-dubbed video to watch offline, the original language is unavailable. YouTube doesn’t let you list languages you understand. One day Google will understand that some folks speak more than one language…

21.06.2025 10:25 β€” πŸ‘ 39    πŸ” 5    πŸ’¬ 9    πŸ“Œ 0
Video thumbnail

Playing around with the UI for fun. Designing such micro-interactions and animations is a breeze thanks to Compose.

P.S. If you didn't catch it, a full vinyl rotation takes exactly 1800ms. That's 33 RPM πŸŽΆπŸ’Ώ

20.06.2025 09:09 β€” πŸ‘ 45    πŸ” 6    πŸ’¬ 2    πŸ“Œ 0

Great talk, thanks for sharing! Impressive work too

29.05.2025 18:52 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Vector/path rendering (directly using drawing APIs or formats like SVG) is incredibly powerful. But don't forget that sometimes a simple bitmap is the easiest, cheapest, fastest, and overall best solution πŸ˜€

28.05.2025 00:10 β€” πŸ‘ 30    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

Yesterday was my last day at Google.
What started as a 2-year Green Card journey became 11 amazing years & meeting incredible people.
So many great memories from creating Jetpack to adopting Kotlin.
10/10, would do it again.
It is time to move on though, try new challenges and learn new stuff!

26.05.2025 16:50 β€” πŸ‘ 144    πŸ” 2    πŸ’¬ 22    πŸ“Œ 2

Need reviewers? :)

22.05.2025 20:52 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Indeed, we improved every parts of ADB Wifi pipeline. Besides support in Studio, you need ADB 36.0.1 (to be released soon) and Android 16.

22.05.2025 01:11 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1
Preview
Announcing Jetpack Navigation 3 Explore Jetpack Navigation 3, a new Compose-first navigation library with increased flexibility so Android developers to build robust experiences.

Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...

20.05.2025 18:05 β€” πŸ‘ 89    πŸ” 29    πŸ’¬ 6    πŸ“Œ 9
Post image

I wrote about my retro winter adventure where I built my childhood dream PC fabiensanglard.net/2168.

18.05.2025 14:36 β€” πŸ‘ 285    πŸ” 34    πŸ’¬ 11    πŸ“Œ 3

I did the same. It was fine at first when you can work on multiple things, but once you have only a goal or two and you know what to do but can't execute on them because of the RNG... Ugh. Not fun to feel like you're wasting time πŸ˜•

17.05.2025 20:57 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yes absolutely. Because if JNI overhead it's not worth doing it for a single element but for an entire array, it helps a ton (and you can vectorize etc.).

16.05.2025 05:05 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Merge Your Computations There is a simple but often overlooked technique to optimize performance-sensitive code: merging (or manually inlining) functions. We often build series of low-level functions that execute various com...

New blog post, in which I show a real-world Kotlin example of manual inlining/merging computations to improve performance: www.romainguy.dev/posts/2025/m...

16.05.2025 01:39 β€” πŸ‘ 25    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0

I'd have to check the assembly generated for native targets. I'd be surprised if it makes things worse.

14.05.2025 04:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Eliminating Array Bounds Checks The Android Runtime (ART) offers a nice memory safety feature when accessing the content of an array. The indices you use are automatically checked against the bounds of the array to prevent unsafe me...

New blog post! In this post I explain some of the techniques used to eliminate unnecessary array bounds checks when writing Kotlin code.

www.romainguy.dev/posts/2025/e...

13.05.2025 21:36 β€” πŸ‘ 24    πŸ” 6    πŸ’¬ 2    πŸ“Œ 0

Yep exactly what I had in mind as well.

13.05.2025 17:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I keep meaning to write a blog post to show an example where a worse big-O is actually faster.

13.05.2025 15:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I've been reading the comic book but it's not quite the same. Still enjoyable though

08.05.2025 15:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@romainguy.dev is following 20 prominent accounts