Frame mogged into building a Chrome extension
Replacing 'Search with Google' with Claude
Replacing 'Search with Google' with Claude
Webdev
I needed some type of like/clap counter for my blog. But then again, likes are lame. What I really needed was a beer 🍺 counter. The problem is, I'm allergic to anything that resembles real backend work on a silly weekend project. So I used json file as
I've always wanted one of these pages. You know the type — "things I find interesting", "reading list" yada yada. Basically a dumping ground for interesting stuff I come across on the day-to-day. So, I made a telegram bot that does it for me. TL;
Popular
*not really
Android
Check out my post on the JET company blog. Thanks to Aaron Labiaga @ Google for featuring this article. 🙏
Android
As part of my daily attempt to pay the bills, I had to implement some pull-to-refresh action. For the uninitiated, the pull-to-refresh component allows users to drag downwards at the beginning of an app’s content to refresh some data. Kind of like this: Enhance While the pattern is quite
Android
Check out my post on the Just Eat Takeaway tech blog here. It also has a meme if that is your thing.
new posts when I'm not hungover
Featured in Android Weekly Issue #624 Everyone is using Hilt/Koin or some other fancy DI framework that just works™. In this house, we still use plain Dagger2. It’s… not going great. Consider the predicament of a composable that can only work with certain parameters: Sometimes, composables are just
How does YouTube do that?
Sometimes, I get the impression one needs 42 hours of research and a PhD dissertation to figure out how to send a one-time event from the ViewModel layer to the UI safely these days. Memes aside, it feels like there is no “true” consensus on how to do such a
Compose is fun. I do get the feeling that there are quite a few “gotchas” when working with it, though. Here are a few questions that kept bugging me: * Are all functions equal in the eyes of the compiler? * Are suspend functions stable/immutable? * Do recomposition scopes even matter much?
Dagger-Hilt is fine and all. Unfortunately, it arrived a bit too late in the android dev lifecycle. If I had to guess, most projects out there are still stuck using plain Dagger2. The official google android docs use Hilt to showcase Jetpack Compose code. What if you are stuck in
These are not the droids you are looking for
On a long enough timeline, every test is a flaky test
Wot I think
Start a work request (see how-to-hilt+workmanager in the previous episode) A method in a ViewModel will do: Observing the state WorkManager.getWorkInfoByIdLiveData returns LiveData , which isn’t really useful at the moment. Turn that into a flow by adding the livedata-ktx dependency. Print out the state of the work
Android Shorts 🩳: WorkManager + Hilt Add (more) dependencies Declare a dagger module Make it easy to inject the singleton WorkManager instance anywhere. Debug logging level is optional. Customize the application class We already declared the WorkConfiguration up above in the dagger module. Might as well use it. Fix up the manifest
Kotlin Coroutines 1.4 is here, as is another chance to stave off boredom.
🤖::execute order process death::🤖