Gus Mueller (VoodooPad, Acorn) discusses the importance of notebooks to software developers.

Jon Buscall observes that

Ten years ago to the day I was lecturing about TS Eliot’s “The Love Song of J. Alfred Prufrock” to a lecture hall full of Finnish undergrads. The snow was coming down outside and I was just one more birthday away from thirty.

and emphasizes the importance of notebooks (and “cool tools like Tinderbox”) for planning life’s unpredictable journey.

Mar 09 30 2009

Confit support

Pleasant email this morning from Copenhagen, seeking clarification of the duck confit I'm planning to have for dinner tonight. Two points:

  • It’s 300°F, or about 150•C. Any moderate oven will do; if you have plenty of time, I might reduce the temperature a bit and let it cook a little longer.
  • It helps to poke a few holes in the duck skin with a fork
  • I don’t dust the salt and spice off the duck legs before wrapping them in foil and popping them in the over. But I like my confit on the spicy side, spicier than I’ve generally experienced in restaurants.

It’s an interesting change to debug people’s dinners; do I have a great job or what?

Sunday night’s dinner:

  • a plate of charcuterie
  • chuck roast with lots of carrots and onions
  • pears poached in vanilla and saffron

Archaeologists have found a 2700-year-old burial in China that contains, among other burial goods, a supply of marijuana. The paper in Journal of Experimental Botany is surprisingly readable, and reviews surprisingly extensive records of ancient trade in cannabis, including a passage from Herodotus.

A woman writes to Cary Tennis. A dear friend has broken her expensive cell phone. How is she to protect her phone without losing the friend?

The next time she says, May I borrow your phone? tell her, "The correct phrase is this: 'May I borrow your expensive, delicate, $435 swivel phone, which must be opened carefully with a deft swiveling motion?'"

Emphasize "deft swiveling motion."

Mime a deft swiveling motion. Place your palms together flat and twist them back and forth to simulate deft swiveling motion. Ask her to join you in this. Swivel your palms together at the same time, chanting "deft swiveling motion, deft swiveling motion."

Consider the meaning of "deft swiveling motion." Consider the double helix; consider the deft swivel move of the offensive tackle heading for the flat, conserving energy in his large frame, appearing "quick for his size."

This is wonderful. But...

An offensive tackle who deftly heads for the flat is, as I recall, an ineligible receiver downfield.  Yellow flags, five yard penalty. Not deft. Cary means the guy standing right next to the offensive tackle, who is known as the tight end.

Eleven, The Spelunker: an epistolary story by Diane Greco.

At any rate, the spelunker’s good, if undeserved, reputation persists, but this shouldn’t surprise you, for you know all too well his ability to charm. Oh well, we all make mistakes, especially in our youth, and yours was glorious: your endless legs; the relentless way you drank with him at the graduate bar every night and then how the two of you would withdraw, hand in hand, making everyone else so melancholy; and not least, your flying hair! And how much of it you had! So thick, so curly—and me with my poor head in a scarf.

When a frantic neighbor complains that the new apartment’s shower is flooding the apartment three stories below, the author observes:

Her firm grasp of the details of this extraordinary theory lent it a surprising credibility and I thought, either this woman is mad or I have made quite a poor real estate investment.

My goodness:.I think it’s 38 years since we were reading a portion of JHF every Muriel Moulton’s American History. It was an old book then. And a fine one, too.

Talking Points Memo (!) has a superb retrospective.

by Jack Campbell

The start of a long series about a long retreat – Xenophon in space – is written by a former Navy officer. Vexingly, the novel focuses exclusively on the fleet admiral who is thrust into command after a disastrous battle and who rises to every challenge. Each challenge is described in advance in tedious internal dialog, and then discussed afterward in councils of war, in discussion with the flagship’s perfect Captain, and in further discussion with a civilian co-president who conveniently asks questions that any starship officer would know but that we, naturally, do not. The author is very interested in the details of ship handling but sometimes loses his grip on special relativity. Worse, his fleets are unreasonably huge and contain a host of ships – destroyers, light and heavy cruisers, battle cruisers and battleships – all of which seem to have the same weapons complement. This makes no sense. When not preaching, though, the book is entertaining and does manage a clever and (I think) fresh First Contact moment when an officer finds a looted safe in an abandoned enemy base and observes that the safe-cracker used a drill bit that was neither English nor Metric. In those non-standard drill holes echo the horns of elfland.

