You're probably thinking of linear congruential generators (LCGs), proposed by Lehmer. Old unix rand()s were LCGs but with bad parameter choices.
LCGs can be made OK but the state of the art has moved on. Try a generalized shift register implementation like Mersenne Twister.
Those are all pseudorandom. As another poster pointed out, true random numbers are obtainable for example by observing radioactive decay or in single-photon/slit experiments. (All analogue processes have some degree of true randomness but some more than other, the more chaotic the better; a lava lamp is probably good but sloooow:)
LCGs can be made OK but the state of the art has moved on. Try a generalized shift register implementation like Mersenne Twister.
Those are all pseudorandom. As another poster pointed out, true random numbers are obtainable for example by observing radioactive decay or in single-photon/slit experiments. (All analogue processes have some degree of true randomness but some more than other, the more chaotic the better; a lava lamp is probably good but sloooow :)