I think it's great that the author tries to address high turnover rates by trying to make the company a fun place to work. However, I feel like he's taking the wrong approach.
It's certainly true that developers want to have fun, but I don't think technical decisions should be influenced heavily by what's fun but instead by what makes sense. For example, it'd be a lot of fun to rewrite an entire code base in Haskell or some other language I'd like to learn. I'd very much enjoy working somewhere that I could do something like that. On the other hand I wouldn't recommend doing that ever, because it makes very little business sense.
In my opinion, a much more reasonable approach to letting developers have fun is to give them more freedom in things outside of work. This could be giving them more free time (every other Friday off or something), or even letting them do personal projects to advance their skills on company time. For example, you could host tech talks where employees teach each other things they learned, and also give them time to learn new things, while on company time.
This seems to work better to me because this way your developers have a reason to stay: they will have a hard time finding another company that gives them these perks. On the other hand, you can keep your company's technical decisions influenced by what makes sense as a business.
Maybe I'm just very cynical, but work is work, and I understand that while working I need to do what's best for the company, not for myself. In the same way, your employees will stay if staying at your company is what's best for them.
Nevertheless, it makes me happy to see a company that tries to make its employees happy. I'm just worried that this method isn't really sustainable for the business itself, and if that's the case then I don't think other companies would follow suit.