The archive talks back
A letter arrived at the end of September. Pavel had used this engine to back up his old blog, and wrote down what he learned doing it: over a thousand posts in nine years, and stretches when he wrote every day. He had not known. The blog had been his the whole time and the posts had been in it the whole time, and still the number came from the archive, the first time anything read it end to end.
This release is about what an archive says when it is asked. How things get into one, how they leave it and how it is checked, this site has written about enough. This is about what the archive knows about you.
What the archive counts
./blog.sh stats reads every post and answers with one screen. On the archive this engine was built around, today it reads:
The archive
6912 post(s): 6907 published, 1 draft(s), 4 scheduled, 0 page(s)
Oct 31, 2003 - Oct 22, 2026, which is 8392 day(s)
the busiest year was 2024 (642 post(s))
Words
425,828 word(s) in all, 61.6 per post on average, 22 in the middle
longest: minimal-jedna-barva-tri-pisma (3267 words)
reading the whole archive takes 35.5 hour(s)
Sixty-two words on average and twenty-two in the middle: that is an archive where tweets had the floor for thirteen years. The columns by year say the same without comment. 2005 has 514 posts, 2021 has 54, and 2024 is the tallest column of all — not because so much was written, but because that is when Mastodon came. Under that, where it all came from: twitter 2133, mastodon 2013, b2evolution 1231, tumblr 927, strava 520. Written in this engine itself: 69. The rest the archive brought in from elsewhere — from the blog that stood here before it, and from networks that have since stopped standing — and keeps the same way.
None of it is a judgement. It is a description: this long, this many, at this pace, from these places. Anyone could have written that description about any archive since 2003. Nobody did, because there was nowhere to.
What the archive shows
/archive/ is a page the site builds out of itself. A row per year, twelve months beside it, each month shaded by how much it holds — in four steps, not just "something" and "nothing". Since 1.10 the map's last row is a legend, drawn with the map's own cells, and a year's page opens with that year's row of the map: a month with posts is a link down to its section.
The map cannot not be read. 2003 is October, November and December, and nothing before them. 2008 has seven empty months in a row in its middle — the hole between the old blog and Twitter, which the year's total does not show. 2009 to 2016 are filled from January to December without a single gap, because a tweet gets written every day whether anything happened or not. 2021 and 2022 are the lightest on the whole map, 2022 with two empty months in it. And from 2023 the map is dark again, as it last was in 2014 and 2015. All of that can be said in words, but the map says it before the words can be read, and says it of any archive it is put over.
What the archive remembers
The third thing is new, and it is in the sidebar. A card called "On this day" shows what this site wrote on today's date in earlier years. It is switched on by one line under widgets:, or from ./style.sh, and has no settings.
The rule that chooses is the same for every archive, from a hundred posts to thirteen thousand: a row per year, five at most, round anniversaries always, the rest spread across the years with the oldest claiming first, and a titled post standing for its year. A day with too much rotates through up to three windows as the day goes on. A day with nothing from earlier years hides the card whole, heading included. Nothing is borrowed from neighbouring days, because one post from a Friday twenty years ago would otherwise be shown for a week, and on the Tuesday as a post from the future.
The terminal does the same, ./blog.sh on-this-day, today, on the same archive:
On this day: Oct 14, 2026
25 post(s) from 6 earlier year(s)
08:00–16:00
2 years ago · 2024 Komixy, komixy, komixy
9 years ago · 2017 4,5km - Podvečerní poklusávání s #drahá
12 years ago · 2014 Jsem starý, protože tohle jsem jako mladý zažil……
13 years ago · 2013 Jak na nefunkční rozšíření 1Password v prohlížečích
15 years ago · 2011 Pejsek
Five rows and five lives in a column: rafting, a browser, the morning weather, a run with my wife, comics. Nobody ordered this selection. It is not "the best of the year" either, just what is left on this date in each of those years — and in the morning it is a different five than in the evening. The card is not a recommendation algorithm. It is an archive remembering out loud.
One honest sentence about this site: its own archive is a year old, so the card here stays empty until next August. The rule about hiding an empty day applies to the site that wrote it.
A mirror, not a store
A store answers the question of where things lie. These three things answer a different one: what you were actually doing all that time. Pavel learned it from a backup, because the number surprised him. On the archive this was measured on, something else surprises: that of 6912 posts, only 69 were written here, and that it is still one voice.
An archive is not meant to be a store. It is meant to be a mirror, and a mirror is worth something only if somebody now and then tells it to look.
Pavel's letter is here: Obsluhoval jsem blogsh-ového krále (in Czech).

Comments