Persistence and the Owl Framework

I always find it interesting to dig into the problems pioneers in a field thought they were solving. So too with the origins of NoSQL and non-relational databases. This excerpt is a taster.


I know that, for many, our age is attempting to flee SQL […] But truly to escape SQL involves an exact appreciation of the price we have to pay to detach ourselves from it. It assumes that we are aware of the extent to which SQL, insidiously perhaps, is close to us; it implies a knowledge, in that which permits us to think against SQL, of that which remains SQL. We have to determine the extent to which our NoSQL is possibly one of its tricks directed against us, at the end of which it stands, motionless, waiting for us.

Mike Foucault, CTO of blurple.com, “Agile Eventual Web Transactions In MongoDB”, NoSQL Now! Conference, 2015
Michel Foucault, CTO, blurple.com

The whole talk is worth digging up.

Stochastic Land

A River With A City Problem – Margaret Cook (2019)

Termination Shock – Neal Stephenson (2021)

Last year I fled my house due to rising floodwaters, and soon after, my daughter’s cricket team finished up for the season. The water stopped short of our backyard, though not by much, and my daughter took some nice wickets with her loopy leg spin. It’s the second near miss we’ve had since buying the place nearly twenty years ago, but on the other hand, it’s two solid misses in two major Brisbane floods, which is a pretty good strike rate. Nevertheless, the whole street still exists on a rise at the edge of a wetland cleared a hundred and twenty years ago. Streets further south, the ones that had the creek running through them during the flood, would have been in the wetland itself, once. What does that make the odds of our house flooding? One in a hundred years? Maybe five hundred?

Fairly early in Neal Stephenson’s near future science fiction novel Termination Shock, a Texas oilman is flying over submerged Texas houses, many of which have been built thirty years earlier, and some of which have been expensively retrofitted by raising them on stumps. The oilman muses while watching a man standing on a porch with floodwaters near his feet. “He did not understand – none of these people did – that this is stochastic land on the edge of a stochastic reservoir. He didn’t understand because those are statistical concepts. People can’t think statistically.”

A lot of Brisbane is built on stochastic land. Yeronga. Rocklea. New Farm. Milton. Tucked into the sinuous curves of a tidal river, in the folds of crinkled hills and gullies that don’t seem vulnerable until your kitchen is full of muddy water.


It’s not hard to find evidence that people don’t understand statistical concepts. Casinos are full of bad gamblers. Kahneman and Tversky won a Nobel Prize for showing numerous ways that people don’t choose mathematically optimal strategies on various probability-based problems. Fine. On the other hand, statistical phenomena are pervasive. Will it rain today? Are the fish biting? Will the price of my house go up? The natural and artificial worlds are full of things that might happen, and that we can put some sort of partially informed odds on. If our bus to work is often delayed by traffic, we learn to leave more time, so even if the dice rolls badly, we won’t be late.

So perhaps we are bad at preparing for low probability catastrophes. Indeed, there is plenty of evidence for that as well, as flooded cities across Australia, melting cities in Europe, and accumulating disasters elsewhere attest. Yet long-established human societies learn rules for dealing with rare catastrophes as well. This is where Margaret Cook’s book, A River With A City Problem, starts. The Turrbal and Jagera peoples are fishing peoples, but when they camped on the banks of the Maiwar, the Brisbane River, they camped 14 metres above the waterline. 

Cook has written a history of the Brisbane River, and in the period since colonial settlement, that makes it mostly a history of floods. There have been half a dozen major floods since the Brisbane penal colony was established in 1823, and a number of smaller ones in between. The pattern has been: new immigrants build unwisely on the floodplain; a flood comes a few years or decades later, with tragic loss of lives and livelihoods; reports are written and sometimes dams are built; rinse and repeat.


In a 1983 interview with James Peck, Noam Chomsky was asked why people aren’t informed about the complicated systems of world politics, intellectual history, and so on. Chomsky had an unusually modest response.

CHOMSKY: Well, let me give an example. When I’m driving, I sometimes turn on the radio and I find very often that what I’m listening to is a discussion of sports. These are telephone conversations. People call in and have long and intricate discussions, and it’s plain that quite a high degree of thought and analysis is going into that. People know a tremendous amount. They know all sorts of complicated details and enter into far-reaching discussion about whether the coach made the right decision yesterday and so on. These are ordinary people, not professionals, who are applying their intelligence and analytic skills in these areas and accumulating quite a lot of knowledge and, for all I know, understanding.

