kategorie: über wirres ×

spree­blick.*

felix schwenzel in artikel

auf spree­blick.com/de pas­siert seit > 5 jah­ren nicht mehr viel, was sehr scha­de ist. aber john­ny nutzt seit 2023 (?) spree­blick.sub­stack.com zum ver­öf­fent­li­chen von news­let­tern, die man dann auch im web le­sen kann, wie zum bei­spiel sei­nen letz­ten news­let­ter vom 5. au­gust.

der bei­trag („wut ge­gen die ma­schi­ne“) ist klas­si­sches blog-ma­te­ri­al und wäre wun­der­bar auf spree­blick.de auf­ge­ho­ben ge­we­sen. statt ins ei­ge­ne blog, schreibt john­ny in das silo ei­nes ame­ri­ka­ni­schen kon­zerns, der auch kein pro­blem da­mit hat nazi-in­hal­te zu dul­den und ge­le­gent­lich zu pro­mo­ten (in ←die­sem fall an­geb­lich aus­ver­se­hen; mehr zu sub­stack und de­ren nazi-pro­blem bei in­grid bro­ding).

john­ny ist sich des­sen na­tür­lich be­wusst und schreibt in sei­nem oben ver­link­ten bei­trag:

[…] noch be­vor ich mit die­sem News­let­ter end­lich wie seit lan­ger Zeit ge­plant von Sub­stack zu Ghost / Ma­gic Pa­ges wechs­le […]

über ghost bin ich in den letz­ten wo­chen ge­le­gent­lich ge­stol­pert und bin po­si­tiv an­ge­tan. ge­ra­de wur­de wohl ver­si­on 6 ver­öf­fent­licht, die tol­le, nei­disch ma­chen­de fea­tures be­inhal­tet.

im blog — oder ghost? — des grün­ders john o’no­lan habe ich mich in den letz­ten ta­gen ein biss­chen fest­ge­le­sen und lust be­kom­men ghost auch mal aus­zu­pro­bie­ren. so kann eine ghost in­stanz auch gleich­zei­tig eine mast­o­don-in­stanz sein, so wie john.ono­lan.org es ist. ghost selbst kann man sich selbst in­stal­lie­ren oder eine ge­hos­te­te in­stanz mie­ten. das fi­nan­zie­rungs­mo­del hin­ter ghost ist ver­nünf­tig und ver­trau­ens­bil­dend, ghost in­stan­zen be­nö­ti­gen nicht un­be­dingt ein coo­kie ban­ner und kön­nen tra­cker-frei be­trie­ben wer­den. al­les was an sub­stack scheis­se ist, ist bei ghost toll.

je län­ger ich ins in­ter­net schrei­be, des­to deut­li­cher ist mir ge­wor­den wie wich­tig es ist ent­we­der auf selbst kon­trolleir­ten platt­for­men zu schrei­ben oder min­des­tens ei­nen flucht­weg vor­zu­be­rei­ten, wenn dritt­an­bie­ter platt­for­men der ens­hit­ti­fi­ca­ti­on er­lie­gen (ver­ka­cken). das gilt selbst für das fe­di­ver­se; seit­dem ich mei­ne ei­ge­ne go­to­so­cial-in­stanz be­trei­be füh­le ich mich noch ei­nen ta­cken mehr in kon­trol­le. da­bei geht es na­tür­lich nicht in ers­ter li­nie um kon­trol­le, die ja be­kann­ter­mas­sen meist eine il­lu­si­on ist, son­dern eben um ab­we­sen­heit oder re­du­zie­rung von ab­hän­gig­kei­ten.

ich wer­de mich je­den­falls hü­ten john­ny ghost oder an­de­re ver­meint­li­che, halb­ga­re weis­hei­ten aufs auge zu drü­cken, er wird da schon selbst sei­ne ab­wä­gun­gen ge­macht ha­ben. aber auf den ers­ten und zwei­ten blick hat mich das teil so neu­gie­rig ge­macht, dass ich mir das si­cher mal an­schau­en wer­de. viel­leicht lässt sich da ja was in­te­grie­ren, zwi­schen kir­by und ghost. oder ein­fach das eine oder an­de­re ler­nen.

so rich­tig über­zeugt da­von wir­res.net auch per push (news­let­ter) zu ver­tei­len bin ich nach wie vor nicht. aber die wur­zeln die­ses blogs sind ei­gent­lich ein news­let­ter. da­mals (2001 / 2002) gab es bei ya­hoo­groups die mög­lich­keit so­was ein­fach ein­zu­rich­ten: abon­nen­ten ein­tra­gen, email schrei­ben, an wir­res@ya­hoo­groups.com schi­cken, fer­tig. so habe ich da­mals fa­mi­lie und freun­de über mei­ne ak­ti­vi­tä­ten in­for­miert, bis in mir die er­kennt­nis reif­te, dass pull bes­ser als push ist, dass ich mich also lie­ber auf eine web­sei­te mit neu­ig­kei­ten kon­zen­trie­ren soll­te, statt neu­ig­kei­ten in brief­käs­ten zu wer­fen. ich bin mir heu­te nicht mehr si­cher, ob ich sol­che bot­schaf­ten, wie hier im märz 2002 auch an mei­ne el­tern ge­schickt habe. ob­wohl die­se rund­mail vom au­gust 2002 el­tern-safe ge­we­sen wäre. ko­mi­scher­wei­se habe ich mir da­mals nie die mühe ge­macht die vös­lau­er mail in ei­nen rich­ti­gen ar­ti­kel um­zu­wan­deln, nur das fol­low-up hat ei­nen ar­ti­kel be­kom­men.

ich zie­he es nicht ernst­haft in er­wä­gung, aber fra­gen ob ir­gend­wer in­ter­es­se am ver­trieb von wir­res.net als news­let­ter habe kann ich ja mal.


100 ta­ge

felix schwenzel in notiert

seit 100 ta­gen hab ix je­den tag min­des­tens ei­nen bei­trag auf wir­res.net ver­öf­fent­lich.


se­maglut­id tag 5

felix schwenzel in semaglutid

heu­te gabs ne but­ter­bre­zel zum früh­stück, die bre­zel hab ich ges­tern schon ge­kauft und die but­ter hab ich ex­tra aus­ge­fro­ren. dazu ne schei­be käse und ge­koch­ten schin­ken. nach dem früh­stück gab nur nen kur­zen „mit­tags“-schlaf weil ich am flug­ha­fen mei­nen al­ten freund jeff ab­ho­len muss­te, den ich seit 38 jah­ren nicht mehr ge­se­hen hat­te. jeff und ich wa­ren da­mals im wrest­ling team der high­school. wir ha­ben uns vor der ab­ho­lung ge­gen­sei­tig fo­tos von uns ge­schickt, was im ers­ten mo­ment hilf­reich war, in 38 jah­ren al­tert man ja er­heb­lich und sam­melt fett, aber im lau­fe des ta­ges ha­ben wir ge­gen­sei­tig die 18 jäh­ri­gen in un­se­ren ge­al­ter­ten ge­sich­tern wie­der­erkannt.

auf der rück­fahrt sind wir von der au­to­bahn ab­ge­fah­ren und ha­ben ir­gend­wo in kreuz­berg an­ge­hal­ten um eine ge­le­gen­heit zu su­chen jeff mit dö­ner be­kannt zu ma­chen. die­ser la­den schien uns gut ge­nug, und auch wenn die zwei dö­ner mit zwei ay­ran 17 € kos­te­ten wa­ren wir nicht entäuscht. das ay­ran schmeck­te jeff ein biss­chen zu „spe­cial“, aber ich bin zu­ver­sicht­lich, dass er sich noch an ein paar ac­qui­red ger­man tas­tes ran­tas­ten wird.

bild von jeff nachdem er einen kinderspielplatz-kletterdom erklommen hat
das dö­ner be­fü­gel­te jeff nach dem es­sen of­fen­sicht­lich

