http://qs321.pair.com?node_id=1071697

I mentioned this in another thread, and Anonymous Monk kindly suggested I float it in its own thread - so here we go.

The problem at hand re anonymous users is that some people really really love Anonymous Monk, and others really really don't. There are certainly folks who are very vocal about this both ways and who continue to be; the consensus has always been either anonymous posting must completely stop forever and the Anonymous Monk be eliminated, or anonymous posting must be left as it is because it is too difficult to do anything about it.

I'd like to propose a possibility that might let both sides of this discussion have what they want - it it obvious that there is at least some dissatisfaction with anonymous posting as-is, and it's also obvious that we're not going to eliminate a feature which is very popular with many.

(Those who understand the internals of the Perlmonks engine, bear with me; I've not seen the code, so I do not yet know if this is feasible. If I'm incorrect, let's talk it over and see if the concept is something we can work with, even if my specific implementation guesses are not.)

Requirements:

  1. We keep the Anonymous Monk. This is, from much reading here, not negotiable.
  2. There are, from time to time, personality conflicts among the members of this site. This is simply a fact.
  3. At times, some people may not want to see postings from others, either selectively, or at all.
  4. Any proposed solution must not alter the current functionality's default operation.
  5. Any suggestion must be as small as possible a change.
This seems like a difficult set of criteria to meet without altering the most basic characteristics of the users - but let's look at this from a different angle. What if we made "allow anonymous users to respond" to be a characteristic of a node instead?

We'd default this characteristic to be on unless turned off. If turned off, all child nodes of this node would inherit the characteristic (whether by data inheritance or plain old copying is an implementation detail - suffice it to say that the characteristic would be added to each node, and only the first node in a new thread would have the option of setting this characteristic - for simplicity, if you started out open, you don't get to "take it back"). All child nodes would retain the parent's characteristic, and would not be allowed to alter it. However, if node characteristics are truly inheritable from a root-of-thread node, then "taking it back" is possible (what is my root node's current "allow anonymous" setting?), and a nice thing to permit. I do not think nodes should be pruned if this setting is changed; that adds too much complication.

Alternatively, each top node could have a pointer to the originator's "block list". Checking a "no anonymous replies" checkbox in your home node adds the Anonymous Monk to this list; a secondary input field/page in the user's home node settings would allow them to add other ids to the block list (probably stored as home node IDs). Each new thread would copy/inherit the block list from the user to the root node - probably copy, as we don't want the changes to propagate across large swaths of the database if someone posts a lot then alters their block list. Each subsequent child node would continue to receive this block list.

Users who did not want to block the anonymous monk would leave the box unchecked (and if the block list exists, would have an empty block list); this allows them to use Perlmonks in the style to which they are accustomed.

Users who want to block other monks (whoever this might be) would add them to their block list (or check the box), and they would no longer have to see posts from those monks. Blocked monks would receive a polite "monk prefers not to see your posts, sorry" message when trying to post to a node/thread on which they are blocked.

Considerations should not be blockable; I'm on the fence about votes. Needs discussion to tease out the positives and negatives here.

Let's please not simply say declare it impossible; let's think about it and see if we can partly do it if the whole idea doesn't work. If there are architectural issues, let's look at them and see if there are any further ideas that might let us move forward in a different way with the same kind of function.

It just comes down to each monk being allowed to control what they wish to read, which is a reasonable goal. Let's see if we can find a way to meet it. I am more than happy to do (and capable of doing) work to make this happen.

  • Comment on Having our anonymous cake and eating it too

