Simulation as Deformation, or, the Role of Agent Based Modeling in Historical Archaeology

I’ll be at the Society for American Archaeology Annual Meeting next week, presenting in a session on  ‘modeling dynamics in coupled social-natural systems’, and in another on network methods for archaeology. For me, these two approaches are hard to tease apart. Below you’ll find my draft for the modeling session.

Over ten years ago, J.P. Marney and Heather Tarbert published a paper in the journal of artificial societies and social simulation called, ‘Why do simulation? Towards a working epistemology for practitioners of the dark arts’.

Today, we’re discussing the potential of modeling for exploring human-environmental interactions in a wide variety of contexts, across an enormous span of time. We’re thinking about society and ecosystems as highly complex systems, where material, energy, and information flows through massively interconnected positive and negative feedback loops.

A dark art, indeed.

Coming to simulation from a background in the humanities – especially Roman archaeology and ancient history – means that my work is oftentimes viewed askance. There are very deep reasons for this, beyond the usual caricatures of ‘social science vs humanities’. There’s a deep history in Western culture surrounding the ways we try to know the future. I generalize horribly, but it seems to me to come down to the difference between the priest and the magician in Greco-Roman society. The priest examines the entrails, watches the flight of birds, performs the rituals correctly, and is rewarded with some glimpse into divine will. The magician, on the other hand, compels the spirits to visit her, through spells and carefully guarded craft, and wrests the certain knowledge of what is to come by dint of her own skill. The priest is ‘fas’, whereas the magician is ‘nefas’, the root of our word ‘nefarious’, meaning contrary to divine law. So too the simulationist.

In the humanities, when we are concerned about the human past, we read the texts closely, we follow our rituals correctly, and we are rewarded with a story about history; in simulation, our skill enables us to raise the dead, putting them through their paces, and we are rewarded with not just one history, but an entire landscape of possible histories.

Indeed, when I talk to humanists about simulation, I sometimes call it ‘practical necromancy’ for this very reason. Classicists don’t generally like what I do, although ancient historians are sometimes ok with it, and archaeologists (non Roman archaeologists) usually just smile and nod and say, ‘yes, so what?’

I have been creating simulations of various aspects of Greco-Roman antiquity for a while now. What I’d like to speak about to you today, is the degree to which these simulations have found traction amongst ancient historians, and what I’ve learned about how to incorporate agent based modeling into the exploration of a historical society like that of the ancient Mediterranean.

The first issue is that there is a sense that it is not at all needed. ‘Agent modeling might be useful for those non-literate societies, but we’ve got more than enough materials to work on here, Shawn’ is the gist of a conversation I once had with a distinguished Romanist. In Marney and Tarbert’s piece, they argue that simulation is perhaps the only way of addressing situations:

  1. Where there are complex emergent global processes and dynamics from simple local behaviour.
  2. Where coordinated global outcomes are generated by the heterogeneous local decision rules. [amongst others]

…which describes Rome pretty nicely. Or human culture more generally.

The next criticism that my distinguished Romanist colleague raised was that my models – any computational model – was simply tautological, that we only get out what we get in. This is such a weary chestnut to deal with, and perhaps folks in this room don’t need reminding of it, for it fundamentally mis-understands a significant characteristic of complex systems – that the dynamics of one level of organization do not lead linearly or necessarily imply the dynamics of another level. Hence if we are interested in culture, we model at the level of an individual. Thus what comes out of the model is the emergent byproduct of countless individual interactions. What comes out is definitely not what went in.

More Roman historians and archaeologists need to be reading the literature of complex systems studies, I think.

A final issue is about what, exactly, we are modeling. Are we really raising the dead, and simulating the past? No, we are not. We are actually creating zombies. Normally, creating zombies never ends well, but as long as they don’t escape from our computers, all should be ok.

I call these autonomous software agents ‘zombies’ for the very good reason that I need to clearly specify what it is I believe about some phenomenon in the past in order for them to perform that behaviour. What I end up simulating then is not the past, but the story I am telling about the past. This lets me escape nearly all of the criticisms that my colleagues in the humanities raise about this dark art of simulation.

If I am simulating in effect a historiography, then the results, the landscape of possible emergent outcomes, are the consequences of that story I am telling about the past. Simulation becomes a way for me to explore the unintended outcomes about my beliefs about the past. I perform the past; I deform it.

