The author is not against small, tough problems, by all means a well designed generic programming question that doesn't tie in to any specific domain knowledge can be a great test.
What the author was against are the riddles, which are proven to be ineffective in determining the general aptitude of the engineers, and that's why the companies that used to use them (MS and Google, for example) have mostly banned those.
From reading the blog post the author does in-fact seem to be against challenging coding problems. Note that the examples given as good questions where all general that didn't require one to demonstrate any actual ability to solve problems by applying algorithms and logic. This is exactly what programming and logic "riddles" are designed to test.
You can still do it, it doesn't have to involve a complicated CS topics such as self-balancing trees or graph theories or anything, but I've seen plenty of good algorithm questions that the solution involve nothing more than understanding of Strings and for-loops.
You can also test the interviewee's knowledge of Big-O, time efficiency vs space efficiency, etc without going into obscure data structures.
Big O would be something I was much more familiar with out of university, although I could probably muddle through some basic questions around it.
For loops that manipulate strings in various ways however is probably something that most programmers will have wrestled with reasonably regularly I imagine.
What the author was against are the riddles, which are proven to be ineffective in determining the general aptitude of the engineers, and that's why the companies that used to use them (MS and Google, for example) have mostly banned those.