Replies are listed 'Best First'.
Re: Having our anonymous cake and eating it too
by Corion (Patriarch) on Jan 23, 2014 at 07:35 UTC
    […] the consensus has always been either anonymous posting must completely stop forever and the Anonymous Monk be eliminated, or anonymous posting must be left as it is because it is too difficult to do anything about it.

    No, that is not the consensus. At least for me, anonymous posting must be left as is because anonymous posting is a feature of this site and really lowers the barrier of entry for asking a question.

      anonymous posting must be left as is because anonymous posting ... really lowers the barrier of entry for asking a question

      That presumes that the only way to keep "the barrier of entry for asking a question" at a desirably low level is to keep anonymous posting as is. I'm pretty sure that's false. We could, for example, implement pemungkah's suggested change -- allow a poster to control whether to allow anonymous responses -- and Anonymous Monk would still be able to post root nodes.

      Of course, you're right in saying "anonymous posting is a feature of this site". It would be nice to get a more persuasive argument for why it's a good feature, though. :-)

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Having our anonymous cake and eating it too
by marto (Cardinal) on Jan 23, 2014 at 10:32 UTC

    What problem are you trying to solve? This proposal solves nothing. People could simply register accounts for single use (anon1234, anonABCD...), post in a 'AM locked' thread and never use them again!

    With the exception of the point Jim raised regarding which AnonymousMonk am I replying to (being able to differentiate between multiple anonymous posters in the same thread) I have yet to see a valid argument for changing anything.

    Update: Edited first paragraph for clarity. Fixed closing bold tag.

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Having our anonymous cake and eating it too
by tobyink (Canon) on Jan 23, 2014 at 09:10 UTC

    If I marked this post (the one I'm writing now) as disallowing anonymous replies, then Anonymous Monk would still be able to reply to the points I've made - they'd just have to click "reply" under the top node, or under Corion's node.

    All this change would achieve would be to break threading, and make long discussions on this site less readable.

    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
      You could NOT "mark this post" under pemungkah's proposal. It's NOT an OP, whereas the proposal says "only the first node in a new thread would have the option of setting this characteristic."
      Come, let us reason together: Spirit of the Monastery

        That's just a question of granularity. My point is that it wouldn't stop Anonymous Monk from replying to anybody's messages (they could just post a new top-level node), but it would just stop them from being threaded in the correct place.

        use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
        Then the Anonymous Monk could reply to the owner of the thread in a different thread where he would not be the author...
        لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re: Having our anonymous cake and eating it too
by ww (Archbishop) on Jan 23, 2014 at 13:50 UTC
    IMO, the (OP, top of thread) proposal misses/ignores a major point made by those who want sub-identication of Anonymonks because they can't figure out who's saying what in a thread populated by comments from more than one AM.

    Sometimes the distinction among anonymous posters is fairly obvious (so long as we rule out trolls conducting sock-puppet wars with themselves) but sometimes -- where there are shades of opinion expressed at some remove from one another -- it's anything but obvious.

    I don't share the notion that we are somehow violating privacy if we use IP or MAC address or other device to distinguish AM1 from AM2 , per case, in a single thread so long as the basis for the distinction is neither published nor retained in any retrievable way (ie, encrypt the distinguishing characteristics).

    Now, that's still a proposal that would let a dedicated AM fake a new character, by moving from one IP to another between posts... but I suspect that's more trouble than most would find it worth.

    There are many other issues, obviously... for example, I (and I suspect others) tend to (at least at first glance) give extra credence to posts by Monks who have, IMO, established by their posts, a reputation for excellent advice/instruction/etc.

    BUT, allowing the posters of new threads to rule out both the good and the bad of Anonymonk posting seems ill-advised. Thanks, however, to pemungkah and others above, for thoughtful posts.

    Come, let us reason together: Spirit of the Monastery
Re: Having our anonymous cake and eating it too
by zentara (Archbishop) on Jan 23, 2014 at 13:40 UTC
    Anonymous to who? Surely, the monks could put a cookie in your computer to identify whover is connecting? The monks can also tell by IP address and daily patterns, who Anonymous Monk actually is. I'm sure the NSA could track back any anonymous post to whatever computer sent it.

    The only real value to Anonymous Monk is that it offers some privacy to people who can't login officially, maybe because they are currently sitting in a cubicle, and it is against company policy to do any outside work.

    Another use, is to prevent flare ups of old grudges. You can respond without others knowing it was you. :-)


    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
      > maybe because they are currently sitting in a cubicle, and it is against company policy to do any outside work.

      There are different shades of grey... Many known users are anonymous here ( or should I say many named users are unknown? ;)

      So taking a fake identity is no big problem if $$$ doesn't block the IP.

      Its true that some regular Anonymous Monks are annoying cause they can't be easily (mentally) filtered out by name...but it can't be helped since PM w/o AM is not PM anymore.

      The answer is easy...people have to learn to judge posts by content !!!

      And to stop upvoting replies which are only feeding annoying posters.

      Btw: ignoring AM is simply done with little CSS!

      :)

      Cheers Rolf

      ( addicted to the Perl Programming Language)

        > judge posts by content

        Upvoted because that's exactly the point. It's very simple.

