A talk presenting the basics of what a DSL is, what use cases there are for them, and looking at some of the design choices we can make while creating one.