Ako ti sam radis takav program, onda ta firma nije ozbiljna sto ti je ponudila posao, niti si ti ozbiljan ako si se toga prihvatio... To se radi godinama, i rade timovi od 10-20-30 programera...
Konkretno sto se tice randomize funkcije to ti je nauka sama po sebi... Jedan od popularnijih nacina (mada nije najsavrsenij) je da se iz atmosfere putem radio antene primaju zvukovi na odredjenoj frekvenciji, ti zvukovi su svi sumovi koji nastaju odbijanjem radio talasa o atmosferu, plus sumovi koje stvara sama planeta, zracenja itd itd.. Onda uzmes taj signal, amplitudu iseces tako da ti samo ostanu 0 i 1 i onda od tog streama vadis random brojeve...
Onda imas random generatore koji rade po principu CCD kamere, ili koji rade na osnovu radioaktivnih cestica...
U svakom slucaju jedan od dobrih izvora za to je
http://www.random.org/
Neki od random generatora:
LavaRND, Silicon Graphics generator, koristi CCD kameru i lava lampu:
http://www.lavarnd.org/
HotBits, Hvatanje raspada radiokatvinih cestica:
http://www.fourmilab.ch/hotbits/
Java EntropyPool, skuplja sa vise izvora online pa generise:
http://random.hd.org/
Inace svaki random number generator mora da prodje 'entropy' test, odnosno da se proveri da li su brojevi stvarno random... Tvoj random generator ces najlakse proveriti tako sto ces generisati 1mb podataka, i ukoliko je sekvenca stvarno random, trebao bi da nema uopste razlike u velicini u kompresovanom i originalnom fajllu, odnosno da ti compression rate bude 0%. Pa onda imas chi-square distribution test, pa imas arithmetic, pa monte carlo pi value.. itd itd...
Uglavnom, sve je mnogo komplikovanije nego sto mislis... A to je samo deo za random... Gde je ostalih 99% softvera?