Re: Having our anonymous cake and eating it too
by Jenda (Abbot) on Jan 23, 2014 at 16:54 UTC

    I don't think this solves anything. (Most of) Those opposed to anonymonks do not want to see them responding to any nodes. Not just to their own or those created in response to their root node. You'd please too few to warrant the work required. IMHO of course.

    Jenda
    Enoch was right!
    Enjoy the last years of Rome.

Re: Having our anonymous cake and eating it too
by talexb (Chancellor) on Jan 23, 2014 at 14:39 UTC

    Would an account option to hide Anonymous Monk posts be a possible solution? I'm still not sure what problem we're trying to solve here, but I thought I'd pass that idea along.

    Like nodes below a set level (I think mine is 10), the AM posts might show up as collapsed blocks. Hmm .. but the replies to AM would still show through.

    I don't mind AM posts myself, and have posted anonymously on occasion. :)

    Alex / talexb / Toronto

    Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

      I suggested in my reply to tye that maybe artificial downvotes associated with a per-user blocklist might be a cheap and easy way to do this. Threads just stop rendering with the "below your threshold" message when they hit someone in your blocklist; you're free to open up that link if you want to keep going.
Re: Having our anonymous cake and eating it too
by pemungkah (Priest) on Jan 23, 2014 at 18:47 UTC
    Rather than replying in a fragmentary fashion to numerous posts (and thank you very much for reading and considering my idea!), I'll summarize here in a direct replay to the original node.

    “…anonymous posting must be left as is because anonymous posting is a feature of this site and really lowers the barrier of entry for asking a question.”
    As jdporter says, blocklists or ‘block anonymous replies in this thread” don’t affect this. A top-level node is always postable by the Anonymous Monk; if someone has blocked the AM, then they simply won’t see that node and following thread.

    “If I marked this post (the one I'm writing now) as disallowing anonymous replies, then Anonymous Monk would still be able to reply to the points I've made - they'd just have to click "reply" under the top node, or under Corion's node.”
    If the top level node is marked “no anonymous replies”, then all nodes below it inherit the “no anonymous replies” flag, so none of the nodes is eligible for an anonymous reply; same logic applies if you use inherited blocklists. New threads can certainly be started; if you’ve decided to block the Anonymous Monk, then you simply don’t see those posts.

    ‘People could simply register accounts for single use (anon1234, anonABCD...), post in a 'AM locked' thread and never use them again!”
    Sure, but this is a significantly higher cost than logging out and posting as AM. If blocklists were implemented (my preference), then one could simply add any new user they found annoying or uninformative as blocked. The “create a new user” over and over again becomes a higher cost when a “target” can with one operation make them invisible.

    I’d suggest that the thread render simply stop if a reply is seen by someone on the current user’s blocklist; effectively, the thread ends right before the blocked user posts.

    “…proposal misses/ignores a major point made by those who want sub-identication of Anonymonks because they can't figure out who's saying what in a thread populated by comments from more than one AM.”
    I saw the proposal of differentiated AM’s in a thread go by, and I like it; I think it’s a good idea, and I’d like to see it. However, it still doesn’t address the fact that one of the AM’s in the thread may be being abusive, uncivil, mean, and nasty, and that the person on the receiving end of this has no effective response other than no longer participating in the thread.

    “…people have to learn to judge posts by content!
    I am solidly in agreement with you on this, but perhaps not in the way you think.

    Content is the real core of the issue, and the structure of Perlmonks is why per-user blocking matters. We depend on people seeing things to downvote the bad and up vote the good. When there are many nodes posted, one doesn’t necessarily have enough votes to see and vote down all of the uncivil and impolite nodes - and if one does, there’s a potential of ending up in “dog vote” territory, where a well-meant action ends up punishing the person trying to do right.

    Consideration is by policy not to be used for incivility and impolite posts; I’d definitely like to see that changed, but it is a cultural assumption that these posts must be permitted or we’re “censoring” people. Setting aside the fact that Perlmonks is a private organization and not a government and may therefore decide to allow or disallow anything it pleases, I personally believe that anyone being an ass deserves to be thrown out, not just ignored. There’s only so many times you can have to read “you’re stupid” or “you’re a bad person” before you want to just leave and never come back - but as things stand, there are no cultural limits to such posts.

    This sets it up so that are limited resources to handle negativity and incivility, which leads people away from doing so. This reinforces a situation of “well, I won’t downvote that because I have to not downvote very much, and I can't consider this because that's not accepted.” This leads to an implicit cultural more that says, “I can’t do anything about someone else’s bad time, because it will end up hurting me if I do.”

    The blocklist allows the person receiving the uncivil and nasty posts to judge the content of the posts and say, “you know, if this is how you want to interact with me, I don’t want to have to interact with you.” The “no anonymous replies” filters the easiest route to incivility; if you have to log in and post and have nasty associated with your ID (or you have to create a new ID to do it), then there’s a considerably higher cost to being mean. The blocklist moves the choice of what one decides to see to the reader, instead of to the community at large, which has a negative incentive to act.

    This proposal isn’t a perfect solution. I didn’t expect it to be; it’s a idea that suddenly struck me yesterday evening. I’m trying to open the discussion to see what we can do other than what we’re doing now, because there is a hole in our combined cultural/software model: it is easy for anyone at all to post uncivil and impolite replies. We’re doing a lot of “that’s not a bug, it’s a feature” and “this doesn’t seem like a bug to me”, which to the person reporting the bug says “we don’t care about what you want” and “your opinion doesn’t matter”. It certainly matters to the person getting nastygrams; let's look at what we could change to help them.

      Consideration is by policy not to be used for incivility and impolite posts; I’d definitely like to see that changed, but it is a cultural assumption that these posts must be permitted or we’re “censoring” people.

      No, it is just that the same principle applies: The best remedy for bad speech is to counter it with good speech.

      It is also significantly because that, without the discouragement against reaping of relatively minor infractions (such as being "impolite"), the result is rather easy to predict and has already been seen and is not pretty. But first, let me quickly describe the scenario where reaping "impolite" nodes can work rather well.

      If you have a very small and cohesive team of people dedicated to enforcing what they consider to be a sufficiently positive tone, then it can be quite beneficial for that team to suppress contributions that only rise to the level of "significantly impolite". On the internet w/o a physical location shared by the team members, such a team is very often just a single person.

      In such scenarios, it often works even better if new nodes are hidden until they are approved by the team, and not just because it prevents a flood of negative posts being made before the team can react. I think people are less disturbed by "my submission was not approved" than by "my submission was posted and then later deleted".

      PerlMonks, having been on-line for this long, has not had any dedicated, cohesive team survive that long no matter the purpose. There have been a few teams that stayed relatively dedicated for quite a while and were even moderately cohesive, but each failed to stay even close to that for even a fraction of the lifespan of PerlMonks. And handling membership churn is significantly tricky, especially when trying to stay high on the "cohesive" and "dedicated" scales. Heck, even just adequately detecting churn is a big problem.

      The mechanisms that have proved most beneficial to PerlMonks are ones where new members automatically gain additional abilities simply by interacting enough with the site (XP is a measurement of site participation with a bias toward faster rewards for constructive participation).

      So the population of enforcers is going to be some fraction of the full membership. To get sufficient "dedication" the fraction can't be tiny. To counteract the lack of cohesion, you add consensus voting, which means you need an even larger fraction since it takes at least a handful of like-minded senior members (not just one) to cause an action.

      This gets us to something at least roughly like the current "consideration" system.

      Now, if you throw the official target space of nodes up nice and wide by including such minor infractions as "impolite", then you quickly notice problems. Excluding everything that, say, tye finds offensively rude would likely be a net win (and not because tye is an exceptionally good judge of manners). But suppressing everything that any one of the hundreds of senior members finds troubling impolite with the minor catch that they have to get 4 others to agree with them, that quickly leads to tons of things being suppressed just because several people didn't understand them (for example). And that leads to lots of grousing and other reactions to a bunch of specific cases of this or that being suppressed. Pretty soon the site is more about arguing and complaining about what should or shouldn't be suppressed than it is about discussing Perl.

      I much prefer the relatively rare nasty reply and relatively rare flame fest that PerlMonks currently endures to the constant bickering around meta arguments about rampant node suppression.

      The biggest current problem I see with anonymonk is the number of members who feel that they are justified in swiping at somebody just because they posted anonymously. If you can't handle anonymous postings, then you shouldn't respond to them.

      I'm constantly considering ideas for adjusting how anonymous posting works at PerlMonks. Most of the ideas I read about or come up with don't quite reach the bar of being very likely to be a net win, much less being worth the effort to try. I don't think this suggestion reaches that bar, either.

      - tye        

        Pretty soon the site is more about arguing and complaining about what should or shouldn't be suppressed than it is about discussing Perl.
        You mean like this thread, and all the other ones like it? Well said.
        I think that perhaps we are talking about different kinds of "bad" speech.

        I dislike bringing this up, but it's a good example - and an example of where "fight bad speech with good speech" didn't happen. In the thread concerning the poll in which I remarked that I felt that certain kinds of people were portrayed in a demeaning way, I got very little "good" speech in response to quite a lot of "bad". There are certain sensitive topics on which this policy just doesn't work. (I do not think it reasonable to say, "well, then don't discuss those here." Pretending that problems within the larger or smaller community don't exist or shouting them down does not make them go away.)

        I understand why you say that consideration shouldn't be used this way. This only underscores the need for something that allows each user to shape his or her experience on the site. "If you can't handle anonymous postings, then you shouldn't respond to them" isn't sufficient.

        Everyone does not experience Perlmonks in the same way, because we are not all the same people. Most people's experience is indeed that the Anonymous Monk is at most mildly irritating, but in certain situations the Anonymous Monk's posts are actively painful, angry, mean, demeaning, or nasty. As I mentioned, the emergent result of how down votes work and how consideration works means that bad behavior is not censured, and will more than likely not be censured. There are too few votes spread across too many nodes. If one did have enough votes to vote on every node, it would take far too much time to do so, and the number of negative votes that might be needed in a particularly bad situation - when they would be needed most - would probably drive one into "dog votes".

        Having had one of these massively negative reactions has colored my experience as to how I feel about Perlmonks. I used to feel as if I had been among friends or comrades who supported me, and was shocked when some of them suddenly turned on me and began insulting me and demeaning me. I felt that my trust hadn't been valued. I've lost that original (many-year) positive feeling. Given how the site currently works, I feel powerless to do anything should this happen again, and discouraged.

        We say that the Anonymous Monk exists because we want to encourage participation. Have we ever measured whether this actually is true or not? Are more threads initiated by the Anonymous Monk, or are they initiated by people who have signed in? That's a concrete data item, and it would be interesting to see that, perhaps over time?

        My particular suggestion is not meant to be the final answer to how to fix the problem. It is meant to open a discussion about what the actual problem is. I believe that it's the problem of not being able to control one's own experience. I'm more interested in hearing what people have to say about the idea or related ideas. I do not claim this is a perfect solution, but so far the suggestions I've seen have mostly been "how do we change the site to make the behavior change?" - and I don't think that's going to work. I think we have to approach the problem from the other end, which is "we can't change behavior via software; what should each user be allowed to control to improve their experience instead?".

        Perhaps exploring the idea of extending the node-pruning done by comment and score thresholds would work? Artificially adjust the score of each node using the user's block list (say -1000 fake votes) so threads containing people they don't want to see are trimmed using the standard page construction code? Again, not a perfect solution - I'm just talking. More interested in whether you think approaching the problem from the other end, so to speak, is a better way to go.

Re: Having our anonymous cake and eating it too
by sundialsvc4 (Abbot) on Jan 24, 2014 at 01:22 UTC

    In all of these various threads, in all of their various flavors, I think that we come down to the supposition that “Anonymous Monk” postings are made by people who have something to hide, or that want to say things “candidly” without bruising their “precious XP,” and so on.   And, we come up with all kinds of complexities to deal with these perceived-wrongs.   Most of these somehow seem to revolve around de-anonymization of some kind.

    I doubt that most of these things are actually true.   (And:   screw “XP ...”)

    Frankly, I post things anonymously sometimes because I am embracing one of the Key Principles of Perl:   Laziness.   :-)   The site does not oblige me to log-in before snapping off a reply, never asks me for a password when I don’t, so I don’t.   Mea culpa.

    Personally, I think it’s crazy that a site permits an anonymous user to post something, and for it to immediately appear on the site.   I can only imagine how much additional garbage-cleanup this must generate.   If I owned the site, I would choose to do different things with it.   I do not.   The mere fact that a posting is anoymous does not necessarily mean that it was a choice at all, let alone that it was a nefarious choice.   (The site sometimes drops logged-on sessions without warning.   Poof ... anonymous.)

    If some people don’t like some other people, then ... so be it.   If some people want to hide behind AM in order to vent their spleen, then ... ditto.   If enough people want to get rid of AM, then, we’re all capable programmers and it could have been done in a day or two.   If not, then why keep talking about it.   Eccentricities are not always bad.

    The site’s value, to me, is that it is an information resource:   it is IMHO the “go to site” concerning the Perl language.   I don’t think that you can compensate for human behavior with software, and perceptions of human behavior probably should not drive “one-of-a-kind features.”   Making this site, including its many years of “super searchable” archives, the very best possible resource for Perl-related information, ought to be our primary goal.   Trying to second-guess what other people do and/or why they do it is probably a waste of time and code-complexity.   JM2CW.™

      I can only imagine how much additional garbage-cleanup this must generate

      Not that much, actually. And how much more it generates relative to how much we'd have if we nixed Anonymous Monk, very very little indeed, probably. As has been pointed out many times.

      If enough people want to get rid of AM...

      It doesn't work that way. This place is not a democracy, it's an oligarchy, verging on autocracy, plus a good dose of bureaucracy. ;-)

      Eccentricities are not always bad

      Eccentricities are generally good (imho).

      Trying to second-guess what other people do and/or why they do it is probably a waste of time ...

      That's the most insightful thing I've seen you write.

      I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.

      "Frankly, I post things anonymously sometimes because I am embracing one of the Key Principles of Perl: Laziness. :-) The site does not oblige me to log-in before snapping off a reply, never asks me for a password when I don’t, so I don’t."

      So, you have proposed, many times now, that we get rid of a feature you use?

      "The site sometimes drops logged-on sessions without warning. Poof ... anonymous."

      As requested several times, prove it. It's never happened to me in 10 years.

      "we’re all capable programmers"

      Another claim I've yet to see you provide evidence for.

      "Trying to second-guess what other people do and/or why they do it is probably a waste of time and code-complexity"

      Yet here you are, once again doing the very thing you claim to be a waste of time. Please stop claiming you're interested in doing things in the best interests of this site. You repeatedly ignore posting guidelines and have provided no proof of technical issues you report or patches for what you claim are issues.