HN's most attractive feature from day one has always been the positive, intelligent, supportive community. Those are not traits you tend to find in your typical 9-5 programmer (in my experience, at least), and are the exact opposite of what you find in the communities that most of our early adopters fled from (Slashdot was already hopeless by 2007, and programming.reddit.com was already headed that way).
But those other communities are dying, and this place has taken over their role as The Place to Talk About Tech Stuff. So we see a lot of their users coming across, bringing with them the general depressive negativity and inclination to snark and hostility. This behavior sometimes doesn't get swatted down fast enough nor ruthlessly enough and bad comments are left to stand. People see these comments and think they're acceptable. And the standards erode.
There's not much to be done about it, unfortunately. We can't kick everybody out, and it's not yet quite bad enough to form a new community and abandon this place to the rabble.
Still, it's worth at least trying to fight. Flag ruthlessly, downvote comments that don't belong here, based on tone rather than disagreement. Upvote the few good things that do in fact belong here. Write good comments and otherwise behave the way you want to see others behave.