- Structure and Interpretation of Computer Programs
- C Interfaces and Implementations
- Design Patterns
- Compilers: Principles, Practice and Tools
Each of these should make you go "a-ha!", in its own way.