2025  6

November  1

Cursor on Android: Where it struggles and how to make it useful

November 23, 2025 · 8 min · gmirchev90

October  1

Fixing Android DataStore migration from a data object to a data class

October 11, 2025 · 2 min · gmirchev90

June  2

Profiling and how to optimise your app startup and kill ANRs

June 19, 2025 · 9 min · gmirchev90

Making arguments work in Compose Navigation where there was XML

June 14, 2025 · 6 min · gmirchev90

April  2

Observations of migrating an app from XML to Jetpack Compose

April 27, 2025 · 5 min · gmirchev90

Why black-box tests could be a bad idea?

April 12, 2025 · 2 min · gmirchev90

2024  7

December  1

How to tackle the R8 optimisation nightmare in a sane way?

December 1, 2024 · 6 min · gmirchev90

August  1

Android app fails to build with SSLHandshakeException

August 22, 2024 · 1 min · gmirchev90

May  1

Adding a custom lint rule to your Android project

May 16, 2024 · 4 min · gmirchev90

April  2

Throwing anything other than IOException in the OkHttp interceptor will crash your app

April 12, 2024 · 1 min · gmirchev90

Why am I unsubscribing from Medium as a tech info source?

April 8, 2024 · 2 min · gmirchev90

March  1

How did we get to an IT crisis in 2024?

March 3, 2024 · 14 min · gmirchev90

January  1

KAPT to KSP migration and Hilt

January 14, 2024 · 1 min · gmirchev90

2023  1

May  1

Downsides of Firebase Realtime DB for Android

May 14, 2023 · 4 min · gmirchev90

2022  6

December  1

The challenges of server-driven UI on Android

December 19, 2022 · 14 min · gmirchev90

October  1

Local KtLint configuration for Android

October 28, 2022 · 3 min · gmirchev90

July  1

RecyclerView loses focus when scrolling fast … or how to use it on Android TV

July 7, 2022 · 11 min · gmirchev90

May  1

Taming websockets with Coroutines, Clean Architecture and a library

May 28, 2022 · 9 min · gmirchev90

April  1

Android navigation library and TransactionTooLargeException

April 15, 2022 · 3 min · gmirchev90

March  1

Don’t forget about the difference between android:windowActionBar vs windowActionBar in your theme

March 9, 2022 · 1 min · gmirchev90

2021  14

December  1

Ubuntu not starting due to Kernel panic error - Could not locate dkms file

December 7, 2021 · 1 min · gmirchev90

October  3

Are you a product developer or a project developer?

October 8, 2021 · 5 min · gmirchev90

Enable bluetooth headset microphone on Ubuntu 20.04

October 8, 2021 · 2 min · gmirchev90

How to make DatePicker stretch when CalendarView does not fit the screen?

October 4, 2021 · 3 min · gmirchev90

September  2

Approaches not to cause a crash when setting toolbar title on the activity through a fragment

September 28, 2021 · 3 min · gmirchev90

Fix the display of the toolbar in Android Studio

September 28, 2021 · 1 min · gmirchev90

August  1

Android Studio Arctic Fox not building a signed APK

August 17, 2021 · 2 min · gmirchev90

July  1

Creating a bottom sheet dialog with rounded corners and expanding it to full screen

July 5, 2021 · 2 min · gmirchev90

June  1

Why integration of Google Cast alongside Exoplayer really sucks?

June 11, 2021 · 5 min · gmirchev90

April  2

Migration from Gson to Moshi - small tricky parts

April 4, 2021 · 2 min · gmirchev90

Publishing a private Android library

April 4, 2021 · 6 min · gmirchev90

February  3

When can RxJava become a pain in the ass?

February 13, 2021 · 6 min · gmirchev90

Detecting network change with ConnectivityManager & RxJava

February 12, 2021 · 1 min · gmirchev90

Android Oauth2 token refresh mechanism - OkHttp vs RxJava layering

February 12, 2021 · 5 min · gmirchev90

2020  58

December  1

Execute an RxJava observable only once in a given time period

December 17, 2020 · 6 min · gmirchev90

November  2

Tricky parts when implementing unit tests for Android in Kotlin

November 12, 2020 · 3 min · gmirchev90

Running unit tests for LiveData with Jupiter on Android

November 12, 2020 · 1 min · gmirchev90

August  1

Race conditions in unit tests with RxJava when using TestScheduler

August 12, 2020 · 2 min · gmirchev90

May  54

Parse windows-1251 (cyrillic) request in axios

May 28, 2020 · 1 min · gmirchev90

Creating a SonarQube custom plugin for Kotlin

May 15, 2020 · 6 min · gmirchev90

Android Notification White Square Icon

May 5, 2020 · 1 min · gmirchev90

Disabling update manager popup in Ubuntu

May 4, 2020 · 1 min · gmirchev90

How to handle multiple heroku accounts with GIT

May 4, 2020 · 1 min · gmirchev90

Android Studio Live Templates

May 4, 2020 · 1 min · gmirchev90

