OF COURSE She’s Beautiful

I haven’t been getting much writing done lately, and an important way to break out of that slump is to make sure I spend more time reading. So this afternoon I was poking around the ol’ virtual bookstore looking for one of those free “first taste” novels indented to get one hooked on a series.

Today I found a book by Morgan Rice, the first of eight installments (and, presumably, counting.) That many installments in the story can be a red flag; the world does not need another Robert Jordan fumbling his way though an epic he knew how to start but not how to finish. As each book of Wheel of Time got longer, the amount that actually happened went down.

That notwithstanding, if each installment of the saga can show vestiges of a beginning, a middle, and an end, it could be a fun read.

There is one thing that annoyed me right off the bat, however. This is the first sentence of the blurb:

17 year old Ceres, a beautiful, poor girl in the Empire city of Delos, lives the harsh and unforgiving life of a commoner.

Beautiful. Not “resourceful”, not “paranoid schizophrenic”, not even “headstrong” (which is awful for different reasons). From that sentence, I am left to believe that her primary tool for escaping poverty will be her beauty. That’s the least-interesting tool imaginable.

And come on, she’s the hero in a pulp drama. There is no way anyone on this side of the blurb even considered the possibility that she might not be beautiful, or that the most worthwhile men she meets won’t also be beautiful. I get it; the beauty is part of a fantasy shared by the primary audience of this story. But the first high-impact word in the blurb — arguably the most import word in the whole description, the one word that will influence the success of the novel more than any other single word — is a throwaway.

She’s beautiful. Big fuckin’ deal.

For Some Reason, there are Hungry Children in this Nation

Call yourself a Reublocrat or a Democlan, I think when pressed you would have to agree that the presence of hungry children in this prosperous nation is preposterous. It’s mind-boggling to me that we even have to have fundraisers to make sure kids in this country have enough to eat.

But here’s a fundraiser so that at least a few kids can get a meal at least once a day, for a while. Structural change is needed, but for now, let’s just make sure the kids get enough to eat.

In this case, you can get a signed photo of Harlean (taken by me). I am sometimes surprised at the results our shoots. Even better, there are books by the most awesome William Taylor Jr., a writer of words that make you think.

On top of all that, there’s the painting based on the photo I took of Harlean.

But if you don’t want any of that stuff, you can just throw cash, and let my employer match magnify your contribution.

It starts at https://poeticpinup.com/nkhfundraiser/

It ends when we don’t have to do shit like this.

1

An Unexected Disaster

I have been jonesing to get some writing done, so rather than go straight home, I went to one of my favorite local taverns. I ordered a beer, and while I was rearing to send a message to my sweetie informing her of my decision, I lifted my beer off the table.

Only, it was just the to half of my beer that lifted; the bottom half remained rooted on the coaster, and a full mugs-worth of beer gushed forth, cascading over the table, over my clothes, and over my lato.

Immediately I hoisted my comuter over the flood, shaking it to rid the keyboard of moisture. Waitstaff resonded quickly, with towels and aologies, but it seemed no lasting harm had been done.

I came home, still determined to get some writing done. But, it seems, there is a catch.

One key doesn’t work. I’d tell you what that key is, but I can’t tye it. erhas you can guess which key it is.

Addendum: I took the laptop to my company’s repair depot. “We get a lot like this on Mondays.”

I heard back this evening: All systems show signs of liquid damage. Recommendation: replace the computer. Just for the p key? And maybe the sound, but I never have the sound turned on anyway. (Seriously, never.) But… all systems.

I’m typing on a loaner right now, a machine that will probably become my new portable. No biggie, I really don’t need massive specs or super-duper whatnot, except for one thing. The other screen had a lot more pixels. That means a lot more lines of code. I’m feeling constricted.

3

Baseball Thoughts

I spent the day with baseball in the background while I cursed at computers (cursing at computers is my day job). At first it was a forgettable contest that the A’s found a way to lose, then a really good game between the Dodgers and the Cubs.

You know it’s a good baseball game when two players are described as “hockey players” because of the way they play. There’s not much of a better compliment you can give a player of any sport than to compare them to hockey players. “That guy plays like a soccer player,” would not be flattering. Even an American football player would be flattered to be compared to a hockey player.

That there was enough grit in this game to invite the hockey comparison was a good start. Then there were two strong pitchers, and two managers with a lot to do. It was a National League game, and would not have been nearly as intricate with the designated hitter rule. (No! Nay! Never! to the DH in the National League!)

