# Everything you would ever want to see

Could Google render all possible television pictures and take over the industry?
I am working within the television industry. When going from analogue to digital equipment we started to treat our content as numbers instead of electrical pulses of different magnitude.

When working with numbers things get more absolute than the analogue electrical pulses. Suddenly it struck me that there actually is a limited number of possible television pictures out there. And, that it would be possible to create a computer program that could render all these pictures.

Have a look at this experiment:
We make a very simple picture. It consist of 4 x 4 pixels and no colour or shades of gray. Just black or white. This picture will contain 4 x 4 = 16 pixels. Since the pixels can be only black or white it is very easy to map it to a binary number containing 16 bits. This is the grid for my very simple picture:

Lets take the number 27030. The binary version of this number is 0110100110010110. Mapped into the 4×4 picture it would look like this:

With pixels instead of numbers it looks like this:

So, the number 27030 is actually a small circle when we show it as a picture instead of a number.

With 16 bits there are 2^16 = 65536 possible ways to combine these bits. So, there are 65536 possible pictures to draw in this frame. If we do a binary count from 0 to 65536 in the frame we will show all the possible pictures.

Everything that you would ever want to see
Now, lets take a standard PAL television picture. It is 720 by 576 pixels. Each pixel consist of 24 bits to be able to draw colors. In total, this gives 720 x 576 x 24 = 9953280 bits in a complete PAL television picture. That leads us to the fact that it is only possible to show 2^9953280 pictures on television in Europe. That’s it. When you have seen all the 2^9953280 pictures you have seen everything that it is possible to see on television. For USA and NTSC the amount of possible pictures are even less:
720 x 480 x 24 = 8294400. For NTSC you have 2^8294400 pictures to play with.

So, Google makes a computer program that renders out all these pictures and store them on hard drives. They make some kind of amazing image search techniques, and let the television industry buy footage. And, maybe end users could buy footage as well. That way we could prevent people like Bob the Millionaire turning into pirates.

Google will have all the pictures to cover all the Olympics that could possibly be arranged and all the pictures to put together every Super Bowl that could ever be played. They would have a bunch of new episodes of Friends and all the seasons of Lost that could ever be produced… They would even have strange pictures like this on file. And I guess I would not have to take any pictures on trips like this one. However, even Google would have trouble placing the pictures on the map like I did. 🙂

Well, if you try to do any calculations on the number 2^9953280 and add the fact that for television you combine a sequence of the pictures and add sound as well, I do not think that people in the television industry should be too afraid. But hey, the experiment is cool!

Contest
The following picture contains a square that is 64 x 64 pixels. In it there is a greyscale picture. Unfortunately I do not know enough programming to make this a live experiment. This is the contest: make a web based program that will “count” each time this page is loaded and show a new picture of the possible pictures that can be rendered in the 64 x 64 area:

At some point there will be a picture that is funny, beautiful, horrible, pornographic, ugly, nice… A picture of you… Yes, everything that you would ever want to see. The code for that program will be made available here, so that people can add an “Everything!”-image on their page. At some point maybe someone will have a picture that actually show something. At some point, maybe we can make a gallery of rendered pictures. ….or, it will take some billion years before something interesting show up. Anyway, the concept is a little bit interesting.

Update:

## 103 thoughts on “Everything you would ever want to see”

1. In response to my post about Everything you would ever want to see I have recieved a couple of calculations. Here are some numbers from an Excel sheet I recieved from Dr. Ã˜yvind StrÃ¸mme:

This is the number of gigabytes you need to store all the pictures:
221 610 878 663 834 000 000

That would require 738 702 928 879 446 000 * 300 GB hard drives.

If we use a Maxtor One Touch USB2 as an example the price tag (2005) would be \$236 880 564 268 199 300 000,-

…and my own calculations show that the total weight of the drives would be 1 019 410 041 853 630 tons.

The total weight of planet earth is estimated to 5972 sextillion tons

But, combining responses from Staale P over at the Meedio Forum and the still amazingly intelligent Thorolf TÃ¸njum, they conclude that my number is 10^103 times bigger than the amount of atoms in the known universe.

As Staale P put it:
“So my comment is: Even if you only use one atom to store one bit in each picture and could generate all the pictures, you would have no place to store them as no storage media could be large enough, even if it was the size of the universe. “

Still, the weight of the drives (1 019 410 041 853 630 tons) is less than the weight of the planet earth (5 972 000 000 000 000 000 000 tons)…

Do we have a problem with the calculations here?

2. Hi!

This is an old and fascinating question that was treated by J-L Borges, a famous writer in his short story “The library of Babel”. This library contains all the books that have the combinations of all the letters of the alphabet, including the story of YOUR life. This novel, and other wonderful metaphysical ones, are published in a book named “Fictions”. I have published a study about the size of this library in “Variaciones Borges” http://www.hum.au.dk/romansk/borges/ (in French).

