codewars / codewars.com

Issue tracker for Codewars
https://www.codewars.com
BSD 2-Clause "Simplified" License
2.09k stars 218 forks source link

[Feature] Functionality to prevent personal attacks #793

Closed suic86 closed 7 years ago

suic86 commented 7 years ago

Currently there's no way to prevent personal attacks in discussion as there's no moderator. I suggest to add an "Offensive Comment" flag or ignoring comments from certain blacklisted people and hide comments and solutions from them.

Rationale

I consider respect as an important value and I think that the members of the CW community are respectful in general and it would be nice to keep it so. I like CW but I don't want to be personally attacked only for expressing my opinion.

Examples

I could mention a few other discussions but here, here and here it, in my opinion, went too far.

tachyonlabs commented 7 years ago

Yeah, this one -- https://www.codewars.com/kata/unique-max-amazon-interview-question/discuss/javascript -- was a super-doozy though has since been edited a lot. I wonder if anything happens if a comment goes over some threshhold of downvotes?

the-zebulan commented 7 years ago

@suic86

Those discussions were about you ignoring duplicate katas and language specific coding standards in user-facing code (read: Initial Solution & Example Test Cases).

Or, you could just stop causing and/or ignoring the exact same issues. I wonder which one is tougher to implement...

suic86 commented 7 years ago

@zebulan:

What do you teach with your style of argumentation and communication? Please, read it carefully: The points I'm making aren't about you but about the style of argumentation.

What I've noticed while reading many of your comments can be summarized in the following maxim:

If one doesn't agree with your position, doesn't share your values or expresses that he or she doesn't care about your opinion (for whatever reason) then it's acceptable:

  1. to repeat your argument(s) whenever and wherever it's possible regardless the context.
  2. to omit elementary rules and conventions of rational, fair and objective argumentation and communication (e.g. be polite and respectful, the discussion should be about the topic not about the opponent etc.) in your argumentation.
  3. to use the parts where your opponent agrees with you exclusively against him or her.
  4. to use personal attacks as part of your argumentation.

And btw. there is no such a rule on CW:

As zebulan knows what is the best for CW, everybody must agree with him, accept his assumptions and follow his recommendations as if they were strict rules.

In general:

In real life one can avoid the kind of communication described above by not talking to and not meeting people who apply this or similar maxim but on CW it's actually not possible as almost everybody sees almost everything. Moreover, people are notified about this sort of communication.

I believe, that personal attacks shouldn't have place on CW regardless who attacks and who's attacked.

Regards,

suic

jhoffner commented 7 years ago

@suic86 and @the-zebulan you guys remind me of this https://www.youtube.com/watch?v=W4WGQmWcrbs

The fights keep spilling over into various different public forms. It would seem preventing personal attacks through some form of block feature wouldn't even solve the issue here. I would maybe suggest contacting each other on a private channel and trying to work out your differences. I haven't seen all of the discussion on CW but I know the riff between you two is starting to become famous. You both seem to mean well and are contributing to the community, so let's find a way to end these types of discussions productively.

For what it's worth, here are some official CW stances that you can use.

the-zebulan commented 7 years ago

@suic86 ,

PEP8 - Author: Guido van Rossum The conjured Codewars codex - Author: BKaestner (recommended by @jhoffner in the Codewars Blog) Codewars Kata Best Practices - Author: Codewars Founder(s)?


Pointing out issues is one of the ways we can all help to keep the content quality high on Codewars.


First they ignore you, then they laugh at you, then they fight you, then you win.

the-zebulan commented 7 years ago

@jhoffner ,

That video sums up how it feels most days haha


Just to be clear, I have not raised a single issue about @suic86 on GitHub or Gitter (and will not ever). I simply respond to personal attacks against me with the same facts that I have been citing all along.

On the other hand, I've come across at least three GitHub issues created specifically about me by @suic86 . These are continuous acts of ignorance, defiance and disrespect to Codewars itself.


Standard coding conventions for the language should always be used, it's acceptable to file an issue if they are not.

Since you are such an authority figure on Codewars, I really appreciate you taking a stance about standard coding conventions being issues on Codewars. It's helps to prove to others that these standards are widely accepted and not just my own personal opinions!

After learning so much from Codewars and the community, I get very annoyed when other people try to sabotage the quality of content on such an amazing platform for learning.