ich hat­te mir im vor­feld oh­ne­hin über­legt heu­te mal ein biss­chen mehr zu es­sen als mir der ap­pe­tit das se­maglut­id dik­tier­te, weil die pfun­de laut waa­ge ge­ra­de et­was zu flott fal­len (heu­te be­reits un­ter 108). am abend gabs dann eine pro­per ger­man brot­zeit, für mich reich­te eine schei­be voll­korn­brot mit käse und schin­ken, zwei bier und sehr vie­le fri­sche ret­tich­schei­ben mit salz und pfef­fer. mor­gen gibt’s ku­chen von tho­ben, jeff und die bei­fah­re­rin ha­ben von je­der tho­ben sor­te ku­chen je ein stück ge­kauft. ich konn­te den bei­den aus­re­den den ku­chen nach dem abend­essen an­zu­bre­chen, aber ich freu mich sehr auf die ku­chen­aus­sicht mor­gen.

mein gewicht über die letzten zwei jahre, in mnatsmittelwerten. heute lags unter 108 kg

aus­ser­dem kurz aus dem ma­schi­nen­raum: ges­tern und heu­te früh habe ich an ei­ner git­ter-dar­stel­lung der bil­der auf wir­res.net ge­ar­bei­tet, mit pho­tos­wi­pe, in­fi­ni­te scroll und so wie ich mir ein fo­to­ar­chiv schon län­ger vor­ge­stellt habe. das ziel­pu­bli­kum die­ses neu­en fea­tures (ich) ist sehr zu­frie­den, auch wenn das ding noch ei­ni­ges an fein­schliff be­nö­tigt.


pho­tos­wi­pe ist toll

felix schwenzel in über wirres

ist pho­tos­wi­pe nicht toll?


hält in sich

felix schwenzel in bilder

ei­ner der sprü­che, die ich wäh­rend mei­ner (schrei­ner) aus­bil­dung am häu­figs­ten ge­hört habe war: „das hält in sich“

das ist in der tat bei der mehr­heit al­ler kon­struk­tio­nen aus holz (werk­stof­fen) so und falls es mal nicht der fall ist, hel­fen ein paar trop­fen leim, ne schrau­be, ein na­gel oder ein be­herz­ter schlag.

wenn me­tall mal nicht „in sich“ hält muss man mit zug­kräf­ten ar­bei­ten. oder wie hier eben mit ka­bel­bin­dern. ich fin­de das herz­al­ler­liebst, ge­nau­so wie den gol­ga­tha-gna­den- und jo­han­nes-evan­ge­list-fried­hof.

als fri­da und ich da heu­te dran vor­bei­ge­gan­gen sind, war ich kurz da­vor, trotz ver­bots, mit fri­da mal den fried­hof zu er­kun­den. der fried­hof ist sehr ein­la­dend und wirkt von aus­sen fast wie der wald­fried­hof, auf dem wir mei­ne oma ver­gra­ben be­gra­ben ha­ben. sehr ein­la­dend. ich soll­te wie­der mehr ju­gend­li­chen leicht­sinn ent­wi­ckeln.

bild von einem ramponierten zaun am golgatha-gnaden- und johannes-evangelist-friedhof
ge­sund­heit!

p.s.: mit dem ver­öf­fent­li­chen die­ses ar­ti­kels habe ich et­was ge­war­tet, bis ich den neu­en „light­box“-me­cha­nis­mus (pho­tos­wi­pe mit pho­tos­wi­pe dy­na­mic cap­ti­on plug­in und pho­tos­wi­pe vi­deo plug­in) ein­ge­baut habe. vor­her hat­te ich ba­guette­box ge­nutzt.

mit pho­tos­wi­pe kann man jetzt in bil­der, die in ei­ner light­box an­ge­zeigt wer­den, rein­zoo­men. klick aufs bild und ent­we­der mit dem scroll­rad oder zwei fin­gern auf dem track­pad nach un­ten wi­schen zum zoo­men. ein­mal kli­cken ver­grös­sert auch (et­was). da­mit kann man dann zum bei­spiel auf die ka­bel­bin­der-kon­struk­ti­on zoo­men.

aus­ser­dem ge­hen „live fo­tos“ (also ge­loop­te vi­deo ohne ton und steu­er-ele­men­te) jetzt auch in der light­box auf. nor­ma­le vi­de­os kön­nen theo­re­tisch auch in der light­box auf­ge­hen, aber da gibt’s noch kom­pli­ka­tio­nen mit der be­nut­zung. je­den­falls sehr schön die­se pho­tos­wi­pe, al­lein we­gen des scroll- und pinch-zooms — und den schö­ne­ren („dy­na­mi­schen“) bild­un­ter­schrif­ten.

das al­les ist na­tür­lich auch sehr déjà-vu, zu pho­tos­wi­pe bin ich be­reits vor neun jah­ren schon­mal ge­wech­selt.


neu­er ma­schi­nen­raum

felix schwenzel in über wirres

ich habe heu­te früh die DNS ein­trä­ge für wir­res.net auf eine VM bei mei­nem ar­beit­ge­ber sy­se­le­ven.de um­ge­stellt. der neue ser­ver hat et­was mehr hub­raum und PS als die et­was spar­sam di­men­sio­nier­ten vir­tu­el­len ma­schi­nen bei uber­space. bei uber­space liegt die site wei­ter­hin und ich zah­le dort auch wei­ter, aber die per­for­mance eng­päs­se von kir­by auf dem uber­space as­te­ro­iden ha­ben sich mehr und mehr be­merk­bar ge­macht. nach aus­sen lässt isch das ganz gut mit caching ab­fan­gen. aber ins­be­son­de­re wenn vie­le bil­der neu ge­ne­riert wer­den müs­sen oder un­ge­cach­te sei­ten, wie die su­che oder über­sichts­sei­ten, auf­ge­ru­fen wer­den, kommt der as­te­ro­id an sei­ne gren­zen.

weil wir als mit­ar­bei­ter bei sy­se­le­ven auch VMs in als ei­gen­be­darf in der sy­se­le­ven-cloud an­le­gen kön­nen, habe ich die chan­ce er­grif­fen und woll­te mal tes­ten, wie kir­by auf ei­ner ma­schi­ne mit mehr hub­raum läuft. und ich muss sa­gen: sehr rund. auf uber­space war ins­be­son­de­re das pa­nel, also das ba­ckend sehr lang­sam und durch time­outs ha­gel­te es beim edi­tie­ren feh­ler­mel­dun­gen. das ist na­tür­lich al­les mei­ne ei­ge­ne schuld, schliess­lich lie­gen hier ziem­lich vie­le ar­ti­kel rum, die im­mer wie­der aus dem da­tei­sys­tem ei­n­egla­sen wer­den und im (PHP) spei­cher ge­hal­ten wer­den.

weil ich auf der neu­en VM IPv6 noch nicht zum lau­fen be­kom­men habe, hab ich noch­mal cloud­fla­re ak­ti­viert. da­mit wer­den auch IPv6 an­fra­gen be­ant­wor­tet. schal­te ich dann wie­der ab, so­bald IPv6 hier läuft.

an­sons­ten mal gu­cken. um­schal­ten, bzw. zu­rück­schal­ten zu uber­space ist kein pro­blem, bzw. ein ein­fa­ches um­bie­gen der DNS ein­trä­ge. syn­chro­ni­sa­ti­on zwi­schen den in­stan­zen ist ein ein­fa­ches, schnel­le rsync der con­tent ord­ner. fle­xi­bel „de­ploy­en“ lässt sich die­ses kir­by auf je­den fall. aber zu­rück zu uber­space wird mir schwer­fal­len, weil das pa­nel auf der grös­se­ren ma­schi­ne wirk­lich snap­py ist, also so wie es sein soll.

die­sen ar­ti­kel, zum bei­spiel, konn­te ich heu­te früh mit links vom han­dy aus an­le­gen. das war vor­her im­mer et­was ha­cke­lig

wahr­schein­lich et­was „over the top“, wenn man be­denkt, dass bei uber­space das RAM auf 1,5 GB be­grenzt ist.

auch neu: eine geo­su­che, die ei­nen ort und ei­nen ra­di­us als pa­ra­me­ter nimmt und dann ar­ti­kel mit die­sen geo­ko­or­di­na­ten fin­det. teil­wei­se noch nicht per­fekt, aber ich finds gross­ar­tig. und auf uber­space hat­te ich das ge­fühl, dass es den ser­ver an den rand der leis­tungs­fä­hig­keit bringt. hier dau­ert die su­che auch 2-3 se­kun­den, aber der ser­ver scheint nicht ins schwit­zen zu ge­ra­ten.


nu klar.

