ich habe heute früh die DNS einträge für wirres.net auf eine VM bei meinem arbeitgeber syseleven.de umgestellt. der neue server hat etwas mehr hubraum und PS als die etwas sparsam dimensionierten virtuellen maschinen bei uberspace. bei uberspace liegt die site weiterhin und ich zahle dort auch weiter, aber die performance engpässe von kirby auf dem uberspace asteroiden haben sich mehr und mehr bemerkbar gemacht. nach aussen lässt isch das ganz gut mit caching abfangen. aber insbesondere wenn viele bilder neu generiert werden müssen oder ungecachte seiten, wie die suche oder übersichtsseiten, aufgerufen werden, kommt der asteroid an seine grenzen.
weil wir als mitarbeiter bei syseleven auch VMs in als eigenbedarf in der syseleven-cloud anlegen können, habe ich die chance ergriffen und wollte mal testen, wie kirby auf einer maschine mit mehr hubraum läuft. und ich muss sagen: sehr rund. auf uberspace war insbesondere das panel, also das backend sehr langsam und durch timeouts hagelte es beim editieren fehlermeldungen. das ist natürlich alles meine eigene schuld, schliesslich liegen hier ziemlich viele artikel rum, die immer wieder aus dem dateisystem eineglasen werden und im (PHP) speicher gehalten werden.
weil ich auf der neuen VM IPv6 noch nicht zum laufen bekommen habe, hab ich nochmal cloudflare aktiviert. damit werden auch IPv6 anfragen beantwortet. schalte ich dann wieder ab, sobald IPv6 hier läuft.
ansonsten mal gucken. umschalten, bzw. zurückschalten zu uberspace ist kein problem, bzw. ein einfaches umbiegen der DNS einträge. synchronisation zwischen den instanzen ist ein einfaches, schnelle rsync der content ordner. flexibel „deployen“ lässt sich dieses kirby auf jeden fall. aber zurück zu uberspace wird mir schwerfallen, weil das panel auf der grösseren maschine wirklich snappy ist, also so wie es sein soll.
diesen artikel, zum beispiel, konnte ich heute früh mit links vom handy aus anlegen. das war vorher immer etwas hackelig
wahrscheinlich etwas „over the top“, wenn man bedenkt, dass bei uberspace das RAM auf 1,5 GB begrenzt ist.
auch neu: eine geosuche, die einen ort und einen radius als parameter nimmt und dann artikel mit diesen geokoordinaten findet. teilweise noch nicht perfekt, aber ich finds grossartig. und auf uberspace hatte ich das gefühl, dass es den server an den rand der leistungsfähigkeit bringt. hier dauert die suche auch 2-3 sekunden, aber der server scheint nicht ins schwitzen zu geraten.
nu klar. (… und ich habe den verdacht, dass ihr etwas empfindlich beim schutz meiner eignen daten vor mir selbst seid)
der verdacht, den instagram hatte, hat dazu geführt, dass ich in allen browsern und apps ausgeloggt wurde. und meine instaloader session ungültig wurde. effiziente massnahme. noch kann ich mich wieder anmelden, ich bin mal gespannt, wie lange ich mit instagram dieses spiel spielen kann.
aber abgesehen davon mache ich derzeit gar nicht so viel bis gar nichts mit instaloader. ich lasse instaloader ausschliesslich laufen, wenn ich auf instagram etwas poste (also alle paar tage mal):
(venv) ix@tb:~/instaloader$ instaloader -l diplix --fast-update diplix
Loaded session from /home/ix/.config/instaloader/session-diplix.
Logged in as diplix.
[1/1] Downloading profile diplix
diplix/2015-08-23_09-55-56_UTC_profile_pic.jpg already exists
Retrieving posts from profile diplix.
[ 1/2353] diplix/2025-07-17_06-43-51_UTC.jpg [über den wolken … muss es woh…] json
[ 2/2353] diplix/2025-07-17_06-39-20_UTC.jpg [nu klar. (… und ich habe den …] json
[ 3/2353] diplix/2025-07-13_06-24-46_UTC.jpg exists [in der brunftzeit ölen sich b…] unchanged json
[ 4/2353] diplix/2025-07-12_06-04-37_UTC.jpg exists [ich mein das ist schon ein to…] unchanged json
Saved session to /home/ix/.config/instaloader/session-diplix.
das lädt die letzten 4 beiträge und speichert die bilder und metadaten. danach lasse ich noch manuell ein kirby importscript drüberlaufen und kopiere den so erzeugten ordner rüber zu kirby. der ganz vorgang erzeugt eigentlich kaum requests. aber wie gesagt. mal weiter beobachten. instagram beobachtet mich ja auch.
ich schon wieder aus dem maschinenraum. in meiner freien zeit verbringe ich dort gerade viele stunden. ich bin immer noch damit beschäftigt meine instagram-bilder als sofortbilder hier zu integrieren. ich komme sowohl gut voran, als auch nur schleppend. aber widersprüche halte ich gut aus und ich habe die fähigkeit mich auch über kleine fortschritte zu freuen.
unterwegs lerne ich viel und möglicherweise ist das auch der hauptgrund warum ich so viel zeit und aufmerksamkeit in dieses website-monstrum stecke. niemand (ausser mir) wird sich die 2300 bilder anschauen, aber ich finde es schön wenn alles seine ordnung hat und ich das gefühl habe mit dem zeug was meins ist auch machen zu können was ich will. und das mach ich ja auch.
was mir jedenfalls aufgefallen ist, wie sehr sich einzelne dinge wiederholen. hier im blog finden sich sehr, sehr viele bilder von apfel tarte (1, 2, 3, 4). aber dafür (noch) kein rezept, ausser einem link. die rehberge hab ich durchfotografiert, wie frida futterstückchen aus der luft schnappt mindestens 4 mal gefilmt und veröffentlicht. andererseits ist das mit der wiederholung auch faszinierend. je öfter wir in die rehberge gehen, je vertrauter wir mit dem park werden, desto mehr neue dinge und details entdecken wir.
und ich sehe, der humor und formulierungen des alten felix, des felix der letzten 20-30 jahre, gefallen mir noch heute.
aber ich schweife ab. denn mir fiel eben auch auf, dass die zeit die ich im maschinenraum verbringe die zeit ist, die andere leute mit lesen oder (kreuzwort) rätseln verbringen. zeit die ich sonst mit fernsehserien oder filmen verbringe. aber im maschinenraum trainiere ich meine problemlösungsfähigkeit, halte meinen denkapparat am laufen und übe den umgang mit komplexen und verschachtelten systemen.
als ich vor einer weile mit frida an einem café vorbeilief, sass draussen eine dame mit hund und mahnte ihren hund dazu frida in ruhe zu lassen, sie sei gerade im training. auch wenn wir nur am kaffee vorbeiliefen und konkret gar nichts übten, formulierte ich in meinem geist die antwort „alles ist trainiung“ — ohne das dann auszusprechen.
so trainiere ich abends und nachts an kirby und dieser webseite meinen geist und meine fähigkeit komplexe probleme zu lösen und im kopf zu bearbeiten, übe geduld und ruhe wenn ich mit dem hund unterwegs bin und trainiere frida, indem ich ihr einfach und konsequent zeige, wie ich mir unser zusammenleben vorstelle. und am ende kommen viele wunderbare sachen zurück, eine webseite, die so ist wie ich webseiten mag, einen hund der mit mir und der welt zurechtkommt.
meine blogfreien jahre von 2020 bis 2025 habe ich jedenfalls ganz gut ausgefüllt mit aktivität auf instagram, wie diese grafik zeigt. insofern habe ich dann doch durchgehend ins internet geschrieben, nur eben anderswo. um so schöner diese aktivitäten jetzt hier einfach ergänzen zu können.
weil ich zwischen 2015 und 2020 instagram-bilder hier ins blog gezogen habe und das gleiche jetzt für die instagram-bilder von 2011 bis jetzt getan habe, gibt es noch ca. 800 doppel. beispiel 1 und 2. die werde ich noch eliminieren, ein script haben chatgpt und ich schon geschrieben und das konzept ist, die damals per ownyourgram ins blog gezogenen doppel zu löschen, aber die url weiter zu leiten auf die neuere kopie.
dabei habe ich mich wieder über kirby gefreut, denn in kirby ist alles so konsequent und konzeptionell klar gebaut. die alten bilder, zum beispiel in https://wirres.net/articles/11395 liegen eigentkich in einem ordner content/1_articles/20200323_11395/. wenn ich den ordner einfach löschen würde geht die url kaputt (wird zu 404). aber wenn ich in dem ordner alles lösche und eine datei link.txt mit dem folgenden inhalt in den ordner lege, gibt’s ne weiterleitung:
rot: anzahl artikel die ich pro jahr auf wirres.net veröffentlicht habe (peak ca. 1800)
orange: anzahl instagram posts die ich pro jahr veröffentlich habe (peak 360)
die daten werden noch verfälscht, weil zwischen 2015 und 2021 noch ziemlich viele instagram kopien auf wirres.net und damit im roten bereich gelandet sind. zwischen 2015 und 2021 müsste orange also substrahiert, statt gestapelt werden.
eigentlich ist mit dem kirby-maps plugin vorgesehen mapbox oder google karten einzubetten. aber natürlich kann man das snippet anpassen, also habe ich es angepasst, dass es statische karten von atlas.p3k.io lädt und lokal speichert.
pro karte speicher ich zwei dateien, eine normal grosse und für die lightbox nach dem klick eine etwas grössere version die auch ein etws lesbarereres kartenmaterial hat.
das geht auch im fussbereich von artikeln, wenn ich artikel mit ortsinformationen veröffentlichen will.
berichtenswert ist das natürlich nur, wenn die eingabe von geo-daten auch wirklich einfach geht. und ich finde das interface sehr schön.
leider fallen mir mit jeden neuen feature 20 andere features ein. aber kurzfristig (notiz an mich selbst), sollte ich mich um folgendes kümmern.
die seite die auf dem screenshot zu sehen ist gibt’s immer noch: was ist wirres?. da gibt und gab es wohl humor-differenzen, in dem artikel hab ich tatsächlich jedes vorkommen der buchstabenkombination ich mit meiner kontaktseite verlinkt. fand ich vor 20 jahren wohl witzig.
und finde es immer noch ein bisschen witzig.
das logo auf dem screenshot im buch war wohl eher temporär. die kacke kam da nicht aus dem hund, sondern aus der tastatur. und das ix statt ich sage und schreibe ich einerseits eher sporadisch und gegebenenfalls vor zwanzig jahren noch gar nicht.
nachdem ich mir vor ein paar tagen meine instagram-beiträge „runtergeladen“ habe (mit instaloader, siehe auch hier), hab ich mir jetzt einen prototypen gebaut. alle meine instagram-beiträge seit 2011 bis jetzt sind jetzt unter „sofortbilder“, ca. 2300 beiträge, die aktuell 530 MB wiegen (noch ohne video-dateien).
wie auf instagram, kann ich jetzt mit den j/k tasten in einem beitrag vor- und zurück-bläätern. und anders als bei instagram kann ich auch ein paar jahre vor und zurückblättern. ist alles noch sehr unfertig, aber ich finde es grossartig.
videos (im moment werden nur die coverbidler gezeigt)
automatisches aktualisieren, neu hinzugekommene, von mir auf instagram gepostete beiträge anlegen
wie ichs gebaut habe:
instaloader legt für jeden beitrag eine json-datei an (2011-10-17_06-19-58_UTC.json.xz) und legt entsprechend die bilder (2011-10-17_06-19-58_UTC.jpg) und videos dazu
über die json-dateien dateien lasse ich ein script iterieren (hab ich mit chatgpt zusammengedengelt), das je beitrag einen ordner anlegt und dort die json-datei und bilder ablegt.
in diesem ordenr legt das script auch eine kirby-inhalts-datei in der die bilder, die caption, tags und so weiter drin stehen.
am ende habe ich ca. 2300 ordner die ich einfach in einen kirby-content ordner „sofortbilder“ lege. fertig (mehr oder weniger).
der witz ist natürlich, jetzt wo ich an meine daten rankomme, werde ich instagram (wahrscheinlich) auch wieder (regelmässiger) benutzen. auch wenn das artikelbild etwas anderes suggeriert.
p.s.: am wochenende auch auf kirby 5 geupdated. war vorwiegend ereignis- und problemlos. endlich darkmode im panel/admin-interface.
gestern gelernt: manchmal ist es besser die doku selbst zu lesen, als sie sich von chatgpt erklären zu lassen. RTFM hat in zeiten von LLMs noch seine berechtigung.
lange version
instagram hab ich in letzter zeit kaum noch genutzt. aber eigentlich benutze ich instagram gerne.
vor ein paar jahren hab ich dort gepostet und meine beiträge mit einem script (ownyourgram) ins blog gezogen. das geht nicht mehr, seit instagram seine API verrammelt hat.
instagram scrapen ist schwierig, aber mit instaloader geht’s offenbar ganz gut.
mit chatgp hab ich es allerdings nicht zum laufen bringen können. was half: die doku selbst lesen und das dort gezeigte session script benutzen.
jetzt habe ich ein archiv all meiner instagram-posts seit dem oktober 2011. damit könnte ich mir mit kirby recht schnell einen instagram archiv-viewer bauen oder wieder anfangen bilder auf instagram zu posten, ins blog zu ziehen und auf mastodon und bluesky cross zu posten.
wenn ich wie jetzt zugriff auf die daten habe, kann ich also auch wieder anfangen instagram zu benutzen.
als ich wirres.net vor drei monaten wiederbelebt habe, wollte ich es ohne besucherzähler versuchen. ich glaube ich habe das gerade mal eine woche ausgehalten und dann matomo, was ohnehin noch lief, wieder eingebunden. weil man das auch ohne cookies machen kann, fühle ich mich trotz zählscript auf der datensparsamen seite.
meine rationalisierung der besucherstatistik ist, dass ich gerne sehe woher die leute kommen und dass ich gelegentlich interessantes aus den referern herausfische. interssant ist es auf jeden fall zu sehen, dass buddenbohm-und-soehne.de mir den ganzen monat über besucher herüberspült (128 „visits“ im juni), obwohl der letzte explizite link auch schon wieder zweieinhalb monate her ist (die blogrolle, ich weiss). oder ein ein link von herrpaul.me (99 visits im juni). 69 von rivva.
matomo grafik: besucher über die zeit
man sieht jedenfalls es geht aufwärts, die unique pageviews sind im juni dann auf ca. 6200 geklettert. damit befinde ich mich auf schockwellenreiter-niveau, der diesen monat auch ca. 6200 seitenaufrufe gemeldet hat. die top 5 artikel in sachen seitenaufrufe im juni waren:
suchmaschinen-verkehr ist sehr, sehr mau, weder von google noch anderen gab es viel linkliebe. das war vor 5 jahren noch anders und ich bin vorsichtig pessimistisch und glaube das bleibt jetzt erst mal ein paar jahre so.
ich fand es interessant, wie er eine permalink-url seines notiz.blogs kopierte und in einem mastodon-client ins suchfeld kopierte. damit fand er den beitrag, der dank seines wordpress acivity-pub-plugins dann als likable und sharable eintrag in seinem mastodon client auftauchte.
(hört sich kompliziert an und ist es irgendwie auch, wie alles im fediverse. ich lass mir das jetzt seit wochen von chatgpt und wohlgesonnenen lesen erklären und kapier nach wie vor nur die hälfte und behersch die terminolie nach wie vor nicht.)
weil wirres.net kein teil des fediverse ist, klappt das bei mir natürlich nicht. aber ich dachte, wenn ich einen RSS-account auf meinem gotosocial-dings anlege auf dem einfach automatisch alle neuen einträge auftauchen, könnte das doch auch gehen. es zeigt sich (auf den ersten blick), dass das nicht geht, aber daüfr gibt’s jetzt einen bot der mein rss ins fediverse pumpt.
denkt man ja nicht, aber alles was ich in mein gotosocial/mastodon-konto @ix@wirres.net schreibe ist handgeschnitzt. aber @rss@wirres.net ist ein bot.
ansonsten war ich ein bisschen überrascht von matthias pfefferles demo. als er einen beitrag seines notiz.blogs in mastodon favte, meinte er, dass er damit seien worpress instanz „abschiessen“ würde. dieses fediverse geschnatter scheint eine menge last und verkehr zu erzeugen. ich habe mir dann kurz sorgen gemacht, ob dieses gotosocial so eine gute idee war oder ist, aber soweit ich sehe scheint das nicht all zu sehr ins schwitzen zu geraten.
das script, dass aus RSS-items einen eintrag auf gotosocial macht hat chatgpt geschrieben. es brauchte aber zwei stunden debugging zusammenarbeit mit mir, bis das fehlerfrei lief. ich will nicht klagen, aber heute hat es sich schon ziemlich doof angestellt.
ich wollte folgende features haben, die das script jetzt auch, soweit ich sehe, erfüllt.
prüfe alle 5 minuten meinen rss feed
wenn es einen neuen beitrag gibt baue einen beitrag aus der überschrift, kürze den text auf 280 zeichen, behalte aber ein paar formatierungen in markdown bei, füge einen link und das erste bild hinzu (wenn das bild grösser als 500px ist)
poste nur einen beitrag je aufruf des scripts
merke dir die geposteten einträge
ansonsten hab ich eigentlich nur ein bisschen am css des gotosocial themes gefummelt. so richtig toll finde ich das nach wie vor nicht, vor allem seitdem ich elk.zone als mastodon client nutze und da wirklich (im browser) alles sehr geschliffen aussieht.
screenshots der mastodon webclients elk.zone (links) und gotosocial (rechts)
erstaunlich einfach war die installation von gotosocial auf einem asteroiden (doku). besonders gefällt mir, dass gotosocial mein hauptproblem mit mastodon löst: das domain-gedöns.
schliesslich nutze ich als blogadresse eben gerade nicht wirres.wordpress.com oder wirres.blogger.de, sondern eben wirres.net. ich benutze emailadressen wie ix@wirres.net oder felix@schwenzel.de. was jeweils dahinter läuft, ist meine entscheidung, hinter wirres.net kann ezpublish stecken, kirby oder wenn mir irgendwann mal danach ist — wordpress. hinter ix@wirres.net steckt derzeit (noch) gmail, hinter felix@schwenzel.de ein uberspace mailserver.
und jetzt kann ich für föderiertes posten von mini-beiträgen eben @ix@wirres.net benutzen — und derzeit steckt da eben gotosocial hinter, das zwar auf einer subdonain läuft, aber fein.
und wie zu erwarten, waren die folge-arbeiten der umstellung auf gotosocial um ein mehrfaches umfangreicher als die installation. einerseits hab ich den umzug noch nicht abgeschlossen, beide handles @ix@mastdn.io und @ix@wirres.net laufen noch paralell, auch wenn ich mstdn.io nicht mehr zum posten (aber schon zum reposten) nutze. es besteht ja keine eile mit dem umzug (der follower und der anschliessenden umschaltung auf nur-lesezugriff von @ix@mstdn.io). (nachtrag 7:20: umzug abgeschlossen.)
ausserdem musste ich viel von den routinen mit denen wirres.net mit mastodon interagiert anpassen. einerseits hab ich mir etwas gebaut, um toots hier einbetten zu können.
und ich sende mit maurice renksindieconnector beiträge, fotos automatisch von wirres.net auf meine mastodon instanz und hole umgekehrt reaktionen wieder bei mastodon ab, um sie auf der artikel-beilage zu aufzulisten.
es zeigt sich, gotosocial verhält sich da doch ein klein wenig anders als mastodon. abfragen von beiträgen per api …
GET https://<deine-Instanz-Domain>/api/v1/statuses/:id
… rückt gotosocial nur mit authentifizierung raus, mastodon auch ohne.
beim bildupload ist gotosocial sehr streng und funktionierte nicht auf anhieb mit dem indieconnector. bei api-abfragen besteht gotosocial ausserdem auf einem mitgelieferten „user agent“. das musste alles in kirby angepast werden.
bridgy, das gelegentlich reaktionen aus sozialen netzwerken zuliefert, musste auch auf die neue mastodon-instanz kennenlernen und zickte zunächst ein bisschen mit dem authentifizierungs-workflow.
aber insgesamt fühlt sich das alles wie eine richtige und gute entscheidung an.
caching
zwischendurch gemerkt, dass auch die suche statisch gecached wurde. das funktioniert natürlich nicht. also eine ausnahme definiert:
seit ich wieder blogge kümmere ich mich kaum noch aktiv um die heimautomatisierung. mein hobby, die fummelei, widme ich zur zeit komplett kirby und dem web. es zeigt sich aber: die automatische wohnung läuft mittlerweile auch ohne aufsicht ganz gut vor sich hin. eine uptime (ohne restart) von > 30 tagen steckt das system gut weg, gelegentlich muss ich mal eine kleinigkeit anpassen, aber das steht meistens unter dem motto der regeln nummer eins und zwei der heimautomatisierung:
automatisiere alles was du mehr als dreimal wiederholst und dich nervt — um es dann zu vergessen.
wenn etwas öfter als dreimal nicht funktioniert, passe die automatisierung an — um es dann zu vergessen.
konkret waren das der gardinenschalter der die automatisierung doppelt auslöste und die hitze die mich wiederholt nervte. also schnell die automatiserung angepasst und den ventilator wieder aktiviert (was ein zwei arbeitsschritte im homeassistant dashboard erfordert). ach ja, die optimierung der lichtsituation von gästen die im wohnzimmer übernachten hab ich aufgeschoben und an zwei abenden einfach manuell übers dashboard gemacht, statt es zu automatisieren.
ich habe mich antschieden, entgegen der ersten anküpndigung gelegentlich changelogs auch im hauptfeed und auf der hauptseite zu veröffentlichen wenn mir danach ist. und mit diesem chagelog war mir danach.
[nachtrag]
habe eben den umzugsbutton auf https://mstdn.io/@ix gedrückt und bin da jetzt weg.
alte beiträge (beispiel) liegen weiterhin dort, inklusive aller likes und reposts, aber auch hier (beispiel).
meine follwoerzahl dort war vorher so um die 1030, jetzt sind es nach dem umzug 980. das sind offenbar weniger tote konten, als ich dachte
am 4. april 2017 habe ich mir mein konto bei mstdn.io eingerichtet, wirklich genutzt hab ichs erst seit 2022
mit dieser einstellung werden jetzt kommentre von „verifizierten“ benutzern direkt freigeschaltet. mit anderen worten, jeder, der hier schon mal mt dem neuen system kommentiert hat (3 menschen, inklusive mir).
ausserdem habe ich kirby beigebracht mails zu versenden, push ist manchmal doch besser als pull, vor allem bekomme ich so benachrichtigungen über neue (zu moderierende) kommentare, was etwas praktischer ist als nach zu sehen.
gotosocial
nochmal die uberspace installationsanleitung für gotosocoal durchgelesen, die gotosocial-doku natürlich auch. insgesamt scheint mir das immer noch ein ordentlicher broken zu sein. ich rotiere ja schon kirby am lafen zu halten, bald steht ein grösseres kirby update an, das ich zumindest mal prüfen muss und dann gegebenenfalls 10 oder 20 jahre verzögern werde. oder eben nicht. jedenfalls scheint es mir gerade zu viel noch eine admin-aufgabe zu übernehmen, auch wenns nur für mich ist.
aber immerhin hab ich mir überlegt, welche domain ich nutze (irres.net oder w.irres.net) und weil ich vor kurzem meine uberspace-asteroiden in einem konto mit mail-anmeldung „konsolidiert“ habe, sollte es auch kein problem einen test-gotosocial-asteroiden hochzufahren und gegebenenfalls wieder zu löschen.
ich habe mich entschieden meine anpassungen hier ein wenig zu dokumentieren. ich liste diese changelogs nicht auf der hauptseite und im RSS feed, linke aber gelegentlich aus der hauptseite auf sie. ich vermute das interessiert nicht so viele leute, was ich hier im maschinenraum treibe. kategorie bleibt die gute alte über wirres kategorie und verschlagwortet werden die changelogs natürlich mit #changelog.
cache
der standardmässige file cache von kirby hat eigentlich ganz gut funktioniert. allerdings lief weiterhin alles über php und damit ein bisschen laggy. die uberspace hosts scheinen mir nicht irre performant zu sein, sowohl von der cpu-leistinmg als auch vom RAM. und wenn ich dann gelegentich den media-ordner mit den vorgenerierten thumnails lösche und die seiten neu gerendert und gecached werden, merkt man schon wie die VM ins schwitzen gerät und gelegentlich den PHP prozess killt.
jedenfalls bin ich drauf gekommen als ich merkte, dass die sitemap.xml nicht gecached ist. die generierung ist eher aufwändig und bots warten nicht gerne, bzw. sollten eigentlich keine überflüssige last erzeugen. die sitemap liess sich irgendwie nicht beim ersten versuch mit dem filecache sichern, weshalb ich bei der weiteren recherche auf staticcache stiess.
This plugin will give you the performance of a static site generator for your regular Kirby installations. Without a huge setup or complex deployment steps, you can run your Kirby site on any server – cheap shared hosting, VPS, you name it – and enable the static cache to get incredible speed on demand.
Rough benchmark comparison for our Starterkit home page:
Without page cache: ~70 ms
With page cache: ~30 ms
With static cache: ~10 ms
nach ersten tests konnte ich die werte grob bestätigen. mit dem static cache (in kombination mit dem browser-cache) sind die seiten extrem snappy. der trick ist, dass die gecachten seiten gar nicht mehr über php laufen, über die webserver-konfiguration werden cache-dateien direkt aufegrufen wenn sie generiert wurden.
das funktioniert für alle seiten ganz gut, auch die siztemap.xml oder die rückseite, aber weder mit dem alten file cache noch dem static cache ist es mir gelungen paginierte seiten zu cachen. das betrifft artikel-, tag-, kategorie- und archiv-seiten. da gibt’s noch ein bisschen arbeit.
andere caching anpassungen
beim caching der beilagen seiten hatte ich auch schonmal einen expliziten file-cache gebaut. der ging aber mit der umstellung auf static cache kaputt. aber immerhin kann man mehrere caches in der config.php parallel definieren:
so richtig zufrieden bin ich noch nicht mit dem beilagen-caching, die seiten sind ja quasi dynamisch und werden deshalb vom static cache ausgeschlossen.
aber was mittlerweile wirklich spass macht: auf einer artikelseite j oder k auf der tastatur drücken und in windeseile zum vorherigen oder nächsten artikel gelangen. das geht auch deshalb snappy, weil ich auf den artikel seiten drei prefetches in den header gesetzt habe:
auf der beilagen-seite (beispiel) können jetzt kommentare abgegeben werden. alles mit maurice renkskomments-plugin umgesetzt. die konfiguration war initial etwas fummelig, unter anderem hätte ich auf mehrsprachigkeit umschalten sollen um die platzhalter und formular-bezeichnungen über die config.php anzupassen zu können. das hab ich auch mal kurz gemacht und gestaunt, was dabei alles kaputt geht. also snippet aus dem plugin in ein eigenes verzeichnis kopieren und dort anpassen. CSS war auch noch etwas fummelig, funktioniert aber soweit.
mit hilfe von chatgpt war danach der kommentaromat eine sache von 10 minuten. auch das css hat es auf nachfrage sehr gut hinbekommen.
wie man die freischaltung der kommenatre über eine moderationsschleife deaktiviert habe ich noch nicht herausgefunden, aber das kommt auch noch. bis dahin: moderieren.
ich freue mich sehr über css. das ist ein sehr merkwürdiger satz, der aber stimmt. jeden tag freue ich mich, dass ich eine der wenigen sachen die ich während meines architekturstudiums gelernt habe — oder eher, dass ich eine der wenigen sachen die mir wichtig genug erschienen um sie mir zu merken — hier im blog immer wieder anwenden kann:
sachen in würde kaputt gehen lassen. oder wie man auch in der IT sagt: to degrade gracefully.
mauerwerk ist so ein ding das würdevoll kaputtgehen kann. eine ziegelmauer sieht auch als ruine noch gut aus. vorhangfassaden, glasfassaden tun das nicht.
sowas hier
ist eigentlich nur ein <blockquote>, so sieht das dann ohne (oder mit weniger) css aus.
aber das man ein html-zitat mit ein bisschen css eben so wie oben aussehen lassen kann, das freut mich jeden tag aufs neue. oder gestern, als mir meine mutter eine nachricht schickte und ich dachte: screenshot posten und was dazu schreiben — bis mir einfiel: warum nicht css? dann sah das so aus:
auch die bubble ist ein einfaches blockquote, das ohne css, zum beispiel im rss-feed, würdevoll kaputt geht.
wen sowas nicht begeistert, der schreibt wahrscheinlich nicht selbst ins internet — oder nutzt wordpress.
aber das allerbeste, diese welt der css-magie steht auch mir als css-vollpfosten offen, dank LLMs. CSS-magie ist nämlich etwas, was die wirklich gut können.
jetzt bitte weiterblättern. danke für die kurze aufmerksamkeit.
ich weiss, ich schreibe in letzter zeit sehr häufig aus dem #maschinenraum. aber das liegt auch daran, dass ich dort gerade sehr viel zeit verbringe und dort auch sehr gerne bin. nachdem ich gestern innerhalb von 30 minuten mit hilfe meines neuen kollegen¹⁾ einen prototypen laufen hatte, hab ich den rest des tages damit verbracht rezepte (wieder) maschinenlesbar, strukturiert und ansehnlich hier veröffentlichen zu können.
ich werde ja nicht müde darauf hinzuweisen, dass man seine webseiten nicht für suchmaschinen optimieren soll, sondern für menschen, aber bei rezepten und vielen anderen webseiten-details gibt es markante schnittmengen. und inhalte strukturiert anzubieten dient der lesbarkeit und ermöglicht die nutzung von wekzeugen. rezept-scrapern zum beispiel. im alltag nutze ich sehr oft mela, dadrin sind alle meine wichtigsten rezepte. früher™ zu weihnachten haben wir die rezepte für die fleisch-fondue-sossen immer in einem grossen ordner gehabt. die sind jetzt alle in meiner icloud und ich kann vom handy oder ipad jederzeit drauf zugreifen. mela macht es einfach rezepte einzulesen, es lässt sich von kaum einer webseite abschrecken und auch rezeptbücher kann es sinnvoll per kamera einscannen und vertextlichen. eine wahre killer-app.
ich habe aber bemerkt, dass ich auch in den jahren vor meiner blogpause zwar regelmässig bis oft mein essen geteilt habe (gekocht), aber wenig richtige rezepte veröffentlicht habe habe. das will ich jetzt ändern, bzw. etwas strukturierter angehen.
eigene kategorie in der „echte“ rezepte stehen — und die ich regelmässig fülle und nachpflege
alle rezepte sind (grob) nach dem schema.org/Recipe schema strukturiert und werden (auch) als json-ld ausgegeben — microformate muss ich noch einbauen
weil mela auch rss-feeds lesen kann, ist meine zielvorstellung (ich mach das ja alles vor allem für mich selbst):
neue rezepte, die ich ausprobiert habe und die mir gefallen, verblogge ich
mela liest die rezepte aus dem RSS-feed ein und speichert sie dann persistent auf meinen geräten
eigenes rezepte-widget/übersichts-dings auf der rückseite (todo)
das heisst ich werde einen rss feed nur für die kategorie rezepte anbieten, den man dann in mela abonnieren kann. aber genau wie microformate ist das noch auf der todo liste.
vor 13 jahren hab ich das mit den strukturierten daten schon mal experimentell mit meinem alten CMS hingebastelt, für den gurkensalat nach tim mälzers oma²⁾ — das hat die migration zu kirby nicht überlebt, bzw. musste einfach neu gebaut werden. das hab ich jetzt nachgebaut und werde, wie gesagt, rezepte auch nachpflegen. weil das anlegen von strukturierten rezepten mit ezpublish damals etwas beschwerlich war, habe ich das nach dem gurkensalat auch nicht wieder gemacht, sondern rezepte, wenn überhaupt, auf der schriftspur veröffentlicht.
fussnoten: 1) chatGPT 2) die sahne kann man auch weglassen, bzw. mit öl ersetzen
eins der features das ich vom alten wirres.net aus pre-kirby-zeiten am meisten vermisst habe ist die navigation mit den j/k tasten. ich vermute zwar, dass ausser mir niemand daran interessiert ist oder sowas nutzt, aber wirres.net konnte das mehr oder weniger seit 15 jahren.
damals™ habe ich das mit einem jquery plugin gemacht, ob ich das hier benutzt habe oder was anderes weiss ich auch nicht mehr. ich weiss aber, dass ich das immer wahnsinnig nützlich fand und mich bis heute frage, warum das nicht viel weiter verbreitet ist. tatsächlich fallen mir aktuell nur zwei webseiten ein, auf denen das noch funktioniert: gmail und duckduckgo — und jetzt wieder wirres.net, zumindest auf übersichtseiten.
während dieses 15 jahre alte jquery-plugin auch nur 2 kb gross ist, wiegt jquery minifiziert auch nochmal 32 kb. als ich vor einem monat anfing wirres.net mit kirby wieder neu aufzubauen, war unter meinen ersten fragen an google …
die antworten auf die zweite frage waren mir damals zu kompliziert, bzw. verlangten zu viel javascript-know-how von mir, um das damals umzusetzen. gestern Nacht um 2 uhr fiel mir die frage wieder ein und ich fragte — chatGPT. die antwort war 1,6 kb lang und funktioniert einwandfrei und vanila, also ohne ein js-framework.
und wo ich gerade dabei war, hab ich chatGPT noch gefragt wie ich mit der x-taste die startseite, bzw. artikelübersichten kompakt anzeigen lassen kann, das geht mit neun zeilen code.
tl;dr: man kann auf der startseite und übersichtseiten jetzt mit j/k navigieren oder kurzzeitig alle artikel mit x gekürzt anzeigen.
p.s.
ich bin völlig baff, welche fortschritte javascript und css seit dem letzten mal, wo ich mich intensiver damit beschäftigt habe, gemacht haben. gestern nacht fiel mir auch ein zu fragen ob und wie man bilder per css schwarz weiss machen kann. geht!
img {
filter: grayscale(100%);
}
ich weiss nicht ob das normal ist, aber mich begeistert so etwas sehr. es gibt noch so viel auszuprobieren und zu basteln um dieses nest hier im web wohnlich zu machen.
p.p.s.
heute früh vorm spazieren gehen hab ich mich gefragt, ob man mit dem kirby struktur feldern nicht ziemlich einfach semantisch korrekte und maschinenlesbare rezepte (zum nachkochen) bauen kann. kann man, chatGPT spuckte mir wenige zeilen blueprint und template code aus, mit denen ich nach 10 muinuten einen funktionierenden prototypen hatte. beim thema rezepte im json-ld- oder in microformat treffen sich die beiden vektoren SEO-optimierung und nutzer-optimierung perfekt. weil rezept-schleudern wie chefkoch.de gerne vorne in den google-suchergebnissen stehen möchten, sind alle rezepte auf chefkoch.de per
ausgestattet. das hat zur folge, dass ich mehr oder weniger jedes rezept das ich jemals gegooglet und zu unserer befriedigung nachgekocht habe auch einfach und verlustfrei in mela importieren kann. warum mela so toll ist, hab ich hier mal vor zwei jahren erklärt.
in den letzten 23 jahren habe ich jeden einzelnen blog-geburtstag verpasst. natürlich habe ich gelegentlich über das (blog) alter gesprochen, aber jubuläums-artikel habe ich, glaube ich, nie geschrieben (und irgendwie auch albern gefunden). aber das lässt sich ja ändern …
voilà hier ist jetzt ein jubiläums-artikel, weil der erste unter der domain wirres.net verfasste artikel am 20.04.2002 veröffentlicht wurde. und das ist nach meiner berechnung — und der von carbon — jetzt 23 jahre her.
aber natürlich ist das im grunde total egal, weil ich schon viel früher das bedürfnis hatte ins internet zu schreiben, wie ich kürzlich in „30 jahre bloggen“ erwähnt habe. trotzdem: auf die nächsten jahre.
und in den nächsten jahren wird’s vielleicht auch interessant, denn in 29 jahren bin ich so alt, wie mein vater heute geworden ist. in acht oder neun jahren werde ich 25 jahre lang als arbeitskollege mit dasnuf gearbeitet haben. in elf jahren werde ich mein rentenalter erreicht haben — und so wie es aussieht, kann man auch im rentenalter noch lesenswertes ins internet schreiben. und in acht jahren werde ich 25 jahre mit der beifahrerin verheiratet sein. (den tag meines hochzeitstag kann ich mir gut merken, weil wir heiligabend in las vegas geheiratet haben, aber das jahr konnte ich mir nie merken. jetzt kann ich die site-suche benutzen um meinen hochzeitstag zu finden.)
ich hab meine rückseite schön gemacht. früher™ war ich wahrscheinlich der beste besucher der rückseite, weil ich sie mir als übersicht über die aktivitäten rund um mein blogdings gebaut habe. auch jetzt finden sich dort ein paar metadaten und zugänge ins archiv.
besonders interessant (für mich): offensichtlich habe ich im jahr 2015 am meisten veröffentlicht. keine ahnung warum, vielleicht war das die zeit in der ich fast täglich lange, kommentierte linklisten veröffentlich habe oder jeden pups von instagram und twitter in mein blog gezogen habe. und jetzt wo ich diese übersicht erstellt habe, sehe ich auch, dass meine blogpause effektiv fünf jahre lang war (2020 bis 2025). und das korrespondiert mit dem einzug von frida. offenbar hab ich da andere prioritäten gesetzt. insgesamt summieren sich die veröffentlichungen auf wirres.net auf ca. 10.800 „artikel“.
die tagcloud ist naturgemäss etwas chaotisch. ich hab sie aber auch reduziert auf die einträge der letzten 6 jahre und ein paar einträge extra. wenn ich jetzt anfange konsistent zu taggen, ist die tagcloud dann also in fünf, sechs jahren übersichtlich und klar. vielleicht.
ausserdem neu, der RSS-feed zeigt ab jetzt nur noch die sachen an, die auf der startseite sichtbar sind. so kann ich bilder oder notizen mittenrein oder auf die rückseite von wirres.net posten, ohne ein schlechtes RSS-gewissen zu bekommen. alles was mir relevant genug scheint, erscheint weiterhin auf der startseite.
in den letzten tagen haben kirby und ich uns besser kennengelernt. für mich ist der neubau meiner website wie weihnachten und geburtstag zusammen. ich freue mich schönes geschenkt zu bekommen und dann an die wand zu hängen oder in eine vitrine zu stellen. aber meine liebsten geschenke sind sachen aus denen ich selbst schönes bauen kann. so freue ich mich zum beispiel bis heute darüber weihnachten vor 14 jahren und weihnachten vor 12 jahren damit verbracht haben zu dürfen … eine küche aufzubauen.
so sollen gute geschenke sein: man bekommt einzelteile, oder besser gesagt ein system von bau- und gestaltungselementen, aus denen man selbst etwas eigenes bauen kann. dabei muss man nicht bei null anfangen, weil sich viele kluge menschen bereits gedanken über potenzielle probleme und lösungen gemacht haben und man sich einfach auf deren schultern stellen kann.
mit dieser idee lässt sich der erfolg von lego, minecraft und sicherlich zum teil auch von ikea erklären. ikeas genialster marketingtrick ist wahrscheinlich, dass man bei kunden eine art stockholm-syndrom auslöst. weil man durch die mühen und schmerzen des selbst-aufbaus durchsteht, schätzt man das ergebnis am ende positiver ein, als wenn man es fertig gekauft hätte.
natürlich ist auch der weg ein ziel. in meinen auseinandersetzungen mit kirby lerne ich wieder dinge über das programmieren. sehr hilfreich in sachen kirby, aber auch als einführung in die moderne php-programierung, sind zum beispiel die screencasts in der kirby guide von bastian allgeier. wenn ich mir die ansehe, muss ich ständig pausieren um schnell mal was auszuprobieren und staunend bei mir im zimmer rum zu stehen.
anders als ein leeres blatt papier, sind systeme wie kirby, aber auch home assistant, prall gefüllte werkzeugkisten, die einem zurufen: mit uns kannst du genau das bauen, was du schon lange bauen wolltest. und unterwegs lernst du viel über dich selbst, darüber wie teile der welt funktionieren und am ende hast du eine schön anzusehende baustelle, an der du — wenn du lust hast — die nächsten 10 jahren weiterbauen kannst.
jedenfalls habe ich in den letzten tagen viel im maschinenraum gearbeitet. wie bastian allgeier in den screencasts immer sagt, code getrocknet, eleganter gemacht und unterwegs viele abbiegungen entdeckt, die ich noch erkunden möchte. das alte wirres.net war sensationell gut suchmaschinen-optimiert. teilweise haben sich einträge minuten nach der veröffentlichung schon im google index gefunden. das ist durch die längere inaktivität und vor allem das einjährige von der bildfläche verschwinden, natürlich alles hin. und alles was den code angeht, die kleinen helfer für suchmaschinen und crawler, müssen neu her. dafür gibt’s viele helfer, aber es ist auch viel handarbeit und feinschliff nötig.
aber mit dem zwischenstand bin ich ganz zufrieden. so sieht das mittlerweile wieder in den suchergebnissen aus.
die sitemap spiegelt jetzt auch die robots-regeln, also alles was älter als 5 jahre (oder 3, bin noch unentschieden, aber derzeit sind’s 5) ist ausgeblendet. übersichtseiten will ich nicht im index haben, weil die sich so oft ändern und ohnehin nicht zum finden geeignet sind.
und beim suchwort mediathekwebview bin ich derzeit sogar auf der ersten suchergebnisseite.
die seite vom heutigen morgenspaziergang zeigt exemplarisch, warum ich einerseits so begeistert von kirby bin und andererseits, auf wie viel arbeit ich mich noch freuen kann.
so habe ich das erste bild während einer kleinen pause beim spaziergang gepostet. es wurde automatisch zu bluesky und mastodon syndiziert, allerdings hat irgendwas bei der aufbereitung für den RSS-feed geklemmt, da kam der artikel zunächst ohne bild an. später hab ich einfach 6 weitere bilder vom telefon in den artikel geladen und die dem kirby starterkit mitgelieferte galerie hat out of the box funktioniert. ich musste später nur noch ein bisschen am code schrauben, damit das auch mit responsive images funktioniert.
bildserien vom telefon aus ins internet posten und teilen, vor ein paar jahren war das noch ein feuchter traum, bzw. der grund warum apps wie instagram so erfolgreich waren. ich würde gerne weiter auf instagram posten, am liebsten automatisch von hier, aber das will facebook nicht, bzw. nur für „business“ kunden. also pausier ich das jetzt erstmal und freu mich, dass ich das jetzt „zuhause“ machen kann, mit dem gleichen komfort, aber unter meiner kontrolle. einziger nachteil von sowas: der ordner mit dem artikel und den bild-rohdaten die das telefon dahin geladen hat ist 30 MB gross. zum glück kann man bei uberspace mittlerweile festplattenplatz dazukaufen, oder, wenn alle stricke reissen sollten, kann ich kirby auch ganz schnell woanders hinschieben.
ausserdem bin ich jeztzt auch in den genuss des ersten, gar nicht mal so angenehmen kirby bugs gekommen. aus mir noch nicht ganz nachvollziehbaren gründen legt kirby eine temporäre datei an, vergisst die aber zu löschen, was unangenehme folgen hat (eindeutige IDs neuer artikel sind nicht mehr eindeutig, sondern gleich). aber da mein zweiter vorname „workaround“ ist, ist das auch kein so grosses problem.
die ideen, was ich hier noch so alles machen könnte, fliessen momentan ganz gut. mir gefällt das ruhige, minimalistische webschaufenster derzeit ganz gut, aber weil ich schon gerne (meta-) daten und sekundär-infos zu einzelnen artikel anzeigen möchte (vor allem für mich selbst natürlich), werde ich nicht nur meine alte rückseite reaktivieren, sondern auch eine packungsbeilage zu jeden artikel anlegen, quasi artikelrückseiten. da können dann auch kommentare und webmentions und so hin.
mit anderen worten, hier könnet es in den nächsten monaten immer wieder etwas ruckeln. wenn euch was auffällt oder nervt, sagt mir bescheid.
ich hab gestern angefangen meine rückseite, also die der webseite, wieder zu rekonstruieren — oder besser wieder zu beleben. ideen/todos hab ich einige, jetzt gibt’s erstmal ne blogrolle, angelehnt an die feeds, die ich in meinem feedreader verfolge.
die liste ist einerseits länger geworden als ich dachte und doch nicht komplett. aber jeder link hat einen kurzen kommentar oder einordnung spendiert bekommen.
das gabs seit bestimmt 15 jahren nicht auf wirres.net: eine funktionierende suche. jetzt schon.
ich staune selbst, was ich da alles finde. eigentlich will ich ja gar nicht dass man hier alles findet. nicht alle meine artikel sind gut gealtert oder auch nur im ansatz gut. aber auf ne art sind es eben auch zeitdokumente und ich stöber da gerne drin.
suchmaschinen verbiete ich schon seit langem das indexieren von übersichtseiten und artikeln die älter als 3 jahre sind. das hat damals enorm geholfen post von anwälten zu reduzieren. ausnahmen bestätigen die regel. tim mälzers gurkensalat rezept darf google gerne indexieren und verlinken. andere rezepte hab ich damals™ (wie heute) glaube ich auch entsprechend freigeschaltet.
und, den gag kollte ich mir nicht verkneifen, die such-funktion muss man natürlich auch erstmal suchen, bevor man sie verwenden kann.