It's different from rebasing to squash many commits into one. The article has nothing to do with hashes. Foo is also easier to parse mentally than umpty digits of hexadecimal vomit.
What is different?
My point is, if you don't write meaningful commit messages for some commits, you probably don't need any commit messages for those commits at all. It reduces noise for people who read your `git log`. If you make a commit and then immediately revert it, instead of "foo", it's better to write at least "tried ...; didn't work".
The best solution, which the posted article suggests, is for git to natively support commit clusters. So that you can have just feature information and also meta information that isn't 99% invisible.