• 0 Posts
  • 186 Comments
Joined 1 year ago
cake
Cake day: December 29th, 2023

help-circle

  • When you login to the Vaultwarden web application it’s going to exchange your passphrase for a private key.

    bitwarden is end to end encrypted: your decryption keys never leave your device, and the server certainly never sees them

    you must always be able to trust your network

    this would be a horrible password manager. this is also not how bitwarden works

    you do still need to trust your server if you use the web interface, because any web interface can serve malicious components to exfiltrate whatever they like but native apps, assuming they’re verified appropriately, could communicate over HTTP and still not allow anyone actively monitoring your network to see any data that would be particularly useful



  • the story is the exact same the world over:

    it was entirely based on cost of course… that’s a no shit moment… public health is all about cost. it’s not cheap (about $1000 for the full course in australia), and the goal was to stop cervical cancer. it got changed a decade later because the stats came in about efficacy and they were higher than expected, and herd immunity was looking important

    you’re straight up definitively wrong mate



  • Pup Biru@aussie.zonetoProgrammer Humor@programming.devYes, But...
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    12 days ago

    Resource not found Data not found (client error). Data not found (server error)

    they are all the same thing; there is no useful, practical distinction between them

    if we request a list of objects and nothing was found, because we asked for a date when there was no data, its not an error. But i suppose many still just throw around exceptions still instead of handle them properly

    it’s an empty array: not found when requesting something specific is an error… that’s different to here is the complete set of 0 objects… like like if you have an array and request an index that doesn’t exist you get an exception, but that doesn’t mean an empty array is exceptional: it is in fact very valid

    using an error code for a non-error

    well, it is an error though. you have requested a URI for an object that doesn’t exist: it doesn’t matter whether it’s a resource or an individual thing

    remember that HTTP youre asking the server for some object matching a URI: please give me the object matching /users/bananoidandroid and /userssssss/bananoidandroid may both not be found for the exact same reason: the object referenced by that string does not exist

    here’s the spec definition for 404

    The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

    when you’re dealing with specs, deciding not to follow them because you feel like they’re wrong is not appropriate… this leads to bugs and issues in compliant tools because they make assumptions about what things mean

    200 means the thing that you asked completed successfully

    here’s the definition of 200:

    The request has succeeded. The information returned with the response is dependent on the method used in the request, for example:

    GET an entity corresponding to the requested resource is sent in the response;

    HEAD the entity-header fields corresponding to the requested resource are sent in the response without any message-body;

    POST an entity describing or containing the result of the action;

    TRACE an entity containing the request message as received by the end server.

    *edit: when talking about compliant, standard tools the classic example is transparent cache: a GET should not transform the resource and thus a GET with response of 200 can be cached… an API that uses a GET to modify a resource may cause transparent proxies (or CDNs) to significantly mishandle the user request… same goes for 200 vs 4xx and 5xx: proxies know that 200 means what it means and may cache based on that, where 5xx should never be cached and 4xx is probably dependant on which specific 4xx



  • Pup Biru@aussie.zonetoProgrammer Humor@programming.devYes, But...
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    12 days ago

    error codes aren’t about who’s at fault… you don’t send a 404 because it’s the users or the servers fault. it’s information… a 404 says something doesn’t exist… it’s nobody’s fault; it just is

    a 4xx says the request, if tried again without changes or external intervention, is unlikely to succeed

    a 5xx says the request might have been fine but some other problem that you can’t control occurred so may be retried without changes at a later time

    these are all standard things that are treated in standard ways by generic HTTP libraries… look at, eg axios: a javascript HTTP library that’s often thinly wrapped to build API clients… a 200 is just passed through as success, where 4xx and 5xx will throw an error: exactly what you’d want if you try to retrieve a non-existent object or submit a malformed payload…

    this is standard behaviour for a lot of HTTP libraries, and helps people accidentally write better code - an explosion is better than silence for unhandled exceptions


  • Pup Biru@aussie.zonetoFunny@sh.itjust.workshe is so good
    link
    fedilink
    English
    arrow-up
    4
    ·
    13 days ago

    alternatively gay men have our own culture and “normal” is conformance… i don’t want to fit into someone else’s box. gay men are by and large more sexual, and that’s not bad. in fact that’s great! people should strive to be more like us: sex is fun, just do it




  • I’m sure Fedora is full of binary blobs and not-so-free software

    fedora is staunchly opposed to non-free software in their default distro … that spat a few weeks ago with OBS was related to that AFAIK

    unsure about like signed blobs for “security” services but i imagine they’d be very limited, and optional

    rather than sticking a white label on Fedora and call it something else

    but for what benefit? no matter what’s trying to be achieved, starting with a very full-featured, robust OS that’s widely used is going to serve you very well… not just technically (less work for the same outcome), but for human reasons

    there are loads of guides out there for how to fix fedora issues, few for guix… loads of RPMs that are compatible with fedora, and i can only imagine fewer packages for guix

    and then if you’re talking about server OSes - and actually workstations too - managing them with tools like ansible etc… fedora is going to have off the shelf solutions

    just Fedora with different theme

    well, the actual software and configuration i’d argue aren’t the important part - owning the infrastructure is the important part… package mirrors, distribution methods (eg a website), being able to veto or replace certain packages, and the branding (or regulation) that draws people to it… being able to roll out a security patch to every installation without a 3rd party okaying it, for example


  • i’d say if it happens it should start with focusing on:

    • government and workstation (this is important first to have control and independence over so that government isn’t beholden to the whims of foreign companies)
    • then server (maybe - idk really if that’s worth it though; it’s a whole can of compatibility worms and adoption expense)
    • then user desktop

    though there is the argument that workstation and user desktop are close enough to each other that user desktop should be above server, but i’d imagine it’d be more of a “home user” than gamer situation. i could imagine some regulations around refurbishing old tech with this kind of OS too, and this would be more about low spec machines (that’d help workstations too)


  • alternative POV: it’s entirely FOSS so there’s little control that can be exerted from its use. it’s also entirely free, so use is extracting value without providing anything in return. by its use, you’re taking resources to maintain, host, etc and providing nothing in return

    similar reason to why i don’t use ecosia with an ad blocker: by blocking ads you’re using their resources without giving back and thus you’re taking resources away from the charity






  • Corporate bullshit and stock markets and whatnot are magnified in impact and scale in Capitalist systems

    and authoritarian tendencies are magnified in impact and scale in socialist systems because they are by definition centralised - that’s not to say it’s inevitable, just that anyone living under these systems needs to be hyper aware of those issues and respond accordingly

    nothing is perfect

    As for “trying to keep things small,” that’s been tried. Trust busting was attempted, protectionism has been attempted, but regardless of will, material processes continue.

    i think the closest we have to that is the EU with things like the DMA which is making a dent… with strong regulatory authority that’s resistant to capture, it’s not impossible to regulate these things… the same is true of socialism: you need strong regulatory authorities that are resistant to capture to stop people from abusing the system for the own personal interests

    As for Socialism being a necessity, it’s true. It will have various forms, but eventually as production gains in complexity it necessitates public ownership and planning to continue to be efficient.

    i think perhaps we should define what we actually mean - i think socialism is necessary in some part to tackle the issues we face (healthcare, housing, something akin to UBI, etc)

    but i think no single system is going to be the silver bullet to all our problems: it’s going to take a long and sustained effort over many generations to figure out the right mix of all the systems we have, and it’s absolutely not going to happen in a big bang