ketan agrawal

Holding a Program in One’s Head
Last modified on April 15, 2022


P. Graham, “Holding a Program in One’s Head,” Aug. 2007. (accessed Apr. 15, 2022).

Links to “Holding a Program in One’s Head”

having multiple “touchpoints” with reality improves your understanding of reality

Let’s go back to what numbers mean. This time, to make things easier, well think about Three. I’m arguing that Three, for us, has no one single, basic definition, but is a web of different processes that each get meaning from the others. Consider all the roles “Three” plays. One way we tell a Three is to recite “One, Two, Three”, while pointing to the different things. To do it right, of course, you have to (i) touch each thing once and (ii) not touch any twice. One way to count out loud while you pick up each object and remove it. Children learn to do such things in their heads or, when that’s too hard, to use tricks like finger-pointing. Another way to tell a Three is to use some Standard Set of Three things. Then bring ‹set of things to the other set, and match them I one-to-one: if all are matched and none are left, then there were Three. That “standard I Three” need not be things, for words like “one, two, three” work just as well. For Five we have a wider choice. One can think of it as groups of Two and Three, or One and Four. Or, one can think of some familiar shapes -. a pentagon, an X, a Vee, a cross, an aeroplane; they all make Fives.

Because each trick works in different situations, our power stems from being able to shift from one trick to another. To ask which meaning is correct - to count, or match, or group - is foolishness. Each has its uses and its ways to support the others. None has much power by itself, but together they make a versatile skill-system. Instead of flimsy links in chain of definitions in the mind, each word we use can activate big webs of different ways to deal of things, to use them, to remember them, to compare them, and so forth. With multiply-connected knowledge-nets, you can’t get stuck. When any sense of meaning fails, you can switch to another. The mathematician’s way, once you get into the slightest trouble, you’re stuck for good!

(emphasis mine.) In his article Why People Think Computers Can’t, Marvin Minsky talks about this – while numbers can be defined in formal systems, it’s difficult to pin down what numbers really mean to us in one solid definition. Very related to: “The meaning of a word is its use in language” Rather, we can sort of “define” a number (say, the number Three) in a more oblique way, by connecting it to various concrete concepts – “[Three] is a web of different processes that each get meaning from the others.” It’s like…the “common thread” between all of these real-life instances. The real-life instances, the “tricks,” form a set of constraints, from which emerges “Three.”

Hmm…one thing I’d add to this- the tricks are probably generational too. Or certain tricks upon which the meta-tricks of quote-unquote ’supergenius’ are built, those tricks are generational. Some people have access to them, and others don’t.

Interesting to note that the multiply-connected meaning of Three is resilient.

Related: Holding a Program in One’s Head