3. Thank you! You have just pointed me to some very interesting reading. I am fascinated by the combination of science and art. It seems like Borges combines this in a beautiful way.

Yes, I should read Borges, and… I will!

4. consider an infinitely non-repeating decimal value, like pi … within it’s infinitely long chain of values, every possible combination of numbers and strings could be found. I am confident that with enough computing power (perhaps with a quantum computer having access to an infinite number of paralllel processors?) you could find the complete text of any book ever written, any book ever to be written, any shopping list, any private journal entry, any piece of fiction, and all possible variations thereof, somewhere within the string of numerals encoded within pi. Similarly, given that each frame of a movie can be reduced to a string of characters, it would seem to be theoretically possible to find any frame of a any movie or television broadcast also encoded within pi.

Problem is, the processing power and massive memory required to perform these operations are beyond imagination and into the realm of crazy postulations. But, it’s fun to image an kind of “Hitchhiker’s Guide to the Galaxy” encoded within a single number and available via a sort of index guide to positions within pi.

Regards,

Rich.

5. Cool! All episodes of Sopranos, wrapped up in the number pi…

6. Leen says:

This is indeed a nice remark. Further note that one can compute any digit of Pi *without* having to compute the previous digits. So you can access the 10 billionth digit of Pi immediately. (See “On the rapid computation of various polylogarithmic constants” by David Bailey, Peter Borwein and Simon Plouffe). Unfortunately, this only works in hex, but hey. Also note that an index in the number takes at least the logarithm (in some base) of that number, so this is also unlimited.

consider an infinitely non-repeating decimal value, like pi â€¦ within itâ€™s infinitely long chain of values, every possible combination of numbers and strings could be found.

emphasis here on could be. There is no way you can tell that a certain string of digits will or will not be there until you find it. certain is taht not every sequence will turn up.

8. Total Tim says:

Wow, ive been wondering about this for a wile and now theres even an article about it, how crazzy. I thought maybe you can show every citizen of the world one picture and have them pick the right pictures. Errm, right, back to reality. They have always told me the universe is (possibly) infinite, so how can you determine the exact amount of atoms in it?

9. I could create a program that creates random images, but it would be very cpu intense, I will make a program that does it, but the cpu load will be high.

10. Sounds cool. My original thought was a program that can be put in a web page and that updates every time the page loads. That would make some kind of a visual counter…

Even with my greyscale 64×64 pixel example it will take huge amounts of time to render all the pictures. Still, it is kind of interesting…

As you probably understand, the xls-sheet mentioned is a big joke. A real program would be quite cool. Even if it will not show anything interesting for a couple of million years… 🙂

11. Ronald says:

Hello,

i wrote a java applet which is capable of showing the 64×64 picture where the tv’s pixel colors are randomly generated each time the applet is loaded. You can see the applet in action at:

http://www.ronaldsdata.nl/tv/

You are free to use the applet on this page as long as you mentione my name. You can download the .class file at:

http://www.ronaldsdata.nl/tv/Tv.class

The applet can be embedded in a html-page by inserting this code:

Admin edit: it seems like the code was ripped away by my comment system. Maybe you could include the code as text on your page?

Good luck!

Bye, Ronald Kieft.

P.S. I loaded the applet many times, but i only found noisy pictures, nothing interesting. Maybe this is due to the fact that java has a bad random number generator, but more probably it is due to the fact that there are just to many possible random images.

12. Looks cool. Does the programs keep track of the pictures that have been rendered? The point is that it should never show the same picture and always go on so that at some point it has displayed all pictures possible…

I never figured out how I could code a program that actually keep track of where in the sequence it is…? And, in a billion years stop and say: “That’s it guys. All pictures possible have now been displayed.”

13. Erik Giesen says:

I created a little thingy to show a problem!
It works fine till you use a random start number with a surface above 31 blocks, at that point the devider function in ASP collapses. And uh.. 31 blocks is nothing compared to 64X64=4096 blocks (let’s forget the TV).

But anyway, if you enter low values you can see how it passes all possible images 🙂 with that surface. (hint, try 2 X 2)

http://geex.mine.nu/everything.asp

btw, I used a Session object for the counter so you can’t disturb each other while playing 😛

14. Ricardo Raschini says:

Hey, what about compression?? one image can be compressed to a 1/10 of it’s original space using jpeg and other engines…. so, at least, the storage of all images would use less electrons, right??

15. Herman says:

What about the time it would take to view all those images?

What about HDTV? 1080*1920*24=49766400 Which is roughly 5 times as much.

