Shaping the World | David R. MacIver
Shaping the World | David R. MacIver
This keynote speech from PyCon UK is about software, a little. But it's more about societies and other complex systems, and the consequences that arise from our simplified models of them. It is full of wonderful associations.
It's pretty amazing that Mr. MacIver was able to speak so evocatively, especially after having had his memory wiped by the sight of 800 or so audience members.
I wish the read-write web actually existed. I would love to be able to annotate his transcript directly. Instead I'll quote, and note, here.
Models of Trees
If you’re a computer scientist, or have had an unfortunate developer job interview recently, a tree is probably something like this.Hello, Google ;)
[A real, biological tree] provides shade, maybe fruit, it has a complex root system. It’s the center of its own little ecosystem, providing shelter and food for birds, insects, and other animals.
"Complex root system" reminds me of what has recently been written about how tree root systems communicate and share nutrients with other trees. It also reminds of the relationship between root systems and fungal meshes (a mushroom is to the whole fungus as the tip of the iceberg is to the submerged mass), which dissolve rock to serve as nutrients to plants in exchange for carbohydrates (?) from the plant.
And of course it reminds me of Aldo Leopold's story of an atom: the "Odyssey" chapter from "A Sand County Almanac", written in a time when it was believed that plants disintegrated rocks solely by driving roots into them like wedges.
Back to the keynote:
The problem that the German scientific foresters ran into is that complex, natural, systems are often robust in ways that simple, optimised systems are not. They’ve evolved over time, with lots of fiddly little details that have occurred locally to adapt to and patch over problems. Much of that illegibility turns out not to be accidental complexity, but instead the adaptation that was required to make the system work at all.I've spent much of the past year updating a build system that generates Makefiles from Visual Studio solution/project files. This is a lovely description of that system.
Taxes and Their Avoidance
Have you seen these? Do you know why there are these bricked up windows? Well, it’s because of window taxes... So this is where windows taxes come from – take complex, messy, realities of wealth and pick a simple proxy for it... and you end up taxing the number of windows. Of course what happens is that people brick up their windows to save on taxes. And then suffer health problems...
I was surprised that this was an English building. For me, bricked-over windows and doors evoke Russia, Peter the Great, and the war of countermeasures between tax collectors and peasants.
From "Peter the Great", by Robert Massie:"The only solution [to Peter's constant need for funds...] was to lay still heavier taxes on the burdened nation... the basic tax had been the old household tax, determined by a census... This tax... made for crowded living because, to avoid taxation, as many families and people as possible crowded under one roof."
"But the new low figures also represented the helplessness of the government to overcome the stratagems of both nobility and peasants who were determined to evade taxes... Russian peasant houses were largely made of logs or timbers notched at four corners. Thus, they could be un-notched in a few hours and either removed to the forest or scattered about. The census takers and tax collectors knew the trick, but there was little they could do about it."From "For Good and Evil: The Impact of Taxes on the Course of Civilization", by Charles Adams:
"Duplexes and triplexes were built to take advantage of the one-dwelling, one-tax loophole. The tsar's tax collector responded by considering each outside door as a separate household. Peasants responded by boarding up one of the doors..."But to return to the keynote:
These complex shared ownerships are illegible, so we force people to conform instead to the legible idea of single people or families owning each piece of land. This is where a lot of modern notions of ownership come from by the way – the state created them so they could collect more tax.
...
And of course we have the soviet union’s program of farm collectivization, which has the state pushing things in entirely the opposite direction.This reminds that I want to read Anne Applebaum's new book, "Red Famine: Stalin's War on Ukraine", which details the use of collective farming as a tool of mass murder.
Legibility, and the Choice of Model Parameters
After all of these interesting anecdotes rich with association, Mr. MacIver moves to his main point, which is that the attempts of tech companies to be disruptive, or to improve efficiency, can be boiled down to attempts to improve legibility. They aren't removing cruft: they're building new models of complex systems. They're choosing principal components – sets of parameters – that make it easier to understand the properties they want to optimize.
That model building produces lots of unintended – often bad – consequences.
... we’ve reduced the world to the small subset of it that we think of as the important bits, and discarded the old, illegible, reality as unimportant...
that legibility we impose often maps very badly to the actual complexity of the world. You only have to look at the endless stream of falsehoods programmers believe [in order] to get a sense of how much of the world’s complexity we’re ignoring.Mr. MacIver next explains soft power, and in particular the soft power of disruptive technology companies. I took his words as an oblique reference to Amazon's business model, and free two-day shipping, but Mr. MacIver explicitly referenced other companies such as Twitter and Uber:
... soft power is power that you derive instead from appeal – People want to do what you want. There are a variety of routes to soft power, but there’s one that has been particularly effective for colonising forces, the early state, and software companies. It goes like this.
First you make them want what you have, then you make them need it.
The trick is to to basically ease people in – you give them a hook that makes your stuff appealing, and then once they’re used to it they can’t do without...
Pity they’re going to hike the prices way up when they’ve driven the competition into the ground and want to stop hemorrhaging money.
Sometimes it turns out that what we were disrupting was our life support system.
Admonitions
Mr. MacIver ends with some advice.
First he reminds the partisans of the old Mac / Windows wars that they both have it wrong, and that Richard Stallman's painful prescription is probably, by far, the best.
Then he advises that anyone who wants to develop a new, disruptive technology (and who is not cynically trying to control some large portion of society/industry, as I believe Mr. Bezos and others are) should begin with user research. "If you’re going to be forming a simplified model of the world, at least base it on what’s important to the people who are going to be using your software."
Finally, he practically begs us all to stop relying on ads. You should read his advice for yourself.
Thanks, Mr. MacGiver, for such a wonderful and thoughtful talk.