I'm a writer and editor. I've done marketing and financial writing, and the job I'm starting in two weeks will require me to do technical writing. I've also started learning to code, because I'm interested in it and because it's an important part of how important systems in the world work.
There are common attitude problems on both sides of the the technical/non-technical fence. From the non-technical side, there's a sense of unfairness, that people with the interest to pursue technical subjects are guaranteed 80k/year jobs right out of college, that they are stuck-up and dismiss the ideas and opinions of people with fewer credentials, etc. Like most stereotypes almost none of that is true. My coder friends are some of the most generous, respectful people I've ever met. It's much harder even for someone trained in CS to get a job than it looks from outside. HN is largely technical--you know that there are reasons for how technical people behave even when it might seem strange to outsiders.
The most common mistake I see technical people make about non-technical people is in the area of algorithms and specifications. To but it simply: in a lot of disciplines, there aren't any. The common misunderstanding is that there are formulas you can use, or rules you can follow, to get the result you want in non-technical disciplines. There are huge numbers of artifacts in the world that aren't empirically measurable. Take a pair of jeans and say, "Is this OPTIMAL?" The question is as nearly meaningless as makes no difference. Look at a wedding bouquet, or a corporate event, or a logo. The people who make these things are constantly making choices informed by their education, experience and perception, but those choices aren't based on data that's easily quantified. At best, you start to notice patterns that work and patterns that don't work, which is something that I think can also be said about software development.
I found the second link you posted when I went looking for clarification. The takeaway for me was that zero-determinant strategies do tend to win games, in that the end score of someone playing a ZD strategy is usually higher than that of someone playing a different strategy, but that both scores in such games tend to be low. Against a basic tit-for-tat player, the ZD player will win by a very small margin but the game will largely consist of mutual defections. Basic tit-for-tat, as the author points out, is never a 'winning' strategy--it always either ties or loses. Its strength isn't that it wins, but rather that it limits its losses. That characteristic of tit-for-tat is as effective against a ZD strategy as it is against any other strategy.
At the point someone has called you out for being sexist, the relationship you should be focused on pursuing is the one with the next person, because your shot with this one is gone.
'what's over the line in one circumstance could be interpreted as harmless flirting in another.'
Yes. You're allowed to greet your friends by hugging them if that's the kind of relationship you have with them. You are not allowed to greet a bank teller that way, or a canvasser, or most of the other people you encounter. The fact that what's appropriate in one situation is inappropriate in another situation is tangential, because...
"the guy must guess where that line is and that he'll be wrong sometimes."
is not really true. First of all, understanding how another human feels in a situation is not 'guessing.' As social animals, humans are excellent at reading cues from body language, facial expressions, etc. to understand how other humans feel.
Second, as a previous reply said, paying attention in your interactions with other humans is actually your responsibility. If you are the least bit perceptive, you are extremely unlikely to be wrong about 'where the line is.' And to go a little further in the you-really-shouldn't-feel-threatened-by-this vein, if you're one of the people who worries about crossing the line unintentionally, you've probably never been near it.
There was a time when I would've been the one writing that comment, so I know what you mean. It is frustrating for meek guys (I count myself as one too) to feel like we're being called out along with harassers. But ultimately I don't think what you're saying is accurate.
It took me a long time to realize this because I didn't have very good data to work from--I didn't have a large set of observations of interactions between men and women, and out of those I did have there were very few instances of harassment. It seemed to me that based on the complaints of harassment vs. the small number of cases I'd witnessed, the problem must be that women were choosing to call normal behavior harassment when it was unwelcome. Which I think is your argument. But I've realized that that's not the case. The kinds of harassment being complained of are not borderline cases. In most of the recent cases I've read about (Readercon, etc) the harasser was explicitly told to stop at least once. That is not ambiguous, and it's not based on the perception of the person being harassed.
I guess what I want to say really is, 'stop feeling threatened by this.' If you are a person with even a barely-functioning social instinct, and recognize and respect when someone feels uncomfortable in a situation, there is only a microscopic chance that anything you do will be misinterpreted as harassment. And if you do say something that someone interprets as sexist, the first response will simply be to call you out on it. That's a conversation it's ok to have if you're confused, 'I'm sorry; I didn't mean to offend you. Could you tell me what about what I said bothered you?' Again, if you're a person with a basic social instinct, you will prefer to modify your behavior in small ways to make the people around you comfortable. If you truly feel someone is being unreasonable, just avoid them.
There are common attitude problems on both sides of the the technical/non-technical fence. From the non-technical side, there's a sense of unfairness, that people with the interest to pursue technical subjects are guaranteed 80k/year jobs right out of college, that they are stuck-up and dismiss the ideas and opinions of people with fewer credentials, etc. Like most stereotypes almost none of that is true. My coder friends are some of the most generous, respectful people I've ever met. It's much harder even for someone trained in CS to get a job than it looks from outside. HN is largely technical--you know that there are reasons for how technical people behave even when it might seem strange to outsiders.
The most common mistake I see technical people make about non-technical people is in the area of algorithms and specifications. To but it simply: in a lot of disciplines, there aren't any. The common misunderstanding is that there are formulas you can use, or rules you can follow, to get the result you want in non-technical disciplines. There are huge numbers of artifacts in the world that aren't empirically measurable. Take a pair of jeans and say, "Is this OPTIMAL?" The question is as nearly meaningless as makes no difference. Look at a wedding bouquet, or a corporate event, or a logo. The people who make these things are constantly making choices informed by their education, experience and perception, but those choices aren't based on data that's easily quantified. At best, you start to notice patterns that work and patterns that don't work, which is something that I think can also be said about software development.