Nuclear Random Engine
People are extremely bad at generating random sequences. People behave in a mechanic and repetitive manner. Human brain aims to conceive reality within periodic sequences and patterns. This is why most sequences and rhythms we encounter in art and music are repetitive. The existing computing machines don't generate random sequences; the so called pseudo-generators of random numbers are periodic. This is why the project reaches quantum states which are highly randomized and can be used for generating random numbers. The radioactive disintegration of Tor is converted into light-sound impulses.
Real randomness vs. Psedo-randomness
The existing computing machines don't generate random sequences; the so called pseudo-generators of random numbers are periodic. You can create a formula that generates a pseudo-random number. When designing the formula, the idea is for it to produce a string of numbers that would look random to anyone who did not know what the formula is. Characteristics of a good formula include:
* No repetition: The sequence does not cycle around and repeat itself. Good numeric distribution: If the formula is producing random numbers between 0 and 9, the number of zeros, ones, twos, etc. that it produces should be roughly equal over a long period of time.
Lack of predictability: You have no way to predict what the next number will be unless you know the formula and the seed (the initial value).
RANDOM BLAST - Robert B. Lisek from Robert B. Lisek on Vimeo.
Quantum randomness /based on radiation
I used an old Geiger counter and point it at a source of radiation -- like e.g. Torr. The output of the Geiger counter is feed to an interface that will connect to the serial port on a Mac and watch the interval between "clicks". If the most recent interval is greater than the previous interval I'll count that as a 1, if less I will count it as a 0, and if equal, I'll just drop the current interval.
some random bits:
PYTHON REAL RANDOM FROM GEIGER
# Integer unbiaser version 1.0
# Convert a biased uncorrelated stream of integers (eg, click
# intervals from a Geiger counter) into an unbiased uncorrelated
# bitstream. See
if len(stream) < 2:
res = 
s1 = 
sa = 
p0 = None
for p1 in stream:
if p0 == None:
p0 = p1
if p0 == p1:
p0 = None
return res + amls(sa) + amls(s1)
if len(data) < 3:
pivot = data
data[0:1] = 
nonp = [x for x in data if x != pivot]
if len(nonp) == 0:
bits = amls([x == pivot for x in data]) + amls([x < pivot for x in nonp])
left = [x for x in nonp if x < pivot]
right = [x for x in nonp if x > pivot]
return (bits + extract_juice(left) + extract_juice(right))
n = 1
k = 1024
for i in range(0, n):
# Numbers from HotBits hbhist.gif
data = 
for j in range(0, k):
sample = int(0.5 + random.gauss(1889.35,26.4))
#sample = (sample * 1000) % 2011
bits = len(extract_juice(data))
print "Bits:", bits
print "Efficiency: ", bits * 1.0 / k
Unique sequence of code from geiger counter counter is directly synthesized to sound and light. The whole system is controlled by original software that I developed and coded using Supercollider, Python and LISP. This stage of work is still in progress.
Tests and limitations
Another aim of the project is connected with examining the limitations of computability through testing different sequences and functions.
An integral part of the project is the multidimensional presentation of data in architecture. The project has been exhibited in CARGO Posen and MOOZAK Vienna.
The project investigates the effect of radiation on living organisms that is connected with the influence of this spectrum on living cells.
development: Robert B. Lisek
coding: Robert B. Lisek
contact: lisek at fundamental dot art dot pl