Movie Review: The Lion, The Witch, and The Wardrobe

Last night Sarah and I went out with Jill & Leonard Harris to go see The Chronoicles of Narnia: The Lion, The Witch, and The Wardrobe, based on the book by C. S. Lewis. I think the last time that I read the book I was in 5th grade, but I still had a fair number of specific memories about what happens in the book. Based on my recollection of the book I think they did a pretty good job of sticking to the story, with only a few minor specifics left out.

If you’ve never gone through the mental exercise of comparing the book to Christianity then definitely do so after seeing the movie. I won’t go through the details here for those of you who haven’t read the book or seen the movie yet because I don’t want to spoil it for you. I will give you a hint though, compare the themes of the book to those in the four gospels in the New Testament (Matthew, Mark, Luke and John).

There are six other books in The Chronicles of Narnia, each of which I’d read but don’t remember as much as I did this one. I hope that they make movies out of the others at the same level as the first. There would be some question as to what order to make them in though. When I read the books The Lion, The Witch and The Wardrobe was the first one in the series. Looking at Amazon, now The Magician’s Nephew is the first instead. This makes sense chronologically since The Magician’s Nephew explains events that happen before The Lion, The Witch and The Wardrobe. Fortunately someone has already taken on this question: What Order Should I Read the Narnia Books in(And Does It Matter?).

I’m obviously biased towards the published order since that was the way that I read them as a child. I can see some merit to reading them in chronological order for the sake of learning about the events in the right order. However I think the joy of surprise and discovery by reading the book in the original order are more interesting. To that end I recommend reading the books in the following (original published) order:

1. The Lion, the Witch and the Wardrobe (1950)
2. Prince Caspian(1951)
3. The Voyage of the Dawn Treader (1952)
4. The Silver Chair (1953)
5. The Horse and His Boy (1954)
6. The Magicians Nephew(1955)
7. The Last Battle (1956)

Even though I read this book as a kid, I wouldn’t recommend bringing small children to this movie. The concluding battle at the end scene is a little rough, although no where near the level of The Lord of the Rings.

I give this movie 4 out of 5 stars.

Rhyll

This blog and domain have served me well over the years (if you don’t count the spam). In the last year though I’ve been looking to host a domain where I could pull together various little ideas and projects in a focused way. Having some time off during the holidays, I figured it was time to start getting this project off the ground. The home for these projects is Rhyll.com. To start things off I’ve made available one service, text messaging, which allows you to send free text messages as long as you know the phone number and service provider for the mobile device your are sending the message to.

I’ve got plans for adding more services, code and features through out 2006. There are some big changes to my schedule happening in the first half of new year, so I don’t have a firm time table. I’ll likely be announcing major changes and additions to this blog, for now.

Yahoo Buys Del.icio.us

So now Yahoo has purchased Del.icio.us. There aren’t many details in the announcement, so we’ll have to wait and see where this goes. Hopefully this goes better than the purchase of Blo.gs, which has been up and down since their buyout. The Blo.gs home page has been down for the last few days, with a note indicating that it should be back up in a few days (as of 7 Dec 2005).

Although some people were pretty ticked off with having to merge their Yahoo and Flickr accounts after Flickr was bought out, for the most part it seems to have been operating well since then. I’m sure everyone will be wondering if they same sort of account merger will happen, especially given Yahoo’s My Web 2.0 service. Will they try to merge everything into My Web 2.0?

I suspect that the growth of Del.icio.us made this move a given. Without more money and resources it would be difficult to continue operations with the type of growth they’ve seen.

Okay Yahoo, this is another change to will people over, by not screwing this up. Loyal customers aren’t made when you sell them something, they are made when you fix things that are broken.

UPDATE 12:20pm 9 Dec 2005: Yahoo also has an announcement of the purchase on their blog.

MySQL to PostgreSQL and UUID/GUIDs

(Warning, I tend to use UUID instead of GUID. For purposes of this post consider them interchangeable.)

I’ve already mentioned the announcement of FeedLounge making the move from MySQL to PostgreSQL last month, but the discussion is still on going. If you haven’t yet, go read all of the comments on the announcement. This has to be some of the most productive and level headed (no flames yet) set of blog comments I’ve seen in a long time. For those of you who are coming late to this story let me bring you up to speed:

