6 ms·
The visualisation means next to nothing for proving it's good. But the visualisation seems to show patterns, which says plenty.
by nathan7 12y ago
The visualisation means next to nothing for proving it's good. But the visualisation seems to show patterns, which says plenty.
- dasmithii 12y agoIt seems to be an improvement from the notoriously poor rand() of PHP. (not confident in the credibility of this article) http://boallen.com/assets/images/randbitmap_computer.png http://boallen.com/assets/images/randbitmap_computer.png
- ars 12y agoIt's not a PHP function, it's a C library function that PHP is using. On Linux rand() doesn't suffer from the problem.
- LnxPrgr3 12y agoIf I look at it too long, I see "patterns" in the output of OS X's /dev/random too: http://codeanarchy.com/files/yarrow.png http://codeanarchy.com/files/yarrow.png Random doesn't always look random. To make matters worse, we're biased towards seeing patterns in noise: http://en.wikipedia.org/wiki/Clustering_illusion http://en.wikipedia.org/wiki/Clustering_illusion
- praptak 12y ago...and my repost from https://news.ycombinator.com/item?id=4821942 https://news.ycombinator.com/item?id=4821942. A bookmarklet (paste in address bar) to show truly random and "evened out" dot distributions side by side. (Don't laugh at my Javascript): javascript:"<html><body><canvas id=\"tutorial\" width=\"200\" height=\"200\">foo</canvas><-><canvas id=\"tutorial2\" width=\"200\" height=\"200\">foo</canvas><script>var canvas = document.getElementById('tutorial');var ctx = canvas.getContext('2d');ctx.fillStyle = \"rgb(000,0,0)\";for (var i=0;i<400;i++) {ctx.fillRect (Math.random() * 200,Math.random() * 200, 2, 2); };</script><script>var canvas = document.getElementById('tutorial2');var ctx = canvas.getContext('2d');ctx.fillStyle = \"rgb(000,0,0)\";for (var i=0;i<20;i++) for(var j=0;j<20;j++) for(k=0;k<1;k++) {ctx.fillRect (i * 10 + Math.random() * 10, j * 10 + Math.random() * 10, 2, 2); };</script></body></html>"
- kyberias 12y ago"Patterns"? Of course there are patterns. If there were no patterns, that would be suspicious. Do you claim to be able to look at a picture of a random number generator data and determine the quality based on that? You do realize that even perfectly random data may have patterns?
- dasmithii 12y agoIt serves mostly as a litmus test against blatant predictability. As said above, sequential lines or otherwise obvious shapes would indicate poor randomness. I wouldn't evaluate a generator solely on the basis of a bytemap. But these visualizations are of value.
- DanBC 12y ago"Patterns" doesn't mean much. Repeated diagonal lines would be obviously broken.