Image for post
Image for post

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 particular kind of problem, rather than a general purpose language that’s aimed at any kind of software problem. Domain specific languages have been talked about, and used for almost as long as computing has been…


Image for post
Image for post

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.

Image for post
Image for post

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


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. …

About

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