Eagle's Path

Passion and dispassion. Choose two.

Larry Wall

2018-09-24: Smallish haul

It's been a little while since I've made one of these posts, and of course I'm still picking up this and that. Books won't buy themselves!

Elizabeth Bear & Katherine Addison — The Cobbler's Boy (sff)
P. Djèlí Clark — The Black God's Drums (sff)
Sabine Hossenfelder — Lost in Math (nonfiction)
N.K. Jemisin — The Dreamblood Duology (sff)
Mary Robinette Kowal — The Calculating Stars (sff)
Yoon Ha Lee — Extracurricular Activities (sff)
Seanan McGuire — Night and Silence (sff)
Bruce Schneier — Click Here to Kill Everyone (nonfiction)

I have several more pre-orders that will be coming out in the next couple of months. Still doing lots of reading, but behind on writing up reviews, since work has been busy and therefore weekends have been low-energy. That should hopefully change shortly.

2018-09-17: Review: The Collapsing Empire

Review: The Collapsing Empire, by John Scalzi

Series Interdependency #1
Publisher Tor
Copyright March 2017
ISBN 0-7653-8889-8
Format Kindle
Pages 333

Cardenia Wu-Patrick was never supposed to become emperox. She had a quiet life with her mother, a professor of ancient languages who had a brief fling with the emperox but otherwise stayed well clear of the court. Her older half-brother was the imperial heir and seemed to enjoy the position and the politics. But then Rennered got himself killed while racing and Cardenia ended up heir whether she wanted it or not, with her father on his deathbed and unwanted pressure on her to take over Rennered's role in a planned marriage of state with the powerful Nohamapetan guild family.

Cardenia has far larger problems than those, but she won't find out about them until becoming emperox.

The Interdependency is an interstellar human empire balanced on top of a complex combination of hereditary empire, feudal guild system, state religion complete with founding prophet, and the Flow. The Flow is this universe's equivalent of the old SF trope of a wormhole network: a strange extra-dimensional space with well-defined entry and exit points and a disregard for the speed of light. The Interdependency relies on it even more than one might expect. As part of the same complex and extremely long-term plan of engineered political stability that created the guild, empire, and church balance of power, the Interdependency created an economic web in which each system is critically dependent on imports from other systems. This plus the natural choke points of the Flow greatly reduces the chances of war.

It also means that Cardenia has inherited an empire that is more fragile than it may appear. Secret research happening at the most far-flung system in the Interdependency is about to tell her just how fragile.

John Clute and Malcolm Edwards provided one of the most famous backhanded compliments in SF criticism in The Encyclopedia of Science Fiction when they described Isaac Asimov as the "default voice" of science fiction: a consistent but undistinguished style that became the baseline that other writers built on or reacted against. The field is now far too large for there to be one default voice in that same way, but John Scalzi's writing reminds me of that comment. He is very good at writing a specific sort of book: a light science fiction story that draws as much on Star Trek as it does on Heinlein, comfortably sits on the framework of standard SF tropes built by other people, adds a bit of humor and a lot of banter, and otherwise moves reliably and competently through a plot. It's not hard to recognize Scalzi's writing, so in that sense he has less of a default voice than Asimov had, but if I had to pick out an average science fiction novel his writing would come immediately to mind. At a time when the field is large enough to splinter into numerous sub-genres that challenge readers in different ways and push into new ideas, Scalzi continues writing straight down the middle of the genre, providing the same sort of comfortable familiarity as the latest summer blockbuster.

This is not high praise, and I am sometimes mystified at the amount of attention Scalzi gets (both positive and negative). I think his largest flaw (and certainly the largest flaw in this book) is that he has very little dynamic range, particularly in his characters. His books have a tendency to collapse into barely-differentiated versions of the same person bantering with each other, all of them sounding very much like Scalzi's own voice on his blog. The Collapsing Empire has emperox Scalzi grappling with news from scientist Scalzi carried by dutiful Scalzi with the help of profane impetuous Scalzi, all maneuvering against devious Scalzi. The characters are easy to keep track of by the roles they play in the plot, and the plot itself is agreeably twisty, but if you're looking for a book to hook into your soul and run you through the gamut of human emotions, this is not it.

That is not necessarily a bad thing. I like that voice; I read Scalzi's blog regularly. He's reliable, and I wonder if that's the secret to his success. I picked up this book because I wanted to read a decent science fiction novel and not take a big risk. It delivered exactly what I asked for. I enjoyed the plot, laughed at some of the characters, felt for Cardenia, enjoyed the way some villainous threats fell flat because of characters who had a firm grasp of what was actually important and acted on it, and am intrigued enough by what will happen next that I'm going to read the sequel. Scalzi aimed to entertain, succeeded, and got another happy customer. (Although I must note that I would have been happier if my favorite character in the book, by far, did not make a premature exit.)

I am mystified at how The Collapsing Empire won a Locus Award for best science fiction novel, though. This is just not an award sort of book, at least in my opinion. It's book four in an urban fantasy series, or the sixth book of Louis L'Amour's Sackett westerns. If you like this sort of thing, you'll like this version of it, and much of the appeal is that it's not risky and requires little investment of effort. I think an award winner should be the sort of book that lingers, that you find yourself thinking about at odd intervals, that expands your view of what's possible to do or feel or understand.

But that complaint is more about awards voters than about Scalzi, who competently executed on exactly what was promised on the tin. I liked the setup and I loved the structure of Cardenia's inheritance of empire, so I do kind of wish I could read the book that, say, Ann Leckie would have written with those elements, but I was entertained in exactly the way that I wanted to be entertained. There's real skill and magic in that.

Followed by The Consuming Fire. This book ends on a cliffhanger, as apparently does the next one, so if that sort of thing bothers you, you may want to wait until they're all available.

Rating: 7 out of 10

2018-09-02: Review: So Good They Can't Ignore You

Review: So Good They Can't Ignore You, by Cal Newport

Publisher Grand Central
Copyright September 2012
ISBN 1-4555-0910-8
Format Kindle
Pages 237

The problem area of task management, mental focus, and prioritization is vast and sprawling, full of techniques that work only in some situations, in some moods, for some people, or with some types of tasks. Time and attention management books therefore work best if the peculiar focus of that book happens to align with a set of problems the reader currently has. I occasionally survey the field for something that speaks to whatever corner of the problem I'm currently working on, and then chase that thread for as long as it seems useful.

Cal Newport is my latest thread. I encountered Deep Work while feeling frazzled and pulled in too many directions to do a good job at any one thing. It laid out a helpful approach to problems of focus and multitasking (enough so that I read it twice), so I started reading backwards through Newport's blog and picked up this earlier book. It's not his first, but before So Good They Can't Ignore You, Newport focused on practical study tips for high school and college students. I may read those someday as curiosities, but I doubt they'll be as interesting to me now, more than twenty years out of college.

