This document summarizes a presentation about building domain-specific languages (DSLs) using Java, Groovy, and Ruby. The presentation covers internal and external DSLs, building blocks for DSLs like fluent interfaces and closures, examples of DSLs for logging, calendars, and time, and best practices for designing and implementing DSLs. The goal is to show how DSLs can provide a higher level of abstraction than traditional APIs and help developers work with concepts in a problem domain.