(… und ich habe den ver­dacht, dass ihr et­was emp­find­lich beim schutz mei­ner eig­nen da­ten vor mir selbst seid.)


der ver­dacht, den in­sta­gram hat­te, hat dazu ge­führt, dass ich in al­len brow­sern und apps aus­ge­loggt wur­de. und mei­ne in­s­ta­loa­der ses­si­on un­gül­tig wur­de. ef­fi­zi­en­te mass­nah­me. noch kann ich mich wie­der an­mel­den, ich bin mal ge­spannt, wie lan­ge ich mit in­sta­gram die­ses spiel spie­len kann.

aber ab­ge­se­hen da­von ma­che ich der­zeit gar nicht so viel bis gar nichts mit in­s­ta­loa­der. ich las­se in­s­ta­loa­der aus­schliess­lich lau­fen, wenn ich auf in­sta­gram et­was pos­te (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 letz­ten 4 bei­trä­ge und spei­chert die bil­der und me­ta­da­ten. da­nach las­se ich noch ma­nu­ell ein kir­by im­port­script drü­ber­lau­fen und ko­pie­re den so er­zeug­ten ord­ner rü­ber zu kir­by. der ganz vor­gang er­zeugt ei­gent­lich kaum re­quests. aber wie ge­sagt. mal wei­ter be­ob­ach­ten. in­sta­gram be­ob­ach­tet mich ja auch.


al­le bil­der sind ge­macht

felix schwenzel in über wirres

ich schon wie­der aus dem ma­schi­nen­raum. in mei­ner frei­en zeit ver­brin­ge ich dort ge­ra­de vie­le stun­den. ich bin im­mer noch da­mit be­schäf­tigt mei­ne in­sta­gram-bil­der als so­fort­bil­der hier zu in­te­grie­ren. ich kom­me so­wohl gut vor­an, als auch nur schlep­pend. aber wi­der­sprü­che hal­te ich gut aus und ich habe die fä­hig­keit mich auch über klei­ne fort­schrit­te zu freu­en.

un­ter­wegs ler­ne ich viel und mög­li­cher­wei­se ist das auch der haupt­grund war­um ich so viel zeit und auf­merk­sam­keit in die­ses web­site-mons­trum ste­cke. nie­mand (aus­ser mir) wird sich die 2300 bil­der an­schau­en, aber ich fin­de es schön wenn al­les sei­ne ord­nung hat und ich das ge­fühl habe mit dem zeug was meins ist auch ma­chen zu kön­nen was ich will. und das mach ich ja auch.

was mir je­den­falls auf­ge­fal­len ist, wie sehr sich ein­zel­ne din­ge wie­der­ho­len. hier im blog fin­den sich sehr, sehr vie­le bil­der von ap­fel tar­te (1, 2, 3, 4). aber da­für (noch) kein re­zept, aus­ser ei­nem link. die reh­ber­ge hab ich durch­fo­to­gra­fiert, wie fri­da fut­ter­stück­chen aus der luft schnappt min­des­tens 4 mal ge­filmt und ver­öf­fent­licht. an­de­rer­seits ist das mit der wie­der­ho­lung auch fas­zi­nie­rend. je öf­ter wir in die reh­ber­ge ge­hen, je ver­trau­ter wir mit dem park wer­den, des­to mehr neue din­ge und de­tails ent­de­cken wir.

und ich sehe, der hu­mor und for­mu­lie­run­gen des al­ten fe­lix, des fe­lix der letz­ten 20-30 jah­re, ge­fal­len mir noch heu­te.

aber ich schwei­fe ab. denn mir fiel eben auch auf, dass die zeit die ich im ma­schi­nen­raum ver­brin­ge die zeit ist, die an­de­re leu­te mit le­sen oder (kreuz­wort) rät­seln ver­brin­gen. zeit die ich sonst mit fern­seh­se­ri­en oder fil­men ver­brin­ge. aber im ma­schi­nen­raum trai­nie­re ich mei­ne pro­blem­lö­sungs­fä­hig­keit, hal­te mei­nen denk­ap­pa­rat am lau­fen und übe den um­gang mit kom­ple­xen und ver­schach­tel­ten sys­te­men.

als ich vor ei­ner wei­le mit fri­da an ei­nem café vor­bei­lief, sass draus­sen eine dame mit hund und mahn­te ih­ren hund dazu fri­da in ruhe zu las­sen, sie sei ge­ra­de im trai­ning. auch wenn wir nur am kaf­fee vor­bei­lie­fen und kon­kret gar nichts üb­ten, for­mu­lier­te ich in mei­nem geist die ant­wort „al­les ist trai­ni­ung“ — ohne das dann aus­zu­spre­chen.

so trai­nie­re ich abends und nachts an kir­by und die­ser web­sei­te mei­nen geist und mei­ne fä­hig­keit kom­ple­xe pro­ble­me zu lö­sen und im kopf zu be­ar­bei­ten, übe ge­duld und ruhe wenn ich mit dem hund un­ter­wegs bin und trai­nie­re fri­da, in­dem ich ihr ein­fach und kon­se­quent zei­ge, wie ich mir un­ser zu­sam­men­le­ben vor­stel­le. und am ende kom­men vie­le wun­der­ba­re sa­chen zu­rück, eine web­sei­te, die so ist wie ich web­sei­ten mag, ei­nen hund der mit mir und der welt zu­recht­kommt.


mei­ne blog­frei­en jah­re von 2020 bis 2025 habe ich je­den­falls ganz gut aus­ge­füllt mit ak­ti­vi­tät auf in­sta­gram, wie die­se gra­fik zeigt. in­so­fern habe ich dann doch durch­ge­hend ins in­ter­net ge­schrie­ben, nur eben an­ders­wo. um so schö­ner die­se ak­ti­vi­tä­ten jetzt hier ein­fach er­gän­zen zu kön­nen.

weil ich zwi­schen 2015 und 2020 in­sta­gram-bil­der hier ins blog ge­zo­gen habe und das glei­che jetzt für die in­sta­gram-bil­der von 2011 bis jetzt ge­tan habe, gibt es noch ca. 800 dop­pel. bei­spiel 1 und 2. die wer­de ich noch eli­mi­nie­ren, ein script ha­ben chatgpt und ich schon ge­schrie­ben und das kon­zept ist, die da­mals per own­y­our­gram ins blog ge­zo­ge­nen dop­pel zu lö­schen, aber die url wei­ter zu lei­ten auf die neue­re ko­pie.

da­bei habe ich mich wie­der über kir­by ge­freut, denn in kir­by ist al­les so kon­se­quent und kon­zep­tio­nell klar ge­baut. die al­ten bil­der, zum bei­spiel in https://wirres.net/articles/11395 lie­gen ei­gent­kich in ei­nem ord­ner content/1_articles/20200323_11395/. wenn ich den ord­ner ein­fach lö­schen wür­de geht die url ka­putt (wird zu 404). aber wenn ich in dem ord­ner al­les lö­sche und eine da­tei link.txt mit dem fol­gen­den in­halt in den ord­ner lege, gibt’s ne wei­ter­lei­tung:

Link: https://wirres.net/so­fort­bil­der/2271345229156742964

                    

da­für muss es na­tür­lich noch ein tem­p­la­te link.php ge­ben:

<?php go($page->link(), 301) ?>

                    

an­sons­ten:

vor­läu­fi­ge top 10 ge­fav­te in­sta­gram-bil­der bis 2020:


ar­ti­kel vs. so­fort­bil­der

felix schwenzel in über wirres

rot: an­zahl ar­ti­kel die ich pro jahr auf wir­res.net ver­öf­fent­licht habe (peak ca. 1800)

oran­ge: an­zahl in­sta­gram posts die ich pro jahr ver­öf­fent­lich habe (peak 360)

die da­ten wer­den noch ver­fälscht, weil zwi­schen 2015 und 2021 noch ziem­lich vie­le in­sta­gram ko­pien auf wir­res.net und da­mit im ro­ten be­reich ge­lan­det sind. zwi­schen 2015 und 2021 müss­te oran­ge also subs­tra­hiert, statt ge­sta­pelt wer­den.

sie­he auch: rück­sei­te.


ch­an­ge­log 10.7.2025

felix schwenzel in über wirres

mein kir­by kann jetzt kar­ten an­zei­gen, ei­ner­seits dank die­ses plug­ins: kir­by-map und at­las.p3k.io/sta­tic-maps.

ei­gent­lich ist mit dem kir­by-maps plug­in vor­ge­se­hen map­box oder goog­le kar­ten ein­zu­bet­ten. aber na­tür­lich kann man das snip­pet an­pas­sen, also habe ich es an­ge­passt, dass es sta­ti­sche kar­ten von at­las.p3k.io lädt und lo­kal spei­chert.

pro kar­te spei­cher ich zwei da­tei­en, eine nor­mal gros­se und für die light­box nach dem klick eine et­was grös­se­re ver­si­on die auch ein etws les­ba­re­re­res kar­ten­ma­te­ri­al hat.

das geht auch im fuss­be­reich von ar­ti­keln, wenn ich ar­ti­kel mit orts­in­for­ma­tio­nen ver­öf­fent­li­chen will.

sc reenshot vom fussbereich dieses artikles im darkmode mit ortsinformationen

be­rich­tens­wert ist das na­tür­lich nur, wenn die ein­ga­be von geo-da­ten auch wirk­lich ein­fach geht. und ich fin­de das in­ter­face sehr schön.

screenshot von backende mit der orte-suchmaske der kirby map

lei­der fal­len mir mit je­den neu­en fea­ture 20 an­de­re fea­tures ein. aber kurz­fris­tig (no­tiz an mich selbst), soll­te ich mich um fol­gen­des küm­mern.

  • geo­in­for­ma­tio­nen auch ma­schi­nen­les­bar aus­lie­fern
  • über­sich­ten nach or­ten bau­en (die meis­ten imp­por­tier­ten in­sta­gram­me ha­ben orts­in­for­ma­tio­nen)
  • (sys­te­ma­tisch) rss feeds für ein­zel­ne ka­te­go­rien ein­füh­ren, ich kann mir vor­stel­len, dass es 2 oder drei leu­te gibt, die den abon­nie­ren wür­den

ichi­chich

felix schwenzel in über wirres

mau­rice hat ei­nen buchshot von ei­nem screen­shot von ei­ner 20 jah­re al­ten wir­res.net sei­te ge­macht. das buch ist 19 jah­re alt. die screen­shot-un­ter­schrift be­klagt, dass ich im­mer das ich ge­hy­per­lin­ked habe.

foto von mau­rice renck

die sei­te die auf dem screen­shot zu se­hen ist gibt’s im­mer noch: was ist wir­res?. da gibt und gab es wohl hu­mor-dif­fe­ren­zen, in dem ar­ti­kel hab ich tat­sächlich je­des vor­kom­men der buch­sta­ben­kom­bi­na­ti­on ich mit mei­ner kon­takt­sei­te ver­linkt. fand ich vor 20 jah­ren wohl wit­zig.

und fin­de es im­mer noch ein biss­chen wit­zig.

das logo auf dem screen­shot im buch war wohl eher tem­po­rär. die ka­cke kam da nicht aus dem hund, son­dern aus der tas­ta­tur. und das ix statt ich sage und schrei­be ich ei­ner­seits eher spo­ra­disch und ge­ge­be­nen­falls vor zwan­zig jah­ren noch gar nicht.


ch­an­ge­log 8.7.2025

felix schwenzel in über wirres

nach­dem ich mir vor ein paar ta­gen mei­ne in­sta­gram-bei­trä­ge „run­ter­ge­la­den“ habe (mit in­s­ta­loa­der, sie­he auch hier), hab ich mir jetzt ei­nen pro­to­ty­pen ge­baut. alle mei­ne in­sta­gram-bei­trä­ge seit 2011 bis jetzt sind jetzt un­ter „so­fort­bil­der“, ca. 2300 bei­trä­ge, die ak­tu­ell 530 MB wie­gen (noch ohne vi­deo-da­tei­en).

wie auf in­sta­gram, kann ich jetzt mit den j/k tas­ten in ei­nem bei­trag vor- und zu­rück-blää­tern. und an­ders als bei in­sta­gram kann ich auch ein paar jah­re vor und zu­rück­blät­tern. ist al­les noch sehr un­fer­tig, aber ich fin­de es gross­ar­tig.

was noch fehlt:

  • orte und geo-da­ten
  • kom­men­ta­re und like counts
  • klick­ba­re tags und links (bei­spiel)
  • fil­ter, über­sicht nach jah­ren/mo­nat
  • vi­de­os (im mo­ment wer­den nur die co­ver­bid­ler ge­zeigt)
  • au­to­ma­ti­sches ak­tua­li­sie­ren, neu hin­zu­ge­kom­me­ne, von mir auf in­sta­gram ge­pos­te­te bei­trä­ge an­le­gen

wie ichs ge­baut habe:

  • in­s­ta­loa­der legt für je­den bei­trag eine json-da­tei an (2011-10-17_06-19-58_UTC.json.xz) und legt ent­spre­chend die bil­der (2011-10-17_06-19-58_UTC.jpg) und vi­de­os dazu
  • über die json-da­tei­en da­tei­en las­se ich ein script ite­rie­ren (hab ich mit chatgpt zu­sam­men­ge­den­gelt), das je bei­trag ei­nen ord­ner an­legt und dort die json-da­tei und bil­der ab­legt.
  • in die­sem or­denr legt das script auch eine kir­by-in­halts-da­tei in der die bil­der, die cap­ti­on, tags und so wei­ter drin ste­hen.

am ende habe ich ca. 2300 ord­ner die ich ein­fach in ei­nen kir­by-con­tent ord­ner „so­fort­bil­der“ lege. fer­tig (mehr oder we­ni­ger).

der witz ist na­tür­lich, jetzt wo ich an mei­ne da­ten ran­kom­me, wer­de ich in­sta­gram (wahr­schein­lich) auch wie­der (re­gel­mäs­si­ger) be­nut­zen. auch wenn das ar­ti­kel­bild et­was an­de­res sug­ge­riert.

p.s.: am wo­chen­en­de auch auf kir­by 5 ge­up­dated. war vor­wie­gend er­eig­nis- und pro­blem­los. end­lich dark­mo­de im pa­nel/ad­min-in­ter­face.


in­sta­gram api (qua­si)

felix schwenzel in über wirres

das archiv aller meiner instgram posts (metadaten, bilder und filme) ist taut transmit 2,2 GB gross.

ges­tern ge­lernt: manch­mal ist es bes­ser die doku selbst zu le­sen, als sie sich von chatgpt er­klä­ren zu las­sen. RTFM hat in zei­ten von LLMs noch sei­ne be­rech­ti­gung.


lan­ge ver­si­on

in­sta­gram hab ich in letz­ter zeit kaum noch ge­nutzt. aber ei­gent­lich be­nut­ze ich in­sta­gram ger­ne.

vor ein paar jah­ren hab ich dort ge­pos­tet und mei­ne bei­trä­ge mit ei­nem script (own­y­our­gram) ins blog ge­zo­gen. das geht nicht mehr, seit in­sta­gram sei­ne API ver­ram­melt hat.

in­sta­gram scra­pen ist schwie­rig, aber mit in­s­ta­loa­der geht’s of­fen­bar ganz gut.

mit chatgp hab ich es al­ler­dings nicht zum lau­fen brin­gen kön­nen. was half: die doku selbst le­sen und das dort ge­zeig­te ses­si­on script be­nut­zen.

jetzt habe ich ein ar­chiv all mei­ner in­sta­gram-posts seit dem ok­to­ber 2011. da­mit könn­te ich mir mit kir­by recht schnell ei­nen in­sta­gram ar­chiv-view­er bau­en oder wie­der an­fan­gen bil­der auf in­sta­gram zu pos­ten, ins blog zu zie­hen und auf mast­o­don und blues­ky cross zu pos­ten.

wenn ich wie jetzt zu­griff auf die da­ten habe, kann ich also auch wie­der an­fan­gen in­sta­gram zu be­nut­zen.


aus dem ma­schi­nen­raum 01.07.2025

felix schwenzel in über wirres

als ich wir­res.net vor drei mo­na­ten wie­der­be­lebt habe, woll­te ich es ohne be­su­cher­zäh­ler ver­su­chen. ich glau­be ich habe das ge­ra­de mal eine wo­che aus­ge­hal­ten und dann ma­to­mo, was oh­ne­hin noch lief, wie­der ein­ge­bun­den. weil man das auch ohne coo­kies ma­chen kann, füh­le ich mich trotz zähl­script auf der da­ten­spar­sa­men sei­te.

mei­ne ra­tio­na­li­sie­rung der be­su­cher­sta­tis­tik ist, dass ich ger­ne sehe wo­her die leu­te kom­men und dass ich ge­le­gent­lich in­ter­es­san­tes aus den re­fe­rern her­aus­fi­sche. in­ters­sant ist es auf je­den fall zu se­hen, dass bud­den­bohm-und-soeh­ne.de mir den gan­zen mo­nat über be­su­cher her­über­spült (128 „vi­sits“ im juni), ob­wohl der letz­te ex­pli­zi­te link auch schon wie­der zwei­ein­halb mo­na­te her ist (die blogrol­le, ich weiss). oder ein ein link von herr­paul.me (99 vi­sits im juni). 69 von riv­va.

das ist eine infogtrafik aus matomo die die besucher über die zeit zeigt. man sieht eine null-linie bis märz, die dann langsam auf 6000 pageviews im juni steigt
ma­to­mo gra­fik: be­su­cher über die zeit

man sieht je­den­falls es geht auf­wärts, die uni­que pa­ge­views sind im juni dann auf ca. 6200 ge­klet­tert. da­mit be­fin­de ich mich auf schock­wel­len­rei­ter-ni­veau, der die­sen mo­nat auch ca. 6200 sei­ten­auf­ru­fe ge­mel­det hat. die top 5 ar­ti­kel in sa­chen sei­ten­auf­ru­fe im juni wa­ren:

such­ma­schi­nen-ver­kehr ist sehr, sehr mau, we­der von goog­le noch an­de­ren gab es viel lin­k­lie­be. das war vor 5 jah­ren noch an­ders und ich bin vor­sich­tig pes­si­mis­tisch und glau­be das bleibt jetzt erst mal ein paar jah­re so.


ch­an­ge­log 28.06.2025

felix schwenzel in über wirres

nach­dem ich ges­tern mat­thi­as pfef­fer­le auf/in (?) der blog­tas­tisch (via) ge­se­hen habe, fie­len mir ganz vie­le sa­chen ein, die ich ma­chen möch­te.

ich fand es in­ter­es­sant, wie er eine per­ma­link-url sei­nes no­tiz.blogs ko­pier­te und in ei­nem mast­o­don-cli­ent ins such­feld ko­pier­te. da­mit fand er den bei­trag, der dank sei­nes word­press aci­vi­ty-pub-plug­ins dann als li­ka­ble und sha­ra­ble ein­trag in sei­nem mast­o­don cli­ent auf­tauch­te.

(hört sich kom­pli­ziert an und ist es ir­gend­wie auch, wie al­les im fe­di­ver­se. ich lass mir das jetzt seit wo­chen von chatgpt und wohl­ge­son­ne­nen le­sen er­klä­ren und ka­pier nach wie vor nur die hälf­te und be­hersch die ter­mi­no­lie nach wie vor nicht.)

weil wir­res.net kein teil des fe­di­ver­se ist, klappt das bei mir na­tür­lich nicht. aber ich dach­te, wenn ich ei­nen RSS-ac­count auf mei­nem go­to­so­cial-dings an­le­ge auf dem ein­fach au­to­ma­tisch alle neu­en ein­trä­ge auf­tau­chen, könn­te das doch auch ge­hen. es zeigt sich (auf den ers­ten blick), dass das nicht geht, aber daüfr gibt’s jetzt ei­nen bot der mein rss ins fe­di­ver­se pumpt.

denkt man ja nicht, aber al­les was ich in mein go­to­so­cial/mast­o­don-kon­to @ix@wir­res.net schrei­be ist hand­ge­schnitzt. aber @rss@wir­res.net ist ein bot.

an­sons­ten war ich ein biss­chen über­rascht von mat­thi­as pfef­fer­les demo. als er ei­nen bei­trag sei­nes no­tiz.blogs in mast­o­don fav­te, mein­te er, dass er da­mit sei­en wor­press in­stanz „ab­schies­sen“ wür­de. die­ses fe­di­ver­se ge­schnat­ter scheint eine men­ge last und ver­kehr zu er­zeu­gen. ich habe mir dann kurz sor­gen ge­macht, ob die­ses go­to­so­cial so eine gute idee war oder ist, aber so­weit ich sehe scheint das nicht all zu sehr ins schwit­zen zu ge­ra­ten.

YouTube Video Vorschaubild
youtube-video laden, info, direktlink

das script, dass aus RSS-items ei­nen ein­trag auf go­to­so­cial macht hat chatgpt ge­schrie­ben. es brauch­te aber zwei stun­den de­bug­ging zu­sam­men­ar­beit mit mir, bis das feh­ler­frei lief. ich will nicht kla­gen, aber heu­te hat es sich schon ziem­lich doof an­ge­stellt.

ich woll­te fol­gen­de fea­tures ha­ben, die das script jetzt auch, so­weit ich sehe, er­füllt.

  • prü­fe alle 5 mi­nu­ten mei­nen rss feed
  • wenn es ei­nen neu­en bei­trag gibt baue ei­nen bei­trag aus der über­schrift, kür­ze den text auf 280 zei­chen, be­hal­te aber ein paar for­ma­tie­run­gen in mark­down bei, füge ei­nen link und das ers­te bild hin­zu (wenn das bild grös­ser als 500px ist)
  • pos­te nur ei­nen bei­trag je auf­ruf des scripts
  • mer­ke dir die ge­pos­te­ten ein­trä­ge

an­sons­ten hab ich ei­gent­lich nur ein biss­chen am css des go­to­so­cial the­mes ge­fum­melt. so rich­tig toll fin­de ich das nach wie vor nicht, vor al­lem seit­dem ich elk.zone als mast­o­don cli­ent nut­ze und da wirk­lich (im brow­ser) al­les sehr ge­schlif­fen aus­sieht.

screenshots der mastodon webclients elk.zone (links) und gotosocial (rechts). elk.zone sieht sehr geschliffen aus, gotosocial OK.
screen­shots der mast­o­don web­cli­ents elk.zone (links) und go­to­so­cial (rechts)

ch­an­ge­log 26.06.2025

felix schwenzel in über wirres

er­staun­lich ein­fach war die in­stal­la­ti­on von go­to­so­cial auf ei­nem as­te­ro­iden (doku). be­son­ders ge­fällt mir, dass go­to­so­cial mein haupt­pro­blem mit mast­o­don löst: das do­main-ge­döns.

schliess­lich nut­ze ich als blog­ad­res­se eben ge­ra­de nicht wir­res.word­press.com oder wir­res.blog­ger.de, son­dern eben wir­res.net. ich be­nut­ze email­ad­res­sen wie ix@wir­res.net oder fe­lix@schwen­zel.de. was je­weils da­hin­ter läuft, ist mei­ne ent­sch­ei­dung, hin­ter wir­res.net kann ez­pu­blish ste­cken, kir­by oder wenn mir ir­gend­wann mal da­nach ist — word­press. hin­ter ix@wir­res.net steckt der­zeit (noch) gmail, hin­ter fe­lix@schwen­zel.de ein uber­space mail­ser­ver.

und jetzt kann ich für fö­de­rier­tes pos­ten von mini-bei­trä­gen eben @ix@wir­res.net be­nut­zen — und der­zeit steckt da eben go­to­so­cial hin­ter, das zwar auf ei­ner sub­do­nain läuft, aber fein.

und wie zu er­war­ten, wa­ren die fol­ge-ar­bei­ten der um­stel­lung auf go­to­so­cial um ein mehr­fa­ches um­fang­rei­cher als die in­stal­la­ti­on. ei­ner­seits hab ich den um­zug noch nicht ab­ge­schlos­sen, bei­de hand­les @ix@mastdn.io und @ix@wir­res.net lau­fen noch pa­ralell, auch wenn ich mstdn.io nicht mehr zum pos­ten (aber schon zum re­pos­ten) nut­ze. es be­steht ja kei­ne eile mit dem um­zug (der fol­lower und der an­schlies­sen­den um­schal­tung auf nur-le­se­zu­griff von @ix@mstdn.io). (nach­trag 7:20: um­zug ab­ge­schlos­sen.)

aus­ser­dem muss­te ich viel von den rou­ti­nen mit de­nen wir­res.net mit mast­o­don in­ter­agiert an­pas­sen. ei­ner­seits hab ich mir et­was ge­baut, um toots hier ein­bet­ten zu kön­nen.

und ich sen­de mit mau­rice renks in­die­con­nec­tor bei­trä­ge, fo­tos au­to­ma­tisch von wir­res.net auf mei­ne mast­o­don in­stanz und hole um­ge­kehrt re­ak­tio­nen wie­der bei mast­o­don ab, um sie auf der ar­ti­kel-bei­la­ge zu auf­zu­lis­ten.

es zeigt sich, go­to­so­cial ver­hält sich da doch ein klein we­nig an­ders als mast­o­don. ab­fra­gen von bei­trä­gen per api …

GET https://<deine-Instanz-Domain>/api/v1/statuses/:id

                    

… rückt go­to­so­cial nur mit au­then­ti­fi­zie­rung raus, mast­o­don auch ohne.

beim bil­du­pload ist go­to­so­cial sehr streng und funk­tio­nier­te nicht auf an­hieb mit dem in­die­con­nec­tor. bei api-ab­fra­gen be­steht go­to­so­cial aus­ser­dem auf ei­nem mit­ge­lie­fer­ten „user agent“. das muss­te al­les in kir­by an­ge­past wer­den.

bridgy, das ge­le­gent­lich re­ak­tio­nen aus so­zia­len netz­wer­ken zu­lie­fert, muss­te auch auf die neue mast­o­don-in­stanz ken­nen­ler­nen und zick­te zu­nächst ein biss­chen mit dem au­then­ti­fi­zie­rungs-work­flow.

aber ins­ge­samt fühlt sich das al­les wie eine rich­ti­ge und gute ent­sch­ei­dung an.

caching

zwi­schen­durch ge­merkt, dass auch die su­che sta­tisch ge­cached wur­de. das funk­tio­niert na­tür­lich nicht. also eine aus­nah­me de­fi­niert:

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'
      ]
    ],
