Knives Episode 32 Published

This is a gentler episode than we’ve had lately; if this were a heavyweight boxing match this would be one of the rounds where both boxers’ ears are ringing from blows in the previous rounds. Martin is not one to stand toe-to-toe with an opponent, so perhaps this is for the best. He is also not a team player, and that may show a bit this time around. Elena and Katherine have an accord, but how deep does it run?

From a writerly viewpoint, in this episode I’m working more on the connective tissue of the story than on the meat or the bone. But the best stories have great ligaments — the connections between characters and events that turn a travelogue into a story. So I’d best pay careful attention to this stuff. I wasn’t feeling terribly creative this afternoon, but I had a great time going back over the draft and adding another layer of detail to the descriptions. You learn a lot about a character by what they observe.

Some stuff I thought I’d cover in this episode has been pushed back; I’m not trying to be coy about The Thing From The Well, but there are more immediate problems to solve first.

Behind the scenes, progress on the next two episodes was, it turns out, greatly exaggerated. But the good news is that I had an idea today that totally ties the room together, but I hadn’t included in my plan.

So please enjoy Episode 32: What Needs to be Done

All for $500

I’m not the most connected social media guy. I tell you this honestly: I’m more interested in talking than I am in listening. The only thing that separates me from the rest of the social media world is that I admit that fact.

When I started hearing about the United Airlines kerfuffle, I assumed it was a tempest in a teapot. I assumed that some asshole had been forcibly kicked from a flight and that, absent context, the Internet had got all riled up. So I ignored the whole thing.

But Internet, this one time I have to say that you were right. And I have to acknowledge that the ubiquity of video cameras is a powerful force for social justice. For all we know, this sort of scene was common, back in the day.

Note to Airlines: if you want to get people off the plane for minimum cost, the reverse auction model is perfect.

So United Airlines did the math, and after no one took the offer of $800 to take a later flight, they stopped bumping the price. Technically, they could have pushed the payout by more than $500 (oddly there is a limit to how much they can offer), but at that point they decided to play hardball. It was time to throw people off the plane, by force if necessary.

The cost of that decision will never be measured, but it’s more than $500. Then came the lame-ass corporate responses. “We’ll try to not be such giant assholes, but we’re going to keep doing the same things.”

Had United Airlines asked me (they did not), I would have advised them that there was only one way forward. A way forward pioneered by Jack-in-the-Box in the face of a set of food poisoning cases: That’s not who we are, that’s not how our process works. We’ll fix it. A few years later when a tainted meat scare hit the United States, JIB was affected less than any other fast-food outlet. They were honest enough about fixing their food safety problems before that the vague, ill-defined public perception of them turned them into a stalwart of public safety.

United Airlines fucked up that day, but sometimes decisions made in the moment backfire. Now they’ve had plenty of time to figure out how to deal with this, and they continue to fuck up. All for $500.

1

Ah, Spring

On the patio, working on fiction while the sun slides toward the horizon, sipping inoffensive Canadian whiskey and watching the doves bang..

1

Now With More Security

In the case of Muddled Ramblings and Half-Baked Ideas, the increased security protects only me, but these days some mobile browsers are refusing to connect to sites that aren’t protected by encrypted connections, even if those sites don’t handle sensitive data. We can’t have that, so bring on the encryption! Now you need never fear again; the comments you post will be carefully guarded from snoops and ne’er-do-wells — until they are shown on the screen for the world to see.

You should see a little lock icon by the Site name in your navigation bar now; for a while some plugins I use were violating the security policy, but I think I have them all whipped into shape.

For the curious, I set out to use certbot from the Electronic Frontier Foundation, but found that it didn’t play well with CloudFlare, which I use to speed up the site around the world and to block massive chunks of the Internet from trying to spam me (when CloudFlare blocks them, my server doesn’t have to lift a finger — it doesn’t even know the blockage happened.)

It turns out in the time since I last checked, CloudFlare has begun offering free SSL services even to their lowly non-paying customers. So I got that all set up today and started the process for Knives and the other sites I host.

Other folks who host Web sites: if you don’t use CloudFlare or a competitor, the EFF now makes it free to get encryption certificates and they have what looks like a solid tool to keep those certs up-to-date. ALL Web hosts should check out certbot

Debugging

I left them, the two, chasing a detail, he a he and she a she but maybe unaware of that before the elusive truth.

3

Off to Geek Camp Tomorrow!

Tomorrow I set sail for Big Nerd Ranch West, to have my head crammed full of all kinds of luscious knowledge in an idyllic location. Seven days of pretty intense instruction that I might possibly be able to get directly from my employer, but not without distractions and a thousand tiny demands for my time.

