Press "Enter" to skip to content

Posts tagged as “Fearful Symmetry”

Day 139

centaur 0
cinnamon frost

Sketch - I mean, full sketch, like with roughs and rendered inks and stuff, not a 15-minute Sharpie exercise - of Cinnamon Frost. Other than forgetting her whiskers, I think this came out well. While I did use a reference image, it's not precisely the same character (Cinnamon has way more voluminous hair, almost but not quite an afro), so it's hard to judge how well it came out with regards to proportions et al: girl headscarf

Mirror reflecting it, it doesn't look too bad. Looking over it, there's a little weirdness with the exposed shoulder being too far out compared to the size of the head and the shape of the chin, but in my defense, I was focusing primarily on the hair and headscarf, and the shoulders were an afterthought in the render.

tsorf nomanniC

Drawing every day.

-the Centaur

A Bayesian Account of Miracles

centaur 0
bayes headshot

Christianity is a tall ask for many skeptically-minded people, especially if you come from the South, where a lot of folks express Christianity in terms of having a close personal relationship with a person claimed to be invisible, intangible and yet omnipresent, despite having been dead for 2000 years.

On the other hand, I grew up with a fair number of Christians who seem to have no skeptical bones at all, even at the slightest and most explainable of miracles, like my relative who went on a pilgrimage to the Virgin Mary apparitions at Conyers and came back "with their silver rosary having turned to gold."

Or, perhaps - not to be a Doubting Thomas - it was always of a yellowish hue.

Being a Christian isn't just a belief, it's a commitment. Being a Christian is hard, and we're not supposed to throw up stumbling blocks for other believers. So, when I encounter stories like these, which don't sound credible to me and which I don't need to support my faith, I often find myself biting my tongue.

But despite these stories not sounding credible, I do nevertheless admit that they're technically possible. In the words of one comedian, "The Virgin Mary has got the budget for it," and in a world where every observed particle event contains irreducible randomness, God has left Himself the room He needs.

But there's a long tradition in skeptical thought to discount rare events like alleged miracles, rooted in  Enlightenment philosopher David Hume's essay "Of Miracles". I almost wrote "scientific thought", but this idea is not at all scientific - it's actually an injection of one of philosophy's worst sins into science.

Philosophy! Who needs it? Well, as Ayn Rand once said: everyone. Philosophy asks the basic questions What is there? (ontology), How do we know it? (epistemology), and What should we do? (ethics). The best philosophy illuminates possibilities for thought and persuasively argues for action.

But philosophy, carving its way through the space of possible ideas, must necessarily operate through arguments, principally verbal arguments which can never conclusively convince. To get traction, we must move beyond argument to repeatable reasoning - mathematics - backed up by real-world evidence.

And that's precisely what was happening right as Hume was working on his essay "Of Miracles" in the 1740's: the laws of probability and chance were being worked out by Hume's contemporaries, some of whom he corresponded with, but he couldn't wait - or couldn't be bothered to learn - their real findings.

I'm not trying to be rude to Hume here, but making a specific point: Hume wrote about evidence, and people claim his arguments are based in rationality - but Hume's arguments are only qualitative, and the quantitative mathematics of probability being developed don't support his idea.

But they can reproduce his idea, and the ideas of the credible believer, in a much sounder framework.

In all fairness, it's best not to be too harsh with Hume, who wrote "Of Miracles" almost twenty years before Reverend Thomas Bayes' "An Essay toward solving a Problem in the Doctrine of Chances," the work which gave us Bayes' Theorem, which became the foundation of modern probability theory.

If the ground is wet, how likely is it that it rained? Intuitively, this depends on how likely it is that the rain would wet the ground, and how likely it is to rain in the first place, discounted by the chance the ground would be wet on its own, say from a sprinkler system.

In Greenville, South Carolina, it rains a lot, wetting the ground, which stays wet because it's humid, and sprinklers don't run all the time, so a wet lawn is a good sign of rain. Ask that question in Death Valley, with rare rain, dry air - and you're watering a lawn? Seriously? - and that calculus changes considerably.

Bayes' Theorem formalizes this intuition. It tells us the probability of an event given the evidence is determined by the likelihood of the evidence given the event, times the probability of the event, divided by the probability of the evidence happening all by its lonesome.

Since Bayes's time, probabilistic reasoning has been considerably refined. In the book Probability Theory: The Logic of Science, E. T. Jaynes, a twentieth-century physicist, shows probabilistic reasoning can explain cognitive "errors," political controversies, skeptical disbelief and credulous believers.

Jaynes's key idea is that for things like commonsense reasoning, political beliefs, and even interpreting miracles, we aren't combining evidence we've collected ourselves in a neat Bayesian framework: we're combining claims provided to us by others - and must now rate the trustworthiness of the claimer.

In our rosary case, the claimer drove down to Georgia to hear a woman speak at a farmhouse. I don't mean to throw up a stumbling block to something that's building up someone else's faith, but when the Bible speaks of a sign not being given to this generation, I feel like its speaking to us today.

But, whether you see the witness as credible or not, Jaynes points out we also weigh alternative explanations. This doesn't affect judging whether a wet lawn means we should bring an umbrella, but when judging a silver rosary turning to gold, there are so many alternatives: lies, delusions, mistakes.

Jaynes shows, with simple math, that when we're judging a claim of a rare event with many alternative explanations, our trust in the claimer that dominates the change in our probabilistic beliefs. If we trust the claimer, we're likely to believe the claim; if we distrust the claimer, we're likely to mistrust the claim.

What's worse, there's a feedback loop between the trust and belief: if we trust someone, and they claim something we come to believe is likely, our trust in them is reinforced; if we distrust someone, and they claim something we come to believe is not likely, our distrust of them is reinforced too.

It shouldn't take a scientist or a mathematician to realize that this pattern is a pathology. Regardless of what we choose to believe, the actual true state of the world is a matter of natural fact. It did or did not rain, regardless of whether the ground is wet; the rosary did or did not change, whether it looks gold.

Ideally, whether you believe in the claimer - your opinions about people - shouldn't affect what you believe about reality - the facts about the world. But of course, it does. This is the real problem with rare events, much less miracles: they're resistant to experiment, which is our normal way out of this dilemma.

Many skeptics argue we should completely exclude the possibility of the supernatural. That's not science, it's just atheism in a trench coat trying to sell you a bad idea. What is scientific, in the words of Newton, is excluding from our scientific hypotheses any causes not necessary or sufficient to explain phenomena.

A one-time event, such as my alleged phone call to my insurance agent today to talk about a policy for my new car, is strictly speaking not a subject for scientific explanation. To analyze the event, it must be in a class of phenomena open to experiments, such as cell phone calls made by me, or some such.

Otherwise, it's just a data point. An anecdote, an outlier. If you disbelieve me - if you check my cell phone records and argue it didn't happen - scientifically, that means nothing. Maybe I used someone else's phone because mine was out of charge. Maybe I misremembered a report of a very real event.

