Jul 14 2 2014

Summer Camp Menu

Dinner for friends whose daughter has just flown the coop for summer camp.

  • Let’s go for an onion dip
  • What am I, chopped liver? (with Juliet and Romeos with farm school spearmint)
  • Hot dogs and vegetables (Thai goes to the baserunner cucumber mint cashew salad, pickled carrots, loukaniko sausage)
  • Don’t play with your Carrot Ginger Soup
  • Duck! (don’t pull my braised duck legs, smoked duck breast. snap! peas, garlic scapes)
  • You’re just a big clafoutis

by Pierre Lemaitre

This interesting French police procedural does a fine job of keeping its detectives (and the reader) off balance. We begin with an abduction on a busy Paris street, and then things get weird. Structurally ambitious, but those ambitions cannot be discussed without spoiling the mystery.

by Rachel Hartman

An intriguing and well-crafted fantasy about a mixed-race child in a world in which mixed races are inconceivable.

People are people, and dragons are dragons. They used to be at war, now they are celebrating forty years of uneasy peace. Dragons and people don’t get along; they certainly don’t get married. But Seraphina has a terrible secret: she has scales around her midriff and she understands more about dragons than she ought. Keeping her secret requires great care, more tact than Seraphina can possibly muster, and special care to avoid undressing at any cost. Among other things, this is a witty rejoinder to YA convention; this is a world where a bold young lady really does have to act as if obedience to propriety were a matter of life and death.

Quinn Norton responds:

The American people have spent my whole life telling themselves stories that let them off the hook when it comes to being responsible wardens of our country and our world. And you’re still doing it. You’re even using my dead, beloved Aaron to do it, whom you let die.

The Web supplement to James Fallows’ How You’ll Get Organized is up and well worth a visit.

Jun 14 29 2014


See with what simplicity

This nymph begins her golden days!

In the green grass she loves to lie

And there with her fair aspect tames

The wilder flowers, and gives them names:

But only with the roses plays;

   And does them tell

What color best becomes them, and what smell.

Software design and support tip: Keeping a volume of Marvell next to the computer is sometimes a good thing.

James Fallows has an upbeat view of the future of information overload. He interviews:

  • Mitch Kapor (Lotus founder)
  • Esther Dyson (pioneering tech analyst)
  • David Allen (originator of Getting Things Done)
  • Phil Libin (designer of Evernote)
  • me

“Individually and collectively,” Fallows says, “their comments boiled down to: We’ve been through the worst. The next stage in information technology will put people back in control, or closer to it.”

Jun 14 28 2014



We have a lot of new Tinderbox ideas planned for the coming months. And there’s lots to people to discover about Tinderbox Six! For example, we have two new families of badge icons – one set of understated black-and-white badges, and another set of colorful avatars of colorful people. And it’s easy to add your own families of badges, too.

A new Tinderbox Six release just went live in the backstage area.

But in addition to Tinderbox, I’ve got two big projects for the summer months. First, Storyspace 3, bringing Storyspace into the world of Mavericks, Yosemite, and beyond.

In addition, I’d love to tackle a hypertext fiction project that’s been bugging me for ages. Years ago, I wrote a paper about “Card Shark and Thespis”, tools for writing hypertexts that are nothing at all like the Web we know. That paper was well received, and introduced the idea of “sculptural hypertext,” a term we still hear occasionally. I’ve toyed with the ideas several times, and the group at Southampton has done some fascinating work along these lines.

But for the most part, the idea sat on the shelf for a decade. So, too, has the questions of story (what supposedly happened) and plot (how those events are told to us) in hypertexts where the story is the focus. I tried to get some interest in self-organizing hypertexts, the neoVictorian gothic aesthetic Spuybroek proposes in The Sympathy of Things, but that’s gotten no traction at all.

I’m also interested in seeing just how much story we can get into a hypertext. Here, too, what seems to me to be a naturally fascinating question is wildly unfashionable. It’s not just the Eastgate crowd. Digital storytelling wants everything to be memoir and every voice to be authentic. Interactive Fiction wants to give you the illusion of freedom, holodeck hamlet, at any cost. The electronic poets seem mostly to be interested in the boundaries of legibility, which really is orthogonal to the story.

So, I’m giving it a shot. Probably this will end up in the desk drawer, but we’ll see where it goes.

Jun 14 20 2014

All Means All

All Means All

Cross of Gold. Square Deal. Four Freedoms. Ask Not What Your Country Can Do For You. We Worship an Awesome God in the Blue States.

And now, perhaps joining them: All Means All.

I was there, too.

All Means All

She wore in her hair a brave prairie rose.

Her gold chums cut her, for that was not the pose.

No Gibson Girl would wear it in that fresh way.

But we were fairy Democrats, and this was our day. —Vachel Lindsay

Fallows nails it.

Am I sounding a little testy here? You bet. We all make mistakes. But we are talking about people in public life—writers, politicians, academics—who got the biggest strategic call in many decades completely wrong. Wrong as a matter of analysis, wrong as a matter of planning, wrong as a matter of execution, wrong in conceiving American interests in the broadest sense. None of these people did that intentionally, and many of them have honestly reflected and learned. But we now live with (and many, many people have died because of) the consequences of their gross misjudgments a dozen years ago. In the circumstances, they might have the decency to shut the hell up on this particular topic for a while. They helped create the disaster Iraqis and others are now dealing with. They have earned the right not to be listened to.
Jun 14 19 2014


