I had a comment thread experience recently, not here but on Reddit, that made me think about criticism again and how we experience it.

The opening was that comment A was saying something about how they did <programming subject> and comment B was asking probing questions. I recognized that B was leading A towards a certain framing she had in mind(a very Uncle Bob, OO patterns are the answer kind of answer), so I injected a flat "there's nowhere else that code needs to be except one of these two places, classes have nothing to do with it."

B responded with "but surely they have to be in a manager class right?" And seeing the resistance to taking any other framing, I got more assertive and instructive in my reply, giving specific recommendations to try dispensing with OO and experiment with writing more primitive code. This was the offense, and it became an argument, which was basically a stomping because I was very prepared with sources and a rationale for why I am making that recommendation, and B fell into defenses from experience and authority, talking about numbers of lines of code and systems she had made and accusing me of speculating about her ability.

And then I said, "that's nice, but I'm the comments section." Apologized for the offense, and pointed out that she started replying to A by speculating, and had admitted as much. Finished with encouraging words for B continue writing the code that she felt works best.

She wasn't happy with this, and said I "hijacked" the thread and used a "condescending tone", but also allowed that I said interesting things.

And it's like, was it worth getting into another "arguing with strangers on the Internet" cycle? Part of why I engaged in the way I did was because I was coming off a period of answering other people's questions, so it was, at first, just one more of those.

But afterwards I realized that what I had disturbed was the belief system. The original thread was an attempt to confirm B's belief to herself: that's why it was done in a leading manner. A lot of comment threads proceed along those lines. When I just wander in and negate that, defensiveness is immediate. Saying "it can only be these two things" is only condescension if you're certain that your other way is already right. B wanted to brush it off. What I was doing was starting the "put on the glasses" fight scene in They Live.

And I think part of why I've gotten better at navigating those threads and critique generally, even if I might be overbearing or "condescending" at times, is because I can recognize when a principled defense is taking place. Good technical discussions start from a place of philosophical credibility. They don't start from norms("this way is best") and then question-beg their way into justifications. They lay out the assumptions of what's true and what's being achieved, like "eliminating a form of error"(one of the goals I outlined in that thread, and the one which ultimately made B concede) and then find conclusions inductively, deductively or abductively. Once you get away from the philosophical goal and only aim for winning the argument, you start crafting harmful rhetoric.

So the answer for me lies in philosophical training: you do have to intentionally "turn it on" to think in those terms, but it lets you be more effective around criticism, to "dance" with it and see it as a process, not a prelude to violence.

And it is much harder to deal with open comments than any one specific critic, because those are subject to mob mentality. Offend a belief the mob holds in high regard, and regardless of the principles involved, you'll just get dehumanized right away. I try not to find myself involved with that stuff anymore, but it's like, yeah, of course I have beliefs.