Open Source Software is not free

August 7, 2020

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.


Traverse the Elsass

July 20, 2020

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.


Bulk export OneNote notebooks to markdown and other formats

July 1, 2020

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.


Backup and delete your Instagram account

June 19, 2020

For a while I had the idea that I need an account on all social media platforms in order to stay up to date. But as many other did, I grew tired of social media. Not only tired, but also bothered of having my personal data sold. Facebook is the elephant in the room. Not only have the failed to moderate their content properly, but they also showed an in-compliance with their own terms. This platform is no longer about connecting people, it is all about connecting data points and make it more useful for advertiser. The deal of getting social interaction and provide data in exchange has turned for the worse. I firmly believe that social media companies do not have a sustainable business model and therefore should not be supported.


Pin and update Ubuntu packages with Ansible

June 5, 2020

Patching is an essential part in server maintenance. For Windows servers and clients you have WSUS to coordinate updates and security patches. But how do you patch Ubuntu, Debian, RHEL or Fedora machines? The linux distro field is very dispersed, how do you do patch all these systems? In this post I will show you how I install package updates and ensure that specific packages cannot be updated using version pinning.


Restore Odoo database with this script

May 19, 2020

Odoo’s database manager provides an simple interface to backup and restore an Odoo database (aka tenant). This interface can be used to run scripted restores. In the same manner as the Odoo backup script I’ve created a restore script.


Bulk download papers from scihub for text mining

May 7, 2020

Last evening I wanted to play some games with my brother. Instead we ended up writing a simple script to bulk download papers from scihub. He studies bioinformatics and is currently doing some meta research in his field. By crawling a publication database by specific keywords he got list of papers which need to be analyzed. However, most of the paper are hidden behind pay walls. Luckily there’s scihub. The most hated and beloved platform to get your hands on almost any scientific paper. He asked me wether I could help him building script that downloads papers from scihub based on a list of dois.


Use software effectively

May 1, 2020

Increasing productivity is the main goal when introducing new business software. There is always a process or workflow at an organization that can be improved with the help of a software. When it comes to making decisions on how to introduce an existing software you can go in two directions. Adapt the software to suit your existing process or educate employees in adapting processes to the idea of the software.

In this short post, we will explore the two ways and see which questions must be answered.


Role based access control for multiple Keycloak clients

April 30, 2020

Role based access control (RBAC) is a common feature in identity and access management (IAM) systems. Granting access to applications by assigning roles to a selection of users is the proper way to manage access permissions.

In this guide I will show you how this can be implemented with Keycloak. We will create a authentication flow that checks if a user is eligible to access the client. This authentication flow can be applied to any Keycloak client.


Odoo OAuth authentication with Keycloak

April 24, 2020


OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. It works by delegating user authentication to the service that hosts the user account, and authorizing third-party applications to access the user account.

In our scenario Keycloak acts as the OAuth service and Odoo as the application that delegates the user authentication. In this guide you learn how to configure Odoo and Keycloak to handle an implicit OAuth flow.