A Mighty Game

Hey, for the two gamers that read this blog, I have a question. Has there ever been a game where the world is quicksand bureaucracy and the goal of the gaming party is to get some on-the-surface-insignificant-but-actually-world-changing policy adopted? Somehow that sounds like fun, given a well-realized bureaucracy.

PG&E is a Bunch of Evil Bastards, but Hold On a Sec

A couple of years ago, there were several horrifying wildfires in California. (Trump blamed all the dang trees.) It turns out many of those fires were caused by criminally negligent practices by Pacific Gas and Electric.

Remember Erin Brockovich? That same PG&E is still around.

LONG diversion coming, but it’s an interesting story. If you don’t want to enjoy my ground-rehashing journalism, scroll down to “But anyway…”

Then there was the period where California tried to bring a market economy to power distribution. I lived in San Diego at the time, and our deal was different than the rest of California. SDG&E was the pilot for phase two of the program. I could choose my own power generator. Obviously I chose a company that generated electricity (relatively) responsibly. And while the electricity that my ultra-hippie power-generation company actually produced probably didn’t reach my outlets, it all evens out on the grid.

But the grid isn’t a magical system that transparently moves power to where it’s needed. The grid has choke-points, and there are critical spots between northern and southern California that PG&E and Enron and Ross Perot identified early on.

The evil companies were actually contracted to write the software that tied electric rates to supply, and they built in a key weakness: If they could contrive a shortage in one part of the state, they could charge everyone extortionist rates. The film-flams even had cute names in the internal memos at Enron and their pals. I don’t know how much California paid them for this service.

PG&E was a pal.

The system went into place, and after a few months the energy companies started actively fucking with California. They COULD have subtly and gently influenced the energy market over the course of years, and might still be doing it now, but greedy fucks will always be greedy fucks and the evil energy companies decided to loot California for as much as they could get as fast as they could get it.

Rolling blackouts hit Southern California, as too much electricity was bottled up in the north. People lost the contents of their freezers. Businesses failed. Hospitals scrambled. People died. The energy companies made a quick billion dollars.

The narrative at the time, guided by a credulous media was, “those darn Californians sure waste a lot of energy!” And none of us down in the rolling blackouts thought to consider that energy companies like PG&E would intentionally do this to us.

But they had. And when the dust settled and California scrapped its free-market energy experiment (the energy companies made sure there would be no actual free market), PG&E was sitting on a giant pile of fraudulent cash. The lawyers would be coming.

Lucky for PG&E, Enron was even more evil, and had been destroying the lives of their own employees while they ripped off California. In slick maneuvering the lawyers defending Enron’s top criminals managed to seal the documents implicating the evil energy companies in collusion and fraud on a scale this country has not seen before or since. (Before the docs were sealed, they were widely reported on, but once they were sealed, they could not be used for other prosecutions.)

Meanwhile, PG&E split itself in half. One half had the money, the other half could be sued. Both halves are owned by the same motherfuckers; they were just pulling yet another fast one. Without the smoking gun of the sealed documents, that was enough to protect the dirty money they had made. SDG&E did similar sleight-of-hand. My hippie electricity provider apologized for not being to do business in such a toxic environment.

We’ll pass over the time when PG&E’s negligence led to a gas line explosion that blew up a few houses. “Decaying infrastructure,” the headlines said, as if a company making billions using the infrastructure wasn’t responsible for maintaining it.

But anyway…

Then there were the fires, and the roughly 2400 lawsuits that followed when people figured out that PG&E was a bunch of assholes that doesn’t mind killing people for profit.

PG&E faced a lot of ire. One of the biggest criticisms was, “If you’re not going to do the work to make your part of the grid safe, at least turn off the power in at-risk areas before another disaster happens.”

When we think of the grid we think of giant skeletal frames bearing wire, marching in eerily straight lines across the landscape. But there’s another part of the grid, where those massive lines terminate and split into smaller high-voltage transmission lines. There are a bazillion of those power poles in California, and they are not all inspected as often as they should be. Branches get close to lines, the wind blows, lines come down and fires start.

In the face of lawsuits and PG&E’s contrived dodge-the-consequences bankruptcy and generally bad PR, PG&E is determined this year to not be the cause of another deadly wildfire. Today they have shut down the power to large chunks of Silicon Valley for safety, along with widespread shutdowns in more rural areas up north.

People are somehow surprised about this, even though PG&E has been saying they would do it for more than a year now.

