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

help-circle















  • 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.


  • There was a recent related discussion on Hacker News and the top comment discusses why this sort of solution is not likely to be the best fit for smaller organizations. In short, doing it well requires time and effort from someone technically sophisticated, who must do more than the bare minimum for good results, as you just learned.

    Even then, it’s likely to be less reliable than solutions hosted by big corporations and when there’s a problem, it’s your problem. I don’t want to discourage you, but understand what you’re committing to and make sure you have adequate buy-in in your organization.