Archive for the ‘General’ Category

Review: A Psalm for the Wild-Built

Saturday, July 15th, 2023

I think is one of the best novellas I’ve read, but I also think it’s got a long fuse. I enjoyed reading it and I’ve continued to marvel at how revolutionary and well written it is. If one doesn’t think deeply about it, I can imagine this being a neat, quick SF read. Kind of like what I thought of The Plot – and I liked The Plot. I definitely think it’s worth the time to chew on this book. Becky Chambers doesn’t need my kudos, what with the Hugo and all, but I was quite blown away as the fuse went off.

If you want the joy of discovering the book yourself, stop reading here. I don’t have any plot spoilers in here, but I am going to talk about other aspects of the work that I think might be more fun to discover unprompted.

As I say, when I first read this it felt enjoyable and low stakes. The setting and characters were charming, there was a quest to go on, a sudden unexpected first contact between civilizations separated for an age (the sentient robots humans built and the humans). The sort of SF tropes you’d expect from a post-apocalyptic SF novella. But, like I say, low stakes: personal rather than galactic. Engaging. Fun.

But the cover mentioned a Hugo. And I had this nagging feeling that something was going on that I was missing. So I ruminated. And then the penny dropped.

This is a post-apocalyptic SF novella in which the concept of violence between sentients is completely absent. It’s not just that there is no fighting. The concept of violence never occurs to the protagonist nor is there any indication it occurs to the robot they encounter. No threats. Not even a violent metaphor or joshing punch on the arm. If these societies know that sentients can be violent with one another, I’m guessing it would be the kind of taboo that would excite fundamental revulsion. And at this point I have to guess.

Once I realized that, I thought about how fundamental violence or the threat thereof is to SF and other genre fiction. I cannot think of another SF story in which the idea of violence is completely absent. Just to make that point more strongly, it took me quite some time to characterize the revulsion in the previous paragraph in some way that captured its scope without using a violent word, and I’m not writing genre fiction.

SF invites writers and readers to consider a world fundamentally different than our own and see what that says about ours. This is a big swing at world building.

Before I read this, I would have assumed that you couldn’t write an engaging work without reference to violence committed by sentients. But, I read this and didn’t notice the absence until I ruminated. It is a huge challenge to set for yourself as a writer. That Chambers succeeded gobsmacks me.

The more I’ve thought about it – and I can’t stop thinking about it – the more fundamental ideas are woven in here. Those ideas are all slipped in quietly. But once I see a fuse, I know they light firecracker strings as well as single bombs.

There is more to come in this series (OK, it’s out but I’m slow) and I’m all in. But just chewing on this is well worth it.

A must.

Review: The War on the Border

Monday, September 5th, 2022

I quite liked Jeff Guinn’s The War on the Border, which is a lively, readable, well researched history of a series of US incursions into Mexico in the 1910’s and the general mayhem that precipitated them. It’s stuff like this that I missed in history class and that explains so much.

There’s a lot of nasty feeling in the Southwest on both sides of the border that was hard for me to internalize until I read this and learned that people on both sides of the US/Mexico border have been committing mayhem on a scale I hadn’t realized. Some of it at the behest of governments and some freelance. Pancho Villa did his best to wipe out a New Mexico town in 1916 and there was a document called la Plan de San Diego that claimed to lay out a terrorist strategy predicated on destroying US towns. On the other side Texas Rangers acted as judge and jury and retaliated with little regard for guilt.

It’s easy to forget that US history is full of border wars with these sort of violent confrontations between families wronged by folks on the other side of the border, who in turn commit mayhem, gangs form that turn into armies and generations of hate bore into the land. Guinn doesn’t go into all of that, but it’s hard not to see it all from these events.

Beyond the lawless land grabbery and revenge battles, there is international intrigue in the forms of Mexican revolutions, counter revolutions, and local warlords that are exacerbated by actual German interference to keep the pot bubbling to keep the US distracted and out of World War I.

Guinn does a great job bringing all those levels into focus as well as highlighting some genuinely dramatic figures – Pancho Villa, “Black Jack” Pershing, Patton. Quite a good read.

Strongly Recommended.

March is grap month

Saturday, March 12th, 2022

OK, not really, but I have had someone inquire about using grap and a notice that it has been included in the Free Software Foundation’s Free Software Directory.

Fans of archaic typesetting software, rejoice!

Grap release

Wednesday, June 10th, 2020

If you’re looking for another harbinger of the End Times, consider this grap release. The changes are minor, but the code is now available from github.


Review: In The Dream House

Sunday, March 22nd, 2020

Carmen Maria Machado has brought a remarkably powerful work into the world with In The Dream House. Any short summary would belie the honesty, power, and craft she employed. That said, it’s a memoir of her years as a victim in an abusive relationship.

Abuse is complicated, layered and yet invites simple judgement from us. Everyone has preconceptions about what it is and perhaps insight from being involved. Whether the reader believes that one brings it on oneself or that the abusers are possessed by overriding malice or many many other explanations, each person and relationship differs.

