100 tage
seit 100 tagen hab ix jeden tag mindestens einen beitrag auf wirres.net veröffentlich.

seit 100 tagen hab ix jeden tag mindestens einen beitrag auf wirres.net veröffentlich.
heute gabs ne butterbrezel zum frühstück, die brezel hab ich gestern schon gekauft und die butter hab ich extra ausgefroren. dazu ne scheibe käse und gekochten schinken. nach dem frühstück gab nur nen kurzen „mittags“-schlaf weil ich am flughafen meinen alten freund jeff abholen musste, den ich seit 38 jahren nicht mehr gesehen hatte. jeff und ich waren damals im wrestling team der highschool. wir haben uns vor der abholung gegenseitig fotos von uns geschickt, was im ersten moment hilfreich war, in 38 jahren altert man ja erheblich und sammelt fett, aber im laufe des tages haben wir gegenseitig die 18 jährigen in unseren gealterten gesichtern wiedererkannt.
auf der rückfahrt sind wir von der autobahn abgefahren und haben irgendwo in kreuzberg angehalten um eine gelegenheit zu suchen jeff mit döner bekannt zu machen. dieser laden schien uns gut genug, und auch wenn die zwei döner mit zwei ayran 17 € kosteten waren wir nicht entäuscht. das ayran schmeckte jeff ein bisschen zu „special“, aber ich bin zuversichtlich, dass er sich noch an ein paar acquired german tastes rantasten wird.
ich hatte mir im vorfeld ohnehin überlegt heute mal ein bisschen mehr zu essen als mir der appetit das semaglutid diktierte, weil die pfunde laut waage gerade etwas zu flott fallen (heute bereits unter 108). am abend gabs dann eine proper german brotzeit, für mich reichte eine scheibe vollkornbrot mit käse und schinken, zwei bier und sehr viele frische rettichscheiben mit salz und pfeffer. morgen gibt’s kuchen von thoben, jeff und die beifahrerin haben von jeder thoben sorte kuchen je ein stück gekauft. ich konnte den beiden ausreden den kuchen nach dem abendessen anzubrechen, aber ich freu mich sehr auf die kuchenaussicht morgen.
ausserdem kurz aus dem maschinenraum: gestern und heute früh habe ich an einer gitter-darstellung der bilder auf wirres.net gearbeitet, mit photoswipe, infinite scroll und so wie ich mir ein fotoarchiv schon länger vorgestellt habe. das zielpublikum dieses neuen features (ich) ist sehr zufrieden, auch wenn das ding noch einiges an feinschliff benötigt.
ist photoswipe nicht toll?
einer der sprüche, die ich während meiner (schreiner) ausbildung am häufigsten gehört habe war: „das hält in sich“
das ist in der tat bei der mehrheit aller konstruktionen aus holz (werkstoffen) so und falls es mal nicht der fall ist, helfen ein paar tropfen leim, ne schraube, ein nagel oder ein beherzter schlag.
wenn metall mal nicht „in sich“ hält muss man mit zugkräften arbeiten. oder wie hier eben mit kabelbindern. ich finde das herzallerliebst, genauso wie den golgatha-gnaden- und johannes-evangelist-friedhof.
als frida und ich da heute dran vorbeigegangen sind, war ich kurz davor, trotz verbots, mit frida mal den friedhof zu erkunden. der friedhof ist sehr einladend und wirkt von aussen fast wie der waldfriedhof, auf dem wir meine oma vergraben begraben haben. sehr einladend. ich sollte wieder mehr jugendlichen leichtsinn entwickeln.
p.s.: mit dem veröffentlichen dieses artikels habe ich etwas gewartet, bis ich den neuen „lightbox“-mechanismus (photoswipe mit photoswipe dynamic caption plugin und photoswipe video plugin) eingebaut habe. vorher hatte ich baguettebox genutzt.
mit photoswipe kann man jetzt in bilder, die in einer lightbox angezeigt werden, reinzoomen. klick aufs bild und entweder mit dem scrollrad oder zwei fingern auf dem trackpad nach unten wischen zum zoomen. einmal klicken vergrössert auch (etwas). damit kann man dann zum beispiel auf die kabelbinder-konstruktion zoomen.
ausserdem gehen „live fotos“ (also geloopte video ohne ton und steuer-elemente) jetzt auch in der lightbox auf. normale videos können theoretisch auch in der lightbox aufgehen, aber da gibt’s noch komplikationen mit der benutzung. jedenfalls sehr schön diese photoswipe, allein wegen des scroll- und pinch-zooms — und den schöneren („dynamischen“) bildunterschriften.
das alles ist natürlich auch sehr déjà-vu, zu photoswipe bin ich bereits vor neun jahren schonmal gewechselt.
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
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:
Link: https://wirres.net/sofortbilder/2271345229156742964
dafür muss es natürlich noch ein template link.php
geben:
<?php go($page->link(), 301) ?>
ansonsten:
vorläufige top 10 gefavte instagram-bilder bis 2020:
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.
siehe auch: rückseite.
mein kirby kann jetzt karten anzeigen, einerseits dank dieses plugins: kirby-map und atlas.p3k.io/static-maps.
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.
maurice hat einen buchshot von einem screenshot von einer 20 jahre alten wirres.net seite gemacht. das buch ist 19 jahre alt. die screenshot-unterschrift beklagt, dass ich immer das ich gehyperlinked habe.
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.
was noch fehlt:
wie ichs gebaut habe:
2011-10-17_06-19-58_UTC.json.xz
) und legt entsprechend die bilder (2011-10-17_06-19-58_UTC.jpg
) und videos dazuam 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.
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.
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.
nachdem ich gestern matthias pfefferle auf/in (?) der blogtastisch (via) gesehen habe, fielen mir ganz viele sachen ein, die ich machen möchte.
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.
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.
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 renks indieconnector 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.
zwischendurch gemerkt, dass auch die suche statisch gecached wurde. das funktioniert natürlich nicht. also eine ausnahme definiert:
return [
/* […] */
'cache' => [
'pages' => [
'active' => true,
'type' => 'static',
'ignore' => fn ($page) => match (true) {
str_contains($page->uri(), '/suche') => true,
default => false
}
],
'beilage' => [
'type' => 'file',
'root' => __DIR__ . '/../cache/beilage'
]
],
/* […] */
]
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:
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.
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).
'mauricerenck.komments.moderation.publish-verified' => true,
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.
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.
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.
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:
'cache' => [
'pages' => [
'active' => true,
'type' => 'static',
'ignore' => fn ($page) => match (true) {
str_contains($page->uri(), '/rivva') => true,
default => false
}
],
'beilage' => [
'type' => 'file',
'root' => __DIR__ . '/../cache/beilage'
]
],
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:
<link rel="prefetch" href="https://wirres.net/articles/ipompidou/beilage" as="document">
<link rel="prefetch" href="https://wirres.net/articles/fruh-und-spatspaziergang-am-20-6-2025" as="document">
<link rel="prefetch" href="https://wirres.net/articles/morgenspaziergang-vom-19-6-2025" as="document">
auf der beilagen-seite (beispiel) können jetzt kommentare abgegeben werden. alles mit maurice renks komments-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.
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.
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.
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
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Recipe",
// […]
}
</script>
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.)