This sophisticated technical understanding and engagement is also probabilistic. Sports are probabilistic. That’s a way they generate drama and surprise. Players exploit this in many different ways; they learn techniques to slightly tip the odds in their team’s favour. Fans know much of this too. The interplay all adds to the richness of the game. We evolved to survive stochastic land. And though people may not be optimal in the way they manage probability, they can work with numbers too, as sports stats show every day of the week. The problem is not so much that people can’t navigate stochastics, at least in a rough and ready way. It’s explaining how a person can both know that Don Bradman had a batting average of 99.94 and also live in a house that will flood an average of every forty years.

A River With A City Problem goes some way to explaining how. It was a combination of path dependency, social proof, and lies. Waves of new settlers came to Brisbane and Ipswich, short on local knowledge and keen to take advantage of the low-lying land near the river. At first this was because the rich soil (from historical floods) made farms there fertile. Later on it was because new subdivisions in suburbs like Rocklea were more affordable for working class families saving up to buy their own home. Dams built for drinking water and partial mitigation upstream were treated as magic totems that banished all future floods. Once suburbs were developed, with many different title holders, roads, electricity, and other infrastructure, they were extremely difficult to unsettle. Roads build a literal path dependency of the most material sort, made of gravel and bitumen. And a whole street full of families is a pretty powerful piece of social proof.

Real estate developers lied about flood risk. Politicians lied about the protection of dams. People lied to themselves about what living in a subtropical climate next to a winding tidal river means. Any child who has played with water pooling in the rain can tell you that a dam only protects you from rain that falls above it in the catchment. Queenslanders learnt from their environment in plenty of other ways. The traditional Queenslander house is on stilts, like the fishing villages on the subtropical Mekong.

People also lied to themselves because no political institution to mediate the river and the cities existed. The state government had the power but was at the wrong scale to manage subdivisions and urban flood maps. A unified Brisbane City Council was only formed in 1925; powers to resume land with houses on it was only granted in 1965, and has barely been used. In 2000 half a metre of buffer was added to the allowed height for housing; despite new data, the official flood level wasn’t changed. There’s been two major floods since then. In summary, people and governments haven’t done nothing, but they haven’t done much, and what has been done has always been late, disconnected from technical evaluation, politically easy, and on the cheap.

The climate change metaphor alarm is deafening.


Cook really wants to blame technocracy for this. She also really wants to whack governments for a failure to act on expert advice.

Cook repeatedly portrays the building of dams as a semi-tragic fall into a ‘hydraulic society’: “A reliance on technocratic solutions to control floods endures in South East Queensland, which has led to the misguided belief that floods will not happen again.” SEQ certainly became a hydraulic society, but surely the bigger problem is that it’s not very good at it. What’s so strange about these assertions is they are directly contradicted by adjacent text. This wasn’t a society that enthroned technical expertise, but that ignored it: the known expertise of local tribes, but also the colonial knowledge of flooding tropical rivers from India, and the repeated engineering reports describing what dams would and would not do. This wasn’t technocracy, it was presentocracy, government for the moment; procrastinatocracy; la-la-la-I’m-not-listening-ocracy.

While the expert historian Cook has an uneasy relationship with experts, not knowing whether she wants to excoriate them, use them, or whack politicians over the head with them, Neal Stephenson has no such ambivalence. He bloody loves experts. He loves the way they think. He loves the way they talk. He always has, ever since Snow Crash (1992) and Interface (1994):

“When lawyers and family members are present,” Mary Catherine said, “we say that the blue parts were damaged by the stroke and have a slim chance of ever recovering their normal function.”

“And amongst medical colleagues?”

“We say those parts of the brain are toast. Croaked. Kaput. Not coming back.”

And though he does love his scientists and doctors, he loves other forms of expertise too. In Termination Shock we have detailed descriptions of the problems faced by deep sea oil divers, wild pig hunters, and Queens of the Netherlands, to name just three.


