I really like the conclusion for application developers:<p><pre><code> * Avoid black and white, as they are used inconsistently.
* Never combine two colors or a bright color with foreground. Only combine regular/bright colors with background and maybe regular colors with foreground.
</code></pre>
I have seen too many unreadable terminal outputs (e.g. white one white) when using a terminal with a light background. All of those could have been avoided by following these rules.