The method forces me to become clear about what it is I believe about the past in an utterly transparent way. If I cannot encode those beliefs, then clearly I need to think more deeply. I use Netlogo for my agent modeling for a couple of reasons. One, its near-english syntax makes it easier for me to develop simulations.  It also makes it possible for my colleagues to examine the procedural rhetoric of my simulation as well. A simulation is not complete until somebody else opens the hood and examines your code for your mistakes, your assumptions, and for the rhetorics hidden therein. I often tell my students that unless they can look at the code for themselves, they have no reason to believe the results of a simulation. My students are history students, without any great affinity for computing – but with a bit of help, they can easily flow-chart a Netlogo simulation to get a sense of what is going on.

(This, incidentally, is what excites me about the movement towards data-as-publication. I am beginning to put all of my models on Figshare to allow this kind of examination.)

The end result then is that I have found that I have to keep my models as tightly focused as possible. If my model becomes too ambitious, I typically have had two problems. One, it becomes difficult for me to tell the story of what is going on in my model, to tease apart the critical interactions that are producing the landscape of possibilities that have emerged. Two, there is little engagement with my code by those who could best critique it, as it becomes seemingly too complex.

Let me give you an example. In my PhD research, I became interested in the social networks surrounding landholding in the immediate vicinity of Rome during the first three centuries AD. I did some network analysis of this data (stitched together from the epigraphy of stamped bricks), but I wanted to reanimate these patterns. There are many episodes in Roman history of elite self-extermination, as different factions vying for power eliminate rivals through murder, forced suicide, or exile. How much disruption could these networks endure?  Thus, I became interested in the sources of civil violence in the Roman world.

I created a simulation where a population of agents were interlinked in the patterns suggested from the archaeology. Over this network would flow prestige, gifts, and money as the agents vied for status, drawing on the literature connected with the Roman tradition of the ‘salutatio’, or morning greeting given by a client to his patron(s). No patron has to accept a client who is not suitably prestigious, no one gains prestige without clients, thus shutting individuals out of the networks: the source for civil violence in the Roman world, I argued.

I was able to put these agents in a world where the economy ranged from one where everything was roses, to one where everything was sackclothes and ashes; I imagined that there would be no violence in the rose-world, and lots of violence in the sackclothes-world. And yes, this is duly what I saw, but there were interesting, non-predicted bouts of violence where there should be peace, and peace where there should be violence.

Teasing all of this apart became the subject of a journal article – a very long, tedious, article. Google scholar tells me that this article has had precisely zero impact. And I’m quite certain that no one has engaged with the code.

Another model I created has had quite a different trajectory. In this model, I simulate a very excruciatingly simple mechanic representing the contentious process of ‘Romanization’. In my model, which is based on an even simpler model of disease transmission, an agent is ‘non-romanized’ until they run into an agent who has become ‘romanized’. Poof, the agent now becomes Romanized. Zombies indeed. (And of course, there are models of zombie infection too! Now we’re just getting recursive).

The key element here was that the agents were not wandering around in an amorphous space. Rather, they were constrained to move along the paths suggested by the third century Antonine Itineraries, the lists of towns one would use in order to figure out how to get from point A, to point B. To get to Honolulu from Ottawa, go to Toronto, Winnipeg, Calgary, Vancouver, Seattle, Honolulu.

Thus, I was interested in exploring the consequences of this list-like, networked conception of geographic space. I could measure the amount of model time it took for everyone in the model to become ‘Romanized’ as they moved over the network of Roman Spain, versus Roman Britain, versus Roman Gaul, versus Roman Italy. I graphed these results, and the shape of this diffusionist model implied something about the way ideas of Romanness would penetrate, and how deeply, in these different regions. Thus the model then became a guide for looking at the archaeology in a new way.

This model, according to Google Scholar, has had much much more traction. Even better, the code has been queried, taken apart, and made better, being used in both teaching contexts, and in others’ research.

Smaller, more constrained models, can have bigger impact, I think – at least in the humanities.

This use of agent based simulation fits into a kind of experimental archaeology mindset, of building as a way of knowing – indeed, it also puts it in the developing traditions of the digital humanities. Trevor Owens, a digital archivist with the Library of Congress, recently blogged about the mutual incomprehension of computer scientists and humanists, and it’s worth quoting him in full:

