Saturday, December 31, 2022

Watching the reservoirs

On rainy winter days, it can be interesting to watch the behavior of the State of California's amazing water reservoir system.

There are hundreds of reservoirs across the state, many of them fairly small and maintained by various regional authorities, but you can watch all of them in various ways using the state's website.

For the big picture, however, it is easiest to look at the big reservoirs, and I generally only look at what I call "the big three": Shasta, Oroville, and Trinity.

Shasta is the most important just because of its size. It can hold a brain-breaking 4.5 million acre feet of water.

Oroville can hold 3.5 million acre feet; Trinity can hold 2.5 million acre feet.

Oroville sits at the base of the Sierra Nevada range, capturing an incredibly productive watershed that spreads many thousands of vertical feet up the western slope of the northern Sierras.

Trinity is quite interesting because the water in this reservoir is captured from watersheds that would ordinarily flow into the Pacific Ocean, but through the efforts of decades of civil engineering, many million acre feet of water every year from the fantastically wet northwest quadrant of the state is redirected eastward and inland, via Whiskeytown, into the Central Valley.

Anyway, back to watching the reservoir behavior. Here you can see Trinity Lake over the past 12 hours, growing by six hundred acre feet per hour.

Here we can see Oroville Reservoir over the past 12 hours; the lake has been capturing an astonishing four thousand acre feet per hour in this week's storms.

And here's Lake Shasta, which hasn't been growing as much, but is still growing by a thousand acre feet an hour. Note that Lake Shasta's outflows never drop to zero. This is partly for reasons of the behavior of the California electric grid, which demands electricity generation from Lake Shasta around the clock, but also partly because Lake Shasta must always release a certain amount of water in order to keep the Sacramento River flowing properly.

Sit inside, listen to the rain, and enjoy watching the reservoir behavior!

Friday, December 30, 2022

What's the linguistic term for ...

... a set of five letter words that all share the same final four letters?

B-U-D-G-E, F-U-D-G-E, N-U-D-G-E, J-U-D-G-E, etc., for example.

I find myself noticing that these are my least favorite Wordle answers, because near the end I always find myself guessing.

Grumble, grumble, moan, complain.

Monday, December 26, 2022

Styx: Shards of Darkness

Styx: Shards of Darkness is the video game that's kept me busy these last few months.

You play as a Goblin who is sort of an adventurer, sort of a scoundrel, and generally just a curmudgeon. Styx lives in this weird underground world full of primitive dwellings built inside watery caves. It's sort of a fantasy steampunk world, with lots of lovely buildings to explore.

Styx is trying to accomplish various quests, with lots of different ways to succeed, so there are lots of ways to play the game, but I find it works best as an ultra-stealthy approach. Styx can crouch down and sneak and hide and avoid all the bad guys who are trying to find and catch him. You have to be patient and wait and watch and learn where the guards are and what routes they are taking and when they pause in their rounds to look the other way or whatever and then you can plan your path to sneak by them and that's fun.

The game play is a little bit platform-y, with various things that you can jump on and hang on to and swing from and so forth, but mostly you end up sneaking around through passageways and windows and rooftops and the like while you figure out where you are trying to go and get there without being detected.

I loved the snarkiness of the game, and the crawling around and exploring, and I loved the overall visual look and feel. The game was easy to understand and learn to play.

Around 2/3 of the way through the game, it started to become all-of-a-sameness, and my attention flagged, but overall I'd recommend Styx: Shards of Darness to anyone who enjoys stealth games such as Dishonored or A Plague Tale or similar.

Saturday, December 24, 2022

Slow Horses: a very short review

It turns out that Mick Herron has been writing great fun novels for many years, who knew? Well, lots of people knew, but not me.

Like, I'm sure, most new readers of Herron, I found out about Slow Horses from the world's largest corporation, who are promoting a new television series based on Herron's books.

Anyway, let me join the chorus of new fans praising Herron's work. It's fast-paced, exciting, and humorous, while still managing to be sensitive and humane. The premise is delightful and Herron draws deeply from that premise to find the deeper truths amidst the comedy.

I hope he finds great success amidst the flurry of attention he's currently receiving.

They're definitely not featuring holiday-themed Wordle answers this month.

That is all.

Thursday, December 22, 2022

Aqua Alta and Quietly in Their Sleep: two very short reviews

Slowly I am working my way through Donna Leon's marvelous books.

Aqua Alta and Quietly in Their Sleep are the fifth and sixth of the Guido Brunetti series.

Strangely, I had significantly different reactions to these books.

I loved Aqua Alta. I found it fast-paced, exciting, and satisfying. The topic (fine art fraud) is a timeless problem, and so the book seems as fresh and relevant now as it was thirty years ago. Brunetti assists our victim, deals with the criminals, and still has time to spend time with his son's struggles in high school. And I always find the business of art fascinating. I'm much more an art admirer than an art collector, so I've still got lots to learn about how the money side works. Oh, and of course you get to spend those delicious hours with Brunetti enjoying the beauty and charm of Venice.

Quietly in Their Sleep, on the other hand, left me flummoxed. It starts off with the topic area of nursing care facilities, but then transforms into a plot about the church (the nursing homes are run by the church). For the longest time, it's not even clear if there's a crime or not, but it turns out that the crime is much less about the nursing and much more about the church. And then we get into the secret societies. By that point, I was well and thoroughly confused, as was Brunetti. Worse, even though Brunetti eventually figures out the actual crime, he hits a solid wall as it turns out that the church is more powerful than the state in this area, and he must leave the actual dispensation of justice to Paola's father and his mysterious powers. Hmmph! By the end of the book I was feeling tired and a bit cranky.

So I rode a roller-coaster with this two volumes, but overall I've still got enough momentum that I'll be sailing on through some more of Leon's work.

Gadgets series on The Verge

I stumbled across the Hacking gadgets series on The Verge.

  • The HakCat WiFi Nugget is a beginner’s guide to wireless mischief
    It’s really just a tool for learning how to spoof Wi-Fi access points, learn about deauth attacks, and explore the possibilities of what simple microcontrollers can do. And it looks cute, to boot.
  • The Flipper Zero is a Swiss Army knife of antennas
    few devices have captured the imagination of your friend who works in IT quite like the Flipper Zero: a hacking multi-tool shaped like a playful child’s toy and adorned with a friendly dolphin. Packed with a range of sensors, chips, and antennas, the Flipper lets you make playful mischief with all sorts of devices, from security gates to card readers.
  • The new USB Rubber Ducky is more dangerous than ever
    To the human eye, the USB Rubber Ducky looks like an unremarkable USB flash drive. Plug it into a computer, though, and the machine sees it as a USB keyboard — which means it accepts keystroke commands from the device just as if a person was typing them in.

    “Everything it types is trusted to the same degree as the user is trusted,” Kitchen told me, “so it takes advantage of the trust model built in, where computers have been taught to trust a human. And a computer knows that a human typically communicates with it through clicking and typing.”
  • The WiFi Coconut is a router’s evil twin
    Where most routers make do with two to six antennas, the Coconut has 14, one for each channel in the 2.4GHz Wi-Fi spectrum. That lets the coconut listen and log every channel simultaneously, creating a scannable record of everything that happened on the Wi-Fi spectrum within listening range. One of the Coconut’s most basic functions is creating these recordings along with some basic packet analysis — the Wi-Fi equivalent of recording every station on the radio at once.
  • The O․MG Elite cable is a scarily stealthy hacker tool
    “It’s a cable that looks identical to the other cables you already have,” explains MG, the cable’s creator. “But inside each cable, I put an implant that’s got a web server, USB communications, and Wi-Fi access. So it plugs in, powers up, and you can connect to it.”
  • The ChameleonMini is a skeleton key for RFID
    The ChameleonMini is a tool that allows you to emulate and clone high-frequency contactless cards and read RFID tags. It functions as an NFC emulator and RFID reader and can sniff and log radio frequency (RF) data. From a distance, it looks vaguely like a credit card, although there are multiple form factors. You can use it standalone or connect the device to your phone over Bluetooth and use one of the many chameleon apps to conduct penetration tests on your own systems.
  • The Deauther Watch is the world’s most annoying wearable
    The Dstike Deauther watch can knock a device off of its Wi-Fi network, which is very annoying. You can also do a beacon attack, which lets you create a fake access point with names of your choice, or a probe attack, which can be used to confuse Wi-Fi trackers. It lets you monitor Wi-Fi traffic and, of course, also has a clock (with NTP time server synchronization) and a powerful laser pointer because if you are already wearing something that looks like that, you may as well take it to its logical conclusion.
  • The Hunter Cat is a bodyguard for your credit card
    The Hunter Cat is a small device powered by a coin battery and roughly the size and dimensions of (you guessed it) a credit card. It’s pretty simple! You swipe it into the vape shop or gas station ATM in question, check for one of three lights, and if you get a “warning” or “dangerous” light, then consider another location. When you want to try again, just click the reset button. The card even has a sleep function that shuts the device off after 15 seconds to save on battery life.

    The Hunter Cat is produced by Electronic Cats and Salvador Mendoza and powered by a tiny ATMEL SAMD11 Arm Microcontroller. It works by detecting the number of magnetic heads in a given card reader. If everything’s kosher, you’ll only see one magnetic head – the head the ATM uses to read your card. If the Hunter Cat sees multiple devices, it will give you a warning light to let you know something’s off. Most likely, someone has added a second card reader on top of the ATM to steal your credit card information.
  • The Ubertooth One lets you take a bite out of Bluetooth
    The Ubertooth One is a small, open-source USB device with an antenna powered by an ARM Cortex-M3 chip and a CC2400 wireless transceiver. Plug it into your computer’s USB port, and you can sniff and monitor Bluetooth signals from nearby devices.

