226 Are the Androids Dreaming Yet? The Proof Let’s write a list of all the possible programs my laptop could ever run. A comprehensive way to do this is to start at one and try every number.As I count up Iam simply generating numbers, for example, 5,433,232, then turning each number into a program file and running it. For a bit of fun, I created a couple and tried them out on my laptop. They did nothing, so it was not very edifying. Most numbers are just junk because programs have to be in the right format for the computer you are working on. It’s just like words. If you randomly take a handful of scrabble tiles out of a bag, most of the time you will have nonsense, but every now and they you will have an actual word. Be careful with this; you could accidentally write, “delete every item on my hard disk.’ Of course, the probability is astronomically low, but Murphy’s Law says it will happen, so back up your data! As you count up, you will generate every possible program along the way. A mathematician would say programs are recursively enumerable. The word recursive means there is an algorithm and enumerable means to count. Therefore, there is a counting algorithm that would run every imaginable program. Here is a list of them, or at least a some of the highlights: 0 (probably doesn’t run) 1 (ditto) 00 (ditto) 01 (ditto) 011001001001000100 (makes the computer beep once) ... (from here on I'll give the program names since the numbers are too large to print) Does Nothing (there are many of these) Is Gibberish (there are an infinite number of these) Junk (an infinite number of these) Print Something (again an infinite number of these) More Gibberish Excel Word PowerPoint Mathematica... Fermat’s Last Theorem enumerator (runs for ever) A nonworking version of the Halting Program A nonworking version of the Crashing Program Really big programs that don't fit on my hard drive HOUSE_OVERSIGHT_015916