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. ...
Boolean not 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. ...
Middle Point 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. ...