Skip to content
PAVEL KOROLEV
EN
2023
28.07
Sync with Settings Repository
Android Studio updates - endless potential for new posts. Although, to be fair, this time it's more about IDEA. We'll see over time what else they broke there, …
dev
android
15.07
Retrofit
We somehow missed the moment that everyone's beloved Retrofit hasn't been released for more than three years, since May 2020. Maintainers in discussions say …
dev
android
13.07
Crash-free
An interesting thought came to mind that I've never thought about from this angle. Crash-free rate over time without any external factors will generally get …
dev
10.07
A Bug Story
Once a year or two, I regularly encounter some incredible detective stories at work, after which you wonder how all this didn't crash earlier. I want to share …
dev
android
07.07
Threads
It's amazing how megacorporations like Meta can't just make a normal application. Fine when you have legacy from a decade ago, but this is supposedly built from …
android
28.06
Breaking the Monolith Step by Step
Let's talk about modularization. It's probably been a hot topic in the context of Android development for about five years now. During this time, I've had the …
dev
android
gradle
22.06
UI State and Sealed Classes
In one of the Android chats I saw a question: what's better for screen state: sealed or data class? And there were answers like it depends. Usually I answer all …
dev
kotlin
android
19.06
Builder Design Pattern in Kotlin (Bad Advice)
The regular section "someone is wrong on the internet" returns. We're now talking about an article of the same name on Medium, which the author first …
dev
kotlin
android
11.06
Best Practices
Recently I've been walking much more. To not waste time, I listen to talks from bookmarks from various conferences in headphones. It's funny that the more …
dev
28.05
Nothing to Write About
Most often, it seems to me that I'm not doing anything complex. I'm not a pioneer and I'm not making any discoveries. My approach is that I just walk along …
dev
29.04
Mistakes of the Past
Perhaps the most interesting part of working on any large and fairly old project is watching how the mistakes of the past are doing. In such a historical …
dev
25.04
Interface Driven Development and ChatGPT
Found another absolutely wonderful use case for ChatGPT. I was sitting today, doing code review, as usual. I feel something's not right, some solution turned …
dev
14.04
Again (Material 3)
Android Studio Flamingo came out stable today. I was browsing materials about this, particularly What's New in Android Studio - Flamingo on YouTube. I'm …
dev
android
05.04
Paging Library
Perhaps not a very popular opinion, but there's no worse library from Google, among current ones. This is a great example of a situation when you needed to stop …
dev
android
31.03
Consequences (Jetifier)
Imagine you're a big company. You made a bunch of vital libraries that all depend on each other. And the whole world depends on them, without exaggeration. Then …
dev
android
26.03
Ability to Stop in Time
One of the most difficult things at work is understanding when you need to stop. When you're solving some problem, you want to solve it everywhere at once. When …
dev
android
14.03
Scroll
Remember there were scrollbars in applications? On desktops and in browsers they're still almost everywhere, but in mobile they're on the verge of extinction. I …
dev
android
09.03
About ChatGPT
As soon as the public API for ChatGPT appeared, I immediately ran and connected it to my Telegram bot, fortunately all the foundation for this was already laid …
dev
06.03
Funny Stories from Ancient Times (About enum)
Once upon a time, when we didn't have all those Kotlins yet, and we wrote for Android in Java, there were talks that you can't use enums, even though they …
dev
android
03.03
Flavors aka an Easy Way to Shoot Yourself in the Foot
We have flavors in Android. This is a mechanism for separating builds. Everyone knows this is for separating all those dev/qa/prod, gms/hms, free/paid, …
dev
android
27.02
macOS and Bluetooth
I have two wireless devices that I use every day for 5-15 hours. These are Sony WH-1000XM3 headphones and a Razer Orochi V2 mouse. Lots of use cases, especially …
android
25.02
World of Visual Bugs
I think in childhood we all played the game "find the differences" in newspapers and magazines, while in the West they were looking for Waldo. We …
21.02
Turbulence
Today someone answered my Android question on StackOverflow. I checked when I asked it and it turns out it was December 2010, like over 12 years ago. Just in …
dev
android
17.02
Write, Delete
There's nothing more pleasant than deleting code. But only if it's not the code you just wrote, and then your manager told you that it's all no longer needed, …
dev
13.02
Project Navigator
One of the greatest mysteries of Android Studio for me is that by default, the project tree panel has Android mode selected. This is when it displays not the …
dev
android
08.02
Running to Stay in Place
Over the weekend, I remembered that I have a pet project - a Telegram bot written in Kotlin. Small one, a few thousand lines. My sandbox where I play with …
dev
android
07.02
Unpopular Opinion About Emulator
I don't like the idea of showing the emulator or screen mirror inside Android Studio. And in general all ideas to stuff into it everything that used to be …
dev
android
05.02
And Everyone Shares How They Want
The sharing dialog is so bad that all "big" players build something of their own as a second layer. That is, they have their own sharing dialog, from …
04.02
Sharing
Let's talk about sharing. The default sharing Bottom Sheet on Android is absolutely terrible. You'd have to try hard to come up with something worse. Look at …
31.01
Pin Codes Everywhere
Everyone considers it their duty to show me their custom screen for entering a pin code instead of just letting me inside. Banking apps, mobile operators, some …
23.01
UI/UX and Google
I apologize in advance, it will be very hard to unsee this. The other day I saw this example with YouTube's homepage in Twitter and still can't get over it. …
ux
22.01
2022 Year in Music
The year turned out such that I had to think about music not as often as I was used to doing before. But this doesn't mean there wasn't any. We'll remember …
music
20.01
LeetCode Came in Handy
Right in real life, yeah. I was writing a Gradle task that finds the longest path from the root app-module to the farthest module it depends on through the …
dev
android
19.01
Localization is Hard
By default I have English language turned on everywhere. But often for work I test something on my phone on other locales and forget to switch the language …
android
17.01
Life Doesn't Stand Still (Updates)
I love updates. Here you are - a simple worker, after a hard working day you crawl onto the couch, want to watch some stream. You turn on your Android TV, …
android
09.01
Samples
Quite often I browse code of some small Android applications that are posted on Reddit, in articles, in weekly newsletters, and wherever they catch my eye. …
dev
android
02.01
Modern Stack
A big problem of the industry is that a generation of developers has grown up who think that everyone should know the "modern stack". And now they're …
dev
android
2022
31.12
Obsidian
Every geek sooner or later gets the desire to make their Personal Knowledge System. Like a wiki, only about yourself. A dump of your brain, if you will. For …
17.12
Publishing detekt reports to Gitlab
In my previous posts on code quality, I wrote about my experience on how we could set up detekt to get code quality reports on Android projects and about my …
dev
kotlin
gradle
ci
gitlab
17.12
We Need More Standards
In general, the world of static analysis reports is wonderful. Just a reference example of xkcd/927. There are more and more of these report standards every …
dev
12.12
Mouse
About a month and a half ago I bought a mouse for my MacBook. Buying a mouse in the modern world is not as simple as it might seem. Especially for a MacBook. …
09.12
DevOps
For some reason I get wildly excited about being able to take and deploy something on a remote computer, and even add some automation to this process. It's like …
dev
05.12
macOS Has Window Problems
Everyone knows that macOS always has the current application's menu in the top immovable bar. Not that I'm strongly against it, but it seems that globally …
macos
03.12
Too Smart GitLab CI
Regular column where I complain about how things work. I had to set up CI on GitLab and I dove into it quite deeply in recent weeks. Thoughts. If we discard the …
dev
gitlab
ci
22.11
E is for Ecosystem
I have a MacBook Pro M1 + an old iPad 8 (which is 2 years old). I'm thinking, why not turn the iPad into a second display for the MacBook, I heard that's …
macos
10.11
Kotlin Extensions for Android Projects (don't do this)
I came across a Habr article about "experience using one of Kotlin's main features" and, as usual, I got triggered. https://habr.com/ru/post/697908/ …
dev
android
kotlin
06.11
macOS and Keyboard Layout Switching
For as long as I can remember on macOS, keyboard layout switching has never worked properly for me, and I've been on good terms with Macs since the Snow Leopard …
macos
19.09
Ignorance is Strength
One of the things I can't understand is why people boast about not knowing something or that they haven't done something. You know these classic ones: …
16.09
Instances of the Same Application
I thought about such a fundamental thing of operating systems as running several instances of the same application in different processes. A quite obvious and, …
05.08
Again About Conservatism
On Twitter once again a discussion flared up between Western Android influencers of the Kotlin vs Java, Compose vs XML type and so on. Some say "we live …
android
1
2
3
4
5