I say I think, because I'm not sure how to test it. At first I thought I could just steal John's own tests and slap them into Ruby's Test::Unit module or something.
But then I realized....there *aren't any tests*! I'm not upset or anything (that would make me a blithering hypocrite, if nothing else), but I *am* surprised.
I'm surprised because it seems like for a module of this complexity there would be a lot of room for little errors, especially with all of the specific hex values you have to use. There must have been quite a bit of trial and error, then.