Type-safe arguments in Jetpack Navigation Compose

This blog post is a repost from code.kiwi.com. Newly, there is a meetup talk about Navigation Compose Typed library. Jetpack Navigation Compose is the Jetpack Navigation library enhanced for usage in Compose. But the actual “enhancement” is a bit limited and different from the View-based navigation. Most importantly, there are no SafeArgs — a type-safe … Read more

Windows’ window usability protip

Having opened multiple windows of the same app usually gorups them together as one button on the taskbar. Clicking it opens a preview of them and you may choose what window you would like to open. But there is a better option. The alternative UX is to open the last opened window on the first … Read more

New headphones

After living years with wires, I realized that I needed to switch to wireless mode. Having wired headphones makes me less moving in the office – either less going to the bathroom or less going for water to drink. I want to change this. Next, there are too many wires on my desk. Years ago … Read more

Success & logic error propagation in Kotlin

In Kotlin, the expected code-flow should not use exceptions. The non-success code flow should be propagated through return type to be well-documented, strictly & statically typed. This post should be a practical guide after you have read Elizarov’s great post on Kotlin and Exceptions. Be aware that this post talks about domain errors, as described … Read more

PHP wish-list

A random list of missing language features in PHP. I do mostly Kotlin nowadays, so this is quite inspired by that language. I think these features could be (somehow) “easily” added into PHP. No new keyword It removes unnecessary keywords and allows to easily chain method calls. This cool feature also allows a nice trick … Read more