# I'm a lucky geek

So today’s my thirteenth wedding anniversary. And what did my lovely wife buy me as a present?

Yes, a Klein bottle coffee mug.
Does she know me well, or what?

# The Strangeness of Choice: the Banach-Tarski Paradox

Today, I’m going to try to show you an example of why the axiom makes so many people so uncomfortable. When you get down to the blood and guts of what it means, it implies some *very* strange things. What I’m going to do today is tell you about one of those: the Banach-Tarski paradox, in which you can create two spheres of size S out of one sphere of size S cutting the single sphere into pieces, and then gluing those pieces back together. Volume from nowhere, and your spheres for free!

# Dembski notices GM/BM, and he's not happy!

Apparently William Dembski, over at Uncommon Descent is *not* happy with my review of
Behe’s new book
. He pulls out a rather pathetic bit of faux outrage: “Are there any anti-ID writings that the Panda’s Thumb won’t endorse?”
The outrage really comes off badly. But what’s Debski and his trained attack dog DaveScott try to smear me for my alleged lack of adequate credentials to judge the math of Behe’s argument.

# The ABCs of Good Math

The 9th Carnival of Mathematics is live at JD2718, in a cleverly alphabetical form.

# FPP: No you cant haz yr LOLCODE: Sortle Instead

All week, I’ve been buried by a wave of requests to write about LOLCODE today. Normally, I do try to honor requests from readers, but from the time I started my friday pathological languages, I’ve always tried to stick to languages that actually had *something* interesting about their semantics. LOLCODE is funny because of its goofy grammar; but it’s really incredibly dull semantically. And while there are lots of programs written in it,
there’s no implementation (at least not yet).
Anyway, what I decided to do instead is a twistedly beautiful language called [Sortle][sortle]. Sortle is a very simple language which is based on insertion sort. The basic idea of how it works is: it takes the lines of the program, and sorts them. Then it executes them; when a line is executing, it can modify itself; when it gets modified, the interpreter re-sorts the line into its correct position in the sorted order according to its new value. So control flow is completely driven by the sort-order of the lines of the program.