Termination Shock is a geoengineering novel. It is not only a novel about consciously intervening in the planet’s climate, and the political and geophysical reaction to that, but one fairly comfortable with the trade-offs involved. The main character is a giant cannon that fires sulphur into the stratosphere, in a non-speaking part. In this near future, much like our climate present, energy transition solutions have been partial mitigations at best, sophisticated technical advice and lived local expertise has been ignored, and politicians and captains of industry have continuously lied about how protected we are. Impatient with the slow failures of multilateral technopolitics, a Texas oilman builds a big gun in the desert to at least apply some brakes to the heating feedback loop the world is now rollercoastering around. This is entirely grounded in our present technical understanding: atmospheric sulphur mimics the natural process of volcanic eruptions, and though not popular, is the geoengineering proposal that makes people fret the least. A little startup is trying it with hot air balloons.

It’s quite a fun book, in the way of good Stephenson novels, and I enjoyed it more than it perhaps deserves. It’s a flittingly and fittingly global novel. He even makes room for sports with ambiguously political consequences, and a violently repurposed cricket bat. Science fiction can fetishise the technical, and human power, but can also decentre the human in a positive way. It’s not an austere novel. It loves spending time with its hypercompetent human characters. But it loves the atmosphere, the eagles, and the drones too. A genre that can have terrain, inhuman intelligences, or machines as characters lets us put our human social obsessions into ecosystemic perspective. It can remind us that, as Cook’s title has it, a river might have a city problem.

In A River With A City Problem, Cook has written an opinionated history, one that argues for ending reckless urban expansion and conducting a managed retreat from building in the most flood-prone urban areas. She has a point. But implementing such a rollback would surely involve new regulations, the scrutiny of flood maps and models, the acquisition by government of title to existing lands, so that some houses can be demolished, and similar measures. These are surely also technocratic solutions. They are solutions that would make Brisbane a more successful hydraulic society, one where blood and treasure weren’t sacrificed to a particularly venal form of short term thoughtlessness and greed.

References

The Chomsky Reader – James Peck (1983)

Interface – Neal Stephenson and J. Frederick George (1994)

Hydrological Romance

Joan Didion – The White Album

Everyone that writes about Didion seems to pick her up because of her role as a cultural critic, and a bagful of other MFA student values. It’s true: her prose style is exquisite, and she is one of the few writers who can make reading about the sixties bearable. All well and good.

The moment I fell in love with her, however, was when when she confessed her obsession with Californian hydrological engineering. Her writing about the romance of infrastructure – traffic control, the Getty Museum, airports, shopping mall theory, and especially Hoover Dam – is unsurpassed. How I wish we had a twenty-first century Didion to anatomize our cities and sketch our broken unconscious geoengineering in sharp dark lines against a white background.

There Are No Good Philosophers of Software

There are no good philosophers of software.

There is some good philosophy inspired by software, or on the society created by software, or on how software changes the way we think.

There is no good philosopher of software construction.

That is the provocation I threw out on Twitter in response to Hillel Wayne‘s excellent prompt, two and a bit months ago.

The provocation got some attention, and what I was hoping for even more, some excellent responses, and suggestions for new things to read. It definitely highlighted some gaps on my side. But I honestly do feel there is a hole where the philosophy of software construction should be, and that the world feels this lack keenly, especially when we consider how ubiquitous software is in sensing, controlling, and mediating that world. So I’ve recapped the original thread below, as well as some good responses to the original prompt, especially ones that point in interesting new directions.


Deleuze and Guattari describe philosophy, as distinct from art and science, as the creation of concepts.

Cover of Wimsatt - Reengineering Philosophy for Limited Beings

Hillel (the OP) thinks deeply and reads broadly on software construction. I would argue that there is no writer creating deep concepts for software construction as part of a larger project.

This isn’t really an anomaly. It’s because there is very little philosophy of engineering.

The two really compelling books I would put in that category are Simondon’s On the Mode of Existence of Technical Objects and Wimsatt’s Re-Engineering Philosophy For Limited Beings. Simondon only had readily available English translations relatively recently, and should be read more. This book analyses how machines improve through being recomposed in their broader context (milieu). A key concept is concretisation: replacing theory with realized parts. Wimsatt is great and you don’t have the translation excuse. He also touches on software and programming, but is not really a philosopher of software. A key concept is “ontological slime”, spaces of symbolic irregularity which have no simple organizing theory.

Otherwise, there is philosophy which theorises software and uses its concepts to describe the world – such as Sadie Plant’s Zeroes and Ones, or Benjamin Bratton’s The Stack.

