Posts for January 2006

2006-01-01: haven down again

Well, haven's down again. I'm guessing CPU fan at this point, since it was apparently powered off which makes me think thermal shutdown. I'll have to deal with it when I get back. Hopefully nothing will be hurt by queuing for a few days.

Now I have to figure out how to replace a CPU fan, something that I haven't had a great deal of luck with in the past.

2006-01-01: kstart 2.9

That ended up being a rather fun way to spend the day, although Kerberos portability is always even harder than I expect it to be. But I now have a good Autoconf macro that can uses krb5-config where appropriate, can handle both static builds and reduced dependencies for builds for Linux distributions, supports MIT Kerberos and Heimdal, supports KTH Kerberos for krb4, and supports libraries for gssapi, krb5, or krb4. I can now use that macro for all the Kerberos packages that I maintain, which should save some time.

I really need to write up a web page about how to port Kerberos applications between MIT and Heimdal and across the various versions of both. Other people would probably find this useful.

Anyway, all that's now in the latest kstart, and while I was in there and fixing a few other portability issues, I also ported the setpag support to the kafs library so Heimdal folks can be even happier. Plus, now k5start always uses krb5_err and krb5_warn for Heimdal (and has substitutes when using MIT), which means the error messages will be better and it doesn't call any internal functions.

You will be able to get the latest version from the kstart distribution page once haven is back up. In the meantime, the source tarball can be downloaded from my software archive.

2006-01-01: remctl 1.12

In testing, Quanah tracked down a problem with initializing memory when parsing the configuration file in remctld. I've also updated the Kerberos library probe macros to the version I just finished for kstart, which among other things should fix --enable-static builds when a krb5-config is available.

You will be able to get the latest version from remctl distribution page when haven is back up. In the meantime, you can download the source tarball from my software archive.

2006-01-01: svnlog 1.10

While doing other things, I noticed that svnlog wasn't reporting property changes on directories correctly in the summary. This release fixes that; that's the only change.

You will be able to get the latest version from the svnlog distribution page once haven is back up. In the meantime, you can download it from my software archive. I've also updated the deb packages in my personal repository for both unstable and stable.

2006-01-02: Sneaky productivity

Well, I was going to write a summary of the last year's reading and write another review this weekend, but while trying to keep myself busy and stop worrying about my computer and what I'll have to do to fix it when I get back home, I ended up pushing myself into another weekend of productivity. I think I'm going to see about taking it slow after I get back, particularly if the productivity streak fades.

Today, I decided to start working on what's required for the next WebAuth release. The main thing I want to do that's still undone is to update the WebAuth protocol documentation, and I didn't really want to maintain it in the HTML that Roland originally wrote it in. I've also been wanting to learn RFC 2629 XML for writing protocol specifications. So that's what I did today.

2000 lines of XML later, the protocol document has had a thorough editing job, various bits have been clarified and improved, and I've updated it in a few places where things have changed. I'm rather happy with the results; the HTML is a little strange in places, but overall it looks better, and now it's easier to edit and I can produce a text form as well. Plus, should we ever want to submit an I-D, this will make it much easier (although the specification would still require a lot of work to get it in shape for that).

The one thing that absolutely drives me nuts about xml2rfc is that it doesn't do hanging indent paragraphs (HTML description lists) properly. It always puts the first line of the paragraph on the same line as the tag, with just some whitespace between it and the tag. This looks horrible. I finally just added <vspace> tags at the beginning of every single element in such lists to make it look halfway decent in text.

Other than that, the format is fairly intuitive and works quite well while still being minimal. I approve.

Tomorrow, I travel. Then I fix my computer, which hopefully will be painless. Then I'll be much more relaxed, and I can finish a few more WebAuth changes and release 3.4.0. Then S/Ident and kftgt releases, and I'll have the decks clear to start the work on the new remctl protocol.

2006-01-03: haven back up

