Mr. Lott has been involved in over 70 software development projects in a career that spans 30 years. He has worked in the capacity of internet strategist, software architect, project leader, DBA, programmer. Since 1993 he has been focused on data warehousing and the associated e-business architectures that make the right data available to the right people to support their business decision-making. Steven is a DZone MVB and is not an employee of DZone and has posted 137 posts at DZone. You can read more from them at their website. View Full User Profile

The Moderator Problem

03.13.2012
| 5567 views |
  • submit to reddit

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.

Published at DZone with permission of Steven Lott, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

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

I think dzone editors should have refrained from reposting this blog entry. Certainly, I am not against Steven Lott airing his issues with stackexchange moderators. He has no recourse but to write about his frustration in his blog, I think, as they have suspended his membership. I think reposting the blog reflects poorly on dzone. Dzone appears to be used as a heavy club, or a 'hall of shame', against stackexchange. I don't think this aligns with the purpose of dzone. Also, because stackexchange is in the same kind of business as dzone (sharing technical information), reposting this negative content looks petty.

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:

"In a language where whitespace is just whitespace there is no messed up indentation, except in literal srings [sic] and similar.  Formatting is strictly visual and its not a mess up to not align a block per se."

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.

"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."

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

The question about where to draw the line on removing discussions and editing users posts and replies is of course a very interesting one. And it's a fundamental problem of SO and I'll just give one example (there are so many I don't know where to start, so I'll give just one). Some users who have editing rights have been repeatedly caught entirely changing questions (which is much worse than simply deleting it) and explaining why they thought it was perfectly valid to do so. It is really terrible: in some case the crazy editor didn't understand the (interesting) question but understood the answer (the answerer itself didn't understand the question). So that moderator now edits the question to match the answer! The user "George Stocker" has been repeatedly doing that and is even using it as a "proof" that he's a good SO user and that he should be elected as a moderator. And nobody at SO is stepping in to "draw the line". Now as to me, the fact that some moderator decided to drop Steven from SO is a line that they shouldn't have crossed. I won't be answering any single question there anymore (3K rep user there).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.