/* […] */
]

                    

home as­sistant

seit ich wie­der blog­ge küm­me­re ich mich kaum noch ak­tiv um die heim­au­to­ma­ti­sie­rung. mein hob­by, die fum­me­lei, wid­me ich zur zeit kom­plett kir­by und dem web. es zeigt sich aber: die au­to­ma­ti­sche woh­nung läuft mitt­ler­wei­le auch ohne auf­sicht ganz gut vor sich hin. eine up­time (ohne re­start) von > 30 ta­gen steckt das sys­tem gut weg, ge­le­gent­lich muss ich mal eine klei­nig­keit an­pas­sen, aber das steht meis­tens un­ter dem mot­to der re­geln num­mer eins und zwei der heim­au­to­ma­ti­sie­rung:

  • au­to­ma­ti­sie­re al­les was du mehr als drei­mal wie­der­holst und dich nervt — um es dann zu ver­ges­sen.
  • wenn et­was öf­ter als drei­mal nicht funk­tio­niert, pas­se die au­to­ma­ti­sie­rung an — um es dann zu ver­ges­sen.

kon­kret wa­ren das der gar­di­nen­schal­ter der die au­to­ma­ti­sie­rung dop­pelt aus­lös­te und die hit­ze die mich wie­der­holt nerv­te. also schnell die au­to­ma­tis­e­rung an­ge­passt und den ven­ti­la­tor wie­der ak­ti­viert (was ein zwei ar­beits­schrit­te im ho­me­as­sistant da­sh­board er­for­dert). ach ja, die op­ti­mie­rung der licht­si­tua­ti­on von gäs­ten die im wohn­zim­mer über­nach­ten hab ich auf­ge­scho­ben und an zwei aben­den ein­fach ma­nu­ell übers da­sh­board ge­macht, statt es zu au­to­ma­ti­sie­ren.


