Janik von Rotz

Simple task runner with bash/zsh scripts

When you work on multiple projects with different tech (Docker, npm, python, ..), a common interface to build, start, install or clean the state of the project is a powerful tool. There are various task runners for this job, however, every one of them requires you to install at least one dependency and so must everybody else who wants to use the project. What if we can use a task runner that is preinstalled on every computer? What about bash/zsh?

Read More...



O3M 84 - Sleeeeep

It has been a while since my last music post. I have been asleep.

Read More...



Monitor cron jobs with Prometheus, Grafana and Node exporter

Nobody wants to be notified by email anymore, especially if its a failed cron job. We have advanced monitoring systems that tell if somethings wrong. In my case I use Grafana and Prometheus and Node exporter to collect host metric, visualize them and send out alerts. Usually, one would set up an exporter to monitor an new piece of software, but for cron there isn’t any exporter available. In contraire there are a lot of online service to monitor your cron jobs, such as Cronitor.io. But we do not want to add another dependency for simply monitoring cron jobs.

Read More...



Mac OS batch resize images

You can easily batch resize groups of images within Mac OS by using the included Preview app, that is, taking a group of pictures set at one or various resolutions, and collectively resize them all together in a group to a new resolution.

Read More...



Convert markdown wiki Links to html links

Wiki-Links [[ ]] are not part of the markdown specification, but are often used by markdown editors such as Obsidian. As they are not supported by most markdown converters we need to convert the wiki links on our own.

Read More...



Grafana OAuth with Keycloak and how to validate a JWT token

In this tutorial I am going to show how you can connect a Garafana container that is hidden behind proxy with Keycloak. We want to log into Grafana with a Keycloak user and experience a seamless SSO-flow. Therefore we are going to configure an OAuth client for Grafana.

Read More...



Backup Docker volumes with this script

The official Docker documentation has section about container backup. This section tells you how to backup an attached volume and the command to do so is pretty elaborate. For automating backups you don’t want to script parametrized commands such as this one. A simple script will do the job.

Read More...



Open Source Software is not free

Open Source Software (OSS) is free to access. Everybody can download the code, change it and build something new. This requires expertise. Expertise that is hard to find on the market. Therefore open source software is not free.

Read More...



Traverse the Elsass

Together with my brother and father we cycled through the Elsass/Alsace in nothern France. We started in Karlsruhe (Germany), headed over to Wissembourg and rode 450km back to Basel (Switzerland). The route we took was the paved version of the Traversée du Massif Vosgien (TMV). Even though we would have enjoyed the dirt road, our equipment was not ready. We sticked to the streets which took us from hill to village and over two passes.

Read More...



Bulk export OneNote notebooks to markdown and other formats

I have decided to ditch corporate software and replace everything with open source software. It is an ongoing process that takes some time. Open source alternatives took some strides in recent years. One of the rising stars is Nextcloud. It is a self-hosted data platform that lets you keep control. Featurewise we do not have to start a discussion. Everything runs in your browser, there is a mobile app and client for all desktops.

Read More...



10