Threads for rheaplex

  1. 2

    s/open source//

    1. 4

      Love the philosophy/opinions behind this company. I’d love to buy one of their systems sometime. Definitely on the list (alongside MNT Reform).

      1. 4

        Two Talos IIs and a Blackbird here. My daily driver is a dual-8 (64 thread) T2 with 64GB RAM and an AMD WX7100 running Fedora. The Blackbird is set up as an HTPC.

        1. 3

          I’m using a T2 with a WX9100 and I seem to be cursed - if I stray from Kernel 5.5 with Debian the graphics card usually won’t start. But I’m typing this in Firefox on Bullseye and it’s a great experience otherwise.

          1. 2

            In the category of lies, damn lies and benchmarks… how do they compare speed wise to the new Ryzen’s?

            1. 3

              Open Benchmarking has some results, but not much which compares the Power9 to recent CPUs, due to the age difference. https://openbenchmarking.org/result/2001249-KH-1806251AR18&stis=ZW5jb2Rpbmc%2CaHBj%2CbXVsdGljb3Jl&hgv=i72600k-RicZed&ppt=D

        1. 11

          Do you know either language?

          Use the one that you know.

          If you love working with Python, then I’d suggest Go. Rust would likely be too much cognitive overhead for little benefit.

          1. 5

            Interesting. I would have the exact opposite reaction. Go will make you think about raw pointers and that kind of thing, whereas rust you can write at a high-level like Python.

            Totally agree use the one you know unless you have a desire to learn a new one.

            1. 18

              If pointers are too much cognitive load then Rust’s lifetimes and ownership juggling is going to be way worse. I’d say that the comparison is more that Python and Go are not particularly functional languages, while Rust obviously is (and that’s the appeal of it to people who like functional languages).

              If Rust is faster for a given use case that’s a more like-for-like basis for comparison, but then you might want to use Fortran to go even faster depending on the use case. ;-)

              1. 4

                Admittedly I’ve invested time in becoming comfortable with Rust, but I actually concur – after gaining some familiarity, Rust feels much higher level than Go.

                1. 6

                  Rust does can definitely operate at a higher level than Go, but it also has a lot more cognitive overhead.

              2. 5

                Pointers in Go are pretty trivial to work with, and I say this coming to Go from Ruby. Basically your only concern with points are “they can be nil,” otherwise you barely need to differentiate between pointer and structs if you’re writing idiomatically (that is a gross oversimplification and there are performance implications at times, but it’s extremely unlike C/C++ in this respect).

            1. 3

              Is it Microsoft Teams?

              It’s Microsoft Teams isn’t it.

              1. 23

                Nothing particularly surprising here, but a good read. The lack of anything to show for in the blockchain sphere after 12 years except for Bitcoin itself (and even there it’s unclear to me whether that has proven itself, or is just hanging on fueled by money laundering and as support for the shitcoin investment fraud scene).

                I agree with others that it seems barely on topic here. Certainly Stephen Diehl’s Haskell/Crypto criticism from a couple weeks back seemed far more relevant to the site, and that was moderated, presumably because it was deemed off-topic…

                1. 9

                  I think the problem is you’re not aware of the developments coming out of the crypto space. Saying that there’s nothing to show for is incorrect, in my opinion.

                  1. 7

                    The original article makes that point pretty convincingly; you might want read it and argue against that, instead.

                    (Are you invested in the crypto space by any chance?)

                    1. 9

                      I come from a country that has experienced severe inflation and the consequences of incompetent politicians in control of the central bank. You bet I’m invested in the crypto space. You might be too sooner than you think.

                      1. 12

                        I come from a country that has experienced severe inflation and the consequences of incompetent politicians in control of the central bank.

                        So what developments in the crypto-space has solved this problem? (Referring your original post)

                        1. 7

                          Widespread adoption of a currency that can’t be controlled by any government solves this.

                          Bitcoin in theory solves this, but it’s not scalable, fees become expensive and the consensus algorithm based on PoW is subject to too much systemic risk in my opinion. Some people are concerned about the environmental harm that BTC mining may cause. Promising alternatives to Bitcoin exist that are much more scalable, clean and that seem fit for the purpose of p2p digital cash, however, these technologies need to be stress tested as they make fundamental changes to the traditional BTC protocol. In order to stress test them you need people to use them, but it’s so easy to create a new cryptocurrencies that now there are thousands of them. Many are scams. So legitimate projects need to compete for the trust and attention of people.

                          All this only pertains to those aiming at becoming p2p digital cash, which is my main area of interest, then you have smart contracts which are a whole other world. New developments are coming out all the time and it’s hard to keep up. Extremely interesting experiments and ideas get implemented all the time. You can rest assured that cryptocurrencies are here to stay. Buckle up!

                          1. 3

                            Which brings us full circle: These “better” digital currencies have been touted for 5, 10 years. If these truly were a viable improvement, a successful bitcoin successor could be expected to have emerged, with all the effort that’s been going into the field. By now it seems reasonable to suspect that there’s nothing viable there, and the research busywork machine is just kept rolling (consciously or not) because of the investment fraud incentives.

                            1. 4

                              There ar successful Bitcoin successors, see Monero and the like. Maybe not as successful as anyone would like, but it doesn’t stop them being viable replacements.

                              1. 1

                                Well, we’ll see how things pan out.

                          2. 10

                            You can’t solve a social/political problems with technical solutions.

                            Incompetent politicians will just make cryptocurrencies illegal if the adoption is ever high. They will blame pedo-rings, money laundering, terrorism, drug dealers etc.

                            Technically competent people need to stop thinking the technological space exists in a separate plane from the rest of humanity.

                            1. 3

                              Only because something is made illegal it doesn’t mean that people will comply.

                              1. 4

                                If this is your solution, then why even have crypto-currency? Just don’t comply with the central bank’s monopoly on the money supply.

                                1. 1

                                  In most places it hasn’t gotten bad enough yet for the opportunity costs to be too high not to use them.

                                  1. 1

                                    So the people are not willing to not comply now but they will start not complying once the crypto new world order is implemented?

                                    1. 1

                                      I had a long answer to your question but my browser crashed. People will do what is best for them. Cryptocurrencies are not immoral and people around the world are starting to adopt them. If this continues and good results are shown, it’d be hard for a liberal (in the freedom, not political sense) government to forbid their use by people. There’s a good case to make that the USD’s time as a reserve currency is coming to an end. Something else will have to take its place.

                                      I recommend you watch this very short video: https://youtu.be/1tHO3cylCRM

                                      1. 2

                                        There’s a good case to make that the USD’s time as a reserve currency is coming to an end.

                                        This was said 10 years ago.

                                        At the end of the day, no cryptocurrency is backed by 10 aircraft carriers, 1000s nukes and millions of people willing too die to keep it afloat.

                                        If this continues and good results are shown, it’d be hard for a liberal (in the freedom, not political sense) government to forbid their use by people.

                                        It would be very easy. Governments have banned private currency before i.e. liberty dollar. The ability to control the money supply is fundamental to a nation’s sovereignty.

                                        Also note that nobody will use a currency that fluctuates in value by 10% daily seriously. That is simply not workable.

                                        1. 1

                                          This was said 10 years ago.

                                          Things change my friend. The dynamics of central banking are structured so that politicians have an incentive to print money in order to make the constituency happy in the short-term, with dire consequences. To see how things have changed, just check this out: https://www.federalreserve.gov/monetarypolicy/bst_recenttrends.htm.

                                          Regarding cryptocurrency, 10 years ago all we had was a whitepaper and an initial implementation. Now you have a whole new asset class, a field full with people working on new projects and ideas. Give it more time.

                                          At the end of the day, no cryptocurrency is backed by 10 aircraft carriers, 1000s nukes and millions of people willing too die to keep it afloat.

                                          None of this matters when you have the central bank controlling that currency printing it without proper regard to monetary phenomena. If people see their money being devalued, they’ll start using something else. It’s as simple as that, even if you try to coerce them not to, they’ll do it. Take my word for this, because I’ve seen it many times.

                                          It would be very easy. Governments have banned private currency before i.e. liberty dollar. The ability to control the money supply is fundamental to a nation’s sovereignty.

                                          This is false. Nations were sovereign before central banks. The problem is that governments like to have power and they get tons of it through controlling the currency. This has to stop, and it’ll stop eventually.

                                          Also note that nobody will use a currency that fluctuates in value by 10% daily seriously. That is simply not workable.

                                          They will if the volatility is better than the impact of holding a devaluing currency is lessened. Also this problem will solve itself once it gains wider adoption. Volatility is caused by a small market cap. People still speculate on fiat money (forex) and even the USD can be subject to quick losses of value. Just look at the USD’s worth over this year, it’s going to shit.

                            2. 3

                              With all due respect, cryptocurrencies are not exactly well known for their stability.

                              An unregulated currency used mostly by speculators and subject to price manipulation is not what I regard as a suitable replacement for fiat.

                              1. 2

                                Well, we’ll see how things pan out.

                                1. 3

                                  A fair question is: could something apart from a blockchain-based solution work? Some kind of gold or its facsimile?

                                  And out of curiosity: how ok are these crappy governments with their crappy central banks with the use of crypto cash? Is it widespread enough to matter to the government?

                                  The EU has put in enough regulation to make it for traditional intents and purposes illegal, unless you do bureaucracy, when it becomes (by my understanding) more trustworthy when dealing on exchanges.

                                  Sometimes bitcoin feels like the most overkill solution imaginable, especially now that the “fun” has been sucked out of it; you file it in your taxes or you’re a criminal.

                                  1. 3

                                    A fair question is: could something apart from a blockchain-based solution work? Some kind of gold or its facsimile?

                                    Well, we already used gold as currency before and then central banks were established, probably by a combination of reasonable arguments and force. Why go back to something we had before? Gold is not so easy to handle.

                                    And out of curiosity: how ok are these crappy governments with their crappy central banks with the use of crypto cash? Is it widespread enough to matter to the government?

                                    I invite you to discover your independence and your right as an individual to transact with your fellow men and women in whatever means you desire. If anyone tries to coerce you to do otherwise, fight back.

                                    The EU has put in enough regulation to make it for traditional intents and purposes illegal, unless you do bureaucracy, when it becomes (by my understanding) more trustworthy when dealing on exchanges.

                                    Regulation can change.

                                    Sometimes bitcoin feels like the most overkill solution imaginable, especially now that the “fun” has been sucked out of it; you file it in your taxes or you’re a criminal.

                                    BTC is a dinosaur. It’s the original cryptocurrency and much is owed to it. But I personally would like it to be less relevant and let new projects get tested in the world arena. Cryptocurrency is software. Software changes and evolves/

                                2. 3

                                  Companies that are using blockchain technology for their services aren’t always advertising it. Even if you could question the use of blockchain in some projects, it doesn’t change the fact that, as in any other technology choices like nosql vs sql, some people pick blockchain for reasons that are legit or perceived to be.

                                  1. 12

                                    “Companies picking blockchain” generally means someone gave a fat stack of cash to consultants who know what a merkle tree is. This is useful, but it’s not new or interesting in any way. Calling that “blockchain” is just riding the hype from public trustless cryptocurrencies, which are actually infamous for burning massive amounts of power to fuel extortion/ransomware, all kinds of fraud, and speculation.

                                  2. 2

                                    Do you hold any fiat currency investments, savings or pensions?

                                    Might that bias you against crypto mayhaps?

                                    ;-)

                                3. 4

                                  The classic Nick Weaver talk is still the best general criticism.

                                  1. 1

                                    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

                                  1. 26

                                    (Aside from the submission having absolutely 0 technological, historical or philosophical content) I wonder if the author has read the bitcoin white paper, because they say a lot of things that aren’t correct, like

                                    They can make money disappear from your account. So he invented bitcoin.

                                    Which isn’t really why Satoshi invented Bitcoin. “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.” Satoshi invented Bitcoin as a trustless peer-to-peer electronic cash system, a use-case where a Blockchain is overwhelmingly the best choice. The article reeks of smugness:

                                    OK, so with bitcoin, banks can’t just remove money from your account at their own discretion. But does this really happen?

                                    Something that a) isn’t the primary goal of Bitcoin to solve; and b) Is something that literally happens all the time for all kinds of reasons. He also complains about Bitcoin’s pseudonymity, an intended feature of the system. The author also seems to lack the ability to Google for certain Blockchain technologies and alternatives, as the Montero Blockchain affords all the advantages of Bitcoin whilst also being completely private and anonymous.

                                    “Blockchain” is often a scam because at the end of the day, it was designed to be the backend for a peer-to-peer electronic cash system and only really works along similar domains. But Bitcoin is sound as a pound

                                    1. 32

                                      But Bitcoin is sound as a pound

                                      Warning, pedantry ahead!

                                      British pound vs USD in the last two years: https://www.xe.com/currencycharts/?from=GBP&to=USD&view=2Y Price range is basically 1.25 USD/GBP +/- 10% and never goes outside that range. I’d count four very sharp increases or declines of more than +/- 5%, two coinciding with the start of the pandemic.

                                      Bitcoin vs USD in the last two years: https://www.xe.com/currencycharts/?from=XBT&to=USD&view=2Y Harder to summarize but the price varies by up to 4x between lowest and highest point. I’d count ten very sharp swings of more than +/- 5%, one coinciding with the start of the pandemic.

                                      Conclusion: Bitcoin is NOT sound as a pound. This has been your daily instance of XKCD 386, I couldn’t help myself. Thank you. :D

                                      1. 6

                                        Lol. Sound as a DollarPound, then.

                                      2. 17

                                        The author may have minor details wrong, but the main point (it’s a solution looking for a problem) seems to stand.

                                        For example, there’s no obvious reason why distributing “children’s aid packages” needed to use Bitcoin. The closest reason the article gives is, “In the past, that was a nightmare of bureaucracy, receipts and documentation.” But it’s not clear how BitCoin sidestepped those problems. Is it a fundamental feature of BlockChain, or is it just too new for the bureaucracy to deal with yet?

                                        1. 5

                                          If the problem with aid money is “receipts and documentation”, then the problem being “solved” is not “how do we make this easier for the people in need” it’s “how do we make this easier for people in positions of power to skim off the top without a lot of work”.

                                          1. 5

                                            It already is a solution to a problem, the problem it was designed for being a trustless peer-to-peer electronic cash system. Any other application is potentially applying the wrong solution. From the Bitcoin whitepaper, bitcoin.pdf:

                                            Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the mainbenefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.

                                            1. 3

                                              It already is a solution to a problem, the problem it was designed for being a trustless peer-to-peer electronic cash system.

                                              Okay, but that’s moving the goal posts. What was the advantage of “trustless peer to peer electronic cash” for benefit distribution? What part of the process was slowing it down that BitCoin avoids?

                                              1. 3

                                                I’m not sure what you mean. Bitcoin nor Blockchain were designed to do other things like distributing things, it just happens that people want to apply the blockchain data structure to non-Bitcoin problems. Bitcoin is exclusively about being cash-like.

                                          2. 6

                                            To be fair to the article author, solving the trusted third party problem (and for anyone encountering this phrase for the first time: do the rms thing of replacing “trusted” with “treacherous” here to save yourself a lot of confusion) is key to Bitcoin.

                                            To be fair to anyone who actually knows what they are talking about, I agree with you that financial censorship is absolutely a thing and it hits the most vulnerable the hardest.

                                            1. 4

                                              the Montero [sic] Blockchain affords all the advantages of Bitcoin whilst also being completely private and anonymous

                                              That (and your further comments below) sure sounds like run-of-the-mill crypto coin shilling…

                                              How is this the top reply?

                                              1. 2

                                                I don’t own any Bitcoin or Monero.

                                              2. 3

                                                But Bitcoin is sound as a pound

                                                You sound like either a comedian, or a really bad financial advisor getting a kickback from a bitcoin exchange.

                                                1. 2

                                                  Why, because I have a different opinion on the quality of the design of the Bitcoin protocol?

                                                  1. 4

                                                    No, because you’re claiming something that has a history of wild fluctuations is “sound as a pound”, thereby comparing it to something that has a history of being stable.

                                                    Thus, I assume you are either joking, or you have some vested interest in people buying bitcoin.

                                                    1. 2

                                                      “Sound as a pound” in the UK just means solid, reliable etc. I’m not talking about the value of Bitcoins, but the protocol itself.

                                                      1. 3

                                                        in the UK just means solid, reliable etc

                                                        And neither of those terms applies to something that is highly volatile.

                                                        I’m not talking about the value of Bitcoins, but the protocol itself.

                                                        Oh right, that thing that has even less use than actual bitcoins?

                                                        1. 2

                                                          Are you intentionally misunderstanding what I’m saying? (Also, Bitcoin is the protocol.)

                                              1. 13

                                                I think the best feedback I’ve heard in these situations (Python, Drupal, Angular, Perl) is that you can go a long way by renaming the project something similar like DrupalNext or whatever, and softly forking the project, leaving the current now-legacy community infrastructure in place. You can make it clear you won’t be investing in the legacy system any more, just let whichever interested parts of the community are there carry the legacy project as far as they want.

                                                Angular followed this pattern relatively well. There’s a relatively google-friendly split between Angular and AngularJS, all the legacy site and documentation is still there, and there are still occassional maintenance releases.

                                                1. 3

                                                  Yeah, this is an interesting question. Seems like it’s kinda like the uncanny valley for technologies. That is, if the technology is sufficiently different, people will be okay with it because it’s not a breaking change, it’s simply a different thing.

                                                  For example: Perl 6 seems to have avoided this trap by explicitly stating that backwards compatibility was not a goal, this is something new, etc. In fact apparently the language was renamed to Raku last year to reflect this. And sure enough Perl 5 is still (AFAICT) a thriving community.

                                                  Contrast that with a Python 3: long, drawn out, with many arguments against it and much dragging of feet. That’s not to say that Python 3 was a bad idea, or not executed well given the constraints (I’m sure there are many arguments that it wasn’t, but that’s beside the point here)… but it does make me wonder.

                                                  1. 11

                                                    The perl5/6 split killed perl. Python got hurt with the python 3 compatibility changes, but it’s come through in the end. Maybe if perl 6 had been raku from the start, perl 5 wouldn’t have hurt as much.

                                                    1. 3

                                                      The perl5/6 split killed perl.

                                                      Citation needed. The way I see it, the Perl community is broadly divided into sysadmin hackers who want to Get Stuff Done(tm) and language hackers that are fascinated by Perl’s intricacies.

                                                      As time passed, other languages surpassed Perl in popularity, including in the domains where Perl was traditionally a strong contender (systems administration, web programming). This is just normal language evolution. Every language is not just the code, it’s also the community, and maybe unfortunately for Perl, both subgroups just loooooved writing code that was close to write-only. This made it easy for other language’s boosters to promote their vision instead.

                                                      For example, comparing Python to Perl:

                                                      • Perl: there’s more than one way to it! - Python: <endless fretting about whether a feature is “idiomatic”>
                                                      • Perl: there’s a module for that! - Python: “batteries included”
                                                      • Perl: diffuse bunch of mailing lists drive development - Python: BDFL, numerous PEPs
                                                      • Perl: freedom to write code your way (C, Lisp, whatever) - Python: bondage & discipline

                                                      Seeing this, the language hackers embarked upon Perl6 (now Raku), and in the tradition of grand promises there was to be a shiny new modern Perl in a couple of years, ready to fulfill both group’s needs and leapfrog the competition. But time passed, Raku got more and more complicated and never really got very fast, and the sysadmins decided to continue to work on Perl 5.

                                                      (The recently announced Perl 7 is Perl 5 but with an explicit focus on not retaining absolute backwards compatibility.)

                                                      Perl is only “dead” if you view current TIOBE popularity rankings as proof of life. But Perl is getting relatively (and maybe absolutely) less popular - however, I’d argue that Raku was an attempt to reverse that course, not the cause of the slide.

                                                      1. 3

                                                        I’d argue that Raku was an attempt to reverse that course, not the cause of the slide.

                                                        I’d agree if you mean that renaming “Perl 6” to “Raku” was an attempt to reverse that course. But I believe the spectre of perl 6 being so radically different than perl 5 was a great accelerant of that slide. As someone who used perl 4 and then perl 5 for big ambitious new things (including web apps written against mod_perl because cgi was too slow) the announcement of perl 6 put the brakes on my use of perl starting around 2000 or 2001. I still continued to use it as a nicer shell scripting language after that (and still do today) but I resisted starting anything new in perl 5 that I thought would be large and need maintenance around the time they announced the direction of perl 6.

                                                        I think that split was even worse than python3 because it took so long to take shape.

                                                        1. 2

                                                          Thanks for expanding. I’ve only used Perl 5 for personal projects so don’t really have any insight on how Perl 6 impacted larger projects.

                                                        2. 2

                                                          People stopped writing new code in Perl 5 because it was neither improved nor promoted, and they did not write new code in Perl 6 because it was not ready or usable.

                                                          Therefore “The perl5/6 split killed perl”.

                                                          Renaming Perl 6 to something else came long after this effect had locked in. Sure, no-one is going around erasing old Perl code off of distro CDs. But very few people are writing new Perl code, or replacing old Perl code with new Perl code. If we’re going to argue the semantics then we have to admit that at the very lest Perl smells funny.

                                                          Perl 7 is the right move. It was the right move twenty years ago, it’s the right move now. Hopefully it can be a less painful upgrade than Python 3, which has delivered no benefits to users but created a lot of work for maintainers. Python burnt a lot of goodwill with the upgrade. Perl doesn’t have any to spare after the Perl 6 fiasco.

                                                        3. 1

                                                          Interesting, okay. I’m not at all a Perl person so I didn’t know this (hence “AFAICT” in my parent comment). Thanks for the correction!

                                                          1. 1

                                                            Note that Perl5 itself wasn’t compatible with Perl4. Thus, Perl went through at least one “Python3” moment when people had to adjust their code from 4 to 5 and survived that, presumably because required changes were not that big, and the language still had a momentum.

                                                            1. 1

                                                              Perl 5.000 was released on October 17, 1994

                                                              That’s why I don’t buy that comparison. This is not ancient history, but compare the amount of users writing “applications” in Perl 4 in 1994 (deliberately ignoring sysadmins with scripts for now) with the amount of people writing Python 2 code (of all variety, because small scripts were really easy to port from 2 to 3) when Python 3 came out. I have no numbers but I’d be willing to bet it’s orders of magnitude in users, number of projects, and LOC.

                                                              1. 1

                                                                But wasn’t the Perl language backwards compatible? I.e. you could keep updating to the latest version of Perl 5, but your ancient Perl 4 scripts still ran.

                                                                An approach like this really leads to cruft in a language, though.

                                                                1. 2

                                                                  Not completely compatible, AFAIR. Larry Wall said somewhere that he was happy that the “Black Perl” poem was no longer a valid Perl program, even.

                                                          2. 1

                                                            I would agree but there is not always enough resources to work on the new and the old version simultaneously. I think it’s what’s happened to Perl but Python has managed to avoid.

                                                          1. 3

                                                            I recently built Emacs 27 and found the startup time on that so fast that I simply wasn’t worried about trying to improve it. If your use case requires background Emacs obviously that doesn’t help, but I was impressed.

                                                            1. 7

                                                              Emacs boots pretty fast with no config, but with a huge config it’s a whole different story.

                                                              1. 2

                                                                I have a medium config, with modern package management. I’d expect 27 to still be noticeably faster with a large config.

                                                            1. 5

                                                              I’m actually pretty surprised that there doesn’t seem to be a strong backlash against the idea. Perhaps it’s simply because of who the thread participants are? My impression, so far, has been that C programmers tend to be fairly anti-Rust, for one reason or another.

                                                              1. 9

                                                                I’m not a fan of Rust at all but it’s a more logical language to add support to the kernel for than many. Indeed I can’t think of a better candidate from currently popular languages. It has the same “compile to efficient code without a massive runtime or any garbage collection” emphasis as C, more so than C++.

                                                                1. 2

                                                                  Arguably Zig has even more emphasis on “better C” rather than “better C++”, but it also has the same downsides (single main implementation tied to LLVM rather than being a standardized language with multiple independent implementations) while Rust has way more maturity and momentum.

                                                                  1. 3

                                                                    Usually technologies that are same-but-better have difficulty getting adopted, because an incremental benefit doesn’t seem worth a big switching cost.

                                                                    Rust dodges this by being significantly different at the same time. It’s not just C with a borrow checker, but brings new programming style and new idioms into the systems programming niche.

                                                                2. 4

                                                                  I assume it’s because despite whatever problems the language may have, it seems to be the only safe language that doesn’t require a whole supporting runtime

                                                                  1. 2

                                                                    There’s a great talk from Bryan Cantrill about the whys: https://youtu.be/HgtRAbE1nBM

                                                                    1. 1

                                                                      I have minimal experience in the realm of such low-level programming, but I am very interested in programming languages. As an outsider, I have heard many positive things about Rust, but perhaps my view of the subject is limited. Out of curiosity, what informed your impression that C programmers tend to be anti-Rust? As an outsider and programming language enthusiast, I am always very interested to know how people approach new programming languages.

                                                                      1. 3

                                                                        I don’t know if C programmers are generally anti-rust (I’ve seen some people who do regular work in C and really enjoy Rust. I think Bryan Cantrill is one). But the people I’ve seen negative comments from tend to use C, C++ or Go for lower level programming and not see the point.

                                                                        1. 1

                                                                          FWIW: Bryan Cantrills new company (oxide) is a Rust shop.

                                                                        2. 3

                                                                          I have some experience with OS/low-level C, but not kernel-maintainer level, but I’ll guess anyway:

                                                                          C is at it’s core rather simple. When using the language for real-world applications, you’ll encounter all the concepts pretty quickly. There are a few quirks in the syntax that one might not expect (eg. interleaving a switch-case and a loop is possible), but all in all, the core is clean. Rust, from my experience has more primitives, it changes a lot, quickly (afaik).

                                                                          Another thing that comes to mind is the development environment/tooling. C’ development environment is basically everything and nothing, because a properly setup *nix operating system is basically already a development environment. The system is sort of defined and expanding in terms of itself, with make and such. Rust brings it’s own keychain, for reasons I don’t think are illegitimate, but makes it seem “alien”, not as “native” as C.

                                                                          That’s just my take from someone who still hasn’t finished more than 20% of the Rust Book (though not just because of the points I just mentioned), so my possible misconceptions about the language are intentional.

                                                                          1. 7

                                                                            My impression is that C is only simple if maintaining and debugging the code is someone else’s problem.

                                                                            1. 0

                                                                              One doesn’t maintain a language, one maintains software. C “the language” is simple. The memory model is transparent, the syntax is clean, but of course too much simplicity can lead to an overcompensation of site-local complexity in larger projects, to make up for concepts you are missing (both from a usability and safety perspective), which is probably what you are referring to – but that’s not the same as to say that C is complicated.

                                                                              1. 6

                                                                                The problem is that “simplicity” isn’t worth anything when it creates complexity everywhere else.

                                                                                You want thread safety? Good luck! You want optimized, reusable containers? Ugh, maybe an include header hack will do? You want memory safety? Better get fuzzing. You want dependencies, portability or cross-compilation? You’ll never stop getting bug reports about your build scripts.

                                                                                1. 1

                                                                                  Fair enough, but the people who value the simplicity of the language over the environment, as to probably those who prefer C over Rust, would disagree, which is fine.

                                                                                2. 6

                                                                                  the syntax is clean

                                                                                  https://cdecl.org

                                                                        1. 2

                                                                          This is a great loss. I hope the museum can return in the future.

                                                                          1. 1

                                                                            In general, if you don’t care, you don’t care. No one is forcing you to make a change to your repos or change your behaviours. There aren’t any git police going around handing out citations for branch naming conventions. There may be a few people who are pushing harder than others, who are out there asking owners and maintainers of code to make changes that they feel might alienate or otherwise upset people. They don’t have any authority, and you don’t have to listen to them. I don’t think anyone is going to turn around and label the maintainers of various repos as racists just because they haven’t bothered to change a legacy term that’s a holdover from previous systems.

                                                                            You’re not going to get in trouble for not renaming your branches and the general attitude i’m seeing in some places of people feeling like they’re under attack when they have full control over their git repos, configuration and setup of those git repos is frankly a little ridiculous.

                                                                            The change in and of itself (for some repos), is mostly trivial, you might have to make some tertiary changes around build systems and the like, modify your typing behaviour a little. If your repo is private, or it’s public and no one on your team really cares about the change, then fine, don’t do the change, it’s as simple as that, there are so many repos out there across all the services it’s pretty much guaranteed that you will be in amongst a sea of other repos that similarly haven’t changed. You can have and communicate your opinion on it, you’re absolutely free to do that. You’re even free to shame or look down on others for making the change if that’s what you really want to do.

                                                                            We’re making the change and I don’t have to justify it or defend it to anyone outside of my team.

                                                                            At the end of the day, for me, and for the team that I am a part of, the history of the term, it’s etymology, how it’s used in the context or in other similar contexts such as whitelist/blacklist, doesn’t really matter. What really matters at the end of the day is the answer to the question “Does the use of this word, in this context, have the potential to cause anyone of any background to be uncomfortable or have any other negative emotional/psychological effect on that person?”

                                                                            If the answer is even remotely a Yes, then my team and I need to change it. It’s a no-brainer, I would rather remove the risk over gambling with someone elses well-being and mental health any day. But others may not feel that way, and all the power to them. Do what works for you, do what you feel is right, just try not to trample on anyone who chooses a different path.

                                                                            1. 9

                                                                              You’re not going to get in trouble for not renaming your branches

                                                                              Let’s revisit this in two years time. ;-)

                                                                            1. 7

                                                                              I don’t know what to think about this.

                                                                              I understand where this study is coming from and why this is a possible solution:

                                                                              On the one hand, the EU has drafted excellent laws to try and safeguard internet privacy. On the other hand, they don’t have any easy way to enforce those rules, and this firewall would help with that.

                                                                              But what happens when the EU democratic systems falls under the control of extremist governaments? Once the infrastructure is in place, it’s a very small step to close down comunications and limit information and freedom of expression.

                                                                              1. 3

                                                                                But what happens when the EU democratic systems falls under the control of extremist governaments? Once the infrastructure is in place, it’s a very small step to close down comunications and limit information and freedom of expression.

                                                                                I don’t find this a valid argument. In such situation, if this infrastructure would not exists, it could be built anyway.

                                                                                1. 3

                                                                                  If it has to be built, that allows more time for opposition. So I don’t find “it could be built” a valid argument.

                                                                                  1. 3

                                                                                    Looking at an autocratic regime like Hungary where there is no opposition, the “it could be built” argument does have merit.

                                                                                    You vastly overestimate the fairness in the EU.

                                                                                    The opposition argument works only as long as the political system is not gerrymandered past a certain point. After that, it’s significantly more likely “it can be built” as who can stop them?

                                                                                    1. 0

                                                                                      Hungary is far from autocracy. There is opposition, only of very low quality, with messages not resonating with the voters, or even if some do, the complete package offered is still not a good deal for most voters. There is free press. Most outlets are pro-government, but largest outlets by volume are opposition, with (current) opposition’s media having greater volume overall ever since the fall of communism. Unaligned outlets have negligible share, but the media is by its nature always a politically aligned entity). There is no censorship in action. (Only against hatespeach, but there are even stricter laws in that regard in Germany for example) The government instead funds its media outlets at loss, but voices are not silenced.

                                                                                      In Hungary ISPs have the infrastructure to take down any page if ordered so by a court order, since like mid 2000s (government was the current opposition in that age), for example for piracy, hate crimes, etc. It is used very sparingly. The same goes for many western European countries. The bricks of the “great european firewall” are all ready. Only central coordination is needed actually.

                                                                              1. 1

                                                                                Smart contracts are hard or impossible to alter, by design.

                                                                                There are a number of patterns for upgrading Ethereum smart contracts. They vary from the simple to the moderately less simple.

                                                                                They requires the most painstaking code review and analysis — so that you don’t lose money to an exploit.

                                                                                Absolutely.

                                                                                Decentralised Finance, or DeFi, uses chains of smart contract programs to automate complex financial transactions — so you can chain the attacks too. Unsurprisingly, it’s a continuing dumpster fire, reliably delivering comedy gold.

                                                                                None of this is anything that a competent blockchain dev would disagree with.

                                                                                Preston Byrne’s criticisms of DeFi are far more illuminating, and much shorter.

                                                                                1. 2

                                                                                  Yes -

                                                                                  https://github.com/robmyers/

                                                                                  I’ve used many languages and environments. I think that Common Lisp and JavaScript are my favourites.

                                                                                  1. 2
                                                                                    1. Everyone saying “use use-package” is correct. Add only the packages you are learning as you start to learn them and you will be fine.

                                                                                    2. Keep your emacs config under version control. I use a git repo.

                                                                                    3. Use the Emacs key bindings. You quickly get used to not hearing the screeching brake sound of context switches as your productivity increases.

                                                                                    4. The very start of my .emacs file, before setting up use-package, is:

                                                                                      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                                                                      ;; Early setup to avoid any momentary flashes
                                                                                      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

                                                                                      ;; Remove window decorations

                                                                                      (if (fboundp ’scroll-bar-mode) (scroll-bar-mode -1))
                                                                                      (if (fboundp ’tool-bar-mode) (tool-bar-mode -1))
                                                                                      (if (fboundp ’menu-bar-mode) (menu-bar-mode -1))

                                                                                      ;; Don’t show the splash screen
                                                                                      (setq inhibit-startup-message t)

                                                                                    1. 3

                                                                                      (setq inhibit-startup-message t)

                                                                                      Ah, but why not take it up a step and, for example, start up with your configuration?

                                                                                      (setq initial-buffer-choice "~/.emacs.d/init.el")
                                                                                      
                                                                                    1. 2

                                                                                      This.. seems bad? There’s a lot missing here presumably due to embargo but I really wish they had at least discussed threat model more extensively. The ending:

                                                                                      Therefore, there is a period when SRAM is susceptible to external DMA writes (from DMA to CSME, not to the processor main memory), and initialized page tables for Intel CSME are already in the SRAM. 3. MISA IOMMU parameters are reset when Intel CSME is reset. After Intel CSME is reset, it again starts execution with the boot ROM. Therefore, any platform device capable of performing DMA to Intel CSME static memory and resetting Intel CSME (or simply waiting for Intel CSME to come out of sleep mode) can modify system tables for Intel CSME pages, thereby seizing execution flow.

                                                                                      Speaks to this a little. Seems there needs to be compromised kernel/bootloader or potentially restricted to compromised platform firmware in order to exploit this.

                                                                                      1. 2

                                                                                        Yes, info I’ve read so far is annoyingly light. Mild hints/suggestions that things like MS Bitlocker could be broken, or is it just me? Not sure of it’s key model other than knowing there are multiple ways to unlock.

                                                                                        Seems there needs to be compromised kernel/bootloader or potentially restricted to compromised platform firmware in order to exploit this.

                                                                                        I read it similarly, but I don’t know exactly when these processes occur. Perhaps they occur in the background a few mins in? Otherwise it sounds like you need physical access to be able to change boot firmware/bios; which would still be greatly useful if it can be used to defeat secureboot/Bitlocker/etc.

                                                                                        1. 5

                                                                                          Might be very bad if you rely on the TPM.

                                                                                          Should be about as good or bad as usual if you don’t.

                                                                                          On principle, I disable the TPM. Puts it on the same ballpark as LUKS, as long as you don’t do something stupid like backup the key to your Microsoft account. Still, ultimately, you’re still trusting there’s no backdoors in Windows.

                                                                                          1. 2

                                                                                            Why is backing up the keys to Microsoft Account a stupid thing for an ordinary user? I think the common user’s threat model (machine is lost or stolen by some small time crooks) having keys in the MS Account is not a bit vulnerability.

                                                                                            That is also true, that small time crooks won’t attack the TMP or the management engine either…

                                                                                            1. 2

                                                                                              Why is backing up the keys to Microsoft Account a stupid thing for an ordinary user?

                                                                                              This is akin to key eschew, except you’re opting in to give up your keys, often with no awareness of the implications.

                                                                                              These keys could be requested from Microsoft by law enforcement, then used to decrypt your data and use it as evidence against you in court. As laws change, something that was totally okay today might get you in trouble tomorrow.

                                                                                            2. 2

                                                                                              Out of curiosity, what do you have against TPMs?

                                                                                              1. 2

                                                                                                They give control of our systems to a third party.

                                                                                                If we’re lucky, that third party is just a corporation (or a project beholden to a corporation).

                                                                                                As this latest news shows, we’re not lucky.

                                                                                                1. 1

                                                                                                  They give control of our systems to a third party.

                                                                                                  Your system is made of dozens of components all made by third parties, some of which are substantial (e.g. disk controllers, input devices/controllers, network controllers, ME [on intel] or PSP [on amd], etc). It seems odd to single out the TPM as being untrustworthy among all that.

                                                                                                2. 1

                                                                                                  Nothing fundamental. I just don’t trust the implementations.

                                                                                                  I’m not even talking about the possibility of backdoors, but that I doubt they don’t have security bugs and stupid design choices, like e.g. trusting mitigations against hardware attacks and actually storing your keys/etc unencrypted, hidden only behind some authentication.

                                                                                          1. 4

                                                                                            Hahahaha, you need to use a command line utility to generate json to tell your init system how to mount your home directory? This is insanity and I’m glad I’m not using a SystemD/Linux distribution.

                                                                                            1. 25

                                                                                              No, you don’t tell your init system how to mount your home directory. You tell systemd-homed, a separate daemon, how to mount your home directory. PID 1 isn’t involved.

                                                                                              1. 3

                                                                                                whew. I actually thought this was going to be merged into the main systemd codebase and would run as PID1 :D

                                                                                                1. 7

                                                                                                  IIRC SystemD is a fleet of processes to avoid growing the amount of risky stuff in PID1.

                                                                                                  1. 5

                                                                                                    A monolith divided into too many processes is still a monolith.

                                                                                                    Schrodinger’s systemd: systemd is both just a better init replacement and the infrastructure of an entirely new OS, as is required in any given context to avoid criticism.

                                                                                                    1. 5

                                                                                                      Don’t get me wrong: there’s good reasons to criticise systemd.

                                                                                                      However, the people who volunteer their time to maintain distros have largely decided it solves problems they have.

                                                                                                      It’s definitely not ‘just a better init replacement’. It’s huge. However, there’s quite a few things that get criticised which are perfectly sensible.

                                                                                                      For instance:

                                                                                                      • Using JSON, a serialization format with multiple mature parsers, instead of inventing one.
                                                                                                      • Using multiple processes to reduce the surface area of PID 1 (no, it’s not perfect. Yes, it is better than jamming stuff into PID1).
                                                                                                    2. 6

                                                                                                      Whoa, don’t go spoiling the systemd hate with facts! If it’s not exactly the same as 4.2BSD on my VAX 11/750 then it must be un-unixy.

                                                                                                      1. 7

                                                                                                        Last time I checked /bin/systemd was about 2.5M, which still seems pretty large to me. More importantly, splitting systemd in separate processes is mostly an unimportant implementation detail; a lot of depends on each other and isn’t crash-resistent at all. Even restarting dbus will completely crash systemd, which is “fun” when your dbus no longer works correctly for some non-systemd related service and you think systemctl dbus restart is safe. It’s not and will crash your logind resulting in an irrecoverably broken system requiring a reboot 😐

                                                                                                        So, if we want to be flippant about it, then “ackchyually it’s not PID 1” is just an easy way to deflect criticism without actually having to engage in what the other person said.

                                                                                                        1. 4

                                                                                                          Even restarting dbus will completely crash systemd, which is “fun” when your dbus no longer works correctly for some non-systemd related service and you think systemctl dbus restart is safe. It’s not and will crash your logind resulting in an irrecoverably broken system requiring a reboot 😐

                                                                                                          I ran systemctl restart dbus on my machine for fun. systemd exists gracefully and kills all processes. Looking at the journal vim and spotify segfaulted (coredumpd picked them both up). Back at tty and able to log back into the system. The only process that really didn’t like this was NetworkManager which didn’t start after the login.

                                                                                                          I’m not too confident any of this hold true unless this is an experience from years ago and the situation has improved.

                                                                                                          1. 5

                                                                                                            I don’t have access to a systemd system right now, but this was last year on my Arch Linux machine. It might depend on your configuration/version and whatnot, but a quick internet search reveals I’m hardly the first person with this issue (e.g., many more). One of the downsides of systemd is that it works fairly well when it works, but is really complex and hard to debug when it doesn’t.

                                                                                                            Having all your programs crash is also not exactly great behaviour IMHO, but better than forcing a reboot.

                                                                                                            1. 2

                                                                                                              It might depend on your configuration/version and whatnot, but a quick internet search reveals I’m hardly the first person with this issue (e.g., many more).

                                                                                                              People writing “It crashes” on stack overflow with no logs tells me they have the same behavior as I’m experiencing. Logs would prove otherwise, but I doubt that is the case.

                                                                                                              Having all your programs crash is also not exactly great behaviour IMHO, but better than forcing a reboot.

                                                                                                              Just two out of a lot. I assume enabling lingering would leave more of them untouched, but probably in a broken state when dbus is restarted.

                                                                                                              1. 2

                                                                                                                First search result: https://bugzilla.redhat.com/show_bug.cgi?id=1623651

                                                                                                                I thought there was some GitHub issue for it too, but can’t find that right now. Either way, it still crashed for me last year, so…

                                                                                                                Just two out of a lot.

                                                                                                                Wait, you said that “systemd exists gracefully and kills all processes”?

                                                                                                                1. 2

                                                                                                                  First search result: https://bugzilla.redhat.com/show_bug.cgi?id=1623651 I thought there was some GitHub issue for it too, but can’t find that right now. Either way, it still crashed for me last year, so…

                                                                                                                  Nice bug, but systemd is still not crashing. Restarting dbus is going to be wonkey and there will be bugs as there is no nice way of handling this.

                                                                                                                  Wait, you said that “systemd exists gracefully and kills all processes”?

                                                                                                                  Yes. Killing processes does in no way imply they crash. Sending SIGKILL should be handled by the process, after all.

                                                                                                                  1. 4

                                                                                                                    Oh c’mon, this is being pedantic to the point that it’s difficult to take in good faith. If restarting a system daemon stops all your processes then it’s a crash for all intents and purposes. Replying with “yeah but it doesn’t segfault” just comes off as trying to “win” an argument.

                                                                                                                    And this is why people get so frustrated and angry with systemd, because far too often they’re being told it’s “not a problem”. Well, having all my apps being stopped is a problem, segfault or not. I still had all my apps stopped and potentially lost my work. It’s also not something that seems to happen with other init systems, so for all intents and purposes this is a systemd problem.

                                                                                                                    1. 2

                                                                                                                      Oh c’mon, this is being pedantic to the point that it’s difficult to take in good faith.If restarting a system daemon stops all your processes then it’s a crash for all intents and purposes.

                                                                                                                      I think it’s more of what you expect when you claim “systemd crashes when you restart dbus”. I’m genuinely expecting poor handling, but all I see is systemd doing what it’s suppose to be doing. systemd killing your processes when you log out is expected behavior unless you enable lingering after all.

                                                                                                                      Replying with “yeah but it doesn’t segfault” just comes off as trying to “win” an argument.

                                                                                                                      Well yes. You are claiming restarting dbus results in a “irrecoverably broken system requiring a reboot”. But I have yet to see anything like that.

                                                                                                                      It’s also not something that seems to happen with other init systems, so for all intents and purposes this is a systemd problem.

                                                                                                                      You’d see this behavior with any software that depends on a central message bus. dbus handover was never proper even before the systemd merge, and It’s hard to see how this would change. The issue you linked above also echos notes the limitations you have when restarting debus.

                                                                                                                      1. 2

                                                                                                                        systemd killing your processes when you log out is not normal or expected behaviour and when it was introduced there was a lot of criticism of systemd. tmux shouldn’t need systemd-specific code to say ‘hey dont kill me when he logs out’.

                                                                                                                        Well yes. You are claiming restarting dbus results in a “irrecoverably broken system requiring a reboot”. But I have yet to see anything like that.

                                                                                                                        Because that was his experience.

                                                                                                                        You’d see this behavior with any software that depends on a central message bus.

                                                                                                                        Restarting dbus shouldn’t kill any processes, even those that use dbus. It’s a message bus. Restarting it should just queue up messages.

                                                                                                                        1. 2

                                                                                                                          systemd killing your processes when you log out is not normal or expected behaviour and when it was introduced there was a lot of criticism of systemd. tmux shouldn’t need systemd-specific code to say ‘hey dont kill me when he logs out’.

                                                                                                                          Feel free to disagree about expected functionality and what you personally think is correct behavior. It’s documented and there are options to turn off these features.

                                                                                                                          Because that was his experience.

                                                                                                                          Yes, and he is free to share his experience. But the claim is that systemd “isn’t crash-resistent at all” and that it “will crash your logind resulting in an irrecoverably broken system requiring a reboot”, which is what I’m unable to replicate. I have a hard time believing this is true unless there is more to the issue.

                                                                                                                          Restarting dbus shouldn’t kill any processes, even those that use dbus. It’s a message bus. Restarting it should just queue up messages.

                                                                                                                          I’m confused. The previous linked bugreport is an issue because there is a timeout on the socket connection. How would you queue up the messages if the dbus socket is not accepting them regardless?

                                                                                                                          1. 1

                                                                                                                            Feel free to disagree about expected functionality and what you personally think is correct behavior. It’s documented and there are options to turn off these features.

                                                                                                                            I know what is correct behaviour because it’s been correct behaviour for decades. systemd is, as usual, wrong and broken.

                                                                                                                            It shouldn’t need to be turned off. It should need to be turned on. Breaking loads of programs and forcing them to write systemd-specific code because of the personal preferences of one systemd developer is complete madness.

                                                                                                                            I have a hard time believing this is true unless there is more to the issue.

                                                                                                                            There are thousands of cases of serious bugs in systemd, why are you surprised by this one?

                                                                                                                            I’m confused. The previous linked bugreport is an issue because there is a timeout on the socket connection. How would you queue up the messages if the dbus socket is not accepting them regardless?

                                                                                                                            By designing dbus differently in the first place. Obviously if dbus is down you should queue up messages to be sent when it comes back up.

                                                                                                            2. 3

                                                                                                              I ran systemctl restart dbus on my machine for fun. systemd exists gracefully and kills all processes.

                                                                                                              Killing all my processes because I want to restart dbus is not ‘graceful’ in my book.

                                                                                                    3. 4

                                                                                                      Doesn’t mean it won’t become mandatory to run after a short while, like pretty much every other “stop worrying, it will always be optional” feature.

                                                                                                      1. 5

                                                                                                        Sure, that may happen, and it might be a valid criticism. You could also criticize how, even though everything is in separate processes, there are so many interdependencies through nonstandard DBus APIs and whatever that the systemd is too monolithic. Or you may criticize them for reimplementing existing tools and pushing the new versions before the bugs have been ironed out. Or for deprecating C API calls and asking projects to instead use a DBus interface.

                                                                                                        My position is that systemd overall probably is a good thing, but if you’re going to criticize it, that criticism better be based in fact. There’s enough bad crititique of systemd out there already.

                                                                                                        1. 3

                                                                                                          systemd is uniquely held immune from criticism. Any reasonable criticism of systemd has to be couched in a lot of meaningless phrasing so as to avoid being seen as being too negative. If you’re too negative about systemd (which is badly written and badly designed in every way I know that software can be badly written and badly designed, which is not an exaggeration) then you get downvoted as a ‘troll’ even if your criticisms are entirely valid.

                                                                                                    4. 1

                                                                                                      They have adressed this: this is generally an issue with the base CLIs not supporting JSON manipulation and generation and they didn’t want people to hand-write it. systemd is at a place where accidentally breaking the configuration file syntactically may make your system not boot.

                                                                                                      They still wanted to use a generally and widely supported format.

                                                                                                      1. 1

                                                                                                        There’s already a generally and widely supported format: /etc/passwd, which specifies where my home directory is perfectly well already.

                                                                                                        1. 2

                                                                                                          That’s not the point. The OP was complaining that they ship JSON tooling, which is a reasonable second-order decision after deciding to use JSON as a format.

                                                                                                          /etc/passwd is still a custom format, where even syntactical validation is not available as a standalone tool. I’ve spent a couple of years using and training puppet/chef and mistakes when generating/parsing /etc/passwd and similar files for providers is a very nice way to experience the bolted on mess that Unix is. Validating even just the correctness of such formats basically equates to “generate it, see if the system still works”.

                                                                                                          1. 1

                                                                                                            The complaint was about the use of JSON in the first place. The need to have code to deal with a format is obviously a necessary consequence of the poor decision to use the format in the first place.

                                                                                                            The point is not the format of /etc/passed but that the world already has a mechanism for specifying home directory location. This entire mechanism is just yet another example of systemd reinventing the wheel because it has the social power to do basically anything it likes due to its monopoly on init across almost every distro.

                                                                                                            This feature cream is what we warned would happen if systemd were adopted almost everywhere, but did anyone listen? Of course not.

                                                                                                            1. 2

                                                                                                              The point of homed is to fundamentally change the integration of home directories into the operating system (and thus make them easily to migrate without changes to the base system), so /etc/passwd is a bad mechanism for that.

                                                                                                              That has been sufficiently addressed by the systemd team.

                                                                                                              Who’s the “we” you are speaking of, by the way. systemd adoption indicates there’s a substantial “they”.

                                                                                                              1. 1

                                                                                                                That has been sufficiently addressed by the systemd team.

                                                                                                                No, it has been stated outright by the systemd team. It hasn’t been justified properly at all. Nowhere have they addressed why it “needs” to be done this way, what the alternatives are, how it could be done in a less disruptive way, any issues with doing it other ways, or any of that, because they’ve realised over time they don’t NEED to justify their actions. They maintain software that is now tightly integrated into every major Linux distribution that they can do whatever they want and people just have to accept it unless they want to fork it and maintain the now-massive codebase that is systemd.

                                                                                                                Who’s the “we” you are speaking of, by the way. systemd adoption indicates there’s a substantial “they”.

                                                                                                                The thousands and thousands of people that pointed out the inevitable issues with systemd when it was being adopted by major Linux distributions as their init systems, but who were ignored and called ‘trolls spreading FUD’.

                                                                                                    1. 4

                                                                                                      The introduction of the term “open source software” was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, “free software,” was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.

                                                                                                      (emphasis mine) Wow. whether that is plain ignorance or a lie aimed to ignorant people, shame on them.

                                                                                                      1. 3

                                                                                                        Yes, this is a quite weird reason or explanation.

                                                                                                        Free in English means both libre and gratis (free as in „free speech“ and free as in „free beer“). And free software is both libre and gratis – where gratis is related to the license fee. I see nothing confusing here. It does not say, that you will get e.g. custom development, consulting or support for free. Just the license is free for anyone (compare it to proprietary software – this is huge difference).

                                                                                                        And what about the Open source? Let us read the Open Source Definition. It is the first criterion labeled „Free Redistribution“ which says:

                                                                                                        The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

                                                                                                        1. 4

                                                                                                          Free software can be charged for. Look at all the GPL WordPress plugins that cost money but you get the source.

                                                                                                          1. 3

                                                                                                            Or, of course, the support packages and hosted instances of apps like Discourse, Red Hat, and MariaDB.

                                                                                                            1. 1

                                                                                                              Free software can be charged for.

                                                                                                              I should have added „once published“. Technically it is true, you can charge money for the distribution or for giving the software under the GPL license*. But once anybody gets this license from you, he can freely redistribute it. So usually you do not charge money for distribution or license but for services (consulting, support, custom development…). Theoretically you can ask money for license/distribution of an already published work, but there is low motivation to pay you and it is better to call it rather „support“ or sometimes „donation“ than a license fee.

                                                                                                              *) e.g. I develop something and ask the first customer for the money – without paying he will not get anything (I am not obligated to publish or share my work) and after the payment, he will get free software licensed under GNU GPL.

                                                                                                            2. 3

                                                                                                              “Free Software” you have to explain once. “Open Source” you can never explain, as the current round of proprietary licenses that people are trying to call “open” shows. This wasn’t an improvement.

                                                                                                            3. 5

                                                                                                              I think you misread that, what she’s saying is that almost everyone who hears “Free Software” for the first time thinks it means “free” as in “no price”. She’s not claiming that this is what “Free Software” means, she’s saying that the term is confusing and ambiguous.

                                                                                                              1. 5

                                                                                                                Yes, that fell under the a lie aimed to ignorant people umbrella, which is what I think this is (in my honest opinion, that is. I know it may sound strong). Lie because someone not very familiar with the issue might be quick to internalize that simplistic explanation. The Free Software movement is and always was political and saying that “open source” isn’t just about businesses exploiting is a lie to make ourselves feel better. Again, I feel I have to make a disclaimer here that I’m not trying to flame.

                                                                                                                1. 5

                                                                                                                  No problems with the flame framing, at least for me. However, what is your explanation then? What’s your view on what she describes as a problem? To my understanding, her take sounds realistic and reasonable.

                                                                                                                  1. 4

                                                                                                                    You mean my view on whether people mistake ‘free software’ for free as in beer? It’s a completely real problem, of course! But it’s not as much of a problem as “open source” is for free software. RMS on his essay Why Open Source misses the point of Free Software makes an argument on this which basically boils down to that “free software” stands for ethical responsibilities and freedoms. In my humble opinion RMS’s insistence on absolutely correct terminology hurt this effort back in those days.

                                                                                                                    Basically I think that sidelining or sometimes plain ignoring the commons in favor of terminology is bad. But as always these things are never black and white and you can find sense in both apparent sides of the argument. I don’t think people who regard “free software” is a bad term reject its ethics and I don’t think people who regard “open source” a bad term reject the complex issues behind software and politics. But sometimes the actual problem is that both are up for exploitation by profit seeking entities.

                                                                                                                    1. 3

                                                                                                                      The OSF regarded RMS as blockage and routed around him.

                                                                                                                  2. 2

                                                                                                                    I’m with arp242. It’s been true enough in my experience with ordinary people that I used open source to avoid it.

                                                                                                                    Another major problem is that many enterprise buyers believe that you get what you pay for in software. “Free Software” must be low quality. Also, many want to pay to justify the budgets for their personal fiefdoms. Those two effects mean a term like open source (or just avoiding “free”) increases paid, enterprise adoption.

                                                                                                                    1. 2

                                                                                                                      As I replied in another comment subtree, I completely agree with you, it’s just that I believe this derails the conversation about “free software” since we talk less about proprietary software making our life more difficult and more about terminology. It’s completely understandable that different people have different things in mind when talking about this!

                                                                                                                      1. 1

                                                                                                                        Again who cares what they think. If they choose to pay for inferior software that gives them less freedom they’re ironically free to do so.

                                                                                                                        We don’t say vim is bad because it’s hard to use for brand new users because we recognise that its benefits way way exceed its first time use costs.

                                                                                                                        In the same vein, we shouldn’t decide what word we use based on how people understand it on first impression when it the trade off is a word that colours the discourse we read it in the subsequent tens or hundreds of thousands of times we read it.

                                                                                                                        1. 1

                                                                                                                          People that want to increase adoption by enterprises along with odds they’ll contribute code or money to open-source projects. Some people who want to get paid working of OSS, too.

                                                                                                                          1. 2

                                                                                                                            I’d prefer less corporate influence on free software. I don’t think any real successful businesses are operated by people so stupid that they’d dismiss free software based on the fricking name anyway.

                                                                                                                    2. 1

                                                                                                                      Who cares what people think the first time they hear the term? I’ve heard and seen open source tens of thousands of times. The first time is a distant memory.

                                                                                                                    3. 2

                                                                                                                      I think the article accounts for this pretty well. Not in the introductory paragraph as quoted, but further on:

                                                                                                                      those new to the term “free software” assume it is referring to the price. Oldtimers must then launch into an explanation, usually given as follows: “We mean free as in freedom, not free as in beer.”

                                                                                                                      I see other comments in this lobste.rs thread that have felt it necessary to repeat the “free speech vs beer” distinction to make their point, even though presumably most of us are not newcomers. So I think we can agree that this limitation of English is real, and was probably even more of a problem in 1998.

                                                                                                                      Other comments have pointed out Open Source has other meanings that can make it harder to explain sometimes. It’s possible to accept that and also accept Christine’s explanation for why they went with Open Source at the time. The article also touches on this:

                                                                                                                      while a friend in marketing and public relations felt the term “open” had been overused and abused and believed we could do better. He was right in theory; however, I didn’t have a better idea

                                                                                                                    1. 5

                                                                                                                      Time to upgrade this benchmark of scheme implementations?

                                                                                                                      1. 2

                                                                                                                        Thanks for this. Even since I saw this [1] I have been looking into Lisp. I started looking and realize its a pretty big community with many dialects and implementations

                                                                                                                        1. https://fodor.org/blog/webassembly-hello-world
                                                                                                                        1. 8

                                                                                                                          -Wpedantic: webassembly isn’t a lisp, it just uses s-expressions for describing its text format.

                                                                                                                          1. 1

                                                                                                                            To quote you 7 months ago: “unreadable langauges with too many parenthesis”, let me know how your search goes.

                                                                                                                            1. 1

                                                                                                                              Honestly I stand by that. Every example of Lisp I have ever seen, looks like this:

                                                                                                                              (sunday 10
                                                                                                                                 (monday 11
                                                                                                                                    (tuesday 12)))
                                                                                                                              

                                                                                                                              Where the linked syntax looks like this:

                                                                                                                              (sunday
                                                                                                                                 10 (monday
                                                                                                                                    11 (tuesday 12)
                                                                                                                                 )
                                                                                                                              )
                                                                                                                              

                                                                                                                              Style matters. Its a small difference, but to me its markedly more readable.

                                                                                                                          2. 1

                                                                                                                            By the look of the raw numbers, guile has to be much more than an average of 2x speed up to be any where near chez.

                                                                                                                            1. 2

                                                                                                                              “Compared to 2.2, microbenchmark performance is around twice as good on the whole, though some individual benchmarks are up to 32 times as fast.”

                                                                                                                              So depending on how “around” rounds off, it may be. :-)

                                                                                                                            2. 1

                                                                                                                              I was surprised to see that gambit overtook Chez. I honestly have no idea who uses it.

                                                                                                                              1. 1

                                                                                                                                That’s a combined statistics of gambit and gerbil. I use gerbil for small stuffs.