haven (and therefore should now be back up. I'm pretty sure that I was right about diagnosing thermal shutdown from a failing CPU fan, as the fan was making grinding noises and only spinning at 3500rpm. It's now been replaced with a much larger and much nicer fan that's spinning happily away at 4560rpm and which has the CPU 4C cooler when idling.

It'll be a couple of days before I'm confident that this was the problem and the problem was fixed, since it ran for a while before shutting down before, but I'm hopeful.

The train trip back home was one of the best trips I've had -- good book, good music, no problems, fast journey, and I even caught the shuttle just right at the end of it. And since I spent most of the vacation working, I don't even have much catching up to do.

I'm still going to write something about the last year in reading, but maybe not tonight. It's been a bit of a long day.

2006-01-03: Post-vacation haul

After reading various reviews and hearing lots of recommendations, as well as an excellent article in Locus, I've been thinking about catching up on some of the less-known classics of the SF field, writers who don't get as many reprints but who are fondly thought of. NESFA has been doing a good job of reprinting several of those authors, so this is the first of what will probably be several orders from their catalog.

Charles L. Harness -- An Ornament to His Profession (sff)
Robert Sheckley -- Dimensions of Sheckley (sff)
Cordwainer Smith -- The Rediscovery of Man (sff)

These are all collections, the Sheckley of short novels and the others of short stories. They're all substantial hardcover volumes. Now I just have to find time to read them.

Currently reading: Faster by James Gleick and Incubus Dreams by Laurell K. Hamilton. I've finished Accelerando by Charles Stross and need to write a review. (Short version: good stuff, but Lady of Mazes was better.)

2006-01-04: WebAuth and SPNEGO

I think this is done. It required some additional work to get the weblogin script to run as an error handler and still have all the right pieces to work properly, but now I have a weblogin script that tries to authenticate the user with SPNEGO first and falls back on username and password if that fails.

Now I just have to decide how much more work I want to do before I release the new version of WebAuth. I at least want to fix the Kerberos library probes to use my current work on other packages, and I need to write up new documentation on how to configure WebAuth to work with SPNEGO.

What I'm not sure about is whether I'm going to try to improve the audit logging from mod_webkdc, and try to improve the documentation even more. There's always more to do, and at some point I have to stop and release it and go to work on other things.

Alas, no book stuff tonight either. Too busy catching up with work, sending out long mail, getting started on an exercise regimen again, and doing the grocery shopping.

2006-01-05: remctl and WebAuth today

Well, no book joy for you all today either, alas. Tonight was ping pong instead of doing other things. But between meetings today I did get the new remctl protocol specification mostly written (just in an e-mail for now; I still need to write the actual XML specification), and I started redoing the configure system for WebAuth to take advantage of the new Kerberos library probes I've worked out.

The tricky part about WebAuth is that it has a ton of library dependencies and the configure system is set up to only link the required components with the right libraries. That means I can't just dump everything into CPPFLAGS, LDFLAGS, and LIBS, which means I couldn't use the new Autoconf macros verbatim. I currently have something based on them but stripped down, but now I'm thinking whether I want to make the new Autoconf macros even smarter. I could, and give them an option to set a different set of variables than the default ones, but I'm not sure it's worth the additional complexity. What I have now for WebAuth should work.

Finishing this, finishing --enable-reduced-depends for Debian, testing it, updating the XML protocol documentation one more time, writing documentation on how to configure SPNEGO, and rolling the user authentication documentation into the mod_webauth and mod_webauthldap manuals is my minimum set of things I want to do for the next release. I'm considering also trying to kill the remaining compiler warnings, but we'll see.

Tomorrow, I should do a bit of AFS work. This weekend, I want to do a bit of Debian work.

Now, I'm going off to read some more.

2006-01-06: 2005 in books

Finally, here's the summary of reading for 2005.

Books read: 101
Total pages: 36,369
Average rating: 6.75
Pages per day: 99.7
Days per book: 3.61

I read seven more books this year than last year, and about 2,000 more pages. Other than that, 2005's reading looked very much like 2004 in quantity and pace. I'm almost at 100 pages a day. I think I'm going to keep aiming for 100 books a year; this seems to be a comfortable pace. (Although there are many more graphic novels that I want to read, and if I end up reading quite a few of those, that will increase the book count.)

The biggest accomplishment for the year was finishing reading all of the Hugo award winners for best novel. I think that may be why my average book rating is slightly down from last year; I pushed through reading some books that I wasn't as fond of. I'm not sure if I'm going to finish off another award series this year, but I might; the Nebulas or the Tiptrees are possibilities.

The best book I read last year was Lady of Mazes by Karl Schroeder, which is one of the best hard SF novels I've ever read. A close second is Vellum by Hal Duncan, an amazing debut novel and one that pulls off some techniques that should have made me hate the book and instead made me love it. Other notable and recommended books read last year are Thomas the Rhymer (Ellen Kushner), The Last Light of the Sun (Guy Gavriel Kay), Only Forward (Michael Marshall Smith), The Player of Games (Iain M. Banks), and Anansi Boys (Neil Gaiman). The mainstream novel find of the year was The Dogs of Babel by Carolyn Parkhurst, although I didn't read much mainstream. The non-fiction find was David Langford, whose collections of essays and reviews are very much worth reading.

Nearly all my reading this year, 83 books, was SF. Of those, 11 were recently published notable books and another 51 were genre classics of one variety or other (mostly award winners of some kind). I read 7 non-SF novels or short-story collections, 3 graphic novels, and 8 non-fiction books (3 of which were book review collections or writing about SF). As much as I like making my way through the award winners, I'd like to change that balance a little, reading more non-fiction and more non-SF (and probably more graphic novels as well).

2006-01-07: Slow Saturday

So, I mostly did nothing today. Not that this is a problem, since it's the weekend, but still, it ended up being a very quiet day. The only thing that's solidly in the accomplishment department is that I went and got my mail and then sorted through several large stacks of low-priority mail from which bills and such had previously been removed. Lots went into the recycling.

I have a ton of fairly nice magazines that I'm never going to read, mostly environmentalist magazines of one variety or another, that I need to do something with. I could just throw them away, but I hate to do that if someone else might enjoy them. I think I'm going to try to find somewhere on campus to drop them off and let other people pick them up if they want them, near a recycling can so that people can throw them away if no one wants them.

I did get one more book in the mail:

Nalo Hopkinson -- The Salt Roads (sff)

Hopkinson was selling copies of her books to fund a new computer, and I wanted this one to read at some point anyway, so I jumped at the opportunity.

Thankfully, my sore neck from this morning is now much better. I must have slept on it wrong. I need to get back to doing back and neck exercises.

2006-01-08: Accelerando

Review: Accelerando, by Charles Stross

Publisher: Ace
Copyright: July 2005
ISBN: 0-441-01284-1
Pages: 390

If you've been reading current science fiction, and particularly if you've been reading the discussion around current science fiction, you've probably heard of the concept of the Singularity. If you haven't, briefly, it's the idea that technological development is an exponential curve, which means that technological change will keep getting faster and faster until it vertically spikes. This is the Singularity, since beyond this point whatever exists afterwards will probably be incomprehensible to those of us who live on this side of the spike.

The Singularity is an interesting idea in future extrapolation. It's a difficult idea, however, for fiction. The author is postulating inhabitants of their fictional world that the reader is, by definition, incapable of understanding. Even more challenging, it's a science fiction setting that's indescribable. Normally, science fiction thrives on description, extrapolation, and explanation, but since the Singularity is incomprehensible, there is no hope of a pay-off through final explanation of the world after it. Fantasy deals with this sort of situation routinely, but usually relies on mythic resonance and poetic justice to help the reader understand creatures and situations that may not have a literal explanation. It's hard to apply those techniques to science fiction and not have it end up feeling like Star Wars.

In this fixup novel of nine short stories previously published in Asimov's, Charles Stross tackles writing about the Singularity head-on, runs into many of these problems, and only partly overcomes them. He does steadfastly avoid going mythical with the story and keeps Accelerando in the realm of relatively hard science fiction the whole way, which wins points for effort. On the other hand, he dodges writing about the Singularity directly, taking the same route Vinge did in Marooned in Real Time and writing about the people who were left out of the Singularity for one reason or another. The result is a lot of fun in places, a great speculative romp, but also unsatisfying.

This is not the sort of fixup that feels like it naturally could have been a novel. It's very obvious that each chapter of this book was originally a separate short story; I've not read the original stories, and I'm sure they've been integrated somewhat, but Accelerando is more a collection of tightly linked short stories than a single story. This has some advantages: the novel as a whole retains the much faster pace of short story fiction. The ideas and speculation come fast and fierce, and Stross knows computers, information theory, and science well enough to write some engaging speculation. He also doesn't think small: computer-assisted thought, ubiquitous AIs, uploading of human and non-human personalities, post-Singularity economics, runaway intelligent corporations, interstellar travel in a tiny probe, multiple copies of the same person, and alien civilizations fill this book at short story density. It's a wild ride, but characterization suffers. Stross does three generations in less than 400 pages, and while some of the characters are interesting and likeable, none of them get more than short story characterization; the supporting characters don't even get that.

The weakest part of this book is definitely the first three chapters. Manfred, a gift-economy inventor and contributor to the free patent foundation, has a variety of mostly meaningless adventures that serve primarily to illustrate a slowly increasing rate of technological change and introduce the reader to computer-assisted cognition. Manfred isn't a bad character, but his life is driven by disfunctional and not particularly interesting romantic relationships and some of the plot devices are a little too blatant. (For example, given the personal identification technology that's clearly available, how could his cognitive assistance device be stolen and used by someone else that easily? It sets up a story that makes interesting points about identity, but the setup is hard to swallow.)