There is writing which gives a sense of what computation is – such as Hofstader’s Gödel, Escher, Bach. “Strange loop” counts as the creation of a concept, so it is philosophy, or maybe theory-fiction. Laurel’s Computers as Theatre also fits here.

Cover of Simondon - On The Mode of Existence of Technical Objects, Mellamphy trans.

There is philosophy on the ethics of software, which is mainly about telling programmers what to do. This is fine so far as it goes, but not really a philosophy of software, and often not very software-specific.

There is philosophy written by mathematicians and computer scientists on the impact of computing: Turing’s paper Computing Machinery and Intelligence, and many such contributions since.

There is philosophy which sees computation as fundamental to the universe and intelligence, like Reza Negarestani’s Intelligence and Spirit.

There is philosophy which uses computation, like the analytical philosophers who write Haskell and develop theory provers like Coq, or Peli Grietzer’s Theory of Vibe.

There are software design guides which attempt to go up a level of abstraction, like Ousterhout’s A Philosophy of Software Design.

Then there are drive bys and fragments. Yuk Hui’s On The Existence of Digital Objects builds on Simondon and is probably in the neighbourhood.

James Noble’s classic talk on Post-Postmodern Programming:

Some work on computational materials by Paul Dourish, like The Stuff of Bits, and blog posts on the topic by Harrison Ainsworth and Carlo Pescio.

Abramsky’s paper Two Questions on Computation. Some essays in the Matthew Fuller edited Software Studies: A Lexicon. Other uncollected ramblings on blogs and Twitter.

But there is no coherent project created by a philosopher of software, such that I could point to a book, or ongoing intellectual project, and say “start there, and see your everyday world of software construction differently”.


The Project

A number of people pointed out that this long list of negations didn’t include any positive statement of what I was looking for. Let me fix that. A good philosopher of software would have:

  1. A coherent project
  2. That is insightful on the machinic internals of software
  3. In communication with philosophy, and
  4. That recognises software design as a social and cognitive act.

Hopefully that explains why I left your favourite thinker out. At least for some of you.


Misses

There are a couple of big misses I made in this informal survey of software-adjacent philosophy. There are some other things I deliberately excluded. And there were things I never heard of, and am now keen to read.

I got mostly software people in my replies, and a number of them brought up William Kent’s Data and Reality. I have read it, I think after Hillel’s enthusiastic advocacy for it in his newsletter. ((Personally I thought it was ok but not mindblowing. However, I listened to it on audiobook, which is definitely the wrong format for it, and in one of the late, mutilated editions.)) I would place it as a book in the Philosophy of Information, albeit one not really in communication with philosophy more broadly. The Philosophy of Information is definitely a thing in philosophy more broadly, one most associated with the contemporary Oxford philosopher Luciano Floridi. You can get an overview from his paper What Is The Philosophy of Information? Floridi has written a textbook on the topic, and there’s also a free textbook by Allo et al, which is especially great if you’re poor or dabbling.

I think there’s a lot that software people can learn from pretty much anything in my list, and the Philosophy of Information does shed light on software, but it only rarely addresses point (2) in my criteria: it does not give insights into the machine internals of software. Some of it is tantalizingly close, though, like Andrew Iliadis’ paper on Informational Ontology: The Meaning of Gilbert Simondon’s Concept of Individuation.

I also should have mentioned the Commission on the History and Philosophy of Computing. Though it isn’t really a single coherent intellectual project in the sense I mean above, it is an excellent organisation, and the thinking that comes out of this stream is most reliably both in communication with philosophy and insightful about the machine internals of software. This paper by Petrovic and Jakubovic, on using Commodore64 BASIC as a source of alternative computing paradigms, gives a flavour of it.

It wasn’t mentioned in the thread or the responses, but I’ve recently been enjoying Brian Marick’s Oddly Influenced podcast, which takes a critical and constructive look at ideas from the philosophy of science, and how they can be related to software. Often, given his history (he is that Brian Marick), he’s reflecting on things like why Test Driven Development “failed” (as in, didn’t take over the world in its radical form), or how the meaning of Agile has morphed into a loose synonym of “software project management”. That makes it sound like just a vehicle for airing old grievances: it’s very far from that, and always constructive, thoughtful, and ranges across many interesting philosophical ideas.