Going backwards through an author's writing like this is a bit of a risk, since it's relatively common in this genre of non-fiction for an author to have only one book I find interesting. For example, David Allen's Getting Things Done is worthwhile reading for anyone interested in time management systems as long as you don't focus exclusively on that one system, but it's safe to skip everything else he's written. Thankfully, Newport appears to be an exception. His blog is full of interesting tidbits and is worth an archive trawl, and So Good They Can't Ignore You is a broader survey of what it means to have a good career and how to get there. I think it's worth reading alongside the more focused advice of Deep Work.

One caveat in all that follows: Newport is a computer science professor and is writing primarily for people with similar resources, so this book is a bit relentlessly upper-middle class. The audience of this book is primarily white-collar knowledge workers with college degrees, and its framework becomes increasingly dubious outside of that social class.

The core argument of So Good They Can't Ignore You is that "follow your passion" is awful career advice that you should ignore. More specifically, Newport argues that it is far more common to enjoy something because you're good at it than to be good at something because you enjoy it. Initial passion is therefore a risky and incomplete guide. This doesn't imply that you need to do work that you hate; in fact, if you dig deep enough you may find that you hate that work because you're not good at some less obvious but still essential part of it. It does imply that every career is going to have bits that you don't enjoy, that learning something new has inherently uncomfortable parts and is therefore not always something you'll feel passionate about, and that passion is more often a reward at the end of a journey than a signpost at the start. Therefore, rather than looking for work that immediately excites you, look for work that interests you (a lower bar) and that you are capable of learning how to do well.

On the surface, it's odd that I got as much out of this book as I did, given that I'm the poster child for following one's passion into a career. I'm working in the field I decided I wanted to pursue when I was around eight years old, with essentially no wobbles along the way. But, digging a little deeper, I've accidentally followed Newport's approach in my choices of career focus. I never set out to work in computer security, for example; I just did enough of it, first by happenstance and later by choice, that I became good at it.

The drawback of the unreliability of passion is that most people will not experience a sudden emotional epiphany that guides them into their ideal career, or may find that such epiphanies point them the wrong direction. The advantage Newport points out, and backs up with numerous anecdotal examples, is that choosing a career is less fraught than the passion approach would lead one to believe, and that your initial emotional reactions are less critical than you might fear. There is not one and only one career waiting for you that you must discover. While the possibilities are not completely unbounded, there are numerous careers at which you could succeed with sufficient practice, and any of them can lead to a happy and rewarding work life. Rather than searching for that one career that sets off a special spark, find a career that you can become good at and that people will pay you for, and then put in the work to build your skills. This will give you the resources to shape your work into something you're passionate about.

Newport's writing has a bit of "eat your vegetables" practicality: learning something will be uncomfortable at times, you have to put in the work before you'll get the rewards, and (specifically for careers) you have to test your goals against some measure of external value. But Newport also has a disarming and thoughtful way of talking about the overall arc of a career that avoids making this sound dreary and emphasizes the rewards along the way. His delight in the inherent merits of work done well shines through, as does his focus on a career as a process of taking control over one's own work.

That concept of autonomy as a career goal was the part of So Good They Can't Ignore You that most caught my attention. Newport's argument here is that how you do your work has as much impact on career satisfaction and overall happiness as what you work on. Autonomy, flexibility, and choice in one's work often translates into joy and passion for the work. But there are two control traps you have to avoid: trying to take control with insufficient career capital to back it up, and being prevented by others from spending your career capital on more control.

The first trap is the more obvious one: you need some external validation that you're good enough to start setting some of the terms of your own work. Newport recommends financial rewards as a feedback mechanism: if you ask people to pay you for your work, in money or other things of obvious value (increased vacation, for instance), you're likely to get a more honest (and therefore more actionable) measure of how good you are at your craft. The anti-capitalist in me wanted to argue with the financial focus, but Newport is very good at keeping his argument narrow. People may have a lot of social motives for praising your work uncritically. To improve, you need a feedback cycle that's more objective and is willing to tell you when you're not yet good enough to take the next career step. In our current society, one good way to force that feedback cycle is to ask for money, in one form or another.

The second trap is more subtle and very useful for where I'm at personally. Once you are good enough to have accumulated the career capital to start taking more control over your work, you're also good enough that your employer will want to prevent you from doing this. They instead will want to maximize your benefit to them, or give you the kind of control that comes with more responsibility rather than more freedom. (Newport titles this section of the book "Turn Down a Promotion.") You may have to force matters and make your employer somewhat unhappy to win the type of autonomy that brings more personal happiness.

Newport's own summary of So Good They Can't Ignore You is:

To construct work you love, you must first build career capital by mastering rare and valuable skills, and then cash in this capital for the type of traits that define compelling careers.

No one model of careers will capture all the nuance that goes into work, but I'm particularly fond of this one. It combines a cautious practicality with a clear-eyed vision of the end game that doesn't confuse the journey with the destination. The point is not to have rare and valuable skills; the point is to have a satisfying and compelling career, and the skills are a tool. Deep Work was focused on how to build a certain class of skills that are valuable in some types of work. So Good They Can't Ignore You is about the bigger picture: what are you using those skills to achieve, and why?

Those are big questions without any one universal answer, but Newport is thinking about them from an angle that shed some light on some things I'm mulling over. If the same is true of you, I think you'll find this book worth reading.

Rating: 8 out of 10

2018-08-31: DocKnot 1.06

DocKnot is the tool I use to generate some documentation for my free software releases. (And eventually will do a lot more, once I find time to write the code I have planned.) This release fixes a few issues with its text output: URL footnotes are put immediately after the paragraph with the reference instead of the bottom of the text section, and paragraphs that look like they contain a lot of broken lines are not wrapped.

This release also adjusts the wording in the templates I use for my packages around make warnings and the list information URL for a release announcement list, and adds support for some more supplemental links for package web pages.

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

2018-08-27: Review: So Lucky

Review: So Lucky, by Nicola Griffith

Publisher FSG Originals
Copyright 2018
ISBN 0-374-71834-2
Format Kindle
Pages 179

The first sign of trouble was easy to ignore. Mara tripped on the day her partner of fourteen years moved out, and thought nothing of it. But it was only a week and a half before the more serious fall in her kitchen, a doctor's visit, and a diagnosis: multiple sclerosis.

The next few days were a mess of numbness, shock, and anger: a fight at her job as the director of an HIV foundation over a wheelchair ramp, an unintended outburst in a spreadsheet, and then being fired. Well, a year of partial pay and medical coverage, "as gratitude for her service." But fired, for being disabled.

Mara is not the sort of person to take anything slow. Less time at the job means more time to research MS, time to refit her house for her upcoming disability, time to learn how to give herself injections, time to buy a cat. Time to bounce hard off of an MS support group while seeing an apparently imaginary dog. Time to get angry, like she had years ago when she was assaulted and threw herself obsessively into learning self-defense. Time to decide to fight back.

I so wanted to like this book. It's the first new Nicola Griffith novel since Hild, and I've loved everything of hers I've read. It's a book about disability, about finding one's people, about activism, about rights of people with disabilities, and about how people's reactions to others with disabilities are predictable and awful and condescending. Mara isn't a role model, isn't inspiration, isn't long-suffering. She's angry, scared, obsessive, scary, and horrible at communication. She spent her career helping people with a type of medical disability, and yet is entirely unprepared for having one herself.

