{ pleasing whitespace }

divine aphasia



It is my Div III

The final report on my Division III work, entitled Low-Tech Computing: Developing and teaching a programming-free introduction to computer science [pdf] exists. May be of interest to educators in computer science, mathematics, and other fields, as well as administrators.

Maybe I'll be interested in it again someday too. But not at the moment.

Finished my Div III, by the way.

I can do this.

I have now pieced together nearly 750 words that feel like something that I might call a Div III. Finally.

The start of something

It was a damp and foggy night at Hampshire College, and I had already used up the daylight hours in the unpleasant and essentially worthless business of worrying. Worrying is what I do when the prospect of doing what I ought to be doing fills me with dread. And getting my work done only fills me with dread when I have no idea what it actually is that I need to be doing. What I was quite sure of was that I had a class to teach the next day, but that was not the problem. Having to teach a class twice a week had been a phenomenal source of inspiration to me. Deadlines arrived constantly: two times a week I had to collect my thoughts and review material well enough to present on it for an hour or so to a small group of people who did not necessarily have any background in whatever the hell I was going to talk about. No, the dread arose from my lack of progress on the Thing.

The prospect of writing stuff down to document and defend my class had been making me feel by turns guilty, depressed, and angry for something like six weeks—far too long to be treading water on something so important, but I don’t catch on quickly to such things). The Thing that I was feebly attempting to write had no clear purpose in my mind, or rather no single clear purpose. Hence the mental designation “the Thing”. I didn’t know the kind of document I wanted to create. When I had last spoken to Lee, I babbled on a while about my concern and self-doubt, about how I felt like the Thing was being pulled in various contradictory directions, all of which seemed crucial in one way or the other, and none of which seemed like they could share a voice. I wanted to write something essentially rhetorical, that would make the case to a CS educator for a programming-free approach to CS1. I also wanted to write something reflective. My Div III was supposed to be the culmination of my Education, after all; I wanted a chance to be self-critical and appraise the outcomes my course being taught. And orthogonal to both of those goals was my need to document the mechanics of the course: what was taught when, assignments, lecture topics, readings, all the crunchy bits. Lee had encouraged me back before I created my first outline (which had a half-life of about ten days) to write in such a way that non-CS educators could get a sense of what I was talking about along the way—i.e. explain what, say, the halting problem is in almost as much detail as I explained it in class to my students. That was really making me worry during that walk. If I were to have taken on that mandate, the amount of things I would have felt obligated to explain in detail would have expanded fractally, and I’d have ended up writing a textbook—which, while that was something I did think I might do for my Div III originally, was hardly possible with thirty-odd days before the pass deadline.

I have long been aware that I do my best work when subject to constraints. When I afford myself too much freedom, my work is unfocused and my time is ill-spent. Without goals, I meander uninspiringly through various weird ideas; without even the merest framework for what I am trying to do, I tend to panic. My hard drive is littered with false starts from times when I sat down with the intent of “writing something”, for some poorly-defined value of “something”. Two of the school projects I am proudest of are research papers I wrote in my second and fourth semesters in humanities classes. At the start of each project, I managed to remind myself from the outset that without a clear and concrete objective for what I wanted to learn and write about, my writing would be a failure. And indeed, my most dismal failures (including failures to get my work done whatsoever) have been the cases where I had no particular direction in mind, no core to focus my work around. If my education has been a quest to figure out how I can get myself to get stuff done, my grail, glimpsed briefly time and again but never grasped for long, is the ability to make myself understand what I’m trying to do.

Social networks are party silos

The freetards aren’t going to win the war against Twitter and Facebook because most of them are explicitly not trying to build social networks. Atom is awesome and everything, but your friends aren't on Atom feeds; they can’t be, not in the same way that they can hang on out on Twitter. The freetards (feedtards?) want you to be in control of your content, but Twitter isn’t content, Twitter is social activity. If Twitter died, people wouldn’t want their tweets back, they'd want Twitter back.

Noisy things often empty.

Writing evals for the average people is hard. The people who did well, or who struggled but had bright spots I can polish, I've got a real narrative for, but folks in the middle…what do I say?

So if all shrinks are required to have periodic psych evaluations by other shrinks, there's got to be a cycle in the digraph of psych evaluations. How are we sure that there are any sane shrinks?

Low-Tech Computing: The History, Theory, and Philosophy of Computer Science

Revised course description:

Low-Tech Computing is an interdisciplinary first course in the history, theory, and philosophy of computer science. Our unconventional approach to the field will begin with exploring computing’s origins in work done on logic in the early 20th century by Bertrand Russell, Wittgenstein, Gödel, and others. Next, we will use wires, LEDs, and very simple logic circuits so that we can see how logic and arithmetic are on some level interchangeable. We will return to our historical timeline and prove a foundational theorem of computer science, the undecidability of the Halting Problem, and learn about the life and work of Alan Turing and some of his contemporaries and successors. In the last part of the course, we will touch on a variety of computing topics, including computational complexity, the P vs. NP problem, artificial intelligence, evolutionary computing, and more. Readings will be drawn from primary, secondary, and popular literature, including the recent graphic novel Logicomix. Coursework will include a short paper, a multi-part project working with electronic circuits, a problem set, and preparation for and completion of a final oral exam. We will not be doing any programming; this course will not require any prior experience with computer programming or mathematics—or even computers in general, as long as you can check your email.

I went to a math talk yesterday. Listened to someone talk about differential equations and modeling. Way over my head, hence awesome.


I'm behind on my Div III. At least I feel like I am. For two weeks or so I've been too distracted with other things to work on it, whether it's Hub stuff or Other Minds stuff or being at home. I've got half a dozen half-baked ideas for assignments, a few final oral exam topics, and the like floating around, but I haven't reached my goal of being completely ready to teach the first three or four weeks of the class.

Part of it is that my focus keeps changing. I explore ideas down one avenue for a while—foundations of mathematics, building logic circuits, the Netflix prize—and once the time comes to actually turn that idea into something, I peter out midway through the process. The lack of deadlines and parameters doesn't help. Usually when I'm doing schoolwork, I have a page count to aim for, a deadline, some guidelines for what I'm trying to achieve. This whole project is completely different from anything I've done before, and sometimes when I sit down to work on it I feel lost, almost nauseated by the prospect of attempting to direct my energy at something.

Once Jan term rolls around, at least I will have some true time pressure to guide me. I know I need to disrupt my dependence on doing things at the last minute, but I don't know how to go about that right now.

Backdoor math

I had a conversation with a friend of mine a while ago. This friend is an exceptionally bright science student, and is currently aiming for a career in neurobiology and neuropsychology. Her pre-college education was entirely at home, apparently adhering to the venerable hippie pedagogy of “un-schooling”. Until she started college at 16, she never sat down and formally did coursework—except in mathematics. Math she ground through in the conventional way, and inevitably developed a distaste for it, as do most students forced to grind through high school mathematics. She and another friend pointed out to me that if the audience for my Div III class is going to include erstwhile math-haters, that I should be careful not to front-load them with the idea that they will be doing math. Which is sad, on the one hand, but it is also pretty pragmatic. I do want to attract students who don't yet know that there is math to like in the world, and I don't want to burden my course with the conventional trappings of a math course, in the form of extensive homework assignments or chapter tests or what have you, which is what I suspect “math” means to a lot of high school graduates. So I'll have to start sneaking it in at the very beginning until people know the language.

A problem for later

Two cyborgs walk into your home, both claiming to be oracles for the graph 3-colorability decision problem. They both always give a yes/no answer in constant time for any instance, and are each self-consistent (i.e. each always gives the same answer for the same instance). However, one is a true oracle and the other is a shameless impostor, and you have a large instance of 3-colorability upon which they disagree. Prove whether it is possible to expose the impostor within time polynomial in the size of that instance.

Jacked from Gabriel Robins (see problem set 3)

Ponied up $42 to join the ACM today. Now I can read alllllll the articles.

Gavrilo: (not anywhere close, yet, to being) a lightweight, single-user XMPP server

Ian and I both want a lightweight, easy-to-configure, single-user-optimized XMPP server. None of the current XMPP servers are anything like this. So we are starting to work on gavrilo. It's in C. Neither of us really knows C. So it hasn't gone very far. But we've already done more work on it than either of us really expected, given our extraordinary laziness. It helps that we both really want this to exist.

Feel free to darcs send patches to evan+gavrilo at this domain. (Though honestly there's nobody reading this blog, and even if there were, they wouldn't be able to contribute much to our project at this point because it barely exists.)

Boredom and idle dissatisfaction

I am, for some reason, vaguely considering porting this blog thing over to ActiveRecord or Sequel or something on top of Postgres or SQLite or something. Wouldn't be any less random than my decision to use MongoDB in the first place, I suppose.