Your beliefs don't matter. I'll still get my insurance card in a couple of weeks.

So-called "supernatural" events, such as the alleged rosary transmutation, fall into this category. You can't experiment on them to resolve your personal bias, so you have to fall back on your trust for the claimer. But that trust is, in a sense, a personal judgment, not a scientific one.

Don't get me wrong: it's perfectly legitimate to exclude "supernatural" events from your scientific theories - I do, for example. We have to: following Newton, for science to work, we must first provide as few causes as possible, with as many far-reaching effects as possible, until experiment says otherwise.

But excluding rare events from our scientific view of the world forecloses the ability of observation to revise our theories. And excluding supernatural events from our broader view of the world is not a requirement of science, but a personal choice - a deliberate choice not to believe.

That may be right. That may be wrong. What happens, happens, and doesn't happen any other way. Whether that includes the possibility of rare events is a matter of natural fact, not personal choice; whether that includes the possibility of miracles is something you have to take on faith.

-the Centaur

Pictured: Allegedly, Thomas Bayes, though many have little faith in the claimants who say this is him.

Gettin’ a Move On

centaur 0
Well, the Nano climb is starting off great, for a switch! Fourth of July, and I'm already 800 words ahead of what my goal is for this time of the month. Not bad, but then, I am on vacation. :-) An excerpt:
On our way out, I sighs. “That went … well—” “It so very did not,” Karoo says, bouncing from rock to rock. “What?” I says. “We learned a lot—” “We learned nothing but that this so-called Huntswoman wants the Ere Mother dead—or worse!” Karoo snarls. “You learned nothing from the Huntswoman about the Ere Mother herself that I could not have told you, had you only asked—” “Was she wrong about the spell that’s killing her?” I asks, and Karoo says nothing. “If you knew that, why didn’t you tell me?” “You didn’t ask,” Karoo says. “Well, maybe I should change that,” I says, “startin’ now. But I learned a lot—” “A faerie queen flattered you by putting you through paces that would not have fazed the most junior adept in medieval times, when training meant something,” Karoo said. “You learned what you should have learned months or years ago in your training—” “I have not been wand training for years,” I says. “Graffiti magic, three years, wand magic, more like one and a half. Actually, a bit closer to one—” “So you’re hungry and she fed you,” Karoo says huffily. “One way and one way alone this creature is like the Li’ía Ní’qua I remember. You heard her banish me from her court, me, her consort? I loved her once, with all my heart. Now I hate her with equal fervor—” “Don’t say that,” I says. “She’ll … she’ll eventually remember you—” “Li’ía Ní’qua is dead,” Karoo says. “I never want to come back to this place again!”
Ouch, Karoo, that's harsh! Especially coming from a cute glowing anthropmorphic fox. -the Centaur

Camp Nano, July 2018 Edition

centaur 0
Well, so insanely busy, I haven't posted in a while. But not for want of working on things that I want to post about! Most pressingly, my Camp Nano project for the July Camp of 2018, and what I hope is the last major chunk of the third book in the Cinnamon Frost series ... SPELLPUNK: ROOT USER!
Cinnamon Frost, once-delinquent weretiger stray, is now a rising star in the secretive werekindred kingdom ... until she unwittingly unleashes an ancient faerie monster and is banished to the human world as a result. As the monster wreaks havoc on human and werekin alike, Cinnamon must scramble to save herself, save her city - and save her mother, as the monster turns upon them all in its rage.
And, of course, the obligatory excerpt:
I clenches my fist. The fox shimmers, his magic going through my fingers; of course, it’s a magic projectia, not a holographic projection. Mom told me about this: an entombed court of faerie, and the warriors that went back to finish the job. I folds my hands to my breast. “I’m sorry,” I says. “I knows the story. I just didn’t know it happened here too.” “Only three of us were left,” the fox says. “My shattered body. The queen, entombed in layers of crystal too hard to be destroyed—though she freed herself and left us, I have no idea how. And the other, the Ere Mother, entombed half-alive, half-dead on the other side of the cavern; I have not seen her directly for centuries … until now.” The hair creeps up on my spine: the cracking and scraping is louder now. “Did you free her?” the fox asks. “Perhaps she will be grateful—” I whirls. Behind the shattered iceberg, something looms, a glint of red—and a mammoth bony paw slams down to the iceberg’s right. Rock scrapes on rock, and the crystal-encased paw grinds against stone, formin’ and reshapin’, crystal planes flashin’ intermittently within as it rearchitects itself. Then the lumberin’ split head of the sloth-corpse roars into view, wobblin’ on a half-crystal, half-bone neck, its single red eye blazin’ like a laser. “Maybe yes,” I says, “and looks like no!” Red eye blazin’, the Ere Mother screams magic at me in a rasping bellow of rage.
Now, none of the Cinnamon Frost books have been published yet; since Cinnamon Frost #1, #2 and #3 are interleaved in time with Dakota Frost #4, #5, and #6, and since both are loose trilogies, I've been working on all six together, in a giant manuscript which would be close to 750,000 words if all put together. Oy! But the outcome is I understand the story much better, and when this giant Hexology is finally put out, I think it will be a much stronger story. Onward! -the Centaur Pictured: a mockup cover for SPELLPUNK: ROOT USER, based on a picture of an eremotherium by Eden, Janine and Jim, and a picture of Doll's Theater in Carlsbad Cavern picture by Daniel Meyer, both licensed for reuse with attribution on variants of the Creative Commons license.

Viiictory the Twentieth!

