On Tue, Apr 13, 2010 at 01:29:59AM -0400, Aaron Sherman wrote: : PRNGs are often misrepresented as frivolous, but as I'm sure you know from : your work at JPL, high quality random sequences are much-prized, and any : language that starts off with some poor assumptions will ultimately pay for : it.
Actually, my appreciation for good random number generators stems from my work even before JPL, at System Development Corporation, where I helped rewrite their discrete event simulator (known as MODLIT). The guys there did a lot of statistical analysis of the RNG to make sure it didn't have various subtle artifacts. In particular, I worked there with Peter Montgomery, a mathematician with an Erdős number of 1. Pity I never published with him. :) The fact that early Perl just tended to pass through the system's rand function had more to do with trying to be a glue language to existing APIs than it did with trying to provide a good RNG. (Plus realizing that anyone in those days who wanted a good RNG tended to write their own anyway.) In any case, there weren't many standardized sources of entropy in those days. Back then, if I wanted a decently entropic seed, I'd run a ps that dumped as much of the internal state of the OS as possible (including various fast-changing internal tables), and then hash that. In strength it was probably somewhere between /dev/random and /dev/urandom. Larry