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.
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 spend 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. Note that we're way beyond any emotional response here. I'm being told that my facts are not facts.
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 we're not 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. This is a purely emotional response preventing any rational presentation of evidence.
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.
I read through the chat transcripts that resulted from the question, er, in question and...well, just wow. All I can think of to say is that StackExchange is losing a huge asset if they force you out. Your handle is very familiar to me, a frequent peruser of [python]. When there is an exceptionally detailed and helpful Python-related answer it very frequently comes from one of a small list of people...and you are one of those people. All I can say is that if you start spending less time on StackExchange it just means you have more time to spend helping in other knowledge-circles.
ReplyDeleteIf curly braces are essential and indentation is a matter of opinion, then why is indentation style considered a key issue in coding styles for curly brace languages?
ReplyDeleteBut I understand; I grew up in the curly brace world. Significant whitespace was downright scary to me at first, too. I overcame my fear and so will they. It's just a shame they've chased away a valuable asset in the interim.
Curly braces essential? How about all the languages that don't use braces? Like Fortran, Pascal, Lisp, Forth, Ada, Erlang, and who knows how many more. It would be easier to argue that statement terminators (semicolons, etc.) may be essential, but braces?
ReplyDeleteSad to read this and the train wreck SE chat, but the most damning part is how much latitude the moderators have to put words in your mouth. Each answer has the look and feel like it's "from me", but if moderators are encouraged to replace what I say with what they prefer I had said, I'll have to rethink my participation in Stack Exchange before aggressive editors start making me sound just like Wikipedia. The "edited" link isn't enough to signal that "my words" may in fact be someone else's.
ReplyDeleteI'm sure it was your tone that was the problem -- how you said it rather than what you said. While I don't use Programmers, your SO answers (and comments) are often dripping with an intolerable (to me) superior attitude.
ReplyDeleteI'm not sure moderator action is warranted, but I can understand wanting to remove you from the conversation, as I often feel you are a net negative whatever your level of technical knowledge or correctness.
Ok. It's about some months now since I've decided to quit SO for a while. You, Mr. Lott, you were the reason. In what way? Well, without entering to the boring details let's just say that you're "HARD" with not-so-academic-formatted-brains. I'm one of them.
ReplyDeleteBUT, your attitude made me think about why this man with worth-gold rep is hard with me? After some extra thoughts I realized that the man with the big rep (you Mr. Lott) is just PRECISE, and apparently I'm one of those who don't dare to face precision. After taking a look at your worth-being-classics books, I finally realized that I need to re-introduce myself with computer science, the science of DETAILS.
Now, I'm enrolled in a computer science class, I'm reading math books, I'm trying to be precise in my thoughts, and I'm somehow ashamed of posting those kind of questions, but it seems that it was worth it. I'm really thankful to you Mr. Lott.
BTW, I'm changed to a point where I'm starting to think that Alex Martellis answers are too long, he needs to be more PRECISE ;-)
I'm sorry, but I seem to be reading the actual exchange differently. Your original comment (in the question history) was "The extra curly braces aren't really all that helpful." Which is not the same as "{}'s aren't essential."[?]
ReplyDeleteIf your statement was "{}s are not essential in a language" it makes sense (and is fact). "The extra curly braces aren't really all that helpful" on the other hand, is an opinion because there is no way to determine whether it is true or not - what is "really", or "helpful"?
While you certainly have the right to express your opinion here Mr. Lott, it would help an awful lot to link to the question in question - for people not so familiar with the SO knowledge cycle.
ReplyDeleteThat said, I always feel that a message consist of 50% content and 50% presentation. For example the sentence "False assumption." has the content "I think this is a false assumption" for you. I believe, you try to cut the 'obvious'. Others might read the 'obvious' as "I know that better than you". It is your personal opinion - your presentation should reflect this clearly imho or the message becomes unclear: "I feel this is a wrong assumption." I think you want to be effective - but you cannot be effective with people (See the 7 habits book).
The comment of Wassim suggests to me that people could have taken offense in your presentation which could have lead to a swing of emotions which could have led to this no-win situation here. Wassim seems to have taken a commendable approach to this and changed (bettered!) himself which is really the only thing one can do as one can't change others. I would suggest you take an example in him as he did in you and think about 'bettering' your presentation. I do not put the blame on you (or the moderator for that matter) - but you cannot change the moderator, only yourself.
I really hope we do not loose your knowledge and your love of sharing it. It would be a loss for the python community.
This shut down is indeed quite unfair, but you had it coming.
ReplyDeleteYou do have an history of being agressive, on SO at least.
I do find your answers interesting, I even got your blog in my RSS feeds.
But man, if you don't learn to say interesting things in a more diplomatic way, you'll get people cumulating bad feelings about you, and they will strike back one day (like this one), whatever the reason, just because they can.
You can ignore this advice (which, again, comes from somebody that actually likes to read you), but if you do so, just stop complaining about the consequences.
You could claim that your high smart/humble ratio is really Asperger Syndrome (like Temperance Brennan on "Bones"), and they're discriminating against you ;-)
ReplyDeletewait... they kicked you off SO? that's insane given your contribution.
ReplyDeleteThat being said, I echo the feelings of e-satis and sirver
if your goal is to teach people you need to do more then provide a sufficient answer. Maybe pick up a book on teaching like Ignite (geared towards teaching younger children).
In short, people need to feel comfortable in order to learn. If they feel mocked,afraid,outclassed or any anything other then excited and safe they will recoil. Enough recoil and they will revolt even if your answer is correct.