Thankfully, once the focus shifts to Manfred's daughter Amber, Accelerando becomes far more interesting. I enjoyed the middle section of the book the most by far, even if the resolutions still betray their short fiction origins with their abruptness. She's the most interesting and most fully-fleshed character of the book, and I was engrossed by her attempts to get free of her mother and her mission to a nearby router of a galactic network. Her chapters also have the best interactions with the AI Aineko (enigmatic post-Singularity AIs make excellent cats).

Unfortunately, the end of the book falls apart a little. The political struggles surrounding Amber's return aren't as engrossing, and I found the last chapter distinctly unsatisfying and burdened by an ending that made no emotional sense to me. Stross also sets up multiple mysteries that are directly related to the Singularity -- what the post-Singularity intelligences around the Sun are doing, where the alien router network came from, what's going on in the distant galaxy with its strange heat output -- all of which are left unresolved at the end of the book. This may just mean that sequels are coming, but one of the serious problems with the whole Singularity theory is that it's likely the answers to those questions should be incomprehensible to the reader. Unsatisfiable curiosity isn't a great ending note for this sort of book.

Many reviewers have raved about Accelerando, and it does do some things well. Amber is an excellent character, Stross's future speculation is genuinely interesting and hangs together well, and his style and the constant references to information theory and ubiquitous computing create the sense of alienation, of looking at the world in new and fresh ways, that characterizes radical technological change. Even with the roughness from being a fixup, it's a good bit of hard sf. Still, I think Stross's earlier Iron Sunrise was a better novel, despite being less ambitious. Accelerando also falls well short of the standard set by Karl Schroeder's exceptional Lady of Mazes, which contains less technological speculation but more philosophy, stronger characters, and a much more coherent story. Accelerando is still worth reading, and I expect it will garner a Hugo nomination, but both fixups and Singularity fiction are hard. Trying hard things is a hallmark of good writers, but even good writers aren't always successful.

Rating: 8 out of 10

2006-01-09: A catch-up day

I decided to take a break from all regular work today and instead devote the day to trying to dig out from under an e-mail backlog. I wasn't quite as successful as I was hoping, since I only got through work mail and not personal mail (much of which is actually work-related), but I did at least get that far. I also finished setting up the new system builds for all of networking's DNS and DNS-related servers, so that migration should be about ready to kick off.

I'm taking the next two Fridays off work to try to catch up on various non-work stuff, including reading, Debian work, INN work, and personal mail (what I don't manage to catch up on this week). Since we also get MLK day off, that will mean a nice four-day weekend this coming weekend.

One more book arrived in the mail today:

Samuel R. Delaney -- The Motion of Light in Water (non-fiction)

This is Delaney's autobiography, published by University of Minnesota Press. I bought it on impulse after seeing it mentioned on-line. So far, I've not been a huge fan of Delaney's fiction (although I've not read his best work), but I am a huge fan of his non-fiction writing. He had a recent article in NYRSF that was absolutely fascinating.