centaur 0
Hail, fellow adventurers! And now you know why you haven't heard from me for a while: I was heads down finishing my wordcount for Camp Nanowrimo! And this is a very special one, because it marks the twentieth time I have won a National Novel Writing Month style challenge to write 50,000 words of a novel in a month! Woohoo! When I started, I never thought I'd finish this many! This was a difficult month for it. Sure, I just finished early, but that final push involved locking me in a downstairs room with my laptop until I finished so I could enjoy the rest of my vacation with my wife. And the push up to this point has been hard: my wife returning from vacation, with me scrambling to finish a spring cleaning gone awry before she got home. A cat being treated for cancer. An organization I'm volunteering with had an emergency that involved multiple meetings over the month. Major shifts and dustups at work. Robots, on the loose, being chased down the corridors. Ok, that last one isn't real. Well, actually, it was, but it was much, much, much more prosaic than it sounds. The upshot, seen above, is blood on the water (behind on my wordcount) for most of the month. And with the very last weekend of the month being my long-planned vacation in Monterey with my wife before she flies out on her next business trip, there was a very real danger that I wouldn't make it. But my wife is awesome, and tolerated me taking out this first evening to do a massive push to get all my words done! And now, sleep. But first, an excerpt:
“The Ere Mother is … not the most dangerous enemy I’ve ever faced,” I says. “Actually, she doesn’t rate really highly compared to the thing we found in the Vault of Nightmares, which was the real source of the magic that tried to burn down this city, Lady Scara—not me. But the Ere Mother is terribly dangerous, that I admit, Magus Meredith, Elder Jackson-Monarch. She’s terribly dangerous. But I did not ‘unleash’ her on the city. I went where my leadership told me to go and did what they told me to do, and the bottom dropped out under me. Yes, she came to life when I fell into the chambers of her court, but I strongly doubt that she was brought to life by a magic tiger butt. As unstable as that structure was—and it was still subsiding from time to time—the Ere Mother could have been unleashed at anytime, and we’d know even less about her than we do because I was down there investigatin’—as you all asked me to.” I stands there, quietly. “OH!” I says. “Um, yeah. That’s … that’s my report.” “Well,” Mom says. “Thank you, First Mage, for your testimony—” “Chair Frost?” Meredith says, raising his hand politely. “Are questions allowed?” Mom blinks. “Always, as long as we maintain order. You have the floor.” “Shoot,” I says. “Not literally—” “How do you know the structure was still subsiding?” asked Meredith. I stares at him. The hair rises on the back of my head. I thinks very, very fast. “I heard it from the remaining member of the Dire Court,” I says. “A fox changeling, er, proto-fox changeling, at least I assume it was a changeling—er, anyway, we spoke, briefly, before the Ere Mother attacked. He mentioned a subsidence that, um.” “Yes?” Meredith says, eyes gleaming. “That, ah, uncovered his eye, so he wasn’t stuck in the dark anymore,” I says quietly. Meredith’s face falls, with true horror. “There was light down there, from runes. But after the Ere Mother’s attack … I don’t think there’s anything left of the fox fae anymore.” “That’s … horrible,” Meredith says. “Do you remember what else you spoke about?” “I will try to reconstruct a transcript. Mostly, he said shit like, ‘Oh, God’, and ‘Don’t hurt me.’” Somebody laughs, and I idly turns towards them and says, “Hey, I was pretty scared. You wanna be pretty scared to, I can always Change into what I looked like down there.” “Cinnamon Stray Foundling Frost,” Mom says sternly, “if you eat anyone at this Council, you’re grounded!” “Yes, Mom,” I says.
Ah, Cinnamon. You and your wacky hijinks with ancient faerie changelings! Now ... zzzzz... -the Centaur

Camp Nanowrimo – Spellpunk: ROOT USER

centaur 0
Um, so, hi! I'm Cinnamon! (That's me, below!) And I'm supposed to tell you that my biographer, Anthony Francis, is working on my third book, ROOT USER, for Camp Nanowrimo! Camp is the sister challenge to the November challenge to write 50,000 words in a month, and that sounds crazy unless you are my brother and love writing words, and are not dyslexic and ADD and whatever, and what was I saying? SO! Anyway. My biographer's busy writing, or something. So you get me! Except, um, I gots nothin', except, hey, I'm a teenage weretiger, and this is my third book! The first two ain't out yet, but this one has monsters and high school and kids straight out of Harry Potter and yummy yummy wereguys fightin' over the me. Choice! I am awesome, if I do say so myself about myself. Hee hee! What? Oh! Ok. My biographer is askin' me to post an excerpt or somethin', so, here goes:
I glowers. “Fine,” I says. We steps up to the blockhouse surroundin’ the base of the mineshaft. Nri nods to the guard, makes a funny hand sign. The guard nods, opens the chain, lets us in—but as he puts the chain back, he flips down a sign that says, MAINTENANCE—OUT OF ORDER. “This elevator seems to be out of order a lot lately,” I mutters. “Your doin?” “Yes, but why do you care?” Nri asks, pullin’ out a key. “You have a teleporter—” “Common knowledge, thanks to you,” I grumbles, and it’s true: Nri has no respect for my secrets, none at all, but he’s cagey as a wolf. “Now everyone wants to pop out in my den, every time you’re doin’ whatever you’re doin’—what are you doin’ down here, anyway?” “Using the elevator’s special features,” Nri says, slidin’ the gate closed. He inserts the key, turns it—and the elevator starts to go down. “Hey!” I says, as the blockhouse recedes above us. “I thought this was ground zero!” “Ground floor,” Nri corrects. “But no, it is not. The Werehold is a basement. This …” “Sub-basement?” I asks hopefully, as the shaft recedes above us. “I said I’d tell you on the surface,” Nri says. “I never said the surface of what.” And then … the world turns upside down. “Whooaoaaoaa!” I cries, as my feet lifts off the floor—and the elevator keeps descendin. Nri has moved to the side of the elevator, and grips the cage, turnin’ his body a hundred and eighty degrees, so his feet are pointin’ at the ceiling—and then I falls. Up! “Ow!” Nri’s feet land on the ceilin’. I lands on my noggin.
Ow! Embarrasin'. Why'd you have to call up that bit, Mister Biographer, huh? Rip your face off, I oughtta. Grr. And stop calling me cute when I growl. A tiger, I am, not to be mocked by those who could be morsels---stop touslin' my hair! Grrrrr. Enjoy, or whatevers. -Cinnamon, on behalf of the Centaur

Why I’m Solving Puzzles Right Now

centaur 0
When I was a kid (well, a teenager) I'd read puzzle books for pure enjoyment. I'd gotten started with Martin Gardner's mathematical recreation books, but the ones I really liked were Raymond Smullyan's books of logic puzzles. I'd go to Wendy's on my lunch break at Francis Produce, with a little notepad and a book, and chew my way through a few puzzles. I'll admit I often skipped ahead if they got too hard, but I did my best most of the time. I read more of these as an adult, moving back to the Martin Gardner books. But sometime, about twenty-five years ago (when I was in the thick of grad school) my reading needs completely overwhelmed my reading ability. I'd always carried huge stacks of books home from the library, never finishing all of them, frequently paying late fees, but there was one book in particular - The Emotions by Nico Frijda - which I finished but never followed up on. Over the intervening years, I did finish books, but read most of them scattershot, picking up what I needed for my creative writing or scientific research. Eventually I started using the tiny little notetabs you see in some books to mark the stuff that I'd written, a "levels of processing" trick to ensure that I was mindfully reading what I wrote. A few years ago, I admitted that wasn't enough, and consciously  began trying to read ahead of what I needed to for work. I chewed through C++ manuals and planning books and was always rewarded a few months later when I'd already read what I needed to to solve my problems. I began focusing on fewer books in depth, finishing more books than I had in years. Even that wasn't enough, and I began - at last - the re-reading project I'd hoped to do with The Emotions. Recently I did that with Dedekind's Essays on the Theory of Numbers, but now I'm doing it with the Deep Learning. But some of that math is frickin' beyond where I am now, man. Maybe one day I'll get it, but sometimes I've spent weeks tackling a problem I just couldn't get. Enter puzzles. As it turns out, it's really useful for a scientist to also be a science fiction writer who writes stories about a teenaged mathematical genius! I've had to simulate Cinnamon Frost's staggering intellect for the purpose of writing the Dakota Frost stories, but the further I go, the more I want her to be doing real math. How did I get into math? Puzzles! So I gave her puzzles. And I decided to return to my old puzzle books, some of the ones I got later but never fully finished, and to give them the deep reading treatment. It's going much slower than I like - I find myself falling victim to the "rule of threes" (you can do a third of what you want to do, often in three times as much time as you expect) - but then I noticed something interesting. Some of Smullyan's books in particular are thinly disguised math books. In some parts, they're even the same math I have to tackle in my own work. But unlike the other books, these problems are designed to be solved, rather than a reflection of some chunk of reality which may be stubborn; and unlike the other books, these have solutions along with each problem. So, I've been solving puzzles ... with careful note of how I have been failing to solve puzzles. I've hinted at this before, but understanding how you, personally, usually fail is a powerful technique for debugging your own stuck points. I get sloppy, I drop terms from equations, I misunderstand conditions, I overcomplicate solutions, I grind against problems where I should ask for help, I rabbithole on analytical exploration, and I always underestimate the time it will take for me to make the most basic progress. Know your weaknesses. Then you can work those weak mental muscles, or work around them to build complementary strengths - the way Richard Feynman would always check over an equation when he was done, looking for those places where he had flipped a sign. Back to work! -the Centaur Pictured: my "stack" at a typical lunch. I'll usually get to one out of three of the things I bring for myself to do. Never can predict which one though.