And then we have sound, should we also create all possible 48Khz samples? Basically a sample is also a bunch of bits.

16. I created a new all color thing

http://www.huuf.net/AllColors.zip
in the Zip (use winrar (www.rarlab.com) or winzip to extract) there are 4 files

BWCol1616.exe =
Goes trough all possible Black and white tiles on a 16×16 field

BWCol9696.exe =
Goes trough all possible Black and white tiles on a 96×96 field

16Col1616.exe =
Goes trough all possible 16 default tiles on a 16×16 field

16Col9696.exe =
Goes trough all possible 16 default tiles on a 96×96 field

If you get an error on start you need to download and run vbrun60.exe (also for other versions then 98/me)

Details
Doesn’t support resume

Technical
This does not create a overflow error when going over the Longs limit, because I don’t use such thing to calculate the field position

17. Since I can’t edit I needed to add 1 thing

It doesn’t redraw all pixels, only the one which change to save time

You can just press alt+print screen to capture an image, I could add something like that, but this is just 5 mins work, and need to study for exams

18. A Dutch Dude says:

Ooit wel eens bij stilgestaan dat het mogelijk is dat alles wat er ooit op tv zou kunnen komen kan worden berekend? Elke nieuwe aflevering van GTST, zodat je je vriendin kunt irriteren door telkens te spoileren. Elke aflevering van Top Gear om dat omgekeerd te bewerkstelligen. Nou, dat kan dus. In theorie, dan. Check dit stukje breinweefsel.

translation:
Have you ever realised that it’s possible to calculate everything that could be shown on TV? Every new episode of GTST (dutch soap) so you can annoy your girlfrind by spoilering all the time. Every Episode of Top Gear to enable her to do the same. It Can, well in theory it can. Check this bit of braintissue.

19. Thank you for all the contributions, keep them coming! In a while I will make a summary and post links to all the programs in a sepparate article.

20. I think I have a problem with trackbacks. Links to this article starts coming in. First out was brilliantdays.com. Here’s a list:

21. Hold your horses, there is an error in the program! it will repeat line 1 over and over and not go to line 2

22. Updated it was working only the field was 1 pixel to small due one calculation error

23. Morphie says:

@ A Dutch Dude; Flabber?? :p

It is great to see how many people are working on this now.
Hope too see much more, cant help here either, dont know much of programming..

24. Z says:

Why not start with a monochrome (not grayscale) image that is, say 6×6 px? It doesn’t take much space to store all rendered images (512Mb) and forks fine as an experiment.

25. Koter84 says:

The way you say it…. you only have 99.067.782.758.400 different images.
so… from any number between 0 and 99.067.782.758.400 you can generate an image, i’ll try somethings…. maybe i’ll post a PHP code later on..

and i think it might be better to get this script on google since you probably wont get these massive amounts of traffic…

and when on google it would still take quite some years….

26. Fridge says:

Do we even realize this really is theory at it’s highest level? I mean, 2^8294400 is a very very very!! huge big woah number! And thats just ONE of THIRTHY frames (taking 30 frames/s). To calculate just one minute of a soap will take more time than we have before the sun explodes… 🙂

This is nice speculating, but simple calculating will never do the trick.. We need AI!

27. Koter84 says:

I made a litte script which generates an random image..

in theory it could create images as big as you want, but with my server it’s only possible to create up to abot 20×10 pixels… 24 bits though..

but after some time i think the server wont do anymore bits and just creates the rest of the pixels the same color…

maybe a programmers error…. i’ll find out…

28. Koter84 says:

WHAAAHOEE…..
Got it working…. only thing is… i can only do it random.. i can’t think of a way to create all of those pixels from a number or something like that, but maybe somebody else can think of something, i’ll leave my code here so you can all have a look..

It’s in PHP (www.php.net)

```
```
29. I think you should with with mpeg 4 compression which will produce a smaller image but each frame would represent many different ntsc or pal ones. The greater the compression the smaller the dataset until you reach a singularity which contains all information – though it would be quite hard to sit and watch

30. Koter84 says:

/////////////////////////
// MADE BY DENNIS KOOT //
// http://www.koot.nl //
// //
// code and do not //
/////////////////////////

\$width = 160;
\$height = 120;
\$depth = 24;
\$multiply = 4;

// DO NOT EDIT BELOW THIS LINE //

\$im = imagecreatetruecolor(\$width*\$multiply,\$height*\$multiply);

