Next Outsourced Job: Fast Food Order Taker

McDonald's has begun outsourcing drive-through orders in 40 of its restaurants, using 125 workers at a call center in California and submitting orders back over the Internet.

The process saves "seconds" on each order. Workers make $6.75 an hour, get no health benefits and handle up to 95 orders an hour in a job that sounds like a workplace massacre in the making:

Ms. Vargas seems unfazed by her job, even though it involves being subjected to constant electronic scrutiny. Software tracks her productivity and speed, and every so often a red box pops up on her screen to test whether she is paying attention. She is expected to click on it within 1.75 seconds. In the break room, a computer screen lets employees know just how many minutes have elapsed since they left their workstations.

One of the dire predictions of the Lou Dobbs crowd is that Americans will be pushed into low paying service jobs because all of our white-collar work is being sent overseas. But McDonald's could just as easily take those orders from Bangalore, where by one estimate a college-educated call center employee earns $2.40 an hour.

Our best hope to keep these jobs: sacred cows.

Are You Ready for Some Football?

I've begun following FC Dallas, the Major League Soccer team originally known as the Dallas Burn, as part of my embrace of all things soccer in the run up to the World Cup. My friend Wade Duchene has been after me for years to start following international football, which he discovered while stationed overseas during the first Gulf War, and I run a sports community weblog that has attracted a bunch of Premiership fans. Resistance was futile.

Soccer in Great Britain is as huge as any pro sport in the U.S., and it offers something that American sports fans would love if it was adopted here -- promotion/relegation. Teams are organized into a giant league system topped by the Premiership with dozens of leagues below it. The best teams in each league are promoted to a higher league at the end of the season. The worst are relegated to a lower one.

Teams can climb as high or drop as low as the entire system, making possible things like the rise of AFC Wimbledon. When Wimbledon's football club moved away a few years ago, angry fans formed a public company and started their own team, calling it AFC Wimbledon.

The new Wimbledon began in a ninth-level league and have been promoted twice to the seventh level. The old Wimbledon's on the verge of being relegated to the fourth, bringing them closer to the chance that the teams will play in the same league.

If we had promotion and relegation in U.S. pro sports, the Bidwell and Ford families wouldn't be running NFL franchises into the ground for decade after decade, because they'd be subjected to the same competitive pressures as their players. By now, they'd be running Arena2 League franchises into the ground.

Watching Saturday's FC Dallas game on DirectKick, I discovered that former Jacksonville sports talk host Bill Riley has become the Real Salt Lake play-by-play announcer. Another local blogger, Joe Dougherty, was a regular on Riley's morning show on WBWL, which disappeared when the station began running ESPN Radio in its place five years ago.

I looked for Riley on the radio for a while after his show disappeared, figuring he was too good not to be hired by somebody else. He's ended up in Utah calling the games for a woefully bad expansion franchise and hosting an afternoon show.

I voted today to expand the RSS Advisory Board to 15 members and choose them privately.

After serving on the board when it was private and not exceptionally well-regarded by the RSS community, I think it's extremely important to operate in the open. However, the requirement to publicly evaluate and vote on new members chases off anyone who isn't completely flame-retardant. One prospective member with years of experience in RSS development withdrew his name from consideration when he realized the vote would be conducted publicly.

As for the expansion to 15 members, we could use more members in technically complex areas like the draft spec and profile work.

I had a programming project this weekend that reminded me how complex XML interoperability can be, even on a relatively simple dialect like Really Simple Syndication. We could use a few more XML gurus and longtime RSS developers to complement current members who are more involved in usability and educational efforts.

Watch Out for the Guns

The Jacksonville Barracudas hockey team has been run the last several years by Ron Duguay, the former New York Rangers and Detroit Red Wings player. Duguay was a '70s heartthrob who skated without a helmet, relying on big hair to protect his head.

In a story about Duguay stepping down from the team, the Florida Times-Union included a photo of Duguay in his office, where he hung a bare-chested poster of himself showing off Ron Burgundy-like guns and a total eclipse of the hair.

If you'd like Ron in your own office, the poster's up for auction on eBay.

Ron Duguay poster from 1980

Handling Numeric XML Entities in a Weblog Move

I'm exporting a Radio UserLand weblog to Movable Type for a client, turning Radio's XML archive of weblog entries into a Movable Type import file. I wrote a Java application that employs the XOM XML library to read Radio's weblog data.

Some numeric character entities in Radio's XML data threw me for a loop: â (’), À (¿), Ž (é), ‡ (á) and — (ó). They were transformed -- either by XOM or the Xerces XML parser that it uses -- into garbage characters that display incorrectly in Movable Type.

After fumbling around, I found a solution: Read a weblog entry's XML data as a text file, replace the numeric XML entities with the equivalent numeric HTML entities and parse the resulting file with XOM:

// replace bad character entities with good ones
public void prepareFile(String source) throws IOException {
  File sourceFile = new File(directory + source);
  BufferedReader reader = new BufferedReader(new FileReader(sourceFile));
  File destination = new File("input.xml");
  BufferedWriter writer = new BufferedWriter(new FileWriter(destination));
  String text = "";
  do {
    text = text.replaceAll("â", "’"); // curly single quote mark
    text = text.replaceAll("À", "¿"); // upside down question mark
    text = text.replaceAll("Ž", "é"); // lowercase accented e
    text = text.replaceAll("‡", "á"); // lowercase accented a
    text = text.replaceAll("—", "ó"); // lowercase accented o
    if (!text.equals("")) {
      writer.write(text, 0, text.length());
      writer.newLine();
    }
    text = reader.readLine();
  } while (text != null);
  reader.close();
  writer.close();
}

This is a clumsy solution that relies on escaped markup to produce the HTML entities, but I can't find a better one without editing the client's Radio data by hand. I'm trying to avoid that, because I want to use this application to move other weblogs.

Radio UserLand saves an XML backup of all weblog posts and categories in the software's backups\weblog\Archive subdirectory. If you're using Radio, enable the Archiving in XML preferences to take advantage of this feature, which makes it easier to export the data to another weblog publishing program.

Anna Badkhen's coverage of the East African drought has taken her from Kenya to Somalia, where she filed a report marking 15 years of anarchy and the shooting of a local radio journalist as he traveled to a seminar. The topic of the event: "reducing violence in Somalia."

The World's Most Beloved Coroner

Wizard of Oz Munchkin coroner Meinhardt Rabbe and a student

I chaperoned a field trip this week to a high school production of The Wizard of Oz, which was fun because kids love getting out of school to see plays. This one had winged attack monkeys roaming the audience, the Wicked Witch singing Michael Jackson's "Bad" and a climactic scene involving water guns.

At the end, they brought a surprise guest on stage: Meinhardt Raabe, the 90-year-old who played the Coroner in the movie.

Raabe, who lives in a retirement community south of Jacksonville, may be the oldest living Munchkin. He's a former Civil Air Patrol pilot during World War II, 30-year Oscar Mayer spokesman and teacher who still makes Oz-related appearances.

Dressed in character, Raabe delivered his famous declaration:

As Coroner I must aver,
I thoroughly examined her ...
and she's not only merely dead,
but really most sincerely dead.

When he finished, several hundred schoolkids roared so loudly I thought it might knock him down.