I'm glad this book exists. I want more books like this to exist.

I mostly didn't enjoy reading it.

In part, this is because I personally bounced off some themes of the book. I have a low tolerance for horror, and there's a subplot involving Mara's vividly-imagined fear of a human predator working their way through her newly-discovered community that made me actively uncomfortable to read. (I realize that was part of the point, and I appreciate it as art, but I didn't enjoy it as a reader.) But I also think some of it is structural.

There is a character development arc here: Mara has to come to terms with what MS means to her, how she's going to live with it, and how she's going to define herself after loss of her job, without a long-term relationship, and with a disabling disease, all essentially at once. Pieces of that worked for me, such as Mara's interaction with Aiyana. But Griffith represents part of that arc with several hallucinatory encounters with a phantom embodiment of what Mara is fighting against, which plays a significant role in the climax of the book. And that climax didn't work for me. It felt off-tempo somehow, not quite supported by Mara's previous changes in attitude, too abrupt, too heavily metaphorical for me to follow.

It's just one scene, but So Lucky puts a lot of weight on that scene. This is a short novel full of furious energy, pushing towards some sort of conclusion or explosion. Mara is, frankly, a rather awful person for most of the book, for reasons that follow pre-existing fracture lines in her personality and are understandable and even forgivable but still unpleasant. I needed some sort of emotional catharsis, some dramatic turning point in her self-image and engagement with the world, and I think Griffith's intent was to provide that catharsis, and it didn't land for me, which left me off-balance and disturbed and unsatisfied. And frustrated, because I was rooting for the book and stuck with it through some rather nasty plot developments, hoping the payoff would be worth it.

This is all very individual; it doesn't surprise me at all that other people love this book. I'm also not disabled. I'm sure that would add additional layers, and it might have made the catharsis land for me. But I personally spent most of the book wanting to read about Aiyana instead of Mara.

Spending the book wishing I was reading about the non-disabled character, the one who isn't angry and isn't scary and isn't as scared, is partly the point. And it's a very good point; despite not enjoying this book, I'm glad I read it. It made me think. It made me question why I liked one character over another, what made me uncomfortable about Mara, and why I found her off-putting. As a work of activism, I think So Lucky lands its punches well. People like me wanting comfort instead of truth is part of how people with disabilities are treated in society, and not a very attractive part. But at the same time, I read books for pleasure. I'm not sure how to reconcile those conflicting goals.

So Lucky is a Griffith novel, so the descriptions are gorgeous and the quality of the writing is exceptional. Griffith gives each moment a heft and weight and physicality. The relationships in this book worked for me in all their complexity, even when I was furious at Mara for breaking hers. And Griffith's descriptions of physical bodies, touching and feeling and being in each other's spaces, remain the best of any author I've read. If the plot works better for you than it did for me, there's a lot here to enjoy.

I can't quite recommend it, or at least as much as I hoped I could. But I think some people will love it.

One final note: I keep seeing reviews and blurbs about this book that describe it as an autobiographical novel, and it irritates me every time. It's not autobiographical. Yes, Griffith and the protagonist both have MS, are both lesbians, and both taught self-defense. But Griffith has put lesbians, self-defense teachers, and people with MS in many of her books. Mara runs a charitable organization; Griffith is a writer. Mara's relationships are a mess; Griffith has been happily married for nearly 25 years. I'm sure Griffith drew heavily on her own reactions to MS to write this novel, as novelists do, but that doesn't make Mara a self-insert or make this fictional story an autobiography. Disabled authors can write disabled protagonists without making the story non-fiction. It's weirdly dismissive to cast the book this way, to take away Griffith's technique and imagination and ability to invent character and situation and instead classify the book as some sort of transcription of her own life. And I don't think it would happen if it weren't for the common disability.

This is identifying people as their disability, and it's lazy and wrong and exclusionary. Stop doing this.

Rating: 5 out of 10

2018-08-24: Review: Overwhelmed

Review: Overwhelmed, by Brigid Schulte

Publisher Farrar, Straus & Giroux
Copyright 2014
ISBN 1-4299-4587-7
Format Kindle
Pages 286

Subtitled Work, Love, and Play When No One Has the Time, Overwhelmed is part of the latest batch of reading I've been doing on time management and life organization. The focus of this book is particularly appealing: Why does life feel so busy? Why do we feel constantly overwhelmed with things we're supposed to be doing? Did something change? If so, what changed? And how can we fix it? Schulte avoids many of the pitfalls of both science popularization and self-help books by personalizing her questions in an appealing way. She is overwhelmed, she wants to escape that trap, and she goes looking for things that would help her personally, bringing the reader along for the ride.

The caveat to this approach, which I wish were more obvious from the marketing surrounding this book, is that Overwhelmed is focused on the type of overwhelm that the author herself is dealing with: being a working mother. Roughly two-thirds of this book is about parenting, gender balance in both parenting and household chores, time stress unique to working mothers, and the interaction between the demands of family and the demands of the workplace.

To be clear, there is nothing wrong with this focus. I'm delighted to see more time and attention management books and workplace policy investigations written for the working mother instead of the male executive. Just be aware that a lot of this book is not going to apply directly to people without partners or kids, although I still found it useful as a tool for building social empathy and thinking about work and government policy.

Schulte starts the book with a brilliant hook. Overwhelmed, fragmented, and exhausted, Schulte had kept a time diary for a year, and is turning it over to John Robinson, a well-known sociologist specializing in time use. Schulte memorably describes how her time diaries have become confessionals of panic attacks, unpaid bills, hours spent waiting on hold, and tarot readings telling her to take more quiet time for herself. But Robinson's conclusion is ruthless: she had 28 hours of leisure in the week they analyzed during the visit. A little less than average, but a marked contrast to Schulte's sense that she had no leisure at all. Based on his research with meticulous time diaries, Robinson is insistent that we have as much or more leisure than we had fifty years ago. (He has his own book on the topic, Time for Life.) Schulte's subjective impression of her time is wildly inconsistent with that analysis. What happened?

In the first part of the book, Schulte introduces two useful concepts: time confetti, to describe her subjective impression of the shredding of her schedule and attention, and role overload. The latter is used in academic work on time use to describe attempting to fulfill multiple roles simultaneously without the necessary resources for all of them, and has a strong correlation with depression and anxiety. Schulte immediately recognized the signs of role overload in her own conflicts between work and parenting, but even without the parenting component, I recognized role overload in the strain between work and volunteer commitments. Simplified, it's a more academic version of the common concept of "work-life balance," but it comes with additional research on the consequences: constant multitasking, a sense of accelerating pace, and a breakdown of clean divisions between blocks of time devoted to different activities.

The rest of the book looks at this problem in three distinct spheres: work, love (mostly family and child-rearing), and play. Schulte adds the additional concepts of the Ideal Worker, Ideal Mother, and Providing Father archetypes and their pressure towards both gender stereotypes and an unhealthy devotion to work availability and long work hours. I found the Ideal Worker concept and its framing of the standards against which we unconsciously measure ourselves particularly useful, even though I'm in an extremely relaxed and flexible work place by US standards. The Ideal Mother and Providing Father concepts in the section on love were more academic to me (since I don't have kids), but gave me new empathy for the struggles to apply an abstract ideal of equal partnership to the messy world of subconscious stereotypes and inflexible workplaces designed for providing fathers.

