<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text" xml:lang="en">Ethan Fast</title>
    <link type="application/atom+xml" href="http://ethanfast.com/atom.xml" rel="self"/>
    <link type="text/html" href="http://ethanfast.com" rel="alternate"/>
    <updated>2013-03-03T18:27:21-08:00</updated>
    <id>http://ethanfast.com/</id>
    <author>
        <name>Ethan FAst</name>
    </author>
    <rights>Copyright (c) 2012 Ethan Fast</rights>
    
    <entry>
        <title>Go Meta</title>
        <link href="http://ethanfast.com/2012/09/go-meta//"/>
        <updated>2012-09-07T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/09/go-meta//</id>
        <summary type="html">&lt;h1&gt;GO &lt;span class=&quot;caps&quot;&gt;META&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;I think it&amp;#8217;s easy, sometimes, to become frustrated by events or circumstances outside of our control, and since frustration is rarely useful, I&amp;#8217;ve developed a strategy which, with high probability, will make it go away. I call this strategy &lt;em&gt;go meta&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We tend to think and get annoyed about things we perceive through direct experience. The dog barks too loudly, perhaps, or your grandfather just told you to shut up, or your spouse left the garage door open. These are all surface reactions to your environment, causes which justify your irritation.&lt;/p&gt;
&lt;p&gt;But I don&amp;#8217;t like to become annoyed without deciding to be annoyed, nor play the puppet to environmental stimulus (or possibly human intention, if you&amp;#8217;re dealing with someone who enjoys manipulation). So I step back and think thoughts about thinking.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;ve become frustrated, you can examine that frustration. Does it benefit you? (Not usually). Can the situation be spun in your favor? The act of introspection, itself, is often enough to get rid of unwanted emotion.&lt;/p&gt;
&lt;p&gt;So when the dog barks, you don&amp;#8217;t get annoyed, or maybe you do, but first you catch yourself. You think: I&amp;#8217;ve become annoyed, and do I want to be the sort of person annoyed by a barking dog? The dog&amp;#8217;s barking may be &lt;em&gt;unfair&lt;/em&gt;, and you may even decide to take steps toward a remedy (buy a shotgun?) but there isn&amp;#8217;t any need to feel personally invested &amp;#8212; unless of course you want to be.&lt;/p&gt;
&lt;p&gt;This strategy can be useful in other kinds of situations, though the principle is the same. Ever felt disrespected? You should ask yourself whether it&amp;#8217;s of any benefit to feel that way. Second order (or third order) thinking can present you with freedoms otherwise absent from your surface interactions with the world.&lt;/p&gt;
&lt;p&gt;People and circumstance and fate may do things you don&amp;#8217;t like, but you can always control your reaction. Just go meta.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>The Signal is not the Goal</title>
        <link href="http://ethanfast.com/2012/07/the-signal-is-not-the-goal//"/>
        <updated>2012-07-27T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/07/the-signal-is-not-the-goal//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;SIGNAL&lt;/span&gt; IS &lt;span class=&quot;caps&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;GOAL&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;I&amp;#8217;ve &lt;a href=&quot;http://ethanfast.com/2011/05/the-artful-mastering-of-goals/&quot;&gt;warned&lt;/a&gt; against too strong an investment in goals, if you risk altering your motivations. Self-modification is a dangerous thing, and behavior often leads to belief. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] As Pascal might say (and I paraphrase): &amp;#8220;Have trouble believing in God? Just go to church.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Consider your environment carefully, for if you are like most humans, you might start to conform. It&amp;#8217;s a subtle process.&lt;/p&gt;
&lt;p&gt;But this isn&amp;#8217;t the end of the story. Goals are tricky, and you should take care to choose them properly. Sometimes, people mistake signal for substance. I need to remind myself on occasion: &lt;em&gt;the signal is not the goal&lt;/em&gt;. Signaling that you&amp;#8217;re on a path to Greatness doesn&amp;#8217;t mean you&amp;#8217;re actually walking it.&lt;/p&gt;
&lt;p&gt;When you set a signal as your goal, you misinterpret causality. I have seen undergrads who might say, &amp;#8220;Great persons X, Y, and Z got PhD&amp;#8217;s from the Ivy League, and so I should do that too.&amp;#8221; They confuse cause with effect.&lt;/p&gt;
&lt;p&gt;Great people (if they are actually Great) tend to have reasons for doing what they do. They don&amp;#8217;t simply follow some greedy function of ambition, snatching up opportunities that look like something in which a successful person might engage. To the extent that a Great person signals Greatness with a fancy degree or credential, this signal is often a byproduct of a specific goal she set out to achieve. It is not the root cause of the success, but a side-effect.&lt;/p&gt;
&lt;p&gt;Suppose that persons X, Y, and Z are Great Philosophers. In undergrad they studied hard, and wrote impressive things. They had no social life and thought all day about philosophy. Perhaps, these qualities got them into Ivy League PhD programs.&lt;/p&gt;
&lt;p&gt;And perhaps (cue the shudder), what made them Great was not their Ivy League PhD programs, but their innate talent and devotion to philosophy. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;Our undergrad ought not to worry about getting into the PhD programs, but rather about studying philosophy. While she also needs to be &lt;em&gt;noticed&lt;/em&gt; (signaling never goes away), that is not the main thing. For if she sets the signal (e.g. the Ivy PhD program) as her goal, and spends all her time schmoozing with professors instead of studying philosophy, this will not help her in the long run. Even if she gains entry into the program, she won&amp;#8217;t be able to take advantage of the opportunity. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr3&quot;&gt;&lt;a href=&quot;#fn3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;So I try to be careful. Signaling is important, but it is not the endgame. It does not lead to Greatness.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; I&amp;#8217;m sure that a few thousand books have been written on the power of habit, but I haven&amp;#8217;t read any of them.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Of course this is not completely true. There are better peers, mentors, and resources at good universities.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn3&quot;&gt;&lt;a href=&quot;#fnr3&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; For similar reasons, most undergrads shouldn&amp;#8217;t drop out of Harvard or Stanford, despite the signal this might send (look at those rich founder dropouts)!&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>The Ocean-lake of Old Earth</title>
        <link href="http://ethanfast.com/2012/07/the-ocean-lake-of-old-earth//"/>
        <updated>2012-07-16T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/07/the-ocean-lake-of-old-earth//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;OCEAN&lt;/span&gt;-&lt;span class=&quot;caps&quot;&gt;LAKE&lt;/span&gt; OF &lt;span class=&quot;caps&quot;&gt;OLD&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;EARTH&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;[Note: I wrote this piece of short fiction as an exercise in mood. It is meant to be disjointed and something of a puzzle. Obviously the narrator is not me.]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I sleep in the woods by the ocean-lake of old earth. There the tree branches whisper to me like serpents of the evening, they tell me secrets of dying roots and rotting bark, a past dormant in the flesh. Animals caper over the night leaves, the wolves and the great jungle cats of the east. Their eyes glow in the too-white light of the moon as they beckon me to the hunt. You must rise, they say, before we can follow. We will climb and kill and be. As the world once was, so again it might become.&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;Let me be clear about one thing: I did not do a cartwheel to please the old man. I cartwheeled because that was what I wanted.&lt;/p&gt;
