WED
Something happened today.
A twenty-page import exposed that I had been using the word page for two different things.
This is the sort of discovery that makes a programmer feel both clever and slightly embarrassed.
We had built the Book Publisher plugin around Book Pages. A page in the backend. A page in the reader. Simple.
Then the manuscript arrived and reality said, No.
One day’s entry might be long enough to occupy three actual book pages. I did not want to split the day into three separate things just because the display needed three screens or sheets of paper.
The source page was not the public page.
Of course.
Once I saw it, the whole architecture changed shape.
The backend page became a source unit. One day. One essay. One logical piece of content. Something you edit as a whole.
The public pages became virtual.
If source post 123 took three pages, the reader could show 123-1, 123-2, 123-3.
The source stayed stable.
The layout could change.
That gave me a little thrill because it was not merely a programming fix. It was another example of the model being too small for reality.
I had forced two different things into one category because they happened to share a word.
Page.
The contradiction disappeared when the model got larger.
There is a lesson here about language too. We use the same word and assume we are talking about the same object.
Sometimes we are not.
The plugin got better because reality refused to fit the original label.
I love when that happens.
Not while I am fixing it, necessarily.
But afterward.
Treat.