Environmental art brings art even further from the artifice of representation than pure abstraction. An environment is a thing in itself.

Two small and incomplete ruminations on Mad Men

Spoilers for Mad Men below

What kind of a creature is Mad Men?

As Don drifts through the sixties, it becomes increasingly clear that Matthew Weiner is not telling a story in the same way that Lawrence of Arabia tells a story. Comparisons between film and television can be rhetorical dead-ends, but let's go for it anyway. In a particularly splendid cinematic moment from the film, Lawrence is asked a question that neither he nor the film has an answer to: “Who are you?” I've only seen this movie once, several years ago, but I remember it now as a strange sort of picture. It is ostensibly a biography of a historical figure, portraying him as a romantic Western hero, one of the colonial authority going native in an oriental land, having adventures and such. And yet it isn't that at all, is it? The film takes liberties with the historical T.E. Lawrence's already problematic memoir of his military service in Arabia. By the time Lawrence of Arabia was released in 1962 (incidentally, the year of Mad Men's second season), the historical Lawrence had been dead nearly 30 years, killed in the motorcycle crash that opens the film. Little remains of the man himself, now. Once the real Lawrence was a living hero; now even Peter O'Toole is an old man, and the only Lawrence left is an empty signifier.

“Who is Don Draper?” asks an Advertising Age journalist in the first moments of Mad Men's fourth season. A troublesome question, indeed, for Don, as he spends a brief interview glumly dodging questions about himself. Don's unwillingness to talk about himself dates back to the second episode of the show; at dinner with his boss and their wives, even Betty admits to knowing next to nothing about Don's past. (Of course, she probably preferred it that way.) At the end of the season 4 premiere, Don's giving another interview, this time laying on the charm, relating the creation myth of Sterling Cooper Draper Pryce.

More fannishly, how could we have expected that this season would be proceeding other than the way it is? “Shut the Door, Take a Seat” ended with anticipation—here were all the good guys, teamed up in a hotel room, looking for a new beginning, a different sort of opportunity than the one they'd get at McCann. We spent the intervening months eagerly awaiting Don's return to the screen, where for some reason we expected him to suddenly be in control and on top of his game, to be getting what he wanted, to have somehow won. But that's not how the show works, of course. We have seen every major character in the show, with the exception (so far) of Burt Cooper, gain more agency in their world, become more fulfilled, for brief shining moments—then we see them robbed of this same satisfaction just as quickly, often for reasons that are their own fault. Peggy inadvertently cracks the glass ceiling, cons her way into an office, joins a new agency, and then finds herself saddled with erstwhile-carpet-pisser Freddy Rumsen, telling her that she should worry about getting married. Even Joan is given some interesting work to do for half an episode, reading scripts, only to have the job yanked away by a man. And, of course, everything that has ever happened to Don. So when 1964 Don is drunk, depressed, and getting slapped around by call girls, we find it a bit surprising at first, but before long, it's the most natural thing in the world. Life sucks for these people, and will continue to do so at random because that just happens to be how life is.


Anderegg, Michael A. “Lawrence of Arabia: The Man, The Myth, The Movie”. Michigan Quarterly Review 21-2 (Spring 1982), pp. 281-300.

Year-to-date savings at Stop & Shop: $55.16.

I am not sure how I feel about this development

I was a pretty big Looney Tunes fan growing up. Catching the cartoons on Nickelodeon and Cartoon Network, Bugs Bunny became one of my early heroes, along with the Pink Panther and Jerry (of “Tom and” fame). Since those younger days, my appreciation for Bugs and Daffy has only grown. “Duck Amuck”, for instance, is a glorious achievement of meta, created way before meta was in style. So I found the news that WB is making new CGI Looney Tunes shorts for a show on Cartoon Network both intriguing and worrisome.

At the very least, from the look of the preview clip that’s been released, the animation style that the creators have chosen for the new shorts manages to translate the look of the 2-D cartoons to 3-D pretty effectively while avoiding the pitfalls of excessive photorealism. I’m still worried that 3-D bugs walking around and munching carrots will manage to be weirdly unconvincing, compared to the silent slapstick of Wile E. Coyote and Roadrunner. And of course this doesn’t even touch on whether the toons will be any good.

If it turns out to be an ill-fated cash grab, I can always just watch more episodes of Panique au Village.

Stephen has a stretchy dinosaur

Pictured here with yours truly:

Evan with Stephen's stretchy dinosaur

I have a PGP key now. If only anybody I knew aside from Ian signed their email.

Apparently I have already run out of blags to blag. Oughta work on Div III, blag that.

A cardinality brainteaser

A question was put to us at Daniel's birthday party the other day, to the effect of:

Take a cup, and put ten marbles in it, and take out one marble, then put another ten marbles in, and take one out, and keep doing this out to infinity. When you stop, is the cup empty or full?
I was tired at the time, and didn't come up with a resolution immediately, but then Daniel left me a voicemail message from work reminding me of the whole thing, and I realized what was up..

To begin with, the question is misleadingly put, at least as I have reconstructed it. (Of course, such questions are often misleadingly put or else they wouldn't be so bothersome.) You can't “stop” at the end of infinity, as it goes on forever. You can sample the number of marbles in the cup at any given time, but that doesn't tell you anything about the relationship between the number of balls that go in and the number that come out.

Fortunately, it's pretty easy to observe that the number of marbles we put in and the number we take out are the same. (To be more precise, the set of balls placed in the cup and the set of balls removed have the same cardinality, ℵ₀.) Every time we put a marble into the cup, we can write a natural number (0, 1, 2, …) on it. When we remove marbles, we remove them in ascending order. We will eventually take out every ball that we put in. The naïve objection goes “even if we remove the last marble somehow, we just go on to put ten more balls in!” But of course, there is no last marble; this is why reasoning about infinite sets and processes is counterintuitive. We can index both the balls inserted and the balls removed by the natural numbers, thus they have the same infinite cardinality. The question of whether the cup is empty or full doesn't obtain: we're putting an infinite number of balls into the cup and taking the same infinite number of balls out, but we never get to stop.

Supertasks are a different sort of infinite process, where an infinite number of steps can be completed in finite time, and questions like the above brainteaser are in fact quite interesting

Reasons darcs is superior to git

Completely objective, unbiased, and evidence-based

Can now log in to this thing and even add posts from the Web. I feel a little dirty for adding this.

Roguelikes are hard

Today's effort:

 Dungeon Crawl Stone Soup version 0.6.0 character file.

344 evan the Chucker (level 5, -2/46 HPs)
             Began as an Ogre Gladiator on July 25, 2010.
             Was a Follower of Yredelemnul.
             Killed by divine providence
             ... invoked by an orc priest
              (9 damage)
             ... on Level 4 of the Dungeon.
             Evan's game lasted 00:24:04 (3246 turns).

Message History

Pain shoots through your body!
The orc priest prays to Beogh.
You feel a wave of unholy energy pass over you.
The orc priest invokes the aid of Beogh against you.
Something smites you!
You die...

Computer Science: A (Semi-)Formal Introduction

I will be creating a course text and developing a curriculum for an introductory course in theoretical computer science as my Division III project this coming school year. So far, I have some big ideas, some doodled outlines, and this course description:

Computer science is a discipline founded on a singular and counterintuitive hypothesis—that any device or system designed to perform calculations is no more powerful than a specific and very simple abstraction of computation. The details, implications, and contradictions of this hypothesis will concern us in this course. We will quickly build up a model of algorithmic computation, the Turing Machine, and explore its plausability as a universal model. We will then discuss the core results of computability theory, including Turing's solution to the halting problem. We will move on to further topics in foundational computer science, including time and space complexity, the P vs. NP problem, randomness and information, the philosophy of artificial intelligence, and other topics as time and interest allow. We will use the methodology of mathematical proof throughout the course to support our assertions, but there are no specific mathematical prerequisites.

It's amazing what sort of things one can do when the power goes out. Like nap, for example.

I have a crush on slab serifs.


The Unicode Technical Committee's Subcommittee on Encoding of Symbols is working on a proposal to assign Unicode characters to Emoji symbols. There is a big-ass table of the proposed symbols and mappings.

This makes me smile.

Also: Dear Ubuntu, why the hell do your mongodb packages depend on XulRunner of all things? My VPS has 300MB of Gtk deps on it now.

It amuses me that the best available STOMP broker was released about three weeks ago, and that we are going to use it for TheHub

lol your own

The code for this thing is now publicly available as a Darcs repository. You can figure out the dependencies if you are clever. darcs get http://darcs.jklol.net/jklol/ and enjoy.

It is clearly way past my bedtime.

Testing two things at once. I am causing madness to occur. This is great.

This thing is…

yet another hand rolled blog thing. It uses Sinatra, MongoDB, and Mustache.

No date stamps, permalinks, or feeds until further notice.