Sunday, October 2, 2011

Evolution as Scientific Method, and Vice Versa

Evolution can be viewed as an implementation of the scientific method by nature. In each generation mutation and genetic recombination produce varied hypothesis (individuals), and these hypothesis are tested in the environment [sample hypothesis: a small-beaked Darwin's Finch is better suited to the food available on this island]. Those hypothesis which best survive this natural selection will produce new generations of hypothesis to be tested (differential reproduction). Hypothesis which are unsuccessful in the natural environment will die out.

Alternately the scientific method can be viewed as an implementation of evolution by man. Scientists generate variations of existing hypothesis, and subject these individual hypothesis to testing in the laboratory environment. The hypothesis which survive this testing will be used to generate new hypothesis. Hypothesis which are unsuccessful in the laboratory environment will die out.

This duality is most clearly seen in the use of techniques such as genetic algorithms in computer programming. Here analogues to mutation and genetic recombination are used to automatically generate new hypothesis from previous generations, and the "environment" consists of a fitness function that represents whatever problem is being optimized.

Tuesday, August 30, 2011

Ayn Rand, Authoritarian

"If the Rand line was totalitarian, encompassing all of one’s life, then, even when all the general premises were agreed upon and Randians checked with headquarters to see who was In or Out, there was still need to have some "judicial" mechanism to resolve concrete issues and to make sure that every member toed the line on that question. No one was ever allowed to be neutral on any issue. The judicial mechanism to resolve such concrete disputes was, as usual in cults, the rank one enjoyed in the Randian hierarchy. By definition, so to speak, the higher-ranking Randian was right, the lower one wrong, and everyone accepted this Argument from Authority that might have seemed not exactly consonant with the explicit Randian devotion to Reason."

Murray N. Rothbard, The Sociology of the Ayn Rand Cult

Saturday, July 30, 2011

Dueling Metaphors

As discussed earlier, much of our advanced, abstract thinking is grounded in the use of metaphors from basic physical experience. George Lakoff has presented two basic alternative moral frameworks, both drawn from the family: the strict father model, and the nurturant parent model. He sees conservative politics and religion as based on the strict father metaphor, and liberal politics and religion as based on the nurturant parent metaphor. Currently another family metaphor is in the news: the family budget. Must a nation, like a family, balance its budget? This dispute is fascinating in the ways it both matches and reverses the Lakoffian metaphorical expectations.

As expected, the "strict father" conservatives insist the nation, like a family, must balance its budget. The liberals are viewed as overly indulgent parents who allow their children to overspend. The interesting part is the second metaphor in the conflict: money. In a world of fiat currency, what is money? Is it a placeholder for a finite, non-renewable resource? Is it a nebulous, re-evaluable abstraction? Liberals insist the current U.S. debt situation is not a cause for concern. Unlike Greece, the U.S. has its own currency. Unlike other wrecked nations from the past, the U.S. debt is in its own currency, which is also the world reserve currency. Liberals insist the conservatives are being thick, not understanding the new economics of the unique U.S. situation.

Now this makes for an interesting reversal. Conservatives, who normally insist on American exceptionalism, say in this case the U.S. is not exceptional. More basically, the members of the conservative "faith based community" don't have faith in a deficit-spending fiat currency, while members of the liberal "reality based community" want everyone to have faith in the long-term stability of a fiat currency of a big deficit spender. The conservative metaphor, of the family with a balanced budget, is easy for everyone to understand. While the liberal idea of continuous deficit spending seems more like magical thinking.

Of course there are many other complexities and Machiavellian motivations behind the current impasse. And it will unfortunately probably be a fair while before the world revisits a core mistake that led to the current economic situation: the idea that bondholders can't be allowed to take a loss.

Thursday, June 30, 2011

Progress in Programming Languages

Many people recognize one form of progress in programming language design: the addition of new features, usually forming higher levels of abstraction. Less recognized is the dual of this form of progress: the removal of older, usually lower level, features and freedoms. Paradoxically the removal of language freedoms frees the mind to concentrate on more important parts of the problem at hand.

The earliest programming languages, assembly languages, provided unlimited freedom at a micro level. As an example, each developer was able (actually required) to invent their own conventions for calling subroutines. They could pass parameters in (their own choice of) processor registers, or on a stack (ascending or descending), or in memory structures on a heap. Each of these techniques had benefits and drawbacks, but in the end it was more important to standardize so that developers could share libraries of common modules and free up cognitive space for other issues.

At a higher level, the C programming language (plus the operating system binary formats) standardized routine calling conventions, but left freedoms as to where variables are located and how they are passed. C provides primitive types and records, locates them on the stack or heap, and supports direct memory pointers and pointer manipulation. C++ adds slightly safer references, while retaining pointers. Java, safer and at a higher level, takes away pointers and leaves only references. Much of the safety becomes possible (and necessary) once memory garbage collection is added and low-level memory control is taken away.

Other higher-level languages continue this pattern of addition and subtraction. Python and Ruby add lists and dictionaries as built-in types, and take away direct use of native hardware types.

Perl (yes, the topic of this post) is the oddball. It added many beneficial higher-level features later found in Python and Ruby, but did not remove the low-level freedoms of C++ or even assembly. Like assembly, Perl does not have a single built-in way to pass arguments to functions; instead "there's more than one way to do it" (the Perl motto) so users of CPAN libraries need to pay attention to the calling conventions for each library [and the common ways to do it, @_ and shift, are ridiculous]. Like C++, Perl has references. It needs these because it allows objects to reside on either the stack or heap. But there is no good reason for this distinction in a high-level garbage collected language, and it forces the programmer to explicitly reference (take address-of) and dereference using \, $, etc. (like & and * for C pointers!). Even Java references don't require explicit dereferencing and disallow address-of.

Perl has these issues partly because it was an early introducer of new higher-level features, and didn't want to break compatibility with older Perl programs by removing lower-level functionality and freedoms. But this means the language requires much more cognitive space to understand than newer languages like Python and Ruby, and leaves less cognitive space available for solving the problem at hand.

Wednesday, June 29, 2011

Backpacking Gear Test 2011



For last year's Backpacking Gear Test I had a base weight (without fuel, water, fuel) of 16 lbs and a total pack weight of 22 lbs. This year I experimented with some different equipment for a base weight of 14 lbs and a total pack weight of 19 lbs: a reduction of 11%.

Gear Weights

I took the 2011 gear on an overnight hike from Old Coast Road to Pico Blanco Camp in the Ventana Wilderness, 6 miles each way. This trail is NOT recommended, as it is very rough and difficult to follow.

Osprey Variant 52 Pack



This pack is slightly heavier than last year's Granite Gear pack, and should be more durable. With metal framing instead of just plastic, it better supports loads. It is actually intended for ski mountaineering/rock climbing, and was quite maneuverable when crawling over and under logs. The external gear attachment points were useful for boots for wading water crossings. The external pockets are too small for water bottles, so I carried all water and everything else inside the pack. This was important when crashing through tall brush. At 52 L the capacity is smaller than my other packs, but I was only carrying a bivy instead of a tent. With the expansion collar extended it has plenty of capacity for Jeep trips, though it isn't well balanced when packed that tall.

Marmot Alpinist Bivy



Sleeping under the stars was enjoyable in the bivy, though I might have a different opinion if it had rained. In the morning there was a small amount of condensation on the outside of the sleeping bag and inside of the bivy, and this condensation may have contributed to an early morning chill greater than the temperature warranted. Both did dry quickly once the sun rose.

As seen on the spreadsheet the other big weight savings was from omitting all the cooking gear and dehydrated food, and only bringing Powerbars. This is tolerable for an overnight, but would not be for longer. I may experiment next with other varieties of uncooked food for short trips. Hiking with the low weight was enjoyable, and this trail would have been even more difficult with my usual heavier load.

Saturday, June 18, 2011

Trust

What do pensions and nuclear power have in common? Both require managers empowered to make prudent, long-term safety decisions. In the case of pensions the basic principles are well-known; this isn't "nuclear science". But in both cases public pressure for short-term pain aversion make safe operation impossible, independent of the selflessness of management. And incompetent, corrupt, or untrustworthy management makes it much worse.

The list of other systems and institutions incompatible with the current environment is probably quite long...

Thursday, May 19, 2011

Geometry and Experience

"As far as the laws of mathematics refer to reality, they are not certain; and as far as they are certain, they do not refer to reality."

Albert Einstein, Geometry and Experience, 1921

Thursday, May 12, 2011

The conflict between science and religion

The unrecognized heart of the conflict between science and religion is the appeal to authority.  Science does not recognize an appeal to authority as a valid argument, while most religious argument is ultimately based on appeal to religious authority.  This has left people divided into three basic camps:

1)  Those who believe appeal to religious authority can provide true answers in all areas, not just religion.

