Those Who Do Not Know…

Gregg Easterbrook’s past writings have never particularly impressed me, but his Weapons of Choice piece in TNR today reveals that he’s even more of a tool than I had thought.

In World War II, freedom beat dictatorship by a decisive margin in combat, even though dictatorship began the conflict with a significant advantage. Think about the situation in the summer of 1940, when England was the sole nation left actively resisting tyranny in all of Europe

Ummm…hello? Remember the Russian front? The one to which Germans were afraid of being sent? The one where they sustained most of their casualties? Who was running the Soviet Union at the time? Another dictator, and one whom many consider just as bad as Hitler himself. World War II in Europe was largely about one dictatorship fighting another, not about some fictional freedom vs. tyranny script. The folks throughout eastern Europe certainly didn’t feel very liberated when it was over.

Strong as the United States military is, it increasingly relies on worn-out stuff. Most American fighter aircraft are 20 years old or more; most of the Army’s tanks are more than 15 years old

So what? So they’re old. How old are potential opponents’ weapon systems? How numerous? How well maintained? How effective? Why pursue “modernization” for its own sake, when our Navy and Air Force – by Easterbrook’s own claim – “already exceed in strength the power of all other navies and air forces in the world combined” and our ground forces are not far behind? There are improvements to be made in our military, but more in the areas of training, tactics, communications, etc. If we skip a generation of unnecessary hardware, we could use the money saved to improve in these other areas, increase military pay and benefits, improve homeland security, and probably still reduce the military’s contribution to budget deficits. We’ve become addicted to high-cost weapons systems, and to having the economic strength to pursue every admiral or general’s pet project. Countries that have fewer military dollars do a much better job stretching what they do have. We’re ahead in volume, but we need to catch up in efficiency.

With such a stunning display of both ignorance and illogic, I can only wonder who paid/persuaded Easterbrook to write this piece. It’s just impossible to accept as a sincere and diligent exercise of a journalist’s or commentator’s role.

Windows Nastiness

Last week I finally installed the .NET framework on my Windows machine at work, because apparently nobody can write an RSS reader any more that doesn’t use it (insert eye-roll here). Then I upgraded it to SP1. Then “Add/Remove Programs” stopped working; shell32.dll gets an exception trying to load appwiz.cpl (another eyeroll for the less-than-informative diagnostic information). I’ve tried all of the standard solutions suggested on the web, such as checking for viruses and running System File Protection, but still no dice. I guess I’ll just have to do what appwiz.dll does by hand from now on, or at least until I can find the crippled OEM install disk that came with this PC and start all over again.

No, don’t tell me I wouldn’t have this problem on Linux. I know better. I’ve also had similar problems with Java-based software, so don’t tout that as a panacea either (and BTW don’t ever expect to use the “invocation API” to run a JVM within a native process unless you happen to like occasional and impossible-to-debug heap corruption). This problem is not OS- or language-specific, and it’s not proprietary vs. open source. There are just too many idiots writing bad code, everywhere.

The Neverending TCP Wars

I’ve written about TCP and the often-dubious wisdom of trying to replace it with something else many times – starting with TCP Considered Annoying in July of ’02, through TCP Apologists Considered Annoying and Messages vs. Streams to Live from (TCP) Vegas. It looks like it’s time for another round.

Reinventing (an inferior version of) TCP seems to be one of those rites of passage for many programmers, like designing your own programming language. Most often it’s a form of the “rewrite bug” that afflicts many junior programmers: due to a single problem (or sometimes mere “not invented here” aesthetic dislike) the programmer sets out to replace an entire complex system instead of adopting a simpler in situ solution. Usually such programmers end up creating more bugs than they fix/avoid, and at work a large part of my job is to discourage such counterproductive behavior.

In the current case, the impetus for reinventing TCP seems to be the tricky problem of “NAT traversal” in which two systems each behind an address-translating gateway or firewall are unable to establish a TCP connection. This is at least a real problem, but the proposal for “fixing” it is defective. My objection to TCP is that it only models one kind of communications behavior – two way stream-oriented communication over long links. If that’s not what you’re doing, by all means design a different protocol. If it is what you’re doing, however, I believe you should use TCP – if not an existing implementation (which might not be possible in the NAT-traversal case) then at least the protocol and thought behind it. There’s nothing wrong with implementing TCP over UDP in user space, reusing 99% of the code and replacing a tiny bit of connection-setup glop as needed, if that’s what’s necessary. It’s better than having someone with a proven bad record at protocol design create a new protocol to do the exact same thing, and commit for the hundredth time the freshman mistake of relying on IP fragmentation and reassembly to make it work.

Amy Video II

Here’s some more video (1.6MB WMV) showing Amy’s latest trick of raising things over her head.

Taxing Resource Use

I’ve been following “true cost pricing” ideas for a while, but somehow this idea of using resource consumption as a basis for taxation hadn’t occurred to me.

