Building PHP Applications with the Symfony Framework in 2026

26.2.2026

Conference: Confoo
Title: Building PHP Applications with the Symfony Framework in 2026
Links: slides

PHP and Symfony both evolved a lot in the last couple of years. I want to show you how I build applications in Symfony, touching various new functionalities of PHP and Symfony. With hands-on examples, I will demonstrate step by step setting up useful tools and building a modern PHP application, leveraging Symfony components.

php symfony testing conference


Simultaneous editing: Easy with Symfony UX

25.2.2026

Conference: Confoo
Title: Whats new in Symfony and PHP?
Links: slides

You no longer need to build a separate frontend application in Javascript to build fast interactive web applications. Hotwire Turbo loads HTML and fragments asynchronously and with Turbo Streams you can even push changes from the backend to the frontend. Hotwire Stimulus complements Turbo with a neat tool to implement Javascript logic for the places where you still need it.

These tools are ready to use in Symfony with the Symfony UX component.

php symfony frontend conference


Whats new in Symfony and PHP?

24.2.2026

Meetup: Full Stack Gurus Montreal
Title: Whats new in Symfony and PHP?
Links: slides

A collection of recent improvements to the PHP language and some new features in Symfony.

Presented in French, slides in english to accommodate the bilingual audience in Montreal.

php symfony meetup french


PostGIS – geographical search

4.2.2026

Meetup: Symfony User Group Zurich Meetup
Title: PostGIS – geographical search
Links: slides

Postgis is an extension for the postgres database to handle geographical data. This is not actually as complicated to use as it sounds - it gives you support for coordinates as column type, and allows to query for areas. I will explain the basics and show some examples how we use this in the Swiss Buildings API project.

See also the Swiss Buidlings API we built for geographical search in polygons.

database postgres GIS meetup


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