In contrast, The San Diego Padres were visiting their pals in Denver, for the conclusion of a pitching-optional statfest in which we were reminded that the “modern era” in baseball starts in the year 1900. Because there were numbers coming out of this matchup that transcended time. Any one of the games in this series would have raised eyebrows with ridiculous scoring, but what good out was the sustained, continuous ridiculousness that happened over the last four days in Denver.

The games were downright silly, resembling NBA back-and-forth over baseball’s rare-burst scoring.

Aside: In Soccer, scoring is rare, and most of the time not likely. In hockey, scoring is rare but almost always possible. In baseball, scoring is rare, but points come in batches — the winning team is the one that gets the most out of each batch, and there are players whose specific skill is stopping the other team’s run. In the NBA, if you defense succeeds half the time, you will go down in history.

Even though the fuckin’ Dodgers won, it was a great game, the outcome uncertain up to the last diving catch of a dying flare. If that ball had hit the grass, the game would have gone the other way. And that’s sports.

For Some Large Values of Two

Spanish, apparently, is a more honest language.

2

Burn by James Patrick Kelly

I was bopping around looking for some good ol’ space opera to read, and I came across Burn by James Patrick Kelly instead. I found it on manybooks.net, and after I registered I sat down to read it.

It’s really good.

We get a glimpse of far-future humankind, with tech that borders on magic, but there’s also a little mysticism. Or at least luck. That future is merely a backdrop, however; the actual conflicts, the personal and the political, are very human, and told from the point of view of Spur, someone we can understand. His acestors decided to abandon the tech and go back to a simpler life. While Spur knows that the “upside” exists and is filled with tech marvels, he also knows that the same technology at some point must undermine the humanity of those who wield it.

Of course he knows that; he’s been taught that his entire life.

There’s a shade of Buck Rodgers here — not the swashbuckling space hero nonsense I love so much, but “the future as seen by someone like me” narrative. Except Buck doesn’t have to deal with differences between past and future that are quite so fundamental as the ones Spur struggles with.

Spur is badly wounded fighting a fire that is almost a diabolical intelligence on its own. While convalescing he is in a hospital that gives him, for the first time in his life, a glimpse of the upside.

While healing, Spur is given a chance to reach out to the universe. It is a guilty pleasure, an idle conceit as he convalesces, one he knows his friends will not approve of. He pokes at the universe, almost randomly. But then the universe answers back. The fuckin’ universe answers back. Luck, it’s just luck. The event that triggers this story (or the part of the story we see here), is one of near-fantastic luck. It would be difficult to swallow, except, well, luck is a real thing.

The author does an admirable job of avoiding judgement; there is no absolute “right” and “wrong”. While characters make judgements, the author does well to not color the debate with his own leanings. One person says “terrorist”, another says “martyr.” “Us” and “them” gets tangled. And there are subtle elements, as well. Spur is married, but the marriage is on the rocks. There are the usual reasons, but perhaps he was in love with someone else all along.

One quibble: if pukpuk had been capitalized like most organizations of humans are, I would have parsed the opening sequence (which is pretty hectic) more cleanly.

Like all human conflicts, not everything is wrapped up in a neat package at the end of this story. The immediate conflict is resolved in a satisfying way, and the final choice Spur makes rings true. There are still large questions outstanding, about the future of the planet and the clever indigenous species. But Spur has had a taste of what the upside has to offer, and in the end this story is about him, and the choice he must make.

I wrote some of the above on the manybooks.net site, then I decided to share my findings here as well. As per tradition, I went to Amazon to get links to share. It was then that I learned that this story has earned the Hugo and Nebula awards. Well then!

Note: if you use the above link to buy the book (or an Antique Silver Multi Cut Rhinestone Bridal Royal Tiara Headband) from Amazon, I get a kickback.

I Just Want To…

Any time a user laments, “I just want to…” you have encountered a software failure. The failure might be in the design, it might be in the implementation, it might just be in an overloaded server somewhere.

But “I just want to” is real, and if UI designers and the engineers that support them heard every “I just want to” out there — millions every day, I’d bet — then the software we use every day would be a lot better.

Because here’s the thing: “I just want to” is followed almost always with a well-defined use case, often with a very realistic expectation.

As a software guy I can tell you that often the requirements we get for making the things we make are horribly vague.We make those applications to spec (as far as we can tell) and feel good until actual humans start to use the system.

