Eagle's Path

Passion and dispassion. Choose two.

Larry Wall

2010-09-01: git-pbuilder 1.16

Getting the git-pbuilder script included in git-buildpackage has significantly increased the usage, which means lots more people finding new features and facilities that they need. I love that part of free software work. Here's a new version with a few new facilities.

Since the previous release announcement (for 1.13), this adds:

You can get the latest version from my scripts distribution page.

2010-08-29: Review: Fantasy & Science Fiction, August/September 2009

Review: Fantasy & Science Fiction, August/September 2009

Editor Gordon van Gelder
Issue Volume 117, No. 1 & 2
ISSN 1095-8258
Pages 258

In the book review columns of this issue, Elizabeth Hand reviews Cheek by Jowl, a collection of essays by Ursula K. Le Guin that I very much want to read, and Laura Miller's The Magician's Book (a non-fiction look at Narnia and children's reading), and then goes on to review Lev Grossman's The Magicians in the light of both of them. I love this format for a review column. It matches the way I tend to read the genre, mixing analysis with fiction and enjoyment. I'd like to see more like this!

The movie review column in this issue is mostly an extremely negative review of Watchman by Lucius Shepard, which reinforces my feeling that Shepard looks for something much different in movies than I do. But Shepard also apparently disliked the graphic novels, and it's true that if one didn't like the source material, the movie would have no hope.

"The Art of the Dragon" by Sean McMullen: This is the cover story for this issue. A giant metal dragon appears from nowhere, an impossible creature that shouldn't be able to fly, and proceeds to seek out and destroy or devour the world's most famous art while wearing a goofy grin. The story follows an art history Ph.D. (who hadn't been able to find a job in that field) who was lucky enough to take the closest pictures of the dragon when it ate the Eiffel Tower and therefore gets sucked into the government attempts to stop the dragon. This story could have gone many places, including a bizarre alien invasion, but McMullen turns it into a more psychological and fantastic story about people's reactions to disruptive events. The end caught me by surprise and was somewhat unsatisfying, but I kept thinking about it afterwards. (7)

"You Are Such a One" by Nancy Springer: This is one of the rare stories written in second person present. I normally find that annoying and distracting, but I think it worked here. It breaks down the separation between the reader and the middle-aged bank teller who's the protagonist. The story opens with her encountering a house that she'd only previously seen in recurring dreams, and then with the discovery that the custodian of the house is convinced she's a ghost. The rest of the story plays with the meaning of ghost and the effect of making an impact on another person. The end of the story is a disturbing inversion that left me with lingering thoughts about invisible work and seeing others as people. A strange story, but a good one. (7)

"A Token of a Better Age" by Melinda M. Snodgrass: This is a Roman-era fantasy story with a twist: the dragon-slaying at the center of the story is actually of a more Lovecraftian adversary, and Snodgrass blends in an amusing alternative history of Christianity. The best part of the story is the interplay between the storyteller and his listener — stories with their own built-in critical commentary are some of my favorites — but the tweaked background also adds interest. It stays mostly a traditional sword and sorcery adventure in the end, and the closing pun is worth a smile at best, but it works as entertainment. (7)

"Hunchster" by Matthew Hughes: This strange, short story about an intuitive scientific genius and a group of card players lives in the surprise ending, so there's not much I can say without ruining it. It's hard to find a new take on time travel, and even this one has probably been done, but I don't remember seeing it. Definitely a change of pace from Hughes's normal fiction. (6)

"The Goddamned Tooth Fairy" by Tina Kuzminski: This is one of two classic reprints in this issue and the reprint chosen by the current editor, Gordon van Gelder. As you might expect, it's an excellent story. It's a very domestic story, following a windower with a young daughter into a new relationship that he's not sure he can take a chance on. The fantastic element is lightly played in the tradition of mysterious advice from a stranger. It all sounds very stock and the resolution is predictable, and yet it still won my heart. Even the oldest story patterns, when well-told and full of heart, can be surprisingly moving. This is one of those. Well worth reading. (8)

"The Bones of Giants" by Yoon Ha Lee: I was thrilled to see a story by Yoon Ha Lee in this issue, and while I would have been even happier with something else set in the world of "The Unstrung Zither", I'll take an atmospheric fantasy with an unexpected wise teacher. This story opens with Tamim on the edge of the region known as the Pit, preparing to kill himself. He's interrupted by a necromancer riding the bones of a giant who recruits him to fight the sorcerer who rules the area. The story moves into one of training mingled with a growing relationship that takes a surprise twist. It's sword and sorcery, but deep for it and set against a rich world background. While I won't spoil the twist, long-time fantasy readers of certain preferences will get a thrill out of one revealed identity. Yoon Ha Lee is an excellent writer, and I hope we'll see even more by her. (8)

"Icarus Saved from the Skies" by Georges-Olivier Châteaureynaud: This story was written in French, originally titled "Icare sauvé des cieux," and was translated by Edward Gauvin. I approve of F&SF publishing some translated non-English fiction, but sadly I didn't enjoy this particular story. It's about a man who has wings, through some sort of mutation or genetic fluke, and his relationship with his girlfriend and wife who is deeply enamoured of the wings. He, on the other hand, considers them a curse and keeps considering having them cut off. Their relationship is borderline abusive, and the ending is nasty and left me with a bad taste in my mouth about the entire story. (3)

"The Others" by Lawrence C. Connolly: From sword and sorcery, this issue moves to planetary exploration SF. Cara is one of a mission team to a planet with native hunter-gatherer tribes, injured in a fight with a native predator. The twist is that the whole mission team are copies of herself, and normally they're all in constant contact and serve as additional hands and bodies for complex missions. But Cara, due to her injuries, has been cut off from that communication, and her other selves also seem to be diverging and developing separate personalities.

It's an interesting setup, but I don't think Connolly ever took it far enough or to a unique enough place. Most of the story is tense action in the dark, occasionally exciting but not that memorable. The ending reaches a conclusion of a sort, but not a very satisfying one. (6)

"Three Leaves of Aloe" by Rand B. Lee: I think this is the best story of the issue. It's set in a future India and centers on a woman who works in an outsourced call center, trying to support her family and particularly her daughter. Her daughter runs into bullies at school while borrowing her mother's cell phone (from work) and the phone is destroyed, which sets off problems at both work and, more centrally, with the school. The school wants to implant a "nanny chip" in her daughter to control her aggression and anger.

As you might expect from that introduction, this is a story of family drama and of understandings and misunderstandings between mother and daughter. Not unusual, but the emotional tone is spot-on and the ending is deeply satisfying. That mixes with a solid cautionary tale of messing with people's emotions in the name of making them more tractable (which I tended to read as criticism of over-medicating children). It's a beautiful story of resilience and family and the hard choices of child-raising. (9)

"The Private Eye" by Albert E. Cowdrey: This story returns to Cowdrey's favorite haunt of Louisiana, this time to follow JJ, an unlikely psychic. He's called in by the local Sheriff to solve a kidnapping of the daughter of a very rich bank CEO. JJ discovers he can do more with his abilities than read cards and eventually solves the mystery, which leads to further humorous complications in Cowdrey's normal laid-back style. One of Cowdrey's strengths is putting the reader in the head of not particularly bright protagonists and pulling the reader into the story with a combination of light-hearted humor and drama. This is a typical entry in the middle of that pack. (6)

"Snowfall" by Jessie Thompson: This is the second classic reprint of the issue, this time introduced by Harlan Ellison. The introduction is Ellison at his worst: egotistical, intrusive, excessive, and making one feel a bit sorry for Thompson and Ellison's interest in her. Thankfully, one need not hold that against the story.

The story itself is very short, very sharp, and very stark. It's about abuse, and it's likely to be full of triggers for some, so read with caution if that sort of thing bothers you. It's a fantasy of reclaiming personal identity in a broken and desperate way, and it carries a lot of emotional impact. There isn't much story, and there isn't much closure. It's more of a punch in the gut than a narrative. I prefer stories with more narrative, but I can see why Ellison chose this one. (6)

"Esoteric City" by Bruce Sterling: Sterling takes a stock fantastic premise (a deal with a devil of sorts) and twists it towards a look at modern capitalism. The protagonist is a venture capitalist and a necromancer, by which Sterling means someone supported by the oil industry. He made a deal with a damned spirit, a dead Egyptian priest. At the start of the story, he's taken to Hell to meet with the grand Signore of industry, particularly the car industry, and warned he'll be confronting Satan. But at the very end of the story, it takes a subtle twist into a commentary on compromise and the role of money in social change. Mostly light humor, but with a bit of a punch at the end. (7)

Rating: 7 out of 10

2010-08-28: Review: Julian Comstock

Review: Julian Comstock, by Robert Charles Wilson

Publisher Tor
Copyright June 2009
Printing June 2010
ISBN 0-7653-5923-5
Format Mass market
Pages 689

The best description I have for the setting of Julian Comstock: A Story of 22nd Century America is post-apocalyptic 19th century boy's adventure. The cover's echoes of the Civil War, Planet of the Apes, and Fallout are all apt and somehow merge together into a cohesive whole: a world set after the collapse of modern civilization, runaway global warming, and peak oil. Technology has regressed to a 19th century world of farming, horses, and a city aristocracy. This future world is highly religious, and not the good kind of religion. The Dominion Church has taken over the United States, which in turn has taken over the North American continent, apart from a long-standing war with Europe (primarily Germany) fought mostly in Newfoundland and Labrador.

Enter Adam Hazzard, a country boy and loyal Christian, albeit one raised in a denomination mostly favored by indentured laborers and featuring snake charming. He is our narrator, starting the story in an indistinguished small town notable only because his boyhood friend, Julian Comstock, lives on a country estate there. Julian is the nephew of the President, Declan the Conqueror, which makes him a high-class Aristo and far out of Adam's social class. However, he's also the son of Declan's brother, an immensely popular general whom Declan had executed on trumped-up charges out of fear of his growing popularity. This makes Julian's standing uneasy at best, but provides the opportunity for quiet teenage years in a small village.

Adam and Julian are teenage boys at the start at the novel, fond of exploring the find from local Tips (combination dig sites and dumps of abandoned artifacts of earlier ages) and, at Julian's prompting, long and frequently sacrilegious discussions of philosophy. They're watched over by Sam, a loyal former companion of Julian's father. We get bits and pieces of the world background, as well as plenty of hints that Julian is going to become someone great, in Adam's early chapters. This book is written in an effective mimicry of a rambling 19th century novel with a great deal of personal commentary by the author and occasional comments addressed to his believed audience (others of his own time). It also makes quite effective use of footnotes, which strike an entertaining balance between mock scholarship and ironic commentary.

In short, it reminds one of a post-apocalyptic Victorian novel as written by Mark Twain.

And it's very well-written. Robert Charles Wilson is a well-respected veteran SF author and quite good at stringing words together. He does an excellent job maintaining the tone, down to an occasionally unreliable narrator with blind spots. But if Wilson has a typical flaw, it's that he can build a rich and complex background, put complex characters in it, and then write a book about nothing much happening. That's my main complaint. The book is not devoid of plot, starting with a military draft that has the boys and their guardian fleeing their home and into a war, but it never quite satisfied me. I spent the whole book waiting for the sudden shift of gears into more dramatic heroism, or a grand reveal that would drop the bottom out of the world, or some other sudden perspective shift. It never happened. Despite Julian's meteoric rise through US politics (heavily foreshadowed from the opening page), Julian Comstock never seems to kick itself into that higher gear.

But putting aside my persistant feeling that the book drifted through its nearly 700 pages without hitting the high points that I was hoping for, what Julian Comstock does succeed in being is a detailed portrait of a slightly abstracted, philosophical man who through determination and quite a bit of luck takes on an established, fanatical church. It's a story of science versus religion that's likely to appeal to the core audience of SF, but it's also a beautiful emulation of appreciative biography. I got the most enjoyment out of the book not from the plot but from the delicate metafictional game that Wilson plays. The reader is aware that this is an entirely fictional novel, but one can't help get absorbed in the faux biography mixed with Adam's experiences with pulp publishing industries and a nod to first-hand descriptions of trench warfare, which builds a second layer of realism between the story and the reader. The biographical challenges of accuracy, embelishment, entertainment, audience, and interpretation play out on the page, often in surprising bits of sly humor.

It's an odd connection for a story of post-apocalyptic politics, but I suspect Julian Comstock will appeal the most to lovers of alternate history. It also is catching a bit of the steampunk wave due to its overall technology level, although in this case there is little or no "punk" apart from Julian's obsession with an emulation of early motion pictures. It's not hard SF fare; if you're looking for the mind-blowing ideas of Spin, you may be disappointed, and likewise if you were hoping for dramatic rising action. But as a careful and detailed bit of world-building and character exploration with a built-in metafictional game, it offers unexpected pleasures. Recommended cautiously.

Rating: 6 out of 10

2010-08-26: krb5-sync 2.1

Sam Hartman ported the kadmin patch included in this package to MIT Kerberos 1.8.3, so that seemed like a good excuse for a new release. The patch is not yet heavily tested.

Also in this version are a few bug fixes from the previous release around use with Heimdal. Heimdal 1.3.2 will return an error about a missing service location plugin instead of the last error from Active Directory when changing passwords, which caused the plugin to fail the password change if Active Directory wasn't available. This release now correctly queues the change (and does so for any password change error, to work around problems like this).

Finally, there are some fixes for routine error suppression in krb5-sync-backend with the -s flag, and the Active Directory status manipulation code no longer uses deprecated OpenLDAP library functions.

You can get the latest version from the krb5-sync distribution page.

2010-08-25: wallet 0.12

I was hoping that this release would be the long-awaited 1.0 release, but I want to ensure that the server has database upgrade handling before I declare a 1.0 release. I ran out of time to finish that, so this is another beta release, although it's in production at Stanford.

The main change in this release is the addition of the wallet-rekey client program, which takes a keytab and retrieves new keys for every principal listed in that keytab that's in the local realm. The new keys are then merged back into the keytab. This is designed to make it easier to do periodic rekeying of service keytabs.

Thanks to Ian Durkacz, this version includes a new ACL type, krb5-regex, which is similar to krb5 but takes a Perl regular expression matching the authenticated principal instead of a simple string match.

There are two new reports in this version: objects unused, which returns all objects that have never been downloaded; and acls duplicate, which returns all sets of ACLs that have exactly the same entries. The wallet-report backend also now supports a help command which provides a summary of commands.

You can get the latest release from the wallet distribution page. I've uploaded new Debian packages to my personal Debian repository, although they're nearly ready to make it into Debian.

2010-08-25: rra-c-util 2.6

This release rolls up various fixes from different projects. It adds Kerberos portability code for old MIT Kerberos and Heimdal releases without krb5_get_init_creds_opt_free, adds apr-config --includes to the Apache module build flags for Red Hat Enterprise Linux, and fixes probes for UNIX domain sockets on OpenBSD.

Also in this release is a new test function for listing the contents of a keytab and fixes to the test principal determination in the Kerberos and remctl test libraries.

Finally, the last few releases didn't properly update the contents of the distribution to include all the new M4 macro files in the release tarball. This has now been fixed.

You can get the latest version from the rra-c-util distribution page.

2010-08-25: C TAP Harness 1.5

This is a relatively minor release with a couple of bug fixes to bring this package in sync with other work.

The ok_program function in the shell TAP library now only removes bits from error messages after the second colon instead of the first. This feature allows easier testing of programs whose error messages include the system error, but the previous version was cutting off too much since the program name followed by a colon generally starts error messages.

I've also now added several new GCC warning options and runtests.c will now compile without warnings with -Wswitch-enum.

You can get the latest version from the C TAP Harness distribution page.

2010-08-21: Review: The Whim of the Dragon

Review: The Whim of the Dragon, by Pamela Dean

Series Secret Country #3
Publisher Firebird
Copyright 1989
Printing 2003
ISBN 0-14-250161-1
Format Mass market
Pages 389

This is the third and concluding book in the trilogy starting with The Secret Country. Unsurprisingly, despite the false ending of The Hidden Land, the children are drawn back into their imaginary world and its concerns. Here, finally, the table is set, all the players have been introduced, knowledge of what's truly going on is now more widespread, and the characters face the third possible threat to the Hidden Land: the whim of the dragon.

So far in this series, I've been a bit dubious of the praise that it's gotten. I've liked it well enough to keep reading, and the background of protagonists who invented the world in which they find themselves is unique enough to warrant consideration. But it's been a bit more confusing than engrossing, the characters have been hard to like, and it hasn't grabbed me enough to rise to the level of praise I've heard about it.

That changes significantly in this book. The Whim of the Dragon improves considerably from not needing setup, initial exploration of background, and creation of mysteries. The guessing can finally stop and the revelations can begin, and they're more satisfying than I expected. Dean brings together the themes of responsibility and imagination, finally explains some of the strange voices that have populated previous books, and reveals more world-building that goes deeper than what the children invented. It's also more intense on action and events than the previous books, embedding the world analysis into more dynamic scenes and fewer allusive and half-explained conversations with Fence or Randolph.

I was thoroughly drawn into this book and could barely put it down. The Whim of the Dragon is partly adventure but mostly puzzle, a puzzle that benefits from the children bringing a different and outside perspective to the world and drawing and chasing connections in the way they would when they were creating it. The world seemed to come together in my mind as I read it, and the questions and answers about the metaphysics of the world felt like a cascade of significant, ongoing revelations. The first two books were slow at times, but they set up a lot and created a great effect for the conclusion.

Laura, sadly, never does get the moments of coming into her own that I was hoping she'd get throughout the series, although she does get less awkwardness and more of a role here. But both Ruth and Patrick improve considerably, particularly Ruth, who gets more focus and some lovely and difficult challenges to work through. Character growth throughout is handled well, neither too cliched nor too easy. And while I don't want to give away the ending, the way Dean handles the balance between the mundane world and the Secret Country surprised me a great deal and provided a touching and appropriate ending to the series.

Taken as a whole, this series echoes some things I've felt about the process of creating worlds and characters, which I suspect is part of the goal. An initial world, and an initial character, is often a conscious creation, put together along planned lines. But the best worlds and the best characters then start to change in the process of writing, evolve as they interact and encounter each other, and create a form of emergent complexity that feels like it's coming partly from outside one's mind even if it isn't. This series externalizes that feeling, turning it into a real experience for the children. It takes that rush of runaway creation and uses it to fuel the conflict of the story, and also plays with the sometimes-uncomfortable implications of being evil to one's characters in service of that story. It didn't take this quite as far at times as I wished it would, but it's the first series I can recall dealing directly with the idea without being excessively self-conscious and critical.

After the first two books, I wasn't sure I'd recommend this series, but given the conclusion, I definitely do. It's a good story, with extra appeal for people who think about the power of creation and imagination and who are familiar with the feeling that one's characters have a semi-independent existence.

Rating: 8 out of 10

2010-08-16: Policy and time management

After reading Do It Tomorrow, I was inspired to try some of the techniques that Mark Forster proposes. I commented in the review about the closed list system, which I'm still mostly using with some success. But I also started playing with the initiative slot. In his system, the initiative slot is first thing in the morning each (eligible) morning, which is used for a special project that you want to make forward progress on.

There are several criteria for choosing a task for the initiative slot. One of the strongest is dealing with a backlog. Since I'd been feeling guilty about the backlog of Debian Policy work that had built up, that seemed like a good choice. I picked up Debian Policy backlog clearing as my initiative starting at the beginning of June after the AFS and Kerberos Best Practices Workshop, with a goal of getting the open bug count below 100.

This has been very instructive, both from a time management perspective and from a Debian Policy perspective. Here are a few things that I learned on the Policy side:

Things I learned on the time management side:

I stopped using the initiative slot while travelling and haven't gotten back into the hang of regular time management since I've gotten back. I haven't yet decided whether to leave Policy work in the initiative slot for right now but change the goal, or whether to swap it out for something else. I'd like to keep momentum, but I'd also like to start using that slot for other things. Still pondering.

2010-08-13: git-pbuilder 1.13

This supporting script for using cowbuilder with git-buildpackage came up at DebConf, which also meant more attention on the bug requesting that it be included in git-buildpackage. I've therefore done a few new releases over the last few days including additional features that the example script in git-buildpackage supported that my version of the script hadn't.

Changes since 1.10 include adding support for update, create, and login options, which call cowbuilder with the corresponding flag instead of doing a build, and support for taking the distribution on which to act from the name of the script in case anyone wants to create symlinks to the script as supported by the git-buildpackage example script. I also switched the license to an MIT license instead of the same terms as Perl (which didn't make much sense, since it's not written in Perl).

You can get the latest version of the script from my scripts page, and will also be included in the git-buildpackage package directly down the road.

Thank you very much to Guido Günther for his discussion, willingness to include the script, and bug fixes.

2010-08-12: WebAuth 3.7.2

This release fixes an embarassing bug in option parsing in wa_keyring introduced in 3.7.0 that caused the utility to become basically unusable. It also fixes the option parsing so that negative values (for gc for example) don't require -- to disambiguate from options, at least on platforms that support + in the getopt() string.

Also fixed is an uninitialized variable in wa_keyring that caused wa_keyring to randomly default to verbose mode, portability to old MIT Kerberos and Heimdal libraries without krb5_get_init_creds_opt_free, and build problems with the Perl module on platforms where shared libraries need to be linked with explicitly.

This release also returns a user rejected error from the WebKDC if the account is disabled or expired in Kerberos, rather than a generic Kerberos error, which will allow WebLogin to return a better error message.

You can get the latest version from the official WebAuth distribution page or from my unofficial distribution page.

2010-07-30: Review: The Windup Girl

Review: The Windup Girl, by Paolo Bacigalupi

Publisher Night Shade
Copyright 2009
Printing 2010
ISBN 1-59780-158-5
Format Trade paperback
Pages 359

Paolo Bacigalupi is a rising star in the SF field on the basis of his short fiction, which garnered Hugo and Nebula nominations starting in 2005 with "The People of Sand and Slag" and a Theodore Sturgeon award in 2006 for "The Calorie Man". While he's written a variety of short stories, those that I've read, which also include "Pop Squad", "Yellow Card Man", "The Tamarisk Hunter", and "Pump Six" (also the title of a short story collection) have all shared an image of a dire future. Environmental, technological, or social collapse or all three seem to be his preferred subject material. He's an undeniably talented writer with a knack for effective description and some fascinating (if fantastic) world building, but I usually finish one of his stories wanting to slit my wrists.

I've been contemplating this, his first novel, with profoundly mixed feelings. Set in the same universe of runaway bioengineering and environmental collapse as "The Calorie Man" and "Yellow Card Man," it had prospects of being the same depressing portrait at much greater length. It's also an indirect follow-up to "Yellow Card Man," which is my least favorite of Bacigalupi's short fiction that I've read. Both of those stories had an interesting world (more on that in a moment), but neither of them had much in the way of a plot. They felt at times more like scene descriptions than stories, and I wasn't sure what that would mean for a novel.

I can happily report that The Windup Girl doesn't have those problems. Indeed, I think Bacigalupi may be more effective at novel length, since world-building and scene-setting is one of his strengths and the additional pages give him more room to elaborate. Unlike some short story writers, he handles the transition to multiple viewpoints extremely well. The Windup Girl is full of dynamic characters and well-interwoven plots, with a good novel climax, plenty of unexpected twists, and a solid grasp of rising action and dramatic tension throughout. For a first novel, this is surprisingly mature and polished work.

He also improves on the hopeless despair of both "The Calorie Man" and "Yellow Card Man," writing a book that manages almost a happy ending. If you've not read his short fiction, let me assure you that's a surprising leap. The grim universe is still here, and this book is full of nasty things happening to desperate people, but finally the characters get a bit of agency. He also has an opportunity to tell the story of this world in the middle of a prolonged apocalpyse from a perspective that's more native to what the world is becoming, which provides that sense of alienation and perspective shift that is so often the core of the SF reading experience. The short stories stopped at showing how much his future world sucks for humans. The Windup Girl adds that invaluable SF "but" of future adaptation.

This is all sounding quite positive, and indeed The Windup Girl has just garnered three major genre awards and a raft of positive critical attention. But there are also problems, and one of them is a particularly difficult and tricky one.

I'll start on more mundane ground. This novel and the two previous short stories are set after the collapse of oil, the onset of runaway global warming, and more directly affecting the plot of all three, the onset of runaway damage from bioengineering. The cycle of competition between bioengineered pest-resistant crops and evolving bacteria, fungi, and other crop pests and human diseases has been kicked into insane overdrive by the release of intentional bioengineered diseases as weapons in fights between agribusiness corporations. The result has been a collapse of human food supplies and widespread plagues, and the typical human experience is now desperate near-starvation amidst jealously guarded patented crops and constant scientific effort to stay ahead of the next mutated plague.

So far, so good, as apocalyptic collapse of civilizations go. It's all vaguely believably scary in the sense of everything negative that science warns about hitting at once, turned up to eleven. However, Bacigalupi uses this background as an excuse to write what's essentially steampunk technology with a side dose of bioengineering, and this choice is idiosyncratic to say the least.

The two hallmarks of Bacigalupi's world are bioengineered animals consuming fodder as the primary source of energy in a world of starving people (hence the obsession with calories as the measure of energy), and springs as the mechanism for storing and transporting that energy. This all makes some symbolic sense, particularly if one is looking for a nasty image to crystalize concerns about the business practices of agricultural conglomerates. It makes absolutely no scientific sense. The typical SF reader will particularly notice Bacigalupi's magic springs, which store mechanical energy in ways and at a density that makes them as much of a leap as any far-future handwavium. They're also used for just about everything that can't be powered by either giant elephants or human labor, including places where they make no sense, like guns. (The loss of oil is going to affect a lot of things. Gunpowder isn't one of them.) But the use of animals eating grain and then winding giant springs as one's primary way of generating energy is just as unbelievable as soon as you think about it for more than a minute.

That said, if you successfully suspend disbelief, it makes for some great images, which to me is one of the essential steampunk experiences. Night Shade did a wonderful job with the cover of the copy I read, featuring an elephant trundling down a market street with skyscrapers in the background. The springs do have some of that clockwork mechanical appeal of steampunk technology. I suspended disbelief and quite enjoyed the world background, but it's worth a warning because the book otherwise aims for the realistic-doom end of future extrapolation. The cognitive dissonance of that has apparently knocked a few people out of the story.

That's one potential issue. The other is harder to talk about, but I think much more important to talk about, and is the primary objection I've seen circulating about this book; namely, it's a story set entirely in Asia (namely Thailand), written by a white guy from Colorado. And in places it shows.

I don't think it shows in trivial or obvious ways. Bacigalupi has clearly done research and is clearly not intending to show western involvement in the region in a positive light. It's a core part of his world background that the world's food supply has been screwed up by specifically US agricultural companies, and the primary white character in this book (one of the protagonists) is a rather unethical operative for one of those companies. The Windup Girl is, in many ways, an anti-imperialist and anti-colonialist book. But it's anti-imperialist within a stock western mode, showing an Asian country trying to hold its ground against western business by partly closing the country and preserving eastern traditions that are sometimes portrayed in an orientalist way. The best examples that come to mind are spoilers, so I'll just say that, for a book set entirely in Thailand and focused around a Thai national crisis, and in which only one of five viewpoint characters is American or European, it ends up revolving around the actions and beliefs of white westerners to a remarkable degree.

And then there's Emiko, the title character. I should say up-front that I found her very compelling and enjoyable as a character, particularly in the second half of the book. She goes through a dark take on a classic SF coming of age story and provides much of that vital second perspective on Bacigalupi's world that I mentioned earlier. But she's also, essentially, a genetically engineered geisha, one of a whole race of such girls created by a highly technological Japanese society that's portrayed (in the small amount that it enters the story) almost entirely in stereotypes of Japanese businessmen and geisha. She also reaches that coming of age story by way of being repeatedly raped and abused for entertainment and then having her escape begin by drawing the attention of a white westerner.

Let me be very clear: all of this doesn't necessarily make this a bad book in my eyes. I don't believe Bacigalupi is trying to reinforce these stereotypes or the western lens through which this story is told. In many places, I think he's attempting the exact opposite, probably with the best of intentions. But regardless of intentions, and however much Bacigalupi has travelled in Asia (which I believe is significantly), I think the book has a particular cast and presentation which can reinforce those stereotypes and skewed western perception of Asia. I'm discussing this at some length precisely because I don't think it obviously hurts the story. Unless one is attuned to this class of problems, either by careful attention or by being directly affected by them, this can easily go unnoticed. It largely did for me on first reading, and it was only after thinking back through the book that parts of it started bothering me. And it's the unnoticed and subtle reinforcement of stereotypes that I find the most problematic as a reader. When it's obvious, I know how to either adjust or decide to stop reading, but when it's subtle and unintentional, I can pick up skewed ideas without realizing it.

This is a well-written, well-plotted book that takes a very dark world and some rather nasty events and turns them into a compelling, engrossing story. If you can suspend disbelief for some steampunk-style technology, it has some great visuals and set pieces. Bacigalupi also pulls off the difficult feat of providing a set of deeply and individually flawed characters, including some near-villains, as viewpoint characters and protagonists and keeping me interested in the actions and reactions of all of them throughout the book. No one here is quite a villain, no one here is quite a hero, and Bacigalupi does not follow most of the expected plot paths. I'm sure that's much of why it's getting so much critical acclaim. I found it much more satisfying and enjoyable than his short stories set in the same universe, and I think it's the best writing that he's done yet.

This is also a book that continues a recent trend of white western authors writing books set in non-western countries and deeply probing local culture and extrapolating a local future, and within that trend, I think it falls prey to some unfortunate stereotypes and stock narrative structures in ways that have increasingly bothered me since I finished the book. I personally certainly know less about the area than Bacigalupi does, but it's a book that I don't feel comfortable reading without seeking out reactions from people who are native to the region and listening seriously to their feelings about it. (And, to give him credit, Bacigalupi explicitly says in an afterward that this book should not be taken as representative of modern Thailand and provides a recommended reading list.)

I'm therefore feeling profoundly conflicted on whether or how to recommend this book. I enjoyed it as a reading experience, but I wouldn't have wanted to read it uncritically. I think it's still much too dark for many people's reading preferences, but some people will absolutely love it. Other people will hate it. I found myself wishing that Bacigalupi had stuck with the midwest setting of "The Calorie Man," since I think he could have written as good and vivid of a book while avoiding the pitfalls of an American writing about southeast Asia, but that also wouldn't have been as daring and risky of a book.

I think the best advice I can offer is to avoid if you don't want to read about fairly graphic rape and a rather desperate and dire world of environmental collapse, but otherwise give it a cautious try with an awareness of the surrounding context (I can recommend this review at Silver Goggles). Particularly if you have previously read and liked any of Bacigalupi's short fiction.

Rating: 7 out of 10

2010-07-29: Review: The God Engines

Review: The God Engines, by John Scalzi

Publisher Subterranean
Copyright 2009
ISBN 1-59606-299-1
Format Hardcover
Pages 136

Those who have read previous Scalzi novels are warned by the first line that this is something different. The God Engines opens with Captain Ean Tephe, the protagonist and a starship captain, preparing to whip the ship's god. Blood and dismemberment appears on the first page. But with that comes sly humor, resting below the level of the narrative and the awareness of the characters. Scalzi takes an absurd premise — what if starships were literally powered by gods — and extrapolates for all he's worth, creating a surprisingly vivid universe that keeps daring you to forget how crazy it is.

The God Engines is a novella, one of the current trend of high-quality novellas from major authors published in hardcover format by small presses. It can be a bit hard to justify spending that much money for a story that's even shorter than a classic SF novel, but Subterranean does an excellent job if you enjoy books as physical artifacts. The printing is high quality, with a beautiful dust jacket, interior black and white illustrations, and large, readable text. Given the slow fade of the SF magazine industry, this sort of edition is becoming the best way to read new novellas by prominent authors.

Scalzi here took the novella format as an opportunity to do something different. His Old Man's War series owed a lot to Heinlein and the tradition of SF military fiction. The God Engines also follows a military officer and retains the sense of responsibility and duty that underpinned the Old Man's War series, but the challenges here are religious rather than military and the tone and style are far different. Tephe is a worshipper of the true god, who has subjugated most other gods to his will and uses them to power starships that carry his followers farther out in the galaxy, occasionally to do battle with other gods who have not yet been subjugated. Each starship carries a god at its core, who can send the ship through space in ways that no one understands and is kept in chains and beaten to ensure its obedience. Each ship also carries a potential conflict between the priests, who have responsibility for the god and for the spiritual life of the crew, and the military, who deal with the more mundane aspects of ship operation.

The world-building is both surprisingly good and surprisingly deep for such a short book. The God Engines successfully gives the impression of a deep universe with complex rules. Fans of the angels and demons role-playing game In Nomine should particularly seek this one out; Scalzi builds a sort of magic system based around talismans given out by gods and used by their followers to tap their power, and the system of worship and affiliation with gods reminded me quite a bit of some of the complexities that In Nomine offered. But he also has an opportunity, in the conflict between ship's officers and priests, to look at political conflict reminiscent of communist-era political officers on ships (familiar to any Cold War military novel).

The plot starts as a relatively straightforward conflict between Tephe and the ship priest against a backdrop of growing unrest among the gods, but then builds tension as Tephe and his crew are assigned to a vital mission to gain power for their god. The book is full of hints that all is not as it appears, but I was still expecting a relatively straightforward story of discovery of lies and false foundations. The twist that Scalzi throws into the end of the book is quite a bit more than that. He turns the story on its head, with a sense of opening and a glimpse of unexpected information that forms the sense of wonder kick of the best science fiction.

The God Engines is just as dark as the first line implies, so be sure you're in the mood for that, but I think it's one of the better things Scalzi has written. There's a deep universe and I'd read more stories in it, but the story told here is perfect for novella length: long enough to give the reader a satisfying taste, but short enough that it can stay focused on one narrative arc and pull off an ending that wouldn't work in a novel. Recommended, particularly if you like stories that play with the implications of gods and worship.

Rating: 8 out of 10

2010-07-28: Review: Ilium

Review: Ilium, by Dan Simmons

Series Ilium #1
Publisher Gollancz
Copyright 2003
Printing 2004
ISBN 0-575-07560-0
Format Mass market
Pages 642

Ilium opens with the scholar, Hockenberry, observing the Trojan War, live. He can move among the fighting armies, appearing as one of them when needed, and teleport to different parts of the battle. All this is under the supervision of the Muse and the Greek gods. Their "magic" appears to be highly advanced technology, but they function in the story in the roles that the Greek gods played, and they have the same dominating physical size and appearance. Hockenberry is a scholar, an expert on Homer, and knows how the battle is supposed to play out, but no one other than his fellow scholars and Zeus appears to have that knowledge. His assigned role is to use gifted technology to observe and report on the progress of the battle.

Woven with this story are two other threads. One follows a group of humans in a low-population, garden, post-scarcity Earth with an instantaneous teleportation network. They are the apparent remnants of a post-human exodus to orbital rings many centuries ago, and are maintained in an effortless, danger-free world of parties and idle amusements. Ever-present guardians and automated medical care capable of preventing aging and healing anything up to resurrection remove nearly all of the risk, but they are also largely devoid of curiosity or their own technology. Everyone lives exactly one hundred years, after which they believe they go to join the post-humans who continue to watch over them. Although universally believed, this is not based on any direct interaction; they never see the post-humans, only the trappings of protection and teleportation. The viewpoint character is perfectly content and unquestioning about this world, but is caught up in the search of a man nearing his hundredth year and a group of fellow adventurers, who want to make direct contact with the post-humans.

The remaining thread of this book starts in the moons of Jupiter among biological-machine hybrid intelligences who are exploring those moons (and, in their free time, analyzing Shakespeare's sonnets and arguing about Proust). Named moravecs (presumably after the futurist and roboticist Hans Moravec), they're observing troubling signs of probable post-human activity on Mars after having no contact with the post-humans for many years. This includes a complete terraforming of the world in a startlingly short period of time. (It's at this point that one begins suspecting a connection between their observations and Hockenberry's thread.) This was accompanied by a massive increase in quantum-shift energy that could pose a danger to the rest of the solar system, so a group of moravecs are sent from Jupiter in a fast-acceleration vehicle (with no obvious way to return) to investigate.

Ilium and its sequel Olympos were Dan Simmons's first returns to the world of epic mythology-inspired space opera since the incredibly successful and powerful Hyperion series. It's best known for revolving around the Trojan War, and there's more classic plot inserted directly in the story than with Hyperion, but there's still quite a bit more to this than only Homer. While there are connections to the Trojan War in the other two threads, they're largely independent of that part of the plot and the connections only become active when the war is starting to leave its rails. That said, Hockenberry's thread does follow the Trojan War very closely for much of the book, and while he does a good job of explaining the expected story, caring a little about the characters helps. That part of the story doesn't move quickly, but the analysis of the events of the Trojan War is entertaining if you know the story.

A somewhat slow pace throughout is one of the drawbacks of this book all around. There is a lot of detail and a lot of events, but those events often don't noticably move the overall plot. Ilium often feels like an extended wander through Simmons's world-building. If one finds the world immersive and gets drawn in, this works, and that was the case through most of the book for me. But there were a few times when I was anxious for something to happen, and a few tedious bits where Hockenberry is trying to decide what to do or the other threads are in the middle of long journeys.

The three threads of the story stay mostly separate throughout this book, with two of them meeting only at the very end and the merger of the third left for the sequel. That means Simmons is juggling three distinct stories throughout, which is always a challenge for pacing. The ideal is to keep all three stories interesting simultaneously and give each story segment enough meat to be partly satisfying but enough suspense to make the reader anxious for a return to it. I thought that was uneven, and at various points in the book I had a definite favorite thread and was anxious to return to it.

The thread that caught my attention the most, despite annoying me at the start of the book, was the one following the future Earth residents. Simmons does a wonderful job creating a sense of ruin, stunning visuals, and gradual discovery. This thread takes an unfortunate (but not atypical for Simmons) turn towards horror at the end of the book, and the payoff wasn't quite what I was hoping for, but I loved the slow revelations. I wanted to throttle the lead character for being so incurious and dim, particularly for the first half of the book, but thankfully he's always surrounded by other, more likable characters. And Simmons's tour through abandoned monuments and mysterious remnants of the previous human civilization creates a wonderful sense of atmosphere.

Almost all of this book is discovery: Hockenberry watching the Trojan War go off its plot, the moravecs attempting to determine what's happening on Mars, and the Earth dwellers exploring both their own alien and abandoned world and the post-human artifacts. It releases a burst of action at the end, setting up the next book, but most of the book is exploration, theorizing, and description. When writing in this mode, Simmons is one of the most creative large-scale world-builders I've read, and Ilium plays to his strength. If I'm going to take an extended wander through someone's imagination, Simmons is near the top of the list.

This is only half a book, which you should realize going in. It ends in a cliffhanger which is continued in Olympos, and almost none of the questions posed at the start of the book are resolved at the end. We know more information about the post-humans and some competing theories about what might be happening, but the threads are only starting to come together. For the first half of a story, though, it's engrossing and pulled me into the world, even if it's a touch slow in places.

Followed by Olympos.

Rating: 7 out of 10

2010-07-27: Policy 3.9.1 and Lintian 2.4.3

It's been my intention to mention new Lintian and Debian Policy releases here as well, but I've not been doing very well with that (or with writing things here in general) for the last bit. But I'll see if I can change that up now.

I wanted to get a new Policy release out before DebConf10 and got that out Sunday night. This doesn't have anything as dramatic as the Breaks/Conflicts or architecture wildcard changes in 3.9.0, but there are a lot of interesting improvements and updates. There's even more coming in the next release, which I'm hoping will include a long-overdue improvement to the summary of maintainer scripts.

The Lintian release is mostly just adjustments for the new version of Policy, but I tried to take a quick pass through the open bugs and resolve as many as I could in a day as well. Major projects in Lintian are still on hold right now, since I just don't have enough time given the other things that I'm trying to do.

The Policy changes of note are summarized in the upgrading checklist included in the debian-policy package and were all listed in the debian-devel-announce message.

Last modified and spun 2010-09-01