Today is Linda’s birthday!

It’s also the 14th anniversary of the first wiki.

Yalobusha, the blog of the annual literary journal of the University of Mississippi, has an Ada Lovelace Day special on Shelley Jackson, author of Half Life and Patchwork Girl.

Mar 09 24 2009

Rands In Repose

Last night I stumbled across a nice essay on The Makers Of Things. It was a fine Obama phrase, and it’s a great topic. And I'm getting tired of explaining to people that "techie" is an insult and a “geek” is a crippled person who displays their deformity to paying customers. But we need a word, a phrase. “Makers of things.” I can live with that.

But that led me to The Rands Vegas System, an extended blog series from 2002 that ought to rank near the pinnacle of weblog writing. It’s an instruction kit for a Vegas weekend, a how-to for a hidden world of drinking, gambling, and strip clubs. Now this is not my scene, I don’t need this guide, but that’s irrelevant. This is a terrific portrait of a hidden world, and comparisons to Hunter Thompson and Chuck Palahniuk and David Foster Wallace are not out of place.

The writer behind these essays is Michael Lopp, and his book on Managing Humans has been on my reading stack since June 2007. The promotional site is a classic. I was just telling myself that I really ought to find the damn book and read it. And then I glanced to my left. It’s on my desk. Right there. OK, it's underneath Prehistoric Digital Poetry, which is underneath Beautiful Code, which is beneath Eco’s The Open Work. And Ted’s Geeks Bearing Gifts is on top of that, But, yeah, it’s right there.

Mar 09 23 2009


It’s been a metafictional weekend. Last night, Synecdoche, New York.

It will open to confused audiences and live indefinitely. -- Rgert Ebert

I understand why PeterMe wondered out loud what was taking me so long. Night before, Owning Mahoney. Night before that, the last Battlestar.

