Oh noes, someone's gone and committed a hand-rolled expression evaluator built entirely of hacks! And someone else built a markup parser out of a hundred regular expressions. Where's the aspirin?
We end up creating small languages and parsers -- sometimes "accidentally" -- as we solve day-to-day programming problems. Sometimes these are unintentional or half-baked.
This talk goes the underlying patterns (and anti-patterns) of parsers. Incorrectly made, they can create more problems than they solve. But many of the good, useful patterns come from programming languages themselves, and the good news is that we already know them. We just need to apply them correctly.