I already posted the comment that was here once I checked, but dissapeared in the meantime.
Anyway, I like the article, it is pretty good beginners guide to index design.
However, I dissagree with next point:
For example: index on column gender with values ‘M’, ‘F’, and NULL is not a subject for the index creation. The same rule can be applied to the flag and status columns with 5-6 different values.
Index usefulness doesn't depend on number of possible values. Instead data distribution and query usage pattern should be considered. For example:
If military database is frequently searched for females (let's say lest then 5% soldiers are females) index on gender column may be used. Also, condition Status = "in process" in order processing system would benefit from index on Status column even if there are only a few possible statuses.