I spent Friday and Saturday at the state Democratic Convention, whipping my district for Don Berwick’s run for governor. Berwick’s an impressive guy, thoughtful and convincing, and he’s built a remarkable campaign organization.

Late in the day, I was standing in the aisle and an older fellow in a gray IBEW t-shirt stormed up to me, pointed at my Berwick Whip jersey, and said, “Your guy is anti-union! If he gets this, my people are working for the Republicans!”

It turns out he works at Suffolk Downs, which wants a casino, and of course that’s lots of jobs. Berwick’s against casinos; they do bring some jobs but they often blight their surroundings and the impose lots of social costs. And this guy was furious. At me.

Part of the fury, of course, is that he’s strong and bald and has the right accent, and I’m shaggy and still a bit wiry and I don’t. I’m a Barney, and I’m not from ’round here. And the big picture I tried desperately to reach for – the thousands of great, unionized healthcare jobs we could have instead of a few hundred casino workers — wasn’t really going to cut it, because those healthcare workers were going to be in a union but they weren’t going to be in his union, and they weren’t going to be his guys.

I reached for my father-in-law, who worked at Garden State and Bowie and Hialeah. I reached for my grandfather, who worked for Gompers and voted for Debs. He wasn’t having any of it, in spades.

Wish I’d gotten his name. I ought to buy him a beer.

Jun 14 15 2014


Concurrency is hard.

Sure, lots of programming is hard. But concurrency is hard both because it’s complicated and because you know it’s complicated. When things go wrong, you can easily come up with explanations for why two processes are interfering with each other. When they stop going wrong, you can easily believe those explanations were true.

Tinderbox Six has lots of interesting concurrency. It matters a lot for performance. It’s very tricky. And backstage, we’ve been working through a real morass, trying to identify exactly why agent updates and sorting and reindexing interfere with each other. These are all things that used to interrupt your Tinderbox work. They don’t do that anymore. And, this week, I don’t sleep much either.

It turns out that Tinderbox Value objects are notionally immutable but aren’t actually immutable; the values for some attributes have cached internal state, and that makes their immutability treacherous. Don’t do that. (When I made that mistake, multi-core PCs didn’t exist. Now we have ’em in our phones.)

Someday I’ll rip that out. But for now, we’ve identified the problem and isolated the issues and sanity has returned.

Rebecca Meyer, 2008-2014. Read Eric Meyer’s weblog for the last six months; moving, brave, and what the web is for.

Last Saturday, I dropped in on a Don Berwick meeting to see what needed doing. He’s a pediatrician, he’s running for governor here in Massachusetts, he’s a very impressive fellow.

It turned out they needed a convention whip in my district. So, on top of the usual accustomed chores, I’ve been trying to pull together the Berwick delegates for 5th Middlesex this week.

And naturally I’ve been doing a lot in Tinderbox.

Mostly, this is very straightforward: lots of lists.

  • Things to do
  • Things to bring
  • Things to expect from the campaign staff, and who to contact if they’re late
  • Our delegates
    • Things they need
    • Things the campaign needs to know about them
  • Campaign organization: who’s who

This is trivial Tinderbox, but I really wouldn’t want to do this any other way. Need something sorted? With Tinderbox, just sort. With Word, well, you know how that story turns out. Spreadsheets could work — remember, I really like spreadsheets! — but we’ve already got six little spreadsheets here, and maybe we’ll need more, and moving things between spreadsheets is always a mess while Tinderbox notes go anywhere.

Jun 14 9 2014

Friday Night

  • chopped duck liver ❧ homemade shallot jam ❧ onion dip
  • fish pie: home-smoked bluefish, tomatillo-serrano bechamel
  • roast lamb
    • posole: blue corn, poblano crema
    • fresh rye bread
  • salad
  • Coconut Pound Cake
  • biscuits tres chocolates
Jun 14 6 2014


Yesterday, Apple announced a new language, Swift. Officially, it doesn’t replace ObjC or ObjC++, the current languages. In practices, of course, we’ll see.

I’m about half-way through the readable part of the book. Swift is very much a member of the C family of languages. Some observations from Day One:

  • The Xcode list is busy, mostly with people complaining about having to learn. Grow up. kids.
  • The book, for once, is written for a capable audience, an audience who have been here before and who mean business.
  • Swift remediates errors in Objective C, in C, and in C++. No multiple inheritance, no pointers, no opportunity to confuse = and == in if statements. It has modules, so we can dispense with ObjC prefixing.
  • Plenty of good ideas from other languages. Perl-inflected control structures, Ruby’s === operator and fondness for closures, Common Lisp’s hooks for methods called before or after mutators.
  • What the early discussion I’ve seen misses is the very nice language support for null objects. That’s going to be a big, big win, and I suspect it’s a primary motivation for the language change. Weaning people away from ubiquitous nil checks will be a very good thing.

I don’t see any obvious reason Swift should be that much faster than Objective C. The popular coverage emphasizes execution speed, but I suspect that’s wool pulled over non-technical eyes. Some of the new features — range checks for boundary access, run-time type checking for downcasts, more reliance on call-by-value structs — come with modest performance penalties.

What I miss in the story so far is technical motivation: what are we trying to do, and what influences are we following? The introduction of Go, for example, was very good on this subject: we’re making life easy on the compiler so we can compile really quickly. ObjC didn’t have much motivation; it’s old, and it’s responding to old concerns. But Swift is new; a decent respect for the opinions of mankind should compel some statement of what they’re trying to accomplish.