ich habe mich ant­schie­den, ent­ge­gen der ers­ten an­küpn­di­gung ge­le­gent­lich ch­an­ge­logs auch im haupt­feed und auf der haupt­sei­te zu ver­öf­fent­li­chen wenn mir da­nach ist. und mit die­sem chage­log war mir da­nach.


[nach­trag]
habe eben den um­zugs­but­ton auf https://mstdn.io/@ix ge­drückt und bin da jetzt weg.

  • alte bei­trä­ge (bei­spiel) lie­gen wei­ter­hin dort, in­klu­si­ve al­ler li­kes und re­posts, aber auch hier (bei­spiel).
  • mei­ne foll­woer­zahl dort war vor­her so um die 1030, jetzt sind es nach dem um­zug 980. das sind of­fen­bar we­ni­ger tote kon­ten, als ich dach­te
  • am 4. april 2017 habe ich mir mein kon­to bei mstdn.io ein­ge­rich­tet, wirk­lich ge­nutzt hab ichs erst seit 2022

ch­an­ge­log 22.06.2025

felix schwenzel in über wirres

kom­men­ta­re

mit die­ser ein­stel­lung wer­den jetzt kom­ment­re von „ve­ri­fi­zier­ten“ be­nut­zern di­rekt frei­ge­schal­tet. mit an­de­ren wor­ten, je­der, der hier schon mal mt dem neu­en sys­tem kom­men­tiert hat (3 men­schen, in­klu­si­ve mir).

