Fixing my broken boot configuration

16.6.2025

I have set up my computer with grub to choose between Linux and Windows at startup. These days this usually works fine, but recently stopped working. I got some error messages and then Windows booted without giving me a choice.

I learned that I am using the EFI boot system (which means having a special partition on the hard disk where each operating system can place a folder to define how it can be booted). I figured out how to mount that partition in Windows, but only to discover that the ubuntu folder had disappeared. I was not able to recreate the folder from Windows.

I booted an Ubuntu image from a USB stick, choosing to "explore" Linux, rather than install it. I was able to find the partition with my Linux installation, which seemed to still be alright. I tried various calls to grub to try to get it to install a new EFI folder, but without success. Finally, I found this question on askubuntu.com, which explains how to rebind the devices (and other system functionality mapped into the filesystem) and then chroot into your partition. With my SSD, the device name is nvme0n1, and my Linux happens to be on partition 7, hence the p1 suffix:

mount /dev/nvme0n1p7 /mnt
mount --rbind /dev  /mnt/dev
mount --rbind /proc /mnt/proc
mount --rbind /sys  /mnt/sys
chroot /mnt bash
grub-install /dev/nvme0n1

chroot makes it so that grub-install is using all the information from my regular installation, and the --rbind instructions make it so that the devices are still available after chroot.

I still don't know why the EFI folder disappeared in the first place. But at least I can boot into Linux again.

linux


PostgreSQL pour vos besoins NoSQL

27.3.2025

Conference: Symfony Live, Paris, France
Title: PostgreSQL pour vos besoins NoSQL
Links: slides
Examples et mesures: postgres / MySQL

Postgres est connu pour ses capacités SQL. Mais en fait, Postgres est aussi très capable de gérer du JSON. Je vais expliquer comment utiliser les fonctions JSON des versions récentes de Postgres pour gérer vos données moins structurées. Je vais aussi montrer l'utilisation des fonctionnalités JSON depuis Doctrine.

Voir des examples et données des testes dans le git repository et les changements nécessaire pour MySQL.

database postgres mysql json conference french


PostgreSQL and MySQL can do JSON too

12.3.2025

Conference: Drupal Mountain Camp, Davos, Switzerland
Title: PostgreSQL and MySQL can do JSON too
Links: slides
Examples and performance measurements: postgres / MySQL

You don't need a NoSQL database to work with JSON

Postgres and MySQL have powerful capabilities to work with JSON. This allows you to combine the flexibility of less structured data with the proven reliability of those popular relational databases. I will show how to leverage the various JSON functions to work with JSON data inside a relational database.

Visit the git repository for example code and performance test data and see the changes needed for MySQL.

database postgres mysql json conference


Maxing out the ESP8266 pins

14.2.2025

In a recent project, I maxed out on available pins of the ESP 8266 (Wemos/Lolin D1 mini). A few pins did not work as input pins for me. In the end, I had to resort to the analog pin for the last input.

For future me and anyone who cares, I note here which pins I was able to use. (I use the Wemos D1 mini names - other packaging of the ESP chip might use different names, but also might has different behaviour.)

Read more

electronic art arduino ws2801


Ich habe ein (kleines) Haus gebaut

14.2.2025

Letzten Herbst besuchte ich mit meinem Göttibueb die Modellbaumesse in Friedrichshafen. Er war vor allem an den Modelleisenbahnen interessiert, was mir recht ist, war ich doch als Kind und Teenager auch grosser Modelleisenbahn Fan. Auf dem Heimweg sagte er mir, dass er sich als Geburtstagsgeschenk ein Haus aus dem 3D Drucker für seine Eisenbahn wünscht. Das Thema hat mich gereizt, und so begann diese Story...

Read more

electronic art interactive art arduino 3d printing ws2801


Can Postgres cover your NoSQL needs?

13.2.2025

Conference: Software Talks, St.Gallen, Switzerland
Title: Can Postgres cover your NoSQL needs?
Links: slides, examples and performance measurements

Postgres is famous for its support for SQL data. However, Postgres also has powerful capabilities to work with JSON. I will show how to leverage the various JSON functions of modern Postgres to work with your less structured data. I will also show how to use some of that functionality from within Doctrine.

Visit the git repository for example code and performance test data. I also wrote blog post about the topic on my employers web site: JSON in Postgres and Doctrine ORM support for JSON.

database postgres json Doctrine conference


Can Postgres cover your NoSQL needs?

5.12.2024

Conference: Symfony Con Vienna, Austria
Title: Can Postgres cover your NoSQL needs?
Links: slides, examples and performance measurements

Postgres is famous for its support for SQL data. However, Postgres also has powerful capabilities to work with JSON. I will show how to leverage the various JSON functions of modern Postgres to work with your less structured data. I will also show how to use some of that functionality from within Doctrine.

Visit the git repository for example code and performance test data.

database postgres json Doctrine conference


HTTP Caching with Varnish

8.3.2024

Conference: Drupal Mountain Camp, Davos, Switzerland
Title: HTTP Caching with Varnish
Links: slides

Get an introduction to caching "on the edge".

With the Varnish caching proxy, you can greatly increase the speed of websites and handle a lot more load. The basics are quite simple once you understand how the cache handling in HTTP works, so we will look into that first. We then go over cache invalidation, cache tagging strategies and have a look at Edge Side Includes (ESI).

Read more

varnish http caching conference