Fix Lubuntu 14.04 Chromium fullscreen mode

May 4, 2020 · 1 min · gmirchev90

Guake Terminal for Ubuntu not opening another terminal in the same folder

May 4, 2020 · 1 min · gmirchev90

Android adb server version (32) doesn’t match this client (Genymotion)

May 4, 2020 · 1 min · gmirchev90

The difference between a spec and a test (Behaviour Driven Development)

May 4, 2020 · 3 min · gmirchev90

Card.io issue not supporting Samsung S5 and other devices

May 4, 2020 · 1 min · gmirchev90

Mockito anyString() vs any() – null handling

May 4, 2020 · 1 min · gmirchev90

Context in Android Databinding XML files

May 4, 2020 · 1 min · gmirchev90

Gaps between layout components in Android

May 4, 2020 · 1 min · gmirchev90

Retrofit – Authorization & Expiring Tokens

May 4, 2020 · 2 min · gmirchev90

Feature toggles in NodeJS

May 4, 2020 · 2 min · gmirchev90

Design Patterns – Books, tutorials & notes

May 4, 2020 · 12 min · gmirchev90

A word on Javascript charts libraries available on the web

May 4, 2020 · 1 min · gmirchev90

Simple role management for SailsJS

May 4, 2020 · 2 min · gmirchev90

How to add Joi params, query, body validation to Sails JS?

May 4, 2020 · 2 min · gmirchev90

How to download older version of Google Play Services?

May 4, 2020 · 2 min · gmirchev90

Exporting Card.IO as a fragment

May 4, 2020 · 5 min · gmirchev90

Ubuntu install Chinese fonts

May 4, 2020 · 1 min · gmirchev90

Spinner in Toolbar – How to change the selected item text color?

May 4, 2020 · 1 min · gmirchev90

Implementing Face Detection in Android

May 4, 2020 · 2 min · gmirchev90

Android Flux Architecture Example

May 4, 2020 · 3 min · gmirchev90

How to get ScrollView height (getHeight() = 0) and how to display an arrow that it is scrollable?

May 4, 2020 · 1 min · gmirchev90

How to stop services from running in Ubuntu or how to stop mongo from autostart?

May 4, 2020 · 1 min · gmirchev90

Android prevent a dialog from closing when a button is clicked

May 4, 2020 · 1 min · gmirchev90

Sample architecture to handle notifications in Android

May 4, 2020 · 7 min · gmirchev90

Fighting android canvas – Hexagonal imageview layout for Android

May 4, 2020 · 1 min · gmirchev90

Let’s hook up Socket.IO with HapiJS in a single code base

May 4, 2020 · 2 min · gmirchev90

RxJava toList – completes only after onComplete is called

May 4, 2020 · 1 min · gmirchev90

Ubuntu/Mint show git branch in terminal (bashrc edit)

May 4, 2020 · 1 min · gmirchev90

Google Play Account Ban – A nice reason to hate Google

May 4, 2020 · 6 min · gmirchev90

Selenium + BrowserMobProxy to gather data from SSL secured websites like Facebook

May 4, 2020 · 6 min · gmirchev90

Thinking about Code Architecture & Object Oriented Programming

May 4, 2020 · 6 min · gmirchev90

Applying Clean Architecture in Android

May 4, 2020 · 11 min · gmirchev90

.blockingGet & AndroidSchedulers.mainThread() make the app stuck

May 4, 2020 · 1 min · gmirchev90

Failed to start mongod.service: Unit mongod.service not found. – Ubuntu 16.04

May 4, 2020 · 1 min · gmirchev90

It’s 21st century – Stop using EVENTBUS!

May 4, 2020 · 8 min · gmirchev90

How to mock a dynamic value returned from a method with Mockito?

May 4, 2020 · 1 min · gmirchev90

Mockito verify input parameter was called with a given value

May 4, 2020 · 1 min · gmirchev90

/dev/kvm permission denied on Ubuntu 18.04

May 4, 2020 · 1 min · gmirchev90

Ubuntu – Alt + Shift + any key switches the language and does not work

May 4, 2020 · 1 min · gmirchev90

“No space left on device” message with npm & Ubuntu 18.04

May 4, 2020 · 1 min · gmirchev90

Installing Grub fails on Ubuntu 16.04

May 4, 2020 · 1 min · gmirchev90

Add application to launcher in Ubuntu 16.04

May 4, 2020 · 1 min · gmirchev90

Test push notifications on Android without a server

May 4, 2020 · 2 min · gmirchev90

TransactionTooLargeException when using NotificationManager.notify on Samsung devices

May 4, 2020 · 2 min · gmirchev90

EditText in CollapsingToolbar with NestedScrollView won’t scroll when the keyboard is open

May 4, 2020 · 2 min · gmirchev90

Drawing an arc on Android

May 4, 2020 · 1 min · gmirchev90

textAppearance does not work on custom TextView

May 4, 2020 · 1 min · gmirchev90

RxJava & LiveData combined error handling

May 4, 2020 · 2 min · gmirchev90