'mau­rice­renck.komments.mo­de­ra­ti­on.publish-verified' => true,

                    

aus­ser­dem habe ich kir­by bei­ge­bracht mails zu ver­sen­den, push ist manch­mal doch bes­ser als pull, vor al­lem be­kom­me ich so be­nach­rich­ti­gun­gen über neue (zu mo­de­rie­ren­de) kom­men­ta­re, was et­was prak­ti­scher ist als nach zu se­hen.

go­to­so­cial

noch­mal die uber­space in­stal­la­ti­ons­an­lei­tung für go­to­so­co­al durch­ge­le­sen, die go­to­so­cial-doku na­tür­lich auch. ins­ge­samt scheint mir das im­mer noch ein or­dent­li­cher bro­ken zu sein. ich ro­tie­re ja schon kir­by am la­fen zu hal­ten, bald steht ein grös­se­res kir­by up­date an, das ich zu­min­dest mal prü­fen muss und dann ge­ge­be­nen­falls 10 oder 20 jah­re ver­zö­gern wer­de. oder eben nicht. je­den­falls scheint es mir ge­ra­de zu viel noch eine ad­min-auf­ga­be zu über­neh­men, auch wenns nur für mich ist.

aber im­mer­hin hab ich mir über­legt, wel­che do­main ich nut­ze (ir­res.net oder w.ir­res.net) und weil ich vor kur­zem mei­ne uber­space-as­te­ro­iden in ei­nem kon­to mit mail-an­mel­dung „kon­so­li­diert“ habe, soll­te es auch kein pro­blem ei­nen test-go­to­so­cial-as­te­ro­iden hoch­zu­fah­ren und ge­ge­be­nen­falls wie­der zu lö­schen.


ch­an­ge­log 21.06.2025

felix schwenzel in über wirres

ich habe mich ent­schie­den mei­ne an­pas­sun­gen hier ein we­nig zu do­ku­men­tie­ren. ich lis­te die­se ch­an­ge­logs nicht auf der haupt­sei­te und im RSS feed, lin­ke aber ge­le­gent­lich aus der haupt­sei­te auf sie. ich ver­mu­te das in­ter­es­si­ert nicht so vie­le leu­te, was ich hier im ma­schi­nen­raum trei­be. ka­te­go­rie bleibt die gute alte über wir­res ka­te­go­rie und ver­schlag­wor­tet wer­den die ch­an­ge­logs na­tür­lich mit #ch­an­ge­log.


cache

der stan­dard­mäs­si­ge file cache von kir­by hat ei­gent­lich ganz gut funk­tio­niert. al­ler­dings lief wei­ter­hin al­les über php und da­mit ein biss­chen lag­gy. die uber­space hosts schei­nen mir nicht irre per­for­mant zu sein, so­wohl von der cpu-leis­tinmg als auch vom RAM. und wenn ich dann ge­le­gen­tich den me­dia-ord­ner mit den vor­ge­ne­rier­ten thum­nails lö­sche und die sei­ten neu ge­r­en­dert und ge­cached wer­den, merkt man schon wie die VM ins schwit­zen ge­rät und ge­le­gent­lich den PHP pro­zess killt.

