• 0 Posts
  • 71 Comments
Joined 2 years ago
cake
Cake day: September 2nd, 2023

help-circle
  • It is not propaganda as it is factual information. If you believe this is 4D chess from Google to manipulate us to dislike Firefox you are out of your mind. https://github.com/mozilla/bedrock/commit/d459addab846d8144b61939b7f4310eb80c5470e this is an actual commit made by mozilla. It was not made by Google.

    Changes include:

    • Removing “we don’t sell access to your data”. Curiously this change is only for the TOU. Presumable because that is legally binding. Idk where the “else” branch is displayed though.
    • Removing this question from FAQ: “Does Firefox sell your personal data? Nope. Never has, never will (…). That’s a promise”
    • Remove another mention in the TOU “and we don’t sell your personal data”. That again was not removed from the “else” branch

    That to me indicates one of the following:

    • They have started selling data.
    • They plan on selling data in the near future.
    • They don’t feel confident that they can keep that promise forever. That is, they see a future where they sell data.

    I don’t like either of those alternatives.

    I don’t know if they are able to sell the data you mentioned. Because I’m not in the enshittification minds of giant American corporations. 20 years ago people would laugh at the idea of buying data about the screen size of a user. But now they do, and use it for fingerprinting. If recent history has shown anything is that most data has some kind of value. And giant corporations will find their way to use that data against users.

    I’ve seen way too many companies that were supposed to be the cool kids and were doing everything morally enshittify. There’s no reason to believe Mozilla is going to be different. They’re showing the same signs.



  • Simplicity is easy to pirate though.

    If the product is a program that executes 100% of its functionality on your computer, it is impossible to make it pirate-proof. Even if all the functionality is client-side and the server is used only for authentication, it can be pirated.

    The only way to make a program pirate-proof is if it runs on the server with a thin client.

    That being said, some products execute on the client. Therefore if they want to prevent piracy, the only thing they can do is security through obscurity. That is, make it as complex as possible so the pirates take as much time as possible to reverse-engineer it.



  • As I said, I don’t consider going out of bounds of a buffer a memory safety issue. Forcing the programmer to handle an out-of-bounds case every time there is an array access can be incredibly tedious. So much that not even rust forces you to do so. And if that language has iterators, it’s even less of an issue.

    I consider out-of-bounds array access to same as casting a pointer to another type. Just because a language lets you do it, it doesn’t mean that it is not memory safe. It is a performance feature, since checking the bounds every time is always possible (and incredibly easy to implement), but also with too big of an impact when you could just check the length once per loop instead of per loop iteration.


  • How can you not have memory-safety while also having a garbage collector?

    Garbage collection means that all objects live as long as you have a reference to it. Which means that you can only dereference a pointer to invalid memory if you willingly create an invalid pointer, or reinterpret the type of one pointer into another. Going out of bounds of an array counts as the first case.

    If a language has garbage collection but no compiler/interpreter supports it, then the language doesn’t have garbage collection.




  • I kinda disagree. The reason rust caught on is because it is much safer than C++ while having the same or even better performance. And in some contexts, being garbage collected means bad performance.

    Before rust you could either have a fast language (C/C++) or a memory safe language (any other language. That is, languages with garbage collector). But if you required memory safety and peak performance, there wasn’t any option.

    Yes, the reason that rust is both memory safe and fast is because it has a borrow checker. But the borrow checker is the means, not the end.