OK, NOW the iPhone is cool.

John M McIntosh announced on the squeak-dev mailing list that “I’m pleased to say that I’m one of the 1.5% of the iPhone developer population that has been accepted to officially build applications for distribution via Apple’s iPhone Application Store.”

He’s prepared a 93-day plan to build a new fully documented Objective C based source tree to host the Squeak VM on the iPhone and in addition as a 64bit VM on OS-X. He’s already collaborating with Impara who are looking at adapting the Squeak UI to the iPhone’s multi-touch paradigm and platform widgets, and is looking for further support (and funding) for this work.

John is also looking to offer support for Squeak developers hoping to make their applications available through the iPhone Store, although he notes that Apple has a number of restrictions limiting the types of applications that can be made available in this way.

[From Squeak on the iPhone! « The Weekly Squeak]

I love Smalltalk, specifically Squeak. I don’t actually use it for much, I have just enough experience playing around with it to see what is so sweet about it, but not enough to be really effective with it. Smalltalk on the iPhone? Now that’s cool.

Caspian Seen

A couple weeks ago I went to see Prince Caspian. It was a pretty good movie, but I didn’t remember reading anything vaguely resembling the stuff in the movie, in the book. But it’s been many years since I read the book, so I thought it might just be my poor memory. I wanted to go back and read the book again and see what was different.

Mark “Zompist” Rosenfelder did that for me, and I guess I was right, the movie doesn’t really resemble the book very closely at all. He does conclude, and this was my feeling too, that Reepicheep was still quite awesome in the movie, and that there were a lot of little good bits in a whole that didn’t make much sense or follow the book closely at all.

It’s OK for a movie to deviate wildly from a book, if the movie isn’t supposed to be the definitive movie version of a book, the one promoted and supported by the author’s literary heirs… Well, you can’t really trust literary heirs. Look what they did with Lewis: on the strength of an offhand remark in one of Lewis’s letters, they’ve rearranged the books in collections so that The Magician’s Nephew comes before The Lion, The Witch, and The Wardrobe, which is unbelievably stupid. Nephew is written specifically for readers who’ve already read Lion, and half the fun of the book is in seeing how all the things taken for granted in the first book might have had a reason for existing, in stories untold at the time.

Never trust a literary estate. An author’s works should be their own caretaker. Having a bunch of financially interested relatives hovering over the words as self-appointed guardians and interpreters is too… well… it becomes almost an ecclesiastical rather than literary situation, in the worst senses of “ecclesiastical.”

Dawn Treader, my favorite book in the Chronicles, is next… In the words of Brian Posehn, “Go ahead! Ruin it up!”

Mail AppleScript-ing Project

I have a folder full of old mail in Apple’s Mail application. It’s gigantic. About 70,000 messages. Most of them are duplicates, because it’s the result of finding old folder of mail upon old folder of mail and merging them together into one great hoard. The actual number of real distinct messages is probably a smallish fraction of 70,000.

What’s worse, some of the 70,000 are blank. In an inept attempt at writing a Python script to clean up a similar uber-mail-folder in the past, I somehow took a lot of old mail and destroyed the body of the emails, leaving the headers intact. So my gigantic folder includes many duplicates, but some of the duplicates aren’t real duplicates because they have missing bodies.

I want to somehow eliminate all the duplicate messages, and there are scripts to do that in Apple Mail. The only one that I would have trusted not to accidentally kill a real message and keep the one without a body, chokes and fails on a folder that large. (It also choked and failed on a smaller folder. Maybe something changed in Leopard that breaks that script.)

So I wanted to go through and destroy all the messages which have blank bodies — they’re no use to me and they make it dangerous to get rid of duplicate messages. I tried exporting everything to a mbox-format file, and use some of Python’s nice mailbox-manipulation libraries, but the file was insanely large, and Python on my macbook staggered under its weight. (Besides, my use of Python caused this problem, a while back…)

So eventually I turned to AppleScript. (I first tried using rb-appscript, but it turns out I don’t need any special Rubyness for this, and it’s easier to learn from examples of AppleScript on the web if I don’t have to translate them into Ruby before I use them.)

I wrote a script in Apple’s Script Editor called “Winnower.” It takes messages in a folder called “doing” and sorts them into two folders, “blank” and “done,” depending on whether there’s any content in the body or attachments on the mail. I put a few thousand messages at a time into the “doing” folder and then run the script. (The full weight of the 70,000+ message folder was too much for this script too.)

It looks like this:

tell application “Mail”

set doingbox to mailbox “doing”

set blankbox to mailbox “blank”

set donebox to mailbox “done”

set doingmessages to messages of doingbox

repeat with thisMessage in doingmessages

ignoring white space

if mail attachments of thisMessage is {} and content of thisMessage is equal to “” then

move thisMessage to blankbox


move thisMessage to donebox

end if

end ignoring

end repeat

end tell

Obama’s In Control: No More Lobbyist Contributions To Democratic Party

That’s what I’m talkin’ bout.

It’s been less than two days since he crossed the delegate threshold to become the Democratic presidential nominee and Sen. Barack Obama’s mark on the party is already being felt.

On Good Morning America Thursday, ABC News’ Chief Washington Correspondent George Stephanopoulos reported “the Democratic National Committee will no longer accept contributions from federal lobbyists, will no longer take contributions from PACs” in keeping with Obama’s well-publicized policy.

[From Obama’s In Control: No More Lobbyist Contributions To Democratic Party – Politics on The Huffington Post]

I don’t actually think that policy is very well-publicized. I hope it gets more so.

GOP blames Democrats for break-in; police find no political motive

GRAND RAPIDS — Kent County Republicans continue to claim a recent break-in at their Grand Rapids headquarters was politically motivated

And one party leader publicly blamed unnamed Democrats in a mass e-mail sent to supporters.

“We knew the Democrats would do anything to win, but we didn’t expect this!” wrote Kent GOP Chair Dave Dishaw in a note asking for money to help cover “costs” and support candidates. […]

Moore also said he received threatening phone calls two weeks ago when Democratic presidential candidate Sen. Barack Obama held a rally in Grand Rapids, though he did not report them to police.

[From GOP blames Democrats for break-in; police find no political motive – Latest News – The Grand Rapids Press – MLive.com]

I guess Mr. Dishaw thinks that G. Gordon Liddy has defected to the Democrats…

I imagine that there are a lot of people on his mailing lists which will eat that fundraising letter right up.