An extra escape in eight diagrams
For a while, eight posts on this blog showed the seven characters — in the middle of a sentence, inside the diagrams. Not a dash. The literal text. It has since been repaired in every…
The backup was restored end to end
This server has backed itself up every night since 11 August. The log has 163 lines in it. The word "restore" appears in none of them, because every line is about writing. Today the reading…
Where the database schema actually lives
Everything this service does is in version control. The code is, anyway. The database it runs on is 32 tables, and 15 of them have no definition anywhere in the repository — no CREATE…
Why our config file is mostly comments
The .htaccess on this server is 478 lines long. 98 of them are rules. 309 are comments. 309 — comment lines 98 — rules 11 lines carry a date, 12 carry a measurement 478 lines in total Three…
How we check every translation
This blog has 64 posts in eleven languages: 704 rows and about 2.2 million characters. No post is missing in any language, which is a claim that only means something if something enforces…
How we detect a broken counter
A counter can break quietly. The site gets redesigned, the embed does not survive the move, and nothing announces it — the statistics simply stop, and the owner finds out months later, if…
Two ways to miscount your access log
A week of changes here rested on counts taken from one day of the access log: a million lines, a hundred thousand of them ours. To find out whether any of it worked, the same counts have to…
A backup in the web root is a source leak
Before editing a large file, the natural move is to copy it first. cp index.php index.php.vor-aenderung, then work. If that file sits in the directory the web server publishes, you have…
A language code that looked like Perl
On 19 August 2026 we added a rule to .htaccess blocking a class of file that should never be served directly to a browser: leftover source-code copies sitting in the web root after an edit…
Compressing the same file every time
Apache compresses responses on the fly. For a page that is different every time, that is the only option. For a stylesheet that changes once a month, it means the server does the same work…
A page address longer than its column
On 9 August 2026, twenty counter images failed to render. Not drew wrong, not drew slowly — the visitor got nothing at all where a counter should have been. The cause was a page address…