Archives October 2010


The AP reports:

For 33 years, Maridjan spoke to Mount Merapi, believing he could appease its unpredictable spirits by throwing offerings of rice, clothes and chickens into the volcano’s gaping crater.

Maridjan was believed by many to have the ability to speak directly to the mountain and led ceremonies every year to hold back its lava flows by throwing rice, clothes and chickens into its dome.

(emphasis added.)

Well, duh. Of course he could speak to the volcano. Anyone can talk to a mountain, or a river, or dead ancestors. To quote Shakespeare’s Henry IV, Part I:

Glendower: I can call spirits from the vasty deep.

Hotspur: Why, so can I, or so can any man;
But will they come when you do call for them?

The real question is, does anything happen as a result of talking to a mountain?

Belgian Priest Doesn’t Think Pedophile Priests Should Necessarily Be Punished

André-Joseph Léonard, the head of the Catholic church in Belgium, granted an interview to RTBF, in which he said (French article, English article) that seeking punishment against old child-abusing priests just vindictiveness:

Priests who abused children in their care, he told RTBF television, “must obviously be conscious of what happened in their lives, but if they’re no longer working, if they have no responsibilities, I’m not sure that exercising a sort of vengeance that will have no concrete result is humane.

Asked whether it was a good thing to punish abusers, he said “If they’re still active, certainly.

But do they (the victims) really want an 85-year-old priest, all of a sudden, pilloried in public?

Yes, pity the poor priest who fucked some kids up forty years ago and is now just a few years from retirement or death. Once his organization stopped being able to cover up for him, he found himself thrust into the spotlight. Isn’t he the real victim here, and not the people he raped all those years ago?

I wonder if M. Léonard is in favor of a statute of limitations for all child-abusers, or just those in his club.

The archbishop caused an uproar earlier this month when he said AIDS was “a sort of intrinsic justice.

On second thought, I don’t care what this clueless clown has to say on any topic relating to justice.

Want to Restore Sanity? Join the Club

Do you want to restore sanity and rationality to political discourse? Sure, we all do!

But do you also want to promote sanity and rationality in general? Then you should join the Washington Coalition of Reason this Saturday on the National Mall as they participate in the Rally to Restore Reason.

Look for the #unitedcor hashtag on Twitter.

Oh, and the guys from the American Freethought podcast will be there as well. They’ll also be announcing their location on Twitter, so find out where they are, then stop by and say hi.


I was approached over lunch by a couple of student fundies trying to convert me to Christianity.

They started with a slow buildup about whether matter and energy are all that exist, or whether it’s possible that the supernatural exists. I asked them to define “supernatural”, since as far as I can tell, that word simply means “magic”. They said “something beyond the natural world”. I asked them to explain what that means, exactly, but they just sort of floundered around.

Here’s a hint: if you can’t explain what it is that you believe in, how can you hope to convince someone else that it exists?

They went on to say that relative morality is bad because you can’t say that genocide is bad. In order to denounce someone like Hitler, apparently you need absolute morality. I asked them for specifics, and they said that rape and theft, or telling someone to do these things, are absolutely wrong. So naturally asked whether, when (on God’s orders, presumably), or when Jesus told his disciples to steal a horse, that was immoral.

Ah, but it’s okay when God does it. So I guess absolute morality is kinda relative.

But that’s okay, because only Christianity provides a framework with which to make sense of things like morality. I asked how they thought non-Christians manage to do it. One of the fundies said that “Well, when you look at things like morality, you’re doing it within your own mental framework.” So I guess Christianity is the only system in which things make sense, aside from all the others.

I made the obvious rebuttal: that they were arguing that belief in a god is useful, not that it’s correct. To which they said that no, they also think that God exists. So I asked what method they use to determine what’s true and what isn’t. The same guy said that they believe the Bible: if it’s in the Bible, it’s true.

Leaving aside the circular reasoning of this approach (which he conceded), I asked whether this approach was reliable, i.e., if “it says so in the Bible” leads you to believe that X is true, is it a safe bet that X is, in fact, objectively true. So naturally I had to ask about cockatrices and unicorns in the Bible, and whether bats are fowl. I actually showed them this last passage, and they mumbled something about how different translations use different words (FYI, the NIV says “birds”; so does the NASB and NKJV). So evidently what the Bible says is always true, except when it’s not.

I would have gone on, but my lunch hour was up and I had to leave. Ah, well. Maybe next time.

Pre-Compressing Web Content

This was definitely a “D’oh!” type of problem.

One thing I’d been meaning to figure out for a while was how to send gzip-compressed files to a browser. That is, if I have a large HTML file, it’d be nice if the server could compress it to save bandwith and transmission time. Yes, Apache has mod_deflate which takes foo.html and gzips it on the fly, setting all the appropriate HTTP headers. But for static content, I should just be able to compress the file in advance. If the browser asked for foo.html, I wanted Apache to see that there’s a foo.html.gz and send that instead, with headers saying that it’s a text/html file that happens to be compressed.

