Posts

Showing posts from May, 2020

macOS - Notes app tips that may improve your daily workflow

Image
After switching from Windows to macOS in 2019 I also changed my default note taking app from OneNote to macOS built-in Notes.app. I wasn't sure this is the right move, so I switched gradually with carefully selected topics only. But after several weeks of using both OneNote and Notes app I switched fully and after using Notes for several months now I would like to share some of my tips I find useful in my daily workflow. Note: This blog post is focused on macOS version of the app as I use it most of the time.

Convert time unit to duration in Java

java.util.concurrent.TimeUnit represents time durations in Java at a given unit of granularity and provides utility methods to convert across units. java.util.concurrent.TimeUnit was introduced back in the old Java days (1.5) but since then it has been extended several times already. In this blog post you will learn how to use java.util.concurrent.TimeUnit to convert a given time unit to a duration .

Switch as an expression in Java with Lambda-like syntax

As of Java 14, the switch expression has an additional Lambda-like ( case ... -> labels ) syntax and it can be used not only as a statement, but also as an expression that evaluates to a single value.

Record type in Java

Image
JDK 14, released in March 2020, introduced records (preview language feature) which provide a compact syntax for declaring classes whose main purpose is to hold data. In records , all low-level, repetitive and error-prone code is like constructors, accessor and utlity methods such as equals() , hashCode() , toString() are automatically derived based on the record’s state description.

macOS: sync files between two volumes using launchd and rsync

Backing up and syncing files and directories between drives is pretty common use case for many users. In this quick tutorial you will learn how to use launchd and rsync to synchronize files between different volumnes in macOS.