From: Maik Schmidt Date: 2003-11-17T11:40:14+09:00 Subject: [ANN] RealRand 1.0.0 Yo! I've just released a new Ruby project called RealRand. From the README file: A lot of algorithms in cryptography etc. depend on good random numbers, i.e. random numbers that are "real" random and not just generated by a so called pseudo-random generator. You cannot create real random numbers using a computer and an algorithm. Only nature creates real randomness (just take a look around the next time you are surrounded by a group of people.). Real randomness occurs e.g. in atmospheric noise, during radioactive decay, or in a lava lamp. Fortunately, you do not have to listen to an old radio the whole day or, even worse, deposit some uranium in your living room and observe it with a Geiger-M�ller tube. Other people do so (in a slightly modified manner, of course) and they kindly make their results public. There are at least the following web sites, that offer real random numbers for free: * http://www.random.org - Real random numbers are generated from atmospheric noise on this site. * http://www.fourmilab.ch/hotbits - The HotBits generator creates real random numbers by timing successive pairs of radioactive decays detected by a Geiger-M�ller tube interfaced to a computer. * http://random.hd.org - "This system gathers its 'entropy' or truely random noise from a number of sources, including local processes, files and devices, Web page hits and remote Web sites." All these real random numbers can be requested via different HTTP interfaces that all look very similar. E.g. you can request a number of random bytes from any of the web sites above. This project encapsulates all these very similar but still different HTTP interfaces and offers simple Ruby interfaces to get real random numbers from all the web sites mentioned above. USAGE Once RealRand is installed and your internet connection is up, generating real random numbers is a piece of cake: require 'random/online' generator1 = Random::RandomOrg.new puts generator1.randbyte(42).join(",") # Roll the dice a 100 times. puts generator1.randnum(100, 1, 6).join(",") generator2 = Random::FourmiLab.new puts generator2.randbyte(7).join(",") generator3 = Random::EntropyPool.new puts generator3.randbyte(5).join(",") IMPORTANT NOTE All the services used in this library are offered for free by their maintainers. So, PLEASE, have a look at their web sites and obey to their rules, if you use their service. You can find RealRand on RAA: http://raa.ruby-lang.org/list.rhtml?name=realrand RealRand's web site is: http://www.maik-schmidt.de/realrand.html If you have any suggestions or want to report bugs, please contact me. Cheers,