During testing of a system, you get fairly convoluted feedback. But that frustrated voice saying “I just want to” is almost always followed by a very specific and reproducible case. tonight, I just want to add a link in WordPress 5 that has a description that is not identical to the URL.

That’s a REALLY DAMN BASIC THING. But I don’t see how to do it. I’m sure it’s possible; WordPress 5 block editor couldn’t possibly be that impaired.

Less-ethical companies might just keep the mikes on and listen for “I just want to…”. But if I could say “Hey Siri, I just want to put a link in WordPress 5 with a different description,” and Siri said, “Well, have you tried…” and when I say “Yeah, that doesn’t work,” Siri would say, “I will tell WordPress that all you want to do is…” and the bug report would be filed.

I just want to tell Siri my problem and have it be handled.

2

Ah, Marketing

Science: As far as we can tell, the gasoline you choose has no effect on your mileage.

Chevron: No gasoline has been shown to give better mileage than Chevron!

1

The Year Uncle Solomon Saved the Crop

That is what my family calls that year, anyway. Other people around here have different names for the event, but right up front I want to remind you that whatever they have to say, they wouldn’t be saying it if they had starved to death.

Life on a colony is never easy in those first few years; you are on a planet that has plenty of protein (or something like protein), but nothing the human newcomers can metabolize. There follows a time of biological warfare, as humans try to assert flora and fauna friendly to their metabolisms into the local ecology. There is a great deal of preparation, and megahours of simulation time, but sometimes the unexpected happens, and colonies die.

The scientific papers now call it a “loose gene”, but at our colony on Peridon IV we called it “What the fuck just happened?” Any time you thought you had a handle on things, everything changed. A new virus, a new weed, or perhaps new Big Fucking Bugs.

We had managed to establish a grain with a distant relationship to barley, but the planet had resisted most of our other imports, in a rolling battle with our geneticists, who were ever trying to gain the upper hand. We were making progress, however, and the barley was the triumph that would give us a little more time to tame the planet.

While the planet had sported hundreds of catalogued varieties of Large Interesting Bugs, the BFB’s came from nowhere. They were 10cm armored appetites, implacable and fearless in their quest for nutrition. And while our vegetation was just as unpalatable to their pests as their vegetation was to us, somehow the BFB’s had evolved over two growing seasons to be voracious for our barley. Just like that, Peridon IV’s loose gene had surmounted the protein gap.

We threw everything we had at the BFB’s of course — chemicals, viruses, you name it. They adapted around each attempt to eradicate them. Enter Uncle Solomon.

He was not, technically speaking, a scientist, and it is not officially known how he got access to the genetics lab. (Unofficially, he was sleeping with the chief scientist.) But Uncle Solomon was in the “Live to regret it” school of action, and on the day we were preparing to burn half our fields so that we might save the other half, my uncle emerged from the lab with a very large box, which he pulled behind him on a motorized wagon.

“Stay your flames!” he cried out, and perhaps because of the archaic language we paused. He smiled, stopped next to one of the infested fields, opened his box, and unto Peridon came the Even Bigger Fucking Spiders.

Uncle Solomon has been vague about where some of the DNA for his creation came from. The loose gene is in there, however, along with the BFB’s crossover metabolism. Uncle Solomon’s spiders were an enormous success, demolishing the BFB population.

And, alas, the Large Interesting Bug population. And all the other indigenous bugs as well. The crops were saved. WE were saved.

We just have to be a little more careful now, is all. Our crops are absolutely safe — there are no vegetarian spiders, and Uncle Solomon’s creations (and the loose-gene spinoffs) are true to that rule. And after the spiders eradicated the pollinators we needed to sustain our crops, a new sort of spider emerged to fill that role. That has to mean something, yes?

It will be a few more years (or at least months) before the spiders evolve to the point they can breach body armor or penetrate a reinforced home. That’s plenty of time for Uncle Solomon to come up with something that can eat the spiders.

1

It’s Funny Because it’s Painful

I just heard an ad that said “millions of Americans can’t be wrong.”

1

Silicon Valley’s Heartbeat

Today on the way to work I saw three brand-new Teslas, and an Audi R8 (Audi’s V-10 powered street-legal race car) with temporary plates. On the way home I saw another new R8, and a bright yellow McLaren fresh from the dealership. Did you know that Maserati has an SUV (SuV)? I didn’t until this afternoon. And of course there were more new Teslas.

