Not every infinitely long random number contains every possible pattern. Consider an infinitely long sequence of digits. Now drop all '1's from the sequence. You still have an infinitely long series of random digits, in that knowing previous digits doesn't help you predict future digits. However, this infinite random sequence does not contain every possible pattern.
Whether this applies to pi or not, I have no idea.
The correct formulation of "every possible pattern" is that given an infinite sequence of letters (or digits) from an alphabet A, where every letter is chosen uniformly, the probability that a given pattern of finite length will appear somewhere is 1.
So there're two problems with your example. First of all, after removing the '1's, the digits in the resulting sequence aren't uniformly distributed. Secondly, just because the probability of a pattern appearing is one, that doesn't necessarily mean that the pattern will appear. For example, it's possible that the random sequence consists of only one digit. Such a sequence clearly doesn't contain every pattern. But the probability of generating such a sequence is zero. Similarly, it's certainly possible that the infinite sequence doesn't contain any ones, but the probability of that happening is zero.
Now there's nothing wrong with purse math.
That's a massive understatement. For most people, money counting is the most important type of math.
MRIs are expensive, and autism-like behavior is obvious enough that you can narrow down the group of people you're going to test significiantly before you start testing.
In the case of autism, the earlier you get a diagnosis the more effective the treatment will be. So waiting until the child starts showing symptoms isn't ideal. It's better to have a way of testing for autism while the child is still under a year old. That's why it's important to have physiological tests, as opposed waiting for the parents to notice eye contact or social problems.
There's a big difference between a plane and a train. With a plane, it's easy to inflict massive damage with relatively small weapons. This is because you're dealing with an aluminum tube packed with people flying through the sky. If it get's diverted the smallest amount from it's path, or sustains minor physical damage, then a large percentage of the people inside will die. The 9/11 terrorists brought down the twin towers armed with trivial weapons such as knives. In addition, a plane is an isolated environment, so once a handful of terrorists take control, there isn't much that the entire US armed forces can do to stop them, short of taking down the plane.
But with a train that's all different. The train is on the ground so it's easy for a helicopter to catch up with it, drop $SPECIAL_FORCE on the the roof, and take back the train. And even if a terrorist does manage to detonate a bomb on the train, it will probably only kill people in the same car.
So I think that there's more reason to be paranoid of terrorists on planes.
This does arouse suspicion. even if you forget the variable names for a moment, any pattern like bool,real,real, *real, int, *char,*char,*bool,.... that is identical between two structs would be an improbable occurence. and when you see it in back to back structs it becomes nearly impossible to happen by chance.
Actually, the order of declarations in a struct is far from random. Even without getting into specifications and compatibility, there're multiple performance issues (such as padding) that are directly related to the exact order of the variable declarations.
I'd rather just believe that it's done by little elves running around.