Machado tells her story in tiny, bite-sized chapters that slowly cohere into the narrative. They also cohere into an introduction to her remarkable mind. She has dissected her experience deeply from many angles. Each chapter is a facet of those thoughts, captured at different moments in time and reflecting aspects of the situation. That creates bounds around her experience that neither define or encapsulate it. Other people’s experience is never our own, and Machado doesn’t let us believe so. The corral she draws around the thing clarifies it remarkably.

She attacks the thing from so many perspectives. She is a scholar of the literature and the statistics. She is a queer woman living with her understanding of others’ assumptions and judgements. She has dug deeply into how those preconceptions have shaped her own ideas of her identity. She is a hurt child. She is a Star Trek fan. She is a literary scholar. She is a young, sociable college student. She is a writer. And so, so, much more. She is a human, and one I find remarkable.

I have to stress hat last facet – being a writer – because she is a remarkable one. Each of these facets is a gem in itself. The memories are evocative and poetic. The musings are clear while capturing the thoughts that led her to them. The scholarship is professional. And the whole thing intertwines in ways that make it all more of what each is.

A must.

Review: How Long ’til Black Future Month?

Saturday, January 11th, 2020

So often when I review short story collections I start by saying that they’re a mixed bag, which is me basically saying that the quality is uneven. Black Future Month is mixed, but all the stories work for me.

That surprised me a little because the stories really cover a lot of ground. If N K Jemisin has a lane, she clearly doesn’t need to stay in it. OK, very broadly speaking you could call all of these SF, but one could easily defend several as outside that domain.

More importantly than which Dewey Decimal number I assign the collection, I found all of them entertaining and most thought-provoking. Some play with storytelling, some subvert genre conventions, and all are just good stories.

With a title like this one, it’s easy to imagine that the point of the writing is to provoke reactions, especially given the state of the SF community. Jemisin walks a difficult line with boldness and panache. She is intentionally challenging many assumptions that underlie SF, but that’s never the whole point of a story. These are SF stories, and ideas and themes have center stage. By illuminating those themes from unfamiliar angles, these stories sparked new ideas for me.

Big picture issues aside, everyone in these stories is believable. All SF authors manipulate their characters to highlight the speculation inherent in the fiction. Jemisin’s people always ring true. I never thought that someone playing by her rules in the worlds she puts them in were acting like characters. They were people. (That reinforces the inclusion and representation goals, of course.)

Overall an interesting and exciting set of stories.

Strongly Recommended.

Brush With Tragedy

Saturday, November 23rd, 2019

I was horrified to see that a motorist had hit and killed a cyclist along my daily commuting route on Thursday morning. I was further surprised when I realized that I had passed the scene soon enough after the collision that the police were still on the scene and had the street shut down.

I didn’t see the accident, so all I can do is give my sympathies and a few impressions of that area. I’m just going to post those here to contribute what I can to understanding and sympathy.

The Scene

The intersection in question is somewhat challenging, but far from the worst I see on a regular basis. The intersection is treacherous because of the fork and joining of Olive and Manchester. There’s no good way for northbound bike traffic to continue up Manchester without northbound Olive traffic posing a risk. I wasn’t there, so I have no idea if that contributed.

Most of the people I see on bikes in that area are riding simple cruiser kinds of bikes. They look like folks who are making short trips from a bus stop to work or between some of the dispersed work locations – lots of car lots/parking lots there. That also means there are come car carriers and other commercial vehicles in the area regularly that can make it hard to see what’s happening.

Again, my sympathies to the families and friends. Thanks to the indispensable Biking In LA blog for keeping us all aware.

Reading List 2018

Sunday, January 13th, 2019

I read 34 books in 2018. Here are the ones I strongly recommended

I either read better stuff, or my grading is getting softer. You can see the full list of my 2018 capsules.

Histograms in grap

Saturday, July 28th, 2018

I know everyone loves it when I talk about arcane typesetting languages, so here’s a response to a fellow who wanted to replicate the histograms at in grap.