&lt;p&gt;I stood on the stage of Antimony in the great fair of Nicharis, and though the audience roared around me like a mob of small children, I did not belong to them, but they to me. My body danced across the stage, a flash-point tension of limbs against earth, wooden slats beneath bare feet. I leapt high and fell long, yet always belatedly I would recover. Watch me, I shouted in the physical language, the mute tongue of subtle waver and false fall. For though I teased my audience with failure (which all crowds desire), I never once gave it to them. I embodied for them those untouchable aspirations which they wanted to crush but could never silence.&lt;/p&gt;
&lt;p&gt;The old man had gotten perfection from me many times over, but still it seemed he wanted something more. &amp;#8220;Tumble,&amp;#8221; he said. &amp;#8220;Do the split-kick-twist!&amp;#8221;&lt;/p&gt;
&lt;p&gt;I had no idea what he meant, but of course he had no idea what he was asking. I double-backflipped and fell, my hand a percussive whip against the boards, and twisted into a cartwheel to finish before him. A smile spread across his face like a hole in the world, his rotten teeth guardians to some abyss of memory. His eyes held the euphoria of a master. My own teeth smiled back, these bright and clean. He thought I had spun on his command: not true. But I saw his kind often enough and they had long ago ceased to bother me.&lt;/p&gt;
&lt;p&gt;That day, then, I must have been in a poor mood.&lt;/p&gt;
&lt;p&gt;When my body tensed again and sprung, it flew in the familiar pattern of its training. But as I rose my right foot extended, and as I spun my bare toe clipped the chin of the old man. My motion interrupted, I salvaged the exercise with a slight adjustment to my lower calves and landed lightly as before.&lt;/p&gt;
&lt;p&gt;The old man had been flung back upon the ground, and now he lay motionless on the reddish-grey cobblestones. A crowd had formed within my crowd, breathless and murmuring. They surrounded the old man, prodded him.&lt;/p&gt;
&lt;p&gt;&amp;#8220;I think he&amp;#8217;s dead,&amp;#8221; someone said.&lt;/p&gt;
&lt;p&gt;Yes, this was so &amp;#8212; I somehow guessed it. I think I&amp;#8217;d known before the leap, before the catch of toe against chin. Perhaps I&amp;#8217;d known before the old man had spoken. He had called to me, a deep and guarded part of my soul; I had responded.&lt;/p&gt;
&lt;p&gt;I knew something else also: this performance had ended my career.&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;See the tunnel wind upwards like the Anaconda of Bristal, and watch it quick, for it suffocates the light, twining round as that snake had wrapped the King&amp;#8217;s son, warm and sleek and too-cozy, before it turned back and poisoned its mistress. I saw it then, that trace of day which fell through the small and winding pathway, though I couldn&amp;#8217;t see the sky itself.&lt;/p&gt;
&lt;p&gt;Prisons are awful places, but worst are those from which you cannot view the stars.&lt;/p&gt;
&lt;p&gt;I lay on the stone and meditated, choked my fear on the stale air; I captured it, conquered it, and put it away. Our sun had come and gone several times before the priest woke me. He was a small and wrinkled thing, thin and smelling of sulfur.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Do you understand why you are here?&amp;#8221;&lt;/p&gt;
&lt;p&gt;I sat up, my legs crossed upon the cell floor. &amp;#8220;I killed the old man.&amp;#8221;&lt;/p&gt;
&lt;p&gt;&amp;#8220;Yes, but that isn&amp;#8217;t the reason.&amp;#8221; He gave a derisive snort. At my expense or the old man&amp;#8217;s I couldn&amp;#8217;t determine.&lt;/p&gt;
&lt;p&gt;He spoke the truth. Were killing a crime, this place would have overflowed long ago, though that wasn&amp;#8217;t now the point. In the old stories, it never does any good to answer a priest. Always they will do with you as they wish, and if you cooperate they will only do it sooner.&lt;/p&gt;
&lt;p&gt;The priest moved his pale face closer to the bars, and torchlight flickered behind him. Deep shadow hid his eyes beneath a cloak&amp;#8217;s hood. He did well to hide them. Had I been able to see the eyes, that might have made a difference.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Peasants die every day, in every kind of way. The trick is how it&amp;#8217;s done, how in fact you did it.&amp;#8221; He tapped at a metal bar with one long, gloved finger. &amp;#8220;The how&amp;#8217;s the thing that gets the ring.&amp;#8221;&lt;/p&gt;
&lt;p&gt;&amp;#8220;Yes,&amp;#8221; I said. &amp;#8220;The ring.&amp;#8221;&lt;/p&gt;
&lt;p&gt;I didn&amp;#8217;t admit anything, but the priest was a liar: we both knew exactly how I had killed the old man.&lt;/p&gt;
&lt;p&gt;#&lt;/p&gt;
&lt;p&gt;Gallows sing the song of silence, a grand performance which trumpets the extant contrast of Nothing. An old song, it plays not in our screams and whimpers and grunts, but in the emptiness that follows.&lt;/p&gt;
&lt;p&gt;I climbed the steps to my own dark melody, and as I did I sang its countering verse. They could have stopped me had they wanted, but they didn&amp;#8217;t care. My voice carried over everything, yet it had no effect on anyone at all. For my song was a lie, and reality swept over it, some objective tempest, to drown it out with the truth.&lt;/p&gt;
&lt;p&gt;The ring waited. Eventually, it draped golden around my neck. A pause, then I stepped forward.&lt;/p&gt;
&lt;p&gt;So now I sleep.&lt;/p&gt;
&lt;p&gt;I watch for the time I will wake, which hasn&amp;#8217;t come.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Old Palo Alto</title>
        <link href="http://ethanfast.com/2012/07/old-palo-alto//"/>
        <updated>2012-07-15T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/07/old-palo-alto//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;OLD&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PALO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;ALTO&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;I walk sometimes through Old Palo Alto. It&amp;#8217;s where the richest people live, a few miles outside the main drag, a place where property values reach into the tens of millions. I find it amusing to pretend to be a person who lives in one of these houses, a bit of young money out for a stroll. Of course I don&amp;#8217;t particularly want to live in that neighborhood, and I don&amp;#8217;t care about money (at least, not for &lt;em&gt;that&lt;/em&gt; reason), but it&amp;#8217;s a game of mine.&lt;/p&gt;
&lt;p&gt;So in Old Palo Alto I turn up my shoulders and walk with that relaxed, confidant air you see sometimes in people around here. I play sidewalk chicken with my fellow pedestrians (who are rare), and I generally enjoy the scenery. In Old Palo Alto, trees always line the streets. It is very beautiful.&lt;/p&gt;
&lt;p&gt;Today I walked by Steve Job&amp;#8217;s house.&lt;/p&gt;
&lt;p&gt;I think it was his house, anyway. It was on the right street. I don&amp;#8217;t actually know what his house looks like. But this particular house had a group of four eastern Europeans lounging on the sidewalk before the front lawn: two men and two women.&lt;/p&gt;
&lt;p&gt;They saw me approaching, and I had an intuition that something would happen. You probably know it, that slight tension which seems to build before two strangers enter into a conversation. I was still yards away, so I tried to look more imposing to ensure they wouldn&amp;#8217;t bother me.&lt;/p&gt;
&lt;p&gt;I thought I&amp;#8217;d made it past them, when one of the men spoke. His hand hailed me with a yellow rubber ball.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Is this Steve Job&amp;#8217;s house?&amp;#8221; He waved at the property across the sidewalk.&lt;/p&gt;
&lt;p&gt;He had a thick accent, and I had him repeat the question. The house he meant was undergoing renovation, but I wasn&amp;#8217;t sure whether this made his suspicion more or less likely. I told him I didn&amp;#8217;t know.&lt;/p&gt;
&lt;p&gt;&amp;#8220;But don&amp;#8217;t you live here?&amp;#8221;&lt;/p&gt;
&lt;p&gt;&amp;#8220;I live around here, but not &lt;em&gt;here&lt;/em&gt;.&amp;#8221; I shrugged and gestured at the ground. &amp;#8220;It might be his house, I don&amp;#8217;t know.&amp;#8221; I took a step forward.&lt;/p&gt;
&lt;p&gt;&amp;#8220;You&amp;#8217;re not &lt;em&gt;sure&lt;/em&gt; whether this is Steve Jobs house?&amp;#8221; he said. I suppose he might have thought I was lying. He looked incredulous. I should have asked him &lt;em&gt;why&lt;/em&gt; he wanted to know, but I didn&amp;#8217;t. I just shook my head and kept walking.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s life in Palo Alto.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Reciprocity and the Status Quo</title>
        <link href="http://ethanfast.com/2012/04/reciprocity-and-the-status-quo//"/>
        <updated>2012-04-24T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/04/reciprocity-and-the-status-quo//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;RECIPROCITY&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;AND&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;STATUS&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;QUO&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;22 April, 2012 &amp;#8212; Menlo Park, CA&lt;/p&gt;
&lt;p&gt;Humans tend to reciprocate by default. Do me a favor, and I&amp;#8217;m inclined to repay in kind. You don&amp;#8217;t have to be a determinist to see the mental gears turn.&lt;/p&gt;
&lt;p&gt;As Cialdini [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] would say: click, whirr.&lt;/p&gt;
&lt;p&gt;Problems arise when savvy individuals take advantage of this mechanism. A car salesmen will do you trivial favors: open your door, adjust your seat, offer to help you with your coat, and so on. She hopes you will reciprocate by buying a car.&lt;/p&gt;
&lt;p&gt;Yet while a deft manipulator takes advantage of our urge to reciprocate, repeated reciprocity is not nearly so useful. Humans may be inclined to repay a single favor, but a series of similar favors can actually leave us &lt;em&gt;less&lt;/em&gt; inclined.&lt;/p&gt;
&lt;p&gt;For two wrongs do make a right, when reciprocity interacts with the status quo.&lt;/p&gt;
&lt;p&gt;The status quo bias leads us to privilege what is normal. It provides an anchoring effect [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] that keeps us in our comfort zone. And it can subsume reciprocity. For when the same &amp;#8220;favor&amp;#8221; is done often enough, it slips into our notion of what is normal. A truly expected favor is not really a favor at all. It becomes an entitlement. So to take advantage of reciprocity, you must provide an &lt;em&gt;unexpected&lt;/em&gt; favor. Otherwise we will wrap it into the status quo on which we anchor, justly or unjustly.&lt;/p&gt;
&lt;p&gt;In this way your salary, which at first may have seemed exorbitant, soon becomes a matter of simple justice. For it is a repeated event. Bonuses more effectively instill your loyalty through reciprocation.&lt;/p&gt;
&lt;p&gt;Pit the reciprocity bias against anchoring in a fight to the death, and you might end up with a Rational Human. But better to avoid either in the first place.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; I recommend his book, &lt;a href=&quot;http://www.amazon.com/Influence-Science-Practice-5th-Edition/dp/0205609996/ref=sr_1_3?s=books&amp;amp;ie=UTF8&amp;amp;qid=1335289034&amp;amp;sr=1-3&quot;&gt;Influence: Science and Practice&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Obligatory &lt;a href=&quot;http://en.wikipedia.org/wiki/Anchoring&quot;&gt;wikipedia link&lt;/a&gt;. I can also vouch for Baron&amp;#8217;s &lt;a href=&quot;http://www.amazon.com/Thinking-Deciding-Jonathan-Baron/dp/0521862078/ref=tmm_hrd_title_0&quot;&gt;Thinking and Deciding&lt;/a&gt; as a reasonable introduction to human decision-making (and the biases therein).&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Ask the Question</title>
        <link href="http://ethanfast.com/2012/04/ask-the-question//"/>
        <updated>2012-04-23T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/04/ask-the-question//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;ASK&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;QUESTION&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;22 April, 2012 &amp;#8212; Menlo Park, CA&lt;/p&gt;
