You're starting a new project and this time you want to do it *right*. Everything's going to be test-first, your domain model is going to be perfectly portable, and your framework will be nothing but a mere detail. But as soon as your fingers hit the keyboard you're paralyzed. Should I use a command for this? How can I test this piece without hitting the database? Should these two things happen in the same place or should I fire an event? This talk is about taking a step back and thinking about what really makes your code *good*. It's a talk about the seduction of complexity, the value of simplicity, and the power of constraints. Perfect isn't better.