Horror


These nets can't be replaced

These nets can’t be replaced

Next weekend I will be running another short adventure in my Flood campaign world, and the adventure trigger will be the arrival near the Hulks of one of the drowned earth’s most potent environmental threats: the Miasma.

The Miasma is a special type of jellyfish swarm that can only exist in the depopulated aquatic deserts of the world ocean. With almost all land sunk thousands of metres below the surface of the ocean there are very few areas where fish can spawn and thrive, and huge expanses of the earth’s surface are too far from these spawning areas for larger fish to be able to survive in them. These areas, too far from fish populations to support any biodiversity larger than plankton, have become a strange and top-heavy ecosystem. Aside from occasional large predators migrating through, these empty wilds have become the domain of the grazers: whales, basking sharks and jellyfish that thrive on the plankton in surface waters. But the most efficient and terrifying of these open ocean grazers are the jellyfish, which sometimes by happenstance gather together into huge swarms, sometimes tens of kilometres across, that dominate the open ocean wherever they drift, and leave a terrible path of destruction behind them, like enormous army ants of the open seas.

The survivors of human civilization live in terror of these jellyfish swarms, which they call miasma. These swarms, though composed primarily of plankton-eating drifters, are also usually heavily infested with giant, slow-moving grazers and a large number of deadly predatory jellyfish. They consume everything in the ocean around them, and are an existential threat to the fishing grounds that most human communities zealously nurture. They also transform the atmosphere and sea around the swarm, turning the ocean into a kind of limpid swamp that offends the sensibilities of drifting raft communities, and is deeply toxic.

Most raft communities float on oceans more than 1000 m deep, and are as vulnerable to the currents as a jellyfish swarm. To maintain a reliable ocean food supply, the rafters carefully and systematically build up local ecosystems, which in turn feed a network of wild distant ecosystems. In areas like the Gyre, where a relatively large number of human communities live in close proximity, this produces a wider network of ecosystems that spread beyond the immediate vicinity of the rafts and support wildlife somewhat akin to the offshore ecosystems of the old world. But these systems are fragile, and require careful stewarding by the rafters. Every human community that floats on the waves has some system of undersea support for local fish life, that may be as simple as a series of sub-surface floating breeding beds made of old tires, or a complex architecture of reed beds and corals under the hulls and keels of the rafts. In the Gyre, where human communities are structurally large and complex, there are a host of shallow underwater structures that are thriving with sea life that once would have only existed at the shoreline: lobsters in nooks and crannies of the rafts, oysters growing on the old submarine superstructure that gives the larger rafts stability, and small fish breeding amongst every chain link, tyre underside, and submerged rope knot in the entire archipelago of floating human life. There is even a small community of sea lions on the Hulks. Every underwater structure is covered in sea weeds, and kelp grows downward and outward from the edges of the rafts. Further out, larger fish prey on the smaller fish, moving nomadically between communities and eating the larger fish that live further out from the human settlements. The residents of the Hulks put a lot of time into the care of these undersea communities, enforcing strict waste disposal rules and carefully tending weedbeds and corals to ensure that the ecosystem is balanced and thriving.

A miasma can end 100 years of this careful management and stewarding in a few days of insensate gorging. When the miasma overwhelms a human community it will consume everything that floats free in the water. All plankton and feeder fish will be sucked up by the filter feeders, and the larger fish will be found and killed by the predatory jellies. Sea mammals in the open water when the miasma hits will be entangled and drowned, or slowly paralyzed by the accumulation of stingers. The water the miasma carries with it is devoid of oxygen and highly acidic, and if the miasma is moving too slowly on the currents the effect of this tide of pollution will be to destroy all corals and weeds in the raft and its vicinity. Lobsters, crabs, prawns and octopuses that might be untouched by predatory jellies will suffocate in the miasma, and once the swarm has passed all that remains will be dead and rotting sea life. Sometimes the miasma does not pass, and the weight of its central parts will drag the raft community with it, leading to starvation and death for all those onboard. If the rafters do not realize the danger, escape may be impossible: small sailing ships do not have the power to escape the weight of jellyfish in the water, and most smaller powered vessels will have their rudders and rotors entangled, stalling them in the water. Once trapped in the sea of deadly stingers, there is no way to swim out. There are many stories of miasmas that are haunted with the ghosts of lost rafts and ships, and many people claim that they are more dangerous for a small raft community than the ocean’s storms.

There is no herding these slow beasts

There is no herding these slow beasts

The miasma carries its own meteorological phenomena, that in large part are the reason for its name. On the edge of the swarm freely moving predatory jellyfish hunt anything that moves, but in the body of the swarm are primarily filter-feeding drifters, some of them larger than a small boat. Near the centre of this gelid mass the sea becomes so thick with packed-together jellyfish that it is almost solid, and devoid of any other life. When the jellyfish here become too densely packed or when the swarm becomes too large, they die and rot, creating a fetid and stinking swamp of rot. The largest swarms becalm the sea around them, changing its texture so that waves are dampened and currents stop; there in the middle of this becalmed and dense swamp-like realm, the sun beats down and the sea heats up, giving off a stinking and rotten cloud of steam and heat haze that obscures the surface of the water. Most swarms above a certain size carry with them a thick, swamp-like haze that is impenetrable on all but the stormiest of days. Rumour has it that the largest swarms break up under their own meteorological effects: the heat from the centre creates storm cells that scatter the swarm and cast it about into smaller swarmlets. Usually one can smell the swarm before one sees it, because tendrils of this rot drift ahead on the currents. If one is lucky the swarm will be large enough and dense enough that the rafts can be moved out of the currents, or some kind of defenses prepared. But for the larger swarms, or for rafts adrift on a strong current, there is no defense: only prayer.

The miasma leaves problems long after its passing. In addition to destroying all marine life attached to the rafts, it will leave polyps on every surface, and every part of the underside of the rafts needs to be scoured clean to ensure that the raft does not, a year later, become the centre of its own swarm. Jellyfish will also destroy nets and befoul important undersea structures, their weight breaking precious ropes and chains, blocking inlets for power and water desalinators, and poisoning the water as they die and rot. Delicate floating solar panels will be damaged or lost, and the acidic water may do irreparable damage to the oldest and most fragile parts of a long-lived raft community. Small boats may be carried away under the pressure of the swarm, or their propellors and other underwater components entangled and ruined. The raft will also find itself floating in an open sea devoid of life, and any community that is used to catching fish in the immediate vicinity of its decks will need to find a way to venture further afield for food until the ecosystem rights itself – if ever it does. Most likely, though, the local ecosystem will be destroyed, and the rafters will need to make a call on other human communities they know to obtain new stocks of coral, shellfish and weed to regrow their precious ecosystem. Usually such help comes with a high price, that many communities cannot pay: they will then break up, and individual rafts will be forced to brave the open ocean as they seek new fishing grounds or functioning communities to join.

The larger communities are the most vulnerable, because they cannot move. These communities have found ways to ride out the miasma, or even to divert it, but their efforts almost always come with a great cost, in equipment and often lives. Where once jellyfish were annoying pests at the beach, they have now become the greatest terror of the open ocean, and for a community like the Hulks the onset of a major miasma is a threat that most of its residents will only ever see once in their lifetimes – if they survive it …