2)  Those who believe appeal to authority is never a valid argument, in religion or any other area.

3)  Those who believe appeal to authority is a valid argument in areas traditionally or currently demarcated as "religion", but not a valid argument in areas demarcated as "science".  This demarcation would match Stephen Jay Gould's "Non-overlapping Magisteria", although (at least in his short article) he doesn't rationalize it in terms of validity of argument from authority.  I think camp (1) is actually in a stronger position, in asking why if argument from religious authority is considered valid in the "magisteria" of religion why it is not valid everywhere.  After all, the religious works they are referencing do not contain disclaimers to this effect.

Essentialism and Authority

When disputing game rules, or rules in general, one often hears the phrase "according to Hoyle".  This is an appeal to authority, to a book of game rules first compiled by Edmund Hoyle.  These games, such as chess, existed in earlier forms long before he compiled the rules.   One might argue that there is an "essence" of chess, and a platonic form or ideal of chess, which pre-existed its discovery by humans.   If this were true, how close are we to the ideal?  Does it include a modern powerful queen? Castling?  Of course, this kind of essentialism sounds silly.  We understand the rules of chess were made up by humans, and that appeals to the authority of Hoyle are a matter of convention.  There is no possibility of a science of empirical "discovery" of the rules of chess.  Note observation of games also would not arrive at the rules, since for instance castling may never occur in the set of observed games.  So statements about chess are not provisionally true, pending additional observations.

