• 66 Posts
  • 1.81K Comments
Joined 2 years ago
cake
Cake day: September 1st, 2023

help-circle



  • I think his dude would be better er served by radicle. He can host his seed node, people can push their branches into namespaces in the bare git repositories there, they can request that those branches be merged into a branch in his namespace, they can create tickets that are all stored in the git repositories, comments on patches/merge requests/etc. are also in git, he can add trusted contributors, and so on.

    People don’t have to create an account. Just a public key pair on their machine and they are off to the races.

    I don’t know his email, but somebody could mail him and make him aware of radicle.

    Anti Commercial-AI license




  • The interview process being broken doesn’t mean the job is broken/useless. It’s shitty IMO that Columbia university wants to take “disciplinary action” for exposing useless interviewing practices. It would’ve been better to tell Roy about ethics and say “If you want to do this kind of stuff, that’s fine, but here’s the way to do it. In fact you can continue doing this at our university and make a career out of it. Let’s talk.”

    And Amazon’s reaction is also dumb (as expected). They should instead be hiring this dude to improve their interviewing practices by letting him build internal tooling to try and defeat the interviewing process. Of course they won’t do this because there is a certain prestige in getting a FAANG job. Keeping recruiting costs low but interest high with a high rejection rate is the goal for recruiting.

    I’m not quite sure there’s a winner in this triangle, except those outside it: this might force companies to change their recruitment practices. My guess is that there will be a lot of resistance first and more money will be spent on “fraud detection” than actual improvements. It will be a cat and mouse game with probably the companies losing, but at least some C-suite bastard will get rich selling the fraud detection solution 🤷

    Anti Commercial-AI license


  • I wasn’t being very serious about nix. IMO, it’s quite the time investment due to its poor documentation and it has a lot of gotcha’s if you aren’t on NixOS e.g one example is that it’s great for terminal applications, but horrendous for GUI applications as it’ll be hit or miss. Again, this is if you’re not on NixOS. So, it can feel like an “all or nothing” approach.

    If you have the time and will, then it can be very rewarding. But if you just "want something that works ™ " side by side in your current system, personally, I wouldn’t recommend it - unless it’s hidden by some other tool like devenv (which is a great tool for reproducible developer environments).

    Anti Commercial-AI license


  • Adopt nix and you will be able to ignore it forever! 😉

    Seriously though, as others have said, use whatever fits you best. I avoided snaps and flatpaks due to the increased size requirements. So many things were duplicated for no apparent benefit (to me). However, with their introduction of permissions and portals, it does seem like a safer option. Although, we’re in a phase right now where not everything is flatpakked and applications trying to talk to each other is a pain (keepassxc unable to talk to flatpak firefox librewolf, chromium, etc.).

    Now that I use nix, I have a whole bunch of other problems, but at least getting packages is quite low on the list.

    Anti Commercial-AI license







  • This way, if the third party starts doing some bullshit like trying to lock me in, donating to a dickhead, or whatever else I disagree with, I can cancel my subscription, move to another third party, and keep all mails on my server.

    I would like to be able to change providers and have the emails available on multiple devices.

    IMAP allows multiple devices but leaves the emails on the server. POP pulls them from the server but that means they aren’t available to other devices anymore.

    The solution (I think) is to pull using POP onto a shared server, then make the pulled emails available using IMAP.

    Anti Commercial-AI license







  • 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