je­den­falls bin ich drauf ge­kom­men als ich merk­te, dass die site­map.xml nicht ge­cached ist. die ge­ne­rie­rung ist eher auf­wän­dig und bots war­ten nicht ger­ne, bzw. soll­ten ei­gent­lich kei­ne über­flüs­si­ge last er­zeu­gen. die site­map liess sich ir­gend­wie nicht beim ers­ten ver­such mit dem fil­e­cache si­chern, wes­halb ich bei der wei­te­ren re­cher­che auf sta­tic­cache stiess.

This plug­in will give you the per­for­mance of a sta­tic site ge­ne­ra­tor for your re­gu­lar Kir­by in­stal­la­ti­ons. Wi­t­hout a huge set­up or com­plex de­ploy­ment steps, you can run your Kir­by site on any ser­ver – cheap shared hos­ting, VPS, you name it – and enable the sta­tic cache to get in­cre­di­ble speed on de­mand.

Rough bench­mark com­pa­ri­son for our Star­ter­kit home page:

Wi­t­hout page cache: ~70 ms
With page cache: ~30 ms
With sta­tic cache: ~10 ms

nach ers­ten tests konn­te ich die wer­te grob be­stä­ti­gen. mit dem sta­tic cache (in kom­bi­na­ti­on mit dem brow­ser-cache) sind die sei­ten ex­trem snap­py. der trick ist, dass die ge­cach­ten sei­ten gar nicht mehr über php lau­fen, über die web­ser­ver-kon­fi­gu­ra­ti­on wer­den cache-da­tei­en di­rekt auf­e­g­ru­fen wenn sie ge­ne­riert wur­den.

das funk­tio­niert für alle sei­ten ganz gut, auch die siz­te­map.xml oder die rück­sei­te, aber we­der mit dem al­ten file cache noch dem sta­tic cache ist es mir ge­lun­gen pa­gi­nier­te sei­ten zu cachen. das be­trifft ar­ti­kel-, tag-, ka­te­go­rie- und ar­chiv-sei­ten. da gibt’s noch ein biss­chen ar­beit.

an­de­re caching an­pas­sun­gen

beim caching der bei­la­gen sei­ten hat­te ich auch schon­mal ei­nen ex­pli­zi­ten file-cache ge­baut. der ging aber mit der um­stel­lung auf sta­tic cache ka­putt. aber im­mer­hin kann man meh­re­re caches in der con­fig.php par­al­lel de­fi­nie­ren:

    '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 rich­tig zu­frie­den bin ich noch nicht mit dem bei­la­gen-caching, die sei­ten sind ja qua­si dy­na­misch und wer­den des­halb vom sta­tic cache aus­ge­schlos­sen.
aber was mitt­ler­wei­le wirk­lich spass macht: auf ei­ner ar­ti­kel­sei­te j oder k auf der tas­ta­tur drü­cken und in win­des­ei­le zum vor­he­ri­gen oder nächs­ten ar­ti­kel ge­lan­gen. das geht auch des­halb snap­py, weil ich auf den ar­ti­kel sei­ten drei pre­fet­ches in den hea­der ge­setzt habe:

<link rel="prefetch" href="https://wirres.net/articles/ipompidou/beilage" as="document">
<link rel="prefetch" href="https://wirres.net/articles/fruh-und-spat­spa­zier­gang-am-20-6-2025" as="document">
<link rel="prefetch" href="https://wirres.net/articles/mor­gen­spa­zier­gang-vom-19-6-2025" as="document">

                    

kom­men­ta­re

auf der bei­la­gen-sei­te (bei­spiel) kön­nen jetzt kom­men­ta­re ab­ge­ge­ben wer­den. al­les mit mau­rice renks komm­ents-plug­in um­ge­setzt. die kon­fi­gu­ra­ti­on war in­iti­al et­was fum­me­lig, un­ter an­de­rem hät­te ich auf mehr­spra­chig­keit um­schal­ten sol­len um die platz­hal­ter und for­mu­lar-be­zeich­nun­gen über die con­fig.php an­zu­pas­sen zu kön­nen. das hab ich auch mal kurz ge­macht und ge­staunt, was da­bei al­les ka­putt geht. also snip­pet aus dem plug­in in ein ei­ge­nes ver­zeich­nis ko­pie­ren und dort an­pas­sen. CSS war auch noch et­was fum­me­lig, funk­tio­niert aber so­weit.

mit hil­fe von chatgpt war da­nach der kom­men­t­aro­mat eine sa­che von 10 mi­nu­ten. auch das css hat es auf nach­fra­ge sehr gut hin­be­kom­men.

wie man die frei­schal­tung der kom­me­n­at­re über eine mo­de­ra­ti­ons­schlei­fe de­ak­ti­viert habe ich noch nicht her­aus­ge­fun­den, aber das kommt auch noch. bis da­hin: mo­de­rie­ren.


css-zau­be­rei

felix schwenzel in über wirres

ich freue mich sehr über css. das ist ein sehr merk­wür­di­ger satz, der aber stimmt. je­den tag freue ich mich, dass ich eine der we­ni­gen sa­chen die ich wäh­rend mei­nes ar­chi­tek­tur­stu­di­ums ge­lernt habe — oder eher, dass ich eine der we­ni­gen sa­chen die mir wich­tig ge­nug er­schie­nen um sie mir zu mer­ken — hier im blog im­mer wie­der an­wen­den kann:

sa­chen in wür­de ka­putt ge­hen las­sen. oder wie man auch in der IT sagt: to de­gra­de graceful­ly.

mau­er­werk ist so ein ding das wür­de­voll ka­putt­ge­hen kann. eine zie­gel­mau­er sieht auch als rui­ne noch gut aus. vor­hang­fas­sa­den, glas­fas­sa­den tun das nicht.

so­was hier

screenshot eines tröts von max von w. wie er mit css im browser gerendert wird

ist ei­gent­lich nur ein <block­quo­te>, so sieht das dann ohne (oder mit we­ni­ger) css aus.

screenshot des gleichen tröts von max von w., wie er ohne css aussähe

aber das man ein html-zi­tat mit ein biss­chen css eben so wie oben aus­se­hen las­sen kann, das freut mich je­den tag aufs neue. oder ges­tern, als mir mei­ne mut­ter eine nach­richt schick­te und ich dach­te: screen­shot pos­ten und was dazu schrei­ben — bis mir ein­fiel: war­um nicht css? dann sah das so aus:

screenshot eines artikel-anfangs auf wirres.net mit einem blockquote, das mit css wie eine imessage gestylt ist

auch die bubble ist ein ein­fa­ches block­quo­te, das ohne css, zum bei­spiel im rss-feed, wür­de­voll ka­putt geht.

wen so­was nicht be­geis­tert, der schreibt wahr­schein­lich nicht selbst ins in­ter­net — oder nutzt word­press.

aber das al­ler­bes­te, die­se welt der css-ma­gie steht auch mir als css-voll­pfos­ten of­fen, dank LLMs. CSS-ma­gie ist näm­lich et­was, was die wirk­lich gut kön­nen.

jetzt bit­te wei­ter­blät­tern. dan­ke für die kur­ze auf­merk­sam­keit.


re­zep­te jetzt struk­tu­riert und or­ga­ni­siert

felix schwenzel in über wirres

ich weiss, ich schrei­be in letz­ter zeit sehr häu­fig aus dem #ma­schi­nen­raum. aber das liegt auch dar­an, dass ich dort ge­ra­de sehr viel zeit ver­brin­ge und dort auch sehr ger­ne bin. nach­dem ich ges­tern in­ner­halb von 30 mi­nu­ten mit hil­fe mei­nes neu­en kol­le­gen¹⁾ ei­nen pro­to­ty­pen lau­fen hat­te, hab ich den rest des ta­ges da­mit ver­bracht re­zep­te (wie­der) ma­schi­nen­les­bar, struk­tu­riert und an­sehn­lich hier ver­öf­fent­li­chen zu kön­nen.