Schulte does offer a few tentative solutions, or at least pushes in a better direction, but mostly one comes away from this book wanting to move to Denmark or the Netherlands (both used here, as in so many other places these days, as examples of societies that have made far different choices about work and life than the US has). So many of the flaws are structural: jobs of at least forty hours a week, a culture of working late at the office or taking work home, inadequate child care, and deeply ingrained gender stereotypes that shape our behavior even when we don't want them to. Carving out a less overwhelmed life as an individual is an exhausting swim upstream, which is nigh-impossible when exhaustion and burnout is the starting point. If you're looking for a book to make you feel empowered and in control of eliminating the sense of overwhelm from your life, that's not this book, although that also makes it a more realistic study.

That said, Schulte herself sounds more optimistic at the end of the book than at the beginning, and seems to have found some techniques that helped without moving to Denmark. She summarizes them at the end of the book, and it's a solid list. Several will be familiar to any time management reader (stop multitasking, prioritize the important things first, make room for quiet moments, take advantage of human burst work cycles, be very clear about your objectives, and, seriously, stop multitasking), but for me they gained more weight from Schulte's personal attempts to understand and apply them. But I think this is more a book about the shape of the problem than about the shape of the solution.

Overwhelmed is going to have the most to say to women and to people with children, but I'm glad I read it. This is the good sort of summary of scientific and social research: personalized, embracing ambiguity and conflicting research and opinions, capturing the sense of muddling through and trying multiple things, and honest and heartfelt in presenting the author's personal take and personal challenges. It avoids both the guru certainty of the self-help book and the excessive generalization of Gladwell-style popularizations. More like this, please.

Rating: 7 out of 10

2018-08-19: Review: Riders of the Storm

Review: Riders of the Storm, by Julie E. Czerneda

Series Stratification #2
Publisher DAW
Copyright 2008
ISBN 1-101-21557-7
Format Kindle
Pages 452

Riders of the Storm is the second book in the Stratification sub-series in Czerneda's larger Trade Pact universe, and a direct sequel to Reap the Wild Wind. Czerneda is telling a larger story in multiple parts, so this isn't a series to read out of order.

Reap the Wild Wind broke apart Aryl's world view (along with everything else about her life) and gave her contact with a larger universe than she thought existed. Riders of the Storm builds on that, doing middle-book setup and stabilization and bringing the shape of the trilogy into clearer focus. But it takes its sweet time getting there. First, we get an interminable slog across snowy mountains during a winter storm, and then a maddeningly slow exploration of an oddly depopulated Om'ray settlement that none of Aryl's clan knew about (even though that shouldn't be possible).

This book does get somewhere eventually. Aryl can't avoid getting pulled into inter-species politics, including desperate attempts to understand the maddeningly opaque Oud and unpredictably malevolent Tiktik. There's less contact with varied off-worlders in this book than the last; Aryl instead gets a much deeper connection and conversation with one specific off-worlder. That, when it finally comes, does move past one of my complaints about the first book: Aryl finally realizes that she needs to understand this outside perspective and stop being so dismissive of the hints that this reader wished she'd follow up on. We're finally rewarded with a few glimpses of why the off-worlders are here and why Aryl's world might be significant. Just hints, though; all the payoff is saved for (hopefully) the next book.

We also get a glimpse of the distant Om'ray clan that no one knows anything about, although I found that part unsatisfyingly disconnected from the rest of the story. I think this is a middle-book setup problem, since the Tiktik are also interested and Czerneda lays some groundwork for bringing the pieces together.

If Riders of the Storm were just the second half of this book, with Tiktik and Oud politics, explorations of Om'ray powers, careful and confused maneuvering between the human off-worlder and Aryl, and Enris's explorations of unexpected corners of Om'ray technology, I would have called this a solid novel and a satisfying continuation of the better parts of the first book. But I thought the first half of this book was painfully slow, and it took a real effort of will to get through it. I think I'm still struggling with a deeper mismatch of what Czerneda finds interesting and what I'm reading this series for.

I liked the broader Trade Pact universe. I like the world-building here, but mostly for its mysteries. I want to find out the origins of this world, how it ties into the archaeological interests of the off-worlders, why one of the Om'ray clans is so very strange, and how the Oud, Tiktik, and Om'ray all fit together in the history of this strange planet. Some of this I might know if I remembered the first Trade Pact trilogy better, but the mystery is more satisfying for not having those clues. What I'm very much not interested in is the interpersonal politics of Aryl's small band, or their fears of having enough to eat, or their extended, miserable reaction to being in a harsh winter storm for the first time in their lives. All this slice-of-life stuff is so not why I'm reading this series, and for my taste there was rather too much of it. In retrospect, I think that was one of the complaints I had about the previous book as well.

If instead you more strongly identify with Aryl and thus care about the day-to-day perils of her life, rather than seeing them as a side-show and distraction from the larger mystery, I think your reaction to this book would be very different from mine. That would be in line with how Aryl sees her own world, so, unlike me, you won't be constantly wanting her to focus on one thing when she's focused on something else entirely. I think I'm reading this series a bit against the grain because I don't find Aryl's tribal politics, or in-the-moment baffled reactions, interesting enough to hold my attention without revelations the deeper world-building.

That frustration aside, I'm glad I got through the first part of the book to get to the meat because that world-building is satisfying. I'm thoroughly hooked: I want to know a lot more about the Oud and Tiktik, about the archaeological mission, and about the origins of Aryl's bizarre society. But I'm also very glad that there's only one more book so that this doesn't drag on much longer, and I hope that book delivers up revelations at a faster and more even pace.

Followed by Rift in the Sky.

Rating: 6 out of 10

2018-08-19: Mostly Kindle haul

It's been a little while since I've posted one of these. The good news is that I've been able to increase my reading a lot (just not my reviewing, quite yet), so I've already read a couple of these!

Bella Bathurst — Sound (non-fiction)
Sarah Rees Brennan — In Other Lands (sff)
Jacqueline Carey — Starless (sff)
Becky Chambers — Record of a Spaceborn Few (sff)
William J. Cook — In Pursuit of the Traveling Salesman (non-fiction)
Mur Lafferty — Six Wakes (sff)
Fonda Lee — Jade City (sff)
Yoon Ha Lee — Revenant Gun (sff)
Bridget McGovern & Chris Lough (ed.) — Rocket Fuel (non-fiction anthology)
Naomi Novik — Spinning Silver (sff)
John Scalzi — The Collapsing Empire (sff)
Karl Schroeder — The Million (sff)
Tade Thompson — Rosewater (sff)
Jo Walton — An Informal History of the Hugos (non-fiction)
Walter Jon Williams — The Praxis (sff)
Walter Jon Williams — The Sundering (sff)
Walter Jon Williams — Conventions of War (sff)