This is fascinating stuff, simultaneously both compelling and terrifying. It feels like science fiction, but is real.

Thursday, December 15, 2022

Scrambling my brain

It's unreasonably annoying when your second Wordle guess gets all five letters...

... but it has them in the wrong order (that is, you guessed the anagram of the answer). Fooey!

Anagrams are definitely part of the fun of Wordle, which is all about re-arranging the letters in different orders and combinations.

But I wish we got some sort of partial credit for getting all the letters, but in the wrong order.

It's kind of related to that annoyance when you've figured out 4 of the 5 letters.

But there are 3 possible other words that share those 4 letters.

And you've only got 2 guesses left.

One of our busts was one of those.

Friday, December 9, 2022

Worker shortages

Here's a good high-level article on one of the more interesting questions of the current US economy: Why Aren't There Enough Workers?

The labor market presents challenges for investors. Consider as an example the downside knee-jerk reaction to last week’s NFP only to see the markets close in the green by the end of the day. But it also matters to policymakers like the Fed; they are concerned that strong labor demand is a driver of upwards wage pressures. My views are it is complex and nuanced, in ways that perhaps the Fed might be overlooking.

There have been many longstanding trends leading to the current problems. I suspect the most underestimated aspect of the Labor puzzle is that the US is suffering a shortage of workers. (there is not a lot that raising rates will do to offset that.) These are prior trends that accelerated during the pandemic.

I rather doubt that the Fed is actually overlooking any of these aspects of the worker shortage, but still the article, written by one of my favorite finance/economy bloggers, makes many good points and has a number of fascinating links to chase.

Sunday, December 4, 2022

We now know four of the final eight.

France look just as you would expect the reigning world champions to look: potent, menacing, confident, serious. Every time they step on the field, electricity crackles and pulses race. You get the feeling that anyone, from any position, could do something startling and memorable at any moment. If you get a chance to watch the French play, do not miss it!

The Dutch and the English look solid. They're not surprised to be here; they're both executing to a plan. Both are led by solid, capable managers, and solid, reliable captains. They field a solid squad, thick through the middle with experience and knowledge. Other teams wind up and take a run at them, and fall, winded and spent, as though they'd run into a solid wall. No pizzazz, no flash, very little that passes for style. They carry the weight of decades of expectations just as you'd expect them to: solidly.

Argentina, though surely no surprise, is clearly the wildcard of these first four. The greatest player of our lifetime, perhaps of all time, Leo Messi, is still at the peak of his powers, having traded the raw talent of 16 years ago for the instinctive mastery of every detail of the modern game. Entire formations of the game are due to his skill.. But this team is far more than Messi: they are young and strong and well-tested, having run the gauntlet of South American football with confidence, most recently by winning last year's Copa America tournament, beating Brazil on Brazilian soil. But wait, you say! What was that loss to Saudi Arabia, then? Yes: Argentina remain a wildcard. They can be the best team in the world, or they can somehow miss the train.

Can't wait to see who will join these four to complete our final eight!

Tuesday, November 29, 2022

Yes, I kinda knew it wasn't just me getting my first Wordle score of 1

Felix Salmon clears up the surprise on my scoresheet: Wordle gets more intentional.

Personally, I rather enjoyed the thematic flavor of Wednesday's and Thursday's answers. It's nice, I think, when the Wordle of the day is actually the word of the day.

Can't count me among those who got Sunday's in one guess, though.

I'll get that one next year.

Saturday, November 26, 2022

Ah, yes, technology is everywhere

The chipped balls are live: The World Cup's New High-Tech Ball Will Change Soccer Forever.

Within every match ball is a device designed by KINEXON, a major player in the performance-tracking world across several sports. Per the company, this device weighs 14 grams (just under 0.5 ounces), and actually houses two separate sensors operating simultaneously:

  • Ultra-wideband (UWB) sensor: A type of technology that’s superior to GPS or Bluetooth for precise positional data, plus can transmit data in real time to constantly track the ball’s position.
  • Inertial measurement unit (IMU) sensor: A sensor meant to detect nuanced movements of an object in space.


...

KINEXON’s in-ball device is supported by suspension technology provided by Adidas, designed to house the sensor at the central interior point of the ball and keep it secure in a consistent location.

The article mentions that several tests in various professional leagues have used special jerseys to allow additionally chipping the refs, the players, etc.

But what will we argue about then?

Wednesday, November 23, 2022

First time ever, legitimately got it in one.

I'm sure I wasn't the only Wordle hero today, but anyway I didn't cheat, I just got lucky.

Monday, November 21, 2022

Hey! Guess what?

The World Cup has started!

It's a little weird to be watching it in late November, but that's OK, at least it's here and it's started!

It's been a long time since I figured out where to find Telemundo on my TV remote.

Let's go!

Saturday, November 19, 2022

Fred Brooks has died

Here's a nice memorial article. Here's another. And here's his Wikipedia page, if you really somehow have no idea who Fred Brooks was.

I never met him, but I surely benefitted from him. I did my first serious programming on IBM mainframes, back in 1981, long after he had left IBM and moved to Chapel Hill.

And both The Mythical Man-Month and No Silver Bullet were seminal readings for me when I was just starting out.

I dragged my copy of Man-Month around with me for several decades, until it basically disintegrated from being read so many times.

And Silver Bullet was packed with practical insights, talking about critically important practices such as prototyping and incremental development long before the days of the Agile Manifesto.

He's nowhere near as well-known as he should be, which is a shame, because he certainly was a very important presence in the software engineering field.

Thursday, October 27, 2022

Fun article on artist Tom Hovey

If you've been watching the Great British Baking Show anywhere close to as much as I've been watching it, surely you've become a mad fan of illustrator Tom Hovey and his lovely drawings of the baking creations that the contestants are TRYING to achieve.

Hovey's illustrations manage to be accurate and clear while also being simple enough that you can grasp the baker's intent during the few seconds that it takes for Noel to voice over the drawing with a two sentence description of the intended bake.

I eagerly look for Hovey's drawings, and find that they really improve the show for me, because I have a grasp of what is being attempted in my head, and now I can observe where the challenges turn out to be.

And often, I find that the challenges came from very unexpected sources, which is part of why the show is so fun.

Anyway, here's a nifty little article about Hovey: 'Great British Baking Show': This Guy Rescues Even the Most Disastrous Bakes:

