Dutch PHP Conference 2017
2017-06-29..2017-07-01
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]
who it's for
php developers, backend developers, devops engineers, site reliability engineers, security engineers, frontend developers, engineering managers
topics
PHP 7 abstract syntax tree; Docker CI/CD pipelines; GDPR data protection compliance; zero-downtime database migrations; GraphQL with webonyx and Symfony; long running PHP workers; caching with PSR interfaces; MySQL JSON and GTID replication; progressive web apps; Kubernetes for microservices; PHP realtime websockets; static analysis for PHP
| title | author | length |
|---|---|---|
| Climbing the Abstract Syntax Tree | James Titcumb | 45m |
PHP 7 adds an actual Abstract Syntax Tree between parser and compiler so compilation becomes 10–15% faster at the cost of more memory; the AST is a mutable… | ||
| Going Viral for Fun, not Profit | Ben Dechrai | 43m |
Claims that historical worms infected huge fractions of the net — Melissa 20% of machines, ILOVEYOU tens of millions, Mydoom causing ~$38B damage — motivate a… | ||
| Docker from Dev to Production: Streamlining the CI/CD process for BALR | Jesse van Muijden | 46m |
Built a Symfony-based ecommerce on a fork of Silius and runs the same Dockerfile in development, testing, acceptance and production, using docker-compose… | ||
| Practical privacy - GDPR explained | Marcus Bointon | 56m |
GDPR replaces the old directive with a directly enforceable law, raises fines to €20 million or 4% of global turnover per incident, and requires demonstrable… | ||
| Database migrations without downtime | Michiel Rook | 35m |
Claims that rollbacks are usually impossible for real systems and that safe migrations require multi-step, non‑destructive moves: add columns, dual writes… | ||
| I Deploy On Fridays | Michiel Rook | 44m |
Argues teams can safely deploy multiple times per day, even on Fridays by building fast, automated pipelines and better practices. Recommends a 10–15 minute… | ||
| XP In Practise | Ben Anderson-Waine | 50m |
Flypay moved to pair programming (rotating pairs, ping‑pong tests) and outside‑in TDD across a new microservice and the monolith, co‑committing via a tool they… | ||
| PhpStorm Tips Tricks | Gary Hockin | 46m |
Fast-paced demo of 43 tips (ends up at ~59) that actually shows keystrokes and tools: Search Everywhere (double Shift), Navigate to Test, inspections with… | ||
| GraphQL is right in front of us, let's do it, with Symfony | Renato Mendes Figueirdo | 50m |
Argues GraphQL fixes common REST problems like N+1 fetches by letting clients request exactly the fields they need and by resolving data with PHP resolvers and… | ||
| Learning Machine Learning | Joel Lord | 37m |
Covers hands‑on basics with concrete demos: a Naive Bayes language classifier implemented in ~100 lines of PHP that trains by counting words and classifies… | ||
| Long running PHP processes | Giorgio Sironi | 36m |
Long-running PHP CLI workers consume queues for hours and need supervision, graceful shutdown and restart-on-bounds rather than ad hoc screen processes. Use… | ||
| Adventures in MySQL | Liam Wiltshire | 44m |
Modern MySQL adds concrete tools: a native JSON column stored binary with JSON_EXTRACT and ->/->> operators, spatial types with spherical functions (5.7) for… | ||
| Caching with PSRs | Hannes Van De Vreken | 29m |
PSR-6 defines a repository/item model with deferred commits, tagging, hierarchical keys and built‑in cache stampede protection; PSR-16 is a single get/set… | ||
| Breaking Limits on the Web | Maximiliano Firtman | 45m |
Overview of concrete capabilities and demos including installable PWAs (Flipkart), service workers offline caching, and push notifications showing… | ||
| ERD Flowcharts and other documentation | Anna Filina | 37m |
A call‑for‑papers example maps three actors — speaker attendee organizer — into a context data‑flow diagram that shows eight inputs and outputs; drilling down… | ||
| Cooperative multitasking with generators | Christopher Pitt | 48m |
Shows how PHP generators (added in PHP 5.5) let functions yield pauses and resumes execution so a file reader holds only one line in memory and a bubble-sort… | ||
| Managing dependencies is more than running "composer update" | Nils Adermann | 46m |
Covers concrete dependency practices for Composer: use composer update --dry-run to see proposed changes, update one package at a time (or use composer update… | ||
| Removing the legacy, the microservice approach | Niels van Esch | 36m |
Discusses using microservices to manage and refactor large PHP legacy applications, evaluating reasons for and against applying a microservice architecture… | ||
| HTTP/2.0 101 Introduction | Bastian Hofmann | 46m |
HTTP/2 is the finalized replacement for HTTP/1.x after 16 years and trades many parallel TCP connections for a single encrypted connection that supports… | ||
| Introduction to the Semantic Web | Arnout Boks | 42m |
Overview of RDF triples, Turtle/JSON‑LD/RDFa serializations, SPARQL queries against DBpedia SPARQL endpoint (example: "Dig It" shows ~15 minute runtime), RDFS… | ||
| Effective Browser JavaScript Debugging | Vance Lucas | 49m |
Chrome DevTools are used as a live IDE: source maps map minified bundles back to original ES2015 files so breakpoints, watch expressions and stepping hit real… | ||
| Pushing the limits of PHP with React PHP | Christian Lück | 46m |
Claims that React PHP turns PHP into an async, event-driven runtime using an event loop, streams and promises; demos include a pure-PHP HTTP server (PSR-7), an… | ||
| Locate all the things | Derick Rethans | 43m |
Imports OpenStreetMap extracts (Amsterdam) into MongoDB, handling about 12 million nodes and 1.2 million ways, and stores geometries as GeoJSON… | ||
| Ethical Engineering | Christopher Hoult | 43m |
Engineers' design choices amplify to millions and carry real harm: hardware and software failures like the Challenger O-ring and the Therac-25 radiation bug… | ||
| The first few milliseconds of HTTPS | Joshua Thijssen | 45m |
Explains the first 200ms of a TLS 1.2 handshake using Wireshark captures: client hello lists ~18 cipher suites and SNI, server hello picks one, server sends an… | ||
| Time Series with Apache Cassandra: the basics | Michiel Sypkens Smit | 29m |
Apache Cassandra stores time series by partitioning rows (recommend ~100k rows or ~100MB per partition) and using a compound primary key like (device_id, year)… | ||
| Succeeding as an introvert | Elizabeth Zagroba | 21m |
Claims that over 57% of Americans identify as introverts, uses concrete tools like mind maps, JIRA, Slack and noise-canceling headphones to protect focus, and… | ||
| 50 Shades of Backup | Sebastian Feldmann | 43m |
Backup process becomes a configurable, testable pipeline rather than ad hoc shell scripts: a CLI tool called PHP bu copies sources (MySQL, Redis… | ||
| Several years of SOLID-aware development | Jasper Stafleu | 39m |
Covers concrete mistakes in applying SOLID in PHP with code examples: Liskov substitution fail shown by origami/paper vs papyrus (broken foldability)… | ||
| Beating the pentester | Boy Baukema | 34m |
Shows concrete ways to stop a late-stage pentest: scan dependencies with CVE Details and Exploit-DB, avoid relying on Metasploit-only fixes, and patch… | ||
| Graphs are Everywhere | Christopher Hoult | 43m |
Graphs start as the seven‑bridges Euler problem and become practical tools: Markov chain generators built from live RSS produce many gibberish headlines but… | ||
| Making BDD Work for you | Nikolas Martens | 40m |
Argues BDD works without new tools by using Specification by Example and the Given-When-Then sentence structure as executable specs, implemented as tests in… | ||
| Zend Thread Safety , how PHP engine works in a threaded env | Julien Pauli | 44m |
Zend Thread Safety (ZTS) explains how a PHP build isolates globals so the interpreter can run safely under threads: it uses the tsrm layer to allocate TLS… | ||
| The (Awesome) Future of Web Apps | Jad Joubran | 45m |
Progressive Web Apps deliver installable, offline web apps by combining a Web App Manifest, Service Worker code and runtime caching; use sw‑precache or Workbox… | ||
| Progressive Web Apps in the Wild | Rowan Merewood | 48m |
Baseline checklist and concrete wins: run Lighthouse audits in Chrome DevTools to find missing HTTPS/HSTS, a manifest.json and a registered service worker… | ||
| Empathy As A Service: Supporting Mental Health in the Tech Workplace | Nara Kasbergen | 45m |
Tech workplaces face concrete numbers and fixes: 1 in 5 adults experience mental illness and an Open Sourcing Mental Illness survey shows employees expect… | ||
| Creating a realtime dashboard with PHP and websockets | Freek van der Herten | 39m |
A single page fullscreen dashboard updates tiles without reloads using Laravel + Vue + Pusher; Laravel schedules jobs to fetch APIs, fires broadcast events… | ||
| Juggling features to production: Continuous Delivery in PHP | Hamid Koushki | 46m |
nFlow is a CD pipeline for PHP that spins up per-feature test environments on Kubernetes (demo shows three concurrent envs), builds Docker images via Jenkins… | ||
| Scaling Microservices with Kubernetes | Bastian Hofmann | 44m |
Shows a concrete production setup that uses Consul key/value store for service discovery and config and HAProxy for dynamic routing in front of containerized… | ||
| CouchDB, PouchDB and Offline-Tolerant Apps | Lorna Jane Mitchell | 51m |
CouchDB is presented as a fault-tolerant JSON document store with an HTTP API, changes feed for replication, and MapReduce/Javascript views; Mango provides… | ||
| Paradoxes and theorems every developer should know | Joshua Thijssen | 43m |
Shows the German tank estimation formula (largest observed ID plus that divided by count−1) and its WWII accuracy versus Allied guesses (actual 122, later… | ||
| Zero Knowledge; Meeting the Growing Demand for Security and Privacy | Ben Dechrai | 45m |
Prototype SaaS splits storage and processing: a Laravel backend hosts separate profile and transaction servers, keys are generated in the browser with… | ||
| Continuously delivering containerized, highly available microservices | Matthias Noback | 45m |
Argues that moving a monolith into a few services (start with two or three services) succeeds if teams adopt container images (Docker), a messaging queue for… | ||
| It's All About the Goto | Derick Rethans | 44m |
Explains how PHP turns source into tokens then an AST then opcodes that Zend executes, and that control flow is implemented as jumps/goto-style opcodes (so… | ||
| Nuclear powered software security | Chris Riley | 42m |
Maps actionable safety techniques onto web security and shows concrete mitigations: use fault tree analysis to trace “steal customer data” to login, CS rep and… | ||
| Tales from the wrong end | Marcus Bointon | 42m |
PHPMailer contains two December 2016 remote code execution flaws that earn 9.8 CVSS ratings and get assigned CVE numbers; an unsafe use of PHP mail() passes a… | ||
| You Don’t Node.js | Vance Lucas | 39m |
Explains how Node.js runs one call stack with an external API thread pool and why long CPU tasks or synchronous fs calls block all requests, causing UI hangs… | ||
| Golang for PHP developers: A practical introduction | Richard Tuin | 30m |
Golang is presented as a compact compiled language that complements PHP by producing long-running binaries instead of per-request bootstraps, enabling… | ||
| Drupal8 for Symfony developers | Antonio Perić-Mažar | 42m |
Drupal 8 reuses many Symfony components (HTTP, DI, routing, events, Twig) but not the full stack and still retains hooks; development uses Composer, Drupal… | ||
| Voodoo PHP | Marco Pivetta | 52m |
Shows concrete language hacks: using the Reflection API and closure bind to mutate private state, the weird backslash-0 property encoding and the unset trick… | ||
| Bruce Lee Driven Development | Jeroen van der Gulik | 32m |
Argues for "Bruce Lee Driven Development" as five concrete rules — begin at the core, use the simplest most direct approach first, experiment — illustrated by… | ||
| M-M-M-Monads! | Christopher Pitt | 43m |
Sees clear, runnable PHP examples: an immutable stack and two collection implementations, then concrete implementations of a Maybe monad and a Many monad with… | ||
| Review unknown code with static analysis | Damien Damien Seguy | 55m |
Static analysis inspects a 3,000‑file PHP codebase and produces concrete findings: 3,000 files, 5,000+ warnings from tools like PHPStan/Phan and tokenizer/AST… | ||
| Functional Programming for Dummies* | Scato Eggen | 41m |
Starts by defining referential transparency and shows the substitution model, then proves why pure functions plus immutable pairs require recursion and… | ||
| nothing matches | ||