Dutch PHP Conference 2019
2019-06-06..2019-06-08
Amsterdam, Netherlands
[Dutch PHP Conference 2013, Dutch PHP Conference 2017, Dutch PHP Conference 2018, Dutch PHP Conference 2019, Dutch PHP Conference 2020, Dutch PHP Conference 2021, Dutch PHP Conference 2022, Dutch PHP Conference 2024]
| title | author | length |
|---|---|---|
| RTFM | Jessica Mauerhan | 49m |
Argues that anger and fear cause condescension in tech and that empathy beats RTFM as a default response, citing Linus Torvalds’ public apology and cultural… | ||
| Agility ≠ Speed | Kevlin Henney | 52m |
Agility means the ability to change direction, not raw throughput: measuring progress by velocity or story points produces story point inflation and gaming… | ||
| Hello my name is "if" | Sebastian Feldmann | 50m |
Shows concrete PHP details: inspects generated OP Codes for if/else/ternary/??, explains how conditionals map to jumps, and why cyclomatic complexity matters… | ||
| Refactoring Huge Legacy PHP Applications - From 100 hours to minutes | Tomas Votruba | 40m |
Claims automated refactoring cuts huge PHP upgrades from weeks to minutes by writing reusable rules and running them across the codebase. Uses Rector built on… | ||
| Interface Segregation for PHP | Dan Ackroyd | 44m |
Argues that extracting tiny, named types makes PHP code more reasonable: replaces passing PSR-7 requests and raw arrays with a PSR-7 VariableMap adapter and a… | ||
| Do you really need that relational DB? | Donatas Aleksandravičius | 41m |
Argues that user‑facing pages can skip relational queries by generating and serving purpose‑built read models (HTML or JSON) on save, using events, queues… | ||
| Beyond design patterns and principles - writing good OO code | Matthias Noback | 45m |
Practical rules for better OO: favor wrap primitives into value objects (email, money, coordinates) to enforce validation and cohesion; require complete state… | ||
| Crazy Fun Experiments with PHP (Not for Production) | Zan Baldwin | 25m |
Shows how PHP source is rewritten on the fly using stream filters and a decorated Composer autoloader so files are passed through transformers before… | ||
| Senior Developer Development | Szymon Skórczyński | 36m |
Argues seniority maps to skills not age and cites about 10 years to be senior and an expected senior age near 35, advocates mastering business context (impact… | ||
| PSR-14: A major PHP Event | Larry Garfield | 44m |
Standardizes event dispatching around three interfaces — EventDispatcher, ListenerProvider and optional StoppableEvent — and ships a reference implementation… | ||
| Backwards Incompatible Tales | Marco Pivetta | 40m |
Shows why seemingly small API or type changes break real systems: MCAS-related 737 MAX crashes as a documentation/BC-failure example, PHP’s namespace and… | ||
| Exception design - the art of making debugging more accurate | Szymon Szymański | 31m |
Exceptions are often ignored so design aims to make debugging immediate: throw for rare, business‑critical failures and use result objects for expected bad… | ||
| Software Management Lessons from the 1960s | Larry Garfield | 44m |
System 360 experience and Brooks' Mytical Man Month claims stay concrete: Brooks' law: adding people to a late project makes it later because communication… | ||
| Event driven development | Chris Riley | 43m |
Covers how task-based UI drives clear commands, how event sourcing stores every change as events (like Git deltas) and how projections and process managers… | ||
| Performant APIs with GraphQL and PHP | Andrew Rota | 42m |
Shows how a PHP server serves a single /graphql endpoint using webonyx/graphql-php to parse, validate and execute queries; builds a demo API (tutorial on… | ||
| Xdebug 3.0 | Derick Rethans | 40m |
Xdebug 3.0 is a near-total rewrite that refactors the codebase, separates features into cohesive modules, and adds modes… | ||
| The making of a great API | Rob Allen | 41m |
Explains concrete rules and tools: decouple DB models from JSON using transformers like Fractal, include hypermedia links (HAL) so clients follow an invoice… | ||
| Good or bad - a key skill for developers | Dan Ackroyd | 43m |
Argues humans systematically misjudge what’s good versus popular, backing it with numbers: 400 million iPods and 2 billion iPhones sold, and claims Apple… | ||
| DDD, CQRS, Hexagonal, Onion,... Putting it together | Jeroen Keppens | 40m |
A working migration path for a 10–12 year PHP monolith that builds a sample application with command bus and handlers, clear repository interfaces and static… | ||
| Becoming a tech lead - Lessons learned | Jayesh Kawli | 36m |
Describes moving from individual contributor to tech lead by building onboarding and mentorship programs, instituting frequent code reviews, ticket templates… | ||
| Centralized Logging Patterns | Philipp Krenn | 44m |
Five concrete logging patterns (Parse, Send, Structure, Containerize, Orchestrate) get shown with live demos using the Elastic Stack (Elasticsearch, Logstash… | ||
| Automatic Web Page Optimisation in Pure PHP | Albert Peschar | 40m |
A PHP library called Phast parses HTML on the fly (via output buffering and a tokenizer), inlines critical CSS inlining, proxies and WebP-converts images, and… | ||
| Dynamic programming - 101 | Tobias Nyholm | 40m |
Explains how memoization turns exponential Fibonacci recursion into near-linear code, cutting redundant calls by about 99% for fib(500); demonstrates… | ||
| HTTP/3: It's all about the transport! | Benoit Jacquemont | 46m |
HTTP/3 keeps HTTP/2 semantics but replaces TCP+TLS with QUIC (a single protocol that folds encryption into transport), cutting the handshake from about eight… | ||
| The UI is THE APPLICATION | Antonio Perić-Mažar | 37m |
Claim: the UI is the application, so teams adopt UX/UI first workflows where designers, developers and QA sketch solutions together and reduce… | ||
| Improve your team synergy w/The Attitude Model | Joop Lammerts | 38m |
A simple diagnostic labels people as divergent vs convergent thinkers, with a five-question quiz to spot imbalance; balanced teams aim for roughly 50/50… | ||
| Get GOing with a New Language | Kat Zień | 49m |
Rewrites a 2,000‑line messy PHP4 app into Go and cuts downtime: emails backlog falls from ~5,000 to almost zero and processing completes in about two seconds… | ||
| Effective Mentorship | Jayesh Kawli | 41m |
"Effective Mentorship by Jayesh Kawli
As the new teammate begins their journey in the organization, they have a lot to learn in terms of technical skills and… | ||
| PEBCAK | Nash van Gool | 39m |
Many failures labeled “technical” are actually human: design and management choices, normalization of deviance (example: Challenger O-ring cascade), and… | ||
| DevCorp: Choose Your Own Adventure | Pauline Vos | 44m |
Interactive scenario shows concrete tradeoffs: pressing the team fixes the CI pipeline: 30 minutes, 90% failure so deployments become fast and reliable… | ||
| Post Burnout Thoughts | Joel Lord | 33m |
One-in-five people report mental illness and WHO counts one-in-four Europeans with depression or anxiety each year; burnout is now listed by WHO (May 28) and… | ||
| 5 architectures of asynchronous JavaScript | Tomasz Ducin | 57m |
Covers five concrete async architectures and when to use each: callbacks, events, promises, coroutines, reactive streams. Explains the event loop and… | ||
| Developing for Privacy | Heather Burns | 46m |
Practical checklist: adopt Privacy by Design (the seven principles), run a privacy impact assessment (PIA) documenting what is collected, legal basis… | ||
| More Than a Query Language: SQL in the 21st Century | Markus Winand | 45m |
SQL since SQL:1999 adds non‑relational types and transformations: recursive CTEs let one query return an entire subtree, window functions compute running… | ||
| Get on stage! | Rowdy Rabouw | 45m |
Argues that anyone can start public speaking with about 10% more knowledge than the audience, shows submission stats (2017: 2/22 accepted, 9%; 2018: 13/65… | ||
| Managing a (component) zoo - DIY web component catalogues | Sebastian Schürmann | 41m |
Shows a concrete workflow for turning dozens of scattered NPM packages into a maintainable component catalog using Lerna as a monorepo, with an example repo… | ||
| Why I am hooked on the future of React | Maurice de Beijer | 45m |
React Hooks (useState, useEffect, useContext) let functional components hold state and perform lifecycle work, replacing many class patterns. The talk… | ||
| What can PHP Foreign Function Interface do for you? | Bohuslav Šimek | 43m |
"What can PHP Foreign Function Interface do for you? by Bohuslav Šimek
Next PHP version (7.4) will bring a lot of new exciting features. One of them is PHP… | ||
| UNICODE + PHP for English Speakers | Ayesh Karunaratne | 44m |
Explains how characters and encodings (Unicode, UTF-8, ASCII, ISO 10646, BOM, multibyte, collation, etc.) are stored and represented, and demonstrates handling… | ||
| A Glimpse Into Accessibility | PJ Hagerty | 45m |
Shows why accessibility is concrete not abstract: FaceTime/video relay replaces TTY and actually reconnects people, captions open YouTube/Netflix to deaf… | ||
| Anatomy of a DDoS | Janna Hilferty | 45m |
Explains how real DDoS vectors work and which defenses actually stop them: memcached amplification 3 TB/s and Mirai 1.1 TB/s are given as concrete examples… | ||
| Async non-blocking code reviews | Frank Koornstra | 28m |
Code reviews slow delivery when comments pile up: analysis of a few hundred PRs via the GitHub API shows PRs with 20–40 "root" rude comments take roughly… | ||
| Automating PHP upgrades with Ansible | Janna Hilferty | 40m |
Automates the upgrade path by using Ansible playbooks, Remi repos, Jinja templates, handlers and Ansible Vault to install PHP packages, configure php.ini and… | ||
| Brand Humanizing: A humane turn on AI | Jonathan Flores | 42m |
Argues that machine learning trained on biased historical data produces harmful outcomes and that humans must be reintroduced where empathy and ethics matter… | ||
| How to use teaching as a learning tool | Carl Alexander | 50m |
Argues that teaching accelerates deep understanding by forcing answers to why, not just how, and by exposing gaps through audience questions; claims about… | ||
| Integrating React.js into a PHP application | Andrew Rota | 40m |
Recommends starting with create-react-app for 100% client-side rendering as the simplest path; claims server-side rendering uses ReactDOMServer’s… | ||
| Keeping it Real(time) | Mike Lehan | 45m |
Built a live chat and beta video call system that sustains 1,000 concurrent connections on a $5 DigitalOcean droplet, using WebSockets with Crossbar/Autobahn… | ||
| Leveraging Typed Exceptions for Cleaner Error Handling | Chris Holland | 38m |
Argues for replacing nulls and magic numbers with typed exceptions in PHP, showing concrete code: Doctrine's getSingleResult throws ORM exceptions that are… | ||
| Of representation and interpretation: A unified theory | Arnout Boks | 39m |
Claim: many bugs come from confusing representation vs interpretation and treating PHP strings as characters rather than bytes. Shows concrete failures… | ||
| PageRank all the things! | Arnout Boks | 37m |
Explains how to build an N×N link matrix for directed graphs, scale each column by outbound links, and find the eigenvector with eigenvalue 1 via power… | ||
| PHP and R - Putting the PoweR in PHP Statistics | Mark Baker | 40m |
Time-series sales data from March 2005 (monthly, ~10 years) gets loaded into R, fitted with an ARIMA model, diagnostics produced (ACF, residuals, chi-square)… | ||
| PHP Opcode? What's that? | Benoit Jacquemont | 43m |
Digs into how PHP code becomes tokens then an AST and finally opcodes, with concrete examples (a hello world that produces CONCAT opcodes and variable fetches)… | ||
| The First Contact | Andreas Heigl | 38m |
Registration forms often fail on details: use one field for full name and support Unicode and very long names (one example hits 988 characters), ask for… | ||
| Time Zones and Calendars are a PITA | Derick Rethans | 46m |
Time handling is full of gotchas: half hour offsets and leap seconds exist, DST rules change with little or no notice so the tz database updates 5–25 times a… | ||
| nothing matches | ||