Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Recent Comments
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
This blog runs on WordPress now. If you have been here since the beginning, take a moment. I’ll wait.
In January, snowed in at my mother’s place in Lillehammer, I did something I had been avoiding for thirteen years: I read my own blog. All of it. Every incarnation. The whole archive, end to end.
It took eleven minutes.
Here is the complete published output of Compiled Thoughts, 2013–2026:
Seven posts. Seven migrations. Each one ends by promising that the writing starts now, and each one is followed by eighteen months of silence and another migration. The sorting-algorithms post has been “almost done” since the Obama administration. My blog is not a blog. It is a changelog for itself.
I want to be precise about this, because every post above starts by blaming the tool, and I am breaking the cycle: Zola did nothing wrong. It builds in 38 milliseconds. It is one binary. It asked nothing of me. For eighteen months it sat there, perfectly maintained, zero dependencies, instantly rebuilding its one post — and I did not write a word.
That was the experiment, and the result is in. The friction was never in the toolchain. I was optimizing the part of blogging that was already free, because it was easier than doing the part that costs. A static site generator cannot generate the static. The static was supposed to be me.
This site now runs on WordPress — the actual one, PHP and a MySQL database and a theme from 2010, the entire LAMP-shaped crime scene I fled in 2013 because wp-admin got hacked and I decided the problem was architecture. There is no repository to maintain. There is no build step to feel feelings about. There is an editor, and in the editor there is a button, and the button says Publish, and that is the entire pipeline.
Is it slower than Zola? Every page you load here is assembled at request time by an interpreted language asking a database for the same single post it served last time. By every metric I have spent thirteen years collecting, it is the worst stack I have ever run. None of those metrics, it turns out, measured anything. The bottleneck was never the server. The bottleneck reads the comments section of Hacker News at the exact hour he sets aside for writing.
One housekeeping note for long-time readers: the yellow “this blog has moved” banner at the top of every old incarnation still works — and if you follow the banners from the top of the 2013 blog, hop by hop through every migration, you will eventually arrive back at this page. I noticed this while setting up the redirects, and I have decided to leave it exactly as it is. A man should have to look at the circle he has drawn.
The permalinks, of course, remain /year/month/title/ — seventeen years, eight platforms, zero broken URLs. It is the only promise this blog has ever kept. Fitting, then, that it’s the one we end on. Or begin on. From here the URLs just keep going around.
The next post will be about something. Anything. That’s the only spec it has to meet, and for the first time since 2009, that’s the hard part and I know it.
— Olav