That whole diversion above was mainly to let you all know I’m no shill for PG&E. I hate those fuckers. I hate them more than you do. I hate them almost as much as the poisoned families Erin Brockovich represented do.

But there is outrage today against the evil bastards that is misplaced. We TOLD them to stop causing deadly wildfires. That is what they are doing. They TOLD us that they might have to turn off the power, and we should be ready.

THIS IS NOT A SURPRISE. It is not out of the blue.

It is not some screw-job by PG&E. They don’t make money when we eat barbecue by candlelight.

On the other hand, I do have to wonder. I can sense a petulant child behind these shutdowns, a pudgy frowny sweaty child-face saying “you want safety? I’ll shut all you fuckers down and then you’ll appreciate what I do for you!”

Obviously I can’t prove that.

But these shutdowns do prove what perhaps we’ve known for a long time. The grid sucks. The grid has given the evil bastards at PG&E and Enron and the rest the power to jerk us over. The grid has been inconvenient for those same bastards to maintain, so they don’t, and it kills people.

Even when the grid is working perfectly, it is terribly inefficient. More than half the energy generated is lost in transmission.

We need to destroy PG&E, cut through the bullshit corporate layers and recover the money they have stolen from us. Don’t sue the shell companies, sue the people. But it’s not just enough to destroy PG&E. We have to destroy the grid.

The grid gives them power. The grid causes deadly fires. The grid consumes half the electricity generated in this country even before it reaches an outlet.

The technology exists, now, to make electricity a cottage industry. I imagine my neighborhood making a deal and turning all our rooftops into a solar collective. Those panels wouldn’t cover the energy use of the park, but we could partner with local energy companies and because of local generation, the transmission loss would be reduced, so the price could be reduced as well.

“Buy local” is especially appropriate when referring to electricity.

2

Lady Byng

Not a lot of interest today, other than a mild plumbing emergency. So here’s a picture of Lady Byng that I rather like.

2

Blogtober!

The Official Sweetie of Muddled Ramblings and Half-Baked Ideas decided to challenge herself to writing a Blog post every day in October (the month also known as “Holy Heck, it’s Almost November”).

Seems like a good idea to me, forcing me to do at least some damn thing with words each day.

Even if it’s just some cheap quickie episode about how it’s Blogtober.

3

Alternative Listerine

A few months ago the Official Sweetie of Muddled Ramblings and Half-Baked ideas and I were looking for a good mouthwash that was not made by a company that engages in animal testing. There are a lot out there, actually, but the trouble is that none of them left our mouths feeling clean the way Listerine did. Listerine feels potent, whether of not it actually is; there’s no substitute for that alcohol bite.

I had always imagined that Listerine was more… sciency that what it turns out to be. There’s the whole American Dental Association endorsement and all that. But it turns out that Listerine comes from the heyday of Snake Oil medicine, and was first marketed as a surgical disinfectant. It was almost certainly better than nothing, which is what most surgeons used back then.

But the thing is Listerine is just a combination of water, grain alcohol, and some essential oils like menthol and thymol. All the ingredients are easily purchased.

OSMRHBI realized that if no one else was making the right mouthwash, that she could just make her own, and tweak the essential oils to better suit our tastes. (This is one of her Superpowers, to say “fine, I’ll make my own.”) It took a couple of iterations to dial in the recipe, but now I would never go back. Our home-brewed version is simply the best mouthwash I’ve ever used.

Is it as effective? I’m not sure how to measure that, considering Listerine’s efficacy claims are maybe not all that scientific either.

It makes smooching better, though, I can promise you that.

1

Casual Conversation in my Home Town

“Turns out a bear had dragged it across the street and into our back yard.”

3

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.

5

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 stood out was the sustained, continuous ridiculousness that happened over the last four days in Denver. Records were broken, but neither team should feel proud.

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.

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

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

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

Optimizing Your Code (code means life)

This is a kind of geeky episode, but I think there is a lesson here that goes far beyond computer science. You might want to give it a go, even if programming is not your thing.

I am slowly updating a body of code made by other people. They optimized for the oddest things. For instance, when you get the profile of a person, you also get the profiles of the people who work for that person, including their pictures.

Sometimes, you see, in some application I’ve never worked on, that information is useful. But rather than make a way for our apps to ask, “hey, who is this guy the boss of?” and subsequently, “what do they look like?”, the system returns all that information whether you want it or not. Which makes all requests for a profile dramatically slower whether they need that information or not, and chews up bandwidth sending pictures that will never be used, and generally makes the world worse.

