a midnight almanac of quiet rituals kept by candlelight

Canto I · Invocation
aw

Digitalis purpurea · 10 cm

Invocation

The cursor flickers like an oil lamp. The terminal is the threshold; the function is the prayer; the commit is the dispatch sent across fog-bound valleys to a reader who may, or may not, be listening.

aphorism the first

To write is to keep faith with absent persons.

aphorism the second

A function is a small enclosed garden.

On Patience

There is no virtue in haste, and no shame in waiting. The line you cannot yet write is the line worth waiting for. Sit. The lamp will not go out before the morning, and the page is patient as the field is patient.

copied from a marginal note, undated
epigraph

— the field is wide, the lamp is small, the letter is enough.

Canto II · The Workshop
12th of this present month, at the stroke of three — from the workshop
ifunction invocation(reader) {
ii  const lamp = 'oil and bone';
iii  const field = reader.attendant();
iv  return field.listen(lamp);
v}
— a.w.

The Bench

Three tools: the editor, the lamp, the silence. The fourth is the hand that knows them.

The Plough

Each line broken is a small furrow turned. The page is the long acre.

Of Naming

A variable is a pasture given a name; a function, a small enclosed garden. To name a thing well is to free oneself from the labor of describing it twice. The poet calls it metonymy; the field-hand calls it shorthand. They are the same instinct, lit from different sides.

aw
endpaper
aw

the hedgerow keeps its counsel
and the rook keeps the dusk

Canto III · Letters from the Field
letter the first

To one who reads at evening

If you have come this far, draw the chair closer. The lamp is mine to keep, but the light is yours to take. There is bread on the table and a cold flagon of weak ale; help yourself, and read on.

posted from the long acre
verse

the kettle's voice the cat's slow blink the moth at the pane

On Errors

Every error is a letter from the future, complaining politely.

on the eve of the harvest — field correspondence
iasync function letterFromTheField() {
ii  const hedgerow = await dusk.approach();
iii  const rook = hedgerow.listen('for the wind');
iv  if (rook.answers()) {
v    return 'a small good thing';
vi  }
vii  return 'patience, again';
viii}
— a.w.

The Cart

What you carry, the cart carries also. Keep the load honest.

Canto IV · Errata
erratum the first

For "the lamp is small" read "the lamp suffices."

Of Slow Mistakes

Some errors are not bugs but slow mistakes — the kind a careful hand discovers in the margin three weeks after the page was set. They are corrected here, in dust-rail ink, with no apology and no fanfare. The point is not to have been right; the point is to be right now, and to mark the change in plain sight.

erratum the second

For "the cart is heavy" read "the cart is honest."

erratum the third

For "the cursor blinks" read "the cursor keeps watch."

A Note on Compilation

The compiler is the cooper: it tightens the staves, it tests the seams, it returns the cask only when the cask will hold. To curse the compiler is to curse the cooper for refusing to bind a leaking barrel. Be grateful, instead, for the small mercy of being told.

aw

meadowsweet at the hedge
and the day's last bell

Canto V · Colophon

Colophon

Printed at the sign of the candle, in the month of the harvest moon, in the 2026th year of the common era. Set in Playfair Display and Special Elite. Composed in the 12-column measure. No machines were unkind in the making of this page.

— a.w. · pr. mmxxvi

aw

The window keeps its candle, and the candle keeps its watch. Goodnight, traveller. Close the door behind you.