“[…]I don’t think the issue here is different ways of knowing, incompatible paradigms, or anything big and lofty like that. I think the issue at the heart of this back and forth dialog is about two different contexts. This is about what you can do in the generative context of discovery vs. what you get can do in the context of justifying a set of claims.”

What Owens argues is that, in the humanities, computational approaches are best suited for ‘the generative world of discovery’. He continues:  “If you aren’t using the results of a digital tool as evidence then anything goes. More specifically, if you aren’t trying to attribute particular inferential value to a particular process that process is simply producing another artifact which you can then go about considering, exploring, probing and analyzing.  I take this to be one of the key values of the idea of “deformance.” The results of a particular computational or statistical tool don’t need to be treated as facts, but instead can be used as part of an ongoing exploration.”

Because we are not simulating the past, but rather instantiating what we believe to be true about the past in a computer model, my sense is that agent modeling will take off in archaeology when it ceases to be about the context of trying to justify our stories about the past, but rather for generating new stories, new ways of looking at our evidence about the past. And the models need to be small-ish, digestible, and not needing a team of researchers to explore (to build, well, that’s another matter I suppose).

So here are two new models I am working on, to put my money where my mouth is.

I’ve recently been reading Ian Hodder’s ‘Entangled: An archaeology of the Relationships between Humans and Things’. In the book, Hodder develops an argument for looking at things not just as if they had agency, but rather all tangled up in making humans human. He then offers up, by way of a methodological approached to this entangled perspective, a ‘tanglegram’, where all of the dependences and dependencies between humans and things at Catalhoyuk are mapped. He goes on to talk about flows of information or energy through these entanglements.

This to me seems to be a prime candidate for the kind of simulation that I do. If we can tie material culture, place, and humans together in this kind of tanglegram, what are the implications for energy flow? What are the emergent consequences? I begin by turning his figure 9.2 into a network diagram. I use a code snippet from Netlogo to import this same information into Netlogo, transforming the nodes into active agents connected by active links.

Because of the modularity of Netlogo, I don’t necessarily have to begin from scratch to explore the dynamics of this entanglement. Instead, I turned to my old friend, the virus-on-a-network, and gave it the tanglegram to run on.

The question becomes, well, so what? What does this prove? Right now, I’m working on that. On first blush, there seems to be a behaviour space where this tanglegram, this entangled pattern of things and humans, leads to extreme stability over most parameters (ie, ‘life’ continues), and a small window that leads to paralysis (ie, the ‘life’ of the model stops). That perhaps could be the beginning of a conversation where we look at entanglements at other times and places, modeling their dynamics, coming up with a comparative study of what patterns lead to change and transformation.

In my other model, my zombies represent amphorae type. Here, I’m interested in why different kinds of amphorae styles in the Aegean converge – and why some types are always unique. In this model, I have a population of amphorae which are all different. There are humans who flit into this world, and throw away the amphorae that (for whatever reason) are undesireable. Amphorae reproduce, with a certain amount of mutation. Over time, and without centralized direction, there is a convergence of different amphorae types (having different origins, different clays) to share the same outward stylistic characteristics.

This model is still undeveloped; it tells a story of stylistic evolution where it is the amphorae themselves that do the evolving. The stories we often tell, when it comes to pottery styles (and perhaps this is more of a problem in the classical world than elsewhere; I do not know), often seem to me to be a kind of just-so story, of how the camel got its hump. Whether or not you agree with the story I tell in this model, one can at least see how it works, and change the code to tell a better story, using the emergent results to generate a new perspective.

To conclude, then, I think you’ll all agree that we can find archaeological patterns and reanimate some kind of dynamic on those patterns.

But what I’m trying to suggest to you today, is that we need to resist building extremely complex models on top of those archaeological patterns. There’s lots of low-hanging fruit around, when it comes to agent based models. Small models, tightly focussed models, allow us to iterate quickly, to develop quickly, and to use multiple lines of attack on various problems.

If we want buy-in from our other colleagues interested in the human past – whether historians, historical archaeologists, classicists, or ancient historians – then the models have to be immediately digestible, and we have to acknowledge that we use these as generative, as a way of ‘deforming’ our perspectives and our own beliefs about the past, to develop new perspectives and insights.

[edited April 2 to reduce redundancies, fix awkwardness, and to fit it into the 15 minute time slot allotted to me. 300 words removed.]

