What is a vector in Euclidean space? Some might say it's an entity characterized by possessing a magnitude and a direction. But scholars of the geometric algebra (such as Eric Chisolm and Dorst et al.) tell us that it's better to decompose the idea of direction into the two ideas of subspace attitude (our vector's quality of living in a particular line) and orientation (its quality of pointing in a particular direction in that line, and not the other). On this view, a vector is an attitudinal oriented length element. But having done this, it becomes inevitable that we should want to talk about attitudinal oriented area (volume, 4-hypervolume, &c.) elements. To this end we introduce the outer or wedge product ∧ on vectors. It is bilinear, it is anticommutative (swapping the order of arguments swaps the sign, so ab = –ba), and that's all you need to know.

Suppose we have two vectors a and b in Euclidean space and also a basis for the subspace that the vectors live in, e1 and e2, so that we can write a := a1e1 + a2e2 and b := b1e1 + b2e2. Then the claim is that the outer product ab can be said to represent a generalized vector (call it a 2-blade—and in general, when we wedge k vectors together, it's a k-blade) with a subspace attitude of the plane that our vectors live in and a magnitude equal to the area of the parallelogram spanned by them. Following Dorst et al., let's see what happens when we expand ab in terms of our basis—

Continue reading

The Threshold

Supposedly the method of pomodoros is a great technology for overcoming procrastination: you work in twenty- or twenty-five-minute timed blocks, each of which are atomic, indivisible: you have to work through the block, and if you let yourself wander away to something else, then it doesn't count. Katja Grace explains why this is a good idea:

While working, there are various moments when it would be easier to stop than to continue, particularly if you mostly feel the costs and benefits available in the next second or so, and if you assume that you could start again shortly [...] Counting short blocks of continuous time working pretty much solves this problem for me. [...] [A]t any given moment there might be a tiny short term benefit to stopping for a second, but there is a huge cost to it. In my case this seems to remove stopping as an option, in the same way that a hundred dollar price on a menu item removes it as an option without apparent expense of willpower.

Continue reading

Supermarket Notes II

I bought cookie dough, on the thought that maybe I should bake cookies and offer them to people at the University; if they were to ask what the occasion was, I could say, "It seemed like a whimsical thing to do, and I'm a whimsical person." But I'm not sure I'll actually do it.

I used to work for a different store in this chain, the one on Ygnacio Valley. The stores are numbered (internally; the numbers aren't secret, but it's the sort of thing you don't notice unless you work for the company), and the store on Ygnacio Valley is number 1701, which I remember thinking was a very significant number, but I don't remember anyone else agreeing with me, probably because if I told anyone, then they hadn't been a Star Trek fan.

It's Not Whether You Win or Lose

It's how close you come to doing the Right Thing at each and every one of the uncounted millions of decision points that make up your life, with how you play in any particular game only constituting a tiny fraction of these, and it being not at all clear that choosing to play a game just then is closer to the Right Thing than any number of non-game-playing actions you might have chosen instead, but didn't.

Forgetting to Take an Average

It seems as if my outlook on life varies drastically with mood. In the moments when I feel brave and ambitious, I rarely seem to remember that it won't last: that in a week or a day, the moment will be gone and I'll feel weak and scared again—and of course it goes conversely, too.

We don't have the technology or the wisdom to redesign our own emotions. If the moments of weakness-and-fear aren't going away, and if neither mood is exactly a belief that could be destroyed by the truth, then it seems like it would at least be useful to remember, if for no other reason than to avoid wasting cognition devising plans and expectations that aren't sufficiently robust to ordinary emotional variation.

The True Secret About Conjugate Roots and Field Automorphisms

In the study of the elementary algebra, one occasionally hears of the conjugate roots theorem, which says that if z0 is a root of a polynomial with real coefficients, then its complex conjugate is also a root. Or if you prefer, nonreal roots come in conjugate pairs. It also works in the other direction: if nonreal roots of a polynomial come in conjugate pairs, then the polynomial has real coefficients, because the purely imaginary parts cancel when you do the algebra: (x – (a + bi))(x – (abi)) = x2x(a + bi) – x(abi) + (a2 – (bi)2) = x2 – 2ax + a2 + b2.

There's also this idea that conjugation is the unique nontrivial "well-behaved" automorphism on ℂ, a map from ℂ to itself that respects addition and multiplication: the sum (respectively product) of the conjugates is the conjugate of the sum (respectively product). The complex numbers are symmetrical around the real axis in a way that they're not around the imaginary axis: while i and –i are different from each other, you can't "tell which is which" because they behave the same way. Contrast to 1 and –1, which do behave differently: if someone put either 1 or –1 in a box, but they wouldn't tell you which, but they were willing to tell you that "The number in the box squares to itself," then you could figure out that the number in the box was 1, because –1 doesn't do that.

The existence of these two ideas (the conjugate roots theorem and conjugation-as-automorphism) can't possibly be a coincidence; there must be some sense in which nonreal roots of real-coefficient polynomials come in conjugate pairs because the polynomial "can't tell" "which is which". But it would be unsatisfying to just say this much and nothing more ("Theorem: That can't possibly be a coincidence. Proof ...??"); we want to say something much more general and precise. And in fact, we can—

Continue reading

Recursion Is Boring

What the utter novice finds brilliant and fascinating, the slightly-more-experienced novice finds obvious and boring.

When you're trying to think of cool things to do with a system, one of the obvious things to try is to abuse self-reference for all the world as if you were Douglas fucking Hofstadter—but it's not cool, precisely because it is so obvious, and you're not Douglas Hofstadter.

Once I made a Git repository and a Mercurial repository living in the same directory, tracking each other endlessly, one going out of date the moment you committed to the other ...

But that's not interesting.

You can run Emacs inside a terminal, and you can run a terminal inside Emacs—in fact, you can run two (M-x term, M-x ansi-term). Therefore you can run two instances of Emacs within Emacs. Each of those Emacsen could run some natural number of other nested Emacsen, and therefore (to a certain perverse sort of mind) could be said to represent that natural number, which I presume could be determined programmatically (via recursion). Two-counter machines are Turing-complete. So, in principle, if you didn't run out of memory, you could build a computer out of instances of Emacs running on your computer ...

But that's boring.

Periphery Demographic

Judging by the comment moderation queue, this blog is wildly popular among a certain niche audience.

Namely, spambots. Although I can't help but wonder why spammers are so incompetent. Of course spammers have no reason to put any effort into the marginal comment or email. The reason spam exists is precisely because in a magical land of near-zero marginal cost (like the internet), the unscrupulous can afford to send sales pitches to a million people even if only fifteen bite. But that doesn't mean spammers couldn't put a little fixed-cost effort into improving their algorithm for generating those millions of spams. At least conventional advertising is occasionally entertaining; in contrast, most of the spam I see is just noise, to the extent that it once gave me an idea (which I would not implement; it's not my style) for a Reddit novelty account: "CompetentSpammer" would write eloquent, insightful comments that ever-so-subtly worked in references to charm bracelets and sketchy pharmaceuticals.

I know, it sounds as if I'm complaining, but I'm not: we are all grateful that spam is so easily distinguished from actual content; I was only wondering.

If you don't know what I'm talking about, some commentary on spam comments submitted to this blog is below the break—

Continue reading

Cached Reply Upon Being Told That I'm an Idiot

Not specific enough.


You claim that I'm an idiot. Well, sure; I already knew that. If you could point to some specific way in which my thinking is confused and explain how I might do better, then I would be quite grateful. But to just say that I'm stupid, without elaborating, doesn't seem helpful.

(Words are useful insofar as they summarize information about the world. If everyone involved already has a detailed predictive model of someone's various cognitive abilities, then it doesn't matter whether you describe them as an "idiot" or a "genius". As compared to what?)

Supermarket Notes I

I think I like the store-brand "sparkling water beverages"; they fill a similar niche as soda (which I never buy at the store, but have been known to occasionally consume at parties or restaurants), but seem like they ought to be less deadly.

I think the "More grains. Less you!" slogan on this box of cereal sounds sinister. I mean, they're probably just talking about weight loss, but still ...

I'm suspicious of processed food products shaped like cartoon characters, as if there are highly-placed cannibals at General Mills plotting to train children that it's okay to eat creatures that can talk. On the other hoof, these fruit-flavored snacks are delicious.

Inclusion, Exclusion

In this modern day and age, it simply cannot be doubted that it is of the very utmost importance that we find the size of the union of some sets. One might try just adding the sizes of all the sets, but that's not correct, because then one would be double-counting the elements that appear in more than one set. But it's a good start. One might then think that one could begin by adding the sizes of the sets, but then subtract the sizes of the intersections of each pair of sets, in order to correct for the double-counting. But this is also incorrect, because then what about the elements that appear in three sets and had thus initially been triple-counted?—after subtracting the pairwise intersections, these elements haven't been included in the count at all! So one realizes that one must then add the sizes of the triplewise intersections ...

And in one of the dark recesses of the human mind, untouched by outside light or sound, silent and unyielding to the invidious scrutiny of introspection and cognitive science—a conjecture is formed—

The size of the union of n sets is given by the alternating (starting from positive) sum of the sums of the sizes of all j-way intersections amongst the sets from j:=1 to n!

(N.b., the exclamation mark indicates an excited tone, not "factorial".)

Continue reading

Summing the Multinomial Coefficients

The sum of binomial coefficients \sum_{j=0}^n {n \choose j} equals 2n, because {n \choose j} is the number of ways to pick j elements from a set of size n, and 2n is the size of the powerset, the set of all subsets, of a set of size n: the sum, over all subset sizes, of the number of ways to choose subsets of a given size, is equal to the number of subsets. You can also see this using the binomial theorem itself:

2^{n} = (1 + 1)^{n} = \sum_{j=0}^{n} {n \choose j} 1^{j}1^{n-j} = \sum_{j=0}^{n} {n \choose j}

But of course there's nothing special about two; it works for multinomial coefficients just the same. The sum, over all m-tuples of subset sizes, of the number of ways to split a set of size n into subsets of sizes given by the m-tuple, is equal to the number of ways to split a set of size n into m subsets (viz., mn).