At one point on the way to work I was peering through the windows of the Tesla Model M in front of me to see if the Tesla Model X in front of it was also brand-new.

The sales team up the highway at Tesla Central must salivate over April 16th.

In mid-April and in mid-October, employee stock grants at Apple vest. I assume Google has a similar schedule, along with all the other large tech companies in the area. Including, I imagine, Tesla. (Note: I couldn’t come up with the right Facebook wisecrack to put here.)

Twice a year, there is a gush of cash from the tech companies, and with it a surge in spending on real estate and fancy cars. It’s probably good to be in sales here; you can go on vacation during the months of May, June, November, and December, and still be around to glut when that mighty money heart pumps once more.

I am now part of this heartbeat as well, but not to the frivolous-quarter-million-dollar-car level. For me the stock vesting is a windfall to invest, so that I might one day not have to work at all. This year the investment also helps family members, which makes it double-cool. Alas, for me there will be no Audi R8 Spyder. It’s a mid-engine convertible that can do 150 as easily as I can sneeze, but it looks a little butt-heavy to me anyway.

1

The Creche

The children sat in a semi-circle in the grass, seventeen of them, aged three to nine in traditional years, their eyes fixed on Evie the storyteller, who sat cross-legged at the focus of the children, the Holy Book in her hand. The petite brown woman smiled, a little wistfully, and opened the Book. “Today I would like to tell you about Earth.”

Willi had to smile as he watched the younger kids sit forward eagerly while the older kids rolled their eyes. Will relaxed on his bench, partially concealed by the lush vegetation of the creche, but not actually hiding.

“Earth was a beautiful place,” Evie said. “It was like this,” she said, waving at the vegetation as it flourished under the lights of the creche, “but the air was sweet — and above,” she glanced at the gray metal over their heads, “above was the sky. It was like a ceiling, but far, far, above. And sometimes, water would fall out of the sky, and the people would dance with joy.”

Willi watched as one of the older children leaned over to the boy sitting next to her. With a thought and a gesture Willi tapped into her audio. “And then we fucked it up, because we are greedy mammal bastards.”

Willi groaned but he was watching today for precisely this event. He stood and cleared his throat softly. “Malika, would you come with me, please?”

The girl swung around and looked at him, her brown eyes wide in her pale face. “I didn’t…”

“Come with me.”

She stood and pulled at her jumpsuit, which didn’t fit her very well. Too small. They grow like weeds at that age, Willi thought. But there was no place for weeds here. Not in this garden.

Tears were escaping her eyes as she walked away from the other children. They watched her go with stony faces, internalizing the most important lesson of the day: There are some things you never say out loud.

Malika stood in front of Willi, her eyes fixed on his feet. He reached out and put his hand on her skinny shoulder and felt her shaking. “Am I compost?” she asked.

Willi let out a slow breath. He used his hand on Malika’s shoulder to steer her toward the exit. “We are all compost. But before we are fed to the grinder, we must justify the resources we consume.” To make his point he touched a control and the heavy door cycled open, revealing the stark passageways of the starship. Even outside the creche, the air in the sections used by the mammals was heavy with moisture and fizzing with oxygen. Expensive air.

“It is delicate,” Willi said, knowing that all his words might be heard, the same way he had eavesdropped on Malika.

She was crying now. “Please,” she said, as fluid ran out of her eyes and her nose. No matter how efficient the recycling was on the ship, the crew would never be able to condone such waste.

Willi leaned in close and whispered, “They resent us.” Her eyes widened and Willi gave her a tight smile. “For any one of us, the ship could support ten of them. Ten of them awake.” The lizards would hear those words, but that was all right. This was just part of the curriculum. Every kid got this lecture eventually, in one form or another.

“They hate us? Why do they keep us?”

Behind them the door to the creche closed, and they walked down the sterile gray passage, with no particular destination.

“No, they don’t hate us. They don’t — they aren’t capable of hatred. Which, indirectly, is why they keep us. But without them, we are lost,” Willi said. “Earth is gone, just a radioactive cinder orbiting an ordinary star. Our ancestors did that to themselves. This is our home now, and we have to earn our way.”

1

The Privilege of Choice

One of my fellow code warriors at work is considering moving south from her little place in Oakland. Up there, she has a small home in an interesting neighborhood. “Interesting” is code for diverse, but I don’t think it’s offensive code. Fellow code warrior has young children, and when she moves she doesn’t want to lose the ethnic diversity of her current place.

