Crystal Programming: A project-based introduction to building efficient, safe, and readable web and CLI applications - Dietrich (IEEE, 2003)