Serhii Yaremych
banner
desugar.bsky.social
Serhii Yaremych
@desugar.bsky.social
Android Developer passionate about GPU graphics and Jetpack Compose. Building Imla - an experimental GPU-accelerated blur solution for Android.
Exploring OpenGL and rendering algorithms to create smooth visual experiences.
Everything’s relative, context matters. To me, game dev often runs harder than mobile or even C++ systems: realtime demands, engine guts, content pipelines, netcode endless edge cases. In the end its time invested tools click, fluency grows. No shade, respect to every craft. Experience shifts slope.
October 26, 2025 at 9:12 PM
The next thing they need to do is make the debugging experience better than just printing lines to the console. Currently, step debugging isn’t possible from Android.
October 25, 2025 at 7:41 AM
This is def not a normal situation - most libs have consistent alignment across all pages, which is prob why AS only checks the first one.
But edge cases exist, especially w/ external native deps. Better catch it now than scramble on Oct 31st when everyone panics lol. Stay safe!
October 24, 2025 at 5:23 PM
Don't rely only on AS. Use readelf from NDK directly. Check ALL LOAD segments.
The "Align" column must be 0x4000 (16KB) or higher for every single one. Even one segment showing 0x1000(4KB)?
That's ur problem right there.
October 24, 2025 at 5:23 PM
We updated all our native libs to be compliant. Android Studio showed everything's good.
But Play Console kept warning us we're still not compliant. Spent forever debugging, turned out one of the libs had its last page aligned to 4KB instead of 16KB. Super not obvious.
October 24, 2025 at 5:22 PM
3695306: Reimplement SlotTable as a link table | android-review.googlesource.com/c/platform/f...

It looks like it hasn’t been merged yet.
Gerrit Code Review
android-review.googlesource.com
October 19, 2025 at 5:10 PM
It’s no longer a gap buffer, in the recent release, it was rewritten into a linked list–like structure.
October 18, 2025 at 8:01 PM
The next iteration will involve stripping "Android view" from the codebase. 😅
October 17, 2025 at 1:03 PM
Not really “just a Flutter”. Technically Compose is more advanced and does a better job automatically diffing state changes and updating widgets granularly. On Android it doesn’t carry its own renderer but embeds into the native Canvas, which has both advantages and disadvantages.
October 17, 2025 at 12:55 PM
So for me it’s just the JVM style. Lots of small explicit pieces instead of one umbrella module.
Android Studio smooths over and hides a lot of the import shenanigans, but outside AS, every time I hop into VS Code for a quick fix, I feel that pain.
October 17, 2025 at 12:53 PM
Fair observation. For example, in Compose, modifiers are extension functions spread across packages, so the imports pile up. Android Studio auto-import hides it, but turn it off or write in VS Code and you feel every missing piece immediately. pretty quickly.
October 17, 2025 at 12:47 PM
Don't be afraid to experiment. The Android rendering pipeline is far more flexible now: RenderEffect for sane defaults, RenderNode/graphics layers for backdrop control, Haze for convenience, AGSL for custom algorithms. The only real limit is imagination.

medium.com/androiddevel...
AGSL: Made in the Shade(r)
RenderEffects #2: Pixel shaders in Android 13
medium.com
September 14, 2025 at 10:38 PM
We're no longer limited to Gaussian blur. You can implement custom blurring algorithms, and developers have replicated LiquidGlass with AGSL. Since shaders are embeddable, the palette of effects is wide open.

github.com/Kyant0/Andro...
GitHub - Kyant0/AndroidLiquidGlass: Jetpack Compose Liquid Glass library
Jetpack Compose Liquid Glass library. Contribute to Kyant0/AndroidLiquidGlass development by creating an account on GitHub.
github.com
September 14, 2025 at 10:36 PM
Android 13 answered with RuntimeShader and AGSL. You can embed small shaders directly into the rendering pipeline and drive them via RenderEffect, expressing custom filters as code rather than workarounds.
adbackstage.libsyn.com/episode-184-...
Android Developers Backstage: Episode 184: Skia and AGSL - Shaders of Things to Come
In this episode we chat with Derek and Brian from the Skia team about Skia, pixel shaders, and the new “AGSL” API that lets you provide pixel shaders for advanced graphics effects, which was recently ...
adbackstage.libsyn.com
September 14, 2025 at 10:36 PM
Once backdrop blur is in place, design asks grow: shaped or masked regions, adaptive intensity, chroma-preserving blur, and non-Gaussian looks that react to scroll. That's when you begin to outgrow the built-ins.
September 14, 2025 at 10:34 PM