It's a blog, it doesn't need to be well written, logical, or even coherent. I'm going to bitch and moan about everyone and everything that annoys me (and it's a huge long list). I just hope I don't get bored within a few days of ranting and raving.
Let me start by saying I know Hani better than most people reading his blog. To me, I know him as a very smart developer who has an amazing ability to ‘not take crap’ from the tools he uses.
A colleague of mine reviews DVDs. In the course of random office conversation, he mentioned that it's much harder to write a positive review than a negative one. When you don't like something, it's very easy to write paragraph after paragraph on what's wrong with it. It's much harder to write praise that doesn't come off sounding fake.
Negativity has all the advantages. It's easier to write, and it's often a lot more entertaining to read. There's a reason why “X Sucks” posts quickly rise to the top of the JavaBlogs rankings. If your aim is to put as little effort into your writing as possible, as Hani has clearly stated, producing unremittingly negative rants is the easiest way to go about it. Constructive criticism takes more effort. Coming up with your own solution or work-around is even harder.
This is why the BileBlog quickly bored me. Most of the criticisms are, indeed, accurate. Some are trivial, some are not. But each individual criticism is only dealt with in the most superficial of possible ways. Root causes aren't investigated. Improvements aren't suggested beyond “don't do things that suck”.
Yes, there's an almost inexhaustable amount of crap out there. Sturgeon's Law is proven again and again. As such, there's an endless supply of topics to rant about. Ultimately, though, it's dull. Which is fair enough. The blog is behaving entirely as advertised, and one can't fault it for that.
What made the Antipatterns book good wasn't the fact that it was full of stupid things that software projects do, it was the strict pattern form that required each Antipattern be matched with a clear description of why they happen, and a refactored solution. If the book had just been a list of stupid things, it would have been amusing, but not useful. As an examination of why we do stupid things, how to avoid them, and how to rescue ourselves when we find out we've gone down the wrong path, the book actually became a real resource.