Future-proof your skills with Linux, Python, vim & git as I share with you the most timeless and love-worthy tools in tech through my two great projects that work great together.

Reverse Chronological Writing is the Natural Order

I explore how reverse chronological writing is the natural order for blogging. I discuss the history of writing, how technology has changed the way we write, and the instinctive feeling of starting with a blank page that comes with reverse chronological order. This is the format that satisfies our human need to start at the top of a blank page every time.

I Discovered the Natural Order of Writing: Reverse Chronological

By Michael Levin

Saturday, May 6, 2023

Those last 2 journal entries were whoppers. One was about a formative experience of my life, encountering a personality type that helped shaped me by forcing me to become like it to contend with it, then having to back out of the process so it didn’t ruin me. The other was about getting the arrow direction right in my blogging software, haha! And the two are about as intertwined in my mind as such diverse topics can be. Subtlety and nuance were the common thread. Life is lived like casting a subtle magic spell over the entire duration of your life.

One thing leads into the next into the next, and now that all the basic mechanics of how I’m going to organize information for the rest of my life is worked out, for you see this latest rendition of my blogging software really only fell into place on August 5, 2021, when I decided to make “a version” of it public again, after a long hiatus of private-only journaling. The private journaling just doesn’t have the… uh, shall we say evolutionary forces being applied to it as one you’re going to out out there in front of people. Namely, I never had to slice & dice the public one.

Slicing the public journal has a default natural behavior and order to it that very much parallels “traditional” blogging software. But how traditionally can something as recent as blogging be? Blogging inversely parallels the “logging” part of its name. Logs or ledgers are the oldest form of writing, and they record the past. The nature of recording media usually means that new entries in a log or ledger have to be appended onto the end. If you’re writing on a scroll, once you wrote at the top of the scroll, you continue writing at the bottom. If writing in an empty book, once you fill the first page, you have to go to the second and so on.

Tech changes this, and with the advent of text editors and word processors, the decision had to be made as to the conventional place to put the pointer when you open a document. The top? The bottom? The bottom would have made the most sense according to traditional media, but the top was chosen. Why? Because people are used to reading from the top down.

Yes, there’s left-to-right vs. right-to-left, but East and West still agree on top-to-bottom. So with the advent of electronic media, the top of the page became the logical place to put the cursor when opening a document in software. The naturalness became apparent, because think about the alternative. Say you’ve written a hundred pages (what’s even a page in digital form?). You open the document and the cursor is at the bottom. You start typing new stuff at the end, as if you’re adding to the end of a scroll.

As you type in what seems to be the default style, you’re always typing at the end of the document, and thus at the bottom of the screen. Your entire past history is always in front of you and getting “pushed up” as you type. It’s a bit uncomfortable and odd. You never actually get that “blank page” feeling of a fresh piece of paper. This can be remedied with all kinds of software tricks, like having the cursor start at the top of the page and blank space below you representing empty page. But then you start typing and filling the page and eventually reach the bottom, and you’re in the same situation. The software can scroll as you go and always try to keep you in the middle, page half-empty with the future below and the past above.

All these solutions are odd and opinionated, right? You only get that fresh start feeling each time you start at the top of a fresh new page, and somehow this is elevated in the human mind to being much more important than actually emulating real-world physical media like scrolls or books.

We want to start typing at the top of a blank page. As opposed to being an analogue to media that we’re emulating, it’s an analogue to life that we’re emulating. It’s the night/day sleep/wake cycle of existence. It’s each day being a blank page unencumbered by the past. Taking your entire history and putting it above you as something to be “pushed up” as you type into the bottom of a long scrolling document just doesn’t feel right. It’s not an analogous to life. Maybe it is, but it sure doesn’t feel like it.

What feels right is a new page at the top every time that pushes your past farther and farther down below as you type. Small inversions is what it is. Reverse chronological order, which is the more natural feeling format for blogging is entirely as opinionated as any other solution. It just doesn’t feel that way. It satisfies a human instinct to want to start at the top every time. There’s probably some deep channeling here that rapid-fire micro-inversions feels natural.

Rapid-fire micro-inversions? What the heck are you talking about Mike? Well, in any given blog post, time flows forward. You start writing, so your first sentence is the oldest and as you type making the post longer, the newer stuff is lower and lower in the post until it’s done. The last thing written is the nest thing in the post, but it’s not at the top of post’s page. It’s at the bottom. But when people come into your blog to read it, you don’t want them to start reading at the end, so the newest post itself is at the top.

Content is chunked on the post-element level, and 2 different sort-orders are used. One which is the natural order of top-down writing within the post, and another which is the reverse chronological order of the posts themselves. The “reverse” in reverse chronological order is the inversion. The inversions are rapid-fire assuming you’re writing frequently enough to call it a journal.