I applaud that. I’m behind it all the way, fizzing with my enthusiasm for the idea. But I can’t help but remember that WE (affluent white people) are choosing to live with THEM (everyone else, especially non-native English speakers). THEY don’t have a symmetric choice to live with US.

Still, raising OUR kids with THEM, maybe the kids won’t notice the caps, or even the ‘them’, and just get on with life.

2

Baseball is Back, and maybe even the Padres

Spring is here, a new baseball season is starting, and I find myself oddly excited for this year. I really haven’t paid much attention to baseball the last few years. I’m not excited because of the teams nearby, but because of the perennially-awful San Diego Padres, who were once, long ago, my home team. It’s even possible they’ll be good this year.

Already they’ve won two in a row to start the year. You wouldn’t think much of that if you rooted for any other team, but the Padres haven’t managed that feat since 2011.

They also signed a big-name free agent, Manny Machado, who will be making gobs and gobs of money for the next ten years. This sort of move is not characteristic for them. But while there is plenty of conversation about Machado, it’s Fernando Tatís, who has now played in exactly two major league games, that is getting all the buzz.

Part of that buzz is because Padres management is managing his contract incorrectly. “Incorrect” in this case means not dicking over the player by keeping him in the minors an extra year, to squeeze an extra prime year out of his contract. Essentially The Padres are giving up a year of 27-year-old Tatís for a year of 22-year-old Tatís (numbers may not be exact, but the idea is there)*. Tatís will have another peak-years season to offer when he’s negotiating his next contract. The decision could cost the Padres tens of millions of dollars, and reap the player a similar amount, if he lives up to his potential.

From a bean-counting standpoint, the Padres are being dumb, and bean-counters run baseball. Yet the Padres, with some encouragement from veteran players like Machado, have decided to forego the contract shenanigans and start trying to be good NOW. As a side effect, the players sound pretty happy down there, as do the fans.

On a side note, with a potential lockout or player strike looming, this is a gesture by Padres management that other teams are probably not going to be happy about. But the Padres seem to be intent on making the pie bigger, rather than squabbling over who gets which slice. I have to say I like that.

One reason for the decision to bring up the rookies may be that the Padres are the only major-sport team still in San Diego. Now that there is no football team, the Padres may be making a play for the hearts and minds of sports fans looking for a new team to pull for. They may have a chance to make the pie quite a bit larger down there.

I say rookies, plural, because tonight another kid will make his major-league debut on the mound. If he looks sharp, my optimism will be compounded.

Anyway, I feel pretty good about this year. Right now they are playing the San Francisco Giants —a pretty bad team (they pinch-hit for a corner outfielder on opening day) — and it’s a long year, so the real test will come later. The Giants have an exciting prospect of their own, but it has been explained to the fans here that it would be crazy to bring him up now, and lose a prime year at the end of his contract. Because that’s how baseball works.

Except, right now, in San Diego.

___

* this is wrong. My point is quintuplufied by the actual math. See the comments.

1

Gimme Swift

As a computer programmer, I live in a familiar cycle: Write some code, then run it repeatedly to work out all the kinks. There is a moment when you hit “run” for the first time, already anticipating what the errors might be, thinking about next steps when the error inevitably presents itself.

It’s been weird writing server-side Swift. I do my hacking, adding a feature or refactoring or whatever, I make the compiler happy, then it’s time to get to the nitty-gritty. I roll up my sleeves, start the program… and it works. Just like that. I run the tests against the other systems. It works.

It’s like you’re all ready for a fight and the other guy doesn’t show up. NOW what are you going to do?

Swift can be annoying with how hard-assed it is about certain things, but that picky compiler that sometimes forces long-winded syntax is like that really picky English teacher who you realize after the fact gave you a command of words you didn’t have before. If you have a null pointer in Swift, you went out of your way to create it.

Programming languages exist for the convenience of humans, not machines. So if you can make a language that makes it harder for humans to make a mistake, why wouldn’t you?

Man I enjoy writing code in Swift. Of the four languages I use regularly, Swift is hands-down the one I’m most productive with, even though I’ve been using the others for far longer. And just today I remembered that functions could return tuples, and I was like, “Damn!” all over again, thinking how I can shrink my interfaces.

That and a performance profile comparable to C (each is better for certain sorts of operations), and you have a language with some mojo. This ain’t JavaScript, homey.

Most of my days are consumed writing code in other languages (at least for now), and what strikes me every day is that the mistakes I make would not have been possible in Swift. Think of that!

3