ongoing by Tim Bray

ongoing fragmented essay by Tim Bray

Golang Diaries: Generics 14 May 2022, 9:00 pm

My coding time this year has been invested in Quamina, an event-filtering library implemented in Go. Just in the last couple of weeks I spotted an opportunity to bring Go’s shiny new generics to bear, and not just anywhere, but for a central data structure. I got good results, but the process was sort of painful; I kept trying things that looked like they ought to work but didn’t. I’m sharing this tour through that experience because I’m a reasonably competent programmer with mainstream tastes and if I hit these bumps in the road others probably will too.

[The title of this piece suggests it’s a continuation of two Golang Diaries entries I wrote back in 2013 when I was first discovering the language. Why not? I have at least one more in mind.]

Why generics?

Quamina is all about building and running finite automata. To do this you need a table-like data structure that represents states and the transitions between them. Quamina uses both deterministic and non-deterministic finite automata, DFAs and NFAs for short. The only real difference is that a transition from a DFA state is always to one other state; in an NFA you can have transitions to multiple others, in practice to a list of states.

I noticed that the NFA and DFA tables were almost identical, as was the code that that built them and stepped through them while matching. I had recently read When To Use Generics on the Go Blog, which has sections entitled:

  • When using language-defined container types,

  • General purpose data structures, and

  • Implementing a common method.

Check, check, and check. Then in the final section, One simple guideline, it says “If you find yourself writing the exact same code multiple times, where the only difference between the copies is that the code uses different types, consider whether you can use a type parameter.” Check. So, off I went. Later that week it was all working. But along the way I yelled at the computer more than I’d have expected.

I don’t recommend diving into the Quamina source at this point, there’s too much else to explain. So…

Back to basics

To help illustrate my bumpy road, I made a toy GitHub project with a file called typing.go. It defines a genericized container type:

type container[S comparable] struct {
  label string
  list  []S
}

And one associated function:

func (c *container[S]) size() int {
  return len(c.list)
}

Now I’m going to define a boring struct type:

type fish struct {
  species string
}

Strong typing oops

Here’s where things started going off the rails. I offered the following and neither the IDE nor the compiler complained:

type fishTank container[fish]

“Wow”, I told myself, “now I have a strongly-typed container, so I can write nice clean code without any generics cruft!” On that basis, I defined another function:

func (t *fishTank) fishCount() string {
  return fmt.Sprintf("How many fishies? %d!", t.size())
}

Ouch! The Goland IDE said Unresolved reference 'size' and the compiler (via go build) said t.size undefined (type *fishTank has no field or method size).

It seems to me like fishTank should have a size() method? After all, it’s a container, and the compiler seemed to be OK with me saying so, and container has size().

Note: Dear reader, as I proceed through this narrative, if you are Go-erudite it will doubtless occur to you that:

  1. There’s a better (and supported) way to do what I’m trying to do.

  2. I shouldn’t want to do what I’m trying to do.

I welcome the first type of remark; one goal of writing this piece is to provoke them. As for the second, I really don’t care what what you think I should want. As I said above, my hypothesis is that enough others will also want to do this type of thing that the issue’s worth addressing.