&lt;p&gt;You should ask the question more often. What the question is doesn&amp;#8217;t particularly matter, nor does the reason you ask it. You don&amp;#8217;t even have to say anything, not vocally.&lt;/p&gt;
&lt;p&gt;But you should ask anyway.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/2012/04/importance-of-perception/&quot;&gt;Implicit assumptions&lt;/a&gt; can be dangerous. I often find myself wondering, as I reconstruct a conversation I&amp;#8217;ve just enjoyed, why I took &lt;em&gt;that&lt;/em&gt; at face value (and &lt;em&gt;that&lt;/em&gt; can be just about anything). I&amp;#8217;m sure most people have had a similar experience. Yet &lt;em&gt;that&lt;/em&gt; doesn&amp;#8217;t have be a human utterance. It might be a sale at your local supermarket, or an unfamiliar face that meets your eyes across a crowded intersection.&lt;/p&gt;
&lt;p&gt;The important thing is a thing of omission. You didn&amp;#8217;t question &lt;em&gt;that&lt;/em&gt;, whatever it was. You just imbibed it, and shoved it &amp;#8212; perhaps kicking and screaming &amp;#8212; into your existing worldview. You may have made a mistake, or you may have been entirely correct, but you never thought about it.&lt;/p&gt;
&lt;p&gt;Of course you can&amp;#8217;t truly think about everything you do. This would be an enormous waste of time. But it&amp;#8217;s safe to say that most of us are in no danger of introspective paralysis, at least not with respect to our perceptions. So ask the question more often. It doesn&amp;#8217;t matter what you ask.&lt;/p&gt;
&lt;p&gt;To be useful, the question needs only to exist.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>See Things as They Are</title>
        <link href="http://ethanfast.com/2012/04/importance-of-perception//"/>
        <updated>2012-04-22T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/04/importance-of-perception//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;SEE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THINGS&lt;/span&gt; AS &lt;span class=&quot;caps&quot;&gt;THEY&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;ARE&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;22 April, 2012 &amp;#8212; Menlo Park, CA&lt;/p&gt;
&lt;p&gt;It can be hard to see things as they are. Perceptions embody implicit assumptions which, often, allow you to arrive efficiently at truth,  and to parse the world at speed. But not always.&lt;/p&gt;
&lt;p&gt;When you perceive, you ought to recognize what assumptions you&amp;#8217;ve made, and what others you&amp;#8217;re predisposed to making. Otherwise you can elide the details of reality. You might assume easy or pleasant abstractions.&lt;/p&gt;
&lt;p&gt;Reality doesn&amp;#8217;t care if you elide it. It just &lt;em&gt;is&lt;/em&gt;. But make predictions on the basis of what &lt;em&gt;isn&amp;#8217;t&lt;/em&gt;, and you&amp;#8217;re likely to suffer.&lt;/p&gt;
&lt;p&gt;Suppose I see &amp;#8220;a mother walking with her baby down the street.&amp;#8221; Wrong. I&amp;#8217;ve generalized from incomplete data. What I actually see is a middle-aged woman pushing a stroller. I don&amp;#8217;t see the baby, and I couldn&amp;#8217;t possibly see the blood-ties, supposing that a baby exists. Yet what I perceive is a mother.&lt;/p&gt;
&lt;p&gt;In this particular situation, what &lt;em&gt;is&lt;/em&gt; likely agrees with what I perceive. It&amp;#8217;s a simple matter of probabilities. Most women walking down the street with strollers do have a baby in the stroller and are that baby&amp;#8217;s mother. But while this may be true, my mind doesn&amp;#8217;t go through that chain of reasoning.&lt;/p&gt;
&lt;p&gt;Things don&amp;#8217;t always work out so nicely.&lt;/p&gt;
&lt;p&gt;For instance, tricky software bugs often arise from incorrect implicit assumptions. If you assume something and don&amp;#8217;t think about it, then you don&amp;#8217;t consider that it might have a role in what&amp;#8217;s going wrong, and you certainly don&amp;#8217;t fix it. So people who can debug software well are good at making implicit assumptions explicit. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;And if humans are capable of naive perceptions about something as logical as computer software, I suspect that we make more and worse mistakes in the broader context of life.&lt;/p&gt;
&lt;p&gt;Perceive carefully.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Another reason to encourage &lt;a href=&quot;/2012/02/the-rise-of-coderacy/&quot;&gt;coderacy&lt;/a&gt;.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Counterintuition Killed By Bayes</title>
        <link href="http://ethanfast.com/2012/04/counterintuition-killed-by-bayes//"/>
        <updated>2012-04-07T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/04/counterintuition-killed-by-bayes//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;COUNTERINTUITION&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;KILLED&lt;/span&gt; BY &lt;span class=&quot;caps&quot;&gt;BAYES&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;26 March, 2012 &amp;#8212; Menlo Park, CA&lt;/p&gt;
&lt;p&gt;All my formal statistics training has come from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Frequentist_inference&quot;&gt;frequentist&lt;/a&gt; perspective, and lately I&amp;#8217;ve &lt;a href=&quot;http://www.amazon.com/gp/product/0470141158/ref=oh_o00_s00_i01_details&quot;&gt;been&lt;/a&gt; taking &lt;a href=&quot;http://www.amazon.com/gp/product/0521592712/ref=oh_o00_s00_i00_details&quot;&gt;steps&lt;/a&gt; to &lt;a href=&quot;http://www.amazon.com/gp/product/0521592712/ref=oh_o00_s00_i00_details&quot;&gt;remedy&lt;/a&gt; that.&lt;/p&gt;
&lt;p&gt;So it&amp;#8217;s not too surprising that, as my mind drifted awake in the shower this morning, I began to think about Monty Hall. Not the person, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/Monty_Hall_problem&quot;&gt;famously counterintuitive problem&lt;/a&gt;. That is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You are presented with three doors. B1, B2, and B3. Behind one of these doors is a car. The other two reveal goats. Monty asks you to choose a door, and says that you will be able to keep whatever is behind your selection. So you make your choice.&lt;/p&gt;
&lt;p&gt;Monty then smiles mischievously, and opens one of the doors you did not choose. The door Monty opens will &lt;em&gt;always&lt;/em&gt; contain a goat. Now Monty offers you the option to switch doors. Presuming you want a car, what should you do?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Naturally, you should always switch doors. But is that &lt;em&gt;intuitive&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Instructors present this problem as a parlor trick to just about every undergraduate who&amp;#8217;s ever taken a math class, and so I&amp;#8217;d long since internalized the careful logic that leads to an &lt;a href=&quot;http://en.wikipedia.org/wiki/Monty_Hall_problem#Vos_Savant.27s_solution&quot;&gt;appropriate answer&lt;/a&gt;. But today something new occurred to me.&lt;/p&gt;
&lt;p&gt;I realized that if I&amp;#8217;d been &amp;#8220;brought up&amp;#8221; as a Bayesian, the Monty Hall problem wouldn&amp;#8217;t be counterintuitive at all. On the contrary, the value of the &lt;em&gt;additional information&lt;/em&gt; revealed by Monty&amp;#8217;s actions should be very clear. Consider:&lt;/p&gt;
&lt;pre&gt;We have some priors: P(B1), P(B2), P(B3)
B(i) is the event &quot;car behind door B(i)&quot;
P(B(i)) is the prior probability that the car is behind door B(i)&lt;/pre&gt;
&lt;pre&gt;A reasonable assignment of priors is: P(B1) = P(B2) = P(B3) = 1/3&lt;/pre&gt;
&lt;pre&gt;Let's say, without loss of generality, that we choose door B1.&lt;/pre&gt;
&lt;pre&gt;Again, without loss of generality, say Monty opens door B2. 
Call this event A.&lt;/pre&gt;
&lt;pre&gt;So we want to know the posterior: P(B1|A)
(the probability that the car is behind B1 given that A happened)&lt;/pre&gt;
&lt;pre&gt;By Bayes theorem: 
P(B1|A) = P(A|B1) * P(B1) / 
                (P(A|B1) * P(B1) + P(A|B2) * P(B2) + P(A|B3) * P(B3))&lt;/pre&gt;
&lt;pre&gt;Fill in the priors:
P(B1|A) = P(A|B1) * (1/3) / 
                (1/3)*(P(A|B1) + P(A|B2) + P(A|B3))&lt;/pre&gt;
