Sign in

Hristijan Petrovski

@funkymuse.bsky.social
220 followers 23 following 55 posts

Anything that inspires everything. Ségñior developer. KMP/CMP github.com/FunkyMuse funkymuse.dev

PostsRepliesMedia
Hristijan Petrovski @funkymuse.bsky.social · 29/08/2025
Loading data on Android? It might help you find the way... I have written an article explaining some pain points and how I have fixed them #androiddev #AndroidDevelopment funkymuse.dev/posts/proper...
funkymuse.dev
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
Architecture discussions in Android development often spark passionate debates—sometimes garnering both praise and criticism. Writing about these topics isn’t easy, but that’s what makes it worthwhile...
120
Hristijan Petrovski @funkymuse.bsky.social · 23/07/2025
Wow, thanks, didn't know this was a think until now. It says on the link: "Improved build performance and stability", did you happen to notice anything significant?
020
Hristijan Petrovski @funkymuse.bsky.social · 23/07/2025
Namecheap...
010
Hristijan Petrovski @funkymuse.bsky.social · 13/07/2025
first comment
000
Hristijan Petrovski @funkymuse.bsky.social · 13/07/2025
first comment
000
Hristijan Petrovski @funkymuse.bsky.social · 13/07/2025
first comment
000
Hristijan Petrovski @funkymuse.bsky.social · 13/07/2025
first comment
000
Hristijan Petrovski @funkymuse.bsky.social · 14/06/2025
🧵 After 7 years in the game, here's my take on the Android PR philosophy⚡ Stop overthinking, start shipping. But make it clean 🚀 Good read for every dev Android or not, who's tired of PR hell 👇 funkymuse.dev/posts/pr-phi... #AndroidDev #CodeReview #SoftwareEngineering #DevLife #CleanCode
funkymuse.dev
My Android PR Review Philosophy; 7 Years of Mobile Development Insights
After seven years building Android apps, two of which spent leading engineering teams, i’ve learned that good code reviews can make or break a project, maybe not break it dramatically but throw a punc...
030
Hristijan Petrovski @funkymuse.bsky.social · 21/04/2025
maps.app.goo.gl/PZFs6nMKnDt2...
maps.app.goo.gl
Google Maps
Find local businesses, view maps and get driving directions in Google Maps.
010
Hristijan Petrovski @funkymuse.bsky.social · 18/03/2025
Java/Kotlin/Go devs
media.tenor.com
a bald man is laying on the floor with his hand on his chin .
ALT: a bald man is laying on the floor with his hand on his chin .
010
Hristijan Petrovski @funkymuse.bsky.social · 27/02/2025
Totally agree, the show was really expensive to make from what I understood as a reason for the cancellation.
000
Hristijan Petrovski @funkymuse.bsky.social · 27/02/2025
At least we got a movie to wrap things up 😕
110
Hristijan Petrovski @funkymuse.bsky.social · 14/02/2025
kotlinlang.slack.com/archives/C7K... Seems like there's an issue on iOS
kotlinlang.slack.com
Slack
000
Hristijan Petrovski @funkymuse.bsky.social · 14/02/2025
We use the desktop to create a documentation of the API instead of using postman, as our network is shared alongside analytics, it's like a debugger. I'm glad you are using it too.
010
Hristijan Petrovski @funkymuse.bsky.social · 31/01/2025
🎉 Excited to announce my first Kotlin Multiplatform app! #kmp #compose 🔍 Looking for beta testers for a 14-day testing period on Android Join: 👥 Group: groups.google.com/g/wallhub-an... 🔗 Play Store Beta: play.google.com/store/apps/d... iOS is in production already apps.apple.com/us/app/wallh...
apps.apple.com
‎WallHub - HD & 4K Wallpapers
‎Transform Your Device with WallHub - Your Premium Wallpaper Destination! Transform your iPhone and iPad with WallHub, the ultimate wallpaper application featuring millions of stunning HD, 2K, 4K, 5K...
051
Hristijan Petrovski @funkymuse.bsky.social · 29/01/2025
Wondering why BATTERY_PROPERTY_STATE_OF_HEALTH Got removed, we had it in one utility app 🥲
100
Hristijan Petrovski @funkymuse.bsky.social · 23/12/2024
Is there a sample regarding the swipe to back implementation, can't seem to find anything anywhere, probably looking in the wrong places...
000
Hristijan Petrovski @funkymuse.bsky.social · 22/12/2024
Fajitas Stir fried veggies + or - meat Grain bowls Pasta salads
000
Hristijan Petrovski @funkymuse.bsky.social · 22/12/2024
This definitely, I also have SwitchBox attached to some of the things for fail safety, if automation fails > SwitchBox > manual.
010
Hristijan Petrovski @funkymuse.bsky.social · 15/12/2024
Yeah but the DaC is shitty and the audio quality is not okay. I really loved LG phones that shipped with HQ dacs.
010
Hristijan Petrovski @funkymuse.bsky.social · 15/12/2024
Nowadays VPS are cheap and accessible, 100k isn't a lot of users, afterwards you can create replication points and add more locations, create clusters etc... basically you solve a big problem by breaking it down in smaller ones, same with infrastructure, smaller parts, isolated, controllable.
151
Hristijan Petrovski @funkymuse.bsky.social · 15/12/2024
Until your cat eats the cable haha Totally agree with you btw, i really hate it that nowadays there's no 3.5mm jack on the phones 😡
110
Hristijan Petrovski @funkymuse.bsky.social · 15/12/2024
What are those 100k users doing? Hard to tell, if it's a static website even a $2 VPS can do the job. If there's DB interactions, monitoring, backend to run CRUD and other things, it depends, but something of a 4 core CPU and 8GB of RAM can handle things with ease, dedicated of course.
140
Hristijan Petrovski @funkymuse.bsky.social · 15/12/2024
Ain't this an interesting #KMP #Compose #CMP project, reminds me of Airbnb's Showkase #JetBrains cooking something in the backseat github.com/Kotlin/Story...
github.com
GitHub - Kotlin/Storytale
Contribute to Kotlin/Storytale development by creating an account on GitHub.
0142
Hristijan Petrovski @funkymuse.bsky.social · 12/12/2024
Now this was unexpected, what the...
010
Hristijan Petrovski @funkymuse.bsky.social · 03/12/2024
Hope we remove the annotation ExperimentalUuidApi soon and getting a stable version (it's stable already), we've been using it in prod without any issue, API surface is good, great experience so far.
210
Hristijan Petrovski @funkymuse.bsky.social · 29/11/2024
Good job 👏
010
Hristijan Petrovski @funkymuse.bsky.social · 25/11/2024
Haters gonna hate, developers gonna develop, skaters gonna skate, can't change much about it, enjoy the ride, pour yourself your favorite beverage and write that darn Composable.
120
Hristijan Petrovski @funkymuse.bsky.social · 25/11/2024
Spotless + ktlint
000
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
I've tried it once but gotta admit I'm guilty to just have used it for folding directories and afterwards forgot about the plugin.
100
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
👀 foldables huh
200
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
media.tenor.com
a yellow background with a scaler logo on the bottom right
ALT: a yellow background with a scaler logo on the bottom right
120
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
media.tenor.com
a man and a woman are rowing a kayak on a lake .
ALT: a man and a woman are rowing a kayak on a lake .
020
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
My intrusive thoughts are asking about Kotlin.war 🫣 where my server thoughts go to die.
100
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
// Now Compose will use equals() comparison: val instance1 = MyClass(1, "hello") val instance2 = MyClass(1, "hello") // During recomposition: instance1.equals(instance2) // true - will skip recomposition I guess we still need stability annotations, makes sense when written down now.
110
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
val instance3 = MyClass(1, "hello") // Later in recomposition, passing the same instance: instance3 === instance3 // true - same instance, will skip recomposition @Stable data class MyClass(val integer: Int, val someText: String?)
110
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
Yeap, you're right, I didn't thought about it but now that I did it all makes sense: val instance1 = MyClass(1, "hello") val instance2 = MyClass(1, "hello") // During recomposition: instance1 === instance2 // false - different instances, will trigger recomposition
120
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
Do you say thank you and please? Remember being nice to the AI waiters, they're waiters now, not for too long 😄
000
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
If you mean fake as in terms of the content is just there for the sake of being there without any means, I feel like that most of the time that I've had it opened, very few times something useful pops up.
000
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
Depends on the country, for us balkans usually luck runs in Netherlands, Germany, Spain etc.. I've heard some success stories in UK too, but with this market, it's tough, companies don't offer relocation anymore. Keep on trying.
020
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
Slowly migrating I guess, but I keep opening up X :(
000
Hristijan Petrovski @funkymuse.bsky.social · 23/11/2024
Do we actually need to take care of stability now with strong skipping? I have some Composables that previously had a class param annotated with @Stable and now removed it when strong skipping was enabled, didn't notice any difference. Except maybe taking care of everything in the class being VAL
110
Hristijan Petrovski @funkymuse.bsky.social · 21/11/2024
Had to implement Confetti animation in Compose, my brain fried, all is done now, recovering post septoplasty, things are slow, how are you doing?
010
Hristijan Petrovski @funkymuse.bsky.social · 20/11/2024
Do I count as an iOS dev if I'm using CMP/KMP for iOS development 🫣
000
Hristijan Petrovski @funkymuse.bsky.social · 20/11/2024
👋 I'm here as well
130
Hristijan Petrovski @funkymuse.bsky.social · 20/11/2024
Can you add me 🤘
100
Hristijan Petrovski @funkymuse.bsky.social · 18/11/2024
💡 Missing screen callbacks in AndroidX Navigation for KMP/CMP? I wrote a guide on implementing type-safe navigation callback results. #AndroidDev #KMP #CMP funkymuse.dev/posts/kmp-ty...
funkymuse.dev
Achieving Type-safe Navigation Results in AndroidX Compose for KMP
The Quest for Perfect Navigation in Compose Multiplatform
120
Hristijan Petrovski @funkymuse.bsky.social · 16/11/2024
Something worth keeping an eye on github.com/sellmair/com... #androiddev #kmp #cmp #compose
github.com
GitHub - sellmair/compose-hot-reload: Experimental: JetBrains Compose Hot Reload
Experimental: JetBrains Compose Hot Reload. Contribute to sellmair/compose-hot-reload development by creating an account on GitHub.
040
Hristijan Petrovski @funkymuse.bsky.social · 16/11/2024
I was asking myself the same question the other day, wanted to try it out but it seems like a forgotten area 😕
000
Hristijan Petrovski @funkymuse.bsky.social · 16/11/2024
I agree with this, having the same good time lately, also Ktor, I love this server/client framework as the "life" of my CMP screens. Currently trying KMP server driven design. I wish that one day, we can server Composables on a canvas directly via the backend.
010