Posts

Turning the backlight of the official Raspberry Pi Touch Screen on or off

I’ve setup a https://magicmirror.builders to have some information handy when leaving my apartment. I’m using a https://www.raspberrypi.org/ with the official https://www.raspberrypi.org/products/raspberry-pi-touch-display/. However I don’t want to have the display backlight turned on all the time. Especially at night the backlight is rather annoying. In Addition I don’t see why I should use up energy when nobody is looking at the screen. Turning the backlight on and off After some research I fond that turning the display on and off can be achieved by writing 0 or 1 to a special file:
Read more

Some resources for using CLion to build ESP32 applications

In this article I share some resources I found about how to setup CLion and ESP-IDF to develop Software for the ESP32.
Read more

vboxautostart Setup on Ubuntu 18.04

In this article I show how to setup VirtualBox to start a virtual machine on boot of an Ubuntu 18.04 system.
Read more

A Semantic Logger for JVM Languages

This little library is inspired by the talk Observability in einer Microservice Welt held on Berlin Expert Days 2018 by Andreas Weigel and Jakob Fels. If you prefer to have some semantic to your logging and improve code readability you can use the SemanticLogger and its SemanticLoggerFactory which adds a thin layer around Slf4j. The SemanticLoggerFactory can be used like the Slf4j LoggerFactory to create a new Logger by class, name or a delegateLogger:
Read more

Building a Spring Boot 2 Auto-Configuration and Starter with Kotlin and Gradle

A concept that makes Spring Boot very powerful are its Starters and Auto-Configuration. It enables the automatic inclusion of dependencies and configuration or initialization based on several conditions. Recently I have been looking for a tutorial or “best practice” on how to use Gradle to build a custom starter. Since I was unable to find an example I ended up writing my own. I also added some Kotlin into the mix.
Read more

Using Jib to Build Docker Images for Spring Boot 2 Applications

If you want to create a Docker image from your Spring Boot 2 application you can use various plugins for Gradle or Maven. They all have in common that the application itself will be added as a single layer containing the full jar including all dependencies. For a typical Spring Boot 2 application this means, that for each build an image layer of at least 60MB has to be pushed to the registry.
Read more

Cross-compiling Kotlin/Native applications and libraries for Raspberry Pi on macOS

I’m a big fan of the Kotlin programming language since it has been announced by JetBrains some times ago. After Kotlin/Native became available including the ability to compile to native Raspberry Pi binaries I decided to play around with it and see what’s possible. The problem I’ve been facing is the fact that cross-compilation for Raspberry Pi requires a Linux system. Since I prefer to use my macOS system for developing I have been looking for an alternative to use a full blown Virtual machine.
Read more

Manually refresh let's encrypt on a Synology NAS

I’m using a https certificate from Let’s Encrypt to securely connect to my NAS and other servers (like this one). The software running on my Synology NAS automatically generates and renews this certificate for me after it has been setup once. One important thing though is that port 80 and 443 are reachable from the internet. I recently misconfigured my router so that the request was not getting thorough and I had to / wanted to start the renewal manually.
Read more

Using Kotlin "data class" in bi-directional JPA relations

Data classes in Kotlin provide an easy way to implement entity beans for JPA without a lot of boilerplate code. This also includes toString(), hashCode() and equals() methods. However when you are modelling a bi-directional relationship between to entities you run into trouble since the toString() methods of both entities will call each other recursively ending in a StackOverflowException eventually. @Entity data class Child( @Id @GeneratedValue val id: Long? = null, val name: String, @ManyToOne val parent: Parent?
Read more

Kotlin, Spring Boot and Angular 4

This weekend I have been tinkering around with Kotlin, Spring Boot and Angular 4. I experienced how to combine everything in a multi-project using Gradle as a build tool. As I’m getting more into Kotlin I like it more and more. Especially the lack of a lot of boilerplate code is very refreshing. I still have to improve on the overall style but I will definitely use Kotlin more in the future.
Read more