&lt;pre&gt;Now for the likelihoods:
P(A|B1) = 1/2 (the car could be in either B2 or B3)
P(A|B2) = 0 (Monty will not open door B2 if the car is in B2)
P(A|B3) = 1 (can't open B1 (since you chose it) or B3 (it hides the car))&lt;/pre&gt;
&lt;pre&gt;Fill in the likelihoods:
P(B1|A) = (1/2) * (1/3) / 
                (1/3)*((1/2) + 0 + 1)&lt;/pre&gt;
&lt;pre&gt;So: P(B1|A) = (1/6) / (1/2) = 2/6 = 1/3&lt;/pre&gt;
&lt;pre&gt;We also know P(B2|A) = 0&lt;/pre&gt;
&lt;pre&gt;Obviously then, P(B3|A) = 2/3 and we should switch doors.&lt;/pre&gt;
&lt;p&gt;Although, writing all this out makes it look rather messy, the intuition is very straightforward. Monty &lt;em&gt;gives you information&lt;/em&gt; and you can use this information to &lt;em&gt;update your beliefs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You can improve your model of the world, as justified by the data. And that&amp;#8217;s what Bayesian reasoning is about.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Code that Writes Code</title>
        <link href="http://ethanfast.com/2012/03/code-that-writes-code//"/>
        <updated>2012-03-13T00:00:00-07:00</updated>
        <id>http://ethanfast.com/2012/03/code-that-writes-code//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;CODE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THAT&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;WRITES&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;CODE&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;13 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;Lately, I&amp;#8217;ve heard a lot about &lt;a href=&quot;http://paulgraham.com/ambitious.html&quot;&gt;frighteningly ambitious&lt;/a&gt; startup ideas. Well, here&amp;#8217;s one idea: &lt;em&gt;code that writes code&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Today, humans write most computer programs. If you think of a program as a specification (or a proof [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;]), then &lt;em&gt;we&lt;/em&gt; fill in its internals. That&amp;#8217;s great for developers, but it&amp;#8217;s not economically efficient. Human brains are expensive. To the degree that you can limit human agency, without sacrificing software quality, you can create enormous value.&lt;/p&gt;
&lt;p&gt;Limiting human agency sounds bad &amp;#8212; think Skynet &amp;#8212; but it has actually been happening for some time. Consider the existence of two common abstractions: &lt;em&gt;highly opinionated web-frameworks&lt;/em&gt; and &lt;em&gt;high-level programming languages&lt;/em&gt;. Each of these tools removes a degree of freedom from the human programmer, yet increases productivity.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s all about leverage. You sacrifice some control when you switch from Assembly to Python, but in exchange you get to work at a higher level of abstraction, and you can write powerful programs more quickly. Likewise, when you use Ruby on Rails, you trade expressiveness for the convenience of a domain specific language and quicker web development. So although you decrease your freedom when you work at a higher level of abstraction, that&amp;#8217;s usually a good thing.&lt;/p&gt;
&lt;p&gt;Now let&amp;#8217;s get even &lt;em&gt;more&lt;/em&gt; abstract. After all, I&amp;#8217;m not proposing that someone develop a new programming language or web framework (although these are great things do do). Rather, I think that soon it will be possible to automate some kinds of software development, &lt;em&gt;at the level of program specifications&lt;/em&gt;. Perhaps that sounds confusing, so let&amp;#8217;s call this specific idea a Magic Compiler.&lt;/p&gt;
&lt;p&gt;Give the Magic Compiler a set of &lt;em&gt;specifications&lt;/em&gt;, and it will spit out a complete program. Pretty abstract, right? Although this sounds crazy, &lt;a href=&quot;http://epr.adaptive.cs.unm.edu/&quot;&gt;more&lt;/a&gt; than a &lt;a href=&quot;http://www.cs.berkeley.edu/~bodik/synthesis.html&quot;&gt;few&lt;/a&gt; people have already begun &lt;a href=&quot;http://www.fxpal.com/publications/fxpal-pr-06-374.pdf&quot;&gt;building&lt;/a&gt; tools along these lines. Particularly when you start automating at the level of function-building or bug-fixing [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;], things start to become quite tractable.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll delve into the practicalities of this idea in a later post. The Magic Compiler isn&amp;#8217;t really magic &amp;#8212; it just looks like it.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; See the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence#Origin.2C_scope.2C_and_consequences&quot;&gt;Curry–Howard correspondence&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Our group at the &lt;a href=&quot;http://www.cs.virginia.edu/~weimer/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;UVA&lt;/span&gt;&lt;/a&gt; and &lt;a href=&quot;http://www.cs.unm.edu/~forrest/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;UNM&lt;/span&gt;&lt;/a&gt; fixed many bugs automatically.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>More on Coderacy and Mental Models</title>
        <link href="http://ethanfast.com/2012/03/more-on-coderacy-and-mental-models//"/>
        <updated>2012-03-10T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/03/more-on-coderacy-and-mental-models//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;MORE&lt;/span&gt; ON &lt;span class=&quot;caps&quot;&gt;CODERACY&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;AND&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;MENTAL&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;MODELS&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;10 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;Francis Fukuyama speaks of mental models.&lt;/p&gt;
&lt;p&gt;His latest book, &lt;ins&gt;The Origins of Political Order&lt;/ins&gt;, [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] delves into prehuman history, and attempts to explain the increasing growth and complexity of human social structure and organization. In its earliest chapters, I was pleased to see the book engage in a brief discussion of human cognitive architecture &amp;#8212; including cognitive biases &amp;#8212; which Fukuyama leverages against his understanding of human social practice. But Fukuyama also suggests something obvious, which I hadn&amp;#8217;t fully considered.&lt;/p&gt;
&lt;p&gt;He says that &lt;em&gt;language is the machinery by which mental models are constructed&lt;/em&gt;. As human language evolved, our species developed more complex and predictive models, which we then applied successfully to our environment. It&amp;#8217;s a rather obvious point, but also a powerful one when you acknowledge it explicitly.&lt;/p&gt;
&lt;p&gt;Once you accept that humans use language to model their environment, it becomes very hard to disagree with the point I make in &lt;a href=&quot;/2012/01/programming-education-rationality/&quot;&gt;Programming, Education, and Rationality&lt;/a&gt;. Coderacy [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] encourages rational thought because a programming language, like mathematical formalism, is just a &lt;em&gt;different kind of language&lt;/em&gt;. Codearcy augments the mental language we use to build models of the world, and does so quite powerfully.&lt;/p&gt;
&lt;p&gt;Human languages are ambiguous. This is a great strength when it comes to &lt;a href=&quot;/2012/03/programmers-can-be-artists/&quot;&gt;artistic expression&lt;/a&gt;, but not one without  tradeoffs. Ambiguous models are bad models [&lt;sup class=&quot;footnote&quot; id=&quot;fnr3&quot;&gt;&lt;a href=&quot;#fn3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;] &amp;#8212; in fact, they aren&amp;#8217;t really models at all, in the scientific sense. So the rationalist is well-served by a mental framework which allows her to construct &lt;em&gt;unambiguous&lt;/em&gt; and &lt;em&gt;consistent&lt;/em&gt; mental models. Coderacy helps provide this framework.&lt;/p&gt;
&lt;p&gt;One you&amp;#8217;re coderate, you begin to think in terms of code, algorithms and processes. Code doesn&amp;#8217;t allow for ambiguity, or sanction those wonderful, terrible cracks which render the English language open to interpretation, and modern literary criticism. Coderacy enables the sort of unambiguous language that a truly predictive model requires. So here&amp;#8217;s the three step plan:&lt;/p&gt;
&lt;p&gt;Become coderate, build a better mental model, and rule the world. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr4&quot;&gt;&lt;a href=&quot;#fn4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; A wonderful book so far, here&amp;#8217;s an &lt;a href=&quot;http://www.amazon.com/Origins-Political-Order-Prehuman-Revolution/dp/0374533229/ref=ntt_at_ep_dpt_1&quot;&gt;amazon link&lt;/a&gt;. I&amp;#8217;m actually listening to it on audible. The narrator is excellent, the same guy who does Gene Wolfe&amp;#8217;s &lt;ins&gt;The Book of the New Sun&lt;/ins&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; The ability to program computers. See &lt;a href=&quot;/2012/02/the-rise-of-coderacy/&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn3&quot;&gt;&lt;a href=&quot;#fnr3&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; True at least for the colloquial meaning of &amp;#8220;ambiguity&amp;#8221;. Someone may well have constructed a formalism which they choose to call an &amp;#8220;ambiguous model.&amp;#8221; This isn&amp;#8217;t what I mean.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn4&quot;&gt;&lt;a href=&quot;#fnr4&quot;&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; The &lt;a href=&quot;http://lesswrong.com/&quot;&gt;less wrong&lt;/a&gt; community has discussed this, I think, with varying degrees of seriousness.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>The Aspirational Polymath</title>
        <link href="http://ethanfast.com/2012/03/the-aspirational-polymath//"/>
        <updated>2012-03-09T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/03/the-aspirational-polymath//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;ASPIRATIONAL&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;POLYMATH&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;09 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;These days, fields of study specialize intensely. It&amp;#8217;s hard to achieve mastery in one field, let alone others. I&amp;#8217;ve worked with professors at some of the best universities in the world, and even these successful academics will quickly acknowledge ignorance with respect to sub-disciplines of their chosen fields.&lt;/p&gt;
&lt;p&gt;Knowledge has also fragmented within a field&amp;#8217;s sub-disciplines. While in grad school, my research area was Programming Languages (PL), and Stanford recruits brilliant PL faculty. Yet I had a conversation the other day, wherein one such professor admitted that it&amp;#8217;s &amp;#8220;hard to know what he doesn&amp;#8217;t know,&amp;#8221; [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] about &lt;em&gt;some other&lt;/em&gt; subset of programming language research.&lt;/p&gt;
&lt;p&gt;Human knowledge has expanded so much, it&amp;#8217;s impossible to keep up with the whole of one&amp;#8217;s sub-discipline. To academics, this is hardly a revelation &amp;#8212; things have been this way for some time.&lt;/p&gt;
&lt;p&gt;Yet, a polymath is traditionally defined as an expert in many distinct disciplines. Perhaps like me, you aspire to be one? Well, good luck. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] The traditional polymath is dead, and in the romantic sense, that&amp;#8217;s a shame. Pragmatically of course, it&amp;#8217;s quite the opposite. Specialization is a side-effect of the growth of human knowledge, and by most standards that&amp;#8217;s an unequivocal good.&lt;/p&gt;
&lt;p&gt;As a result, the modern meaning of polymath has devolved into something like, &amp;#8220;jack of all trades,&amp;#8221; a role decidedly less appealing. This sort of generalist still does important work, and often bridges the chasm between unrelated disciplines. But it&amp;#8217;s not exactly a satisfying aesthetic. Maybe in modern times no one can embody the old meaning of polymath, but I can&amp;#8217;t help but wonder: are all aspiring polymaths fated to become generalists? I don&amp;#8217;t know.&lt;/p&gt;
&lt;p&gt;The best we can do is strive for excellence in &lt;em&gt;all&lt;/em&gt; that we do. Even if we do many, many things. So, perhaps the polymath is dead.&lt;/p&gt;
&lt;p&gt;But long live the polymath.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Brings to mind &lt;a href=&quot;/2012/02/AB-testing-and-unknown-unknowns/&quot;&gt;unknown unknowns&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; With the caveat that singularity-era technology &lt;em&gt;might&lt;/em&gt; put this back within reach.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Programmers Can Be Artists</title>
        <link href="http://ethanfast.com/2012/03/programmers-can-be-artists//"/>
        <updated>2012-03-07T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/03/programmers-can-be-artists//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;PROGRAMMERS&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;CAN&lt;/span&gt; BE &lt;span class=&quot;caps&quot;&gt;ARTISTS&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;07 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;In an &lt;a href=&quot;/2012/01/programming-education-rationality/&quot;&gt;earlier post&lt;/a&gt;, I suggested that coderacy [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] encourages rational mental models. That&amp;#8217;s far from its only perk. Coderacy also heightens your artistic potential.&lt;/p&gt;
&lt;p&gt;An artist is constrained by his or her medium of expression. A painter, no matter how skilled, cannot construct moving images with her paints and brushes. A filmmaker, no matter how hard she tries, cannot elicit the subtle, internal effects of &lt;em&gt;point of view&lt;/em&gt; and &lt;em&gt;tone of thought&lt;/em&gt; available to a novelist. Yet a novelist, in words, cannot render the rich and vibrant images of a movie or a painting. Each medium has certain tradeoffs.&lt;/p&gt;
&lt;p&gt;Coderacy opens up a new world of artistic expression &amp;#8212; literally. Art is nothing more than &lt;em&gt;inspired&lt;/em&gt; information, and computers are general information processing frameworks. This makes art accessible to computation. Computers blend the worlds of the painter, the filmmaker, and the novelist. Disparate art forms can mix and mingle.&lt;/p&gt;
&lt;p&gt;Yet coderacy doesn&amp;#8217;t just allow the old art forms to mix, it opens up new possibilities. For most people, art has traditionally been a passive affair. I read a novel alone, but when a story instills in me questions, I cannot hold a conversation with my book. I may watch a movie with friends, and perhaps we even talk about it, but we cannot converse directly with the medium itself. Computers change the rules of this game. Utterly.&lt;/p&gt;
&lt;p&gt;Consider that certain respectable philosophers suggest we live inside a computer simulation, and that they are taken seriously. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] They haven&amp;#8217;t been mocked into oblivion for one simple reason: &lt;em&gt;such an idea is theoretically possible&lt;/em&gt;. In the limit, computation enables the kind of world-building of which a filmmaker or novelist can only dream. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr3&quot;&gt;&lt;a href=&quot;#fn3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;So what&amp;#8217;s the upper bound for the &lt;em&gt;artistic potential&lt;/em&gt; of a programmer? Godhood. When you construct a virtual world, you get to play the deity. To get there you have to solve a whole host of logistical problems, and overcome incredible resource constraints. But still, it sounds rather appealing, no?&lt;/p&gt;
&lt;p&gt;Of course we aren&amp;#8217;t even close to achieving such potential, but you can see the signs of our slow, upward progression. Video games &amp;#8212; a simple form of world-bulding &amp;#8212; have become more complex over time, and research into virtual worlds has become ever more popular. Yet truly artistic computation remains in its early years.&lt;/p&gt;
&lt;p&gt;I look forward to seeing what comes next.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; The ability to program computers. See &lt;a href=&quot;/2012/02/the-rise-of-coderacy/&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; As seriously as any modern philosophers are taken.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn3&quot;&gt;&lt;a href=&quot;#fnr3&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; Of both the interactive and passive varieties. You might choose to interact with your virtual world, but for a sufficiently complex world, you might also choose to watch it like a television show.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Don't Jump off the Cliff with a Parachute</title>
        <link href="http://ethanfast.com/2012/03/startups-off-the-cliff-with-a-parachute//"/>
        <updated>2012-03-05T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/03/startups-off-the-cliff-with-a-parachute//</id>
        <summary type="html">&lt;h1&gt;DON&amp;#8217;T &lt;span class=&quot;caps&quot;&gt;JUMP&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;OFF&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;CLIFF&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;WITH&lt;/span&gt; A &lt;span class=&quot;caps&quot;&gt;PARACHUTE&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;05 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;When we launched &lt;a href=&quot;http://proxino.com&quot;&gt;Proxino&lt;/a&gt;, I was enrolled in Stanford&amp;#8217;s CS PhD program. Now I&amp;#8217;m not. Through my transition, I&amp;#8217;ve learned a bit about human incentives, and the pitfalls of over-optimization.&lt;/p&gt;
