November is National Novel Generation Month, or #NaNoGenMo if you’re the type that prefers hashtags. Like it’s counter part in October (#NaNoWriMo) it is an opportunity to invest in writing, except instead of writing a novel participants write code to generate one. Which is pretty damn funny. I heard about it on Twitter and couldn’t pass it up. November is a really busy month for me, though, so I wanted to do something I could get a very basic version of out quickly but still have room to refine it if I ended up having more time to work on it.
The result is still in need of a more interesting name than “my NaNoGenMo entry” so if anyone has an idea I’m all ears. Novels are generated chapter by chapter. A chapter is made by selecting a source text and a word. Each sentence of the source text that contains that word gets pulled out and added to the chapter. Think “white” in Moby Dick.
And ever, as the white moon shows her affrighted face from the steep
gullies in the blackness overhead, aghast Jonah sees the rearing
bowsprit pointing high upward, but soon beat downward again towards the
tormented deep He goes down in the whirling heart of such a masterless
commotion that he scarce heeds the moment when he drops seething into
the yawning jaws awaiting him; and the whale shoots-to all his ivory
teeth, like so many white bolts, upon his prison So full of
this reeling scene were we, as we stood by the plunging bowsprit, that
for some time we did not notice the jeering glances of the passengers, a
lubber-like assembly, who marvelled that two fellow beings should be so
companionable; as though a white man were anything more dignified than a
Generating a novel is an act of curation. Which word chapter words you select from which source texts are what makes the novel process interesting. While I have generated a novel I haven’t really had the time to curate a good one yet.
There’s still plenty of room for improvement, including some outstanding issues(link). Using what I’m currently calling chapters as the input to a markov generator could be interesting. I’ve started some experiments using the marky markov library and it’s looking promising.