Reviews of the Scalzi and Chambers are upcoming, and I'm reading In Pursuit of the Traveling Salesman at the moment. (I've been filling in some gaps in my understanding of algorithms recently, ran across that popular history of the traveling salesman problem, and couldn't resist.)

2018-07-30: Free software log (June 2018)

Well, this is embarassingly late, but not a full month late. That's what counts, right?

It's quite late partly because I haven't had the right combination of time and energy to do much free software work since the beginning of June. I did get a couple of releases out then, though. wallet 1.4 incorporated better Active Directory support and fixed a bunch of build system and configuration issues. And rra-c-util 7.2 includes a bunch of fixes to M4 macros and cleans up some test issues.

The July report may go missing for roughly the same reason. I have done some outside-of-work programming, but it's gone almost entirely into learning Rust and playing around with implementing various algorithms to understand them better. Rather fun, but not something that's good enough to be worth releasing. It's reinventing wheels intentionally to understand underlying concepts better.

I do have a new incremental release of DocKnot almost ready to go out (incorporating changes I needed for the last wallet release), but I'm not sure if that will make it into July.

2018-07-20: Review: The Power of Habit

Review: The Power of Habit, by Charles Duhigg

Publisher Random House
Copyright 2012, 2014
Printing 2014
ISBN 0-679-60385-9
Format Kindle
Pages 366

One problem with reading pop psychology is that one runs into a lot of books like this one: summaries of valid psychological research that still leave one with the impression that the author was more interested in being dramatic and memorable than accurate. But without reproducing the author's research, it's hard to tell whether that fear is well-grounded or unfair, so one comes away feeling vaguely dissatisfied and grumpy.

Or at least I do. I might be weird.

As readers of my book reviews may have noticed, and which will become more apparent shortly, I'm going through another round of reading "self-help" books. This time, I'm focusing on work habits, concentration, and how to more reliably reach a flow state. The Power of Habit isn't on that topic but it's adjacent to it, so I picked it up when a co-worker recommended it.

Duhigg's project here is to explain habits, both good ones and bad ones, at a scientific level. He starts with a memorable and useful model of the habit loop: a cue triggers a routine, which results in a reward. The reward reinforcement strengthens the loop, and the brain starts internalizing the routine, allowing it to spend less cognitive energy and essentially codifying the routine like a computer program. With fully-formed habits (one's daily bathing routine, for example), the routine is run by a small, tuned part of your brain and requires very little effort, which is why we can have profound shower thoughts about something else entirely. That example immediately shows why habits are valuable and why our brain is so good at creating them: they reduce the mental energy required for routine actions so that we can spend that energy elsewhere.

The problem, of course, is that this mechanism doesn't first consult our conscious intent. It works just as well for things that we do repeatedly but may not want to automatically do, like smoking a pack of cigarettes a day. It's also exploitable; you are not the only person involved in creating your habits. Essentially every consumer product company is trying to get you to form habits around their products, often quite successfully. Duhigg covers marketing-generated habits as well as social and societal habits, the science behind how habits can be changed, and the evidence that often a large collection of apparently unrelated habits are based in a "keystone habit" that, if changed, makes changing all of the other habits far easier.

Perhaps the most useful part of this book is Duhigg's discussion of how to break the habit loop through substitution. When trying to break habits, our natural tendency is to consciously resist the link between cue and routine. This is possible, but it's very hard. It requires making an unconscious process conscious, and we have a limited amount of conscious decision-making energy available to us in a day. More effective than fighting the cues is to build a replacement habit with the same cue, but this requires careful attention to the reward stage so that the substituted habit will complete the loop and have a chance of developing enough strength to displace the original habit.

So far, so good. All of this seems consistent with other psychological research I've read (particularly the reasons why trying to break habits by willpower alone is rarely successful). But there are three things that troubled me about this book and left me reluctant to recommend it or rely on it.

The first is that a useful proxy for checking the research of a book is to look at what the author says about a topic that one already knows something about. Here, I'm being a bit unfair by picking on a footnote, but Duhigg has one anecdote about a woman with a gambling problem that has following definitive-sounding note attached:

It may seem irrational for anyone to believe they can beat the house in a casino. However, as regular gamblers know, it is possible to consistently win, particularly at games such as blackjack. Don Johnson of Bensalem, Pennsylvania, for instance, won a reported $15.1 million at blackjack over a six-month span starting in 2010. The house always wins in the aggregate because so many gamblers bet in a manner that doesn't maximize their odds, and most people do not have enough money to see themselves through losses. A gambler can consistently win over time, though, if he or she has memorized the complicated formulas and odds that guide how each hand should be played. Most players, however, don't have the discipline or mathematical skills to beat the house.

This is just barely this side of being outright false, and is dangerously deceptive to the point of being casino propaganda. And the argument from anecdote is both intellectually bogus (a lot of people gamble, which means that not only is it possible that someone will go on that sort of winning streak through pure chance, it is almost guaranteed) and disturbingly similar to how most points are argued in this book.

If one assumes an effectively infinite deck (in other words, assume each card dealt is an independent event), there is no complicated rule you can memorize to beat the house at blackjack. The best that you can do is to reduce the house edge to 1-2% depending on the exact local rules. Wikipedia has a comprehensive discussion if you want the details. Therefore, what Duhigg has to be talking about is counting cards (modifying your play based on what cards have already been dealt and therefore what cards are remaining in the deck).

However, and Duhigg should know this if he's going to make definitive statements about blackjack, US casinos except in Atlantic City (every other example in this book is from the US) can and do simply eject players who count cards. (There's a legal decision affecting Atlantic City that makes the story more complicated there.) They also use other techniques (large numbers of decks, frequent reshuffling) to make counting cards far less effective. Even if you are very good at counting cards, this is not a way to win "consistently over time" because you will be told to stop playing. Counting cards is therefore not a matter of memorizing complicated formulas and odds. It's a cat-and-mouse game against human adversaries to disguise your technique enough to not be ejected while still maintaining an edge over the house. This is rather far from Duhigg's description.

Duhigg makes another, if less egregious, error by uncritically accepting the popular interpretation of the Stanford marshmallow experiment. I'll spare you my usual rant about this because The Atlantic has now written it for me. Surprise surprise, new research shows that the original experiment was deeply flawed in its choice of subjects and that the effect drastically decreases once one controls for social and economic background.

So that's one problem: when writing on topics about which I already have some background, he makes some significant errors. The second problem is related: Duhigg's own sources in this book seem unconvinced by the conclusions he's drawing from their research.

Here, I have to give credit to Duhigg for publishing his own criticism, although you won't find it if you read only the main text of the book. Duhigg has extensive end notes (distinct from the much smaller number of footnotes that elaborate on some point) in which he provides excerpts from fact-checking replies he got from the researchers and interview subjects in this book. I read them all after finishing the rest of the book, and I thought a clear pattern emerged. After reading early drafts of portions of the book, many of Duhigg's sources replied with various forms of "well, but." They would say that the research is accurately portrayed, but Duhigg's conclusion isn't justified by the research. Or that Duhigg described part of the research but left out other parts that complicated the picture. Or that Duhigg has simplified dangerously. Or that Duhigg latched on to an ancillary part of their research or their story and ignored the elements that they thought were more central. Note after note reads as a plea to add more nuance, more complication, less certainty, and fewer sweeping conclusions.