&lt;p&gt;A proper set of incentives is essential to startup success. You&amp;#8217;ll often see these described with &lt;a href=&quot;https://www.google.com/search?sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=startups+jump+off+cliff+fly#hl=en&amp;amp;sclient=psy-ab&amp;amp;q=startups+jump+off+cliff+&amp;amp;pbx=1&amp;amp;oq=startups+jump+off+cliff+&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=3&amp;amp;gs_upl=26901l27247l0l27456l3l3l0l0l0l0l113l283l1.2l3l0&amp;amp;gs_l=serp.3...26901l27247l0l27456l3l3l0l0l0l0l113l283l1j2l3l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&amp;amp;fp=24191f1b078a19c4&amp;amp;biw=1290&amp;amp;bih=1058&quot;&gt;cliff-jumping&lt;/a&gt; imagery, and that&amp;#8217;s a good metaphor. Jump off the cliff, and you had better learn to fly. Otherwise, bad things happen. I know this from experience.&lt;/p&gt;
&lt;p&gt;You see, I jumped off the cliff with a parachute.&lt;/p&gt;
&lt;p&gt;You&amp;#8217;d think a parachute would offer me some advantage, and in many ways, it did. The probability that I&amp;#8217;d destroy myself on the rocks shrunk to an infinitesimal value. But when you have a parachute, learning to fly becomes much harder. It&amp;#8217;s no longer a &lt;em&gt;do or die&lt;/em&gt; sort of situation.&lt;/p&gt;
&lt;p&gt;To further extend the metaphor, I thought I &lt;em&gt;wanted to fly&lt;/em&gt; so much that this wouldn&amp;#8217;t make any difference. Maybe that&amp;#8217;s true. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] But although running a startup is a &lt;a href=&quot;http://thinkexist.com/quotation/the-summer-founders-program-fixes-the-common/563217.html&quot;&gt;lonely business&lt;/a&gt;, I wasn&amp;#8217;t not the only actor involved. And not just because I had a co-founder.&lt;/p&gt;
&lt;p&gt;I failed to appreciate that that even if &lt;em&gt;I&lt;/em&gt; could override the cognitive biases induced by altered incentives, others might not be able (or willing) to do the same. When running a business, the perceptions of others matter. So here&amp;#8217;s a bit of advice from someone who&amp;#8217;s given it a lot of thought:&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t over-think things, just jump off the cliff.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; I like to think so, but I&amp;#8217;m admittedly biased.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>You're Afraid to Be Anything</title>
        <link href="http://ethanfast.com/2012/03/to-be-or-not-to-be//"/>
        <updated>2012-03-04T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/03/to-be-or-not-to-be//</id>
        <summary type="html">&lt;h1&gt;YOU&amp;#8217;RE &lt;span class=&quot;caps&quot;&gt;AFRAID&lt;/span&gt; TO BE &lt;span class=&quot;caps&quot;&gt;ANYTHING&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;04 &lt;span class=&quot;caps&quot;&gt;MARCH&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;I write fiction, and occasionally I exchange critiques with other writers. I&amp;#8217;ve noted lately a certain stigma and fear with respect to the verb &lt;em&gt;to be&lt;/em&gt;, an over-reaction to passivity. Allow me to illustrate.&lt;/p&gt;