I’ve recently been building a fairly complex series of Bayesian spatial regression models in BUGS, and thought I’d share some tips based on hard won experience with the models. The various BUGS packages have the most cryptic and incoherent error messages of any stats software I have ever worked with, and although various Bayesian boosters claim that their modeling approach is intuitive, in my opinion it is the exact opposite of intuitive, and it is extremely hard to configure data for use in the packages. Furthermore, online help is hard to find – google an error message and you will find multiple websites with people asking questions that have never been answered, which is rare in the modern world. I take this as a sign that most people don’t understand the error message, and indeed the BUGS manual includes a list of errors with “possible interpretations” that reads more like the I Ching than a software guide. But Confucius say Enlightenment is not to be found in Black Box Pascal, so here is my experience of BUGS.

The models I’m running are complex, with nested conditional autoregressive structures and the higher level having more than 1000 areas with complex neighbour relationships, and millions of observations. I originally ran them on a completely hideous Hewlett Packard laptop, with 4 cores and 8Gb of RAM. I subsequently upgraded to a Dell Workstation (joy in comparison to HP’s clunky root-kitted horror) with 8 cores and 16Gb of RAM; I’m not sure that hardware is the main barrier to performance here though …

The HP machine had a secret administrator account (arseholes!) so I couldn’t install winBUGS[1], so I started off running OpenBUGS called through R’s R2OpenBUGS package running in RStudio. I use R to set up the data and initial values, because I can’t think of any other way to load millions of observations into a text file without going stir crazy. But when I call OpenBUGS it just hangs … no error messages or any other kind of indication of what is going on. I also can’t tell if it is happening at the data loading or compiling or inits stage.

Some digging around online and I found an old post by Andrew Gelman, observing that BUGS does not work well with “large datasets, multivariate structures, and regression coefficients.”

i.e. pretty much every statistical problem worth doing. Gelman also notes that “efficiently-programmed models can get really long, ugly, and bug-prone,” which seems like a contradiction in terms.

Anyway, noting that my data was large, with multivariate structures and regression coefficients, I thought maybe I should tone it down a bit so I tried using a higher level of spatial heirarchy, which reduces the adjacency matrix by an order of magnitude. Still no dice. It was at this point that I upgraded to the bigger computer.

On the bigger computer the smaller model actually worked! But it didn’t work in the sense that anything meaningful came out of it … It worked in the sense that it reported a completely incomprehensible bug, something like a node having an invalid value. I tried multiple different values and nothing worked, but somewhere on the internet I found someone hinting that you should try running BUGS directly rather than calling through R, so I tried this … having created the data in R, I killed OpenBUGS then opened the OpenBUGS interface directly and input the model, then the data, using the text files created by R[2].

When I did this I could step through the process – model was syntatically correct, then model failed to compile! Given that loading inits comes after compilation, an error telling me that I had the wrong initial value seems a bit misleading… in fact I had an “index out of range” error, and when I investigated I found I had made a mistake preparing one part of the data. So where the actual error was “the model can’t compile because you have provided the wrong data,” when called through R the problem was “you have the wrong initial values” (even though I haven’t actually loaded initial values yet).

WTF?! But let’s step back and look at this process for a moment, because it is seven shades of wrong. When you run R2OpenBUGS in R, it first turns the data and inits into a form that OpenBUGS can read; then it dumps these into a directory; then it opens OpenBUGS and gets OpenBUGS to access those files in a stepwise process – at least, that’s what I see R doing. If I decide to do the model directly in the OpenBUGS graphical interface, then what I do is I get R to make the data, then I use the task manager to kill OpenBUGS, then I call OpenBUGS directly, and get OpenBUGS to access the files R made in a stepwise process. i.e. I do exactly the same thing that R does, but I get completely different error messages.

There are various places on the internet where you might stumble on this advice, but I want to stress it: you get different error messages in OpenBUGS run natively than you do in OpenBUGS called through R. Those error messages are so different that you will get a completely different idea of what is wrong with your program.

Anyway, I fixed the index but then I ran into problems after I tried to load my initial values. Nothing seemed to work, and the errors were really cryptic. “Invalid initial value” is not very useful. But further digging on the internet showed me that OpenBUGS and WinBUGS have different approaches to initial values, and winBUGS is not as strict about the values that it accepts. Hmmm … so I installed winBUGS, and reran the model… and it worked! OpenBUGS apparently has some kind of condition on certain variables that they must sum to 0, while winBUGS doesn’t check that condition. A free tip for beginners: setting your initial values so they sum to 0 doesn’t help, but running the same model, unchanged, in winBUGS, works.

So either OpenBUGS is too strict, or winBUGS lets through a whole bunch of dodgy stuff. I am inclined to believe the former, because initial values shouldn’t be a major obstacle to a good model, but as others[3] have observed, BUGS is programmed in a completely opaque system so no one knows what it is doing.

So, multiple misleading errors, and a complex weirdness about calling external software through R, and I have a functioning model. Today I expanded that model back to the original order of magnitude of small areas, and it also worked, though there was an interesting weirdness here. When I tried to compile the model it took about three hours, and produced a Trap. But the weird thing is the Trap contained no warnings about BUGS at all, they were all warnings about windows (something called Windows.AddInteger or similar), and after I killed the Trap my model updated fine. So I think the compile problems I previously experienced may have had something to do with memory problems in Windows (I had no problems with badly designed adjacency matrices in the larger model), but OpenBUGS just doesn’t tell you what’s going on, so you have no idea …

I should also add, for intrepid readers who have got this far, that this dude provides an excellent catalogue of OpenBUGS errors with his plain English explanations of what they actually meant. He’s like this mystical interpreter of the I Ching for Bayesian spatial regressives. Also I want to add that I think the CAR spatial correlation model is super dodgy. I found this article (pdf) by Melanie Wall from the Journal of Statistical Planning and Inference (what a read!) that shows that the way we construct the spatial adjacency matrix is the primary determinant of the correlation structure, and that the correlation structure determined by this adjacency matrix is nothing like what we think we are getting. Today on my whiteboard and with the help of R I imagined a simple industrial process where each stage in the process is correlated with the one before and after it, and I showed very easily based on Wall’s work that the adjacency matrix required to describe this process is completely different to the one that you would naively set up under the framework described for CAR modeling. So I think most of the “spatial correlation” structures described using CAR models have no relationship to what the programmer thinks they’re entering into the model. But I have no proof of this, so I guess like everyone else I’ll just press on, using the adjacency matrix I think works …

So there you have it. Next time you see an opinion formed on the basis of a spatial regression model built in BUGS, remember the problems I had getting to the output, and ask yourself – do you trust that model? Really?

fn1: Well, I could copy winBUGS into the program files folder but I couldn’t patch it or install the immortality key, which, wtf? When I bought Time Series Modelling and Forecasting by Brockwell and Davis, ITSM came as a free disk with the book. When I buy the BUGS book I get to install software that comes with a big message telling me to get stuffed, and years later they finally provide a key that enables you to use it for free …

fn2: If you aren’t aware of how this works, basically when you call OpenBUGS in R, providing data from inside R, R first dumps the data into text files in the directory of your choosing, then OpenBUGS opens those files. So if you aren’t comfortable preparing data for BUGS yourself, use the list and structure commands in R, then kill OpenBUGS and go to OpenBUGS directly … the text files will remain in the directory you chose.

fn3: Barry Rowlingson does a pretty good job of showing how interesting and useful spatial analysis can be: see e.g. his post on mapping the Zaatari refugee camp in Syria.

Snips and snails, and puppy dog tails ...

Snips and snails, and puppy dog tails …