Update, the morning after (see #1 above)

So there is a way to accomplish what I want, like so:

type fishTank struct {
  container[fish]
}

Thanks to the commenters below and over at YCombinator for the guidance. It’s not obvious to me that this is “better”, though. Um, would it be rude to say that it’s counter-intuitive and requires understanding things that ordinary folks in the code mines shouldn’t have to? But OK, it works, and I’m going to go back and make some pieces of Quamina a little more readable.

Fat fish

Let’s enrich that fish type a bit:

type dataRichFish struct {
  species string
  datum   [8]float64
}

Now, suppose this: First of all, not all fish have that datum material available. Second, this app goes into production and we start to track a whole lot of fish, millions and millions. And people start yelling at us to use less memory. Well, Go’s interface mechanism should make this easy:

type flexibleFish interface {
  getSpecies() string
  getDatum()   [8]float64
}
func (f *dataRichFish) getSpecies() string {
  return f.species
}  
func (f *dataRichFish) getDatum() [8]float64 {
  return f.datum
}

var dataNotProvided [8]float64
type stingyFish struct {
  species string
}
func (f *stingyFish) getSpecies() string {
  return f.species  
}
func (f *stingyFish) getDatum() [8]float64 {
  return dataNotProvided
}

See how it works? A flexibleFish can either have an attached datum or not and if it doesn’t, it signals the absence by returning the static global dataNotProvided.

Now let’s put those flexibleFish in the tank…

type flexibleTank container[flexibleFish]

Ouch! Quoth the compiler: flexibleFish does not implement comparable.

So interfaces aren’t comparable? Hmm, but I can make(map[interface{}]int) and don’t you have to be comparable to be a map key? I guess an interface could be implemented by something whose type was []int, which isn’t comparable. OK, the shallowness of my understanding is showing here.

But, suppose there was a way to promise that a type was comparable. It looks like there is, at least in Go 1.18. Let’s try it.

type comparableFlexibleFish interface {
  comparable
  getSpecies() string
  getDatum()   [8]float64
}

The compiler seems to be OK with that. So, one last step…

type comparableFlexibleFishTank container[comparableFlexibleFish]

Ouch! Goland: interface includes constraint elements, can only be used in type parameters. Compiler: interface is (or embeds) comparable. I understand them about equally well. [Narrator: He’s equally baffled.]

I guess I am skating pretty far outside the lines here? But I think the intent of that comparable in the type declaration is perfectly clear. This thing implements the listed methods and promises to be comparable. So if I try to claim something is a comparableFlexibleFish and it’s implemented the right methods but isn’t comparable, the compiler can stop me with a helpful error.

Once again, maybe I shouldn’t want to do these things, but I do.

Take-aways

The performance was great, no detectable slowdown. [Note this is not always true and if you care, you should really follow that link. But get a large cup of coffee first.]

And I threw away a whole bunch of duplicative code, which made me happy.

When generics arrived in Java, I hated them. I thought the ratio of pain removed to complexity added was way too low. I don’t hate Go’s generics, which is actually pretty strong testimony given that I spent the best part of a couple of days fighting all the stuff described above.

But, my guess is the Go generics story is isn’t finished yet.

Meet Quamina 12 May 2022, 9:00 pm

No parent will name a favorite among their children. But I do have one among my brainchildren, my software contributions over the decades: The event-streaming code I helped build at AWS. After rage-quitting I missed it so much that over the last few months, I wrote a library (in Go) called Quamina (GitHub) that does some of the same things. This is about that.

Quamina offers an API to a construct called a “Matcher”. You add one or a hundred or a million “Patterns” to a Matcher then feed “Events” (data objects with possibly-nested fields and values) to it, and it will return you an array (possibly empty) of the Patterns each Event matches. Both Patterns and Events are represented by JSON objects (but it should be easy to support other Event encodings).

Quamina (and here I beg pardon for a bit of chest-pounding) is really freaking fast. But what’s more interesting is that its speed doesn’t depend much on the number of Patterns that have been added. (Not strictly speaking O(1), but pretty close.) Concretely: On my 2019 Intel MacBook Pro, it can pattern-match several hundred thousand Events per second without much regard for how many Patterns are loaded into the Matcher. The benchmark I use most for optimization has maliciously-constructed rules that force the Matcher to look at basically all the fields in 1KB-ish Events, where the values are arrays of long floating-point numbers. I try to keep this worst-case running at 150K/second or better.

History

Back in 2014-15 I wrote v1.0 of a conceptually similar library operating inside AWS, which now implements pattern-matching capabilities for EventBridge and quite a few other teams around Amazon, filtering millions and millions of events per second so they can be accepted, rejected, or routed. Lots of super-talented collaborators emerged over the years and I bet that these days, my code isn’t even a majority of the thing.

I’ve been lobbying AWS to open-source it and that conversation continues, it might happen. But I missed working on it so much that I built Quamina. Also, the AWS version isn’t in Go and I thought a Go library might be nice.

I plan to write a few pieces about Quamina. Whether or not its features interest you, it illustrates lessons in dealing with data in motion at a scale that not very many people are lucky enough to be given a chance to code for.

Automata

Quamina is based on finite state machines a.k.a. finite automata. There is a rich body of academic investigation into the discrete-math theory of automata, almost none of which I’ve studied. But once I got the basic idea, state machines have been the first tool I’ve reached for across the decades when faced with hard programming problems. I’m not going to introduce the concept here because anyone who’s either got a CS degree or written much software knows the basics.

I like using automata because they have very, very predictable performance. If you’re processing a row of data items you only have to look at each item once, which is a pretty strong constraint on the time you’re going to spend. Also, the typical unit of work in stepping through an automaton is small. Thus, fast and predictable. Assuming I write more on Quamina, there’ll be lots of digging into details of how to make automata useful.

Quamina by example

This is going to be easier if we have an example to work with. Here’s a sample Event:

{
  "Image": {
    "Width":  800,
    "Height": 600,
    "Title":  "View from 15th Floor",
    "Thumbnail": {
      "Url":    "http://www.example.com/image/481989943",
      "Height": 125,
      "Width":  100
    },
    "Animated" : false,
    "IDs": [116, 943, 234, 38793]
  }
}

(This is actually the canonical example of a JSON object from RFC8259.)

Here are two Patterns that would match the Event:

{"Image": {"Width": [800]}}
{
  "Image": {
    "Animated": [ false ],
    "Thumbnail": {
      "Height": [ 125 ]
    },
    "IDs": [ 943, 811 ]
  }
}

For more examples and explanation, see the README.

This doesn’t look much like a typical query or pattern-matching language; the Pattern echoes the “shape” of the Event you’re trying to match. This turns out to have pleased a few developers, one or two of whom have said nice things to me.

Unfortunately I have no recollection of the thought processes that got us there in the white heat of the early design sprints for what became EventBridge. I remember a meeting in Seattle where I got up and sketched a few of these on the whiteboard and people said “It’s not SQL should it be?” and then eventually “Yeah, looks OK”, then we moved on. There must have been some discussion before that?

The trick

The idea of compiling together a bunch of automata and using them to match data is not exactly new; I think the “|” operator was introduced to grep while I was still in high school. The idea of using it on data that takes the form of JSON objects is a little less obvious. Here’s how it’s done:

  1. First, you flatten the Event fields into name/value pairs. Here are a few of the fields in flattened form:

    Image.Width: 800
    Image.Thumbnail.Width: 100
    Image.IDs: [116, 943]
  2. Then you sort them by pathname. This is perfectly OK, because the order of fields in a JSON object doesn’t matter.

    Image.IDs: [116, 943]
    Image.Thumbnail.Width: 100
    Image.Width: 800
  3. Then you do the same trick with the Pattern. For example, let’s use the second one above:

    Image.Animated: false
    Image.IDs: 943
    Image.Thumbnail.Height: 125
  4. Then you make a state machine based on the flattened sorted Pattern and run it against the flattened sorted Event, and away you go.

What next?

Quamina has enough features to be useful and the unit test coverage isn’t terrible. I’d like people to look at it and see if solves any problems they have, or alternately if they see a reason why it’s All Wrong. Bear in mind that there’ll probably be another (more feature-rich) version in another popular programming language coming from AWS later this summer.

It isn’t at 1.0 yet and has no CI/CD, which means I reserve the right to change the APIs. In particular, should the MatchesForJsonEvent() be made a Go generic? (Quamina already has generics internally). I couldn’t stop anyone putting it into production, but I probably wouldn’t if I were you. But if that idea even crosses your mind, please get in touch.

Long Links 6 May 2022, 9:00 pm

Once again, a selection of long-form pieces for those who (unlike me) have jobs and won’t have time for all of, but might benefit from ingesting one or two. This month we have lots of musical offerings, along with politics, advice on how to walk, and 5G.

Let’s start weird. I first ran across the writing of John Michael Greer when his site was called The Archdruid Report because Greer was in fact an Archdruid, which is to say the leader of a niche sect with “Druid” in its name. He’s irritating as hell because his writing is bathed in an atmosphere of “I’m so smart, I can see all sorts of things nobody else can and I’m doing you the favor of sharing my wisdom.” But I still occasionally read him because once you get past that, he does say lots of interesting things. In Whispers of the Fall, he takes up the argument that we are members of a falling civilization. Grim stuff, but good reading.

Hania Rani

These L-L aggregations are always going to have some geeky software stuff. But before I scare away the tech civilians, let’s take our first dip into music, with the amazingly lovely work of Hania Rani, a Polish composer, keyboardist, and singer. I’d put her somewhere on a musical spectrum with Phil Glass and Enya at the ends. A good place to start is Live from Studio S2, but type her name into YouTube and you’ll see lots of great stuff. Several of her performances are collaborations with cellist Dobrawa Czocher, and they’re exquisite.

I’m a little nervous about saying this, but: I just can’t take my eyes off the screen when Ms Rani is on it. She is neither glamorous nor conventionally pretty, but (particularly in that Studio S2 video) she somehow, when performing, radiates effortless beauty so extreme that (for me at least) it lifts up the music.

Now let’s read about fast software. Nelson Elhage’s Reflections on software performance takes up the vexed question about how and when we should think about making software performant. He acknowledges the following three guidelines, which I generally believe in and have intoned at younger programmers more than once:

  1. Premature optimization is the root of all evil.

  2. Make it work, then make it right, then make it fast.

  3. CPU time is always cheaper than an engineer’s time.

And yet, and yet… as Elhage explains eloquently, performance is important, and sometimes you just can’t add it in later. This strikes close to my heart because during my years at AWS my primary coding project was an event-filtering library that was obsessively concerned with performance. I have hope that AWS will open-source it, but in recent months I’ve put in a lot of hours rebuilding it in another programming language, and with this thing, performance is sort of the point. So I can see both sides of this one.

While we’re doing tech, let’s have a look at 5G, about which I recently wrote a highly skeptical blog piece. I remain unconvinced that the huge capital outlay 5G requires will buy much that’s useful. Anyhow, AWS has a product called “Wavelength” that is supposed to deliver 5G’s benefits by locating compute out in the cellular-network relays. AWS just announced New AWS Wavelength Zone in Toronto – The First in Canada. That link is to a blog about putting 5G to work, which I think is valuable because it really leans into the practicalities.

What’s the application that’s going to benefit from 5G wonderfulness? A little knee-high rolling robot used to make small food deliveries, for example a single cup of coffee, within a 2km radius. The benefit is a factor of ten cost reduction, which is nice I guess. But, uh…

Now let’s veer gently away from technology into politics by way of Josh Marshall’s On The Elon Musk Razzmatazz. I’ve been viscerally unhappy about the Musk Twitter takeover, but unable to sort out why. Mr Marshall did. Here’s a quote:

That’s what this is and where we are: an extremely powerful and wealthy jackass on an ego trip. You can take the bro out of the frat house but you can’t take the frat house out of the bro. In fact when you’re worth hundreds of billions of dollars (for now…) you don’t even have to leave the frat house. You can bring it with you. This is a guy whose ideas about speech and also the construction of syllogisms apparently culminated two joints in at a dorm room bull session in sophomore year…

It’s mostly not quite that sharp-edged; in fact, a carefully-considered piece that anyone who cares about Twitter, or about the quality of online discourse, should read.

EROS, by Boris and Endon

Back to music, namely a brand-new release on Bandcamp: BORIS + ENDON / EROS. Boris is a Japanese experimental-metal band that I’ve blogged about twice in Photos of Wata of Boris and Live Metal Is Better. This is a collaboration with Japanese even-more-experimental metallistas Endon, whom I once saw live opening for Boris and sort of dissed in that second blog piece. But here we have 28 minutes or so of thoughtful and well-executed metal which is intermittently quite beautiful. If you like it, you can buy it off Bandcamp and a noticeable proportion of that money goes straight to the artists, so go ahead and do that.

Back to civic policy now, and an issue that’s white-hot where I live and I think in most big interesting cities: Is it OK to build big fancy high-rises in the middle of un-fancy neighborhoods? Density is good, right, but gentrification is, um, mostly bad I guess? Anyhow, the NYTimes has numbers to report: A Luxury Apartment Rises in a Poor Neighborhood. What Happens Next? The numbers aren’t that satisfying, but the take-away is that it’s not obvious that the high-rise does any particular damage. Which isn’t going to make this issue any less vexed, but if you read it you’ll at least have seen some data being thought about.

NYT on guitar soloing

While we’re visiting the Times, let’s veer back into music via a piece that’s pretty well pure fun: Why We Can’t Quit the Guitar Solo. It’s a triumph of fancy Web presentation technology, with cool guitar riffs bursting out at you as you scroll, many of which you will have heard. Only a fool would want a musical life entirely without shredding, so the target here is pretty soft, but the author and Web geeks here have great fun skewering it, and you’ll probably have fun scrolling through it.

Now let’s step sideways by way of Interview: Ramez Naam, futurist, author, and investor. I loathe the term “futurist” so, despite this having been recommended by a Smart Person, went in hostile. But I was won over. I certainly didn’t agree with everything Mr Naam said, but I was never bored, and felt like I’d learned one or two useful things. Perhaps I was drawn in by his arguments for something I profoundly believe: Assuming we don’t all die in the climate catastrophe, there is going to be a freaking huge amount of money made building out the low-carbon energy services as we transfer from now to the future. So if you have some money, finding a way to invest in this project might help save a couple billion lives and also pay back pretty well.

In the last Long Links I enthused about the writing of Chris Arnade. He goes for long walks in interesting parts of the world, and then in parts that most people wouldn’t think interesting, and takes pictures, and writes them up, and it’s never not interesting. Recently he published How to Walk (12 miles a day). Walking for extended distances is, I believe, one of the core competences of Homo sapiens and if you don’t believe me go read Bruce Chatwin’s The Songlines then come back to argue the point; but you won’t. We are almost all city livers now, and thus it’s hard to overvalue good practical advice on how to excel at this essential human behavior in the context that we actually inhabit.

There is, however, a point that is troublesome: Arnade points out that in many long-walk contexts, you just can’t beat the comfort and practicality of socks-under-sandals (good socks and good sandals, of course). But I have been advised more than once by the members of the demographic that I would like to have sex with that I can forget it if I ever appear in that combination. So I don’t, which doesn’t mean that he’s wrong.

Long Time Coming Sierra Ferrell

And now for our musical grand finale: Sierra Ferrell. I listen to her music more or less every day and caught her latest tour during a Covid downcurve. I have rarely been so sure about anything as I am in predicting: Gonna be a big star.

What happened was, she ran away from a broken West-Virginia home to be a hobo — no really, hopping trains and living in camps. Then a few people noticed the talent, then she got onto the tiny-venue acoustic circuit, then a few of her YouTubes started getting millions of views, then the tour I attended (still in progress as I write) is selling out most of its dates.

So, why? Probably most important, the songs are wonderful. Pretty well a pure country aesthetic, but with melodies that you’ll wake up humming and lyrics that go to surprising but truthful places. Then, the voice; she is the kind of singer that arrives only every other generation, if we’re lucky.

Then there’s that beauty thing that I mentioned reluctantly above. I don’t feel in the slightest reluctant to talk about this because she works so hard at it. She never appears twice in the same output, and every outfit is fabulous. As is her facial jewelry, and tattoo, and hairstyle. The night we saw her she wore this floor-length dress that was pure white and covered with reflective sequins so that she sparkled like diamonds, as if there weren’t enough other reasons to watch her. If you drop by her Wikipedia entry, the only picture just now is by me and it’s not very good, only faintly suggesting the visual effect of That Dress. I have no idea if she’s actually conventionally pretty (although I’m pretty sure, to quote Blondie, that her hair is beautiful) because onstage, she has that Star Power that you just can’t look away from.

Ms Ferrell deeply understands how to do online video, so the best way to check her out is to drop by YouTube and type “Sierra Ferrell” into the search bar and watch whatever comes up. One hint: The stuff she’s been posting recently is quite a bit better than those millions-of-views videos from a few years ago.

No, wait, what did I just say? The best way to check her out is to see if the tour’s coming anywhere near you and if it is, drop everything, postpone grandma’s funeral if necessary, and go see the show. You’ll thank me.

4,000,000m Lessons 18 Apr 2022, 9:00 pm

The odometer on my e-bike clicked over to 4K and, rather than a general-purpose “e-bikes are great” rave, I thought I’d assemble a few concrete arguments for them, suitable for re-use with friends and loved ones in the (likely) case that you’re already convinced. With pictures.

4001km on the e-bike odometer

… is prime.

It’s good for you

The skeptics are prone to say that if you want fitness, you should ride a real bike, dammit. They are wrong. Let me end this argument right here and now with Health benefits of electrically-assisted cycling: a systematic review and Riding Electric Bicycles Boon To Health And Not Cheating, Confirms Literature Review and The effect of cycling on cognitive function and well-being in older adults and Metabolic and Cardiovascular Responses to a Simulated Commute on an E-Bike. Or if you want non-academic, there’s a nice NYTimes piece: E-Bikes Can Provide a Good Workout.

It’s important to be clear that by “e-bike” I mean the ones with electric assist; i.e. no throttle, you have to pedal to go, and pedal harder to go faster. Also, you have to keep the boost set at a moderate level. The Bosch electric system that appears on a whole lot of popular e-bikes has four levels: Eco, Tour, Sport, and Turbo. I keep it on Eco and switch to Tour for challenging hills. I’ve never really used the top two levels, nor felt the need.

It’s fast

I find that my average e-bike cruise is something like 25km/h, and I get around town astonishingly fast (note also the numbers in that NYTimes piece above). It helps a lot that Vancouver has a pretty decent bike-route network. And obviously, so does no looking for parking.

Less obviously, when your bike path runs along the side of a road with cars on it that has stop lights and intersections, you realize how agonizingly slow these things are. The endless halts behind someone waiting to turn left or for pedestrians to cross, and behind people inching along looking for parking, you don’t even notice them when you’re driving, but a lot of it you can just breeze through on a bike-path while staying perfectly safe.

For navigating across the city anywhere less than 5km or so, the bike is not going to get me there significantly later than my car. And, I’ll be able to park right in front of where I’m going. And, the parking is free.

It’s never boring

Closely related to the previous point, sitting in traffic look at another car’s ass end, or even worse, stuck behind a truck so you can’t even see ahead, is boring. On a bike, you’re always moving, you’re way more intimate with the scenery, and if you come to a nice view you can stop on impulse and take a picture.

Nice view along a Vancouver e-bike commute

It’s cheap

The bikes themselves are aren’t cheap. For the purposes of this piece, I poked around the landscape to pick out something that’s mid-range, well-reviewed, and from a manufacturer I have respect for: the Trek Verve+ 3. US$3,300 isn’t cheap for a bike but it’s insanely cheaper than anything with four wheels that you’d want to drive, and the running costs are really too low to be worth measuring. I’ve had my bike for three years and a bit and the service charges, including repairs after a pretty bad accident (see below) and a couple upgrades, add up to less than $1,000.

Trek Verve+ 3

It’s good for the city

Look, if you don’t see that a city with more bikes and less four-wheelers is a better city to live and work, there’s nothing I can say that’ll help you. But I will say this: Nobody wants to live in a house on a main road, but a house on one of our city’s main cycle paths would gain value.

It’s good for the planet

This is hardly in doubt, but I stumbled across a good quantitative write-up on the subject, from Britain: How green is cycling? Riding, walking, ebikes and driving ranked. I’m going to reproduce four of their summary bullet points, which widened my eyes, and encourage you to go read the whole piece.

  • Cycling has a carbon footprint of about 21g of CO2 per kilometre. That’s less than walking or getting the bus and less than a tenth the emissions of driving

  • About three-quarters of cycling’s greenhouse gas emissions occur when producing the extra food required to “fuel” cycling, while the rest comes from manufacturing the bicycle

  • Electric bikes have an even lower carbon footprint than conventional bikes because fewer calories are burned per kilometre, despite the emissions from battery manufacturing and electricity use

  • If cycling’s popularity in Britain increased six-fold (equivalent to returning to 1940s levels) and all this pedalling replaced driving, this could make a net reduction of 7.7-million tons of CO2 annually, equivalent to 6% of the UK’s transport emissions

Tell me a couple of those didn’t surprise you.

The infrastructure is human-scale

Nobody loves taking their car in to get fixed. The world of bikes is less monopolized, less exploitive, and generally nicer. By way of evidence I offer this:

Velostar coffee and bikes in Vancouver

At Velo Star, the coffee is good and the baristas are cute. And they replaced my chain for $70 Canadian, tax and labor in.

It’s practical

Once you have an e-bike, you really, really need to spend a little more and get a good pannier. They’ll try to sell you a pair, which I have but only use one. Because I have no trouble getting my laptop, my raingear, and the groceries I picked up on the way home in mine, which doesn’t even look that big.

Did I mention raingear? A decent raincoat and rainpants make all the difference in the world.

Now, let’s be honest. When you’re going to drive away, you just get in the car, fasten the seatbelt, and you’re off. On a bike, you have to get your helmet (and maybe raingear) on, unlock it, and stow your pannier before you’re in motion. When you’re just getting started biking, this feels onerous. But as with most things in life, practice makes perfect. A couple of months in and your muscle memory will have all this stuff — especially the lock/unlock dance — filed away and it’ll happen quickly without even thinking about it.

What about safety?

Yeah, it’s an issue, as you can see below. And I think e-bikes are possibly more dangerous than regular ones. That’s what the numbers say (at least they’re safer than e-scooters).

The author after a bike accident

It’s pretty simple: There are a lot of situations where an e-bike makes it easy to go way faster than is safe. So… don’t go that fast! For example, I got my face decorated, as you see above, when I cut the corner on a T-section in the bike-path, banking through a patch of muddy ground, and BANG! I was on my side on the ground, bleeding.

Before I go on, I want to point out that my helmet saved my life on that occasion. I recommend Bontrager helmets, another product of Trek. And let me confess: When I’m just going five blocks to pick up parmesan and red wine because we’re having pasta, I often don’t wear one. And then I don’t go fast at all.

But yeah, in general, slow down. In particular, I want to point out that bicycle brakes really, really suck on wet pavement, so if you’re going downhill on a rainy road, dial it way the hell back.

My take-away: If you’re careful and if you have a decent bike-route system, the benefits of e-biking overbalance any risk, particular if you don’t bomb along at maximum speed. Now, I do bomb along at maximum speed in places where it’s safe, and damn that’s fun.

E-biking is fun. And good for you. And your city. And your planet. Give it a try.

Three Perfect Tools 13 Apr 2022, 9:00 pm

We live in a world of things that have Product Managers and Design Teams and Documentation Architecture and often vast ambition. And yet, so many of them are so bad. And worse, some which are good then become bad for no good reason. There is a particular joy in a product that just does what you need done, in about the way you expect or (thrillingly) better, and isn’t hard to figure out, and doesn’t change unnecessarily. Here are three to learn from.

Splitter

At our cabin, we have reasonably modern electric heat that keeps things comfy, but for our occasional winter visits we also have a nice efficient wood-stove. Because we are surrounded by 100+-year-old forest, some of which falls down (or, rarely, is cut if it threatens to fall in the wrong place), there’s plenty of wood to burn. But it comes in big pieces which have to be sawed down to short sections then split into pieces small enough to fit into the stove.

Normally, splitting wood is a joyous form of light exercise — hit the end of the fragment with a decent axe, put a little oomph in it, and the wood springs apart. Very satisfying. But certain pieces of wood are some combination of hard and knotty and twisted and big. Even a reasonably skilled wood-splitter can be driven to distraction.

Spiral splitting wedge

For these, what you need is this Spiral Splitting Wedge, which I bought from Lee Valley. You position it judiciously against the end of the fragment, and pound away with a hammer; I use a nice little one-hand 4lb sledge, which seems about right. You don’t have to hit it that hard, just enough for the blade to bite, then the combination of the wedge’s spread and its spiral twist inexorably rips apart the awfulest, gnarliest firewood. Not quite as satisfying as an axe on a clean straight piece, but then few things are. Just Works. Is cheap.

Then you curl up on the sofa facing the stove, feeling virtuous while the rain lashes the windows and metal roof, and watch the kids toast marshmallows.

I’m pretty sure the design of this product hasn’t changed in my lifetime. And I live without fear that it will change, because the one we have will definitely be working long after I’m gone.

BBQ

Our cabin barbecue died as a consequence of being left out in the rain too much during the current renovation. It was at least a decade old, and we replaced it with the current equivalent model, a Weber Q 3200 (link is to the Canadian site) because it’s compact, easy to roll around, and can feed 8 people with a little cooking forethought and ingenuity.

Weber Q 3200 barbecue

Compared to the model it’d just replaced, the changes were subtle and thoughtful: A slightly slicker tank retainer, a better spark mechanism, and an elegant little light placed just right for those times you’re cooking after dark.

Why am I so excited about this decent but pedestrian product? Partly because it hasn’t changed; the design is pretty well correct and no hyperoverentitled Product Manager has been allowed to introduce any Bold New Paradigms.

But the great thing, the truly great thing, is the assembly directions. There are a quite a few pieces, but they all fit together in only one way, which is the right way, and they snap into place, and the directions illustrate each step in a way that no-one, no matter how clueless, can misinterpret. You go from flat-pack to working BBQ in an astonishingly short time with not a single good reason to swear.

This appeals to a lot of my core values.

And should you get an invitation to our cabin, I’ll demonstrate the machine’s excellence with a hearty serving of Eastern-Mediterranean chicken kebabs (Arabic: شيش طاووق; Hebrew: שישליק עוף; Turkish: tavuk şiş). They have reduced strong men to tears of joy.

Music writer

My music teacher sent me a Rumba score we were going to work on, which meant picking up the MuseScore app. I hadn’t used it in years, but as soon as I opened it I smiled, because it’s truly great software. Now, you have to know how to read music and the names of the glyphs and markers that appear in it. But if you do, you can teach yourself in almost no time to produce a pretty damn decent-looking score and do so quickly.

I don’t remember ever opening a tutorial or reading a HOWTO; the first time I wanted to capture some music, I just opened it up, dived in, and figured it out.

When was that first time? Last century when I was studying cello, my teacher, a couple times a year, held friends-and-family recitals that filled most of a medium-sized church; they were fun!

One time I performed a duet with my wife Lauren, who has a light, soaring soprano; an arrangement I made of Simon and Garfunkel’s Scarborough Fair/Canticle. For the first part I just played chordal pizzicato background to her voice. For the middle part, with the two voices, the cello took the second, with lots of legato. I think the voice/cello trade-off sounded intense and lovely, and we got a nice round of applause. Here’s a sample of the main and middle sections.

Scarborough Fair/Canticle for voice/cello; main part Scarborough Fair/Canticle for voice/cello; middle part

In case anyone out there plays the cello (or any other alto-to-bass register instrument) and wants to take a run at this, here’s the music. It doesn’t include full lyrics or the vocal line but that’s OK because I bet most singers already know it and will be comfy in E minor.

At the event, I used a hand-written score, where by “written” I mean “scribbled”; my handwriting is terrible and that includes music. A couple of fellow students asked for copies so I downloaded MuseScore and within a couple of hours, I had it. When I fooled with that Rumba just recently, I found it similarly effortless.

But wait, there’s more!

The MuseScore app is open-source, free, standards-compliant, well-documented and seems to have a lively community around it. I suspect this is because whenever you’re in a roomful of serious software practitioners, the proportion that are competent amateur musicians is going to be way higher than in the general population. So the number of people who combine programming talent and music literacy isn’t small.

It’s 2022 and the world is terrible but still has good things in it. We need more like these, please.

Long Links 4 Apr 2022, 9:00 pm

Welcome to another Long Links, selected pointers to long-form pieces that have added value to my semi-retired days and one or two of which might reward you if you make time for them. A few of this month’s pieces aren’t free; it’s a bitter fact that the truth is paywalled but the lies are free. Sorry.

Let’s start with climate issues, which I’m cheerful enough to think might be at the center of the world’s attention were it not for Covid and Mr Putin. One of my favorite environmentalists is Tzeporah Berman, who’s been fighting the good fights, and winning a few, for decades. She writes Fear and Loathing in the Climate Era: 8 Thoughts on How We Win. It’s cheerful, practical, and wise.

There’s a certain faction of people who claim to share reasonable concerns about the onrushing climate catastrophe but scoff at us hippies always going on about renewables because, they say, Nuclear is what we really need. I can’t suppress a suspicion that it’s because there’s something manly about nuclear power. Except for, it’s way, way too expensive. The nukies reply that future technologies will fix that. The most plausible of which is Small Modular Reactors (everyone says SMRs). The Economist dives deep in Developers of small modular reactors hope their time has come. I’d be wide-open to them if they turn out to be affordable and deliverable. Per this article, they’re not obviously hopeless, but they’re nowhere near a slam-dunk.

While we’re on the carbon trail, my former employer now offers this new Customer Carbon Footprint Tool. The idea is that if you’re doing cloud computing you might still want to know how much you’re worsening the planet’s carbon lead. This is supposed to do that (haven’t tried it myself). It’s a big deal because for a lot of big enterprises who don’t actually bend metal or refine fluids, their IT might be where their carbon load is concentrated. A little bird told me that when, back in 2019, Amazon decided to sign The Climate Pledge and try to be a better climate citizen, one input was customers beating up on AWS leadership, saying “I need to know my carbon load, and that’s you.” Tip o’ the hat to AWS!

Speaking of not wasting energy, here’s another chance to expose the dangerous lunacy that is the cryptocurrency world. And absolutely nobody is better at that than Amy Castor. Read The gorilla in the room: Yuga Labs investors pretend to care about the planet. They don’t and you’ll probably find yourself agreeing with me about Amy. Her blog is reliably excellent on this stuff.

Let’s dip into politics. Conservative politics. Regular readers know that I’m pretty far out on the left wing, but I make a point of trying to track the other side, because I think we need intelligent conservatives. Which are and have been mostly absent in North America. But, things are getting weird.

There is starting to be a conservative faction saying that our business-dominated civic fabric is doing a really bad job of building a decent society; that monopoly is a problem, and working-class impoverishment, and exploitive health-care economics. Which is perfectly sensible; what’s weird is that this is often coupled with religious absolutism, activism against any sexual expression which is not straight outta the Fifties, and regular flirtation with racism; all packaged up under the banner of being “anti-Woke”. I personally think that anyone inveighing against “Woke”-ness probably has their head up their ass, but like I say, there are also voices saying interesting things.

Like for example Only the Economic Left Can Beat the Woke, by David Reiff. Ignore that “woke” in the title and give it a try. It’s intelligent, well-written and, yes, wrong in places. But it feels like someone you could talk to, unlike anything out of today’s conservative Trumpist mainstream. Sound-bites: “To put it brutally, you can’t fight a culture war when you really have never been interested in culture before.” And “The mainstream right simply doesn’t have the intellectual tools to fight a battle of ideas.”

When someone rants about the awfulness of the “woke”, you can bet that pretty soon, they’re gonna be inveighing against “cancel culture.” Most such rhetoric is slimy unserious partisanship, the hyperoverprivileged whining that they can no longer get away with being arrogantly offensive pricks in public. Can we conclude therefore that the whole cluster of issues is a nothingburger? I’d say “Yes, … mostly.” But damn, it’s a hard subject to talk about. Ken White offers Our Fundamental Right To Shame And Shun The New York Times – What the NYT Cancel Culture Editorial Got Wrong, And What It Got Right. I don’t agree with all of it but it’s careful and made me think about some things I hadn’t before. Out-take: “Similarly, if you denounce ‘cancel culture’ without citing specific examples and suggesting how people should act differently, you’re closer to chilling speech than fixing it.”

Writing this piece led me to a pleasant surprise. I was going to recommend a few pieces by Chris Arnade on the basis that “even conservatives can write smart, eloquent, important things.” I don’t know how I got the idea he’s one of those, because he isn’t. Anyhow, what he’s up to recently is going places and walking around them, taking pictures and notes. For example, Kyiv. And Lima. He also writes things that aren’t pure travel narratives, for example Among the Half-Masked – COVID theater is a sign of a healthy society.

OK, let’s retreat to the comfortable left side of the road for a heartfelt JWZ rant: Following the money. There are few places in the world more likely than San Francisco to drive thoughtful people to righteous rage; this is a fine piece of that.

Famous non-conservatives include Albert Einstein, who in 1949 wrote Why Socialism?, from which this nice little excerpt, with a link to the whole piece.

OK, enough politics. Let’s talk food, and address the question Does Adding Pasta Water Really Make a Difference? Turns out it does! (Also, fun piece.) Don’t say I don’t add value for my readers.

Come On In, by R.L. Burnside

This month’s musical Long Link is R.L. Burnside’s Come On In, which popped up in a random blues-fan stream I follow and oh my goodness, it’s a keeper. Although Wikipedia says R.L. did some innovating on this one, to me it just sounds like pure, minimal, warm-toned and warm-hearted electric blues. Something that the world always needs more of

I’m going to end up on a geeky note, so those of you who are tech-hostile or tech-oblivious can drop out now and my feelings won’t be hurt. Baby’s First AWS Deployment is the story of a first-timer building a little app on AWS from scratch. The author eventually decides to walk away from AWS, for reasons that obviously don’t apply to everyone, but I found instructive and you might too

Let’s close with what I think could become a very, very big story. It’s from The Information which is paywalled (and expensive), but you can see the first couple of paragraphs of Amazon’s Public Shareholders Show Their Hand. It contains lots of juicy insider information that I won’t reproduce here but I think the following is very significant:

“As of February, Bezos had the right to vote just 12.7% of Amazon stock, including shares owned by his ex-wife, MacKenzie Scott. A decade ago, Bezos could vote 19.5%. Back in 1998, shortly after Amazon went public, he owned 41%. Perhaps just as meaningful: This year the combined stakes of two big institutional holders, Vanguard and BlackRock, is almost equal to his. And remember, Amazon doesn’t have a class of supervoting shares guaranteeing its founder control regardless of his ownership, unlike firms such as Alphabet and Meta Platforms.

“What this means is that power at Amazon is gradually shifting to public shareholders…”

Big Tech was distinguished, throughout my career, by having founding leadership still setting its directions. Which in most cases meant a focus on customer success that is not exactly a usual feature of Twenty-First century capitalism. (OK, yeah, I know, Larry Ellison, but still.)

If that changes — if Big Tech becomes just another arena for financial engineers to maximize their extractive power, it’ll be a whole lot less fun. And by the way, an even more attractive target for legislators and regulators, which is a good thing. I suppose it had to happen someday.

5G Skeptic 26 Mar 2022, 8:00 pm

When I was working at AWS, around 2017 we started getting excited pitches from companies who wanted to be part of the 5G build-out, saying that obviously there’d be lots of opportunities for public-cloud providers. But I never walked away convinced. Either I didn’t believe the supposed customers really needed what 5G offered, or I didn’t believe the opportunity was anywhere near big enough to justify the trillion-dollar build-out investment. Six years later, I still don’t. This is a report on a little online survey I ran, looking for actual real-world 5G impact to see if I was wrong.

[Note: When I say “G” or “M” I’m talking about Gbits or Mbits/second.]

Why 5G?

Here’s why the 5G vendors say we need their product:

  1. Faster connections — there is talk of 10G!

  2. More bandwidth, so you can provide data in crowded places like sports stadiums.

  3. Lower latency, because you can put servers in base stations, which in particular could be useful for self-driven vehicles. AWS offers infrastructure: see AWS Wavelength.

Why not?

Disclosure: I’m affected by my personal experience. My home office is on our boat, anchored in central Vancouver. I pay my mobile provider more for extra data and do all my work via a hotspot on my aging Pixel 4. The phone calls what it sees “LTE+” (I don’t claim to understand what that means) which de facto gives me lots of tens of Mbits/sec, plenty enough for heavy Internet geeking with streamed background music, and watching ball games (remember, I’m semi-retired). Interestingly, the Marina also provides a WiFi signal which is pathetically slow and unreliable compared to the 4G data; the notion that WiFi is the gold standard for wireless Internet is pretty well over.

Our family has a cabin an hour’s boat-ride from Vancouver on the shores of Howe Sound. We have “Smart Hub Rural Internet”, which delivers a solid 15-25M down and 10+ up. Plenty enough for four people.

So, I’m having trouble seeing what problem I have that 5G will solve.

Speed?

Granted: Like many people, at home we have “fiber” Internet which offers hundreds of M so that our family of four can all stream and game at the same time, no problem.

Question: How often do you need more than the 50M or so LTE offers in a situation where it’s cheaper to provide it with 5G than with a wired connection?

Bandwidth

This is one that I can sort of believe in. In a football stadium or a big conference keynote, it is possible to provide decent WiFi coverage (I’ve experienced it). Is 5G a cheaper or better way to do that? I don’t know, but it doesn’t sound crazy.

Latency

Obviously, this would be a big deal for online PvP gaming, although rollback netcode is producing remarkably good results these days. And then there’s the autonomous-vehicle space. So, once again, doesn’t sound crazy.

The gaming angle sounds more plausible than self-driving, which (I think) would need reliable 5G along the whole route — nobody wants a self-driving feature that randomly cuts in and out as you zip down the road.

The whole low-latency thing is based on co-locating compute in the (many, many) 5G base stations. Note the reference to AWS Wavelength above; having a public-cloud provider run the compute makes all sorts of sense to me. But still, I do wonder about the economics; all that compute is going to add up.

The real question

5G started rolling out in the spring of 2019, so it’s had three years to make a difference. I don’t personally know anyone whose life has been changed by 5G. Yes, family members with newer phones occasionally report that the status bar says “5G”, but I don’t hear that they’re having a different experience.

But I don’t know that many people. So I asked the Internet.

Asking Twitter about 5G

Last time I checked that tweet had around 52,000 impressions, people who had a chance to pipe up and relate their personal or professional experience of 5G. Lots did, so I’ll use a few of the more clueful responses to support this narrative.

Also, note that my readership includes a whole lot of professional software developers. So, let’s see what they say about new kinds of applications and services that 5G has brought to the table.

Theme: 5G vs wired

Does it make sense to replace your existing wired Internet with 5G? As always, the answer is “it depends” but one common theme emerges: If your wired connection is lousy, 5G might be a win.

Or maybe 5G is just better?

On/Off on 5G

Others disagree, but point out that fiber may not be an option.

Chris Hinson on 5G Simon Bisson on 5G apenwarr 5G

I wonder about the economics of deploying 5G vs fiber. It’s worth considering that 5G replaces the last mile and reduces the on-prem installation work to zero.

On/Off on 5g

Theme: Better coverage

Some report generally better coverage on 5G. Seems a little strange given the early stage of the build-out, but here they are.

Michael Ayres on 5g Brad Jones on 5G

Theme: Hotspotting

Here are claims that hotspotting is better on 5G.

Lewis Ellis on 5G Ned Letcher on 5G

Not everyone agrees.

Dave Taht on 5G

The link in his tweet goes here.

I’m dubious too, probably because I live (and wrote this essay, including gathering and editing all the screenshots) on a 4G hotspot.

Theme: Rural coverage

As a special case, I got multiple reports of better rural coverage. Which, once again, is surprising — I thought 5G’s sweet spot was short-range applications.

Jordan Sissel on 5G Fariborz Tavakkolian on 5G

Theme: Crowded places

There is personal experience of Internet-in-a-crowded-place. There was another, mentioning rugby, but I seem to have lost it.

Doggzilla on 5G

Theme: Skeptics

Some people share my general skepticism.

Lenne Fiat on 50M being enough Sören on 5G Glen Ross on 5G Umair Qayyum on 5G

Now the developers

My online following isn’t huge, but it contains quite a few senior software developers, people who build high-impact applications and services for Big Tech corporations and who work on foundational open-source projects. So, let’s hear about what they’re building that’s enabled by 5G technology.

Exactly one such developer weighed in on the subject.

5G ATSSS

I had to go look up what “ATSSS” is. Here you go: “3GPP has started to standardize the Access Traffic Steering, Switching & Splitting (ATSSS) function to enable 5G devices to use different types of access networks, including Wi-Fi. The ATSSS service leverages the Multipath TCP protocol to enable 5G devices to simultaneously utilize different access networks.”

Doesn’t sound terrible. Life-changing? Your call. Um, any other developers out there working on things that will move the needle?

Then there’s this

John Gruber links to and expands on a WSJ report on how 5G burns your mobile’s battery faster than LTE, and offers advice for how to disable it, because: There is nothing I do with my iPhone — nothing — where I find LTE even just a little bit “too slow”.

Me too.

What I think

Well, they built 4G and it worked pretty well. So they had to build 5G, didn’t they? It’s perfectly possible that, ten years from now, we’ll look in the rear-view and say “That was a good investment.” I wouldn’t bet on it, but it’s possible.

Professor Dale and Me 21 Mar 2022, 8:00 pm

To misquote William Gibson: “The past is still here with us, just unevenly distributed.” I have a story to tell that stars Sergei Rachmaninoff and me. It starts just before 1900 in Moscow. My part ends around 1972 in the mountains of Lebanon, looking down over Beirut and the blue Mediterranean. It doesn’t have to do with computers and nothing in it matters to anyone living except me, but maybe you’ll enjoy a faintly exotic musical echo from a long time ago a long way away.

Rachmaninoff in 1897

In 1900, Russian composer Sergei Rachmaninoff (1873-1943), pictured in 1897, was in rough shape. Which is surprising, given that in 1892 he’d graduated from the Moscow Conservatory with the highest possible mark and a “Great Gold Medal”. He had a brief spell in the sun, enjoying a summer-of-1893 retreat in Kharkiv, a name much in the news as I write. But then in 1893 his hero Tchaikovsky died and then his First Symphony got brutal reviews, and a serious case of composer’s block silenced his musical output. Rachmaninoff was reduced to giving lessons to pay the rent.

Nikolai Dahl

Enter Dahl

Meet Nikolai Dahl (Николай Владимирович Даль) (1860-1939), a Russian Empire physician who studied psychology in France after graduating from Moscow University. A lover of music and competent violist, he was engaged by Rachmaninoff in January 1900. Between then and April, a daily program of hypnosis and other supportive therapies had good effect, leading to the composition of the famous and much-played Piano Concerto #2, premiered in October 1901 and dedicated to Dahl.

Dahl had a son, also named Nikolai, whose life intersected mine.

But before we leap forward in time, let history record that Rachmaninoff’s story had a mostly happy ending, in that he kept on writing and playing music until his last days, seemed reasonably satisfied with life, and was never broke. Some regret that performing (he was a hell of a piano player) was more lucrative than composing and thus we are left with less of his music, which is almost all pretty great, than we might have wished.

Professor Dale

In 1962, when I was seven, my father graduated from Oregon State University with a Ph.D. in Agriculture and accepted a faculty appointment at the American University of Beirut (everyone says AUB).

At some point in my youth, music lessons were thought appropriate and I was asked which instrument. When I said “something that plays low notes” they decided that my hands were too small for double bass, so I took up cello. When I bothered to practice I made good progress.

Some years later my parents were looking for a new cello teacher, and someone suggested “Professor Dale”, who lived up in the mountains. Specifically in Brummana, a prosperous, verdant town overlooking Beirut from the slopes of Mount Lebanon. Its climate is pleasantly moderate in summer; that and the view have made it long-time escape for residents of hot climates around the Middle East.

So I became a student of Professor Dale — yes, the son of the physician who treated Rachmaninoff. I don’t know why or when his surname’s spelling changed. More on him later but first, the question of travel.

The road to Brummana

I was a sixteen-year-old kid in Beirut and needed to get a half-hour’s drive up the mountainside for my cello lesson. It was pretty easy, because of the service option. A service (a French word, rhymes with “bear lease”) is a taxi with a fixed route, either circular inside the city or back-and-forth between two points. You could hail them anywhere on their route, you’d be one of up to five passengers, and the price was the same no matter where you got off or on. And it was cheap.

At this point in time basically all the services were “Ponton” style Mercedes sedans with bench seats front and back; thus room for five paying customers.

Meredes-Benz 180

Photo: Lothar Spurzem, CC BY-SA 2.0,
via Wikimedia Commons

Every town in Lebanon had a designated corner in Beirut where its services left from. Brummana’s was in the Burj, the old downtown that used to be a warren of fantastically picturesque souks (bazaars) full of gold and spices and colors and stories. That was until it was shelled flat during the Lebanese Civil War, I forget whether it was by the asshole Phalangists or the asshole Islamists, now it’s a totally boring mall. But I digress.

Souk Ayass in 1966. Photo: Mounir Diab, CC BY-SA 4.0,
via Wikimedia Commons

Anyhow, I’d take my cello downtown on the city bus (cost: pennies), stroll over to the Brummana corner, and catch the next service, they left all the time. My Arabic wasn’t great but plenty good enough to say the equivalent of “C’mon man don’t gimme that, I know the right price.” Nobody’s feelings were hurt, I was a blond foreigner and presumably clueless until I proved I wasn’t. The right price was something like the equivalent of $2 for a half-hour ride. Those Mercedes trunks were cavernous, there was always room for the cello. No driver ever seemed to find it weird when I asked him to pop the lid for the instrument.

I told the driver where in Brummana to pull over, the Professor’s place was only a couple blocks from the highway, and after my lesson I’d stroll back up to the highway and flag a downhill service. At the time, it never struck me that any of this was exotic.

The Professor’s story

With Professor Dale (I never called him anything else) I spoke French; the natural second (perhaps first) language of a pre-Revolutionary Russian aristocrat. He told me that he’d been Second Cello in the Kyiv Opera before the revolution, then he’d had to run for his life. He ended up in Bombay, where there were no orchestra jobs, so he taught himself saxophone and worked in a nightclub playing jazz. “Mais je n'aime pas cette sensibilité musicale des N*, ni ces rythmes” he said — I’m pretty sure “N*” is That Word en français. I’m not going to defend his language, he was 80-ish in 1971 and it might not have occurred to him to deny racism.

I gather that after Bombay he lived in South America for a while; he showed me pictures of him and his wife, young and glamorous on horseback on the Pampas. He never said how he came to the mountains of Lebanon but later I found out; his father, Rachmaninoff’s guy, had settled in Beirut in 1925 and died there in 1939. He played viola in the AUB orchestra, an ensemble in which I briefly played cello; there’s another connection.

Professor Dale loved to ramble on about music; I remember few of the stories. But I remember his repeated criticism of my fingering, his explanation that in the German style, the fingers of the left hand hit the strings like little hammers, while in the French style, they caress them like lovers. And the French style was really much to be preferred. Couldn’t and can’t disagree but to this day I hit the strings a little hard.

Manuscript and Ruth

One time the Professor had a favor to ask. He had a Rachmaninoff manuscript score (I forget of what), and he understood that my father was a Professor and that at the University there would be these new-fangled “Xerox machines”; could I get him a copy? My family was terribly impressed. It never dawned on me to keep one for myself.

It turns out that as I write this there’s a living link to Rachmaninoff. Pianist Ruth Slenczynska, now 97, studied with him, and has just released a new album, featuring Rachmaninoff of course.

Ruth Slenczynska in 1957

Ruth Slenczynska in 1957. Photo: James J. Kriegsmann,
Public domain, via Wikimedia Commons

You can watch a concert she gave just last month and if you do, your mind is connecting through just one other’s to the nineteenth century.

Later on

A colleague of my Dad’s in the faculty of Agriculture had a daughter who also became a student of Professor Dale and was happy to drive us up to Brummana once a week, so I didn’t have to take the service any more. Professor Dale’s wife (always and only “Madame”) was very happy to entertain the Agriculture prof and the student not being taught on the porch swing, serving tea and gateaux while we took in the lavish view down over the pine forests to the jewel-blue sea. Then Professor Dale would join us for more tea and company.

The cello is still in my living room. It is of Czech manufacture, dating from between the wars, so nearing its hundredth year. It sounds fine when I play it, which is rarely; these days I engage in West-African and Afro-Cuban percussion once or twice a week.

I’m going to close with a couple of pictures my Dad took. This is an impromptu quartet that happened one time on the back porch of our family’s temporary residence at the Faculty of Agriculture’s experimental farm, out in the Beka’a valley, not far from the Syrian border.

Flute / Horn / Cello / violin quartet in Lebanon, about early Seventies

It’s a historical curiosity, not really much of a picture. But Dad was a good photographer and that day he also got this.

Cello, Lebanon, 1971

Thank you for listening.

Get Computer Glasses 4 Mar 2022, 9:00 pm

Let me guess: You spend a lot of time in front of a computer, to which is attached a large high-resolution outboard screen, and you’re over 40, and you have glasses on your face. A lot of you will already know this, but if you don’t, run not walk to the nearest optometrist, get your eyes checked, and order a set of “computer glasses”. Trust me on this.

If you’re wearing “reading glasses”

You should go get an eye checkup anyhow, so you can get computer glasses, but also because an eye checkup can find out all sorts of problems that might become serious if untreated, like glaucoma and macular degeneration. Also, they’re pretty cheap, most places.

My eyes are decent for someone past sixty: Galloping presbyopia (“age-related farsightedness”) which has gradually extended far enough that my prescription is for progressive lenses with a mild long-distance boost.

Two pairs of glasses resting on a computer keyboard

Smaller yet bigger

To illustrate the problem, check out the picture above: My ordinary everyday glasses on the left, computer glasses on the right. When I first looked at the picture after taking it I was shocked, because I’d been convinced that the computer glasses were much the bigger of the two, which they’re not. I was fooled because the proportion of my everyday glasses that works at screen distance is pretty small, and located way down in the lower half of the lens. On the computer glasses, the proportion is 100%.

Which means that on my big 4K outboard screen, when I want to glance at the top right corner to check out the time of day, I had to bend my neck way back to get the glasses in the right place so I could read the numbers. When I was working on a blog piece in one window and editing a photo in another I was forever swiveling around to aim the glasses’ tiny sweet spot. A big IDE window with panes for code, project files, debug output, and so on was a problem too. I kept increasing font sizes, but that’s really not a good solution.

With the computer specs, things are just dramatically better, and I’ve turned the fonts back down, and I just do everything faster, and I know what time it is at a glance.

Now, for a laptop down on my lap, the everyday glasses work just fine, which is a good thing because I probably want to switch attention between that and the ball game or costume drama on the big screen across the room.

How to do it

First, grab a tape measure, then sit down and and measure the distance between your eyes and the screen. Then, go to the optometrist and get that examination, then go to a good glasses merchant and show them your prescription and tell them the measurement and say you want computer glasses.

Um, I don’t pretend to be a fashion consultant, but do bear in mind that these glasses are going to feature prominently in all those videoconferences.

I’ll be honest, this is my biggest quality-of-life improvement in several years.

Long Links 26 Feb 2022, 9:00 pm

Welcome to another curation of long-form pieces, the kind of thing that I, as a semi-retired person, have time for. While you probably don’t have the space for all of these, one or two might reward an investment of your attention. These are obviously grim times and indeed there’s grim stuff here but I’ve tried to add some smiles for balance.

The world’s terrible but there’s great new music being created all the time! Let’s start with a palate-clearing blast of excellent hard rock from the “EQD Japan All-Stars”; it’s actually a promo piece for Earthquake Devices (thus “EQD”) who make guitar effects. It’s called the Reincarnation Rose Session, featuring Japanese women-metallistas Wata (from Boris), Tokie, suGar Yoshinaga, and Yuka Yoshimura, the latter two of METALCHICKS. I cannot lie: I have always been attracted to women with large amplifiers. What a great performance, and the drumming is out of this world. Next up, Sierra Ferrell sings Bells of Every Chapel; I just discovered Ms Ferrell a few weeks ago and have tickets to her upcoming Vancouver show. She’s sort of halfway between Dolly Parton and Leon Redbone and she’s wonderful. By the way, did you know that there’s a Guitar Girls magazine? And just to be fair to the old-guy demographic, check out Welcome Back, from Neil Young’s recent Barn project. What a pretty and reassuring sound the band makes.

We’re all weeping for Kyiv, there’ve been a few background pieces about the place when there’s not a war on; the one I read was Kyiv's ancient normality (redux) by Timothy Snyder. Boy, does it ever have a lot of history. Some of it’s even happy. And just to be clear: Vladimir Putin can eat shit and die. Also on my shit list are the opinionators ranging from Jacobin on the left to various GOP hacks on the right saying “yes, Putin bad, but we have to acknowledge that it’s mostly our fault because NATO is bad too, and also we’re too woke.” People who start land wars in Europe deserve eternal torment in the Hell I don’t believe in, and their apologists are standing on perilous ground.

Since we’re talking about unhappy zones, let’s look at Israel/Palestine. The Israelis finally managed to rid themselves of that scuzzbag Netanyahu, but the voters there overwhelmingly prefer far-right parties of various flavors, where by “various flavors” I mean the spectrum between “ethno-nationalist” and “stone racist”. Prime Minister Bennett is trying to “shrink the conflict” by improving Palestinian lives but never, never talking about the bigger Palestinian-future issue. Over at Israel Policy Forum, Michael J. Koplow asks If someone shrinks a conflict but nobody sees it, has it been shrunk? which explains in erudite detail why this isn’t working that well. In particular, there seems to have been an upsurge of settler-on-Palestinian violence; over at +972, Meron Rapoport asks What’s behind the Israeli right’s renewed war on Palestinian citizens? going way deeper into Israeli political dynamics than, well, anything that’s written outside Israel. It’s gotten to the point where Amnesty International released a report using the word “Apartheid” to discribe the situation in the West Bank. At Religion Dispatches, Joshua Shanes offers Rather than attack Amnesty for labeling Israel an apartheid state critics could address the actual problems; as you can guess from the title, he’s not happy. What with Covid and Russia, that part of the world has pretty well fallen out of the news, but the problems don’t seem to be going away.

In my own country, Canada, the big story of course was the protesting truckers and their “Freedom Convoy”, which caught our ruling class entirely by surprise; it took the authorities a big four weeks to get organized and free up the streets of Ottawa. It was pleasing that they managed it with astonishingly little violence. Now that we know the approach works, I expect it to be applied to demonstrations which are led by indigenous people and other marginalized communities as opposed to good ole boys. There’s a pretty decent write-up by Michelle Goldberg in the NYTimes, published about fifteen minutes before the cops waded in. Here’s another take by Canadian finance/real-estate blogger Garth Turner, In the crosshairs. It explores the interesting and I think genuinely new intersections of class and culture and politics that are stirring up North America. Let me quote:

But have you noticed the demographics? Yup, mostly white. Mainly guys.

On the surface this may be centred on vaccines and ‘freedoms’ but it’s really about disenfranchising and exclusion. Covid has exacerbated the wealth divide. The white-collar WFH crowd has been in the bedroom, employed, tapping on a laptop for two years watching their real estate equity grow. The rest have been handed the dirty end of the stick. On top of this economic injustice are governments whose diversity and inclusion policies have favoured certain groups (women, indigenous, racialized) while others (like white dudes in trucks) feel left out. Have you seen a TV commercial for a Canadian bank lately that portrays such a person? Me neither.

The appeal to bank commercials makes sense in Canada, whose economy is dominated by five insanely-profitable too-big-to-fail ones. These institutions advertise like hell on TV all the time, and those ads are sort of The Future Liberals Want; all the families are either multiracial or gay or both. Which is to say, they work hard on avoiding all the -isms (including able-ism, good on ’em), and being inclusive. Which is totally fine by me and in fact what it looks like around my family dinner table these days.

Of course, the people who run the banks also don’t look like the people in those ads. It doesn’t bother me that people who look like me never appear, we had our run in the sun. But the absence is kind of striking, and I can see how it might bother someone who was also getting fucked over by current economic trends.

Not that I sympathize with the truckies in the slightest; they combine incoherence with ignorance and bigotry. But when something doesn’t make sense I want to understand it better.

Another symptom of that same malaise is the propensity of people to believe big lies in general and The Big Lie about the 2020 US election in particular. Over at 538, There Is More Than One Big Lie dives deep not just on the fact of the lie, but on the fine belief structures and their dynamics. I thought it was fascinating.

Speaking of good deep-dives from 538, here are two more: Democrats Helped Build The Social Safety Net. Why Are Many Now Against Expanding It? and Why Democrats Keep Losing Culture Wars. Both useful examinations of extremely puzzling evidence.

These days, when you think of Big Lies, you also think of cryptocurrencies and NFTs and so on. Now here’s a treat: Yanis Varoufakis on Crypto & the Left, and Techno-Feudalism. Varoufakis is one of the world’s really interesting people, and very economically literate. In this interview, he explains why, even if the “crypto” technology was good (it isn’t) and even if the people pushing it had integrity (they don’t), the whole thing doesn’t make in the context of the current landscape of egregious inequality and class war.

I think the whole crypto/NFT scene is nauseating. But it’s not the worst problem we have with online culture. That would the torrent of abusiveness directed at various out-groups, in particular women. Let’s turn the mike over to Aubrey Hirsch’s That’s How It Works When You’re a Woman on the Internet. I suspect most readers here know about the bad stuff that’s happening out there, but let’s never forget it or wave it aside or stop looking for ways to bring to a fucking halt already. Humanity can be better than this.

As I type the words you are now reading, I am engaging in Internet-mediated authoring. Which is still in its infancy and we don’t understand it very well. I think the subject is fascinating and enjoyed the hell out of Andrey Mir’s Social Media Emancipated Authors, But To What End? It includes a taxonomy of “Types of Internet Authors” and I bet anyone reading this would identify with one or more types: Flickering Author, Silent Author, Interjectional Author, Commenting Author, Emitting Author, Principal Author.

But publishing, like most things, is all about money. Brian Morrissey, in The rich niche, discovers that most of the innovative-looking new media projects have something in common: They’re seeking an audience that is described as “sophisticated”, “literate”, “insider” and various other euphemisms for “has lots of money”. Interesting, and with ideas on alternatives too.

Please bear in mind that I’m a geek by profession and taste, and if you’re not, please skip to the next paragraph. Marc Brooker, one of the Really Smart people over at AWS, has been lighting things up over at his blog; consider Will circuit breakers solve my problems?, Software Deployment, Speed, and Safety, and DynamoDB's Best Feature: Predictability. All recommended! I also enjoyed Evan Martin’s Rethinking errors, warnings, and lints, which addresses the question “should you block dev builds on compiler warnings?” and offers a good answer. Finally, for those who want a really deep dive, let me recommend Russ Cox’s excellent piece from 2007: Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...) This remains my single favorite piece of exposition around a core piece of both theoretical Computer Science and practical Software Engineering.

Let’s end up on a note of reassurance. Have you been having trouble understanding the dialogue in the movies and serials that you watch? Think it might be because you’re getting old? Well, it might be, but it also turns out that there really truly is an epidemic of lousy, inaudible dialogue. I was overjoyed when I read Here's Why Movie Dialogue Has Gotten More Difficult To Understand (And Three Ways To Fix It); I’m pretty old but I thought my hearing was still good, and maybe I’m right. In fact, this has become such a common piece of conventional wisdom that the New Yorker has a cartoon series: Things Easier to Hear Than Movie Dialogue. Example: “Worm fart”. We can all use a smile.

Getting Back 18 Feb 2022, 9:00 pm

I watched all eight hours of Jackson’s Get Back Beatles documentary. I’m a pretty intense music geek and while I gather there were some for whom this was Too Much Beatles, there was hardly a moment I wanted to look away. I found the whole thing intense and feel like sharing a few purely musical take-aways: If you care about will-George-quit or the-meaning-of-Yoko drama, I got nothing for you.

Paul, John, and George on guitar

All these pictures are screen caps from the Get Back documentary by Peter Jackson on Disney+.

Payment

But first: I don’t subscribe to Disney+, a friend helped me out. Dear world: The number of streaming services keeps expanding but my willingness to subscribe to more of them has ground to a halt. I think I’m not alone?

So, they need to find another way: Hint: I would cheerfully pay to watch this! It’s huge, three very long episodes. If you’d asked me for $10 I might have grumbled a little but would have coughed up the dough.

[Is it too long? Maybe a little, but I think if you cut out any more than an hour you’d be losing real value.]

Now, on to those musical impressions.

Yoko and John

Sound Quality

It’s fabulous! Especially the rooftop sequence. I guess Glyn Johns and George Martin knew what they were doing? Toward the end of the show, there are occasional subtitles saying that the performance currently on-screen is the one on the album.

Back in the day, I disliked the sound of Let It Be, so the documentary audio was a pleasant surprise. A visit to Wikipedia reveals that Phil Spector peed in the pool of the first release; now I’m going to have to give a serious listen to Let It Be… Naked and, oh my goodness, check out Let It Be: Special Edition.

Beatles performing on the rooftop

Audio weenies will enjoy Glyn Johns’ repeated entreaties for less bass in the guitar sound, and similar fine-tuning.

Is it surprising that they got great sound in spite of the primitive ganged-four-tracks tape setup? It shouldn’t be; many music lovers and basically 100% of audiophiles agree that 1970 marked the beginning of a long steady decline in the quality of pop-music sound, and one reason was just too much technology.

Tragedy

It’s unspeakably sad that the Beatles never performed as a band once they’d grown up. In a few of the studio segments and the far-too-brief rooftop concert, they were tight as a drum, focused, and exciting.

Songs

There are lots of keepers, obviously. It’s pretty wonderful to watch Get Back be born right there before your eyes, and then grow and branch out and acquire lyrics and take its final shape as a mature, wonderful rock ’n’ roll song. We hear it maybe once or twice too often in the documentary.

It’s not my favorite, though; that would be Don’t Let Me Down, which inexplicably didn’t go out on the original Let It Be release. The melody is compelling and Lennon’s vocal is absolutely heart-wrenching.

I mentioned the lyrics: The movie suggests that Lennon was the band’s amanuensis, scribbling words and corrections furiously on a clipboard as they were worked out. This required, and he seemed to exhibit, endless patience.

I also really liked One After 909 which, Paul explains, is one of the “hundreds and hundreds” of songs he and John wrote together before they got famous.

John Lennon playing lap steel guitar on “For You Blue”

Pick One

OK, suppose that you (unlike me) had major songwriting talent and were putting together a band to perform your music, and you were allowed to hire one Beatle. Who’d be your choice?

For me, it wouldn’t be close: John Lennon, if only for the rhythm guitar and the vocal agility. Controversial?

McCartneyology

Obviously, a one-in-a-century singing voice; he croons and howls and growls and goes all music-hall silly, and does all those things in an intelligent way, and then of course, all those fabulous songs.

Listen to the vocal pyrotechnics on I’ve Got a Feeling; no other human could do that.

Instrumentally? The bass playing is competent and the piano backing on the ballads (Let It Be, Long and Winding Road) drives the songs gracefully.

George Harrison

Harrisonia

In mid-to-late Beatles, if there are noticeably high parts on guitar or vocals, that’s George. These days, people are kind in retrospect to his guitar playing, but they’re being charitable; the tone is thin and there’s really no rhythmic drive. But those high vocal harmonies are sweet; there’s a hilarious moment on one of the early takes of a song where George comes in on the high line ridiculously out of tune and the whole thing lurches to a giggling halt.

And Mr Harrison wrote songs that people will still be enjoying decades after we’ve all shuffled off.

There’s this moment where he’s showing off one of his new songs to the band, playing it on piano, and asking Billy Preston “What’s that chord, eh, Billy? It’s an E but I put a C in too. Couldn’t do that if I were writing on the guitar.” Which makes the point that in 1970, as they were breaking up, they were still learning their craft, still growing up.

Billy Preston

Billy too

I actually once attended a Billy Preston concert, back in the Seventies when he had big hits on the radio. A guy with a whole lot of talent and a good performer too. The college-paper reviewer (an art-rock victim I think) intoned snottily: “Just some nice tunes with a huge backbeat and a lot of energy.” Works for me.

Anyhow, his arrival on the scene half-way through the process lit up the room and made the Beatles a much, much better band.

Richard Starkey

Starrdom

The Get Back footage reveals that Ringo (whom the others often address as “Rich” or “Richie”) is, you know, a really good drummer. Powerful backbeat and extremely tasty intros and fills. No flash, none needed.

And Ringo wrote some pretty good songs. What I learned watching this is that he could play some decent piano too; one of the highlights for me was Paul and Ringo pounding out a fast four-hands rock boogie-woogie instrumental at ferocious, intimidating speed, both grinning ear to ear.

Rich hardly says anything though.

Lennonism

By a wide margin the most interesting person in the room, and his music hits me harder than any of the others’. His singing is idiosyncratic and flexible and totally wonderful. I mentioned Paul’s work on I’ve Got a Feeling; listen to John’s huge, driving guitar chords, then his vocal take on the “Everybody had a good time…” part, and enjoy the contrast. And the movie also makes it obvious that those Paul/John harmonies are The Real Deal, the sound you just couldn’t ignore, and still can’t.

And the guitar; for example, listen to that staccato break on Get Back; we probably hear it twenty-five times in the course of the movie, and I never wanted to skip it.

At this point in his life John was suffering from disaffection and heroin, so you’re probably not seeing the full spectrum of what he could be, and he’s still pretty awesome.

Mr Martin Says Why

I said I wasn’t going to talk about the personal dynamics, the human dimensions. One reason for that is that I don’t need to, because George Martin said what needs to be said; his son Giles posted a heart-warming little video, which anyone interested in the Beatles should probably watch.

I quote: “They were the kind of people that you liked to be with.”

I sure liked the eight hours I spent with them. Jackson’s direction is deft, gets right out of the way. Thanks to him and to all the people who made the film, living and dead.

2022 Crocuses 8 Feb 2022, 9:00 pm

It is an annual tradition on this blog to celebrate the early-spring arrival, in our front yard, of the first crocuses. Winters suck everywhere in Canada and while Vancouver’s don’t freeze your ass they do subtract light from life for way too many months. Thus, giving the little purple fellas a hearty greeting is therapeutic. With notes on photography and dead leaves.

Our front yard is half-ish garden patches, the rest mossy/grassy green. Normally we shovel autumn’s leaves off the whole thing but last fall I only cleared the green space. I was a little worried that the leaves might get the in crocuses’ way — they’re such delicate little things — but as you can see, they cheerfully muscled their way through to the sun.

Crocuses pushing through leaf cover

We can all use the help; it’s been a shitty winter, what with the endless Covid grind, nasty notices of incoming climate change, and mental-health issues. Also, several people I’ve known a really long time, and been close to in various ways, are starting to exhibit dementia. (One’s younger than me, shudder) (One is treatable, yay!) Days are still grey, dark, and short.

But: The flowers are up! And I got to be on the anti-anti-vaxxer bike squad!

So, back to the purple. Here’s a picture that I want to talk about; take a moment and check it out.

Early-spring crocuses with shadows

I find that, among the pictures I take, there’s a huge gulf between what I like best and what other people think. I like this one really a lot, and whether you agree or not it’s an excuse for a little bit of camera geekery.

“Special”?

So, as you may have heard me say: All the cameras these days are great. Any old mobile phone or entry-level DSLR or mirrorless can routinely take pictures that were technically impossible a decade ago. So, what makes a picture special? Obviously, finding something special to photograph is the most important thing. Once you get past that, lenses are big difference-makers, and post-processing (for me anyhow) is crucial. Notice that I didn’t mention the choice of camera?

Anyhow, this was shot on a Fujifilm mirrorless using the 35mm F1.4 lens, which is now nine years old and remains by a wide margin my favorite lens ever. Yeah, it can take very sharp pictures but that’s not it, there’s just something in there that makes things look better. I’m not the only person who feels this way; lots of photogs are very emotionally attached. More evidence: In the decade since this was introduced, Fuji has shipped a 33mm F1.4 and a 35mm F2, but they’re still making and selling it. On top of which, it’s super-light and compact, which is great when you’re hunched over on soggy moss trying to get the right angle on little wee purple flowers.

I spent a lot of time in Lightroom fooling with that picture just above. I think I’m not alone in really enjoying this process; I stay up after everyone’s gone to bed with the lights low and maybe an adult beverage, and obsess enjoyably over fine tonal gradations and color intensity and so on.

I gripe about this or that Lightroom foible but it’s really become an old friend. Lots of times I find my hand going to one of the sliders without the conscious part of my mind having been noticeably involved and whaddaya know, the adjustment works. It occurs to me that maybe, the next time I shoot a bunch I should do a Twitch stream…

Cluster of spring crocuses in Vancouver

These guys had the poor taste to situate themselves right by a plastic rod which supports the raspberry climber, but I couldn’t resist their eagerness and the adorable sharpness of the shadows cast by their sex organs.

But which camera?!

Oh, right, this is the Fujifilm X-T30 I bought in Hong Kong in 2019 to take lots of early-spring pictures of China. It’s great. (All cameras are great.) But three years in, I’m falling out of love. It’s not that Fuji cameras take better pictures or have better autofocus or viewfinders or shake reduction; it’s just I’m totally in harmony with their ideas about what kind of controls a camera should have on the outside and how they should work. Also, they have a pretty great lens lineup.

Except for, the X-T30 is too small for my big fat farmer’s hands. I deliberately bought it small to carry around the Great Wall, and that was great, and I’ve come to a compromise with it, but my fingers fail to fall on the right place too often and I often find I’ve woken up the touch-screen and mis-adjusted something.

It doesn’t help that, what with Covid-19, we never really go anywhere and thus I take the camera off the shelf far less often.

They say Fuji’s announcing new stuff in May and I’ll take a close look.

But that’s not what matters

What matters is that the crocuses came up. And that we had a nice bright day. And that my mind and body still work well enough to get me out in the chilly moist air stalking the purple and gold. And that I can still care about it, and be pleased by it. Is that a low bar? In 2022, I’ll take it.

Happy almost-Spring, everyone.

Lock-in and Multi-Cloud 30 Jan 2022, 9:00 pm

Alone in a room with the customer’s CTO, I said “So, I spent this morning talking to your people, and it looks like you’re using low-level generic tech for everything and managing it yourself. You could save a shit-ton of money by using high-level managed services and get load-scaling for free.”
“Yeah,” he said, “but then we’d be locked in and the next time our enterprise contract comes up for renewal, you can screw us.”

It doesn’t matter who the customer was, except that they were big, and they thought they were paying too much, and I thought so too. It’s about the starkest example I’ve run across of lock-in fear, which inevitably raises the subject of multi-cloud, hot stuff these days.

The Trade-off

It’s really pretty simple. All the Cloud vendors optimize for the case where you’re running your IT end-to-end on their cloud; that way, everything fits together better. Also, it’s in harmony with the natural software-ecosystem trend towards platforms; vendors love having them and developers are comfortable building on them. So buying into a single cloud vendor just makes life easier.

But… lock-in. It’s not just a ghost story. Consider that the vast majority of the world’s large enterprises have lost control of their per-employee desktop-software spend. They pay whatever Microsoft tells them they’re gonna pay. A smaller but substantial number have also lost control of their database licensing and support spend. They pay whatever Oracle tells them they’re going to.

Microsoft and Oracle calibrate their pricing in a way that bears no relationship to its cost of production, but is carefully calculated to extract the maximum revenue without provoking the customer to consider alternatives. Also they design their platforms so that that migration to any alternative is complex and painful.

So I’d be willing to bet that many CIOs have heard, not just from their CEOs but from their Board, “We don’t want you coming back to us in three years and telling us you’ve lost control of your cloud spend.”

But the Public Clouds aren’t like that!

They really aren’t. In each case, the founders are still somewhat in the picture, bringing a vision to the table that extends beyond short-term profits. I have met these people and they genuinely obsess all the time about what can be done to make their customers successful. Anyhow, the business combines high margins with high growth, so you don’t have to squeeze customers very hard to make investors happy.

Here’s an example: Last year, AWS dramatically reduced data egress charges, under pressure from CloudFlare, Oracle, and of course their customers.

But that’s today. Let’s think ahead to 2030 and zero in on on a hypothetical future version of AWS. First, there was that unfortunate accident involving one of Elon’s satellites and the Blue Origin rocket Jeff was on. And Andy, a multibillionaire via that Amazon-CEO package, bought out the rest of the Kraken owners, then put in a surprise grab and owns the Seahawks too. He’s discovered that being a sports mogul beats the hell out of testifying on live TV to Pramila Jayapal.

In this scenario, activist investors and big-time PE players have won a majority on the Amazon board and they don’t want any of their business units missing any chances to turn screws that maximize revenues. Data egress charges ratchet up every quarter , as do high-level proprietary services like Kinesis and Lambda.

A whole lot of customers have lost control of their cloud-computing spend; they pay whatever their AWS account manager tells them they’re gonna pay.

Benefits of going all in

So the fear is real, and reasonably founded. Which is sad, because if you go all-in, there are pretty big pay-offs. If you want to build a modern high-performance global-scale application, a combination of Lambda, Fargate, DynamoDB, EventBridge, and S3 is a really attractive foundation. It’ll probably scale up smoothly for almost any imaginable load, and when the traffic falls, so do your bills. And it’ll have geographical redundancy via AWS Availability Zones and be more robust than anything you could build yourself.

You can decide you’re just not up for all these proprietary APIs. But then you’re going to need to hire more people, you won’t be able to deliver solutions as fast, and you’ll (probably) end up spending more money.

The solution spaces

So, practically speaking, what can organizations do? There are three options, basically.

Plan A: All-in

It’s a perfectly reasonable business strategy to say “lock-in is a future hypothetical, right now I need richer apps and I need them faster, so let’s just go all-in with GCP or Azure or AWS.” Lots of big, rich, presumably smart organizations have done this.

It works great! You’re in the sweet spot for all the platform tooling, and in particular you can approach nearer the ideal, as articulated by Werner Vogels in one of his re:Invent keynotes: “All the code you write should be value-adding business logic.” You will genuinely deliver more software with high business value than with any other option.

(Your cloud account manager will love you, you’ll get great discounts off list price, and you’ll probably get invited on stage at a cool annual conference, in front of thousands.)

Plan B: Bare metal

This is the posture adopted by that company whose CTO gave me a hard time up in the first paragraph. They rented computers and storage and did everything else themselves. They ran their own MySQL, their own Kafka, their own Cassandra, their own everything, using a number of virts that I frankly couldn’t believe when they first told me.

They had big engineering and SRE teams to accomplish this, and had invented all sorts of cool CI/CD stuff to make it bearable.

In principle, they could pick up their whole deployment lock, stock, and barrel, move it over to GCP, and everything ought to work about the same. Which meant a lot to them.

They had a multi-year enterprise agreement which I can only assume included fabulous discounts.

Plan C: Managed OSS

Here’s what I think is an interesting middle-of-the-road path. Decide that you’re going to go ahead and use managed services from your Cloud provider. But only ones that are based on popular open-source projects. So, use Google Cloud SQL (for MySQL) or Amazon Managed Streaming for Kafka or Azure Kubernetes Service. Don’t use GCP BigTable or Amazon Kinesis or Azure Durable Functions.

This creates a landscape where switching cloud providers would be nontrivial but thinkable. At least you could stay with the same data-plane APIs. And if you use Terraform or Pulumi or some such, you might be able to make a whole lot of your CI/CD somewhat portable as well.

And in the meantime, you get all the managing and monitoring and security and fault-tolerance that’s built into the Public-Cloud infrastructure, and which is getting pretty damn slick these days.

But, data gravity!

I heard this more than once, usually from someone who looked old and wise: “The real lock-in ain’t the technology, it’s the data. Once you get enough petabytes in place at one cloud provider, you’re not gonna be moving” they’d say.

I’m not so sure. I worked a bit on the Snowmobile project, so I’ve had exposure to the issues involving movement of big, big data.

First of all, the Internet is faster than it used to be and it’s getting faster every year. The amount of data that it’s practical to move is increasing all the time.

But more important, I wonder how much data can you actually use at a time? A high proportion of those petabyte-scale loads is just logfiles or other historical data, and its business use is for analytics and BI and so on. How much of it, I wonder, is locked away in Glacier or equivalent, for compliance or because you might need it someday? People don’t realize how freaking huge a petabyte is. [Here’s a fairly hilarious piece, Half a Billion Bibles, from this blog eighteen years ago, when I first ran across the notion of petabytes of data.]

So if you were going to move clouds, I really wonder how much actual live data you’d need to bring across for your apps to get on the air. Yes, I acknowledge that there are scientific and military-intelligence and suchlike apps that really do need to pound the petabytes all day every day, but my guess is the proportion is small.

So, data gravity might keep you from moving your analytics. But would it really keep you from moving your production work?

Of course, if you did that, you’d be doing…

Multi-cloud!

Boy, is that a fashionable buzzword, type it into your nearest search engine and look at the frantic pitching on the first page.

First, let’s establish a fact of life: More or less every large enterprise, public or private sector, is already multi-cloud or soon will be. Why? If for no other reason, M&A.

If you survey the application inventory of almost any big household-name enterprise, you’re gonna find a devil’s-brew of mainframes, Windows, Linux, COBOL, C, Java, Python, relational, key/value, and probably eleven different messaging systems. Did they plan it that way? What a dumb question, of course not. It’s the way businesses grow. Enterprises will no more be able to arrange that all their divisions are on the same cloud provider than they can force everybody onto Java 11 or Oracle 19, or get rid of COBOL.

So whatever you think of the lock-in issue, don’t kid yourself you can avoid multi-cloud.

War story

There’s this company I’ve been working with that’s on GCP but at one point was on AWS. They have integrations with a bunch of third-party partners, and those are still running on AWS Lambda. So they have these latency-sensitive retail-customer-facing services that routinely call out from a Kubernetes pod on GCP over to a Lambda function.

When I found out about this I was kind of surprised and asked “But does that work OK?” Yep, they said, solid as a rock and really low latency. I did a little poking around and a public-cloud networking-group insider laughed at me and said “Yeah, that happens all the time, we talk to those guys and make sure the transfer points are super optimized.”

Sounds like an example from the future world of…

Multi-cloud applications

Which, I admit, even given the war story above, I’m not really crazy about. Yeah, multi-cloud is probably in your future. But, in a fairly deep way, the public clouds are remarkably different from each other; the same word can mean entirely different things from one platform to the next.

Which means that people who genuinely have strong skills on more than one public-cloud platform are are thin on the ground. I’m not sure I know any. So here’s maybe the most important issue that nobody talks about.

People costs

Everybody I know in the tech business is screaming for more talent, and every manager is working the hell out of their personal networks, because their success — everyone’s success — is gated on the ability to hire.

For a variety of reasons, I don’t think this is going to change in the near or medium term. After that I’m dead so who cares.

So if I’m in technology leadership, one of my key priorities, maybe the most important, is something along the lines of “How do I succeed in the face of the talent crisis?”

I’ll tell you one way: Go all in on a public-cloud platform and use the highest-level serverless tools as much as possible. You’ll never get rid of all the operational workload. But every time you reduce the labor around instance counts and pod sizes and table space and file descriptors and patch levels, you’ve just increased the proportion of your hard-won recruiting wins that go into delivery of business-critical customer-visible features.

Complicating this is the issue I just mentioned: Cross-cloud technical expertise is rare. In my experience, a lot of strategic choices, particularly in start-ups, are made on the basis of what technologies your current staff already know. And I think there’s nothing wrong with that. But it’s a problem if you really want to do multi-cloud.

What would I do?

If I were a startup: I wouldn’t think twice. I’d go all-in on whatever public cloud my CTO wanted. I’m short of time and short of money and short of people and all I really care about is delivering customer-visible value starting yesterday. I just totally don’t have the bandwidth to think about lock-in; that’s a battle I’ll be happy to fight five years from now once I’ve got a million customers.

If I were a mainstream non-technical enterprise: My prejudice would be to go with Plan C, Managed OSS. Because that open-source software is good (sometimes the public cloud proprietary stuff is better, but usually not). Because in my experience AWS does a really good job of managing open-source services so I assume their competitors do too. Because these people care about velocity and hiring too, but remember those Board members saying not to get locked in.

So, who does that leave that should pick Plan B? I’m not sure, to be honest. Maybe academic researchers? Intelligence agencies? Game studios? I suppose that for an organization that routinely has to code down to the metal anyhow, the higher-level services have fewer benefits, and if you’ve got grad students to keep your systems running the “managed service” aspect is less critical.

I’d hate to be in that situation, though.

Then there’s politics

We’re heading into an era where Big Tech is politically unpopular (as is Big Business in general) and there’s a whole lot of emerging antitrust energy in the USA and Europe. Meanwhile, the Chinese autocrats are enjoying beating up on tech companies who see themselves as anything other than vehicles for building Party support.

What’s going to happen? I don’t know. But if you’re a really big important organization and you feel like lock-in is hurting you, I suggest you call your nearest legislator. I suspect they’ll be happy to take your call. And make sure to tell your public-cloud vendor you’re doing it.

Three Electric-Jaguar Years 22 Jan 2022, 9:00 pm

This month marks three years of driving an electric car, a 2019 Jaguar I-Pace. I’ve written a lot about this, the research that went into it, what it feels like to own and operate, and the experience of driving it 1725km across Canada and back. All this on the theory that EV’s are an important tool in our best climate-emergency strategy. Like basically 100% of people who’ve gone electric, there’s no going back. In 2022, the requirements niche where a fossil-powered car makes sense is narrow and shrinking fast.

The Niche

IF you need to travel 500km (about 300 miles) on a regular basis, AND IF you really can’t handle that trip taking an extra hour, well then, suck it up, live in the past, get a vehicle that’s less reliable and more expensive to run and more damaging to life on Earth.

BUT, don’t invest too much, because in a small number of years that niche will have narrowed to zero.

But which EV?

If your driving is (like most people’s) mostly putt-putting around town, and you get on the highway to visit family or whatever once or twice a year… it doesn’t matter. Any modern EV will do the job. Shop by budget or by style and you won’t be unhappy. But I do have opinions.

Tesla?

They’re still ahead on charging — both availability and charging speed — and on cargo/interior space. As for style, it’s a matter of taste.

They still have real build-quality problems. And I think their experiment in moving all the interaction to a tablet off to the driver’s side can be declared a failure. When I’m driving I want the basic info right in front of me, and I want the meat-and-potatoes controls on physical knobs and levers that my hands can find without me looking. I don’t think I’m weird.

The Teslas are still great cars, on balance, But they no longer stand alone, not even close.

Style?

A lot of the really good EVs are ugly (Hyundai, VW) or just crushingly boring (Audi, Volvo/Polestar, Mustang). To give Tesla credit, they have a consistently unique design vocabulary, which some people like.

I think there are only two EVs that are uncontroversial design triumphs: The Jag and the Porsche Taycan.

Jaguar I-Pace in the rain Porsche Taycan

Observed unposed, in the wild.

Range

So, here’s the thing: Range doesn’t matter. No, really, it doesn’t. What that linked piece explains, in 1,300 or so words, is that range only matters for long-hauling, that most modern EVs have plenty, and that charging speed matters way more. So…

Charging speed

Remember, this only matters if you do a significant amount of long-haul driving. But then it matters a lot. At this point, Tesla still has a lead, because there are more Superchargers and the cars (recent models at least) charge damn fast.

Looking at EVs shipping today, as far as I know, only the Taycan and Hyundai Ioniq 5 have Tesla-comparable speeds, and that depends on finding 200kW-and-up chargers, and those chargers being in working order. Today, that can be chancy.

Having said that, there’s a tsunami of charging-station investment happening right now. It’s a problem that nobody’s really figured out the business model. But it would be surprising if the rest of the ecosystem weren’t at least very close to Tesla in a very few years.

Quality

Generally, companies that built high-quality gas cars also build high-quality EVs. But note that it’s a little easier with EVs because there are immensely fewer moving parts and nothing that needs to handle volatile burning fluids or wrangle gear ratios.

Which is maybe why companies that are not famous for a history of high quality seem to do well too, if my experience with the Jaguar is evidence. In three years I’ve had one trip to the dealer, when the aircon stopped working.

Tesla still has ground to make up on the quality front. For example, consider this comparo between a Tesla Y and an Ioniq 5 (the video is good too); Tesla comes out way behind on build quality, especially rattles and squeaks. When my Jag hits a pothole or I take a speed-bump too fast, it’s like a single silent block of steel, nary a rattle.

Infotainment

I suspect that the future here belongs to Google and Apple. The only car company whose infotainment/Driver-experience software comes close is Tesla. But it’s gonna be tough, CarPlay and Android Auto are getting really good. All I had to do is plug in my phone and then all my music and messaging and calendar and contacts and so on Just Worked. Why would I expect a car company to do better?

What I’d buy

Suppose a meteorite hits the Jag when I’m not in it and I’m back to square one. While I love the look of the Taycan, I wouldn’t go there because of this:

Jaguar I-Pace with back heavily loaded

The Jag has been overwhelmingly, ridiculously, practical. It can schlep a lot of crap. It can keep five people comfy. It can mush through deep snow and leap forward like a cat on the highway to dodge a clumsy merge-in even when you were already maybe a bit over the speed limit.

But, it can’t soak up more than 100kW from a fast charger. And it’s kind of expensive (although less than the roughly-equivalent Tesla.)

Anyhow, if I weren’t terribly price-sensitive, I’d consider the Polestar and the Audi but probably buy the Jag again.

If I wanted to step down into mid-range I’d go and have a look at the Ioniq 5 or very similar Kia EV6 and see if they’re as ugly in the flesh as they look on screen, because they seem to be really very nice cars, and charge fast.

But hey, I spend almost all my driving hours at low speed in urban traffic. So the rational thing would be to go pick up a basic Nissan Leaf or Chevy Bolt. They’re really good cars, very fully-debugged, and will get out of your way. And the price is right.

What it’s like

I mean, what buying a gas car is like in 2022. It’s like holding onto your flip phone in 2012. It’s like trying to find your hotel in a strange city after a red-eye with a paper map. It’s like putting your retirement savings into coal-mining investments. It’s over.

Pulp Fiction 16 Jan 2022, 9:00 pm

A dozen years ago, our growing family created a problem: Too many books! So after I finished ripping our thousand CDs, we repurposed the CD rack into a bookcase, stuffed it with our genre paperbacks, and put it in the guest room. A few years later, the guest room became our son’s room and the pulp fiction went into boxes. But just now after another bout of domestic reorganization, they’re back out among us. I find their dingy colorful presence cheering. Check out the picture!

Bookcase full of pulp fiction

For those who want to pixel-peep authors and titles,
here’s a full-sized version.

There you have it; 7½ shelves of Sci-Fi, 6½ of mysteries and thrillers, 250 or so books. Likely very few of these will feature in Lit Crit courses any time soon, but they are full of imagination and intensity and color, and in aggregate contributed significantly to the comfy and cluttered interior decor of my mind.

Now a few statistics, which I suspect that connoisseurs of 20th-century popular fiction will find pleasing.

  1. Most popular authors: Rex Stout (32 volumes), Gene Wolfe (21), Elmore Leonard (16).

  2. Less-renowned authors whom we apparently enjoy and you might too: Michael Dibdin (9), Clifford D. Simak (8), Sara Paretsky (7).

  3. Special smiles: Delany, Disch, LeGuin, Leiber, Zelazny.

  4. We have moderns! Charlie Stross (9), by which we observe that he became productive before pulp became Kindlified.

  5. Most-loved, judged by the level of tatter: The Mote in God’s Eye and The Moon is a Harsh Mistress. I’m pretty sure I bought the latter when I was about 14.

  6. Retired due to not having aged well: Travis McGee.

  7. Still on the upstairs shelves due to being mostly hardcover: Gibson and Gaiman.

Their new location means we walk by them when we go upstairs to bed. After another shitty 21st-century day, the appeal of curling up with 20th-century storytelling will be strong.

New Year’s Day 12 Jan 2022, 9:00 pm

In Vancouver, we have a tradition of going for a walk on New Year’s Day, no matter how foul the weather, if only to prove to Other Canadians that the thing is possible. 2022 too, despite its being an extremely low-expectations year. And it wasn’t the worst New Year’s Day beachwalk ever, so maybe it won’t be the worst year ever. And it leaves me with advice for the world. But first…

The traditional Polar Bear Swim, in which hordes of howling Vancouverites, half hungover and the rest inebriated, charge pell-mell into the hostile waters of English Bay, was Covid-scotched like so much else good in life. But that didn’t deter everyone; here and there an espontáneo shed their garments and made made a singleton splash. There was a bored burly bearded lifeguard not getting in the way, happy to chill with passers-by.

Solo Vancouver polar-bear swimmer, 2022

Hmmm, do those clouds look… a little weird? Yes, and not just a little. I don’t think there was a temporal vortex behind that mountain waiting to vomit city-eating chthonic lifeforms over its peak, but if I were a production designer for a city-eating-chthonic-lifeforms movie, that’s how I’d fill in the clouds around the mountain they were lurking behind.

Weird clouds over Vancouver’s Mount Cypress

Let’s look West, where the Blessed Lands would be if there were any, but in fact it’s just Vancouver Island and then Japan. But yeah, those clouds.

Looking west across English Bay on New Year’s Day 2022

See the ships? Those are the “supply-chain issues” that are screwing things up. Every ship parking spot out there is occupied, every time I go and look.

Looking west across English Bay on New Year’s Day 2022

That snow wasn’t melting because it was pretty damn chilly. So our walk didn’t go on for that long. But of course we couldn’t pass up Vancouver’s major new talking point, Marge the Barge.

Cargo barge washed up on English Bay beach

This big sucker blew up on this very-downtown beach in a big windstorm last November that unfortunately combined with a super-high tide, and it’s not coming off any time soon. A little bird told me that its bottom is severely damaged by those rocks it’s hitched up on and if the tide got high enough to float it off, it’d sink again. Another little bird told me that it was sloppily and amateurishly tied up to the barge buoy out there when the windstorm came along and disposed of its moorings in about fifteen minutes.

The city’s kind of adopted it, as though we had any choice. I particularly admire that mooring line someone’s tied up to it.

Barge tied up to a rock on the Vancouver waterfront

Now, that’s a damn expensive piece of rope. And I don’t know (but admire) how the hell they got it around that rock. The effect, of course, is purely symbolic. If Marge decides to float away via some accident of tide and wind, without immediately sinking, the rope isn’t going to help. But it’s stylish.

The scene by the barge was pretty cheery; everyone had a story to tell. There were toddlers sledding on the unaccustomed snow. The rent-a-cop down by the barge totally ignored the people checking it out. Every photographer was looking for their own special angle. Strollers and longboards and spaced-out hippies shared the paths, reasonably amicably. Everyone who wasn’t talking to the person walking with them was talking to their phone.

Advice

Covid sucks. Politics sucks. The weather sucks (and is a hideous harbinger of worse to come). But, don’t stay home. Go outside anyhow. Take pictures. Tell stories. Laugh at the laughable. Tune out the jerks. Nobody promised there’d be a tomorrow so do today today.

Happy New Year!

Long Links 5 Jan 2022, 9:00 pm

For a while there I was posting a Long Links early in each month, recommending long-form pieces that I’d had the time to read, acknowledging that people who aren’t semi-retired wouldn’t have time for all of them but perhaps one or two would add value even for the busy. I fell out of that habit but now it’s 2022 and there are plenty of tabs I meant to write about, some dating back to early 2021. So… Welcome, everyone, to 2022, and let’s go long!

I bet a lot of people who read this blog play video games. I bet a lot of people also read The New Yorker. I bet they’re probably not the same people. So, for people on the left side of that Venn diagram, I recommend The Best Video Games of 2021. The list is idiosyncratic and light on AAA productions. I want to give a few of these a try!

Anyone who knows me well, or has read much of what I write, has probably encountered a rant about the irritating habit, among the rich and successful, of attributing their position solely to their own talent and energy. I’ve never believed that, simply because I know how many of my own successes have involved a lot of good luck, and because I know many people who are smarter and harder-working than I am but who struggle to get along in life. For those who agree, and especially for those who don’t, I offer Talent vs Luck: the role of randomness in success and failure by Pluchino et al, published in Advances in Complex Systems. I quote from the abstract: “In particular, we show that, if it is true that some degree of talent is necessary to be successful in life, almost never the most talented people reach the highest peaks of success, being overtaken by mediocre but sensibly luckier individuals. As to our knowledge, this counterintuitive result - although implicitly suggested between the lines in a vast literature - is quantified here for the first time.” Told ya so.

John Battelle asks, on his blog, Why Is The Streaming Experience So Terrible? Nobody really liked the era of cable TV, and streaming felt like a fresh new direction when it arrived, but today it’s starting to have that cable-TV smell, on top of becoming really expensive. I enjoyed reading this because I thought I was the only one generally grumpy about the streaming-video era. I guess I’m not.

Batteries are much in the news these days, as we embark on the first stage of the titanic shift away from a world that runs by burning fossilized micro-organisms to one that runs on renewables. There are a whole lot of issues around batteries: Cost, durability, and the environmental impact of building them. I can’t say how much I enjoyed Electric cars and batteries: how will the world produce enough? published in Nature. It addresses all the issues around batteries that I knew about and a bunch that I didn’t, is impeccably written, and, as you’d expect from this publication, armed with high-quality graphics and first-rate references.

In recent years I’ve been fascinated by the science of “Dark Matter” — I put the words in quotes because no matter how hard physicists look, they can’t find the stuff that needs to be there for galaxies to behave the way they do, according to ΛCDM, the “standard model” of cosmology. Some suggest that Dark Matter doesn’t actually exist, and offer an alternative explanation of the galactic weirdness that produces good results, but requires an adjustment to Newton’s famous gravitational formula G(m1m2)/r2, a thing that (rightly) makes physicists nervous. This alternative vision of cosmic reality is called MOND. Recently, there’s been lots of coverage of the JWST space telescope, and in his Triton Station blog, Stacy McGaugh considers What JWST will see. Because JWST will allow astronomers to establish the size of the furthest-away (and thus oldest) galaxies, and the predictions of ΛCDM and MOND on what they’ll see are very different. One waits with bated breath.

David Heinemeier Hansson (universally referred to as “DHH”) is the inventor of the popular “Rails” website-building software and a successful businessperson, with a loud voice and many interesting opinions. When I first ran across him in 2005, he was also kind of an asshole, spewing testosterone all over the blogosphere and Web-conference circuit. In recent years he’s become way more grown-up and likeable, and usually worth paying attention to, although his standing took a beating last April when a controversy about what sort of political discussion was legit on internal company channels led to a third or so of the staff bailing out. Whatever you may think of him, if you’re interested in software and in particular Open Source, I recommend I won't let you pay me for my open source. It’s a little longer than it needs to be but covers interesting territory, and lots of it, and although I certainly don’t agree with every word, I sure enjoyed reading it.

Long-form works aren’t all in words. Here’s 12 minutes of Vivaldi’s Concerto in E minor for Bassoon; super tasty stuff. The performance is from Poland and the performers almost all women. First-class music, beautifully recorded.

Let’s hope 2022 is better.

Locally Optimal 27 Dec 2021, 9:00 pm

It’s six months since my second Covid shot (team AZ/Moderna) and thus booster time. Which I found out this morning via SMS from my local (BC, Canada) Centre for Disease Control. The registration process was fast and painless. This is exactly the sort of thing we thought we were building the Internet for, and has lessons to teach.

SMS invitation for Covid booster

On my phone, I tapped the link in the SMS, which took me (more or less instantly) to a bone-simple browser form with two fields, my reference number (pre-filled-in) and my Personal Health Number (had to open my wallet to look at the card). Helpfully, that field switched to numeric-input mode.

One more tap took me (instantly, once again) to a list of vaccination facilities. I picked the one closest to my house and (without delay) saw that dates were available the day after tomorrow. Another tap popped up an appointment-time chooser, and the last one yielded “confirmation on the way by SMS and email”; they arrived within seconds.

Each achievement in the following list is modest but above the bar for typical public-facing systems both from government and the private sector:

  1. A single tap on my phone screen took me to the right place.

  2. I accomplished the task without failures or errors.

  3. The service requested minimal information.

  4. That information was made easy to enter.

  5. Interactions were fast and smooth, with no waiting.

Things that were not observed:

  1. Graphical decoration.

  2. Popups.

  3. Animations.

  4. Marketing.

What is shocking isn’t that a level of government managed to deliver an essential service with this level of graceful attention to detail. It’s that so many of them fail to do so.

This kind of thing couldn’t be accomplished without the Internet. It’s more important than any dozen Bay-Aryan unicorns and social-media MegaCorps put together.

[Of course, it also helps that in Canada, healthcare is provided for free as a consequence of citizenship.]

Google Memory Loss 15 Jan 2018, 9:00 pm

I think Google has stopped indexing the older parts of the Web. I think I can prove it. Google’s competition is doing better. [Update, Feb. 2022: It’s still happening.]

Evidence

This isn’t just a proof, it’s a rock-n-roll proof. Back in 2006, I published a review of Lou Reed’s Rock n Roll Animal album. Back in 2008, Brent Simmons published That New Sound, about The Clash’s London Calling. Here’s a challenge: Can you find either of these with Google? Even if you read them first and can carefully conjure up exact-match strings, and then use the “site:” prefix? I can’t.

[Update: Now you can, because this piece went a little viral. But you sure couldn’t earlier in the day.]

Update: February 2022

Here’s the smoking pistol. Go back to Feb. 1, 2015, when there was only one article, with a two-word title. Try to find it! Most search engines accept the following syntax: stifado site:tbray.org (pardon the lack of a direct pointer because any present-day discussion with direct links to the article will cause the engines to re-index it.) This time, Bing also can’t find it either. But DuckDuckGo can!

Why?

Obviously, indexing the whole Web is crushingly expensive, and getting more so every day. Things like 10+-year-old music reviews that are never updated, no longer accept comments, are lightly if at all linked-to outside their own site, and rarely if ever visited… well, let’s face it, Google’s not going to be selling many ads next to search results that turn them up. So from a business point of view, it’s hard to make a case for Google indexing everything, no matter how old and how obscure.

My pain here is purely personal; I freely confess that I’d been using Google’s global infrastructure as my own personal search index for my own personal publications. But the pain is real; I frequently mine my own history to re-use, for example in constructing the current #SongOfTheDay series.

Competition

Bing can find it! DuckDuckGo can too! Both of them can find Brent’s London Calling piece, too.

What Google cares about

It cares about giving you great answers to the questions that matter to you right now. And I find that if I type in a question, even something complicated and obscure, Google often surprises me with a timely, accurate answer. They’ve never claimed to index every word on every page.

My mental model of the Web is as a permanent, long-lived store of humanity’s intellectual heritage. For this to be useful, it needs to be indexed, just like a library. Google apparently doesn’t share that view.

What I’m going to do

When I have a question I want answered, I’ll probably still go to Google. When I want to find a specific Web page and I think I know some of the words it contains, I won’t any more, I’ll pick Bing or DuckDuckGo.

Page processed in 2.121 seconds.

Powered by SimplePie 1.3.1, Build 20210120101038. Run the SimplePie Compatibility Test. SimplePie is © 2004–2022, Ryan Parman and Geoffrey Sneddon, and licensed under the BSD License.