• 3 Posts
  • 25 Comments
Joined 1 year ago
cake
Cake day: September 1st, 2023

help-circle



  • It’s about memory management.

    In programming terms: allocated memory has to have the data in it that you expect in order for your program to work. The unsafe languages do it by manually ensuring it’s good and doing so mostly at runtime, or just assume the data is valid and write code that looks valid and have somebody check it before the program runs, or do a mix thereof. In all cases, it require a lot of human intervention and because humans are fallible with different skill levels, this fail quite often.

    Safe languages are either built on top of unsafe languages that are battle tested and do lots of runtime checks behind the scenes (interpreted languages like python, ruby, javascript, etc.). Then there are languages that check actions at compile time like Rust. They tell you that the memory you’re trying to access can be modified by another part of the code, which might make unexpected changes and that in order to access it, certain conditions have to be met.

    In laymans terms: imagine you work at a storage facility (memory) and have to store and retrieve packages. To know where to store and retrieve them, you have a piece of paper with the aisle, shelf, and rack and position on the rack. That’s your pointer. To store something, you have to make space on a rack and put the item there, write down the name of the item (variable) and location on a piece of paper (memory address), and keep it on you.

    Imagine keeping all of that in order. You have to make sure you don’t write down the wrong location (off by one error), remove a piece of paper then it’s not valid anymore (dangling reference), remove a piece of paper without removing the item (memory leak), add a piece of paper pointing to something without actually checking what you expect to be there is there and then retrieve it later, and so many other things.
    Those are the things unsafe languages allow you to do.

    Safe languages either enforce that before doing certain things, you check stuff (runtime checks) or that before you even start doing anything, you plan how you would do, and that plan is checked.

    The crazy storage facilities are what most of our world runs on at the moment and there a whole lot of people who love it because it’s simple and they know it. “Just tell the intern to get that box there, I made sure it’ll be fine. Trust me, I’ve been doing it this way for years.” meanwhile somebody gets the wrong medicine because a piece of paper said another one was supposed to be on the shelf. There are a bunch of people who have thought about ways to improve it, implemented, tested it, and are using it to manage their storage facilities.

    Anti Commercial-AI license





  • Matrix itself is a protocol (like email), defined as an open standard

    Please, for the love of every person on the planet, replace email with matrix. It’s about time we got rid of that damn protocol and matrix seems like the best candidate for it.

    It would be great if websites started adding a “sign up with your matrix ID” option and send confirmation messages over it. In fact, what’s holding them back? Matrix has automation, doesn’t it? And websites don’t need to host their own matrix server. They can have a bot client run in the background. Besides integration with popular web frameworks, that’s all that’s missing, isn’t it?

    Anti Commercial-AI license



  • If selecting a server is too much, then directing them to a random on that fits their criteria should solve the problem. Which joinlemmy, joinmastodon, joinoixelfed, and so on do.

    If even that is too much, then I’m totally fine without those people as I question what kind of stuff they’ll be saying.

    And this isn’t even elitist. It’s not “you have to have the ActivityPub spec memorised” or even know what ActivityPub is. It’s like “which email host should I pick”. No deeper than that.

    If Facebook and Apple have eroded people’s brains to the point where such a simple question cannot be answered without freaking out, then we’re in trouble.

    Anti Commercial-AI license


  • What’s there to understand? Does the average person understand that reddit consists of a frontend written in a frontend framework that compiles to HTML, CSS, and JS? Do they understand that HTTPS is used to make the request between the client and server on port 443? Do they know that the request is processed by a back end connecting to postgresql and redis or memcache for faster responses? That most assets are probably delivered by a CDN?

    Probably not. And why should they? They don’t need to understand how the fediverse works, nor do they have to understand how email works. All they need to do is select a server, create an account, and start interacting. Same as email.

    There’s no mystery. The fediverse isn’t complicated unless you freak out and start realising that the entire internet is more complicated than the shiny, glossy thing on top of it - which doesn’t need to be understood to have simple interactions with.

    Anti Commercial-AI license


  • Honestly, if picking a server is too difficult, how have you survived this long? It’s literally like picking an email host. That’s the UX people are complaining about. How far have we fallen that making a choice is now a problem? “Pick what you like” leads to people going “OMG, this is terrible, I have to make my own decisions😭😭” No wonder people love AI, because they can’t think for themselves.

    The only improvement would be setting a default or giving them themes to choose from which they are interested in and selecting a server for them based on that.

    Anti Commercial-AI license