Hovey, 39, has been making illustrations for the popular reality show since its beginning in 2010. Black ink delineates the colorful swirls of meringue, crumbles of crust and fruity layers of filling that show up from bake to bake. He shows how icing might drip artfully down the side of a two-tiered cake decorated with foxes and mushrooms, or how rosemary whiskers jut out of the snout of lion-shaped bread. In Hovey's illustrated universe, nothing has ever been underbaked.

That lion-shaped bread was astounding, by the way, truly one of the very best successes of the dozen years of bakers and their creations.

Enjoy watching the Great British Baking Show!

Sunday, October 23, 2022

TODAY'S WORDLE WAS SO HARD!

I thought the recent "ionic", "quirk", and "spiel" were extremely hard, but we found today's Wordle much more challenging.

Today's word was, I think, much more common and ordinary than those other three words.

I think its letter distribution (a single consonant and the two least-common vowels) seemed to just hit the hard-o-meter to maximum.

But we made it!

  Wordle 491 6/6

⬜⬜⬜⬜⬜
⬜⬜⬜⬜⬜
⬜🟩⬜⬜🟩
🟩🟩⬜⬜🟩
🟩🟩⬜⬜🟩
🟩🟩🟩🟩🟩

Monday, October 17, 2022

Scalar is now bundled with git 2.38

git 2.38 just came out. As usual, it contains a raft of new features, but in particular it introduces Scalar:

Git’s new built-in repository management tool, Scalar, attempts to solve that problem by curating and configuring a uniform set of features with the biggest impact on large repositories.

If you use git, but don't know about Scalar, here's some background information:

  • Scaling Git (and some back story)
    We had an internal source control system called Source Depot that virtually everyone used in the early 2000’s. Over time, TFS and its Team Foundation Version Control solution won over much of the company but never made progress with the biggest teams – like Windows and Office.
  • The largest Git repo on the planet
    we did work in Git and GVFS to change many operations from being proportional to the number of files in the repo to instead be proportional to the number of files “read”. It turns out that, over time, engineers crawl across the code base and touch more and more stuff leading to a problem we call “over hydration”. Basically, you end up with a bunch of files that were touched at some point but aren’t really used any longer and certainly never modified. This leads to a gradual degradation in performance. Individuals can “clean up” their enlistment but that’s a hassle and people don’t, so the system gets slower and slower.

    That led us to embark upon another round of performance improvements we call “O(modified)” which changes the proportionality of many key commands to instead be proportional to the number of files I’ve modified (meaning I have current, uncommitted edits on).
  • Introducing Scalar: Git at scale for everyone
    Scalar is a .NET Core application with installers available for Windows and macOS. Scalar maximizes your Git command performance by setting recommended config values and running background maintenance. You can clone a repository using the GVFS protocol if your repository is hosted by Azure Repos. This is how we will support the next largest Git repository: Microsoft Office.

Note that that last article is almost 3 years old, but progress hasn't stopped!

It appears that the next step has just happened:

The Story of Scalar
Sparse-checkout definitions are extremely generic. They include matching on file prefix, but also file suffix, or path substring, and any combination. For our target monorepo, we only needed directory matches. With that limited type of pattern in mind, we added a new mode to Git’s sparse-checkout feature: “cone mode” sparse-checkout. A quick prototype of cone mode sparse-checkout demonstrated that Git could reach similar performance as VFS for Git, especially when paired with the filesystem monitor hook. Our critical performance measurement was the git status command, and we were seeing performance within three or four seconds, which was close to the typical case in VFS for Git.

This was promising enough to move forward with a full prototype. We decided to make this a separate project from VFS for Git, so it needed its own name: Scalar.

Back in the day, I spent a full decade working on SCM systems, and I still enjoy geeking out by reading the latest news in the SCM world. This is impressive, amazing stuff, though it's hard to convey the importance in a brief way.

Wednesday, October 12, 2022

Roots FC appear to be thriving

With all the news of sports teams leaving the East Bay for greener pastures, here's a short article about the wild success of Roots FC.

Roots FC are a minor-leage soccer team who use the local community college football stadium for home games and practice in the former practice fields of the Oakland Raiders (who are now the Las Vegas Raiders).

Branded as the country’s first “purpose-driven pro sports team,” the Roots are part of the Common Goal movement, meaning all players and staff donate 1% of their salaries to combat social inequalities. Last year, the club worked with Common Goal to create The Anti-Racist Project, an initiative that helps train players, fans, coaches and executives to tackle systemic racism. Club partners include an Oakland writing center and a local nonprofit that serves immigrant youth through soccer.

The Roots’ founders saw value in centering their approach around a community of Oakland sports fans who’d tired of feeling like pawns in billionaire owners’ real estate ventures. With the Raiders and Warriors now gone, and the A’s threatening to also bolt if taxpayers don’t contribute hundreds of millions of dollars to their proposed Howard Terminal project, the Roots have embedded themselves into Oakland’s fabric without asking for more than the price of a general-admission ticket.

Good on them. I ride my bicycle past their practice fields often, and sometimes I can hear the sounds of training coming from behind the (unfortunately) high security fences.

Sunday, October 2, 2022

Sometimes you just have sheer dumb luck

Too bad the luck wasn't, say, two guesses earlier.

Saturday, October 1, 2022

61

I turned 61 this year. Just a funny number. I was born 61 years ago, in 1961.

That year, though of course I don't remember it, Roger Maris hit 61 home runs.

For whatever reason, I didn't realize Roger Maris was a lefty.

61 is a prime number.

A funny number, I say.

One of my very closest friends is named Roger. He, too, was born in 1961.

His parents were living in California at the time, but they were diehard Yankee fans, and so my friend Roger was named after Roger Maris.

Meanwhile, Aaron Judge, a remarkable young baseball player, has hit 61 home runs himself this year.

Aaron Judge is also a Yankee. I had the luck to see him play once, in the new Yankee Stadium (I never went to the old Yankee Stadium).

Roger Maris, tragically, died very young, at age 51, from Lymphoma.

Here's a great picture of Aaron Judge meeting Roger Maris's son after the game.

My friend Roger doesn't really look like Roger Maris, but I'm sure he'd be happy with this picture.

I think it can be possible to root for Aaron Judge and also still root for Roger Maris. Other people agree.

Happy 61, to Aaron, to Roger, to Roger, and to me.

Wednesday, September 14, 2022

Perhaps it is just me, but...

... I really think they're making the Wordle words harder.

Lofty, Tibia, Booze, Alpha, ...

Plus, today's word matches last Friday's word in four of the five letters.

Our scores nowadays are regularly four guesses, and frequently five guesses.

Of course, there is the other theory: I'm just getting old.

Friday, September 9, 2022

Progress in diff-land

Years ago, in an earlier stage of my career, I was totally and obsessively fascinated with the internals of 'diff'.

Then I wandered away from that extremely deep, but extremely narrow, field of study, and lost track of what was going on with 'diff'. The last thing I had really paid any attention to was Patience Diff, which is decades old at this point.

Browsing the net this week, I find out that, of course, progress never stops, and big steps continue to be taken:

  • About 5 years ago, Tristan Hume published an article on an interesting new approach to tree diffing: Designing a Tree Diff Algorithm Using Dynamic Programming and A*.
    After 2+ days of research, discussing ideas with my mentor, and sitting down in a chair staring out at the nice view of London while thinking and sketching out cases of the algorithm in a notebook, I had something. It was a recursive dynamic programming algorithm that checked every possible way of placing the :by-date blocks and chose the best, but used memoization (that’s the dynamic programming part) so that it re-used sub-problems and had polynomial instead of exponential complexity.
  • A year or so later, Russell McQueeney built on this tree-diffing algorithm to build a new structural diff algorithm for Clojure: Autochrome - Structural diffs for Clojure source code
    in order to frame tree diffing as a pathfinding problem, you need to extend the concepts of location, cost, and adjacency to tree diffs. Location is clearly needed to know where you are, but in addition locations need to be comparable, so you know not to bother when you already have a better path to the same place. Cost is what makes some paths preferred over others. For pathfinding on a road network, this would be the total distance traveled along the roads used. Adjacency is what states are reachable from a particular state. For roads you might say that intersections are the nodes and adjacency means there is a road connecting them.
  • And now, Wilfred Hughes takes a further step, abstracting out the language syntax to allow the algorithm to support a variety of programming languages: Difftastic, the Fantastic Diff
    Autochrome and difftastic represent diffing as a shortest path problem on a directed acyclic graph. A vertex represents a pair of positions: the position in the left-hand side s-expression (before), and the position in the right-hand side s-expression (after).

    The goal is to find the shortest route from the start vertex (where both positions are before the first item in the programs) to the end vertex (where both positions are after the last item in the program).