Fine films! (Some nice meals, too: last night's dinner was hanger steak, tariflette, a spinach salad with goat cheese, pecans, and pear vinaigrette.) But it’s getting to be about time for a ninety-minute romp with bright lights, fast girls, and plenty of ammunition.

Sometimes, you might want to use color cues to reflect part of your project status.

Color cues are probably most useful when you want to present lots of individual indicators, all pretty much alike. You want to make every indicator accessible — otherwise you’d just summarize them — but you want especially to call attention to a small number of indicators that have exceptional values.

For example, in an airplane cockpit you might have a bunch of normally-green lights, so you can confirm that systems are turned on. And if one of those lights turns red, you notice that urgent red light in the middle of a panel of green lights.

In our Tinderbox dashboard, let's suppose we’ve got a group of notes which represent the progress of a bunch of projects. Or maybe it’s the time since we sent cookies to our favorite clients. To make things a little easier, we’ll assume it’s a number from 0 to 100.

Using a Rule (which all these notes can inherit from a single prototype), we might say


and we’ll have a nice display like this:

Dashboard Colors

Or, perhaps we might leave the color of the note unchanged and simple change the brightness of the label.


Dashboard Colors

For something subtler, we could give high-scoring notes a gentle glow:


Dashboard Colors

by Timothy Garton Ash

Amazing things happen. A contemporary historian of Eastern European dissent finds himself, wide-eyed and amazed as anyone, visiting his old friends and interview subjects as the world transforms. Friends and informants are still in their customary haunts, drinking their drinks and smoking their cigars and talking about art and politics, but suddenly they find themselves negotiating with governments and representing millions and knowing, in their tiny ad hoc theaters, that the whole world is watching. Neither a history nor a memoir, but rather a striking impression of events as they unfolded around an informed observer who often found himself at the right place.

It was amusing to watch the collective twitterings this morning at Not very much intelligent discussion, alas: people mostly confined themselves to expressing whether they liked the finale or not. Ebert calls this Himalaya Criticism: “loved him, hated her.”

What the frack WAS Kara Thrace

Best coverage, with extensive interviews, by Maureen Ryan in the Chicago Tribune. And she was the first to get into print, I think, the crucial key:

"I was perfectly at peace with the disappearance of Starbuck. I didn't know why until the day after the finale, when I was walking down Madison Avenue in New York City and it hit me like a thunderbolt.

The Father, the Son and the Holy Ghost.

And why, after all this, do we suppose that it won’t simply happen again? Yet another cycle of war and destruction, as we once again begin to build robots?

Because this time, we know in our bones: we were slaves.

The recent End Of The World As We Know It has evoked a flurry of fresh interest in The Wizard of Oz as political allegory. The farmers (Scarecrow) and industrial workers (Tin Woodsman) join Dorothy (from Kansas) on her quest. They meet the Lion (William Jennings Bryan), and together must conquer the Wicked Witch of the West (Mark Hannah?) and the Emerald City (Washington, where everything is green and no one does a lick of work).

The BBC was hot on the case, and this excellent summary has been much blogged. The allegorical interpretation stems from Henry M. Littlefield’s The Wizard of Oz: Parable of Populism. Hat tip: Andrew Sullivan

Littlefield thinks the flying monkeys are Indians. I had figured Pinkertons, but now think Littlefield has the better case.

A discussion has started up in the Tinderbox Forum on Tinderbox for academic writing. Jean Goodwin chips in with a conference paper that‘s due at the end of the month.

  1. For the last 6 months or so, as I researched I stuck random notes about the topic in a container.  I looked at these notes visually, using Map view.  And every so often I would re-arrange some, clustering them roughly using Adornments.  A few also got linked.
  2. About 2 months ago, I began to have a sense of what I was going to say.  So I started a new container and began roughing out an outline.  No surprise:  I tended to have this container open in Outline view, with the notes still open in Map view.  Some notes got moved into the outline, but most I just used for brainstorming.
  3. About 2 weeks ago, the outline was pretty much set in my mind. So I duplicated the container, & called it "paper."  I look at this container in Explorer view, filling out the outline with text, and keeping the other two containers also open for reference.  I also automated the process of collecting the scattered notes into the old outline, by adding a new attribute called "Section," building a series of agents that would move notes from the Notes container into the right part of the OUTLINE.  That makes it easier for me to pull stuff from them into the paper.
  4. Sometime next week, I'm going to export the draft and from then on use Word & Endnote to do the final writing & clean-up.
Random Word Of The Day

Matt Hanlon takes up the Word Of The Day dashboard item. But he didn’t want to hunt up a bunch of “interesting” words. Instead, he has Tinderbox ask the built-in dictionary for a random word.

Matt wants to do this with a perl one-liner. So avoid getting tangled up with escaped quotes, we're going to store that one-liner in a user attribute called "command".

command: perl -e 'open IN, "</usr/share/dict/words";rand($.) < 1 && ($n=$_) while <IN>;print $n'

In essence, this leafs through the dictionary while rolling lots of dice; when the dice come up snake-eyes, we stop and choose that word.

And our action becomes:



Want to do it in ruby?

command: ruby -e 'rand < 1.0/$. and line = $_ while gets; puts line.chomp if line' /usr/share/dict/words

Though time begins on opening day (April 5), the signs of spring are coming. And they remind us that not everything changes beyond recognition, even in 100 years.

Suppose, instead of our fleet commander, Christy Matthewson showed up tomorrow and was told “you’re the manager of the Giants. Welcome home.” Matty last played for the Giants in 1916, so our time frame is roughly OK.

M is for Matty,
Who carried a charm
In the form of an extra
Brain in in his arm.
 —Ogden Nash

Now, a lot will have changed. The Giants are in San Francisco now. They’re opening against Milwaukee. Where? Opening day is still 1:05, but tomorrow we have a night game. Yeah -- they have lights now. Bright lights.

Matty watches batting practice and worries, because the BP pitchers are throwing wicked heat. They’ll wear themselves out: he'll have to give them the lecture about pitching in a pinch. Eventually he gets the message: everyone here throws amazing fastballs, wicked curve balls, and something called a “slider” that’s like a screwball but much, much faster.

Then he sees infield practice, and again these kids make amazing plays as if they were nothing special. He can’t imagine how anyone hits these pitchers, or gets on base even if they did. So he asks the veteran sitting next to him, “What’d you hit last year?” And the answer is “.271/13/70, Mr. Matthewson” and they both know where they are.

And, when you come right down to it, while all the details have changed, the game is still the same. A sharp grounder to short is still out by a step; everything is faster but it's still an out. He can’t imagine how anyone can hit Lincecum, his starting pitcher, but the kid gives up way too many walks and throws a hell of a lot of pitches, and he’s slow. But Matty’s seen that before, too:

P is for Plank,
The arm of the A’s;
When he tangled with Matty
Games lasted for days.
&nbsp;—Ogden Nash
Dashboard: Progress Bar

Here’s the very common kind of dashboard note: the summary note. It goes out and collects information from a bunch of other notes, and consolidates the result in one place.

Here, we want to add up the word count for some notes — the notes we’re writing — while ignoring the word counts of our grocery lists, deadlines, letters to publishers, and whatnot. In my hypothetical case, the Things We're Writing are all kept somewhere inside a container called BOOK. So, so find our current word count, we just add up the wordcounts of all the notes inside BOOK:

"Rule: Text=sum_if(descendant(/BOOK),1,$WordCount);)

Now, suppose we’ve got a milestone or target – say 65,000 words. A progress bar might help use see how far along we’ve come:

This lets us see at a glance how far along we are, and also gives us the raw data.

Exercises for the reader:

  • Use the hue() or brightness() functions to adjust MapBodyTextColor so that the text becomes greener the more we’re ahead of schedule, and redder the more we fall behind.
  • Use the dropshadow to pack even more information into the single summary note. What else might you compute here, and why?

I stumbled across Jack Campbell’s Dauntless , which is shaping up to be an amusing adventure yarn in which a fellow escapes in a lifeboat from a disastrous space battle, is kept in suspended animation, and is rescued a century later – just in time for another battle. The catch is that Captain Geary is now — by almost a century — the senior captain in the fleet. And so, when the admiral inevitably is swept from the scene, guess who winds up in command?

Jack Campbell is a pseudonym for John Henry, USN (ret). The catch here – to which the book pays too little attention – is that a century is a long time in this man’s navy: long enough to that, pretty much, everything’s changed.

2009: Major naval battles are won by cruise missiles or submarine torpedoes. Or that’s what everyone assumes: there haven’t been any major naval battles during the career of any active officer in the fleet. A first-rate ship might have a complement of 5,700.

1959: Major naval battles are won by carrier-based planes. The last big battle was Leyte Gulf. A first-rate ship might have a complement of 2,200.

1909: Major naval battles are won by sea-borne artillery. The last big battle was Tsushima. A first-rate ship might have a complement of 750.

1809: Major naval battles are won by broadside cannon. The last big battle was Trafalgar. A first-rate ship might have a complement of 850.

1709: I know nothing about naval warfare of this era.

1609: We’re back to the Armada – fleets commanded by amateurs often without experience at sea. Battles are won at close quarters, if they happen at all: keeping a capital ship afloat at sea is a challenge. A capital ship (say, Sweden’s Vasa) has a complement of 450.

1509: We”re back to Columbus. Battles at sea involve galleys: big rowboats.

If you put Jack Aubrey or Nelson or Anson in command at Jutland, how much good are they going to do – even given the most romantic conception of command? Everything has changed.

Technology is like that. Time flies.

Dashboard: Thing of the Day

One of the panels in our first “dashboard” example displays a “word of the day,” chosen from a list of interesting words. Each morning, you’d glance at the dashboard and see a fresh word that you might use as a writing exercise, or a contemplation trigger, or just a reminder.

The same technique could work with all sorts of things. New Year’s Resolutions. Cleaning chores. Vocabulary prep for your next trip abroad. Research reports you’ve been meaning to read. Customer relations reminders to follow up with your best customers. Oblique strategies.

It's easy to do. First, we’ll assume you have a container called Words, and that you've added a bunch of words to the container. Words like “funicular”, “flemished”, and “flambée”.

In our dashboard, we make a note and use the prototype Dash that gives us a nice, big, green map body text. (The prototype is just a convenient place to hold cosmetic settings like font color.) The dashboard note picks a random word:

Rule: $Text=$Name(randomChild(/Words)

But this would choose a new word every time the rule runs. To limit ourselves to one word for the day, we add a user attribute $Date, and get a new word only if the date has changed since the last time we picked on.

Rule: if($Date!="today") {

(This requires Tinderbox 4.6.1, though you can contrive slightly less convenient approaches to do the same thing in older Tinderbox releases.)

Some extensions are pleasant exercises left to the reader.

  • Instead of changing the word every day, change it every hour
  • If you're unlucky, you might randomly choose the same word two days in a row. Ensure that you’ll get a fresh word every day.

While the cool kids are having a hot time in Austin, and Elin is partying in London with the octopus, I've been swamped with myriad little tasks. Tons of admin, popping up with sudden urgency. Two conferences program committees suddenly erupting in unexpected disputation. A fresh paper that needs to be written yesterday. And piles of small Tinderbox bits that need to be addressed for the next release.

Polishing Nakakoji view. Restoring the update HTML button to HTMLView. Entifying ≠. You get the picture: lots of little bits.

See you tomorrow!

Mar 09 14 2009


Can’t wait to see Michael Ruhlman’s forthcoming book, Ratio: the simple codes behind the craft of everyday cooking . It’s due April 7.

Meanwhile, Ruhlman extolls the virtues of duck confit — duck legs, slowly cook in duck fat. Ruhlman has a great point: if you don’t have lots of duck fat handy, just use some olive oil.

But you can make very nice confit without any duck fat at all. Just season the duck legs (I use plenty of salt, pepper, sugar, juniper berries, coriander) and wrap them pairwise in heavy duty aluminum foil. Into the 300° oven for about 3 hours: now you have duck confit and a good deal of duck fat to use next time.

Tinderbox Weekend London. May 9-10, 2009.

  • Mark Bernstein
  • Mark Anderson
  • J. Nathan Matias
  • Michael Bywater
  • ...and more

Registration is now open.

The first post on Tinderbox Dashboards certainly proved popular. Yes, there will be more dashboard discussion. And yes, I’ll be happy to share the files. (I’m using a slightly newer version of Tinderbox right now than we’re shipping, so we can’t share yet. But that should change very soon.)

Proposal Notes
click here for full size

He’re a screen shot of a brainstorming session, a set of proposal notes that Robert Hackett put together and was kind enough to share. This is not “mind-mapping”: the point is not to reflect a mental state (and mind maps don’t really do that either). It’s idea mapping — quickly visualizing plans and relationships to make them clearer to your audience and to yourself, and in the process perhaps discovering new relationships and uncovering new things that need to be done.

I’d like to explore projects like this one – and the dashboard – at Tinderbox Weekend London.

I rather enjoy City Of Heroes. The art direction is wonderful – each zone is a new city, and some of those cities are fresh and thoroughly imagined. But the sound track is sketchy at best, some short musical phrases and intros, some ambient sound loops, and lots of bangs and booms.

I sometimes enjoy running missions with an iPod; there's nothing like wicked slayage to the soundtrack of Bruckner’s Second Symphony. But then you don’t hear the game’s sound cues, and that’s a bother.

Why don’t games compose music on the fly? This doesn’t need (or want) to be great music, after all. It’s movie music. And we’ve all seen Clockwork Orange and 2001: A Space Odyssey, so we know that genre isn’t the issue here.

Automatically-generated music has been interesting since Mozart played with dice. Besides, if rock is basically the rhythm section of a big band with everything else stripped out, this should be even easier with rock or blues. And we’ve got plenty of inputs: the tempo of the fight, whether we’re winning or losing, whether there are bad guys sneaking up the back way.

Twenty years ago, there was some cool AI work on autonomous composition of music in the style of various eras. How has this come along? Is there, say, a Ruby library for composing? Email me.

Mar 09 11 2009


Tinderbox adds speed and a bunch of features for advanced users. But a number of the changes will matter to lots of people, because they make it easier to build special map views that provide a live overview of your work.

Here’s a mockup of a dashboard for a large writing project. It’s a real Tinderbox screenshot, but it’s not an actual project.

This is a window that you might see each morning as you sit down to work. It’s got a bunch of information that you might want to know:

  • The total wordcount, with a bargraph to remind you of the planned length of the book.
  • A histogram of the word count, by section, and a table of the same information
  • A count of “research needs” – code phrases used when you need a name or a date, didn’t know the right answer offhand, and instead made a note to look it up later.
  • A “word of the day”, chosen fresh each day from a list of suggestions
  • The top-ranked “todo” from your task list
  • The name of the note you were working on last night
  • A list of books and other resources for which you’re waiting

It’s a quick overview of your work, a way to get back into the flow or to orient yourself. The dashboard can also be a pleasant motivator, showing you how far you’ve come and how far you have to go.

Inspiration: the color scheme and layout for this dashboard were taken from this year’s Feltron report. The font is Futura Condensed, suggested by Gordon Meyer; Arial Narrow (thanks Jon Tan) works almost as well. For more fontish goodness, see the Periodic Table of Typefaces, thanks Sebastian Stephenson.

Elin points out that the press coverage of Twitter is exceptionally dense. In fact, I find that almost anything you read about Twitter is likely to be wildly wrong. For example, Elin quotes a clinical psychologist who writes that

Twittering stems from a lack of identity. It’s a constant update of who you are, what you are, where you are. Nobody would Twitter if they had a strong sense of identity.

This is absurd.

The prototypical Twitter scenario is simple: you've got a team of colleagues developing a Web site. They're scattered all over the city, or all over the world, because that’s the way we work now. Add a deadline: the client wants a proposal for a huge new project, and they want it on their desk by 5pm tomorrow. And so one person works on a logo and one person works on a framework and two people starts prototyping code and you know that someone is going to have to write some sample copy – when anyone is free. And so you use Twitter to keep track of who is working on what, who might have a free moment, who can lend a hand, who needs help. It’s got nothing to do with identity: it’s about coordination and presence and knowing the rest of your team is pitching in.

This is obvious.

You used to do this by walking around the office. You'd stop by everybody’s desk, see who was working, who left early, who was stressing out. You didn’t ask people, “Hey, are you working?” You said, “How about them Cubs?” That didn’t mean you were more worried about the Cubs than the account.

Now, you can’t walk around the office because parts of your team are in different offices, and some may be half way ’round the world. So you use AIM or groupware or git or you use Twitter. People have been doing research on this for twenty years, but all the popular reporters act as if the whole thing was invented by a crazed teenager who ought either to be disciplined or showered with money.

Chris from Gimcrackd gives us a nice blog post contemplating marquee selection.

Take a moment to go to your desktop, hold down the mouse and drag a selection rectangle around. The box moves so effortlessly, doesn’t it? Isn’t it kind of neat how the files select themselves on and off as you drag? It works so well that you forget that someone actually had to write code to make it happen.

Reminds me of a poster campaign the screenwriters’ union put together a few years ago, with the tag line: “Someone wrote that!”

by Stieg Larsson

A spectacular debut mystery, expertly plotted and filled with intelligent complication. Lisbeth Salander is a truly original mystery protagonist, wonderfully imagined, and she teams wonderfully (if with great difficulty) with journalist Mikael Blomkvist to ascertain the fate of a teenage girl who went missing in 1966. Strong minor characters, interesting if complicated relationships, and an unusually real and detailed treatment of business life are all superbly executed. Larsson's characters work in real offices, have problems with their boss, worry about their subordinates, meet and miss their deadlines.

First, Let The Right One In and now this: is all Swedish pop culture this good?

  • Pork cheeks, braised 4 hours in pork stock, ginger, chipotle, garlic, dried cherries, and onion and served with rosemary apple slices, date-cilantro relish, and candied wild boar bacon
  • Grilled chicken breasts, homemade chicken broth, mashed potatoes with watercress and brioche breadcrumbs
  • Fargo

Yes, candied bacon is surprisingly good.

Mar 09 7 2009

Land Of Marvels

by Barry Unsworth

This historical novel on Mesopotamian archaeology in the Spring of 1914 is well crafted, well written, and filled with more brooding misfortune than its slender frame can carry. The desert may be hot but it is not brightly lit, and all Unsworth’s characters know from the outset that they are second rate, not quite sufficient for the moment. Though the historical stage is filled with colorful and brightly-lit characters – Gertude Bell, T. E. Lawrence – Unsworth confines himself to a little-known dig where two British archaeologists have nearly lost hope of finding anything before the arrival of a German rail line that they (unreasonably) believe will obliterate their excavation. This is a very sad book but the sadness is not Ishiguro’s unbearable misery, but merely the crushing weight of the approach of terrible events.

Doug Miller is still surprised at Tinderbox’s depth:

This sort of thing happens to me all the time with Tinderbox. Seven years after I had my first epiphany that if I just saw the software this way I would significantly transform my view and use of this particular tool I’m still regularly having that sort of experience with Tinderbox. I can’t think of a single other piece of software I’ve been using for any length of time that I’ve had that experience with.

Small Tinderbox files load quickly, but streaming thousands of notes and links from your disk is bound to take a few seconds. In the big picture, it’s an acceptable cost: first, because it’s only a minute or two a day, and second, because there isn’t a free lunch – picking up and handling thousands of objects is a lot of work.

But making things faster is nice. And, because you’re probably sitting there waiting for Tinderbox to load so you can write stuff down, the delay has more emotional weight than, say, the minute you lost getting coffee, or waiting at a traffic light, or reading the invitation to a client’s product launch.

Most of the time, I resist optimizing Tinderbox. First, my reflexes already lean too far on the side of performance. Habits, formed at a time when computers were much slower and much smaller, lead me to make lots of little optimizations in the code and the architecture that probably are unwarranted but that, collectively, help make the code fast. A lot of this adds complexity, things are already pretty complex under the hood, and the we don’t want to make the trade-off worse.

But, after a user twittered in praise of a very slight speedup in load times in Tinderbox 4.5.3, I took out the profiler and studied Tinderbox 4.6 . Things looked reasonable: parsing XML takes time but XML has proved its worth for Tinderbox many times over.

And then, there it was: one routine of the XML loader was doing tens of thousands of memory allocations. OK: we’re building complicated objects from their flattened disk representations, we expect allocations. But there did seem to be a lot of them.

Short answer: small changes in memory strategy in Unicoder, XMLReader, and CeresReader save about 100,000 allocations every time I open my weblog. And now, with Tinderbox, they save time whenever you open your big documents. It won't matter unless you've got thousands of notes, but it’s nice to have.

Mar 09 4 2009

Tinderbox 4.6.0

Tinderbox 4.6.0

Small version number change, but it’s a big new release. Tinderbox 4.6.0 is now available. As always, upgrades are free for a year, and you can upgrade from any previous version of Tinderbox for the same price.

The big out-of-the-box message is speed: Tinderbox 4.6.0 loads and saves large documents significantly faster. Advanced Tinderboxers get lots of new tools, too, including an entire Tinderbox Cookbook.

Kathryn Cramer digs up a terrifying Daily Mail article. A large internet used book seller in England called it quits; they abandoned a warehouse filled with 5 million books. The industrial estate doesn’t want the books, but wants the space. So, it’s help yourself – and the hordes are overturning bookshelves and trampling over heaps of books on the floor.

Don’t you think five million volumes would have some salvage value? This is Gibbonian.

Mar 09 1 2009


I have an egg poacher. You know what I mean: four little teflon-coated cups, each the size of an egg, that sit over a pan of hot water. Maybe your poacher has six. Doesn't matter.

I’m not wild about poached eggs, anyway.

But this morning the cupboard was somewhat bare, and yesterday was pancakes, and so I thought maybe I’d make hash browns. But hash browns all by themselves seem wrong, somehow. I was thinking of a nice plate of hash browns with a fried egg on top. But Linda doesn't like fried eggs, and it did seem like there was a lot of frying going on anyway. So, poached eggs. Big hit. Yum.

Here's the question: should the water in the poacher:

a) sit below the level of the little holes in the cups, so the eggs steam?

b) sit exactly at the level of the little holes in the cups?

c) sit a little above the level of the little holes in the cups? (If so, should it be salted?)

