  At least some non-random sequences satisfy many of the measure one properties required of random sequences. For example, the Champernowne sequence, consisting of all the binary numerals for every non-negative integer listed consecutively (i.e., 011011100101110111…), is Borel normal. This sequence isn’t random, as initial subsequences of reasonable length are highly compressible. But it looks like it satisfies at least some desiderata for random sequences. This sequence is an attempt at producing a pseudorandom sequence—one that passes at least some statistical tests for randomness, yet can be easily produced. (The main impetus behind the development of pseudorandom number generators has been the need to efficiently produce numbers which are random for all practical purposes, for use in cryptography or statistical sampling.) Much better examples exist than the Champernowne sequence, which meet more stringent randomness  properties.[16]  One simple technique for generating pseudorandom sequences is a symbol shift algorithm (Smith 1998: 53). Given an initial ‘seed’ numeral \(s_1, s_2 , \ldots ,s_n\), the algorithm simply spits out the digits in order. Obviously this is useless if the seed is known, or can in some way be expected to be correlated with the events to which one is applying these pseudorandom numbers. But in practical applications, the seed is often chosen in a way that we do expect it to carry no information about the application (in simple computer pseudorandom number generators, the seed may be derived in some way from the time at which the seed is called for). With a finite seed, this sequence will obviously repeat after a some period. A symbol shift is the simplest possible function from seed to outcome sequence; better algorithms use a more complicated but still efficiently computable function of the seed to generate outcome sequences with a longer period, much longer than the length of the seed (e.g., the ‘Mersenne twister’ of Matsumoto and Nishimura 1998 has a period of \(2^{19937} - 1)\).