Friday, June 22, 2007

Progress v7: So old is good... or is it?

[OK, it has been two weeks again, and this is my seventh article on progress. I have been a little busy, and the progress stuff is really starting to get complicated at this point. But you can always start with my first article ;-]

So in the last episode we have seen that standards are good for you. In fact, the only reason why our technology works, for example, why you are able to read this, is because standards exist.

This is also how science is made: using common standards (of measurement), one theory can be based on another. So the new researchers don't have to go and re-invent all the theories before they finally can start producing original work¹.

So old is good, right? We can build on a foundation happily ever after?

Except, of course, when it is flawed. Then you can either stop when you recognize that your house is going to fall, or build all the way up until it falls apart. The same good practice that allows us to finally build high also allows us to build on errors of others.

Take the science of Astronomy for example. For hundreds of years it could provide us with no insights more useful then astrology, because it was based on the flawed premise -- the Ptolemaic Universe. It was only after Copernicus and Galilei that we started to be able to look into the actual workings of the universe, because they found the fundamental flaw in the theory of the world to that point: the Earth was not the center of the universe.

If not for the Copernicus, would Galileo have ended up observing the laws of motion? Would Newton have formulated the theory of gravitation based on that?

On the other hand... if not for Aristotle and Ptolemy, would somebody have discovered the laws two thousand years earlier?

We'll never know of course. What we do know, is, that about 2250 years ago, a man called Aristachus of Samos had already developed a very modern view of the solar system. It's just, the geocentric model of Aristotle was viewed as a much simpler explanation for why there is no parallax -- why stars don't visibly "wobble" when the earth move around the sun. In Aristotle's model the earth simply didn't move -- and the calculations for the positions of the planets produced results with accurate enough to look right. And thou shalt never change a running system...

This is one example that shows that with too little information, Occam's Razor can be applied both ways.

It also shows, that based on the same data, you can develop one perfectly working model that is also perfectly useless as anything but a working model (some of the modern unification theories come to mind), and another working model from which you can infer additional information about the subject -- extended use, so to say.²

And also, often enough, you don't see which is which until waaaay later.

So, competing theories, competing libraries, competing standards, are good... if and only if there is suspicion that the current system they are competing with is really inadequate and it hampers development.

But the thing is... Even if software people finally agree on standards, even if people actually cooperate instead of developing against each other, even if we all build on the same foundation... we are still shooting at a moving target.

How so? Well... see you in the next episode of the progress wars!

¹:This is why, when somebody says, "I am just as entitled to an opinion about meteorology as scientist X" he is talking BS -- unless, of course, he actually spent as much time studying the theories behind meteorology as scientist X, and has no bias.
A bias might be his conviction, or it might be his boss telling him that whatever the logical answer would be, the answer that will keep his job safe, is the one that his boss wants to hear. Unfortunately, the laws of physics are not political, only the people studying them are. But this is a different topic.

²: Like, for example, an open-source software library: there, I can learn from something other people already invented and thought through before me. If I see enough of that, I can also pick the components that I think are right, and discard the components that I think are wrong. In other words, I can learn.
With closet, err, closed-source code, this is impossible. You can only build on top of it, and hope that the developer really knew what he was doing and made no mistakes that will affect what you are doing.
Kind of like building on ground where you can't check whether it actually is a swamp. In fact, it is illegal for you to check whether it is a swamp, and you have to build on that ground because "everybody else does it". And where the holy creator of the ground thought that investing 20% of the necessary work is good enough.

No comments: