Upcoming events
Currently there are no upcoming events.
Past events
21-10-2022
Talk: Welcome to the Age of Static Analysis and Automated Refactoring
Programmers live a dangerous life. It's so easy to make mistakes and mess things up, so we like to limit the scope of our changes. There may be large parts of a code base that we don't dare to touch at all. It makes us somewhat conservative when it comes to large upgrades or refactorings.
If only we could have a tool that has our back when we make changes that influence remote parts of a code base, or that can even make those changes for us. One that tells us about mistakes immediately after we make them. And maybe even one that fixes our problems, without the risk of making a mistake.
Actually, since a few years such tools exist (for PHP that is, so get ready to change your mind about this language!). In this talk, I'll explain why you should use them, what its use cases are, and what amazing things are to be expected from them in the near future.
13-06-2022
Podcast: Rector with Matthias Noback
Imagine if you could refactor legacy code with a single CLI command? Well, you can, at least if you are working with PHP.
Today we talk with Matthias Noback, a long-time web developer and the author of several programming books, including Rector - The Power of Automated Refactoring, which he co-wrote with Tomáš Votruba. Matthias tells us how to use Rector in your daily workflow, how it automates repetitive maintenance and refactoring tasks, and what is the potential of this approach for other programming languages.
19-05-2022
Podcast: Voices of the Elephpant
Cal Evans hosts his friend Matthias Noback as they talk about Domain Driven Design and Matthias’ new book Recipes for Decoupling.
17-05-2022
Podcast: Leanpub Frontmatter episode 224
Matthias Noback is the author of the Leanpub book Recipes for Decoupling. In this interview, Leanpub co-founder Len Epp talks with Matthias about what he’s been up to since he last appeared on the podcast over eight years ago, changes related to widespread use of the PHP programming language in that time, how the pandemic affected his consulting work and meetups, legacy code, his books, and at the end, they talk a little bit about his experience as a self-published author, specifically, a method he has developed for keeping programming books up to date, even as the technologies they’re about evolve.
09-09-2021
Talk: The Power of Automated PHP Refactoring
Matthias Noback & Tomas Votruba
More information on meetup.com
26-08-2021
Talk: Rector Fireside Chat
Matthias Noback & Tomas Votruba
More information on meetup.com
28-06-2021
Podcast: What even is PHP?
On this episode hosted by Jennifer Blumberg with guest Matthias Noback, we continue the "What is even…?" series by delving into exactly what even is PHP?
We talk about PHP's originals, how PHP works from request to php-fpm worker processes to lexer to bytecode to JIT, the whole shebang!
We also discuss there are so few feature-rich, authoring experience focused CMSs written in languages other than PHP.
Finally, we talk about Rector, which is like Babel but for PHP, allowing you to improve and upgrade PHP code on the fly. It can even downgrade your code to older PHP versions if you like!
17-06-2021
Talk: Design patterns for modernizing legacy code bases
16-12-2020
Talk: DDD in unexpected places (and ways)
25-06-2020
Workshop: Decoupling from infrastructure (3 hours)
Most application code freely mixes domain logic with infrastructural concerns. Models are directly tied to the relational database of the project, use cases are inseparable from their web controllers, and external services are used without an appropriate abstraction. This limits your ability to design the application in a domain-driven, test-first way.
What we need is a way to separate core code from infrastructure code. And that's surprisingly easy. All the design patterns have already been invented for that. Until we run out of time, we'll keep (re)discovering patterns like Controller, Application Service, Entity, Read Model, Domain event, and so on. These patterns can be used to establish a testable, portable application core, with a focus on behavior, instead of data.
01-05-2020
Podcast: Design- and Style-Guides
We talk about guides and rules for programmers in the scope of their code style and object style. With the help of book author Matthias Noback we realize that there is more possible with static analysis than one might think. And there is definitely a use for a catalogue of stereotypes of classes.
05-03-2020
Workshop: Advanced Web Application Architecture (cancelled)
About the workshop
This workshop covers all of the three layers from what is known as a layered architecture: the domain, application and infrastructure layer.
You'll learn how to:
- Design a clean domain model
- Model your application's use cases as application services
- Connect those well-designed layers to the world outside
Protecting your high quality domain model and use cases from external influences can be accomplished by applying a so-called ports & adapters or hexagonal architecture.
The result
At the end of the day you know how to separate infrastructure from core (domain) code, divide your application into layers, and clearly distinguish its ports and adapters.
The program
- Separating infrastructure from core code
- Repositories and entities
- Application services and command objects
- Value objects
- Read models and read model repositories
- Layers; The Dependency Rule; The Dependency Inversion Principle
- Ports and Adapters
For who
This is a workshop for PHP developers with at least some experience with building web applications using a framework (or CMS) and a database.
Unfortunately, Web Camp Venlo has been cancelled.
20-02-2020
Talk: A testing strategy for hexagonal applications
Program:
- 18:00 - Opening
- 18:10 - Matthias Noback: A testing strategy for hexagonal applications (in English)
- 19:00 - Martin Fris: Value objekty a ich praktické využitie napr. aj v hrách (in Slovak)
- 20:00 - Networking + refreshment
24-01-2020
Workshop: Decoupling from infrastructure
Most application code freely mixes domain logic with infrastructural concerns. Models are directly tied to the relational database of the project, use cases are inseparable from their web controllers, and external services are used without an appropriate abstraction. This limits your ability to design the application in a domain-driven, test-first way.
What we need is a way to separate core code from infrastructure code. And that’s surprisingly easy. All the design patterns have already been invented for that. Until we run out of time, we’ll keep (re)discovering patterns like Controller, Application Service, Entity, Read Model, Domain event, and so on. These patterns can be used to establish a testable, portable application core, with a focus on behavior, instead of data.
18-12-2019
Vodcast: Talking with Matthias Noback
An hour talking about open source, communities and conferences.
09-12-2019
Vodcast: [Live] #1 - Making Money While Doing Open Source
On the first PHP com Rapadura [Live], we're going to receive @matthiasnoback and @matthieunapoli to discuss how to make money while doing open source.
27-11-2019
Talk: Advanced Web Application Architecture
11-11-2019
Talk: A testing strategy for hexagonal applications
Older events can be found on the Workshops & Talks pages.