This is an account of our first, short adventure, playing the Malifaux RPG Through the Breach. Malifaux is a Victorian steampunk-horror setting in which the world as we know it is linked to another, sinister world called Malifaux by a phenomenon called the Breach. The Malifaux side of the Breach is full of magic powered by artifacts called Soulstones, and the mundane side of the Breach mines these soulstones to power magic on the mundane side of the Breach. Our characters traveled through the Breach in response to an advert seeking adventurers …

The PCs are my character, Penitent Benny, and two others:

  • Lucien Buchmeister, a bookish chap from Prussia who carries a couple of pistols and has secret magic powers (magic is monitored in the world of Malifaux)
  • Damien, a Frenchie woman with a scarred face and a very cold demeanour, who whispers to her carbine, which she calls Mon cheri

What could possibly go wrong?

The three PCs met for the first time outside the double doors of the main station at the Breach. It was a typical hot, dusty day in Malifaux, though to the characters the soul-sapping heat and dryness were yet a novelty. They stood facing a hectic loading yard, full of horse-drawn carriages, porters, rough-looking steam-yarders of every physical description, hue and creed. A gang of Sikhs gently lifting a crate of carefully balanced vases, sweat streaming down their dark bearded faces, turbans gleaming like jewels against the dust and faded ochre of the yard; a squad of Condottieri, resplendent in blue and red silks and brocades, heavily armed and sweating like pigs; a group of Japanese pearling women, famously crossing the Breach to find soulstones in flooded mines, weaving through the yard in colorful yukata, fans waving and tittering in the heat; in amongst them all the swarming throng of leather-chapped steam-yarders, carrying, cursing, fighting, spitting and yawning, surrounded by the stench of horses and tendrils of dust and smoke.

The characters converged amongst this clouded, crowded chaos on the diminutive form of one Mr. Tyler, Esq., standing next to a large carriage atop which sat an enormous, coal-dark black man, a veritable mountain of ebony flesh carrying a blunderbuss the size of a London Omnibus. This black man was holding a signboard in one hand that read “Messrs Damien, Lucien and Benny”, and looking about him with a wary, bored gaze. Beneath him, in the shadow of the carriage, Mr. Tyler stood gleaming pale white in a white linen suit, blazing brilliant white even in the shadows. Diminutive and wiry-looking, he spat out a gobbet of chewing tobacco as the characters approached and strode forward to greet them, hand outstretched. “Mr. Tyler, dogsbody to Dr. Samuel Jacobs. Welcome to Malifaux,” he greeted each of them in turn, looking a little surprised to discover that Damien was a woman, and gesturing them to the carriage. “It’s straight to Dr. Samuels, I’m afraid, for your interview with your new employer, and then to your lodgings. If you don’t mind?”

The journey to Dr. Jacobs’ place was short, and during the ride Mr. Tyler maintained a constant patois of explanations and descriptions of the city of Malifaux, with no questions asked about the characters’ journey or origins. They soon reached Dr. Jacobs’ mansion, a classic Colonial mansion with large gardens and a pristine, low white wall, and the carriage swept through an open gate and perfectly manicured gardens to a wide gravel yard before the grand entrance. Mr. Tyler led them inside, and they soon found themselves standing in a classic academic study: cluttered with books and oddities, stuffy with the smell of old papers and dead things, and dominated at one end by a huge desk. Behind this ostentatious arrangement of marble and leather sat a frail, worn-looking old man who introduced himself as Dr. Samuel Jacobs, shaking each of their hands without standing, and explained the rules of their engagement to work for him:

  • Free lodgings with the indomitable Mrs. McCranning
  • 15 scrip a week [<-this is a quite fantastic quantity of money]
  • Extremely dangerous work at Dr. Samuels’ whim, on demand

With that he told them the nature of their first job. He had recently lost his fob watch, which had considerable value to him since it was given to him by his deceased wife, and he needed them to find it. Though the task might seem trivial, his experience of Malifaux was that such minor misdemeanours as a stolen watch could explode into catastrophe if not addressed, and he needed that watch. The PCs were to find it, and they could start by visiting a Guild investigator by the name of Travis Cain, who rumour has it had been investigating petty theft in the slums.

With that simple explanation the PCs were dismissed, and left the house to ride to their lodgings. Mrs. McCranning’s was a huge Georgian building in downtown Malifaux, not so close to the quarantine quarter or the slums as to be damnable, but not far enough to be comfortable, occupied primarily by travelling labourers. Mrs. McCranning was a classic Irish landlady, hard as nails and shrewd as a goblin. Fortunately she found a soft spot for Penitent Benny, and was willing to secure them a late dinner and baths before they retired. They spent the night in adjoining rooms, Damien chattering to her rifle, Lucien to his books, and Benny screaming his nightmares to the rafters. A group of valiant adventurers ready for any task.

The next morning, after a robust breakfast, the PCs visited Mr. Cain at the Guild HQ, to ask him for advice. This man, snoring in the corner with a bottle of whiskey on his desk, was of little help; he demanded one of their scrip before he would help, and then told them the names of a few families he had investigated in the slums. They paid up and trundled off to visit the slums.

Unfortunately in the slums a local gang lord, the red something-or-other, had them followed, and thinking their pursuers part of the problem they ambushed them in an alley. One they killed and the other two they injured, and in the talk that followed discovered they had simply killed a couple of local gang members keeping an eye on them. These gang members were aware of the stolen local items, and as a sop to avoid getting into trouble with their leader the PCs offered to share any information with the red something-or-other before reporting it to the Guild. With that they continued their search.

They soon found their first target, a family whose two children who had lost their stuffed toys and were now slowly dying of some kind of withering illness. The PCs very quickly realized what was going on here when they heard the mother thought she had seen something near one of the children during the night. They set up a watch.

They were soon rewarded. During the night two small creatures stole into the room where the children slept and sat on their chests. They touched the childrens’ heads, and a strange glow began to form, obviously stealing the childrens’ life force. However, at the same time a strange magic fell over the whole area, causing everyone except Lucien to fall asleep. Lucien managed to wake Penitent Benny, and then ran outside to wake Damien. Penitent Benny acted, moving against the creatures. In the glow of their soul-stealing magic he realized they were some kind of puppet, made out of an agglomeration of household objects. Each of them included a single piece of a child’s teddy bear, as if they were some kind of fetish made of ordinary people’s belongings – including these childrens’! Whatever their origin, Benny didn’t like them, and threw his bowie knives at the puppets. He killed one and pinned the other one to the wall.

Meanwhile Lucien had failed to wake Damien, but upon emerging into the street (where Damien was keeping guard) saw a strange magical woman who terrified him so much that he was forced to run away in fear. Once out of sight around the block he was ambushed by another, nastier puppet, and got caught in a battle that lasted some time before he could kill it. Meanwhile Benny woke Damien and they killed the woman in the street. By the time they had dealt with her Lucien returned from his victory over the puppet (what a hero!) and they all returned to the bedroom, where the puppet remained pinned to the wall. Penitent Benny tied a piece of string and a tin can to it, and they let it go. It immediately scarpered, heading off into the city, so they followed.

The little scoundrel scampered over rooftops and alleyways, moving fast but without concern for stealth through the empty early morning streets until it arrived at the wall separating the slums from the Quarantine Zone. Here it started digging a tunnel under the wall. The PCs climbed the wall, though doing so is highly illegal and probably quite dangerous, and waited calmly on the other side for the puppet to finish digging. They then followed it some more, into the Quarantine Zone. After perhaps another ten minutes of running, it scampered into what was quite obviously an ancient tomb.

They followed.

