It's easy to dismiss the GoF Design Patterns
When I first read the gang of four’s Design Patterns I dismissed most of it as a coverup for the unfortunate parts of C++’s object design. That was definitely unfair, since the strongest benefits of Design Patterns come from managing huge code bases, a fact that I missed with all the small examples.
But even still, I would love a book on design patterns that is built for modern interpreted languages, with duck-typing and no type checking.
font-feature-settings should not be used in code blocks
font-feature-settings is a great CSS feature to play with, but it should probably be turned off in code blocks.
With Markdown and hightlight.js, that means adding this little piece of CSS to your stylesheet.
pre, code { font-feature-settings: normal; }
The problem of learning Object Oriented Design
The greatest problem in learning object oriented design is in the toy problems. The object oriented solution never looks better than the regular solution.
How to write a program, the wrong way
Learn the right way to write a program the wrong way
David Parnas and the roots of good programming design
This paper is considered seminal in Object Oriented Design, but Parnas never mentions objects, and his example program is described in procedural programming terms. The lessons in this paper are applicable to all programming methodologies. It’s just about smart design decisions.