Thus, electronic media has allowed us to follow a more natural and analogous to life blogging format that the physical media of scrolls and books did not easily allow. Yes, yes, it’s possible with physical media to do reverse chronology. It’s just not easy, Scrolls for example are not made from a single sheet of paper so you can always bind new pages to the top, and I’m sure this was done, but it’s not easy. Just ask a Sofer, one of the modern scribes who fixes Torahs. But to have such a skilled technical craft required as route part of day-in-day-out work would be a huge burden and not a big encouragement to write. The bound nature of books (called binding) poses a similar challenge to adding pages in the beginning.

When I sat down to make an 1-text-file blog, I had to make a decision as to which way to go. I used the natural order of writing, and started at the top of the file and written down. Rapid-fire reverse inversions it was. But I couldn’t call it that, and I had to come up with a simple mechanism to deal with the desired “fresh page” feeling, which writing from the true top of the file only halfway addresses, for you see I could have faked a fresh blank page by overriding the default cursor position and dropped you way to the bottom of a long text document every time you opened it and preemptively push the past up and out of visibility, “faking” the top. It has a certain purity appeal. Time flows 1 direction alone, top-to-bottom with no need for magical micro-inversions.

But lean into the strength and tendencies of your tools. Don’t set yourself up to be fighting them all the time. Text editors, word processors and everything like them that will probably ever exist will always and forever open documents and position your cursor at the top, and human beings being what we are are always just going to want to start typing there. Of course! Don’t fight it.

The solution was a keyboard shortcut that would set the stage for your typing by simply inserting enough new “fake future” blank lines at the top of the file to push the past out of view. It’s a light touch. It’s a simple solution. It’s the 80/20-rule, leaning into the strengths of tools, abiding by the natural tendencies of human beings, and a righteous solution of the time I always strive to achieve.

Some hocus pocus is required. Some opinionated programmatic macro magic is required. But it’s the least of all evils. It’s the best solution I could come up with, and it’s been working in my private journal since Friday, December 5, 2014 and here since August 5, 2021. It’s a good solution.

Today it seems and feels so obvious and natural to me, that it’s done what any good tool does. It faded into the background and I no longer think about any of it at a conscious level. My mind and my fingers make all these invisible little decisions and movements and I don’t even notice. It becomes the new normal, and indeed a new starting point for the next round of improvements, which I am now finally up to addressing today, after having gotten through my backlog of how to format it for the public.

For you see, no matter what your decisions are in how to organize the original source data-file, you still have to format it for the public. Natural writing order is not necessarily the same as natural reading order. It is in this case, because you usually want your audience starting with your newest post and working backwards, but there’s all sorts of yeah-buts.

Yeah, but they can’t load that as one long page on the Web. Or if they do, it’s going to be very slow. And if it’s text-only and can be done (computers are quite powerful), the UI would be terrible. It’s got the benefit of already being at the top where you should start reading, but it seems ridiculous to load an entire “book’s worth” of text into a computer’s memory just to read one page. Not on the Web, at least. It should be just one page, with the ability to “call up” the next page on demand. Or the previous page if you want to go back and re-read something. And thus the previous/next arrows discussed in my prior blog post.

Having knocked out the arrows, my mind goes to other public content consuming issues. Reverse chronological order is the natural order of blogging, but presenting everything you’ve ever written that way can be a chore. Lots of posts and really long sequence! I won’t wipe that away. It’s a good default. And I’ve already layered in “categories” which allow you to find posts belonging to particular topics, but once you’re in a post, the prev/next arrows are still of the very long sequence.

I’ve experimented with 2 sets of arrows, one for categories and one for the giant sequence, but that’s utterly confusing. And models that let you switch between arrow-types are both confusing and don’t lean into the strength of static site generators (SSG) like Jekyll in how they call for more dynamic features. Such dynamic features can be layered in client-side with JavaScript, but then… but then… busy-loop! Abort!

So categories can have their own table of contents pages (a.k.a. index pages), but the previous/next arrow experience has to somehow be both simple and contained only within categories and other arbitrary groupings (poetry, YouTube playlists, etc.) that I might come up with.

Under a static site generator model, the obvious solution is to just have duplicate copies of the pages here and there, in this sequence or that. And in the past when SEO was the top priority of such a system, it just caused more problems of duplicate content and having to use canonical tags to tell Google which one was the “real” one. But Google killed the long-tail, woo hoo! Let’s take advantage of that and duplicate the shit out of this content and make the best user experience possible under something like the Jekyll SSG.

I’ll still use the canonical tag to decide which one is the intended master-copy, but that’s a lower priority now than user experience. It’s a dog E-E-A-T dog world out there, and if in your experience, you have to use your expertise to duplicate content that expresses your authority in order to communicate effectively, thus becoming trustworthy, then so be it. Google makes the new realities. Google lives with the new realities. Concerns for new realities trump the concerns for old dead realities.

And so my plan is forming. I keep a reverse chronological “master list” of my blog posts. But then I start poaching that to shape better user experiences hidden within. There’s that “trickle-up” concept again. Good content coalesces from a broader more verbatim reverse chronological ledger that accumulates as a side-effect of life. Reverse-chronological blogging models on the night/day cyclical nature of life, the one true order of your life. But refined user experiences can be shaped from that, modeled on a more idealized curated linear sequence of events that you can only see in hindsight.