The people that wrote that code were carefully optimizing to reduce the number of round trips to the server. One app saves a couple of milliseconds while all other apps pay the price. While I disagree with that optimization in our case, I understand it. It comes, ultimately, from programmers who remember a different Internet. I guess. When requests took up that much extra time, wasted bandwidth was an even bigger problem.

Now there’s a new sheriff in town, and I’m applying my own optimizations. And while you might guess that I’m making services that very quickly return only the data you asked for, there is another optimization I find far more important. I am optimizing for clarity.

Right now I am maintaining a service with methods ‘getProfile’, ‘getFullProfile’, and (God help me) ‘getFullProfile2’. The well-intentioned architects of this system created a standard of providing structured comments for each method; but the doc block for two of the three methods mentioned above were copied from somewhere else and were just wrong.

Other methods in the system return partial data from a person’s profile, but often the names given to the data fields don’t match anything else. ‘prefName’ in one so-called profile might be ‘ub_emp_preferred_name’ in another. It’s madness.

Optimizing for clarity begins with recognizing that a person’s profile is a thing that can be clearly defined. “This is what a profile is,” one could declare. When you ask for a profile, there is no mystery what you are going to get. If you need more, you know how to ask.

There are times when such a rigid structure will cost you an extra server request or two, and it might make your server work a little extra. But here’s the secret: Engineer-days are worth more than processor-milliseconds. That’s true even if the processor-milliseconds add up to more than a day. A core running in a data center costs maybe a buck a day (though I suspect it’s much less). I’m embarrassed to tell you what I make for a day’s work, but it’s a bit more than a buck.

Design for clarity. I think this principle extends far past the software world. It certainly applies in industrial design, where even the simple objects we use every day benefit from a design that does not cause question marks to float over our heads. Simplicity is achieved; it does not happen on its own.

I am working on code that accepted complexity rather than working for simplicity, and in the end made more work for everyone. Perhaps, even if you are not a programmer, there is a lesson here: Work for simplicity. Work for clarity. Work less later, because your task is simple and clear.

1

What You Pay to Google

I do it too. I use Google’s “free” services. But they’re not free. Google makes a shit-ton of money off me. Consider this list of things The Goog knows about me:

name, age, blah blah blah – tragically that is already forfeit
thousands of web sites I’ve visited
thousands of searches I’ve done (yeah, those searches)
the full content of thousands of emails I’ve sent or received. I don’t use my gmail account, but any time I send a letter to a gmail address my words are duly noted. Every word that goes through gmail is archived.
Almost every purchase I’ve made online
Every purchase I’ve made in stores using Google wallet (which are none, because that is my pathetic line in the sand.)

Google, along with all tech companies, has to reveal what they collect about you if they want to do business in Europe. But here’s the thing: While I can get a full accounting of activity on my Google account, I can find no way to see, and delete, the data collected about me while I’m not actively logged into g-whatever. Which is most of my life.

I use Duck-Duck-Go for searching now, which is better anyway if you want to refine your search with + or -. I have not put a full embargo on gmail addresses, but it’s tempting. Somehow they have the right to read the communications of someone who has never entered into any sort of agreement with them. (I am not such a person, but they must exist.)

Google must hate Facebook for getting caught harvesting shit that is none of their business so often. If it weren’t for Facebook’s ineptitude, Google might still live in an unregulated world. As it is, they are doing their damndest to obey the letter of the law while still collecting “anonymous” data they are not responsible for revealing. It is not anonymous. If it were, it would have no value.

Screw those guys.

51 Bottles of Beer on the Wall

I was poking around in the musty, poorly-lit tunnels beneath the smooth and glitzy blog you are reading, and I discovered a rather unsettling fact: I have 51 episodes I started but didn’t finish, yet still haven’t deleted. For the next week or three, I’ll be pulling up the ones that deserve to see the blinding light of the public eye.

So if you see some references that are clearly dated, welp, that’s why. If you see episodes that start to develop but then suddenly stop, it’s because I liked the episode, but at this stage I’m not gong to finish it (in all likelihood because I can’t remember the incidents described any longer). Some episodes might still have cobwebs, or spots of rust. Some might be full zombie now, shambling out of the past, hoping to find relevance by eating your brain.

We will start with a marketing campaign by McDonalds that ended a while back. I had meant to explore the idea a little more, but I stopped mid-sentence. Probably scrabbling for the right word. Or just distracted by something shiny.

I will mark the episodes from the archives with the tag “bottle of beer”.

Note that actual current episodes might appear as well, like the one that just landed in the Jury Life series. Crazy times at MR&HBI!

5