Geometry can also be viewed as a game played with specified rules.  An initial set of postulates is chosen, and from them new theorems are derived.  Euclid codified the first set of postulates, and for centuries Euclid was cited as the authority.  Geometric figures became key examples in essentialism.  Much later, with the invention of non-Euclidean geometry, it was discovered other starting postulates were possible.

The rules of mathematics are much more closely tied to science than the rules of chess, and seem much less arbitrary.  Mathematical theorems are not provisionally true in the sense that new experimental data could overturn them.  But they are provisionally true in the sense that errors could always be found in the proofs.  And a connection between any particular mathematical system and the physical world is always provisional, pending new observations.  The most prominent dispute, from the theory of general relativity, is whether the large scale geometry of spacetime is flat (Euclidean geometry) or curved (non-Euclidean).   And this contradicts Kant's primary example of synthetic apriori knowledge -- things we know to be true independent of any observation of the world.

Sunday, March 27, 2011

Where's Eric?

I recently investigated CB radios for use on an upcoming Jeep Jamboree. On the forums I saw some folks also using ham radios. This looked interesting, so I studied for and obtained an amateur radio license, and got a Yaesu VX-8GR 144/430 MHz handheld. This handheld also has a GPS, and supports APRS (Automatic Packet Reporting System). With APRS enabled the radio will regularly broadcast its current position and status to nearby APRS enabled receivers.

My last reported position and status is available mapped at http://aprs.fi/?call=kj6njo-7

While the web display is similar to position displays enabled via smart phones, it differs in fundamental ways. APRS is peer-to-peer over radio, so each station is communicating directly with other nearby stations. Each handheld is able to directly generate and display the list of nearby stations, without using internet connectivity. This means a group of APRS users outside cell range can operate independently.