Practical Necromancy talk @Scholarslab – part I

Below is a draft of the first part of my talk for Scholarslab this week, at the University of Virginia. It needs to be whittled down, but I thought that those of you who can’t drop by on Thursday might enjoy this sneak peak.

Thursday, March 21 at 2:00pm
in Scholars’ Lab, 4th floor Alderman Library.

When I go to parties, people will ask me, ‘what do you do?’. I’ll say, I’m in the history department at Carleton. If they don’t walk away, sometimes they’ll follow that up with, ‘I love history! I always wanted to be an archaeologist!’, to which I’ll say, ‘So did I!’

My background is in Roman archaeology. Somewhere along the line, I became a ‘digital humanist’, so I am honoured to be here to speak with you today, here at the epicentre, where the digital humanities movement all began.

If the digital humanities were a zombie flick, somewhere in this room would be patient zero.

Somewhere along the line, I became interested in the fossilized traces of social networks that I could find in the archaeology. I became deeply interested – I’m still interested – in exploring those networks with social network analysis. But I became disenchanted with the whole affair, because all I could develop were static snapshots of the networks at different times. I couldn’t fill in the gaps. Worse, I couldn’t really explore what flowed over those networks, or how those networks intersected with broader social & physical environments.

It was this problem that got me interested in agent based modeling. At the time, I had just won a postdoc in Roman Archaeology at the University of Manitoba with Lea Stirling. When pressed about what I was actually doing, I would glibly respond, ‘Oh, just a bit of practical necromancy, raising the dead, you know how it is’. Lea would just laugh, and once said to me, ‘I have no idea what it is you’re doing, but it seems cool, so let’s see what happens next!’

How amazing to meet someone with the confidence to dance out on a limb like that!

But there was truth in that glib response. It really is a form of practical necromancy, and the connections with actual necromancy and technologies of death is a bit more profound than I first considered.

So today, let me take you through a bit of the deep history of divination, necromancy, and talking with the dead; then we’ll consider modern simulation technologies as a form of divination in the same mold; and then I’ll discuss how we can use this power for good instead of evil, of how it fits into the oft-quote digital humanities ethos of ‘hacking as a way of knowing’ (which is rather like experimental archaeology, when you think about it), and how I’m able to generate a probabilistic historiography through this technique.

And like all good necromancers, it’s important to test things out on unwilling victims, so I would also like to thank the students of HIST3812 who’ve had all of the ideas road-tested on them earlier this term.

Zombies clearly fill a niche in modern western culture. The president of the University of Toronto recently spoke about ‘zombie ideas’ that despite our best efforts, persist, infect administrators, politicians, and students alike, trying to eat the brains of university education.

Zombies emerge in popular culture in times of angst, fear, and uncertainty. If hollywood has taught us anything, it’s that Zombies are bad news. Sometimes the zombies are formerly dead humans; sometimes they are humans who have been transformed. Sometimes we deliberately create a zombie. The zombie can be controlled, and made to do useful work; zombie as a kind of slavery. More often, the zombies break loose, or are the result of interfering with things humanity was wont not too; apocalypse beckons. But sometimes, like ‘Fido’, a zombie can be useful, can be harnessed, and somehow, be more human than the humans. [Fido]

If you’d like to raise the dead yourself, the answer is always just a click away [ehow].

There are other uses for the restless dead. Before our current fixation with apocalypse, the restless dead could be useful for keeping the world from ending.

In video games, we call this ‘the problem space’ – what is it that a particular simulation or interaction is trying to achieve? For humanity, at a cosmological level, the response to that problem is through necromancy and divination.

I’m generalizing horribly, of course, and the anthropologists in the audience are probably gritting their teeth. Nevertheless, when we look at the deep history and archaeology of many peoples, a lot can be tied to this problem of keeping the world from ending. A solution to the problem was to converse with those who had gone before, those who were currently inhabiting another realm. Shamanism was one such response. The agony of shamanism ties well into subsequent elaborations such as the ball games of mesoamerica, or other ‘game’ like experiences. The ritualized agony of the athlete was one portal into recreating the cosmogonies and cosmologies of a people, thus keeping the world going.