Science is messy. Psychological research is particularly messy because humans are very good at doing what they're "supposed" to do, or changing behavior based on subtle cues from the researcher. And most psychological research of the type Duhigg is summarizing is based on very small sample sizes (20-60 people is common) drawn from very unrepresentative populations (often college students who are conveniently near the researchers and cheap to bribe to do weird things while being recorded). When those experiments are redone with larger sample sizes or more representative populations, often they can't be replicated. This is called the replication crisis.

Duhigg is not a scientist. He's a reporter. His job is to take complicated and messy stories and simplify them into entertaining, memorable, and understandable narratives for a mass audience. This is great for making difficult psychological research more approachable, but it also inherently involves amplifying tentative research into rules of human behavior and compelling statements about how humans work. Sometimes this is justified by the current state of the research. Sometimes it isn't. Are Duhigg's core points in this book justified? I don't know and, based on the notes, neither does Duhigg, but none of that uncertainty is on the pages of the main text.

The third problem is less foundational, but seriously hurt my enjoyment of The Power of Habit as a reader: Duhigg's examples are horrific. The first chapter opens with the story of a man whose brain was seriously injured by a viral infection and could no longer form new memories. Later chapters feature a surgeon operating on the wrong side of a stroke victim's brain, a woman who destroyed her life and family through gambling, and a man who murdered his wife in his sleep believing she was an intruder. I grant that these examples are memorable, and some are part of a long psychological tradition of learning about the brain from very extreme examples, but these were not the images that I wanted in my head while reading a book about the science of habits. I'm not sure this topic should require the reader brace themselves against nightmares.

The habit loop, habit substitution, and keystone habits are useful concepts. Capitalist manipulation of your habits is something everyone should be aware of. There are parts of this book that seem worth knowing. But there's also a lot of uncritical glorification of particular companies and scientific sloppiness and dubious assertions in areas I know something about. I didn't feel like I could trust this book, or Duhigg. The pop psychology I like the best is either written by practicing scientists who (hopefully) have a feel for which conclusions are justified by research and which aren't, or admits more questioning and doubt, usually by personalizing the research and talking about what worked for the author. This is neither, and I therefore can't bring myself to recommend it.

Rating: 6 out of 10

2018-07-15: Review: Effective Python

Review: Effective Python, by Brett Slatkin

Publisher Addison-Wesley
Copyright 2015
ISBN 0-13-403428-7
Format Trade paperback
Pages 216

I'm still looking for a programming language book that's as good as Joshua Bloch's Effective Java, which goes beyond its surface mission to provide valuable and deep advice about how to think about software construction and interface design. Effective Python is, sadly, not that book. It settles for being a more pedestrian guide to useful or tricky corners of Python, with a bit of style guide attached (although not as much as I wanted).

Usually I read books like this as part of learning a language, but in this case I'd done some early experimenting with Python and have been using it extensively for my job for about the past four years. I was therefore already familiar with the basics and with some coding style rules, which made this book less useful. This is more of an intermediate than a beginner's book, but if you're familiar with list and hash comprehensions, closures, standard method decorators, context managers, and the global interpreter lock (about my level of experience when I started reading), at least half of this book will be obvious and familiar material.

The most useful part of the book for me was a deep look at Python's object system, including some fully-worked examples of mix-ins, metaclasses, and descriptors. This material was new to me and a bit different than the approach to similar problems in other programming languages I know. I think this is one of the most complex and hard-to-understand parts of Python and will probably use this as a reference the next time I have to deal with complex class machinery. (That said, this is also the part of Python that I think is the hardest to read and understand, so most programs are better off avoiding it.) The description of generators and coroutines was also excellent, and although the basic concepts will be familiar to most people who have done parallelism in other languages, Slatkin's treatment of parallelism and its (severe) limitations in Python was valuable.