I mentioned Media Theory thinkers via Software Studies (which even includes Kittler), but it’s worth noting that media theorists have been thinking about software quite seriously, and there is some useful dialogue between software construction and design theory, usually restricted to the context of user interfaces. Wendy Chun’s Programmed Visions and Lev Manovich’s Software Takes Command are good examples. I first read Simondon because Manovich recommended it in an interview I no longer have to hand. And other people gave Kittler’s There Is No Software paper the name check it deserves.

Others pointed out that the Stanford Encyclopedia of Philosophy is rigorous, free, and has an article on the Philosophy of Computer Science.


Glorious Discoveries

The discussion unearthed some books and papers that look pretty great, but I hadn’t even heard of, let alone read.

  • Kumiko Tanaka-Ishii – Semantics of Programming
  • Federica Frabetti – Software Theory: A Cultural and Philosophical Study
  • M. Beatrice Fazi – Contingent Computation: Abstraction, Experience, and Indeterminacy in Computational Aesthetics
  • Reilly – The Philosophy of Residuality Theory

And a suggested side-quest from philosophy of engineering

  • Walter G. Vincenti – What Engineers Know and How They Know It: Analytical Studies from Aeronautical History

A Conciliatory Postscript

We can imagine both a broad and a narrow definition of the Philosophy of Software. In the broad definition, most things in this post would be included. And yes, academics, if there were a hypothetical undergraduate subject on the philosophy of software, it would probably be best to use the broad definition, and expose young developers to a broad collection of ideas about the way software works in the world. So I am not completely sincere in my provocation, but I’m not utterly insincere either.

There are delicate and intimate connections between software construction and philosophy. Consider the tortured, necessary relationship that both philosophers and programmers have with names, with intuition, or with causality. The possibility of exploring these connections, and inventing new concepts, gets swamped. It gets swamped by illiteracy and thinkpiecery on the software side, and by mechanical ignorance on the philosophy side. The narrow definition of the philosophy of software, and the recognition that there is no coherent philosophy of software construction, brings it back into view.

The Platform Socialist Calculation Problem

The Socialist Calculation Problem refers to the difficulties planned economies have in co-ordinating production and consumption in even moderately complex societies. The Platform Socialist Calculation Problem occurs when computational resources are cheap, but inputs to the calculation are of low quality because of poorly structured social co-ordination.

One of the clearest and earliest presentations of the original Socialist Calculation Problem is by Hayek. With striking foresight, and concurrently with Shannon’s invention of information theory, Hayek pointed out that the economy is an immensely complicated computational problem. In a market economy, this computation is massively distributed, and mediated through the price mechanism, with many different people adjusting prices based on local information, and thereby propagating information on supply and demand throughout the entire system. 

Every attempt at socialist planning we’ve seen in practice has basically fallen over, due at least in part to this problem. The calculation is more or less a  linear programming problem with a truly enormous square matrix, every row and column of which is a different product in the economy. Even though computational power has increased by many orders of magnitude since the 1940s, there’s good arguments that it doesn’t match the staggering scale that such a combinatorial explosion requires. Cosma Shalizi’s informal, but very well-informed, left-wing re-presentation of the problem in terms of algorithmic complexity is a good summary.

Soviet central planning was the largest scale demonstration of this failure. For a fictional, but historically well-grounded, exploration of it, you really can’t go past Francis Spufford’s novel Red Plenty. It is beautiful, and computational, and sad. It weaves through the multiple perspectives of bureaucrats, engineers, farmers and intellectuals as they try to make the experiment of central planning work, and how it fails, on both the primitive computational hardware available, and the social gaming of the system that happens so that people can survive.

And yet.

A number of recent books and articles have made the argument that however scary the Big O notation for calculating a modern economy is in theory, in practice, the problem is tractable to a good enough approximation. The theoretical argument by people like Cottrell and Cockshott is that most of the goods across an entire economy are not needed as inputs to the entire economy, so most of the entries in the enormous matrices are zeroes. This simplifies the calculation. Building on that, the authors of The People’s Republic of Walmart argue in cheerful, accessible prose that giant computational planned economies have grown up in front of our eyes in the last twenty years. The most obvious of these are Walmart in the US, and globally, Amazon. The close links between WeChat, delivery systems, and the Chinese state is also notable. The basic idea of Platform Socialism is that a government could take over these economies and run them not according to wealth but according to need.

