Half Baked

I’ve known about the smear factory at Democrats4Bush for a while, so I decided to look at Republicans4Kerry to see what the other side is up to. Looks like they’re not quite ready for prime time yet. It is refreshing to see a website in Latin, though, even if it’s the same old “lorem ipsum” stuff everyone uses as test text.

Does anyone know the web-design meaning of “breadcrumb” (near the top of the page)?


Every GUI developer who makes their window pop to the front because something that interests them (the developer) happened, regardless of what the user might have been doing that gets interrupted, should be shot on sight.


There’s an interesting discussion on Slashdot about the way that RSS (no, I’m not linking to the 2.0 spec) can seem a lot like a distributed denial-of-service attack to large providers. From the Infoworld article that sparked it:

Our hourly RSS surge has all the characteristics of a distributed DoS attack, and although the requests are legitimate and small, the sheer number of requests in that short time period creates some aggravating scaling issues. These issues aren?t enough to make me want to abandon RSS (in fact, I?ll keep pushing it), but its workings can create operational annoyances. If RSS is going to go from fairly big to absolutely huge, we?re all going to need to do a little more work on the plumbing.

One of the stupidest suggestions for how to fix this came from Russ Nelson, who really should know better.

RSS just needs better TCP stacks. Here’s how it would work: when your RSS client connects to an RSS server, it would simply leave the connection open until the next time the RSS data got updated. Then you would receive a copy of the RSS content. You simply *couldn’t* fetch data that hadn’t been updated.

The reason this needs better TCP stacks is because every open connection is stored in kernel memory. That’s not necessary. Once you have the connecting ip, port, and sequence number, those should go into a database, to be pulled out later when the content has been updated.

A user-space TCP that uses a database to store context is a “better” stack? Yeah, right. I can see where Russ gets his bias, since he used to work on networking code (Ethernet drivers, not clear whether he ever worked on TCP) Back In The Day when both the technical and human tradeoffs were very different, but it’s still an insane idea. Expecting servers to maintain thousands upon thousands of idle connections all the time is just stupid. Putting the state in user space doesn’t really solve the problems, either; it just moves it around a bit. Maybe making it somebody else’s problem is Russ’s idea of a solution, but it’s not mine. Modern machines probably could support that many connections if they really wanted to, but there’s no reason they should have to.

Here’s a little concept Russ has obviously not learned about: horizontal scaling. When load is unacceptably high at one point in a system, spread it around. What’s really needed here is a way to get clients to connect to someone other than the origin RSS server and still get current information. BitTorrent has been suggested as a way to do this, though I happen to believe it’s insufficient because it doesn’t really handle the problem of ensuring that the file you’re getting is the most current version. It might be a good part of the solution, but some of the most interesting parts lie elsewhere. I actually suggested that NNTP solves a very similar problem and could do so in this case with less tweaking than BitTorrent. The important thing, though, is that the load must be distributed. That can be done with a “pull” or “push” model, with polling or asynchronous update notification, with TCP or without, but one way or another the basic traffic pattern needs to change. Tweaking TCP is a lot of work to implement a “solution” to a problem that wasn’t TCP’s to begin with and for which better solutions are available.

Blithering Idiot

For a long time port – especially ruby port – has been one of my favorite drinks. Recently, though, I’ve started trying other dessert wines. Based on a gift from the inestimable Nick Vasilatos (my former boss and still a friend) I started with some Spanish muscatel, which I enjoyed; it tastes like liquid golden raisins. After seeing my dentist in Newton today, I stopped at Marty’s Liquors in hopes of finding some madeira to try next. I did find some, but while I was there I decided to pick up some beer and settled on Weyerbacher’s Blithering Idiot “barley-wine style” beer. Did I mention that I also love barley wine?

I just cannot believe how much of a kick this stuff has. OK, I realize that my alcohol tolerance is probably low. My weight is down 40 pounds from my peak, I haven’t done any serious drinking for a long time, and I’d had hardly anything to eat today. Even so, I wouldn’t expect to get a serious buzz from only a third of a bottle of beer…but that’s exactly what happened. Nominally only 11.1% alcohol by volume, I swear this stuff hit me harder than I remember a lot of 70- or 80-proof liquors doing. Amazing stuff.