FeedLounge started with MySQL as their database, with the MyISAM table types. They ran into problems and so moved to the InnoDB table type in MySQL. Still not completely happy they did more research and decided to try out PostgreSQL for their database needs. Their tests showed that MySQL InnoDB database was 34GB, in PostgreSQL it was 9.6GB. Restores in MySQL took more than 24 hours, in PostgreSQL it was less than 5 hours. These numbers resulted in better performance and reduced time.

It has been more than two weeks since the initial announcement and there are still new comments being added. As of this morning there are 34 35 comments. Some of the comments have come from people who are very knowledgable about MySQL and the size of InnoDB indexes became the focus for why InnoDB was so much bigger than PostgreSQL. Using InnoDB with UUIDs as the primary key was identified as a problem, especially in the area of performance.

Things continued to get more interesting when Heikki Tuuri (the creator of InnoDB) left a comment confirming the size problems in InnoDB when using a UUID as a primary key. It seems that using a UUID in this way causes a couple of problems, the first being that InnoDB wants to keep things in index order, which is great for indexes on sequential numbers but bad for seemingly random data (PostgreSQL can do the same thing with cluster). The next problem is that secondary indexes in the same table get copies of the primary key index to making finding things faster. This, at least in part, was what caused the size difference.

Heikki’s solution (and others have mentioned this) is to use an auto_increment field as the primary key and create a unique secondary index on the UUID field. This would make the primary key index size much smaller and still allow InnoDB to do index lookups on the UUID field. That would seem to solve the problem, but there hasn’t been any feedback yet to confirm if it fixed all of the differences between InnoDB and PostgreSQL.

There is something about having to add an extra field to my table to make the database perform better that doesn’t seem quite right though. I don’t have anything concrete that I can point to showing that this isn’t a good idea, but it doesn’t feel right. For those who are running into these same types of problems though, it might be something to try, at least until you get a chance to try out PostgreSQL.

Remembering To Document Everything

Although I haven’t used it yet, I’ve been watching Akismet with interest. Their goal is to fight comment and trackback spam, free for personal use and a fee for commercial use. When Matt first announced this service I downloaded the WordPress Plugin just to look through the code to see what the API looked like.

My interest was rekindled with the announcement of API docs for Akismet. The API is pretty simple (good) and called via REST. Then I wandered over to their Spam Stopper email list to see what sort items were being discussed. One of the first emails I came across had a reasonable question:

The API documentation says of the comment-check function :

“This call returns either “true” or “false” as the body content.”

I have been assuming that “false” means the comment *is* spam – is this correct ?

I thought this was kind of odd, so I went back and checked the docs again. Sure enough that was all the docs said about return values for comment-check. Matt provided a quick reply though:

That would be the problem. :)

True = this is spam
False = this is not spam

So the lesson learned here is to remember to document everything when it comes to your API. This reminds me a something I read somewhere: don’t write so that you can be understood, write so that you can’t be missunderstood.

None of this is meant as a strike against Matt, anything that helps reduce the amount spam going around is a good thing. The docs were also listed as a first draft, so I’m sure they will get additional refinement as time goes on.

So Long OS/2, I Will Miss You

Sarah and I spent the morning going through some of the boxes in garage, cleaning and looking for Christmas decorations. We came across some boxes with some of my old books and software, including my old copy of OS/2 Warp and couple of very large OS/2 books. I had a rush of memories about running it on my desktop in the mid 1990s.

I still have many great memories of OS/2, despite the sometimes minimal hardware support (especially for video cards). The Workplace Shell (WPS) was a GUI well ahead of it’s time and it many ways it still is. Most things in WPS were treated as objects, so customizing them usually involved tweaking attributes for that specific object in the shell. Imagine being able to sent a different color or background image for every folder you were viewing in your GUI. This was simple in WPS because those were just attributes of each folder object.

Running OS/2 during a semester of Assembly was a life saver. You could fire up as many instances of DOS as you needed and kill them off just as easily. That was a much better option than having to reboot your PC because your Assembly program poked and prodded some where it shouldn’t have.

After looking at my OS/2 box and books after few minutes they went into the trash and recycling piles.

So long OS/2, I’ll miss you.