The bull-leaping game at Knossos is perhaps one example of this, according to some commentators. Some have seen in the plan of the middle minoan phase of this palace (towards the end of the 2nd millenium BC) a replication in architecture of a broader cosmology, that its very layout reflects the way the Minoans saw the world (this is partly also because this plan seems to replicate in other Minoan centres around the Aegean). Jeffrey Soles, pointing to the architectural play of light and shadow throughout the various levels of Knossos argues that this maze-like structure was all part of the ecstatic journey, and ties shamanism directly to the agonies of sport & game in this location. We don’t have the Minoans’ own stories, of course, but we do have these frescoes of bull-leaping, and other paraphernalia which tie in nicely with the later dark-age myths of Greece

So I’m making a connection here between the way a people see the world working, and their games & rituals. I’m arguing that the deep history of games  is a simulation of how the world works.

This carries through to more recent periods as well. Herodotus wrote about the coming of the Etruscans to Italy: “In the reign of Atys son of Menes there was a great scarcity of food in all Lydia. For a while the Lydians bore this with patience; but soon, when the famine continued, they looked for remedies, and various plans were suggested. It was then that they invented the games of dice, knucklebones, and ball, and all the other games of pastime, except for checkers, which the Lydians do not claim to have invented. Then, using their discovery to forget all about the famine, they would play every other day, all day, so that they would not have to eat… This was their way of life for eighteen years. Since the famine still did not end, however, but grew worse, the king at last divided the people into two groups and made them draw lots, so that one should stay and the other leave the country’.

Here I think Herodotus misses the import of the games: not as a pasttime, but as a way of trying to control, predict, solve, or otherwise intercede with the divine, to resolve the famine. In later Etruscan and Roman society, gladiatorial games for instance were not about entertainment but rather about cleansing society of disruptive elements, about bringing everything into balance again, hence the elaborate theatre of death that developed.

The specialist never disappears though, the one who has that special connection with the other side and intercedes for broader society as it navigates that original problem space. These were the magicians and priests. But there is an important distinction here. The priest is passive in reading signs, portents, and omens. Religion is revealed, at its proper time and place, through proper observation of the rituals. The magician is active – he (and she) compels the numinous to reveal itself, the spirits are dragged into this realm; it is the magician’s skill and knowledge which causes the future to unfurl before her eye.

The priest was holy, the magician was unholy.

Straddling this divide is the Oracle. The oracle has both elements of revelation and compulsion. Any decent oracle worth its salt would not give a straight-up answer, either, but rather required layers of revelation and interpretation. At Delphi, the God spoke to the Pythia, the priestess, who sat on the stool over the crack in the earth. When the god spoke, the fumes from below would overcome her, causing her to babble and writhe uncontrollably. Priests would then ‘interpret’ the prophecy, in form of a riddle.

Why riddles? Riddles are ancient. They appear on cuneiform texts. Even Gollum knew what a true riddle should look like – a kind of lyric poem asking a question that guards the right answer in hints and wordplay.

‘I tremble at each breath of air/ And yet can heaviest burders bear. [implicit question being asked is who am I? – water]

Bilbo cheated.

We could not get away from a discussion of riddles in the digital humanities without of course mentioning the I-ching. It’s a collection of texts that, depending on dice throws, get combined and read in particular ways. Because this is essentially a number of yes-or-no answers, the book can be easily coded onto a computer or represented mechanically. In which case, it’s not really a ‘book’ at all, but a machine for producing riddles.

Ruth Wehlau writes, “Riddlers, like poets, imitate God by creating their own cosmos; they recreate through words, making familiar objects into something completely new, rearranging the parts of pieces of things to produce creatures with strange combinations of arms, legs, eyes and mouths. In this transformed world, a distorted mirror of the real world, the riddler is in control, but the reader has the ability to break the code and solve the mystery (wehlau 1997)

Riddles & divination are related, and are dangerous. But they also create a simulation, of how the world can come to be, of how it can be controlled.

One can almost see the impetus for necromancy, when living in a world described by riddles. Saul visits the Witch of Endor; Oddyseus goes straight to the source.

…and Professor Hix prefers the term ‘post mortem communications’. However you spin it, though, the element of compulsion, of speaking with the dead, marks it out as a transgression; necromancers and those who seek their aid never end well.

It remains true today, that those who practice simulation, are similarly held in dubious regard. If that was not the case, tongue in cheek articles titles such as this would not be necessary.