Amy Update

Let’s start off with some pictures.

Amy on my lapAmy on my chestgratuitous advertising

The shirt from the last one was a gift from my shower at work (thanks guys), and we figured we should get a picture before Amy got too big to wear it. Amy has actually been really good lately. She slept through the night last night and the night before, and I think she’s started to show us real smiles sometimes. This whole parent thing is still very tiring, but it has its rewards too.

Nurturing Capitalism

This is a continuation of a post I made to a Whistle Stopper thread, in response to the claim that capitalism is based on human nature.

An ideal economic system should in general accept and try to make use of competitive impulses instead of denying or suppressing them (the Marxist error) but sometimes the incentives built into a system create a race for the bottom instead of the top. Another reality of human nature, besides that we are competitive, is that not all of us are honest. There will always be those who can and will attempt to win a race by cheating or by handicapping competitors than by running faster. In business, this means that companies that once succeeded on merit will often turn to predatory pricing or bundling to drive out remaining competitors or enter new markets, shift costs onto others, etc. The litany of monopolistic sins should be familiar to anyone who has ever studied real-world business or economics.

New Plat

Cindy re-sent me a copy of a platypus picture that I got a while ago but somehow forgot to put up on the site. The shirt patches and the name seem to indicate that it comes from Healesville Sanctuary which we visited when we were in Australia, so we’ve probably seen at least one of these cuties in person.

Healesville platypi

Conversations with Amy

Despite not actually being able to speak or even vocalize much other than crying, Amy has nonetheless found ways to express herself. Here’s an example demonstrating her mischievous sense of humor, no doubt inherited from her smart-aleck father.

me (holding Amy): Hi Amy. It’s your daddy! You like your daddy, don’t you?

Amy: (looks) (pauses) BLURRRRRTTTTT! (I’ll let folks guess what that was)

me: I think I’ve just been insulted.

Amy: (big smile)


The following is from an email exchange with one of my readers, to whom I am grateful. I’ll just post it verbatim for now, but (I hope) expand on its themes later when I have time.

I would be curious to know if you would share the true source of your political stance?

That’s an interesting question. I’m sure it comes partly from having grown up with a very liberal mother (how she got that way is another story) in a very liberal place (New Zealand) but that’s not really the whole story. Another part comes from a fusion of knowledge from several unexpected areas. In my work, for example, or in my chess playing, I’ve come to appreciate the value of strategy. The same lesson is further reinforced by game and chaos theory, by history and genetics, and elsewhere. What is strategy? It is not just trying to outguess an opponent; that’s tactics. Strategy is the application of rules that are empirically known to produce better outcomes by their consistent application, even though the exact way in which they produce those outcomes is unpredictable. Why are doubled pawns bad in chess? Why do most animals have instinctual habits that prevent overgrazing? Most relevantly, why do cooperation and altruism work so often? It’s not because there’s a clear link between the “investment” and its return. It’s because they form part of a strategy which, if pursued often enough by a high enough percentage of people, changes the dynamics of the system as a whole to create a new equilibrium more favorable to everyone (even the non-cooperators). This is truly enlightened self-interest – not mere tactical gamesmanship but a self-interest informed by a true understanding of how complex interacting systems work. I’m liberal not only because many liberal views are morally right but also because I see how liberalism relates to the strategic concept and I know that it’s a better system even at a practical level.

I ask because it occured to me the other day that anti-liberals seem to suffer from a distinct lack of imagination…

That’s sort of how I see it too. Anti-liberals – particularly libertarians – don’t understand complex systems and the limits of a tactical approach. They think everything can be driven by rational choice even when it’s clearly evident that people do not always behave rationally even when they have the information necessary to do so. The “reason” approach has limits that correspond exactly with individuals’ ability to predict the future. Some people aren’t comfortable relying on strategic rules that create outcomes in “mysterious” ways, so they fall back on what they can understand and think they can control. It’s not so much a failure of imagination, I guess, as a failure of faith or confidence.

Squirming Almonds

With most optical illusions of this type I can make the “phantom movement” stop if I concentrate, but with this one it’s almost impossible.