Soltau North Station
Soltau North Station

Sunday morning. I am exhausted (but happy) and on my way home after a few very intense, interesting and inspiring days at the SoCraTes Conference in Soltau. I am currently sitting in Hanover Central Station waiting for my connecting train to Cologne. What better way to pass the time than to try to write down my experiences of the last few days?

Even though I've only been there three times so far (2014, 2023 and 2024), I can say that SoCraTes is one of my highlights: the people there are wonderful and passionate about the sustainable development of useful software in a responsible manner.

Thursday

As usual, but unfortunately for the last time for the time being, SoCraTes was moderated by Juke Trabold and began on Thursday evening with a World Café. This format proved to be a great start again this year: we got to know each other and the seeds were sown for many more interesting conversations for the rest of the evening.

The Open Space on Friday and Saturday was opened with a Market Place: topics were suggested ("Push Session") or requested ("Pull Session").

Friday

My Friday began directly with a "pull session" on the topic of "The State of PHP," which I was "pulled into." Of course, I was happy to be pulled in. The reason for this session was discussions the evening before, during which some participants expressed their surprise that PHP is still being used at all. Others were surprised at how much has happened in recent years, not only in PHP, but also in the ecosystem surrounding the programming language. Still others expressed a desire for more sessions on PHP at SoCraTes. Frank Sons channelled this interest by presenting this pull session in the Market Place. In the session, we then gave a rough overview of developments in and around PHP in recent years, but actually only at the beginning and end of the session. In between, we talked about the advantages and disadvantages of frameworks and discussed what it means when a developer who uses Spring or Symfony does not see herself as a Java or PHP developer.

In the second slot of the day, I attended the session initiated by Fabian Blechschmidt on the topic "From a request in the browser to the first byte returned by the web server". There, under Fabian's guidance, we tried to discover all protocols and technologies relevant to communication between a browser and a web server, both inside and outside the kernel, and document them on a timeline. Since the Since the alphabet soup is very large (BGB, DNS, TLS, OCSP, ECH, HTTP, ...), we were unable to cover the topic completely. That was to be expected, it wasn't a big deal, and we all learned a lot.

Afterwards, I attended a session by Lisi Hocke, Philipp Zug and Martin Schmidt, who presented their Security Card Game to us. The development of this card game began at SoCraTes 2023 and they have been refining it ever since. Although there is no physical prototype yet, they have implemented a software implementation that not only allows you to play the game, but also to easily iterate the rules and cards, sometimes even during a game. We played a game as a group and hopefully provided valuable feedback. I am curious to see how the game will evolve by the next SoCraTes.

On Friday afternoon, I attended two more sessions: "Tidy first?" and "Mock(less) Testing". Since I had already read Kent Beck's new book "Tidy first?" and also seen Marco Emrich's discussion with Eberhard Wolff, I unfortunately couldn't take much away from the first session. But that's just me and not the book discussed or Marco Emrich, who led the session. Unfortunately, I don't remember anything about the "Mock(less) Testing" session – by the end of the afternoon, my head couldn't process any more input.

Saturday

The first session on Saturday was "Leveling up your testing toolkit". Janina Nemec and Michael Kutz presented concepts and techniques such as property-based testing, mutation testing and approval testing in a very entertaining way. I would now like to take a closer look at property-based testing in particular (at last?). Hopefully I will find the time to do so soon ...

Motivated by the discussions on SoCraTes Slack in the days leading up to the conference and by conversations over dinner on Friday, I proposed a session on "Open Source Funding" on Saturday morning in the Market Place. Inspired by the participants' questions, I presented the work of the PHP Foundation and, in this context, also talked about the Open Collective platform and the Sovereign Tech Agency. Of course, I also explained how financial support for my open source project PHPUnit works. This involved GitHub Sponsors and Tidelift. The outcome of our discussion was that we are all quite dissatisfied with the current situation: the financing of open source depends on the "goodwill" of those who use open source, as well as on platforms such as GitHub Sponsors, through which the financing is handled.

In Marei Peischl's session, I not only learned how to create ZUGFeRD-compliant invoices with LaTeX. I also (unfortunately?) got an idea of what Factur-X, XRechnung, etc. mean beyond PDF and XML. This is going to be exciting ...

In the last time slot of this year's SoCraTes, I attended Ferdinand Ade's session "How valuable are your tests?" After he started by presenting Vladimir Khorikov's quality criteria for (unit) tests from his book "Unit Testing: Principles, Practices, and Patterns", we evaluated the quality of the tests Ferdinand brought with him in group exercises. I didn't learn anything new in terms of content in this session, but I found the format Ferdinand used to convey the knowledge about the quality criteria interesting.

Sunday

Even though, as I wrote at the beginning, I am exhausted at the moment, I am glad to have been at SoCraTes again. This conference is something special and I am very happy that it exists. The atmosphere of this event is difficult to put into words, and I won't even try. Everyone has to experience it for themselves . I am also a little proud that we at The PHP Consulting Company were able to support SoCraTes again this year as a sponsor.

See you next time!