OO Programmer tend to use inheritance as a way of code reuse, a best practice and for better maintainability. I am no exception. But there are times where inheritance can become your worst enemy, and instead of making your life easier, complicate stuff to the point you are lost.
I like the article, you've illustrated the problems that come about when programmers who only know about inheritance set out to build a complex system. It's important to understand how composition can reduce complexity, and allow for better reuse of the objects you've created.