The most substantial tax revenue comes from taxing income, especially labour. The time has come for all political parties to rethink fundamentally this balance. We should gradually shift from taxing labour to levying taxes on the use of original resources.

There are two reasons. First, this would exercise more of a discipline on our use of original material, which would encourage us to conserve and replenish the source. Second, it would stimulate labour and encourage us to be creative and innovative in our use of original material. Current industry and business seem to be based upon using minimum labour in relation to resources used; we urgently need to invert the ratio into the minimum amount of resources used in relation to labour.

The idea has a certain appeal to me. Why, indeed, should labor – which is almost infinitely renewable – be the resource that is taxed the most? Why do we effectively penalize work and make labor more costly, and provide a perverse incentive to increase use of other resources to compensate? I think the author makes a good (though too brief) case that such an approach is utterly backward.

Helping or Hurting?

I’m really not sure what to make of this project to make artificial homes for hermit crabs. My first reaction is, “Wow, that’s a really cool thing to do!” On second thought, though, the following paragraph gives me…well, second thoughts.

Being much lighter than calcium carbonate, these new houses do not take as much energy to carry during locomotion. Plastic is also structurally strong, which affords large areas of internal space in the new structures. This results in the greater internal volume-to-weight ratio that the crab prefers. Of additional benefit is the longevity of this material coupled with the way these crabs recycle and share their shelters.

The fact that hermit crabs might come to prefer these artificial shells to the natural kind because of these differences raises some nasty issues of interfering with natural growth and mating patterns, and perhaps even fostering a level of dependence. That might be outweighed by the importance of compensating for a “housing shortage” that might itself be the result of human activity – a hermit crab using one of these shells is a lot better than a hermit crab using a glass jar as described in the article – but I think I’d feel better about the project if the artificial shells had been more rigorously designed to resemble their natural counterparts.

The part about hermit crabs lining up for hand-me-downs is still cool, though. I’d love to see that.

Baumol’s Cost Disease

James Surowiecki, he of the broken jellybean-contest promise, wrote an article a while ago about Baumol’s cost disease. I think I actually read this at a time, but just found a reference to it today.

Generally, productivity growth is a boon, but it creates problems for non-productive enterprises like classical music, education, and car repair: to keep luring talent, they have to increase wages, or else people eventually migrate to businesses that pay better. Instead of becoming nurses or mechanics, they become telecom engineers or machinists.

All very fascinating, but why do I mention it here? Because of the last paragraph:

Some of the most important services that the government providesâ??education, law enforcement, health careâ??are the hardest to make more productive. To keep providing the same quality of services, then, government has to get more expensive. People pay more in taxes and donâ??t get more in return, which makes it look as though the public sector, at least compared with the private sector, is inept and bloated. But it could be that the government is merely stuck in inherently low-productivity-growth businesses

That’s very similar to the point I made recently in my own efficency of government piece: government gets unfairly criticized instead of praised for daring to do the work that nobody in the private sector wants to. It’s nice to see that someone else gets it, and has provided a cogent explanation in a forum more widely read than this one.

Amy Video

I finally broke down and got a video camera, so I could capture some of Amy’s unbelievable cuteness that just can’t be captured in a still picture. I’m still learning how to use it, and more importantly how to capture/edit/etc. on the computer, but here are a couple of clips to get started.

The first one is called “Hippo Butt” (231KB WMV or 831KB MPG). My mother (hi Mom!) bought Amy a floppy purple stuffed hippo, which I have dubbed the floppapotamus. It has a soft velvety texture and feet that make crinkly noises, both of which Amy enjoys, but her absolute favorite part – as with almost any toy – is the tag which in this case is situated toward the rear. This led to a rather odd moment when she was playing with it last weekend.

The second clip is called “Lizard Tongue” (587KB WMV with two examples or 453KB MPG with just one). Another of Amy’s little tricks lately has been to stick her tongue out in a very particular way. You’ll see what I mean if you watch the video.

Jellybean Challenge Redux

A while ago I expressed annoyance about the jellybean challenge associated with James Surowiecki’s Wisdom of Crowds. Now, months later, they still haven’t announced a winner like they said they would do on August 16. My guess is that the results didn’t show what they wanted, and the contest had already served its purpose as a publicity stunt, so why mess it up by publishing a result that undermines the book’s thesis?

Go ahead, Random House. Prove me wrong.

Like Old Times

I don’t post about sports much, but I think I’ll make an exception. I thought it was pretty cool last week when Troy Brown, normally an offensive player for the New England Patriots, took the field on defense. Apparently he did even better last night when he caught a pass from Drew Bledsoe. He used to do that a lot when he and Drew were on the same team and both on offense – in fact he was one of Drew’s favorite targets then – but this is the first time he’s done it while on the opposing team’s defense. I wonder how long it has been since an NFL player last managed such a “caught passes from the same thrower both ways” kind of feat.