Threads for robertmeta

  1. 28

    Any of y’all want me to throw my hat in the ring?

    Another time. :)

    Okay fisch. I’ll try. If enough folks are interested I’ll shoot an app in.

    1. 41

      friendlysock is pretty much the only user who I have mentally flagged as consistently antagonistic and obnoxious, generally to the detriment of friendly and civil discussion. Other users may have particular topics which they feel sufficiently strongly about that they occasionally get a little antagonistic responding to criticism. With friendlysock, I see unnecessarily inflammatory comments often enough that I now mentally think, “ugh, I won’t bother reading this comment chain, it looks like another friendlysock spat”. If you can’t moderate your own comments, I don’t think you’d be good at moderating other peoples.

      So if you really want our opinions, no, I do not want you to throw your hat into the ring.

      1. 25

        Strong disagree. friendlysock consistently engages in civil and friendly discussion, even when finding himself on the other side of an argument with someone whose political convictions make them feel they shouldn’t even attempt to be civil and friendly. I’ve never seen him make a comment I think could fairly be called unnecessarily inflammatory (and I say this as someone who has disagreed with him in the past). I generally enjoy seeing his posts and think he’s a good contributor to the site.

        1. 32

          You’re painting a picture where angersock is the civil one who just so happens to be constantly surrounded by people mad at him.

          That’s wrong: angersock frequently accuses others or entire communities of bad faith and assumes a position of authority he doesn’t have when saying content doesn’t belong here (do I even need to link that one?).

          I’ve rarely seen anybody argue with angersock twice. That alone should be pretty damning: The only constant in arguments involving angersock is he himself.

          One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”. I’m not sure how much of it was intended in /u/Thra11’s post, but to me the point is that angersock remains civil, but brings incivility.

          That is not to say that he doesn’t try his best, and I don’t think he does any of this on purpose (though I am really not sure). But I really don’t think he is cut out for this job, and given the comment ratio on his top-post vs the rest of the thread, I think he would be quite a controversial mod to say the least.

          1. 14

            It’s also missing the point: One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”.

            That form of trolling is called Sea-lioning. http://wondermark.com/1k62/

            1. 13

              I strongly disagree that how friendlysock has been showing up here can be seen as a form of sealioning.

              1. 8

                It still blows my mind that not only do some people think the woman rather than the sea-lion was the sympathetic character in that comic, but that there are enough such people for “sea-lioning” to have become a meme.

                1. 8

                  I suspect it’s because many people use public social media for private conversations with their friends (as they would speak while walking about town). A stranger injecting themselves into the conversation to demand your time and attention (regardless of how righteous they are) is unwanted and weird.

                  1. 5

                    It’s pretty fitting, I think. Most people who cry “sea lioning” are just upset that someone responded to their public statements.

                    1. 5

                      I was puzzled by that as well. There were enough of us that the author wrote a three paragraph clarification on the errata page. It’s possibly worth reading the explanation there. I’d summarize it as “the sea lion is a stand-in for people who behave a certain way and the woman’s objection is based on that behavior”.

                    2. 6

                      I only have this comic as reference for as to what sealioning means, but the situation I see with angersock is not one where he actively seeks out people to engage in stupid arguments with. Maybe the term has evolved beyond that specific example, but then, without a new real definition, it has lost its meaning.

                      1. 3

                        The term has not lost its meaning, it has always been used to refer to people who make unwelcomed responses to publicly made statements.

                    3. 9

                      My own interactions with ‘sock have actually been pretty good, even in cases where we disagreed (as in this thread), and I don’t off-hand recall seeing and recent(ish) comments where I was “sjeez ’sock, relax mate”.

                      But I also skip most Rust stories, as I don’t have a lot of interest in Rust (not at the moment anyway), and that link is indeed very much a “sjeez ’sock, relax mate” type of conversation.

                      Point being: I guess people have a limited/biased view of ’sock (or any other members, for that matter) based on which stories they read and comment on. I certainly do, because I never would have seen that comment if you had not linked it here.

                      1. 2

                        do I even need to link that one?

                        Would be helpful for people like me who aren’t as deep in the day-to-day of lobste.rs.

                        1. 4

                          It appears lobste.rs has some sort of retention on the index of comments per user, but here’s the most recent examples (not the best ones):

                          All of those assume a place of authority and tell others how to use the site.

                      2. 6

                        In all fairness, this was not always the case (see also why I’m friendlysock instead of angersock), and even as recently as that Rust thread a few days ago I can still be more inflammatory than is helpful (less charitably: I can be a shithead). I’m no saint.

                        1. 4

                          and yet, gestures frantically below

                        2. 6

                          I would have to concur with this

                        3. 34

                          I personally would prefer not to have a moderator who thinks having Nazis participating is a fine idea (https://lobste.rs/s/nulfct/problem_with_code_conduct#c_dwa6s5). “You could exclude neither [Nazis nor the target of Nazis], and let them sort it out themselves elsewhere. Indeed, seeing each other in a context that doesn’t constantly reinforce their ideology might serve to build bridges and mellow both sides.”

                          Seeing as my grandmother was almost murdered by Nazis the “mellowing both sides” bit did not go over well with me.

                          1. 26

                            It’s taken me quite some time to form a response.

                            Here in Bloomington, IN, last year and the year prior, we had to deal with a real Nazi problem in our city. It was BAD. https://www.nytimes.com/2019/08/18/us/indiana-farmers-market-white-supremacy.html

                            We have had a city govt run farmers market near the city square. It was on the largest walking/biking/running trail the city has.. It really was an amazing market.

                            Then, the Unicorn Riot discord hack happened. Normally, this would oust Nazies and similar ideology. Except this time, it ousted a lady by the name of Sarah Dye, a farmowner and a stall vendor at the farmers market. It only outed the first name in the general vicinity and owned a farm - I was the one who found her account on Youtube by the name of Volkmom, and got her banned from the other 2 farmers market boards she was on. I forwarded the videos to their boards. They compared her voice to her damning videos.

                            However, Bloomington IN doubled down, claiming 1st amendment concerns. Peaceful protests to Dye and the city were done… And the cops arrested the peaceful protesters, up to and including the president of low barrier homeless shelters - dressed as a purple unicorn ( https://www.thedailybeast.com/unicorns-arrested-at-protest-of-white-supremacy-at-bloomington-indianas-farmers-market ).

                            And since Dye was being defended by the city, we had other undesirables show up. Other neonazies did. So did the 3 percent’ers. But when the 3%ers showed up, they were armed to the teeth, with AR15’s strapped to them, handguns (plural), zipties, and more. There was no question - they were not peaceful. They wanted to make a show of force that they were present to support their kind. Having them all show up shat on the very idea of the farmer’s market of inclusivity and coming together over shared food.

                            We (public) finally solved this by deprecating the city run market, and a new market was made by a non-profit org. All the vendors showed up here, with exception of Sarah Dye and her stall. And unlike the city market, visible weaponry wasn’t allowed. And being in Indiana, people will pack heat; but it can at least be diminished.

                            When nobody knew she was a Nazi and she didn’t do anything suspicious publicly, it was uneventful and peaceful. People just bought their groceries and all was good. The moment it was known, all the dregs, white nationalists, neonazies, kkk, and similar moved in to support “their kind”. We all literally had to abandon and regroup to get them to stop.

                            If you don’t strongly deal with white nationalist groups, they’ll eat you out of house and home, run everyone off, and leave you with a shell of a community. I’ve seen it happen locally how it progresses in real life… and damned if I’ll let it happen to communities I’m currently a moderator of.

                            1. 21

                              Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less one Nazi.

                              If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                              My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                              1. 23

                                how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault?

                                Who escalated to violence? The white nationalists did. Arguing that the exposers of secret Nazis are at fault is the argument employed by domestic abusers. “Woman, why do you make me beat you? Why do you do this to me?”

                                I know you’re arguing in good faith. But please do not try to justify violence from this crowd. They proved that they weren’t standing on moral high ground when they showed up with firearms and zipties.

                                The violent response from white nationalists to nonviolent protests should prove just how much of a charade their pearl-clutching about “muh free speech” really is.

                                1. 13

                                  Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less on Nazi.

                                  More specifically, there was already an anti-nazi campaign locally going against her with what I considered shaky proof. Many of us were very hesitant to engage in protests in person or online, without solid proof. I used my OSINT skills and was able to positively identify that it was her. Had it not been, I would have also said so. I’m not going to engage in a protest against an individual unless I’m damned sure I can prove it… And I proved it beyond a reasonable doubt.

                                  Speaking to “and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened”…

                                  The problem was that the city was supporting the nazi speech AND show of force, while arresting peaceful (non-weapon-possessing) protestors. If the city had applied equal force to both sides, there would have been less of an issue with respect to 1FA.

                                  If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                                  You’re extrapolating and assuming when you don’t have the information.

                                  My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                                  This sort of civility is similar to Sea-lioning ( http://wondermark.com/1k62/ ).

                                  Simply put, there is no civility when discussing people who want to murder people (and have done so) who differ only in race, skin color, or sexuality.

                                  1. 21

                                    Over and over and over again the same “both sides are at fault” message, Nazis and their victims. You simply cannot get yourself to say “let’s leave Nazis out”, huh.

                                    1. 13

                                      A few questions to make sure I understand your arguments:

                                      • Assuming Lobste.rs vows to leave the Nazi out, who is going to decide which user is a Nazi? What is the definition of a Nazi?
                                      • Since we’re bound to leave the Nazi out, how can we ensure that there won’t be a “leave the Y out”, where “Y” can be muslim from Saudi Arabia, Palantir developers (are they morally superior to Nazis?), Steven Pinker, Noam Chomsky and everyone else group X doesn’t like ?

                                      ps. This discussion is not new by any means. It is a hard discussion, Karl Popper wrote extensively about this exact issue.

                                      1. 8

                                        Thank you for your observation.

                                        For me, I can’t help but notice that even if we say “Okay let’s get rid of the Nazis”, we still have the question of who is a Nazi?

                                        Form a practical standpoint: half of my country (US) voted for Trump, for whatever reason. That makes them some flavor of Republican–or worse. It is not a stretch (and is pretty common in various circles) to see any affiliation with Republicans as basically being a Nazi.

                                        If half of Lobsters is from the US, this means that like a quarter of the users–based on back-of-the-envelope calculations–are Nazis and should be banned, for being Nazis.

                                        If we just ban based on civility and topicality, we get to sidestep this issue.

                                          1. 7

                                            Any of the comments that article references are clearly outside decorum and, if posted here, would warrant administrative action.

                                            1. 8

                                              Weev is a public figure. Weev was banned from gab. Weev could participate anonymously on lobsters. If weev wants to post here as weev, is that OK?

                                              1. 8

                                                Why wouldn’t it be, if he follows the rules and isn’t an asshole and contributes to on-topic discussion?

                                                It being weev, I imagine it would be less than an hour before he gets banned for saying stupid Nazi shit, but might as well give the fellow a chance.

                                                Our purpose here isn’t to punish people for actions in other communities; our purpose is to discuss technology.

                                                1. 5

                                                  Weev is a public figure known for being a Nazi. For weev to be named as weev, it’s the same as https://lobste.rs/u/neonazi .

                                                  Weev could go by a different name to participate in lobsters.

                                                  1. 0

                                                    Pretty sure there are many internet users with that nickname - most probably are unaware of some rando from US. To be honest I never heard about that guy until today. If he would have an account here I would judge him by what he writes here without crosschecking him across other sites. Who does that?!

                                      2. 7

                                        I won’t say it because I don’t believe it.

                                        I would rather have a polite Nazi talking to me about technology than either a rude not-Nazi talking about technology or a polite not-Nazi talking about not-technology. As somebody mentioned above re: the Nazi variant of the Turing test…a sufficiently polite and topical Nazi is indistinguishable from a normal user, because they’re presumably not talking about Nazi shit and picking on Nazi victims.

                                        If they are, the rules of civility and topicality give a handy way–and a more uniform way–of dealing with them. Even better, it gives a way of dealing with them that doesn’t give them the recourse of saying “Well you’re just doing this because you hate Nazis”, or “You’re just doing this because you support SJWs”, etc. I can point at the rules and say “You were off-topic and being uncivil. I don’t need to believe anything about Nazis or your relationship with that ideology to get rid of you.”

                                        1. 22

                                          Apparently you definition of civility includes telling me and other Jews to “mellow out” about people wanting to murder us. No thanks.

                                          1. -9

                                            Do you want to murder them, given that you (by my reading here) believe they are a clear and present danger to you and yours?

                                            1. 17

                                              This is too far. There are diminishing returns now on this conversation and also both of you seem to have lost perspective that this post is about finding new moderators because pushcx might be under huge moderator load - you’re not helping. At the least, take this to a different venue or to personal chat to hash it out and bring back here any positive results.

                                              @itamarst You are talking about a subject which is understandably extremely sensitive and important to you. I think everyone can and would acknowledge the pain that you and your family must have gone through, and it is a failing of people in this conversation that that is not the first and most obvious point to be reiterated and repeated without fail. We all must acknowledge that terrible things have happened and that we want to take positive actions to prevent them happening again. That being said you are grossly not applying good faith in a situation where one person’s actions seem to have been offensive to you, and you are bringing a subject that is most definitely off topic for lobste.rs into this space. In relation to the former, you could have chosen a much more amicable way of bringing your point forward such as: Quoting friendlysock, explaining how you reacted to and felt when you read his comment and asking friendlysock to confirm if that was his intention and to clarify his meaning if it was. You definitely could have done that constructively inside the context which was friendlysock applying to be a moderator, so you could have phrased your question in a way relevant to this topic. No one would ever question your pain or your discomfort at seeing discussions of a group of people that brought great harm to your family and by extension pain to you; you do not have to not be angry, or not be in pain; but having the expectation that you can bring this up in this way in this space and the outcome be constructive is poor judgement: whether or not this was a motivation, you are not going to get personal resolution to political issues that cause you pain on lobste.rs.

                                              @friendlysock Whatever your position you are grossly failing to take a step back and acknowledge itamarst’s point where he is now, not where you think he should be or how you think his point relates to lobste.rs. If you keep doubling down on your position, itamarst has to double down on his. This does not seem like rocket science. Whether this is on topic or not, when someone has gone to the effort and made themselves vulnerable by presenting something they are angry or in pain about, particualrly if it’s such a HUGE subject as this with so much emotion attached, step 1 is acknowledge that and consider your position in relation to what they said. You have no idea how they feel and you can not begin to understand their position so if they are offering you this level of confrontation the most you can do is acknowledge and listen. You don’t have to take responsibility for having caused their pain - no one is calling you a nazi or accusing you of murdering people, but you do have to acknowledge that they felt a particular way after reading what you wrote, and if you want to, you can explore that, but with about 1000 times more sensitivity. Acknowledgement and reiteration of your fundamental positions as they relate to lobste.rs, or moderation on lobste.rs would perhaps be a way to frame your position, if you’re interested in doing that.

                                              1. 16

                                                “Good faith” only goes far when some spends so much effort explaining how important it is we include Nazis in our discussions. Especially when they want to be a mod.

                                                And really the whole point of the exercise is mod policy. As I’ve said before, in other discussions, you gotta pick a side. And the clearer friendlysock’s opinions, the clearer the choice pushcx has to make.

                                              2. 13

                                                Enough is enough. You are bullying itamarst with repeated emotional manipulation by way of a topic that has violently effected them, apparently so that you can get them to call for killings on a thread in which you nominated yourself to moderate the community in pursuit of civility. Are you done trolling yet?

                                                1. 6

                                                  Do you want to murder them

                                                  Come on, this is too much.

                                                  1. 6

                                                    No, of course not.

                                        2. 32

                                          no offence, but I find that “mellowing both sides” is a very legit goal. seeing as I’ve spent most of my life in a warzone, this goes very well with me. I’m not jewish, but I’ve had multiple run-ins with Neo-Nazis due to the way I look and where I escaped the war to. I used to hang out in this bar that was split in half, one of it was extreme leftists, and the other were staunch Nazis, some not even Neo. we were all fucked, so we just drank together in a weird peace of sorts. one of the Neo-Nazis never liked the fact that I started hanging out there, and was constantly hostile, and due to past experiences I had to often stay alert and make sure to be ready for whatever may come, but the beer was cheap mind you and the weed was good.

                                          one of the Neo-Nazis in particular was this big guy who had it so clear in his eyes that he’d like to beat the shit out of me to prove his worth or whatever. I didn’t care as this was the least of my worries (at that time). one of the old men I used to hang out with was a programmer as well, so we’d get high and discuss all sorts of computer things. one day the convo came to Blender and 3D modelling, and all of a sudden this big guy who never wanted to exchange a word with me and rather punches came and started talking about Blender with love in his eyes instead of hate, after a couple of hours of that he threw the shittiest but unfortunately the most fitting line of all:

                                          “your people aren’t too bad after all.”

                                          we actually continued conversing after that and went through a couple of his traumas and why he ended up on the path he ended up on. I by no means expect everyone suffering from oppression to engage in such antics with their oppressors, but I’d rather the ones who can’t, let the one who can, do what they gotta do.

                                          at the very least, you can try to not monopolize suffering under your own school of thought, and within only your own context.

                                          this is probably my last comment here for a while, so feel free to PM if you wanna discuss this further. I am also very sad to hear about your grandma, it sucks to be almost murdered, it sucks to see people you love get murdered, and it sucks to see people you love commit murder, but that shit happens on all sides of aisle.

                                          dehumanize one, and you dehumanize all, I find.

                                          fucking hell, I need a beer.

                                          1. 27

                                            Thank you for sharing! I think that’s slightly missing the point, though:

                                            1. The issue was with “both sides”. Why do I need to “mellow” if someone wants to murder me?
                                            2. You are describing a truce backed by violence. And that might work for some, but the more common case is people not going into the bar at all, because they don’t feel safe.

                                            I’m sure many Nazis have reasons for how they ended up where they are (though in the US a lot of them aren’t suffering at all, they’re upper middle class or rich). Maybe hanging out with Nazis will make them change their mind. I doubt it, but it’s possible.

                                            But given the choice between making a safe environment for everyone, and letting some Nazis in in the vague hope they will learn something and lots of other people choosing not to participate, I’d rather choose the latter former.

                                          2. 10

                                            You know, I can sympathise with your viewpoint here, especially as a Muslim in the current global climate, but the problem I see is that this seems to be leading to such extreme echo chambers, that it makes people say things like what one user in the thread you linked said:

                                            Feminists believe that women are as human and as entitled to agency and dignity as men are; MRAs believe that women are inferior to men and should be enslaved.

                                            This is such an absurd statement to make without backing up and so patently false; the only way someone can believe this is by being fed a constant diet of lies people who really hate MRAs instead of just speaking to MRAs directly.

                                            Suddenly, we’re not just banning Nazis who want to kill you and me and our entire family trees, we’re banning practicing religious people who aren’t willing to rewrite their holy scripture or reinterpret it to suit people’s desires, we’re banning critics of said religious folks who believe baby penises should remain intact — hey, they’re MRAs, right?; whatever, they must be islamophobes or antisemites either way — we’re banning critics of affirmative action, we’re banning all manner of people with valid and not so valid positions or arguments.

                                            We don’t discriminate on truth, we discriminate on whether it’s comfortable or not to a select group of people. People who can’t discriminate between a belief like, “men and women have roughly equal average IQ, but the distribution is wider for men, so the ratio of men to women at Google is roughly what we’d expect if Google were selecting for such and such IQ” — responding with such inanity as “do the women at Google not belong there, then?” — and a belief like, “women are inferior to men and so should be enslaved to them”.

                                            1. 20

                                              I think that if I were on a rocketry forum I’d be interested in hearing what Wernher von Braun had to say (not merely a Nazi, but an officer in the SS). If I were on a forum about filesystems, I’d be happy to talk to Hans Reiser. If I were given the opportunity, I think that Konrad Zuse (not a Nazi, but certainly a collaborator) would have interesting things to say about electromechanical computer design.

                                              I’d be more than happy to throw any of them out if they start going into politics or murder, but if they have useful expertise and follow the rules of decorum, they should have a place.

                                              1. 16

                                                Let me put it like this: if Hans Reiser would join a forum where Nina Reiser’s brother (or sister, close friend, etc.) would also participate, would you think it’s reasonable if they would object to this?

                                                It’s not hard to see how this would also extend to neo-Nazis (as in, literal neo-Nazis, who looked at the Holocaust and thought that all of that was just a spiffing good idea); would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that? Are many people not a victim of these people’s actions just as much as Nina’s Reiser’s brother is? Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                I’m not so sure if “it’s limited to just technical conversation” is really all that important, never mind that this is too limited of a view of Lobsters IMHO, as it’s a community centred around technical topics.

                                                For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously. We can’t really prevent that because the only alternative would be to actively vet members. But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                I’m not suggesting that we implement some sort of wrongthink policy or anything of the sort; you put forth the extreme scenarios so I’m replying to those, and in more realistic scenarios things tend to be some shade of grey. If someone on Twitter said “I don’t like people of religion/ethnicity/identity X” then that would probably be okay; as in, I won’t like them more for it, but I see no reason to ban them here for just that. But I do think all of this is a bit more complicated than you put forth.

                                                1. 19

                                                  Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                  Let’s apply a variant of the Turing Test to this: if people from the interactions alone cannot tell whether they are made by a regular person or a Nazi, then the poster/commenter can be regarded as worthwhile talking to as any other normal person.

                                                  1. 5

                                                    Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                    It’s not the same if he/she uses their neo-Nazi name. Lobsters has no moral obligation to be known as the place where neo-Nazis hang out.

                                                    1. 10

                                                      Yeah I think there’s a bit of a straw man being thrown around in some of these discussions about being randomly chosen as the target of doxxing. It’s pretty easy to be anonymous on this website.

                                                      To even be perceived as a member of a hate group on a site like this would require affirmative signaling to one’s peers that they hold hateful views towards other members of the community for their birth-given human characteristics, which seems like a good enough reason to remove such a user in the first place.

                                                      1. 3

                                                        Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                        Yes, I pretty much said as much later on: “We can’t really prevent that because the only alternative would be to actively vet members” (that this isn’t feasible isn’t stated explicitly, but it’s pretty clear to everyone that it’s not).

                                                        I think both you and @ewintr have missed the point of my reply; this entire discussion is fairly hypothetical because of course no neo-Nazi is going to link to their StormFront account on their Lobsters profile (or Gab, or wherever these people hang out these days). I just wanted to point out why having known neo-Nazis on Lobsters is something that people would object to, and why some people would choose not to visit Lobsters if this were the case.

                                                        1. 3

                                                          No. You’re wrong. It won’t remain hypothetical. Look at how many people got caught from the 6th based on social media.

                                                    2. 6

                                                      would you think it’s reasonable if they would object to this

                                                      I totally would understand why they might object to this. Then again, dude was put into prison and served his time. According to the law, he has received his punishment. Anything further is just extrajudicial retribution–understandable but not lawful.

                                                      would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                      If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                      For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously.

                                                      Exactly. For the dedicated opposition, this kneejerk intolerance serves no real obstacle–and can even be really useful as a leveraging point to disrupt a community. It’s like people have never played Among Us.

                                                      but I see no reason to ban them here for just that.

                                                      The problem is, several Lobsters I believe would be more than happy to do that, and would want it in a CoC. Further, where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable? I don’t want to make those calls–I’d rather focus on the (much simpler) tests of a) has this user treated other users respectfully in this space and b) has this user stayed on-topic. If followed, I believe those two rules are sufficient to guarantee a good time for everybody.

                                                      But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                      As an aside, the world-wide experts in decentralization are about to all be, or keep company with, some really distasteful people. Ignoring their experience because they’re icky strikes me as a waste.

                                                      1. 4

                                                        The Reiser case is a bit more complicated, as I agree criminals should be given a second chance. However, it’s not unreasonable for victims of the crime to still harbour (strong) feelings of animosity; I don’t think that’s “extrajudicial retribution”. I don’t think that many people would happily chat with their sister’s murderer about filesystems after they served their time.

                                                        At any rate, I only mentioned Reiser to illustrate the perpetrator/victim relationship, as it’s so clear in this case. I was tempted to leave that out entirely as it’s quite a different case from neo-Nazis.

                                                        would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                        If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                        Alright, fair enough. But it’s not hard to see how other people would make a different choice here.

                                                        where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable?

                                                        I don’t have clear answers to that; but this is a kind of reasoning I don’t really like. Maybe there’s a better name for this, but I like to call the “it’s hard fallacy”, which goes like: “it is hard to draw a line, therefore, we should not draw a line at all”.

                                                        I’ve seen the same type of reasoning in conversations about civility. It can be really hard to draw a clear line about what is or isn’t acceptable, but that doesn’t mean we shouldn’t try at all. Clearly there should a line somewhere otherwise people replying with just “you’re a cunt” would be “acceptable”, and I think we can agree that it’s not. You can also see this fallacy in some other (political) topics.

                                                        I’m not actually in favour of banning people for off-site behaviour unless it’s particularly egregious, such as active neo-Nazis, and even then I’d have to carefully look at the specific case at hand. In general I think the bar should be pretty high for this, but I do think there is a bar … somewhere.

                                                        I mean, do you really expect black people or Jewish members to happily interact with people we happen to know are neo-Nazis or KKK members? If someone in your local soccer club is a great bloke and fun to hang out with, and then you discover he’s a Grand Hobbit Ghoul in the KKK (or whatever ridiculous ranks they have) then you would continue that relationship as-if nothing happened (and before you answer “yes I would”, would you expect everyone to do so, including your black teammates?)

                                                    3. 16

                                                      The problem, of course, is that then you lose all the people who don’t want to hang out with Nazis, or with people (like Hans Reiser) who murdered their wife.

                                                      1. 25

                                                        In an online forum for talking about X, I’d much rather have a room full of people who may be assholes elsewhere talking politely about X than I would a room full of people who might be lovely elsewhere being assholes in my forum because of something completely unrelated to X.

                                                        1. 7

                                                          Thank you for this succinct explanation.

                                                        2. 12

                                                          On the internet, no one knows you’re a dog.

                                                          Who’s to say what someone’s intentions are? If people start causing problems, by all means remove them. The alternative is doxxing everyone who joins lobsters or digging up dirt, is that somehow a better alternative?

                                                          I get it, no one wants to share a board with Nazis or murderers. I don’t either. But this social equivalent of a preemptive strike has the potential to be way worse.

                                                          1. 11

                                                            A good rule of thumb, in programming and elsewhere, is to always consider at least three solutions to any problem. There are in fact other solutions beyond the false dichotomy “doxxing everyone” and “accepting everyone”, one common one being a Code of Conduct. Personally I would go with “you must pass this very bar to participate”.

                                                            1. 7

                                                              Just because a comparison of two solutions are presented doesn’t mean you have to jump to “this is a false dichotomy.” Also, I thought we already had that with the lobsters rules? How does a code of conduct actually differ?

                                                              1. 15

                                                                Well, friendlysock apparently can compare Nazis as somehow equivalent to their victims (both sides apparently need to “mellow”). Most CoC would involve kicking him out for that.

                                                                1. 6

                                                                  I don’t agree with the comparison and I don’t think friendlysock would be a good mod based on the fact that he could draw it. I just want to put this out there though - if there was a felon, Nazi or other unsavory person who could provide some insight into problems I’m trying to solve then I would still have an open ear so long as they stay on topic and don’t bring up their unrelated interests. Not doing so seems short sighted.

                                                                  Most Codes of Conduct are pretty crappy btw. Ruby has a good one, nearly all of the others are too suffocating.

                                                                  1. 3

                                                                    I think both you and @itamarst may be missing something in how I wrote that–and that’s on me for articulating incorrectly.

                                                                    My point was not to draw equivalence between those groups. My point was that everybody has some outgroup that they would prefer to see kicked out.

                                                                  2. 4

                                                                    Maybe you should resolve that with friendlysock, then. Not going to fan these flames anymore.

                                                              2. 9

                                                                How is it “pre-emptive strike” to just not want to hang out with people you don’t like?

                                                                This isn’t like…. the seat of government. This is a place to talk with people. Absolutely nobody is under any obligation to listen to people (short of mods basically “kicking people out”). There is zero moral requirement to listen to “varied viewpoints” or have an open mind.

                                                                EDIT: And pointing to a previous declaration of moderation wishes as “digging up dirt” in a conversation about mod applications is rich. Are we supposed to just treat every conversation in some weird vacuum even when it comes to something so obviously relevant? I know you’re saying this in good faith but how is that not fair game?

                                                                And like… you know what? These people that get doxxed or whatever? They are the ones that are vocal about their opinions. That’s how you even know that they are these kinds of people. If they kept their mouth shut we wouldn’t even be able to know!

                                                                I’m tired of being lectured about how I’m the bad person for not wanting to deal with people who not only are (IMO) morally bad people, but also don’t have the social IQ to keep it to themselves.

                                                                1. 10

                                                                  These people that get doxxed or whatever? They are the ones that are vocal about their opinions.

                                                                  Alright, where does the dirt digging stop, then? Everyone that’s somehow associated as commenting in this thread, supportive or otherwise? Because they may somehow have an agenda too?

                                                                  Dude, you’re not the bad person. No one’s saying you are. I’m just done with communities that engage in shit slinging, doxxing, and public shaming rather than actual discussion in good faith.

                                                                  Anyway, peace out, lobsters. N-gate was right about you.

                                                                  1. 4

                                                                    I had someone PM me with personal details about myself while using a randomized username on reddit a few years back because I said that I didn’t think Ohio State was very good that year. People dox and dig up dirt for varied reasons. The nazi thing is an extreme example of that, but it happens for all sorts of other strange reasons as well.

                                                                    I no longer use Reddit because of that event, and now I try to stick to a minimal set of social sites (like this one) where it’s obvious who I am if you search my username or look at my profile.

                                                                    I don’t think you should feel obligated to listen to someone’s viewpoint if it’s non-technical (or even if it is technical really), but in this forum, the less I know about people, the better. I like hearing opinions or thoughts on tech without knowing who they are. I can’t control how they think or feel otherwise.

                                                                2. 5

                                                                  Are you asking for Lobsters (and its mods, etc.) to:

                                                                  • Explicitly condemn Nazism, white supremacy, and murder
                                                                  • Ban anyone who publicly espouses these ideas, on or off our site
                                                                  1. 24

                                                                    You write as if that would be some kind of absurd idea, when it seems quite sensible to me..?

                                                                    1. 10

                                                                      thank you for objecting to that.

                                                                      reductio ad absurdem requires absurdity, and I’m not used to seeing “explicitly condemn Nazism” held forth as obviously absurd.

                                                                      1. 5

                                                                        It seems absurd to me because it’s kind of a given. Not every site needs to say “hey don’t murder people” for me to feel good about using it. It’s a general human sentiment that murder is bad. Explicitly stating it and only targeting those viewpoints makes me wonder why we aren’t explicitly denouncing every type of supremacy, nativism, genocide, rape, etc.

                                                                        But I do think banning people who espouse any of those views (spoken or unspoken) on the site is not only warranted, but should also lead to a probationary period for the person who invited them.

                                                                        1. 7

                                                                          I don’t think we need to make a list of things we don’t agree with. But I do think that we should be clear that people who are known for their malicious activities (e.g. support for murder or racism) are not welcome here.

                                                                        2. -1

                                                                          Putting this bluntly, the second one is stupid and anyone who argues for it is stupid. On or off our site? What the hell. Maybe in person I could logic my way into thinking that it’s ok but online? Thousands of miles away with no immediate threat to my wellbeing?

                                                                          Online there’s always going to be that one jerk who doxes someone else for wrong-think and it’ll start with this.

                                                                          1. 12

                                                                            Thank you for proving your commitment to the cause of rational discussion by calling me stupid.

                                                                            The thing is, we want Lobsters to be a place where all people are welcome. If we allow known neo-nazis to hang out with us, then people that feel threatened by those neo-nazis won’t come here. Sure, it’s not a threat to them per se, but why would you want to spend your free time talking to people that literally want you dead?

                                                                            Being a neo-nazi is a choice. Belonging to a minority group isn’t. We should give the neo-nazis the boot and welcome the members of minority groups.

                                                                            1. 5

                                                                              why would you want to spend your free time talking to people that literally want you dead?

                                                                              Because they have information I want and are capable of staying on topic for the site I’m on. I do not care what they do anywhere else. It is incredibly vexing that people are making me defend the scum of humanity.

                                                                              I believe all people are welcome on lobste.rs if they’re not talking about tons of off-topic stuff and spewing out hate while they’re here.

                                                                              1. 13

                                                                                Do you also want information from people who, for example, would feel uncomfortable sharing a discussion forum with neo-nazis?

                                                                                This isn’t value-neutral, we have a choice to make: either we welcome the neo-nazis, or we welcome the people-who-don’t-want-to-talk-to-neo-nazis. I know who’s getting my vote.

                                                                                1. 5

                                                                                  This isn’t value-neutral

                                                                                  I reject that premise.

                                                                                  The nazi stuff should not enter the flow of conversation for nearly any thread on lobste.rs. The only reason we’re discussing it now because this is a meta thread and it was brought up by itamarst. If he hadn’t then we’d not know and not care.

                                                                                  So I think that if we actually talk about the things that we thought we were going to talk about when we were invited in the first place there won’t be any issues with your first sentence.

                                                                            2. 7

                                                                              Please don’t call other users or standpoints stupid. It’s okay to disagree, it’s even better to providing reasoning, but name-calling never helps.

                                                                        3. 7

                                                                          You only lose the people who care more about Nazi status more than technology–and they’d doubtless be happier elsewhere, in a community that puts ideology and identity above knowledge and civility. I’ve made my peace with that.

                                                                          I don’t think that you can fundamentally ensure that people always feel welcome, and there is no surer road to ruin than to cater to everybody’s exclusionary preferences. Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever–the only way a community grows and flourishes is by providing people the space and protocols to interact without requiring alignment on those things.

                                                                          Don’t want to take up more space here on it, but am happy to continue discussing in DMs with whoever would like to.

                                                                          1. 34

                                                                            The fact that you seem to define “civility” as - roughly speaking - some sort of shallow politeness enabling us all to chum it up with nazis so long as we’re speaking about computers, rather than as good citizenship and strong community built on respect for one’s peers suggests to me that you’d be a terrible moderator.

                                                                            1. 20

                                                                              Agreed, that kind of response seems like it comes from a place of privilege. As in, “this doesn’t concern me too much, what’s the big idea?”

                                                                              It’s been interesting to see convos here and elsewhere around accepting views that are rooted in hate but somehow we should all just suck it up because that’s “fair.” I’m often the only Black person in cis-White male dominated spaces so this is nothing new to me. Just…interesting to see this play out in the open for the first time.

                                                                              Confronted with the knowledge of one’s privilege blinding oneself to what the disenfranchised has known to be true for eons is fascinating to watch/read.

                                                                              1. 5

                                                                                I’ll politely point out that my view would extend, were the conversations civil and on-topic, to folks like Malcolm X or Newton or Seale–not just stuffy old white dudes.

                                                                                I think that, as John Perry Barlow observed, we here in cyberspace have the opportunity to transcend the strife we were all born into. Part of that means evaluating people based on their behaviour and not on what we think about their beliefs.

                                                                                Edit: fixed rather embarrassing misattribution.

                                                                                1. 13

                                                                                  (Davos is a place in Switzerland. That piece was authored by John Perry Barlow. I recommend the movie Hypernormalisation, there’s a very interesting part featuring Barlow and the other technolibertarians, discussing the connections to the counter-culture movement in the 60s)

                                                                                  I cannot help but find this sort of cyber-utopianism incredibly naïve. Things that happen on the internet can and do have effects on people in the real world. It’s been a long, long time since “just walk away from the screen, just close your eyes” was a genuine take to have.

                                                                                  1. 4

                                                                                    Thanks for catching that, still waking up.

                                                                                    It’s a naive approach, but that’s kinda the point right? Like, should we not strive to live in that more ideal, simpler, better world?

                                                                              2. 2

                                                                                good citizenship

                                                                                What do you mean by this?

                                                                                I agree btw.

                                                                              3. 18

                                                                                Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever

                                                                                I think you may be lumping together several dissimilar attitudes here.

                                                                                I do not think lobste.rs is suffering from including “the wrong people” or anything like that. We probably do have some people with terrible opinions, but it doesn’t leak into our usual discussions.

                                                                                However, I do think it would be bad to have a mod to express the attitude that “some people hate Nazis, some people hate women. A pox on both their houses!”

                                                                                I say “express” because I am not saying what you really think is “hating women is equivalent to hating Nazis”. But a mod has to be careful.

                                                                          2. 6

                                                                            Why stop with Nazis? If anyone shows any Nazi propaganda, they should be out. But let’s extend it to all other groups that cause harm to others. Any member of US army should be gone, heck, they didn’t try to kill my grandma, they killed my relatives, which were civilians (and they are still killing others in my country due to depleted uranium that was used in bombings). Also all the members of tech companies that help these strikes (looking at you, Microsoft et al).

                                                                            Obviously, I’m exaggerating here to show a point that if we only look at membership of a group to exclude someone, we might also start extending the groups, as various people can/are affected. Personally, I don’t care which group people belong to, as long as they are not a threat to my family and are trying to help (or are just plain neutral) — which I think plenty of people here are, and that’s the main reason I come to this site.

                                                                            1. 9

                                                                              We did exactly this when a Palantir showed up to show a neat thing. It was one of the most shameful things I’ve seen in my time here.

                                                                              1. 5

                                                                                You are not exaggerating at all.

                                                                                1. 2

                                                                                  This reads like the opposite-day version of “First they came…” by Martin Niemöller.

                                                                                  1. 1

                                                                                    That is a great poem that I have only heard so far paraphrased. Thanks for sharing! However, it has been a rough week for me, so I don’t get the “opposite-day version” part, could you elaborate?

                                                                                2. 4

                                                                                  Circumstances under which I would be OK with an Actual Nazi participating (both conditions must hold):

                                                                                  1. User does not reveal themselves to be a Nazi on the site, either by explicit statement or in the way they act, and
                                                                                  2. User is not notoriously a Nazi externally to the site, either for having done something terrible or by making themselves a “public figure” wrt their viewpoints.

                                                                                  If someone behaves themselves on the site, and their behavior on the site does not create distress for others, I don’t see why people should be encourage in shitstirring. (If it is inevitable that someone’s presence will create distress, regardless of the behavior of anyone on the site, I would strongly suggest they use a pseudonym.)

                                                                                  “Nazi” is an unlikely and hyperbolic example, but I’ve seen people go and seek out damning information of one sort or another about a member of a community (including doxxing them), and then make it a thing. It wouldn’t have been a thing, and wouldn’t have caused stress to members of oppressed populations, if they didn’t do that! By digging, they’ve actually caused harm. So my rule would be that the notoriety has to originate externally or via direct actions on the site, or you just incentivize this ugly community antipattern.

                                                                                  (Some of my ancestors were murdered by Actual Nazis or had to emigrate to avoid them, in case you need that for my opinion to be valid.)

                                                                                  ((EDIT: I don’t want to be a mod, though.))

                                                                                3. 8

                                                                                  Maybe don’t apply if you’re seeking to do if because you think it’s what people want you to do… Someone with that personality might be inclined to lose interest before their term is up if they think popular opinion is drifting away from them…

                                                                                  1. 22

                                                                                    My reasoning–and I’ve always held this position–is that anybody seeking such a position is either a lunatic, a tyrant, or both, and not to be trusted. Myself included.

                                                                                    That said…

                                                                                    Look, if we’re down to just one moderator, that’s a rough gig. That, plus the current state of the world, makes me worry for the site focus and discussion culture of Lobsters, and if I can help I’m happy to do so–and pushcx is welcome to shitcan and ban me (and will likely do so with great relish) at will should I fail in my duties.

                                                                                    Asking for sufficient votes before appliying is me, in effect, getting a gauge of if the community would agree to abide. As we’ve seen in my country this year, the legitimacy of government ultimately stems from the consent of the governed.

                                                                                    1. 11

                                                                                      And as I’ve seen in my country (US) this year, it’s wise not to give power to folks who are in it for the attention :P

                                                                                      1. 5

                                                                                        I personally (and I have a decidedly average number of internet points) like the way your postings changed when your nick changed to friendly. That change shows an appreciation of your past and new styles that I would like to see in moderators.

                                                                                      2. 2

                                                                                        TBH asking to be upvoted seems like a bit of a conflict of interest with wanting to be a mod… as friendlysock said

                                                                                      3. 7

                                                                                        :(

                                                                                      1. 9

                                                                                        I’m curious if there’s a defined process for monitoring / removing moderators who are overzealous or partisan in the course of their duties. The moderator log is a good start, but how does the accountability follow?

                                                                                        1. 18

                                                                                          That’ll be my continuing responsibility as the admin. This application process should leave the site with me plus 3-5 people, so developing an explicitly defined process would probably be overkill for our scale.

                                                                                          1. 4

                                                                                            Peter’s a fine fella but I personally find his own moderation style one-sided (I’ve seen instances where only a dissident opinion was removed from the comments, not both) and I don’t like that we can’t see removed comments, yes this is a limitation of the site but I think we’re all adults here and should be able to make our own judgements. Removing comments without letting anyone else read them at all smacks of censorship to me.

                                                                                            Basically, what I’m trying to say here is that I don’t think moderation monitoring is going to be effective given the issues I see with the current moderation policies.

                                                                                            1. 8

                                                                                              Burying comments (making them still readable, but hidden) has been mostly unsuccessful everywhere (I am aware of) it has been tried. Moderation IS censorship, and that isn’t a bug, it is a feature. The purpose is the removal of posts (or users).

                                                                                          1. 27

                                                                                            With respect and love, @pushcx, this ain’t it.

                                                                                            In my experience moderating internet forums there are precisely two kinds of people that are interested in moderating:

                                                                                            • people motivated by a deep desire to improve the communities they participate in and who plan to moderate with the lightest possible touch in order to grow the community and allow it to express its norms and standards
                                                                                            • petty fucking assholes who plan to wield their power to grind axes, antagonize enemies, and reshape the community as they themselves see fit

                                                                                            These posts bring out both of these kinds of people, but unfortunately you’ll be lucky if you get a 1:10 ratio of good to bad.

                                                                                            Now, you’ve said you plan to announce the new moderator slate. That means, at best, you and @irene plan to try to separate the wheat from the chaff. My $.02: don’t. Pick ten people that each of you have interacted with and think you can live with as moderators. Then ask them directly. If you are lucky you’ll get two of them to accept and only reluctantly so. Then you’ll have found good moderators.

                                                                                            1. 11

                                                                                              I spent the last year trying that, though I contacted nine users rather than ten. None were both interested and available, though one maybe came around a few days ago and I believe applied earlier today.

                                                                                              1. 3

                                                                                                None were both interested and available, though one maybe came around a few days ago and I believe applied earlier today.

                                                                                                I hope like hell they did, and wish you the absolute best of luck finding a second (or more).

                                                                                              2. 9

                                                                                                I am deeply distressed by the direction these comment threads took for many reasons, but not least because I had believed, perhaps naively, that this community was distinct in how its members practiced a cautious self-moderation to avoid making - or even cast votes behind - statements they lacked expert authority to make, knowing those statements could (and likely would), be seen by actual experts who could be engaged in earnest discussion.

                                                                                                I post under my real name because it means I have to stand by the things I say, and it forces me to pause to consider the effect my words will have on the people I say those things to. Posting anonymously or pseudonymously removes the first obligation one has to oneself, but nothing removes the second obligation one has to others.

                                                                                                I hope from the bottom of my heart that these threads are uniquely a product of the generally elevated blood pressure of all people at this particular moment, and is not representative of anything else.

                                                                                                I have many things to say about the subject matter discussed in these threads, but this is not the place I will say them.

                                                                                                1. 6

                                                                                                  I can’t agree any more strongly with this post. This (request for moderators) is the way to get toxic moderators. @owen is absolutely right about how to get good moderators, pick them based on their existing community actions and reach out to them. Most of who you reach out to are wonderful, sane people so they will decline… continue down the list. I have moderated communities for a couple of decades and the path laid out by @owen is the only one I have had any success with.

                                                                                                  1. 3

                                                                                                    You are extremely correct. As a member of the third category, I understand that moderation is a powerful tool which I would almost certainly misuse and with which I should not be trusted. And I am simply not a nice person. But, with that said, I at least have an excellent record of antifascist posting.

                                                                                                    1. 2

                                                                                                      This is good advice, and in other communities I’ve been a part of it was exactly how moderators were selected. Some served for 5-10+ years, all part of the same initial friend group / community that seeded it.

                                                                                                      I did assume that @pushcx would still have the ultimate say in getting rid of any false positives, so to speak, considering we have a public moderation log and it would be somewhat obvious if someone was abusing their power, so it might be OK still.

                                                                                                    1. 21

                                                                                                      The Linux Desktop! For the 20th year running…

                                                                                                      1. 12

                                                                                                        Aww, shucks, right when I ordered a Mac! I’m just about to leave the party and you’re telling me it’s starting??

                                                                                                        1. 12

                                                                                                          No better time to contribute to: https://asahilinux.org/ :)

                                                                                                          1. 3

                                                                                                            After 17 years of no better time contribute to $linuxthing I think it’s time I had a break from all this :-).

                                                                                                            (Edit: well, I’m still going to use Linux for all sorts of embedded gadgets. And there’s a driver I wrote, which I’m maintaining, and I’ve been putting off adding support for a new device for a few months now, what with all the global shipping kerfuffle. So I won’t have a break from Linux – what I do want, and will hopefully get, is a break from dealing with… everything else, from systemd to xdg-whatever and from GTK to Wayland, in my spare time. I’ve got a bad case of perpetual beta fatigue.).

                                                                                                            1. 1

                                                                                                              I’ve got a bad case of perpetual beta fatigue.

                                                                                                              Well, good luck then on macOS ;).

                                                                                                              I used macOS full-time from 2007-2018 and part time from 2018-2020. macOS was really great when I started using it. But it is as buggy as any other desktop OS nowadays. With the large difference that there is no recourse besides filing issues in OpenRadar, which is pretty much the same as sending them to /dev/null. In a FLOSS systems like Linux or the BSDs, you can at least report bugs to someone who is listening or fix it yourself.

                                                                                                              1. 1

                                                                                                                Oh, I’m not having grand expectations. I had two stints with what was OS X back at the time. I used 10.1, I think, for a few months (wasn’t my laptop), and then used OS X 10.4 and 10.5 on two of my machines between roughly 2007 and 2010. It was okay, I liked Linux better but I could see the appeal. Programming Unix-y things under OS X was definitely not fun and I’m not expecting it to be any fun-er but it was solid enough to be useful.

                                                                                                                Then I haven’t touched Macs for a long time until last year, when nobody wanted to fix macOS bugs in one of the projects I’m working in and I figured why not. Based on a few weeks of fiddling with them, Catalina and Big Sur seem to me worse, overall, than 10.4 was at its time (I was too enthusiastic about Aqua to be able to tell much about 10.1) but I can work with them.

                                                                                                                The hardware is the bit I’m more concerned about, honestly. I haven’t peeked under the hood in a while but strictly based on what I can see outside, I want to hug my old iBook G3 and never let it go.

                                                                                                                In a FLOSS systems like Linux or the BSDs, you can at least report bugs to someone who is listening or fix it yourself.

                                                                                                                Until a few months ago when it finally became unnecessary, I used to babysit a GTK application so I got to be great at being talked down to by upstream. Being ignored would be, like, amazing!

                                                                                                                Anyways, it’ll take a while for my MBP to arrive. What’s the worst that can happen? :-D

                                                                                                            2. 3

                                                                                                              I had no idea this existed. I thought it was a non-starter. yey. \o/

                                                                                                              Also, the developer has a serious history of successfully doing this sort of thing. Suddenly I am even more excited by Apple Silicon.

                                                                                                          2. 2

                                                                                                            The year of Gaming on Linux.

                                                                                                            With the recent improvements made to Proton, about 70% of the games work.

                                                                                                            1. 2

                                                                                                              after years on MacOS I switched to Windows when I started working in gamedev, and after a few years of putting up with it I finally got fed up enough that I switched to Ubuntu over the holiday break. Since getting my dual boot setup working, I haven’t yet booted into Windows.

                                                                                                              1. 2

                                                                                                                Give it some time :-). This isn’t my first rodeo, I’ve been at it for almost 20 years.

                                                                                                            1. 78

                                                                                                              Backlash against Kubernetes and a call for simplicity in orchestration; consolidation of “cloud native” tooling infrastructure.

                                                                                                              1. 18

                                                                                                                I’m not sure if we’ve reached peak-k8s-hype yet. I’m still waiting for k8s-shell which runs every command in a shell pipe in its own k8s node (I mean, grep foo file | awk is such a boring way to do things!)

                                                                                                                1. 15

                                                                                                                  You must not have use Google Cloudbuild yet. They do… pretty much exactly that, and it’s as horribly over-engineered and needlessly complicated as you can imagine :-D

                                                                                                                  1. 4

                                                                                                                    I haven’t worked with k8 yet but to me all of this sounds like you’ll end up with the same problems legacy CORBA systems had: Eventually you lose track of what happens on which machine and everything becomes overly complex and slow.

                                                                                                                  2. 13

                                                                                                                    I don’t know if it will happen this year or not but I’ve been saying for many years that k8s is the new cross-language J2EE, and just like tomcat and fat jars began to compete we’ll see the options you’re discussing make a resurgence. Nomad is probably one that’s already got a good following.

                                                                                                                    1. 7

                                                                                                                      I understand where you’re coming from but I don’t think it’s likely. Every huge company I’ve worked with has idiosyncratic requirements that make simple deployment solutions impossible. I’m sure there will be some consolidation but the complexity of Kubernetes is actually needed at the top.

                                                                                                                      1. 1

                                                                                                                        We’ve been on k8s in some parts of our org for 2+ years, we’re moving more stuff that direction this year though primarily because of deployments and ease of operation (compared to alternatives).

                                                                                                                        We don’t use half of k8s, but things are only just now starting to fill that gap like Nomad. I think we’re probably at least a year off from the backlash though.

                                                                                                                      2. 4

                                                                                                                        I won’t be surprised if the various FaaS offerings absorb much of the exodus. Most people just want self-healing and maybe auto-scaling with minimal yaml. Maybe more CDN edge compute backed by their KV services.

                                                                                                                        1. 1

                                                                                                                          Which FaaS offerings are good? They are definitely less limited than they used to be, but do they deal with state well and can they warm up fast?

                                                                                                                          I haven’t seen any “reviews” of that and I think it would be interesting. Well there was one good experience from someone doing astronomy on AWS Lambda

                                                                                                                          https://news.ycombinator.com/item?id=20433315

                                                                                                                          linked here: https://github.com/oilshell/oil/wiki/Distributed-Shell

                                                                                                                          1. 2

                                                                                                                            The big 3 cloud providers are all fine for a large variety of use cases. The biggest mistake the FaaS proponents have made is marketing them as “nanoservices” which gives people trauma feelings instead of “chuck your monolith or anything stateless on this and we’ll run it with low fuss”.

                                                                                                                            “serverless” and “function as a service” are both terrible names for “a more flexible and less prescriptive app engine”, and losing control of the messaging has really kneecapped adoption up until now.

                                                                                                                            Just like k8s, there are tons of things I would never run on it, but there are significant operational savings to be had for many use cases.

                                                                                                                        2. 4

                                                                                                                          I wish, but I am not hopeful. But I have been on that bandwagon for years now. Simple deploys make the devops folks love you.

                                                                                                                          1. 1

                                                                                                                            For those in the AWS world, I like what I’ve seen so far of Amazon ECS, though I wish that Fargate containers would start faster (i.e. 5 seconds or less).

                                                                                                                          1. 1

                                                                                                                            I have tried everything under the sun, but only Notion does it for me.

                                                                                                                            Notion is a DIY Knowledge Management System. Kind of like a wiki but so much more powerful than what you are used to. In Notion, I use backlinks, kanban boards, reminders, and more!

                                                                                                                            1. 1

                                                                                                                              Do you use it as a single user? When I was looking at it – it seemed very team focused.

                                                                                                                              1. 1

                                                                                                                                Yep in fact, I find it interesting because it’s ridiculously powerful as a single-user tool. I imagine as a team, it’s even better, but they seem to exclusively want to make money from the team use-case for some reason, not sure why. I imagine it’s much easier to milk a team as it expands and adds members, whereas single users will not be willing to spend additional money over time.

                                                                                                                            1. 1

                                                                                                                              First of all – very envious of those in this thread who don’t need such a tool. Between family complexity (medical and otherwise), house complexity (yearly maintenance, etc), and an increasingly complex job – I would have lost my mind without tooling assistance.

                                                                                                                              That said, my documentation tool, my tracking tool, my scheduling tool, and my task tool are the same tool. I use TickTick – but all you need is any task-oriented tool that has subtasks and logs completed tasks. Bonus points for having reoccurring tasks and a bit of organization.

                                                                                                                              All “goals” are just large tasks with subtasks. Follow SMART/VAPID to make sure your tasks don’t suck. Remember to be creative in the use of your tool, if you are blocked waiting for Joe to give you the data, that is a subtask, [ ] Get data from Joe (blocked) – large task like “lose 20 pounds” can be broken into specific subtasks (and repeatable ones like a workout).

                                                                                                                              I was lucky enough to be able to link my work task tool with m personal – so my task tool gives me a complete view of what I need to do.

                                                                                                                              1. 14

                                                                                                                                The “Plan 9” of browsers. Love the idea! :D

                                                                                                                                1. 4

                                                                                                                                  I love a lot of Plan 9 ideas! I hope stuff like this starts to gain some traction.

                                                                                                                                1. 11

                                                                                                                                  I wonder what they’re going to do for Mac Pro class of hardware.

                                                                                                                                  Trying to fit more RAM, more CPU cores, and a beefier GPU all into one package doesn’t seem realistic, especially that one-size-fits-all chip isn’t going to make sense for all kinds of pro uses.

                                                                                                                                  1. 7

                                                                                                                                    It’s going to be interesting to see what they do (if anything at all) with a 250W TDP or so. Like, 64? 128? 196 cores? I’m also interested in seeing how they scale their GPU cores up.

                                                                                                                                    1. 2

                                                                                                                                      There’s NUMA, though Darwin doesn’t support that right now I think.

                                                                                                                                      1. 2

                                                                                                                                        Darwin does support the trashcan Mac Pros, right? They have two CPUs, and that’s a bona fide NUMA system.

                                                                                                                                        1. 3

                                                                                                                                          Trashcan Mac Pros (MacPro6,1) are single CPU - it’s the earlier “cheesegrater” (MacPro1,1-5,1) that are dual CPU. I do believe they are NUMA - similar-era x86 servers certainly are.

                                                                                                                                          1. 1

                                                                                                                                            Ah, you’re right, sorry for the confusion.

                                                                                                                                      2. 2

                                                                                                                                        Trying to fit more RAM, more CPU cores, and a beefier GPU all into one package doesn’t seem realistic

                                                                                                                                        I have heard this repeatedly from various people – but I don’t have any idea why this would be the case. Is there an inherent limit in SOC package size?

                                                                                                                                        1. 1

                                                                                                                                          I’d assume they’ll just support non-integrated RAM - as there will be space and cooling available.

                                                                                                                                        1. 2

                                                                                                                                          For most people looking at desktops, I don’t think it’s worth building a desktop anymore when off-lease business desktops exist. They come in a variety of sizes, decent performance (usually i5+Q chipset, basically the enterprise version of the gamer board chipsets) the bigger ones are normal desktop platforms, and they take a midrange GPU and plenty of RAM. Between how easy it is to get off-lease desktops and how excruciating it is to debug whiteboxes, I recommend it when possible. The only reason I built last time was because I wanted a Ryzen.

                                                                                                                                          1. 4

                                                                                                                                            I think the Ryzen and PCIe 4 is a bit of a unique inflection point that hasn’t happened in years. Soon, they will be flooding onto the used market as well. For my tasks (data processing single-digit TBs and compiling large code-bases) the combination of high core count and the new generation of PCIe has a fairly clear ROI as it saves me at least 90 minutes a day of “waiting for the computer”. During those waiting periods, I wasn’t idle, but I wasn’t as productive as I could be – doubly so when stuff went wrong – cycle time matters and this newest generation is the first significant improvement in years.

                                                                                                                                          1. 1

                                                                                                                                            This year I bought an old Dell R710 from eBay, cost $420AUD, delivered to other side of Australia.

                                                                                                                                            128GB memory with 2x X5650 processors. Pretty useful for compiling Scala ;)

                                                                                                                                            1. 1

                                                                                                                                              Dell R710

                                                                                                                                              You have it racked?

                                                                                                                                              1. 1

                                                                                                                                                No, I don’t yet. It’s just sitting on a shipping pallet for now.

                                                                                                                                            1. 5

                                                                                                                                              I have used mostly used hardware, but mostly Intel stuff is available, and Spectre vulnurability made used computer far less worthy. I’ll buy brand new AMD products when my computer feels unbearably slow for work (getting there gradually since the ever coming “fixes” for the Intel shortcuts. Visual Studio startup became unbearably slow on the same machine in the last 3 years.)

                                                                                                                                              1. 2

                                                                                                                                                I look forward to the current crop of T14s Thinkpads with AMD CPUs to become available on the refurbished market. That will be my upgrade.

                                                                                                                                                1. 2

                                                                                                                                                  A friend got a T14 as a work notebook, and is pretty dissatisfied with it.

                                                                                                                                                  • bad build quality
                                                                                                                                                  • bad drivers/software support
                                                                                                                                                  • terrible light detection logic for adaptive screen backlight (lights up in a dark room, the sensor detects the screen light, thinks it is lighter in the environment, so it needs to increase the backlight… until it is at max )
                                                                                                                                                  1. 3

                                                                                                                                                    terrible light detection logic for adaptive screen backlight (lights up in a dark room, the sensor detects the screen light, thinks it is lighter in the environment, so it needs to increase the backlight… until it is at max )

                                                                                                                                                    I had an ancient Sony laptop that suffered from this exact problem! It is the position of the light sensor – which means it isn’t even easily fixable. That cycle is brutal and consistent.

                                                                                                                                                    1. 1

                                                                                                                                                      That’s good to know. Is it an AMD model? I also aim at the T14s, the slimmer version.

                                                                                                                                                      That’s also one thing I like and outlined in the article: waiting for refurbished models gives Linux distributions and Kernel devs time to fix these issues.

                                                                                                                                                      1. 4

                                                                                                                                                        Friend here. This is the most boring laptop I ever had. Except when the charger said that it was charging but the battery actually discharged. Of course you can’t remove the battery without voiding the warranty, so you have to “disconnect” it in the BIOS menu. Just buy a Latitude. I can answer specific questions if interested.

                                                                                                                                                        1. 3

                                                                                                                                                          Uh, I hate my work-provided latitude. Gets all puffed up and spiny if I even look like I’m gonna open IntelliJ. meanwhile my old bucket t420 doesn’t break a sweat.

                                                                                                                                                          … though it is windows vs Linux so maybe it’s about that.

                                                                                                                                                        2. 3

                                                                                                                                                          Thinkpad x395 here, which is more or less the same boards as the T14s but with prior generation CPU. (T495s and x395 were the same).

                                                                                                                                                          I’m very satisfied with my laptop, which I’m using full time. I don’t use Windows much (mainly Arch Linux), but when I do, I haven’t experienced bad drivers mentioned by the parent.

                                                                                                                                                          No auto brightness adjustment on this model (that I am aware of).

                                                                                                                                                    2. 2

                                                                                                                                                      re Spectre: Have you considered running multiple machines? It takes pretty sensitive equipment to pull information off powerline disturbances.

                                                                                                                                                      1. 2

                                                                                                                                                        On the work machine I need to access webpages (unless I want to re-type long passages of text sometimes), and the mitigations are needed when untrusted code is executed (that is webpages nowadays)

                                                                                                                                                        1. 1

                                                                                                                                                          I’m not sure I’d actually recommend it, but RDP / remote X11 let you run a web browser one one machine and display the output on another, with copy-and-paste working between the browser and the other stuff.

                                                                                                                                                          1. 1

                                                                                                                                                            Buying a brand new machine and licenses is cheaper than the lost productivity

                                                                                                                                                            1. 1

                                                                                                                                                              I think Synergy might be a better solution for this since it only shares the pointer and clipboard instead of having to send the entire browser window across the wire.

                                                                                                                                                        2. 2

                                                                                                                                                          Visual Studio’s startup getting slow is not because of Spectre, but because of the software itself. A “fix” that worked for me is unplugging all hard drives, including internal ones, and only keeping SSD/NVME drives connected. For some reason, Windows likes to wait on all drives even if they’re not at all related to the task at hand. Another is disabling windows defender, at every boot. It routinely uses 90% CPU.

                                                                                                                                                          1. 2

                                                                                                                                                            Thanks for the info, but meh… I’d rather not do that :( Defender is already disabled (mostly), as it is mostly just a resource hog or rather an additional attack vector (as many AV software are)

                                                                                                                                                            This is pathetic, Microsoft should get their act together.

                                                                                                                                                        1. 22

                                                                                                                                                          When I saw the text “At the beginning of 2030”, I thought this essay was going to use the narrative conceit of claiming to be a historical retrospective on the present day, published in the future. But the essay doesn’t do anything with that premise, so now I suspect it’s just a typo for 2020. I see that at the end it claims to be an existing talk about Smalltalk with Haskell and Rust substituted in appropriately. I’m not familiar with that original Smalltalk talk though.

                                                                                                                                                          In any case, I don’t think the object-level point this essay is making holds. In general, I’m skeptical of arguments saying that “such and such language community is arrogant, therefore Y”. It’s easy for an essay-writer or internet commenter to remember a small number of particular interactions with a particular group of people who happened to be advocating for the merits of some programming language over another, and incorrectly attribute this to a property of that programming language. Note the argument in the comments about whether it’s actually Go users who are prototypical examples of arrogance. I don’t generally expect to agree with programming language essayists over whether some example of discourse actually constitutes arrogance - it’s a common trait for people who are arrogant themselves, to accuse others of being arrogant.

                                                                                                                                                          Haskell also has some important differences from Rust in design and and purpose, that do a lot to explain why Rust is more popular among industry developers than Haskell is. Haskell is fundamentally a research project in lazy functional programming design, whereas Rust is fundamentally a project to make well-established ideas from programming language research readily available to industry programmers, particularly ideas for statically-checking memory safety (which isn’t a research concern of Haskell’s). Rust notably borrowed some ideas from Haskell, such as traits (Haskell typeclasses), and I don’t think anyone working on Haskell would consider it a failure of theirs that an industry-focused language that borrowed ideas from their work happens to be more widely used in industry.

                                                                                                                                                          Still, I don’t think it’s accurate to say that Haskell is “killed” (certainly it’s a lot easier to get a job in 2020 writing Haskell than writing Smalltalk!). It’s not among the most popular programming languages, but software-writing organizations do in fact use it. The language is being actively developed, (better) tooling around the language is being actively developed. People who care about functional programming reference it quite a bit, even if it’s in the context of applying Haskell ideas to non-Haskell programming languages.

                                                                                                                                                          1. 7

                                                                                                                                                            In general, I’m skeptical of arguments saying that “such and such language community is arrogant, therefore Y”. It’s easy for an essay-writer or internet commenter to remember a small number of particular interactions with a particular group of people who happened to be advocating for the merits of some programming language over another, and incorrectly attribute this to a property of that programming language.

                                                                                                                                                            Plus, of course, the trolls: There’s plenty of people on Reddit, for example, who are “advocating for Rust” in a way that makes Rust advocates seem unhinged, which is the point. Maybe some of them hate the language, but most of them are downvote trolls (“Look at me! Downvote me! LOOK! AT! ME!”) riding a fad.

                                                                                                                                                            1. 13

                                                                                                                                                              I’m not so blind as to confuse the arrogance of Rust users with a flaw in the language itself, but I have noticed a fair amount of arrogance from the Rust community. This isn’t just “a few bad experiences in a sea of good ones”: every time I’ve interacted with the Rust community, I’ve had at least one or two responses that would be considered unwelcoming and arrogant. It’s not just trolling, I don’t think.

                                                                                                                                                              I’ve had this happen on Twitter, here on lobste.rs, Stack Overflow, and various other places.

                                                                                                                                                              (I avoid Reddit for the most part; if I wanted to know that COVID-19 was a hoax designed to destroy Trump or find out that same-sex marriage is Satanism, I’d just talk to my mother’s side of the family.)

                                                                                                                                                              I think the perceived arrogance of the Rust community has some basis in reality, and I also think that it comes from Rust being a relatively new community, a relatively small community, a relatively technically-superior community, and a relatively unsupported community.

                                                                                                                                                              Rust is technically superior compared to many other languages. Rust is the new kid on the systems-programming block. Rust has a relatively small community. Rust is not supported by Google or Oracle or Microsoft or Apple (yeah, Mozilla, but Mozilla is peanuts compared to those guys). All of this adds up to a “siege” mentality. The Amiga community was and is like that, and for often very similar reasons. I think a lot of the Rust community’s arrogance is perhaps a degenerate case of Amiga Persecution Complex.

                                                                                                                                                              That being said, while I like Rust and I’m learning it and I plan to make it my next big language for major projects…the community needs to get better. I think that will happen with time, as it grows and the ratio of True Believers to Just Want To Get Work Done people shifts.

                                                                                                                                                              1. 7

                                                                                                                                                                I think the perceived arrogance of the Rust community has some basis in reality, and I also think that it comes from Rust being a relatively new community, a relatively small community, a relatively technically-superior community, and a relatively unsupported community.

                                                                                                                                                                I agree with all of this, but I think there’s another thing at play: Rust is a technically different community in a way that matters. It isn’t GC’d, it’s ownership-managed, and that isn’t unimpeachable yet. If Rust fails, ownership-management fails, too, at least in terms of mainstream adoption, so your intellectual investment in that paradigm begins to look like getting taken for a ride by a silver-tongued scammer. OTOH, if Go fails, nobody’s going to Seriously Reevaluate the value of GC’d programming languages.

                                                                                                                                                                1. 5

                                                                                                                                                                  Don’t worry, linear types failed many times before they had their first glimpse of mainstream success in Rust. ;)

                                                                                                                                                                  And so did GC, it failed even more times before it finally succeeded.

                                                                                                                                                                  1. 2

                                                                                                                                                                    I’m not waiting another 10-20 years.

                                                                                                                                                                2. 4

                                                                                                                                                                  It’s interesting that you say this, as I’ve actually found the community very approachable. Almost every major project has a Discord (pour one out for IRC…) and I’ve yet to have a really negative experience in one of them. I contrast this with older communities like the extremely toxic C and Linux IRC channels, where it was more of a surprise not to have a bad experience (at least as a beginner). General discussion forums vary, of course, particularly on sites like Reddit, but I’ve also never seen anything in Rust to rival the little nucleus of horrible people who floated around the Haskell and Scala communities for a long time. Even on Github issues, I’ve had pretty good reception and discussion, whereas in more mainstream communities like Python or Javascript I’ve seen (or been on the receiving end of) very negative behavior.

                                                                                                                                                                  The only really bad community behavior I’ve seen was surrounding actix, where I actually think the community was too nice. The maintainer’s behavior was extremely abrasive and negative, but people in the community acted like the reactions to this toxicity were themselves problematic. It reminded me of someone getting suspended from school for punching their bully.

                                                                                                                                                                  1. 5

                                                                                                                                                                    Rust is very interesting in that it is a language in which – in terms of community – there is a massive delta between those who use it and those who are hobbiests and even more strangely, non-user evalgenlists.

                                                                                                                                                                    Those I have spoken to / worked with who either touch Rust core or ship real-world code have been extremely kind, aware of language pros and cons and more than willing to discuss both.

                                                                                                                                                                    But, as you go outside of the that group you reach a group of people who are – borderline non-users. These people have never shipped Rust code anywhere, open-source or elsewhere. Yet they will promote it as being world-saving or viciously attack those who dare slander it.

                                                                                                                                                                    What makes me suspect Rust will overcome is that delta, as the community of active users grows, hopefully, the voices of those who are more on the fringes will be less noticeable, or in the best case, they will start to emulate those they respect in the community.

                                                                                                                                                                    1. 1

                                                                                                                                                                      That’s interesting, and would explain my experience. I very rarely interact with “fringe” communities, instead primarily interfacing with the community as a question of practice while writing code (e.g. if I find a bug or non-obvious behavior in a library, I go and ask about it). In your assessment I would therefore be interacting only with the “core” of the community, and avoiding the “fringe.” Hopefully this core – which, again, I’ve had nothing but positive experiences with – can overcome whatever horribleness newcomers are encountering at the edges.

                                                                                                                                                                      1. 1

                                                                                                                                                                        Well – the risks are two-fold. The first is the “fringe” in this case might well be the majority (in raw numbers). The second is the “fringe” is often the first point of contact someone has with the community as they explore the idea of using Rust. Unfortunately, many people first explore a language, not via important projects, but via subreddits and various medium articles about the language.

                                                                                                                                                                        1. 1

                                                                                                                                                                          This honestly makes me think that we (e.g. people actually using Rust for things) need to write more articles focused on presenting Rust in a friendly/conceptual way besides just the usual beginner texts. It’s hard, though, because I think there’s a kind of analogue of the “explaining monads” problem: Rust changes the way you think about programming somewhat, but there isn’t a real language of practice around it yet. Developing those metaphors will be a challenge.

                                                                                                                                                                          1. 2

                                                                                                                                                                            I think you nailed it. The practice of being a Rust developer is still rather new. Additionally, Rust due to its differences with other languages makes it hard to tell someone just to “dive in and get involved” with a project they like. It can feel absolutely intractable at first. That is a benefit that Go tends to have – you find an interesting project, jumping in is easy and the distance from completely lost to enlightened tends to be a fairly straight line.

                                                                                                                                                                  2. 2

                                                                                                                                                                    I’m not so blind as to confuse the arrogance of Rust users with a flaw in the language itself

                                                                                                                                                                    that’s kinda like a foundational line of thinking in media studies in general; the notion that the specific affordances of a medium affect the users of that medium, and that the affordances of the medium are expressed through the content made in that medium. Hence the saying “the medium is the message”. McLuhan takes it pretty far (much farther and more literally than I would be thrilled to support), but the idea that a specific medium (a programming language, in this case) has a character and has its own message is … a widely studied concept worthy of consideration, and shouldn’t be disposed of so casually. For programming languages, the question then becomes: what is the language’s character and what is expressed by the language itself?

                                                                                                                                                                    1. 1

                                                                                                                                                                      This line of thinking permeates HCI, even back when it was just “human factors” research. But the oldest and perhaps deepest form I know is the venerable and well-worn Sapir-Worf hypothesis. It’s a difficult subject to study rigorously. Experiments are almost impossible to conduct, factors hard to control for… but there is nonetheless a rich body of perhaps-not-entirely-useless scholarship.

                                                                                                                                                                      One need not be a scholar to observe that language and culture are everywhere intertwined. Although the diversity of “natural” human languages has suffered an epoch of mass extinction, we computer people are living in a tiny but ongoing explosion of artificial (and thus perhaps even more human) linguistic diversity, and inevitably dragging in all our predilections for cliques and status games, to enact amidst all the mathematical and mechanical concerns. Perhaps someday there will be a true sociolinguistics of programming languages. As it stands now, we barely have even scraps of historical consciousness… like this joking-not-joking article.

                                                                                                                                                                  3. 6

                                                                                                                                                                    There’s plenty of people … who are “advocating for Rust” in a way that makes Rust advocates seem unhinged

                                                                                                                                                                    that’s increasingly my experience of lobste.rs

                                                                                                                                                                  4. 2

                                                                                                                                                                    In any case, I don’t think the object-level point this essay is making holds. In general, I’m skeptical of arguments saying that “such and such language community is arrogant, therefore Y”.

                                                                                                                                                                    I think the original talk was using the demise of Ruby as a pretense to talk about professionalism in programming rather than earnestly attempting to analyze the demise of a language. Professionalism - Martin’s version of it - is something that he likes to pontificate about.

                                                                                                                                                                  1. 3

                                                                                                                                                                    Expectation: a pure text-based chat system, from a more enlightened age

                                                                                                                                                                    Reality: trolls spamming channels with huge ascii-art dildos and/or swastikas, and ddos

                                                                                                                                                                    1. 36

                                                                                                                                                                      Reality: trolls spamming channels with huge ascii-art dildos and/or swastikas, and ddos

                                                                                                                                                                      Not in my reality.

                                                                                                                                                                      1. 9

                                                                                                                                                                        I’m also surprised to hear that. Unless you explicitly look for troll channels, my experience has either been quiet (but quick to answer) or constantly active, and on topic.

                                                                                                                                                                      2. 17

                                                                                                                                                                        Never saw anything like that on freenode. Mind me asking - what channels do you visit?

                                                                                                                                                                        1. 11

                                                                                                                                                                          I can’t say I’ve seen the things that the grandparent comment mentioned, but they definitely wouldn’t be on Freenode. If you limit yourself to Freenode, IRC is a very safe and well-moderated experience, especially on some exemplary channels like the Haskell one.

                                                                                                                                                                          I have accidentally wandered into uncomfortable conversations and much worse things on some of the other popular IRC networks, of which quite a few still exist: https://netsplit.de/networks/top100.php

                                                                                                                                                                          The same thing is true of sketchy Discord servers as well; it’s not like IRC is unique in this regard.

                                                                                                                                                                          1. 3

                                                                                                                                                                            A year or two back, Supernets was spamming hard on IRC networks. I forgot if Freenode was affected, but I know a lot of the smaller networks I was on were.

                                                                                                                                                                            1. 2

                                                                                                                                                                              Not OP, but I spend my time on IRCnet and EFnet since my IRC use is just to stay in touch with friends. Anyway, last year I was DDoS’d pretty hard because someone wanted my nick on EFnet.

                                                                                                                                                                              1. 1

                                                                                                                                                                                Sometimes I miss #C++ on EFnet, not enough to go back on EFnet, but I do miss it – a lot of wonderful people were there in the late 90s. Freenode feels a lot more sane in terms of management and tools for the system operators. Cloaks and nickname registration go a long way.

                                                                                                                                                                              2. 2

                                                                                                                                                                                I’m in, like, 15 networks, and never saw anything like that either.

                                                                                                                                                                            1. 9

                                                                                                                                                                              I think an accessible client with sane defaults—especially for mobile—will go a long way in increasing IRC adoption. Something as seamless as WhatsApp or Telegram. And I think the lack of E2EE is fine for the average user’s threat model (my parents, for example).

                                                                                                                                                                              1. 13

                                                                                                                                                                                Accessibility (as in, easy to obtain, install, and start using) and sane defaults are entirely the reason newer (and less open/free) software has historically won with end users. The people who build software like fiddling with settings and exploring, the people who use software do not like that.

                                                                                                                                                                                Every project that makes you say “why don’t more end users used this instead of [Apple/Google/Facebook/Microsoft/Etc]”, the answer is probably because of accessibility and sane defaults. Even if there are multiple ways to accomplish something, there should be one logical path and the application should noticeably steer you towards that one logical path at every opportunity.

                                                                                                                                                                                1. 7

                                                                                                                                                                                  I agree.

                                                                                                                                                                                  Also, another word for providing “accessibility and sane defaults” is called “design”. Not as in “protocol design” (design for computers), but as in “user interface design” (design for humans). Many projects de-prioritize the latter, due to greater interest in tinkering with the guts of the program than tailoring it to its ostensible audience. I call this phenomenon “hobbyism”, and it’s one of the downsides of projects that provide their contributors freedom, thereby depriving them of structure.

                                                                                                                                                                                  These projects are now dying off, and although I don’t celebrate it, it is a reasonable death.

                                                                                                                                                                                  If centralizing/capitalism-izing chat is what it takes to get halfway-decent designers on board, then I’m signing the deal with the FAANG (+M) devil. The current situation is obscenely Orwellian, and I’d love for us to find another way (and I think Matrix seems promising!), but for now I’ve accepted it and moved onto other projects.

                                                                                                                                                                                2. 5

                                                                                                                                                                                  I think IRCCloud is the closest thing to “sane defaults” in the IRC space, messages stay on the server, iOS and Android clients, consistent persistence and lots of other little goodies.

                                                                                                                                                                                  The killer downside is the price, to get the permanently connected account requires a $5 a month subscription (https://www.irccloud.com/pricing) which I happily pay, but most will not stomach.

                                                                                                                                                                                  If IRCCloud would move “Stay connected permanently while inactive” to the free client, I think they would pick up a MASSIVE number of users.

                                                                                                                                                                                  1. 3

                                                                                                                                                                                    Matrix combined with IRC bridging can work as an (free) alternative to IRCCloud.

                                                                                                                                                                                  2. 6

                                                                                                                                                                                    Normies being gone from IRC is literally the best thing that has happened to IRC.

                                                                                                                                                                                    If getting into IRC was “accessible” as you call it, it’d be flooded with bottom-of-the-barrel, clueless users asking dumb questions, posting links to animated emote pictures and the like.

                                                                                                                                                                                    A good portion of the appeal of IRC is not having to deal with any of that.

                                                                                                                                                                                    1. 22

                                                                                                                                                                                      meh. Setting aside whether dismissing people as “normies” is elitist ($0.02: it is), it’s not just clueless people who leave IRC, it’s useful and important FOSS projects too. I don’t think “accessible” is a great word, since this often has very little to do with usability by people with disabilities, but I also don’t think this is a bad thing. The friendly-to-non-hacker platforms people are moving to don’t seem to be flooded with low-quality questions AFAICT.

                                                                                                                                                                                      1. 4

                                                                                                                                                                                        The friendly-to-non-hacker platforms people are moving to don’t seem to be flooded with low-quality questions AFAICT.

                                                                                                                                                                                        That’s what happens when you stop limiting these platforms to technical people: you get non-technical people. So if you think have a platform that can survive without non-technical folks—and it probably can’t—then go ahead and use IRC. Just remember that there’s a diversity cost to gatekeeping.

                                                                                                                                                                                        1. 2

                                                                                                                                                                                          This reads like a reply to the opposite of what I said. I don’t think keeping non-technical people out is a good feature. I do think the barriers seem, for the most part, frustratingly inconsequential (e.g. you have to type a command to register with your email and password instead of typing those things in their own boxes).

                                                                                                                                                                                          It doesn’t seem entirely reasonable to assume that everyone using IRC is gatekeeping.

                                                                                                                                                                                          1. 2

                                                                                                                                                                                            You’re right, I must have misunderstood; my bad. I will say, though, that even if it isn’t as intentional as “gatekeeping”, using IRC does implicitly limit your peers to the technically-minded, and there should be a similar word for that. For now, I’ll just say “incidental gatekeeping”.

                                                                                                                                                                                        2. 3

                                                                                                                                                                                          The friendly-to-non-hacker platforms people are moving to don’t seem to be flooded with low-quality questions AFAICT.

                                                                                                                                                                                          Which platforms are you talking about? Discord is the one I see that has truly replaced IRC for group chats on small to medium projects, and in my experience it has been utterly overrun with low quality posting, animated emote pictures, etc. (Though that’s far from my biggest gripe about discord.) It’s especially bad on “servers” where the admin leaves most defaults in place.

                                                                                                                                                                                          1. 5

                                                                                                                                                                                            I was thinking of Discord and Slack. There are a couple of Discord guilds for FOSS projects that I occasionally drop in on, and the overall quality doesn’t seem—to me—appreciably worse than that of, say, #python. I’m definitely thinking mostly of support channels rather than more generally focused ones; maybe the latter are much worse.

                                                                                                                                                                                            1. 5

                                                                                                                                                                                              The #clojure IRC channel took a big hit when the unofficial Clojure slack was started. It’s still around, but it’s a pale shadow of what it used to be. Meanwhile the #emacs IRC channel and the #fennel IRC channel are going strong because those folks know better than to depend on Slack or Discord or any such shit.

                                                                                                                                                                                            2. 3

                                                                                                                                                                                              I find Discord especially annoying, as we’re moving from community-run IRC networks (open protocol with plenty of server and client implementations for pretty much all platforms including anemic and ancient computers) to something that’s commercial and completely centralized (complete with global IDs that make the whole “servers” concept not just completely wrong but also irrelevant) and requires a heavy web browser to access.

                                                                                                                                                                                            3. 2

                                                                                                                                                                                              I don’t think “accessible” is a great word, since this often has very little to do with usability by people with disabilities

                                                                                                                                                                                              That’s why I used the quotes, but I then forgot to clarify. Thanks for cleaning after me :-)

                                                                                                                                                                                              IRC is, as far as I am aware, the most accessible chat system.

                                                                                                                                                                                              1. 5

                                                                                                                                                                                                Accessibility is consciously a broad term. IRC may be very accessible system to people with visual disabilities, but not to others - e.g. joining an IRC server is very arcane. Translated tutorials are hard to get. This is not a system for people with any kind of cognitive issues or even just language barriers.

                                                                                                                                                                                                I regularly chat with a blind person (my last reason to use IRC) and let’s not kid ourselves: none of the client implementers care. For example, many TUIs use visual bars to highlight a currently active selection (like the channel your selection currently “hovers” over), but no cursor. This is inaccessible - TUIs become completely inaccessible if the cursor position becomes non-sensical. This is essentially their main reason to not drop for example for matrix, using a terminal client for it, because most terminal clients like weechat commit such mistakes.

                                                                                                                                                                                                In the end, this has nothing to do with IRC. It has something to do with how little everyone cares about this. None of the systems discussed here is fundamentally inaccessible.

                                                                                                                                                                                                1. 1

                                                                                                                                                                                                  most terminal clients like weechat commit such mistakes.

                                                                                                                                                                                                  IRC is simple enough that it would not take much effort to implement a client specifically for a person with a specific disability.

                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                    Or use an old/simple enough client. ircII or ii by suckless

                                                                                                                                                                                                    You can even connect to matrix using an irc client thanks to matrix-ircd

                                                                                                                                                                                                    1. 3

                                                                                                                                                                                                      IRC is simple enough that it would not take much effort to implement a client specifically for a person with a specific disability.

                                                                                                                                                                                                      This is not true. It takes substantial effort for a person to implement a full client because other clients don’t care about accessibility. The person themselves is a programmer - they could even implement the client, but that would take a chunk of their own time for something that could rather easily be fixed if client implementors cared. My point is that “plain text is accessible” is often a mistaken assumption, this would e.g. not be an issue if you had a GTK client with standard widgets (accessibility support in GTK is okay).

                                                                                                                                                                                                      Also, it’s a fundamentally exclusive stance: those that need it should implement their own clients. weechat is also more than an irc-client: it is a multi-protocol client, which would unlock a lot more options for that person.

                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                        Sure, but having loads of clients to choose from and, on top of that, a protocol simple enough to minimize the effort of implementing a disability optimized full client if desired is definitely much better than the alternative.

                                                                                                                                                                                              2. 2

                                                                                                                                                                                                100% disagree, you get all that on other platforms as well, there are ways to keep them in check. I’ve been part of quite a few non-technical channels and they were a lot better off when they weren’t strictly populated by nerds who were on irc anyway. Those people are now probably on WhatsApp, Telegram or whatever, but not anywhere near where I am.

                                                                                                                                                                                                1. 1

                                                                                                                                                                                                  posting links to animated emote pictures and the like.

                                                                                                                                                                                                  hell yea

                                                                                                                                                                                                2. 2

                                                                                                                                                                                                  Please write one!

                                                                                                                                                                                                  I think the lack of E2EE is probably the optimal default, tbh. IRC is mostly designed for public or semi-public channels, where it doesn’t make a lot of sense, and we also have open private messaging by default, which means the world where servers can’t see into PMs would be rather spammy. (We didn’t always have a server that could do that, and lots of people complained.) For people who understand the risks, there’s already OTR.

                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                    Matrix with IRC bridging can work as a very nice IRC client. But then you also have access to matrix natively…

                                                                                                                                                                                                  1. 13

                                                                                                                                                                                                    IRC’s lack of federation and agreed-upon extensability is what drove me to XMPP over a decade ago. Never looked back.

                                                                                                                                                                                                    1. 12

                                                                                                                                                                                                      Too bad XMPP was effectively embraced/extended/extinguished by Google. In no small way thanks to lack of message acknowledgement in the protocol, which translated to lost messages and zombie presence, which was specially bad across servers, so it paid to be in the same server (which became typically google) as the other endpoint.

                                                                                                                                                                                                      I did resist that, but unfortunately most of my contacts were in the Google server, and I got isolated from them when Google cut the cord. Ultimately, I never adopted Google Talk (out of principle), but XMPP has never been the same after that.

                                                                                                                                                                                                      End to end encryption is also optional and not the default, which makes XMPP not much of an improvement over IRC. My hopes are with Matrix taking off, or a truly better (read: fully distributed) replacement like Tox gaining traction.

                                                                                                                                                                                                      1. 5

                                                                                                                                                                                                        Showerthought: decentralised protocols needs to have some kind of antinetwork effects baked into them somehow, where there’s some kind of reward for staying out of the monoculture. I dunno what this actually looks like, though. Feels like the sort of thing some of the blockchain people might have a good answer for.

                                                                                                                                                                                                        1. 7

                                                                                                                                                                                                          That’s a fascinating idea and I disagree. :D Network effects are powerful for good reason: centralization and economies of scale are efficient, both in resources like computer power, and in mental resources like “which the heck IRC network do I start a new channel on anyway”. What you do need is ways to avoid lock-in. If big popular network X starts abusing its power, then the reasonable response is to pick up your stakes and go somewhere else. So, that response needs to be as easy as possible. Low barriers to entry for creating new servers, low barriers to moving servers, low barriers to leaving servers.

                                                                                                                                                                                                          I expect for any human system your going to result in something like Zipf’s law governing the distribution of who goes where; I don’t have a good reason for saying so, it’s just so damn common. Look at the population of Mastodon servers for example (I saw a really good graphic of sizes of servers and connections between them as a graph of interconnected bubbles once, I wish I could find it again). In my mind a healthy distributed community will probably have a handful of major servers/networks/instances, dozens or hundreds of medium-but-still-significant ones, and innumerable tiny ones.

                                                                                                                                                                                                          1. 3

                                                                                                                                                                                                            More and more these days I feel like “efficiency” at a large enough scale is just another way to say “homogeneity”. BBSes and their store-and-forward message networks like FidoNet and RelayNet were certainly less efficient than the present internet, but they were a lot more interesting. Personal webpages at some-isp.com/~whoever might have been less efficient (by whatever metric you choose) than everyone posting on Facebook and Twitter but at least they actually felt personal. Of course I realize to some degree I’m over-romanticizing the past (culturally, BBSes and FidoNet especially, as well as the pre-social-media internet, were a lot more white, male, and cishet than the internet is today; and technologically, I’d gnaw my own arm off to not have to go back to dialup speeds), and having lowered the bar to publish content on the internet has arguably broadened the spectrum of viewpoints that can be expressed, but part of me wonders if the establishment of the internet monoculture we’ve ended up with, where the likes of Facebook basically IS the entire internet to the “average” person, was really necessary to get there.

                                                                                                                                                                                                          2. 3

                                                                                                                                                                                                            I think in a capitalist system this is never going to be enough. What we really need is antitrust enforcement to prevent giant corporations from existing / gobbling up 98% of any kind of user.

                                                                                                                                                                                                        2. 3

                                                                                                                                                                                                          This! Too bad XMPP never really caught on after the explosion of social media, it’s a (near) perfect protocol for real time text-based communication, and then some.

                                                                                                                                                                                                          1. 21

                                                                                                                                                                                                            It didn’t simply “not caught on”, it was deliberately starved by Facebook and Google by disabling federation between their networks and everyone else. There was a brief moment around 2010 when I could talk to all my friends on gTalk and Facebook via an XMPP client, so it did actually work.

                                                                                                                                                                                                            (This was my personal moment when I stopped considering Google to be “not evil”.)

                                                                                                                                                                                                            1. 3

                                                                                                                                                                                                              It was neat to have federatoion with gtalk, but when that died I finally got a bunch of my contacts off Google’s weak xmpp server and onto a better one, and onto better clients, etc. Was a net win for me

                                                                                                                                                                                                              1. 5

                                                                                                                                                                                                                What are “better clients” these days for XMPP? I love the IDEA of XMPP, but I loathe the implementations.

                                                                                                                                                                                                                1. 6

                                                                                                                                                                                                                  Dino, Gajim, Conversations. You may want to select a suitable server from (or check your server via) https://compliance.conversations.im/ for the best UX.

                                                                                                                                                                                                                2. 5

                                                                                                                                                                                                                  I don’t have that much influence over my contacts :-)

                                                                                                                                                                                                                  1. 6

                                                                                                                                                                                                                    This.

                                                                                                                                                                                                                    Network effects win out over the network itself, every time.

                                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                                      I guess neither do I? That’s why it took Google turning off the server to make them switch

                                                                                                                                                                                                                  2. 3

                                                                                                                                                                                                                    IIRC it was Facebook that was a bad actor and started letting the communication go only one way to siphon users from gtalk and forced Google’s hand.

                                                                                                                                                                                                                    1. 5

                                                                                                                                                                                                                      Google was playing with Google+ at that moment and wanted to build a walled garden, which included a chat app(s). They even invented some “technical” reasons why XMPP wasn’t at all workable (after it has been working for them for years.)

                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                        It was weird ever since Android was released. The server could federate with other servers just fine, but Google Talk for Android spoke a proprietary C2S protocol, because the regular XMPP C2S involves keeping a TCP connection perpetually open, and that can’t be done on a smartphone without unacceptable power consumption.

                                                                                                                                                                                                                        I’m not sure that truly counts as a “good” technical reason to abandon S2S XMPP, but it meant that the Google Talk server was now privileged above all other XMPP servers in hard-to-resolve ways. It made S2S federation less relevant, because servers were no longer interchangeable.

                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                          I’m not sure the way GTalk clients talk to their server had anything to do with how the server talked to others. Even if it was, they could’ve treated as a technical problem needed solving rather than an excuse to drop the whole thing.

                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                            Dropping federation was claimed at the time (fully plausibly, imo) to be about spam mitigation. There was certainly a lot of XMPP spam around that time.

                                                                                                                                                                                                                          2. 1

                                                                                                                                                                                                                            I have been using regular XMPP c2s on my phones over mobile data continuously since 2009 when I got my first smartphone. Battery life has never been an issue. I think if you have tonnes of TCPs the batterylife thing can be true, but for one XMPP session the battery impact is a myth

                                                                                                                                                                                                                        2. 3

                                                                                                                                                                                                                          AFAIK Facebook never had federated XMPP, just a slightly working c2s bridge

                                                                                                                                                                                                                          1. 1

                                                                                                                                                                                                                            To make sure my memory wasn’t playing any tricks on me I did a quick google search. It did.

                                                                                                                                                                                                                            To make Facebook Chat available everywhere, we are using the technology Jabber (XMPP), an open messaging protocol supported by most instant messaging software,

                                                                                                                                                                                                                            From: https://www.facebook.com/notes/facebook-app/facebook-chat-now-available-everywhere/297991732130/

                                                                                                                                                                                                                            I don’t remember the move they did on Google to siphon users though, but I remember thinking it was a scummy move.

                                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                                              That link is talking about their c2s bridge. You still needed a Facebook account to use it. It was not federated.

                                                                                                                                                                                                                        3. 2

                                                                                                                                                                                                                          That might be your experience but I’m not sure it’s true for the majority.

                                                                                                                                                                                                                          From my contact list of like 30 people 20 weren’t using GTalk in the first place (and no one use used FB for this, completely separate type of folks) and they all stopped using XMPP independently, not because of anything Google. And yes, there were interop problems with those 5, but overall I see the problem of XMPP’s downfall in popularity kinda orthogonal to Google, not related.

                                                                                                                                                                                                                          1. 3

                                                                                                                                                                                                                            There’s definitely some truth to that, but still, my experience differs greatly. The majority of my contacts used Gtalk back in the day, and once that was off, they simply migrated to more popular, walled garden messaging services. That was the point in time where maintaining my own, self hosted XMPP VPS instance became unjustifiable in terms of the monthly cost and time, simply because there was no one I could talk to anymore.

                                                                                                                                                                                                                        4. 4

                                                                                                                                                                                                                          I often hear this, but I’ve been doing most of my communicating with XMPP continuously for almost 20 years and it just keeps getting better and the community contiues to expand and get work done.

                                                                                                                                                                                                                          When I first got a JabberID the best I could do was use an MSN gateway to chat with some highschool pals from Gaim and have them complain that my text wasn’t in fun colours.

                                                                                                                                                                                                                          Now I can chat with most of my friends and family directly to their JabberIDs because it’s “just one more chat app” to them on their Android phone. I can send and receive text and picture messages with the phone network over XMPP, and just this month started receiving all voice calls to my phone number over XMPP. There are decent clients for every non-Apple platform and lots of exciting ecosystem stuff happening.

                                                                                                                                                                                                                          I think good protocols and free movements are slower because there is so much less money and attention, but there’s also less flash in the pan fad adoption, less being left high and dry by corporate M&A, and over time when the apps you used to compete with are long gone you stand as what is left and still working.

                                                                                                                                                                                                                          1. 4

                                                                                                                                                                                                                            My experience tells me that the biggest obstacle of introducing open and battle-tested protocols to the masses is the insane friction of installing yet another app and opening yet another account. Most people simply can’t be bothered with it.

                                                                                                                                                                                                                            I used to do a lot of fun stuff with XMPP back in the day, just like you did, but nowadays, it’s extremely hard to make non-geek people around me join the bandwagon of pretty much anything outside the usual FAANG mainstream stuff. The concept of open protocols, federation, etc. is a very foreign concept to many ordinary people, for reasons I could never fully grasp.

                                                                                                                                                                                                                            Apparently, no one has ever solved that problem, despite many of them trying so hard.

                                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                                              I don’t really use XMPP, but I know that “just one more chat app” never works with almost everyone in my circle of friends. Unfortunately I still have to use Facebook Messenger to communicate with some people.

                                                                                                                                                                                                                            2. 3

                                                                                                                                                                                                                              When I was building stuff with XMPP, I found it a little difficult to grasp. At its core, it was a very good idea and continues to drive how federation works in the modern world. I’m not sure if this has to do with the fact that it used XML and wasn’t capable of being transmitted using JSON, protobuf, or any other lightweight transport medium. Or whether it had to do with an extensive list of proposals/extensions in various states of completion that made the topology of the protocol almost impossible to visualize. But in my opinion, it’s not a “perfect” protocol by any means. There’s a good (technical) reason why most IM service operators moved away from XMPP after a while.

                                                                                                                                                                                                                              I do wish something would take its place, though.

                                                                                                                                                                                                                              1. 5

                                                                                                                                                                                                                                Meanwhile it takes about a page or two of code to make an IRC bot.

                                                                                                                                                                                                                                1. 4

                                                                                                                                                                                                                                  XMPP has gotten a lot better, to be fair – a few years ago, the situation really was dire in terms of having a set of extensions that enabled halfway decent mobile support.

                                                                                                                                                                                                                                  It isn’t a perfect protocol (XML is a bit outdated nowadays, for one) – but crucially, the thing it has shown itself to be really good at is the extensibility aspect: the core is standardized as a set of IETF RFCs, and there are established ways to extend the core that protocols like IRC and Matrix really lack.

                                                                                                                                                                                                                                  IRC has IRCv3 Capability Negotiation, sure, but that’s still geared toward client-server extensibility — XMPP lets you send blobs of XML to other users (or servers) and have the server just forward them, and provides a set of mechanisms to discover what anything you can talk to supports (XEP-0030 Service Discovery). This means, for example, you can develop A/V calls as a client-to-client feature without the server ever having to care about how they work, since you’re building on top of the standard core features that all servers support.

                                                                                                                                                                                                                                  Matrix seems to be denying the idea that extensibility is required, and think they can get away with having One True Protocol. I don’t necessarily think this is a good long-term solution, but we’ll see…

                                                                                                                                                                                                                                  1. 4

                                                                                                                                                                                                                                    Matrix has the Spec Proposal progress for moving the core spec forward. And it has namespacing (with “m.” reserved as the core prefix, rest should use reverse domain like “rs.lobste.*”) for extension. What do you think is missing?

                                                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                                                      Okay, this may have improved since I last checked; it looks like they at least have the basics of some kind of dynamic feature / capability discovery stuff down.

                                                                                                                                                                                                                                    2. 2

                                                                                                                                                                                                                                      IRCv3 has client-to-client tags which can contain up to 4096 bytes per message of arbitrary data, which can be attached to any message, or be sent as standalone TAGMSG.

                                                                                                                                                                                                                                      This is actually how emoji reactions, thread replies, and stuff like read/delivery notifications are implemented, and some clients already made a prototype using it for handshaking WebRTC calls.

                                                                                                                                                                                                                                      1. 4

                                                                                                                                                                                                                                        Sure. However, message tags are nowhere near ubiquitous; some IRC netadmins / developers even reject the idea that arbitrary client-to-client communication is a good thing (ref).

                                                                                                                                                                                                                                        You can get arbitrary client-to-client communication with ircv3 in some configurations. My point is that XMPP allows it in every configuration; in fact, that’s one of the things that lets you call your implementation XMPP :p

                                                                                                                                                                                                                                      2. 1

                                                                                                                                                                                                                                        I have been using XMPP on mobile without issue since at least 2009

                                                                                                                                                                                                                                  2. 2

                                                                                                                                                                                                                                    How is IRC not federated? It’s transparently federated, unlike XMPP/Email/Matrix/ActivityPub/… that require a (user, server) tuple for identification, but it still doesn’t have a central point of failure or just one network.

                                                                                                                                                                                                                                    1. 3

                                                                                                                                                                                                                                      IRC is not federated because a user is required to have a “nick” on each network they want to participate in. I have identities on at least 4 different disconnected IRC networks.

                                                                                                                                                                                                                                      The IRC server to server protocol that allows networks to scale is very nice, and in an old-internet world of few bad actors having a single global network would have been great. But since we obviously don’t have a single global network, and since the network members cannot communicate with each other, it is not a federated system.

                                                                                                                                                                                                                                      1. 3

                                                                                                                                                                                                                                        Servers in a network federate, true. But it’s not an open federation like email, where anyone can participate in a network by running their own server.

                                                                                                                                                                                                                                    1. 22

                                                                                                                                                                                                                                      If you’re the kind of person who’s willing to put up with a learning curve and a smaller ecosystem of plugins to gain access to a powerful editing model, also consider Kakoune. It’s like Vim, but moreso.

                                                                                                                                                                                                                                      1. 8

                                                                                                                                                                                                                                        I simply can’t go back to Vim after using Kakoune. Feels like a step back to me.

                                                                                                                                                                                                                                        1. 8

                                                                                                                                                                                                                                          I am in the same boat. I think by and large Kakoune is a step up from Vim. That said, it is not emulated in very many other places (it is in vs-code now via dance) – so you do lose the ability to pop into IDE of your choice and have a good experience.

                                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                                            Dance is cool, but there are a lot of little things that does not work the same way and it’s annoying.

                                                                                                                                                                                                                                            When i’m at the beginning of a line and press x, it doesn’t select the line. It selects the line below. If i go forward one character before pressing x, it works.

                                                                                                                                                                                                                                            It’s good enough…

                                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                                              That smells like a bug more than a difference.

                                                                                                                                                                                                                                          2. 1

                                                                                                                                                                                                                                            I wish emacs had a kakoune mode like the evil mode. It would help me pick up emacs finally. Each time I have tried evil, I got stuck in small differences with vim.

                                                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                                                              Unfortunately every emulation of another editor is not the same thing.

                                                                                                                                                                                                                                              I use kakoune to write small programs and scripts, but i have vscode as well. Vscode has a plugin called “dance”, it is a kakoune simulation plugin. It works, but not very much…

                                                                                                                                                                                                                                              The problem is the little things… there is always something that doesn’t really work the same and becomes annoying.

                                                                                                                                                                                                                                          3. 6

                                                                                                                                                                                                                                            How would you say the transition to Kakoune from someone who’s been using vim for awhile is like? I took it for a spin and am very confused, but I can already see things that I like.

                                                                                                                                                                                                                                            1. 6

                                                                                                                                                                                                                                              I switched from vim to kakoune about 6 months ago. I think the majority of the users, including the author himself, came from vim. My strategy was to switch entirely for a week then decide if it was worth committing fully or not. I never went back to vim. Once you get over the initial hurdle of unlearning your vim muscle memory, kakoune is very intuitive to learn, more so than vim in my opinion.

                                                                                                                                                                                                                                              1. 4

                                                                                                                                                                                                                                                Seconding ifreund’s experience, I came to Kakoune after maybe 20 years using Vim and it took me maybe a month for Kakoune to feel comfortable. The biggest hurdles for me were a few commonly-used key-bindings that changed (x in Kakoune is “select the current line”, not “delete the character under the cursor), and that Kakoune is a little bit like that “Snake” game on old Nokia phones: as you’re moving around, you need to be conscious of where the “tail” of your selection is as well as the “head”.

                                                                                                                                                                                                                                                The thing I love most about Kakoune is global search-and-replace. In Vim, I’d often wind up in a cycle of “write a replacement regex, try it, check the document, find a mistake, undo, try again”, which was particularly frustrating when the thing I wanted to select was easy to describe in Vim’s normal mode (like % to select a matched pair of brackets) but difficult to describe in regex. Meanwhile, in Kakoune, I can match a regex across the entire document, producing multiple selections, cycle through them all to check I’ve selected the right things, manually adjust them with normal-mode commands or even drop false-positives, and then do the replacement. It’s more work than the best-case Vim equivalent, but far smoother and more pleasant than the worst-case Vim equivalent.

                                                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                                                  I know you don’t use Vim anymore but for anyone else who has the problem described in the second paragraph: traces.vim offers a live preview that makes searching and replacing easier, if not quite as easy as it seems to be in Kakoune. As you’re typing a :s command, the plugin will highlight the parts of the file or line that would be matched, and it will also show you what they would be replaced with. It’s pretty magical.

                                                                                                                                                                                                                                              2. 3

                                                                                                                                                                                                                                                I really want to, but the hidden benefit of Vim keybindings is they translate to other programs too (I assume Vim people are just very militant and force devs to support them ;) ) so I can use IntelliJ or Emacs or even a web-based IDE and have access to those bindings. If I changed muscle memory to Kakoune, I’m going to be in trouble for hopping between programs.

                                                                                                                                                                                                                                                1. 3

                                                                                                                                                                                                                                                  powerful editing model

                                                                                                                                                                                                                                                  Can someone pitch to me, the established emacs user, what the benefits of Kakoune are? I have multiple cursors package enabled, plus helm and swoop (intra file fuzzy matching), but I presume Kakoune presents more benefits.

                                                                                                                                                                                                                                                  1. 8

                                                                                                                                                                                                                                                    EDIT: This explains it better https://kakoune.org/why-kakoune/why-kakoune.html


                                                                                                                                                                                                                                                    Disclaimer: I’ve used Emacs for fewer than 10 hours in my life. I remember very little.

                                                                                                                                                                                                                                                    The last time I looked into it, the big difference that Kakoune brings to the table is that nouns come before verbs. This feels minor but in practice it makes discoverability so much easier because you’re deciding which text to act upon before doing an action.

                                                                                                                                                                                                                                                    For example, in Vim if you want to delete three words you type d3w, and if you realize that you meant to delete 2 words then you have to undo and try again. Kakoune lets you make your selection first, highlighting as you go, and makes it easy to change your selection before taking an action. It’s also constantly auto-completing with all of the possible commands you might want to make, which is much simpler than reading through a manual.

                                                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                                                      Not having used the Emacs multiple cursors package (or Emacs at all, really) it’s hard for me to say what the advantages of Kakoune’s editing model might be. If I had to guess, though, I suspect the biggest difference would be that since the Emacs core is only built for single selections, most Emacs functionality (including third-party extensions, etc.) only works with single selections, except for the things that the multiple cursors package specifically modifies. Meanwhile, all of Kakoune’s standard features and third-party extensions deal with multiple selections, so you don’t need a mental model of how single-selection features interact with multiple-selection data.

                                                                                                                                                                                                                                                      I don’t know how complete Emacs’ multiple cursors package is, but I expect it has all the same kinds of cursor interactions as Kakoune, like selecting substrings of the selection that match a regex, splitting the selection on a regex, dropping selections that do/do not match a regex, dropping selections interactively, rotating content through selections, etc. If not, that might be another reason to try Kakoune!

                                                                                                                                                                                                                                                  1. 7

                                                                                                                                                                                                                                                    https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines but seriously, I don’t see this taking off. Open source OSs can take on Microsoft with enough coders because it’s just software - hardware is a very different business. I wish it could happen, but it’s very doubtful IMHO.

                                                                                                                                                                                                                                                    1. 32

                                                                                                                                                                                                                                                      Depends on what you mean by ‘taking off’. RISC-V has successfully killed a load of in-house ISAs (and good riddance!). For small control-plane processors, you don’t care about performance or anything else much, you just want a cheap Turing-complete processor with a reasonably competent C compiler. If you don’t have to implement the C compiler, that’s a big cost saving. RISC-V makes a lot of sense for things like the nVidia control cores (which exist to set up the GPU cores and do management things that aren’t on the critical path for performance). It makes a lot of sense for WD to use instead of ARM for the controllers on their SSDs: the ARM license costs matter in a market with razor-thin margins, power and performance are dominated by the flash chips, and they don’t need any ecosystem support beyond a bare-metal C toolchain.

                                                                                                                                                                                                                                                      The important lesson for RISC-V is why MIPS died. MIPS was not intended as an open ISA, but it was a de-facto one. Aside from LWL / LWR, everything in the ISA was out of patent. Anyone could implement an almost-MIPS core (and GCC could target MIPS-without-those-two-instructions) and many people did. Three things killed it in the market:

                                                                                                                                                                                                                                                      First, fragmentation. This also terrifies ARM. Back in the PDA days, ARM handed out licenses that allowed people to extend the ISA. Intel’s XScale series added a floating-point extension called Wireless MMX that was incompatible with the ARM floating point extension. This cost a huge amount for software maintenance. Linux, GCC, and so on had to have different code paths for Intel vs non-Intel ARM cores. It doesn’t actually matter which one was better, the fact both existed prevented Linux from moving to a hard-float ABI for userland for a long time: the calling convention passed floating-point values in integer registers, so code could either call a soft-float library or be compiled for one or the other floating-point extensions and still interop with other libraries that were portable across both. There are a few other examples, but that’s the most painful one for ARM. In contrast, every MIPS vendor extended the ISA in incompatible ways. The baseline for 64-bit MIPS is still often MIPS III (circa 1991) because it’s the only ISA that all modern 64-bit MIPS processors can be expected to handle. Vendor extensions only get used in embedded products. RISC-V has some very exciting fragmentation already, with both a weak memory model and TSO: the theory is that TSO will be used for systems that want x86 compatibility, the weak model for things that don’t, but code compiled for the TSO cores is not correct on weak cores. There are ELF header flags reserved to indicate which is which, but it’s easy to compile code for the weak model, test it on a TSO core, see it work, and have it fail in subtle ways on a weak core. That’s going to cause massive headaches in the future, unless all vendors shipping cores that run a general-purpose OS go with TSO.

                                                                                                                                                                                                                                                      Second, a modern ISA is big. Vector instructions, bit-manipulation instructions, virtualisation extensions, two-pointer atomic operations (needed for efficient RCU and a few other lockless data structures) and so on. Dense encoding is really important for performance (i-cache usage). RISC-V burned almost all of their 32-bit instruction space in the core ISA. It’s quite astonishing how much encoding space they’ve managed to consume with so few instructions. The C extension consumes all of the 16-bit encoding space and is severely over-fitted to the output of an unoptimised GCC on a small corpus of C code. At the moment, every vendor is trampling over all of the other vendors in the last remaining bits of the 32-bit encoding space. RISC-V really should have had a 48-bit load-64-bit-immediate instruction in the core spec to force everyone to implement support for 48-bit instructions, but at the moment no one uses the 48-bit space and infrequently used instructions are still consuming expensive 32-bit real-estate.

                                                                                                                                                                                                                                                      Third, the ISA is not the end of the story. There’s a load of other stuff (interrupt controllers, DMA engines, management interfaces, and so on) that need to be standardised before you can have a general-purpose compute platform. Porting an OS to a new ARM SoC used to be a huge amount of effort because of this. It’s now a lot easier because ARM has standardised a lot of this. x86 had some major benefits from Compaq copying IBM: every PC had a compatible bootloader that provided device enumeration and some basic device interfaces. You could write an OS that would access a disk, read from a keyboard, and write text to a display for a PC that would run on any PC (except the weird PC98 machines from Japan). After early boot, you’d typically stop doing BIOS thunks and do proper PCI device numeration and load real drivers, but that baseline made it easy to produce boot images that ran on all hardware. The RISC-V project is starting to standardise this stuff but it hasn’t been a priority. MIPS never standardised any of it.

                                                                                                                                                                                                                                                      The RISC-V project has had a weird mix from the start of explicitly saying that it’s not a research project and wants to be simple and also depending on research ideas. The core ISA is a fairly mediocre mid-90s ISA. Its fine, but turning it into something that’s competitive with modern x86 or AArch64 is a huge amount of work. Some of those early design decisions are going to need to either be revisited (breaking compatibility) or are going to incur technical debt. The first RISC-V spec was frozen far too early, with timelines largely driven by PhD students needing to graduate rather than the specs actually being in a good state. Krste is a very strong believer in micro-op fusion as a solution to a great many problems, but if every RISC-V core needs to be able to identify 2-3 instruction patterns and fuse them into a single micro-op to do operations that are a single instruction on other ISAs, that’s a lot of power and i-cache being consumed just to reach parity. There’s a lot of premature optimisation (e.g. instruction layouts that simplify decoding on an in-order core) that hurt other things (e.g. use more encoding space than necessary), where the saving is small and the cost will become increasingly large as the ISA matures.

                                                                                                                                                                                                                                                      AArch64 is a pretty well-designed instruction set that learns a lot of lessons from AArch32 and other competing ISAs. RISC-V is very close to MIPS III at the core. The extensions are somewhat better, but they’re squeezed into the tiny amount of left-over encoding space. The value of an ecosystem with no fragmentation is huge. For RISC-V to succeed, it needs to get a load of the important extensions standardised quickly, define and standardise the platform specs (underway, but slow, and without enough of the people who actually understand the problem space contributing, not helped by the fact that the RISC-V Foundation is set up to discourage contributions), and get software vendors to agree on those baselines. The problem is that, for a silicon vendor, one big reason to pick RISC-V over ARM is the ability to differentiate your cores by adding custom instructions. Every RISC-V vendor’s incentives are therefore diametrically opposed to the goals of the ecosystem as a whole.

                                                                                                                                                                                                                                                      1. 4

                                                                                                                                                                                                                                                        Thanks for this well laid out response.

                                                                                                                                                                                                                                                        The problem is that, for a silicon vendor, one big reason to pick RISC-V over ARM is the ability to differentiate your cores by adding custom instructions. Every RISC-V vendor’s incentives are therefore diametrically opposed to the goals of the ecosystem as a whole.

                                                                                                                                                                                                                                                        This is part of what makes me skidish, as well. I almost prefer the ARM model to keep a lid on fragmentation than RISC-V’s “linux distro” model. But also, deep down, if we manage to create the tooling for binaries to adapt to something like this and have a form of Universal Binary that progressively enhances with present CPUIDs, that would make for an exciting space.

                                                                                                                                                                                                                                                        1. 6

                                                                                                                                                                                                                                                          But also, deep down, if we manage to create the tooling for binaries to adapt to something like this and have a form of Universal Binary that progressively enhances with present CPUIDs, that would make for an exciting space.

                                                                                                                                                                                                                                                          Apple has been pretty successful at this, encouraging developers to distribute LLVM IR so that they can do whatever microarchitectural tweaks they want for any given device. Linux distros could do something similar if they weren’t so wedded to GCC and FreeBSD could if they had more contributors.

                                                                                                                                                                                                                                                          You can’t do it with one-time compilation very efficiently because each vendor has a different set of extensions, so it’s a combinatorial problem. The x86 world is simpler because Intel and AMD almost monotonically add features. Generation N+1 of Intel CPUs typically supports a superset of generation N’s features (unless they completely drop something and are never bringing it back, such as MPX) and AMD is the same. Both also tend to adopt popular features from the other, so you have a baseline that moves forwards. That may eventually happen with RISC-V but the scarcity of efficient encoding space makes it difficult.

                                                                                                                                                                                                                                                          On the other hand, if we enter Google’s dystopia, the only AoT-compiled code will be Chrome and everything else will be JavaScript and WebAssembly, so your JIT can tailor execution for whatever combination of features your CPU happens to have.

                                                                                                                                                                                                                                                          1. 1

                                                                                                                                                                                                                                                            Ultimately, vendor extensions are just extensions. Suppose a CPU is RV64GC+proprietary extensions, what this means is that RV64GC code would still work on it.

                                                                                                                                                                                                                                                            This is much, much better than the alternative (vendor-specific instructions implemented without extensions).

                                                                                                                                                                                                                                                          2. 2

                                                                                                                                                                                                                                                            Vendor extensions only get used in embedded products. RISC-V has some very exciting fragmentation already, with both a weak memory model and TSO: the theory is that TSO will be used for systems that want x86 compatibility, the weak model for things that don’t, but code compiled for the TSO cores is not correct on weak cores. There are ELF header flags reserved to indicate which is which, but it’s easy to compile code for the weak model, test it on a TSO core, see it work, and have it fail in subtle ways on a weak core. That’s going to cause massive headaches in the future, unless all vendors shipping cores that run a general-purpose OS go with TSO.

                                                                                                                                                                                                                                                            I don’t understand why they added TSO in the first place.

                                                                                                                                                                                                                                                            Third, the ISA is not the end of the story. There’s a load of other stuff (interrupt controllers, DMA engines, management interfaces, and so on) that need to be standardised before you can have a general-purpose compute platform. Porting an OS to a new ARM SoC used to be a huge amount of effort because of this. It’s now a lot easier because ARM has standardised a lot of this. x86 had some major benefits from Compaq copying IBM: every PC had a compatible bootloader that provided device enumeration and some basic device interfaces. You could write an OS that would access a disk, read from a keyboard, and write text to a display for a PC that would run on any PC (except the weird PC98 machines from Japan). After early boot, you’d typically stop doing BIOS thunks and do proper PCI device numeration and load real drivers, but that baseline made it easy to produce boot images that ran on all hardware. The RISC-V project is starting to standardise this stuff but it hasn’t been a priority. MIPS never standardised any of it.

                                                                                                                                                                                                                                                            Yeah this part bothers me a lot. It looks like a lot of the standardization effort is just whatever OpenRocket does, but almost every RISC-V cpu on the market right now has completely different peripherals outside of interrupt controllers. Further, there’s no standard way to query the hardware, so creating generic kernels like what is done for x86 is effectively impossible. I hear there’s some work on ACPI which could help.

                                                                                                                                                                                                                                                            1. 7

                                                                                                                                                                                                                                                              I don’t understand why they added TSO in the first place.

                                                                                                                                                                                                                                                              Emulating x86 on weakly ordered hardware is really hard. Several companies have x86-on-ARM emulators. They either only work with a single core, insert far more fences than are actually required, or fail subtly on concurrent data structures. It turns out that after 20+ years of people trying to implement TSO efficiently, there are some pretty good techniques that don’t sacrifice much performance relative to software that correctly inserts the fences and perform a lot better on the software a lot of people write where they defensively insert too many fences because it’s easier than understanding the C++11 memory model.

                                                                                                                                                                                                                                                              Yeah this part bothers me a lot. It looks like a lot of the standardization effort is just whatever OpenRocket does, but almost every RISC-V cpu on the market right now has completely different peripherals outside of interrupt controllers. Further, there’s no standard way to query the hardware, so creating generic kernels like what is done for x86 is effectively impossible. I hear there’s some work on ACPI which could help.

                                                                                                                                                                                                                                                              Initially they proposed their own thing that was kind-of like FDT but different, because Berkeley. Eventually they were persuaded to use FDT for embedded things and something else (probably ACPI) for more general-purpose systems.

                                                                                                                                                                                                                                                              The weird thing is that Krste really understands the value of an interoperable ecosystem. He estimates the cost of building it at around $1bn (ARM thinks he’s off by a factor of two, but either way it’s an amount that the big four tech companies could easily spend if it were worthwhile). Unfortunately, the people involved with the project early were far more interested in getting VC money than in trying to build an open ecosystem (and none of them really had any experience with building open source communities and refused help from people who did).

                                                                                                                                                                                                                                                              1. 2

                                                                                                                                                                                                                                                                Are the Apple and Microsoft emulators on the “far more fences than are actually required” side? They don’t seem to have many failures..

                                                                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                                                                  I don’t know anything about the Apple emulator and since it runs only on Apple hardware, it’s entirely possible that either Apple’s ARM cores are TSO or have a TSO mode (TSO is strictly more strongly ordered than the ARM memory model, so it’s entirely conformant to be TSO). I can’t share details of the Microsoft one but you can probably dump its output and look.

                                                                                                                                                                                                                                                              2. 2

                                                                                                                                                                                                                                                                there’s no standard way to query the hardware, so creating generic kernels like what is done for x86 is effectively impossible

                                                                                                                                                                                                                                                                Well, device trees (FDT) solve the “generic kernel” problem specifically, but it all still sucks. Everything is so much better when everyone has standardized most peripherals.

                                                                                                                                                                                                                                                                1. 1

                                                                                                                                                                                                                                                                  That’s the best solution, but you still have to have the bootloader pass in a device tree, and that device tree won’t get updated at the same cadence as the kernel does (so it may take a while if someone finds a bug in a device tree).

                                                                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                                                                    For most devices it’s the kernel that maintains the device tree. FDT is not really designed for a stable description, it changes with the kernel’s interface.

                                                                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                                                                      FDT is not specific to a kernel. The same FDT blobs work with FreeBSD and Linux, typically. It’s just a description of the devices and their locations in memory. It doesn’t need to change unless the hardware changes and if you’re on anything that’s not deeply embedded it’s often shipped with U-Boot or similar and provided to the kernel. The kernel then uses it to find any devices it needs in early boot or which are attached to the core via interface that don’t support dynamic enumeration (e.g. you would put the PCIe root complex in FDT but everything on the bus is enumerated via the bus).

                                                                                                                                                                                                                                                                      The reason for a lot of churn recently has been the addition of overlays to the FDT spec. These allow things that are equivalent to option roms to patch the root platform’s FDT so you can use FDT for expansions connected via ad-hoc non-enumerable interfaces.

                                                                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                                                                        It doesn’t need to change.. but Linux developers sometimes like to find “better” ways of describing everything, renaming stuff, etc. To be fair in 5.x this didn’t really happen all that much.

                                                                                                                                                                                                                                                                        And of course it’s much worse if non-mainline kernels are introduced. If there’s been an FDT for a vendor kernel that shipped with the device, and later drivers got mainlined, the mainlined drivers often expect different properties completely because Linux reviewers don’t like vendor ways of doing things, and now you need very different FDT..

                                                                                                                                                                                                                                                                        The reason for a lot of churn recently has been the addition of overlays to the FDT spec

                                                                                                                                                                                                                                                                        That’s not that recent?? Overlays are from like 2017..

                                                                                                                                                                                                                                                                2. 1

                                                                                                                                                                                                                                                                  Further, there’s no standard way to query the hardware, so creating generic kernels like what is done for x86 is effectively impossible. I hear there’s some work on ACPI which could help.

                                                                                                                                                                                                                                                                  There’s apparently serious effort put into UEFI.

                                                                                                                                                                                                                                                                  With rpi4 uefi boot, FDT isn’t used. I suppose UEFI itself has facilities to make FDT redundant.

                                                                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                                                                    With RPi4-UEFI, you have a choice between ACPI and FDT in the setup menu.

                                                                                                                                                                                                                                                                    It’s pretty clever what they did with ACPI: the firmware fully configures the PCIe controller by itself and presents a generic XHCI device in the DSDT as if it was just a directly embedded non-PCIe memory-mapped XHCI.

                                                                                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                                                                                      I have to ask, what is the benefit of special casing the usb3 controller?

                                                                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                                                                        The OS does not need to have a driver for the special Broadcom PCIe host controller.

                                                                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                                                                          How is the Ethernet handled?

                                                                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                                                                            Just as a custom device, how else? :)

                                                                                                                                                                                                                                                                            Actually it’s kinda sad that there’s no standardized Ethernet “host controller interface” still… (other than some USB things)

                                                                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                                                                              Oh. So Ethernet it’s not on PCIe to begin with, then. Only XHCI. I see.

                                                                                                                                                                                                                                                                3. 2

                                                                                                                                                                                                                                                                  This doesn’t paint a very good picture of RISC-V, IMHO. It’s like some parody of worse-is-better design philosophy, combined with basically ignoring all research in CPU design since 1991 for a core that’s easy to make an educational implementation for that makes the job of compiler authors and implementers harder. Of course, it’s being peddled by GNU zealots and RISC revanchists, but it won’t benefit the things they want; instead, it’ll benefit vanity nationalist CPU designs (that no one will use except the GNU zealots; see Loongson) and deeply fragmented deep embedded (where software freedom and ISA doesn’t matter other than shaving licensing fees off).

                                                                                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                                                                                    Ignoring the parent and focusing on hard data instead, RV64GC has higher code density than ARM, x86 and even MIPS16, so the encoding they chose isn’t exactly bad, objectively speaking.

                                                                                                                                                                                                                                                                    1. 8

                                                                                                                                                                                                                                                                      Note that Andrew’s dissertation is using integer-heavy, single-threaded, C code as the evaluation and even then, RISC-V does worse than Thumb-2 (see Figure 8 of the linked dissertation). Once you add atomics, higher-level languages, or vector instructions, you see a different story. For example, RISC-V made an early decision to make the offset of loads and stores scaled with the size of the memory value. Unfortunately, a lot of dynamic languages set one of the low bits to differentiate between a pointer and a boxed value. They then use a complex addressing mode to combine the subtraction of one with the addition of the field offset for field addressing. With RISC-V, this requires two instructions. You won’t see that pattern in pure C code anywhere but you’ll see it all over the place in dynamic language interpreters and JITs.

                                                                                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                                                                                        I think there was another example of something far more basic that takes two instructions on RISC-V for no good reason, just because of their obsession with minimal instructions. Something return related?? Of course I lost the link to that post >_<

                                                                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                                                                          Interesting. There’s work on an extension to help interpreters, JITs, which might or might not help mitigate this.

                                                                                                                                                                                                                                                                          In any event, it is far from ready.

                                                                                                                                                                                                                                                                          1. 7

                                                                                                                                                                                                                                                                            I was the chair of that working group but I stepped down because I was unhappy with the way the Foundation was being run.

                                                                                                                                                                                                                                                                            The others involved are producing some interesting proposals though a depressing amount of it is trying to fix fundamentally bad design decisions in the core spec. For example, the i-cache is not coherent with respect to the d-cache on RISC-V. That means you need explicit sync instructions after every modification to a code page. The hardware cost of making them coherent is small (i-cache lines need to participate in cache coherency, but they can only ever be in shared state, so the cache doesn’t have to do much. If you have an inclusive L2, then the logic can all live in L2) but the overheads from not doing it are surprisingly high. SPARC changed this choice because the overhead on process creating from the run-time linker having to do i-cache invalidates on every mapped page were huge. Worse, RISC-V’s i-cache invalidate instruction is local to the current core. That means that you actually need to do a syscall, which does an IPI to all cores, which then invalidates the i-cache. That’s insanely expensive but the initial measurements were from C code on a port of Linux that didn’t do the invalidates (and didn’t break because the i-cache was so small you were never seeing the stale entries).

                                                                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                                                                              L1$ not coherent

                                                                                                                                                                                                                                                                              Christ. How did that go anywhere?

                                                                                                                                                                                                                                                                              1. 7

                                                                                                                                                                                                                                                                                No one who had worked on an non-toy OS or compiler was involved in any of the design work until all of the big announcements had been made and the spec was close to final. The Foundation was set up so that it was difficult for any individuals to contribute (that’s slowly changing) - you had to pay $99 or ask for the fee to be waived to give feedback on the specs as an individual. You had to pay more to provide feedback as a corporation and no corporation was going to pay thousands of dollars membership and the salaries of their contributors to provide feedback unless they were pretty confident that they were going to use RISC-V.

                                                                                                                                                                                                                                                                                It probably shouldn’t come as a surprise that saying to people ‘we need your expertise, please pay us money so that you can provide it’ didn’t lead to a huge influx of expert contributors. There were a few, but not enough.

                                                                                                                                                                                                                                                                  2. 7

                                                                                                                                                                                                                                                                    Keep in mind an ISA isn’t hardware, it’s just a specification.

                                                                                                                                                                                                                                                                    1. 6

                                                                                                                                                                                                                                                                      That ties into my point - RISC-V is kinda useless without fabbing potential. And that’s insanely expensive, which means the risk involved is too high to take on established players.

                                                                                                                                                                                                                                                                      1. 9

                                                                                                                                                                                                                                                                        According to the article, it seems that Samsung, Western Digital, NVIDIA, and Qualcomm don’t think the risk is too high, since they plan to use RISC-V. They have plenty of money to throw at any problems, such as inadequate fabbing potential. Hobbyists may benefit from RISC-V, but (like Linux) it’s not just for hobbyists.

                                                                                                                                                                                                                                                                        1. 9

                                                                                                                                                                                                                                                                          According to the article, it seems that Samsung, Western Digital, NVIDIA, and Qualcomm don’t think the risk is too high, since they plan to use RISC-V.

                                                                                                                                                                                                                                                                          I think it is more accurate they plan to use the threat of RISC-V to improve negotiating position, use it in some corner cases and as a last ditch hedge. Tizen is a prime example of such a product.

                                                                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                                                                            I think it is more accurate they plan to use the threat of RISC-V to improve negotiating position, use it in some corner cases and as a last ditch hedge.

                                                                                                                                                                                                                                                                            Yet WD and NVIDIA designed their own RISC-V cores. Isn’t it a bit too much for “insurance”?

                                                                                                                                                                                                                                                                            The fact here is that they do custom silicon and need CPUs in them for a variety of purposes. Until now, they paid the ARM tax. From now on, they don’t have to, because they can and do just use RISC-V.

                                                                                                                                                                                                                                                                            I’m appalled at how grossly the impact of RISC-V is being underestimated.

                                                                                                                                                                                                                                                                            1. 4

                                                                                                                                                                                                                                                                              Yet WD and NVIDIA designed their own RISC-V cores. Isn’t it a bit too much for “insurance”?

                                                                                                                                                                                                                                                                              I don’t think so – it isn’t purely insurance, it is negotiating power. The power can be worth tens (even hundreds) of millions for companies at the scale of WD and NVIDIA. Furthermore they didn’t have to develop FABs for the first time, both have existing manufacturing prowess and locations. I think it is a rather straightforward ROI based business decision.

                                                                                                                                                                                                                                                                              The fact here is that they do custom silicon and need CPUs in them for a variety of purposes. Until now, they paid the ARM tax. From now on, they don’t have to, because they can and do just use RISC-V.

                                                                                                                                                                                                                                                                              They will use this to lower the ARM tax without actually pulling the trigger on going with something as different as RISC-V (except on a few low yield products to prove they can do it, see Tizen and Samsung’s strategy).

                                                                                                                                                                                                                                                                              I’m appalled at how grossly the impact of RISC-V is being underestimated.

                                                                                                                                                                                                                                                                              Time will tell, but I think that RISC-V only become viable if Apple buys and snuffs out new customers of ARM, only maintaining existing contracts.

                                                                                                                                                                                                                                                                              1. 1

                                                                                                                                                                                                                                                                                I don’t think so – it isn’t purely insurance, it is negotiating power.

                                                                                                                                                                                                                                                                                Do you think they have any reason left to license ARM, when they clearly can do without?

                                                                                                                                                                                                                                                                                Time will tell, but I think that RISC-V only become viable if Apple buys and snuffs out new customers of ARM, only maintaining existing contracts.

                                                                                                                                                                                                                                                                                I see too much industry support behind RISC-V at this point. V extension will be quite the spark, so we’ll see how it plays out after that. All it’ll take is one successful high performance commercial implementation.

                                                                                                                                                                                                                                                                                1. 3

                                                                                                                                                                                                                                                                                  Do you think they have any reason left to license ARM, when they clearly can do without?

                                                                                                                                                                                                                                                                                  I think you are underestimating the cost of rebuilding an entire ecosystem. I have run in production ThunderX arm64 servers – and ARM has massive support behind it and we still fell into weird issues, niches and problems. Our task was fantastic fit (large-scale OCR) and it still was tough setup and in the end due to poor optimizations and other support issues – it probably wasn’t worth it.

                                                                                                                                                                                                                                                                                  I see too much industry support behind RISC-V at this point. V extension will be quite the spark, so we’ll see how it plays out after that. All it’ll take is one successful high performance commercial implementation.

                                                                                                                                                                                                                                                                                  Well – I think it actually takes a marketplace of commercial implementations so that selecting RISK-V isn’t single-vendor lockin forever, but I take your meaning.

                                                                                                                                                                                                                                                                          2. 3

                                                                                                                                                                                                                                                                            As I said up top, I hope this really happens. But I’m not super confident it’ll ever be something we can use to replace our AMD/Intel CPUs. If it just wipes out the current microcontroller and small CPU space that’s good too, since those companies don’t usually have good tooling anyway.

                                                                                                                                                                                                                                                                            I just think features-wise it’ll be hard to beat the current players.

                                                                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                                                                              I just think features-wise it’ll be hard to beat the current players.

                                                                                                                                                                                                                                                                              Can you elaborate on this point?

                                                                                                                                                                                                                                                                              What are the features? Who are the current players?

                                                                                                                                                                                                                                                                              1. 4

                                                                                                                                                                                                                                                                                Current players are AMD64 and ARM64. Features lacking in RV64 include vector extension.

                                                                                                                                                                                                                                                                                1. 4

                                                                                                                                                                                                                                                                                  I notice you’re not the author of the parent post. Still,

                                                                                                                                                                                                                                                                                  Features lacking in RV64 include vector extension.

                                                                                                                                                                                                                                                                                  V extension is due to be active standard by September if all is well. This is practically like saying “tomorrow”, from a ISA timeline perspective. To put it into context, RISC-V was introduced in year 2010.

                                                                                                                                                                                                                                                                                  Bit manipulation (B) is also close to active standard, and also pretty important.

                                                                                                                                                                                                                                                                                  With these extensions out of the way, and software support where it is today, I see no features stopping low power, high performance implementations appearing and getting into smartphones and such.

                                                                                                                                                                                                                                                                                  AMD64 and ARM64.

                                                                                                                                                                                                                                                                                  The amd64 ISA is CISC legacy. Popular or not, it’s long overdue replacement.

                                                                                                                                                                                                                                                                                  ARM64 isn’t a thing. You might have meant aarch64 or armv8.

                                                                                                                                                                                                                                                                                  I’m particularly interested whether the parent meant ISAs or some company names regarding current players.

                                                                                                                                                                                                                                                                                  1. 4

                                                                                                                                                                                                                                                                                    ARM64 isn’t a thing. You might have meant aarch64 or armv8.

                                                                                                                                                                                                                                                                                    The naming is a disaster :/ armv8 doesn’t specifically mean 64-bit because there’s technically an armv8 aarch32, and aarch64/32 is just an awful name that most people don’t want to say out loud. So even ARM employees are okay with the unofficial “arm64” name.


                                                                                                                                                                                                                                                                                    Another player is IBM with OpenPOWER.. Relatively fringe compared to ARM64 (which the Bezos “Cloud” Empire is all-in on, yay) but hey, there is a supercomputer and some very expensive workstations for open source and privacy enthusiasts :) and all the businesses buying IBM’s machines that we don’t know much about. That’s much more than desktop/server-class RISC-V… and they made the POWER ISA royalty-free too now I think.

                                                                                                                                                                                                                                                                                    1. 6

                                                                                                                                                                                                                                                                                      The naming is a disaster :/ armv8 doesn’t specifically mean 64-bit because there’s technically an armv8 aarch32

                                                                                                                                                                                                                                                                                      Amusingly, the first version of the ARMv8 spec made both AArch32 and AArch64 optional. I implemented a complete 100% standards-compliant soft core based on that version of the spec. They later clarified it so that you had to implement at least one out of AArch32 and AArch64.

                                                                                                                                                                                                                                                                                      1. 4

                                                                                                                                                                                                                                                                                        SPARC is also completely open. Yes, POWER is open now, but I don’t see why it would fare better than SPARC.

                                                                                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                                                                                          In terms of diversity of core designers and chip makers, maybe not. But POWER generally just as an ISA is doing much better. IBM clearly cares about making new powerful chips and is cultivating a community around open firmware.

                                                                                                                                                                                                                                                                                          Who cares about SPARC anymore? Seems like for Oracle it’s kind of a liability. And Fujitsu, probably the most serious SPARC company as of late, is on ARM now.

                                                                                                                                                                                                                                                                                    2. 1

                                                                                                                                                                                                                                                                                      Current players are AMD64 and ARM64

                                                                                                                                                                                                                                                                                      And ARM32/MIPS/AVR/SuperH/pick your favorite embedded ISA. The first real disruption brought by RISC-V will be in microcontrollers and in ASICs. With RISC-V you aren’t tied to one’s board/chip to a single company (Like ARM Holdings, MIPS Technologies, Renesas, etc.). If they go under/decide to get out of the uC market/slash their engineering budgets/start charging double you can always license from another vendor (or roll your own core). In addition, the tooling for RISC-V is getting good fairly fast and is mostly open source. You don’t have to use the vendor’s closed-source C compiler, or be locked into their RTOS.

                                                                                                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                                                                                                        The first real disruption

                                                                                                                                                                                                                                                                                        Indeed. The second wave is going to start soon, triggered by stable status of the V and B extensions.

                                                                                                                                                                                                                                                                                        This will enable Qualcomm and friends to release smartphone-tier SoCs with RISC-V CPUs in them.

                                                                                                                                                                                                                                                                              2. 6

                                                                                                                                                                                                                                                                                Yes fab is expensive, but SiFive is a startup, it still managed to fab RISC-V chips that can run Linux desktop. I don’t think there is need to be too pessimistic.

                                                                                                                                                                                                                                                                                1. 4

                                                                                                                                                                                                                                                                                  The economics are quite interesting here. Fabs are quite cheap if you are a brand-new startup or a large established player. They give big discounts to small companies that have the potential to grow into large customers (because if you get them early then they end up at least weakly tied into a particular cell library and you have a big long-term revenue stream). They give good prices to big customers, because they amortise the setup costs over a large number of wafers. For companies in the middle, the prices are pretty bad. SiFive is currently getting the steeply discounted rate. It will be interesting to see what happens as they grow.

                                                                                                                                                                                                                                                                                2. 5

                                                                                                                                                                                                                                                                                  RISC-V is kinda useless without fabbing potential.

                                                                                                                                                                                                                                                                                  RISC-V foundation have no interest on fabbing themselves.

                                                                                                                                                                                                                                                                                  And that’s insanely expensive, which means the risk involved is too high to take on established players.

                                                                                                                                                                                                                                                                                  Several chips with CPU in them based on RISC-V have been fabricated. Some are already shipped as components in other products. Some of these chips are available on sale.

                                                                                                                                                                                                                                                                                  RISC-V’s got significant industry backing.

                                                                                                                                                                                                                                                                                  Refer to: https://riscv.org/membership/

                                                                                                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                                                                                                    There’s a number of companies that provide design and fabbing services or at least help you realize that.

                                                                                                                                                                                                                                                                                    The model is similar to e.g. SOLR, where the core is an open source implementation, but enterprise services are actually provided by a number of companies.

                                                                                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                                                                                      With ARM on the market, RISC-V has to be on a lot of people’s minds; specifically, those folks that are already licensing ARM’s ISA, and producing chips…

                                                                                                                                                                                                                                                                                  2. 3

                                                                                                                                                                                                                                                                                    Open source OSs can take on Microsoft with enough coders because it’s just software

                                                                                                                                                                                                                                                                                    Yet we haven’t seen that happening either. In general, creating a product that people love require a bit more than opensource software. It requires vision, deep understanding of humans and rock solid implementation. This usually means the cathedral approach that is exactly the opposite of FOSS approach.

                                                                                                                                                                                                                                                                                    1. 5

                                                                                                                                                                                                                                                                                      Maybe not for everyone on the market, but I’ve been using Linux exclusively for over 10 years now, and I’m not the only one. Also, for some purposes (smartphones, servers, SBCs, a few others) Linux is almost the only choice.

                                                                                                                                                                                                                                                                                      1. 3

                                                                                                                                                                                                                                                                                        You are absolutely in the minority though in terms of desktop computing. The vast majority of people can barely get their hand held through Mac OS, much less figuring out wtf is wrong with their graphics drivers or figuring out why XOrg has shit out on them for the 3rd time that week, or any number of problems that can (and do) crop up when using Linux on the desktop. Android, while technically Linux, doesn’t really count IMO because it’s almost entirely driven by the vision, money, and engineers of a single company that uses it as an ancillary to their products.

                                                                                                                                                                                                                                                                                        1. 6

                                                                                                                                                                                                                                                                                          That’s a bit of a stereotype - I haven’t edited an Xorg conf file in a very long time. It’s my daily driver so stability is a precondition. My grandma runs Ubuntu and it’s fine for what she needs.

                                                                                                                                                                                                                                                                                          1. 3

                                                                                                                                                                                                                                                                                            Not XOrg files anymore, maybe monitors.xml, maybe it’s xrandr, whatever. I personally just spent 4+ hours trying to get my monitor + graphics setup to behave properly with my laptop just last week. Once it works, it tends to keep working (though not always, it’s already broken on me once this week for seemingly no reason) unless you change monitor configuration or it forgets your config for some reason, but getting it to work in the first place is a massive headache depending on the hardware. Per-monitor DPI scaling is virtually impossible on XOrg, and Wayland is still a buggy mess with limited support. Things get considerably more complex with a HiDPI, multi-head setup, which are things that just work on Windows or Mac OS.

                                                                                                                                                                                                                                                                                            The graphics ecosystem for Linux is an absolute joke too. That being said, my own mother runs Ubuntu on a computer that I built and set up, it’s been relatively stable since I put in the time to get it working in the first place.

                                                                                                                                                                                                                                                                                      2. 2

                                                                                                                                                                                                                                                                                        Not on th desktop, for sure. Server side however, GNU Linux is a no brainer, the default choice.

                                                                                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                                                                                      I use Linux but have something similar setup:

                                                                                                                                                                                                                                                                                      • this script

                                                                                                                                                                                                                                                                                        • switches to window if another program is focused;
                                                                                                                                                                                                                                                                                        • creates a new process if program is not running and switches to that;
                                                                                                                                                                                                                                                                                        • switches to the next open window of the same program if program is already focused

                                                                                                                                                                                                                                                                                        bound to F5 for

                                                                                                                                                                                                                                                                                        ./this-script Gnome-terminal gnome-terminal

                                                                                                                                                                                                                                                                                        and F2 for Firefox, F3 for IDEA etc..

                                                                                                                                                                                                                                                                                      • another script bound to F4 that, when Firefox is focused, launches a menu like this: https://imgur.com/a/wuoXYRj (it also offers “subscribe to feed” when there’s a RSS/atom feed in the page’s source (hint @pushcx there aren’t links to feeds on the story page). This has been a time sink, just as @hwayne writes, about delaying some time here and there, but it allows me to add feeds to my feeds.org file and bookmarks in a custom format to another org file.

                                                                                                                                                                                                                                                                                      • a variant of the first script bound to F1 that opens/focuses emacs, but makes sure the window is maximized

                                                                                                                                                                                                                                                                                      All in all, I think the commit rate for my dotfiles repo has went down a ton, since switching to stock Ubuntu after years of fiddling with i3 and awesomewm. This article by Xah Lee made me try out the “bind function keys to applications instead of using workspaces”, and I really like it so far:

                                                                                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                                                                                        I also use a similar setup, but with https://github.com/mkropat/jumpapp instead of manually written scripts.

                                                                                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                                                                                          This is great, I used AutoHotkey to do the exact same thing on windows, and haven’t bothered to setup an equivalent on Linux.

                                                                                                                                                                                                                                                                                        2. 1

                                                                                                                                                                                                                                                                                          Xah Lee is… impenetrable (and about that section: F-keys intrudes on terminal emulation for programs I require, so), so I’ll just throw out that people were fed up of tiling window management in the 1980s with things like GEM 2 (when Apple sued them) and Windows 1.0, and wanted floating windows. Feels like an amusing regression, eh? (I remember Nathan Lineback’s GUI site made frequent commentary about that…)

                                                                                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                                                                                            Xah Lee is… impenetrable

                                                                                                                                                                                                                                                                                            That’s an extremely charitable way to describe the uninformed, egocentric vitriol he puts on his site!

                                                                                                                                                                                                                                                                                            1. 2

                                                                                                                                                                                                                                                                                              I don’t know, I think it’s just his opinions. I always appreciate reading them.

                                                                                                                                                                                                                                                                                              1. 1

                                                                                                                                                                                                                                                                                                The entire mechanical keyboard community is like that though. I have stories about that…

                                                                                                                                                                                                                                                                                                1. 1

                                                                                                                                                                                                                                                                                                  I don’t think everyone is. What counts as “the community”? I’m a huge fan of mechanical keyboards and tiling window managers both, and I put a fair bit of effort into trying to be decent to folks – even those who use rubber domes and enjoy the clicky approach to user interfaces. I know lots of people who are the same. I suppose on that basis we’re not notorious though, like Xah Lee or the authors of certain window managers.

                                                                                                                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                                                                                                                    More the cult of personality and drama the administrator of the Reddit group has created over the years there and on other keyboard sites, but I’ll restrain from going too deep about that.

                                                                                                                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                                                                                                                      Fair enough. There are certainly lots of toxic subreddits and comparative fora!

                                                                                                                                                                                                                                                                                              2. 1

                                                                                                                                                                                                                                                                                                I’ll just throw out that people were fed up of tiling window management in the 1980s with things like GEM 2 (when Apple sued them) and Windows 1.0, and wanted floating windows.

                                                                                                                                                                                                                                                                                                We’re seeing that today too on iPadOS - people have been begging for floating windows since day one.

                                                                                                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                                                                                                  I’ll just throw out that people were fed up of tiling window management in the 1980s with things like GEM 2 (when Apple sued them) and Windows 1.0, and wanted floating windows.

                                                                                                                                                                                                                                                                                                  We’re seeing that today too on iPadOS - people have been begging for floating windows since day one.

                                                                                                                                                                                                                                                                                                  It seems to be different sets of people. If I have paper on my desk, it is always spread out everywhere and I use spatial memory to find things. This gets progressively worse after about 20 things and eventually I can’t find anything at all. I use my computer in a similar way. I have a lot of overlapping windows open, typically 2-3 that I’m referring to at any given time and switching between things by pulling windows out from behind others.

                                                                                                                                                                                                                                                                                                  Most other people that I’ve seen; however, run one window maximised. Then they switch to another. Occasionally, they’ll have two windows tiled side-by-side. I find that I move to this workflow when the screen is small. I have a 13” and a 15” laptop and use maximised windows most of the time on the 13” screen, sometimes on the 15” screen, and rarely on the 40” display on my work desktop.

                                                                                                                                                                                                                                                                                                  I suspect tiling window managers appeal to people who are more tidy than me…

                                                                                                                                                                                                                                                                                                2. 1

                                                                                                                                                                                                                                                                                                  F-keys are not a necessity IMO, it’s just the pattern of having a single-ish (hwayne’s post mentions “pressing rightalt+1 will immediately switch to Firefox”) shortcut for an application (or the “mini FSM” of “if the application is already running, but not focused…”) that I find really useful. It would have killed the need for alt+tab like navigation years ago if I’d thought out about it earlier.

                                                                                                                                                                                                                                                                                                  edit: I think “pressing keys to focus an application” and “tiling (vs floating?) WM” are orthogonal items and my post did not wish to emphasize that at all. One could very well like a tiling WM without using “application hotkeys” (I did for a long time). Sorry about linking to Xah Lee, I guess.

                                                                                                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                                                                                                    In my case, F-Keys won’t work because:

                                                                                                                                                                                                                                                                                                    F3=Exit   F4=Prompt   F9=Retrieve   F12=Cancel   F13=Information Assistant
                                                                                                                                                                                                                                                                                                    F23=Set initial menu                                                      
                                                                                                                                                                                                                                                                                                    

                                                                                                                                                                                                                                                                                                    That’s why I prefer “system has a modifier to itself” - usually Super.

                                                                                                                                                                                                                                                                                              1. 4

                                                                                                                                                                                                                                                                                                Yeah, AutoHotkey was great when I was using Windows.

                                                                                                                                                                                                                                                                                                On macOS, I have managed to set up equivalents to many of AutoHotkey’s features. Here are the programs I used to do it, and how I could use them to solve your use-cases:

                                                                                                                                                                                                                                                                                                AutoHotkey equivalent

                                                                                                                                                                                                                                                                                                The closest equivalent to AutoHotkey in general is Keyboard Maestro (currently $36), a proprietary app. In Keyboard Maestro, you define macros using a drag-and-drop scripting language. You can also embed shell scripts or AppleScript. Each macro can have a number of triggers, most commonly Hot Key triggers.

                                                                                                                                                                                                                                                                                                (Keyboard and) mouse shortcuts

                                                                                                                                                                                                                                                                                                Keyboard Maestro’s triggers can associate custom shortcuts with your macros. Most of my macros have Hot Key triggers, which capture to keyboard shortcuts. For example, Shift+Ctrl+S triggers a macro that puts my laptop screen to sleep.

                                                                                                                                                                                                                                                                                                However, to respond to a mouse input like Scroll Wheel Left, you would have to use a Device Key trigger. A Device Key trigger responds to a single device input, but sadly, it doesn’t block the input from being passed to the OS. In this example, whatever your cursor is over would scroll left in addition to the macro being activated.

                                                                                                                                                                                                                                                                                                To replicate the Send, {NumpadAdd} part of your script, you would add a Type a Keystroke block to your macro. One nice thing about KeyboardMaestro is it can record the keystroke, so you don’t have to remember names like “NumpadAdd”.

                                                                                                                                                                                                                                                                                                If you don’t want to buy Keyboard Maestro, macOS’s built-in Automator (free) can be used in some cases. For examples, compare these three solutions for working around bad default ⌘C behavior in Books: my simple Keyboard Maestro solution, someone’s straightforward Automator solution, and my shorter, situation-specific Automator solution.

                                                                                                                                                                                                                                                                                                Hotstrings for math

                                                                                                                                                                                                                                                                                                I used to use TextExpander (currently $40/year) for something like this. I had ddate mapped to the current date, and solang marked to a block of markup I used on Stack Overflow. TextExpander implements the direct equivalent to AutoHotkey hotstrings, and is probably the best way to implement short hotstrings like ;a.

                                                                                                                                                                                                                                                                                                However, for my purposes, I realized that I could insert pieces of text more simply by using another program I was already using: LaunchBar (currently $30). While its most obvious feature is launching applications, one of its many other features is inserting text snippets. You define text snippets by putting text files in a certain folder. Your defined snippets are then added to your global list of searcheable items, alongside applications you can open and so on.

                                                                                                                                                                                                                                                                                                To insert a snippet such as the current date using LaunchBar, I open a LaunchBar window with Command-Space, type date to find the “Current Date (ISO format)” snippet, and press Return to insert it.

                                                                                                                                                                                                                                                                                                Also note that macOS makes typing special characters easier in general. All macOS keyboard layouts let you access an alternate layer of characters by holding Option. For example, Option-8 types ‘•’. If you would rather Option-A typed ‘∀’ instead of ‘å’, you could set that up by defining a custom math-focused keyboard layout with Ukelele (free). I have used Ukelele to define my own keyboard layout “U.S. – Rory custom” that makes smart quotes and apostrophes (“”‘’) easier to type.

                                                                                                                                                                                                                                                                                                Markdown links

                                                                                                                                                                                                                                                                                                You could do this with Keyboard Maestro. It has actions for reading from and writing to the clipboard, and for appending to, prepending to, and searching and replacing in text variables.

                                                                                                                                                                                                                                                                                                Just a few days ago I implemented a Vim editor mapping to do a similar thing: turn the selected text into a link with the clipboard used as the URL. Of course, it only works in Vim. Here’s the source:

                                                                                                                                                                                                                                                                                                " create Markdown link from selected text using URL in clipboard
                                                                                                                                                                                                                                                                                                " uses vim-surround, so can’t be vnoremap
                                                                                                                                                                                                                                                                                                vmap <Leader>ml s]%a()<Esc>"*Pl
                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                Fast Window Switching

                                                                                                                                                                                                                                                                                                I used to have something set up for this. I used Karabiner (formerly KeyRemap4MacBook) to map my fn key to the combination of Shift-Control-Option-Command. Then, with Keyboard Maestro, I mapped ⇧⌃⌥⌘F to open the Finder and so on. That let me type fn+F to switch directly to the Finder.

                                                                                                                                                                                                                                                                                                Karabiner was forced to be rewritten as Karabiner-Elements (free and open source) because of changes in macOS, and it lost some features in the process. I haven’t checked if mapping of fn is one of them. I don’t use Karabiner-Elements because I rarely used my fn mappings and my current model of laptop doesn’t have real function keys to remap.

                                                                                                                                                                                                                                                                                                As for window groups to switch within, Keyboard Maestro doesn’t have a built-in concept like that. I think you could implement it, though – “if” statements can check the app of the current window.

                                                                                                                                                                                                                                                                                                Remapping the calculator button

                                                                                                                                                                                                                                                                                                This would be a straightforward application of Keyboard Maestro.

                                                                                                                                                                                                                                                                                                Scihubize

                                                                                                                                                                                                                                                                                                Same as above.


                                                                                                                                                                                                                                                                                                That covers everything in your article as much as macOS software is capable of. You may also be interested in…

                                                                                                                                                                                                                                                                                                Features I use without equivalents in this article

                                                                                                                                                                                                                                                                                                Keyboard Maestro lets you define a Quick Macro – a sequence of keypresses and clicks. I can press Ctrl-F1 to start recording, execute a sequence, then press Ctrl-F1 to stop recording. After that, Option-F1 will run the sequence. I use this, for example, in my browser to scroll many adjacent newly-opened tabs down to the start of the content, by recording and replaying the sequence Ctrl-Tab, Down, Down, Down, etc.

                                                                                                                                                                                                                                                                                                Keyboard Maestro also supports image recognition for clicking on the screenshotted GUI element or waiting for something to appear on the screen. I’ve used this to make a macro that uses the System Preferences GUI to toggle a setting – it decides whether to move the selection up or down by recognizing the image of the currently-selected preference. I’ve also used it to abort a macro if I don’t see the expected window open after a certain step (which could happen if the GUI was in a certain state), to avoid executing further keypresses in the wrong window.

                                                                                                                                                                                                                                                                                                LaunchBar comes with a built-in clipboard history manager. I use this to copy, for example, both a title and URL in one window, knowing they will be saved. Then, after switching to another window, I use the clipboard history to paste both of them where they need to go.

                                                                                                                                                                                                                                                                                                1. 1

                                                                                                                                                                                                                                                                                                  Thank you for this! I basically use OS-X in anger (provided corporate fully “all sliders to the right” 16” Macbook Pro) but after a lot of work, have only gotten it to be – “painful” instead of “incredibly painful” compared to using my Linux rig.

                                                                                                                                                                                                                                                                                                  I soon will explore more of the tools you linked, a lot of tools to do what I used to be able to do with just autohotkey, but beggars and choosers.