Kotlin is a powerful, safe and laconic language. But sometimes it’s possible to make a code even shorter and more readable using your own DSL. In this article I’m going to tell how to implement your own DSL in Kotlin using higher-order functions.

What is DSL?

DSL (domain-specific language) is a simple programming language specifically designed for a particular domain. Unlike general-purpose languages, which may be widely used across domains, the domain-specific languages usually are quite simple with limited possibilities and represent some very specific area.

The basic idea of a domain specific language (DSL) is a computer language that’s targeted to a…


The accessibility service is a feature of the Android framework designed to provide user interface enhancements to assist users with disabilities, or those who may temporarily be unable to fully interact with a device. In these cases, people might need additional or alternative feedback such as text-to-speech or haptic feedback. The accessibility services run in the background and receive callbacks from the system when accessibility events fired. Such events denote some state transition in the user interface, for example, the focus has changed, a button has been clicked, etc. …


During development of android application with material design, I’ve implemented some dialog with custom progress indicator. I decided to extract this code to android library and make it available from maven central repository. It’s opensource, so you can find it on my github and do whatever you want with it. In this post I’ll put instructions how to use it and describe some implementation details.

How does it look like

To be honest I saw this progress indicator at some splash screen (don’t remember which software exactly) and decided to implement something similar.

Also there is a demo application available, you can check it out…


I love Ubuntu. But since it’s moved from Gnome2 to Unity desktop, I can’t use it anymore. By other words, I hate Unity. Of course you can ask “But how about KDE?”. The answer is short: I like simple, clear and intuitive GUI. Fortunately, there is great project Linux Mint, based on Ubuntu (and Debian, for you choice); and it is very good alternative to use. Linux Mint guys developed its own desktop environment, called Cinnamon, and it is convenient, clear-looking and, for sure, open source. …

Maksym Dybarskyi

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store