If I could just live another 50 years, what a marvelous 'diff' tool I could look forward to!

Wednesday, September 7, 2022

Vaccine heh

I realized the other day that it'd been 9 months since I got my third COVID-19 vaccination (my first booster). Since I'm over 61, and it is suggested that a second booster would be valuable, and since my calendar had an opening that matched the pharmacy's schedule, I went online and scheduled my appointment.

The online system asked me if I wanted Pfizer or Moderna, so I picked one.

My appointment date came, and I got to the pharmacy and told the pharmacist I was here for my COVID booster appointment.

Well, as I guess everyone in the world knows, between the time that I made my appointment, and the time of my appointment, a new booster shot was approved.

The Safeway Pharmacy computer had scheduled me for an appointment for the regular booster.

Which is no longer available, since now there is a new booster.

So Safeway canceled my appointment (although they didn’t tell me when they did that, they just waited for me to show up).

I guess their computer couldn't just switch my appointment to the new booster.

Although that probably couldn't have worked, because the Safeway Pharmacy doesn't have the new booster, either.

Right now, they don't have any booster at all.

I apparently can make a new appointment sometime in the future and it will be for the new booster, but I can’t do that until they get the new booster, and they don’t know when that will be.

So, there you go. I still only have a single booster shot. But that's better than nothing, so it's fine. It's all fine.

Friday, September 2, 2022

There should be more articles like this on the Internet

From one of my favorite newletters comes a nice short article about a bunch of board games I'd never heard of: Stardock Game Night: Games for Big Groups.

I thought I would share a few of our favorite group games here at Stardock in case you find yourself bursting at the seams on game night.

Tuesday, August 16, 2022

A long trip to Hunky

Yeast : yellow 'y'

Ducky: green 'u','k','y'

Bulky: green 'u','k','y'

Funky: green 'u','n','k','y'

Junky: green 'u','n','k','y'

Hunky: green 'h','u','n','k','y'

"Hunky" ? For real?

Well, at least we had 6 guesses.

And man oh man, was 'Ducky' a good guess (thank you to the best partner there is!)

Tuesday, August 2, 2022

First Wordle bust in 6 months

Ouch!

Time to start a new streak!

At least now I am 'Y's to the word that broke our streak :)

Monday, August 1, 2022

Backpacking 2022: The McKinney fire

It was time to go, we had made our plans, we had packed our gear, so we loaded up the cars and went.

Only, just as we were getting on the road for the 7 hour drive to the trailhead, the McKinney fire was ignited by a cluster of lightning strikes over the Klamath National Forest.

As we headed north, we could start to see the amazing pyrocumulus cloud created by the fire. Reports estimated that it reached 50,000 feet.

By the time we were nearing the town of Yreka, CA, the sun was no longer visible.

We spent the night in a motel in Yreka, surrounded by wilderness firefighting units who had arrived from all directions.

In the morning, there was ash everywhere, and the air was unbreathable. We wished the firemen good luck and hopes for a favorable turn in the weather, climbed back in our cars, and headed home.

On the way home we visited Burney Falls State Park, where the weather was beautiful and we ate our backpacking food as a fine picnic lunch near the falls.

We will have to try again next time.

Friday, July 29, 2022

Some Wordles are strangely hard.

Steep, stamp, stump, stomp.

When you start out with 3 letters in the correct positions, you feel unreasonably aggravated when it takes you 4 total guesses to find the final word.

Then the very next day we caught a break and found the answer on the second guess (very rare for us, our average is about 3.5)

I find doubled letters very hard. Madam was one of our rare 6-guesses.

I also don't have a good understanding of Wordle's treatment of plurals. It seems like Wordle will very rarely choose a word such as 'nails' or 'belts' as the final word, but it will happily accept such guesses from us. So when we get an 's', we try to avoid guessing a simple 4 letter plural. If that's a true understanding of Wordle's behavior, it suggests that the game has two dictionaries, or at least some sort of additional logic in the selection of the daily word to downplay simple plurals.

After 190 games, we've never guessed the word on our first guess.

Thursday, July 28, 2022

Dead and Company, June 17-18, 2022

I got a chance to hook up with my friends and make the Dead and Company shows in Boulder, Colorado, on June 17-18 this year.

Boulder is an unusually nice place to be, at any time of the year, but in early summer it is delightful. Gorgeous weather, the Rocky Mountains, and outdoor music: what more could you want?

This is the 50th anniversary of Europe '72, felt by many people to be the best Grateful Dead album of them all, and the two Boulder shows dipped deeply into that history, featuring 10 selections from that album, all told:

  • I Know You Rider
  • Ramble on Rose
  • He's Gone
  • Brown Eyed Women
  • Truckin'
  • Morning Dew
  • One More Saturday Night
  • China Cat Sunflower
  • Hurts Me Too
  • Mr. Charlie

The band also included many other fan favorites, both older ones (Viola Lee Blues, The Other One, Wharf Rat, Bertha) and newer ones (Althea, Terrapin Station, Let It Grow)

I particularly enjoyed a number of covers of other music that I hadn't ever heard them play in person, including:

  • All Along the Watchtower
  • Dear Mr. Fantasy
  • Hey Jude
  • Milestones

All in all, it's a remarkable catalogue.