Inside they descended some ancient stairs into a narrow tunnel, lined with chambers. In each chamber was a huge pot, filled with random household items. At the farthest end of the tunnel, the chambers were empty of pots… Soon the tunnel ended, opening into a large room dimly lit with candles. The PCs stopped and Penitent Benny crept ahead to look.

In the room he saw a huge old tomb, on which danced two man-sized puppets, communicating silently with their little tiny puppet. The floor was covered in discarded household items, and two huge pots full of items sat near the throne. There was a sense of malice and despair about the room, and as Benny watched the puppets took one of the pots and did … something to it. A dark, sinister mist emerged from the pot and poured into tomb, within which something … huge and sinister … slowly stirred. Then the puppets cast the pot onto the floor where it broke, its ordinary household contents crashing in amongst the sea of other contents. The two big puppets then looked at the tiny one, and it fled back the way it had come, obviously already setting out to find a new victim …

They attacked. With surprise the battle did not last long, and soon the two big puppets were soon dead. They explored the room briefly but there was nothing else there but the tomb. Being new to Malifaux, they soon decided the best course of action would be to open the tomb, and between the three of them managed to pry off one of the stone slabs covering it. Why was the slab so heavy? It were as if whoever made the tomb didn’t want it opened…

As the slab tumbled off the tomb, they all heard a roar of anger, and a dark, malevolent force began to emerge from the tomb – a kind of huge, shadowy version of the puppets they had killed. It oozed out of the tomb at first like a thick goo, but soon began to congeal in the middle of the room, gathering together the household belongings as it formed like a kind of huge, shadowy tatt-magnet. As it grew they saw Dr. Jacobs’ fob watch in amongst all the tatt, slowly being drawn towards the shadow. The grabbed it and,  realizing their mistake, ran for the exit, followed by the booming laughter of the growing shadow. They burst outside just in time, running helter skelter for the Quarantine Wall, as behind them a vast shadow blocked out the evening sun, crawling with invincible and patient malevolence slowly down the alleys and byways of the Quarantine Zone. What had they released?

They tumbled over the wall into the slums, and already they could see movement about, as people felt the thing coming before they could even see it. They ran straight to the crime boss, the red something-or-other, and told his minions to get everything he had out on the street now. They didn’t wait around to die though, and ran on, towards Downtown. By the time they got to Downtown word had reached someone somewhere that a Big Thing was arisen, and they saw many Neverborn hunters from the Guild rushing down to the slums. They even saw Travis Cain, though they didn’t bother to offer him any useful information. Instead, they ran.

Their adventure ended there. The townsfolk hid and for the whole night battle raged through the slums, as the red gangs and the Guild fought the beast. By morning many of the red gang were dead and their leader was a hero, the black shadow beast defeated. The PCs were able to quietly hand over the watch to Dr. Jacobs and retrieve the reward, and no one – not even Dr. Jacobs, though no doubt he suspected – was aware that Malifaux’s near destruction was the fault of a group of young idiots opening the wrong grave.

The next day they received 15 scrip. So who really cares?

I’ve complained before about the reliability and quality of the open source statistics package, R. Sometimes I get pushback, with people suggesting that I just don’t understand what R is trying to do, or that there is an obvious way to do things differently that answers my complaints – that R is idiosyncratic but generally trustworthy.

Well, try this exercise, which I stumbled on today while trying to teach basic programming in R:

  • Run a logistic regression model with any reasonable data set, assign the output to an object (let’s call it logit1)
  • Extract the Akaike Information Criterion (AIC) from this object, using the command logit1$aic. What is the value of the AIC?
  • Now extract basic information from the logistic model by typing its name (logit1). What is the value of the AIC?
  • Now extract more detailed information from the logistic model by typing summary(logit1). What is the value of the AIC?

When I did this today my AIC value was 54720.95. From the summary function it was 54721; from the basic output option it was 54720.

That’s right, depending on how you extract the information, R rounds the value of the AIC up, or truncates it. R truncates a numerical value without telling you.

Do you trust this package to conduct a maximum likelihood estimation procedure, when its developers not only can’t adhere to standard practice in rounding, but can’t even be internally consistent in their errors? And how can you convince someone who needs reliability in their numerical algorithms that they should use R, when R can’t even round numbers consistently?

I should point out that a decision to truncate a number is not a trivial decision. That isn’t something that happens because you didn’t change the default. Someone actually consciously programmed the basic output display method in R to truncate rather than round off. At some point they faced a decision between floor() and round() for a basic, essential part of the I/O for a statistics package, and they decided floor() was the better option. And no one has changed that decision ever since. I don’t think it’s a precision error either (the default precision of the summary function is 4 digits!) because the example I stumbled across today ended with the decimal digits .95. This was a conscious programming decision that no one bothered to fix.

The more I work with R, the more I believe that it is only good for automation, and all its output needs to be checked in a system with actual quality control. And that you should never, ever use it for any process anyone else is going to rely upon.

Today’s media are breathlessly reporting that the WHO is predicting 5,000 – 10,000 new cases of Ebola virus disease per week by the beginning of December. There is no written documentation on this, but I did find this study in the New England Journal of Medicine (NEJM) from the WHO’s rapid response unit which suggested 20,000 cumulative cases by 2nd November, which would be 10,000 more cases than we are seeing now (roughly) in just two weeks, so 5,000 per week in November. Given the doubling times in that study were estimated to be approximately one month, that does suggest a rough number of 10,000 cases per week by December (if anything that number is probably slightly optimistic). If so we can expect to see 40,000 cumulative cases by the start of December (20,000 to 2nd November, then 20,000 more in November), and 80,000 by the end of the year. Assuming the same doubling, we will see another 20,000 a week in January, which takes us to a rough 150,000 by the beginning of February, assuming that there is no successful intervention by then.

The case fatality rate is now estimated to be about 70%, so those time frames would give respectively (and approximately); 30,000 deaths by the start of December; 55,000 by the end of the year; and about 100,000 by February. Those are large numbers, but on a national basis what does that mean? In this post I want to look at the implications of these numbers under three different scenarios, but first let’s just look at the number of deaths by the end of the year, and do some rough calculations of the implications.

First, let’s look at just Liberia. The NEJM article puts about 50% of all cases in Liberia, so if we follow that proportion forward, we can expect about 27,000 deaths by the end of the year, and 40,000 cases. It’s not necessarily wise to assume that proportion is static, since the disease appears to have taken hold in the capital of Liberia and Liberia seems to be the worst affected, so the disease may spread faster there or may burn out sooner; but for lack of better evidence let’s just go with that proportion. Liberia, according to Wikipedia, has a population of 4 million, and its capital Monrovia has a population of about 1 million. At first blush, 27,000 deaths is not a lot of people in a country of 4 million … but in 2005-2010 Liberia’s mortality rate was 12 per 1000, for a total of 48,000 deaths in 2014 (my estimate). The 30,000 extra cases of Ebola in Liberia that will occur by the end of the year will cause 21,000 deaths, 50% of its annual total. In just 2.5 months the disease will kill as many people as usually die in 6 months. That’s a traumatic increase in mortality, such as usually happens only in times of natural disaster and war.

In addition, however, controlling the epidemic requires isolation and monitoring of an enormous number of people. Consider this report of an outbreak of Marburg disease in Uganda in September. The disease – which is very similar to Ebola – was identified in a single person in a small town in Uganda, and killed the index case after 17 days. Contact tracing was carried out, and the WHO reports that

As of today, a total of 146 contacts have been identified and are being monitored for signs and symptoms compatible with MVD. Eleven of the contacts developed signs and symptoms compatible with Marburg virus disease.