mod_mime seemed like just the thing: just add

AddEncoding x-gzip .gz

to .htaccess. But every time I did that, Apache sent back “Content-Type: application/x-gzip“, so my browser treated it as a random file of unknown type that happened to be compressed.

Then I noticed that my vanilla-ish site-wide Apache config had

AddType application/x-gzip .gz .tgz

so that when Apache saw foo.html.gz, it ignored the .html extension, and saw only the .gz one.

The fix was to add RemoveType to my .htaccess:

RemoveType .gz
AddEncoding x-gzip .gz

And voilà! .gz stops being a file type and becomes an encoding, allowing .html to shine through.

I’ll add that this plays nice with AddLanguage as well. In my test setup, I have foo.html.en.gz, for which Apache returns the headers

Content-Type: text/html
Content-Encoding: x-gzip
Content-Language: en

I.e., it’s an HTML file, it’s gzip-encoded, and it’s in English.

Just as importantly, this works with other file types (e.g., CSS files and JavaScript scripts), and XMLHttpRequest does the Right Thing with them on all of the browsers I care about.

The Science Game

At the end of Wednesday’s meeting of the UMD Society of Inquiry, the local student skeptic group, I conducted a psychological experiment on those attendees who didn’t need to rush off for other appointments.

It was a variation on the game of Twenty Questions. But instead of a person or thing, I’d think of a rule or category, which the players had to guess. And instead of trying to guess directly what category I had in mind, the players would call out a specific example, and I’d tell them whether it was in the category I was thinking of. Actually, I asked them to name both the category they were thinking of, and a specific example; but I’d only tell them whether the specific example fit my category, not whether the category they were thinking of was correct.

For example, I might think of the category “types of cake”. A player might say, “the category is vegetables, and the example is carrot“. I would then say yes, because carrot cake is a type of cake. The next player knows that “carrot” matches the rule, and might say “orange things, and the example is red hair”. To which I’d say no, because there’s no such thing as red hair cake.
Read More

YEC on Campus

A Baptist group on campus invited G. Charles Jackson of the Creation Truth Foundation, a young-earth creationist ministry, to give a talk. So naturally I had to attend.

Unfortunately, my recorder’s batteries died during the pre-talk service, so I wasn’t able to record the event. But I tried to take notes.

The short version is that if you’ve seen Kent Hovind, or Ken Ham, or Ray Comfort, or any of their colleagues on the young-earth anti-evolution circuit, then you’ve seen G. Charles Jackson. He had the claims of having degrees. He had the cartoony misrepresention of evolutionary arguments. He had the mined quotes, and the ancient references. Okay, that’s not entirely fair, since he had a few arguments that I don’t remember seeing elsewhere. But still, nothing earth-shattering.

Have you ever gone to a concert by a band that used to be big, but is still touring, like Styx or Journey or Def Leppard? One of those that haven’t released an album in fifteen years (aside from direct-to-remainder-bin “Greatest Hits” compilations) and whose only attraction is nostalgia; playing to small venues full of people who used to like them in their heyday. But they keep touring and playing those old hits because it’s all they’ve got.

I got a similar vibe from Jackson. His entire schtick would have been right at home in circa 1992. Except that he’s younger than the Hovinds and Wiel, so maybe he’s more of a tribute band than an aging rocker. If you’re the sort of person who’d rather see a local stage production of a play than to watch a Broadway cast performing the same play on video, then you might enjoy going to see Jackson, rather than watching a Kent Hovind or Ray Comfort video.
Read More

Evil Hack of the Day

MacOS plist XML files are evil; even more so than regular XML. For instance, my iTunes library file consists mostly of entries like:

	<key>Track ID</key><integer>5436</integer>
	<key>Name</key><string>Getting Better</string>
	<key>Artist</key><string>The Beatles</string>
	<key>Composer</key><string>Paul McCartney/John Lennon</string>
	<key>Album</key><string>Sgt. Pepper's Lonely Hearts Club Band</string>

You’ll notice that there’s no connection between a key and its value, other than proximity. There’s no real indication that these are fields in a data record, and unlike most XML files, you have to consider the position of each element compared to its neighbors. It’s almost as if someone took a file of the form

Track_ID = 5436
Name = "Getting Better"
Artist = "The Beatles"
Coposer = "Paul McCartney/John Lennon"

and, when told to convert it to XML in the name of buzzword-compliance, did a simple and quarter-assed search and replace.

But of course, what was fucked up by (lossless) text substitution can be unfucked by text substitution. And what’s the buzzword-compliant tool for doing text substitution on XML, even crappy XML? XSLT, of course. The template language that combines the power of sed with the terseness of COBOL.

So I hacked up an XSLT template to convert my iTunes library into a file that can be required in a Perl script. Feel free to use it in good or ill health. If you spring it on unsuspecting developers, please send me a photo of their reaction.