JUnit Coroutines Runner
Jul 10, 2021
Writing tests for kotlin code with coroutines requires adding runBlockingTest for each test method. In the article we'll try to work around that so that we don't need to write it.
Kotlin flow: Nesting vs Chaining
Jul 8, 2021
When it comes to reactive streams it is likely everyone heard about huge 'rx-chains'. In this article we'll see that reactive streams are not only about chaining, but also about nesting and will find out important differences.
Why custom website instead of Medium
Jun 21, 2021
Some time ago I switched from Medium to own website. Here I try to give insides on pros and cons of using Medium and reasons why I decided to move to a web blog.
Custom Reactive JSON parsing
Jun 8, 2021
Sometimes there are situations when simple parsing JSON-string into objects doesn't work well. Here is a story not about writing custom type adapter for a JSON-parsing library, but a story about some particular tricky use-case for JSON-parsing that I had and how I've managed to solve it.
Bad Kotlin Extensions
Jan 25, 2021
Kotlin extensions is a cool feature. Though trying to write 'idiomatic' Kotlin code some developers tend to overuse that feature making code worse that it could be without extensions. In this article we'll go through some examples of how not to write Kotlin extensions
Debugging Proguard configuration issues
Jan 18, 2021
Proguard configuration was never an easy task. Especially it strikes when some issue leaks to the production. In the article I try to provide simple algorithm on how to track down what exactly might be an issue in proguard configuration
Optimize reading articles experience
Jan 16, 2021
Guide on how one can optimize experience on reading articles by managing them via RSS feeds
Android Room Hidden Costs
Dec 18, 2020
Note on how Room might affect performance of you app if you perform many database requests.
Oct 31, 2020
It happens so that developers might want to use Boolean#not method. In this article I try to give a clear vision why there is no need to do so.
Oct 28, 2020
Introduction Working with numbers in programming never was a simple thing. In math, we deal with various sets of numbers - whole numbers, rational, complex. All these sets are infinite - that means that for any number we can find another smaller one and one which is bigger. In programming when we work with numbers we deal with some subset of these sets - that many that can be represented with a given amount of bits.