Nailed It (Sorta)

centaur 0
Here's what was in the rabbit hole from last time (I had been almost there): I had way too much data to exploit, so I started to think about culling it out, using the length of the "mumbers" to cut off all the items too big to care about. That led to the key missing insight: my method of mapping mumbers mapped the first digit of each item to the same position - that is, 9, 90, 900, 9000 all had the same angle, just further out. This distance was already a logarithm of the number, but once I dropped my resistance to taking the logarithm twice... ... then I could create a transition plot function which worked for almost any mumber in the sets of mumbers I was playing with ... Then I could easily visualize the small set of transitions - "mumbers" with 3 digits - that yielded the graph above; for reference these are: The actual samples I wanted to play with were larger, like this up to 4 digits: This yields a still visible graph: And this, while it doesn't let me visualize the whole space that I wanted, does provide the insight I wanted. The "mumbers" up to 10000 do indeed "produce" most of the space of the smaller "mumbers" (not surprising, as the "mumber" rule 2XYZ produces XYZ, and 52XY produces XYXY ... meaning most numbers in the first 10,000 will be produced by one in that first set). But this shows that sequences of 52 rule transitions on the left produce a few very, very large mumbers - probably because 552552 produces 552552552552 which produces 552552552552552552552552552552552552 which quickly zooms away to the "mumberOverflow" value at the top of my chart. And now the next lesson: finishing up this insight, which more or less closes out what I wanted to explore here, took 45 minutes. I had 15 allotted to do various computer tasks before leaving Aqui, and I'm already 30 minutes over that ... which suggests again that you be careful going down rabbit holes; unlike leprechaun trails, there isn't likely to be a pot of gold down there, and who knows how far down it can go? -the Centaur P.S. I am not suggesting this time spent was not worthwhile; I'm just trying to understand the option cost of various different problem solving strategies so I can become more efficient.

Don’t Fall Into Rabbit Holes

centaur 2
SO! There I was, trying to solve the mysteries of the universe, learn about deep learning, and teach myself enough puzzle logic to create credible puzzles for the Cinnamon Frost books, and I find myself debugging the fine details of a visualization system I've developed in Mathematica to analyze the distribution of problems in an odd middle chapter of Raymond Smullyan's The Lady or the Tiger. I meant well! Really I did. I was going to write a post about how finding a solution is just a little bit harder than you normally think, and how insight sometimes comes after letting things sit. But the tools I was creating didn't do what I wanted, so I went deeper and deeper down the rabbit hole trying to visualize them. The short answer seems to be that there's no "there" there and that further pursuit of this sub-problem will take me further and further away from the real problem: writing great puzzles! I learned a lot - about numbers, about how things could combinatorially explode, about Ulam Spirals and how to code them algorithmically. I even learned something about how I, particularly, fail in these cases. But it didn't provide the insights I wanted. Feynman warned about this: he called it "the computer disease", worrying about the formatting of the printout so much you forget about the answer you're trying to produce, and it can strike anyone in my line of work. Back to that work. -the Centaur

75K

centaur 1
I was going to write "And from his labors, he rested" but that's entirely to uncomfortably Messianic for me, so here's the scoop: on the last day of Nano, I have stopped at 75,282 words. This somehow all magically happened because I never lost my momentum after the Night of Writing Dangerously, oh, and because this is Cinnamon Frost, and she's awesome! This is the most I've ever written in Nano, by a long shot - almost 10,000 words more. Not quite, and I'm not super motivated to make it exactly 10,000 words more. If I think of more words tonight, eh maybe. Oh yes, the traditional excerpt:
The first challenge was easy—spirit. Awareness. Being aware of faerie. The second challenge was harder—mind. Intellect. Learnin’ the logic of faerie. The third challenge was the hardest of all. Body. Emotion. Feeling faerie in your bones. A huge cacklin’ thing bursts out of the water. Its head is as big as Krishna’s, a huge green dripping thing under a mass of hair, its wide smooth but mottled nose remindin’ me of a diseased muppet. We can’t see the thing’s eyes, but its arms loom around us. Ben and Surrey screams. “Do you care?” it screams, openin’ a maw filled with giant teeth the size of playing cards. I think it could swallow any of us whole. “Do you care if you diieie?” “Aaaah!” Benjamin and Surrey screams. “We care! We care!” The thing looms further forward. “Then flee, mortals, or you may perish here!” “Don’t flee,” I murmurs. “Or you may perish elsewhere—” “We—we will not flee,” Surrey cries. “For we may perish elsewhere,” Benjamin says with sudden insight. Did he hear me? “But stay here, and death will be certain, mortals!” the thing cries, loomin’ over them. “Stay anywhere, and death is certain, for mortals!” Benjamin cries. “And you don’t care if you die,” I murmurs into Surrey’s ear. “And we don’t care if we die,” Surrey says. “What? Ci—” “Surely death comes to all mortals,” Benjamin says. “Why should we care?” “I could make death hurt,” the thing cries, stretchin’ its arms out like a giant Muppet. “Or we could die in our sleep,” I murmurs. “But I can make death hurt him more.”
I actually have practically finished BOT NET,  so next up is Cinnamon Frost #3, ROOT USER! Oh, and editing Dakota Frost #4, SPECTRAL IRON! Due in about 4-5 months. Aaaaaaa! Onward! -the Centaur

Ludicrous Speed

