@botteaap Thanks so much. I am happy and surprised at the amount of interest. Also happy to help everyone buy more hardware 😉
Android Toolkit @ Google
* Baseline Profiles
* Macrobenchmarks
* WorkManager
* App Startup (androidx.startup)
* KMP and Benchmarking
@botteaap Thanks so much. I am happy and surprised at the amount of interest. Also happy to help everyone buy more hardware 😉
Here is the repo that includes the source code + the slides for my talk at KotlinConf 24 (Hacking Sony Cameras' for fun and profit).
GitHub Repo: https://github.com/tikurahul/alpha-shot
Slides: https://github.com/tikurahul/alpha-shot/blob/main/protocol/KotlinConf'24%20Slides.pdf
I have a lightning session at KotlinConf today that talks about reverse engineering the BLE protocol on Sony Cameras. If you are interested, tune in at https://kotlinconf.com
Hello LeakCanary friends! I have a message that could use some reposting 😅
so, eeeer, 2 years ago I messed up and referenced a WorkManager internal class (`SettableFuture`) in LeakCanary. No idea why I did that. Here's my dumb mistake in all its glory: https://github.com/square/leakcanary/pull/2275/files#diff-ae4c2fcbc6f148463cada95a97481365d635c9df97e826f9604824f4f714dfa6R40
Anyway, the WorkManager team is planning to delete this internal class, at which point LeakCanary releases from 2.8 to 2.13 will crash at runtime.
To avoid a nasty surprise, update to 2.14 ASAP! https://square.github.io/leakcanary/changelog/#version-214-2024-04-17
I'll be at KotlinConf next month talking about how I got Compose UI running on a light switch which uses embedded Linux.
https://kotlinconf.com/speakers/3eabdd46-6cb5-4083-9eb8-1ad9a3b7a5eb/
In 2016 I began a (mostly) accidental journey to building a game with 3M installs. This is the story of how it came to be.
https://medium.com/@paul-lammertsma/oops-i-built-a-hot-game-d6878a7fb6cf
"Only Apple can protect us" is a bad position for these people to be in.
I'm so excited that iOS will finally allow alternate browser engines!
But, man, Apple's press release is just dripping with spite and utter lack of grace. Not a good look.
Jetpack Compose 1.6 is out!!
This paper starts out amazing and just keeps getting better
@romainguy Actually, on that one, @jessewilson convinced me a while ago that LinkedHashMap is absolutely the better default choice, precisely for that reason.
This makes debugging code that involves a HashMap a lot easier, as you can consistently reproduce iteration order.
Also, remember when Java updated the hash implementation and everybody's tests started breaking because they relied on undefined (but consistent until then) iteration order.
kotlin-explorer 0.7 has a cleaned up UI based on JetBrain's Jewel library, and the new jump indicator in the dex bytecode disassembly.
https://github.com/romainguy/kotlin-explorer/releases/tag/v0.7
I wrote a post on how @rahulrav and I sped up downloading our large remote cache entries by 45x for the AndroidX build
My team at Google is hiring in London!
We're looking for mid-level Android developers who want to work in the 'UI Architecture' layer of Jetpack - libraries like Paging, Fragments, Lifecycle, Activity, Navigation and SavedState.
Much of our focus is on ensuring that our libraries and guidance work great with Jetpack Compose and Kotlin Multiplatform.
Apply here: https://goo.gle/49yr6q0
I live streamed with the CWTI crew and showed off how Baseline Profiles have evolved with the advent of Dex Layout Optimizations (powered by the same kind of profile guided information that ART uses under the hood).
PSA: The benchmarking library version 1.2.0-beta01 has been released. This means Baseline Profiles have reached API stability. https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0-beta01
@dankim Ubiquity is amazing. Been super happy. Their new update enabled ad-blocking.
@iboalali Yes, we want to eventually make it a part of the library in some way.
For those using Jetpack Macrobenchmarks, if you want to compare results with past runs, I recently wrote this:
Here is what it looks like (more details in the README.md)
@cb AndroidX uses this (https://github.com/androidx/gcp-gradle-build-cache)
It has been extremely painless, and just relies on GCPs Cloud Storage API under the hood.