But there were also a lot of things that I was surprised weren't covered. Some of these are due to the author deciding to limit the scope to the standard library, so testing only covers unittest and not the (IMO far more useful) pytest third-party module. Some are gaps in the language that the author can't fix (Python's documentation situation for user-written modules is sad). But there was essentially nothing here about distutils or how to publish modules properly, almost nothing about good namespace design and when to put code into __init__.py (a topic crying out for some opinionated recommendations), and an odd lack of mention of any static analysis or linting tools. Most books of this type I've read are noticeably more comprehensive and have a larger focus on how to share your code with others.

Slatkin doesn't even offer much of a style guide, which is usually standard in a book of this sort. He does steer the reader away from a few features (such as else with for loops) and preaches the merits of decomposition and small functions, among other useful tidbits. But it falls well short of Damian Conway's excellent guide for Perl, Perl Best Practices.

Anyone who already knows Python will be wondering how Slatkin handles the conflict between Python 2 and Python 3. The answer is that it mostly doesn't matter, since Slatkin spends little time on the parts of the language that differ. In the few places it matters, Effective Python discusses Python 3 first and then mentions the differences or gaps in Python 2. But there's no general discussion about differences between Python 2 and 3, nor is there any guide to updating your own programs or attempting to be compatible with both versions. That's one of the more common real-world problems in Python at the moment, and was even more so when this book was originally written, so it's an odd omission.

Addison-Wesley did a good job on the printing, including a nice, subtle use of color that made the physical book enjoyable to read. But the downside is that this book has a surprisingly expensive retail ($40 USD) for a fairly thin trade paperback. At the time of this writing, Amazon has it on sale at 64% off, which takes the cost down to about the right territory for what you get.

I'm not sorry I read this, and I learned a few things from it despite having used Python fairly steadily for the last few years. But it's nowhere near good enough to recommend to every Python programmer, and with a bit of willingness to search out on-line articles and study high-quality code bases, you can skip this book entirely and never miss it. I found it oddly unopinionated and unsatisfying in the places where I wish Python had more structure or stronger conventions. This is particularly strange given that it was written by a Google staff engineer and Google has a quite comprehensive and far more opinionated coding style guide for Python.

If you want to dig into some of Python's class and object features or see a detailed example of how to effectively use coroutines, Effective Python is a useful guide. Otherwise, you'll probably learn some things from this book, but it's not going to significantly change how you approach the language.

Rating: 6 out of 10

2018-06-23: Review: The Trouble with Physics

Review: The Trouble with Physics, by Lee Smolin

Publisher Mariner
Copyright 2006
Printing 2007
ISBN 0-618-91868-X
Format Trade paperback
Pages 355

A brief recap of the state of theoretical physics: Quantum mechanics and particle physics have settled on the standard model, which provides an apparently complete inventory of fundamental particles and explains three of the four fundamental forces. This has been very experimentally successful up to and including the recent tentative observation of the Higgs boson, one of the few predictions of the standard model that had yet to be confirmed by experiment. Meanwhile, Einstein's theory of general relativity continues as the accepted explanation of gravity, experimentally verified once again by LIGO and Virgo detection of gravitational waves.

However, there are problems. Perhaps the largest is the independence of these two branches of theoretical physics: quantum mechanics does not include or explain gravity, and general relativity does not sit easily alongside current quantum theory. This causes theoretical understanding to break down in situations where both theories need to be in play simultaneously, such as the very early universe or event horizons of black holes.

There are other problems within both theories as well. Astronomy shows that objects in the universe behave as if there is considerably more mass in galaxies than we've been able to observe (the dark matter problem), but we don't have a satisfying theory of what would make up that mass. Worse, the universe is expanding more rapidly than it should, requiring introduction of a "dark energy" concept with no good theoretical basis. And, on the particle physics side, the standard model requires a large number (around 20, depending on how you measure them) of apparently arbitrary free constants: numbers whose values don't appear to be predicted by any basic laws and therefore could theoretically be set to any value. Worse, if those values are set even very slightly differently than we observe in our universe, the nature of the universe would change beyond recognition. This is an extremely unsatisfying property for an apparently fundamental theory of nature.

Enter string theory, which is the dominant candidate for a deeper, unifying theory behind the standard model and general relativity that tries to account for at least some of these problems. And enter this book, which is a critique of string theory as both a scientific theory and a sociological force within the theoretical physics community.

I should admit up-front that Smolin's goal in writing this book is not the same as my goal in reading it. His primary concern is the hold that string theory has on theoretical physics and the possibility that it is stifling other productive avenues, instead spinning off more and more untestable theories that can be tweaked to explain any experimental result. It may even be leading people to argue against the principles of experimental science itself (more on that in a moment). But to mount his critique for the lay reader, he has to explain the foundations of both accepted theoretical physics and string theory (and a few of the competing alternative theories). That's what I was here for.

About a third of this book is a solid explanation of the history and current problems of theoretical physics for the lay person who is already familiar with basic quantum mechanics and general relativity. Smolin is a faculty member at the Perimeter Institution for Theoretical Physics and has done significant work in string theory, loop quantum gravity (one of the competing attempts to unify quantum mechanics and general relativity), and the (looking dubious) theory of doubly special relativity, so this is an engaged and opinionated overview from an active practitioner. He lays out the gaps in existing theories quite clearly, conveys some of the excitement and disappointment of recent (well, as of 2005) discoveries and unsolved problems, provides a solid if succinct summary of string theory, and manages all of that without relying on too much complex math. This is exactly the sort of thing I was looking for after Brian Greene's The Elegant Universe.

Another third of this book is a detailed critique of string theory, and specifically the assumption that string theory is correct despite its lack of testable predictions and its introduction of new problems. I noted in my review of Greene's book that I was baffled by his embrace of a theory that appears to add even more free variables than the standard model, an objection that he skipped over entirely. Smolin tackles this head-on, along with other troublesome aspects of a theory that is actually an almost infinitely flexible family of theories and whose theorized unification (M-theory) is still just an outline of a hoped-for idea.

The core of Smolin's technical objection to string theory is that it is background-dependent. Like quantum mechanics, it assumes a static space-time backdrop against which particle or string interactions happen. However, general relativity is background-independent; indeed, that's at the core of its theoretical beauty. It states that the shape of space-time itself changes, and is a participant in the physical effects we observe (such as gravity). Smolin argues passionately that background independence is a core requirement for any theory that aims to unify general relativity and quantum mechanics. As long as a theory remains background-dependent, it is, in his view, missing Einstein's key insight.

The core of his sociological objection is that he believes string theory has lost its grounding in experimental verification and has acquired far too much aura of certainty than it deserves given its current state, and has done so partly because of the mundane but pernicious effects of academic and research politics. On this topic, I don't know nearly enough to referee the debate, but his firm dismissal of attempts to justify string theory's weaknesses via the anthropic principle rings true to me. (The anthropic principle, briefly, is the idea that the large number of finely-tuned free constants in theories of physics need not indicate a shortcoming in the theory, but may be that way simply because, if they weren't, we wouldn't be here to observe them.) Smolin's argument is that no other great breakthroughs of physics have had to rely on that type of hand-waving, elegance of a theory isn't sufficient justification to reach for this sort of defense, and that to embrace the anthropic principle and its inherent non-refutability is to turn one's back on the practice of science. I suspect this ruffled some feathers, but Smolin put his finger squarely on the discomfort I feel whenever the anthropic principle comes up in scientific discussions.

The rest of the book lays out some alternatives to string theory and some interesting lines of investigation that, as Smolin puts it, may not pan out but at least are doing real science with falsifiable predictions. This is the place where the book shows its age, and where I frequently needed to do some fast Wikipedia searching. Most of the experiments Smolin points out have proven to be dead ends: we haven't found Lorentz violations, the Pioneer anomaly had an interesting but mundane explanation, and the predictions of modified Newtonian dynamics do not appear to be panning out. But I doubt this would trouble Smolin; as he says in the book, the key to physics for him is to make bold predictions that will often be proven wrong, but that can be experimentally tested one way or another. Most of them will lead to nothing but one can reach a definitive result, unlike theories with so many tunable parameters that all of their observable effects can be hidden.

Despite not having quite the focus I was looking for, I thoroughly enjoyed this book and only wish it were more recent. The physics was pitched at almost exactly the level I wanted. The sociology of theoretical physics was unexpected but fascinating in a different way, although I'm taking it with a grain of salt until I read some opposing views. It's an odd mix of topics, so I'm not sure if it's what any other reader would be looking for, but hopefully I've given enough of an outline above for you to know if you'd be interested.

I'm still looking for the modern sequel to One Two Three... Infinity, and I suspect I may be for my entire life. It's hard to find good popularizations of theoretical physics that aren't just more examples of watching people bounce balls on trains or stand on trampolines with bowling balls. This isn't exactly that, but it's a piece of it, and I'm glad I read it. And I wish Smolin the best of luck in his quest for falsifiable theories and doable experiments.

Rating: 8 out of 10

2018-06-04: Review: The Obelisk Gate

Review: The Obelisk Gate, by N.K. Jemisin

Series The Broken Earth #2
Publisher Orbit
Copyright August 2016
ISBN 0-316-22928-8
Format Kindle
Pages 448

The Obelisk Gate is the sequel to The Fifth Season and picks up right where it left off. This is not a series to read out of order.

The complexity of The Fifth Season's three entwined stories narrows down to two here, which stay mostly distinct. One follows Essun, who found at least a temporary refuge at the end of the previous book and now is split between learning a new community and learning more about the nature of the world and orogeny. The second follows Essun's daughter, whose fate had been left a mystery in the first book. This is the middle book of a trilogy, and it's arguably less packed with major events than the first book, but the echoing ramifications of those events are vast and provide plenty to fill a novel. The Obelisk Gate never felt slow. The space between major events is filled with emotional processing and revelations about the (excellent) underlying world-building.

We do finally learn at least something about the stone-eaters, although many of the details remain murky. We also learn something about Alabaster's goals, which were the constant but mysterious undercurrent of the first book. Mixed with this is the nature of the Guardians (still not quite explicit, but much clearer now than before), the purpose of the obelisks, something of the history that made this world such a hostile place, and the underlying nature of orogeny.

The last might be a touch disappointing to some readers (I admit it was a touch disappointing to me). There are enough glimmers of forgotten technology and alternative explanations that I was wondering if Jemisin was setting up a quasi-technological explanation for orogeny. This book makes it firmly clear that she's not: this is a fantasy, and it involves magic. I have a soft spot in my heart for apparent magic that's some form of technology, so I was a bit sad, but I do appreciate the clarity. The Obelisk Gate is far more open with details and underlying systems (largely because Essun is learning more), which provides a lot of meat for the reader to dig into and understand. And it remains a magitech world that creates artifacts with that magic and uses them (or, more accurately, used them) to build advanced civilizations. I still see some potential pitfalls for the third book, depending on how Jemisin reconciles this background with one quasi-spiritual force she's introduced, but the world building has been so good that I have high hopes those pitfalls will be avoided.

The world-building is not the best part of this book, though. That's the characters, and specifically the characters' emotions. Jemisin manages the feat of both giving protagonists enough agency that the story doesn't feel helpless while still capturing the submerged rage and cautious suspicion that develops when the world is not on your side. As with the first book of this series, Jemisin captures the nuances, variations, and consequences of anger in a way that makes most of fiction feel shallow.

I realized, while reading this book, that so many action-oriented and plot-driven novels show anger in only two ways, which I'll call "HULK SMASH!" and "dark side" anger. The first is the righteous anger when the protagonist has finally had enough, taps some heretofore unknown reservoir of power, and brings the hurt to people who greatly deserved it. The second is the Star Wars cliche: anger that leads to hate and suffering, which the protagonist has to learn to control and the villain gives into. I hadn't realized how rarely one sees any other type of anger until Jemisin so vividly showed me the vast range of human reaction that this dichotomy leaves out.

The most obvious missing piece is that both of those modes of anger are active and empowered. Both are the anger of someone who can change the world. The argument between them is whether anger changes the world in a good way or a bad way, but the ability of the angry person to act on that anger and for that anger to be respected in some way by the world is left unquestioned. One might, rarely, see helpless anger, but it's usually just the build-up to a "HULK SMASH!" moment (or, sometimes, leads to a depressing sort of futility that makes me not want to read the book at all).

The Obelisk Gate felt like a vast opening-up of emotional depth that has a more complicated relationship to power: hard-earned bitterness that brings necessary caution, angry cynicism that's sometimes wrong but sometimes right, controlled anger, anger redirected as energy into other actions, anger that flares and subsides but doesn't disappear. Anger that one has to live with, and work around, and understand, instead of getting an easy catharsis. Anger with tradeoffs and sacrifices that the character makes consciously, affected by emotion but not driven by it. There is a moment in this book where one character experiences anger as an overwhelming wave of tiredness, a sharp realization that they're just so utterly done with being angry all the time, where the emotion suddenly shifts into something more introspective. It was a beautifully-captured moment of character depth that I don't remember seeing in another book.

This may sound like it would be depressing and exhausting to read, but at least for me it wasn't at all. I didn't feel like I was drowning in negative emotions — largely, I think, because Jemisin is so good at giving her characters agency without having the world give it to them by default. The protagonists are self-aware. They know what they're angry about, they know when anger can be useful and when it isn't, and they know how to guide it and live with it. It feels more empowering because it has to be fought for, carved out of a hostile world, earned with knowledge and practice and stubborn determination. Particularly in Essun, Jemisin is writing an adult whose life is full of joys and miseries, who doesn't forget her emotions but also isn't controlled by them, and who doesn't have the luxury of either being swept away by anger or reaching some zen state of unperturbed calm.

I think one key to how Jemisin pulls this off is the second-person perspective used for Essun's part of the book (and carried over into the other strand, which has the same narrator but a different perspective since this story is being told to Essun). That's another surprise, since normally this style strikes me as affected and artificial, but here it serves the vital purpose of giving the reader a bit of additional distance from Essun's emotions. Following an emotionally calmer retelling of someone else's perspective on Essun made it easier to admire what Jemisin is doing with the nuances of anger without getting too caught up in it.

It helps considerably that the second-person perspective here has a solid in-story justification (not explicitly explained here, but reasonably obvious by the end of the book), and is not simply a gimmick. The answers to who is telling this story and why they're telling it to a protagonist inside the story are important, intriguing, and relevant.

This series is doing something very special, and I'm glad I stuck to it through the confusing and difficult parts in the first book. There's a reason why every book in it was nominated for the Hugo and The Obelisk Gate won in 2017 (and The Fifth Season in 2016). Despite being the middle book of a trilogy, and therefore still leaving unresolved questions, this book was even better than The Fifth Season, which already set a high bar. This is very skillful and very original work and well worth the investment of time (and emotion).

Followed by The Stone Sky.

Rating: 9 out of 10

2018-06-03: rra-c-util 7.2

rra-c-util is my collection of portability and utility code that I reuse in all the C and Perl projects I maintain.

Most of the changes in this release are Autoconf macro improvements prompted by Julien ÉLIE. This release incorporates his work on RRA_PROG_PYTHON, RRA_LIB_PYTHON, and RRA_PYTHON_MODULE macros, which support both Python 2 and Python 3. It also improves the RRA_PROG_PERL macro to make PERL a substitution variable and to check that building against libperl actually works. Finally, RRA_LIB_BDB, RRA_LIB_OPENSSL, RRA_LIB_SASL, and RRA_LIB_ZLIB now check that the headers for the library are found as well as the library itself (based on Julien's work in INN).

The docs/urls test, which was always misnamed, is now style/obsolete-strings, since its role is to check for obsolete patterns in my code (old URLs, that sort of thing). It now checks for my old RRA_MAINTAINER_TESTS environment variable, which I replaced with the Perl Lancaster Consensus environment variables a long time ago.

This release also fixes a few more minor issues with test code and the script to update the version of all Perl modules in a package.

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

2018-06-03: wallet 1.4

wallet is a secret management system that I developed at Stanford, primarily to distribute keytab management. As mentioned in an earlier post, I'm not entirely sure it has significant advantages over Vault, but it does handle Kerberos natively and we're still using it for some things, so I'm still maintaining it.

This release incorporates a bunch of improvements to the experimental support for managing keytabs for Active Directory principals, all contributed by Bill MacAllister and Dropbox. Anyone using the previous experimental Active Directory support should read through the configuration options, since quite a lot has changed (for the better).

Also fixed in this release are some stray strlcpy and strlcat references that were breaking systems that include them in libc, better krb5.conf configuration handling, better support for Perl in non-standard locations, and a bunch of updates and modernization to the build and test frameworks.

You can get the latest release from the wallet distribution page.

Last spun 2018-09-25 from thread modified 2008-08-13