suic86 commented 7 years ago

@jhoffner: I won't bother you with this anymore but I find the stance you've taken disappointing (I'm not talking about closing this issue. Feel free to skip my comments but please read the examples.)

Examples (all quotes from zebulan):

  1. E. g.: Why can't I say that I like a kata which I didn't approve? What's the point of comments like this:

But then again, @suic said it was a "cool kata"... so searching for duplicates before approval isn't allowed. Also, proper ranking of the kata would give @suic less points so that's not allowed either. see here

  1. or this:

You [i.e suic] made a public comment proclaiming your admiration for this kata. Do you understand what a public comment is? (ibid., emphasized by me)

  1. or this:

    @suic, Your bruised ego has caused you to invalidate valid Python code with default arguments in lambda's. Your kata restrictions are getting pettier by the minute, keep going! (see here, emphasized by me)

  2. and finally this:

Your [i. e. mmalkavian] refusal to make even the smallest updates to your kata is laughable. (see here, IMO this one you really should read but as I see a part of the discussion was removed. :/)

Now let me ask:

  1. Is this really an acceptable style on CW?
  2. Has anybody from the CW staff done anything against this? (Real question as I don't know.)
  3. Is coding style really so important that one's allowed to use this kind of language to enforce it?

Thanks,

suic

My comments

Create a feature I suggested may not be the best solution but I didn't raise this just because of this "non-sensical fight". I believe that communication on CW should be kept on certain level and IMO e.g. this style is simply too agressive (NB. I didn't take part on it.)

I haven't seen all of the discussion on CW

This is the most disappointing point. :( You should read those discussions I've referred to and see what other people say. Or at least read the examples above. As you've said: "Personal attacks are never permitted and if found will be removed". However, I'm not sure if a simple removal is enough to prevent or discourage people to write this sort of comments.

Standard coding conventions for the language should always be used, it's acceptable to file an issue if they are not.

I can agree with this in certain extent. On the other hand:

  1. There are polite ways to say that someone's code contains issues. @kazk's approach is the best I've seen so far and I think people who want to help creators and translators should follow his example.
  2. I don't see the reason to invalidate tens or hundreds of solution due to a non-complaince to style conventions. It's CodeWars not StyleWars. And btw. real-life coding isn't about coding style :) To make this a medieval disputation-style theological debate full of references to authorities is ridiculous :/ IMO teaching beginners that one has to enforce proper style and conventions for all sake isn't a good practice. (And also to see the same comment under every third kata is kind of annoying. (read e. g. smile67's comments here))

It's also disappointing that CW encourages people to be "self-styled judges" who don't let people to play. Correct me if I'm wrong but CW isn't primarily an educational site.

Sad thing is that I've invested a lot of time in CW and therefore it's hard to left it (and all the code I've written) behind. I really would like to have a db dump of my solutions (Can you do this for me? :)) and leave CW behind me as there's been to much disappointment :(

Regards,

suic

kazk commented 7 years ago

@jhoffner

  • Standard coding conventions for the language should always be used, it's acceptable to file an issue if they are not.

I agree and I think it's obvious that exceptions apply to certain types of kata like code golfing, but please make it clear as this is official stance and some people take "always" literally and blindly. Or do you actually mean to ban such kata?

jhoffner commented 7 years ago

@suic86 It seems like there may be personal attacks happening both ways and to be clear I'm personally not for that. I'm also not trying to get into the middle of anything. That's why I was simply hoping you two could hash this out once and for all, perhaps in a private channel. I'm simply just trying to steer an angry back and forth between two people away from the community as it might inspire more people to join in. "War" may be in the name, but Codewars is actually meant to be a peaceful place to train.

To be clear, I'm not taking a side here. @the-zebulan also seems to be taking a stance that coding conventions should be used, but my point wasn't to back him up. I would have to read walls of text to understand the full argument between you both and I have neither the time nor the patience to do that. I respect your contributions to the site. My point is simply that Codewar's standard convention is to use standard coding conventions.

The reason why standard coding conventions are used is because when working on a team or using/contributing to open source software - if everyone decides to implement their own naming style then things can become a mess really quickly as code gets merged in. Beyond that, naming conventions are in place no just for style and "prettyness", but because they have a semantic value to them. Take Ruby for example. ALL CAPS are constants, UpperCamelCase are classes/modules, snake_case are methods. If you use coding conventions and look at someone else's ruby code, this is clear immediately. If you don't, things just become more complicated.

For what its worth, if I was interviewing someone for a position and they told me they were a great Ruby developer, and they didn't use snake_casing for method names when they submitted some code to me, I probably wouldn't hire them. It has nothing to do with me not liking their style, or me not liking creativity. It would be a red flag to me that they may not do well in a team environment. Coding conventions have an important purpose.

Now in your case, maybe you just like your style, and Codewars isn't the real world so you figure why not - however Codewars is a place where people come to train, pick up tricks, best practices, learn to solve interesting challenges they haven't seen before, etc. It reflects poorly on the content of the site if a lot of the content is being implemented using naming conventions that are not standard. I'm saying this in general. I'm not saying your content specifically is poor. I don't have much time to do challenges on the site anymore (my TODO list is 1k items long) so I'm not deeply familiar with your challenges/translations, so I wouldn't even have an opinion on that. I'm simply stating that the content would probably be made even better if it followed conventions.

@kazk User's solutions can be in whatever style they want, its just that the example/setup/test case code that is given to them to start with should ideally follow conventions. If it's a really creative kata and there is some specific reason why standards shouldn't be followed, then special exceptions are ok. What I'm stating here is simply guidelines to follow. Codewars doesn't have some sort of specific moderation meant to reduce this specific issue.

I don't see the reason to invalidate tens or hundreds of solution due to a non-complaince to style conventions.

@suic86 I agree. Maybe lets just work on any new content moving forward using standard coding conventions.

@the-zebulan

Your refusal to make even the smallest updates to your kata is laughable.

To be fair, this isn't the best way to start a cordial conversation. I'm not sure what the context is, you said "round 4" so maybe you were frustrated with the lack of compliance. I hope Codewars taking an official stance on naming conventions helps you raise issues to other users in the future without the need to attack. I do hope that you can understand though how others would feel attacked and how that is not best for the community.

@suic86 If you still want to leave the community let me know and I will get your your solutions. I would need to write a script first.

the-zebulan commented 7 years ago

@jhoffner ,

Here's the context (briefly, I know you are busy):

Your [i. e. mmalkavian] refusal to make even the smallest updates to your kata is laughable. - Me

So, I raised the issue, gave the answer (was then told it was impossible), wrote the backwards compatible code in a kumite for mmalkavian to run (to prove none of the 9 solutions would be invalidated) and then forked the Python translation and fixed everything. mmalkavian refused to implement the fix OR click a single button to fix the issue. Every time I re-raised the unfixed issue, it was closed.

Of course, in @suic86 's small mind, I was in the wrong.


Also, maybe Codewars would like to inform @suic86 about an official position about sexual harassment.

suic86 @suic86 Dec 15 2016 18:02
(rofl)
This is pretty constructive (rofl)
I would say that you need more sex but that's maybe not PEP8 compliant (rofl)

GitHub seems to be against it, as does Gitter (where the comment occurred).

The following list is not exhaustive, but it should help to identify what may be sexual and gender-based harassment:

  • questions or discussions about sexual activities
  • sexual jokes, including circulating written sexual jokes (e.g. by e-mail)
  • sexual or gender-related comment or conduct used to bully a person
kazk commented 7 years ago

First of all, I need to admit that I'm slightly on @suic86's side, simply because I know @suic86 more. But following comment is unaffected by this and I'm not taking sides as I don't know the full details.


@the-zebulan

Pointing out issues is one of the ways we can all help to keep the content quality high on Codewars.

I don't think anyone is against you pointing out issues and I often agree with your claims. At the same time, I also find your words too harsh. The impression I get is more like policing than helping which may be the source of you being misunderstood. Some of your comments implies you're constantly watching @suic86, making your impression worse.


The main point of this issue is "personal attack". And I believe this is clear from some examples. In the discourse of "If you can read this..." kata, you commented,

But then again, @suic said it was a "cool kata"... so searching for duplicates before approval isn't allowed. Also, proper ranking of the kata would give @suic less points so that's not allowed either.

And rationalized this by,

Instead of raising the duplicate issue (you already solved the duplicate), you just mentioned how this kata was so "cool" that you upvoted it. Upvoting a kata moves it forward in the approval process but raising an issue stalls that process.

You also have a bad habit of "resolving" issues on other katas where duplicates are specified without doing anything to make the kata unique. Does that answer your question?

You made a public comment proclaiming your admiration for this kata. Do you understand what a public comment is?

PS - It's too bad you went silent after @jhoffner's comment which clearly stated that your bizarre position on best practices and naming conventions was wrong. Your poorly thought out responses are usually so quick. It almost seemed like you knew he was right...

You also helped improve this kata the day before which in my opinion is much stronger push towards approval than @suic86's comment. If your counterargument is that you didn't know about the duplicate, but @suic86 did ("you already solved the duplicate") then you're accusing @suic86 of forgetting one of 1.5k+ katas solved. Accusing without any evidence and "proclaiming" in "public comment" like this is "personal attack".


Again, I'm not trying take @suic86's side. I couldn't stand how unfair this issue appeared. I tried my best to only show the facts for the second part. I really hope there's a better resolution than @suic86 leaving CodeWars.


@jhoffner, thanks for your time making it clear. I'm not trying to "join in" and this will be my last comment for this issue.

the-zebulan commented 7 years ago

@kazk ,

I'm not taking sides as I don't know the full details.

No, you don't know the full details since your reading skills seem to be as polished as your writing skills.

I don't think anyone is against you pointing out issues and I often agree with your claims.

What a bizarre statement. Do you realize you are in a thread opened by someone who wants me banned/blacklisted for pointing out issues? This is also at least the third such GitHub issue about the exact same topic (hint: someone who is "against" me for pointing out issues)

I guess I should be grateful for your silent support... except it's hard to believe since you attack me every time @suic86 writes another comment. Don't worry, I won't wait for your "thumbs up".

Some of your comments implies you're constantly watching @suic86, making your impression worse.

I'm watching @suic86 ? haha Why don't you go try looking at my comments. I get downvoted even when I reply to a comment like this: "Thanks for the comment!" @suic86 goes through my comment history downvoting all of my comments to make me lose points. Petty and vindictive are a couple words that come to mind.

Accusing without any evidence and "proclaiming" in "public comment" like this is "personal attack".

Without any evidence? Again, your reading skills seem to be lacking since you literally quoted the evidence in the quotes which you provided. Your attempt to bend the definition of "personal attack" is amusing. Feel free to read my comments again to freshen your memory.

Again, I'm not trying take @suic86's side.

Any rational person who could read your comments directed towards me would have to disagree. You jumped on the bandwagon a long time ago and refuse to accept that @jhoffner 's position is exactly what I've been saying all along.


Your nonsensical reply was amusing to read, too bad it was your last comment. I was looking forward to dismantling your next soliloquy.

jhoffner commented 7 years ago

Duplicate of #787 - I will try to implement a block user solution within the week.

the-zebulan commented 7 years ago

@jhoffner ,

Implementing a "block user solution" doesn't do anything to stop @suic86 from sabotaging katas by creating and ignoring the exact same issues as before.

Very disappointing.

the-zebulan commented 7 years ago

@suic86 ,

Time to dismantle your pathetic arguments piece by piece... again.


Why can't I tell that I like a kata which I didn't approve?

You ignored obvious issues with that exact kata and then commented about how you upvoted it. A threshold of upvotes is what is necessary in a kata becoming approved. You knowingly helped a duplicate kata become approved... again.


Last but not least: It's not your business if I like a kata or not! - @suic86

To which I responded:

You made a public comment proclaiming your admiration for this kata. Do you understand what a public comment is?

It's a legitimate question to such an idiotic statement. How would I even know that you liked a kata if you didn't make a public comment? I could guess that you would like a kata if it's a duplicate, has no random tests and plenty of spelling mistakes. Is that the correct criteria? Oh wait, I forgot to add camelCase on a Python function name.


Your bruised ego has caused you to invalidate valid Python code with default arguments in lambda's. Your kata restrictions are getting pettier by the minute, keep going! - Me

Every single time I submitted a new solution to your duplicate leap_year kata, you modified the kata code to invalidate my solution. Your actions show that you are petty and vindictive.


According to @jhoffner 's latest comment, your temper tantrums seem to have worked. Congratulations and good luck with your continued sabotage of Codewars.