1. 2

    Looks very similar to tmux and screen with windows/panes.

    1. 5

      The difference being that it don’t care about detaching a session and just focuses on virtual-virtual terminals. The same author (who also created the interesting vis editor) also wrote abduco that just implements detaching.

      I used to use dvtm together with st, which is a good combination.

      1.  

        I saw that, but if you’re just going to rely on another app to do session stuff, then how is this statement (by the author) true?

        Together with dvtm it provides a simpler and cleaner alternative to tmux or screen.
        

        Relying on multiple applications (with their own config, process, etc) to replace the functionality of one doesn’t seem simpler or cleaner on the surface, but they don’t explain how it is.

        1.  

          I immediately see the benefit, personally. I’m generally not interested in tiling etc., but I want session management. It’s nice to be able to pick one without the other.

          1.  

            It’s unixy. Tiling and session management are two separate features that don’t depend on one another. So why bundle them? I do get why some people are interested in it, but I also agree that I don’t need both all the time.

            1.  

              I use abduco everywhere:

              • It’s made sucklessly, so it’s easy to hack, very fast to compile, compatible with TCC, only uses a Makefile etc
              • It changes your terminal minimally, only changing your cursor, which I don’t mind. In tmux and dvtm, I have to wrestle with weird $TERMINAL behaviour
              • The less features, the less documentation there is to read. The manpage is small, and there’s a small number of intuitive options
        1. 9

          The key part,

          Not only can a Mastodon user communicate with users on different servers on Mastodon, perhaps more importantly this user can also communicate e.g with a Friendica (macroblogging) user or a Pleroma user. These are totally different networks that all support ActivityPub. But this is even taken a step further where that same Mastodon user can follow his favourite PeerTube channel or someone that shares great photos on Pixelfed. This is like you were able to follow someone with your Twitter account on YouTube or Instagram. This also means that this Mastodon user can comment or like the PeerTube video from his/her Mastodon user interface. This is the true power of ActivityPub!


          There is also Tribes which provides a custom-hosted version (I run mine here).

          See https://jointhefedi.com if you want to quickly try out the Fediverse.

          1. 10

            In all fairness, Mastodon has one of the least spec compliant ActivityPub implementations out there. It gets stumped with a lot of valid payloads that were generated by other services inasmuch as having to implement Mastodon’s quirks is mandatory if one wants to do development for the fediverse.

            1. 8

              Maybe an unpopular opinion, but without Mastodon ActivityPub would be living the life it was living before, used by dozens of nerds.

              Of course that’s not a proper discussion point to some, you may or may not like its ideas and technical features, but to me it was kinda useless when it was only identi.ca and statusnet and whatnot. I’m saying this as someone who was pretty involved in many FLOSS projects at the time. Utterly useless. It was Twitter if you wanted a thing like this and 90% happened on mailing lists and IRC anyway.

              1. 6

                Oh, I fully agree that Mastodon is overall a force for good in the Fediverse, at least in the fact that it made it popular with the non technical crowds, but I still wish they would work harder at some things related to ActivityPub compliance. Probably my own service will not be super compatible with it, as it skirts webfinger - something that Mastodon can’t do user discovery without. :(

                1. 2

                  I didn’t look into it very deeply, so can’t comment if they made some shortcuts for time to market, or enable stuff that would’ve been hard to do, or just because they were careless or simply didn’t care…

                  1. 3

                    From my perspective they’re prioritizing the features that makes them a better micro blog platform than the features that makes them a better ActivityPub one.

                    I would like to say that being the major player in this niche they should take their responsibilities in this regard more seriously, but in the end they work on what they enjoy more, and that’s absolutely fine.

              2. 5

                Agreed. I am present on a few Mastodon instances but my personal instance is Honk which is a very opinionated and pure (I guess?) ActivityPub server/client/thing

              3. 19

                See https://jointhefedi.com

                The servers recommended on that page are some of the most notorious in the fediverse, notable for hosting bigoted shitheads and having nazi-friendly moderation policies.

                If you sign up on them, you will find yourself blocked by basically all fediverse instances with active and competent moderators.

                1. 8

                  If you sign up on them, you will find yourself blocked by basically all fediverse instances with active and competent moderators.

                  This was one of the reasons I stopped using the Fediverse. I don’t like the concept of full-on instance-bans to begin with (something like warnings for out-going actions and filtering for unrequested ingoing actions would be more appropriate). I’m not sure if federation necessarily has to lead to fragmentation, but some people seem to accept it as a necessary tool and don’t care if anyone has a different opinion. In my case I wanted to hear what people on the spinster server had to say, but it was blocked on the instance I was on (ironically this made me go out of my way to listen to the points of radical feminists, which I don’t think was the intention).

                  Part of the problem with Mastodon specifically is that it has inherited a lot of the worst Twitter-culture by presenting itself as “Twitter with better moderation”, while paradoxically decentralisation is usually understood as a means to avoid being shut down by a central authority. Then again, it all ties into more fundamental issues with the Fediverse and how it presents itself as “each server is it’s own community”, while at the same time I don’t care about what server another person is using. The only thing I am interested in is the moderation policy and how well they administer the server.

                  The part of the Fediverse I still remain hopeful for is Peertube.

                  1. 10

                    I’m not sure if federation necessarily has to lead to fragmentation, but some people seem to accept it as a necessary tool and don’t care if anyone has a different opinion.

                    Instance bans allow for coexistence without cohabitation. You always have the choice of choosing your own policy domain/deferring to someone else. Forcing all nodes to be wide open would remove a lot of point and cause unnecessary annoyance.

                    1. 2

                      You always have the choice of choosing your own policy domain/deferring to someone else.

                      To a degree yes, thought I’d still rather that not be the case, because I rarely agree with someone on everything, meaning I have to administer an instance myself. But it is not only a personal issue, with instance bans threads are also fragmented, so depending on your perspective, you might unknowingly not see the entire conversation going on, leading to more confusion than necessary.

                      Instance bans are sledge hammers that are applied to eagerly (I do think they make sense for actual spam servers). Maybe the situation has improved since, but I remember there only being three states:

                      1. No limits on federation
                      2. Instance bans by Users
                      3. Instance bans by Instances

                      Where I think that there should be more going on between 2. and 3.

                      1. 3

                        There are degrees between 1 and 2, at least on mastodon. Admins can “silence”, meaning posts from that instance won’t show up in the federated timeline by default. If I’m not mistaken, there’s also “mute”, meaning interactions from that instance won’t be shown to the muting instance unless there’s a preexisting relationship between the actors.

                        I should also note that instance bans are not really a thing– you can mute an instance at a user level, but your data is still sent there and you must trust that server’s administration.

                        1. 2

                          instance bans threads are also fragmented, so depending on your perspective, you might unknowingly not see the entire conversation going on, leading to more confusion than necessary.

                          this seems to be an issue even if the instance isn’t banned. I see this happen with my small instance, where viewing the thread on the hosting instance (or from an account on another instance) shows different posts, and I’m pretty sure the missing posts aren’t from blocked instances.

                          1. 4

                            iirc mastodon will fetch replies upthread, but not downthread: that is, if the chain goes X -> Y -> Z, and your instance is made aware of post Y (someone follows the poster, it gets boosted, whatever) then it will fetch X but not Z. this is why some people have a norm to boost the last post in a thread, as opposed to the first. this isn’t a technical limitation, since pleroma (the other big fedi server) will fetch the entire thread.

                            of course, in either case, if one of the posts in the thread is private and you don’t follow the person you’ll just break the thread entirely, but there’s not much that can really be done there.

                            1. 1

                              oh wow, that’s confusing. :|

                      2. 7

                        Due to how ActivityPub works, you need to have near-ultimate trust of an instance if you wish to federate with them. If you believe the admins are bad actors, using acceptance of harmful ideologies as a proxy for that, then you can’t trust them with your user’s data, and must defederate.

                        ironically this made me go out of my way to listen to the points of radical feminists, which I don’t think was the intention

                        This isn’t necessarily against what the blockers wanted! What is called “censorship” on the fedi is usually about protecting their own users. Trans folks don’t want to have to see the same tired take on trans exclusionism for the fifth time today, nor do they want their posts to be seen by those folks.

                        As you discovered, there was absolutely nothing stopping you from finding out more from the spinsters, and nothing stopping you from making an account there either, right?

                        If we think decentralization is the key to freedom, then we can’t stop short of free association.

                        1. 2

                          Due to how ActivityPub works, you need to have near-ultimate trust of an instance if you wish to federate with them. If you believe the admins are bad actors, using acceptance of harmful ideologies as a proxy for that, then you can’t trust them with your user’s data, and must defederate.

                          What do you mean by “trust them with your user’s data”? Is there something a server can only access if they are federated, that a “blocked” instance couldn’t see via it’s public feed?

                          What is called “censorship” on the fedi is usually about protecting their own users.

                          I get that an instance would decide to mute another instance by default, but if a user explicitly requests to receive data, why should they not be able to interact?

                          1. 7

                            A user’s private posts are always federated to any instance that has a single actor subscribed to it. That means that instance is storing a user’s private posts. If the admin’s a bad actor, they could see the private posts even if they’re not authorized to normally.

                            1. 3

                              so private posts are not actually private, much like Facebook, though for totally different reasons. great.

                              1. 4

                                Yes. Unfortunately, if you view private data disclosure as a security issue, Masto/ActivityPub is less secure than a centralized platform.

                                There’s hopes that CapTP will solve many of these concerns.

                                1. 3

                                  It’s similar to plaintext email, no? As long as the plain text traverses a server somewhere it can be read by the server admins.

                                  As far as I know, end-to-end encryption isn’t supported by AP.

                                  1. 1

                                    yes, but email doesn’t use the term ‘private’ anywhere. I think many(most?) people understand that email is not useful for HIPAA or other things where privacy matters.

                                    1. 4

                                      Many people sign up for things with firstname @gmail.com, and then claim the account owner “hacked” them. Many people think that companyname @somecustomdomain.com means you work for them. Many people think that anything @someother.tld means you actually meant @someother.tld.com.

                                      I don’t think most people understand anything about email.

                                      1. 1

                                        I think with all things, it’s complicated. I’m sure people in their 70’s and older who have very little exposure to email are likely not very versed.

                                        For the average professional that is legally required to care about privacy, then I think they mostly have the understanding that email != private communication.

                                        Developers SHOULD know better, but they still do stupid things with email, because it’s the only thing you can reasonably assume someone has. (like login with email, use email for password recovery, etc) There are sane things you can do to help mitigate these things, like single use tokens, etc, but.. I’m sure there are still tons of code out there that doesn’t do these things.

                                        I agree email ADDRESSING, which is what you mostly are referring to, is full of assumptions and mostly none of them can be assumed. The only thing you can mostly assume from user@domain, is that the domain admin at some point thought that user should exist. :)

                                      2. 1

                                        I agree with you it’s a bit of a branding problem.

                                        I’m just so used to the store and forward model of email and NNTP that I just applied that model to the fediverse too. And I have not heard anything about E2EE in the “mainstream” Fediverse.

                          2. 2

                            The servers recommended on that page are some of the most notorious in the fediverse, notable for hosting bigoted shitheads and having nazi-friendly moderation policies.

                            Citation needed.

                            One of the servers recommended on that page, gleasonator.com, actually was created by someone that experienced bigoted behavior from mastodon’s toxic and neoracist moderation policies: https://blog.alexgleason.me/gab-block/

                            1. 15

                              As a queer person and regular fedi user, I concur that these servers are notorious. Multiple accounts from shitposter.club harassed a trans friend of mine just this week because they posted a selfie to their timeline. Freespeechextremist’s users have a habit of sea-lioning their way into my mentions; I think the last one was an extremely tedious “wow aren’t gay people bigoted” monologue mixed with Q-anon rants. Freespeechextremist.com, shitposter.club, spinster.xyz, and glindr.org (another Alex Gleason joint) all have the dubious distinction of being on the relatively short mastodon.social and mstdn.social blocklists for hate speech, harassment, and transphobia. With the exception of mstdn.social, this is not a general-purpose instance list: these instances all share moderation policies aligned with reactionary views on gender and sexuality.

                              1. 7

                                They out themselves as a transphone one sentence into the blog post. I’m sure many transphobes think being told they’re a transphobe is toxic.

                                They also had no problem joining Gab and admitting that it’s full of, their quote, “literal nazis” in the same article.

                                1. -3

                                  They out themselves as a transphone one sentence into the blog post. I’m sure many transphobes think being told they’re a transphobe is toxic.

                                  For those who haven’t read the article in full, this is what the first sentence (which according to the parent commenter indicates that Alex is outing himself to be a “transphobe”) reads: “I got deplatformed from Mastodon for supporting women’s sex-based rights. Now Mastodon is trying to stop me from using Gab.

                                  They also had no problem joining Gab and admitting that it’s full of, their quote, “literal nazis” in the same article.

                                  Again, for those who haven’t read the article in full, here’s the full quote: “Gab is a free speech platform. It is true that there are indeed “literal Nazis” on it. This isn’t a hyperbole, as there are some users who quite literally advocate for the extermination of races of people. The reason is because Gab censors no one. It’s not because Gab likes those people or wants them there.” - and that quote was a prelude to explaining why censorship is bad, by citing past examples:

                                  • Marginalized people are at the greatest risk of being impacted by censorship. The Feminist movement laid the groundwork for freedom of speech in the United States with the formation of the Free Speech League in 1902. They were being censored from distributing material about sex-education and abortion. Keep in mind that the majority of people were against them at the time.
                                  • The Civil Rights movement of the 1960’s fought hard for free speech. The movement won a landmark case, New York Times vs Sullivan, in which Martin Luther King supporters were sued for running an ad which criticized the police.
                                  • Black Civil Rights activists were also arrested for: praying, “parading, demonstrating, boycotting, trespassing and picketing.”, “statements calculated to breach the peace.”, “distributing literature without a permit.”, “conduct customarily known as ‘kneel-ins’ in churches.”

                                  Nevermind that Twitter for instance has an uncommon number of neoracists as well.


                                  I flagged your comment as unkind, because essentially it is a low-effort post made to flippantly accuse somebody without evidence, and there is zero fellowship regard (much less an assumption of good faith) towards Alex to the point of even misrepresenting what he wrote.

                                  1. 15

                                    Friendly warning: anything anywhere that mentions transphobia or nazis becomes a bozo bit here on Lobsters. Don’t try to argue semantics, don’t appeal to actual text or logic or history, don’t waste yours or anybody else’s time–just steer clear of it and save those cycles for making things or engaging in communities with more mature discussion capabilities.

                                    1. 2

                                      You’re too wise for this place

                                      1. 6

                                        Wisdom is what you get when do something really stupid but take notes.

                                        …I’ve taken a lot of notes.

                                    2. 16

                                      “Women’s sex-based rights” is absolutely a dogwhistle for transphobia, and if you look at what he wrote in his own words he says that ‘transgenderism [was] first popularized on Tumblr’ (?????), links the “TERF is a slur” page, and says “transgender ideology is fiction”. He’s transphobic through and through.

                                      I’m also extremely unconvinced that there’s no way to prevent people from being actual literal Nazis while not hurting marginalized people. Like, if someone was to come in to the comments section of a Lobsters post and say “by the way, I think we should kill all the Jews”, they’d get flagged and banned, right?

                                      And you’re ignoring the fact that constantly seeing people say that they think people like me (hi, I’m trans) are abominable freaks that are better off dead, or even ‘just’ mentally ill people who need to stop pretending, is likely to push me away from a place. This is going to happen with any sort of ‘free speech’-focused Masto instance: the bigots will migrate to your instance because they get kicked off elsewhere, and the people who don’t want to have to deal with bigots are going to go elsewhere.

                                      And, going back to the list, it’s not just gleasonator. As someone who’s used Fedi for several years, every single one of those instances aside from mstdn.social is one that I’ve had shitty experiences with. And it’s not a coincidence that mstdn.social is the only one that’s described as not allowing racism or sexism!

                                      1. 9

                                        Like, if someone was to come in to the comments section of a Lobsters post and say “by the way, I think we should kill all the Jews”, they’d get flagged and banned, right?

                                        Yes. And it’s happened: a few years ago a comment on a story about net neutrality attempted to use that to explain why the U.S. should commit genocide in the middle east. I deleted it and banned the author.

                                        1. 2

                                          … now that’s a leap.

                                      2. 8

                                        branching off from the thread, that quote is infuriating. they make the following argument:

                                        • marginalized people are affected by censorship (citing civil rights activists)
                                        • gab does not participate in censorship
                                        • gab has literal nazis on it

                                        therefore:

                                        • it’s ok for gab to continue to host literal nazis because banning them is similar to the prejudice that civil rights activists face

                                        i.e. propagating the speech of who people arguing for an ethnostate and committing real-life violence against minorities is somehow beneficial for those same minorities. fucking inane.

                                        1. 7

                                          My comment below is terribly off-topic, I think.

                                          A transphobe is someone who fears or has a negative perception of trans people. Supporting “women’s sex-based rights” is the same as saying that people born with female sex organs have different rights than trans people who are women. That is a negative perception of trans people who are women. Saying that women who were born with female sex organs have different rights than trans people who are women is, precisely, transphobia.

                                          Your comment is a low-effort attempt to deny that basic fact; if you recognize that trans people exist, saying they should be denied affordances that cis people have is clearly a manifestation of transphobia.

                                          That claim is so obviously false and inflammatory that I have flagged your comment as a troll. I’ve done you the courtesy of leaving this comment explaining why even though my own comment should rightly be flagged as offtopic. That’s because I’m assuming some good faith even though the obviously false and inflammatory nature of your comment makes me think that’s vanishingly unlikely.

                                1. 36

                                  Honest question: why should I care it’s written in Rust? I keep seeing these posts of new software and the authors highlight its “written in Rust.” I’ve never before seen such an emphasis on the language rather than the features it offers.

                                  1. 33

                                    I care that it isn’t written in C/C++. Memory safety catches a lot of security bugs. And language communities have different cultures, so knowing the actual language can be a signal as well.

                                    1. 17

                                      Okay, but in that case, it would be cool if the submission at least highlighted some of the neat use cases for which the language is relevant. E.g. if the description would at least mention an example – a particular module that’s very easy to get wrong in C, but Rust is particularly suited to, the way e.g. Julia is so well-suited for writing a FEM program. Or a “this module would’ve been 600 lines of inscrutable C but look how neat it is when you have explicit lifetime management features baked in the language”.

                                      If there’s none of that, but it’s just a very good program, that’s great (even better, in fact) – but at least let’s talk about that. Is it remarkably fast, in which case can we have some benchmarks? Is it super secure, as in, has anyone tried to do even an informal review, it’s cool that it’s written in Rust but what I’d really like to know is if someone checked it to make sure that attempting to view an attachment called /dev/null; rm -rf ~ won’t nuke my home folder, which is a far more straightforward exploit than anything involving memory safety.

                                      Better – hell, best yet – if it’s none of that, and the author just wrote a cool program and wants to share it with everyone else and wants some feedback. Great, but can we at least get that? Hey, fellow lobsters, here’s a thing I made, it’s super early, it won’t be big and professional like Outlook, do you like it? Would you like to send in a patch? What do you think about X?

                                      Otherwise it’s just another program written in Rust. I get it’s cool but hundreds of programs get written in Rust every day.

                                      As far as security bugs are concerned, if being written is C would be a red flag, what colour would you say is best ascribed to the flag raised by a tool whose installation script – which you’re supposed to curl straight into bash, of course – downloads an unsigned archive and `sudo mv’s the stuff in it into $PATH ;-)?

                                      1. 7

                                        I believe 4 out of these 5 would’ve been unlikely if mutt and libraries were written in rust, for example:

                                        https://www.cvedetails.com/vulnerability-list/vendor_id-158/product_id-274/year-2018/opov-1/Mutt-Mutt.html

                                      2. 10

                                        Any GC language is memory-safe.

                                        1. 3

                                          Apart from the fact that garbage collection brings its own issues (although probably none that would affect a mail client), Rust offers much more than just memory safety.

                                          1. 2

                                            Which is why written in Go is also a popular thing, and deserves to be. People want single binaries and fast, safe programs but for whatever reason they also want to pretend there’s no reason to care what language something is written in.

                                          2. 2

                                            What is the most likely security attack surface for a email client?

                                            1. 10

                                              Untrusted input: message body, attachments, headers; protocol implementation (tls negotiation, authentication)? [ed: and in particular string handling and path handling]

                                              1. 2

                                                This is a great argument for making MUAs just deal with MH/Maildirs and leaving the server interface to existing programs (mbsync, msmtp).

                                                Not only do you sidestep a good chunk of problems you mentioned - no worries about protocols, network, etc - you also are likely to fit into existing workflows. And it engenders trust: honestly, I’m unwilling to try software that speaks to my mail server. I risk anything from a bug inconveniencing me to something more malicious. Keep it local and I’m not as worried.

                                              2. 2

                                                HTML & images mostly

                                                1. 1

                                                  If you want to support it, html display.

                                              3. 29

                                                I really have trouble understanding why people ask this. What’s so hard to understand about folks caring about which language a program is written in? There are literally oodles of reasons why it might be relevant. For example, if the title of the post were, “email client written in Zig,” it would actually attract my interest more than the current title. I would probably wind up spending some time reviewing the source code too. But if the title left that out, I probably would have skipped right by it.

                                                1. 2

                                                  I think “written in [L]” makes sense, if the fact that it was written in a language is interesting. If a more complex program is written in APL, it is interesting because APL is know to be diffucult. If something is written in C89 is is interesting because that will probably make it very portable. If something is written in Zig, it might be interesting because a lot of people are not familiar with it’s strengths and weaknesses in real world systems. If something is written in Go, it might be interesting because it provides a easy static binary that can be installed without a big fuss.

                                                  Most of the time, I’m not surprised about Rust because why shouldn’t you be able to write a CLI tool in Rust? It has been done over and over again. If writing something in Rust has practical advantanges (”… written in Rust making it 4x faster”, “… written in Rust avoiding 90% of all security issues”, …) then it might be interesting.

                                                  1. 13

                                                    One aspect of that is that what is “interesting” varies from person to person and from time to time. Just as an example, I know I would be more interested if the title were “written in Zig,” but I’m sure there are plenty of others that would be less interested because of it. And that actually makes the “written in Zig” part of the title useful. Because it lets people filter a bit more, even if it means it’s less interesting.

                                                    More to the point, “interest” is just one reason why “written in [L]” makes sense. It’s not the only reason. As others have mentioned, some programming languages tend to be associated with certain properties of programs. Whether that’s culture, barriers to contribution (for some definition of “barrier”), performance, UX and so on. Everyone here knows that “email client written in C” and “email client written in Rust” likely has some signal and would mean different things to different people.

                                                    I truly don’t understand why people are continually mystified by this. It’s like the most mundane thing in the world to me. Programmers are interested in programming languages and how tools are built. Who woulda thunk it.

                                                    To be clear, this doesn’t mean everyone has to be interested in the underlying technology 100% of the time either. So I’m under no illusions about that. Most of the users of my software, for example, not only don’t care what language it was written in, but probably don’t even know. I’d even bet that most of my users (via VS Code) not only don’t know what language their “find in files” is written in, but probably haven’t even heard of Rust.

                                                    But we’re on a tech forum. It self selects for nerds like us that like to talk shop. What a surprise that we would be interested in the tools used to build shit.

                                                    Apologies for the minor rant. This is just one of those things that pops up over and over on these forums. People are continually surprised that “written in [L]” matters to some people, and I guess I’m just continually surprised that they’re continually surprised. ¯\_(ツ)_/¯

                                                  2. 1

                                                    Yeah, I agree that the underlying tech can be interesting and makes sense in some cases to be in the title. We’re all hackers lobsters here, right?

                                                    I’m a little surprised you’d show so much interest in Zig. I think of you as one of the “gods of rust”. Are you interested in a “keeping tabs on the competition” sort of way? Or is there some use case that you think Zig might shine more than rust for? In other words: are you interested in ideas you can bring to rust, or because you’re evaluating or interested in using Zig in its own right?

                                                    1. 4

                                                      No, I’m legitimately interested in Zig. I’ve always loved the “simplicity” of C, for example, for some definition of simplicity. (That one can cut a lot of different ways.) It’s also why I really like Go. And I think Zig is taking an interesting approach to memory safety and I’m very interested to see how well it work in practice. I’m also quite interested to see how well comptime does and how it balances against readability and documentation in particular.

                                                      But I haven’t written a single line of Zig yet. I’m just following it with interest. I’m also a Zig sponsor if only for the amazing work that Andrew is doing with C tooling.

                                                  3. 11

                                                    Personally I care because I am trying to learn Rust and projects like this are nice to explore and figure out stuff.

                                                    1. 6

                                                      I’m not sure either. I do occasionally see the “written in Go” or “written in Crystal” or “written in pure C99”, however.

                                                      1. 4

                                                        This was a trend 5 years ago with Python I feel, now it’s a trend with Rust. In case of Python, in my experience, it boiled down to “we improved the UI massively (compared to existing alternatives) and our error handling is nonexistent”, while with Rust it’s more likely to be “we’re obsessed about efficiency and everything else is secondary” ;)

                                                        In practice, the “in X” is likely a call for contributors, not the users – as a user, when I see “it’s written in X” I assume that it’s probably got no real upsides aside of that, as if writing it in X was the whole point.

                                                        1. 3

                                                          As an email client for users, it isn’t interesting at all (no disrespect to the creator). But, as an expression for the possibilities of an up-and-coming language, it is useful. This post has the same similar feel to a “hello world” for a new language.

                                                          1. 3

                                                            It makes it interesting to me because I’m interested in Rust, so I’d like to check out the source and learn something!

                                                            1. 2

                                                              I first thought “written in Rust” seems boisterous, then rethought and realized it’s beneficial specifying such, not just in boistering, but as an example for folks wanting to learn.

                                                              1. 2

                                                                People still writing new software in C in TYOOL 2021 also like to brag online about their choice of language. I don’t get it.

                                                                1. 2

                                                                  Well,one reason to care is to make sure they don’t fall victim to the RIIR question from the Rust Evangelism Strike Force. (Have you considered rewriting it in rust?) (https://transitiontech.ca/random/RIIR).

                                                                  (Note: this is a joke. You probably don’t care about rust and nor should you, but the author does.)

                                                                1. 8

                                                                  Learning more Ada. “Programming in Ada 2012” (and all of John Barnes previous Ada $YEAR books) are pretty much the K&R, Rust Book, or Stroustrup’s “C++ Programming Language” of Ada. In less than a week from starting I’m already super productive, and I’m leaning towards using Ada as my default hobby language, replacing C, C++, Rust and Python. It’s not glitzy, but it gets the job done well. I mentioned it to a few people, and the response I got was, “Seriously… Ada?”

                                                                  It’s C with safeties on the foot guns, verbosity on top which actually saves me time later on by preventing mistakes, and a free single download IDE that just works out of the box. There’s very few symbols to remember and most keywords do exactly what I expect.

                                                                  This will be my last note so I don’t tire people about it, unless I want to make a real blog or something to write a real article about learning it.

                                                                  1. 2

                                                                    Yes please, I’d love to know more about what Ada does better than something modern like Rust or Zig.

                                                                    1. 1

                                                                      Seconding this. I’ve been considering learning Ada for a while now.

                                                                      1. 1

                                                                        In short, you express an idea once and the compiler does a lot of error checking for you. Things which would be prohibitive to check and you’d have to do manually, the compiler just does on it’s own. Usually people refer to specifying checked ranges for floats/integers, but here’s a different and huge one for me: Pragma Pure(MyPackage); prevents that package (module) of code from having any side effects, and the compiler will also throw an error also if MyPackage depends on any package which has side effects, such as I/O. There’s also inline pre/post conditions and static/dynamic predicates on types. Another example with predicates, you could say type Normal is Vector3 with Dynamic_Predicate => (abs (1.0 - Normal.Length) < 0.01);–“Normal vectors are 3D vectors which shall always be within a specific error of a unit length” and have this checked whenever Normals are assigned to or used.

                                                                  1. 29

                                                                    Linux productivity software is fine, but there are rough edges for the power user

                                                                    Interesting. For me, it is the exact opposite. I used Linux as my main desktop from 1994 to 2007. In 2007 I switched to macOS as my main desktop OS. The last few years I have slowly been moving back to Linux as my main desktop. After a short adventure with the M1 MacBook Air, I decided that the Mac ecosystem is definitely on a trajectory that I don’t like anymore, and returned the M1 Mac and sold my last Intel Mac.

                                                                    What I like about the Linux desktop is that it is so much beter for the power user. Better profiling (perf), better observability (eBPF, yes there is DTrace, but the eBPF ecosystem is so much more exiting), better customizability, better development tools, better package managers, native containers, etc.

                                                                    What I dislike is the lack of high-quality productivity software (and since when are e-mail clients and calendaring apps not productivity software?). Sure, we have LibreOffice, GIMP, Inkscape, Scribus. But I would love to be able to use Microsoft Office, the Affinity Suite, OmniGraffle, etc. Many productivity apps are just too far ahead of open counterparts. So, even though I moved away from the Mac, I now have to keep a Windows partition around to run Microsoft Office.

                                                                    1. 13

                                                                      yes there is DTrace

                                                                      FWIW DTrace is completely broken out of the box on OS X. Apparently it’s fixable but you have to disable SIP. This makes me extremely sad.

                                                                      If I find myself in the position of needing to understand something very weird that a piece of software is doing, if it’s portable across unices then it’s sometimes easiest to run it in a Linux VM since things like strace actually work there. :(

                                                                      1. 6

                                                                        When something isn’t working on my Linux workstation I similarly take it over to an illumos VM where truss and DTrace are available haha, so I know the feeling.

                                                                        1. 1

                                                                          Not going to lie, I think I’d be tempted to do the same if I did know dtrace (and to a lesser extent illumos, but eh I assume it’s well made enough to not be difficult).

                                                                          I don’t because of a lack of familiarity with the tools.

                                                                          When I’m using Linux I still miss ftrace from BSD. strace is great except that the probe effect is so bad.

                                                                      2. 12

                                                                        What I dislike is the lack of high-quality productivity software (and since when are e-mail clients and calendaring apps not productivity software?).

                                                                        This is something I’ve noticed as well. Linux developers prioritize things that they’re interested in (perf, eBPF, DTrace), meaning that the stuff that they don’t care about (productivity software, especially email) lags behind Windows/macOS by years (if not decades) - but commercial developers won’t port their stuff to Linux, because (in addition to the market being small) Linux users have been habituated to not pay for software!

                                                                        I’m inclined to say that this is a product of the FSF’s rabid anti-commercial-software propaganda, but maybe there’s another reason.

                                                                        1. 12

                                                                          I think it’s simply more to do with power structures – like, the Mac has a good email client, because someone at Apple pays people to make it, and more importantly, decides what it’s going to do. Free software has tended to operate without a singular product vision, so in order to make progress, the people involved seem to try and clone what they’re familiar with.

                                                                          1. 9

                                                                            but commercial developers won’t port their stuff to Linux, because (in addition to the market being small) Linux users have been habituated to not pay for software!

                                                                            I’m inclined to say that this is a product of the FSF’s rabid anti-commercial-software propaganda, but maybe there’s another reason.

                                                                            I thought we debunked this theory when Steam came to Linux.

                                                                            The truth is that it’s just the old chicken and egg problem about small market share and market share won’t grow until peoples’ favorite software is available.

                                                                            1. 7

                                                                              Also because Valve had two really good reasons to seek out wider OS support: the Windows and Mac App Stores.

                                                                              1. 4

                                                                                I thought we debunked this theory when Steam came to Linux.

                                                                                Computer users have completely different expectations for games and productivity software, and are far more willing to pay for the former across every platform. Steam coming to Linux did not “debunk” that theory at all.

                                                                                The truth is that it’s just the old chicken and egg problem about small market share and market share won’t grow until peoples’ favorite software is available.

                                                                                Please don’t say things like “the truth is” without any irrefutable substantiating evidence.

                                                                                Meanwhile, that’s your spin on things. I would then ask you why macOS productivity software is so much better-developed than Linux, when the former already has a tiny market share compared to Windows.

                                                                                1. 1

                                                                                  Computer users have completely different expectations for games and productivity software, and are far more willing to pay for the former across every platform. Steam coming to Linux did not “debunk” that theory at all.

                                                                                  I agree that computer users are much more willing to pay for games across every platform. I’m not sure how that debunks my debunking. I’m asserting that Linux users are just as willing to pay for Steam games as people on any other platform (though we obviously don’t have hard data on that). If that’s true (or even close to true), then I think that does debunk the argument that they aren’t buying other software because of “being habituated to not paying for software”. Linux forums EXPLODED when Steam came to Linux. People were losing their minds to throw money at Valve. I would think that the anti-spending habituation would take time to wear off, but it did not seem to in the internet circles that I frequent (and the small handful of people I knew in meatspace that ran Linux also buy/bought Steam games).

                                                                                  Along similar lines, I don’t think I know any Windows users that are buying Microsoft Office or Adobe PhotoShop for personal use, either. It seems to me that the willingness to pay for entertainment and not for productivity software is more or less universal…

                                                                                  Please don’t say things like “the truth is” without any irrefutable substantiating evidence.

                                                                                  Fair enough. I suppose I could’ve been more clear in indicating that this was a statement of conjecture. (But irrefutable? That’s a high bar for a semi-casual discussion about human behavior, no? ;) )

                                                                                  Meanwhile, that’s your spin on things. I would then ask you why macOS productivity software is so much better-developed than Linux, when the former already has a tiny market share compared to Windows.

                                                                                  Can you give examples? I ask that genuinely, just so I can understand what we’re talking about. I do mostly run Linux on my personal machines and have a Mac for work. But I’m a software dev, so I really don’t do things like PhotoShop, Microsoft Word, etc. So I just don’t know what we’re talking about. I know that when I was in science, the Linux machines all had MATLAB and Mathematica installed on them. Those are pricey.

                                                                                  But, I can offer some hypotheses other than Linux users not liking to pay for things other than games:

                                                                                  • Apple’s market share is still a gazillion times bigger than desktop Linux’s. If there’s a threshold for when it would become profitable to support a platform, it’s entirely conceivable that Macs have crossed that threshold and Linux has not.
                                                                                  • Related to the above point, there isn’t even one Linux platform. It’s probably harder to develop (and distribute) for Linux than either of the other major platforms. These days it is probably easier with Snap and Flatpack and whatnot, but historically this has not been true. So the cost would be higher to port to Linux than to port to Mac, for example.
                                                                                  • The “chicken and egg” scenario that I mentioned before.
                                                                                  • Similar to the “chicken and egg”, but maybe people who use Linux don’t need the same kind of productivity software for the ways they are productive with their machines. For example, I know several people who run Linux and pay for IntelliJ licenses. So, even if $TOTAL_NUMBER_OF_LINUX users was large enough, there still just aren’t enough of them who want PhotoShop functionality to make it worth it.
                                                                              2. 3

                                                                                the stuff that they don’t care about (productivity software, especially email) lags behind Windows/macOS by years (if not decades)

                                                                                Another thing may be is that if you have been using Linux for most of your life like me, I have no idea what this productivity software has to offer me. E.g. I can use Email, send and recieve messages, send plaintext messages, my client understands the headers, etc. That is what I imagine Email to be. What would an Email-Salesman tell me to change my mind, and switch to some propriatory client that is entierly different?

                                                                                1. 2

                                                                                  People who don’t want to pay can do this via piracy as well, and also take advantage of anybetter software that may not have a counterpart on Linux. Also, free software is not about not paying. If the values of free software collide with the commercial intentions of software developers does not mean that the former is propaganda against the latter.

                                                                                  1. 2

                                                                                    People who don’t want to pay can do this via piracy as well

                                                                                    Piracy happens on Linux too - so now you have two reasons why your application won’t make as much money. (well, three, but the third (tiny market share) isn’t relevant)

                                                                                    If the values of free software collide with the commercial intentions of software developers does not mean that the former is propaganda against the latter.

                                                                                    Beyond the general “values of open-source”, the FSF in particular (which I specifically mentioned) has engaged in anti-commercial-software propaganda.

                                                                                  2. 2

                                                                                    the stuff that they don’t care about (productivity software, especially email)

                                                                                    I think it’s a little trickier. A lot of Linux developers do care about some kinds of productivity software, but many of the people in this category are also not very excited about GUI apps, so a lot of the actively maintained and innovative software is either terminal software or even an emacs package, making it a bit inaccessible to people looking for Windows/macOS style apps.

                                                                                    For example I use mu4e as my email client for a few years now. It’s actively developed (multiple yearly releases, regular new features, quick bugfixes, etc.). In my opinion has one of the best UIs out there for a power user, but it is almost certainly not what someone migrating from Mail.app wants.

                                                                                  3. 3

                                                                                    After a short adventure with the M1 MacBook Air, I decided that the Mac ecosystem is definitely on a trajectory that I don’t like anymore

                                                                                    What didn’t you like about it? I personally love my M1 MacBook Air, but my preferences certainly aren’t universal truths.

                                                                                    1. 1

                                                                                      I feel exactly the same way, although I don’t use most of the mentioned apps (Photoshop, Calendar, Mail, etc)

                                                                                      After discovering i3 and investing way too much time customizing my shell experience I’m ready to ditch OSX for good. My maxed out ThinkPad x1 Gen8 screams relative to my maxed out 16” MBP (granted it has all the performance sucking endpoint protection spyware installed). That said, part of my day job is iOS build tools so it won’t be so easy to fully get away :)

                                                                                      1. 1

                                                                                        Do you reboot into Windows to run Office, use virtualisation software, use CrossOver, or something else?

                                                                                        1. 1

                                                                                          I switch to my laptop, which I have hooked up to the same screen. I checked the CrossOver database, from from which I inferred that e.g. recent Office versions do not really work. Running Windows in a VM would definitely be possible, but haven’t set it up yet.

                                                                                          1. 1

                                                                                            I just had a look and yes the star ratings have been dropping for the recent versions. It’s a bit of a shame because I remember using it years ago and it felt surprisingly ‘native’ - even in how snappy it was.

                                                                                            1. 1

                                                                                              Yeah, I also used CrossOver Office in the early ’00s and it was amazing. I think one of the issues is that back then, productivity applications were still pretty much shrink-wrap, static pieces of software. Nowadays, things like Office (especially with Office 365) are constantly updated and therefore a moving target.

                                                                                              I should try the VM route again, but the last time it was not that great. I really dislike VirtualBox and AFAIR graphics acceleration was not really great with SPICE. VMWare probably doesn’t work well with NixOS and Fedora.

                                                                                      1. 18

                                                                                        Honestly, for a general-purpose laptop recommendation, it’s hard to recommend anything but the new ARM MacBooks

                                                                                        Yeah, but I can’t get those for 100-200 Euros. I don’t think I’d ever buy a first-hand Thinkpad, and I’m not sure how the market looks like for used Macs. As a student, this is something I consider (my first Laptop was a X60 for 33 Euros off Ebay. The reason I don’t use it any more is that the charger broke).

                                                                                        1. 8

                                                                                          +1, I haven’t been a student in decades, but new laptops are either too expensive, or not worth the money :)

                                                                                          The easy serviceability of ThinkPads means that there’s a big secondary market for traders who buy ‘used’ laptops in bulk, piece together the working components, and resell them. But to be honest, the same goes for any laptop model designed for corporate use and easy repair.

                                                                                        1. 10

                                                                                          What I want to know is if I start learning Rust now, how confident can I be that my knowledge is applicable in a few years, or if the best practices will be deprecated until then. The impression I always get from listening into Rust conversations is that there is a lot of change going on, old compilers (such as those usually distributed by system package managers) are easily outdated making me feel like it might be better to wait a bit for the language to stabilize. Is that mistaken or is it true that Rust isn’t a stable language to learn, like C or Lisp?

                                                                                          1. 21

                                                                                            Mistaken. I started learning Rust in 2013 (pre-1.0), and most things I learned about Rust then is still applicable now and I am confident it will continue to be applicable in 5 years. Rust is a stable language that has been stable since 2015. I actually don’t recall any best practices that has been deprecated.

                                                                                            Hope this helped.

                                                                                            1. 3

                                                                                              I am probably not the most qualified person to answer this (i.e. i am not a rust expert), but, as i understand, rust has actually been a quite stable language since v 1.0, so i wouldn’t worry too much about stability.

                                                                                              I’d add to that, that in general in the software industry technologies and best practices change all the time (within reason), so I’d keep an open mind and give it a shot. If you end up liking it, I am sure you’d find ways to stay up to date with any evolution of the ecosystem without even noticing.

                                                                                              My 2 cents…

                                                                                              1. 2

                                                                                                old compilers are easily outdated

                                                                                                Rust has a rare approach to version management: they guarantee backwards compatibility of ‘stable’ features across upgrades, but expect you to always use a very recent version of the compiler (and provide automatic updates).

                                                                                                I’m not sold on it, personally:

                                                                                                • I don’t trust anyone not to introduce regressions via automatic updates. In fairness to the rust team, I’m not aware of any regressions that made it out, and they have very good automatic testing to ensure they don’t introduce any.
                                                                                                • If you use a library that requires ‘nightly’ (non-stable) features, your code will most likely be broken when those features change in an update.

                                                                                                If you want stability, install a ‘stable’ release; your code will continue to compile without modification for the foreseeable future, thanks to the ‘editions’ approach to backwards compatibility.

                                                                                                It’s true that there are many changes to the language in each (frequent) release, but the vast majority are “something that you would expect to work was broken, has now been fixed”.

                                                                                                1. 8

                                                                                                  I used Rust in production for algorithmic trading for a year. (I have since moved on to other jobs and I no longer use Rust in production.) I was responsible for technical decisions, and I insta-updated Rust compiler as soon as releases were out. I had no problems. It does work as advertised.

                                                                                                  1. 1

                                                                                                    I insta-updated Rust compiler as soon as releases were out. I had no problems. It does work as advertised.

                                                                                                    But this is what annoys me. I run apt upgrade maybe once every week or two, and would like everything to be done, having to pay attention to compiler updates because a library depends on it not something I want to see.

                                                                                                    1. 6

                                                                                                      The apt-provided compiler is the compiler used by Debian/Ubuntu for building their system and their packages. It is not meant for general development - especially if it involves e.g. cross-compilation - unless you target Debian/Ubuntu. If you would like that policy to be different, I recommend giving feedback to the packager team, they are a great bunch :). FWIW: This notion is far more pronounced when talking about Rust then about C, but it is also present there - the C compiler in “build-essentials” is the one used by the system. C just happens to be way more settled.

                                                                                                      I also want to add that libraries switching to higher minimum versions is becoming rarer and rarer, I often find myself lagging the stable compiler by at least 2 versions (and that as a Rust project member!).

                                                                                                      1. 1

                                                                                                        If you would like that policy to be different, I recommend giving feedback to the packager team, they are a great bunch :).

                                                                                                        Can you tell me where I can do this?

                                                                                                  2. 7

                                                                                                    In maintaining ggez for about four years, I’ve had compiler updates break the build twice that I can recall. Both times the breakage was in a dependency. Once it was a small but for realsies regression, once it was tightening the rules around unsafe code a little. In both cases it was a bit of a nuisance but that’s all.

                                                                                                    IMO this is acceptable. It’s kinda hateful, but dependencies break sometimes; this is not a Rust-specific thing. If you don’t want to put up with it, don’t use them. A lot of the more stable crates outright say what the oldest version of rustc they support is, which is nice, but for something like ggez that has a huge transitive dependency tree you’re basically stuck using the most recent one.

                                                                                                    1. 3

                                                                                                      Using a library on nightly has been, in my experience, problematic with updating compiler versions. That’s exactly how it’s supposed to be, though.

                                                                                                      Libraries on stable, however, have never once broken for me on a compiler upgrade, and it’s something I’ve done fairly often over the last two years using Rust in production.

                                                                                                      1. 3

                                                                                                        The (valid!) problem most people highlight is that if e.g. the stdlib adds a function in 1.51 and a dependency starts using it, you have to update your compiler. Given that Rust just added const generics and a lot of common libraries like heapless and bitvec have been waiting for it for a while, 1.51 is also a release that will most likely be a release where that is more pronounced.

                                                                                                      2. 2

                                                                                                        Rust has a rare approach to version management: they guarantee backwards compatibility of ‘stable’ features across upgrades, but expect you to always use a very recent version of the compiler (and provide automatic updates).

                                                                                                        I’m not sure why you consider this rare. “Automated upgrades, declaring the version of the API that you want in a manifest file, and a fanatical approach to backwards compatibility” sounds like Windows 10, which might be one of the single most widely-used pieces of software in existence.

                                                                                                        1. 1

                                                                                                          Rust has a rare approach to version management: they guarantee backwards compatibility of ‘stable’ features across upgrades, but expect you to always use a very recent version of the compiler (and provide automatic updates).

                                                                                                          I want to push back here slightly: it’s true, but this is the status quo. Currently, we support the current compiler only and rarely backport fixes. We have a lot of change control going on and ensuring the backwards compatibility here is already a task we spend much time on. But that does not mean that this policy is set in stone, but supporting older compilers requires resources and we (still) are a young language. In general, we prefer to either do things proper or not at all and currently, the needle is still on “not at all”. For that reason, I wouldn’t call it “an approach”, only “the current approach”.

                                                                                                          We make the approach easy by releasing often and predictably (we never missed a release date), which ensures small deltas. Plus above mentioned change control mechanism (CI, Code Review and the big hammer: crater).

                                                                                                          https://github.com/rust-lang/crater

                                                                                                      1. 2

                                                                                                        Could you explain, or point my to an explanation of the term “webtech mentality”? Haven’t heard of it before.

                                                                                                        1. 23

                                                                                                          This is a huge hot take but I actually like it this way. It makes lobste.rs a lot more calm. If I really want to come back to a conversation I can go to the “My Threads” view.

                                                                                                          1. 18

                                                                                                            Because nobody has directly disagreed and this is currently the top comment, I just want to say: I disagree. I miss the notifications. It’s a lot more work to check for replies on mobile.

                                                                                                            1. 10

                                                                                                              Personally, I fear it will make lobste.rs more HN. Meaningful responses which made me learn various things and challenge my assumptions, often changing my view, were extremely valuable to me on lobste.rs. Now, I’m very afraid of this becoming “throw my $0.02 and forget” both for me and for others. I noticed I’m already missing valuable responses when I once accidentally went through “my threads” further than I planned.

                                                                                                              1. 5

                                                                                                                How do you use “my threads” to make it useful? I find it’s always full of stuff I would have to sift through to find what I wanr

                                                                                                                1. 5

                                                                                                                  That sifting being required is the thing I find useful. It makes it harder for me to go back to that conversation, so it makes it easier for feelings in the moment to pass.

                                                                                                                  1. 3

                                                                                                                    Do a ‘Find in page’ for your username.

                                                                                                                  2. 4

                                                                                                                    Not noticing that someone didn’t reply might be good for civility when it comes to heated topics, but it’s just one side effect of not noticing if someone responds to you. It’s pretty easy to not notice a reply or a question between larger threads, and that seems like a loss too.

                                                                                                                    If the issue is fixed, maybe reply-notifications could be turned of in debate-threads, as a kind of cooling measure.

                                                                                                                    1. 4

                                                                                                                      I miss the replies. I don’t comment opinionated in heated debates, but mostly use the comments as a way to ask about things in the article I don’t understand.

                                                                                                                      That is what lobste.rs really shines for me, because I have always gotten very good answers and is learning things I otherwise woo have not. Kinda like stack overflow but all the comments have that same background information.

                                                                                                                      1. 1

                                                                                                                        You can also use pushover or email notifications, both work great for me.

                                                                                                                      2. 4

                                                                                                                        I don’t. I usually don’t go back to threads after I read through them except to reply to people who have replied to me. Now I have to read through my threads all the time….

                                                                                                                      1. 5

                                                                                                                        I remember someone here who was writing about Github’s whole “fork” model being totally busted cuz the activation energy is like “fork this repo, send in one patch, then send it back” instead of just “write the patch and give it in”. I wonder if widespread adoption of this for Git would enable that kind of workflow over on GH & co.

                                                                                                                        (I mean there’s always email patches too I guess… would be cool if GH supported that as well)

                                                                                                                        1. 13

                                                                                                                          The friction is still lower than hoping your email/list didn’t get mangled.

                                                                                                                          1. 2

                                                                                                                            I think it would have been better if Git made sure that attaching patches as Email attachments was also supported by the regular tooling. The entire issue with mangled patch messages stems from the assumption of non-technical clients that plain-text doesn’t have to maintain a structure.

                                                                                                                          2. 4

                                                                                                                            For simple one-file changes, Github’s web UI works fine. You click “edit” on a file, do your changes, then at the bottom there’s a button that allows you to create a PR with that change as its only commit. Github will fork the repository in the background for you.

                                                                                                                            1. 2

                                                                                                                              Yeah, that wasn’t around for the first few years of GitHub’s existence, but it definitely does help with the rate of casual contributions.

                                                                                                                          1. 2

                                                                                                                            This is supposed to be a new version of GNOME, right? So like the switch from 2.x to 3.x. After all this time, I still find the regular GNOME 3 desktop weird to use, and prefer GNOME Classic. I am not sure where to look for it, so I’ll ask here: Does anyone know if they will keep the classic version?

                                                                                                                            1. 7

                                                                                                                              I am glad Fossil exists.

                                                                                                                              There are a broad spectrum of design choices for version control, and I think they get overlooked too often. I use Git, but I’m not a member of the Cult of Git.

                                                                                                                              I’ve tried Fossil – most recently, a few months ago, IIRC. However, the visual look and feel / user experience wasn’t what I wanted.

                                                                                                                              1. 1

                                                                                                                                Do you mean the UI of the command line tool or the web UI?

                                                                                                                                1. 1

                                                                                                                                  I wasn’t a fan of the overall web user experience. I generally liked the CLI.

                                                                                                                              1. 10

                                                                                                                                I’ve never used Fossil, though it seems like an interesting project. But, serious question, isn’t there a risk in providing “all the things” given that not all of those things are likely to be the best available? I’ve seen this mentioned as something SourceForge did wrong by providing a huge assortment of (mediocre) project hosting tools.

                                                                                                                                1. 15

                                                                                                                                  Fossil is primarily developed for SQLite, so they add whatever they need. In that sense, it doesn’t worry too much about adding too much or too little.

                                                                                                                                  One difference between Fossil and Sourceforge will be that the former is a tool and the latter a service. I am more independent Fossil, not to break the UI, to insert ads, or to be unavaliable when I have no network connection.

                                                                                                                                  1. 9

                                                                                                                                    Indeed. Also, Fossil doesn’t provide “all the things” so much as building blocks for all the things. Fossil provides defaults, but prescribes nothing. The settings for ticketing system, for example, include the ability to completely rewrite the SQLite schema provided you include the documented fields required for base functionality. The ticket pages themselves are TH1 scripts (a subset of Tcl), which can be completely overwritten by the administrator. Reports are SQL scripts entered directly in the web UI. You can add any kinds of fields you want. You can add JavaScript if you feel like it.

                                                                                                                                    By default, the ticket system is a simple bug tracker. With a little effort you could turn it into a project management system like Jira, or a customer support page like Zendesk. Fossil does all the heavy lifting for you. Of course these systems would be simple, minimal clones of their counterparts—that’s part of the allure. You can build exactly what you need and only what you need with a few hours of work. Who really uses every feature of Jira?

                                                                                                                                    I feel like people underestimate the time investment for setting up and configuring systems like Jira or Zendesk, and overestimate how long it takes to build something bespoke. Especially when using an easily extensible core like Fossil.

                                                                                                                                    1. 3

                                                                                                                                      By default, the ticket system is a simple bug tracker. With a little effort you could turn it into a project management system like Jira, or a customer support page like Zendesk. Fossil does all the heavy lifting for you.

                                                                                                                                      We use Fossil at my place of work for some things and for a while it was also the bug tracking system for a small group of (related) teams. It still has some information in it for some bugs, but at this point most everything has been migrated to Jira. This is probably because Fossil’s bug tracking is wholly inadequate for large scale projects with lots of repositories and bugs or features that affect multiple repositories. To get that to happen would involve enough customization that using an existing system is almost certainly less effort.

                                                                                                                                      1. 2

                                                                                                                                        For sure. I don’t mean to say that customizing Fossil could replace every use case. I more meant simple and minimal use cases where you don’t really need the full power of bigger tools. Was Fossil inadequate before you grew in scale?

                                                                                                                                  2. 7

                                                                                                                                    I run a local instance of Fossil wiki and store my work notes there. These are usually well formatted notes that I could use to quickly refer something, or some code snippet I could quickly copy and send over to a co-worker, but I mostly use it to jog my memory. After about a year, it’s worked well enough, and I’m happy with it.

                                                                                                                                    So far, I have not found a need for the ticketing system or forum as it would be rather lonely, but after playing around with it a little bit, felt that it could be used to manage projects and communication in a lightweight manner, and I will seriously consider using it, when the need arises.

                                                                                                                                    Say you’re running a community VPS, and hosting some projects, you could use something like Gitea, and that has an issue tracking system, but at some point you’ll need a wiki, a forum for which you’ll need to setup and configure other pieces of software. Running Fossil as an integrated code hosting service, wiki, forum, and now Chat might fit the bill for some.

                                                                                                                                    The only downside I see is that you’ll need to learn how to use Fossil-the-VCS, which is kinda disappointing because I’d imagine many of us have invested a rather large amount of time learning to use Git (tig, magit etc.) well, but if one can get over that, I’d say it’s worth a shot!

                                                                                                                                    1. 3

                                                                                                                                      That’s a good point. The major difference, I suppose, is self-hosting. Another reply mentioned this as well. Certainly, in that light, I can see how all-inclusivity is desirable.

                                                                                                                                    2. 5

                                                                                                                                      Mediocre is relative. For a while Sourceforge was best in class for project hosting. I don’t think the assortment of features was their problem. I think it was more due to falling asleep at the wheel when first Google’s Project Hosting and then Github happened.

                                                                                                                                      Add to that the fact that there was a brief stint where later owners were trying to extract money by dubious means and sourceforge is a case study in plain old bad management.

                                                                                                                                      1. 3

                                                                                                                                        They were far and away the best zero-cost hosting, for a very long time. They had custom sites with custom domains, mailing lists, shell access, very robust hosting of downloads on a network of mirrors (I don’t think any competing forge matches that today, honestly), web based support forums, issue tracking and a small pile of ancillary services. Paying someone to host what they did for a medium sized project would’ve been beyond my means in the early 2000s.

                                                                                                                                        At Sourceforge, the process of applying for a project used to be a bit heavy. You had to spend a paragraph or two describing your plans and explaining why your project was a good use of their resources. Then it took a few days (and sometimes a bit of email back and forth) to get it approved. When Google Code, Code Plex, GitHub and BitBucket came along and the process of starting a project on one of those was just a few clicks -> instant repository, Sourceforge didn’t catch up to that for a long time, and that kind of explains why they were on the decline before the unfortunate series of management changes.

                                                                                                                                        Then one of the many “new management” groups started allowing really shitty ads and even “monetizing” installers for popular tools. They’ve stopped that, and I think they’re generally OK now, but nothing there today makes me feel like that’s the place to start something new.

                                                                                                                                      2. 1

                                                                                                                                        Generally one of fossil’s main benefits is that it’s “all inclusive”. I’m a bit worried about ephemeral chat though - like email, it’s hard to imagine a team without access to some form of non-fossil chat - so I’m not sure I see the value.

                                                                                                                                      1. 21

                                                                                                                                        No surprise Rust has fallen flat here. Rust isn’t a language you can pick up in an hour or two. Also when your program is small enough to fit in your head, you don’t need any language-provided guarantees.

                                                                                                                                        1. 23

                                                                                                                                          Even for a simple program like this, I’d still probably reach for Rust, just because it makes it so easy to pull in dependencies: structopt for parsing command-line arguments, walkdir for filesystem traversal, and regex for pattern matching — not to mention the standard library for its awesome iterator adaptors.

                                                                                                                                          So, out of curiosity, I gave it a shot! It took me <30min, which included checking Serge’s source code to make sure I was matching their functionality.

                                                                                                                                          What struck me about Serge’s implementation is that it doesn’t rely on any dependencies, or even Cargo. That’s definitely diving into Rust in hard-mode, and I’m very curious about what challenges they encountered. The Rust implementation of glob is very similar to the Zig implementation, so I’d guess most of the time was spent on walk. In contrast, I spent virtually no time at all writing that function, since I simply pulled in walkdir as a dependency.

                                                                                                                                          (To be clear: I agree completely that Rust isn’t a language you can pick up in an hour to two!)

                                                                                                                                          1. 12

                                                                                                                                            And walkdir won’t use a call stack whose size is proportional to the input.

                                                                                                                                            1. 2

                                                                                                                                              True. But in fairness to a recursive implementation, the stack depth is proportional to the depth of the input directory tree, which is almost certainly <100. Not always, I’m sure there’s some fringe case, but the max depth on my entire Mac filesystem is 27.

                                                                                                                                              1. 4

                                                                                                                                                I wonder how many of these impls fail when the filesystem isn’t necessarily real, or when there’s a circular symlink

                                                                                                                                                1. 3

                                                                                                                                                  Or a circular filesystem. I don’t recall, can you create loops with mount --bind?

                                                                                                                                                2. 1

                                                                                                                                                  I recall in the past using OSes with 1) maximum path length 256 characters, and 2) maximum of 8 directories in a path.

                                                                                                                                              2. 8

                                                                                                                                                One of the things I that always keep me away from Rust are things like Cargo and the culture of external dependencies. Compared to other modern languages like Go, there are far more restrictions on how a project should look like. Since working with Java and Android, there has always been something inherently suspicious to me about those kinds of languages.

                                                                                                                                                1. 12

                                                                                                                                                  I hear this a lot, but what strikes me is why this is an issue when there is nothing inherently about Rust that keeps one from vendoring dependencies (which even has dedicated tooling), or copy/pasting inline, or just writing everything from scratch. Sure, it’s not super common (although some do it), and probably not the best option; but it’s still an option. If one doesn’t want any external dependencies, don’t use them.

                                                                                                                                                  1. 7

                                                                                                                                                    One of the things I that always keep me away from Rust are things like Cargo and the culture of external dependencies.

                                                                                                                                                    Would you call this the Cargo cult-ure? /s

                                                                                                                                                    1. 1

                                                                                                                                                      Dang, beat me to it ;)

                                                                                                                                              1. 10

                                                                                                                                                As someone who’s been thinking of trying out Plan 9, this seems to indicate there has never been a better time to do it.

                                                                                                                                                1. 1

                                                                                                                                                  I wasn’t able to gather if the source release is usable or not, seeing that it is 20 years old.

                                                                                                                                                  1. 5

                                                                                                                                                    It appears that there’s a raspberry pi image available, as well as others. Take a look under Download on the webpage http://p9f.org/

                                                                                                                                                    Edit: there are more images here: http://9legacy.org/download.html

                                                                                                                                                1. 7

                                                                                                                                                  Yes, I am in a similar lost state as well. I’ve written about this from the “shell” perspective here.

                                                                                                                                                  I do want to invest my time into an editor/shell platform, but all existing ones provide only pieces of what I need. Emacs has the right “is an OS” mindset, UI idioms and daemon mode, VS Code has a dependable extension ecosystem and adequate configuration workflow, IntelliJ has the right amount of out-of-he-box polish and attention to details. None have a reasonable extension language :)

                                                                                                                                                  My current solace is that I work on an LSP server, so, if an ideal editor is to be created, I’ll be able to use it. Even than, I am not completely sold on the LSP approach, and still have doubts that maybe IntelliJ-like polyglot IDE brain is a better approach overall.

                                                                                                                                                  1. 5

                                                                                                                                                    None have a reasonable extension language :)

                                                                                                                                                    What would you say makes a good extension language? I am personally fond of Elisp, but that is probably also because I use it regularly.

                                                                                                                                                    1. 8
                                                                                                                                                      • dynamic, open world runtime (as you want to eval user code and load plugins)
                                                                                                                                                      • reasonably fast runtime (sometimes the amount of data to process might be substantial)
                                                                                                                                                      • statically/gradually typed (so that’s it’s possible to autocomplete your way through dotfiles without knowing stuff up front. This might be possible to achieve using smalltalk-like dynamic introspection instead of static analysis based approach. I am betting on types though, as I’ve never experience “discoverability via autocomplete” in elisp or clojure in practice).
                                                                                                                                                      • support for modularity, so that diamond dependencies are not a problem (Julia is interesting as dynamic language which has this)
                                                                                                                                                      • reasonable semantics and built in idioms for grunt work tasks. Things like “no two nulls” and “reasonable collections and iterators”
                                                                                                                                                      • big ?: monkey-patchability, a-la Emacs advice system. That’s definitelly a plus for each isolated user, but I don’t know if that’s good or bad for the ecosystem as a whole, as it goes directly against modularity.
                                                                                                                                                      • big ?: DSL capabilities? The current fashion (Swift, Kotlin, Dart) is that UI should be described in code, mostly as data, and that it is important enough to have special support in the language/compiler.
                                                                                                                                                      1. 4

                                                                                                                                                        I think Common Lisp meets all these points well (some might disagree on iterators and sequences). Only trouble is that GNU Emacs hasn’t been rewritten in it yet!

                                                                                                                                                        1. 3

                                                                                                                                                          Emacs hasn’t been rewritten in it yet!

                                                                                                                                                          https://github.com/robert-strandh/second-climacs (eventually, maybe . . .)

                                                                                                                                                          1. 3

                                                                                                                                                            No, but Lem is developed: https://github.com/lem-project/lem/ (ping @Moonchild)

                                                                                                                                                      2. 1

                                                                                                                                                        Even than, I am not completely sold on the LSP approach, and still have doubts that maybe IntelliJ-like polyglot IDE brain is a better approach overall.

                                                                                                                                                        Can you expand on what this approach is? Is it just the idea of having all the parsing and semantic analysis be performed in-process, or is it something more precise? Very curious about this.

                                                                                                                                                        1. 1

                                                                                                                                                          The main thing is using the same data structures for different programming languages. Sort-of LLVM for front ends.

                                                                                                                                                          In IntelliJ, you can use the same code to process Rust and Java syntax trees. This results in some code-reuse, and somewhat better user experience for polyglot codebases, as its relatively easy to implement cross references between different languages.

                                                                                                                                                          But front ends differ much more than backends, so, unlike LLVM, IntelliJ isn’t exactly a holly grail of code reuse.

                                                                                                                                                          1. 3

                                                                                                                                                            The main thing is using the same data structures for different programming languages. Sort-of LLVM for front ends.

                                                                                                                                                            Ah, I see, kind of like TreeSitter but with additional semantic information? I think Langkit kind of matches this description too, but the only end user for that is the Ada language.

                                                                                                                                                            1. 3

                                                                                                                                                              Yup. Off the top of my head, IntelliJ provides the following in a reasonably language agnostic fashion:

                                                                                                                                                              • parsers and syntax trees (basically, tree sitter)
                                                                                                                                                              • file indexing infrastructure
                                                                                                                                                              • tree stub indexing infrastructure (the effectiveness of it does depend on language semantics)
                                                                                                                                                              • code formatters
                                                                                                                                                              • basic IDE features, which depend only on the syntax tree
                                                                                                                                                              • approximate reference search infrastructure
                                                                                                                                                              • an API to GUI parts of ide, so just you don’t have to re-invent a million small things like associating icons with specific kinds of syntax nodes.

                                                                                                                                                              Note that actual “language semantics” bits are implemented by each language separately, there are common patterns, but little common code there. The exception are Java-like languages (Java, Kotlin and maybe Groovy) which have a “unified ast” framework for implementing polyglot refactors.

                                                                                                                                                      1. 17

                                                                                                                                                        Back when they ousted RMS I felt lost. Here was one of the most morally consistent people I knew of, with all that that implies, having to step down as the head of a movement he embodies. While I found the mob justice extremely dishonest and opportunistic, it was uncomfortable to realize that so many around me were OK – or even in favour of it.

                                                                                                                                                        I actually feared for the FSF and their integrity, as such a forced resignation could never ensure a proper transition. They could have easily devolved into something like the Mozilla, which would be a terrible loss. Even if he is not the president of the FSF, I feel better if he continues to play a part in the organisation.

                                                                                                                                                        That being said, and as others have pointed out, he won’t be here forever. It doesn’t have to be death, just age that makes it difficult for him to do his job. While he is back, I think an effort should be made to future-proof the FSF and make sure it stays the FSF. I was hesitant to join the FSF(e) after what had happened, but I’m considering it again now.

                                                                                                                                                        1. 28

                                                                                                                                                          While I found the mob justice extremely dishonest and opportunistic, it was uncomfortable to realize that so many around me were OK – or even in favour of it.

                                                                                                                                                          As someone who follows many communities in the FOSS space, I have a problem with the characterisation of this as mob justice (or maybe we’re disagreeing on a fuzzy term). RMS has been criticised for his opinion pieces on just about everything for a long time and in RMS case, particularly on things he directly wrote on his blog. We’re not even talking about heresay! Those were things like support for necrophilia (on previous consent by the dead), supporting the abortion of people with trisomy 21 (and in passing saying that people should get a pet instead, a statement he later apologised for, to be fair) and other stuff.

                                                                                                                                                          But for a long time, that was rather niche (which also speaks to how many people actually read is blog or just put those statements off). So, to get to my point: if you were not following these things along, it’s easy to say that the people dropping by and making statements are a random and quick mob. But that is not the case: it’s more like the water level has been rising for a long time and suddenly, this criticism breaks into main stream. But of course, year long critics won’t be silent there - for what reason should they? So suddenly, you see a hundred angry voices. But we tend to forget that the day before, we had 99 critics who were ignored for years.

                                                                                                                                                          1. 10

                                                                                                                                                            I don’t think we disagree on what happened, just on our sentiments. Yes , “mob” is a fuzzy term, but I’m specifically referring to the tactics used by Twitter to quickly popularize one side of a story, and force organisations to respond as fast as possible. From my perspective, it felt like a Coup d’état, without any room for debate or compromise.

                                                                                                                                                            Of course a lot of these people were not neutral, but managed to channel their distaste for RMS at the strategically right time, in the right way. Hence “opportunistic”

                                                                                                                                                            Personally, I don’t think that RMS and his position were the best combination. He is a very particular person, that a lot of people are not used to. The paedophilia controversy demonstrates this: While most people accept it to be immoral in principle, he wanted to know why. After all, accusations of paedophilia were used in the same way as accusations of terrorism to infringe on civil rights. I would add that as a culture we have a weird fixation on just-over-18-year-olds that is suspiciously contradictory.

                                                                                                                                                            Any meaningful criticism must start from the actual situation. Simply “banning” him is a one-sided approach that has necessarily lead to disagreement, as one side says it was long overdue, while the others view the action as illegitimate. The fact that those opposed to him did not care about this fact is something I find very disturbing. Hence “disturbing”.

                                                                                                                                                            1. 18

                                                                                                                                                              I think you missed an important part of the comment you replied to. It wasn’t “quick” or “as fast as possible” or a sudden “coup d’état” – the pressure had been there for years, from many many people. It had been building and building and building. If someone has been unaware of that or not taking it seriously, it can seem sudden, but the only thing that was sudden was the collapse of the network that had supported and protected him from criticism and consequences during all those years (largely due to the Epstein scandal finally breaking into wide public knowledge, which was another case of something building for years and only seeming “sudden” to people who didn’t previously know about it), not the criticism itself.

                                                                                                                                                              1. 4

                                                                                                                                                                Considering the section “A short overview of references in chronological order” from this article, the first event in this specific issue happened on September 12., when “Remove Richard Stallman” was published. On September 16. RMS had to resign. That is quick if you ask me.

                                                                                                                                                                Of course: RMS wasn’t born on September 12., 2019, things happened before, but a coup d’état is not a spontaneous uprising either, but a well thought through, swift plan to change some state of affairs. Hence why it felt like one (to me).

                                                                                                                                                                1. 11

                                                                                                                                                                  A dam that bursts also tends to fail “suddenly”. Nothing about this surprised me - apart from the fact that RMS didn’t weather this particular storm.

                                                                                                                                                                  In fact, I was vaguely aware of how RMS was viewed by many, many people for years before this. But it took reading the examples in your linked article to really bring it home how weird many of his stated views were.

                                                                                                                                                                  Although to be fair, it’s to his credit that he has not gone back and removed them retroactively.

                                                                                                                                                                  1. 5

                                                                                                                                                                    A dam that bursts also tends to fail “suddenly”.

                                                                                                                                                                    Yes, but a social order inspired on the physics of dams doesn’t seem attractive. Nobody can take all the blame, RMS and the FSF had to see something like this was coming. But if nobody is interested in resolving a conflict, the result will almost always be unsatisfactory.

                                                                                                                                                                    1. 10

                                                                                                                                                                      The testimonies after RMS left were full of examples of people trying to talk to him, trying to reason with him, trying to make him understand that his actions were on the scale from making people very uncomfortable to actively harming people. He didn’t listen - or at least, he did not modify his behavior.

                                                                                                                                                                      That’s what I meant by a dam bursting. It was only surprising to those that saw the edifice as strong and unyielding, but the engineers had been warning about cracks and subsidence for years.

                                                                                                                                                                      1. 2

                                                                                                                                                                        I’d be curious to read these, do you have any links or archives?

                                                                                                                                                                        As I’ve said, my impression has always been that RMS is open to reasoned arguments, but I might be wrong.

                                                                                                                                                                        1. 4

                                                                                                                                                                          Here is a link that’s included in the discussion last year.

                                                                                                                                                                          https://medium.com/@thomas.bushnell/a-reflection-on-the-departure-of-rms-18e6a835fd84

                                                                                                                                                                          1. 2
                                                                                                                                                                          2. 2

                                                                                                                                                                            And finally, this post which I remember reading but not bookmarking, but has shown up again now

                                                                                                                                                                            http://ebb.org/bkuhn/blog/2019/10/15/fsf-rms.html

                                                                                                                                                                            Firstly, all these events — from RMS’ public comments on the MIT mailing list, to RMS’ resignation from the FSF to RMS’ discussions about the next steps for the GNU project — seem to many to have happened ridiculously quickly. But it wasn’t actually fast at all. In fact, these events were culmination of issues that were slowly growing in concern to many people, including me.

                                                                                                                                                                2. 19

                                                                                                                                                                  Of course a lot of these people were not neutral, but managed to channel their distaste for RMS at the strategically right time, in the right way. Hence “opportunistic”

                                                                                                                                                                  What do you expect of people who have been heavy critics for a long time? Wait until the news cycle is somewhere else again? Sure, this can be seen “opportunistic”, but to be opportunistic, you need to have something ready for the opportunity and that group was on very solid footing. Politics is all about seizing opportunities. And RMS could have addressed all those things over years, or at least not have given people more ammunition.

                                                                                                                                                                  I think it’s illegitimate to ask for enemies with a serious and documented concern (again, the primary source is stallmans website itself), to not follow through on opportunity.

                                                                                                                                                                  I think it’s easy to blame it all on Twitter: 20 years ago, RMS was the only loud voice in the room. What he missed is that he is not the only loud voice in the room anymore and a lot of those voices are not on his side anymore.

                                                                                                                                                                  RMS is not accused of pedophilia. He is accused of questioning the harm caused by it: https://www.stallman.org/archives/2006-may-aug.html#05%20June%202006%20%28Dutch%20paedophiles%20form%20political%20party%29 (EDIT: I don’t pull the quote in here, follow if you want)

                                                                                                                                                                  He does not give reason how consent with a small child is even possible. He’s basically concern-trolling.

                                                                                                                                                                  After all, accusations of paedophilia were used in the same way as accusations of terrorism to infringe on civil rights.

                                                                                                                                                                  Ignoring the stuff around this sentence (tons to unwrap there), I disagree with this fully. People were taking offense with statements such as the above. This has nothing to do with terrorism. This is a false equivalence.

                                                                                                                                                                  No one has “banned” him. But people have been seriously questioning over the years whether he is the right person to take this seat, especially when there’s better ones available. It’s not like that’s a zero sum game: a seat as a director of the FSF is also a seat taken for someone else.

                                                                                                                                                                  1. 5

                                                                                                                                                                    What do you expect of people who have been heavy critics for a long time?

                                                                                                                                                                    I don’t imply I it is surprising. It would be stupid for them to not go through with it, given their goals.

                                                                                                                                                                    And RMS could have addressed all those things over years, or at least not have given people more ammunition.

                                                                                                                                                                    I’m sceptical of this, as many people have already made up their minds about him, either because they do not like his ideas of free software or his other view. After all, he does change his mind, but that was not important. No matter what he does, you can always come up with an accusation that it was too little, too late.

                                                                                                                                                                    He does not give reason how consent with a small child is even possible. He’s basically concern-trolling.

                                                                                                                                                                    I don’t care much for neologisms like “concern-trolling”, and we will probably disagree here, but I think that a virtue of his is honesty. He isn’t hiding any position, he isn’t preparing a different argument. He just says that he doesn’t understand something, and doesn’t insist on it as a dogmatic point. All he wants to here is a reasoned argument, which should always be possible, but instead all people throw back at him are insults and accusations.

                                                                                                                                                                    People were taking offense with statements such as the above. This has nothing to do with terrorism. This is a false equivalence.

                                                                                                                                                                    I am elaborating an argument, I would be very grateful if you stopped reading me in bad faith. If something I wrote is confusing or hard to understand, ask, don’t guess.

                                                                                                                                                                    1. 7

                                                                                                                                                                      I’m sceptical of this, as many people have already made up their minds about him, either because they do not like his ideas of free software or his other view.

                                                                                                                                                                      Occam’s Razor. What is the simpler explanation: personal vendetta against the guy, or honest disapproval of his stated positions?

                                                                                                                                                                      1. 1

                                                                                                                                                                        Of yes, most will probably not have cared or just dislike him. Without any further evidence, claims like a Vendetta shouldn’t be made. But I know of people like that who do exist. Sahra Mei, a Twitter complains about RMS all the time, and she absolutely loathes RMS and the FSF:

                                                                                                                                                                        I’ve been a diehard free & open source software user, contributor, and backer since college in the 90s. But at this point, I would rather run proprietary software that I can NEVER see or change if the alternative is to run software licensed by the FSF.

                                                                                                                                                                        I am not sure, but I believe that Coraline Ada Ehmke (the author of the Hippocratic License) also has a history with RMS, but I couldn’t find anything on that right now.

                                                                                                                                                                        These kinds of people have made up their mind, and have classified RMS as unsalvageable.

                                                                                                                                                                        1. 5

                                                                                                                                                                          These kinds of people have made up their mind, and have classified RMS as unsalvageable.

                                                                                                                                                                          Everyone who looks into this finds stories of people close to Stallman telling him that his personal behavior is a large problem. Over and over. For years. And always the story ends with Stallman not changing at all, because he believes it won’t ever matter – nobody ever held him accountable or made him face consequences before, and so he doesn’t expect anyone ever will in the future.

                                                                                                                                                                          At what point is it OK to just say “yeah, people have tried for years to ‘salvage’ here, given second chances, third chances, hundredth chances, and nothing changed, so let’s move on”? At what point, in your view, is it acceptable for everyone else to decide to be done with trying to explain and get him to change when he has made it abundantly clear that he has no intention of ever being receptive to that? Do we have to give him a thousand chances? Ten thousand? A million? Does everybody get that many chances, or just him? Do we ever stop to weigh against the cost of people who might be driven away from the movement by this one dude? And why is it literally every other living human’s job (seemingly) to be endlessly willing to re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-explain to him and give him the two hundred quintillionth chance, rather than his job to either figure out how to behave like a decent person, or else face people not wanting anything to do with him?

                                                                                                                                                                          The Free Software movement is actively held back by Richard Stallman and by the the need of some people to focus the movement on him personally rather than on a philosophy. Stallman at this point is effectively only able to preach to the already-converted, and even struggles with that – plenty of people will say things like what you quoted above, about agreeing with the ideals but being turned off by the person. And he has made it abundantly clear that he will never voluntarily change or step back. So the only way forward for Free Software is to leave Stallman behind.

                                                                                                                                                                          1. 6

                                                                                                                                                                            The Free Software movement is actively held back by Richard Stallman…So the only way forward for Free Software is to leave Stallman behind.

                                                                                                                                                                            Not one of my non programmer friends knows who RMS is. The Civil Rights movements had thousands of leaders. There are many organizations fighting the #imaginaryProperty system. We don’t need RMS or FSF to lead anything. We need them to be the best versions of RMS and FSF they can be.

                                                                                                                                                                            I can tell you there is a ton of money that has been actively trying to turn people against RMS for decades. If I was him it would be very hard to tell which people to trust, and perhaps I wouldn’t have changed potentially bad habits either. Sometimes being an early leader is very lonely.

                                                                                                                                                                            One of my great regrets in life was not doing more to support aarsonsw when he was being attacked. I should have done more but I didn’t. As the saying goes, freedom isn’t free. It takes people of courage like RMS and aarsonsw and AE who stand up to a great evil that 90% of people don’t think about it and 9% of people actively are paid to promote. That’s gotta be a lonely place to me, especially in the early days.

                                                                                                                                                                      2. 3

                                                                                                                                                                        I just want to say I found your comments really well put! Some good conversation in this thread.

                                                                                                                                                                        I’ve read RMS’ writings and software for years. As far as I remember it is 99% about free software, and 1% about random stuff. To judge him on a fraction of the random stuff is not fair, IMO. I want to see any critic of his on these issues do an honest text data analysis to figure out how much of his writing is truly about the things they accuse him of. My guess is it will round to zero (but I could be wrong and would give an honest read if anyone truly cared about this as evidenced by actually doing any hard work).

                                                                                                                                                                        The one point that does concern me is if women who have worked around him have not felt it to be a comfortable work environment. That is something I’ve found to be true at nearly every tech organization, and I would be surprised if FSF was different, and I hope they can do an audit and serious investigation on how to make huge improvements on that front, if that is the case. I read a relevant article recently with some tips: https://www.forbes.com/sites/kendalltucker/2019/04/26/startup-accelerators-contributing-to-or-working-against-tech-diversity/ (and I’m always looking to read more if people have suggestions!)

                                                                                                                                                                        1. 6

                                                                                                                                                                          Stallman writes about politics every single day on his personal website. He probably writes more about non-free-software politics than anything else these days.

                                                                                                                                                                          1. 1

                                                                                                                                                                            Thank you. I was wrong, he certainly does write a lot about non software stuff. I guess I was viewing a biased sample (I was always reading his content about software). Appreciate you pointing that out.

                                                                                                                                                                          2. 2

                                                                                                                                                                            As @hungariantoast says, a lot of his day-to-day writing is regular politics. But I think that you are right that only an extreme minority of his posts are the controversial ones. For the most part, he appears to be a regular social democrat, advocating for healthcare, climate protection, women’s rights, etc.

                                                                                                                                                                            I have never met RMS in person, though we have communicated, and I understand what people mean. The crux of my problem is the matter in which he was treated and the issues that raises for the free software movement and their legitimacy as a whole.

                                                                                                                                                                            Edit: And thank your for your compliment, I was worried my comments were badly written.

                                                                                                                                                                  2. 10

                                                                                                                                                                    Back when they ousted RMS I felt lost. Here was one of the most morally consistent people I knew of

                                                                                                                                                                    RMS is really the only reason I began to care about Free Software. His personality, consistency, and unwavering resiliency in the face of everything that opposes the movement is impressive and, to a teenager interested in software, enthralling; Free Software really set a foundation for some of my later views on ethics, justice and philosophy, and I feel for many other people he did just the same.

                                                                                                                                                                    1. 9

                                                                                                                                                                      And yet when others take a stance of unwavering resiliency on what they see as justice, you seem to think (based on your comments here) it is unfair. Which is logically inconsistent – if it is acceptable for one person to be so unforgivingly harsh in the pursuit of their moral system, it is acceptable for another person to do the same.

                                                                                                                                                                      In ethics, this is usually when we break out Kant and the categorical imperative, and ask someone to consider “how would the world look if everybody – including people with different ideas of what’s right/just/etc. – were to adopt this way of acting”. If you do not like what you see, then it’s an argument against that way of acting.

                                                                                                                                                                      1. 4

                                                                                                                                                                        I don’t think it’s unfair they take a stance on something (that’s their right imbued unto them by nature’s creator), I simply don’t believe they are fighting for anything just.

                                                                                                                                                                        1. 3

                                                                                                                                                                          You’re going to have to be a bit more specific about who “they” are and “what” they are fighting for that you believe is unjust while free software is just.

                                                                                                                                                                          I find it really dissonant, the fact that people get amped up on the social justice movement that is free software, which nominally represents equal opportunity / autonomy / freedom of expression, and then turn around and fight against longer lived social movements that advocate for the exact same set of core values, and that have paved the way for free software.

                                                                                                                                                                          1. 5

                                                                                                                                                                            I’m not sure what you think I believe, nor is lobste.rs the place to have a discussion about politics tangential to the discussion at hand.

                                                                                                                                                                  1. 2

                                                                                                                                                                    Looking forward to even more custom things breaking in GNOME, which seems to be the most common hiccup I have upgrading Fedora versions.

                                                                                                                                                                    1. 2

                                                                                                                                                                      Do you have any example? I have been on Fedora since 28 and, from memory,nothing ever broke after an upgrade (on 33 now). I tends to wait a month or two before upgrading so maybe that’s why.

                                                                                                                                                                      1. 1

                                                                                                                                                                        Usually my theme, in some unpredictable way, and at least one or two extensions.

                                                                                                                                                                        1. 1

                                                                                                                                                                          I saw consistent crashes from an SDL app, but they went away when I switched back to X from wayland.

                                                                                                                                                                          1. 1

                                                                                                                                                                            I enable the overview mode in GNOME Classic, and that usually breaks every release.

                                                                                                                                                                            I tends to wait a month or two before upgrading so maybe that’s why.

                                                                                                                                                                            This is probably a good idea. My installations deteriorate after 2-3 upgrades, and I guess part of it is the frequent updating.

                                                                                                                                                                          2. 2

                                                                                                                                                                            I mean, you don’t go to fedora because you want stability

                                                                                                                                                                          1. 1

                                                                                                                                                                            lldb had to not be gdb compatible in their commands.

                                                                                                                                                                            This puzzles me too. I recently tried it out for the first time, and it seems unnecessarily different, considering how similar they really are.

                                                                                                                                                                            1. 4

                                                                                                                                                                              Just like the USA, I never loose a war, I just “strategically retreat”. Therefore, I have a lot of projects that are suspended, and probably more I have forgotten.

                                                                                                                                                                              Here are few off the top of my head:

                                                                                                                                                                              • One of my hardest failures was in high-school, when given the task to schedule classes for a particular problem. I didn’t know about NP, SAT, linear programming, hard/soft constraints, reduction, etc. So I tried to hard-code it, and it didn’t work out that well. The effort I invested vs the result was very depressing, and almost kept me from studying CS. The story turns out well in the end, as I managed to solve it as my bachelors thesis.
                                                                                                                                                                              • Around the same time I wrote an android game involving regular expressions. The code was horrible, and the puzzles were easy to solve. Had I known language theory, I might have figured out that I could construct a random regular expression, and then generate words to match and not to match. I can do that part now, but I’m lost when it comes to Android programming :/
                                                                                                                                                                              • I had the idea of using receipt paper and a little printer to generate a little summary every morning, of all the information I needed: When my buses arrive, what appointments I have, my todo-list, weather, etc. The idea was to replace my smartphone with a little piece of paper. But instead, I just have a dozen rolls of receipt paper lying under my desk, as I never found the time to look into how to hook up all the parts.

                                                                                                                                                                              I also want to add that this kind of thread is very refreshing. People usually just talk about what the have managed. Only hearing that part of the story makes one feel very incompetent. These kinds of discussions help fix that impression.

                                                                                                                                                                              1. 2

                                                                                                                                                                                I had the idea of using receipt paper and a little printer to generate a little summary every morning, of all the information I needed: When my buses arrive, what appointments I have, my todo-list, weather, etc. The idea was to replace my smartphone with a little piece of paper. But instead, I just have a dozen rolls of receipt paper lying under my desk, as I never found the time to look into how to hook up all the parts.

                                                                                                                                                                                Last night I plugged in a cheap receipt printer (where GS V, the command for cutting, is a no op) and catted to it. I could realistically log to it from my shell now, and this is a superpower for me. I encourage you to find a USB interface receipt printer and just plug it in to a linux machine, it Just Works!