Sportus interruptus

Sportus interruptus: Three miles from the finish, the leader in the men's marathon was knocked to the ground by a spectator and was subsequently passed by two runners. The attacker has attempted similar stunts at other events to promote his apocalyptic religious books.

Welcome to St. Augustine, Charley

As I type this entry, the eye wall of Hurricane Charley is heading up the coastline into St. Johns County, Florida, where it's expected to throw some Category 1 Old Testament wrath of God at Anastasia Island for around an hour before leaving for the Carolinas, the region for which all tropical storms save their worst.

Hurricane evacuation passThe power is flickering and the house has lost its DirecTV signal because of heavy clouds, so I can't watch the local newscasters who have stayed up late for this, but oddly enough I can still surf their Web site.

Once we figure out how to deliver TV over broadband, I'll never be able to experience the fun of a few hours where the power's out, TV's dead, and there's no other box trying to entertain me.

Before the TV went out, radar indicated rotation cells that could lead to "isolated tornadoes." Now there's an adjective that puts the mind at ease 30 minutes past midnight. Sure it's a tornado, but he didn't bring any friends with him.

I keep looking to our 16-year-old housecat, figuring that she has some kind of animal doppler that would indicate when we need to panic. Apparently things are calm, because she's snoring.

Some people who evacuated the Florida Keys ended up here for the night, which has to be a rough joke now that Charley's passing directly overhead. But they'll soon be able to enjoy some terrific weather at the nicest low-key beaches in Florida, because hurricanes take all of the other bad weather with them when they leave.

Rally the Faithful, Annoy Everyone Else

With 85 days to go until Election Day, two odd stories from the campaign trail:

In Davenport, Iowa, President Bush bought ears of raw corn and took a bite out of one, telling a reporter that "it's really good."

After witnessing this culinary oddness, a Reuters reporter asked for a reaction from an expert who majored in corn:

Raw corn is typically fed to livestock, but Irvin Anderson, a professor of corn physiology and biochemistry at Iowa State University, said some people liked it raw.

"Most people will boil it and put butter on it. But you can eat it off the cob raw. It has a sweet taste to it," he said.

In Rio Rancho, N.M., Republican event organizers turned people away from a Dick Cheney appearance if they wouldn't sign a loyalty oath pledging to vote for Bush.

This practice has taken place at other Republican National Committee rallies, according to the Boston Globe:

RNC spokesman Yier Shi said RNC campaign rallies are not official visits, but party events designed to energize the Republican base. He said everyone is welcome at the rallies as long as they support President Bush.

In their zeal to create a potemkin crowd of adoring supporters, Republicans are alienating the kind of people they need most for a second term: Voters who don't support Bush but are receptive enough to attend an event.

Sending them away -- with a police escort no less -- is crazy politics that won't even keep troublemakers out. Anyone planning to disrupt a rally with partisan hell-raising would lie, quite gleefully, on the loyalty form.

The Path to Apache Happiness

I'm moving Workbench and dozens of other sites to ServerMatrix, a host in Dallas with some ridiculously low prices for fast servers with generous bandwidth.

Though I am becoming a Linux zealot, I remain awestruck by the amount of grief required to get the components of a LAMP platform -- Linux, Apache, MySQL, Perl, PHP, and Python -- working together successfully.

I burned an entire afternoon Saturday because of a weird issue with PHP that worked fine in Apache 1.3 but was hosed in Apache 2.0.

In my PHP scripts, I grab arguments from the $REQUEST_URI environment variable (PATH_INFO in CGI) rather than using a query string, replacing a search engine unfriendly URL with something better.

Collecting variables from the path is easy in PHP:

list($i1,$i2,$id_number) = explode('/', $REQUEST_URI, 3);

This wasn't working on the new server: Apache thought these URLs referred to real directories, responding with a file not found error for every script that used path info.

Thanks to Dan Anderson's terrific Apache 2/PHP installation page, I found the solution: turn the new AcceptPathInfo directive on in httpd.conf:

AcceptPathInfo On

Simple enough, once you find it, but I made a crazed Kenny Stabler scramble around Google for many hours until I did.

Strange Bargain for Hyped British Fantasy

Jonathan Strange and Mr. NorrellThis weekend's New York Times Magazine offered lavish praise for Jonathan Strange and Mr. Norrell, a debut novel by Susanna Clarke that's attracting a lot of hype prior to its Sept. 8 release.

The book, an 800-page adult novel about rival 19th-century British magicians, has prompted comparisons to both J.K. Rowling and Jane Austen. Neil Gaiman calls it "the best English fantasy novel written in the last seventy years."

An elaborate alternate reality has been created for the meticulously researched book, complete with footnotes and false bibliography citations. The publisher thinks so much of the work it will be printing 250,000 copies in 17 languages.

... in early 2003 [Clarke] sold the still unfinished manuscript to Bloomsbury, which quickly snapped up world rights based largely on a reader's report that Bloomsbury would later circulate at the London Book Fair and that began, "This book so captivated and riveted me that I'm charging half the full fee."

The book's currently in the top 50 on Amazon and pre-publication copies are selling for $100 or more on EBay. On the publisher's UK site, I was surprised to find a special edition deal: a signed, limited edition of the book for 30 British pounds (around $55) with only 250 copies available.

Encoding XML in Movable Type Templates

Last week, I helped Jessamyn West fix a problem with the XML encoding of the RSS 2.0 feed on the Movable Type weblog she ran during the Democratic National Convention.

West's feed couldn't be read successfully by the Convention Bloggers aggregator because of the following line:

[more]

This line produced output of this form:

some entry text]]> [more]

The block that begins with and ends with ]]> is character data in XML. The encode_xml attribute causes this encoding to take place, which ensures that text has been formatted properly for transmission as XML data.

The problem was caused by text appearing outside of the CDATA block. Though it's valid XML, by my understanding, some XML parsers cannot handle element content that appears outside of a CDATA block or content that includes more than one CDATA block.

If you understand how to create a CDATA block, you can solve this problem in a Movable Type template by dropping the encode_xml attribute and creating the CDATA block by yourself, as in this example:


[more] ]]>

For West's weblog, I used this technique to add another feature she wanted -- the full text of extended weblog entries in the feed:





]]>

Bush's Taxing Day in Ohio

Energized by the Democratic National Convention, I'm going to spend more time following the frenetic presidential campaigns during the last days of the race (93 and counting).

During a stop in Canton, Ohio, on Saturday, one of the swing states hit hardest by the sour economy, President Bush tried to cast doubt on Kerry's plan to roll back the tax cuts for Americans earning over $200,000 to invest in health care, education, and job creation:

"He said he's only going to raise taxes on the so-called rich. But you know how the rich is -- they got accountants. That means you pay."

I know the moral of that story is the Republicans' favorite scare tactic -- them Dems gonna raise your taxes -- but let's stop for a moment and consider how he tells it: The president, 3.5 years into his term, declares that rich people are effectively untaxable because they can afford accountants who find loopholes.

How can that argument possibly reflect well on Bush? He's calling rich people tax cheats, telling the rest of us that he's resigned to a system where they evade taxes, and admitting by implication that he did nothing with the Republican Congress to change it.