(You might also be asking: Why does it seem now like I’m reading a god-awful, capitalism-fellating airport business book? Suck it up. Socialism is about logistics, comrade.)

Phillips and Rozworski, The People’s Republic of Walmart

I think platform socialists may be onto something. We have so much more compute power now, and so much more comprehensive, cheaply accessible inventory, that I think there is a good argument that the computational aspects of the Socialist Calculation Problem are solvable in many practical settings, through good approximations. My view has shifted over the last twenty years. But so has the tech, and the logistical power of these companies; and I’ve also become aware how even in WWI the House of Morgan played a central planning role in the simplified war economy. 

But there’s a second aspect to the the problem of socialist planning, and that’s of needing an alternative input to prices to signal and resolve production and consumption needs and desires. This is the problem of feedback against material reality. Amazon and Walmart don’t suffer from this, because as big as they are, they still sit within a wider market economy, its prices, and the purchase decisions of hundreds of millions of consumers. 

The Soviet, and traditional planned economist, substitute for external prices, is that work units and/or living units go through a budget planning process on some annual cycle, then there are iterations that resolve conflicts, etc. I don’t see how this would be any less painful and detached from reality than the bureaucratic budgeting process in large corporations or government departments. I’ve read or listened to a number of expositions of such planning systems, and they are universally dire and unconvincing, usually in turgid Marxist prose that sounds like it was emptied out of the oil trap of an undermaintained Soviet tank, an expression of the authors’ secret wish for death over the prospect of living through departmental budget mud-wrestling splayed through every level of social interaction.

The answer given by PR Walmart is more interesting. They propose that something like product reviews at amazon.gov can be a more dynamic and useful input to the planning calculation, and the shadow prices therein. This would probably supplemented with lot of voting and discussion, often online.

The last two decades of platform experience is terribly reminiscent of just this kind of interaction. Instead of getting free or cheap stuff from governments in return for votes, we get free and cheap stuff from giant tech platforms in return for having ads served up to us. Generally, as a social form, it kind of sucks. In many ways it is worse than the pre-platform internet. As a result I am more pessimistic about socialist ratings being a solution than I would have been fifteen years ago. Make that economic ratings platform pervasive without some better structuring mechanisms and you won’t get farsighted climate solutions, you’ll get TikTok mobs stamping on a human Boaty McBoatface, forever.

This is an institutional design problem, in the same class of problems as parliamentary government itself: the Platform Socialist Calculation Problem. Feedback on material and social reality has to be timely, robust, and not vulnerable to spam and dumb mobs.

Socialism isn’t the only system with a calculation problem. Benjamin Bratton calls the failure of market economies to include inputs not easily represented as agent-centric numeric prices the Capitalist Calculation Problem. Climate change is the most obvious and urgent example. No agent represents the damage of excessive atmospheric carbon as a price, except, crudely and after much kicking, the state. Even then political will to set an explicit price reflective of the damage still isn’t there after more than thirty years of trying; what signals do exist are sent through carbon taxes and centrally planned net zero targets. So capitalism has a problem with feedback from social and material reality as well, though it has to be said that it kicks in at a much higher level of complexity.

The institutional nature of the problem suggests there may be constitutional solutions. I don’t really see any Western lefties working on it, except maybe two Marxist economists, and a few Ethereum DAO people (Distributed Autonomous Organizations). In China you have serious smaller scale experiments with social credit, but not with more material economic planning, that I’m aware of. The attempts to redirect monetary capital to social ends, like KlimaDAO, are more convincing (and Klima basically died). At any rate, across this selection, I have not been impressed by anything but the experimental gumption of the DAO soviets so far. One thing in their favour is that spinning up a small platform business/commune gives immediate feedback on and experience with these ideas; unlike the usual socialist fairy dust of “first we capture the state, then we get rid of capitalism, then we can invent the socialist economy”. Platform socialism that doesn’t learn how to help people to thrive from the ground up won’t be worth a damn.

We are learning to think of democracy not in terms of the history of an idea or the emergence of a social movement, but as the assembling of machines.

Mitchell, Carbon Democracy

References

Cottrell and Cockshott – Economic planning, computers and labor values

Hayek – Economics and Knowledge

Shalizi – In Soviet Union, Optimization Problem Solves You

Spufford – Red Plenty

Phillips and Rozworski – The People’s Republic of Walmart