• 23 Posts
  • 871 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle










  • They wanted full access to the user’s Google Drive. That’s a permission Google is very reluctant to hand out because some users (perhaps unwisely) store large amounts of sensitive information there, and very few apps actually need direct access.

    Even if an editor app needs access to arbitrary files on Google Drive that it did not create, it can use the Android file picker. This seems like a case of an app developer failing to follow the good practice of minimizing permissions. I have complaints about Google and the Android ecosystem, but having high requirements for unrestricted access to Google Drive is not one of them.









  • If I feel threatened in my car, I am not allowed to run over the person

    You are not allowed to run people over merely because you feel threatened.

    You are allowed to use deadly force, in the USA when you reasonably believe that it is necessary to prevent someone from unlawfully killing, causing serious physical injury, or committing a short list of violent felonies. The harassment described in the article probably does not rise to that level, though an ambitious lawyer might try to describe intentionally causing the car to stop as carjacking or kidnapping.


  • PRNGs aren’t random at all; they produce a deterministic sequence of numbers based on a seed value and an internal counter. Two PRNGs using the same algorithm and seed will produce the same sequence of numbers. The sequence is difficult to predict without knowing the algorithm and seed, and the values are close to evenly-distributed, which is enough like random numbers for a lot of use cases.

    Here’s an example in Ruby:

    seed = Random.new_seed()
    => 142757148148443078663499575299582907518
    prng_1 = Random.new(seed=seed)
    prng_1.rand()
    => 0.6702742156250219
    prng_2 = Random.new(seed=seed)
    prng_2.rand()
    => 0.6702742156250219
    prng_1.rand()
    => 0.9667236181962573
    prng_2.rand()
    => 0.9667236181962573
    

    If you run this yourself using 142757148148443078663499575299582907518 as the seed, your first two pseudorandom numbers will also be 0.6702742156250219 and 0.9667236181962573, assuming your version of Ruby hasn’t changed its PRNG.