Ernstfall

Auch wenn der Ausdruck Blog ursprünglich unschöne Assoziationen (roughly onomatopoeic of vomiting) wecken sollte, hat sich das Format durchgesetzt und wird von sturen Menschen wie Jason Kottke weiterhin nach dem POSIOP-Prinzip hergestellt:

I will continue to forgo publishing on platforms with ever-shifting strategies, morals, and agreements in favor of my patchwork "system" of publishing tools held together with chewing gum. At least it's *my* chewing gum.

Hear, hear. Nachdem verschiedene Anwendungen in meiner lokalen Arbeitsumgebung aktualisiert wurden, habe ich die Option, neues Kaugummi auf dem Webserver zu applizieren oder den Kaugummibedarf (die Komplexität des Systems) zu reduzieren. Konkret besteht eine Inkompatibilität zwischen PostgreSQL 9 und PostgreSQL 13, die das Import-Skript für den lokalen Datenbankdump auf dem Server scheitern lässt. Die Aussicht, einen kompletten Webstack bei laufendem Betrieb neu aufzusetzen, ist nicht sehr attraktiv, und ich greife auf ein Konzept zurück, das für Notzeiten gedacht war.

Die vorbereitete nginx-Konfiguration auf dem Server ergänze ich um Caching-Anweisungen –

http { map $sent_http_content_type $expires { default off; text/html 1d; text/css 30d; application/pdf 30d; ~image/ 30d; } server { expires $expires; } }

– und im Backrezept make_static korrigiere ich die Anweisungen für Blog-Seiten, um (wie in der dynamisch generierten Version) jeweils die jüngsten 20 Blogeinträge anzuzeigen. Weil das Modul django.utils.feedgenerator mittlerweile selbständig Bytestrings UTF-8-kodiert, muss ich die Funktion feed_creator() geringfügig anpassen (page.content.encode('utf-8')page.content). Die Backautomatik funktioniert auch nach Jahren noch ohne jeden Anpassungsbedarf, so dass ich lediglich meinem rsync-Wrapper rbackup.py eine Konfiguration zur Synchronisation mit dem Webserver hinzufüge. Es wäre natürlich möglich, auch diesen Schritt zu automatisieren, aber aus Solidarität mit den gebeutelten Zeitungsverlagen leiste ich mir eine manuelle Endredaktion.

Google PageSpeed blickt weiterhin sehr wohlwollend auf diese Website (100/100), und laut ab wird die Startseite in durchschnittlich 171 Millisekunden ausgeliefert (ab -n100 -c10 https://eden.one/).