Dutch PHP Conference 2018
2018-06-07..2018-06-09
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 |
|---|---|---|
| Controlling The Variables | Thijs Feryn | 01h 10m |
Claims that luck is controllable by finding and controlling the variables and gives concrete tactics: hustling to buy a sold-out Rolling Stones ticket (which… | ||
| All aboard the Service Bus | Robert Basic | 41m |
CQRS splits write and read logic so a single use case like updating a product price becomes a small validated command object handled by one command handler… | ||
| Behat for characterisation on tests | Michael Heap | 45m |
Shows how Behat captures existing API and UI behavior so teams can refactor big, running systems with confidence — used to refactor 5+ year old apps by first… | ||
| Docker without docker- understanding the basics | Niklas Dzösch | 37m |
A tiny Go program is written that forks itself, sets Linux namespace clone flags and reexecs a child to get new UTS PID mount namespaces, then chroots into a… | ||
| How to tame a :unicorn_face: | Andreas Heigl | 46m |
Explains why characters break, how Unicode grows (initial 65,536 code points, later >1,048,576 across 17 planes), and why emojis in 2010 force use of… | ||
| Moving from legacy to event-driven with Kafka | Jeroen van der Gulik | 50m |
A legacy ERP with business logic in stored procedures is migrated without touching production by observing DB changes, emitting them as events into Kafka… | ||
| Application metrics with Prometheus | Rafael Dohms | 50m |
A practical walkthrough of instrumenting PHP services with Prometheus to drive decisions: a feedback pipeline is built with counters and histograms, metrics… | ||
| Browser APIs: the unknown Super Heroes | Rowdy Rabouw | 37m |
Covers concrete browser APIs, where they work and how they behave: geolocation (getCurrentPosition, watchPosition — HTTPS required; marker on Google Maps)… | ||
| Cryptography For Beginners | Adam Englander | 46m |
Explains concrete choices for web apps: use password_hash/password_verify (or Argon2i) instead of raw hashes, prefer libsodium (PHP 7.2) for encryption, and… | ||
| Knowing your state machines | Tobias Nyholm | 37m |
Explains that state machines are simple directed graphs and shows concrete implementations: a Cron-driven email reminder using the state pattern versus a… | ||
| OMG MySQL 8.0 is out! Are we there yet? | Gabriela D'Avila Ferrara | 36m |
MySQL 8.0 makes concrete changes you can use now: utf8mb4 as the default charset, binary logging on by default and a new auth plugin using TLS, plus a… | ||
| Zombies and Binary | Christopher Pitt | 38m |
Minecraft is used to model real electronics and programming: it demonstrates redstone torch inversion to build NOT gates, wire attenuation to 15 blocks and… | ||
| Se7en Deployment Sins | Philipp Krenn | 49m |
Seven concrete deployment mistakes with examples and fixes: adding huge dependency trees (AWS SDK was split because pulls were massive), containers that… | ||
| When testing makes no sense | Miro Svrtan | 43m |
Argues that automated tests are worthwhile only when the cost to fix a bug exceeds the cost to test, gives concrete contrasts: a tiny web app can be fixed in… | ||
| The Silex Sunset | Alexander M. Turek | 44m |
Silex reaches end of life so migration to Symfony is practical and attainable: replace Silex Application with Symfony Kernel, register existing service… | ||
| Technically DDD | Pim Elshoff | 46m |
Practical DDD approach: start by shipping a guard in the entity to enforce a business rule (e.g., meetings cannot end before they start, program slots cannot… | ||
| Write history, keep a diary | Jachim Coudenys | 46m |
Using Git as a diary lets code history answer “when” and crucially “why”: commit messages store intent so future debugging and feature tracing works. Practical… | ||
| Zero Downtime Database Migrations and Deployments | Ondrej Mirtes | 34m |
Claims a live ecommerce stack with 300,000 daily visitors and deploy 10–30 times a day, using decoupled, backward‑compatible migrations: add new column, deploy… | ||
| Building teams, what can we learn from professional sports | Hans Dubois | 41m |
Teams progress through forming storming norming performing and the storming phase breaks projects unless the group defines goals, decision rules and feedback… | ||
| The Creative Developer | Renato Mefi | 33m |
Argues that common cognitive biases skew developer estimates and decisions, using concrete examples: estimating a 3-endpoint REST API in a day, treating 99%… | ||
| Advanced Laravel: Avoid unified data models | Shawn McCool | 42m |
Argues against one giant User model and shows a working Laravel conference app that splits responsibilities into feature-scoped Eloquent models (auth, speaker… | ||
| Agility in Software Engineering - Concepts and Misconceptions | Chris Holland | 42m |
Argues that change, not process or stack, is software’s biggest threat and that disciplined test-driven development (TDD) plus clean code and patterns turns… | ||
| Guided by Examples - Software Driven by Requirements | Jon Acker | 40m |
Describes a pipeline: impact mapping → example mapping → executable specifications → code, using BDD to turn concrete examples into working behavior. Uses… | ||
| Monitor Your PHP Applications with Logs, Metrics, Pings, and Traces | Philipp Krenn | 44m |
Live demo of an Elastic stack that collects logs, metrics, pings and traces from a SilverStripe app on cheap AWS instances: filebeat, metricbeat, packetbeat… | ||
| Object reorientation | Chris Riley | 42m |
Refactors a 1,000‑line nested switch into small rule classes that implement the mod 11 and related checks, extracts about 14 rules from the spec, and expands… | ||
| The Science of Code Reviews | Rick Kuipers | 45m |
A practical playbook: builds an open‑source Meetup clone to test review habits, shows pair programming and mob programming as tight feedback loops and… | ||
| Content Security Policies: Let's Break Stuff | Matt Brunt | 46m |
Explains how Content Security Policy actually works: it blocks injected scripts (LastPass script-injection example), caused a production rollout to break until… | ||
| Dr Sheldon Cooper Presents: Fun with Flags | Michael Heap | 47m |
Dr Sheldon Cooper Presents: Fun with Flags by Michael Heap
No no, not country flags, feature flags! Feature flags are a powerful technique that allows teams… | ||
| Journey through "unhappy path" - Dealing with exceptional conditions | Nikola Poša | 32m |
Avoid returning nulls and optional dependencies; prefer a special case object for absent domain entities and throw exceptions where business rules are… | ||
| From dev to prod with GitLab CI | Stephan Hochdorfer | 38m |
Shows how to set up GitLab + GitLab CI end to end using Docker-based gitlab-runner + Docker executor, .gitlab-ci.yml stages and variables (CI_COMMIT_REF_SLUG)… | ||
| Making the most out of MySQL | Gabriela D'Avila Ferrara | 40m |
MySQL 5.7 adds concrete behaviors: DDL changes use either in-place vs copy alter algorithms so some ALTERs are instant metadata flips while others copy the… | ||
| Mastering message Queues | Tobias Nyholm | 39m |
Advocates a hexagonal app core that communicates only via messages on a bus, implemented with Symfony Messenger and pluggable transports like RabbitMQ AMQP… | ||
| Microservices vs The Distributed Monolith | Chris Riley | 48m |
Describes why a brittle monolith refactored into many tiny services easily becomes a distributed monolith: a bloated shared library, synchronized deployments… | ||
| Progressive Web Apps | Mike Oram | 32m |
Progressive Web Apps use a Web App Manifest plus a Service Worker to control fetches, caching and background sync; real results: Tinder cuts cold-load from… | ||
| The Path of Secure Digital Identity | Katy Anton | 34m |
Provides a three-tier rule: classify data by risk then match authentication and session controls. Level 1 allows single-factor passwords; use use password_hash… | ||
| The way we teach tech | Jeroen van der Gulik | 41m |
Argues teaching must be concrete and iterative: start with make it work make it good make it fast, use a real bug (logging example) to teach env vars… | ||
| Time is an illusion (lunchtime doubly so) | Andreas Heigl | 43m |
Time zones are political and change often: the tz database is at version 2018.5 here, PHP shows 143 historic transitions for zones, and the abbreviation CEST… | ||
| Unleash your web skills on native | Rowdy Rabouw | 41m |
NativeScript lets web developers use HTML, CSS and JavaScript to produce real native UI on iOS and Android by mapping markup to native controls and running JS… | ||
| What raising 3 kids taught me about working with users | Derek Binkley | 41m |
Uses parenting lessons to extract concrete tactics: create a glossary of terms to end confusion, force priorities with MoSCoW (must/should/could/want), and… | ||
| A LAMP Stack Professional’s Journey to AI: Meet Johnny the Deployer! | Georgiana Gligor | 53m |
A PHP-built devops chatbot called Johnny the Deployer connects Slack (via Botmaster) to Jenkins and JIRA and uses Watson NLU to parse intents and entities… | ||
| A self-describing API | Victor Bolshov | 33m |
A small PHP library generates Swagger/OpenAPI specs from controllers that implement a single interface and a static getSwaggerPaths method, letting a CI… | ||
| Are you out of memory, or have plenty to spare? | Joshua Thijssen | 41m |
Linux tools like top/htop, free, slabtop and pmap report different slices of memory so raw VIRT numbers mislead: a process can reserve 1 GiB of virtual address… | ||
| Coding Horrors - A Horror Film Fan's Guide to PHP Coding Nightmares | Mark Baker | 45m |
Covers concrete PHP mistakes and fixes: storing dates as varchar dates in DMY that break range queries (use DATE/DATETIME types), N+1 database loops and slow… | ||
| Decomposing a live application with confidence | Luís Cobucci | 40m |
Company decomposes a live, profitable monolith by piping duplicated feedback into Kafka, applying event storming and context mapping, and building streaming… | ||
| Designing for Autonomy | Matthias Noback | 44m |
Argues that autonomy comes from publishing facts not RPC: services emit events, other services build local state and respond, so systems survive slow or down… | ||
| Machine learning and trend analysis in PHP | Michael Cullum | 45m |
Overview of concrete methods and outcomes: PHP code uses the PHP ML library to train models with a simple four-step flow (data, train, ask, predict), running… | ||
| Shipping Better Software Faster, and Having Fun Doing It | Chris Holland | 45m |
Claims that test-driven development plus a decoupled service/repository architecture speeds delivery while reducing pain, demonstrated by a Ride Hailing kata… | ||
| The not so simple mail transport protocol | Jos Elstgeest | 42m |
Explains how SMTP lacks authorization and shows concrete fixes: SPF via DNS TXT records, examples of records and the real caveats such as SPF limits: 10 DNS… | ||
| AssertTrue(isDecoupled(“my tests”)) | Dave Liddament | 45m |
Decoupling tests cuts maintenance cost by preventing tiny UI or schema changes from turning half the suite red. Examples: brittle Selenium UI tests become… | ||
| IoC containers beyond constructor injection | Hannes Van De Vreken | 41m |
Shows that an IoC container does more than constructor injection by demonstrating concrete tactics: use a reflection container to auto-resolve constructors… | ||
| Modern JavaScript: Moving Beyond jQuery | Derek Binkley | 44m |
Argues for structured browser-side code instead of sprawling jQuery handlers, demonstrating a small attorney-list prototype that uses ES6 scope (let), JSON… | ||
| Opening Keynote : The New Revolution | Samantha Quiñones | 55m |
Chronicles the actual origin and growth of the Internet from Oct 29 1969 first remote login over two BBN-built IMP routers connecting UCLA and SRI through the… | ||
| Testing Strategy with the Help of a Static Analyzer | Ondrej Mirtes | 45m |
Argues that you don’t need 100% coverage because PHPStan plus modern PHP type hints and phpstan‑strict catch many pre‑runtime bugs, so tests concentrate on… | ||
| Being a remote developer | Miro Svrtan | 40m |
Remote work broadens hiring and lets teams hire rare talent across borders but creates real gaps in gossip, launches and onboarding; fixes that worked include… | ||
| nothing matches | ||