In order to properly contain this disease, the doctors had to track down 146 people, and of those 11 developed signs and symptoms (fortunately in this case none of them were positive). In the Liberian context this would mean that for every case, more than 100 people need to be traced and 11 isolated as suspected Ebola. Even if we assume that people are starting to catch on to the risks, and so are having less contacts and less need for isolation, we can probably still safely assume that to properly control the disease we need to isolate 4-10 people and trace 100 or so. For 30,000 new cases from now till the end of the year that will mean isolating 120-300,000 individuals, for a period of as long as 21 days. The top end of that figure is about 8% of the population of the country.

Finally, the toll on health care workers of the first 10,000 cases has been genuinely shocking. The latest WHO situation report tells us that 201 health care workers in Liberia have caught the disease, and 95 have died. Assuming that rate persists, adding 30,000 more cases will lead to the death of 300 more health care workers. Wikipedia, again, tells us that Liberia had 5000 full- or part-time health care workers in 2006, of whom 51 were doctors. By December Liberia will have lost almost 20% of its entire health workforce, leading to huge setbacks for health in one of only seven countries in Africa to have met its Millenium Development Goal 4 (under-5 mortality) targets.

So let’s bear those basic figures in mind. 40,000 cases= 28,000 deaths, 120-300,000 isolated individuals, 1.2 – 3.0 million individuals being monitored for signs and symptoms, 20% of the health workforce dead. Also, a very large number of foreign health workers coming in to help, and entire new hospitals being constructed in a country with no suitable infrastructure. Now let’s consider three different scenarios, based around the UN’s 70-70-60 goal, which is to be able to isolate 70% of cases and bury 70% of bodies safely, within 60 days. The low basic reproductive number of Ebola – below 2.0 in most cases – means that preventing 70% of secondary cases should be sufficient to kill the epidemic (just!) So let’s assume that if this goal is reached and maintained, the epidemic will plateau and then begin to decline, in about the same time that it took to escalate. For simplicity we’ll count that time period in terms of numbers of cases – so after the disease peaks, we will assume as many new cases occur as the disease fades away as occurred in its growth. This is not unreasonable – most epidemic patterns don’t crash, but tend to go through a decline that looks roughly symmetric to the increase. This may not apply with a disease as fatal as Ebola, but no one will know till we come out the other side, so let’s assume it will behave as most other epidemic patterns do. This means that if we have x cases by new year, and the UN goal is attained at new year, we should expect to see a further x cases before the disease is gone.

The best case scenario: Liberia meets the UN goal on time

If the sudden inrush of aid workers and soldiers enables Liberia to meet the UN goal on time, we will reach 70-70 in 60 days from now, i.e. by mid-December. That means there will have been 60,000 cases by the time the epidemic begins to decline, or maybe 100,000 by its end. This means 70,000 deaths, 300-700,000 isolated individuals, and pretty much everyone in the country being monitored. About 50% of the workforce will be dead. If we assume the decline takes a few months, say until March, we can guess that we will see nearly two years’ mortality in just 6 months. Between 10-25% of the population will have been isolated for about one month during this period, unable to work or care for others. The goal of safely burying 70% of the dead means 50,000 bodies will need to be buried by specialist teams. The difficulty of their work can be seen in this excellent brief report from the NY Times, but I think it’s obvious that burying 50,000 bodies is going to have to be done in a very different way to this. I wonder if there is even a protocol for mass burial of highly-infectious bodies?

This is the best case scenario. On the basis of the numbers alone it is clearly a catastrophe for Liberia, but it isn’t enough to bring the country to its knees (at least with outside help). Less than 2.5% of the country is dead, and although the economic effects are alarming and the long-term destruction of the health system will set the country back years from its health goals, it doesn’t appear to be a recipe for total collapse (at least on paper). There is hope here, and if the containment efforts are good so that the epidemic crashes really fast, then we can expect it to have a much less significant effect on the health workforce.

The realistic scenario: Attaining 70-70-60 a month late

Suppose instead that the UN goal is missed by a month, taking us to mid-January. That will correspond with about (very roughly) 100,000 new cases by the time the epidemic peaks, or 200,000 by the time it finishes in probably March or April next year. From our calculations, this means 140,000 deaths, 600,000 – 1.5 million isolated individuals, and the remainder being monitored. The entire health workforce will die in this scenario, and about 100,000 bodies will need to be buried safely. Only 54% of the Liberian population are working age, or about 2 million; it’s quite possible that a large part of the adult workforce will be in isolation for more than 3 months, with a large part of the rest involved in basic Ebola-combat activities (burying bodies, contact tracing, logistics). The death toll is equivalent to three years’ mortality in 6 months. What this would mean for the agriculture sector I cannot guess, but it doesn’t seem good. At this level of disease spread, I think we are looking at a society on the verge of collapse, where trade-offs have to be made between isolation/contact tracing on the one hand, and maintaining basic functions of civil society on the other. If the UN goal is missed by a month, alternatives will need to be found to isolation systems, and a huge increase in available health workers will be needed.

The worst case scenario: Failure to contain the epidemic by February

Failure to contain the epidemic by February means 150,000 cumulative cases by February, and probably at least 300,000 (maybe more) over the next few months, with no sign of a slowdown. Every month we will see another doubling of the rate (40,000 per week in March, and so on). Just taking the minimum value here of 300,000 cases, there are 210,000 deaths, 840,000 – 2 million individuals in isolation, and the entire health workforce decimated. In this scenario most of the adult working-age population is isolated, and the entire economy has shut down. Without a huge influx of foreign aid – in food, water, field hospitals, and probably thousands of medical staff – the disease will break out of any containment system that might be left in place, and the only limit on its spread will be its own voracity. This suggests to me that we have until January to get an effective containment system in place, or Liberia as a country will cease to exist in any functional sense. We should assume, furthermore, that in the general breakdown of the social order that will ensue many people will leave the country, and the risk of the epidemic spreading to Nigeria will be very great.

Caveats and limitations

These figures are all rough guesses based on huge assumptions. The number of people who need to be isolated will not scale linearly with disease spread, for example, because one individual will begin to have multiple case connections, and as the disease spreads and social contact reduces, the number of people a new case will have actually touched or been near will decline rapidly. So my estimates of effects on the working age population are inflated, and these are the key cause of social breakdown, I think. Without the effect of isolation and disease containment efforts, even 300,000 cases and 210,000 deaths is not a society-ending event in a country of 4 million people, though nobody wants to think about how horrible that will be. My assumption that the downward side of the epidemic will cause as many cases as the upward side is based on the assumption that the basic reproduction number will be reduced only just below 1 by the 70-70-60 plan; this means each existing case gets a chance to cause another, but if the epidemic is contained more effectively once the plan is in place that assumption could be an over-estimate. Also there are geographical limits on the spread of the disease (especially once things get desperate and all travel within the country is shut down); this will mean that the disease rapidly burns through its available cases and dies out before it can spread fully. And finally, I don’t know what the time trend in deaths of health workers is, but I suspect these deaths were mostly in the early stage of the disease before the word was out, and that deaths are now declining rapidly towards zero. Given all these constraints, I think that an aggressive plan enacted now, aiming to achieve the 70-70-60 goal, and followed through aggressively thereafter, will probably stop the disease somewhere before the numbers provided in my best case scenario. This will still cause a years’ worth of mortality in a couple of months, take up to 10% of the working age population out of work for isolation, and kill up to 20% of the Liberian health workforce. It won’t cause a national collapse, but it is a catastrophe easily as bad as a tsunami or some other huge natural disaster.

