Writing good error messages

To my ever-expanding frustration, and general astonishment (to which my wife expresses a weary kind of amazement: why are you so surprised, you know it does that...), things never seem to go entirely smoothly. (And if they do, I'm left with a trepidatious feeling that things in fact haven't gone smoothly,  and that I just [...]