Re: If dev == woman then...
Why use a conditional statement in this case anyway? Just call the appropriate dontbe(asshole) method directly.
Having worked as a developer for many years before going into academia, I know that a combative way of debating pervades the entire field (IT devs and CS academics alike). As a group, we are not very tolerant of our own errors, knowing what problems a few misplaced characters can cause, and maybe therefore react harshly to mistakes of others. There is also the issue of "tact-filter theory". The idea is that every person is born with just one. For most people, the tact filter is on the output, filtering out inappropriate or socially unacceptable language, and transforming it into something more tactful. Nerds develop a different strategy (due to receiving much abuse from non-nerds), and have their tact filters on the input, filtering out any abusive content their ears may receive. This does however mean that they blurt out anything, without much thought about how it will be received. A non-nerd will find many nerds breathtakingly rude, whereas a nerd listening to a non-nerd will probably wonder why the other doesn't come to the bloody point.
Now this theory is of course a bit of a caricature, but there is an element of truth in it, and it does pay to check whether you are not being too harsh. It is better to help people towards a solution than only to point out where they went wrong, and even the latter can be done politely (although some people can't stand even the politest criticism). Whenever giving feedback to students who clearly have made an effort, I will moderate my tone considerably (although sometimes hoots of laughter do escape me at funnier mistakes). Of course, those who haven't even tried, or have just cut and paste stuff from Stack Overflow (and they are always stunned we have found them out), might get treated more bluntly.