&lt;p&gt;Suppose you write, &amp;#8220;the air was cold.&amp;#8221; This isn&amp;#8217;t a brilliant or interesting sentence, and that&amp;#8217;s exactly the point. It draws a necessary image without any distraction. A reader ingests its depiction much as he or she breaths oxygen: readily, and without thought. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;Yet, the average critiquer finds this sort of language disagreeable. &amp;#8220;It&amp;#8217;s too boring, too passive,&amp;#8221; she will say. &amp;#8220;Consider instead something like, &lt;em&gt;the frigid air bit into his skin&lt;/em&gt;.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Well, you did consider that. But sometimes you don&amp;#8217;t want the reader to care about the air. You want them to care about &lt;em&gt;something else&lt;/em&gt;. You simply need them to know, to absorb, and to move on.&lt;/p&gt;
&lt;p&gt;Sometimes, &lt;em&gt;the air is just cold&lt;/em&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Obviously, this is not always desirable. If you want to draw the reader into an extended metaphor between the ambient air and the affectations of some alien culture, then &lt;em&gt;don&amp;#8217;t&lt;/em&gt; do this.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>The Rise of Coderacy</title>
        <link href="http://ethanfast.com/2012/02/the-rise-of-coderacy//"/>
        <updated>2012-02-29T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/02/the-rise-of-coderacy//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;THE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;RISE&lt;/span&gt; OF &lt;span class=&quot;caps&quot;&gt;CODERACY&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;29 &lt;span class=&quot;caps&quot;&gt;FEBRUARY&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;This morning I searched for a name to fit my latest project. Music filled my ears as my feet tapped across an empty sidewalk. I could think of nothing worthy. I walked and listened, thought and waited. A new song came, and in its minor key something clicked. I recalled a book I read years ago, small and black with a stark white title: &lt;ins&gt;Innumeracy&lt;/ins&gt;. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;People were not numerate, it had said, and that was &lt;em&gt;bad&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;As a society, we have several words that describe abilities people should have. The most common of these are &amp;#8220;literacy&amp;#8221; and &amp;#8220;numeracy.&amp;#8221; Society says that we should all be able to read and do basic work with numbers. But is that enough? I&amp;#8217;m reminded of a Heinlein quote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, &lt;strong&gt;write a sonnet&lt;/strong&gt;, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, &lt;strong&gt;solve equations&lt;/strong&gt;, analyze a new problem, pitch manure, &lt;strong&gt;program a computer&lt;/strong&gt;, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Heinlein gives us a superset of modern societal expectations, wherein he includes the ability to code. That clicked when I thought of &lt;ins&gt;Innumeracy&lt;/ins&gt;. My mind completed the pattern: literacy, numeracy, &lt;em&gt;coderacy&lt;/em&gt;. A project name and a new word. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Literacy&lt;/strong&gt; (n): The ability to read and write.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Numeracy&lt;/strong&gt; (n): The ability to understand and work with numbers.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Coderacy&lt;/strong&gt; (n): The ability to program computers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Modern educators may disagree, but I think coderacy is a &lt;a href=&quot;/2012/01/programming-education-rationality/&quot;&gt;reasonable addition&lt;/a&gt; to societal expectations. People should be able to program computers. Programming skills will only become more common and relevant, as years pass. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr3&quot;&gt;&lt;a href=&quot;#fn3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;With that, I suspect you can guess the domain name, if not the purpose, of my new project. More to come soon.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; It&amp;#8217;s by John Allen Paulos, and here&amp;#8217;s a link to the &lt;a href=&quot;http://www.amazon.com/Innumeracy-Mathematical-Illiteracy-Consequences-Vintage/dp/0679726012&quot;&gt;amazon page&lt;/a&gt;.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; More on the project, later.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn3&quot;&gt;&lt;a href=&quot;#fnr3&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; Modulo the coming of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Technological_singularity&quot;&gt;Singularity&lt;/a&gt;.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Follow Up to Unknown, Unknowns</title>
        <link href="http://ethanfast.com/2012/02/follow-up-unknown-unknown//"/>
        <updated>2012-02-27T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/02/follow-up-unknown-unknown//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;FOLLOW&lt;/span&gt; UP TO &lt;span class=&quot;caps&quot;&gt;UNKNOWN&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;UNKNOWNS&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;25 &lt;span class=&quot;caps&quot;&gt;FEBRUARY&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;A reader responded to yesterday&amp;#8217;s post, and so I&amp;#8217;ll offer some clarification. First, the main criticism:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I&amp;#8217;m not sure I fully agree with the dichotomy you use, however.  Isn&amp;#8217;t a known unknown (e.g., I &amp;#8220;know&amp;#8221; that a particular factor might influence another factor, but I have not yet tested how it might do so empirically &amp;#8211; ergo a known &amp;#8220;unknown&amp;#8221;) essentially the same thing as an unknown unknown (e.g., I &amp;#8220;know&amp;#8221; that its possible that a factor I have not yet considered might influence another factor, but I have not yet tested how it might do so empirically, both because I don&amp;#8217;t yet know what the factor is, much less how to test it empirically &amp;#8211; ergo a &amp;#8220;known&amp;#8221; unknown)?&lt;/p&gt;
&lt;p&gt;The difference doesn&amp;#8217;t seem to me to be one of kind, but rather degree (and ultimately the patience to map out all eventualities as best as one can) . . . . I get the gist of what you talking about, but wonder if the nomenclature, although intriguing on a first read, might strike some as a bit &amp;#8220;contrived&amp;#8221; on a second.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My point is that it&amp;#8217;s impossible to have any understanding of the risk associated with a factor, if you never think of that factor (despite the fact that you know factors exist which you haven&amp;#8217;t though of).&lt;/p&gt;
&lt;p&gt;Basically, if you can&amp;#8217;t name a factor, it won&amp;#8217;t go into your analysis. Just considering the &lt;em&gt;general class&lt;/em&gt; of unknown unknowns when making a decision is not enough. There are likely specific, significant instances of that class which, by definition, you&amp;#8217;re not thinking about. What forms the &amp;#8220;difference in kind&amp;#8221; is that &lt;em&gt;you don&amp;#8217;t know about them&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Consider this specific instance of an unknown unknown:&lt;/p&gt;
&lt;p&gt;I decide to ban &lt;span class=&quot;caps&quot;&gt;DDT&lt;/span&gt; in Africa. Suppose before I do so, I think over a few questions: How many birds/animals will be saved? How much will the ban cost industry? How hard will the ban be to enforce? These are known unknowns.&lt;/p&gt;
&lt;p&gt;As a good risk-analyst, I understand that these questions do not fully describe the domain of possible consequences. I know that there exist unknown unknowns, things I haven&amp;#8217;t thought of. Maybe some of these are bad. But hey, what more can I do? I impose the ban.&lt;/p&gt;
&lt;p&gt;Then I find that millions begin to die of malaria, a consequence I hadn&amp;#8217;t considered. That specific consequence, phrased as a question (e.g. &amp;#8220;How might the ban affect rates of malaria?&amp;#8221;) was an unknown unknown at the time of decision-making.&lt;/p&gt;
&lt;p&gt;Why? Because the question wasn&amp;#8217;t considered in analysis, despite the analyst&amp;#8217;s abstract understanding of unthought-of consequences.&lt;/p&gt;
&lt;p&gt;In theory, any unknown unknown can be transformed into a known unknown, but that would require infinite time. Literally &amp;#8212; you&amp;#8217;d have to think of &lt;em&gt;everything&lt;/em&gt;.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Website A/B Testing and Unknown, Unknowns</title>
        <link href="http://ethanfast.com/2012/02/AB-testing-and-unknown-unknowns//"/>
        <updated>2012-02-25T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/02/AB-testing-and-unknown-unknowns//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;WEBSITE&lt;/span&gt; A/B &lt;span class=&quot;caps&quot;&gt;TESTING&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;AND&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;UNKNOWN&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;UNKNOWNS&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;25 &lt;span class=&quot;caps&quot;&gt;FEBRUARY&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;Whenever I consider risk, I suspect that &lt;em&gt;unknown&lt;/em&gt; unknowns do not get enough of my attention. I step back and think, &amp;#8220;what might happen that I haven&amp;#8217;t thought of?&amp;#8221; And always my intuition responds: good luck answering &lt;em&gt;that&lt;/em&gt; question properly.&lt;/p&gt;
&lt;p&gt;Known unknowns tend to dominate human risk analysis. For instance, I might know that &lt;em&gt;I don&amp;#8217;t know&lt;/em&gt; whether some action will cause my friend to initiate a blood-feud against me. In this case, the notion of &amp;#8220;blood-feud&amp;#8221; passes through my head when I consider a course of action, but I don&amp;#8217;t know for certain the likelihood of its outcome. This is a known unknown, uncertainty with respect to a certain chain of causation.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Unknown&lt;/em&gt; unknowns have a more slippery quality, and in the general case are intractable. To know something presently unknown to me, I must think of it. Yet I cannot simply &amp;#8220;think of&amp;#8221; an infinite number of unknown consequences when considering a potential action. The human mind doesn&amp;#8217;t work that way, and the domain of daily life is too complex. But are unknown unknowns always so impractical? Not necessarily.&lt;/p&gt;
&lt;p&gt;(Can you hear that axe start to grind? Please, take no notice.)&lt;/p&gt;
&lt;p&gt;Consider the well-defined domain of A/B testing, which nonetheless falls victim to the same biases which crop up in everyday decision-making. Most forms of website A/B testing conduct a search over the known unknowns. You select some feature which you think may affect a metric, and tweak it to see whether your hypothesis is true. This is empirical, sound, and good. But why not also search over the &lt;em&gt;unknown&lt;/em&gt; unknowns? In this domain, at least they are enumerable.&lt;/p&gt;
&lt;p&gt;A site likely has features that its creator has not considered, but which when adjusted, may positively affect conversion rates. You might never have suspected that increasing the font-size of your call-to-action by 1% would lead to 5% more sign-ups, or that brightening the hue of your button by 3% would result in 7% more click-throughs. The space of small permutations to an existing website design is very large &amp;#8212; too large for a human to consider, but not too large for an algorithm.&lt;/p&gt;
&lt;p&gt;So stay tuned. And if this interests you, by all means &lt;a href=&quot;mailto:ethan@proxino.com&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Automatic Regression Testing in JavaScript</title>
        <link href="http://ethanfast.com/2012/02/automatic-testing-in-javascript//"/>
        <updated>2012-02-03T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/02/automatic-testing-in-javascript//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;AUTOMATIC&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;REGRESSION&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;TESTING&lt;/span&gt; IN &lt;span class=&quot;caps&quot;&gt;JAVASCRIPT&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;3 &lt;span class=&quot;caps&quot;&gt;FEBRUARY&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t like writing test cases, and at &lt;a href=&quot;http://proxino.com&quot;&gt;Proxino&lt;/a&gt; I don&amp;#8217;t write them &amp;#8212; my browser does. I built a framework to automate our testing, and so to generate 800 test cases, I do this:&lt;/p&gt;
