Mathias Verraes
No, Your Domains and Bounded Contexts Don’t Map 1 on 1
Two Hard Problems with Distributed Systems
Submitting talks to a tech conference Call for Papers
How to Fix a Bug: Tests, Hypotheses, Timeboxes
Critical Software Redesign: Creating the Environment for Large Scale Change
Surfacing Worldviews in Design
EventSourcing Testing Patterns
From Music to Languages and Models (DevJourney Podcast)
Parser Combinators (Full Stack Europe)
Bounded Contexts: Manage the Understandability of Your Systems (DDD Australia)
Software Design for Startups and Scaleups
Critically Engaging With Models (DDD Europe Keynote)
Design and Reality (Leanpub Podcast)
Critically Engaging With Models
Conway’s Law Doesn’t Apply to Rigid Designs
Domain-Driven Design Applied
Eventsourcing Patterns: Multi-temporal Events
Loss Aversion Heuristics
Design & Reality (VirtualDDD presentation)
Models and Metaphors
Bounded Context Podcast
What is Domain-Driven Design (DDD)
Design and Reality
Splitting a Domain Across Multiple Bounded Contexts
The “It's Just Like...” Heuristic
Simple Models, Scaffolding, Enabling Constraints
Tensions when Designing Evolvable Bounded Contexts
The Legacy Mirror Heuristic
The Wall of Technical Debt
Eventsourcing: State from Events or Events as State?
Patterns Are Not Defined by Their Implementation
Temporal Modelling
Emergent Contexts through Refinement
Messaging Patterns: Natural Language Message Names
Eventsourcing Patterns: Migration Events in a Ghost Context
Eventsourcing Patterns: Decision Tracking
Messaging Patterns: Throttling
Messaging Patterns: Ephemeral Events
Messaging Patterns: Change Detection Events
DDD and Messaging Architectures
Eventsourcing Patterns: Crypto-Shredding
Eventsourcing Patterns: Forgettable Payloads
Patterns for Decoupling in Distributed Systems: Segregated Event Layers
Patterns for Decoupling in Distributed Systems: Fat Event
Patterns for Decoupling in Distributed Systems: Explicit Public Events
Patterns for Decoupling in Distributed Systems: Passage of Time Event
Patterns for Decoupling in Distributed Systems: Summary Event
Patterns for Decoupling in Distributed Systems: Domain Query
Patterns for Decoupling in Distributed Systems: Completeness Guarantee
Design Heuristics
Emergent Boundaries
Messages Over Structure
On Being Explicit
Designed Stickiness
Lightning Talks
The Repair/Replace Heuristic for Legacy Software
Property-based testing
Code Reviews and Blame Culture
Type Safety and Money
Towards Modelling Processes
Context Mapping: Life Expectancy
Event Storming, Storytelling, Visualisations
Form, Command, and Model Validation
Messaging Flavours
Economy of Tests
How Much Testing is Too Much?
Let It Crash
Higher Order Programming
Modelling Heuristics
Domain Events
Object Reorientation
“Software design is just theory”
Small Uncontrolled Experiments (revisited)
Objects as Contracts for Behaviour
Decoupling the Model from the Framework
Sterile Estimation
Resolving Feature Envy in the Domain
DRY is about Knowledge
Event Storming: on Fake Domains and Happy Paths
Managed Technical Debt (revisited)
Information Overload
The Cost of Estimation
When to Use Static Methods
Named Constructors in PHP
Why Domain-Driven Design Matters
A Functional Foundation for CQRS/ES
Final Classes: Open for Extension, Closed for Inheritance
Small Uncontrolled Experiments
Practical Event Sourcing
Religiously RESTful
Buzzword-free Bounded Contexts
Domain-Driven Design: Bounded Contexts, Modelling
Bandwidth and Context Mapping
Build for Failure
The Henry Ford Fallacy
Domain-Driven Design is Linguistic
Fighting Bottlenecks with CQRS
Value Objects and User Interfaces
Pre-merge Code Reviews
Verbs in Class Names
Sensible Interfaces
Extract Till You Drop
The DDDBE Modellathon
Antifragile - Things That Gain from Disorder
Facilitating Event Storming
Switch - How to Change Things When Change Is Hard
Systemantics - The Systems Bible
Managed Technical Debt
Unbreakable Domain Models
Decoupling (Symfony2) Forms from Entities
CRUD is an antipattern
Casting Value Objects to strings
How to read more books
Code Folder Structure
Coping with Change in Software Development
Lazy Loading in PHP with Closures
Ubiquitous Language
Beautiful code
Representing Money in PHP, Fowler-style
Random thoughts on using Git
Accessing private properties from other instances
Keep your controllers thin with Doctrine2
Interface discovery with PHPUnit’s Mock objects