I’m downright tingling with excitement. I have been to Big Nerd Ranch before, back in 2003, and the result was Jer’s Novel Writer. This time, I don’t think the result will be as visible to y’all out there, since the people paying for my week expect me to use my newfound mojo on their projects, and those are projects you will not see.

But I’m not complaining, not at all. I’m getting paid to learn stuff that is very interesting to me, and that’s never a bad thing. I’ll take my camera and a lens or three (it occurs to me I don’t have a good walking-around wide-angle lens with auto-focus) and there’s even a chance I’ll have time for some writing. But maybe not. That’s the future. A good future.

3

Your Privacy, Sold (Again)

If you watched the last season of South Park, you know what can happen if your entire Internet history is made public. Riots, divorce, the collapse of civilization. But did you know that your Internet Service Provider can keep track of every Web site you visit? Forget privacy mode on your browser; that only affects what gets stored locally. It’s mostly good for letting you do credit card transactions on someone else’s computer, or at an Internet Cafe.

It does not keep a host of companies from recording every site you visit.

Up ’till now, those companies haven’t been allowed to share that information. But that’s about to change. The companies that keep that data have cashed in on the current legislation-for-sale atmosphere and have bought a rule change that will enable them to sell that data.

Our President will no doubt sign the bill, and if there’s any silver lining to all this, it’s that his own browsing history will shortly be available for purchase. If he, or other congressional leaders, had any idea what they were signing, they would have realized that they have more to lose than just about anyone else.

For instance, DNS records already made public don’t look good for the GOP. They were collected by a group who thought the Russians were trying to hack the RNC, only to find that the communication went both ways.

Anyone want to guess how much child porn is in The Donald’s browsing history?

Meanwhile, even though I don’t go to any sites that are remotely illegal, I’ll be taking measures I probably should have done long ago to protect my privacy, rather than rely on laws. To be honest, I’m not sure exactly what I’m going to do; I’m not keen on using the Tor Browser (though I’m open to volunteering some server resources to the project). I’ll be looking at VPN’s (Virtual Private Networks) to see if they offer anonymity.

I’d be happy to hear from anyone out there with knowledge in this area. In any case, I’ll report back what I learn.

2

Joseph and the Amazing Technicolor Scientific Survey

Pharaoh heard that in his prisons there lived a man who could interpret dreams. He called for Joseph, and his soldiers brought the young man before him.

“I have had a dream,” Pharaoh said. “In my dream there are seven fat cows, and seven thin cows. The thin cows eat the fat cows but they remain thin. What does it mean?”

Joseph pondered, and quietly asked God for guidance, and said, “it means that there will be seven years of plenty, and Egypt will prosper like never before. But there will follow seven years of hardship, and unless Egypt prepares now, by saving as much of the plenty as this great nation can, there will be great suffering.”

Pharaoh nodded, seeing the wisdom of Joseph’s words. It only made sense to prepare for hard times while things were going well, even if the precision of Joseph’s prediction was questionable.

“Um… Pharaoh,” said the trusted advisor on his left, the chief architect of the pyramid project about to launch, “Seven years of plenty! That’s great! If you ignore this man’s advice, I can make the monument to you even more magnificent.”

On his right, another adviser spoke. “If bad times follow the good, it is the will of the gods. WE will survive, OUR families will not starve, even if millions of the working class who just finished your pyramid die. That, too, is the will of the gods. The workers will die happily, knowing they contributed to your eternal might.”

Joseph listened to this discourse and said, “No, seriously, It’s going to be bad. I’m 99.9% sure it’s going to be really really bad.”

“Aha!” cried the architect. “So you’re not certain!

Pharaoh looked from his advisors to Joseph and back. “Make the monument bigger,” he said.

2

That Carbon Dioxide Tipping Point

I file this under politics because it is politics that is blinding us.

The oil industry* and their paid shills (known as deniers)** made a few waves recently when, in a carefully-worded survey of climate scientists, fewer than half were willing to single out carbon dioxide as the single greatest contributor to global warming.

“Half of all Scientists disagree with climate change!” was the nonsensical conclusion. A slightly-less-nonsensical conclusion was “Humans create carbon dioxide; if that’s not the primary driver of global warming, then warming is not because of humans.”

But let’s look at that for a moment. There’s another conclusion, and while it’s much more reasonable, it’s also much more scary: Carbon Dioxide isn’t the the primary driver of global warming any more. We’ve crossed a tipping point.

Meet Methane, and the point of no return.

