On Not Being A Problem

The purpose of this publication

Welcome to the first in what's going to hopefully be a short series of
articles in which I, your humble host, attempt to unpick some of the
crazy that's been flooding the geekosphere of late and try and explain
how we can all act like mostly sensible adults, have a pleasant existence,
and still not feel like we're censoring ourselves every other sentence
just in case.

I said "attempt" advisably; this entire thing may, on later reflection,
turn out to be incoherent garbage but I've been thinking about it for about
four weeks now so it's time to ship some ideas.

The crucial tenet

To be entirely honest, at least for this particular segment of the process,
the entire argument that I wish to make can be boiled down to a single
sentence:

It's ok to be an ass, but don't be an asshole.

Of course, that's not quite it; the more explicit and essential version is:

Provided you're being a constructive ass, people can and should largely
not mind your being an ass.

Being an asshole makes you a problem. No exceptions.

Of course, now I'm going to have to try and Define My Terms before people
lose interest totally.

What is an ass?

What, fundamentally, makes him an ass rather than an asshole is that while
his bluntness and tendency to screw with people is not necessarily the most
charming of personal characteristics, there is at the same time almost always
a purpose to these actions.

Perhaps more clearly - generally the way to make it harder for House to
annoy you is to become a smarter, happier, more competent human being, and
he's usually happy to assist with that, albeit in a very ... House ... way.

Yes, he calls people idiots; but generally when he genuinely believes they've
just done something idiotic and if asked, he's always perfectly happy to
explain why he believes you're an idiot.

The same, largely, goes for the "everybody lies" meme, and to be entirely
honest I feel like my article
show us the whole code probably constitutes
the geek equivalent of that one and will move on smartly.

So, next definition.

What is an asshole?

An asshole is somebody who attacks people for the sake of attacking them, or
attacks people in a manner that provides no actionable information.

Which ... ok, now we're going to get into the definition of "attack" and that
really isn't where I was going with this. So back up a moment.

You're an idiot, and you don't understand at all.

is an asshole statement.

You're an idiot, and you need to read http://example.com/tfm and
come back once you understand.

is at least mostly an 'ass' statement.

the world doesn't need people like you, who waste other people's time

is definitely an asshole statement.

The key thing here is that it applies a negative to the recipient without
any actual means for them to do anything about it. It's also intimidatory,
which is another fantastic problem and something I'll come back to later.

What makes a constructive ass constructive?

The rule of thumb that I try to use myself is that if I find myself
repeating myself for a third time and am now
over the edge and yelling, then at least every third sentence must contain
something actionable for the user in question to follow. No matter how
angry I am. No matter how appalling I find their actions.

Even if they're trying to parse HTML with regular expressions with
strict turned off and -X on the shebang line, I still have to say something
constructively and usefully actionable every three lines. Otherwise it's
time for me to roll a cigarette and go take a cancer break, and let somebody
else try.

Why is this important to me?

You may be getting the feeling here that I'm trying to paint myself as an
ass, and that's sort of true, but you could equally argue, and I think
perhaps more usefully, that I'm a recovering asshole who mostly manages
to be just an ass these days and aspires to be a constructive ass and
is trying to set some ground rules here that I can manage to happily
follow but the sort of people I end up banning from IRC channels and etc.
won't.

I provided Gregory House as an additional albeit fictional example since
he's probably a better illustration since at least the moments when he
falls off the wagon into being an asshole are plotted in such a way that he
invariably gets punished for them. Also because he's way cooler than I am.

The underlying purpose

The real point here is that a serious technical conversation can evoke
some fairly strong emotion in the people involved, or at least a high
level of enthusiasm that can be taken for strong emotion when there's a
whole internet in between interfering with the non-verbal communication,
and that this means that it's very easy to get horribly confused.

I want to try and set up a conceptual framework here within which we can
decide whether or not somebody's actions are constructive, or at least
constructively intended - since somebody who's thinking like an ass but
sounding like an asshole can probably be trained given a clicker and some
biscuits - so that we separate the wheat from the chaff without forcing
people's conversational options into a box shaped by the subset of things
you can say that don't offend anybody.

The thing here is, that isn't a solution at all. Some words offend some
people. Worse still, some words cause people to be upset and offended
on other people's behalf, and this often isn't particularly useful - for
example I have to entirely avoid profanity when I visit my grandmother in
the company of my parents since otherwise my parents cringe. On the other
hand, when I talk to her in their absence I worry a lot less since the last
time I apologised she told me that apologising to a World War II air force
auxiliary (WAAF) was pretty pointless when I'd only said "shit" once in the
past sentence.

Why disallowing asses goes wrong

Take this sort of behaviour to an extreme and you get automatic ostracisation
simply for using a word or phrase, probably automated to the point where
even wrapping it in sarcasm tags won't save you; the only exception to
this that I can imagine approving of is a particular furry IRC network's
decision to patch the server to auto-K-line anybody who said "Yiff in
hell, furfags" in public or private message - and frankly, I largely only
approve of this one because it's hilarious.

