Mathias Verraes
verraes.net · Personal blog · on HN since 2014
Mathias Verraes writes about domain-driven design, event sourcing, distributed systems patterns and software design principles, mostly in a PHP context.
What HN saysHN commenters repeatedly cite his post 'DRY Is about Knowledge' as a clear explanation of the principle, and also link his Erlang 'Let It Crash' post.
21HN people shared it
5linked it in comments
21stories submitted
296story points
1 year agolast shared
2014people per year2026
Most-shared posts
- 1The Wall of Technical Debt4 people · 9 points · first shared 2020 · 1 comments on HN
- 2DRY Is about Knowledge4 people · 1 points · first shared 2020 · discussion on HN
- 3Higher Order Programming in PHP2 people · 10 points · first shared 2014 · discussion on HN
- 4Patterns in Distributed Systems2 people · 7 points · first shared 2019 · discussion on HN
- 5Domain-Driven Design1 people · 251 points · first shared 2021 · 191 comments on HN
- 6Patterns for Decoupling in Distributed Systems: Summary Event1 people · 3 points · first shared 2019 · discussion on HN
- 7Small controlled experiments: continuous improvement in a software team1 people · 2 points · first shared 2014 · discussion on HN
- 8Pre-merge Code Reviews1 people · 2 points · first shared 2016 · discussion on HN
- 9Software design is just theory1 people · 2 points · first shared 2015 · discussion on HN
- 10Practical Event Sourcing (2014) [video]1 people · 2 points · first shared 2018 · discussion on HN
- 11Patterns for Decoupling in Distributed Systems: Domain Query1 people · 2 points · first shared 2019 · discussion on HN
- 12Domains and Bounded Contexts Don't Map 1 on 11 people · 2 points · first shared 2025 · discussion on HN
- 13Domain-Driven Design is Linguistic1 people · 1 points · first shared 2014 · discussion on HN
- 14Managed Technical Debt [2013]1 people · 1 points · first shared 2016 · discussion on HN
- 15Critically Engaging with Models1 people · 1 points · first shared 2022 · discussion on HN
What HN people wrote when they linked it
bojanz · 2024-05-30
Couldn't agree more. There's a great decade-old blog post by Mathias Verraes which illustrates this well, I keep coming back to it: https://verraes.net/2014/08/dry-is-about-knowledge/
Aeolun · 2024-05-30
I was going to say you were talking nonsense, but then realized I’d replaced the original post in my mind, by this much nicer post that someone else linked in this thread:
https://verraes.net/2014/08/dry-is-about-knowledge/
They essentially say the same thing, but one is better than the other.
mathiasverraes · 2021-09-27
The definition is highly summarised, which (like many definitions) makes it only useful if you already understand the concept, and you need a way to remember it. Or the definition can be a framework for explaining it to others, which is how I use it in workshops.
A more real world story of DDD in practice is this blog post:
https://verraes.net/2021/09/design-and-reality/
jchook · 2020-07-21
Some good resources about DRY:
> DRY is about knowledge. Code duplication is not the issue.
https://verraes.net/2014/08/dry-is-about-knowledge/
> Every piece of knowledge must have a single, unambiguous, authoritative representation within a system
https://wiki.c2.com/?DontRepeatYourself
cmrdporcupine · 2020-06-17
Yes, after a few years of Java we all end up there. Frankly it's a good argument for the Erlang "Let It Crash" philosophy.
https://verraes.net/2014/12/erlang-let-it-crash/
If IOException on a read is truly happening, and it isn't just a case of a missing file, there are serious issues that aren't going to be fixed with a catch-and-log, or be able to be handled further up the call stack.