for(\$i=0; \$i

31. Whaleyboy says:

Me and a few guys a work went through a period of thinking about what we called ‘The Infinite Image Generator’ several months back. It boggles the mind when you start thinking about some of the numbers involved. We had visions of a 3000x3000x24bit image generator that would show every part of the universe from every angle at every scale. Not to mention all the images of things not in the universe! There would be a picture of you sitting in a 1964 corvette with Abe Lincoln shooting an uzi out the back window. And the same picture but with every person who has, does, will and will not ever exist in place of Lincolns. We also thought about how to set up a computer to find images that contain something other than random noise. We thought about using jpeg compression to find them as an image containing lots of random noise will not compress well. Also remember the image generator would contain the most horrific image possible, maybe one that could drive a person insane. As it’s just an image viewer it would also generate pages of text, so it would show every book, every piece of music, everyone’s life story, every website, every idea anyone’s ever had or will have. One more stage we took it to was creating a 3D version of the generator to create a 3D image of every possible object…my brain hurts just thinking about the numbers involved.

32. Or take This another step further…
Every sequence of pictures, a movie could be made, But this even takes more space to store…

33. Ok, i really wish i could spend my time making money instead of spending time at this project. But here goes….

Image of the application.

http://www.lundit.com/makeimages/makeimages.zip
The application itself. It’s zipped, and is an executable (saves all images to a file in the directory the app is executed called log.txt (you may take one of the lines and insert it into the defined string section if you find something special 😉

Or all the sourcecode if someone want to make it faster or convert it into a php app or similar
http://www.lundit.com/makeimages/source.zip

Anyway. It was a cool idea!

34. mathematics only go so far, there is still something in TV , not included in this idea , sound

ok , it would be possible, to “calculate” every possible sound and even the sounds beyond human audible ranges.

but let’s put this in perspective :

the ability , to brute force render every frame that can possibly be rendered in a grid with x number of pixels , each having x number of possibilities isn’t all that ground breaking.

it’s certainly possible with current technology , it’s just not interesting

– 99.9xxx% of renderings would be garbage
– time till you hit a good one would not be worth the wait
– you still only have 1 frame, which does not make television

to make it into television , you still need to get thousands of those frames , sorted, and matched, to create a consistant filmstrip … at let’s say 25 frames a sec… and the fact that brute force rendering will not produce good frames in one batch , eg it will be in the garbage… man , talk about i high end , mensia level jigsaw puzzle…

and you still don’t have any audio, let alone a “plot” that would be found interesting by a minimum amount of viewers ( taking aside the novelty factor, which would wear off seriously fast )

all an all ,the whole thing sounds like one of those brilliant ideas that come as a result of a good acid trip… nothing wrong with that, but don’t take it too serious , it is flawed in several ways.

if you want to “predict” everything mathematically
at some point you will need to have all the factors , in the formula

i mean everything, every atom every neutron , the works
but that would mean that the formula itself , is in the formula
as would have to be the effort to run the formula
bit paradoxial to say the least

result , these kind of predictions only work in very limited settings….

it works ina 4×4 grid, with 4 options per pixel
sure

but once you scale it , the whole idea essentially kills itself

35. aligning the brute frames itself could be done mathematically i suppose , but that would mean brute forcing frames to the xxxxxxxxxxxxxxxxxxxxxxxxxxxx number of results received during the frame rendering

36. Could this theory have been the base behind the ‘invention’ of Jan Sloot? Sloot was a Dutch inventer in de 90’s how claimed to have come up with a revolutionary coding system for video which would allow storage of complete movies withing very small dataspace (kB’s rather than MB’s of GB’s). He showed it to Philips and Roel Pieper, the former chairmen of Philips took Sloot under his wing and financed his development. Sloot died one day before he was supposed to patent his technology and his beta-hardware and source code mysteriously disppeard. (Google: “Jan Sloot compression” for more info)

Obsvously it is possible to descrive every possible (video) image by the theory above. Actually storing all the images is quite impossible due to the huge amounts of space they would take up. But would is be possible to make a simple lookup-code for each image which could then be rendered by a processor? I mean, if that would be possible by normal hardware and if you’d be able to do that 25 times per second than you can have an incredibly efficient coding technique. Rather than actually enoding video you would render is from the ‘catalogue’ of possible images and all you’d have to store is 25 of these look-up codes for each second of video. From what is known about’s Sloots invention is dat the machine actually did use a harddisk with a ‘database’ like content. The information for each individual film was stored on chipcards. So I wonder whether this theory might have been the idea behind the Sloot Coding System.

I’m no programmer so maybe I’m talking complete nonsense, but it’d be quite interesting… 😉

37. coding is the reverse of predicting

and tag it with an index so you can recall it

ok , this sloot thing , not familiar with it
but it sounds cool

however, it’s not the same as brute force rendering in order to “predict” or “defeat creativity” through math

38. Ron says:

You will find out that linear problems can be waaaay too big to solve in a lifetime. So this all is a nice idea, but you don’t stand a chance… even with that tiny image you’re trying to make, I expect you won’t get much decent results.

39. Ron says:

The flabber.nl text:

Alles wat je ooit zou kunnen zien
Ooit wel eens bij stilgestaan dat het mogelijk is dat alles wat er ooit op tv zou kunnen komen kan worden berekend? Elke nieuwe aflevering van GTST, zodat je je vriendin kunt irriteren door telkens te spoileren. Elke aflevering van Top Gear om dat omgekeerd te bewerkstelligen. Nou, dat kan dus. In theorie, dan. Check dit stukje breinweefsel.

In English:

Everything you could ever see
Did you ever realize that it’s possible to calculate everything that could ever be on tv? Every latest episode of GTST, so you can annoy your girlfriend by spoiling. Every episode of Top Gear, to achieve the opposite. Well, you can. Theoretically that is. Check this little piece of braintissue.

40. I have to admit that this project fancinated me… So here goes…

http://lundit.com/makeimages/

41. michiel says:

if you let a million monkeys randomly type, one of them will sooner or later re-write a shake speare… life, is just is big chain of continuing multiple choice questions… what will the monkey do, hit space? or maybe spell his name by making the choice to press certain buttons in a certain order…

what choices do you make?
do you see your life as a game?
can you look at it as if it were a film?
or do you live it, save, scared of making a mistake…

michiel

42. Zebu says:

In my opinion, these random image generators are a wrong way to solve this problem. A program should be made where EVERY possibility is generated. and in some sort of order. like only change a pixel at a time.
If you could do this in steps of a certain amount, and with a lot of patience, you could come across some images. If you want to generate an image with one of the programs above, you’ll have to be VERY lucky to find something.
If someone would make a program like i said before. and then distribute different series of images to different persons( as many as you can) this could actually work out

43. A random image creator makes random every possible image, statisticly you will have to wait just as long with an ordened image creator which uses the binary-code. Because the amount of Usefull images is the same.

44. mac says:

now why would people be concerned about size and tonnage of storage. Technilogy advances and we will be using light waves as our mass storage in the very near future.

45. Chris says:

I’ll will try to create a code that compaires a smal static picture with a dynamicly generated one. This way i can statisticly determine how much time and/or renders it would take to find a recogniseable picture…
Nice theory but it seems impossible to me unless your code renders intelligently rather than random.. Further the theory about the Jan Sloot’s story doesn’t work the way you describe it.. just take a look at one of the first examples in wich a 16×16 b/w picture is generated, the amount of pixels*colors will determine the length of the number thus saving no storage space..

46. Damn! I’ve been having the exact same thoght for months! Glad someone else put in in words! Keep it up!

47. Kalle says:

The first thought that struck me when i first read this was: “This guy wants a webcounter that transcribes into a picture”. In other words: You just use a variable that adds itself by one every time the webpage updates. This won’t recuire any storage or much procesing power to varify that the same image never be shown twice. Though it would take a while before anything usefull would show up in the pictureframe (as with the random-version), you would be able to se “the work in progress” as you update the webpage.
Now i’m not much of a programer but you get my drift. There should also be some sort of save-function so that you can’t photoshop-fake an image.

48. Yes. We are on to something here. Let me explain.

I know that the chance of getting an interesting picture with a system like this is extremely low. Even with the 64×64 example. The interesting part of it all is the supposition. The thought of the fact that the amount of images are not infinite, but close to infinite.

That is why it is important that the program is going through all possible pictures in some kind of system. Getting an interesting picture out of a program like this is like winning a lottery ticket. If a picture of something shows up it is only interesting if it mathematically is a part of the close to infinite sequence.

If you can go back and say. Yes, picture number 2 936 788 652 990 876 987 is a picture of the Eiffel tower in front of the Golden Gate… 🙂

49. Maup says:

This projects shows greats similarity to the SDCS, a codingsystem that enables all movies ever made in the world to be loaded into one small device. Even though the inventor died of a heartattack the night before he was selling his project to the CEO of Philips, taking the secrets of his system to his grave, there is no 100% certainty that this invertor and/or his project were a hoax.

Morale: be careful what you invent, it might get you killed 😉

50. Aroz says:

I think the program should show the ratio of the colors/grayscale. Perhaps that could narrow down the search and become some sort of filter.

51. gnuX says:

Here’s an php-script that will generate a random image.
You will need GD for it to work.

Admin edit: posting code in a comment does not work. See the next comment for a link to the PHP-code.

52. gnuX says:

Well… Pasting didn’t quite work so I’ll make a link instead: code.

53. Martin Lindkvist says:

I’ve been working with a website project like this for some month’s but I havn’t finished yet. The idea is definately gripping. The idea of letting many peoples show the pictures on their sites was great, didn’t think about that before.

I’ll let you know when my site is finished.

54. gnuX says:

After reading trough some of the comments I noticed you wanted to display a uniqe image everytime it’s reloaded so I modified my script a bit.
It will now store the string producing the image in a mysql-database but note that the aproximate size of each string is somewhere around 42kb wich will produce a huge database after a while. Since I use php the script will also suffer from timeouts when it needs to produce a new image over and over again (It will produce a string and see if it’s in the database, if a identical string is found the script will produce a new one and check again and so on)

The script here.
The table to be inserted in your mysql-database here.

feel free to use and modify the script as you see fit.

55. The vastness of the numbers puts you in front of the easy task to let a computer generate random images and the difficult task of having lots of people judge them as being a picture of something. If possible, you would at least need to have sites like google and the like host it on their main page.

Which also brings up the question of saving the images already generated in some kind of database. I don’t think that is necessary and I also don’t think that would be a good idea. When putting it on google (etc) for the human eye and mind to judge, at least 80% of the images generated will not be judged by people as being either a real picture or a random image. And there is no way to know whether people are not judging them because they are completely random or simply because they simply missed it or are too much in a hurry etc … You could miss out on a lot of interesting stuff.
Secondly, like you said, because of the vast numbers it’s like a lottery, so remembering the images already counted wouldn’t make much of a difference.

Of course there are a lot of other pracitical difficulties, but I wouldn’t worry too much about remembering which images have already been generated. Because if that is important to you, you also believe that virtually all possible images will be generated within the human timelimit that the project would last. Since most people here agree that it would only be possible to have a fraction of the random images reviewed by human viewers, I don’t see why you should go through all the logical difficulties of remembering the ones already generated simply to avoid the (by the way statistically small) possibility of many images being created more than once.

So : creating a script for it is easy, remembering which ones have already been generated is not necessary. Major problem would be having a (large) group of people functioning as a second filter reviewing the images submitted. This is because many images submitted will either not be interesting at all or a result of abuse similar to spamming.

Should this ever be a real problem, you can also set up a website where these submitted images are automatically listed and then other people can vote on them which could be of some help.

I think it could work if you see it as a long-term project based on the goodwill of people and without expecting any results at all. In other words : similar to the SETI project.

It also raises some interesting philosophical issues : what if an image is randomly created that is for example a boring picture of a cat that is exactly similar to another picture which was taken of a real cat ? The end result is exactly the same, the generated picture would be seen as a miracle, the second one as boring and uninteresting.
Secondly, if you blow up the scale to a supercomputer that would have up-to-date information of every atom (and smaller) in the universe, in theory it could predict everything that will happen everywhere. This would also mean that information about the very atoms and electrons that this supercomputer consists of would also be in its mathematical model. Which would mean that it can predict what it will think / predict. Weird stuff 🙂

56. I’ve been fascinated about this idea for a few years now. I never did anything with it until I saw this website.

I went to code a little web-application which generates random “images”. See it working here: http://elgreco.nl/rig/

Each “pixel” is randomly set to black or white now. The next step is to make a “memory” so no duplicates are generated.

BTW. It takes 1,43*10^746 years to generate all possible images with this app.

57. My code is a little different from gnuX’s. I use JavaScript, so the script is run client-side and can be refreshed without reloading.
Also, I don’t create a real image-file, but I fill the cells of a table, which is a bit faster to load.

58. Bob Bruijns says:

In youre code, Peter i could actually make up some sillouettes (sorry for spelling) of birds, flowers and even a dog. The’re not perfect images but they do occasionally have images that remotly look like something.

59. Peter, you should set your table to cellspacing=0 and cellpadding=0. Result, no spaces between each ‘dot’. You should see imaginary images more easily after that. So please try…

60. Raz says:

It would be far more efficient to have the images generated in gray-scale and not in 24 bit colour. If you then detect a “meaningful” image, you can then have them (automatically) coloured. This would save a lot of processing and storage space even before you start to apply compression.

61. Herman, I’ve adjusted the spacing and padding, so it should be more easy to see “real” images.

Too bad school is asking a lot of time from me right now, so I’ll probably add more functionality to it after 8th of july.

62. Frank johansson says:

Parden my bad english but i must give it a go.
This is time travel, i dont have the brain like all of you writing BUT
“There would be a picture of you sitting in a 1964 corvette with Abe Lincoln shooting an uzi out the back window. And the same picture but with every person who has, does, will and will not ever exist in place of Lincolns”
This is spooky. IÂ´m going to be that man sometime.
Does a falling tree make a sound if nobody are there and hear it? Yes it does, in the theory, like so in theory im going some day be that man that kill JF kennedy. ThatÂ´s my theory. Corect me if its wrong.
Keep up all of the crazy and good work. and continue give me someting to think about, this is great!!!

63. I’m genuinely surprised I got to the end of these comments without seeing someone saying something akin to the following … If you built a random image generator to generate every image ever, and somehow generated an episode of Friends, CSI, 60 Minutes, or whatever, you’d still need to build and synchronise a random audio generator to make the sound to go with your images. While the odds of you generating an episode of Friends is infinitesimally small, the odds of additionally generating the right audio to go with it so that it makes sense smack you right in the middle of some supremely large numbers.

Still an interesting idea though 🙂

64. ook, just saw “add the fact that for television you combine a sequence of the pictures and add sound as well” 🙂

65. Ok.. I’ve “mastered” the Visual Basic language!! So I’m working on this problem again, but way faster then php!

The fun part: the 5 Mb archive before packing: 2,4 Gb!!! (Bmp files…)

66. Very cool. I am still working on a post to wrap up all the excellent contrinutions I have got here…

67. Man, I can’t believe this thread is still running. The really odd thing was I stumbled across this post again and read it from the top, being fascinated by the discussion, and thinking of adding a post when I suddenly came across my own post from back in June!

I had absolutely no memory of either seeing the memorable pix at the top of the article, the interesting discussion, or my own post. Sheesh.

That certainly speaks volumes about the capabilities of the human mind. Or, at least, my mind.

Regards,

Rich
BlogRodent

68. Cool! I am still working on that roundup… 🙂 I can see from my logs that I still have quite a bit of traffic on this post.

69. […] Insane, still slightly interesting experiment: Everything you would ever want to see! […]

70. […] My insane, yet slightly interesting experiment with images: Everything you would ever want to see […]

71. Izzy says:

the trick would be to have a human then go and delete all the images that make no sense… which would kill 99.9% of the storage space needed…

72. Or a million humans?

73. Izzy says:

yeah, I meant to say “humans”…

74. *hahaha*
You just understood the main principle of Evolution! 🙂
Or Reality. 😉 Lots of possibilities and the most time one cannot make any sense of it 😉

Same as watching the white noise on TV screens without signal 😉 You may see something.

Nice thoughts, anyway! 🙂

75. I guess showing all these pictures on TV would be the ultimate reality-TV?

76. An example program idea:

A random 20×20 greyscale image is generated. One this has been generated, it is compared to an already existing 20×20 greyscale image, by checking each bit. If at any point in the check it doesn’t match, it moves on to the next randomly generated image untill, by the process of random computing, it generates the chosen image.

Of course, this isn’t going to directly help generate any other interesting images per say, but it could be used to find out:
– Approx. what percentage of images are likely to be recognisable;
– Approx. how long it would take to generate an image of the user’s choice,
and many other key elements.

One setback to this, it could take the program anywhere from five minutes to five quadrillion aeons, thanks to the halting problem.

77. this will be painfully slow, but maybe in a few years or decades maybe we will see some results. original goal was 100×100 8-bit grayscale (decided that was too large), then added 64×64 8-bit grayscale (default now) and 16×16 8-bit grayscale projects. each time the page is refreshed a new image is loaded, there are no repeats as it is done sequentially in order. if a user sees something of interest, they can flag that image and leave a description. if they see nothing but white or noise, they refresh. let me know what you think, and feel free to contribute to project by refreshing and looking at the images a couple (million or so) times.

Project Every Image Possible

78. This is without doubt the best project so far! Excellent. Now I really have to make that update post with a link to your page and recommendations for people to visit your page!

79. […] The web page that eventually will show every picture possible In May 2005 I posted an article that described an insane, yet slightly interesting supposition: Everything you would ever want to see […]

80. You have several options if you want to get notified. For eirikso.com in general you can subscribe to my email update.

Or you can subscribe to my feed in your RSS reader. You also find several buttons in the sidebar with direct subscription in various web based news readers.

If you want to follow comments on this post only you can subscribe to the comment feed for this post here.

Subscribing to any of the feeds will not overload you with info. Usually I post two to three articles pr. week.

81. […] Eirik had a good idea at this page. A comment on the same page suggests that the writer will one day be the man who kills JFK. […]

82. The coolest thing about the idea, is that you will get the man who killed JFK in a swimsuit, in a monkey suit, in a yellow monkeysuit, in a Star Wars stormtrooper uniform and with a Kermit frog mask. And with different hairstyles. And with the pope sitting next to JFK instead of his wife. So which one do we choose? Maybe Googlerank should decide…

83. […] Most popular so far. The time lapse video of the view from my living room window. And the insane supposition about the fact that it could be possible to render all television pictures that exist and ever will exist. […]

84. Colin says:

I am not trying to insult anyone, but I want to point out that you guys are wasting time here. Making a program that generates all possible images is no different than writing a program that generates all the possible integers within a certain range, in the 64×64 256 greyscale image case, 64x64x8bits = 2^32768. So you can just write a for loop that loops through all these numbers, starting from zero (with library like BigInteger class in JAVA this will be a 1 minute task, then break up the bit patterns in the numbers as pixels). On the other hand, using any sort of random generator available from common libraries would be rather stupid, as they generate numbers via maths formulas that are actually predictable, and has a finite period. The whole idea of generating images in this manner is comparable to try to invent a perpetual machine.

85. Colin, it’s just a fun thought. We understand that it’s not possible. How would we be able to store the pics? Have time to see them? Sort them? Find the right one? It would show all pictures ever taken in the world so far, the way they are now. And upside down. And sideways. And in sepia. And with Donald Duck superimposed in the corner. And with the words “fake” printed across with large yellowish letters. And with a strange purple flower almost covering the whole picture. And with a lion sitting on the left. And a black lion wearing a tie sitting on the right. Etc.

But still fun to think about it!

86. roy says:

Maybe it was already invented and realised in a prototype?
There is this story about a Dutch Inventor called Jan Sloot who as some people say invented how to make this work and showed the result to them, but he died the day before he would reveal how it worked. They even wrote a book about this story and some well know people/investors (e.f. Kleiner Perkins, Roel Pieper) were involved.

The title of this Dutch book:
De broncode (the sourcecode)
writer: Eric Smit
ISBN: 90-5759-156-1

87. hello i believe your calculation is not quite right.

The total amount of colours in a 24bit sampling is 2^24 = 1.67*10^6 (sounds familiar?). The total set of images for a PAL television than would come to (2^24)^(720 * 576). But this number is still not correct, because you still take double combinations of the same image in account. So you still need to devide it throught the total number of double images which is (hmmm, without symbols and subscript not all to easy to write down) Sigma{x=0->x=(2^24)^(720 * 576)} ((2^24)^(720 * 576)!)/((2^24)^(720 * 576)!*((2^24)^(720 * 576)-x)!)

So you see my calculated value would be much greater than you 2^(720 * 576*24) but would it still be finite.. 😉

88. Munki says:

My brain hurts…

89. Cool! Now I just need a zillion hours on my computer and I have all pictures that is possible to make.

Make a built in functionallity so that the program submit all images to AllYouCanUpload.com. And post a blog post with the image. Then, after a couple of million years we have a blog with all possible images…

Oh. Well. As suggested in this thread. This is insane.

90. And congratulations to Josh for posting comment #100 on this article! 🙂

91. Em says:

This would end in an exponential failure. Especially in it’s purest sense. The total energy requirement for this experiment to proceed by sequential bitwise iteration effectively approaches infinity.

From an engineering perspective, you will need an algorithm with very specific initial conditions and rules governing bit permutation patterns in order to bring the energy requirement into an arbitrarily realistic range. Furthermore, fitness will need to be delegated away from humans in order to reduce the time factor to an acceptable level.

Genetic Programming + Differential Equations

Good luck

92. […] of my most popular articles ever is a complicated mathematical experiment, so maybe there are someone out there that find this small challenge […]

I just found your site and started browseing. One of the most interesting articles found. Still after 100 comments i’m verry surprised that nobody ever thinked about fractals. So what do we need to create any image. JPG file format uses an 8×8 box and stores a % of existing data to create compresion, so let’s use 8x8x24b pattern.

We now have:
2^1536 combinations x 192 bytes / image
192 bytes = 1536 bits and 2^1536 = 2.4e+462
Stil a lot of combinations. Probably most of them look like noice, so it’s not a verry good option to generate all o them.

I think Google will try to get patterns from existing images. After saveing the top 4.0e+12 (2^32) paterns if we want an 64×64 image we will need to get 8×8 patterns and this will use 4 bytes to address. Resulting in 8x8x4b = 256 bytes / image. Now if we consider the new posible combinations we will get: 3.2e+616.

In conclusion in we still get a lot of posible combinations. I don’t think it’s dificult to create a program to do this. But it’s close to imposible to create and store all images, unless some form of super compresion is applyed. JPG or PNG will probably only cut two “0” from the very big number. Maybe vector graphics, who knows.

Finaly in the end, if someone makes this program to generate a new image every click and considering the number of clicks it need to acualy display something, and the number of sites and people on earth, it will probably still take a lifetime to see something. Just think of the server load…

If you realy want this made let me know, I can make it go it’s way up and display every posible image. But it will start black and stay that way a very long time.

94. […] had pointed out this posting and was working out an algorithm. There are other links like […]