What should this mean for the future of health planning in Africa?

We often talk about “fragile health systems” and “extreme poverty” in Africa, but in the rich nations we’re used to thinking of health system failure as poorly-managed diseases and unpleasant medical experiences, but it’s worth remembering that at the extremes of medicine there are disasters: car accidents, pandemic influenza, and incredibly horrible diseases like Ebola. In the best of times in Africa, “fragile health systems” means excess deaths due to preventable infant, maternal, HIV- and malaria-related mortality. But in the worst of times it means huge waves of mortality due to natural disasters, war or epidemics. This Ebola outbreak is showing the rich world what “fragile health systems” really means, and also showing us that we are not able to completely disconnect ourselves from these failures. We can’t expect to isolate ourselves from emerging infectious diseases forever, except perhaps at the cost of our humanity, so instead of trying to isolate ourselves we should try to seriously tackle the fundamental problems affecting health systems in Africa and some parts of South Asia. This is not like a military intervention where the best of intentions can bring about the worst of results; we know what works and we simply need to find the political will to make it happen. Once this disease is back in its box, and all three affected countries are able to contemplate a return to normality, we in the rich world should make a serious, final effort to fix global poverty and most especially to end the grotesque inequality in health systems around the world. It’s almost certainly not going to happen, but we have to recognize that any country with a fragile health system is one weird event away from a terrible humanitarian catastrophe, and we need to start thinking about how to stop this from happening again. That means we have to act to help those countries to genuinely strengthen their health systems, and achieve the kind of economic state that is able to sustain them. This may mean we fat, rich westerners pay a little more for our chocolate, coffee and clothes, but it’s a price I hope we are all going to be a little more willing to pay now that the threat of dying horribly in our own body fluids has begun to make itself felt.

This situation should also serve as a warning about the dangers of ignoring very rare but high-risk events. Ebola has been known for 40 years, and this is the first time it has ever escaped containment. Work on a vaccine has been delayed or ignored partly, I think, because the risk of this disease escaping its bounds is so low that people considered it negligible. I hope my calculations show that the cost of this disease is only negligible provided it never happens, and that once it does happen all our risk assessments look incredibly stupid. We need a new way of assessing risk which puts a serious value on low-probability events. In the era of climate change the implications of this are obvious. At the tail end of some of the global climate models there are some extreme, civilization-ending events that have been largely overlooked by policy-makers because they are so unlikely to happen. Hopefully this Ebola outbreak will convince the world that it is time we started looking more at the tails of our probability distributions, and not at the comforting bulges down near the low-cost events.

Commencing case isolation protocol 666

Commencing case isolation protocol 666

Media reports today that the Spanish government has killed a dog. Not just any dog – this was Excalibur, the hapless pet of the nurse who is quarantined for Ebola in Spain. The nurse, Teresa Romero Ramos, is being treated for Ebola after contracting it while treating a returned missionary; her husband is in isolation to be monitored for signs of the disease, and there are fears that the dog might have it too. It’s not clear whether dogs can get or transmit Ebola, though there is some vague evidence that they are at least at risk, so in theory there was some justification for the execution of an innocent dog, but in my opinion this is a huge public health mistake.

Because there is no treatment for or vaccine against Ebola, our only effective intervention to prevent its spread is case isolation, which in turn depends on early identification of cases, and rapid and effective contact tracing. This method alone has been effective in every previous outbreak. Although not airborne, Ebola is highly infectious with close contacts, so early identification is important to reduce the subsequent contact tracing burden, but symptoms are vague (fever) and easily confused with other possible illnesses – especially as influenza season approaches. So it’s really important that people with fever be willing to attend a doctor early, and that they be willing to risk putting their lives into the hands of public authorities on the basis of nothing more than a suspicious fever.

This kind of early identification, case isolation and contact tracing depends fundamentally on trust. The person with a fever needs to trust that they and their loved ones will be treated well, and that people contacted through them will be treated well. In general – I’m going to go out on a limb here – shooting someone’s dog does not fall under the definition of “treating them well.” It is, in fact, kind of mean.

Of course we all know that in times of emergency, the government will kill our dogs. If Ebola jumps the shark, you can bet that pets of all kinds will be seen as mere collateral damage in an extremely authoritarian and aggressive public health response. But since we don’t want our society to get to that point, our first goal in public health responses should be to ensure that everyone who might need to attend a doctor does so as early as possible, without fear of the consequences. Notice the emphasis on might – that is an important word in this context. If you want to give people the impression that they don’t need to fear the consequences of reporting their fever, you probably shouldn’t shoot their dog.

Now, many people might think that this is a public health emergency and in public health emergencies dogs aren’t very important. This is probably very true. But a public health response has to be built on the possibility that not everyone will agree with you about that; or that they might not understand the dynamics of infectious diseases enough to realize the dangers of letting their dog go; or that they might not have the same understanding of their own disease risk that you do. If anyone who thinks in any of those ways gets Ebola, and you have given them reason not to trust the authorities, they will delay their attendance to a hospital, and/or lie about their circumstances. This doesn’t just extend to crazy scenarios like refusing to admit they have Ebola because they don’t want you to kill their dog. The most likely scenario is much more bland: someone with a fever misjudges the risk that it is Ebola, and because they have a general worry that their dog will be shot if they go to hospital, they decide to just “wait and see” for a few days. During that few days they definitely infect their dog, and a few other people, before they finally accept that the bleeding eyes are the giveaway that they really do have Ebola.

But shooting a dog isn’t just about dogs: it’s about the general possibility that you’ll be treated like shit just because you have a fever. There are lots of other situations where such a fear could cause delay: the dude who has a fever but spent last night cheating on his wife, and is worried that a government that shoots dogs won’t be particularly discreet about contact tracing; the potential Ebolaee who has friends with prizewinning breed dogs, and doesn’t want to have the government shoot their friends’ dogs so decides to just wait a few days to be sure it isn’t Ebola; the person who gets really sick at work, but whose cat is outside, decides to check himself in to hospital but figures cats don’t talk to strangers, and doesn’t want all the cats in the neighbourhood being shot, so doesn’t mention it; the dog lover who doesn’t think they have Ebola and doesn’t want to take the risk, so hands their dog to a neighbour before going to hospital. Any one of these scenarios is a potential nightmare of contagion, and they can break down at any point in that identification-isolation-contact tracing process.

Obviously when the outbreak goes epidemic, this will all become academic, but right now it’s not epidemic: there are a few people under observation, and two people in quarantine. The decision to kill the dog sparked a global protest. Would it really have been so difficult to tranquilize the dog, put it in some kind of quarantine, then tweet pictures of it with a dumb-arsed chewy toy and the phrase “Spanish healthcare: no dog left behind”? A tiny bit of extra work, for a huge public relations win. You can always shoot the dog a few days later and claim it got Ebola and it was the “humane thing to do.” If you really really can’t figure out a way to keep a dog alive for a few days without touching it, I think you aren’t really trying – and I think every pet owner will agree with me about this. Also – and this might prove important later in the epidemic – we don’t know if dogs can transmit or even become symptomatic for Ebola. It might be nice to know that, and right here we have a dog with potential Ebola. More specifically: there are a lot of cat owners out there, and cats wander, and fight. If one of those cat owners has Ebola and lets their cat out at night, it would be really really handy to know whether domestic pets are a risk. If only we had a dog with Ebola … oh, but we shot it.