Somewhere I read that Jerry Garcia was known to have performed over 1,000 different songs in his career (which wasn't all with the Grateful Dead). This First Monday essay states that the Grateful Dead are known to have performed over 450 unique songs.

I had a wonderful time, and I do hope I get the chance to do something like this again.

Hey! I still wasn't the oldest person at the shows, not by a long shot!

Monday, July 18, 2022

Cornell '77: a very short review

Cornell University Press published a serious book of history about the Grateful Dead: Cornell '77: The Music, the Myth, and the Magnificence of the Grateful Dead's Concert at Barton Hall

The concert in question was just one show in the band's 1977 spring tour; it happened to be on the campus of Cornell University and was organized by the students at the university.

I'm sure you have to already be a fan of the band (a "Deadhead") to really enjoy the book; certainly you have to be at least a little interested in the band to have any interest in the book.

I really liked the book and passed it on to my brother-in-law, who is also a Deadhead, and who even has a collection of CD's of recordings of other concerts on the same tour.

My guess is that: if you're a little bit interested in the band but not very knowledgeable about them, you'll learn a lot from Cornell '77, while if you're already very knowledgeable about the band, you won't learn very much. I guess I was somewhat in the middle, because I learned more than I was expecting to learn (including a little bit about Cornell University, about which I knew next-to-nothing).

Saturday, July 9, 2022

Apache DB is 20 years old

The DB project at the Apache Software Foundation was founded on July 16th, 2022, which means it's 20 years old.

The software that is maintained by the DB project includes work that was donated to the ASF, but was completed years before that, so some of this software is more than 25 years old and is still in regular use around the world.

Pretty good achievement.

Wednesday, July 6, 2022

Easy bus never comes around

Here's a really lovely short speech by Kara Lawson, Duke University women's basketball coach.

Excerpt:

"We all wait in life for things to get easier. ... It will never get easier. ... What happens is you become someone who handles hard stuff better."

"That's a mental shift that has to occur in each of your brains. It has to. Because if you go around waiting for stuff to get easier in life, it's never going to happen."

Sunday, July 3, 2022

Release It! : a very short review

Michael Nygard's Release It! is now five years old, which seems like an eternity in the world of Cloud Computing, so I was prepared for it to seem stale and out-dated, but in fact it still feels fresh and relevant.

Nygard nicely describes the goal of his book in the very first paragraph of the Preface:

In this book, you will examine ways to architect, design, and build software -- particularly distributed systems -- for the muck and mire of the real world. You will prepare for the armies of illogical users who do crazy, unpredictable things. Your software will be under attack from the moment you release it. It needs to stand up to the typhoon winds of flash mobs or the crushing pressure of a DDoS attack by poorly secured IoT toaster ovens. You'll take a hard look at software that failed the test and find ways to make sure your software survives contact with the real world.

In this compact description, Nygard conveys all the reasons that I found his book to be well worth the time:

  • It's based in experience. Nygard shares dozens of real situations that he's encountered while building modern Internet systems, and isn't afraid to reveal his mistakes and how he learned from them.
  • It provides solutions, not just problems. Nygard survived his mistakes and kept good records about basic, solid approaches that he used successfully in his work.
  • It's lively and fun to read. If you've ever tried to spend time digging into Cloud Computing technology in areas such as networking, security, or resource virtualization, let me tell you: it is dry, dry, dry, full of acronyms and abstraction. Nygard's writing style is a bit breezy, but it's light and entertaining and he succeeds, for the most part, at taking some very dull material and making it, well, at least bearable.

It's probably worth comparing Release It! to a broadly similar book, Site Reliability Engineering, which I discussed about six years ago, briefly.

The Google SRE book is longer and more in-depth. It is also considerably harder to read, partly because each chapter of the SRE book is written by a different set of authors, all of whom are experienced in their subject matter, but each with a different writing style and approach. Moreover, the Google SRE book is focused on Google-specific solutions to problems.

Nygard's book is shorter and a lot more fun to read, making it more likely, frankly, that you'll get through it and actually learn things and remember them.

And Nygard doesn't assume you work at Google.

I'd suggest: read them both! Read Nygard's book first, to get a broad and readable grounding in lots of important subjects. Then, if you find yourself actively working in a particular area, dive into the particular subject matter in the Google SRE book as well, for additional depth and more detailed material.

Of course, neither of these alone will make you a successful Infrastructure Engineer at a Cloud Computing company. For that, you'll need a lot more study, a lot more practice, and the opportunity to actually work in such an environment and learn from your peers. None of this comes easy.

Wednesday, June 29, 2022

The Disappearing Spoon: a very short review

Here I am again, twelve years late to the party, but please allow me to tell you about Sam Kean's wonderful The Disappearing Spoon.

The Disappearing Spoon is a history of chemistry organized around the periodic table of the elements.

Whoa! Back up! That sounded really boring! Let's try again:

The Disappearing Spoon is a collection of fascinating vignettes about the chemists, physicists, and other scientists who developed and refined our understanding of modern chemistry, grouped roughly into thematic categories of related tales, inter-sprinkled with just enough basic chemistry information to make you interested in something you (maybe) always thought was too boring for words.

That's better, but still doesn't do it.

The Disappearing Spoon is the sort of book where you start reading about Maria Goeppert, born in Germany in 1906, who was educated in Germany and met her husband, Joseph Mayer, then moved to Baltimore where he was a chemistry professor. You then learn that

her work touched on a mystery that was more difficult to grasp, a deceptively simple problem. The simplest element in the universe, hydrogen, is also the most abundant. The second-simplest element, helium, is the second most abundant. In an aesthetically tidy universe, the third element, lithium, would be the third most abundant, and so on. Our universe isn't tidy. The third most common element is oxygen, element 8. But why?

Now hooked on the question, so nicely-presented, you read on about Goeppert-Mayer's work on the nuclear shell model, and how it was able to explain the prevalence of oxygen in the universe, and how it led to being awarded the Nobel Prize in Chemistry. All well and good, the story then concludes:

Still, she never quite shook the stigma of being a dilettante. When the Swedish Academy announced in 1963 that she had won her profession's highest honor, the San Diego newspaper greeted her big day with the headline "S.D. Mother Wins Nobel Prize."

Many thanks to my great friend Roger, who raved about The Disappearing Spoon for years until I finally broke down and read it, wishing I had listened to him a decade ago.

Saturday, June 25, 2022

An alternate way to visit Yosemite

The nation's very best National Park is, of course, Yosemite National Park. But because of (a) it's the best park, and (b) it's therefore very popular, and (c) it's quite a distance up in the mountains, it can be quite a challenge to visit Yosemite.

The best of all possible ways to visit Yosemite is to arrange to take a backpacking trip into the wilderness; I've been lucky enough to do this multiple times in my life. But this is a big undertaking, and is really not for most people.

Another lovely way to visit Yosemite is to camp or stay in Yosemite valley. There are cabins and tent campsites available in the valley, as well as the Ahwahnee Lodge. These are all wonderful ways to visit Yosemite! But these campsites are very much over-subscribed, and you have to make reservations a year in advance. That's a lot of advance planning!

Many people arrange to stay outside the park, in places like Mariposa or Oakhurst or Sonora, all of which are very nice and have plenty of nice lodging. The downside is that it is at least a 90 minute drive to Yosemite valley from any of these places, possibly longer, which means you're spending a lot of your visiting day in a car. And none of them are actually in Yosemite National Park, so in the morning and at nighttime, you're not in the park, you're in a Gold Rush Town. Which is fun, but not the same thing.

Recently we went to visit Yosemite, and we found a spot in Wawona Village via Yosemite Scenic Wonders. I was a little uncertain about doing this at first, because I'd never done it before, but it turned out to be a wonderful visit. Scenic Wonders operates two areas of rental cabins that are actually inside the Yosemite National Park gates, one in Yosemite West and one in Wawona Village. Wawona Village is a beautiful, under-visited part of Yosemite, located in a small valley on the South Fork of the Merced River (Yosemite Valley is on the main Middle Fork of the Merced). It's quiet and beautiful, and is a lovely place to stay.

Wawona Village is not really close to Yosemite Valley, it's still a significant 45 minute drive, but that's much more feasible than a drive from Mariposa or Oakhurst, and more importantly at night-time you're in the wilderness, you're not in a city!

You get the real experience.

Thursday, June 23, 2022

The Moving Toyshop: a very short review

About eighty years ago, Bruce Montgomery, under the pen name of Edmund Crispin, wrote a series of detective novels featuring Gervase Fen of Oxford. Much has changed in the intervening years, yet Crispin's The Moving Toyshop is still quite enjoyable and entertaining.

The Moving Toyshop is, by turns, silly, exciting, intriguing, amusing, and sexy. At times it often felt like "what Wodehouse would write, if Wodehouse wrote amateur detective stories set in Oxford." Which is no bad thing!

When Crispin so desires, he can write a hard-boiled detective scene with the best of them:

Trapped in the pitch blackness of that musty-smelling passage, his self-control suddenly failed. He knew there was a soft, padding step coming towards him. He knew that he threw the empty torch blindly, and heard it strike the wall. And he sensed, rather than saw, the blazing beam of light which shone out from behind. Then there was a dull, enormous concussion, his head seemed to explode in a flare of blinding scarlet, and there was nothing but a high screaming like the wind in wires and a bright breen globe that fell twisting and diminishing, to annihilation in inky darkness.

And Crispin can be silly:

'Golly,' said Sally when he had finished, and added a little shyly: 'You do believe what I told you, don't you? I know it sounds fantastic, but - '

'My dear Sally, this is such a wild business I'd believe you if you said you were the Lady of Shalott.'

'You do talk funnily, don't you?' But the words were swept away in the rush of wind and the din of the engine.

'What?' said Cadogan.

Wilkes turned round in the front seat. He could hear better when there was a noise going on. 'She says you talk funnily.'

'Do I?' It had not previously occurred to Cadogan that he talked funnily, the thought disturbed him.

'I didn't mean to be rude,' Sally said. 'What do you do? What's your job, I mean?'

'I'm a poet.'

'Golly,' Sally was impressed. 'I've never met a poet before. You don't look like one.'

And Crispin can be sexy:

A girl had just emerged from an alley-way which ran behind one of the shops in the Cornmarket. She was about twenty-three, tall, with a finely-proportioned, loose-limbed body, naturally golden hair, big candid blue eyes, high cheek bones, and a firmly moulded chin. Her scarlet mouth broke into an impish smile as she called back to someone in the alley-way. She wore a shirt and tie, a dark brown coat and skirt, and brogue shoes, and walked with the insouciant swinging grace of perfect health.

A particularly fun part of reading The Moving Toyshop is the number of times I had to reach for my dictionary. Crispin deploys a broad vocabulary, and it was a nice change of pace to stop and look up some of the relatively unusual words I encountered: homiletic, steatopygic, budgerigars, atrabilious, fortalice, myrmidons, prepossession, perorated, rodomontade, groined, cheiromancer.

Along the way, our merry band of adventurers manage to track down and collar a group of scoundrels and deliver them to the local authorities, then retire to the local pub for their deserved, but mannered, celebratory feast.

Although The Moving Toyshop was published in 1946, Crispin is typically considered to be part of the great Golden Age of British detective writing, alongside other giants of the time such as Agatha Christie, Margery Allingham, Ngaio Marsh, Dorothy Sayers, GK Chesterton, Anthony Berkeley, Nicholas Blake, and more.

And, clocking in at a brisk 200 pages of rapid, easy reading, Crispin is a lovely way to explore that great period of writing, and I look forward to spending more time with his work in the future.

Tuesday, June 7, 2022

Oksi: a very short review

I don't read graphic novels very often (although I do like the genre).

I really don't read Finnish novels very often.

Mari Ahokoivu's Oksi is definitely the only Finnish graphic novel I have ever read.

I tend to read graphic novels too quickly, not paying enough attention to the artwork as I go, and Oksi is no exception. Worse, I read it quickly and yet over multiple sittings (it's quite a large book). So I tended to get immersed, and then break away, and then later I'd return to the book with a profound sense of dislocation, and struggle to re-capture whatever it was I was feeling the previous time.

Still, I felt that Oksi is deep, thought-provoking, disturbing, and complex. It's very effective, and I think this is a great example of why a graphic novel can be considered to be serious literature.

I found several online reviews where readers said that, having read it quickly (as I did), they now felt the urge to go back and re-read it slowly.

I think I'm different: I enjoyed the hours I spent with Oksi, but I'm going to pass it on to somebody else now.

But one last comment/question: how does this relate to Oski the Bear? I assume they're the same underlying character, although I've never heard anything about the mascot's name being related to Finnish mythology.

Monday, May 23, 2022

Abraham Lincoln, Vampire Hunter: a very short review

Wow, it's been a really long time since I wrote on the blog. Bad Bryan!

Seth Grahame-Smith's quite bizarre Abraham Lincoln: Vampire Hunter followed just a few years after his earlier (and better known?) sensation: Pride and Prejudice and Zombies (which I didn't read).

Abraham Lincoln: Vampire Hunter has several things going for it:

  • It's a quick read, with (unsurprisingly) lots of action!
  • The decision to suspend your disbelief is not complicated here: you either accept the basic premise or (and I'm sure this is common) you just don't bother with the book.
  • Grahame-Smith actually turns out to be much more interested in Abraham Lincoln than he is in Vampires
  • And, perhaps most importantly, the premise is actually quite an interesting metaphor.

It's that last point that is surely arguable, and I'll concede it is not to be taken too seriously. The two hundred and fifty years or so during which North America experienced the horrors of human slavery are surely among the most evil period of modern human history, and anything which deflects from that evilness can be criticized and rightly so.

On the other hand, it is all too easy for modern Americans in their easy chairs to look away from that time, close their eyes, and try to avoid thinking about it entirely. For how can we easily come to grips with the sheer monstrosity; it is so dreadful that we cannot even bear to contemplate it, and yet, undeniably, Abraham Lincoln did contemplate it, and did come to grips with it, and did do something about it, and did pay for that with his own life.

It's a story worth telling, and if Grahame-Smith's bizarre mash-up of history and horror novel manages to provoke even some people to stop and consider and imagine what it must have been like in those times, and how hard it must have been to completely re-shape the country into a totally different result, I'm willing to grant him considerable latitude in trying to take steps in that direction.

Wednesday, May 4, 2022

Death and Judgement: a very short review

Donna Leon's Death and Judgment is the fourth Guido Brunetti novel.

But rather than becoming formulaic and predictable, Leon's books are progressing nicely, becoming richer, more compelling, and more fascinating.

Indeed, at this point we can perhaps say that Leon has solidly found her footing, and Death and Judgment is perhaps the first complete work of the Guido Brunetti series.

What evidence can I present for this claim? Well, here's a sampling:

  • The plot is sharp. The criminals are despicable, and the villains are truly horrific. The three page segment late in the book in which Brunetti finally connects all the dots when he views a short video of one of the crimes is one of the most gripping sequences I've read in years. After I got through it, I had to put the book down and go for a long walk in the sunshine and look out over the ocean and try to recover: it was that vivid and terrifying.
  • The supporting characters become richer and more fascinating. Previously we've learned a lot about Brunetti's wife Paola; in Death and Judgment it is his daughter's turn. And this, too, adds depth, as Brunetti observes when he reflects on the consequences of bringing his work home with him:
    His mind flew up and away from the room. He tried to think noble thoughts, tried to think of something to say that would assure his child, convince her that, however wicked what she had seen, the world was a place where things like that were random, and humanity remained good by instinct and impulse.

Brunetti does not so attempt to convince his daughter. Rather, he is straight with her, in a quietly powerful conversation.

Everything is working for Leon: her pacing is excellent, her characters are believable, her evocation of Venice is engrossing, and her plots and tales are just as vivid and compelling now as when she wrote Death and Judgment twenty seven years ago.

Can't wait to read more of Comissario Brunetti's adventures!

Saturday, April 30, 2022

Before the Fall: a very short review

Noah Hawley is perhaps best known for his work in television: first Bones, then the extremely well-received Fargo.

It turns out that he's also written a number of novels. I was looking for something simple to take along with me on a cross-country plane trip, and I ended up with his Before the Fall

Hawley developed his skills as a screenwriter and you can really feel it in his writing. Before the Fall opens with a BANG! and the first 50 pages fly by before you can catch your breath.

The rest of the book careens along like Mr Toad's Wild Ride, but Hawley has a natural sense of pace. Each time I felt my attention about to flag, he'd drop another shoe and hook me for another few chapters.

Overall, the book delivers on its promise: it's an enjoyable time-filler, keeping you just intrigued enough to see it through to its satisfying conclusion.

One detail, though: I think I mentioned I picked this up for a plane trip?

Uhm, perhaps not my most well-considered choice, as the entire book is about a plane crash.

Heh. Serves me right.

Wednesday, April 27, 2022

What does Google have against "exposed"?

I was writing a document using Google Documents, and I wrote:

[Activity X] exposed problems with [Program Feature Y]

Google flagged "exposed" as an undesirable word, and said to me:

Word Choice: These synonyms may make your writing flow better. Try using:
  • uncovered
  • revealed

Elsewhere in my document I wrote:

The precise timeframe for this ...

and Google flagged "precise" as an undesirable word, and said to me:

Word Choice: These synonyms may make your writing flow better. Try using:
  • specific
  • exact

What the heck is up with Google?

Tuesday, April 12, 2022

California COVID progress

From what I can tell, the California state-wide COVID-19 website has now switched to twice-a-week updates.

For many months, the site was updated seven days a week, with only occasional omissions for major holidays.

Sometime last fall, the site switched being updated only five days a week, taking Saturday and Sunday off and bundling those results into Monday's update.

This week, when I look at the website, it says:

Data is updated on Tuesdays and Fridays.

I suppose this is probably progress, as the state presumably feels that it's no longer important to update the site as frequently.

P.S. I think nobody makes the attempt to say "Data are updated..." anymore. I am showing my age.

Release notes done well

In computer industry parlance, Release Notes are a mechanism for communicating change.

A software system typically undergoes a series of development cycles, with the result that, every so often, a new version of the software is released. Each release generally contains a compendium of bug fixes, as well as some number of new features.

For a small piece of software, or for a piece of software that is frequently released, release notes can be boring and mostly inconsequential, simple recitals of bug fixes which are often only of interest to the handful that encountered that particular bug.

For a large and sophisticated piece of software, a long time may have elapsed between releases, and a large team may have been working on the software, and so the scope of the change between releases may be hard, and challenging to communicate.

A common approach is to have a summary listing, embedded with myriad links to details, for example the Linux Kernel release notes tend to follow this format. Another classic example is the Java release notes.

Now, Unreal Engine is a very sophisticated piece of software which is nearing its 25th anniversary.

Unreal Engine 4 was released in 2015. Unreal Engine 5 was released in 2022.

That's a long time, and that's a large piece of software, and so the technical communication challenge is immense.

So it's lovely to see what a stunning job has been done with the Unreal Engine 5 Release Notes.

Although the overall format is very similar to the Linux Kernel release notes, being a single immense listing of changes, each with their own hyperlink to background material with further details, what a difference the presentation makes! The Unreal Engine 5 release notes are lavishly illustrated, with animated GIFs and other illustration techniques throughout.

Of course, this material is not for the novice reader; you have to be prepared to encounter sentences such as

The Shader Complexity view mode shows a heatmap of shader instruction counts per pixel, encompassing all rendered objects. Nanite's existing Material Complexity view mode shows a heatmap of the number of unique materials on Nanite geometry only per 8x8 tile, which is a useful metric for determining material coherency in the Nanite pass.

But my oh my, if this is the sort of stuff that gets you up in the morning, browsing the Unreal Engine 5 documentation will provide many hours of glorious exploration of new and fascinating ways to make computers work magic.

Thursday, March 31, 2022

USMNT is Qatar-bound!

Losing to Costa Rica by a score of only 0-2 turned out to be plenty to retain third place in the CONCACAF World Cup qualification group, and means the US has qualified for the 2022 World Cup, to be held in Qatar approximately eight months from now.

I haven't followed the qualification matches closely, but all accounts seem to agree that the team have recruited some young and exciting talent and hopefully it will be fun to watch!

Actually, the big surprise from this round of matches is the impressive performance of the Canadian team, which finished clear first in CONCACAF. This is the first time in THIRTY SIX YEARS that Canada have qualified for the World Cup, and to do so by taking clear first in the group is remarkable.

Looking forward to November!

Thursday, March 24, 2022

More mysteries of COVID-19

Both from the most excellent Bloomberg Prognosis newletter.

  • From the current Moderna study on vaccination of very young children:
    The drugmaker said Wednesday that its shot appeared effective for kids aged 6 months to 5 years. The trial found it generated a strong immune response, without any serious safety concerns. You could practically hear parents everywhere breathing a sigh of relief.

    But don’t start celebrating just yet. Dive into the data and it gets a bit more complicated: The shot was only around 44% effective in stopping Covid cases in the 6-month to 2-year age range, and around 38% effective for 2- to 5-year-olds. None of the 7,000 children in the trial contracted a severe case of the disease, but it's hard to tell whether the shot was the reason, since no one in a placebo group caught a severe case either.
  • From South Korea, which has a relatively unique COVID-19 policy:
    In just one day, Covid-19 cases jumped by more than 220,000 to a world-topping daily tally of 621,328.

    Normally such a case count would cause shock and panic. But not in South Korea, where government officials were breathing a sigh of relief. Their singular focus — the fatality rate — was still falling, dropping to 0.14%, one of the world’s lowest. That meant Korea’s virus-death rate was less than one-10th that of the U.S. and the U.K.

    Unlike other countries that have given up and stopped tracking the virus, Korea continues to test everyone, at a cost of $1.3 billion so far, which led to the astronomical case counts. But testing diligence, combined with a focus on vaccinations, is credited with keeping hospitalizations and deaths low.

Monday, March 21, 2022

Statistics are looking better, at least close to home

The number of COVID-19 hospitalizations in Alameda County hasn't been this low since December 20, 2021.

And the test positivity rate hasn't been this low in Alameda County since before Thanksgiving of 2021.

Those are nice things to see.

We went to a youth musical theater event this weekend, indoors. They checked our vaccination cards at the door, and we were fully masked for the entire event, which was fine with me.

Overall, nobody seemed to be complaining about the protocols, which doesn't surprise me here in the East Bay. People are still taking things quite seriously here.

But it sure is nice to see the statistics improving.

Saturday, March 19, 2022

Dressed for Death: a very short review

Book 3 in Donna Leon's Guido Brunetti detective series is Dressed for Death.

Having established Brunetti and his cohort as central characters with solid backgrounds, Leon now starts to spend less time on the familiar characters and more time on other topics.

Here, the topic material initially starts as a crime against sex workers in the mainland Mestre borough of Venice, then moves on to a financial crime hidden behind a non-profit organization's front.

Even more shockingly, Leon dispatches one of Brunetti's colleagues suddenly and unexpectedly, in a passage of real drama, making Book 3 considerably more "hard-boiled" than the first two, which could have been written by Agatha Christie 50 years earlier.

I sailed happily through Dressed for Death in a matter of days, hungry for more.

Thursday, March 17, 2022

I got bit by the Docker pid 1 Zombie child reaping problem

Heh, how's that for a hook?

I was having the hardest time porting a collection of test suites to a new testing lab.

In particular, I was struggling with a shell script that does a strange thing:

  • The script is trying to shutdown a server process.
  • After various other steps, the script does a kill -9 to kill the process.
  • Then the script enters a loop where it checks whether the process still exists,
    • And it doesn't exit that loop until the process is gone

And the script was hanging.

Now, I agree, that seems like a strange thing for a script to do, since as we all know, signal 9 cannot be blocked nor caught, and the signal action is to end the process. Why was the script bothering to verify that the signal 9 worked?

But, more curious, why wasn't the signal working?

At first, I followed a wild goose chase, convinced that I was struggling with some sort of security issue which was preventing one process from inquiring about the status of another process. We were using kill -0 [PID] to check to see if the other process existed, so I tried messing about with that. I tried switching that code to use test -e /proc/[PID]. I tried using /bin/kill to see if we were somehow using a Bash with a built-in kill command that was malfunctioning. I tried using various incantations of the ps command to examine the target process, like ps -o pid= -p [PID] and ps -ef | grep \w[PID]\w | grep -v grep | wc -l.

All of these various approaches agreed: the process was still alive.

How could kill -9 not kill the process?

Finally I collected ps -ef output at the point where the termination script was hanging.

And, indeed, the process still existed!

It was in [defunct] state.

At this point, I finally knew what was really going on: the system wasn't reaping Zombie processes properly.

This is the function of the init process, so then I started searching the internet for things like Zombie defunct init Docker and I very quickly found the answer:

  • Docker and the PID 1 zombie reaping problem
    When building Docker containers, you should be aware of the PID 1 zombie reaping problem. That problem can cause unexpected and obscure-looking issues when you least expect it. This article explains the PID 1 problem, explains how you can solve it, and presents a pre-built solution that you can use: Baseimage-docker.

At this point, one (properly) skeptical colleague of mine said: "why are you pointing us at a 7-year-old blog post? Surely that's been fixed by now?".

But it hasn't! It's mostly fixed, but it's still a problem. The "fix" was to document the behavior:

  • Run multiple services in a container
    The container’s main process is responsible for managing all processes that it starts. In some cases, the main process isn’t well-designed, and doesn’t handle “reaping” (stopping) child processes gracefully when the container exits. If your process falls into this category, you can use the --init option when you run the container. The --init flag inserts a tiny init-process into the container as the main process, and handles reaping of all processes when the container exits.

There's a long tortured backstory for people who want to learn the gory details:

  • Zombie Processes
    If like in standard docker container launching a command, there is no proper init process, nobody will care about orphaned processes and they will stay here as zombies also called defunct.
  • Introducing dumb-init, an init system for Docker containers
    Lightweight containers have made running a single process without normal init systems like systemd or sysvinit practical. However, omitting an init system often leads to incorrect handling of processes and signals, and can result in problems such as containers which can’t be gracefully stopped, or leaking containers which should have been destroyed.
  • https://github.com/krallin/tini
    Tini is the simplest init you could think of. All Tini does is spawn a single child (Tini is meant to be run in a container), and wait for it to exit all the while reaping zombies and performing signal forwarding.

Note that tini is init spelled backward. We programmers like that sort of joke.

And buried in that backstory is the odd side-story that bash, if used as --entrypoint, does reap zombie children, which explains why all my simple reproduction tests never reproduced the problem cleanly, so that I could only reproduce it with a two hour complicated full test run (groan).

But the bottom line is: docker run --init is there for a reason.

And kill -9 doesn't always "work", if init isn't reaping processes.

Sunday, March 13, 2022

This is why the Internet exists.

There are important questions.

They are hard to answer.

They NEED to be studied.

And on the Internet there will be, given enough time, someone who will study them.

What literature did Nate and Nora keep on their shelves?

Wednesday, March 9, 2022

One full month after fully recovering from my case of COVID-19...

... about all I can sensibly say about the experience is: if this is what it was like to catch the "mild" variant of COVID-19, after being fully vaccinated and also having my booster shot, and being of generally good health for my age, then I can hardly imagine what it would have been like to catch the "full" variant of COVID-19 with no vaccination protection at all.

All in all, it was mild, I rested a LOT, drank VAST amounts of water and tea and juice, snuffled and sniffed and cleared my throat for about 8 days, then spent about 10 more days just feeling tired and achy and generally low.

But now at last I feel back to my normal self.

(Whatever that is.)

Sunday, March 6, 2022

Disco Elysium: a very short review

Disco Elysium was for quite a while the highest-rated game on the Metacritic PC review aggregator, and justifiably so: it's an excellent game, and I thoroughly enjoyed the 70 hours or so that I spent with the game this winter.

It's a little bit hard to describe Disco Elysium. The overall plot structure is a murder mystery: your character is a police officer, charged with solving the murder of a man who is found dead in the alley outside the local pub. The game is set in a small physical realm, but the gamespace is rich with interactivity: objects, characters, events, etc.

As a Role Playing Game, you find a lot of choice in how you play the game. Initially, you must go through the typical character design step, where you choose some basic characteristics of your character which will establish how the game behaves.

But there are several dozen characteristics!

Some of them are quite obvious, such as Intellect, Endurance, Reaction Speed, etc. Others are uncommon but fairly obvious, such as Perception, Suggestion, Empathy, and Rhetoric. Others still are quite unusual, with names like Inland Empire, Shivers, Savoir Faire, and Half Light.

Given that, over the range of the game, your character might come to have a level anywhere between 1 and 10 for each of these 24 characteristics, the span of possible states is enormous.

In practice, what this means is that each encounter in the game plays out in a very different way depending on how you chose your initial characteristics, and on how you chose to develop your character during the game.

And, of course, depending on how you chose to respond during each encounter. Particularly since the results of earlier encounters and decisions change the odds and outcomes of later ones.

And just to expand the variability still more, there is the traditional RPG element of chance, as the game nearly always throws the dice as part of each particular event.

It's a truly immense pallette of possibilities.

Faced with this, rather than designing my character intricately bit-by-bit, I chose one of the "presets" that the game offered at the start. The preset I picked was "sensitive", which was basically an arbitrary choice on my part. I suspect that the game designers intended this to take me down a particular play style, in which my decisions were emotional, dramatic, perhaps even impulsive.

As the game went on, though, I found myself choosing dialog selections that were perhaps at odds with my character's attributes, as the game kept bestowing honors on me such as "Unbelievably Boring", and "The World's Most Laughable Centrist", and "Literally The Sorriest Cop On Earth".

It's that kind of a game, snarky and yet incisive all at once.

The game was enjoyable from start to finish, and I really enjoyed the conclusion, as it indeed seemed to result in the outcome that my character deserved. Many people talk about the immense replayability of Disco Elysium, and it clearly would reward various replays with completely different approaches that would reveal various other aspects of the game world.

But time is short and I had a very satisfying first play, so I suspect I'm unlikely to find another 70 hours anytime soon, as there are too many other demands on my time.

Friday, February 18, 2022

Statistically speaking...

... I continue to visit the California COVID-19 dashboard, nearly every day.

The total number of cases, total number of hospitalizations, and test positivity rate are continuing to fall very rapidly in the last 10 days or so.

However!

The absolute numbers, both state-wide, and in my county of residence, are STILL higher than they were at the PEAK of last summer's wave.

Be careful out there, everyone! Get those vaccines, get those boosters, wear a GOOD mask when you're in an indoor space, or even in a crowded outdoor space.

Take it from someone who did all that, and is still working to recover from a bout of COVID himself...

Friday, February 11, 2022

Repairing the Tonga cable

Wonderful article on Reuters (with lovely and very informative graphics) about the work to repair the Tonga cable: The race to reconnect Tonga

The 827 km (514 miles) cable from Fiji to Tonga is one of 436 active undersea cables that connect the globe.
...
Most cable damage occurs due to ship anchors or fishing trawlers and occasionally environmental factors such as earthquakes.

Faults are common and typically most traffic would be rerouted to another cable. However, in Tonga’s case, there is only one cable connecting the country.
...
The fibre optic cable isn’t easy to fix. A technician splices the glass fibres and uses glue to attach the new section of the cable. This fibre optic splicing can take up to 16 hours and is the most crucial aspect of the repair work.
...
A remotely operated vehicle (ROV) may descend to the seabed to inspect and help bury the cable, although they can only work to a certain depth. In the case of the Reliance, the vehicle can descend up to 2,500 meters.

Thursday, February 10, 2022

A couple fun gaming articles

Happened across these for various random reasons, and enjoyed them.

  • Meet the hundreds of horse girls running Red Dead Online's kindest posse
    In early 2020, when the global response to Covid-19 mandated national lockdowns and stay-at-home orders, online gaming had a huge boom. Friends celebrated birthdays inside Animal Crossing: New Horizons. Gamers introduced family members to browser party games to keep in touch.

    ...

    "Quarantine happened and a lot of people weren't able to see their horses," Farace explains. She was frequenting a Facebook group of horse-loving gamers at the time, and a post caught her eye. "Red Dead people were like 'let's have online trail rides!'"

    "With RDR2 having some of the most beautiful horse models in video games, topped off with beautiful motion captured animations and a breathtaking wilderness, it's a blast to take pictures in this game." It was by uploading her photos to the Rockstar Social Club that Sunny met another member of The Rift and started joining in on trail rides.
  • The Notorious Board Game That Takes 1,500 Hours To Complete
    The game itself covers the famous WWII operations in Libya and Egypt between 1940 and 1943. Along with the opaque rulebook, the box includes 1,600 cardboard chits, a few dozen charts tabulating damage, morale, and mechanical failure, and a swaddling 10-foot long map that brings the Sahara to your kitchen table. You’ll need to recruit 10 total players, (five Allied, five Axis,) who will each lord over a specialized division. The Front-line and Air Commanders will issue orders to the troops in battle, the Rear and Logistics Commanders will ferry supplies to the combat areas, and lastly, a Commander-in-Chief will be responsible for all macro strategic decisions over the course of the conflict. If you and your group meets for three hours at a time, twice a month, you’d wrap up the campaign in about 20 years.

    ...

    “Every military division has a sheet of paper, and on it you’ve got a box for every battalion. It’ll tell you how many guns you have, but more interestingly, it’ll also list the fuel and water. Every game turn, three percent of the fuel evaporates, unless you’re the British before a certain date, because they used 50-gallon drums instead of jerry cans. So instead, seven percent of their fuel evaporates,” explains Phipps.

    ...

    We’re in the midst of a tabletop renaissance. Global board game sales have boomed over the past few years, and a renewed interest in the hobby has seeped into coffee shops, video game publishers, and publications like ours. Despite that, the classic hexagonal historical war-game—the true bones of the industry—are a dying breed. This is the Catan generation: millennials weaned on the crisp, instinctual gameplay perfected by the German masters. Phipps has fond memories of the late-’70s “the golden age” of war-gaming - where publishers routinely tried to out-convolute each other with their designs, because surely, the more complex a game is, the grander it must be. “After that golden age the designs got better,” he says. “But at the time there’s this sense of excitement, everything is new and possible.”