Press "Enter" to skip to content

Population: One

Sauces for all

This atrocity (a word I use carefully) is deeply regrettable and not at all surprising. Possibly, if the right wing thinks about it a little, they’ll understand why it’s also such a good illustration of the stupidity of this attitude.

Yes, throwing milk on PETA protestors is funny and ironic. But in a civilized society, we do not adopt the belief that it’s OK to reply to bad behavior with more bad behavior.

Ozymandius

Pym Fortuyn’s party is collapsing, which is no great surprise when you get right down to it. Fortuyn himself was assassinated this summer, right before the Dutch elections, which did not prevent his party from becoming the second largest party in the Dutch government. But without Fortuyn at the center of the party, it’s dissolved into squabbles and factionalism.

What this says to me is that Fortuyn was never a politician. He was a charismatic figure who was able to assemble a coalition by force of personality, but he wasn’t a politician. His party had no strength at the core, no ability to function without him.

There’s no question that his death was tragic, but I’m pretty certain I’m correct in classifying the man as a right-wing demogogue.

Bridgebuilding

Now that my MT -> LJ bridge is finally working the way I want it to, I’ll take the time to do a little documentation.

The basic architecture is as follows. I have an MT template containing a verbose RSS .91 feed, which is an index template, so the page it produces is rebuilt every time I post. I added a CGI script residing on my server to the list of URLs to ping when my blog is updated. The CGI runs blagg (an RSS aggregator) with the LiveJournal plugin, which pushes the post to my LiveJournal.

Notes:

Blagg is not a very smart parser; it expects the RSS tags to come in a certain order. Specifically, it requires first <title>, then <link> then <description>. As it happens, this is not the order in which the default MT RSS .91 template presents the tags, so I had to modify a copy of the template to put things in an order blagg would understand. I also expanded the description field to contain the entire post, since I wanted people to be able to read the full entry without leaving the LJ page. Finally, I replaced encode_xml=”1” with encode_html=”1” throughout the template, since encode_xml encodes some characters in a way that most browsers won’t understand. Specifically, IE can’t make sense of &apos;.

My CGI script looks like this:

#!/usr/bin/perl -w
use strict;
use XMLRPC::Transport::HTTP;
my $server = XMLRPC::Transport::HTTP::CGI
-> dispatch_to('weblogUpdates')
-> handle
;
package weblogUpdates;
sub ping {
`/home/durrell/bin/pushlj.sh &`;
return "OK";
}

pushlj.sh is this:

#!/bin/sh
lockfile=/tmp/lj-bridge.lck
blagg=/home/durrell/bin/blagg
plugin=-plugin=livejournal
mode=-mode=automatic
login=-login=bryant
REQUEST_METHOD=
i=1
while [ $i -lt 5 ]; do
if [ ! -e $lockfile ]; then
touch $lockfile
$blagg $plugin $mode $login
rm $lockfile
i=5
else
sleep 60
i=$(( $i + 1 ))
fi
done

Why a separate script? Because in case I run into a lock, I don’t want the CGI to sit around waiting for the lock to vanish. Also, I intend to put a five minute delay in there to give me time to edit a bad post before it hits LJ.

Why the REQUEST_METHOD= bit? Because blagg processes its command line switches with CGI.pm. This is a very clever method of processing arbitrary switches in an elegant manner, but if REQUEST_METHOD is set, then CGI.pm won’t look for parameters on the command line. So I have to unset it somewhere. Getopt::Long really ought to have a method for processing arbitrary switches, but that’s a rant for another post.

Finally, since I’m using version 1.0 of the livejournal plugin, I had to edit the plugin a little to make it set the preformatted flag for posting. I also tweaked it a little to store the password in the plugin itself, since I don’t like the idea of exposing the password on the command line (and thus in the process table). Version 1.1 of the plugin allows you to specify preformatted mode with a command line switch, but I haven’t upgraded yet.

Knock knock

Knockaround Guys is probably the last chance you’ll get to see Vin Diesel in a supporting role for a while, but that’s not why you want to see it. You want to see it because it’s a nifty little ensemble drama with a nasty sense of humor and a tight story structure. Sure, Vin is good and he gets to beat people up, but Barry Pepper and Seth Green and Andrew Davoli are pretty good too. Dennis Hopper’s kind of phoning it in, but John Malkovich is delightful. Solid stuff.

The guys who wrote and directed this also wrote Rounders, which I thought was really good if you cut away the obligatory romance bit. Knockaround Guys has no romance, and thus is free to be purely what it is. It’s a Mafia movie in the sense that the Mafia is the context within which the characters operate, but it’s not about the Mafia in the way that (say) Goodfellas was about the Mafia. It’s about friendship and manhood and other such manly matters… oh, hell, I’ll just say it. It’s a coming of age movie.

But it does have some good fight scenes.

Love among men

Glenn McDonald says, “I’ve been asked, more than once, how I can be a music fan and a soccer fan, when there is usually, at least in this country, such a gulf between art people and sports people.” I could say the same of sports and computers. Many of my friends could care less about sports. Sports are where the jocks play, and we define ourselves as very much other than them.

This piece, from which I pulled the above quote, is what I love about sports. The object of any sport may in and of itself be pointless. Balls, goals, who cares? But I love the passion that comes with a good team, or even with a bad team that achieves more than it thought possible. It’s worth reading the last paragraph on the page even if one hates sports, just for the beauty with which he expresses that self-same emotion.

Smoke and mirrors

A week ago, a French oil tanker in Yemen exploded; Yemen officials are now calling it a terrorist attack. Early evidence says it’s an Al Qaeda action. The attack was very similar to the Al Qaeda attack on the USS Cole, in October 2000, and at least one American intelligence official was willing to make the link.

So: why would Al Qaeda target a French tanker right now? France is opposing the US resolution in the UN Security Council. This action will strengthen France’s desire to fight terror, not weaken it. If anything, France will now be more willing to support the US. On the face of it, blowing up a French tanker seems really stupid.

Unless, and this is pure speculation, but unless Al Qaeda is not in Iraq. If that’s true, it makes a ton of sense. If Osama wants the US to get distracted by Iraq, this is an excellent move.

She's so sweet

Hey, Californians. Dianne Feinstein knows better than you.

I serve as the senior senator from California, representing 35 million people. That is a formidable task. People have weighed in by the tens of thousands. If I were just to cast a representative vote based on those who have voiced their opinions with my office — and with no other factors — I would have to vote against this resolution.

She voted yes, of course. Screw the constituents.