Now, the ur-poached egg was made in a pot of water, so in principle a little water doesn't hurt. But which of the above is ideal? (Or is this one of the Eternal Questions to which only George Burns knows the answer?)

Meanwhile, dinner is a lovely prime chuck roast, with potatoes, mushrooms, carrots, celery, and a nice red Douro.

We’re talking about the idea of a fresh Tinderbox Weekend that would be convenient for Tinderbox users in Europe. Perhaps in Greater London? May 23-24 or May 30-31 seem sensible dates.

Interested? Have ideas for a venue? Or for another city? Email me.

by Charles Stross

I was expecting a sequel to Friday – and, sure, there are plenty of allusions – but Saturn’s Children is closer to Asimov and to Simak. We’re in the world of Asimov robots, complete with the Three Laws, but something went wrong: not long after the robot industry got firmly established, humanity went extinct and today’s civilization, extending throughout the solar system and reaching toward Proxima Centauri and Tau Ceti, is exclusively robotic. What do Asimov’s laws, Stross asks, mean to the robots? And, specifically, what do the Laws of Robotics mean when there are no humans left to obey?

Saturn’s Children tackles the core questions of Battlestar Galactica, at least as we understand it today (as three episodes remain in that long and enigmatic drama): when toasters can think and love, are they people? And, if they are people, are Asimov’s Laws merely oppressive and exploitative? Stross also asks, just how do Asimov’s robots learn those laws, so deeply planted in their psyche. It’s not a nice answer, and that answer is subtly and skillfully woven into the fabric of what seems to be a pleasant, if overly-plotted, adventure.