News for hackers. Stuff that matters.
Re:Nano ID: A tiny, secure URL-friendly unique string ID ge... by falsedan on Wednesday September 13, 2017 @07:51AM (#15237349)
> bucket_size = 4 / 3

I have an off-by-one error… your random function has a range of 5, so it should be max - min + 1:

    bucket_size = 5 / 3
then

    0 / (5/3) = 0
    1 / (5/3) = 3/5 = 0
    2 / (5/3) = 6/5 = 1
    3 / (5/3) = 9/5 = 1
    4 / (5/3) = 12/5 = 2
> So, 0s and 1s are still more likely than 2 to appear.

Yeah, I planned for 65535 randoms and 52 alphabet. It would still mildly bias to the first range mod alphabet_size elements.

There are no comments on this comment yet.