• 1 Post
  • 23 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle


  • According to a different source shared by @giriinthejungle, the attorney who has taken the case is suing the entire operating unit and expects whoever instructed the girl to drill the hole to be liable for assault. That is also the estimation of the chief regional patient attorney, provided the incident happened as reported by the media.

    The neurosurgeon as well as one other doctor have already been let go by the hospital.
    Police have not yet charged anyone, their investigation is still ongoing as of the time of the article (2024-08-26).




  • The main difference is that 1Password requires two pieces of information for decrypting your passwords while Bitwarden requires only one.

    Requiring an additional secret in the form of a decryption key has both upsides and downsides:

    • if someone somehow gets access to your master password, they won’t be able to decrypt your passwords unless they also got access to your secret key (or one of your trusted devices)
    • a weak master password doesn’t automatically make you vulnerable
    • if you lose access to your secret key, your passwords are not recoverable
    • additional effort to properly secure your key

    So whether you want both or only password protection is a trade-off between the additional protection the key offers and the increased complexity of adequately securing it.

    Your proposed scenarios of the master password being brute forced or the servers being hacked and your master password acquired when using Bitwarden are misleading.

    Brute forcing the master password is not feasible, unless it is weak (too short, common, or part of a breach). By default, Bitwarden protects against brute force attacks on the password itself using PBKDF2 with 600k iterations. Brute forcing AES-256 (to get into the vault without finding the master password) is not possible according to current knowledge.

    Your master password cannot be “acquired” if the Bitwarden servers are hacked.
    They store the (encrypted) symmetric key used to decrypt your vault as well as your vault (where all your passwords are stored), AES256-encrypted using said symmetric key.
    This symmetric key is itself AES256-encrypted using your master password (this is a simplification) before being sent to their servers.
    Neither your master password nor the symmetric key used to decrypt your password vault is recoverable from Bitwarden servers by anyone who doesn’t know your master password and by extension neither are the passwords stored in your encrypted vault.

    See https://bitwarden.com/help/bitwarden-security-white-paper/#overview-of-the-master-password-hashing-key-derivation-and-encryption-process for details.



  • This works as a general guideline, but sometimes you aren’t able to write the code in a way that truly self-documents.
    If you come back to a function after a month and need half an hour to understand it, you should probably add some comments explaining what was done and why it was done that way (in addition to considering if you should perhaps rewrite it entirely).
    If your code is going to be used by third parties, you almost always need more documentation than the raw code.

    Yes documentation can become obsolete. So constrain its use to cases where it actually adds clarity and commit to keeping it up to date with the evolving code.


  • There’s no need for something that complex.
    Someone with access to a chess engine watches the game and inputs the moves into the engine as they’re played. If there’s a critical move (only 1 or very few of the options are winning/don’t throw the game) they send a simple signal to let him know. That can be enough to give you an advantage at that level. If you really want, you could send a number between 1 and 6 to represent which piece the engine prefers to move, but it’s likely not necessary.

    That said, all the evidence he actually did anything like that is at best circumstantial (mostly statistical evidence supposedly showing how unlikely his performance was given his past performance and rating at the time, as well as known instances of past cheating by him - though the only confirmed ones were several years ago when he was still a kid and online rather than in person).


  • wols@lemm.eetoProgrammer Humor@lemmy.mlIn case you forgot.
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    1 year ago

    Extra steps that guarantee you don’t accidentally treat an integer as if it were a string or an array and get a runtime exception.
    With generics, the compiler can prove that the thing you’re passing to that function is actually something the function can use.

    Really what you’re doing if you’re honest, is doing the compiler’s work: hmm inside this function I access this field on this parameter. Can I pass an argument of such and such type here? Lemme check if it has that field. Forgot to check? Or were mistaken? Runtime error! If you’re lucky, you caught it before production.

    Not to mention that types communicate intent. It’s no fun trying to figure out how to use a library that has bad/missing documentation. But it’s a hell of a lot easier if you don’t need to guess what type of arguments its functions can handle.



  • wols@lemm.eetoProgrammer Humor@lemmy.mlMy poor RAM...
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    1 year ago

    The point is that you’re not fixing the problem, you’re just masking it (and one could even argue enabling it).

    The same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.

    Developers use the excuse of people having access to more RAM as justification to produce more and more bloated software. In 5 years you’ll likely struggle even with 32GiB, because everything uses more.
    That’s not sustainable, and it’s not necessary.


  • I think they meant the only language we transpile to for the express reason that working with it directly is so unpleasant.

    Java is not transpiled to another language intended for human use, it’s compiled to JVM bytecode.

    People don’t usually develop software directly in the IR of LLVM. They do develop software using vanilla JavaScript.



  • Yup.

    Spaces? Tabs? Don’t care, works regardless.
    Copied some code from somewhere else? No problem, 9/10 times it just works. Bonus: a smart IDE will let you quick-format the entire code to whatever style you configured at the click of a button even if it was a complete mess to begin with, as long as all the curly braces are correct.

    Also, in any decent IDE you will very rarely need to actually count curly braces, it finds the pair for you, and even lets you easily navigate between them.

    The inconsistent way that whitespace is handled across applications makes interacting with code outside your own code files incredibly finicky when your language cares so much about the layout.

    There’s an argument to be made for the simplicity of python-style indentation and for its aesthetic merits, but IMO that’s outweighed by the practical inconvenience it brings.





  • Good points.

    I would argue that grains, lentils and eggs are fresh, as well as most meats that I would consider “healthy” enough to be compared with fruits, but that’s maybe due to my perhaps non-standard understanding of the word so I apologize for the confusion (let me conveniently hide behind the “non-native speaker” excuse).
    I concede frozen vegetables.

    I agree that veggies (especially legumes and root vegetables) are even healthier than fruits.

    But I think we should encourage fruit consumption as a more healthy way to enjoy sweet things.
    I think it’s more effective than to continue consuming large amounts of processed foods with added sugars and more pragmatic than trying to cut out everything sweet altogether.

    Most unhealthy diets are caloric surplus anyway, so I think it makes more sense to replace things than to simply add them, and fruits are a good substitute because they taste really good by default.

    I enjoy many vegetables, but most are not that tasty without good preparation (cooking, seasoning, etc. - notable exceptions: carrots & tomatoes).
    You can just bite into a banana and it tastes great, scratches that sweet craving and will also satiate you a bit; a good substitute for a chocolate or ice cream. Or a bag of chips.


  • That does indeed seem like the hangup in this case, and it’s on me; I should have used a less vague word or else clarify.

    To me fresh is anything that hasn’t been processed for preservation (except drying). So cheese isn’t fresh, heat treated milk/cream isn’t fresh, smoked and cooked meats aren’t fresh, pickled foods aren’t fresh, frozen foods aren’t fresh and anything with actual preservatives added is definitely not fresh.
    “raw” would probably have been the better word to use.
    Also, having thought about my own understanding of the word a bit more in depth, I’ll concede that some pickled veggies are pretty healthy, as well as yoghurt.

    You were right with all three examples.