The other horrible problem that you end up with is the idea that being polite
is more important somehow than being constructive. As an eample, Andy Lester
wrote an excellent article on standing up for your community
.
Yet he himself has had to be excluded from significant chunks of the perl
community due to a failure to understand that comments like "jumpin' jesus,
this need not be a teaching experience" might be a lot more polite on
the surface than "screw you, I'm not reading the manual, spoon feed me" but
is just as disrespectful to the people trying to help you.

Fundamentally, what we need more of is authentic, genuine discussion, where
people can genuinely help each other. Being disallowed from saying "that's
a really stupid idea" isn't going to be a net win while the world still
contains people who want to parse HTML with regexps, or think that Net::IRC
is a really excellent idea in 2012.

But.

That doesn't mean that just because you're being constructive, you have a
license to say whatever you want. You can manage to be a constructive ass
but being an asshole is always, invariable, a destructive, disruptive thing
over time.

We need the freedom to participate authentically, to participate
enthusiatically ... but we also need to remember that everybody else needs
to have that freedom too, so let's lay a few ground rules to help with that.

Disagree about what you're disagreeing about

First rule: No horrible tautologies in your sub-headings ... no, wait, that's
not where I was going. Uh. Ah yes.

Seriously, this one isn't difficult, and it makes pretty much everything else
fall into place.

When you are disagreeing with somebody, any fact that does not have a
direct relationship to the matter you are disagreeing about is out of scope.

This is where Paul Graham's stuff on Ad Hominem comes in. "He's a US
Senator" is not an argument for or against somebody's understanding of the
internet. I mean, there was the "not a truck" guy as an outlier in one
direction and then there's Al Gore, who at least four web pages inform me
invented the thing in the first place!

This can of course blur a little; you might suspect that somebody's missing
a piece of the puzzle because they've spent too long in C-land (and left
without a seal of approval) but that's not a grounds for disagreement, that's
a grounds for providing a different viewpoint in order to elucidate your
argument.

Explaining that some fact about the person may be making it harder for
them to see your point is only useful if you then use that to re-explain
your point usefully.

This is, however, still not a directly related fact and while it's useful for
discovering how to argue better it's not something that's negative and it's
not something that in any way constitutes an argument. Not even writing PHP
always renders people completely insensible - with years of care, attention
and reassurance a full recovery can be made, so that assumption's out as well.

The most important thing though from the point of view of a technical
community is that all of the other things that we might argue about are
completely out of scope during technical debates. Or, to make this clear:

No physical aspect of the other person is relevant.

Their height is not relevant.

Their genetic background is not relevant.

The amount of hair they have is not relevant.

Their taste in clothes is not relevant.

Their gender is not relevant.

The size of their genitalia is not relevant.

The size, in fact, of any part of their body, is not relevant.

No emotional aspect of the other person is relevant.

The fact that they're a gentle person is not relevant.

The fact that they're a blunt person is not relevant.

The fact that they're a loud person is not relevant.

The fact that they're a quiet person is not relevant.

The fact that they're an extroverted slut is not relevant.

The fact that they're an introverted haphephobe is not relevant.

No financial situation of the other person is relevant.

The fact that they own a house is not relevant.

The fact that they rent a room in a flat is not relevant.

The fact that they live with family is not relevant.

The fact that they make more money than you is not relevant.

The fact that they make less money than you is not relevant.

None of this stuff is relevant to your technical discussion.

NONE OF THIS STUFF IS RELEVANT TO YOUR TECHNICAL DISCUSSION.

If you try and make it such, for the purpose of scoring points or of
pressuring the other person into submitting to your opinion because they
feel intimidated, then you are, simply, an asshole, and if this is any
of my communities, I'm probably going to ban you.

The crucial tenet, altered

An ass uses whatever means they believe will work in order to successfully
get their point across such that the other person becomes enlightened.

An asshole uses whatever means they believe will work in order to
browbeat the other person into conceding the argument.

How do you tell the difference between these?

Both of these make it appear like the ass/asshole person has "won".

Only an asshole sees victory, because victory requires a loser.

An ass wants success, and that requires learning, not just submission.

Remember: House smiles when Wilson learns, when Wilson pranks him back.

If you want an easy way to tell between the two, I suggest you start off
with the "disagree about what you're disagreeing about" rule, but consider
a fundamental question: If I was in a similar class of argument, would
I feel indignant that this person was disagreeing with me, or intimidated
that this person is attacking me? If the former, try and make sure that
everybody involved understands it's a debate and that it can get hot until
somebody realises they're wrong or until a conensus is reached. If the
latter, this is assholery, pure and simple, and it's time for it to stop.

So, in summary.

Trying to be a constructive ass is probably ok.

Being an asshole is never ok.

Elucidate, debate, relate; try not to intimidate.

Don't be part of the precipitate; grit is overrated.

mst talks too much, and will explain how to make it stop in another article.