centaur 0
If I keep up the pace that I've been keeping ... I won't just beat my best record ever (which I already have) ... ... I'll hit the somewhat ludicrous amount of 75,000 words in a month, beyond the 70,000 I've already hit. 4,648 words to hit that goal ... less than I did yesterday or even today. Let's get cracking. -the Centaur

Nanowrimo, Challenge Mode

centaur 0
If I write 11,293 words by the end of the month ... ~2900 words a day, not counting today ... I will beat my all time Nanowrimo record of 65,995 words: Sounds like a worthier goal than spending the same words responding to everyone who's wrong on the Internet. Onward! -the Centaur

Viiictory, Nineteen Times

centaur 0
So, I just succeeded the 19th time at National Novel Writing Month! This year, I was working on BOT NET, the second Cinnamon Frost novel. I'm writing these three books in one huge manuscript, which I successfully took from 179591 to 229911 words as of today! This year, the combination of participating in the Night of Writing Dangerously, plus having the luxury of taking off the week of Thanksgiving to write, really pushed me over the edge: Interesting, the hole at Thanksgiving. I wonder if that's true every year? That's not something you can readily see when you look at the yearly charts since it moves (stay tuned, these charts are going to come back later): There was a time when almost every post about Nanowrimo I'd include an excerpt. Frankly, that's gotten harder to do as I've switched from doing Nano once per year to three times per year; the Nano material has become more inchoate as I blaze new paths out into story space, requiring more work to turn it into final material. But, occasionally, I can indeed include some material that gives you a flavor ...
“I … I gotta be honest here. I needs help.” “Cinnamon,” Nri says gently. “I know that. I’ve had many, many students before.” “Another damn teacher,” I rollin’ my eyes. Then I realizes—“Did I say that out loud?” “Yes, you did,” Nri says, smiling sardonically. “I don’t even think that was Tourette’s.” “It-it wasn’t,” I says. “I’m sorry, sir, but …” I grimaces. I genuinely don’t know what tone to set here. Act like Mom’s world, use Southern politeness, act like the werekindred, use growls and barks … or, maybe, just be me? Who’s that then? “I, uh, don’t, ah, know how to say this but I wasn’t tryin’ to insult you before or to butter you up now but we gots a real situation and if we leaves it up to my Mom there’s a very good chance that the D of the W. A. will spirit my boyfriend and my alt-crush off to the wilds of nowhevers, and if the elders of the werehold finds out where they are they may go and do somethin’ stupid right on the doorsteps of people totally prepared to do somethin’ stupid, so I’m guessin’ the smart thing is for the people who are smart and wizardly to do somethin’ smart and wizardly, but I can’t do this alone, because I am, like, thirteen, and why in godsname does everybody think I can do everythin?” Nri stares, blinks, shakes his head, like he’s comin’ out of a trance. “God, I’d wish I’d timed that,” he says. “I think you talk faster than JFK—” “Who?” I asks. “Nevermind," Nri says. "I’m sold.”
Ah, Cinnamon, you and your wacky hijinks. Thanks for coming into my writing life, wherever the hell you came from. And now, on to all the things I've been putting off blogging while I've been working on Nano, including ... how to succeed at Nano! (I hope you'll agree I have some credentials in that area). Onward, fellow adventurers! -the Centaur

200,000 Words of Cinnamon Frost

centaur 0
Milestones are coming. And the first of these is catching up on my wordcount for my Nanowrimo project this November, BOT NET! Winning at Nano always feels like climbing a hill, but for me in particular it almost always feels like I start out sliding back down, Sisyphus-like, as I struggle to get a handle on the story. But then there comes that magic point where I need to write 1,666 words in a  day and I. Got. Nothing.  Then I'm forced to be creative, and the real fun stuff happens, an event I call "going off the rails". Hey, let's try to embed a tweet! So now things are back on track for the month, and I'm smack in the middle of where I normally am this time of Nano ... Actually, it appears I'm ahead. Checking the stats ... yep. At this point, I'm normally just shy of 6,000 words behind ( -5,984, though that estimate is numerically precise, it is not likely to be meaningfully accurate ) but today I am 169 words ahead of the Nano wordcount: I'm one more thing too: 200,000 words into the Cinnamon Frost trilogy. There are 3 published Dakota Frost novels: FROST MOON, BLOOD ROCK and LIQUID FIRE, and three more finished rough drafts: SPECTRAL IRON, PHANTOM SILVER, and SPIRITUAL GOLD. By my count, I've written about 900,000 words about Dakota Frost, Skindancer, the woman who can bring her tattoos to life. But in one sense, that's expected: I planned Dakota. I wanted to write a character that other people who can relate to. Cinnamon Frost, as I've said before, is a character I never expected. She shoved her way into the Dakota Frost universe, in one of those "step off into space moments", and she shows no signs of leaving. Cinnamon might say 200,000 seems significant because of how humans process patterns - how we love all those zeroes - but it's just a number: 2*10*10*10*10*10. But somehow, it feels right to take it this far, and I look forward to writing the next 100,000 to 150,000 words that will finish her trilogy and give her a chance to live her own literary life. Time to get back to it. -the Centaur P. S. I said milestones are coming. If you've read closely in this post, you'll realize another milestone is coming soon. Stay tuned ...

10,000 words into Nano

centaur 0
So, the good news: I just crossed the 10,000 word mark in Nanowrimo 2017! The bad news: I need to be at 13,333 words by today! The good-bad news is, normally I'm closer to 4500 words behind at this point of Nano, so I am ahead of where I am normally behind: What can I. say? "Don't get cocky, kid." Back to it ... -the Centaur

Timeline 10(ab)”’

centaur 0
No progress on BOT NET for Nanowrimo yet today ... yesterday I got my daily word count, but today I needed to core dump some ideas I'd been brewing about a Jeremiah Willstone novella, "Crypt of the Burning Scarab".  I had a brain flash about how to make the plot work out, involving a twisty time travel paradox I haven't seen before, and wanted to make sure I read up enough physics and math to make sure the idea made sense, then wrote it all down before I dove back into Cinnamon's world of mathematical magic. But you know your plot is complicated when you non-ironically need a timeline point 10(ab)''' - that's point 10, timelines A&B, variant 3 (prime prime prime). Happy writing ... -the Centaur Pictured: A few of the math/physics books I've been reading on this idea, plus the "GBC" (Goodfellow, Bengio and Courville) Deep Learning book which I'm (re)reading for work.

Nanowrimo 2017 in Process

centaur 0
"Okay, so ... um, hi! I'm Cinnamon Frost, and I'm here to tell you that my biographer, Anthony Francis, is busy as fuck writing my next adventure, BOT NET, for National Novel Writing Month!  He's real behind, so as soon as he finishes this post, he's, like, seriously, getting back to creatin' my universe!" Thanks, Cinnamon! Sounds about right! I am now 1170 words in and 3830 words behind according to my spreadsheet. Time to get cracking! I've got a laptop, a table and two and a half hours in the coffeehouse before it closes - GO! -the Centaur

All the States of Tic-Tac-Toe

centaur 0
Screenshot 2016-03-12 15.06.34.png NOT the most elegant Mathematica, but trying to do clever things with NestList was a pain. And my math was creating duplicate transitions, which is why the other graphs were so dense - and the layer size needed to be tweaked a bit to show both the starting and ending states more clearly. But, after some cleanup, it worked, after a bit of churning (click the image for a larger size): All the States of Tic Tac Toe.png

Visualizing Cellular Automata

centaur 0


cellular-automata-v1.png

SO, why's an urban fantasy author digging into the guts of Mathematica trying to reverse-engineer how Stephen Wolfram drew the diagrams of cellular automata in his book A New Kind of Science? Well, one of my favorite characters to write about is the precocious teenage weretiger Cinnamon Frost, who at first glance was a dirty little street cat until she blossomed into a mathematical genius when watered with just the right amount of motherly love. My training as a writer was in hard science fiction, so even if I'm writing about implausible fictions like teenage weretigers, I want the things that are real - like the mathematics she develops - to be right. So I'm working on a new kind of math behind the discoveries of my little fictional genius, but I'm not the youngest winner of the Hilbert Prize, so I need tools to help simulate her thought process.

And my thought process relies on visualizations, so I thought, hey, why don't I build on whatever Stephen Wolfram did in his groundbreaking tome A New Kind of Science, which is filled to its horse-choking brim with handsome diagrams of cellular automata, their rules, and the pictures generated by their evolution? After all, it only took him something like ten years to write the book ... how hard could it be?

Deconstructing the Code from A New Kind of Science, Chapter 2

Fortunately Stephen Wolfram provides at least some of the code that he used for creating the diagrams in A New Kind of Science. He's got the code available for download on the book's website, wolframscience.com, but a large subset is in the extensive endnotes for his book (which, densely printed and almost 350 pages long, could probably constitute a book in their own right). I'm going to reproduce that code here, as I assume it's short enough to fall under fair use, and for the half-dozen functions we've got here any attempt to reverse-engineer it would end up just recreating essentially the same functions with slightly different names.
Cellular automata are systems that take patterns and evolve them according to simple rules. The most basic cellular automata operate on lists of bits - strings of cells which can be "on" or "off" or alternately "live" or "dead," "true" and "false," or just "1" and "0" - and it's easiest to show off how they behave if you start with a long string of cells which are "off" with the very center cell being "on," so you can easily see how a single live cell evolves. And Wolfram's first function gives us just that, a list filled with dead cells represented by 0 with a live cell represented by 1 in its very center:

In[1]:= CenterList[n_Integer] := ReplacePart[Table[0, {n}], 1, Ceiling[n/2]]


In[2]:= CenterList[10]
Out[2]= {0, 0, 0, 0, 1, 0, 0, 0, 0, 0}


One could imagine a cellular automata which updated each cell just based on its contents, but that would be really boring as each cell would be effectively independent. So Wolfram looks at what he calls "elementary automata" which update each cell based on their neighbors. Counting the cell itself, that's a row of three cells, and there are eight possible combinations of live and dead neighbors of three elements - and only two possible values that can be set for each new element, live or dead. Wolfram had a brain flash to list the eight possible combinations the same each way every time, so all you have are that list of eight values of "live" or "dead" - or 1's and 0's, and since a list of 1's and 0's is just a binary number, that enabled Wolfram to represent each elementary automata rule as a number:

In[3]:= ElementaryRule[num_Integer] := IntegerDigits[num, 2, 8]

In[4]:= ElementaryRule[30]
Out[4]= {0, 0, 0, 1, 1, 1, 1, 0}


Once you have that number, building code to apply the rule is easy. The input data is already a string of 1's and 0's, so Wolfram's rule for updating a list of cells basically involves shifting ("rotating") the list left and right, adding up the values of these three neighbors according to base 2 notation, and then looking up the value in the rule. Wolfram created Mathematica in part to help him research cellular automata, so the code to do this is deceptively simple…

In[5]:= CAStep[rule_List, a_List] :=
rule[[8 - (RotateLeft[a] + 2 (a + 2 RotateRight[a]))]]


... a “RotateLeft” and a “RotateRight” with some addition and multiplication to get the base 2 index into the rule. The code to apply this again and again to a list to get the history of a cellular automata over time is also simple:

In[6]:= CAEvolveList[rule_, init_List, t_Integer] :=
NestList[CAStep[rule, #] &, init, t]


Now we're ready to create the graphics for the evolution of Wolfram's "rule 30," the very simple rule which shows highly complex and irregular behavior, a discovery which Wolfram calls "the single most surprising scientific discovery [he has] ever made." Wow. Let's spin it up for a whirl and see what we get!

In[7]:= CAGraphics[history_List] :=
Graphics[Raster[1 - Reverse[history]], AspectRatio -> Automatic]


In[8]:= Show[CAGraphics[CAEvolveList[ElementaryRule[30], CenterList[103], 50]]]
Out[8]=

rule-30-evolution.png



Uh - oh. The "Raster" code that Wolfram provides is the code to create the large images of cellular automata, not the sexy graphics that show the detailed evolution of the rules. And reading between the lines of Wolfram's end notes, he started his work in FrameMaker before Mathematica was ready to be his full publishing platform, with a complex build process producing the output - so there's no guarantee that clean simple Mathematica code even exists for some of those early diagrams.

Guess we'll have to create our own.

Visualizing Cellular Automata in the Small

The cellular automata diagrams that Wolfram uses have boxes with thin lines, rather than just a raster image with 1's and 0's represented by borderless boxes. They're particularly appealing because the lines are white between black boxes and black between white boxes, which makes the structures very easy to see. After some digging, I found that, naturally, a Mathematica function to create those box diagrams does exist, and it's called ArrayPlot, with the Mesh option set to True:

In[9]:= ArrayPlot[Table[Mod[i + j, 2], {i, 0, 3}, {j, 0, 3}], Mesh -> True]
Out[9]=

checkerboard.png


While we could just use ArrayPlot, it' s important when developing software to encapsulate our knowledge as much as possible, so we'll create a function CAGridGraphics (following the way Wolfram named his functions) that encapsulates the knowledge of turning the Mesh option to True. If later we decide there's a better representation, we can just update CAMeshGraphics, rather than hunting down every use of ArrayPlot. This function gives us this:

In[10]:= CAMeshGraphics[matrix_List] :=
ArrayPlot[matrix, Mesh -> True, ImageSize -> Large]


In[11]:= CAMeshGraphics[{CenterList[10], CenterList[10]}]
Out[11]=

lines-of-boxes.png


Now, Wolfram has these great diagrams to help visualize cellular automata rules which show the neighbors up top and the output value at bottom, with a space between them. The GraphicsGrid does what we want here, except it by its nature resizes all the graphics to fill each available box. I'm sure there's a clever way to do this, but I don't know Mathematica well enough to find it, so I'm going to go back on what I just said earlier, break out the options on ArrayPlot, and tell the boxes to be the size I want:

In[20]:= CATransitionGraphics[rule_List] :=
GraphicsGrid[
Transpose[{Map[
   ArrayPlot[{#}, Mesh -> True, ImageSize -> {20 Length[#], 20}] &, rule]}]]


That works reasonably well; here' s an example rule, where three live neighbors in a row kills the center cell :

In[21]:= CATransitionGraphics[{{1, 1, 1}, {0}}]
Out[21]=

Screenshot 2016-01-03 14.19.21.png  

Now we need the pattern of digits that Wolfram uses to represent his neighbor patterns. Looking at the diagrams and sfter some digging in the code, it seems like these digits are simply listed in reverse counting order - that is, for 3 cells, we count down from 2^3 - 1 to 0, represented as binary digits.

In[22]:= CANeighborPattern[num_Integer] :=
Table[IntegerDigits[i, 2, num], {i, 2^num - 1, 0, -1}]


In[23]:= CANeighborPattern[3]
Out[23]= {{1, 1, 1}, {1, 1, 0}, {1, 0, 1}, {1, 0, 0}, {0, 1, 1}, {0, 1, 0}, {0, 0,
1}, {0, 0, 0}}


Stay with me - that only gets us the first row of the CATransitionGraphics; to get the next row, we need to apply a rule to that pattern and take the center cell:

In[24]:= CARuleCenterElement[rule_List, pattern_List] :=
CAStep[rule, pattern][[Floor[Length[pattern]/2]]]


In[25]:= CARuleCenterElement[ElementaryRule[30], {0, 1, 0}]
Out[25]= 1


With all this, we can now generate the pattern of 1' s and 0' s that represent the transitions for a single rule:

In[26]:= CARulePattern[rule_List] :=
Map[{#, {CARuleCenterElement[rule, #]}} &, CANeighborPattern[3]]

In[27]:= CARulePattern[ElementaryRule[30]]
Out[27]= {{{1, 1, 1}, {0}}, {{1, 1, 0}, {1}}, {{1, 0, 1}, {0}}, {{1, 0, 0}, {1}}, {{0,
   1, 1}, {0}}, {{0, 1, 0}, {1}}, {{0, 0, 1}, {1}}, {{0, 0, 0}, {0}}}


Now we can turn it into graphics, putting it into another GraphicsGrid, this time with a Frame.

In[28]:= CARuleGraphics[rule_List] :=
GraphicsGrid[{Map[CATransitionGraphics[#] &, CARulePattern[rule]]},
Frame -> All]


In[29]:= CARuleGraphics[ElementaryRule[30]]
Out[29]=

Screenshot 2016-01-03 14.13.52.png

At last! We' ve got the beautiful transition diagrams that Wolfram has in his book. And we want to apply it to a row with a single cell:

In[30]:= CAMeshGraphics[{CenterList[43]}]
Out[30]=

Screenshot 2016-01-03 14.13.59.png

What does that look like? Well, we once again take our CAEvolveList function from before, but rather than formatting it with Raster, we format it with our CAMeshGraphics:

In[31]:= CAMeshGraphics[CAEvolveList[ElementaryRule[30], CenterList[43], 20]]
Out[31]=

Screenshot 2016-01-03 14.14.26.png

And now we' ve got all the parts of the graphics which appear in the initial diagram of this page. Just to work it out a bit further, let’s write a single function to put all the graphics together, and try it out on rule 110, the rule which Wolfram discovered could effectively simulate any possible program, making it effectively a universal computer:

In[22]:= CAApplicationGraphics[rule_Integer, size_Integer] := Column[
{CAMeshGraphics[{CenterList[size]}],
   CARuleGraphics[ElementaryRule[rule]],
   CAMeshGraphics[
CAEvolveList[ElementaryRule[rule], CenterList[size],
   Floor[size/2] - 1]]},
Center]

In[23]:= CAApplicationGraphics[110, 43]
Out[23]=


Screenshot 2016-01-03 14.14.47.png

It doesn' t come out quite the way it did in Photoshop, but we' re getting close. Further learning of the rules of Mathematica graphics will probably help me, but that's neither here nor there. We've got a set of tools for displaying diagrams, which we can craft into what we need.

Which happens to be a non-standard number system unfolding itself into hyperbolic space, God help me.

Wish me luck.

-the Centaur

P.S. While I' m going to do a standard blogpost on this, I' m also going to try creating a Mathematica Computable Document Format (.cdf) for your perusal. Wish me luck again - it's my first one of these things.

P.P.S. I think it' s worthwhile to point out that while the tools I just built help visualize the application of a rule in the small …

In[24]:= CAApplicationGraphics[105, 53]
Out[24]=

Screenshot 2016-01-03 14.14.58.png

... the tools Wolfram built help visualize rules in the very, very large:

In[25]:= Show[CAGraphics[CAEvolveList[ElementaryRule[105], CenterList[10003], 5000]]]

Out[25]=

rule-105-a-lot.png

That's 10,000 times bigger - 100 times bigger in each direction - and Mathematica executes and displays it flawlessly.

Effective Beverages

centaur 0

So after a gut punch, one of the most important things to do is to take time out to recuperate.

effectivesangria.png

But funny thing is, the highly effective sangria above wasn’t the thing that broke me out of my funk. When something bad happens, I try one of the following strategies to feel better:

  • Take a nap. Or just go to bed. Sleeping can sometimes reset your emotional state. When I had my big crisis of faith in the 90’s, converting from Catholicism to Episcopalianism, I slept for like a day and a half, rethinking my whole life. Of course, if you can’t fall asleep, that’s no good - I was up to 5:50AM this morning, so blech.
  • Take a walk. This can also provide metaphorical distance from your problems. During my crisis of faith, I walked around my apartment complex again and again, taking an inventory of my whole life, weighing and evaluating everything I could think of. Today, when I tried the same strategy, I was snarling at the air, so blech.
  • Change your scene. Talking to uninvolved humans, not connected with your dramas, really can help. I had an interview with a candidate, a technical conversation about deep learning with a TL, and, later, after my mood was lifted, another technical conversation with my waitress at Opa! about the econometrics of developing nations.

As for why that last conversation happened …

20160211_192947.jpg

Which goes to the next item on the list ...

  • Try shopping therapy. Doesn’t work for everyone, but I’m a bookhound. I ended up going to the Stanford Bookstore to try to pick up a book on large scale machine learning (it had sold out). The books themselves weren’t the solution, but I’m getting to that - but it did involve the books in a tangential way.
  • Get some coffee. The inventor of the idea of separation of powers, Montesquieu, reportedly once said “coffee renders many foolish people temporarily capable of wise actions” and I’ve found that to be true - which perhaps suggests that we should install a Starbucks in the Congress and change the structure of our political debates, but nevermind. It helped.

You’ll note that nowhere in here is “get a drink.” That’s a terrible idea - if you think you need a drink, you probably shouldn’t have one, as needing a drink is the road to alcoholism. For that reason, and many others, I always stop at one drink per day - period. No matter how strong the drink, it’s almost impossible for a one hundred and eighty pound male to get drunk on just one.

Having a drink after you feel better, on the other hand, can be a great relaxer. But how do you get to that relaxed state? Well, one thing I try is, well, trying to resolve the problem.

  • Talk to the people involved. I have a theory that if you have a problem with a person and leave it alone, your emotional reaction will be frozen, even intensified over time - a theory based on my personal experience, but backed by cognitive emotional theories which say your emotions are derived from your stance, your relationship to the people, actions and events in the world - which doesn’t change if you don’t give yourself the chance to have new experiences with those people. Thanks to the fact that it’s the twenty-first century, this can be done via text, even when people don’t have time to talk.

But the point at which it turned wasn’t when I got a drink. It wasn’t after I took a nap, took a walk, talked to people, changed the scene, got a book on political economy, got coffee, or texted the involved parties to finalize the resolution of yesterday evening’s gut punch. It happened at very strange place, as I was drinking coffee, as I was reading, as I was texting with my friends to resolve the problem, I got sucked in to the problem that prompted me to get the book, a question I heard in an unrelated political debate from last night. As is usual in these cases, I found that the debate followed the rule of thirds: on a third of the topics, my buddy was definitively wrong, on a third, I was definitively wrong, and on the middle third, there were open unresolved questions worthy of debate. And as I started to look at those questions … I had a brainflash on how to solve them.

And then on a meta-brain-flash, as I realized what tacking the problem was doing to my mental state: it was fixing it.

  • Do the work. Find something you love, and cultivate the ability to throw yourself into it. If you’ve had a gut punch, you might have a bad taste in your mouth about a lot of the projects you were working on … but get your brain into a new space, and all those behavior programs will execute … and give you something new to fall (intellectually) in love with.

The particular question I was tracking - how to evaluate economic policies - is something I’m going to be working on for a while, but I can give you a flavor for it: how do you know whether a political candidate’s economic policies will work? Sometimes that’s easy: for example, Democrats like to spend when the economy’s doing well, and Republicans like to cut when the economy is doing poorly - and both sides are dead wrong. An economy is not a household - cutting spending in a slump will cut the state’s tax revenues and cause an austerity spiral and increased debt; spending in a boom incurs obligations that the state can’t sustain in the next slump and increased risk. These are pretty close to ironclad laws, that operate whether you believe in big government or small or low taxes or high; those are just the dynamics of economies whether you like it or not - whether you believe it or not, suck it up.

But looking long term, some policies promote growth, and some don’t; and it isn’t always clear which is which. What’s worse, exogenous factors - those pesky world events like wars and plagues and wardrobe malfunctions - throw an unavoidable amount of static on top of whatever we’re trying to measure.

The book I’m reading gives me, so far, the impression that individual outcomes are, roughly, helped by a country’s growth, and a country’s growth is affected by things it can't control, like the luck of history and geography, and things it can, like culture and institutions, with evidence strongly suggesting that institutions matter more than culture, since some countries have kept their cultures but changed their institutions and shown amazing growth. The factors that seem to affect this most are protecting private property, having enforceable contracts, reducing barriers for investment, having a level playing field for businesses, and creating equality of opportunity for citizens … but …

But how much of this is noise, and how much is reality?

And that got me thinking: if you assumed some randomness affecting growth, could you tell apart policies that caused 1 percent growth, or 2 percent growth, or 3 percent growth?

Turns out ... you can.

The Promise of Growth v1.png

The central red line is 2% growth, projected out over 20 years. The dotted lines above and below it are 1% and 3% growth … and the grey range is the max and min of a stochastic simulation of ten different histories, each with 5% random variation from year to year, which looks something like this:


The Alternatives to Growth v1.png

The point is, if you get a gut punch - like in the bottom trajectory above - it can look like you’re running a bad policy on a time range of a decade or more before things start to get back on track. On twenty year time horizons, however, you really can start to see an affect. On even longer time horizons, having the right polices can be the difference between a country like Nigeria - rich with oil wealth, yet having a flat growth range - versus a country like the US or Japan or even Botswana or South Korea.

This doesn’t show whether I or my buddy is right - in fact, this model, even as an abstract model, would need to be augmented greatly, to get a proper range of growth rates, of randomness, of the types of exogenous influences and their timescales. But even in its current state, it shows that under a very broad set of assumptions … I and my buddy were right to wrestle over this problem.

What we do now matters, not just in the next election, but twenty years down the road.

And doing that work took me out of my slump. It connected me to an earlier conversation, to earlier problem solving skills not engaged with what I’d been doing just prior to the gut punch. The gut punch still needs to be dealt with - but now it’s just an event, not a thing that causes random spikes of rage and anger when I’m trying to drink my coffee.

effectivecoffee.png

And that’s how I learned a new way to deal with a gut punch.

-the Centaur

Appendix. The graphs above were generated via the following Mathematica code:

RandomGrowth[initial_, rate_, fuzz_] :=
initial (1 + rate) (1 + RandomReal[{-fuzz, fuzz}])

ProjectGrowth[initial_, rate_, fuzz_, years_] :=
NestList[RandomGrowth[#, rate, fuzz] &, initial, years]

InterpolateGrowth[initial_, rate_, fuzz_, years_] :=

Interpolation[ProjectGrowth[initial, rate, fuzz, years]]

FuzzyGrowth[initial_, rate_, fuzz_, years_] :=
Table[InterpolateGrowth[initial, rate, fuzz, years], {iterations, 10}]


fuzzyTwoPercent = FuzzyGrowth[1, 0.02, 0.05, 100]

Plot[{
Min[Map[#[x] &, fuzzyTwoPercent]], Max[Map[#[x] &, fuzzyTwoPercent]],
InterpolateGrowth[1.0, 0.02, 0.0, 100][x],
InterpolateGrowth[1.0, 0.01, 0.0, 100][x],
InterpolateGrowth[1.0, 0.03, 0.0, 100][x]},
{x, 1, 20},
Filling -> {1 -> {2}},
AxesOrigin -> {1, 1},
AxesLabel -> {"Years Downrange", "Growth Rate"},
PlotStyle -> {Thin, Thin, Thick,
   Directive[Thick, Dashed],
   Directive[Thick, Dashed]}]


The Promise of Growth v1.png

and

Plot[{InterpolateGrowth[1.0, 0.02, 0.0, 100][x], Map[#[x] &, fuzzyTwoPercent]},
{x, 1, 20},
AxesOrigin -> {1, 1},
AxesLabel -> {"Years Downrange", "Growth Rate"},
PlotStyle ->
{Thick,
Thin, Thin, Thin, Thin, Thin,
Thin, Thin, Thin, Thin, Thin}]


The Alternatives to Growth v1.png

I hope you enjoyed this exercise in computational therapy.