Hacker News new | ask | show | jobs
by roaur 2170 days ago
Aren't most PRNs made deterministically? LCGs can have huge cycle times and can produce statistically sound random numbers.

I had to look it up and Wikipedia has this statement a bit differently. This one makes Neumann sound funny because his Mid-Square method is a terrible PRN generator.

2 comments

> Aren't most PRNs made deterministically?

All pseudorandom numbers are deterministic; that’s what the ‘pseudo-‘ prefix is meant to indicate. There are other kinds of random number generator that observe physical entropy sources instead. Perhaps the most iconic is CloudFlare’s wall of lava lamps[1].

[1] https://blog.cloudflare.com/lavarand-in-production-the-nitty...

History trivia: Cloudflare stole this from SGI, who patented the idea.

https://en.wikipedia.org/wiki/Lavarand

Hardly stole it, literally acknowledged in blog post where we announced this: https://blog.cloudflare.com/lavarand-in-production-the-nitty...

We're not the first ones to do this. Our LavaRand system was inspired by a similar system first proposed[1] and built by Silicon Graphics and patented[2] in 1996 (the patent has since expired).

[1] https://en.wikipedia.org/wiki/Lavarand

[2] https://patents.google.com/patent/US5732138

Calm down.

I'm hardly accusing anyone of any wrong-doing. It is a turn-of-phrase that I'm sure most english-speakers have encountered.

It has a very different connotation when you say "I'm stealing..." than it does when you say "you're stealing..." It's only jargon in first-person.

Compare saying "wow, I'm really stupid" when you make a mistake vs. saying "wow, you're really stupid" when they do.

Self-deprecation applied to others is just deprecation.

> Cloudflare stole this from SGI, who patented the idea.

Why the accusation that Cloudflare stole this? The patent expired in 2016 and Cloudflare acknowledges SGI on their page.

PRNGs are often seeded with a "true" random value, from which they generate a sequence of pseudorandom values. In that case, you actually end up with a hybrid of random and deterministic. An example of this is `/dev/urandom`.