1. 16

    Thanks for drafting these and trying to get at a pattern. (For context, this came out of a twitter conversation.) It’s been particularly frustrating for me that meta conversations (even tag proposals) rarely propose a practical definition of where they’d draw a line, or make a list of stories/comments they’d put on either side of it so we’re actually sure we’re not talking past each other. We very often are. And most proposals are leave the important bits vague, which gives mods huge power to play favorites… and huge workload to carefully investigate and infer repeatable principles for ambiguous situations.

    For tone policing: Would you restrict this to political topics? We regularly get meta comments like “There’s a better way you could’ve said this” or when someone vents about their story/comment being flagged, explaining what happened. Would, and how would you draw a line for something like “I actually think that he’s too harsh on Objective-C”?

    How about meta comments like “I flagged this story because…” which sometimes is followed by a reason? I think it’s useless flamebait when there’s no reason because the comments inevitably come off like sounding like “My opinion is so popular I don’t have to explain it” or “You’re not worth explaining things to”. The codebase has a lot of little UI touches (not showing scores at first, not showing flags until there’s a couple, not showing replies in flagged conversations) that try to damper meta conversation outside of the meta tag, maybe there’s a broader rule worth writing/enforcing.

    Systemic issues: I think a useful test here is: would even the person whose comment is being deleted agree that they’ve violated the rule? They don’t have to like the rule or agree on the larger political topic, but they need to recognize while writing that they’re about to break a rule* so that they can avoid it, and so that every enforcement of the rule doesn’t turn into whataboutism or plausible allegations that it’s a mod enforcing their personal politics. So I see where you’re going with this and why, but I think we’d need to get more specific or find a different angle to have a practical tool here.

    • And yeah, people try flimsy excuses like “oops I didn’t know calling someone a fucking moron was an insult” but I’m not worried about that as a failure mode because it doesn’t matter to predictable enforcement of the rule.

    Maybe a theme in your proposals is “dismissiveness”? Though I’m not sure how much you’re saying you don’t want to see it at all, or in relation to specific political topics, or if recognizing it as a theme will lead towards a better draft of a policy.

    1. 12

      Maybe a theme in your proposals is “dismissiveness”?

      +1. After perusing the thread linked by the OP, I had arrived at the same word. And dismissiveness cuts across ideological divides; I see both ‘progressives’ and ‘libertarians’ (for lack of better terms) resort to it, here and elsewhere.

      A similar tactic I see especially often here is the one used in the comment the above thread was in reply to, I.e. “Why are there no women on this list?” I’m sure there’s a name for this: Responding with a short question that attempts to invalidate the entire statement without giving context or proposing any improvement. Kind of like Socratic dialog, implying the other person needs to be educated by re-considering their statement. I have seen this go on for three or more rounds here (sorry, I don’t remember where exactly.) There’s a strong implication of superiority: “I am so much more intelligent/woke/cynical then you that I shall simply pose koans that you might educate yourself by answering.”

      “Dismissive” may or may not be specific enough to use in a moderation policy, but it seems a good starting point.

      1. 4

        Going to pull in a reply to @dsc that I posted over in the thread that’s linked from this story because it’s an extension of this conversation:

        We don’t have temporary bans as a feature. It’s possible to add, of course, though I’m unsure of the value. Right now the mod tools in this area are pretty much only ‘delete comment’ and ‘ban user’. A temporary ban might be a useful series of escalating punishments. I do think may be a benefit to the mod tools being the fairly harsh ‘deletion of your work’ and then jumping way up to ‘death penalty’ in that people will self-police to avoid them… but maybe that’s just not working.

        Recently I added a “standing” page that’s linked from the warning about being heavily flagged (and PMd all users seeing the warning - add /standing to your profile URL if you’re curious) on the theory that part of the dysfunction is a failure to contextualize and take seriously the community/moderator feedback. Now that it’s had a month to guide actions, and now that its added feedback eliminates excuses about ignorance/non-seriousness, I should probably reach for user bans more.

        And there’s another big reason those mod actions may not be working. I’m recently back on a working schedule after being badly disrupted by the pandemic, so I haven’t been very active since ~February. Probably a reason feedback is not working is lack of enforcement, which is my fault as the admin, either for not doing or not delegating it. I’ve been thinking about posting to recruit more moderators; I’ll do so in a week or two. I think it’d be helpful to finish this meta conversation and otherwise improve the explicitness of mod activity before bringing more on. (And on the technical side, create a reddit-like work queue system for mods; the current dashboard doesn’t effectively prevent things from slipping through the cracks.)

        1. 2

          Worth noting that this comment is seemingly inspired by a simple question trying to incentivize people to think about how women are treated in open source which led to dozens of people deciding that I was trying to attack them instead of taking a big picture look at the question.

          This also has led to me having a very exciting warning in my reply inbox which seems excessive because a few people have fragile egos and think I’m attacking them because they need to assume negative intent. Maybe the site shouldn’t be giving me a slap on the wrist for that in the first place.

          People are now suggesting temporary bans, so now we are here where someone is trying to incentivize that we are the kind of community who punishes bad behavior such as trying to get people to think about how people that aren’t like them are cast out of their industry.

          This is the largest bunch of BS. People are trying to use a thread about not tone-policing as a way to promote a heavier ban process as a way to directly tone-police me because they assumed my intentions and can’t have a regular discussion about it.

          https://cdn.monokro.me/images/why_are_there_no_women_on_this_list.png

          First thing that we see here is that 42 people in this situation agree with tone policing, because that’s the basis for people leaving negative flags on this post. Specifically citing in multiple cases that I’m being “aggressive” because they see a direct attack and don’t recognize that I’m trying to point out something that is representative of the bigger picture. I also can’t help but wonder if my gender plays into the responses having seen similar responses to women in the workplace and open source environments in the past, but I’ll digress from that as it is no better than a guess…

          I can agree that maybe I could have been a bit more verbose to prevent people from assuming, but preventing people from assuming is also not really my job. Surely people should be smart enough to realize that their assumed intent isn’t always the true intention. Come on, are y’all for real right now?

          Even with +29 upvotes, I still end up flagged for this comment because of 28 people flagging this without any good reason. To make that clear, most of these flags don’t even make sense. Let’s break down a large trail of intentional ignorance, shall we?

          • There are 17 who think I’m trolling? Trolling shouldn’t even be a flag, because it’s so easily abused to mean anything that doesn’t fit the rest. This is obviously defensive men being angry and down-voting for no reason and generally acting like this is Reddit.

          • There are 10 “off topic” when I’m providing commentary regarding the nature of patterns exhibited obviously in the list made in the previous comment.

          • One is “unkind” because they they assumed a meaning and flagged me? At least if you take the assumed meaning, this is the single one that makes the most sense - even though it does rely on a big and wrong assumption to get there.

          This is a mob acting mindlessly and that’s the real problem here. My guess is they are also probably a majority of people who got here after the site lost it’s invite-only nature, which is really something that should be reconsidered because the entire site is going downhill fast without the invitation pipeline in place.

          So, it seems that - at least in this case - even when someone tries to defend the culture of how women are treated by making a simple observation, nearly half of the people who respond to that comment can’t reason about it and have to resort to attacking because they seem to feel like having women recognized is somehow taking something away from them. In reality nothing is being taken, but we see a bunch of defensive men.

          Just to clarify so someone doesn’t think I’m being sexist here, this is of course among many men who are thoughtful and agreed with my point - as can be seen in the comments.

          Maybe making votes public would be a good thing, because it’s worth being able to look further into who are doing this. I can’t substantiate my assumptions without that information, so I’ll just sit back and see if anyone else figures it out.

          This will be seen as my most aggressive comment. Mostly because my comments are rarely aggressive. However, this comment is intended to defend against a pattern of poor behavior that I’ve seen consistently on this site since it stopped being invite-only. My point in this post is to offer reasoning on why we should be invite-only and why we should publicize people’s voting history. All statements made are in attempt to realize this situation, and I am only defending what has turned into my profile showing a giant warning about “too many flags’ because some people are being defensive when there isn’t anyone attacking them.

          TLDR; A stronger ban policy is an immature, reasonless solution. The only way that stronger ban policies can exist for content is if we as a community are able to honestly flag content for what it is instead of bringing personal emotions into the mix and not meeting them half-way with logical reasoning. If you can’t define “good” and “bad” behavior objectively, then you end up with the worst people in your community having the most power because they have no empathy or means of reasoning about other people. You create a system that brings the worst to the top. If we wanted that, we could go to Reddit or Twitter.

          This is likely the result of a culture problem. My guess it that it’s from when the site was invite-only this was rarely a problem. Instead of inventing new solutions for fixing the problem, maybe we can address that getting rid of the invite-only nature of this platform negatively affects it. The culture here has gone downhill steadily after this occurred and seems to not be self-adjusting. When people can just sign up for a new account without recourse whenever they feel like it, they are less likely to be thoughtful about what they say and how their account looks. More people who are just casually browsing and don’t intend to be part of the community show up. It’s not good.

          1. 14

            For my part, I flagged it as off-topic because someone just listed four of their favourite Open Source authors and trying to shoe-horn a particular social issue in to that is just, well, off-topic. I might be more forgiving if there was some substance as that would provide value in spite of being off-topic, but as it stands it just comes off as a challenge to person you replied to, at least in my reading of it. I appreciate this was not your intent, but that doesn’t change it.

            I most certainly do think it’s your job to ensure your intent is conveyed clearly. There’s been plenty of times where I’ve been misunderstood, and this has always almost been a failing on my part in not being clear enough. I don’t think it’s the reader’s job to guess or assume your intent: it’s the author’s job to clearly convey it.

            If half the community has a problem with your post then there is probably something wrong with your post, and not with half of the community. I appreciate that you feel attacked and that this is a shitty position to be in, but I wish you’d spend some more effort in trying to understand why people have a problem with your challenging question. I find it ungenerous to dismiss that as a “a mob acting mindlessly”, “fragile egos”, “defensive men being angry”, “angry babies”, and so forth. It’s funny you complain about “assuming negative intent”, because there’s a whole lot of that in your post here.

            My guess is they are also probably a majority of people who got here after the site lost it’s invite-only nature

            When people can just sign up for a new account without recourse whenever they feel like it

            I’m confused, because as far as I know Lobsters is still operating on an invite-bases, just as it always has?

            1. 0

              Lobsters was open registration for a while. If you don’t think that the cultural issues in open source that have lead to this list aren’t on topic when talking about a list of people in open source then oh well, I guess. It’s absolutely on topic and worth taking a moment to think about.

              1. 6

                It’s absolutely on topic

                You’re now just contradicting arp242 without providing any reason.

                Not every thing that is related to some subject is necessarily ‘on topic’. If you would scour the internet for people posting all-male lists of their favorite somethings and ask that same question every time, would you then always be ‘on topic’? All the time, for everyone, not matter who the audience of the list?

                I would say your comment would have been appropriate and ‘on topic’ on an article with a top 4 of most important open source people as voted by a large group of open source people. Then it would be a clear demonstration of cultural issues in open source and would be worth pointing out. On a comment by someone musing about something done by 4 personal heroes: no, not so much. And doing it in the form of a passive-aggressive rhetorical question didn’t help.

                1. 5

                  I never said it’s not worth thinking about. I’m also not injecting my veganism every time someone mentions something vaguely related to meat, and on the extremely rare cases that I do I make sure it’s something of substance (which, hopefully, is helpful in explaining my viewpoint) rather than just a challenge. I don’t like these kind of challenges on any topic as the main reason of a discussion/conversation is to better understand a point of view (and maybe, perhaps, also adjust your own). Challenges like this are not conducive to that.

                  I would also not be impressed if someone injects “Free Software vs. Open Source” debates on every story that mentions “Open Source” instead of Free Software.

                  And so forth, and so forth.

                  As mentioned, I probably wouldn’t have flagged it it was actually something interesting; I’m not especially pedantic about “off-topic discussions” because interesting conversations are interesting conversations. The off-topic flag is a calculation of offtopic + substance.

                  1. -2

                    Unfortunately for you, the community is not not wholly focused on or interested in only following the behaviors that impress you.

                    Your responses show that you think it’s not worth thinking about, regardless of how you want to defend that statement. Your assumption that there’s no substance to it shows that you care little about thinking about these things, and that’s revealing enough.

                    Furthermore, your reply right here has less substance than even my initial comment.

                    And so forth, and so forth.

                    1. 10

                      I don’t even know what to say to that … If you’re hell-bent on making assumptions about anyone who doesn’t agree with on what are actually comparatively minor issues then there’s not much else I can say 🤷‍♂️

                      As I have mentioned elsewhere, the only thing that has turned me off from social justice is the last few years have been some of its proponents and not its detractors. You can’t fight a toxic culture with toxicity. I strongly suggest you reflect on how your words are being perceived, because you’re not just being ineffective at improving the position of woman in Open Source, but are actively harming this cause. This entire thread has left me exasperated and frustrated, and I don’t think that exasperating and frustrating people is an effective way to promote a cause (quite the opposite), and the only thing that this thread has done for me is ensuring that I don’t want to touch this topic with a ten-foot pole, rather than actively trying to spend effort in improving it (which, in spite of your assumptions, is something I do care about).

                      virtue signal all day about how you gave money to girls who code

                      You are confusing me with burntsushi.

                      1. -4

                        the only thing that has turned me off from social justice is the last few years

                        Just to be clear, you have now agreed to not care about this any more.

                        I actually edited that out and didn’t mean to submit with it because it wasn’t productive, but either way I’m uninterested in hearing what you have to say because you are only seeking confirmation of your own biases against this topic. I’m tired of it. 🥱

                        Have fun running around providing unsolicited advice to everyone you talk to. I’m done with it, though, and hoping that you are as well. I will not respond to any replies, though. Waste of both our time to convince you of the biases that you seem to not want to be made aware of.

              2. 7

                For more reasoning here, we can look at my recent flags:

                https://cdn.monokro.me/images/flags_on_lobsters.png

                The only one here that is actually accurate is where I said “Seems about time” in reference to the Perl language not existing - which feels pretty troll-like in retrospect - although my intention was more based on there not really being a lot of movement in the Perl world any more. The language has been barely thriving for nearly 20 years at this point with few companies adopting it and many throwing it away, but I digress…

                The rest are all someone saying “I disagree” by flagging “incorrect” or similar childish behavior and behaving like we’re on Reddit. Even though Reddit even has a global site-wide rule against that, they can’t really control the behavior unless they can read your mind.

                It seems pretty unnecessary to toss a giant warning in my inbox and worry me when I wake up to it in the morning when the reasoning behind the warning is so very based on subjective nonsense.

                https://cdn.monokro.me/images/2spooky4me.png

                Is this really how we want to treat nonsense? A giant warning that only serves to shut people up and preserve the insecurity of those who say your posts are “incorrect” because they disagree or don’t want to hear it but also don’t want to have a civilized discussion about it? No thanks.

                I haven’t caused any problems in 6 years here. What is going on?

                1. 3

                  It seems pretty unnecessary to toss a giant warning in my inbox and worry me when I wake up to it in the morning when the reasoning behind the warning is so very based on subjective nonsense.

                  I currently have that same warning on my inbox, and I can empathize with being disturbed by it. I don’t think that getting that warning because of a bunch of politically-motivated downvotes necessarily makes you or me a bad person or a bad contributor. I do think that most of those downvotes you’ve shown in that picture strike me as unfair. Even the perl comment, while not exactly the most productive comment imaginable, is not what I would call trolling.

                2. 7

                  Worth noting that this comment is seemingly inspired by a simple question trying to incentivize people to think about how women are treated in open source which led to dozens of people deciding that I was trying to attack them instead of taking a big picture look at the question.

                  I engaged your post with good faith. I thought you were trying to start a fight and wrote my response to mitigate it. The difference between trolling and good faith is often writing a single sentence vs writing four. If you wanted to incentivize people to think about women in open source, you could have written more than just one sentence.

                  My guess is they are also probably a majority of people who got here after the site lost it’s invite-only nature, which is really something that should be reconsidered because the entire site is going downhill fast without the invitation pipeline in place.

                  The site’s still invite-only.

                  1. 1

                    If you wanted to incentivize people to think about women in open source, you could have written more than just one sentence

                    I agree and even said this in another post somewhere :)

                    At some point, it wasn’t invite-only, right? That was for a while, I think…

                    1. 4

                      IIRC that was only during the april fools gag a couple years back. I remember @pushcx being pretty miffed because a couple of spamming rings joined then. There might have been another no-invite period, but that’s the only one I definitely remember happening!

                  2. 10

                    This is obviously defensive men being angry and down-voting for no reason

                    I voted your post as “trolling” because it appeared to be a content-free attack on the prior poster for simply listing a few developers they liked. Your comment did not even vaguely suggest you were making some bigger point: it’s a line of text, approaching it like that leaves innumerable possible questions embedded in those 8 words. It was unnecessary and kinda lame. Your gender has nothing to do with it.

                    1. 4

                      Can whoever downvoted this as “troll” tell me why?

                      1. 1

                        Seems like it’s not downvoted any more

                        1. 2

                          Now it has two unexplained troll votes, and one unkind vote. I can’t see how the comment is either of those.

                          1. 2

                            Weird, it doesn’t show for others I guess?

                            1. 2

                              Yep, it shows to authors and moderators, though there are some caveats for authors to try to prevent discussions from veering into meta.

                              1. 1

                                Flags and flaggers should be public.

                      2. 0

                        You are still the one who assumed the worst, though.

                      3. 6

                        Worth noting that this comment is seemingly inspired by a simple question trying to incentivize people to think about how women are treated in open source which led to dozens of people deciding that I was trying to attack them instead of taking a big picture look at the question.

                        Here was your mistake, I think–having done it myself. If you have come out and said something like, “Hey, I notice there aren’t any women on your list–I don’t think you’re sexist, but can you think of any that might make it on there or alternately how could we do better?” then you would have both been clear to people who wanted to engage and you would’ve set a good tone for a starting point for discussion. People who responded like assholes to that would’ve in fact been assholes.

                        By asking a pointed, leading question and not making clear your intentions, though, I think you both signaled that you were trying to trick lobsters into thinking a particular way (even if that way is reasonable introspection) and that you didn’t actually care enough to put effort into crafting a comment that could’ve take into account context and been positive. I’ve done the same thing, and have only gotten away with it on occasion by the charity of the audience.

                        Don’t ask leading, pointy questions if you can’t read a room or play off the response.

                        One is “unkind” because they they assumed a meaning and flagged me? At least if you take the assumed meaning, this is the single one that makes the most sense - even though it does rely on a big and wrong assumption to get there.

                        They who live by the sword….

                        This is obviously defensive men being angry and down-voting for no reason and generally acting like this is Reddit.

                        This is a mob acting mindlessly and that’s the real problem here.

                        This appears to me to be the same category of error as people assuming that, say, downvotes of shilling for Urbit or something is the result of mean old antifa. You have dehumanized the people who disagree with your actions, whether or not they disagree with your aims and whether or not you yourself actually did the correct thing.

                        If you can’t define “good” and “bad” behavior objectively, then you end up with the worst people in your community having the most power because they have no empathy or means of reasoning about other people.

                        Again, please refrain from dehumanizing your fellow users. It may be the case that specifically because they have means of reasoning about other people they recognize objective claims of good and bad behavior are a poor fit when real people are involved. It may be because of their empathy they are willing to give people a little more room in decorum than would otherwise be afforded.

                        When people can just sign up for a new account without recourse whenever they feel like it, they are less likely to be thoughtful about what they say and how their account looks.

                        We briefly flirted with open registration, but as far as I know it’s been invite-only for quite some time.

                        1. -1

                          I shouldn’t be getting a ton of unsolicited advice for this, but apparently that’s where we’re at now.

                          “Hey, I notice there aren’t any women on your list–I don’t think you’re sexist, but can you think of any that might make it on there or alternately how could we do better?”

                          This recommendation is completely against my intentions. My intentions were to point out a cultural issue instead of pointing at the person posting the list. Your suggested response is even closer to pointing at them than I expected the intentions to be. There is no expectation for the person who made the list to include women, but I was simply trying to point out that open source culture as a whole seems to exclude women. Not any specific individual.

                          They who live by the sword….

                          I got the irony of me having added the commit for the unkind option to the site, but honestly I think this - just like the rest of your reply - is more harmful than it is helpful.

                          Having an “unkind” flag is still valuable, and people would just call it “troll” or some other in-genuine thing if we didn’t have it. Having not added an unkind flag doesn’t stop the community from using the downvote as a “I don’t agree” instead of what it is intended for.

                          You have dehumanized the people who disagree with your action Again, please refrain from dehumanizing your fellow users

                          No, I haven’t dehumanized anyone. This is a human behavior that they are exhibiting and I am pointing it out. I’m only speaking of those who have already flagged for reasons that are complete nonsense and based on unfair assumptions. People who behave like that are the worst people, and the fact is that bad people tend to end up in positions of power. I even got a private message from someone based on my recent posts from someone who said that they don’t come here any more because of these problems and said thanks for being human on a site that has a culture of hostility.

                          Maybe someone should consider all of us who actually care about the human side are leaving, because ignoring that obvious fact is exactly how we end up with people flagging posts due to assumed negative intentions, giving unsolicited advice, and being generally hostile towards others.

                          This community has been slowing dying for 2-3 years now and it has been descending extremely fast for the last 9 months. I’m sure that someone’s going to say “that’s only because people have been stressed a lot this year” but that’s honestly not a good excuse.

                          Anyway, are we done with the unsolicited advice now? If not, could the advice at least be useful and not repeats of things that I’ve already personally called out next time? Also, are you a mod on this site? If this is the behavior that comes from mods then I’ll probably just drop the site completely. I’ve already removed it from my homepage. Seems like anyone who gives a shit is leaving, so maybe someone should start recognizing it.

                          If I wanted to be on Reddit, I’d just go to Reddit.

                          1. 7

                            Also, are you a mod on this site?

                            I am not a mod! I don’t think anybody would abide by that–and more generally the people who want to be mods shouldn’t be mods.

                            1. 4

                              This community has been slowing dying for 2-3 years now and it has been descending extremely fast for the last 9 months.

                              Could you elaborate on what you mean by dying and descending? What do you see happening, and what feels especially different about the last nine months?

                          2. 3

                            Lobsters has never had open signups and still requires an invite; users can’t trivially sign up for an account. The last couple significant changes in the invitations and signups controllers were in Feb 2020 to restrict new users’ ability to send invites, in May 2016 to allow admins to disable a user’s ability to send invites, and in Feb 2015 to disable the invite queue system.

                            Edit: Oops, @hwayne reminded that the 2018 April Fools’ Day gag had open signups and, yes, it strongly reiterated the anti-spam value of the invite system. That spammer later wheedled fresh invites out of Lobsters users on Twitter to re-establish his voting ring twice.

                            1. 2

                              Worth noting that this comment is seemingly inspired by a simple question trying to incentivize people to think about how women are treated in open source which led to dozens of people deciding that I was trying to attack them instead of taking a big picture look at the question.

                              Implying that there’s something wrong with a group of men working in a group on some kind of project without going out of their way to include a woman is an attack on men. I don’t think you incentivized people to think about how women are treated in open source, but rather, how men are. I will say that I don’t think your post should’ve been moderated away, but neither do I think that about the various people who responded to your post disagreeing with it, and those response posts are what this meta-thread is about.

                              Even with +29 upvotes, I still end up flagged for this comment because of 28 people flagging this without any good reason. To make that clear, most of these flags don’t even make sense. Let’s break down a large trail of intentional ignorance, shall we?

                              I agree that the vast majority of the downvotes on your post were surely submitted in a spirit of political disagreement with it, rather than out of a sincere desire to mark content that is genuinely trolling, off-topic, etc. I think this is true of a lot of politically-controversial posts on lobsters, as well as on other sites with some kind of downvote system. It’s pretty easy for a motivated reasoner to convince themselves that some post they have a strong political reaction to is incorrect or trolling or otherwise downvote-worthy.

                              Trolling shouldn’t even be a flag, because it’s so easily abused to mean anything that doesn’t fit the rest.

                              Agreed. I don’t think your post constituted actual trolling. I often don’t think other posts on lobsters I see with troll downvotes constitute actual trolling either.

                              First thing that we see here is that 42 people in this situation agree with tone policing, because that’s the basis for people leaving negative flags on this post. Specifically citing in multiple cases that I’m being “aggressive” because they see a direct attack and don’t recognize that I’m trying to point out something that is representative of the bigger picture. I also can’t help but wonder if my gender plays into the responses having seen similar responses to women in the workplace and open source environments in the past, but I’ll digress from that as it is no better than a guess…

                              I doubt it - I assumed you were male until I read this paragraph, and it would be easy for other people to have done that as well. Certainly there are plenty of people who are (well-known to be) male who make arguments similar to yours, and receive pushback in a similar way to how you have.

                              1. 2

                                I agree that the vast majority of the downvotes on your post were surely submitted in a spirit of political disagreement with it, rather than out of a sincere desire to mark content that is genuinely trolling, off-topic, etc. I think this is true of a lot of politically-controversial posts on lobsters, as well as on other sites with some kind of downvote system. It’s pretty easy for a motivated reasoner to convince themselves that some post they have a strong political reaction to is incorrect or trolling or otherwise downvote-worthy.

                                I always find myself questioning (but not really weighing in one way or the other) the need for an upvote/downvote system for comments. I understand using the functionality for topics, and I understand moderators specifically taking actions against posts, but I feel that if a comment feels inane, snarky, or something you disagree with (or on the flip side, you find yourself angry and reply with a short, pithy acerbic reply rather than a well thought out response that you would have produced under better emotional circumstances), then the comment chain can just end there. Of course I also go back to the other side of thinking of the destructive behavior that can be wrought without a user-based form of QC on posts, and that makes me question my original question.

                                1. 2

                                  Implying that there’s something wrong with a group of men working in a group on some kind of project without going out of their way to include a woman is an attack on men

                                  Sure, but I never said that. I simply made a statement suggesting that there’s probably a stronger reason why men are the only ones who tend to be in these list or even more so who even tend to get popular in open source as a whole. A lot of this isn’t because someone only included men, and more about why women have such a hard time “rising in the ranks” as it were. You are making assumptions in order to come to this conclusion, and they are defensive assumptions based on another assumption of negative intent on my part - which is absolutely not the case and never was.

                                  I agree that the vast majority of the downvotes on your post were surely submitted in a spirit of political disagreement with it, rather than out of a sincere desire to mark content that is genuinely trolling, off-topic, etc

                                  That’s my main point here. We can’t be banning people or doing anything too over-the-top (I think even the warning I got is too much tbh) until we have established an ability to objectively weigh the content of people’s posts, which is unlikely to happen any time soon.

                                  Agreed. I don’t think your post constituted actual trolling.

                                  Neither did I, although I do counter my own argument there by providing an example of a previous post of mine that I think feels like trolling even if it wasn’t my intention - so maybe my argument isn’t too strong here 🤷 lol

                                  I doubt it

                                  I agree with everything that you said here, although what I was getting at was more of the reaction to this kind of behavior than the initial response itself. Like, if I see that half of the people who voted on my post don’t care about women in tech then that’s pretty disconcerting. After 6 years of lobste.rs being my homepage and never really immediately after seeing an official banner in my replies warning me about these flags. Even if it wasn’t meant to be used this way (I hope), it’s still a slap on the wrist over someone else being defensive about their misinterpretations.

                                  I decided to put it back, though, because I’d rather just defend myself than give the angry babies what they want.

                                  1. 13

                                    Like, if I see that half of the people who voted on my post don’t care about women in tech then that’s pretty disconcerting.

                                    I am a reoccurring donator to Rails Girls. I encourage others to do the same. I participated in the first Increasing Rust’s Reach program. My wife is a programmer, to whom I lend my unconditional support. To say that I “don’t care about women in tech” is to not know me at all.

                                    And yet, I downvoted your comment for trolling. Because I knew it was going to lead to a spiraling and pretty unproductive discussion. And because, despite your intentions, it did come across as an underhanded and unwarranted attack to me. My downvote of your comment was me expressing, “this is not the kind of discussion I want to see at lobste.rs.”

                                    If you assume that everyone who disagrees with you is acting in bad faith and can’t be anything more than an “angry baby,” then it’s too easy to turn it into an Us vs Them issue where the people who disagree with you are totally unreasonable people, and therefore, shouldn’t be listened to at all. I am exposing myself as one of your downvoters with the hope to counteract that perception. I am not against you because of your gender. I am not someone who doesn’t care about women in tech. I am not against you because I’m angry. I am against your comment because of the kind of discourse it promotes, which I think ultimately hinders the cause of progress and makes it impossible to have good faith discussions.

                                    1. 0

                                      “Trolling” assumes intention. I thought this community to be a more positive space than it actually is, and mentioned this because I thought it was something worth thinking about. Apparently y’all disagree.

                                      I had and still have no intent to troll anyone.

                                      1. 6

                                        and mentioned this because I thought it was something worth thinking about. Apparently y’all disagree.

                                        That’s very clearly not what I said. I told you precisely why I downvoted your comment, and it had nothing to do with my interest in the topic. You’re making my point for me. You’re going out of your way to make this Us vs Them by trying to draw a bright dividing line between Good and Evil. My whole point of exposing myself as one of your downvoters was to show you that there’s more to it than that. There’s nuance.

                                        And if your definition of trolling requires intent, then it’s almost impossible to flag anyone for trolling because people almost never say, “my intent is to troll.” Without that, you can’t know intentions.

                                        Intentions count for something, but they aren’t everything.

                            2. 3

                              “Political” has a bunch of meanings. One of them is “how power is exercised and distributed.” In that particular sense (as opposed to say, party politics) moderation is inherently political, and moderation decisions will inherently have to pick one or the other side of certain issues.

                              1. 3
                                Tone policing

                                “Tone policing” means focusing solely on the tone, instead of the content. The “why are there no women on this list?” was mostly responded to with comments saying it was “aggressive”. I’m sure there are plenty of other comments that are aggressive on lobsters that don’t get that response. And it’s pretty clear why.

                                If someone says “This is technology is a flaming pile of useless garbage”—a response saying “why are you being so aggressive” (however unlikely it is) doesn’t add much. A response saying “technology is about tradeoffs, it’s rare that something is that useless” or “well, once you understand the organizational context” is useful.

                                I flagged this story because

                                friendlysock specifically seems to have the modus operandi of saying NO POLITICS and then injecting his politics everywhere (see below—you can’t not be political. I disagree with his politics, but the relevant point here is that I think his stated “NO POLITICS” is disingenous).

                                Not sure how general of a problem this sort of comment is.

                                Systemic issues

                                “Would even the person whose comment is being deleted agree that they’ve violated the rule?” as motivated by “plausible allegations that it’s a mod enforcing their personal politics”—I think this is highly misguided:

                                1. People who genuinely don’t realize they’re hurting other people are given a free pass.
                                2. Bad actors will of course give you “whataboutism” and rules lawyering. That’s how it goes.
                                3. You have to enforce a political point of view. There is no way around it.

                                That last point is the fundamental one I keep trying to get across.

                                As an example: either you allow sexism, and then you get less women participating (not to mention all the men I know who very deliberately aren’t participating in lobste.rs because they also consider it toxic.) If you disallow sexism you will lose some sexist people.

                                On some issues you have to pick a side, and you are going to have to exclude someone. There is no way around it, no way to avoid politics. If you say “I don’t want to exclude anyone” then you’re excluding lots of people by default. (See also “torelance is a peace treaty”: https://extranewsfeed.com/tolerance-is-not-a-moral-precept-1af7007d6376).

                                1. 5

                                  friendlysock specifically seems to have the modus operandi of saying NO POLITICS and then injecting his politics everywhere (see below—you can’t not be political. I disagree with his politics, but the relevant point here is that I think his stated “NO POLITICS” is disingenous).

                                  I would be as fascinated to know what you think my politics are as I would be certain it would be off-topic for this site. DMs are open.

                                  EDIT:

                                  I missed something that bears pointing out.

                                  You have to enforce a political point of view. There is no way around it.

                                  This is an axiom of your belief system. There are a great many of us here that clearly do not share this axiom. Without stating whether or not the axiom itself is correct (it’s an axiom, so that doesn’t really matter) we can state there will be inevitable and continuous conflict between two belief systems (effectively, realities) that differ by construction.

                                  It would probably be better were you to spin up your own instance so you wouldn’t have to keep dealing with this. It might well even become more popular!

                                  1. -2

                                    I would be as fascinated to know what you think my politics are as I would be certain it would be off-topic for this site.

                                    Your stated position is that it’d would be totally cool to have people who want to murder me on lobste.rs so I’m going to say “misguided.”

                                  2. 2

                                    As an example: either you allow sexism, and then you get less women participating (not to mention all the men I know who very deliberately aren’t participating in lobste.rs because they also consider it toxic.) If you disallow sexism you will lose some sexist people.

                                    The original post was sexist against men (or at least it was reasonable to interpret it as such; I’ll grant that that might not have been the post-writer’s intention), and none of the posts arguing against it were sexist. You are falsely claiming that they were sexist because you adhere to a political ideology that doesn’t treat sexism against men as morally relevant, but still want to use the existing societal understanding that sexism is bad and can be legitimately socially punished as a tool to enforce your personal politics.

                                    On some issues you have to pick a side, and you are going to have to exclude someone. There is no way around it, no way to avoid politics. If you say “I don’t want to exclude anyone” then you’re excluding lots of people by default.

                                    Communities that intend to be broadly inclusive should always pick the side of the people who aren’t demanding that existing members be excluded as a condition of their own membership.

                                    1. 2

                                      The original post was sexist against men (or at least it was reasonable to interpret it as such; I’ll grant that that might not have been the post-writer’s intention)…

                                      The question “why aren’t there women on this list?” is not sexist, nor is it reasonable to interpret it as such. It’s clear that many others felt it was brusque or dismissive and that it could have been framed with extra clarity so as to avoid those appearances, but it’s factually dishonest to refer to that question as sexist. If you are genuinely concerned about “sexism against men” then I suggest that you don’t harm your credibility by mischaracterizing instances of sexism. However, I’m struggling to imagine that you are concerned with sexism as a social problem, because…

                                      …and none of the posts arguing against it were sexist.

                                      You yourself wrote “Because none of them has come out as trans yet.”. Which is genuinely one of the most vitriolic things I’ve ever read on this website. I’ve seen dogwhistling and whataboutism; I’ve seen users with biases against social justice due to bad experiences and lack of opportunities for learning. We can work on that. On the other hand I can not recall having actually seen content so explicitly demeaning here. The OP of this story calls for “No pretending systemic racism, sexism, and bias aren’t a thing” which I agree with, but it appears that lobste.rs will have to tie its shoes before it can walk. I’ll call on @pushcx to clarify that lobste.rs in fact does not stand for forms of hatred and bigotry that include racism, sexism, transphobia, ableism, and anti-semitism. And I’ll call on the moderators of this community to ban users such as yourself that make engage in overtly violent forms of communication such as this.

                                      I think that frankly enough is enough. This is a question of basic human needs. If the desire is to welcome new members and cultivate diverse discussions on a range of deep technical topics, we need to first make sure that this website is not a platform for hate and bigotry.

                                  3. 1

                                    How about meta comments like “I flagged this story because…” which sometimes is followed by a reason? I think it’s useless flamebait when there’s no reason because the comments inevitably come off like sounding like “My opinion is so popular I don’t have to explain it” or “You’re not worth explaining things to”. The codebase has a lot of little UI touches (not showing scores at first, not showing flags until there’s a couple, not showing replies in flagged conversations) that try to damper meta conversation outside of the meta tag, maybe there’s a broader rule worth writing/enforcing.

                                    I would personally love this addition.

                                    Very often when my comments are flagged as something like Incorrect or Troll if I don’t understand why they did that I’ll try to reach out and ask politely. It’s resulted in some very useful feedback and a better shared understanding on both sides.

                                    I think it would also help discourage off the cuff flags that actually reduce to “I disagree”.

                                    1. 4

                                      On tildes.net you can “label” posts as “Exemplary”, “Off-topic”, “Joke”, “Noise”, and “Malice”. For the “Exemplary” and “Malice” labels you can leave a reason which is presented to the author anonymously.

                                      There are no downvotes like Reddit/HN, this is how Tildes does “flagging”.

                                      What I like about this is that you can leave feedback anonymously, without getting embroiled in a discussion about it. The author of the post that you flagged can then take it or leave it.

                                      The downside of this is that people can leave insults in the feedback (“this is fucking stupid”, or whatnot), so there is some potential for abuse and would probably require some moderation. AFAIK this isn’t a problem on tildes as the community is very small, but it may be on Lobsters.

                                      1. 2

                                        The downside of this is that people can leave insults in the feedback (“this is fucking stupid”, or whatnot), so there is some potential for abuse and would probably require some moderation. AFAIK this isn’t a problem on tildes as the community is very small, but it may be on Lobsters.

                                        I’d argue that anyone who put an insult in a space for feedback has shown themselves to not be interested in contributing to any meaningful community.

                                        1. 4

                                          Indeed. My main concern is that people will see those insults, and if people leave real nasty comments it might be bordering on abusive. It’s just one more thing that would require some amount of mod involvement (flag the flag? meh)

                                  1. 29

                                    I cannot help myself but to imagine a open source ideas incubator governed by:

                                    Antirez, Linus, Mike Pall (LuaJit), Rich Hickey (Clojure)

                                    Perhaps, they would find it difficult to work together, but they all have something in common:

                                    1. They cannot be easily manipulated
                                    2. they do not want to manipulate others
                                    3. They are visionaries
                                    4. They express themselves through software (on both technical and conceptual levels)
                                    5. They work very hard, for very long time, based on a believe and passion alone
                                    6. They are not afraid to challenge ‘status quo’

                                    The combination of the above, perhaps is rare, and finding a way to explore their combined wisdoms, quirks, and talents – would be very neat and beneficial to society as a whole.

                                    If such a cooperative is successful, I would also hope that they would figure out a way to find the next generation of folks so that the process continues.

                                    1. 5

                                      I like it, but maybe sub Mike Pall with Roberto Ierusalimschy because he seems to meet all the same criteria except has a wider range of projects he’s involved in and presents lots of white papers and research around his projects. [1]

                                      No offence to Mike Pall, of course, LuaJIT is still alien software in my book and “he” still could be an anonymous group of genius computer scientists sharing a pseudonym afaik.

                                      [1] - http://www.inf.puc-rio.br/%7Eroberto/cvpub.html

                                      1. 3

                                        Why are there no women in this list?

                                        1. 47

                                          While I agree with the sentiment, I think the short question comes off as aggressive. Instead, you can make a suggestion to avoid putting all of the onus on the previous commenter.

                                          For example, “I noticed your list doesn’t have any women. What about ___ or ___? They have a proven track record on $PROJECT.”

                                          It brings attention to talented women in the industry and provides people with a jumping off point to learn about their accomplishments. Asking questions calls attention to biases, but it doesn’t always inform.

                                          1. 14

                                            Some random posters list if 4 of their favorite open source project leaders doesn’t need to add a token woman. Asking politely would have made it harder to see how completely ridiculous this is.

                                            1. -1

                                              You mistakenly assumed the sentiment is to call out a user instead of pointing out the systems that have led to there not being a lot of women for them to include.

                                              The question is about why there aren’t comparably a lot of women noted in open source and not meant to call out OP directly.

                                              Y’all are being defensive where it isn’t needed and taking this personally instead of as a time to reflect on why open source culture is how it is and how behaviors in the current system are the problem.

                                              Honestly, with 23 upvotes and 22 downvoting and having to share your defense, all we’ve done instead is identify the problem even more concretely than would have happened if y’all would have taken the comment for what it was and not for what it wasn’t.

                                              For those of you labeling this as “off-topic” specifically, I would argue that it isn’t. I’m asking about a list in response to a comment about a list. The list is the topic in context of this thread.

                                              Hopefully this comes to fruition, because it’s unfortunately too relevant here. https://lobste.rs/s/lpvcsm/proposal_for_moderation_policies_no_tone

                                              1. 6

                                                Y’all are being defensive where it isn’t needed and taking this personally instead of as a time to reflect on why open source culture is how it is and how behaviors in the current system are the problem.

                                                If you wanted people to reflect on it, then posting a pointed question is not the way to go. Something similar to this would have been waaay better at getting people to think:

                                                I’d love to see a few women contributors on that list too. Do you know any who would fit that team?

                                                I’m not here to tone police comments because I actually agree with you that we should encourage women to join us in these endeavours, but you are not helping that cause. You are creating division by using bad wording and being more focused on being “correct”. Take this loss and let the issue die down. The trenches have already been dug here.

                                                1. 1

                                                  If you wanted people to reflect on it, then posting a pointed question is not the way to go. Something similar to this…:

                                                  I’d love to see a few women contributors on that list too. Do you know any who would fit that team?

                                                  Your new question here has absolutely nothing to do with the one that was posted. monokrome was not looking for someone to offer up the name of a woman in tech, but to discuss the reasons why there might not be one on the list in the first place.

                                                  I’m not here to tone police comments

                                                  Seems to me that not only are you here to tone police, but also to police the content of the comment; to divert away from a meaningful and difficult discussion of under-representation (which you have no obligation to participate in), and instead re-frame it as a pedestrian question of “could someone please identify a women in tech”.

                                                  1. 1

                                                    discuss the reasons why there might not be [a female programmer] on the list in the first place.

                                                    Why should this discussion happen on lobste.rs? I thought we only allow content related to programming?

                                                2. 4

                                                  Well, it seems that I misunderstood your comment here. I imagine that many others did too. I think that is the key issue here. Having a comment that explicitly calls out the system instead of the list would have made a difference for me. Calling out just the list makes it seem like the problem is with the person who created the list.

                                                  As for tone policing, I do believe systemic biases exist and need to be discussed. However, I think the way we discuss them is important.

                                                  I like lobsters a lot and I don’t like seeing discussions devolve into a locked in flame war. My comment was meant to provide constructive feedback and to take air away from destructive comments. My goal isn’t to prevent you from speaking, but to make it easier for your to be heard, if that makes sense.

                                              2. 32

                                                Cynical answer: building rep in the open source world takes a lot of time, and it’s been historically so woman-hostile that women haven’t been given a chance to build serious rep.

                                                Hopeful answer: Jessie Frazelle, maybe? My niche is dominated by academics so I don’t know a lot of FLOSS names outside of formal methods.

                                                1. 6

                                                  Speaking of Jessie Frazelle, I’ve recently learnt that she’s teaming up with a few other brilliant people at https://oxide.computer/, where you’ll find (among others) Bryan Cantrill and Steve Klabnik.

                                                  1. 3

                                                    Well, that’s cool :)

                                                  2. 12

                                                    Even the women who have built names for themselves in tech, are less likely to be known by men. So there’s that. I can think of a bunch of amazing people but not specifically in open source…

                                                    1. 8

                                                      Strange assumption. What are open-source projects run by women that people should know about?

                                                      1. 30

                                                        Cynical comment: Not identifying as a woman, but having “seen some things” over the years, I can’t help but think that some of the reasons we don’t find so many woman leading open source (surely there are many, though!) is because it’s dangerous to put yourself out there as a woman. How many sexual violence threats do you think a woman would receive if they were the maintainer of Redis, very opinionated, and shutdown ideas because they didn’t fit the direction she wanted to take? I bet the number is not 0.

                                                        1. 13

                                                          You-ain’t-seen-cynical-yet comment: How many death threats do you think a man receives if they’re the maintainer of Redis, very opinionated, etc? The number is very not 0. Anyone who has ever done anything significant has been on the receiving side of some harassment. Today’s effortless communication magnifies the effect, but I’m sure there were people writing “Ο Ευριπίδης τρώει σκατά” on the walls in 420 BC. The difference is whether you let it derail you. The successful ones are the ones who ignore that shit. So why do those who persevere tend to be “privileged”? A very simple psychological reason. Perceived-privilege means having no other face-saving option. If you bail out from a visible position after receiving some harassment and you say “I quit because I felt threatened as a woman” or “I quit because I felt threatened as a person of color” or whatever, there’s a fair chance you’ll be the subject of articles praising your heroism in exposing the harsh reality faced by members of $GROUP who dare to lead. Do the same thing as a straight white male, and, well, you’re a quitter. The narrative expects success from you, it expects you to keep your problems to yourself, and you’d better not have any insecurities. Underdogs are expected to battle with self-doubt; on you, it’s childish and absurd, so forge ahead or be a failure forever.

                                                          1. 9

                                                            Or maybe it’s because those groups are often at risk in their every day life and take threats on themselves seriously due to past experience?

                                                            1. 2

                                                              That would be a pretty big mistake. Regardless of who you are, the supply of people willing to make threats still outnumbers the supply of people capable of carrying them out a million to one. The harm here comes from labels themselves.

                                                              1. 17

                                                                I think you’re arguing in good faith, so I’ll provide a good faith response. The problem isn’t one of existence but degree. I’ve been the target of internet outrage mobs and serial harassers, and both are terrifying. I lived through them, yes, but it’s absolutely awful to have someone constantly email you screeds from new, unblocked email addresses about how you’re awful and deserve to die. I’m also a straight (((white))) male and have only really gotten attacked over things I wrote, not my identity. Would I have muscled through it and continued writing if I had gotten 10x the amount of online harassment? I don’t know, maybe I would have managed, maybe it would have been too much for me. But there’s certainly some magnitude of abuse that would have gotten me to stop drawing attention to myself. Women and minorities get more abuse online, so it’s more likely to cross that line.

                                                                Summary: everybody has tolerance level, there’s probably no significant difference in what the tolerance level is for men and women, but women get so much more abuse online it’s more likely to cross that tolerance level.

                                                                1. 3

                                                                  Different people do have different tolerance levels; it’s easy to see that some people withstand massive abuse, and some don’t, and the differentiating factor is self-esteem, or confidence, or arrogance, however you want to interpret it. So why do the ones with that confidence tend to look alike? Freely granted, one reason is because there is injustice in the world, and a track record of success builds confidence.

                                                                  But that can’t be all either, and here is where my dark fear lies: by labeling people as disadvantaged, we disadvantage them. Psychology is a terribly powerful force. If you believe that the problems you face are the same problems shared by all human beings, trying to make something of our lives in an indifferent universe, then any successful human being can be a role model to draw strength from. If you believe that your problems are special, that only a few share your circumstances enough to understand, then you’re reliant on a role model who is “like you”. That mode of thinking used to be the province of moody teenagers, and growing past it was the sign of an adult — but now it’s just normal, and labeling strongly encourages it. All I want is a world where people tell themselves “I am a human being. I have been blessed with intelligence that can overcome any problem. I cannot ask for any more.”

                                                                  1. 1

                                                                    So, is your solution is to just ignore the problem and not talk about it? If so, I think that there has been enough proof to show that only makes the problem worse.

                                                                    1. 2

                                                                      No, just the opposite. If I just wanted to ignore problems and not talk about things, I think I could do that perfectly well on my own, without the aid of the internet. But because I have a foolish compulsion to try to make a positive difference in the world and help other human beings, you see me here. Thankfully for all involved, mostly that compulsion expresses itself as tens of thousands of hours of technical volunteering, but occasionally a bit of freelance philosophizing bubbles up. Agree with me or disagree with me, but kindly don’t misrepresent me.

                                                            2. 5

                                                              Less death threats than a woman receives. I’ve had multiple people threaten to murder me just because I was streaming video games on Twitch, and I’ve never had more than a dozen or so viewers. If a woman was maintaining something as big as Redis, they’d be getting more death threats than Antirez.

                                                              Nobody should be getting death threats, but that’s just the truth.

                                                              1. 2

                                                                I think it’s much more likely that people quit silently all the time, whether they’re URMs or not. It just doesn’t get publicized so much, so it’s not as visible. But when people quit publicly, it’s much more visible, so it’s what we tend to focus on.

                                                            3. 3

                                                              I am choosing not to answer this because (1) it’s beside the point, and (2) as I said in the remark you’re replying to, nothing comes to mind. I’m not clear why you felt the need to ask for something that I already said I don’t have.

                                                            4. 2

                                                              Yeah, the way women are treated in open source doesn’t help the situation.

                                                            5. 1

                                                              I was hoping people would see it this way but it seems everybody takes it defensively instead of identifying problems. Thanks for not being one of them :)

                                                            6. 11

                                                              What do you hope to gain by asking such a pointed question that comes across as very aggressive?

                                                                1. 1

                                                                  To be clear: This is not trolling or off topic. This is a reply to a post that directly mentions the comment which it was replying to, and the content that this comment represents is exactly the kind of content that the link represents. I am not trolling, but want you to be aware that this behavior is being noticed.

                                                                  The constant flagging of comments only proves that flags can’t be used to do anything like banning people, because people are too immature, defensive, and unreasonable to flag properly.

                                                              1. 34

                                                                And here you see why Antirez wants out.

                                                                1. 15

                                                                  Exactly, too many people in the industry spend their time stirring up controversy. Those folk do not provide solutions and just cause people like Antirez problems and a heacache. They complain and paint people that provide tremendous benefit to the company in a bad light.

                                                                2. 18

                                                                  Go ahead, make your nomination.

                                                                  1. 11

                                                                    Why are there no Uzbekistanis on this list?

                                                                    1. 29

                                                                      Алекса́ндра Аса́новна Элбакя́н isn’t Uzbekistani but Kazakhstani (so not part of the usual US/Europe community), but definitely matches the criteria in the list, through Sci Hub challenges the status quo in ways that - in the long term - may exceed even Linus’ contributions and is even a woman (see the question up-thread for why that matters). So, there’s my nomination.

                                                                      1. 5

                                                                        I don’t know, in the long run, if Sci Hub will be more influential than Linux. But as of 2020 it’s absolutely more influential than Redis, LuaJIT, and Clojure.

                                                                        1. 2

                                                                          Hahaha, thank you for this answer :)

                                                                        2. 5

                                                                          Uzbekistanis make up 0.4% of the world population. Women make up ~50% of it.

                                                                          1. -2

                                                                            Women make up ~50% of it.

                                                                            What are you implying exactly?

                                                                        3. 1

                                                                          Because Redis, Linux, LuaJit, nor Clojure were made by women.

                                                                          1. -9

                                                                            Because none of them has come out as trans yet.

                                                                            1. 6

                                                                              Per my sister comment, I don’t think a short, quipy comment helps further this discussion. This comment thread is potentially sensitive and I do not think we should escalate it.

                                                                              1. 6

                                                                                There is nothing we as users can do. This site is just going to continue going down the shitter unless the admins/mods start enforcing rules, or replacing the terrible, terrible, upvote-comment-tree comment format with a traditional forum layout. If I was running this site, I would ban this person (and everyone who wrote a snarky reply) for 7 days, leave the comment in-tact, and prevent people from replying to it. It’s simple and gets the message across.

                                                                                1. 2

                                                                                  Could you link to the comment you’re referring to? I can see a couple candidates and don’t want to misunderstand you by guessing.

                                                                                  Also, what specific rule would you like to see added and enforced?

                                                                                  1. 1

                                                                                    “Why are there no women in this list?” is rather passive aggressive and in no way constructive, I think it warrants a temp-ban. It’s a zero effort cheap shot. Look at the comments that spawned from it. Would be a tragedy if lobste.rs became like HN, Reddit, or, godforbid, Twitter. </2 cents>

                                                                                    1. 2

                                                                                      Not to mention that the poster’s Twitter account is suspended – that takes some effort.

                                                                                      1. 1

                                                                                        moved reply to meta thread for the sake of conversation there: https://lobste.rs/s/lpvcsm/proposal_for_moderation_policies_no_tone#c_fu0xzl

                                                                                      2. 1

                                                                                        Sorry I shouldn’t have used the word “rule”. I don’t think specific rules are strictly necessary. All I’m saying is, you’re admin, it’s your site, you have all the power and can do basically whatever you want. I feel like punishing the bad actors in a public way would fix a lot of things.

                                                                                        SomethingAwful and Facepunch had pretty good mod teams and tooling if you want something to go off of.

                                                                                      3. 1

                                                                                        Well, now we know why N64N64 isn’t a mod.

                                                                                    2. 2

                                                                                      What is your problem?

                                                                                  2. 2

                                                                                    RMS fails the second criteria? If not, why did you choose not to include him?

                                                                                    1. 25

                                                                                      I can imagine those four working well together. I cannot imagine them working well with RMS.

                                                                                      1. 1

                                                                                        This comment is especially funny when juxtaposed with https://lobste.rs/s/gigoo8/end_redis_adventure#c_tf95fm - as RMS is well known for his ‘gross’ approach to sexual advances.

                                                                                      2. 1

                                                                                        While I understand the idea, I wonder whether such a thing is in general a good idea. You know, when someone is good and successful at X, it doesn’t necessarily mean that they are also good at making others good and successful at X.

                                                                                        This is based on a complete assumption. What if these people got successful because they went their own road. I think that’s what these people have in common. Following the steps of one of them closely (which might be the main thing they can provide) might be the complete opposite.

                                                                                        Without wanting to go too far from that thought, I also see that in day to day work, that is people assuming they do the right thing based on someone else having done the same thing. While this of course might be true and is a good approach in many situations, it might not be.

                                                                                      1. 25

                                                                                        The general pattern in which I’ve seen “tone policing” used is usually something like this:

                                                                                        • “Something offensive, abrasive, insulting, or otherwise unpleasant”
                                                                                        • “Hey, that was pretty offensive, abrasive, insulting, or otherwise unpleasant!”
                                                                                        • “Stop tone policing me you troll!”

                                                                                        I am not a fan.

                                                                                        A better solution would be to just not say something offensive, abrasive, insulting, or otherwise unpleasant. Or if you do (we all do sometimes) then just either own up to it or have a conversation about it, instead of going “tone policing!” full defence mode.

                                                                                        As a general point, I’ve found that almost every time I see someone use “that’s [fallacy X]” they’re not really interested in having a meaningful conversation. It’s just trying to “win the argument”. Checkmate atheists, or something.


                                                                                        As for your second point … sometimes people disagree on complex social issues 🤷‍♂️ If I look at this comment you linked then the good-faith interpretation of it is that they actually agree on the basic premise that there are problems with disadvantaged groups, but they just disagree on the solution. I don’t think being wrong[1] is automatically “sexist”, and certainly not a “hostile sexist troll” as you said on Twitter. Why not just engage in conversation?

                                                                                        It seems to me that making any conversations or scepticism verboten would be far more harmful for your cause. How do you know you’re 100% right in your analysis of the situation and proposed problems? I’m all for calling out sexism or whatnot, but this is really just a disagreement.


                                                                                        [1]: although I do think there is a kernel of truth in it, based on my own personal experience (which this margin is too narrow to contain); but I think they’re focusing on small details rather than the larger far more important issues.

                                                                                        1. 3

                                                                                          All you to have to do is actually, like, talk to some women in tech and hear the shit they go through. When told “it’s just the label that is screwing you over, just get over it” most people who have better things to do with their life will just go somewhere else, not waste time debating. So you lose people.

                                                                                          I can’t say that Hillel trying to debate this person made any difference.

                                                                                          “You should debate people who say you are less worth/less human/just making stuff up” is not how you make a welcoming community.

                                                                                          1. 13

                                                                                            I’m not going to go in to the matter itself here. My comment was not intended to take any position on the matter as such, mostly because typing out an entire essay here with the appropriate nuance and such which will take several hours to get right, and I have other things to do as well.

                                                                                            But I will reply to this:

                                                                                            people who have better things to do with their life will just go somewhere else, not waste time debating

                                                                                            Who started the debate? That entire story had no bearing on the position of women in open source until someone rather forcefully and a abrasively injected it (and yes, the question comes off as a pretty abrasive challenging, almost an accusation).

                                                                                            people who say you are less worth/less human/just making stuff up

                                                                                            No one said anything like that. Do you really think those people think that woman are “less human”? I mean … like … what?

                                                                                            1. 1

                                                                                              No one said anything like that. Do you really think those people think that woman are “less human”? I mean … like … what?

                                                                                              I didn’t mean that someone said that in this particular context. Rather, that is an explanation for why I think the second proposed moderation policy is useful, rather than saying “You should just debate those people.”

                                                                                              1. 8

                                                                                                Well, we’re discussion specific examples, so if you say something like that I think it’s reasonable to assume it’s about those specific examples we’re discussing.

                                                                                                I think very few – if any – people here would be against banning overt sexism or the like, but the examples you’ve posted don’t really seem to exhibit that. As I said in my top-level comment: being incorrect is not the same as being sexist.

                                                                                                1. 4

                                                                                                  I think you and @itamarst may have gotten at a core disagreement, that he sees more expressions as overt sexism.

                                                                                                  1. 10

                                                                                                    Indeed; perhaps there’s an even more fundamental disagreement: whether or not these people are acting in good faith or not.

                                                                                                    Generally speaking I tend to assume people are acting in good faith unless there’s a decent indication that they’re not, even if they say something stupid, harmful, or otherwise spectacularly wrong. This is perhaps a bit naïve because clearly there are bad-faith trolls – and I’m not afraid to call them out if there’s a good indication that they are – but I’d rather be a bit naïve than write people off as trolls so quickly.

                                                                                                    This seems to be a general issue I’ve seen many times, both here and elsewhere.

                                                                                                    I hate to use the term because it’s so often used by right-wing trolls (I can’t think of a better term), but this is probably what distinguishes a “Social Justice Advocate” from a “SJW”.

                                                                                                    1. -2

                                                                                                      Basically what you seem to be saying is that “sexism and racism is OK so long as it’s in good faith.” If someone is sincere in their beliefs, and not particularly trying to get a rise out of anyone, you are saying that is reasonable discourse that is acceptable in a community you’re part of.

                                                                                                      From my perspective it’s not about good faith or bad faith, it’s about how certain positions inherently force you to choose which people are welcome. And I would argue that “don’t make sexism or racism allowable” is the better choice.

                                                                                                      1. 5

                                                                                                        That’s an extremely ungenerous reading of what I said. To quote myself from the top comment:

                                                                                                        Sometimes people disagree on complex social issues 🤷‍♂️ If I look at this comment you linked then the good-faith interpretation of it is that they actually agree on the basic premise that there are problems with disadvantaged groups, but they just disagree on the solution. I don’t think being wrong is automatically “sexist”.

                                                                                                        As I mentioned I always do my best to engage in good faith, but you’re giving me a hard time here…

                                                                                                        1. 0

                                                                                                          There’s two questions:

                                                                                                          1. Should sexist or racist comments be allowed if they’re in good faith?
                                                                                                          2. What counts as sexist or racist.

                                                                                                          I am willing to discuss #2 if you are willing to say to #1 “should be not be allowed”, but otherwise there’s no point.

                                                                                                          (Edited, original version got the negative wrong.)

                                                                                                          1. 10

                                                                                                            Should sexist or racist comments be allowed if they’re in good faith?

                                                                                                            I literally answered this question already in my top comment: “I’m all for calling out sexism or whatnot, but this is really just a disagreement”. What more do you want? A bloody “I am not sexist” club membership card? Do I need to take a test? Is there certification involved? Can I put it on my CV?

                                                                                                            I am retiring from this discussion as I’ve grown weary of it. I don’t need to prove a damn thing to you, especially not if your implied accusations are based on bad-faith readings of posts I carefully spent some time writing. Talking to you seems like playing a game of “avoid being called sexist”. There is no value for me here at all, and only frustration and accusations.

                                                                                                            Somehow you managed to misconstrue everything I said completely different from the first reply with your ridiculous “people who say you are less worth/less human/just making stuff up” comment which is apparently about hypothetical other people or something, rather than the people and comments we’re discussing. What kind of debating tactic is that? Sjeez…

                                                                                                            So yeah, I’m done with it. The only thing that has turned me off from social justice is the last few years have been its proponents, not its detractors. Ya’ll impossible to engage with.

                                                                                                            1. 0

                                                                                                              At no point did I say you were sexist.

                                                                                                            2. 4

                                                                                                              If I read this correctly, you’re willing to “discuss” one point if the other party is willing to cede the other without question?

                                                                                                              I don’t believe I could agree to such terms, and I’m pretty sure nobody seriously interested in engaging in genuine discourse could, either.

                                                                                                              (And I say this as somebody who believes that sexist or racist comments categorically don’t belong here on lobsters, good faith or not, because they are not relevant to the subject matter.)

                                                                                                              1. -2

                                                                                                                They didn’t say that anyone had to agree.

                                                                                                                They said that they are willing to discuss IF that is the case. It is likely meant to be a nice way of saying that if you don’t agree with that then the conversation need not continue and it is likely not someone trying to force you into a decision.

                                                                                                                People are allowed to state boundaries without it being a requirement of some sort to concede.

                                                                                                                Furthermore, this person has already stated that they are “turned off” from “social justice”. Their intentions here are clear as freshly cleaned glass. Nobody else has said it, but they are being sexist if they think that supporting women being treated equally is something that you can be “turned off” from.

                                                                                                                As I have mentioned elsewhere, the only thing that has turned me off from social justice is the last few years have been some of its proponents and not its detractors.

                                                                                                                https://lobste.rs/s/lpvcsm/proposal_for_moderation_policies_no_tone#c_97hpgq

                                                                                                                Interestingly, this person has also joined in the last couple years during the time that I’ve noticed the worst degradation of discussions on this site. Maybe a coincidence since it’s just my experience, but at some point I guess that every community becomes another HackerNews, Reddit, whatever…

                                                                                                                1. 8

                                                                                                                  Furthermore, this person has already stated that they are “turned off” from “social justice”. Their intentions here are clear as freshly cleaned glass. Nobody else has said it, but they are being sexist if they think that supporting women being treated equally is something that you can be “turned off” from.

                                                                                                                  Do you really think it’s impossible for someone to completely burn out because of the people behind the mission and want nothing to do with it in spite of wanting the core of the mission to succeed? That there’s no difference between supporting the methods and arguments for a cause vs supporting the cause?

                                                                                                                  Your paragraph right there is phrased as such and I find that kind of weird.

                                                                                                                  1. 5

                                                                                                                    Furthermore, this person has already stated that they are “turned off” from “social justice”. Their intentions here are clear as freshly cleaned glass. Nobody else has said it, but they are being sexist if they think that supporting women being treated equally is something that you can be “turned off” from.

                                                                                                                    The problem isn’t the cause, it’s having to deal with people like you. But yeah quote me out of context all you want to confirm your witch-hunt.

                                                                                                                    1. -1

                                                                                                                      interestingly, in my view, Lobste.rs is already far worse than HN/Reddit, etc. I think these threads are pretty instructive of why – the balance of active and engaged users along the political spectrum is off. most of the hard left is gone, and the rest of the site is center-right to hard right. and it can be seen easily in which topics are labelled as political and which aren’t.

                                                                                                                      there’s probably also something to how small the lobste.rs community is I think and how that makes the imbalance so much more glaring.

                                                                                                                      EDIT: actually, the issue is quite obvious now that I think about it. a website for whom membership is invite based needs to have a diverse group of “seed users”. I’m fairly sure you could track the rightward slide of the site with a gigantic tree view of users invited on a timeline.

                                                                                                                      1. 3

                                                                                                                        We could test that at a single data point right now, you know. We were invited by the same user (what are the odds, eh?). I’m not sure if it would hold true for the rest of the users though.

                                                                                                                        I would be center left based on wikipedia’s explanation. I don’t keep track of this stuff tbh.

                                                                                                                        I would like to add that the information that I can glean from the comments and stories on this site is greater than what I can gather on Hackernews and Reddit. The conversations are higher quality most times as well.

                                                                                                2. 1

                                                                                                  I don’t think being wrong[1] is automatically “sexist”, and certainly not a “hostile sexist troll” as you said on Twitter

                                                                                                  The Twitter thread, for context: https://twitter.com/itamarst/status/1279366605185613827

                                                                                                1. 2

                                                                                                  I personally don’t think that this fixes the issue. It seems like it just makes things more complicated to me. I think that something like aggregating (downvotes / upvotes) > 1.3 (or some threshold) over the last 30 days. If some number of posts meet that, then the person is getting downvoted more than upvoted. That would have left me without the warning and probably others, while still pointing out people who get mostly downvotes which is what I believe the intention of this feature is really wanting to point out? Number of flags means nothing, because it also a factor of how often you post.

                                                                                                  1. 19

                                                                                                    Not surprised. I read Clean Code a year back and Martin’s style there was to advocate an extremely specific, almost-obsessive style of coding without deeply evaluating the why or talking about context. The impression was that it was the Right Way To Code, and any deviation from that was a failing. Stands to reason it’d be the same here.

                                                                                                    For a good book on software architecture, I’d recommend Documenting Software Architectures by Paul Clements et al. While it’s focused on just representing architecture, I found learning how to explain things lead me to being better able to think about architectures.

                                                                                                    1. 5

                                                                                                      Thank you for recommending that book, I am contemplating about ordering it.

                                                                                                      I think as a “junior” dev I read Clean CodER and it actually taught me a few things, so my impression from my first encounter of his writing was very positive. Then I reread it again as I was now in a more senior role and contemplated recommending it to junior devs starting their first job. I was sadly disappointed by the book. I also get the same feeling when I watch RCM talks on youtube, etc. I think its the holier-than-thou attitude that repels me now, as a junior I looked for guidance and I didn’t mind so much, now I find his advice too simplistic and the “Clean X” brand shallow maybe even a bit narcistic.

                                                                                                      His recent ranting blog posts are also disappointing, but I guess not unexpected.

                                                                                                      1. 8

                                                                                                        I read “Coders at Work” and “The Architecture of Open Source Applications” a while back. I wouldn’t describe either as exclusively full of great advice. In fact both often document some really questionable decisions, completely uncritically. However, I think they give a glimpse of people working with very different mindsets from one another because of very different constraints, and projects that make large scale technical decisions for very different reasons.

                                                                                                        1. 3

                                                                                                          For intermediate developers, I can also highly recommend The Pragmatic Programmer. It’s been years since I read it, so I don’t know how well it held up over the years, but I remember when I read it, it had a big influence on how I view programming.

                                                                                                        2. 1

                                                                                                          This is interesting because they talk about the why more than necessary in my expectations

                                                                                                        1. 4

                                                                                                          Whenever companies grow substantially, the comparison of the cost for managed vs running their own services always ends up with the managed service being more expensive. So, managed services aren’t a good idea for anything than taking a shortcut when you have a small team, and it’s going to bite you in the ass when you grow later.

                                                                                                          1. 1

                                                                                                            when you grow later.

                                                                                                            if you grow later.

                                                                                                            Fixed that for you :)

                                                                                                            1. 3

                                                                                                              If your organization plans to stay at same level of growth as it currently is forever then maybe your point makes sense, but companies like that tend to either have bounds of time and effort to focus on improving these things (case in point: Craig’s List) or they lay off people because their ship is sailing w/ less maintanence now (usual case).

                                                                                                              With that said, you didn’t fix anything. I considered typing “if” when I wrote it, but it’s really a moot argument in practice. If you plan to grow then you should plan to grow. Otherwise, you plan to fail.

                                                                                                              Just because you feel differently doesn’t mean you are fixing things. Saying things like “fixed that for you” instead of having an actual conversation is just rude behavior all around.

                                                                                                              1. 4

                                                                                                                If you plan to grow then you should plan to grow. Otherwise, you plan to fail.

                                                                                                                Not all companies are VC-backed startups. There’s nothing wrong with serving a small number of loyal customers indefinitely.

                                                                                                                1. 2

                                                                                                                  I already accounted for that edge case at the start, but I also explained why I believe it doesn’t really apply here. It’s possible that you replied while I was still editing since I made a few edits, so not sure. I apologize if that confused the situation.

                                                                                                                  Either way, it’s completely not applicable whether or not they plan to grow in my personal opinion and experience.

                                                                                                                2. 2

                                                                                                                  Ah, sorry, I was joking about the fact that often people plan to grow but don’t actually do so. I have certainly been part of such organizations.

                                                                                                                  And that if you plan for when you are a 1000 person company when you are a 200 person, especially when it comes to engineering intensive efforts without a ton of value add like commodity databases, you may never get to 1000.

                                                                                                              2. 1

                                                                                                                In other words, managed services are technical debt?

                                                                                                                1. 1

                                                                                                                  In some cases, but I am saying that they are financial debt at a successful company. They are a shortcut to profitability, not a solution to longevity.

                                                                                                                  They do tend to become technical debt at scale, though, because they are meant to make broad scopes and support every use-case and aren’t usually tuned to perform well for the specific use-case of the product.

                                                                                                              1. 5

                                                                                                                Haven’t watched yet, but I don’t think that we are. Going to watch the vid shorly! =]

                                                                                                                Some of us are artists, some another flavor of assembly line worker. I think the first do it for a reason of passion for software while the second are only interested in making a living.

                                                                                                                Think about how the day feels to you. Do you really feel like you’re doing any real engineering when you’re writing software? I’d be surprised if so.

                                                                                                                1. 8

                                                                                                                  Having worked alongside and very closely with mechanical, electrical, and chemical engineers, I would say that yes, writing software is an engineering discipline as well. The similarities are pretty striking in terms of problem decomposition, modularity, planning, creativity, and so on. Engineering is about building something from nothing, which all these fields have in common.

                                                                                                                  1. 3

                                                                                                                    I think that based on your analysis, most artists are engineers too.

                                                                                                                    In my opinion, creating something from nothing is art, not necessarily engineering. Also, most software “engineers” maintain things that already exist. They aren’t creating something from nothing.

                                                                                                                    1. 3

                                                                                                                      I think that based on your analysis, most artists are engineers too.

                                                                                                                      Not sure I would jump all the way there, but they do have some things in common. Engineering also involves all the things that I listed in the previous sentence.

                                                                                                                      Also, most software “engineers” maintain things that already exist. They aren’t creating something from nothing.

                                                                                                                      Have you worked with any mechanical, electrical, civil, or any other of the traditional engineers? It’s at least 10x worse for them. How many bridges are designed from scratch vs an iteration of a previous design? How many EEs do something more than mix and match pre-existing circuits? And so on.

                                                                                                                      1. 3

                                                                                                                        How many bridges are designed from scratch vs an iteration of a previous design?

                                                                                                                        Writing a program is like building a bridge not like designing a bridge. Designing a bridge is like coming up with a new algorithm or improving an old one.

                                                                                                                        1. 1

                                                                                                                          Writing a program is like building a bridge not like designing a bridge.

                                                                                                                          I think this analogy is poor. If pressed to tell you what software process was like “building a bridge”, I would say installing software on a server - and we’ve gotten very good at making that fast and easy.

                                                                                                                          1. 2

                                                                                                                            Both analogies partly work and partly don’t. That’s why I made such an effort to talk to people with firsthand experience in both sides of the discussion.

                                                                                                                  2. 2

                                                                                                                    I like this, I’ve always thought of myself of an artist.

                                                                                                                  1. 3

                                                                                                                    This looks super cool! Thanks for posting it! I’d like to find an alternative to 1Password because they are an evil organization, so going to keep my eyes on this one! :)

                                                                                                                    I have a couple questions for anyone who may know and doesn’t mind!

                                                                                                                    When I enter the master password, does it go to the server or does it stay on the client? If it stays on the client, does that mean that all someone needs to download my encrypted data is my email address?

                                                                                                                    I’d like to use this but also think that the benefit 1Password has is either that the secret key is needed to grab someone’s encrypted data (which could be cracked at any future time) or that the master password is never sent to the server - but trying to figure out which model Bitwarden is taking here!

                                                                                                                    Thanks for any responses <3

                                                                                                                    1. 6

                                                                                                                      When you log in with Bitwarden, the client sends a request to /api/accounts/prelogin, which tells the client which key derivation function to use, and for how many rounds.

                                                                                                                      On registration, the Bitwarden server will accept a client-generated asymmetric keypair, with the private key encrypted with the master-password-derived key.

                                                                                                                      The client then:

                                                                                                                      1. Uses the KDF to derive a key from the master password,
                                                                                                                      2. Hashes the master password using this key
                                                                                                                      3. Sends the hashed password to the /api/identity/connect/token endpoint.

                                                                                                                      The server responds with the previously stored (encrypted!) keypair, which the user can decrypt using their master-password-derived key, and then use this private key to decrypt their passwords. This means that changing the master password only results in re-encrypting the private key, instead of the entire set of password entries that are stored.

                                                                                                                      1. 1

                                                                                                                        Cool! Thank you for the info! Seems pretty secure, I’m going to make the switch =^.^=

                                                                                                                      2. 5

                                                                                                                        1password has a very impressive and detailed security design document worth reading for anyone interested in this space. https://1password.com/files/1Password-White-Paper.pdf

                                                                                                                        What about 1p is evil btw?

                                                                                                                        1. 1

                                                                                                                          The organization itself has had questionable layoffs, has been called out by queer people for being a hostile work environment, etc.

                                                                                                                          1. 3

                                                                                                                            I was considering applying to 1Password, do you have any sources? A cursory web search doesn’t lead me anywhere useful.

                                                                                                                            1. 1

                                                                                                                              Hmm… Also can’t find them via search. My guess is that the Twitter feeds I have seen are private followers? If you end up working there, let us know how it goes =^.^=

                                                                                                                        2. 1

                                                                                                                          With all well known password managers, the master password stays on the client. Anything that did otherwise would be widely ridiculed on the internet.

                                                                                                                          Usually servers only give the encrypted data after authenticating (with a different hash of the master password, not the one that derives the encryption key). But IMO if you really trust your password manager, you should explicitly publish the encrypted vault.

                                                                                                                          1. 1

                                                                                                                            Not LastPass last time that I checked. You give them your password unhashed. It was widely ridiculed and people still use it. Their support team also won’t document their encryption process, saying it’s a “security risk”.

                                                                                                                        1. 1

                                                                                                                          Seems about time.

                                                                                                                          1. 24

                                                                                                                            Cables may be untidy if unmaintained, yes, and they definitely harm flexibility in some (or even many) cases. Similar to large open plan offices, it’s form over function though.

                                                                                                                            I brief tour of the bluetooth spec (and corresponding FOSS implementations) will give you a few grey hairs I’m certain of that, there is so much cruft that I’m suprised anyone has made it work at all.

                                                                                                                            Bluetooth, when it works, is “decent” but cables are ‘decent-er’.

                                                                                                                            Headphone cables in particular, though, have their own reliability problems (one ear cut outs and cable “kinks” which kill connections)- but nothing is more frustrating than having a pair of headphones that just wont link to your phone or laptop- or having cut outs as you’re walking.

                                                                                                                            WiFi has its faults but it’s more reliable by a wide factor than Bluetooth. Running ethernet cables is hard though, but once it’s done it’s kinda done, computers don’t move too much, even if you have a laptop it’s usually fairly static while working in my experience.

                                                                                                                            Cabling everything, Playstation, TV, Laptops; leaves more of the spectrum left for your mobile devices anyway, so it’s a little win regardless.

                                                                                                                            1. 10

                                                                                                                              As I partially agree here but I really find, focusing on the headphone/iem part, that what make cable a real problem in term of management, simply that for most of those products they are not removable. When you tend to go to more high-end or specialized HIFI products, you find removable cables (and a crazy after-market for those…). If more products have come with removable cables, the wireless advantages would have been less impactful (IMHO yadayda) for headphones/iem.

                                                                                                                              And cable management is clearly an art form when you have some constraints of space or placement of electrical sources.

                                                                                                                              Bluetooth is a mess and the more codecs and rev you pill on it, the more it is a mess but the kisscool effect of “looks ma, no cable” had an upper hand for the end-user/consumer.

                                                                                                                              1. 3

                                                                                                                                Headphone cables in particular, though, have their own reliability problems

                                                                                                                                While it’s actually quite cheap to make them well, it’s not quite as cheap as making them poorly, meaning that only high end gear tends to get the extra 10c added to the BOM. Consumers just don’t seem to buy for reliability in this (and many other) spaces.

                                                                                                                                1. 19

                                                                                                                                  In my experience I’d love to buy for reliability, but it’s often so damn hard to find. These things wear out over years, and there’s so much $200 junk on the market that’s no better than the $20 junk. I use headphones a lot, and a couple times I tried to upscale from $20 ones to $80 ones that came well reviewed… and they broke just as quickly as the cheapo ones. So for years I just bought the same $20 headset that was comfy and had good sound quality, and expected to replace it every 1-2 years. It worked pretty well, until that model was discontinued. It wasn’t until recently that I decided to branch out and try again, and I now have a pair of headphones that actually comes with a parts list for ordering replacement components. It doesn’t have a microphone though, so… I’m back to trial and error searching for headsets. I’ll let you know in 5 years how it’s going.

                                                                                                                                  1. 12

                                                                                                                                    The long cycle time for getting information about reliability is a big part of the issue IMO; by the time you find out that a brand is reliable, there’s been a hostile takeover and most of the staff who made it good are gone.

                                                                                                                                    1. 7

                                                                                                                                      One of the problems is that a lot of reviews are written by professional reviewers who looked at it for 10 minutes and wrote down their initial impressions about it. There are exceptions, but a lot of reviews are just shallow and written by people who have never actually used the product. This isn’t necessarily completely without value if done well, but especially stuff like long-term reliability isn’t usually addressed.

                                                                                                                                      1. 2

                                                                                                                                        I had to wade through a lot of these buying a DSLR recently. Most of the reviews were nothing more than padded spec sheets.

                                                                                                                                      2. 6

                                                                                                                                        … and there’s so much $200 junk on the market that’s no better than the $20 junk.

                                                                                                                                        I absolutely agree and in fact this study underpins this statement (at least from the point of view of sound reproduction quality): No correlation between headphone frequency response and retail price

                                                                                                                                        PS: Sorry for being a bit off-topic.

                                                                                                                                        1. 1

                                                                                                                                          The reason that there is no correlation “between frequency response” is because frequency response isn’t what you are paying for unless you are buying studio headphones (and Beats Studio or other gimmicky headphones don’t count) - aside from upper/lower bounds changing slightly as you pay more in ways that people will debate the value of until the end of time.

                                                                                                                                          The price goes to tonal quality, dynamic range, and the sound stage provided in the audio among various other features. These things aren’t measured in this study.

                                                                                                                                        2. 5

                                                                                                                                          I’m surprised you could find $20 headphones that sound as good as what you could get for $80.

                                                                                                                                          Re: lack of mic: I buy my headphones and mic separately, with the mindset of having each do their own single responsibility well. Then I have a splitter (“combiner”?) that I plug both into, that lets me plug the pair into a standard stereo+mic jack. The obvious con is that I have more wires dangling on me, but I live with that.

                                                                                                                                          1. 9

                                                                                                                                            I’m sure they didn’t sound as good as what I could get for $80, but they sounded about as good as what I did get for $80. :-P

                                                                                                                                            1. 3

                                                                                                                                              Yeah, even with headphones that have a mic built-in, half the time they cheap out and omit the hardware mute, so you’re stuck fumbling for the software mute like some kind of chump. With a hardware mic you can pick out something decent that can be controlled on its own.

                                                                                                                                              1. 1

                                                                                                                                                I have a huge collection of headphones and my experience is that most headphones between $20-$60 sound about the same and you’re just paying for a brand name. That metric moves up to $40-$110 or so for wireless. Most $20 wireless headphones hardly even work, but the ones that do are probably comparable? It varies a lot more from $120-300, then up to about $700 it narrows a bit until about the $2000 range where things vary in really cool ways =^.^=

                                                                                                                                                …or in other words, you can buy a $40 or $80 headphone and they’re probably about the same, and a lot of $20 sound like $80 ones in the wireless world because that $80 markup went to brand & maybe better bluetooth hardware, but likely not better audio.

                                                                                                                                            2. 7

                                                                                                                                              I found the perfect solution to this. Some brands make headphones that have a 3.5mm jack in them and just come with a double ended cable. If the cable degrades which even a good one will after a couple of years of constant use, you can replace it at very low cost. Additionally even a cheap 3.5mm cable is usually higher quality than the average built in headphone cable for some reason. When I get headphones with replaceable cables the cable seems to degrade much slower.

                                                                                                                                              Now I have to figure out a way to replace/conserve the padding/upholstery which seems to disintegrate after a couple of years.

                                                                                                                                              1. 3

                                                                                                                                                Some brands make headphones that have a 3.5mm jack in them and just come with a double ended cable.

                                                                                                                                                Yup. After having to replace the jack on a fixed-cable pair of headphones multiples times I decided to never buy fixed-cable headphones again.

                                                                                                                                                Additionally even a cheap 3.5mm cable is usually higher quality than the average built in headphone cable for some reason. When I get headphones with replaceable cables the cable seems to degrade much slower.

                                                                                                                                                Also my experience. I’ve had my current pair of headphones for around 3 years, and the cable is still working just fine.

                                                                                                                                                Now I have to figure out a way to replace/conserve the padding/upholstery which seems to disintegrate after a couple of years.

                                                                                                                                                The earphone pads are replaceable. I’m a big fan of memory foam ones, which are much less fatiguing to wear for long stretches of time.

                                                                                                                                          1. 11

                                                                                                                                            I absolutely hate it. Their terrible new notification page was bad enough. But I dealt with it because I rarely actually use notifications.

                                                                                                                                            Then they push this crap. I’m done with Github, I’ve migrated most of my stuff to Codeberg.

                                                                                                                                            I’m not even going to look at Github until they get their act together (which I doubt will ever happen).

                                                                                                                                            1. 6

                                                                                                                                              I’ve been using sr.ht for over a year and it’s pretty dope for the most part =^.^=

                                                                                                                                              1. 4

                                                                                                                                                Oh I completely forgot about that one.

                                                                                                                                                I remember coming across repos there sometimes and loving how fast and responsive everything feels.

                                                                                                                                                And if I recall correctly, it works without JS which is awesome.

                                                                                                                                                It’s been on my todo list to try, my only gripe was finding the right time to try it out.

                                                                                                                                                But I might actually give it a go now, seems like the perfect time.

                                                                                                                                                Edit: Oh my god, this is amazing. No JS nor XHR has been used on the site at all. And everything is relatively quick to get used to.

                                                                                                                                                1. 2

                                                                                                                                                  Yeah! It’s pretty awesome.

                                                                                                                                                  Some of the images in https://builds.sr.ht are super outdated (or that was my take-away anyway) so I haven’t been able to use the NixOS builds (or they just don’t work anyway), but that’s the only complaint I’ve had over the last couple years - and it’s pretty niche =^.^=

                                                                                                                                            1. 2

                                                                                                                                              I replaced all of my wireless that I can with wired a couple years ago, but it’s unfortunate that so many devices don’t even support wired connections any more. Are there any clever hacks to get around that aside from just running an AP?

                                                                                                                                              1. 1

                                                                                                                                                What sort of devices do you have in mind? In theory, most things which have USB ports (phones, tablets, e-readers, laptops) can use a USB-ethernet adaptor to connect to a wired network (or you can e.g. share a network connection over USB from an ethernet-connected laptop to a phone).

                                                                                                                                                1. 1

                                                                                                                                                  A lot of small semi-portable and media devices don’t support ethernet. Some do if you plug in a USB->ethernet adapter or whatever, like the Nintendo Switch, but some don’t even support that.

                                                                                                                                                  It seems unlikely that there’s a good solution for phones or anything similar to that, so having a network for wireless devices and trying to minimize the number of devices is probably the best that we can do, but it’s unfortunate because then they can’t easily interact with ethernet devices without also putting them on the same network.

                                                                                                                                                  Wireless is also a security concern as opposed to ethernet, but a lot of people don’t care as much for that angle I suppose.

                                                                                                                                                  1. 1

                                                                                                                                                    It seems unlikely that there’s a good solution for phones or anything similar to that

                                                                                                                                                    My phone and tablet work fine with an OTG cable and an Ethernet adapter.

                                                                                                                                                    1. 1

                                                                                                                                                      Yeah, this is an option. I just don’t see myself walking around without my phone internet off, and I also don’t see myself plugging ethernet into my phone. That’s why I used it as an example of a case where I end up needing wifi =^.^=

                                                                                                                                              1. 4

                                                                                                                                                It’s a feature preview. Sounds like you’re in the B group. I opted into it. I believe you can disable it or send feedback about it.

                                                                                                                                                Edit: Seems like they rolled it out for everyone today. The options are gone from the feature preview menu.

                                                                                                                                                1. 1

                                                                                                                                                  I literally just found the menu last night and enabled it… 😹

                                                                                                                                                1. 23

                                                                                                                                                  It boggles my mind that there are more and more websites that just contain text and images, but are completely broken, blank or even outright block you if you disable JavaScript. There can be great value in interactive demos and things like MathJax, but there is no excuse to ever use JavaScript for buttons, menus, text and images which should be done in HTML/CSS as mentioned in the blog post. Additionally, the website should degrade gracefully if JavaScript is missing, e.g. interactive examples revert to images or stop rendering, but the text and images remain in place.

                                                                                                                                                  I wonder how we can combat this “JavaScript for everything” trend. Maybe there should be a website that names and shames offending frameworks and websites (like https://plaintextoffenders.com/ but for bloat), but by now there would probably be more websites that belong on this list than websites that don’t. The web has basically become unbrowsable without JavaScript. Google CAPTCHAs make things even worse. Frankly, I doubt that the situation is even salvageable at this point.

                                                                                                                                                  I feel like we’re witnessing the Adobe Flash story all over again, but this time with HTML5/JS/Browser bloat and with the blessing of the major players like Apple. It’ll be interesting to see how the web evolves in the coming decades.

                                                                                                                                                  1. 5

                                                                                                                                                    Rendering math on the server/static site build host with KaTeX is much easier than one might have thought: https://soap.coffee/~lthms/cleopatra/soupault.html#org97bbcd3

                                                                                                                                                    Of course this won’t work for interactice demos, but most pages aren’t interactice demos.

                                                                                                                                                    1. 9

                                                                                                                                                      If I am making a website, there is virtually no incentive to care about people not allowing javascript.

                                                                                                                                                      The fact is the web runs on javascript. The extra effort does not really give any tangible benefits.

                                                                                                                                                      1. 21

                                                                                                                                                        You just proved my point. That is precisely the mechanism by which bloat finds its way into every crevice of software. It’s all about incentives, and the incentives are often stacked against the user’s best interest, particularly if minorities are affected. It is easier to write popular software than it is to write good software.

                                                                                                                                                        1. 7

                                                                                                                                                          Every advance in computers and UI has been called bloat at one time or another.

                                                                                                                                                          The fact of the matter is that web browsers “ship” with javascript enabled. A very small minority actually disable it. It is not worth the effort in time or expense to cater to a group that disables stuff and expects everything to still work.

                                                                                                                                                          Am I using a framework?

                                                                                                                                                          Most of the time, yes I am. To deliver what I need to deliver it is the most economical method.

                                                                                                                                                          The only thing I am willing to spend extra time on is reasonable accommodation for disabilities. But most of the solutions for web accessibility (like screenreaders) have javascript enabled anyhow.

                                                                                                                                                          You might get some of what you want with server side rendering.

                                                                                                                                                          Good software is software that serves the end user’s needs. If there is interactivity, such as an app, obviously it is going to have javascript. Most things I tend to make these days are web apps. So no, Good Software doesn’t always require javascript.

                                                                                                                                                          1. 10

                                                                                                                                                            I actually block javascript to help me filter bad sites. If you are writing a blog and I land there, and it doesn’t work with noscript on, I will check what domains are being blocked. If it is just the one I am accessing I will temp unblock and read on. If it is more than a couple of domains, or if any of them are unclear as to why they need to be loaded, you just lost a reader. It is not about privacy so much as keeping things neat and tidy and simple.

                                                                                                                                                            People like me are probably a small enough subset that you don’t need our business.

                                                                                                                                                            1. 4

                                                                                                                                                              Ah, the No-Script Index!

                                                                                                                                                              How many times does one have to click “Set all this page to temporarily trusted” to get a working website? (i.e. you get the content you came for)

                                                                                                                                                              Anything above zero, but definitely everything above one is too much.

                                                                                                                                                              1. 3

                                                                                                                                                                The absolute worst offender is microsoft. Not only is their average No-Script index around 3, but you also get multiple cross site scripting attack warnings. Additionally when it fails to load a site because of js not working it quite often redirects you to another page, so set temp trusted doesn’t even catch the one that caused the failure. Often you have to disable no-script altogether before you can log in and then once you are logged in you can re-enable it and set the domains to trusted for next time.

                                                                                                                                                                That is about 3% of my total rant about why microsoft websites are the worst. I cbf typing up the rest.

                                                                                                                                                              2. 3

                                                                                                                                                                i do this too, and i have no regrets, only gratitude. i’ve saved myself countless hours once i realized js-only correlates heavily with low quality content.

                                                                                                                                                                i’ve also stopped using medium, twitter, instagram, reddit. youtube and gmaps, i still allow for now. facebook has spectacular accessibility, ages ahead of others, and i still use it, after years away.

                                                                                                                                                                1. 1

                                                                                                                                                                  My guess is that a lot of people who use JS for everything, especially their personal blogs and other static projects, are either lazy or very new to web development and programming in general. You can expect such people to be less willing or less able to put the effort into making worthwhile content.

                                                                                                                                                                  1. 2

                                                                                                                                                                    that’s exactly how i think it work, and why i’m happy to skip the content on js-only sites.

                                                                                                                                                              3. 6

                                                                                                                                                                The only thing I am willing to spend extra time on is reasonable accommodation for disabilities.

                                                                                                                                                                Why do you care more about disabled people than the privacy conscious? What makes you willing to spend time for accommodations for one group, but not the other? What if privacy consciousness were a mental health issue, would you spend time on accommodations then?

                                                                                                                                                                1. 12

                                                                                                                                                                  Being blind is not a choice: disabling JavaScript is. And using JavaScript doesn’t mean it’s not privacy-friendly.

                                                                                                                                                                  1. 4

                                                                                                                                                                    It might be a “choice” if your ability to have a normal life, avoid prison, or not be executed depends on less surveillance. Increasingly, that choice is made for them if they want to use any digital device. It also stands out in many places to not use a digital device.

                                                                                                                                                                    1. 2

                                                                                                                                                                      This bears no relation at all to anything that’s being discussed here. This moving of goalposts from “a bit of unnecessary JavaScript on websites” to “you will be executed by a dictatorship” is just weird.

                                                                                                                                                                      1. 4

                                                                                                                                                                        You framed privacy as an optional choice people might not need as compared to the need for eyesight. I’d say people need sight more than privacy in most situations. It’s more critical. However, for many people, privacy is also a need that supports them having a normal, comfortable life by avoiding others causing them harm. The harm ranges from social ostracism upon learning specific facts about them to government action against them.

                                                                                                                                                                        So, I countered that privacy doesn’t seem like a meaningless choice for those people any more than wanting to see does. It is a necessity for their life not being miserable. In rarer cases, it’s necessary for them even be alive. Defaulting on privacy as a baseline increases the number of people that live with less suffering.

                                                                                                                                                                        1. 2

                                                                                                                                                                          You framed privacy as an optional choice

                                                                                                                                                                          No, I didn’t. Not even close. Not even remotely close. I just said “using JavaScript doesn’t mean it’s not privacy-friendly”. I don’t know what kind of assumptions you’re making here, but they’re just plain wrong.

                                                                                                                                                                          1. 3

                                                                                                                                                                            You also said:

                                                                                                                                                                            “Being blind is not a choice: disabling JavaScript is.”

                                                                                                                                                                            My impression was that you thought disabling Javascript was a meaningless choice vs accessibility instead of another type of necessity for many folks. I apologize if I misunderstood what you meant by that statement.

                                                                                                                                                                            My replies don’t apply to you then: just any other readers that believed no JS was a personal preference instead of a necessity for a lot of people.

                                                                                                                                                                    2. 3

                                                                                                                                                                      The question isn’t about whether it’s privacy-friendly, though. The question is about whether you can guarantee friendliness when visiting any arbitrary site.

                                                                                                                                                                      If JS is enabled then you can’t. Even most sites with no intention of harming users are equipped to do exactly that.

                                                                                                                                                                    3. 12

                                                                                                                                                                      Why do you care more about disabled people than the privacy conscious?

                                                                                                                                                                      Oh that one is easy: Its the law.

                                                                                                                                                                      Being paranoid isn’t a protected class, it might be a mental health issue - but my website has nothing to do with its treatment.

                                                                                                                                                                      For the regular privacy, you have other extensions and cookie management you can do.

                                                                                                                                                                    4. 3

                                                                                                                                                                      You have some good points. One thing I didn’t see addressed is the number of people on dial-up, DSL, satellite, cheap mobile, or other bad connections. The HTML/CSS-type web pages usually load really fast on them. The Javascript-type sites often don’t. They can act pretty broken, too. Here’s some examples someone posted to HN showing impact of JavaScript loads.

                                                                                                                                                                      “If there is interactivity, such as an app, obviously it is going to have javascript. “

                                                                                                                                                                      I’ll add that this isn’t obvious. One of the old models was client sending something, server-side processing, and server returns modified HTML. With HTML/CSS and fast language on server, the loop can happen so fast that the user can barely perceive a difference vs a slow, bloated, JS setup. It would also work for vast majority of websites I use and see.

                                                                                                                                                                      The JS becomes necessary as the UI complexity, interactivity (esp latency requirements), and/or local computations increase past a certain point. Google Maps is an obvious example.

                                                                                                                                                                      1. 3

                                                                                                                                                                        It is interesting to see people still using dialup. Professionally, I use typescript and angular. The bundle sizes on that are rather insane without much code. Probably unusable on dialup.

                                                                                                                                                                        However, for my personal sites I am interested in looking at things like svelte mixed with dynamic loading. It might help to mitigate some of the issues that Angular itself has. But fundamentally, it is certainly hard to serve clients when you have apps like you mention - Google Maps. Perhaps a compromise is to try to be as thrifty as can be justified by the effort, and load most of the stuff up front, cache it as much as possible, and use smaller api requests so most of the usage of the app stays within the fast local interaction.

                                                                                                                                                                        1. 2

                                                                                                                                                                          <rant>

                                                                                                                                                                          Google Maps used to have an accessibility mode which was just static pages with arrow buttons – the way most sites like MapQuest worked 15 years ago. I can only guess why they took it away, but now you just get a rather snarky message.

                                                                                                                                                                          Not only that, but to add insult to injury, the message is cached, and doesn’t go away even when you reload with JS enabled again. Only when you Shift+reload do you get the actual maps page.

                                                                                                                                                                          This kind of experience is what no-JS browsers have to put up with every fucking day, and it’s rather frustrating and demoralizing. Not only am I blocked from accessing the service, but I’m told that my way of accessing it itself invalid.

                                                                                                                                                                          Sometimes I’m redirected to rather condescending “community” sites that tell me step by step how to re-enable JavaScript in my browser, which by some random, unfortunate circumstance beyond my control must have become disabled.

                                                                                                                                                                          All I want to say to those web devs at times like that is: Go fuck yourself, you are all lazy fucking hacks, and you should be ashamed that you participated in allowing, through action or inaction, this kind of half-baked tripe to see the light of day.

                                                                                                                                                                          My way of accessing the Web is just as valid as someone’s with JS enabled, and if you disagree, then I’m going to do everything in my power to never visit your shoddy establishment again.

                                                                                                                                                                          </rant>

                                                                                                                                                                          Edit: I just want to clarify, that this rant was precipitated by other discussions I’ve been involved in, my overall Web experience, and finally, parent comment’s mention of Google Maps. This is not aimed specifically at you, @zzing.

                                                                                                                                                                  2. 9

                                                                                                                                                                    It shouldn’t be extra effort, is the point. If you’re just writing some paragraphs of text, or maybe a contact form, or some page navigation, etc etc you should just create those directly instead of going through all the extra effort of reinventing your own broken versions.

                                                                                                                                                                    1. -2

                                                                                                                                                                      Often the stuff I am making has a lot more than that. I use front end web frameworks to help with it.

                                                                                                                                                                      Very few websites today have just text or a basic form.

                                                                                                                                                                      1. 10

                                                                                                                                                                        Ok, well, that wasn’t at all clear since you were replying to this:

                                                                                                                                                                        It boggles my mind that there are more and more websites that just contain text and images, but are completely broken, blank or even outright block you if you disable JavaScript.

                                                                                                                                                                        Many websites I see fit this description. They’re not apps, they don’t have any “behaviour” (at least none that a user can notice), but they still have so much JS that it takes over 256MB of RAM to load them up and with JS turned off they show a blank white page. That’s the topic of this thread, at least by the OP.

                                                                                                                                                                        1. 0

                                                                                                                                                                          Very few websites today have just text or a basic form.

                                                                                                                                                                          Uhh… Personal websites? Blogs? Many of the users here on Lobsters maintain sites like these. No need to state falsehoods to try and prove your point; there are plenty of better arguments you could be making.

                                                                                                                                                                          As an aside, have you seen Sourcehut? That’s an entire freakin’ suite of web apps which don’t just function without JavaScript but work beautifully. Hell, Lobsters almost makes it into this category as well.

                                                                                                                                                                    2. 1

                                                                                                                                                                      Some types of buttons, menus, text and images aren’t implemented in plain HTML. These kinds should still be built in JS. For instance, 3-state buttons. There are CSS hacks to make a button appear 3-state, but no way to define behavior for them without JS. People can hack together radio inputs to look like a single multi-state button, but that’s a wild hack that most developers aren’t going to want to tackle.

                                                                                                                                                                      1. 1

                                                                                                                                                                        I’m trying to learn more about accessibility, and recently came across a Twitter thread with this to say: “Until the platform improves, you need JS to properly implement keyboard navigation”, with a couple video examples.

                                                                                                                                                                        1. 2

                                                                                                                                                                          I think that people that want keyboard navigation will use a browser that supports that out of the box, they won’t rely on each site to implement it.

                                                                                                                                                                          1. 2

                                                                                                                                                                            The world needs more browsers like Qutebrowser.

                                                                                                                                                                      1. 1

                                                                                                                                                                        The Nix language is syntactically very ugly

                                                                                                                                                                        tbh it seems as close as you can get to user-friendly while maintaning pure functional semantics, right?

                                                                                                                                                                        1. 1

                                                                                                                                                                          You make it sound like pure functional semantics are in conflict with user-friendlyness. But in my eyes the Nix language is user-friendly exactly because its semantics are purely functional. And you could change quite some things about the syntax without changing semantics to make it look more like other languages in this space: separate list items with a comma, define functions with a \ and ->, separate record properties with a comma, …

                                                                                                                                                                          1. 1

                                                                                                                                                                            At some point pure functional patterns are less user friendly than potential alternatives, but that’s not to say that I think the alternatives are better as they are often open to more potential issues.

                                                                                                                                                                            However, I do think that Nix is quite user friendly as far as pure functional configuration languages go, to be honest. That was my original point. Largely because it doesn’t look like other languages in this space - which are largely less user friendly imo.

                                                                                                                                                                            If commas were added to lists, I’d hope that they’d be functional - as I believe that the simplicity of lists/sets in Nix is one of it’s values and commas don’t add any value in my opinion here.

                                                                                                                                                                        1. 2

                                                                                                                                                                          I’ve tried to make Steam Link work over Wi-Fi. I’ve got high-end hardware. I’ve upgraded my router to the latest-greatest cyber-hedgehog of antennas. The client is only a couple of meters away from the router. It’s supposed to have over a gigabit of bandwidth and I only need 1% of that speed. And it still doesn’t work well! Randomly the stream gets choppy, latency spikes and it’s unplayable. I’ve given up and ran Ethernet cable instead.

                                                                                                                                                                          1. 1

                                                                                                                                                                            Same issue here a couple years ago.

                                                                                                                                                                            Even with a gigabit of bandwidth, latency and (maybe?) processing speed are still something to account for here. Ethernet works for Steam Link, but wireless networking just isn’t good at real-time video tasks. Things like Netflix only work well because they can buffer content. Even live streams on things like YouTube, Twitch, etc on most live platforms seem to fail often over wifi without buffering.

                                                                                                                                                                          1. 10

                                                                                                                                                                            You guys are fast :) I published an announcement an hour ago which gives more context and design insights:

                                                                                                                                                                            https://drewdevault.com/2020/06/21/BARE-message-encoding.html

                                                                                                                                                                            1. 9

                                                                                                                                                                              Before you commit to reinventing Capn Proto, including copying the schema language, I want to let you know that the Capn Proto build tools do not mandate using a C++ API, nor using the libkj event loop. The process for writing new plugins is documented, but since you’re using existing languages, you could use capnpy for Python, capnproto2 for Go, or capnp for Rust, none of which use the C++ API. Instead, Capn Proto’s compiler is designed to come apart into subprocesses naturally, with each subprocess using Capn Proto itself to request schema compilation. The bootstrapping phase takes effort, but it is possible and people have already done a lot of the hard work already for many popular languages.

                                                                                                                                                                              I also would wonder whether you’re prepared to take on the security burden. Capn Proto’s upstream maintainers set an extremely high bar, and their vulnerability writeups have garnered serious praise for their quality and depth.

                                                                                                                                                                              Finally, although it is not mandatory, Capn Proto defines a custom compression algorithm, “packing”, intended specifically to address your concern that fixed-width and aligned data types are wasteful. The authors also recommend LZ4 or zlib for when packing isn’t sufficient.

                                                                                                                                                                              In summary, I think that your:

                                                                                                                                                                              $ go run git.sr.ht/~sircmpwn/go-bare/cmd/gen -p models schema.bare models/gen.go
                                                                                                                                                                              

                                                                                                                                                                              Could be:

                                                                                                                                                                              $ capnp compile -I$GOPATH/src/zombiezen.com/go/capnproto2/std -ogo schema.capnp > models/gen.go
                                                                                                                                                                              

                                                                                                                                                                              With the package information included in the Capn Proto schema file.

                                                                                                                                                                              1. 6

                                                                                                                                                                                Like I said in the article, I did evaluate Cap’n Proto, and concluded it was not the right fit.

                                                                                                                                                                                Before you commit to reinventing Capn Proto, including copying the schema language

                                                                                                                                                                                The schema language is not copied from Cap’n Proto, and frankly I don’t understand how you would make this assumption. The two schema languages are very different. Unless you mean the idea of having a schema language at all, in which case you are clearly ignorant of the alternatives and their history.

                                                                                                                                                                                I want to let you know that the Capn Proto build tools do not mandate using a C++ API

                                                                                                                                                                                C++ is, in fact, required:

                                                                                                                                                                                $ capnp compile -I$GOPATH/src/zombiezen.com/go/capnproto2/std -ogo schema.capnp > models/gen.go here -^

                                                                                                                                                                                I don’t evaluate technology in a vacuum. The total complexity of the implementation, including code I didn’t have to write myself, is part of my evaluation. There is no attempt at a specification or any motions to support third-party implementations from Cap’n Proto.

                                                                                                                                                                                The bootstrapping phase takes effort

                                                                                                                                                                                It seems that the typical amount of effort required to make a complete BARE implementation is 3-5 days. I also looked at the C++ frontend for Cap’n Proto: 3,153 lines of support code for C++. The entire Go implemenation of BARE is 3,629 lines of code, including marshaling & unmarshaling, parsing, code generation, exhaustive tests, example code, and generated code, and it has no external dependencies (well, getopt for the generator CLI, and a assertion framework for the tests).

                                                                                                                                                                                I also would wonder whether you’re prepared to take on the security burden. Capn Proto’s upstream maintainers set an extremely high bar, and their vulnerability writeups have garnered serious praise for their quality and depth.

                                                                                                                                                                                I find it ironic that the security vulnerability you use as an example is the result of C++ programmers doing C++ programmer things, namely over-use of templates (any use of templates being an over-use), and works in favor of my argument that Cap’n Proto’s programming culture is symptomatic of the broken culture that values tools like C++. An ounce of prevention is worth a pound of cure, and in BARE’s case both the spec and implementation are 10x simpler - and simpler always means more secure.

                                                                                                                                                                                Finally, although it is not mandatory, Capn Proto defines a custom compression algorithm

                                                                                                                                                                                This also argues against you. The message encoding should have nothing to do with compression, this just increases the complexity of both the specification and implementation (by the way, I keep refering to “the specification”, but in reality such a thing doesn’t exist - this fact also works against Cap’n Proto’s favor). The specification cannot be “complete”, either - the compression techniques will become obsolete over time, and the specification will have to be revised to accomodate.

                                                                                                                                                                                In general, BARE messages tend to have the same entropy as the underlying information they represent, because the BARE encoding is barely more than the literal data directly copied to the message. Unlike Cap’n Proto, which has alignment and fixed message size wasting space (this is done in exchange for performance, unless you’re decompressing the messages, in which case the performance improvement is totally lost), BARE messages stand to save very little from encoding-aware compression. For this and other reasons besides, compression is out of scope for BARE. Instead, you should feed BARE messages to your favorite compression algorithm yourself, such as zstd, and you will get results comparible to compressing the underlying information.

                                                                                                                                                                                Not having compression in-scope simplifies the implementation and specification. Reckless lack of consideration for scope is a major problem which ruled out many of the alternatives I explored before working on BARE.

                                                                                                                                                                                1. 2

                                                                                                                                                                                  Your evaluation can be quoted in full, as it is barely a paragraph, with only half of its fragments qualifying as sentences:

                                                                                                                                                                                  Cap’n Proto: fixed width, alignment, and so on — good for performance, bad for message size. Too complex. RPC support is also undesirable for this use-case. I also passionately hate C++ and I cannot in good faith consider something which makes it their primary target.

                                                                                                                                                                                  BARE is not simpler; feel free to define a metric before revisiting that point. RPC support is optional. We’ve covered everything else.

                                                                                                                                                                                  Some of your statements are either wrong or questionable:

                                                                                                                                                                                  The two schema languages are very different.

                                                                                                                                                                                  Really? All of these declarative schema languages look very similar to me. Which one were you trying to reinvent?

                                                                                                                                                                                  There is no attempt at a specification or any motions to support third-party implementations from Cap’n Proto.

                                                                                                                                                                                  Baldly contradicted, and I will continue to link to evidence as needed.

                                                                                                                                                                                  in BARE’s case both the spec and implementation are 10x simpler

                                                                                                                                                                                  This needs a metric.

                                                                                                                                                                                  I, too, passionately hate C++. And yet, somehow, nobody really cares about my feelings. Capn Proto does not make C++ the primary target, nor does it mandate the C++ API. You are pointing at a subprocess invoked via shell, which is a common linguafranca across many different languages. There is no C++ linkage, no C++ name mangling, and no C++ templates. The reference implementation makes only one request, and it is a polite one: For interoperability, use the same struct offsets every time, and preferably use exactly the same algorithm as the original.

                                                                                                                                                                                  Capn Proto has a complete encoding specification. Only the struct offsets are computed, but they are not necessary for deserializing a message, only for interpreting it according to certain names and schemata. Indeed, when I bootstrapped Capn Proto support for Monte, I started by writing a deserializer for unnamed buffers and messages, and only later added in support for schemata.

                                                                                                                                                                                  On a more personal note, attacks and rudeness like:

                                                                                                                                                                                  frankly I don’t understand how you would make this assumption

                                                                                                                                                                                  in which case you are clearly ignorant of the alternatives and their history

                                                                                                                                                                                  Are how you maintain your reputation for toxicity. I don’t believe in moderating people unkind, but I do think that you could stand to look at your words and how you escalated this conversation.

                                                                                                                                                                                  1. 8

                                                                                                                                                                                    Your evaluation can be quoted in full, as it is barely a paragraph, with only half of its fragments qualifying as sentences

                                                                                                                                                                                    Yes, because it’s sharing a list of bullet points with 4 other alternatives in an article whose purpose isn’t to provide a detailed critique of Cap’n Proto.

                                                                                                                                                                                    BARE is not simpler; feel free to define a metric before revisiting that point. RPC support is optional.

                                                                                                                                                                                    Everything is optional, I could just choose not to use a subset of either system’s primitives and call it “less complicated”. Your argument doesn’t make any sense. A complete, conformant implementation of BARE is simpler than one of Cap’n Proto. Here’s one metric: the encoding spec you linked to is 3,908 words. The BARE spec is 1,430, and the BARE spec also includes a grammar for the schema DSL.

                                                                                                                                                                                    Really? All of these declarative schema languages look very similar to me. Which one were you trying to reinvent?

                                                                                                                                                                                    Give me a break. What they have in common appears to be the enum keyword, convention of PascalCase for user-defined types, the use of “:” to separate field names from types, and the use of braces “{ }” for structs. There are dozens of other languages that we share all of these traits with. In every other respect they are quite different:

                                                                                                                                                                                    • BARE allows you to make any kind of user-defined type, not just structs
                                                                                                                                                                                    • Cap’n Proto has explicit field offsets, BARE lacks them
                                                                                                                                                                                    • Cap’n Proto has semicolons, BARE lacks them
                                                                                                                                                                                    • Cap’n Proto has semicolons, BARE lacks them
                                                                                                                                                                                    • BARE has a different syntax for arrays (lists in cap’n terms)
                                                                                                                                                                                    • BARE has fixed arrays, maps, and first-class tagged union types, and syntax for each
                                                                                                                                                                                    • Cap’n Proto has default values, and BARE’s DSL can’t describe values at all
                                                                                                                                                                                    • Cap’n Proto has the concept of groups, which BARE lacks
                                                                                                                                                                                    • BARE has no RPC and therefore no syntax for it

                                                                                                                                                                                    I find your acusation of copying the schema completely unfounded and extremely rude.

                                                                                                                                                                                    There is no attempt at a specification or any motions to support third-party implementations from Cap’n Proto.

                                                                                                                                                                                    Baldly contradicted, and I will continue to link to evidence as needed.

                                                                                                                                                                                    I will correct myself: there is a specification of the encoding. There is no specification of the DSL. There is documentation, but documentation is not a specification.

                                                                                                                                                                                    They support third-party integrations, not implementations. This is an important difference.

                                                                                                                                                                                    in BARE’s case both the spec and implementation are 10x simpler

                                                                                                                                                                                    This needs a metric.

                                                                                                                                                                                    See my first comment for the implementation size and this comment for the spec size.

                                                                                                                                                                                    You are pointing at a subprocess invoked via shell

                                                                                                                                                                                    A subprocess written in C++. This puts C++ in your dependency tree. Just because you don’t link to it with the C++ ABI doesn’t mean it’s not a dependency. There are multiple ways to skin^Wdepend on a cat.

                                                                                                                                                                                    On a more personal note, attacks and rudeness like:

                                                                                                                                                                                    frankly I don’t understand how you would make this assumption

                                                                                                                                                                                    in which case you are clearly ignorant of the alternatives and their history

                                                                                                                                                                                    Are how you maintain your reputation for toxicity. I don’t believe in moderating people unkind, but I do think that you could stand to look at your words and how you escalated this conversation.

                                                                                                                                                                                    The use of the word “frankly” and using ignorance to explain unfounded arguments is not rude. Telling me that I am maintaining a reputation for toxicity, however, is extremely rude. You are disparaging my work and my character with baseless arguments and false comparisons.

                                                                                                                                                                                    We get it, I don’t like your sacred cow. It is entirely possible for me to have evaluated it and determined it did not meet my needs, and also valid for me to determine that I simply don’t like it, and also valid to conclude that the idea is poorly realized by its implementation. In this case I came to all of these conclusions. The fact of the matter is that your protocol is not perfectly suited to all use-cases and neither is your implementation, and you aren’t entitled to praise for it.

                                                                                                                                                                                    1. 3

                                                                                                                                                                                      You’re kind of being rude here. Also, if you know that the metric hasn’t been defined then how did you decide that BARE is not more simple?

                                                                                                                                                                                      1. 7

                                                                                                                                                                                        They both are, in my opinion. I’d really prefer not see conversations in this tone on lobste.rs (speaking for myself only, of course).

                                                                                                                                                                                        1. 4

                                                                                                                                                                                          Dunno. I think @ddevault is just defending their post… Doesn’t seem particularly rude to me

                                                                                                                                                                                        2. 2

                                                                                                                                                                                          I’m trying. I am not a nice person and it’s been nearly a decade of trying to have conversations with the author. But sure, I do not mind receiving the unkind vote. This isn’t the first time that a basic technical discussion has been horribly derailed by their attitude, and not the first time that I’ve been told that I’m part of the problem because I refuse to go along with their framing.

                                                                                                                                                                                          I did not claim that Capn Proto is simpler than BARE. I instead rejected the idea that there is a natural and obvious metric by which to claim that one is simpler than the other. This is a frustrating ambiguity in English; the word “not” can mean three different things and there is no way to disambiguate other than to write an explanatory paragraph.

                                                                                                                                                                                          No suitable metric is given. One metric, lines of code, is used; however, lines of code between two different host and target languages are apples-to-oranges. To make it apples-to-apples, the comparison would have to be either between BARE and Capn Proto complete stacks in a single language (presumably C++), or between two Capn Proto implementations in two different languages. Either way, the appropriate comparison hasn’t been drawn.

                                                                                                                                                                                    2. 1

                                                                                                                                                                                      I think the appeal of BARE is that it has a low threshold of entry (like json, msgpack, etc.) for anyone willing to write a code-generator for it. On the one hand, capnproto’s schema language seems cleaner and more expressive; the problem is that the whole encoding format, albeit efficient, is very complex in the name of allowing zero-copy access. There should be room for a language like BARE, more or less in the same niche protobuf occupies currently (fast and binary but not insanely complicated).

                                                                                                                                                                                      Sadly it looks like BARE will not get sum types/general tagged unions, and cannot represent them (except for option). I got fed up in this thread and failed to keep as civil a tone as I wished I had, but anti-intellectualism irritates me.

                                                                                                                                                                                    3. 3

                                                                                                                                                                                      The choice on schema upgrade is interesting (or strange). That means when upgrading to MessageV2, you need to write a manual translation between MessageV1 and MessageV2?

                                                                                                                                                                                      What about incremental updates (schema evolution, i.e. adding and remove fields in a struct)? Protobuf and Flatbuffers both provides an evoution path for these while it seems BARE and Cap’n’Proto elected (not exactly sure about BARE story other than your compatibility section, but definitely Cap’n’Proto) to not support this.

                                                                                                                                                                                      1. 1

                                                                                                                                                                                        What about incremental updates (schema evolution, i.e. adding and remove fields in a struct)?

                                                                                                                                                                                        The length is not encoded into a BARE message, so there’s no way to determine when one message stops and the next begins without knowing the schema of the message in advance. If you append fields, you won’t be able to tell that they’re not part of the next message.

                                                                                                                                                                                        But, nothing is stopping you from adding your own length to messages, either through context (Content-Length) or explicitly adding a length prefix before reading out the struct (the Go implementation provides tools you can use to read primitives yourself for things like this, and I would hope that other languages would do so). So if you prefer that approach, then by all means. Another alternate approach could express a version out of band, like X-Message-Version.

                                                                                                                                                                                        The tagged union versioning approach works in all contexts in which BARE messages work, so it’s recommended as a universal solution. But if you prefer a different option, you’re welcome to establish the necessary context to support it out-of-band and go with that.

                                                                                                                                                                                        1. 1

                                                                                                                                                                                          Thanks. Yeah, read the doc a bit more and realized that the struct just a concatenation of underlying fields. Unlike Protobuf or Flatbuffers, it doesn’t carry any offsets, therefore, adding / removing fields requires either having a brand-new type in the union types, or some other means (depending on the language) to carry the old schema somewhere (out-of-band).

                                                                                                                                                                                          It is interesting to observe how these are solved. I am more comfortable with the built-in approach by Protobuf / Flatbuffers but I think different solutions fit different usage cases and having additional redirection may be undesirable for many cases.

                                                                                                                                                                                    1. 3

                                                                                                                                                                                      Why BARE instead of competitors?

                                                                                                                                                                                      1. 1

                                                                                                                                                                                        The author here has really missed the point because they’re so interested in this hill they’ve decided that they’ll fight on.

                                                                                                                                                                                        The entire point is that there’s already a way that browsers do video, and that they believe that we don’t need to reinvent all the UIs for everything that the browser already does. In some ways, this is a fair argument. How often does a video site’s interface break because they decided to code their own play button?

                                                                                                                                                                                        The idea of JS-free documents is a good idea. It’s where the internet started. We live in a time where there is absolutely too much JS. Plain documents can be extremely expressive in modern HTML/CSS, and people tend to all agree that CSS is a mess of confusion and difficulty in terms of rendering.

                                                                                                                                                                                        Maybe something that is more strictly defined and provides the document as a simple tree without introducing wild things like custom UI scripts is better than HTML for some pages, and maybe this is worth looking into. Something like a decentralized version of Google’s AMP could be a similar middleground.

                                                                                                                                                                                        1. 5

                                                                                                                                                                                          Although I think it’s worth recognizing the mention that this is an old document at the start of it, I think that it’s a bit ridiculous that they talk about all of these problems they’ve seen with SQLite and assume that the developers who have had issues recognizing these things in SQLite will suddenly not run into most of them in JSON blobs.