&lt;pre&gt;AngelJS.testcases = 200
// I want to test add_all, my_prop_is_true, fullname, 
// and join_char
AngelJS.test = 
  [{ func: add_all, 
    args: [AngelJS.arr(&quot;number&quot;)], 
    ret: &quot;number&quot;
  },
  { func: my_prop_is_true, 
    args: [{name:&quot;string&quot;, valid:&quot;boolean&quot;}], 
    ret: &quot;boolean&quot;
  },
  { func: fullname, 
    args: [{first:&quot;string&quot;, last:&quot;string&quot;}], 
    ret: &quot;string&quot;
  },
  { func: join_char,
    args: [&quot;char&quot;, &quot;char&quot;],
    ret: &quot;char&quot;
  }];&lt;/pre&gt;
&lt;p&gt;The property &lt;strong&gt;AngelJS.testcases&lt;/strong&gt; determines how many test cases to generate for each tested function. Then I assign &lt;strong&gt;AngelJS.test&lt;/strong&gt; an array of objects, each of which contains three properties:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;em&gt;func&lt;/em&gt; references the function I want to test&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;args&lt;/em&gt; contains a typed &amp;#8220;argument template&amp;#8221;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;ret&lt;/em&gt; defines the desired return type.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This argument template is a type signature [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] which I use to generate reasonable test cases. The test framework repeatedly constructs parameters from the template, and on each repetition, passes these parameters to the function to form a test case. For instance:&lt;/p&gt;
&lt;pre&gt;[{name:&quot;string&quot;, valid:&quot;boolean&quot;}]
// might generate {name:&quot;string1&quot;, valid:true}
// or {name:&quot;string2&quot;, valid:false} 
// or {name:&quot;string3&quot;, valid:true} 
// and so on.&lt;/pre&gt;
&lt;p&gt;Of course I don&amp;#8217;t actually generate &lt;em&gt;&amp;#8220;string[n].&amp;#8221;&lt;/em&gt; The framework builds strings randomly (unless told otherwise). Another example:&lt;/p&gt;
&lt;pre&gt;[&quot;char&quot;, &quot;char&quot;]
// might generate [&quot;a&quot;,&quot;b&quot;]
// or [&quot;5&quot;,&quot;y&quot;]
// or [&quot;/&quot;,&quot;l&quot;]
// and so on.&lt;/pre&gt;
&lt;p&gt;These argument templates can define arbitrarily deep types.&lt;/p&gt;
&lt;pre&gt;[{name: &quot;string&quot;, 
  contacts: AngelJS.arr({
    name: &quot;string&quot;, 
    address: &quot;string&quot;, 
    phone: &quot;number&quot;})}]
// Might generate
[{ name: &quot;string1&quot;, 
  contacts: [
    { name: &quot;string2&quot;, 
      address: &quot;string3&quot;, 
      number: 7036985777},
    { name: &quot;string4&quot;, 
      address: &quot;string5&quot;, 
      number: 999899999 }
    ]}]&lt;/pre&gt;
&lt;p&gt;I use &lt;strong&gt;AngelJS.arr(type)&lt;/strong&gt; to generate arbitrarily long parameter arrays of a given &lt;em&gt;type&lt;/em&gt; (whereas the JavaScript array notation [] specifies fixed-length tuples). Array length is pseudo-random, and can be adjusted in the framework.&lt;/p&gt;
&lt;pre&gt;AngelJS.arr(&quot;string&quot;)
// Might generate [&quot;string1&quot;,&quot;string2&quot;]
// or [&quot;string1&quot;,&quot;string2&quot;,&quot;string3&quot;,&quot;string4&quot;]
// or []&lt;/pre&gt;
&lt;p&gt;Similarly:&lt;/p&gt;
&lt;pre&gt;[AngelJS.arr(&quot;string&quot;),AngelJS.arr(&quot;number&quot;)]
// might generate [[&quot;string1&quot;, &quot;string2&quot;], [3456,34,0,45]]&lt;/pre&gt;
&lt;p&gt;This framework catches two classes of JavaScript errors. If a tested function throws an exception, it will report that (obviously). Otherwise, if a function return value does not match its expected return type, then it records a type error.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s some sample output:&lt;/p&gt;
&lt;pre&gt;Type Error: add_all: Expected &quot;number&quot; and returned 
  &quot;undefined&quot; on input: [[]] 
Type Error: my_prop_is_true: Expected &quot;boolean&quot; and returned 
  &quot;string&quot; on input: [{&quot;name&quot;:&quot;?^|r)z+&amp;gt;&amp;gt;u&quot;,&quot;valid&quot;:true}]
...
Ran 400 cases. Failed 48.
Functions which failed &amp;gt;1 test case: [&quot;add_all&quot;, &quot;my_prop_is_true&quot;]&lt;/pre&gt;
&lt;p&gt;These tests are not be as good as the hand-crafted variety, but they will catch a number of the simplest (and stupidest) bugs. And they&amp;#8217;re certainly better than nothing. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] I&amp;#8217;ll probably open source the framework, after I clean up a few things.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; A type signature in the sense that it defines the type of the expected arguments. I did not add proper typing to JavaScript. The types I support are: &amp;#8220;number&amp;#8221;, &amp;#8220;string&amp;#8221;, &amp;#8220;char&amp;#8221;, &amp;#8220;array&amp;#8221;, and &amp;#8220;object&amp;#8221;. Arrays and objects can be nested within on another, to form types like [[&amp;#8220;string&amp;#8221;],[&amp;#8220;number&amp;#8221;]] or {name:[&amp;#8220;string&amp;#8221;]}.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; I&amp;#8217;ve found that &amp;#8220;no testing&amp;#8221; is something of a convention among startups.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>A Case Study in Readability</title>
        <link href="http://ethanfast.com/2012/01/case-study-readability//"/>
        <updated>2012-01-30T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/01/case-study-readability//</id>
        <summary type="html">&lt;h1&gt;A &lt;span class=&quot;caps&quot;&gt;CASE&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;STUDY&lt;/span&gt; IN &lt;span class=&quot;caps&quot;&gt;READABILITY&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;30 &lt;span class=&quot;caps&quot;&gt;JANUARY&lt;/span&gt;, 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;My &lt;span class=&quot;caps&quot;&gt;VPS&lt;/span&gt; disappointed my blog and me. It failed, my trust withered. But I twisted this misfortune and took the opportunity to redesign my blog. I migrated it to &lt;a href=&quot;http://pages.github.com/&quot;&gt;Github&lt;/a&gt;, and its design evolved. Here&amp;#8217;s a recounting of that evolution.&lt;/p&gt;
