What are some software related books (or courses) that taught you a skill that you found interesting for its own sake and not because you needed it for your jobs?<p>Thinking of compiler construction, game development, retro computing (if your job is not related)