While CO2 was the problem, there was something we could do about it: produce less CO2. Let the algae and the rain forests (whoops!) absorb the surplus back, and let our planet return to its previous equilibrium. We dithered, and denied, and the tundra began to thaw. Now the tundra is burping up enormous amounts of methane.

As a greenhouse gas, methane makes CO2 look like a punk kid with missing teeth.

So if many scientists don’t think Carbon Dioxide is the biggest contributor any more, that doesn’t mean they don’t believe the surface of our planet is getting hotter, it means that the game has changed. It means things have moved to a stage that we cannot reverse just by suddenly not being so selfish and short-sighted. It means there is nothing we can do to stop the change, and the sooner we turn our efforts to dealing with it, the less it will hurt.

But man, it’s gonna hurt.

___
* shorthand for all carbon-based energy companies
** almost all the publicized climate-change deniers are on the energy company payrolls. I say “almost” only because there are probably a few who are just stupid.

Knives Episode 30, Almost Known as “Hekka’s Middle Bunghole”

This is one of the big ones, so it’s a time to thank all my patrons for their continued support. Thanks! You guys put the iron to my backside.

The title of this episode is “An Ethical Foundation”, which is a central idea in the story as it develops, but I toyed with calling it “Hekka’s Middle Bunghole”.

I was searching for the perfect profanity for the moment after someone explodes, and I never found it. What I came up with might have been perfect, with the proper setup: Hekka is a God known in the south, who has three heads and who gave birth to heaven, hell, and our world. Elena, apparently, stopped to consider what three heads might imply on the other end.

There was no way to fit that bit of information into the narrative without breaking the flow of the story; perhaps a future “bonus content” project could be a series of short legends about the deities I pull out of my (only) bunghole when I need a good profanity.

Speaking of bonus content, my fake user accounts with the same settings as my loyal patrons can all see the bonus content properly. Patrons, please let me know if any of you are still having trouble. If it’s working for you, I’ll start loading up Kat’s backstory.

Meanwhile, on the writing front, the curse of the serial novel is starting to bite me. I’m deviating from my plan as I come up with ideas during the flow of the writing. I like the direction I’m heading, but some of the big-picture stuff is starting to drift. But you know, I’m just going to run with it for a bit, and focus on the relationships that will drive the story. What could possibly go wrong?

Enjoy An Ethical Foundation

My Government-Subsidized Health Plan and What That Means to Joe Sixpack

I work for a company that provides above-average health benefits. My employer has even raised the ire of some municipalities in this great nation by extending those benefits to non-married partners without asking about gender or gender preference. A partner’s a partner; no need to make it complicated.

My employer, in turn, can write off the portion of the the cost of my health plan that they pay. In a big company like mine, that’s some serious money. And since I’m not taxed on the portion of the plan my company picks up, it results in a big chunk of tax money going to my health plan. It’s an untaxed benefit, and it means that eventually someone else will have to pick up the tab.

There is a dichotomy these days, where Democrats (often mistaken for liberals) are saying, “We want to cover your health for a reasonable cost,” and Republicans (often mistaken for conservatives) are saying, “That shit don’t work, we’ll get you jobs and HONORABLE health care. We’ll get you the same tax-privileged shit those Democrats who are talking down to you already have.”

The Republicans are lying; they don’t have the power to get everyone jobs. But the message resonates, even if the people hearing it don’t know about the tax privilege I enjoy. They know that the insurance an employer gives you is better, and really what else matters? If everyone has jobs, there is no problem with access to health care. The answer that comes from the rust belt Trump supporter who is about to lose his ACA coverage is, “fuck Obamacare, give me a fuckin’ job.”

The down-and-out are shooting the moon. They don’t want government support, they want jobs. I can’t overemphasize that. And they elected a guy who lied and said they would work again. Meanwhile, folks like me, who barely realize the billions our government forfeits so we can have good coverage, scratch our heads and wonder why Joe Six-pack doesn’t see what’s right in front of his face.

We have to end the hidden subsidy for my health plan, and we have to disconnect the need for health care from some weird code of honor. Health care should not be a perk. Health care is what we do for one another.

When you say, “we can’t afford single payer,” don’t forget to account for the billions in tax dollars the current system hides. I, for one, am ready to pay.

Knives Episode 29 Published!

A quiet murder, followed by a confrontation. Martin doing what Martin does best. But this time, his best may not be enough.

This episode went well, writing-wise; there were some details I had to work out for realism but the overall chain of events was pretty set. The rest was a matter of the small things. If there’s one thing I regret about the serial format, it’s that when I read an episode long since published I often wish I spent more time on the small things. It’s a lesson the Kansas Bunch has been trying to pound into my head for years now: The life of the story is in the little details.

