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


Decoupling an application with Symfony Messenger

23.2.2024

Conference: Confoo 2024, Montreal, Canada
Title: Decoupling an application with Symfony Messenger
Links: slides

Quick response times are crucial. Time consuming tasks triggered in web requests should be executed asynchronously, if at all possible. In this talk I will give a short overview of what message queues are and then show a case study how we split up an application into smaller services and how we use message queues to coordinate the services.

php conference architecture message queues libraries web


Going crazy with caching: Caching pages of logged in users

21.2.2024

Conference: Confoo 2024, Montreal, Canada
Title: Going crazy with caching: Caching pages of logged in users
Links: slides

You know how HTTP caching works but need more? In this talk we look into ways to cache personalized content. We will look at Edge Side Includes (ESI) to tailor caching rules of fragments, and at the user context concept to differentiate cache entries by permission groups instead of by individual users. The FOSHttpCache library in combination with either Varnish or the Symfony HttpCache reverse proxy are a big help to leverage the user context concept.

caching http performance varnish conference


Langfristige Applikationen mit Symfony

8.2.2024

Conference: Symfony User Group Basel, Switzerland
Title: Langfristige Applikationen mit Symfony

I did this talk in german, together with my colleague Martin Janser. We explained the success factors how we continuously improved a large Symfony application over 10 years.

At the meetup, I also jumped in to present the talk from another colleague Emanuele Panzeri who unfortunately had to cancel his attendance due to sickness: "Firefighting a Symfony & Elasticsearch app with Blackfire".

symfony architecture conference testing german