ich wer­de ja nicht müde dar­auf hin­zu­wei­sen, dass man sei­ne web­sei­ten nicht für such­ma­schi­nen op­ti­mie­ren soll, son­dern für men­schen, aber bei re­zep­ten und vie­len an­de­ren web­sei­ten-de­tails gibt es mar­kan­te schnitt­men­gen. und in­hal­te struk­tu­riert an­zu­bie­ten dient der les­bar­keit und er­mög­licht die nut­zung von wek­zeu­gen. re­zept-scra­pern zum bei­spiel. im all­tag nut­ze ich sehr oft mela, da­drin sind alle mei­ne wich­tigs­ten re­zep­te. frü­her™ zu weih­nach­ten ha­ben wir die re­zep­te für die fleisch-fon­due-sos­sen im­mer in ei­nem gros­sen ord­ner ge­habt. die sind jetzt alle in mei­ner icloud und ich kann vom han­dy oder ipad je­der­zeit drauf zu­grei­fen. mela macht es ein­fach re­zep­te ein­zu­le­sen, es lässt sich von kaum ei­ner web­sei­te ab­schre­cken und auch re­zept­bü­cher kann es sinn­voll per ka­me­ra ein­scan­nen und ver­text­li­chen. eine wah­re kil­ler-app.

ich habe aber be­merkt, dass ich auch in den jah­ren vor mei­ner blog­pau­se zwar re­gel­mäs­sig bis oft mein es­sen ge­teilt habe (ge­kocht), aber we­nig rich­ti­ge re­zep­te ver­öf­fent­licht habe habe. das will ich jetzt än­dern, bzw. et­was struk­tu­rier­ter an­ge­hen.

  • ei­ge­ne ka­te­go­rie in der „ech­te“ re­zep­te ste­hen — und die ich re­gel­mäs­sig fül­le und nach­pfle­ge
  • alle re­zep­te sind (grob) nach dem sche­ma.org/Re­ci­pe sche­ma struk­tu­riert und wer­den (auch) als json-ld aus­ge­ge­ben — mi­cro­for­ma­te muss ich noch ein­bau­en
  • weil mela auch rss-feeds le­sen kann, ist mei­ne ziel­vor­stel­lung (ich mach das ja al­les vor al­lem für mich selbst):
    • neue re­zep­te, die ich aus­pro­biert habe und die mir ge­fal­len, ver­blog­ge ich
    • mela liest die re­zep­te aus dem RSS-feed ein und spei­chert sie dann per­sis­tent auf mei­nen ge­rä­ten
  • ei­ge­nes re­zep­te-wid­get/über­sichts-dings auf der rück­sei­te (todo)

das heisst ich wer­de ei­nen rss feed nur für die ka­te­go­rie re­zep­te an­bie­ten, den man dann in mela abon­nie­ren kann. aber ge­nau wie mi­cro­for­ma­te ist das noch auf der todo lis­te.

vor 13 jah­ren hab ich das mit den struk­tu­rier­ten da­ten schon mal ex­pe­ri­men­tell mit mei­nem al­ten CMS hin­ge­bas­telt, für den gur­ken­sa­lat nach tim mäl­zers oma²⁾ — das hat die mi­gra­ti­on zu kir­by nicht über­lebt, bzw. muss­te ein­fach neu ge­baut wer­den. das hab ich jetzt nach­ge­baut und wer­de, wie ge­sagt, re­zep­te auch nach­pfle­gen. weil das an­le­gen von struk­tu­rier­ten re­zep­ten mit ez­pu­blish da­mals et­was be­schwer­lich war, habe ich das nach dem gur­ken­sa­lat auch nicht wie­der ge­macht, son­dern re­zep­te, wenn über­haupt, auf der schrift­spur ver­öf­fent­licht.


fuss­no­ten:
1) chatGPT
2) die sah­ne kann man auch weg­las­sen, bzw. mit öl er­set­zen


j/k (web­wan­de­run­gen KW18)

felix schwenzel in über wirres

eins der fea­tures das ich vom al­ten wir­res.net aus pre-kir­by-zei­ten am meis­ten ver­misst habe ist die na­vi­ga­ti­on mit den j/k tas­ten. ich ver­mu­te zwar, dass aus­ser mir nie­mand dar­an in­ter­es­siert ist oder so­was nutzt, aber wir­res.net konn­te das mehr oder we­ni­ger seit 15 jah­ren.

da­mals™ habe ich das mit ei­nem jquery plug­in ge­macht, ob ich das hier be­nutzt habe oder was an­de­res weiss ich auch nicht mehr. ich weiss aber, dass ich das im­mer wahn­sin­nig nütz­lich fand und mich bis heu­te fra­ge, war­um das nicht viel wei­ter ver­brei­tet ist. tat­säch­lich fal­len mir ak­tu­ell nur zwei web­sei­ten ein, auf de­nen das noch funk­tio­niert: gmail und duck­duck­go — und jetzt wie­der wir­res.net, zu­min­dest auf über­sicht­sei­ten.

wäh­rend die­ses 15 jah­re alte jquery-plug­in auch nur 2 kb gross ist, wiegt jquery mi­ni­fi­ziert auch noch­mal 32 kb. als ich vor ei­nem mo­nat an­fing wir­res.net mit kir­by wie­der neu auf­zu­bau­en, war un­ter mei­nen ers­ten fra­gen an goog­le …

die ant­wor­ten auf die zwei­te fra­ge wa­ren mir da­mals zu kom­pli­ziert, bzw. ver­lang­ten zu viel ja­va­script-know-how von mir, um das da­mals um­zu­set­zen. ges­tern Nacht um 2 uhr fiel mir die fra­ge wie­der ein und ich frag­te — chatGPT. die ant­wort war 1,6 kb lang und funk­tio­niert ein­wand­frei und va­ni­la, also ohne ein js-frame­work.

und wo ich ge­ra­de da­bei war, hab ich chatGPT noch ge­fragt wie ich mit der x-tas­te die start­sei­te, bzw. ar­ti­kel­über­sich­ten kom­pakt an­zei­gen las­sen kann, das geht mit neun zei­len code.

tl;dr: man kann auf der start­sei­te und über­sicht­sei­ten jetzt mit j/k na­vi­gie­ren oder kurz­zei­tig alle ar­ti­kel mit x ge­kürzt an­zei­gen.

p.s.

ich bin völ­lig baff, wel­che fort­schrit­te ja­va­script und css seit dem letz­ten mal, wo ich mich in­ten­si­ver da­mit be­schäf­tigt habe, ge­macht ha­ben. ges­tern nacht fiel mir auch ein zu fra­gen ob und wie man bil­der per css schwarz weiss ma­chen kann. geht!

img {
  filter: grayscale(100%);
}

                    

ich weiss nicht ob das nor­mal ist, aber mich be­geis­tert so et­was sehr. es gibt noch so viel aus­zu­pro­bie­ren und zu bas­teln um die­ses nest hier im web wohn­lich zu ma­chen.

p.p.s.

heu­te früh vorm spa­zie­ren ge­hen hab ich mich ge­fragt, ob man mit dem kir­by struk­tur fel­dern nicht ziem­lich ein­fach se­man­tisch kor­rek­te und ma­schi­nen­les­ba­re re­zep­te (zum nach­ko­chen) bau­en kann. kann man, chatGPT spuck­te mir we­ni­ge zei­len blue­print und tem­p­la­te code aus, mit de­nen ich nach 10 mui­nu­ten ei­nen funk­tio­nie­ren­den pro­to­ty­pen hat­te. beim the­ma re­zep­te im json-ld- oder in mi­cro­for­mat tref­fen sich die bei­den vek­to­ren SEO-op­ti­mie­rung und nut­zer-op­ti­mie­rung per­fekt. weil re­zept-schleu­dern wie chef­koch.de ger­ne vor­ne in den goog­le-such­ergeb­nis­sen ste­hen möch­ten, sind alle re­zep­te auf chef­koch.de per

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "Recipe",
    // […]
}
</script>

                    

aus­ge­stat­tet. das hat zur fol­ge, dass ich mehr oder we­ni­ger je­des re­zept das ich je­mals ge­goo­glet und zu un­se­rer be­frie­di­gung nach­ge­kocht habe auch ein­fach und ver­lust­frei in mela im­por­tie­ren kann. war­um mela so toll ist, hab ich hier mal vor zwei jah­ren er­klärt.