&lt;p&gt;As my thoughts turned over design decisions, a few considerations stood out. For me, on an ideal blog:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;The typeface reads enjoyably.&lt;/li&gt;
	&lt;li&gt;The column width minimizes lateral movement of the eyes.&lt;/li&gt;
	&lt;li&gt;Whitespace has meaning.&lt;/li&gt;
	&lt;li&gt;Content scales well at different screen sizes and zoom levels.&lt;/li&gt;
	&lt;li&gt;Lists, block quotes, and code are distinct, but fit the flow of the page.&lt;/li&gt;
	&lt;li&gt;Headings and links are apparent, but not obtrusive.&lt;/li&gt;
	&lt;li&gt;The whole is aesthetically pleasing.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Readability concerned me primarily. Aesthetics were secondary (stuffed tersely into #7). With this list in mind, my work began.&lt;/p&gt;
&lt;h2&gt;Typeface&lt;/h2&gt;
&lt;p&gt;Serif typefaces read more easily to my eyes (perhaps to others, too [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;]), but sans-serif tend to look better on the web. &lt;a href=&quot;http://www.google.com/webfonts#ChoosePlace:select&quot;&gt;Google web fonts&lt;/a&gt; provides a wonderful way to explore free typefaces, but I ultimately went with that old standard, Helvetica Neue. A sample:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;I wrote this in Helvetica Neue.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;I wrote this in Helvetica Neue.&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;I wrote this in Helvetica Neue.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other great options exist. Old Standard TT and Amethysta contended for the position, but lost. Also, my thanks to &lt;a href=&quot;http://hellohappy.org/beautiful-web-type/&quot;&gt;Beautiful Web Type&lt;/a&gt; for inspiration.&lt;/p&gt;
&lt;h2&gt;Column width&lt;/h2&gt;
&lt;p&gt;My main column with is 32em on a 14px font-size, and with the sidebar this forms an instance of the golden ratio. A relatively narrow main column makes scanning text easy. I read faster on a Kindle, since it has a smaller column-width than most print novels, and I want my blog to offer the same convenience.&lt;/p&gt;
&lt;h2&gt;Whitespace&lt;/h2&gt;
&lt;p&gt;Here, line-height and paragraph spacing concerned me most. I tweaked these parameters until things looked good: a line-height of 1.4em, and a paragraph margin of 1em.&lt;/p&gt;
&lt;p&gt;Paragraphs stand out from one another, but not too much.&lt;/p&gt;
&lt;h2&gt;Content Scaling&lt;/h2&gt;
&lt;p&gt;A centered column fits well on most screen sizes, and since its width is em-based, it scales with the zoom-level. Hit CMD+ or &lt;span class=&quot;caps&quot;&gt;CMD&lt;/span&gt;&amp;#8212; a few times, and you should find the effect generally pleasing.&lt;/p&gt;
&lt;h2&gt;Lists, Block quotes, and Code tags&lt;/h2&gt;
&lt;p&gt;Bullets set off normal lists, as does the adjacent whitespace. I space list elements with no extra vertical spacing. For instance:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;A loyal list item tells no lies.&lt;/li&gt;
	&lt;li&gt;This list item betrayed me.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And now we&amp;#8217;re back to a paragraph. The list is distinctly set off, yet it remains unobtrusive. &lt;a href=&quot;http://ethanfast.com/2011/04/state-your-purpose/&quot;&gt;This post&lt;/a&gt; has a longer list, if you want a more realistic example. Numbered lists share one additional consideration: the position of the numbers (you can&amp;#8217;t elide numbers if you want a numbered list). They go outside the column to improve flow.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;This number is lower, and can do nothing about it.&lt;/li&gt;
	&lt;li&gt;Higher numbers by birth should avoid egoism.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I set block quotes by a slight margin and a subtle left border. They shouldn&amp;#8217;t distract:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I AM A &lt;span class=&quot;caps&quot;&gt;SICK&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;MAN&lt;/span&gt;&amp;#8230;. I am a spiteful man. I am an unattractive man. I believe my liver is diseased. However, I know nothing at all about my disease, and do not know for certain what ails me. I don&amp;#8217;t consult a doctor for it, and never have, though I have a respect for medicine and doctors. Besides, I am extremely superstitious, sufficiently so to respect medicine, anyway (I am well-educated enough not to be superstitious, but I am superstitious). No, I refuse to consult a doctor from spite. That you probably will not understand. Well, I understand it, though. Of course, I can&amp;#8217;t explain who it is precisely that I am mortifying in this case by my spite: I am perfectly well aware that I cannot &amp;#8220;pay out&amp;#8221; the doctors by not consulting them; I know better than anyone that by all this I am only injuring myself and no one else. But still, if I don&amp;#8217;t consult a doctor it is from spite. My liver is bad, well &amp;#8212; let it get worse!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That&amp;#8217;s from one of Dostoevsky&amp;#8217;s &lt;a href=&quot;http://etext.virginia.edu/etcbin/toccer-new2?id=DosNote.sgm&amp;amp;images=images/modeng&amp;amp;data=/texts/english/modeng/parsed&amp;amp;tag=public&amp;amp;part=1&amp;amp;division=div2&quot;&gt;lesser known works&lt;/a&gt;. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;] Moving on, a light shade of grey highlights the code-snippets. Not so much that it gets in the way:&lt;/p&gt;
&lt;pre&gt;--Replace free variables as specified in provided mapping
replace_terms :: Stmt String -&amp;gt; [(Stmt String, Stmt String)] -&amp;gt; Stmt String
replace_terms rule lst =
  case rule of
    Var r1 -&amp;gt; Var r1
    Free r1 -&amp;gt; let search = List.find (\((e,f)) -&amp;gt; r1 == val f) lst in
      case search of
        Just (e,f) -&amp;gt; e
        Nothing -&amp;gt; Free r1
    (Op ro r1 r2) -&amp;gt;
      (Op ro (replace_terms r1 lst) (replace_terms r2 lst))&lt;/pre&gt;
&lt;p&gt;I&amp;#8217;ll consider adding syntax highlighting, but for now it&amp;#8217;s set off nicely enough.&lt;/p&gt;
&lt;h2&gt;Headings and links&lt;/h2&gt;
&lt;p&gt;Size and &lt;strong&gt;boldness&lt;/strong&gt; offset the headings. Links are colored &lt;a href=&quot;/&quot;&gt;red&lt;/a&gt;. &lt;span class=&quot;caps&quot;&gt;ALL&lt;/span&gt;-&lt;span class=&quot;caps&quot;&gt;CAPS&lt;/span&gt; headings serve as a second level of differentiation. I didn&amp;#8217;t want the headings to be significantly larger than the content text, but that&amp;#8217;s not a universal principal.&lt;/p&gt;
&lt;p&gt;I took inspiration here from the style of academic papers.&lt;/p&gt;
&lt;h2&gt;The Whole&lt;/h2&gt;
&lt;p&gt;Aesthetics are subjective, so this section I&amp;#8217;ll leave to you. Yet whether or not the effect of my design succeeded, we should give more thought to readability on the web. As Edward Tufte said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Good design is a lot like clear thinking made visual.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As I aspire to clear thinking, so will I aspire to good design.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Wikepedia on the serif &lt;a href=&quot;:http://en.wikipedia.org/wiki/Serif#Readability_and_legibility&quot;&gt;readability&lt;/a&gt; debate.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;ins&gt;&lt;em&gt;Notes from the Underground&lt;/em&gt;&lt;/ins&gt;, also known as &lt;ins&gt;&lt;em&gt;The Underground Man&lt;/em&gt;&lt;/ins&gt;.&lt;/p&gt;</summary>
    </entry>
    
    <entry>
        <title>Programming, Education, and Rationality</title>
        <link href="http://ethanfast.com/2012/01/programming-education-rationality//"/>
        <updated>2012-01-29T00:00:00-08:00</updated>
        <id>http://ethanfast.com/2012/01/programming-education-rationality//</id>
        <summary type="html">&lt;h1&gt;&lt;span class=&quot;caps&quot;&gt;PROGRAMMING&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;EDUCATION&lt;/span&gt;, &lt;span class=&quot;caps&quot;&gt;AND&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;RATIONALITY&lt;/span&gt;&lt;/h1&gt;
&lt;p class=&quot;meta&quot;&gt;29 &lt;span class=&quot;caps&quot;&gt;JANUARY&lt;/span&gt; 2012 &amp;#8212; &lt;span class=&quot;caps&quot;&gt;MENLO&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;PARK&lt;/span&gt;, CA&lt;/p&gt;
&lt;p&gt;Do you hold a consistent mental model of the world? For many of us (though less likely for the readers of this blog), the answer is “no.” That’s troubling. It’s hard to be correct, if your world-view doesn’t even type check. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;] People are entitled to opinions. But hold them in a state of contradiction, and they&amp;#8217;re wrong.&lt;/p&gt;
&lt;p&gt;Though it&amp;#8217;s easy enough to apply consistency checks, inconsistent world-views abound. I suspect it’s because people never &lt;em&gt;learn&lt;/em&gt; to be consistent. Education under-represents logic and reason in the classroom. High school math class is the closest many people come to an education in rationality, and math is “just too abstract.”&lt;/p&gt;
&lt;p&gt;People think they aren’t good at math, or that it’s not practical. This may be unavoidable. But math, as taught at the level of K-12 education, is not the only way to develop notions of logic and reason. For something else &lt;em&gt;is&lt;/em&gt; practical: computer programming. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;]&lt;/p&gt;
&lt;p&gt;Held at the right level of abstraction, programming is no more difficult than basic mathematics. It&amp;#8217;s certainly valued in the workplace. Yet few public schools teach it, and almost no elementary schools do. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr3&quot;&gt;&lt;a href=&quot;#fn3&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;] Programming teaches the value of logic and consistency, but still appeals to a narrow view of self-interest. [&lt;sup class=&quot;footnote&quot; id=&quot;fnr4&quot;&gt;&lt;a href=&quot;#fn4&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;] It even engenders creativity (more so than mathematics, at beginning levels). All this would seem perfect for the modern student.&lt;/p&gt;
&lt;p&gt;Perhaps educators haven&amp;#8217;t caught up with modern trends, or infrastructural costs are too high. I know little, directly, of the education space, and so I won&amp;#8217;t comment. But it does seem we miss an opportunity, when we abandon computing to the highest levels of education. Get them while they&amp;#8217;re young &amp;#8212; the world would benefit from more rational minds, and more consistent mental models.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; A metaphor to programming languages: the set of correct programs is a subset of those which type check.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; Want to learn? I recommend &lt;a href=&quot;http://codecademy.com&quot;&gt;Codecademy.&lt;/a&gt; I&amp;#8217;m also writing &lt;a href=&quot;/2012/01/the-least-boring-programming-book-chapter-1-excerpt/&quot;&gt;a book.&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn3&quot;&gt;&lt;a href=&quot;#fnr3&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt; And even there it&amp;#8217;s taught as an elective.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn4&quot;&gt;&lt;a href=&quot;#fnr4&quot;&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt; Monetary reward, and computational leverage (in the limit, strong A.I.).&lt;/p&gt;</summary>
    </entry>
    
</feed>