Hacker News new | ask | show | jobs
by Discombulator 2252 days ago
The article focuses on an issue that is very widespread on technical forums, and one that I find irritating. (It is a bit better here thanks to the good moderation, but you can still find examples among the comments for almost every article.)

To be specific, I mean comments a) that point out a flaw in an argument, often on narrow technical grounds, b) where a charitable reading of the original argument indicates that the writer would very likely have been aware of this flaw, c) that do not provide a revised version that would be correct.

To me, such comments come off as dismissive - even insulting -, and because of this they almost never result in a good discussion.

Most often, such comments are also facile: It is easy to point out facts that hold in edge cases, but in software, as in every engineering discipline, any real world decision involves trade-offs. And as a practitioner, I find it very useful to learn how others have made trade offs on real world problems, exactly because edge cases are often not informative. Whoever comes forward to discuss their solution on such problems deserves praise, because they know that their decision is necessarily not perfect, and can be criticized. A good critique then amends the original statement to provide a better solution instead of dismissing it because it is not universally applicable.

This is not about pedantism (which is itself a highly subjective insult that never does any good) - a good comment on a minor point can be enlightening with the right context, and when respecting the original context.

I do not think this kind of destructive behavior is currently well covered by the HN guidelines, so here is a proposal of what I would add (@dang)

"If you want to point out an incorrectness in a statement, do not assume whoever made the statement was not aware of it - this often comes off as dismissive. Instead, attempt to provide a synthesis of the original statement and your criticism that would be correct from your point of view."

Using this guideline, here is how I would rephrase the examples from the article: - "Garbage collectors work in many cases, but I have spent many hours dealing with dangling memory reference issues, so in this and that case I recommend instead..." - "Note that TLS does not provide sufficient protection against nation state adversaries because... If you have to deal with this threat scenario, I recommend ..." - "In performance critical scenarios, you can avoid paying the cost of bounds checking as long as you..."