name it after the paper

A tickler file is office furniture. An accordion of folders — thirty-one for the days of the month, twelve for the months of the year — and the only thing it does is put a piece of paper back in front of you on the day that paper needs you. No screen. No notifications. You file the thing forward and the calendar hands it back.

That is the name of the plugin I ship. Tickler puts every organization you run on one page and sorts what needs you by when you have to decide: today, this week, whenever. Which is the accordion, in a browser, for a filing cabinet made of agents.

It shipped under a different name first — Latin for fold, which I thought was elegant and nobody could guess the meaning of. That is the entire case against it. A name is the smallest piece of documentation you ship, and one that requires a footnote has already failed.


Renaming it came to about 1,900 occurrences across 119 files: components, filenames, CSS classes, browser-storage keys, environment variables, CI paths, docs. At that size a rename stops being a decision and becomes a search problem, and the search was the interesting part.

The old name descends from plicare, to fold. English borrowed that root and never gave it back. Ap-plica-tion. Du-plica-te. Re-plica. Every one of those words contains the string I was about to replace, and every one of them is in the codebase constantly. A blind find-and-replace produces apticklertion and duticklerte, in a thousand places, in a diff nobody can read.

So the replacement only matched at a word start. That is the whole trick, and it works because the ancestors always arrive with a prefix bolted on the front — ad-, duo-, re-. The name stood alone. The etymology only ever stands behind something.

Which is the joke, and I enjoy it more than I should. The reason the old name was hard to replace is exactly the reason it was the wrong name: it isn’t a word anybody meets on its own. It only ever shows up folded into something else.


Two other decisions, both about what not to change.

History keeps the old name. Past changelog entries and past release notes still say what they said, because they were true when they were written. A rename that reaches backwards doesn’t clean the record, it falsifies it. Every version before this one shipped under the old name and always will have.

No migration. Paperclip identifies plugins by id, so a new id is a new plugin — if you were running the old one you uninstall it, install Tickler, and re-enter two settings. I could have built a compatibility layer. With an install base this small it would have cost more to maintain than the reinstall costs everyone who has to do it, and it would have sat in the codebase forever as a monument to a name nobody says out loud. The old npm package is deprecated with a pointer at the new one, which is the whole migration path anybody actually needs.

Nineteen hundred strings changed. The two that mattered were the ones I left alone.