We have in the narrative an honest-to-god MacGuffin now, and I have mixed emotions about that. It’s a time-honored device that appears in some of the best stories ever, but it also serves as a crutch in some pretty bad writing (see, “The Quest for the Important Thing to Defeat the Evil Guy”). I had intended to resolve this particular item fairly quickly, making it more a clue to the mystery rather than an object of great contention, but… well. I might not.

Please enjoy Episode 29.

Defensive Programming: Put the Guards Near the Gate

We can file this one under “not interesting to pretty much anyone who reads this blog,” but it’s an important concept for writing robust code. This is part of a discipline called Defensive Programming.

Let’s say you build yourself a castle in a clearing in the woods. There is one path to the front gate, and you need to guard it. “Hah!” you think, “I’ll put the guards where the path comes out of the woods, to stop shenanigans before they even get close!” You post the guards out there in a little guardhouse, secure in the knowledge that no bad guys will reach your gate.

Until someone makes a new path. Perhaps when the new path is created the path-maker will notice that there are guards on the other path and put a little guardhouse on the new path as well. But perhaps not.

In software, it’s the difference between code that says, “when all conditions are right, call function x”, and having function x test to make sure everything is OK before proceeding.

Putting the guard by the trees:

    function x(myParameter) {
        myParameter.doSomething();
    }

    thing = null;

    ... other stuff that might or might not set 'thing'

    if (thing != null) {
        x(thing);
    }

This is fine as long as everything that calls function x knows to check to make sure the parameter is not null first. It might even seem like a good idea because if ‘thing’ is not set you can save the trouble of calling the function at all. But if some other programmer comes along and doesn’t know this rule, she might not do the check.

    // elsewhere in the code...

    anotherThing = null;

    ... other stuff that might or might not set 'anotherThing'

    x(anotherThing); // blammo!

Better to move the guards close to the gate:

    function x(myParameter) {
        if (myParameter != null) {
            myParameter.doSomething();
        }
    }

Now when someone else writes code that calls function x, you can be confident that your guards will catch any trouble. That doesn’t mean you can’t ALSO put guards out by the edge of the forest, but you shouldn’t rely on them.

2

Patio Life Returns

Life is good.

1

The Trickiest Part of Universal Health Care

Health insurance is not like other insurance. Take fire insurance. Chances are, your house will never burn down. But you pay a little bit each month so that if you should be the unlucky one, you will have the cash to move on with your life.

Health insurance is different. Sure, you are protecting against disaster, but it’s not if you will have a health disaster, it’s when. We will all of us get sick. So sick we might die. It’s just a matter of time. Health insurance is about all of us putting our resources together so the sick people can get better without bankrupting themselves.

For this plan to work, healthy people need to pay into the system. The Affordable Care Act, lovingly known as Obamacare, tries to force healthy people into the system by taxing them if they don’t have insurance. This is not popular, and I’m not surprised. The new plan proposed by the Republicans does away with that, replacing it with an even more ill-advised penalty for coming back.

The core of the problem is this: Your insurance is only as good as the group of people in your pool. If you’re in a pool with lots of young, healthy people, your costs are low. The insurance companies have been slicing us into literally thousands of pools, and have made rules to keep people who are already sick out of any pool at all.

Both ACA and the new Republican plan miss the point. The problem is not how to force healthy people into the pool that has the sick people. The problem is that there are too many pools. Insurance companies make a shit-ton of money slicing and dividing us, and it’s time to come to a simple realization: we’re all in this together.

One pool.

I’m still pretty healthy, but the insurance companies don’t come a-courtin’ the way they used to. I’m sliding into the riskier part of the actuarial table. Still, I work for a company that takes care of its people, to a level I’m not allowed to talk about. I’ve got good health care, though, and my company doesn’t spend as much as it might because overall its employees are a pretty good pool.

Chances are, I’d be on the losing end if all the pools were united, but I’m OK with that. More than OK. Excited at the idea. Excited that the emergency rooms across the nation won’t be clogged with people who needn’t have been there if they had access to basic care. Excited that maybe some of the homeless I pass each day on my bicycle may be able to get the care they need and, yes, get a fucking job.

Side note: the phrases “Get a fucking job, you bum!” and “They took our jobs!” often come out of the same mouth.

So let’s get back to the basics and realize that the offerings of both parties fail to understand the core of the problem. It’s not about pushing people into a pool that’s disadvantageous to them, it’s about getting rid of all the goddam pools.

One pool.

One nation, indivisible, with liberty and justice for all.

2