Just a quick bit on an issue I was faced with a few months ago.
VB.NET program I was working on, and I was just being painful, when I starting working with Random numbers.
Why do random number software not take advantage of various variables provided by Windows for a start
randseedA = My.Computer.Info.TotalPhysicalMemory
randseedB = My.Computer.Info.AvailablePhysicalMemory
randseedC = My.Computer.Clock.TickCount
randseedD = My.Computer.FileSystem.CurrentDirectory.Length
randseedE = My.Computer.Clock.TickCount
randseedF = My.Computer.Info.AvailableVirtualMemory
And then there are more deeper H/W variables such as Fan speeds, CPU Temps, MB Temps, GfX Card variables etc...
I know each line of code takes up resources and memory, but if you're going to do something, do it right?
The 6 lines of code are at the start of my program. I work with these and a few others, including TickCount and AvailblePhysicalMemory through loops to randomize a number. It is slower, but after 10's millions of iterations, the plot is much more noisy than the regular random number generator provided by VB.