You are currently browsing the daily archive for February 1st, 2008.

The falsificationist notion of scientific method states that no theory can be purported to be absolutely true, for science advances in knowledge by demonstrating theories to be false. Under this paradigm we cannot gain positive knowledge but instead learn through the falsification of ideas. This form of learning by trial and error (as opposed to induction) applies not only to science but also to any form of human knowledge.

When developing a computer program, for example, there is (almost) no way to prove the correctness of your code. Mathematical functions (and to a lesser extent, certain algorithms) can sometimes be proven equivalent to one another–for example, the functions f(x) = 2x and g(x) = 3x – 1x are equivalent–but the same procedure cannot be easily applied to code. Even if I write a simple procedure that takes as input any integer and returns an integer as output, I will never be able to prove the correctness of my program when compared to another method of calculating the same values. Instead, computer code improves by falsification: whenever your code behaves incorrectly you know that something must be wrong. Fixing the problem does not guarantee that the code is now perfect, but at least you can (hopefully) say the code is more correct (or less false) than the previous version.

(As a caveat to the above discussion, there are a small class of programs that can be shown to produce identical output when the limits of machine precision are taken into account. On any architecture there is a finite limit to the range of integers and real numbers, so for two procedures that output integers a case-by-case comparison could eventually determine agreement. This still does not prove correctness, though, as you can always get the right result for the wrong reason.)

Development of defect-free code, then, is a process, not a destination. Mediocre programmers think they’ve got things right, but good programmers have the ability to cleverly break their code in new ways and approach the limit of unattainable perfection.

I enabled display of avatars for “recent comments” in the left sidebar. The folks at WordPress.com enabled global support for Gravatars (globally recognized avatars), so now you can all show off your stylized personal images next to your comments.

Gravatars are linked to your email address, so whenever you enter a comment on a blog (any blog with Gravatar support) your avatar is automatically linked to your comment. Pretty sleek–get your Gravatar if you already haven’t!

Though limited to the four elements of earth, air, fire, and water and lacking any experimental methods, some of Aristotle’s insights foreshadow the paradigm shifts brought on by the discovery of fossils and radioactive dating.

But these changes escape our observation because the whole natural process of the earth’s growth takes place by slow degrees and over periods of time which are vast compared to the length of our life, and whole peoples are destroyed and perish before they can record the process from beginning to end.
–Aristotle, Meteorologica XIV

Planetary Messenger

My philosophical novel Planetary Messenger is now available at Amazon.com!

Planetary Messenger

Click to buy on Amazon

If you like this blog, then be sure to pick up a copy of Planetary Messenger.

Archives