Also arriving in the mail today were my copy of Serenity (even if I wish for the season that wasn't, I still liked the movie well enough to own it) and the fifth season of West Wing. Yes, I still enjoyed it after Sorkin, even if it wasn't quite as good. Sorry to break ideological purity.

I have a book and a magazine finished and waiting for me to find the time to write reviews.

Currently reading: Faster by James Gleick, The Last Unicorn by Peter S. Beagle (fluff, but entertaining -- I'll probably finish it tonight).

2006-01-10: Pam Noles on SF diversity

Anyone who cares at all about diversity in the SF genre, who was upset about the Earthsea casting, or who didn't even understand what the issue about the Earthsea casting was really should read this essay by Pam Noles. (ETA in 2017: Sadly apparently no longer on-line.) Fantastic stuff, and the sort of thing that I was utterly oblivious to when I was growing up.

As Ursula Le Guin herself said, "I think it is possible that a good many readers never even notice what color the people in the story are. Don't notice, maybe don't care. Whites of course have the privilege of not caring, of being 'colorblind.' Nobody else does."

One of the most important things I've learned from reading alt.polyamory over the years is the concept of privilege, what it means to be privileged, and how the people who are often the most oblivious to questions of privileged are the people who have privilege since they can afford to ignore it. This essay ties into those same lessons. It is an extremely important concept, one that I think every person, and certainly every privileged person, needs to understand and internalize.

Thanks to Emerald City for the find and the link.

2006-01-11: Still behind

I'm still behind, but I'm getting closer to caught up. Work personal mail is staying empty, I'm dealing with some of the minor deliverables for my current projects, and I widdled 12 messages out of my personal inbox. Tomorrow I need to write a statement of work and then I think I'm still going to do more catch-up.

I picked up two more Logitech Marble Mouse trackballs today, one for work and one for my officemate. I've fallen in love with the one I have at home.

A magazine and two books waiting to be reviewed, but I think they're going to have to wait a little longer, as I put off writing a review until too late today. I have Friday off, so I can catch up on writing reviews as well as other things then.

2006-01-13: Stupid fans

So today I decided I'd finally try to deal with the fan issue in my desktop system at home, since the fan has been making all sorts of noise for a while now and it's the reason why I no longer leave the system on all the time the way that I prefer. Given that the sound varies a lot and seems to be linked to the system powering up the fan when it gets too hot, I figured it was probably the main fan.

With some help from a friend, I worked out what I probably needed and headed to Fry's. Which is almost all casemod fans, so I had a hard time finding quite what I wanted, but then I got something that seemed like it would probably work. (And also went grocery shopping, to try to make it more of a productive day.)

Well, I came home, took out the old fan, put in the new one, and the little sleave that holds the fan and slides it down over the heatpipe cooler in this Shuttle case wouldn't slide. Fan too thick. Crap. On top of that, the old fan was a 0.5 amp fan and this is only a 0.2 amp fan, so it wasn't clear that this fan could actually move enough air to do sufficient cooling.

However, rather than giving up on this, I was creative (since I didn't want to go back to the store). The metal tabs on the cheap little sleave would bend, so I bent them out, slipped the fan in so that the tabs were on the other side of its plastic mount, and bent them back again. There's room in the case for the fan to stick out a little. That worked fine, and I put the new fan in, and then realized that I'd put the fan in backwards so that the airflow was the wrong way. With this sort of case, I really don't trust that to be okay, so out it came again. This time, one of the metal tabs broke off, but I think three mount points for this fan is still fine. (Really, two is probably fine; it doesn't vibrate a lot and just needs to be held in front of the heat sink.)

Anyway, with the new fan installed, the system does seem a little quieter, but the video card fan is still making a lot of noise. I'm wondering if maybe the real problem all along has only been the video card fan and the fan that I took out is actually fine. *sigh*. But at least I learned a lot about changing fans, and I need to do this sort of thing more if I'm ever going to get more comfortable with hardware.

Tomorrow, if I'm feeling energetic, off comes the case again and I'll see if I can get the video card fan out easily. If I can and if it looks vaguely standard, it's back to Fry's to see if I can find a replacement for it as well.

I think this all counts for productivity on a vacation day, although it wasn't one of the things that I was planning on getting done. Oh well.

2006-01-13: ietf-nntp archives complete

Thanks to prompting and data from Stan Barber and the discovery that Mailman is actually pretty good at this stuff, the ietf-nntp archives are now complete. I've integrated all the posts from Stan's old list into the current list that I run, and the whole history back to 1996 is now available for the curious.

I need to update my personal NNTP pages badly, since they still predate the completion of our work and the closing of the working group.

2006-01-14: gnubg

I spent essentially the entire day today, apart from watching football, on packaging GNU Backgammon. This turned out to be more work than I expected, but it's really interesting work and I'm learning a lot. This program has an insane number of dependencies, from BLAS math libraries to Guile and Python to a ton of different graphics and sound libraries for the new 3D board support.

Most of the afternoon was spent working on the build dependencies, which aren't really documented in the upstream documentation and therefore required going through seeing what libraries it looks for. Then there were some gcc 4 problems that had to be fixed, and I had to remove the manual because it was covered under the GFDL.

This seemed like a good project to start learning quilt with, so I read through the quilt manual and then set it up (which required poking around some since I used the wrong setting in my .quiltrc originally). Now, all that's left is forcing it to link dynamically with Python (the upstream always chooses the static library), writing two more man pages for utility programs that didn't have any, and mailing some patches and some questions to upstream (including the request to relicense the manual). I haven't decided yet whether I'm going to package the manual for non-free or just refer people to the web version.

Other than that, I did clean up the kitchen, shelve about half the books that needed shelving (just the mass market paperbacks left to go), and cleaned the place up a little. I didn't get much reading done, nor did I do any INN work, catch up farther on my personal e-mail, do any of the piles of Debian work I want to get to, or write any book reviews. Ah well. It's wonderful -- it's felt like Sunday all day today and yet it's only Saturday and I have a whole weekend left before a three-day work week.

Now, it's off to do some reading. I'll hopefully be able to finish gnubg packaging and upload the new version (to sit in NEW, since I broke some things out into a separate gnubg-data package) tomorrow.

2006-01-15: Punt, Pass, Kick

No one reading this is likely to care. But I have to rant.

At the beginning of the fourth quarter (ooo, look at the cynical manipulation to force an audience from the people who do other things during halftime because it's always a waste of time) of one of the NFL playoff games today, we had a pointless listing of winners of something called the "Punt, Pass, Kick" competition for kids. There are so many things wrong with this that I can hardly list them all.

First, I'm happy the kids got their moment of glory, but given that we saw only meaningless clips without scoring, no one cares. Particularly no one cares about listing off the names of six random kids while showing them on the screen, without showing any actual competition. I prefer at least some sporting competition in publicity stunts I'm subjected to.

Second, "punt, pass, kick"? Where "pass" involves heaving the ball downfield as far as one can without any accuracy? What does this have to do with the sport? Did the NFL ever consider that maybe these kids might want to do something like the NFL skills competition that has something to do with the actual game?

Third, oh look, separate girls and boys competitions. I don't know why the utterly sexist NFL even bothers with the girls competition, since none of those girls will be allowed to play in the NFL anyway (or even in college). Oh, sure, it's probably not technically against the rules, but I'm sure that sexual harassment will be applied until they get the point. The presence of girls in this is pure publicity stunt on the part of the NFL, and while I hope the girls participating had fun, I have to wonder if they'll feel a little used later on when they realize that the NFL never cared about their gender, except maybe as sideline reporters.

And of course the TV commentators don't point out any of this because they're bought off by the NFL.

I like sports. I watch a lot of sports. But sometimes the distinctions between professional wrestling and a professional sports league like the NFL start looking a little thin. With the paid-off commentators, the old-boys club of mutual support, and the unwillingness of anyone on TV to point out when something is stupid, the corporate packaged entertainment aspects of this start smelling.

2006-01-15: The Last Unicorn

Review: The Last Unicorn, by Peter S. Beagle

Publisher: Del Rey
Copyright: 1968
ISBN: 0-345-27505-5
Pages: 248

The unicorn has lived in her forest for longer than time has meaning. It is always spring, always beautiful, and the unicorn loves watching the life around her. But one day, she overhears two hunters talking, saying that all the unicorns are gone from the world. Suddenly caught by fear and loneliness at the idea, she leaves her forest to search for other unicorns. Along the way, she joins up with a failed magician, discovers a cursed land, and learns far more about humans than she expects.

This book surprised me. From its reputation, I was expecting a charming fairy tale; instead, it's more of a self-conscious, postmodern story that reminded me slightly of The Princess Bride. In fact, it's self-conscious enough and thin enough in its mythic veneer that it's not really enjoyable as a pure adventure fantasy. There are too many deliberate anachronisms (characters in a medieval setting reading magazines, lots of very modern attitudes by the characters) and not quite enough in the world. One comes away with the feeling that Beagle's world is populated only by a few hundred people at most, and people are created only when they have some purpose in the story.

This isn't necessarily a problem, though, since trying to read The Last Unicorn as a straightforward fantasy would be ignoring what it tries to accomplish. It is, instead, an extended metaphor on the nature of perception and myth. Beagle's world is full of people creating their own realities through their beliefs, not seeing the amazing when it doesn't fit their expectations, and being unable to change their perspectives even when their whole world changes. It is a fairy tale about belief, but it's also a fairy tale about accepting truth even when it isn't what one wants to believe in.

The tone is set early on, when the unicorn encounters a farmer who tries to capture her, thinking she's just a pretty white mare. The horn and the different body type didn't fit his perception of the world, so he just didn't see them. The point becomes more obvious after she's captured by a travelling menagerie, where a mostly failed magician uses magic to make people see ordinary beasts as mythical creatures, including the unicorn. People go in expecting to see the unbelievable, so the illusion works, but they're also half-expecting to be fooled, and so it takes illusion magic to fool them into seeing the unicorn for what she really is. And, in the best part of the scene, one of the captured creatures is a spider who truly believes it has touched Arachne the Weaver, and who is destroyed by the breaking of the menagerie magic.

Beagle keeps playing with these themes throughout. There is a band of outlaws styled after Robin Hood but slamming into realistic problems.

"And we don't steal from the rich and give to the poor," Dick Fancy hurried on. "We steal from the poor because they can't fight back -- most of them -- and the rich take from us because they could wipe us out in a day. We don't rob the fat, greedy Mayor on the highway; we pay him tribute every month to leave us alone."

A village given unnatural bounty from a curse that blights the rest of the land continues to live like misers because they don't want to be too used to the bounty when the curse is broken. The king who is a magical power in his own right, who can take everything he wants, is dissatisfied by everything and doesn't know how to take pleasure from what he has. And the magician is sunk deep in depression because he can't cast spells properly, even though he is capable of great feats when he's swept up in the feel of the moment and not analyzing too much.

There's quite a bit here to unpack, although Beagle's presentation isn't always successful. He's at his best when portraying the sense of unworldly wonder that people feel towards the unicorn; that's the part that feels the most like well-written traditional fantasy, except he avoids the pat ending and maintains an inhuman distance between the way the unicorn sees the world and the way people do. Wonder is not something that one can embrace and hold close; by doing so, it loses its power to inspire and becomes something entirely different. Beagle makes a subtle and intriguing argument for loss and distance as integral components to wonder. Unicorns are what they are because they are rarely seen and even more rarely recognized; people have to make their own wonders based on fleeting memories and glimpses, or the wonder becomes a trap.

Less successful are the texture of the plot and the thinness of the narrative. The ideal book of this sort for me is enjoyable on multiple levels, both as a story and as a metaphor. The Last Unicorn has only the metaphor; the world in which it's told makes little sense and achieves consistency only through sly references and self-referential jokes. As a result, the elements Beagle throws in as references to standard fantasy tropes (the singing butterfly, for example) sometimes feel strangely out of place, and the incidents along the quest stand out as isolated parables rather than fitting into a particularly coherent story.

If you like analyzing symbolism, there's a lot here to have fun with. I've only touched on a few major themes; I could go on and on (the Bull's light as the light of reason that overcomes wonder and files it away in its proper place, the path to becoming a true king passing through the lost of the innocence of idealism, the competing definitions of hero). But still, I found the book vaguely unsatisfying. The skeleton was so obvious that I never got swept up in the illusion of story, and as a result, while I can unpack metaphor as an intellectual exercise, The Last Unicorn resonated with me emotionally in only a few places. This is the exact opposite effect from what I was expecting.

I recommend it as a classic, and for the crying spider, the unicorn herd, and Molly's interaction with the unicorn. But I wouldn't call it one of the great fantasy stories.

Rating: 7 out of 10

2006-01-16: Debian day

Well, I finally got the latest version of GNU Backgammon uploaded last night, so today I spent the day catching up on other Debian work. libpam-krb5 should now be ready for upload again (there were serious problems with password changing that are now fixed), and I caught up completely with the Debian Perl group and did a bunch of other random work for them. It's kind of fun to just pick off a random Perl module that the group maintains, bring the packaging up to date, upgrade to the latest upstream source, and upload it.

Still a bunch of other things on the to-do list that I need to get to, but this was a wonderfully productive four-day weekend and has me feeling far more caught up. And this is a short week and then another three-day weekend.

2006-01-17: Productive, no reviews

One of these days, I'm going to get book reviews written again.

Today was one of those days where I didn't really get started until late in the day, but then got on a nice productivity streak that salvaged the whole day. I've now written the needed statements of work for the Kerberos project, gotten farther on building networking systems, built and configured our new load-balance and pobox DNS server and made it ready for testing, and started on the new weblogin deployment with SPNEGO support.

In a day with volleyball and meetings, that's not at all bad.

However, I just finished all that about 25 minutes ago and spent the last 25 minutes dealing with the fact that the current xdm upgrade in unstable crashes xdm, and thereby crashed my entire session while I was in the middle of doing work. And now it's time to go walk and read.

Tomorrow, I go pick up new framed artwork, possibly try to find a new fan for my video card if I'm feeling up to it, maybe eat out for lunch, and then work on updating documentation to our new web page templates and getting the WebAuth 3.4.0 release out. And maybe writing a review.

2006-01-20: podlators 2.0.1

Unfortunately, various people were using Pod::Man directly to generate man pages, and Pod::Simple changed the API for the formatting objects so that you couldn't reuse an object. So podlators 2.00 broke all sorts of things. The new Pod::Simple maintainer came up with a good improvement that lets Pod::Man (and Pod::Text) simulate the old interface, and now that Pod::Simple 3.04 is out with that change, I've released podlators 2.0.1 with that and a few other fixes.

You can get the latest version from the podlators distribution page.

2006-01-21: Productivity turnaround

Well, today turned out to be a much better day than I was expecting. I woke up not feeling like doing anything and was afraid that the whole day was going to be a waste. The tentative plan was to play some video games, and I felt completely unlike even doing that.

But I managed to get myself going, figured out that I was willing to at least work on catching up on mail, went into work where it was nice and quiet and I have a good setup for doing intensively private mail catchup, and started poking at things.

Several Debian package uploads, lots of lintian patches, and a ton of work on kstart later, I'm feeling rather happy with myself. And most of this work turned out to be things that I needed to do for our K5 migration anyway, which means I may get to take some time off later this week in balance.

I need to remember that I can do this if I try, that I can push through and find something to do and then I feel much better.

2006-01-22: kstart 3.0

I figure adding a new program is worth a major version bump.

Buck Huppmann pointed out that it would be nice if k5start could do K5 ticket renewal rather than always obtaining a new ticket, since you can do a renewal of a renewable ticket without having to have a keytab (at least up to its renewable lifetime). After thinking about that for a bit, I realized that we actually need that at Stanford to replace our old ugly keeptoken program that reauthenticates a user to K4. So I started poking at it during my surprisingly productive day and ended up finishing it off tonight.

While I was at it, I also removed the pointless executability check to make sure that aklog could be run, since it prevented people from setting KINIT_PROG to something including flags. Adam Megacz reported that one. (It's great to see these programs used by other people!)

You can get the latest version from the kstart distribution page.

Now, bed. Tomorrow, football.

2006-01-22: Green Rider

Review: Green Rider, by Kristen Britain

Publisher: DAW
Copyright: 1998
ISBN: 0-88677-858-1
Pages: 471

I had a bad feeling about this book from the endorsement by Terry Goodkind on the cover, and even more of a bad feeling from Britain's praise of Goodkind's excellence and quality in his writing, but it was a loan from a friend and I was hoping it would surprise me. Alas, not much in the way of surprise here.

It's not that this is necessarily a bad book. It's not a particularly good book, suffering from first novel problems, spotty pacing, and some shallow character stereotypes, but this isn't worse than quite a lot of other fantasy out there. No, the problem is that it's so unremittingly derivative and unoriginal that I couldn't help but keep comparing it to other, better books with the same plot elements.

Karigan G'ladheon (tell-tale apostrophe) runs away from school to start her coming of age story. She is, of course, entirely in the right, but she's driven out of school by the corrupt political establishment by offending the wrong person. She stumbles across a dying messenger who is part of the elite Green Rider corps and who gives her a message that she has to deliver. From there, there's the kindly old ladies who give her magical equipment and teach her about her hidden powers, a long journey through endless woods where she meets noble woodsmen and elves while dodging or escaping from evil mercenaries (one of whom she tries to convert back to the side of the good guys), and an eventual rescue of the king and country from the revival of dark powers. Oh, and at one point there are light sabers.

If you get the feeling you've read this book before, you're right.

There are a few moments of intriguing world-building, and a few moments of emotional satisfaction from the standard fantasy tropes that still have some power left in them. Britain does a decent job with horses and outdoor living, better than most, and the strange catacombs and guarded bodies of the dead is a mildly interesting idea. But the world is just too full of reworkings of Tolkien and company, unbelievably smug and stupid bad guys, or supposedly medieval characters with far too modern sensibilities. I had to laugh at the anti-monarchy protestors with their modern political tactics; I suppose the one advantage of that anachronism is that it's not a fantasy retread.

Britain's writing style also doesn't help. To quote the opening paragraph:

The granite was cold and rough against the gray-cloaked man's palms. It was good, solid granite, from the bones of the earth itself. He traced barely perceptible seams between the huge blocks of the wall. It was the seams, he believed, that held the key. The key to the wall's destruction.

The whole book is like this. If the repetition, simple and monotonous phrasing, too-obvious attempts at surprise, and purely servicable descriptions don't bother you, you may not mind this book. For me, it was symptomatic of all of the other problems with the story.

This is the first book of a series (of course), which promises to drag Karigan into the "Greenies" whether she likes it or not. I had the second book in my to-read pile as well (more have not yet been published), but I'm not going to bother. Only worth looking at if you're desperately in need of a generic, simple fantasy that asks little of the reader, and I think there are better options available even for that.

Rating: 4 out of 10

2006-01-23: New WebAuth almost ready

Despite way too many meetings today (I did successfully get out of one), I managed to do real work, which is the second major surprise in three days for productivity. I've finished writing the new documentation for using SPNEGO with WebAuth, fixed a huge variety of minor issues in the WebAuth source, and fixed one noticable bug in the module. Everything is all set for the WebAuth 3.4.0 release except testing and actually rolling it, which I'll do tomorrow when I'm fresh.

Alas, I also need to release a new podlators to fix various issues. Hopefully I will have time to do that tomorrow after doing WebAuth. If not, I'll do it on Wednesday; Stanford owes me some hours back after all the work I've been doing lately at night and on the weekend.

Still no progress on INN, just due to lack of time.

And of course, now, I'm designing a site-wide logout mechanism for WebAuth in my head that I really don't have time to work on right now, and I volunteered myself to do about four days worth of work on our internal ticket system in staff meeting today.

At least I'm not bored!

2006-01-24: WebAuth 3.4.0

WebAuth 3.4.0 has finally been released, after a couple weeks of work spread out over the last couple of months. This is the big SPNEGO support release. The Weblogin server component now supports any Apache auth mechanism to do the initial login, allowing bypass of username/password authentication. This lets one use an SPNEGO module such as mod_auth_kerb to do SPNEGO authentication and get single sign-on back. It will also allow use of such things as client-side certificates down the road.

I also finally got rid of every compiler warning in WebAuth so it now builds clean under -Wall, and rewrote the protocol specification completely so it should be cleaner and somewhat more readable now. There are other minor bug fixes and documentation improvements.

You can get the latest version from the WebAuth site, which still needs some web page work as soon as I can find the time.

2006-01-24: OpenAFS HTML docs

Finally, I found the time to sit down and figure out what needed to be done to generate good HTML documentation from the new OpenAFS POD manual pages. It doesn't help that, while Sean Burke's code always works quite well once I figure out how to use it, it's nearly unreadable to me and extremely difficult to work with.

He apparently thinks much the same about mine, so there is that.

Anyway, I gave up on Pod::Simple::HTMLBatch the first time around because I just couldn't understand it and started writing something to use thread and spin. But that was going to introduce a bunch of other work that I would have to do on pod2thread, work that I didn't really want to do, so I went back to looking at Pod::Simple::HTMLBatch. Amazingly enough, I actually figured out how to subclass Pod::Simple::HTML to do what I wanted, and then I figured out that I could abandon the broken indexing support and just do my own index.

Some style sheet fiddling, and the result is HTML documentation (that link is to a temporary staging area, so if you're reading this message several months later, it'll probably be dead).

The script has been committed to the repository, and now I await comments. Obviously some navigation between the pages would be useful, and the pages look rather plain (I'm thinking about talking F<> into being something other than italics for the web pages), but it really worked out better than I was expecting for the first cut. The content is all there and very readable. Pod::Simple::HTML doesn't have the horrific problems that the current Pod::HTML has.

Anyway, thankfully I got that done, since tomorrow I need to build weblogin-dev, bring up a test server for doing SPNEGO, and then release a new podlators. And maybe take some time to myself, since I've been working flat-out the last few days.

Once again, unlikely to get a walk in tonight. And I overslept something fierce this morning, not waking up until 11. All signs that I should slow down, except I keep getting things done!

2006-01-25: podlators 2.0.2

This release fixes the problems that showed up while integrating it into Perl core, and also fixes a compatibility problem with old Perl releases. No major changes, just bug and test suite fixes.

You can get the latest version from the podlators distribution page.

At some point, I really need to find the time to do the work to support groff and its extended character set support. That will make non-ASCII man pages much easier to deal with.

2006-01-26: Terrorism and war

Hamas, as you have probably heard by now, swept the Palistinian elections in a surprise victory. Hamas is, for those who really don't follow regional politics at all, a hard-line anti-Israeli party and one that supports or has supported terrorist acts. (I'm being fuzzy since you can hardly say a word about the Israeli/Palistinian conflict without stepping on something that someone wants to argue with. Suffice it to say that they're closely associated with the Bad Guys in the standard US portrayal of the conflict.)

There is much hand-wringing about this, including an ironically amusing statement from the US President that he doesn't see how Hamas could be legitimate participants in the Arab/Israeli peace process. Given that they're now the legitimate government of Palestine, one wonders just what that means.

Anyway, listening to the hand-wringing and the denunciations of terrorism got me started on an essay that I'd been thinking about for a while. It was going to be a journal post, but then it got far too long, so now it's an essay on my web site. This is the best I've been able to explain why the constant denunciations of terrorism feel problematic to me.

2006-01-28: podlators 2.0.3

The "Windows doesn't let you do what?" release. Not that I didn't already know about Windows's issues in this department.

Pod::Simple has the annoying behavior of not closing files that it opened itself, namely output files passed into the parse_from_filehandle method (a backwards compatibility method that's looking less and less backwards compatible the more I look at it). As a result, the podlators test suite failed on Windows because Windows doesn't let you delete an open file.

This release has only a test suite workaround. The long-term solution is for Pod::Simple to close file handles that it opened itself when reinit is called.

You can get the latest version from the podlators distribution page.

2006-01-28: spin 1.62

I'm probably the only one who will care about this one, as it's an update of the handling of \quote, which is one of the few functions left in spin that's very idiosyncratic to my own web site. Quotes that weren't centered left the attribution floating out in space in a way that made it look sort of like that person supposedly wrote the page, rather than just the quote, so I've now hacked in a little more logic that puts an em-dash before the attribution and uses a different class if the quote isn't centered. In the style sheets, I now float those attributions over to the right-hand margin. The inconsistency in attributions is annoying, but I think that overall this still looks better.

You can get the latest version from my web tools distribution page.

I really need to rewrite spin as a Perl module. I've been meaning to do that for quite a while, and it would make things a lot easier for some things we do with spin for work. (For bonus points, I could write an Apache filter that would let us just put raw thread files up and convert them to HTML on the fly, but I think I'll only do that if I'm really bored.)

2006-01-29: Slow day

I think I was overdue for a downtime day. I was wondering if yesterday would be that, but yesterday I ended up going into work and doing intense catchup, so it caught up with me today. I read (belatedly) a con report from the last Worldcon, read part of the latest Emerald City, watched a really good final round of golf (and Tiger even won), cleaned up the apartment a little, and otherwise did not very much.

There's a long discussion in comments about my essay a while back about terrorism, which isn't surprising. The last couple deserve a response, but for whatever reason writing that felt too stressful to me today. So tomorrow, maybe. This always happens to me with political issues. I come up with something that I really want to say, and then I'm often better off personally not actually saying it, since even if I get my point across, it always requires a ton of energy afterwards to deal with the comments. I do a lot of saying "that isn't the point I was driving at," the discussion drifts into other things that I have strong opinions about but haven't thought through to the degree that I'd thought through the original material, and the whole thing ends up feeling rather stressful.

This is why I never want to be involved in politics. I just can't take the discussion day in and day out. Also, it seems like nearly everyone, myself most definitely included, who discusses politics gets sucked into a very confrontational way of phrasing things ("you're forgetting" versus "did you think about?", that sort of thing), and that just makes it worse.

Ah well, it could be quite a lot worse -- it's actually a very interesting thread, and about as good of a discussion as I could hope for. It's just still a huge energy drain, and I always end up begrudging that energy afterwards. And yet, at the time, the comment always seems too important to not make. I'm not sure there's a good solution. At my most cynical, I find it easy to decide that no one ever actually changes their mind, all political discussion is just a matter of repeating one's personal positions, and none of it matters in the slightest in the long run. I'm not even sure my own behavior contradicts that, so I can hardly expect more of anyone else.

I'm actually not feeling as cynical as this sounds. I've just been wanting to get that off my chest all day, and that's the reason why I rarely post about politics even though I almost always have a strong opinion.

Anyway, good dinner out tonight with Quanah and Digant, the latter being a new employee on the Linux client support side of things at work. I think he's going to be a great addition to the team. Staff meeting tomorrow where we're supposed to talk about build systems, which should be an adventure, and then later tomorrow afternoon I have to sit in on a meeting about taking over support of some Oracle servers for undergraduate admissions. Thankfully the meeting load looks light for the rest of the week.

2006-01-30: Kidnapped

Review: Kidnapped, by Robert Louis Stevenson

Publisher: Signet
Copyright: 1886
ISBN: 0-451-51972-8
Pages: 239

Kidnapped is one of the few classics assigned in elementary school that I actually read in elementary school, and one of the few books I had to read for school that I really liked. I think it's a great book for convincing kids that classics can be readable and fun, although it is a boy's adventure novel and as an adult I found it thin in places.

David Balfour had a quiet upbringing in the Scotland Lowlands, but his parents have both died and it's time to go out into the world to seek his fortune. He's set on his path by the local minister, pointed at a nearby city where he has relations. From there, he discovers he is the rightful heir to a family fortune, is betrayed by his uncle, kidnapped into a sea voyage, meets and pairs with a rogue, makes his way across the wild Scottish Highlands, and in short follows the standard path of the coming of age adventure story.

It's amusing how much Kidnapped matches the standard blockbuster fantasy plot without being a fantasy at all. This sort of adventure story is often written as fantasy these days, with the otherness of magic and medieval cultures replacing the otherness of historic Scotland and its wilds, and yet little of the plot changes without the fantasy element. Without the escalating discovery of power or the mythological structure, there's less going on, but the complexities of Scottish politics fill in and feel deeper than most fantasy politics.

Strange places, attractive rogues, adventure on the high seas, and a bit of Scottish political intrigue make this an adventure and provide the obvious appeal, but the strength of Stevenson's writing lies in the character interactions. Not the characters themselves as much: David is a solid everyman, young and a bit brash and full of self-confidence. Alan is a classic rogue, with some fighting skill, a gift of gab, and a gambling problem. The other characters also tend to stick closely to stock types, and none change much over the course of the adventure. But they all feel deep and nuanced because Stevenson's touch with dialogue and interaction is exceptional.

David expresses an attitude of superiority and adventure in the first-person narration that fits his age and mingles with a straight-laced attitude from his upbringing that occasionally catches him by surprise. Alan isn't just a rogue with a heart of gold; he's obnoxious to David as well, when he's in that mood. David doesn't quite know how to deal with their conflicting political beliefs. When they finally have a serious fight, it's one of the most honest fights I've seen in a book of this sort; they fight like adults with real resentment, true to their characters, rather than like petulant children or angsting teenagers.

There are some flaws. I found the beginning and end of the book by far the strongest, and got rather tired of the extended wander across the Scottish Highlands punctuated by only a few significant events. The final resolution of David's inheritance is a wonderful set piece but a touch too easy (although Stevenson does a great job making the victory a bit less than complete for practical reasons). And this is still a boy's adventure novel, an exciting romp and not much more than that. But it's a great example of the genre.

While a complete story, it also ends on something of a to-be-continued cliff-hanger around the political situation that David stumbles into, something that I found frustrating as a kid. The sequel, so that others can avoid the hunt that I went on, is available now as Catriona even though it was originally published as David Balfour.

Rating: 7 out of 10

Last spun 2020-01-01 from thread modified 2017-08-09