The Moderator Problem
As the #3 ranked contributor on http://programmers.stackexchange.com,
I've provided my share of advice. 554 Answers to be factual about it.
The moderators, however, have decided that I'm no longer welcome. It
was simply shocking to be firmly (but politely) shown the door.
The issue was Python. Specifically, the fact that Python uses
whitespace instead of C-style {}'s or some other notation for an
enclosed block of code. The question -- closed by the moderators --
asked about convincing a reluctant boss to use Python instead of PHP for
web development. The question stated that the boss liked his curly
braces.
My answer pointed out several things, two of which became issues:
First
Python doesn't use {}'s. That means that {}'s aren't essential. That
means the boss's preference for {}'s is a silly personal preference.
Generally, there's no way to convince someone to change their personal
preference.
According to a moderator, Python not using {}'s does not make {}'s
non-essential. Even though Python does not use them, they're still --
somehow -- essential. This means that the boss referenced in the
question is not expressing a personal preference. My claim that {}'s
are not essential is merely opinion, I'm being too aggressive in stating
my opinions, and Python's syntax is not a sufficient factual basis for
my claim that {}'s are not essential.
Wow.
Python doesn't use {}'s. But I'm flat-out wrong to claim that liking {}'s is a preference.

Second (and weirder)
I claimed that people mess up punctuation
frequently, but they very rarely indent incorrectly. I've spent hours
looking at C code that was indented nicely but omitted a closing }.
I've seen hundreds of Stack Overflow questions that amount to missing
punctuation.
The hundreds of Stack Overflow questions where punctuation was messed up were deemed not factual.
Not factual? Denied four separate ways.
Denial One. The moderator stated that they have never messed up
punctuation like {}'s. While this may be true, it doesn't make other
people's problems fanciful.
Denial Two. Those users were "dumb" for messing up punctuation. While
this may also be true, it doesn't make other people's problems a matter
of my opinion.
Denial Three. There are more questions with proper punctuation than
messed up punctuation. This, too, my be true, but doesn't magically
make the other questions go away. They still seem to exist as stubborn
irrefutable facts. People mess up punctuation. Perhaps they're dumb,
but they mess up.
Denial Four. The moderator simply disputed the SO evidence. I was simply wrong to present it.
Wow again.
Other folks in the Programmers Chat said we were seeing "eye-to-eye"...Wait, what?
A moderator says my responses about {}'s being non-essential and people messing up {}'s were not factual. I thought I provided facts. The moderator then simply refuted the facts saying that the facts were not facts.
I'm not sure that's an "eye-to-eye" issue. That's more of a "I don't like you" issue.
["You're just being a drama queen." Okay. I was told that I had a
"history" of being "aggressive". If my history is the basis for
refuting the facts, that means this was merely personal. As in "you're
not welcome."]
The Moderator Problem is that there's no recourse. I have the third-highest reputation, but that carries no actual
weight. My answer was edited in a shockingly heavy-handed way. The
question was closed as "Not Constructive" presumably because the boss's
understanding of programming languages (e.g., {}'s are essential) is
somehow "correct" and hardly worth responding to. And I was told that
there's no reason to argue with the moderators, I should just "move on".
[I was also told to simply roll-back the edits and see what happens
next. That's being equally heavy-handed; a wikipedia edit war wouldn't
address the "I deny your facts" problem.]
The design of the stack exchange sites allows flagging questions for moderator attention. This is pure genius.
But there's no way to flag moderators for further attention.
Perhaps a "revote this answer" kind of process where the up voters and
down voters would be notified of a change to an answer. But that seems
complex. And if the original voters didn't feel like revoting after a
change, the results would be indeterminate.
It was suggested that I take the issue up on Programmer's Meta
(http://meta.programmers.stackexchange.com/). I'm not sure what would
happen. The question is closed. The heavy-handed edits and refutation
of facts are invisible and therefore irrelevant. All that's left is a
"don't see eye-to-eye" situation that no one needs to care about since
the question was closed.
It's hard to get over such a blatant refutation of stubborn facts.
It's hard to get over a moderator simply refusing to moderate but instead taking the time to repeatedly refute simple facts.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)






Comments
Chuck Dillon replied on Tue, 2012/03/13 - 1:56pm
I hesitate to chime in here but perhaps I can give you some insight into the other side of the argument. Note that I don't participate in the forum in question and so have no knowledge of what was posted there.
Curly braces - If "the boss" literally just "likes" curly braces your argument is reasonable - although it would be a pseudo-religious discussion of minimal use to the readers. But that's not a realistic interpretation. It's not unreasonable to describe your "likes" interpretation as argumentative. A more realistic interpretation is that the boss considers languages that include whitespace in their syntax specification as unacceptable. Put another way, the boss apparently considers whitespace independent parsability essential. That is a reasonable position for the boss to take.
Punctuation errors - Without seeing the actual discussion I can only infer that the moderater was arguing more that your facts didn't support your assertion. In a language where whitespace is just whitespace there is no messed up indentation, except in literal srings and similar. Formatting is strictly visual and its not a mess up to not align a block per se. So asserting people using C (or whatever) don't mess up indentation isn't informative. Especially when you consider that they can use auto-formatters in such languages. On the other hand, the fact that there are lots of syntactic mess ups in C is stating the obvious. A more useful comparison is to compare the likelihood of someone screwing up nested block structures in PYTHON versus a language that ignores whitespace. That would include considering how much help the compiler/interpreter gives you in both cases.
I have no interested a discussion on this. I don't use PYTHON and probably never will. I'll just post this and leave it at that.
Best regards.
John J. Franey replied on Tue, 2012/03/13 - 3:01pm
Chris Smith replied on Tue, 2012/03/13 - 3:47pm
in response to:
John J. Franey
John,
We are not trying to take a side in this argument and believe that StackExchange provides a valuable service to the tehnical community. We felt that this article spoke not only to the issues of Steven at StackExchange, but more so to the issue of moderation in general. Where do you draw the line on removing discussions and editing users posts and replies? At DZone, we too are tasked with moderating posts and comments on our site, and felt this post contained value by creating a conversation about the topic of moderation.
Please do not take this as a ciriticism of your reponse, in fact, it's the very reason we posted this article. I just wanted to make it clear that DZone did not have an agenda when posting this article.
Rick Ross replied on Tue, 2012/03/13 - 4:08pm
in response to:
John J. Franey
Hi John, I recognize your point of view, but I also respectfully disagree. We have never pulled punches at DZone, and we have openly allowed harshly critical (and even possibly unfair) criticisms of DZone in postings that we promote. Why, then, should we not allow significant dialogue about other sites if it is on point and not simply spiteful and prejudicial.
Steven's position seems pretty rational to me, and his blog about the incident has enough significance that I'm sure some viewers would be unhappy if they hadn't been able to see it. DZone is certainly not singling out any other publication or taking any editorial position, but Steven has proven himself to be a valuable DZone MVB and contributor. Shouldn't he be entitled to speak for himself in this community?
Jim Karabatsos replied on Tue, 2012/03/13 - 9:58pm
Chuck
Like you I have no knowledge of the SO incident and don't really want to get into that (although I can see why Steven is fighting mad).
I did want to pick you up on your reasoning relating to the content of Steven's points.
First, the "boss's" position that (s)he prefers languages where indentation is not significant (I'm paraphrasing here) is not a valid position. It might be true, and it might be impossible to change (Steven's point) but it is not VALID. A valid position might be "all our programmers are experienced in '{}' languages and I need to see a real justification for introducing an indentation-based language" but that is not what was said here.
More importantly, however, I think you missed the point when you said:
True for the compiler. Not true for the programmer. Have you really NEVER looked at a control structure where the indentation did not match the semantics of the code and misread it? Really? I know I have, and so has every programmer I know.
Again, you're coming at it from the compiler's point of view. Sure, a Python programmer can indent some code incorrectly -- that's exactly analogous to a Java programmer getting the braces wrong. The difference is that the way the compiler parses the code matches the way that the human eye parses the code and in many ways this makes it easier to spot the error (and indeed less likely for the error to be made in the first place, usually when adding statements inside a control structure). Of course, the use of good coding practices such as ALWAYS using braces even for single-statement control blocks goes a long way to minimising the chance of this happening, but I think you will agree that it DOES happen, even if only by other people.
Now, if you pointed out that Python code suffers from problems with combinations of tabs and spaces (because the way human eyes and the compiler "see" the indentation is different), then you would have a REALLY good point...
Chuck Dillon replied on Wed, 2012/03/14 - 9:49am
Hi Jim,
On the bosses position... I clearly state in my post that if you take the twice (or more) removed simplistic assertion of what the boss' position is as accurate, he has a reasonable argument. I didn't dispute that.
I have to admit I'm not clear where you are coming from in your responses to the referenced parts of my post. I did not use absolutes. I did not claim that curly braces absolutely prevented misreading. I didn't say anything ALWAYS happens or that anything NEVER happens.
The core of my point is that the valid comparison is "the likelihood of someone screwing up nested block structures in PYTHON versus a language that ignores whitespace." I didn't offer an opinion on what the outcome of that would be. I can't really since I'm not familiar with PYTHON.
On your last point about the inherent and long standard ambiguity of how tabs and spaces are presented in different mediums. I 100% agree. Not knowing details about PYTHON other than this indentation aspect my initial reaction was to be very skeptical. Perhaps the boss is coming from the same place but the boss' team member in the discussion has trivialized it.
Have a good day.
Lund Wolfe replied on Mon, 2012/03/19 - 4:27am
I totally agree that Steven should have his say here. His peers can praise him or shoot him down.
Unfortunately, one way personality conflicts do occur. I think the moderator has made a mountain out of a mole hill, to say the least. Technical questions are really more important/relevant. The whole point is to let a developer pose a question and have his peers (and contributors) offer multiple answers/suggestions and let him and all the googlers that follow sort out and determine the best answer for them. Anything that inhibits this process for anyone involved is bad.
If the moderator is way dumber than you and you aren't appreciated, you should definitely find a place where you can be appreciated.
Personally, I think what the boss wants, the boss should get. Maybe I'm old school. I don't really trust myself with whitespace control logic and I like having formatters cleanup my code, but I do think it is a personal preference and I wouldn't discourage someone from using Python, which has many strengths over other languages (especially PHP), on that basis.
Marmarc Martin replied on Wed, 2012/06/20 - 8:00pm