I am making the argument that modern computational simulation, especially in the humanities, is more akin to necromancy than it is to divination, for all of these reasons.

But it’s also the fact that we do our simulation through computation itself that marks this out as a kind of necromancy.

The history of the modern digital computer is tied up with the need to accurately simulate the yields of atomic bombs,  of blast zones, and potential fallout, of death and war. Modern technoculture has its roots in the need to accurately model the outcome of nuclear war, an inversion of the age old problem space, ‘how can we keep the world from ending’ through the doctrines of mutually assured destruction.

The playfulness of those scientists, and the acceleration of hardware technology lead to video games, but that’s a talk for another day (and indeed, has been recently well treated by Rob MacDougall of Western University).

‘But wait! Are you implying that you can simulate humans just as you could individual bits of uranium and atoms, and so on, like the nuclear physicists?’ No, I’m not saying that, but it’s not for nothing that Isaac Asimov gave the world Hari Seldon & the idea of ‘psychohistory’ in the 1950s. As Wikipedia so ably puts it, “Psychohistory is a fictional science in Isaac Asimov’s Foundation universe which combines history, sociology, etc., and mathematical statistics to make general predictions about the future behavior of very large groups of people, such as the Galactic Empire.”

Even if you could do Seldon’s psychohistorical approach, it’s predicated on a population of an entire galaxy. One planetfull, or one empire-full, or one region-full, of people just isn’t enough. Remember, this is a talk on ‘practical’ necromancy, not science-fiction.

Well what about so-called ‘cliodynamics’? Cliodynamics looks for recurring patterns in aggregate statistics of human culture. It may well find such patterns, but it doesn’t really have anything to say about ‘why’ such patterns might emerge. Both psycohistory and cliodynamics are concerned with large aggregates of people. As an archaeologist, all I ever find are the traces of individuals, of individual decisions in the past. It always requires some sort of leap to jump from these individual traces to something larger like ‘the group’ or ‘the state’. A Roman aqueduct is, at base, still the result of many individual actions.

A practical necromancy therefore is a simulation of the individual.

There are many objections to simulation of human beings, rather than things like atoms, nuclear bombs, or the weather. Our simulations can only do what we program them to do. So they are only simulations of how we believe the world works (ah! Cosmology!). In some cases, like weather, our beliefs and reality match quite well, at least for a few days, and we know much about how the variables intersect. But, as complexity theory tells us, starting conditions strongly affect how things transpire. Therefore we forecast from multiple runs with slightly different starting conditions. That’s what a 10% chance of rain really means: We ran the simulation 100 times, and in 10 of them, rain emerged.

And humans are a whole lot more complex than the water cycle. In the case of humans, we don’t know all the variables; we don’t know how free will works; we don’t know how a given individual will react; we don’t understand how individuals and society influence each other. We do have theories though.

This isn’t a bug, it’s a feature. The direction of simulation is misplaced. We cannot really simulate the future, except in extremely circumscribed situations, such as pedestrian flow. So let us not simulate the future, as humanists. Let us create some zombies, and see how they interact. Let our zombies represent individuals in the past. Give these zombies rules for interacting that represent our best beliefs, our best stories, of how some aspect of the past worked. Let them interact. The resulting range of possible outcomes becomes a kind of probabilistic historiography. We end up with not just a story about the past, but also about other possible pasts that could have happened if our initial story we are telling about how individuals in the past acted is true, for a given value of true.

 We create simulacra, zombies, empty husks representing past actors. We give them rules to be interpreted given local conditions. We set them in motion from various starting positions. We watch what emerges, and thus can sweep the entire behavior space, the entire realm of possible outcomes given this understanding. We map what did occur (as best as we understand it) against the predictions of the model. For the archaeologist, for the historian, the strength of agent based modeling is that it allows us to explore the unintended consequences inherent in the stories we tell about the past. This isn’t easy. But it can be done. And compared to actually raising the dead, it is indeed practical.

[and here begins part II, which runs through some of my published ABMS, what they do, why they do it. All of this has to fit within an hour, so I need to do some trimming.]

[Postscriptum, March 23: the image of the book of random digits came from Mark Sample’s ‘An Account of Randomness in Literary Computing, & was meant to remind me to talk about some of the things Mark brought up. As it happens, I didn’t do that when I presented the other day, but you really should go read his post.]