Measure method execution time using Spring AOP
There are times when it is necessary to be able to log the execution time of a method. The simplest way to achieve that would be to modify every method by adding Stopwatch or System.currentTimeMill...
There are times when it is necessary to be able to log the execution time of a method. The simplest way to achieve that would be to modify every method by adding Stopwatch or System.currentTimeMill...
Oftentimes writing application there is a need to offload compute-heavy tasks to an asynchronous worker script, schedule tasks for later, or even write a daemon that listens to a socket to communic...
When working with reactive streams in Java, you may encounter a situation when there is an event-based API that must somehow return data as a stream. In my case for Reactive Streams, I use Reactor...
Using Docker on Synology NAS is quite straightforward. Deploying a new container comes down to a few simple steps: download an image, launch with required parameters and that is it. Updating also s...
Recently I’ve faced the limitation of 2GB of RAM when I wanted to run GitLab Docker container on Synology DS 218+. By default, GitLab recommends having at least 8GB to run the container. But Synolo...
Previously I described how to configure Synology NAS to use own domain name. In this post, I’m going to describe how to deploy Ghost in Synology NAS using Docker. Ghost is a free and open-sourc...
In this post, I describe how you could configure Synology NAS to use your own domain even if you don’t have static IP. Synology NAS provides a build-in functionality to configure your domain lik...

The story is about how I built a homebrew temperature/humidity monitoring system using Arduino, XBee, and Raspberry Pi. Part 1. Abstract The main idea is to build a system to monitor temperature ...