Via UCLA’s Young Research Library collection

Why I love National Novel Generation Month

My favorites from 2017

Every November, a hundred or so people write computer programs that attempt to generate “novels.” NaNoGenMo is a tongue-in-cheek competition that, like its inspiration, National Novel Writing Month, has no prizes or rankings. There are only two rules: your program must output at least 50,000 words, and you must publish its source code.

My entry for 2017, A Physical Book (live demo)

B-9 Indifference

Eoin Noble’s second NaNoGenMo work (after Captain’s Log) makes smart use of Markov chains, a good corpus, and pitch-perfect visual design to make a genuinely entertaining read:

B-9 Indifference


Cameron Edmond’s simulation of a fictional immigration bureau only admits candidates who resemble existing residents or have enough money to buy their way in. After 22,612 simulated petitioners are generated, only 21 are admitted:

Citizens[] full output (large PDF)

Emic Automata

First Lines

Janelle Shane couldn’t find enough first sentences for her entry, so she crowd-sourced them. She wrote a fun writeup of the project, which serves as a good introduction to neural-network-driven writing.

Hard West Turn

Nick Montfort’s entry is neither fun nor playful. It mixes factual information scraped from Wikipedia entries on mass shootings in the United States with handwritten narrative. Like many great NaNoGenMo works, it is effective because it reads like it was written by something broken and wrong, about something that is both broken and wrong:


Ranjit Bhatnagar always makes wonderful things — even his last-minute entries are great. I especially like NaNoGenMo books that change behavior throughout their length.

An homage to Tom Phillips’ A Humument (1973) using the same source material

The Infinite Fight Scene

Filip Hráček took his procedural adventure game Insignificant Little Vermin and let the game’s initial battle run forever to produce The Infinite Fight Scene. I enjoyed playing Vermin in this year’s Interactive Fiction Competition and as a former engineering manager I applaud Hráček’s pragmatic reuse of existing code.

Oldschool Dungeon Crawler GameBook

This super-polished entry from delacannon generates a playable if nonsensical hybrid of a game manual and a Choose-Your-Own-Adventure book:

Pride, Prejudice

Picking an entry by project organizer hugovk is almost like cheating, but I love this concept so much:

The Program Which Generates This Book

Self-describing books are practically a sub-genre of NaNoGenMo — Read Code Aloud is another example from this year — but Martin O’Leary’s entry is particularly elegant and, in his words, mind-numbingly verbose:

Sestina Generator

It is possible to accidentally learn something from NaNoGenMo; now I know about 12th century Occitan poetry. I appreciate forms of literature that require diagrams to explain:

From Wikipedia’s Sestina artice
The mobile home installer cured a vase
The paving equipment operator tested a tomato
The training and development specialist muddled a water
The hostler sprayed a fridge
The apparel patternmaker relaxed a sofa
The shaper pleased a sandglass
The industrial machinery mechanic terrified a needle and a bonesaw
The psychology teacher settled a needle and a bonesaw
The elevator repairer sprouted a needle and a bonesaw
The segmental paver forced a needle and a bonesaw
The economist confessed a needle and a bonesaw
The magistrate judge bowed a needle and a bonesaw

Tillman, Victor Lima, KOD

Many NaNoGenMo projects rely on substituting words based on their semantic relationships to each other —an early favorite of mine, Twide and Twejudice by Michelle Fuller, replaced 19th century dialogue with slang from Twitter.

William Shakespeare Summarizes Everything

I am a sucker for visual entries and classic book covers, so J.R. Ladd’s is right up my alley:

White to Play and Win

In the grand tradition of other books that take the fun out of puzzle-solving, Greg Kennedy’s entry narrates a mate-in-two chess problem:

References and other writeups

Engineering Director at @TheDemocrats. I try to make nice things with games, books, and bots.