Attached is a commented grap/groff file that draws something like both
histograms.  I commented the grap to explain what I was up to (comments
start with .\"), but feel free to ask about anything that's confusing.

I didn't see immediately how he set the widths of his histogram
bars/buckets, so I used 10-pound-wide buckets centered on 105,110,115...
for all crew (blue) and 5-pound-wide buckets centered on
105,110,115,120... for the rowers (green).  (The bucket width is both
the clustering range and the width of the histogram bars.)

I've attached the grap/groff (called, the data file I used
called data, and the postscript it generates when I call

$ groff -Gp hist >

on my ubuntu box with groff and grap installed.

I used grap 1.45 from a stock ubuntu .deb.

If I wanted to do this same task as flexibly as possible, I'd probably
preprocess the data using a scripting language and then generate grap
output that I'd run through groff as above.  I'm slowly writing a pic to
svg program in my spare time that would make that more portable to use.

Hope that helps some.

The grap script looks like this:

.\" Initialize globals
tot105 = tot115 = tot125 = tot135 = tot145 = tot155 = 0
tot165 = tot175 = tot185 = tot195 = tot205 = tot215 = 0

rtot105 = rtot115 = rtot125 = rtot135 = rtot145 = rtot155 = 0
rtot165 = rtot175 = rtot185 = rtot195 = rtot205 = rtot215 = 0
rtot110 = rtot120 = rtot130 = rtot140 = rtot150 = 0
rtot160 = rtot170 = rtot180 = rtot190 = rtot200 = rtot210 = 0

.\" between takes teh following args in order
.\" $1: value to test
.\" $2: center of bucket
.\" $3: bucket width
.\" $4: variable stem
.\" if the test value is in the bucket (between the center +/- width/2) 
.\" the macro increments the variable made from concatenating the stem and
.\" the bucket center.
define between {
  if ($1 >= $2-($3/2) && $1 < $2+($3/2) ) then {
    $4$2 = $4$2 + 1

.\" Copy the test data through between calls to set the globals
copy "data" thru {
  if ($3 == 1) then {

.\" Set up the coordinates and the ticks to match the example
coord x 100, 220 y 0,8
ticks bot in 0.02 down 0.04 from 100 to 220 by 20
ticks top in 0.02 from 100 to 220 by 20 ""
ticks left in 0.02 left 0.08 from 0 to 8
ticks right in 0.02 from 0 to 8 ""
label left "Number of Members"
label bot "Weight in Pounds"
label top "The Boat Race Crew Histograms" size +2

.\" Draw bars for both kinds of crew
bar up 105 ht tot105 wid 10 fillcolor "blue"
bar up 115 ht tot115 wid 10 fillcolor "blue"
bar up 125 ht tot125 wid 10 fillcolor "blue"
bar up 135 ht tot135 wid 10 fillcolor "blue"
bar up 145 ht tot145 wid 10 fillcolor "blue"
bar up 155 ht tot155 wid 10 fillcolor "blue"
bar up 165 ht tot165 wid 10 fillcolor "blue"
bar up 175 ht tot175 wid 10 fillcolor "blue"
bar up 185 ht tot185 wid 10 fillcolor "blue"
bar up 195 ht tot195 wid 10 fillcolor "blue"
bar up 205 ht tot205 wid 10 fillcolor "blue"
bar up 215 ht tot215 wid 10 fillcolor "blue"

.\" Draw bars for rowers
bar up 105 ht rtot105 wid 5 fillcolor "forestgreen"
bar up 110 ht rtot110 wid 5 fillcolor "forestgreen"
bar up 115 ht rtot115 wid 5 fillcolor "forestgreen"
bar up 120 ht rtot120 wid 5 fillcolor "forestgreen"
bar up 125 ht rtot125 wid 5 fillcolor "forestgreen"
bar up 130 ht rtot130 wid 5 fillcolor "forestgreen"
bar up 135 ht rtot135 wid 5 fillcolor "forestgreen"
bar up 140 ht rtot140 wid 5 fillcolor "forestgreen"
bar up 145 ht rtot145 wid 5 fillcolor "forestgreen"
bar up 150 ht rtot150 wid 5 fillcolor "forestgreen"
bar up 155 ht rtot155 wid 5 fillcolor "forestgreen"
bar up 160 ht rtot160 wid 5 fillcolor "forestgreen"
bar up 165 ht rtot165 wid 5 fillcolor "forestgreen"
bar up 170 ht rtot170 wid 5 fillcolor "forestgreen"
bar up 175 ht rtot175 wid 5 fillcolor "forestgreen"
bar up 180 ht rtot180 wid 5 fillcolor "forestgreen"
bar up 185 ht rtot185 wid 5 fillcolor "forestgreen"
bar up 190 ht rtot190 wid 5 fillcolor "forestgreen"
bar up 195 ht rtot195 wid 5 fillcolor "forestgreen"
bar up 200 ht rtot200 wid 5 fillcolor "forestgreen"
bar up 205 ht rtot205 wid 5 fillcolor "forestgreen"
bar up 210 ht rtot210 wid 5 fillcolor "forestgreen"
bar up 215 ht rtot215 wid 5 fillcolor "forestgreen"

.\" Draw a key (Note that the positions here are in the histogram coordinates)
bar 102, 7.8, 155, 6.5
bar 105, 7.6, 120, 7.2 fillcolor "blue"
bar 105, 7.0, 120, 6.6 fillcolor "forestgreen"
"rowers and coxswains" ljust size -4 at 122, 7.4
"rowers and coxswains" ljust size -4 at 122, 6.8


Review: Astrophysics for People In A Hurry

Sunday, May 6th, 2018

This collection of essays from Neil deGrasse Tyson warmed my heart, but didn’t delight me.  That may say more about me and prejudices – having read Asimov’s math & science essays as a kid – than Tyson’s writing.  He’s writing about interesting stuff.  He’s engaging.  He illustrates difficult concepts with interesting analogies.  He taught me things I didn’t know.  But I still come off more warmed than excited.

If you – or your kids – have any interest in cosmology and astrophysics take a look.  If you want to find out if you have an interest in those things, have a look.