We’ve been advised to bring our umbrellas, prepare for thunderstorms, wind and heavy rain, but there was none of that. It was two days of having a great time and fun. My colleague Randy and I had the privilege to attend the Dutch PHP conference this year and here are my impressions...
First-day talks
The conference started with a keynote speech by Kevlin Henney. Kevlin focused on today’s preoccupation with speed, this affecting many teams to work in true agile fashion by measuring proper metrics. There was a lovely line on Kevlin’s slide that summarises his story very nicely: “Cars have brakes so you can go faster”.
The next talk, called "Dynamic Programming - 101", was given by Tobias Nyholm. Tobias went through the list of available algorithms for finding the best routes, explained algorithm complexity and shared some interesting thoughts on graphs and graph theory. Derick Rethans, the author of Xdebug debugger and profiler, talked about the future of Xdebug project itself. We could hear some cool things about the new version of Xdebug, the 3.0 release. New, improved and cleaner configuration options, performance improvements, and compatibility with new language releases were some of the topics in Derick’s talk. Apart from that, the last and very important thing that Derrick has mentioned was related to the sponsorship of Xdebug project. If we think about it for the moment, we would agree this is the tool that almost all of us in PHP community use. However, it is still left to one single person to maintain. That’s a tremendous job to do, and we should all help him somehow. Going over open issues on Github and just confirming if it is a bug would help quite a lot. So, people, I urge you to do that.
After lunch, I attended the talk by Pauline Vos called “DevCorp: Choose Your Own Adventure” and boy did she perform. Pauline’s performance on stage was quite awesome. She was using something like a live voting app to get the feedback from the audience to help save newly created imagined startup company. So we struggled on provided feedback and finally managed to save the startup from turning into a disaster. Next was Rob Allen’s talk “The making of a great API”. Rob shared precious tips, guidelines, dos and don’ts with the audience. Documentation, security and error handling were some of the topics he talked about. There were quite a lot of mentioned RFCs, but there was one that I am quite impressed with - the RFC6906.
After Rob’s talk, we went outside for a break. An Italian ice cream delivered in an old pink van was quite a touch to the overall conference experience.
Refreshed and energized, I was ready for Janna Hilferty’s talk. She told us that she was a first-timer so I can only say kudos to her! The whole talk was well rounded and her presentation skills were excellent. She talked about DDoS attacks, starting with an excellent introduction to attacks and going deeper with presenting how to mitigate the attacks. She explored the tools that can help us mitigate the DDoS attacks to make our developer lives a bit easier.
Conference Social
After all the talks of the first day had ended, it was time for Conference Social. The event was organized in the main conference hall. First, we were fed well with various foods. The whole Conference Social consisted of a few parallel subevents.
There was a CodeNight hosted by Tobias Nyholm, focused on contributing to open source projects, finding bugs, and writing documentation. One of the most prominent projects to contribute to was Xdebug. Its author Derrick Rethans was there as well so you could get answers from the author himself. Next big name on the list was joind.in project, guarded by Andreas Heigl, and of course, there was Symfony, probably one the most established PHP frameworks out there.
There were also SlideShare Karaoke, Escaphpe Sequence and GameNight activities.
Second-day talks
I missed the first line of the Second-day talks because I was giving my 30 min talk about “Maintaining an Open Source repository” on uncon track. This was quite a thrilling experience for me as I didn’t stage any talks at international conferences so far. I can only say thanks to Ross Tuck and Aisha Sie for being so welcoming and awesome hosts of the uncon track.
After my uncon talk, I continued listening to other excellent talks. The next talk I decided to attend was “Interface Segregation for PHP” by Dan Ackroyd. I liked this talk very much as it was full of practical guidelines that can be applied to our software projects easily. Dan did a great job on explaining the interface segregation principle on the simple example of refactoring one controller method. Moreover, just when you think that you are very comfortable with PHP, Zan Baldwin is there to make us believe otherwise. Zan showed a very cool thing that can be done with PHP language feature called streams and went from overloading Composer to aspect-oriented programming, even showed how to load some Brainfuck code into the PHP with streams. Of course, most of that stuff should be avoided using in production.
Lately, I have been using lovely PHP tool that aims to help with refactoring and updating code called rector so I couldn’t miss the talk by its author Tomáš Votruba about refactoring legacy code. The whole talk was based on the rector tool with Tomáš demonstrating to the audience how the tool helps us make our code up to date and persist code quality on a high level. Considering the number of useful tips Tomáš provided in the 45minute talk, I am looking forward to attending his half-day workshop related to this topic at Netgen’s Web Summer Camp this summer in Rovinj.
At the end, I decided to attend Marco Pivetta’s uncon talk “Haskell for PHP developers”. The reason for choosing this particular talk was the fact that Pivetta made quite an impression on me back in 2017. with his workshop “Basic CQRS and Event Sourcing with Prooph” at Web Summer Camp. Although he delivered only a 15-minute talk this time, Marco shared quite a river of information about the Haskell language.
Uncon
With the official conference talks, there was also an uncon section organized in parallel where everyone could participate. Aisha Sie and Ross Tuck were the official hosts of uncon talks. There were different time slots available (45 min, 30 min and 15 min talks) and a speaker slot at the next year’s conference was the award. Uncon list of talks was quite impressive, having both new and experienced speakers. I also had the privilege to be on that list.
Ending keynote
Ending keynote was delivered by Jessica Mauerhan. She focused on stereotyping the programmers, most of them being recognised as antisocial and awkward. She explained how anger and fear are the roots of our aggressive behaviour, how these feelings manifest as judgemental comments online, bullying in the workplace and ultimately keep the tech community toxic and stunted. In the end, showing more respect and compassion will make us better programmers as well as better persons.
Venue and organization
The Dutch PHP Conference 2019 venue was staged at RAI in Amsterdam. The whole conference lasted three days with the first day of workshops and last two standard conference talks split into 5 tracks in parallel. The conference was organized by Dutch company ibuildings.
Impressions
The excellent speaker lineup, five parallel tracks of talks, uncon track, conference social event, Italian ice cream, food, drinks and coffee all together make this conference mind-blowing. The complete organization was at the top level. All this eco-friendly mentality, friendliness from the host and open-minded speakers to share the knowledge were sublime. Dutch PHP Conference was probably the best conference I have ever attended. And the last, but not the least - I would like to thank James Titcumb for giving me the PHP elephant.