Basically the Spanish government just told everyone who thinks they might have Ebola that even though they are nowhere near emergency stage, they’re already willing to act like complete dickheads. So anyone who has a fever and something to hide, a pet, or a group of people they really don’t want to annoy, is going to be thinking that maybe they should be really sure that it’s Ebola before they cash in everyone they know to a pack of ruthless dog killers. That suspicion may only delay their presentation for a day or two, it may only make them lie a bit during the contact tracing phase, but that’s enough – the disease gets spread. And as we have seen from Africa, stopping the spread of this disease early is crucial to stopping it at all.

Also, if I survive Ebola, I would quite like to go home to rapturous greeting from my (uninfected) dog. Shooting Excalibur was just a dick move.

Since I’ve been talking a bit about HIV lately, I’ve also been thinking about Ebola, and so while I’m here I thought I’d make a few other points about the media treatment of Ebola, and the associated public perception, that I think are important. I also would like to share the Science collection of articles on Ebola, which have been made open access for the duration of the epidemic. These include some fairly accessible media descriptions of the issues, and also some interesting survivor interviews. The Guardian has also devoted one of its (horrible) live “Blogs” to a day of coverage of Ebola, which is reasonably informative (it also includes survivor interviews). Make no mistake: this disease is easy to prevent and really, in the modern era, should not be a serious public health threat, but it is a terrifying phenomenon once it gets wild.

Ebola is not less important than Malaria and HIV

Quite a few media articles have been complaining that Ebola is getting more attention than malaria and HIV, which are the worst killers in Africa. Articles on this theme usually show  a mixture of motives, primarily a desire to criticize media sensationalism, complaints about westerners just throwing money at dramatic attention-grabbing problems rather than core health problems, criticisms of the amount of money available in aid[2] for these major diseases, general bullshit about the WHO[1], or misjudgments about risk. But let’s be clear about this: it’s a completely bullshit argument, probably racist and definitely annoying. First of all, huge amounts of aid money are committed to malaria and HIV every year: the Global Fund, Bill and Melinda Gates Foundation, WHO, PEPFAR, GAVI – there are billions and billions of dollars, whole inter-governmental organizations (e.g. UNAIDS!) and large portions of international aid budgets devoted to the biggest killers in Africa. They are not under-resourced, though of course all these diseases could (and should) have more money. Also this disease is not something you can sensationalize enough: read the reports from survivors, and you see that it is a truly terrifying and destructive phenomenon. It is also possible for us to walk and chew gum at the same time: pouring resources into Ebola doesn’t suddenly mean HIV will lose its money, and if anything the opposite will happen: a society forced to commit all its medical resources to a sudden wildfire epidemic will not be able to maintain routine health care, and other conditions (in Africa, maternal and child mortality) will get worse. This is a fairly obvious thing to say, but because opinion writers are usually idiots, it needs to be spelled out: a society facing a medical apocalypse cannot also maintain routine maternity services. As an example of this, I know a man whose cousin had arranged work as a paediatrician in Sierra Leone, starting in November. She’s now changed her plans, and will be starting work in an Ebola containment ward next week. That’s what happens when a hemorrhagic virus goes full retard: paediatricians don 77 layers of rubber and head into the hot zone.

But the thing that’s most annoying about this article is its reduction of all of Africa to a single entity, or as the infectious disease blog haba na haba put it, Ebola is only the Kardashian of diseases if you think Africa is a country. Yes, malaria and HIV kill lots of people in Africa, but the death numbers for these diseases cover the whole continent. Ebola is killing people in just three countries, and it has probably now killed more people this year than HIV and malaria combined in those countries. Unless you think national boundaries don’t matter for health and economic policy, it should be fairly obvious that while most of Africa is struggling primarily with HIV and/or malaria, in these three countries Ebola is a catastrophe unfolding on a grand scale.

This last argument comes down to another simple problem with modern media and their interpretation of health policy: misinterpretation of risk.

Ebola is only harmless while we make it so

Ebola is not as infectious as measles or mumps, or even HIV, but it is remarkably virulent and its ability to infect people after death means its growth is not necessarily constrained by its high case fatality rate. This makes it a rather unique virus. But there are many articles in the media suggesting that we are over-reacting to Ebola, and that it is not that serious a concern. These articles are largely based on past experience of Ebola, but they miss an important point about how we manage disease outbreaks: Ebola is only not a threat so long as we take it very seriously. Provided we take Ebola seriously, and act quickly to stamp out even the smallest evidence of it, it is not a serious concern. If we decide that therefore it is not a concern, and lower our guard, it will spread and cause huge damage. But the various critics of epidemic policy are always looking for the latest disease threat that didn’t materialize – SARS, avian flu, H1N1 – and claiming that the health authorities overreacted, when in fact that “overreaction” is the main bulwark between civilization and chaos.

And if you want to see what happens when that bulwark collapses, visit the Ebola zone now. In this article, Senga Omeonga talks about his colleagues who were struck down by Ebola. He is a doctor, and only just survived the disease. He says, of his small unit,

In total two brothers, a Spanish priest, a sister, two nurses, one x-ray tech, one lab tech, and one social worker died. Two other doctors, two sisters, and one orthopedic tech survived. They closed the hospital after the outbreak.

So many skilled health workers died because of one index case. Ebola preferentially targets healthcare workers, and the associated people who are needed to support the work of doctors. Even if these countries manage to defeat the disease, they are facing a future with a massively depleted healthcare workforce. Some of these countries have less than 100 doctors, and less than 1000 nurses: every single death in this workforce is a huge loss, and the loss of a massive amount of national capital. Even if the disease doesn’t spread enough to decimate the population – a possibility that is looking increasingly likely – it is probably going to set the health development program in these countries back by decades. The result of this epidemic will be a long-term reduction in capacity to handle HIV/AIDS, malaria and maternal and child mortality. But a lot of coverage of this disease is predicated on the assumption that health systems are overreacting, and that the disease can be assessed simply in numbers of deaths, rather than their strategic location; and a lot of media reports (and let’s face it, probably a lot of government policy) has been focused on the risk of rich nations being infected, rather than on the threat to health systems in poor countries.

Once the health system collapses, any disease gets a free run. The health systems in these countries are on the brink. Even the World Bank – which has spent years resisting Universal Health Coverage – has been forced to recognize that these health systems are fragile and underfunded. When these countries emerge from this epidemic, let’s hope that western governments will have finally learnt the lesson global health policy makers have been pushing for years, and recognize that in an interconnected world robust health systems are a social good. Maybe then they will start to find creative ways to create the fiscal space for effective health systems in even the poorest countries. Any program that looks for such a fiscal space is going to need to recognize that poverty and underdevelopment do not support universal health coverage, and make policies to genuinely support economic growth. Let’s hope Ebola is a turning point towards shifting the economic relations between low- and high-income countries, to the unequivocal betterment of the former.

fn1: If you google “ebola WHO priorities” you’ll find this article by Henry I Miller being syndicated across the world. It’s incredibly negative about the WHO – the organization that eradicated smallpox! – and also incredibly wrong. It’s worth noting that Henry I Miller was specifically identified as an advocate for Big Tobacco in the Tobacco Papers. The campaign against tobacco is one of the WHO’s greater success stories, so it’s no surprise that he takes every opportunity to slander the organization, and no surprise that the Hoover Institute is willing to employ someone this oily. It should come as no surprise, then, given the history of Big Tobacco in funding global warming denialists, that this greasy little man is also a global warming denialist. Yet idiot newspapers around the world have reproduced the anti-WHO rantings of this paid defender of Big Tobacco. Do they have any understanding at all of how to check sources?

fn2: I particularly like the use of a picture of a semi-naked dead person being sprayed with disinfectant at the top of an article about our “empathy deficit.” Stay classy, Huffington Post!

He likes the smell of new viruses in the morning

He likes the smell of new viruses in the morning

This week the journal Science reports a new study finding HIV first emerged in Kinshasa (now the Democratic Republic of the Congo) in the 1920s – not the 1970s or 1980s as previously suspected. The disease was likely introduced to Kinshasa through bush-meat, but spread rapidly across the Congo through mobile workers moving on Belgian-built train networks. At that time the region was a Belgian colony, and labourers were moving across large areas of the country as they moved to and from the capital and large mining areas in the hinterland. The article also reports that Kinshasa itself had a large and active sex industry in support of he transient labourers, and this may have helped to spread the disease. It’s an interesting story of virology, archaeology and globalization.

What I find fascinating about this story is that HIV took hold in the 1920s, but wasn’t identified as a disease until the 1980s, despite the presence of medical and public hygiene programs in Kinshasa, the growth of tropical medicine as a discipline, and the presence of major militaries in the area during both world wars (most notably the Force Publique, a force of some tens of thousands of black Congolese soldiers led by white Belgian officers). Typically the military establishment pays careful attention to hygiene and to STIs, especially since the work of Florence Nightingale, but somehow during all this period they missed HIV as a disease. In fact, this new research suggests that the success of the entire discipline of Tropical Medicine should probably be reassessed.

The reason that HIV was not identified is, I think, quite simple: it has a very long asymptomatic period, up to 12 years, and it does not manifest through a single set of coherent symptoms, like measles or flu, but through a complex of opportunistic infections. The case definition for AIDS is complex and depends on a list of AIDS-defining conditions that have few commonalities, so it is extremely hard for a doctor seeing these cases in disparate people to identify a single underlying condition. Instead the symptoms are treated, and the patient dies. From the point of view of a doctor in 1920s Belgian Congo, finding an underlying cause would be almost impossible. First the doctor might see a soldier with recurrent herpes, then a miner with a rare and untreatable cancer, then a sex-worker with repeated bacterial infections. Some of these people might have got the disease sexually, some through infected needles during a vaccination drive, perhaps the soldier might have exchanged blood in a fight – 10 years ago. It’s just not possible to identify a cause in this case, or to see a common pattern.

So why do we even know about the existence of HIV at all? It was first identified in 1984, but if it had been around since the 1920s it should surely have been identifiable in the modern era, at least since the program to eradicate smallpox, when modern public health was really beginning to come to terms with infectious disease. Why so late? I think it was identified because of a stroke of luck: a group of cases in the USA that all happened in gay men, and with a disproportionate number of Karposi’s Sarcoma (KS) cases. KS is usually limited to elderly southern European men, and so its presence in young American men was highly unusual. But the real trigger was that it occurred in gay men. Its presence in gay men meant that they were all visiting the same small number of gay-friendly clinics, and they were definably different to other men. They all shared a single common factor: their sexual identity. Of course all those patients in the Congo also shared a common sexual identity but nobody thinks of heterosexuality as a defining characteristic. It’s a background property, a default setting. Whereas homosexuality is a definable strand of difference. I think this coincidence set people thinking, first because a small number of doctors saw all the cases, the diseases these cases were experiencing were very unusual for men of their age and race, and they all shared a different sexuality. This of course tripped the doctors into thinking that they must have a common condition, and that it must be related to their sexuality. This in turn sparked a search for a common cause, probably infectious, and in 1987 HIV was identified. Had HIV instead spread into America through heterosexual carriers those carriers would not all have gone to the same doctors and the disease would not have been linked to their sexual identity. This link is essential for HIV because the symptoms occur so long after the transmissive act that it is not possible to connect them without a symbolic link. Without the sexual link, doctors would not have considered an infectious cause of the range of AIDS-defining conditions they were witnessing, and they would not have sought a virus. Had the Morbidity and Mortality Weekly Review reported on a sudden rash of deaths due to Karposi’s Sarcoma, there might have been discussion, but occurring in only heterosexual people widely separated in the community, an infectious cause might not have been considered. This is especially likely since KS is just the first manifestation of AIDS, and not necessarily the killer – people travel through different trajectories of opportunistic infections to their eventual (horrible) death, and in the absence of deaths, given KS is not notifiable, it would probably simply never have come to anyone’s attention – or would have taken so long to be noticed that HIV would have been entrenched in the wider community before it was identified, if it were identified at all.

So I guess we have the unfortunate sacrifices of a significant proportion of gay men in one generation in the USA to thank for our discovery of HIV. By the time the full scope of the disease and its origins were understood, HIV was already out of control in Africa, to the point where it was causing major social and economic problems, and it’s possible to imagine real economic and social collapse happening in some parts of Africa if the disease hadn’t been identified for another 10 or 15 years – especially if by the time of its identification the rich countries were also burdened with a generalized epidemic and facing their own public health (and potentially economic) emergencies.

Which leads to a horrible speculation about the past. Would human society have survived if HIV had emerged 500 or 1000 years earlier? With death following a pattern similar to non-communicable disease and old age, no coherent virological or bacteriological principles, and the point of infection distal from the point of symptom onset, it would have been almost impossible for human society to identify the existence of the disease, let alone its cause. Worse still, HIV is transmitted from mother to child, with very high mortality rates in children, so it would have spread rapidly over generations and had huge mortality rates. Once widespread the disease is economically highly destructive, since it forces communities to divert adult resources to caring for sick adults who should be in the most productive part of their lives. In the absence of a known cause it would simply be seen as “the Scourge,” but in the absence of well-kept statistics on life expectancy and mortality rates, it might be difficult for societies to realize how much worse their health was than previous generations.

In that period there were other diseases – like the Black Death – that had an unknown transmission mechanism, but these were identified as diseases and (mostly erroneous) methods put in place to prevent them, with of course the final method being case isolation and quarantine, a technique that usually has some success with almost all diseases. But these diseases differ from HIV in that there is a rapid progression from symptom onset to mortality and the symptoms are visible and consistent, making the Black Death clearly definable as a disease, which at least makes quarantine possible. With a diverse range of symptoms, a long period from symptom onset to death (often 2-3 years) involving an array of different infections, in a society where death from common infectious diseases was normal, people just would not notice that they were falling prey to a single, easily preventable disease, so even quarantine or case isolation would be unlikely to be implemented. Another difference between HIV and the Black Death is the long asymptomatic phase of HIV guarantees its persistence even though it has a nearly 100% case fatality rate; whereas the Black Death spread through communities so fast that it soon burnt out its susceptible population, leaving a community with some immunity to the disease. HIV is not so virulent, or so kind.

I think if HIV had spread from Africa 500 years earlier, it’s possible that the majority of the human race would have died out within a century or two, leaving whole continents almost empty of people. I guess the Indigenous peoples of the “new” world would have escaped the scourge, leaving the earth to be inherited by native Americans, and most of Europe and Africa to fall to waste and ruin. It’s interesting to think how different the world might have been then, and also chilling to think how vulnerable our society was in the past through ignorance and happenstance. A salutary lesson in a world where we live ever closer to nature, but where many societies still have health systems that are too fragile to handle the challenge presented by relatively preventable diseases like Ebola virus. The Science paper also presents a timely reminder of the importance of being prepared for the unexpected, and the dangers of complacency about the threats the natural world might offer up to us in future …

Next Page »

Follow

Get every new post delivered to your Inbox.

Join 60 other followers