kategorie: über wirres ×

mit ma­schi­nen über ma­schi­nen­les­bar­keit re­den

felix schwenzel in über wirres

in den letz­ten ta­gen habe ich oft mit ge­mi­ni über ma­schi­nen­les­ba­ren code und mei­ne im­ple­men­tie­rung da­von hier auf wir­res.net ge­re­det. die im­ple­men­tie­rung ma­che ich mir cur­sor, was wie­der­um im hin­ter­grund ver­schie­de­ne agen­ten für das co­ding selbst nutzt. von da­her ist es wahr­schein­lich nicht schlecht, die ar­beit von cur­sor nicht nur selbst zu re­view­en, son­dern auch noch wei­te­re mei­nun­gen, dia­gno­sen und ein­schät­zun­gen ein­zu­ho­len.

es zeigt sich, nicht al­les was va­li­diert ist auch un­be­dingt rich­tig. ein paar sa­chen funk­tio­nie­ren be­reits rich­tig gut und goog­le (der such­bot, der in­dex­er, wha­te­ver) ver­steht hier und da mei­ne in­hal­te, oder bes­ser, mei­ne in­ten­ti­on. an an­de­ren stel­len klemmt es noch. so er­kennt goog­le ein paar mei­ner bil­der als cc li­zen­si­ert, aber nicht alle.

ich fin­de das al­les irre span­nend, weil ich goog­le bei der ar­beit zu­gu­cken kann, er­ken­ne wo noch ver­ständ­nis­pro­ble­me ste­cken und was ge­ge­be­nen­falls op­ti­miert oder an­ge­passt wer­den muss.

eben habe ich ge­mi­ni ge­fragt, wie es die re­le­vanz von ma­schi­nen­les­ba­rer aus­zeich­nunng von web­in­hal­ten ins­ge­samt be­wer­tet. der gröss­te fak­tor dürf­te wei­ter­hin goog­le sein, das mit der rich-re­sult-an­zei­ge eine di­cke, fet­te ka­rot­te in der hand hält, die es vor die na­sen von web­site-be­trei­ben­den hal­ten kann.

aber die­ses ar­gu­ment, dass sich gem­ni­ni aus­ge­dacht hat fin­de ich fas­zi­nie­rend. näm­lich das ma­schi­nen­les­ba­rer code auch eine an­ti­dot ge­gen iro­nie sein kann, ein fak­ten­bett, mit dem iro­nie bes­ser kon­tex­tua­li­si­ert wer­den könn­te.

[Ma­schi­nen­les­ba­re Aus­zeich­nun­gen sor­gen da­für], dass auch die dümms­te KI ka­piert, dass dein Ver­riss ei­gent­lich eine 5-Ster­ne-Emp­feh­lung ist. JSON-LD ist der ein­zi­ge Ort im In­ter­net, wo Iro­nie ver­bo­ten ist – und ge­nau das brau­chen Ma­schi­nen.

das ist die de­tail­ier­te her­lei­tung:

Fak­ten vs. Nu­an­ce: Dein Blog ist iro­nisch ("fach­blog für ir­rele­vanz", "wer­bung ohne wer­bung"). Ein Mensch ver­steht die Iro­nie. Eine KI könn­te ver­wirrt sein.

  • Text: "Die Müh­le ist häss­lich, aber mahlt su­per."
  • JSON-LD: re­view­Ra­ting: 5.
  • Das JSON lie­fert der KI die "Ground Truth" (die fak­ti­sche Wahr­heit). Es re­du­ziert das Ri­si­ko, dass die KI dei­ne Iro­nie miss­ver­steht und sagt: "Der Au­tor hasst die Müh­le."

in­sta­gram nutzt wohl auch json-ld, wer hät­te das ge­dacht? ei­gent­lich ist in­sta­gram da­für be­kannt sehr ag­gres­siv ge­gen scra­ping vor­zu­ge­hen. von der in­sta­gram-web­sei­te kann man mit bord­mit­teln kei­ne bil­der si­chern oder ko­pie­ren und selbst um an die ei­ge­nen in­hal­te zu kom­men muss, man tech­nisch sehr tief ge­hen und be­kommt dann stän­dig auf die nase.

in­sta­gram nutzt json-ld, al­ler­dings sperrt es of­fen­bar alle user-agents aus­ser de­nen von goog­le aus.

  1. wenn ich die­sen in­sta­gram-bei­trag von mir im brow­ser auf­ru­fe ent­hält der quell­text kei­ne json-ld (kei­ne ma­schi­nen­les­ba­ren in­fos)
  2. wenn ich den glei­chen bei­trag in goo­gles rich-re­sults-test auf­ru­fe, spru­deln plötz­lich ma­schi­nen­les­ba­re in­fos aus in­sta­gram
  3. wenn ich den glei­chen bei­trag im sche­ma.org-va­li­da­tor auf­ru­fe, ver­wei­gert in­sta­gram den zu­griff

be­mer­kens­wert: die im json-ld aus­ge­ge­be­nen bild­urls schei­nen per­ma­nent zu funk­tio­nie­ren, ein pri­vi­leg, das in­sta­gram of­fen­bar le­dig­lich goog­le gönnt: test­link. bild­urls die man in­sta­gram aus der ent­wick­ler­kon­so­le ent­lockt, ver­lie­ren ihre gül­tig­keit nach ein paar stun­den (test­link) (noch hal­ten bei­de links).

das ist so ähn­lich wie das was der spie­gel mit sei­nen vi­de­os ver­an­stal­tet. otto-nor­mal-be­su­cher be­kommt die vi­de­os nur mit wer­bung ver­se­hen zu ge­sicht, goog­le darf die wer­be­freie quell­da­tei aus den ma­schi­nen­les­ba­ren me­ta­da­ten zie­hen. die ka­rot­ten die goog­le web­site­be­trei­ben­den oder hier in­sta­gram und dem spie­gel ver­spricht, ver­lei­te­ten bei­de zur dis­kri­mi­nie­rung von men­schen und ma­schi­nen, wo­bei in­sta­gram zu­sätz­lich auch noch nach her­kunft dis­kri­mi­niert (goog­le only).

was in­sta­gram goog­le zum frass vor­wirft habe ich mir we­gen die­sem ar­ti­kel auf cachys blog an­ge­se­hen:

Die Platt­form er­stellt(e) of­fen­sicht­lich au­to­ma­tisch Über­schrif­ten und Be­schrei­bun­gen für Nut­zer-Posts, da­mit die­se bes­ser bei Goog­le ran­ken.
[…]
Vie­le Nut­zer füh­len sich da­durch falsch dar­ge­stellt und ha­ben kei­ne Kon­trol­le dar­über, wie ihre In­hal­te im Netz prä­sen­tiert wer­den. Ge­ra­de bei sen­si­blen The­men oder krea­ti­ven In­hal­ten kann das schnell pro­ble­ma­tisch wer­den.

als ich das ge­le­sen habe, dach­te ich na­tür­lich wie schön es wäre, wen man bil­der und fil­me ein­fach bei sich auf ei­ner ei­ge­nen web­sei­te hos­ten könn­te, auf ei­ner web­sei­te die man un­ter kon­trol­le hat und selbst be­stim­men kann, was die ma­schi­nen zu se­hen be­kom­men und was nicht.


ich pos­te mitt­ler­wei­le nur noch spo­ra­disch auf in­sta­gram. die in­sights, die in­sta­gram mitt­ler­wei­le je­dem zu­gäng­lich macht, zei­gen auch, dass mei­ne bil­der dort oh­ne­hin nur an we­ni­ge mei­ner fol­lower aus­ge­spielt wer­den. möch­te ich dass mehr mei­ner fol­lower die bei­trä­ge se­hen, muss in­sta­gram schon sehr gut ge­launt sein oder will wer­be­geld von mir.

ich mag mei­nen work­flow hier im blog mitt­ler­wei­le lie­ber, als das mal-eben-schnell-pos­ten auf in­sta­gram:

  • ich kann li­zenz­in­fos an­hän­gen und die li­zenz und zu­gäng­lich­keit mei­ner bil­der selbst steu­ern
  • ich kann schlag­wor­te, links, text, vi­deo, geo­da­ten frei schnau­ze be­nut­zen
  • ich kann ein­mal für alle bil­der alt-tex­te set­zen und bei­trä­ge und bil­der dann in­klu­si­ve der alt-tex­te zu mast­o­don und blues­ky „syn­di­zie­ren“
  • ich kann meta-be­schrei­bun­gen, ti­tel nach­träg­lich än­dern und die prä­sen­ta­ti­on, an­ord­nung, grös­se der bil­der auch kom­plett selbst be­stim­men

der preis da­für (al­les selbst be­stim­men zu kön­nen) ist et­was we­ni­ger reich­wei­te und ge­fühlt eine et­was ge­rin­ge­re „in­ter­ak­ti­on“.

für mich das stärks­te ar­gu­ment bil­der und film­chen selbst zu hos­ten, un­ter ei­ge­ner kon­trol­le, ist die ge­stal­tungs­macht über al­les, zum bei­spiel mein ar­chiv zu ha­ben. die halb­werts­zeit ei­nes post hier im blog dürf­te sich nicht gross von der halb­werts­zeit ei­nes bei­trags auf in­sta­gram, mast­o­don oder blues­ky un­ter­sch­ei­den. mit an­de­ren wor­ten: kaum je­mand schaut sich bei­trä­ge an, die äl­ter als 24 stun­den oder eine wo­che sind. aber wenn ich will, kann ich (und je­der an­de­re) schau­en, was ich im de­zem­ber 2012 so ge­trie­ben habe. ich kann alte bei­trä­ge von mir ein­fach ein­bet­ten, ohne mir ei­nen hau­fen tra­cker von ei­nem drit­ten ins haus zu ho­len.

wo war ich? ach ja. mir fiel heu­te auf, des­halb die über­schrift „mit ei­ner ma­schi­ne über ma­schi­nen­les­bar­keit re­den“, wie viel ver­gnü­gen es mir be­rei­tet mit ge­mi­ni oder cur­sor über sol­che tech­ni­schen de­tails zu plau­dern. ich bil­de mir ein, die ma­schi­nen ha­ben in­ter­es­se an sol­chen de­tail-dis­kus­sio­nen und ich muss kei­nen men­schen mit sol­chen ge­sprä­chen lang­wei­len. wo­bei ich mich na­tür­lich schon fra­ge, wer die­sen text, aus­ser ein paar ma­schi­nen, bis hier über­haupt ge­le­sen hat?


ver­ges­se­ne selbst­ver­pflich­tung

felix schwenzel in artikel

vor lan­ger, lan­ger zeit (1997) ha­ben sich ver­schie­de­ne in­ter­es­sen­ver­bän­de aus dem be­reich der fo­to­gra­fie und des jour­na­lis­mus dar­auf ge­ei­nigt, wie man ma­ni­pu­lier­te, ge­pho­to­shop­p­te oder nach­träg­lich ver­än­der­te (ma­ni­pu­lier­te) bil­der kenn­zeich­nen wol­le:

Me­mo­ran­dum

zur Kenn­zeich­nungs­pflicht ma­ni­pu­lier­ter Fo­tos

Je­des do­ku­men­ta­risch - pu­bli­zis­ti­sche Foto, das nach der Be­lich­tung ver­än­dert wird, muß mit dem Zei­chen [M] kennt­lich ge­macht wer­den. Da­bei spielt es kei­ne Rol­le, ob die Ma­ni­pu­la­ti­on durch den Fo­to­gra­fen oder durch den Nut­zer des Fo­tos er­folgt.

so wur­de das da­mals auf der web­sei­te des „bun­des­ver­band pro­fes­sio­nel­ler bild­an­bie­ter“ ver­öf­fent­licht (ar­chiv­link). die url bvpa.org/m.html funk­tio­niert schon lan­ge nicht mehr, der bvpa.org hat das ir­gend­wann auf die­se url um­ge­zo­gen: bvpa.org/bvpa-in­itia­ti­ve-me­mo­ran­dum-zur-kenn­zeich­nungs­pflicht-ma­ni­pu­lier­ter-fo­tos. be­mer­kens­wer­ter wei­se fehlt in der neue­ren ver­si­on die­ser ab­satz aus dem ori­gi­nal „me­mo­ran­dum“:

Nach Pres­se­kam­pa­gnen ha­ben sich bis­her fol­gen­de Pu­bli­ka­tio­nen be­reit er­klärt, ma­ni­pu­lier­te Fo­tos zu­künf­tig mit dem Sym­bol [M] zu kenn­zeich­nen: stern · Süd­deut­sche Zei­tung · Bri­git­te · Han­dels­blatt · Heil­bron­ner Stim­me · taz · Au­to­fo­rum · Co­mo­po­li­tan · Das Sonn­tags­blatt · Ami­ca · Fit for Fun · Max · Ci­ne­ma · TV Spiel­film · Bel­le­vue · Der Ta­ges­spie­gel. Die In­itia­ti­ve im Grund­satz be­grüßt ha­ben: GEO · DER SPIE­GEL · DIE WO­CHE · Frank­fur­ter Rund­schau · DIE ZEIT.

screenshot von einer von archive.org archivierten seite zu einem memorandum zur kennzeichnung für bild-manipulationen von 1997

wer sich jetzt wun­dert und fragt: „[M]? nie ge­se­hen, nie ge­hört“, dem kann ich sa­gen: das me­mo­ran­dum scheint ein rohr­kre­pie­rer, bzw. eher ein ob­li­vioran­dum ge­we­sen zu sein. die­ser ar­ti­kel von ma­ria jan­sen vom april 2000 legt nahe, dass die ver­le­ger das im de­tail zu kom­pli­ziert fan­den:

Die Ver­le­ger­ver­bän­de BDZV und VDZ konn­ten sich bis­lang nicht zur Un­ter­stüt­zung des Me­mo­ran­dums durch­rin­gen. »Wir konn­ten uns in der ver­bands­in­ter­nen Dis­kus­si­on nicht auf eine ver­bind­li­che De­fi­ni­ti­on ei­ni­gen, wo die kenn­zeich­nungs­pf­lich­ti­ge Ma­ni­pu­la­ti­on an­fängt«, er­in­nert sich VDZ-Ju­rist Ar­thur Wal­den­ber­ger an Dis­kus­sio­nen im Ver­le­ger­kreis. Ei­nen Le­ser­schutz »im Sin­ne der Glaub­wür­dig­keit der Print­me­di­en in Ab­gren­zung zu an­de­ren Me­di­en« er­ach­te der VDZ zwar für wün­schens­wert. Doch eine Ver­bands­emp­feh­lung habe er nicht aus­spre­chen kön­nen. »Wir ha­ben es den Mit­glie­dern je­doch frei­ge­stellt, sich dem Me­mo­ran­dum an­zu­schlie­ßen.«

Der BDZV hin­ge­gen lehnt die [M]-Kenn­zeich­nung bis­lang als in­ak­zep­ta­bel ab. An­geb­lich be­fürch­ten die Zei­tungs­ver­le­ger, dass eine Viel­zahl von Fo­tos un­ter die Kenn­zeich­nungs­pflicht fal­len wür­de, da sehr häu­fig De­tails ver­än­dert wür­den, was zu ei­ner Ver­un­si­che­rung der Le­ser füh­ren könn­te. Au­ßer­dem sä­hen sich die Zei­tun­gen nicht in der Lage, ih­ren Le­sern den Sinn der Kenn­zeich­nung zu er­klä­ren.

und tat­säch­lich wird das ja wirk­lich ganz schnell sehr phi­lo­so­phisch. ei­gent­lich müss­te je­des bild aus ei­nem mo­der­nen smart­pho­ne heut­zu­ta­ge mit ei­nem [m] ge­kenn­zeich­net wer­den, weil die ge­rä­te nach der be­lich­tung hef­tig am bild rum­op­tim­nie­ren (HDR, ent­rau­schen, tie­fen­un­schär­fe, be­lich­tungs- und farb­kor­rek­tur, nach­schär­fung, sie­he auch die­sen ar­ti­kel zu „com­pu­ta­tio­nal pho­to­gra­phy“).

wer hät­te ge­dacht, dass uns fo­to­ap­pa­ra­te ei­nes ta­ges vor phi­lo­so­phi­sche di­lem­ma­ta stel­len wür­den, bzw. dass wir (und die ver­le­ger) plötz­lich vor on­to­lo­gi­schen grund­satz­fra­gen ste­hen: „was ist ein foto?“

zu ei­nem prag­ma­ti­schem an­satz konn­te man sich bis heu­te of­fen­sicht­lich we­der in ver­le­ger­krei­sen, noch in den „wich­tigs­ten“ in­ter­es­sen­ver­bän­de im be­reich der fo­to­gra­fie und des jour­na­lis­mus durch­rin­gen. und jetzt steht das pro­blem, we­gen KI drin­gen­der denn je wie­der an der tür.


als ich vor 20 jah­ren zum ers­ten mal von die­sem me­mo­ran­dum ge­hört habe, ent­schloss ich mich ma­ni­pu­lier­te fo­tos kon­se­quent in der bild­un­ter­schrift mit ei­nem [m] zu kenn­zeich­nen. ganz un­phi­lo­so­phisch, im­mer dann, wenn ich das bild ab­sichts­voll ma­ni­pu­liert habe. na­tür­lich habe ich das im lau­fe der jah­re auch wie­der ver­ges­sen, aber hier­mit möch­te ich mich selbst dar­an er­in­nern, ma­ni­pu­lier­te bil­der (ei­ni­ger­mas­sen) gut sicht­bar mit [m] zu kenn­zeich­nen. mit ki bil­dern soll­te das ge­nau­sol­eicht ge­hen: [ki]

theo­re­tisch wäre so eine kenn­zeich­nung auch per­fekt für ma­schi­nen­les­ba­res ge­döns. json-ld kann das wohl nicht — zeigt zu­mid­nest ober­fäch­li­che re­cher­che. li­zenz­in­for­ma­tio­nen kann man mit json-ld aus­zeich­nen, hin­wei­se auf ki-ge­ne­rier­te in­hal­te sol­len wohl in den IPTC me­ta­da­ten von fo­tos un­ter­ge­bracht wer­den. stand jetzt ist je­den­falls bei chatgpt, dass bil­der die es ge­ne­re­riert nicht von chatgpt mit die­sen me­ta­da­ten ver­se­hen wer­den. auch hier sind die­je­ni­gen die sol­che bil­der ver­wen­den in der selbst­ver­pf­lich­tung.

nach­träg­lich ge­se­hen ist es auch sehr prak­tisch, dass ich ma­ni­pu­lier­te bil­der über die jah­re nicht nur in der bild­un­ter­schrift kenn­zeich­ne­te, son­dern meis­tens auch so ver­schlag­wor­te­te: [m]

so hab ich heu­te wie­der ei­ni­ge, teils sehr kin­di­sche, main­pu­la­tio­nen wie­der­ge­fun­den.

pa­trio­ti­scher jo­ghurt [m]

für wei­te­re kin­di­sche bild­ma­ni­pu­la­tio­nen sie­he auch:

ursprünglich veröffentlicht am 03.03.2012

gephotoshoppte burger king werbung für den angus burger. statt angus steht dort „anus“
für alle die fleisch lie­ben der anus mit saf­ti­gem anus beef [M]
anus|ˈānəs|
noun Ana­to­my & Zoo­lo­gy
the ope­ning at the end of the ali­men­ta­ry ca­nal th­rough which so­lid was­te mat­ter lea­ves the body.
ORI­GIN late Midd­le Eng­lish : from La­tin, ori­gi­nal­ly ‘a ring.’
(New Ox­ford Ame­ri­can Dic­tion­a­ry)

Anus [lat.] m. Gen. - Mz. Ani Af­ter
(Knaurs Recht­schrei­bung)

ursprünglich veröffentlicht am 06.06.2005


ganz hin­ten und doch vor­ne

felix schwenzel in über wirres

vor lan­ger zeit, als es noch kei­ne mo­bil­te­le­fo­ne gab, habe ich re­gel­mäs­sig öf­fent­li­che te­le­fon­ap­pa­ra­te be­nutzt. münz­fern­spre­cher stan­den über­all rum, aber ge­ra­de an viel be­such­ten or­ten, zum bei­spiel bahn­hö­fen, war es manch­mal gar nicht so ein­fach ei­nen frei­en ap­pa­rat zu fin­den. ir­gend­wann in den neun­zi­gern ka­men dann te­le­fon­kar­ten auf. man kauf­te sie mit gut­ha­ben und steck­te sie in öf­fent­li­che kar­ten­te­le­fo­ne wo dann das gut­ha­ben beim te­le­fo­nie­ren re­du­ziert wur­de. die kar­ten­te­le­fo­ne sa­hen et­was mo­der­ner als die münz­fern­spre­cher aus und wa­ren rund.

das ei­gent­lich in­ter­es­san­te war aber, dass in den ers­ten jah­ren sehr we­ni­ge men­schen te­le­fon­kar­ten hat­ten, wes­halb man an kar­ten­te­le­fo­nen meis­tens te­le­fo­nie­ren konn­te, auch wenn schlan­gen vor den münz­fern­spre­chern stan­den. ge­le­gent­lich wer­den ear­ly ad­op­ter be­lohnt.

mit json ld, also be­stimm­te in­hal­te auf die­ser web­sei­te ma­schi­nen­les­bar aus­zu­spie­len, bin ich zwar kein ear­ly ad­op­ter, aber of­fen­sicht­lich ei­ner der we­ni­gen ad­op­ter.

vor ein paar ta­gen hab ich er­klärt, war­um ich die ma­schi­nen­les­bar­keit mei­ner web­site für sinn­voll hal­te und war­um ich das ei­gent­lich nur in zwei­ter oder drit­ter li­nie als op­ti­mie­rung und in ers­ter li­nie als ex­pe­ri­ment sehe: zwi­schen­stand search en­gi­ne ex­pe­ri­men­ta­ti­on (SEE)

auf ge­wis­se wei­se ist ein teil des ex­pe­ri­ments ge­glückt. da­durch dass ich re­zep­te auch ma­schi­nen­les­bar als json-ld aus­spie­le, hab ich es mit mei­nem re­pro­du­zier­ten schwarz­brot­re­zept nach dem plötz­blog auf die ers­te sei­te, in ein ka­rus­sel, ei­ner su­che nach „schwarz­brot“ und „plötz­blog“ ge­schafft. und das ob­wohl wir­res.net goog­le so egal ist, dass es bei ei­ner sol­chen su­che ei­gent­lich noch nicht mal auf den ers­ten 30 sei­ten auf­tau­chen wür­de.

es scheint ein­fach mein glück zu sein, dass sehr we­ni­ge leu­te ein plötz­blog schwarz­brot re­zept mschi­nen­les­bar ver­öf­fent­licht ha­ben. noch nicht mal lutz geiß­ler selbst, der be­trei­ber des plötz­blog. ein biss­chen so, wie frü­her mit den te­le­fon­kar­ten, wo ich te­le­fo­nie­ren konn­te, ob­wohl die te­le­fo­ne über­lau­fen wa­ren.

aus­ser goog­le schei­nen sich an­de­re such­ma­schi­nen we­nig für mei­ne ma­schi­nen­les­ba­re re­zep­te zu in­ter­es­sie­ren. bing ist zwar sehr gross­zü­gig mit mei­ner plat­zie­rung di­rekt un­ter dem plötz­blog auf der ers­ten er­geb­nis­sei­te, igno­riert aber (noch?) mein json-ld. für den brot­doc, der sei­ne re­zep­te auch per json-ld aus­spielt, stellt es das re­zept sehr ex­pli­zit auf der such­er­geb­nis­sei­te dar.

kagi.com, die kos­ten­pf­lich­ti­ge such­ma­schi­ne die john gru­ber im­mer wie­der emp­fiehlt, pla­ziert wir­res.net auch sehr weit oben, igno­riert aber auch (noch?) die ma­schi­nen­les­ba­re re­zept-aus­zeich­nung. da­für phan­ta­si­ert es aber zwei tra­cker her­bei („Fin­ger­prin­ting, Goog­le, Email“) die es hier ei­gent­lich nicht gibt, aus­ser ich habe et­was über­se­hen (bin dank­bar für hin­wei­se).


18 ki­lo

felix schwenzel in semaglutid

transpatrentes diagrams meines monatlichen durchschnitts gewichts in 2025.man erkennt, es fällt auch ohne ozempic, allerdinsg etwas weniger steil
ø-ge­wicht/mo­nat 2025

ich hab laut mei­nen mes­sun­gen in den ver­gan­ge­nen 7 mo­na­ten 18 kilo ab­ge­nom­men. vom 29.07 bis zum 03.10.2025 habe ich se­maglut­id (oz­em­pic) ge­spritzt. im schnitt hab ich 2 ½ kilo pro mo­nat ab­ge­nom­men. heu­te hab ich zum ers­ten mal un­ter 94 kilo ge­wo­gen. aus mei­nem kör­per ra­gen kno­chen, an die ich mich gar nicht mehr er­in­ne­re.

ich neh­me kaum noch zu­cker oder süs­ses zu mir, ob­wohl ich das nou­gat aus dem ad­vents­ka­len­der, das die bei­fah­re­rin nicht moch­te, ge­ges­sen habe, was mir aber nur halb so gut ge­schmeckt hat wie die 250 gramm quark, die ich je­den mit­tag mit ei­nem hau­fen TK-obst (kalt pas­sier­te man­go, him- oder blau­bee­re) mit süss­stoff und et­was sah­ne, milch oder ko­kos­milch zu mir neh­me. ich esse ca. 500 gramm sam­bal olek pro mo­nat und ver­zich­te ei­gent­lich auf nichts. mor­gens esse ich nach ei­ner stun­de spa­zier­gang nach wie vor def­tig, ent­we­der res­te vom vor­abend, kä­se­brot, rühr­ei oder sal­zi­ges müs­li (ge­mü­se­sa­lat). abends viel (sai­so­na­les) ge­mü­se, aber ger­ne auch über­ba­cken mit käse, nu­deln, pom­mes oder ge­rös­te­ter spitz­kohl mit hu­mus.

ich esse al­ler­dings mehr oder we­ni­ger nur halb so gros­se por­tio­nen, bzw. eine por­ti­on statt zwei, ein kä­se­brot statt zwei. bier habe ich gröss­ten­teils auf al­ko­hol­frei um­ge­stellt, sonst, wie mein le­ben lang, was­ser aus der lei­tung und es­pres­so mit kuh­milch, jetzt al­ler­dings ohne zu­sätz­li­chen zu­cker ne­ben dem milch­zu­cker.

die 300,00 € die ich für eine pa­kung oz­em­pic aus­ge­ge­ben habe, wa­ren eine gute in­ves­ti­ti­on und hät­ten sich al­lein durch den we­ni­ger ge­kauf­ten käse be­zahlt ge­macht, wenn ich nicht so viel mehr TK-obst es­sen wür­de, was auch nicht ge­ra­de bil­lig ist.

bei­de sät­ze sind wahr: ich ver­zich­te auf nichts. we­ni­ger es­sen und den zu­cker weg­las­sen fühlt sich nicht wie ver­zicht an.

ich sehe kei­nen grund war­um ich das nicht die nächs­ten 20 oder 30 jah­re so wei­ter ma­chen soll­te.


aus dem ma­schi­nen­raum

ich habe vor sechs jah­ren eine un­se­rer waa­gen um­ge­baut, da­mit sie wifi spricht und die wää­gun­gen an home as­sistant wei­ter­gibt. um die da­ten an die ap­ple he­alth app wei­ter zu ge­ben, nut­ze ich ifttt (home as­sistant trig­gert ei­nen ifttt web-hook). das ist ziem­lich prak­tisch. ich wie­ge mich mor­gens nach dem auf­ste­hen, nach dem spa­zier­gang und ge­le­gent­lich auch tags­über. ap­ple he­alth macht ei­nen gu­ten job aus den wer­ten glat­te kur­ven zu ma­chen und al­les in durch­schnitts­wer­te zu ver­rech­nen. aber ho­me­as­sistant spei­chert lang­fris­te sta­tis­ti­ken auch be­reits nor­ma­li­si­ert und um an die mo­nats­wer­te zu kom­men, habe ich die­se SQL-ab­fra­ge ge­macht (2008 ist die me­ta­da­ta_id des ge­wichts­sen­sors).

SELECT
  DATE_FORMAT(FROM_UNIXTIME(s.start_ts), '%Y-%m') AS monat,
  AVG(COALESCE(s.mean, s.state)) AS durch­schnitt
FROM sta­tis­tics s
WHERE s.metadata_id = 2008
  AND COALESCE(s.mean, s.state) IS NOT NULL
  AND s.start_ts >= UNIX_TIMESTAMP('2025-01-01 00:00:00')
  AND s.start_ts <  UNIX_TIMESTAMP('2026-01-01 00:00:00')
GROUP BY monat
ORDER BY monat;

                    

das dia­gram hab ich dann aus den 12 wer­ten in ap­ple num­bers ge­baut. um die gra­fik aus num­bers mit trans­pa­ren­tem hin­ter­grund raus­zu­be­kom­men, hab ich die gra­fik ein­fach per copy 6 pas­te in pi­xel­ma­tor ko­piert. man kann die num­bers da­tei auch als pdf ex­por­tie­ren und mit pdf2svg (brew install pdf2svg) in ein SVG um­wan­deln.

svg variante des diagrams
svg ver­si­on des ge­wichts­dia­grams

wich­tig war mir nur, dass das dia­gram so­wohl im dark, als auch im light mode gut aus­sieht. das klappt so­wohl beim svg, als auch dem png. auch wenn die SVG-da­tei 70 kb klei­ner ist, hab ich kei­ne ah­nung wie das mit der pho­tos­wi­pe-ver­grös­se­rung und im RSS funk­tio­niert, wes­halb ich oben das png ver­wen­de. (nach­trag: rss-rea­der schei­nen kein pro­blem mit der SVG-dar­stel­lung zu ha­ben.)

wenn ich nicht so be­quem wäre, hät­te ich schon lan­ge eine funk­ti­on in kir­by im­ple­men­tiert, mit der man bil­der „art­di­rec­ted“ aus­ge­ben kann, je nach dark oder light mode. im prin­zip geht das so:

<picture>
  <source srcset="western.webp" media="(prefers-color-scheme: dark)" />
  <source srcset="eastern.webp" media="(prefers-color-scheme: light)" />
  <img src="eastern.webp" />
</picture>

                    

die­ser ar­ti­kel ist ein pro­to­ty­pi­sches bei­spiel für mei­ne mo­ti­via­ti­on ins in­ter­net zu schrei­ben. ges­tern in der du­sche habe ich dar­über nach­ge­dacht, wie man wohl trans­pa­ren­te dia­gram­me er­stel­len könn­te. ge­schrie­ben hab ich den ar­ti­kel also gar nicht in ers­ter li­nie um mei­nen ge­wichts­ver­lauf in 2025 dar­zu­stel­len, son­dern um zu tes­ten wie man dia­gram­me am bes­ten im web dar­stellt, bzw. wel­che op­tio­nen am bes­ten funk­tio­nie­ren. na­tür­lich vi­sua­li­sie­re ich auch ger­ne mei­ne da­ten, aber im fall mei­nes ge­wichts vi­sua­li­si­ert ap­ple he­alth ja be­reits per­fekt.

screenshot aus apple health meines gewichtsverlaufs in 2025. die grafik ist einfach undübersichtlich.
jah­res­ver­lauf mei­nes ge­wichts in ap­ple he­alth

al­ler­dings sieht der screen­shot aus ap­ple he­alth eben nur im dark mode gut aus. und es fehlt der se­maglut­id-bal­ken, den ich mir ges­tern un­ter der du­sche als in­ter­es­san­te vi­sua­lie­rung vor­stell­te.

am ende sieht die ap­ple gra­fik dann aber doch bes­ser aus, als mein selbst­ge­bas­tel­tes dia­gram. aber im­mer­hin hab ich un­ter­wegs et­was ge­lernt und was zum blog­gen.


fo­tos, cc li­zen­zen, ma­schi­nen­les­bar­keit

felix schwenzel in über wirres

beim ego-goog­len bin ich heu­te auf wi­ki­me­dia com­mons ge­lan­det, wo ein foto von mir liegt, das ich vor > 10 jah­ren in ver­no­nia (wa­shing­ton sta­te) auf­ge­nom­men habe.

(auf­ge­nom­men 2. au­gust 2014 in ver­no­nia)

ursprünglich veröffentlicht am 05.09.2015

da­mals habe ich es auch auf flickr ver­öf­fent­licht, wo mei­ne fo­tos ma­schi­nen­les­bar mit ei­ner cc by-sa 2.0 li­zenz ver­se­hen wur­den. die­se li­zenz steht in ei­ner 3.0er ver­si­on (Na­mens­nen­nung - Wei­ter­ga­be un­ter glei­chen Be­din­gun­gen 3.0 Un­por­ted) auch im fuss die­ser web­site und lau­tet:

Sie dür­fen:

Tei­len — das Ma­te­ri­al in jed­we­dem For­mat oder Me­di­um ver­viel­fäl­ti­gen und wei­ter­ver­brei­ten und zwar für be­lie­bi­ge Zwe­cke, so­gar kom­mer­zi­ell.

Be­ar­bei­ten — das Ma­te­ri­al re­mi­xen, ver­än­dern und dar­auf auf­bau­en und zwar für be­lie­bi­ge Zwe­cke, so­gar kom­mer­zi­ell.

Der Li­zenz­ge­ber kann die­se Frei­hei­ten nicht wi­der­ru­fen so­lan­ge Sie sich an die Li­zenz­be­din­gun­gen hal­ten.

Un­ter fol­gen­den Be­din­gun­gen:

Na­mens­nen­nung — Sie müs­sen an­ge­mes­se­ne Ur­he­ber- und Rech­te­an­ga­ben ma­chen , ei­nen Link zur Li­zenz bei­fü­gen und an­ge­ben, ob Än­de­run­gen vor­ge­nom­men wur­den. Die­se An­ga­ben dür­fen in je­der an­ge­mes­se­nen Art und Wei­se ge­macht wer­den, al­ler­dings nicht so, dass der Ein­druck ent­steht, der Li­zenz­ge­ber un­ter­stüt­ze ge­ra­de Sie oder Ihre Nut­zung be­son­ders.

Wei­ter­ga­be un­ter glei­chen Be­din­gun­gen — Wenn Sie das Ma­te­ri­al re­mi­xen, ver­än­dern oder an­der­wei­tig di­rekt dar­auf auf­bau­en, dür­fen Sie Ihre Bei­trä­ge nur un­ter der­sel­ben Li­zenz wie das Ori­gi­nal ver­brei­ten.

Kei­ne wei­te­ren Ein­schrän­kun­gen — Sie dür­fen kei­ne zu­sätz­li­chen Klau­seln oder tech­ni­sche Ver­fah­ren ein­set­zen, die an­de­ren recht­lich ir­gend­et­was un­ter­sa­gen, was die Li­zenz er­laubt.

aber mit der nen­nung im fuss, sind fo­tos von hier kei­nes­falls ex­pli­zit mit der cc-li­zenz ge­kenn­zeich­net. die li­zenz müss­te an je­dem ein­zel­nen bild an­ge­bracht wer­den und dann am bes­ten auch ma­schi­nen­les­bar. das ist ei­ner­seits das schö­ne an flickr, dass die bil­der dort struk­tu­riert lie­gen und so dass zum bei­spiel wi­ki­me­dia bots die li­zenz prü­fen kön­nen.

der schock­wel­len­rei­ter legt bei flickr alle sei­ne bil­der ab, aber ich habe an­de­rer­seits we­der auf ein flickr-pro-ac­count lust, noch dazu, alle mei­ne bil­der (auch) dort hoch­zu­la­den, auch wenn man das au­to­ma­ti­sie­ren könn­te.

um mei­ne bil­der hier or­dent­lich mit ei­ner li­zenz zu kenn­zeich­nen, müss­te ich:

  • je­des bild das ich hoch­la­de mit ei­ner, bzw. der cc by-sa 2.0 li­zenz (oder bes­ser der 4.0er ver­si­on) aus­zeich­nen — das geht be­reits im ba­ckend
  • alle so ge­kenn­zeich­ne­ten bil­der (such-) ma­schi­nen­les­bar mit json-ld aus­zeich­nen — das geht sehr ein­fach mit dem kir­by-seo plug­in, so­bald die bil­der im ba­ckend aus­ge­zeich­net sind
  • bil­der ent­spre­chend mit ei­nem icon oder link kenn­zeich­nen — ein biss­chen an den tem­pla­tes rum­schrau­ben
  • für alle bil­der eine ein­zel­sei­te bau­en, auf der die me­ta­da­ten und li­zenz­in­fos noch­mal ste­hen und die bil­der auch in voll­auf­lö­sung run­ter zu la­den sind —

al­les re­la­tiv ein­fach mach­bar — aber wozu?

gute rhe­to­ri­sche fra­ge, die ich mir hier selbst stel­le und die ant­wort lau­tet: weils geht, bzw. weils rich­tig ist. ich habe mich ge­freut, dass mein bild in der wi­ki­me­dia com­mons liegt, und ich wür­de mich auch freu­en, wenn es in der goog­le bil­der­su­che mit ei­ner su­che nach cc-li­zen­sier­ten bil­dern auf­taucht. und um­ge­kehrt freue ich mich, wenn ich eine bil­der­su­che be­nut­ze, um ir­gend­was zu be­bil­dern, und or­dent­lich li­zen­sier­te bil­der fin­de, de­ren li­zenz eine wei­ter­ver­wen­dung er­laubt.

für mich fühlt sich das an, wie die ar­chi­vie­rung von schnapp­schüs­sen von ar­chi­ve.org, bzw. wie das was ich hier über­haupt ver­an­stal­te: ich hal­te din­ge für mich, die jetzt- und nach­welt fest und hof­fe, dass das was ich hier an ge­dan­ken oder ein­ge­fan­ge­nen bil­dern do­ku­men­tie­re an­de­re zum nach­den­ken bringt, in­spi­riert oder in ir­gend­ei­ner form nütz­lich ist. wenn die­se schnip­sel, die ich hier ver­öf­fent­li­che, von mei­nem tel­ler­rand in ei­nen an­de­ren tel­ler über­schwap­pen, dann freut mich das — so­lan­ge die zu­ord­nung oder rück­ver­folg­bar­keit er­hal­ten bleibt. und ge­nau da­für soll­te ja die li­zenz sor­gen.

des­halb schlies­se ich hier auch kei­ne ki-craw­ler ex­pli­zit aus, aus­ser dass ich den zu­gang zu al­tem zeug er­schwe­re. ob und wie das al­les re­le­vant ist, wen das in­ter­es­si­ert oder nicht ist für mich ei­gent­lich se­kun­där. mein vor­ran­gi­ges ziel ist und war schon imemr hier din­ge fest­zu­hal­ten die mir wich­tig er­sch­ei­nen und da­für zu sor­gen, dass sie gut zu­gäng­lich sind, sei es auf ei­ner auf al­len be­kann­ten ge­rä­ten ei­ni­ger­mas­sen les­ba­ren web­sei­te, per abon­nier­ba­rem RSS, über such­ma­schi­nen, (KI-) chat­bots oder eben struk­tu­rier­te, ma­schi­nen­les­ba­re da­ten.

alle die den­ken, dass man web­sei­ten eher da­für be­nut­zen soll­te zu schrei­ben, als zu schrau­ben, sind oh­ne­hin schon vor acht ab­sät­zen aus­ge­stie­gen, wes­halb ich jetzt auch noch in ein tech­ni­sches de­tails ge­hen kann, das ich in­ter­es­sant fin­de.

mir ist näm­lich seit ein paar wo­chen auf­ge­fal­len, dass in der bil­der­su­che zu wir­res.net teil­wei­se (frem­de) you­tube-th­umb­nails auf­tauch­ten. das will ich ei­gent­lich nicht, also ich will die ori­gi­nal­th­umb­nails zur il­lus­tra­ti­on von ein­ge­bet­te­ten vi­de­os durch­aus be­nut­zen, aber zu ei­gen ma­chen möch­te ich mir sie nicht.

ich weiss nicht ob das mei­ne idee war oder ob ein KI-chat­bot mir da­bei ge­hol­fen hat, aber die­se an­wei­sung in mei­ner .ht­ac­cess da­tei hilft, you­tube-th­umb­nails, de­ren da­tei­en ich lo­kal si­che­re, aus­spie­le und im­mer youtube_[ID].jpg nen­ne, von der in­de­xie­rung aus­zu­schlies­sen (durch ei­nen noindex hea­der):

<IfModule mod_headers.c>

# alle dateien, die mit "youtube_" beginnen (youtube th­umb­nails) 
# und ein bild­for­mat haben
<Files­Match "(?i)^youtube_.*\.(avif|jpe?g|png|webp|gif)$">
  Header set X-Robots-Tag "noindex"
</Files­Match>

# alle dateien die mit "noindex" beginnen
<Files­Match "(?i)^noindex.*\.(avif|jpe?g|png|webp|gif)$">
  Header set X-Robots-Tag "noindex"
</Files­Match>

</IfModule>

                    

aus­ser­dem kann ich so bil­der von der in­de­xie­rung aus­schlies­sen, in­dem ich den da­tei­na­men ein­fach mit noindex be­gin­nen las­se.


schö­ner quell­code, schö­ne rück­sei­ten

felix schwenzel in über wirres

ich hab mal in ei­ner ste­ve jobs bio­gra­phie ge­le­sen, dass ste­ve jobs ver­ses­sen dar­auf war auch un­sicht­ba­re din­ge schön zu ge­stal­ten. wenn ich mich recht er­in­ne­re war ste­ve jobs va­ter hob­by-schrei­ner und ach­te­te sehr dar­auf, din­ge gründ­lich und schön zu ma­chen und ent­spre­chend auch die ei­gent­lich nicht sicht­ba­ren rück­sei­ten sei­ner mö­bel vi­su­ell an­spre­chend zu ge­stal­ten.

ich war aber auch schon lan­ge be­vor ich von ste­ve jobs hör­te mal selbst schrei­ner und ent­spre­chend schon lan­ge fan von schö­nen rück­sei­ten und ver­steck­ten de­tails, die — wenn über­haupt — nur von fach­leu­ten be­ach­tet wer­den.

hier auf die­ser web­sei­te war ich zu­neh­mend ge­nervt da­von, wie schwie­rig es ist aus php-code schön for­ma­tier­ten quell­text raus­fal­len zu las­sen. die ein­rü­ckun­gen pas­sen nie und schö­ner php code mit ent­spre­chen­den ein­rü­ckun­gen führt fast nie zu schö­nem html code.

also frag­te ich ges­tern cur­sor ob wir nicht das kir­by html pret­ti­f­y­en könn­ten. her­aus­ge­kom­men ist ein plug­in, der mit dem kir­by page.render:after hook das ge­r­en­der­te html durch html-pret­ty-min jagd. das er­geb­nis er­freut mich so sehr, dass ich es als kir­by-plug­in auf git­hub ver­öf­fent­licht habe: git­hub.com/di­plix/kir­by-html-pret­ty

screenshot des quellcodes dieses artikels

ich fin­de das jetzt or­dent­lich und les­bar ein­ge­rück­te html nicht nur schön an­zu­se­hen, es hilft mir auch beim de­bug­gen. auf der rück­sei­te hat­te ich of­fen­bar ein paar html-tags nicht or­dent­lich ge­schlos­sen oder struk­tu­riert, was ich nie merk­te, weil alle brow­ser das still­schwei­gend kor­ri­gier­ten. html-pret­ty-min hat das et­was an­ders kor­ri­giert und zwar so, dass es das lay­out leicht zer­schoss. nach­dem ich den quell­code der rück­sei­te an­ge­passt hat­te, funk­tio­nier­te al­les so wie es soll­te.

das mi­ni­fi­zie­ren bringt theo­re­tisch ein paar KB da­ten­er­spar­nis (die wahr­schein­lich oh­ne­hin nicht ins ge­wicht fällt, weil der ser­ver oh­ne­hin kom­pri­mier­te da­tei­en aus­lie­fert), aber dass über­flüs­si­ges leer­zei­chen ver­schwin­den und die struk­tur ins­ge­samt les­ba­rer ist, dar­an kann ich mich stun­den­lang er­freu­en. das ist in etwa so, als ob ch mir selbst ei­nen schrank baue und den mit den tü­ren zur wand mon­tie­re, da­mit ich mich an des­sen rück­sei­te er­freu­en kann. wie mei­ne mut­ter schon sag­te: manch­mal muss man sich ein­fach auch mal ne freu­de ma­chen.

screenshot der github seite für den kirby-html-pretty Public plugin
(klick aufs bild führt zur git­hub sei­te des plug­ins)

geo­da­ten-vi­be-co­ding

felix schwenzel in über wirres

ich gebe zu, ich ma­che hier nicht al­les selbst. ich las­se mir hel­fen. zu­min­dest bei der tech­nik. aber das ma­chen fast alle. man stellt sich auf die schul­tern von gi­gan­ten und nutzt das, was an­de­re ge­baut ha­ben. word­press, drup­al, hugo, yekyll, mi­cro­blog, wha­te­ver. un­zäh­li­ge plug­in er­wei­tern uns al­len die mög­lich­kei­ten. die we­nigs­ten bau­en sich ihr CMS selbst, aus­nah­men be­stä­tiugen die re­geln.

ich habe mich für kir­by ent­schie­den, habe da­für eine be­sch­ei­de­ne li­zenz­ge­bühr be­zahlt und zah­le auch für ein paar plug­ins. und ich zah­le mitt­ler­wei­le auch ei­nen pro­gram­mier-as­sis­ten­ten — dem git­hub ko­pi­lo­ten — ein statt­li­ches mo­nats­ge­halt von um die 50 €. aber ich fin­de das lohnt sich. ich schrau­be täg­lich ir­gend­wo am blog rum und der ko­pi­lot hilft mir die sa­chen bes­ser zu ver­ste­hen, bes­se­re lö­sun­gen zu fin­den und klei­ni­ge­kei­ten zu per­fek­tio­nie­ren. ich bin kein gu­ter pro­gram­mie­rer, aber ich ver­ste­he ei­ni­ger­mas­sen um was es geht, was wich­tig ist und habe eine gute vor­stel­lung da­von wo ich hin will. der ko­pi­lot hilft mir we­ni­ger schlecht zu pro­gram­mie­ren (frei nach pas­sig).

in den letz­ten ta­gen hat mir der ko­pi­lot auch da­bei ge­hol­fen über­haupt zu ver­ste­hen was mein der­zei­ti­ges lieb­lings­plug­in kir­by-seo über­haupt kann und wie man es im­ple­men­tiert. ich hat­te zwar so eine ah­nung, aber mit der doku wäre ich nie dar­auf ge­kom­men, wie ein­fach es da­mit ist mei­ne blog ma­schi­nen­les­ba­rer zu ma­chen. und wie ele­gant das al­les im­ple­men­tiert und zu nut­zen ist.

// Blog­Pos­ting Schema
$schema = $page->schema('Blog­Pos­ting')
      ->url($page->metadata()->ca­no­ni­cal­Url())
      ->da­te­Pu­blished($page->date()->toDate('c'))
      ->da­te­Mo­di­fied($page->modified('c'))
      ->de­scrip­ti­on($page->metadata()->me­ta­De­scrip­ti­on())
      ->in­Lan­guage('de')
      ->headline($page->title());

if ($author) {
    $schema->author(
        schema('Person')
            ->name($author->name()->value())
            ->url($author->url())
    );
}

// OG-Bild hin­zu­fü­gen falls vorhanden
$ogImage = $page->metadata()->get('ogImage')->toFile();
if (!$ogImage && $cover1) {
    $ogImage = $cover1;
}
if ($ogImage) {
    $schema->image($ogImage->url());
}

                    

ge­le­gent­lich sass ich vorm bild­schirm und sag­te aus­ver­se­hen zu mir selbst: „wow!“ ob­wohl ich ei­gent­lich gar nicht mit mir selbst spre­che.

an­de­rer­sei­te: oft ist der ko­pi­lot über­for­dert, noch öf­ter baut er scheis­se, über­sieht de­tails, ver­gisst dass ich kir­by 5.1 nut­ze und nicht die kir­by-ver­si­on, die ge­ra­de ak­tu­ell war, als er in der leh­re war.

(↑ via kon­stan­tin)

aber manch­mal über­rascht er mich auch. eben habe ich es ge­fragt:

ich habe fol­gen­de idee:

ein php script das ein­mal pro tag alle lo­ca­ti­on da­ten aus al­len ar­ti­kel klaubt und in ei­ner json da­tei si­chert.

dar­aus wür­de ein an­de­res script eine da­tei ma­chen, mit der ich für jede lo­ca­ti­on ei­nen mar­ker auf ei­ner kar­te dar­stel­len könn­te. am bes­ten ir­gend­wie mit open street map, ger­ne auch ex­tern ge­hos­tet. hast du ideen für die um­set­zung?

aus die­ser an­for­de­rung hat der ko­pi­lot in­ner­halb von 2 mi­nu­ten ei­nen funk­tio­nie­ren­den pro­to­ty­pen ge­baut: wir­res.net/kar­te. da war ich ziem­lich baff.

wir ha­ben noch ein stun­de ge­mein­sam et­was an der kar­te ge­feilt, da­tums­for­mat ein­deut­schen, clus­ter­ring der lo­ca­ti­on pins, bild-thum­nails hin­zu­fü­gen — und das wars mehr oder we­ni­ger.

screenshot der karte die ich zusmamen mit dem kopiloten (einem LLM) gebaut habe. im grossraum berlin sieht man um die 1200 gepinnte orte, in schottland um die 100, in hamburg um die 150.
(klick auf die kar­te öff­net die kar­te)

die geo­da­ten samm­le ich seit 2008. gröss­ten­teils stam­men sie von in­sta­gram und check­ins, aber auch frei-hand habe ich vie­le ar­ti­kel mit geo­da­ten ver­se­hen. ak­tu­ell liest kir­by auch geo­da­ten aus hoch­ge­la­de­nen fo­tos aus, wes­halb die ak­tu­el­le­ren geo­da­ten et­was aku­ra­ter sind als das was von in­sta­gram kommt.

wenn ich auf in­sta­gram fo­tos von spa­zier­gän­gen in den reh­ber­gen pos­te, lan­det der lo­ca­ti­on pin im­mer auf der cat­cher-wie­se.

das ist na­tür­lich al­les ein rab­bit hole ohne ende. ir­gend­wann will ich den in­sta­gram lo­ca­ti­on-scheiss auf­räu­men, ein fil­ter nach da­tum wäre schön, die th­umb­nails könn­ten qua­dra­tisch sein und ich ver­mis­se fo­tos, von de­nen ich dach­te, sie sei­en ei­gent­lich mit geo­tags ver­se­hen. ich ver­spü­re das be­dürf­nis lü­cken, lee­re stel­len auf der kar­te zu fül­len. feh­ler, dopp­lun­gen, aus­las­sun­gen zu fi­xen. zu dann fra­ge ich mich aber auch wie­der: war­um? wozu?

die ant­wort lau­tet na­tür­lich: war­um nicht? vor al­lem mer­ke ich: es ist schön, so im ei­ge­nen œu­vre zu stö­bern. ich könn­te na­tür­lich auch in der foto-app auf mei­nem te­le­fon stö­bern, aber die fo­to­samm­lung auf dem te­le­fon ist un­ge­fil­tert, ent­hält noch mehr ir­rele­vanz als hier. die fo­tos die sich hier im lau­fe der jah­re an­ge­sam­melt habe sind zu­min­dest ge­fil­tert.

p.s.: die kar­te ist ei­ner der we­ni­gen orte hier auf wir­res.net, an dem da­ten (ja­va­script, open-street-map kar­ten-ka­cheln, etc.) von ex­ter­nen sei­ten nach­ge­la­den wer­den.

p.p.s.: den ar­ti­kel zu schrei­ben hat dop­pelt so lan­ge ge­dau­ert wie die kar­te zu bau­en.


200 ta­ge blog­gen

felix schwenzel in über wirres

ich habs vor 50 ta­gen schon ge­schrie­ben, die über­schrift ist quatsch und es ist auch das letz­te mal, dass ich drauf hin­wei­se. je­den tag was ins in­ter­net zu schrei­ben oder zu ver­öf­fent­li­chen ist ja ganz of­fen­bar nicht schwer, sonst hät­te ich es nicht ge­schafft. ich mach das jetzt (wei­ter) je­den tag, ohne drauf hin­zu­wei­sen. so macht freerk das schliess­lich auch auf sei­nem elch­ge­weih.de:

je­den Tag et­was auf­schrei­ben

ich lese im elch­ge­weih ger­ne und ich fin­de es wit­zig wie das mit der dis­co­vera­bi­li­ty heut­zu­ta­ge (im­mer noch) funk­tio­niert. je­mand er­wähnt ei­nen, man sieht sich oder sieht sich nicht, guckt kurz, freut sich, mag was der oder die an­de­re schreibt und rein in den feed-rea­der oder an­ders­wo ge­folgt.

aber viel­leicht mach ich es doch, dass ich alle 100 tage oder so ei­nen sta­tus­be­richt in ei­ge­ner sa­che ab­ge­be. ob­wohl ins in­ter­net schrei­ben ja ei­gent­lich eh nichts an­de­res ist als ei­nen sta­tus-be­richt in ei­ge­ner sa­che ab­zu­ge­ben.

aber ich könn­te die be­su­cher­zah­len nen­nen. die sind eher auf dem ab­stei­gen­den ast.

matomo (besucherstatistik) screenshot mit monatlichen besucherzahlen. von märz bis august steigend (august 6500 besucher), seitdem eher sinkend: im oktober ca. 5700

oder aus dem ma­schi­nen­raum schrei­ben was ich in den letz­ten ta­gen und wo­chen an­ge­passt oder ver­bes­sert oder um­ge­setzt habe. da­von ist mein lieb­lings­fea­ture, dass ich für ein­zel­ne ele­men­te in ar­ti­keln aus­wäh­len kann ob sie im RSS feed ge­zeigt wer­den — oder um­ge­kehrt, im web auf­tau­chen oder nicht. so kann ich qua­si ge­hei­me bot­schaf­ten, oder fra­gen an mei­ne rss-le­ser im ar­ti­kel-RSS ver­öf­fent­li­chen. zu­letzt hat­te ich mich ge­fragt, ob html-ta­bel­len über­all so scheis­se aus­se­hen wie bei mir im in der ree­der clas­sic app. es sieht so aus, als hät­ten die meis­ten RSS rea­der et­was css an bord, um ta­bel­len ein biss­chen zu sty­len. gut.

auf das „sty­ling“ oder bes­ser die funk­ti­ons­fä­hig­keit des RSS-feeds ver­su­chen ich sehr zu ach­ten. ich has­se es wenn mir word­press-blogs statt em­beds oder film­chen im feed sa­gen, ich sol­le ja­va­script ak­ti­vie­ren oder mei­nen „con­sent“ ab­ge­ben, um be­stimm­te in­hal­te zu se­hen. des­halb bet­te ich you­tube fil­me im RSS mit dem da­ten­schutz­frei­en you­tube em­bed-code ein, was mei­ner er­fah­rung nach meis­tens funk­tio­niert, bet­te lo­ka­le vi­de­os auch so ein, dass sie funk­tio­nie­ren müss­ten und gebe mir mühe bei spie­le­rei­en wie dem jux­ta­po­se play­er im RSS pas­sen­den er­satz be­reit­zu­stel­len (de­gra­de graceful­ly).

wenn mir das mal nicht ge­lingt, freu ich mich über freund­li­che hin­wei­se, aber auch über wüs­te be­schimp­fun­gen.

an­sons­ten habe ich in den letz­ten ta­gen an mei­ner such­ma­schi­nen-de­op­ti­mie­rung ge­ar­bei­tet. schon seit ge­rau­mer zeit schlies­se ich such­ma­schi­nen­in­de­xie­rung bei ar­ti­keln die äl­ter als 5 jah­re sind aus. das ist gar nicht mal so ein­fach. wenn man über­sichts­sei­ten kom­plett aus­schliesst wird goog­le sehr kie­big, des­halb las­se ich die ers­ten 5 über­sichts­sei­ten in­de­xie­ren, den rest ver­bie­te ich. re­zep­te und be­stimm­te ar­ti­kel las­se ich nach 5 jah­ren in­de­xier­bar, aber die mar­kie­re ich ma­nu­ell. das habe ich frü­her mit ei­ge­nem code ge­macht, jetzt hilft mir der kir­by seo plug­in da­bei. der hilft auch bei der er­stel­lung ei­ner site­map.xml da­tei, die den glei­chen re­geln folgt. mit dem plug­in habe ich auch ein biss­chen dar­an ge­ar­bei­tet die sei­ten­ti­tel, sei­ten­be­schrei­bun­gen und open graph vor­la­gen aus­sa­ge­kräf­ti­ger zu ma­chen und das al­les vor al­lem et­was zen­tra­ler, fein­gra­nu­la­rer und über­sicht­li­cher zu steu­ern.

der (das?) plug­in ge­fällt mir so gut, dass ich schon jetzt eine li­zenz für die 2.0er ver­si­on ge­kauft habe, ob­wohl die noch gar nicht re­leased ist.

aus­ser­dem schreib ich jetzt ver­mehrt in mark­down. dan­ke an fa­bi­an mi­cha­els kir­by-mark­down-field-plug­in. das er­mög­licht mir sehr ef­fi­zi­en­tes schrei­ben, al­ler­dings muss­te ich ein biss­chen im plug­in quell­code rum­patchen, be­vor das ales so funk­tio­nier­te, wie ich mir das vor­stel­le.

zu den view tran­si­ti­ons habe ich ja schon ge­schrie­ben, zu mei­nem er­stau­nen hat sich noch nie­mad dar­über be­klagt. ich fin­de es (noch) ganz toll, mal schau­en wie lan­ge mei­ne be­geis­te­rung hält.

und sonst so? ich habe mich über die all­ge­mei­ne er­mun­te­rung von tho­mas gi­gold recht­schrieb­feh­ler zu ma­chen sehr ge­freut. ei­gent­lich soll­te das ein rant ge­gen KI nut­zung in blogs sein, aber ich lese auch aus rants lie­ber das po­si­ti­ve raus und ver­gess den wü­ten­den rest.

Ich sag nicht, dass du "ver­zich­ten" sollst. Lass die KI dein Lek­tor sein. Aber ein Lek­tor ist ein Rat­ge­ber. Dazu ge­hört, dass du den auch igno­rie­ren kannst. Sind Recht­schreib- und Gram­ma­tik­feh­ler wirk­lich der­ma­ßen schlimm? Für mich be­ginnt der Ein­griff tat­säch­lich schon beim Satz­bau, denn schon der zeigt Per­sön­lich­keit. Lasst uns die Un­per­fek­ti­on viel mehr wie­der raus­keh­ren und ge­nie­ßen.

der (face­book) like but­ton wird zum zom­bie, auch gut: pi­xel envy:

As far as I can tell, the Face­book SDK will con­ti­nue to run in the back­ground do­ing all sorts pri­va­cy-ho­sti­le things. The best time to re­mo­ve that Ja­va­Script packa­ge from your web­site or app was, like, at least ten ye­ars ago; the next best time is right now.

und sonst? no­tiz an mich selbst: wei­ter­ma­chen — aber vor­her noch ein laub­tep­pich-foto vom #mor­gen­spa­zier­gang.

foto vom morgenspauiergang: es sieht sehr herbstlich aus und das laub bildet orangene laubteppiche unter den bäumen.

view tran­si­ti­ons

felix schwenzel in über wirres

beim me­di­en­bä­cker kürz­lich ge­se­hen, dass sei­ne über­schrif­ten an­ge­nehm ani­miert sind.

das woll­te ich auch ha­ben, also an­ge­fan­gen im quell­text zu gra­ben. es zeigt sich, das sind nur ein paar zei­len code, um die­sen ef­fekt zu er­zie­len. im css:

@media (prefers-reduced-motion: no-pre­fe­rence){
  @view-tran­si­ti­on { na­vi­ga­ti­on: auto; }
}

                    

da­mit wer­den die view tran­si­ti­ons ak­ti­viert, al­ler­dings nur, wenn der be­nut­zer in sei­nen sys­tem­ein­stel­lun­gen nicht „re­du­zier­te be­we­gung“ ein­ge­stellt hat.

ele­men­te die man ani­mie­ren möch­te müs­sen über die sei­ten hin­weg ein­fach den glei­chen view-tran­si­ti­on-name be­kom­men. in mei­nen kir­by tem­pla­tes und snip­pets habe ich da­für ge­sorgt, dass alle <article> und <img> ele­men­te den glei­chen view-tran­si­ti­on-name be­kom­men.

<article data-template="templates/note.php" class="note id-<?= $page->uuid()->id() 
    ?> category-<?= $page->category() 
    ?> category-x<?= $category 
    ?> h-entry" id="<?= $page->uuid()->id() 
    ?>" style="view-tran­si­ti­on-name: vt-<?= $page->slug() ?>-article">

                    

und das is­ses schon. funk­tio­niert fas­zi­nie­ren­der­wei­se über sei­ten hin­weg, chro­me(ium) und sa­fa­ri kön­nen es, fire­fox noch nicht (über sei­ten hin­weg) .

ins­ge­samt la­den alle sei­ten et­was wei­cher, weil ich meis­tens kei­ne ge­kürz­ten ar­ti­kel an­zei­ge, ist die ani­ma­ti­on, fin­de ich, ziem­lich sub­til. le­dig­lich im ar­chiv, in such­er­geb­nis­sen oder im bil­der-grid auf der rück­sei­te ist es et­was auf­fäl­li­ger.


bad ro­bots

felix schwenzel in über wirres

nur fürs pro­to­koll; ges­tern abend, so ge­gen 20 uhr klemm­te mein ei­gent­lich (mitt­ler­wei­le) su­per per­for­man­tes blog (ja, die­ses blog hier) und lud nicht mehr. ich sah eine pro­zes­sor­aus­las­tung (load avera­ge) in htop von > 30.00, die 4 CPU ker­ne wa­ren dau­er­haft auf 100%. im kir­by feh­ler­log sah ich sehr, sehr vie­le feh­ler (php time­outs). chat GPT dia­gnos­ti­zier­te eine bot at­ta­cke mit asia­ti­schen IP-adres­sen. ein­zel­ne IP adres­sen zu blo­cken brach­te gar nichts.

was half: ein­mal kurz cloud­fla­re ein­schal­ten. da­mit war der traf­fic so­fort weg. nach 2 mi­nu­ten habe ich es wie­der de­ak­ti­viert und die bots blie­ben weg. of­fen­bar hat cloud­fla­re eine sehr ab­schre­cken­de wir­kung.

screenshot einer botattacke auf wirres.net am 03.11.2025, die peak load average von 35.50 ist gut zuerkennen und geht danach wieder runter.

ar­ti­kel­ti­tel von uber­space ge­klaut (le­sens­wert und frus­trie­rend, dass auch uber­space mit so ei­nem schrott zu kämp­fen hat und kei­ne ein­fa­chen lö­sun­gen dazu hat).


„AI-slop“

felix schwenzel in artikel

vol­kers ant­wort auf mei­nen letz­ten bei­trag, der ein KI ge­ne­rier­tes sym­bol­bild in „kne­te“ nutz­te, lau­te­te:

der „ori­gi­nal“ fe­lix re­agier­te auf kri­tik meist re­ni­tent oder spitz­fin­dig. spitz­fin­dig re­agiert der ak­tu­el­le fe­lix wei­ter­hin. oder po­si­ti­ver aus­ge­drückt, ich re­agie­re auf kri­tik nach­denk­lich. und wer­de dann spitz­fin­dig. in die­sem fall, in­dem ich zu­nächst prä­zi­si­on bei der kri­tik ein­for­de­re. da­von dass be­grif­fe wie AI-slop von men­schen „slop­py“ be­nutzt wer­den, war of­fen­bar auch mar­tin ge­nervt und liess clau­de dazu ar­gu­men­te sam­meln. das als ant­wort auf vol­ker wei­ter zu ver­wen­den wäre dann aber tat­säch­lich slop­py.

vol­ker hat im kern na­tür­lich recht. er ist ge­nervt von der ver­meint­lich ge­dan­ken­lo­sen ver­wen­dung von KI-werk­zeu­gen zur bild­ge­ne­rie­rung. ich bin teil­wei­se auch ge­nervt von der äs­the­tik die­ser bil­der und fra­ge mich: war­um, muss das sein? aber wirk­lich ge­dan­ken­los muss das nicht sein. der schock­wel­len­rei­ter ist zum bei­spiel so freund­lich die promts (und werk­zeu­ge) zu nen­nen, die er zur KI-ar­ti­kel­bild­ge­ne­rie­rung nutzt. hier zum bei­spiel:

Prompt: »Co­lo­red Fran­co-Bel­gi­an Co­mic Style. An ele­phant in a green dres­sing gown sits at a desk in front of an old-fa­shio­ned steam­punk-style com­pu­ter. The sur­roun­ding walls are li­ned with shel­ves fil­led with old books. In the back­ground is a win­dow over­loo­king a city. Th­rough the win­dow, a blimp can be seen in the sky. Sun­light floods the room.«. Mo­dell: Nano-Bana­na.

der schock­wel­len­rei­ter lässt sich bil­der er­stell­len, die sei­nen vor­stel­lun­gen von pas­send, schön oder sei­nen as­so­zia­tio­nen ent­spre­chen (zur neu­en ver­si­on von lib­re of­fice as­so­ziert er aus un­er­find­li­chen grün­den „a sexy young wo­man with long red hair, green eyes and red lip­stick“). ich gehe da­von aus, er mo­di­fi­ziert die promts, wenn das er­geb­nis, das er ge­lie­fert be­kommt, nicht sei­nen vor­stel­lun­gen ent­spricht. nicht an­ders, als wenn er ei­nen pro­fes­sio­nel­len il­lus­tra­tor fra­gen wür­de, mit dem un­ter­schied, dass hier kein ho­no­rar fliesst, son­dern höchs­tens abo-ge­büh­ren.

der alte fe­lix (das „ori­gi­nal“?) hat frü­her sym­bol­bil­der ge­goo­gelt (bei­spiel 1, bei­spiel 2). das birgt im­mer die ge­fahr in ur­he­ber­recht­fal­len zu tap­pen, öff­ne­te aber ge­le­gent­lich die chan­ce auf wirk­lich gute ka­lau­er. manch­mal habe ich ge­goo­gel­te bil­der leicht mo­di­fi­ziert (bei­spiel 4), aber auch re­mi­xe bar­gen wei­ter die mög­lich­keit in ur­he­ber­recht­li­che fal­len zu tap­pen. ge­le­gent­lich habe ich ei­ge­ne fo­tos als sym­bol­bild ge­nutzt, manch­mal führ­te das zu ganz gu­ten text-bild-sche­ren (bei­spiel 5). weil mei­ne il­lus­tra­ti­ven fä­hig­kei­ten nicht be­son­ders weit rei­chen, sa­hen sym­bol­bil­der manch­mal sehr, sehr sim­pel aus (bei­spiel 6). da half es dann auf vor­ge­fer­tig­tes zu­rück­zu­grei­fen, et­was, das man heu­te dann emo­ji-slop nen­nen könn­te (bei­spiel 7). in die­sem bei­spiel (8) bil­de­te ich mir ein, ur­he­ber­recht­li­che pro­ble­me er­folg­reich zu um­ge­hen, in­dem ich statt ei­nes prin­ce CD-co­vers mit sei­nem foto, ein­fach die rück­sei­te mei­ner lieb­lings CD nutz­te. gaa­anz sel­ten ge­lang es mir die idee der sym­bol­bil­der auf eine me­ta­ebe­ne zu he­ben, aber auf die­se sym­bol­bild-idee bin ich bis heu­te noch stolz: bei­spiel 9. ge­le­gent­lich ver­wies ich auf gran­dio­se sym­bold­bil­der, die sich an­de­re aus­ge­dacht hat­ten: bei­spiel 10, bei­spiel 11.

wa­ren mei­ne sym­bol­bil­der frü­her bes­ser? ich glau­be nicht. nur die werk­zeu­ge und quel­len wan­del­ten sich im­mer wie­der. wahr­schein­lich sind sym­bol­bil­der im­mer ein biss­chen slop, also un­nö­ti­ges bei­werk, deko. und dass die ver­wen­dung von KI-werk­zeu­gen emo­tio­nen weckt ver­ste­he ich auch in an­sät­zen, weil man die­se bil­der halt neu­er­dings über­all sieht. aber an­de­rer­seits ver­ste­he ich es auch nicht.

ich habe heu­te mal ei­nen schrau­ben­schlüs­sel mit mei­ner neu­en ka­me­ra fo­to­gra­fiert und frei­ge­stellt. hier der ver­gleich zwi­schen der foto-, emo­ji- (🔧) und ki-va­ri­an­te.

der witz ist na­tür­lich, dass auch das foto mit KI-werk­zeu­gen ent­stand. mei­ne ka­me­ra be­nutzt KI zur er­stel­lung, ver­ar­bei­tung, ver­bes­se­rung und die nach­be­ar­bei­tung der bil­der, der her­stel­ler nennt die vor­gän­ge und werk­zei­ge hin­ter der fo­to­er­stel­lung ma­chi­ne lear­ning, neu­ral en­gi­ne oder „in­tel­li­gence“. und auch das frei­stel­len des schrau­ben­schlüs­sels ge­schieht auf der ka­me­ra mit KI-werk­zeu­gen.

so ge­se­hen ist je­des ein­zel­ne foto das ich hier ver­öf­fent­li­che „AI-slop“. emo­ji wer­den auch nicht mehr per hand ge­zeich­net, da wer­keln die de­si­gner mit ziem­li­cher si­cher­heit auch mit werk­zeu­gen her­um, die sie hier und da mit KI-funk­tio­nen un­ter­stüt­zen. so ge­se­hen ist jede der oben ge­zeig­ten va­ri­an­ten mei­nes sym­bol­bilds ir­gend­wie KI-durch­seucht.

ich gebe zu: die schöp­fungs­hö­he die­ses und vie­ler an­de­rer sym­bol­bil­der die ich hier be­nut­ze ist nicht son­der­lich hoch. und die mühe, die ich zur il­lus­tra­ti­on von tex­ten auf­wen­de ist im ver­gleich zum schrei­ben auch ge­ring. in­so­fern han­delt es sich viel­leicht um „slop“, im sin­ne von man­geln­der sorg­falt. aber KI ist mitt­ler­wei­le eben in fast al­len le­bens­be­rei­chen tief ein­ge­drun­gen, in die fo­to­gra­fie, in film und fern­se­hen (vfx, spe­zi­al­ef­fek­te) und in die wis­sen­schaf­ten so­wie­so, mit enorm po­si­ti­ven fol­gen wie ne­ga­ti­ven fol­gen. der trick bei der fo­to­gra­phie und gu­ten spe­zi­al ef­fek­ten ist halt die KI-werk­zeu­ge nicht schlam­pig (slop­py) zu ver­wen­den, son­dern so ge­konnt, dass es nie­mand merkt, selbst KI-lu­di­ten nicht.


nach­trag 20.10.2025: der schock­wel­len­rei­ter er­klärt sei­nen work­flow und werk­zeu­ge zu bild-ge­ne­rie­rung.


bench­bar­king

felix schwenzel in über wirres

kon­stan­tin:

Hab von ei­nem Kol­le­gen über das Pa­ge­Speed In­sights-Tool er­fah­ren. Und kon­ne­xus.net dar­in aus­pro­biert.

in­ter­es­sant, dass kon­stan­tin das nicht kann­te. ich bin seit über 20 jah­ren treu­er kun­de bei den Pa­ge­Speed In­sights. ich bin ein gros­ser fan da­von mir best prac­ti­ces an­zu­se­hen, also zu schau­en wie man et­was rich­tig macht um dann das, was ich ma­che, ent­we­der ein biss­chen bes­ser oder gar gut zu ma­chen. des­halb schaue ich mir ger­ne vi­de­os von leu­ten an die sa­chen gut ma­chen oder ein­fach ihre pro­zes­se tei­len.

das goog­le tool tes­tet ja nicht nur, um am ende zu ei­ner be­wer­tung zu kom­men, son­dern um auf po­ten­zi­el­le pro­ble­me und de­ren be­he­bung hin­zu­wei­sen. und das fin­de ich nicht nur hilf­reich, son­dern be­frie­digt mei­nen drang din­ge zu op­ti­mie­ren. ich scher­ze ja im­mer dass ich der pro­to­ty­pi­sche di­let­tant bin, oder we­ni­ger selbst­krit­sch, dass ich al­les ein biss­chen und nichts rich­tig kann. per­fek­tio­nis­mus mei­de ich, aber ich op­ti­mie­re sehr ger­ne. ich mag es din­ge re­la­tiv zu ver­bes­sern, nicht ab­so­lut. und die Pa­ge­Speed In­sights-Tool hel­fen mir da­bei enorm.

die er­geb­nis­se von sol­chen bench­marks zu ver­öf­fent­li­chen, also zum bei­spiel die leis­tungs-, bar­rie­re­frei­heits- oder seo-in­de­xe des goog­le tools, aber auch die er­geb­nis­se von quiz­zes oder IQ tests nen­ne ich ab heu­te bench­bar­king. das ist kein schreib­feh­ler, son­dern ein wort­spiel, das sich laut goog­le of­fen­bar noch nie­mand vor mir aus­ge­dacht hat.

des­halb bench­bar­ke ich jetzt auch mal eine mo­ment­auf­nah­me mei­ner Pa­ge­Speed In­sights er­geb­nis­se, auch weil ich in den letz­ten ta­gen wie­der ei­ni­ges op­ti­miert habe:

  • bil­der wer­den jetzt (fast) durch­ge­hend in mo­der­nen for­ma­ten (avif, webp) und noch­mal grös­sen-op­ti­miert aus­ge­lie­fert.
  • ich lie­be la­zy­loa­ding, aber abo­ve the fold mag goog­le das gar nicht, wes­halb jetzt die ers­ten 3-4 bil­der ei­ner sei­te „eager“-la­den.
  • de­ak­ti­vie­rung von cloud­fla­re
  • ich habe jetzt end­lich ei­nen weg ge­fun­den das RAM mei­nes ser­vers ein biss­chen aus­zu­nut­zen: op­cache
wenn ichs recht verstehe, nutzt der server fast die ganzen 16 GB RAM fürs caching. nur die knapp 3 GB RAM in grün/violett/blau sind „ernsthafte“ RAM nutzung. das RAM fürs caching kann bei bedarf sofort freigegeben werden.

je­den­falls, das ist ein er­geb­nis von eben:

  • Per­for­mance 95% — das va­riert al­ler­dings, je nach­dem was abo­ve the fold ist und manch­mal re­agiert der ser­ver doch noch mit ein paar ms ver­zö­ge­rung. die „desk­top“-mes­sung er­gibt je­doch fast im­mer 100%.
  • Ac­ces­si­bi­li­ty 86% — noch eine bau­stel­le, aber dass ich an der 90 krat­ze zeigt, ich geb mir mühe.
  • Best Prac­ti­ces 82% — va­riert ko­mi­scher­wei­se auch im­mer wie­der, ich glau­be das tool ist da auch ein biss­chen la­un­sisch
  • SEO 92% — ei­nen ge­wis­sen ehr­geiz in die­sem feld kann ich nicht be­strei­ten

(mes­sung vom 7.10.2025)


su­che nach „fe­lix schwen­zel“

felix schwenzel in über wirres

nach fünf jah­ren blog­pau­se er­gab eine su­che nach „fe­lix schwen­zel“ ein ka­ta­stro­pha­les bild. an ers­ter stel­le mein still­ge­leg­tes twit­ter-pro­fil, dann in lo­ser, wechsln­der fol­ge in­sta­gram, th­reads, xing oder lin­ke­din. mei­ne sei­ten, wir­res.net und fe­lix.schwen­zel.de ganz weit hin­ten auf fol­ge­sei­ten. es hat von april bis vor un­ge­fähr mit­te sep­tem­ber ge­dau­ert, bis eine goog­le (oder duck­duck­go) su­che nach „fe­lix schwen­zel“ wie­der an­nehm­ba­re er­geb­nis­se er­gab. jetzt ist wech­selnd fe­lix.schwen­zel.de oder wir­res.net (wie­der) an ers­ter stel­le.

screenshot einer google suche nach „felix schwenzel“ (ohne bei google angemeldet zu sein). an erster stelle felix.schwenzel.de und an zweiter wirres.net.

beim al­ten wir­res.net hat­te ich sei­ten die äl­ter als 5 jah­re sind und über­sichts­sei­ten von der su­che (oder ge­nau­er von der in­de­xie­rung durch such­ma­schi­nen) aus­ge­schlos­sen. beim neu­start im april die­sen jah­res auf kir­by habe ich so­wohl die über­sichts­sei­ten, als auch die start­sei­te von der in­de­xie­rung aus­ge­schlos­sen. bei­trags­sei­ten habe ich such­ma­schi­nen per site­map mit­ge­teilt — aus­ser bei­trä­ge die äl­ter als fünf jah­re sind (mit ma­nu­ell ge­setz­ten aus­nah­men).

dar­auf hat goog­le sehr all­er­gisch re­agiert. mein ge­dan­ke war: die über­sichts­sei­te än­dert sich so oft, dass goog­le gar nicht hin­ter­her­kommt. aber goog­le ist ja nicht von ges­tern und macht das, wie man auf dem screen­shot sieht schon ganz gut. seit­dem goog­le ein paar über­sichts­sei­ten tief in die web­site rein­in­de­xie­ren darf, ist es auch wie­der nett zu mir. ab über­sichts­sei­te 5 ist aber schluss und ar­ti­kel die äl­ter als 5 jah­re sind, schlies­se ich wei­ter­hin aus.

die KI zu­sam­men­fas­sun­gen die manch­mal, aber manch­mal auch nicht am an­fang der such­ergeb­nis­sei­te ste­hen, sind teil­wei­se ganz ok, teil­wei­se to­ta­le miss­ver­ständ­nis­se.

die KI zu­sam­men­fas­sung über mich ist ganz OK, wenn auch nicht 100% ak­ku­rat.
die KI zu­sam­men­fas­sung über die be­deu­tung von „fach­blog für ir­rele­vanz“ ist to­ta­ler quatsch.

da hat die goog­le KI ei­nen ar­ti­kel von se­bas­ti­an le­ber über die re­pu­bli­ca 2017 völ­lig miss­ver­stan­den.

apro­pos ir­rele­vanz, ich weiss, goog­le such­ergeb­nis­se sind schon lan­ge nicht mehr ent­schei­dend, aber ich bin froh, dass man mit et­was mühe goog­le und an­de­re such­ma­schi­nen dazu brin­gen kann die such­ergeb­nis­se ein biss­chen um zu sor­tie­ren. war­um twit­ter von goog­le al­ler­dings im­mer noch für re­le­vant ge­hal­ten wird bleibt mir ein rät­sel.

apro­pos su­che. ich bin ja ganz zu­frie­den wie die in­ter­ne su­che hier funk­tio­niert. da­hin­ter steckt lou­pe, bzw. ein plug­in der lou­pe im hin­ter­grund nutzt. aber lei­der geht der such-in­dex ge­le­gent­lich ka­putt wie ich ges­tern merk­te. der in­de­xie­rungs­pro­zess dau­ert so um die zwei stun­den, viel­leicht sol­le ich das alle paar wo­chen per cron job in der nacht trig­gern.

nach­trag:

kaum schrei­be ich drü­ber, ist wir­res.net wie­der aus den such­ergeb­nis­sei­ten ver­schwun­den (auf sei­te 4). sehr vo­la­til al­les. ich habe die start­sei­te und die über­sichts­sei­ten von wir­res.net al­ler­dings ges­tern um­be­nannt. viel­leicht braucht es et­was zeit, bis sich der schock für goog­le wie­der ein­renkt. an­sons­ten auch schön, dass ich jetzt zu­min­dest screen­shots habe, die zei­gen: wir­res.net war mal ganz weit vor­ne.


aus dem ma­schi­nen­raum 28.09.2025

felix schwenzel in über wirres

dass mar­kus am 24. sep­tem­ber kei­nen ein­trag ge­schrie­ben hat, liess mich auch ges­tern nicht los und ich hab kei­nen bei­trag bei mir noch et­was „ver­bes­sert“ mit „sound­ci­te“. das kann dann so aus­se­hen (funk­tio­niert mit ja­va­script, also nicht per RSS):

als vor ei­ni­gen jah­ren eins von do­nald trumps vor­bil­dern, wal­ter ulb­richt, sag­te:

nie­mand hat die ab­sicht eine mau­er zu er­rich­ten.

… war das ein wich­ti­ger mo­ment in der ge­schich­te des re­gie­rungs­na­hen lü­gen. (au­dio­quel­le)

aus­ser­dem sind mir noch zwei sehr alte ar­ti­kel un­ter­ge­kom­men, die nicht mehr funk­tio­nier­ten und die ich re­pa­rie­ren muss­te. die ar­ti­kel nut­zen „jux­ta­po­se“, so eine art slider, mit dem man vor­her nach­her bil­der an­se­hen kann. bei­spie­le hier und hier. wird auch nicht per RSS funk­tio­nie­ren, aber mal schau­en ob das auch als ein­bet­tung funk­tio­niert:

kürz­lich wa­ren wir ja in der al­ten na­tio­nal­ga­le­rie und da habe ich die­ses bild ge­se­hen (und fo­to­gra­fiert).

edu­ard gärt­ner: die bau­aka­de­mie, 1868

ich dach­te: da komm ich je­den tag dran vor­bei, kann ich ja auch mal selbst fo­to­gra­fie­ren. und sie­he da, es deckt sich. fast:

(ani­ma­ti­on mit jux­ta­po­se ge­macht)

ursprünglich veröffentlicht am 25.02.2016

die fake bau­aka­de­mie ist ja schon lan­ge wie­der ver­schwun­den. bei mei­nen bau­ar­bei­ten hilft mir jetzt clau­de son­net 4, das schien an­fangs be­ein­dru­ckend fä­hig, hat mich aber heu­te wie­der dazu ge­bracht, mir zwei bis drei stun­den voll­mun­di­ge ver­spre­chen an­zu­hö­ren, die am ende zu nichts ge­führt ha­ben, zu kom­plex, so dass ich ein fea­ture wie­der ein­stamp­fen muss­te. da­für ist clau­de, wie man hier sieht, mit noch mehr will to plea­se aus­ge­stat­tet, als chatGPT.


aus dem ma­schi­nen­raum 25.09.2025

felix schwenzel in über wirres

als ich vor zwei mo­na­ten das hos­ting von wir­res.net von uber­space zu mei­nem ar­beit­ge­ber um­ge­zo­gen habe, hat­te ich auch wie­der cloud­fla­re ak­ti­viert (vor 5 mo­na­ten hat­te ich es ab­ge­schal­tet). der ge­dan­ke da­hin­ter war, wir­res.net auch per IPv6 aus­zu­lie­fern, weil die VM auf der wir­res.net läuft bis­her nur IPv4 kann und cloud­fla­re das über­brü­cken kann, bzw. IPv6 be­dient.

seit zwei mo­na­ten be­ob­ach­te ich aber zu­hau­se im­mer wie­der (sehr) lang­sa­men sei­ten­auf­bau von wir­res.net. das hat ei­ner­seits dazu ge­führt, dass die wahn­sin­nig viel am set­up op­ti­miert (und ge­lernt) habe, aber trotz­dem wei­ter­hin, ins­be­son­de­re in den abend­zei­ten, wahn­sin­nig lang­sa­men sei­ten­auf­bau und down­loads be­ob­ach­tet habe. wenn ich wir­res.net per LTE auf­rief, also aus dem O₂-netz, flupp­te es ganz gut.

zwi­schen­zeit­lich hat­te ich des­halb mei­nen DSl-an­schuss und un­ser WLAN im ver­dacht. mes­sun­gen zeig­ten aber, dass so­wohl das WLAN, als auch das (te­le­kom) DSL ein­wand­frei bis sehr gut funk­tio­nie­ren. DSL lie­fert so­gar ein drit­tel mehr als die ge­buch­ten 50 mbit/s. chatGPT hat­te, wie vie­le men­schen in di­ver­sen on­line-fo­ren, den ver­dacht, dass das pro­blem beim pee­ring zwi­schen cloud­fla­re und der te­le­kom lie­gen könn­te.

mes­sun­gen mit mtr -rw -c 100 wir­res.net zeig­ten, dass tat­säch­lichh zwi­schen dem te­le­kom-netz und cloud­fla­re mas­si­ve pa­ket­ver­lus­te auf­tre­ten. die ver­schwan­den, so­bald ich cloud­fla­re aus­schal­te­te. jetzt ist also wie­der al­les wie es sein soll. wer wir­res.net auf­ruft spricht di­rekt mit ei­ner VM die al­lein ich kon­trol­lie­re, bei sy­se­le­ven liegt und mitt­ler­wei­le ganz gut op­ti­miert ist und nicht ge­ra­de schwach­brüs­tig ist — aber da­für noch kein IPv6 kann.

IPv4 soll­te aber kein pro­blem sein und ich hof­fe, dass wir­res.net jetzt tat­säch­lich so schnell über­all an­kommt, wie es an­kom­men soll.

coo­kies und fremd­tra­cker oder code von drit­ten sind hier auch wei­ter­hin nir­gend­wo vor­han­den.


to­te links un­tö­ten

felix schwenzel in über wirres

es zeigt sich, dass die knapp 10.000 to­ten links die mein script zum auf­fin­den von to­ten links ge­fun­den hat noch lan­ge nicht aus­rei­chen (sie­he mein vor­he­ri­ger ar­ti­kel zu to­ten link). ich habe heu­te ein biss­chen im ar­chiv von 2007 und 2008 rum­ge­schaut und so vie­le wei­te­re tote links ent­deckt, dass ich mit mei­nem pro­gram­mier­hel­fer ein script zum leich­ten nach­pfle­gen­ge­schrie­ben habe.

links zu vie­len zei­tun­gen (faz vor al­lem) lei­ten auf die ak­tu­el­le start­sei­te wei­ter und ir­gend­wie hab ich wei­ter­lei­tun­gen nicht als po­ten­zi­el­le tote links im such­script be­rück­sich­tigt. das glei­che pas­siert mit do­mains die auf­ge­ge­ben wur­den und jetzt zum kauf an­ge­bo­ten wer­den, auch die flutsch­ten un­ter dem de­tek­tor durch. flash ist auch so ein pro­blem. ar­chi­ve.org nutzt zare ei­nen flash emu­la­tor, aber vie­le oder gar die meis­ten flash-in­hal­te funk­tio­nie­ren dann trotz­dem nicht. aber flash war schin im­mer eine schlim­me krank­heit des webs, in­so­fern hat sich da nichts ge­än­dert in den letz­ten 20 jah­ren.

je­den­falls wer­den jetzt die ka­put­ten links die ich ge­fun­den habe alle zur lauf­zeit an­ge­passt. ich habe das jetzt doch et­was sub­ti­ler mar­kiert als zu­erst ge­plant.

tote links mit ei­nem er­satz-link auf ar­chi­ve.org sind jetzt sub­til blau mar­kiert, tote links ohne ar­chi­vier­ten snapshot rot. bei­spie­le:

wie im­mer fas­zi­nie­rend was ich so beim stö­bern im ar­chiv (wie­der) ent­de­cke. an die­sen witz von 2007 (ge­dächt­nis­trai­ning) er­in­nert sich we­der die bei­fah­re­rin noch ich. und ja, es gab mal eine sehr klei­ne rie­sen­ma­schi­ne (auch 2007).

sol­che wit­ze habe ich frü­her sehr ger­ne ge­macht: „auf deutsch hies­se al­fred hitch­cock üb­ri­gens al­fred ruck­pim­mel“

oder wie mi­ni­mal­si­tisch die twit­ter snapshots von ar­chi­ve.org sind: ix ist doof (aus fol­lo­wing 3000) — wo­bei das wohl auch tech­ni­sche pro­ble­me beim snaps­hot­ten ge­we­sen sein müs­sen.

so oder so, ein an­fang ist ge­macht. stand jetzt 6848 links sind mit ar­chi­ve.org-links re­pa­riert. ca. 3000 als nicht mehr ver­füg­bar ge­kenn­zeich­net. und wahr­schein­lich ein paar hun­dert wei­te­re wol­len (ir­gend­wann) noch ge­fun­den wer­den.


we­ber­halt

felix schwenzel in über wirres

mein liebs­tes hob­by ist mich in­ten­siv mit kom­ple­xen tech­ni­schen sys­te­men zu be­schäf­ten, sie zu ver­ste­hen, an mei­ne be­dürf­nis­se an­zu­pas­sen und dann best­mög­lich am lau­fen zu hal­ten und stän­dig zu ver­bes­sern oder zu über­ar­bei­ten. den ver­gleich mit dem le­ben, in dem man die ers­ten 20 jah­re da­mit ver­bringt das gan­ze sys­tem zu ver­ste­hen und sich an­zu­pas­sen oder sei­ne best­mög­li­che funk­ti­on zu fin­den und das gan­ze dann mög­lichst lan­ge am lau­fen zu hal­ten durch ste­ti­ge op­ti­mie­rung und an­pas­sung, den ver­gleich spar ich mir jetzt oder ver­fol­ge ihn nicht wei­ter.

was ich mit die­ser web­site, die­sem sehr kom­ple­xen sys­tem, am meis­ten be­schäf­tigt, ist sie am le­ben zu hal­ten in­dem ich sie fül­le, aber ge­nau­so sie stän­dig zu re­pa­rie­ren, feh­ler zu fin­den und sie für mich (und ge­ge­be­nen­falls an­de­re) op­ti­mal nutz­bar zu ma­chen. ein nicht en­den­der, pro­zess, des­sen zwi­schen­er­geb­nis­se mich stets er­freu­en.

und dann kommt frank west­phal und schreibt die­sen ar­ti­kel: wie web­sei­ten ler­nen:

Das letz­te Le­bens­zei­chen: 13 Jah­re her.
Das ak­tu­el­le De­sign: 19 Jah­re alt.
Die­se Site war mal mein gan­zer Stolz.
Zeit, ihr neu­es Le­ben ein­zu­hau­chen …

Schritt 1: En­tro­pie zu­rück­set­zen!

um’s kurz zu ma­chen: frank be­schreibt kon­kret, wie er alte, über die zeit ver­wais­te links re­stau­riert hat. das the­ma „bro­ken links“ ver­folgt mich auch schon län­ger und erst recht seit­dem ich die­se sei­te wie­der­be­lebt habe und ziem­lich ver­lust­frei aus ei­nem ver­al­te­ten sys­tem in ein neu­es sys­tem mi­griert habe. mein ar­chiv, die sei­ten die schon ein paar jah­re auf dem bu­ckel ha­ben, sind (na­tür­lich) voll mit links die nicht mehr funk­tio­nie­ren.

bis­her habe ich das ein­fach hin­ge­nom­men und ge­le­gent­lich die url des „bro­ken links“ in die way­back ma­chi­ne ein­ge­ge­ben und nach ge­fühlt 13 klicks die alte web­site be­staunt, auf die ich vor x jah­ren mal ge­linkt habe.

auf die idee das sys­te­ma­tisch zu tun bin ich noch nicht ge­kom­men. aber was für eine gross­ar­ti­ge idee:

Ver­al­te­te Links [sind] um Län­gen bes­ser als Lö­schen oder Ab­schal­ten. Tote Links sind be­le­gen­de Ar­te­fak­te, kein Man­gel – rich­tig ge­kenn­zeich­net, zei­gen sie Quel­len­la­ge. So las­sen sich In­hal­te oft noch re­kon­stru­ie­ren – über die URL, über Ar­chi­ve, über Kon­text.

ich hab mich gleich nach dem le­sen an die ar­beit ge­macht. mei­ne pro­gram­mier-hel­fer (chatGTP) hat­te zu­erst et­was wil­de ideen um das in kir­by um­zu­set­zen, aber nach ein biss­chen hin und her ha­ben wir uns auf eine stra­te­gie ge­ei­nigt, die mir ge­fällt.

  • erst­mal alle to­ten links sam­meln (in ei­ner json da­tei)
  • für die­se to­ten links dann an­hand des ar­ti­kel-da­tums ei­nen zeit­lich pas­sen­den ar­chiv-snap­shop imn ar­chi­ve.org fin­den (auch in json)
  • zur „lauf­zeit“ die ka­put­ten links mit den re­pa­rier­ten links er­set­zen und kenn­zeich­nen

alle 13.475 bei­trä­ge zu prü­fen (mit 51.735 ex­ter­nen links) hat ein script 12 stun­den lang be­schäftgt. vor­läu­fi­ges er­geb­nis: von den ca. 50.000 links sind un­ge­fähr 10.000 ka­putt.

für die­se 10.000 links die ent­spre­chen­den snapshots auf ar­chi­ve.org zu fin­den ging schon et­was schnel­ler (8 stun­den), bzw. das script läuft noch.

über das ren­dern der re­pa­rier­ten links muss ich mir noch ge­dan­ken ma­chen, der­zeit ten­die­re ich zu farb­li­cher kenn­zeich­nung, statt ei­ner kenn­zeich­nung mit dem ar­chi­ve.org-logo wie bei frank.


ro­bert ha­beck hat mal ge­bloggt (ge­fun­den in links vom 17.12.2018)


das pro­blem von web­sei­ten ist na­tür­lich (u.a.), dass man ih­nen das al­ter nicht an­sieht. wenn web­sei­ten­be­trei­ben­de nicht un­ter ei­nem stein schla­fen, kann man der sei­te zwar meis­tens das al­ter ent­neh­men, aber man sieht, riecht oder fühlt es nicht, wie man es mit ge­al­ter­tem pa­pier bei­spiels­wei­se tut. streng­ge­nom­men müss­te man alte web­sei­ten ei­gent­lich so an­zei­gen, wie sie zum ver­öf­fent­li­chungs­zeit­punkt aus­ge­se­hen ha­ben, aber das ist na­tür­lich auch wie­der quatsch, bzw. eine zu­mu­tung. ich hab mir im­mer vor­ge­stellt, dass web­sei­ten wie laub al­tern könn­ten, also rich­tung braun al­tern. bis jetzt bin ich da­mit zu­frie­den, alte sei­ten oben mit dem al­ter in jah­ren an­zu­zei­gen.

aber da wer­de ich wohl noch ein biss­chen denk­ar­beit in­ves­tie­ren müs­sen.

was mir beim tes­ten der ar­chi­ve.org api und link-kon­struk­ti­on um alte snapshots zu fin­den je­den­falls auf­fiel ist die be­geis­te­rung die mich er­griff, als ich man­che al­ten web­sei­ten mit ih­rer elek­tro­ni­schen pa­ti­na (wie­der) sah. elek­tro­ni­sche pa­ti­na sind bro­ken images, schrot­ti­ges, kan­ti­ges de­sign und mo­bil­te­le­fon-feind­lich­keit. oder bei frank west­phal, der gute alte schlag­schat­ten, den da­mals ir­gend­wie fast je­der be­nutz­te, weil es auf den grob­pi­xeli­gen bild­schir­men die wir zu die­ser zeit nutz­ten „na­tür­li­cher“ aus­sah.

je­den­falls span­nen­de neue denk­auf­ga­be und ein wei­te­rer tol­ler bau­stein bei der ewi­gen re­pa­ra­tur von wir­res.net. dan­ke frank.


ta­ge­buch 30.08.2025

felix schwenzel in über wirres

hier zu schrei­ben fällt mir ziem­lich leicht. man sagt mir nach, dass ich tex­te hier hin­rot­ze und da ist wahr­schein­lich auch was dran. ich schrei­be hier in ge­wis­sem sin­ne hem­mungs­los; wenn der eine oder an­de­re ge­dan­ke noch nicht zu­en­de ge­dacht ist, hält mich das nicht da­von ab ihn auf­zu­schrei­ben. ge­le­gent­lich rei­fen die ge­dan­ken wäh­rend des schrei­bens, manch­mal da­nach oder ich grei­fe sie spä­ter (oder nie) wie­der auf.

tex­te die ich im auf­trag schrei­be oder ge­gen geld, muss ich mir hin­ge­gen aus der nase zie­hen. ich spü­re den druck alle ge­dan­ken am ende des tex­tes zu­en­de ge­dacht ha­ben zu müs­sen, ich pres­se oft, statt es flie­sen zu las­sen. trotz­dem habe ich es bis an­fang letz­ten jah­res fast 10 jah­re durch­ge­hal­ten eine ko­lum­ne für die (ge­druck­te) t3n zu schrei­ben.

heu­te habe ich ver­sucht die noch feh­len­den ar­ti­kel hier zur ar­chi­vie­rung zu er­gän­zen und neu und kon­sis­tent zu ka­te­go­ri­sie­ren (ka­te­go­rie t3n).

(nach­trag: ex­pe­ri­men­tel­le ras­ter-über­sicht über die t3n ko­lum­nen)

die er­gän­zung des ar­chivs hat dazu ge­führt dass die dün­nen, ro­ten li­ni­en auf der ar­ti­kel pro jahr gra­fik zwi­schen 2024 und 2020 pro jahr um je­weils vier ar­ti­kel an­ge­wach­sen sind. die gel­ben bal­ken zei­gen, dass ich in mei­ner blog­pau­se von 2020 bis 2024 zwar ei­ni­ges gein­sta­gr­amt habe, aber eben kaum ge­schrie­ben.

beim ober­fläch­li­chen le­sen der t3n ko­lum­nen hab ich ge­merkt, dass ich mich im lauf der jah­re auch ge­le­gent­lich wie­der­holt habe, aber ins­ge­samt hab ich den ein­druck, dass die ko­lum­nen re­la­tiv gut ge­al­tert sind. die­se ko­lum­ne („wuff, wuff“) ist noch nicht so alt, also auch noch nicht be­son­ders ge­al­tert, aber so wür­de ich sie wohl auch heu­te noch schrei­ben, man merkt ihr ein biss­chen an, dass mir das ins in­ter­net schrei­ben ein biss­chen fehl­te.

auch in die­ser ko­lum­ne („al­les ist ein spiel“) liess mich die re­dak­ti­on ge­dank­lich mä­an­dern, als schrie­be ich hier ins blog. und trotz­dem ar­bei­te ich am ende eine idee her­aus, die gar nicht mal so doof ist und die ko­lum­ne auf eine art zeit­los macht.

an­sons­ten hab ich jetzt eine wo­che, so wie ich mir das vor­ge­nom­men hat­te, nicht wei­ter ab­ge­nom­men, jetzt will ich se­hen, ob ich das ab­neh­men wie­der lang­sam in gang brin­gen kann.

fri­da hat­te heu­te früh wie­der, wie an­fang der wo­che, eine blut­bla­se am lin­ken hand­ge­lenk, die pükt­lich beim tie­razt auf­platz­te. die tier­ärt­zin steht dia­gnos­tisch ge­nau wie wir auf dem schlauch, mal schau­en ob ge­we­be­pro­ben im la­bor uns wei­ter­brin­gen. fri­da trägt jetzt, zum schutz der wun­de, wie­der ei­nen fuss­ver­band, aber es geht ihr gut und ich glau­be, dass sie auch ohne schmerz­mit­tel schmerz­frei wäre.


feed­back loops

felix schwenzel in über wirres

ich habe über jah­re li­kes, ret­weets/re­posts oder shares von bei­trä­gen hier auf wir­res.net ge­sam­melt und lo­kal in json-da­tei­en ge­spei­chert. vor ei­ner wei­le hat­te ich die auch re­ak­ti­viert, bzw. de­ren an­zei­ge un­ter den al­ten ar­ti­keln ak­ti­viert. ob­wohl die­se si­gna­le so­zu­sa­gen ei­nen his­to­ri­schen wert ha­ben, hat­te ich das ge­fühl dass sie nicht mehr nach­voll­zieh­bar oder an­ge­mes­sen sind. frü­her ka­men die­se si­gna­le vor al­lem von zwei platt­for­men, die ich schon län­ger nicht mehr nut­ze: twit­ter und face­book. ich fand die ar­ti­kel­rang­lis­ten, die ich mit die­sen his­to­ri­schen si­gna­len er­stell­te, auch nicht wirk­lich hilf­reich und ver­zer­rend. also hab ich die­se his­to­ri­schen so­cial me­dia si­gna­le wie­der de­ak­ti­viert.

die si­gna­le die ich noch ein­samm­le sind die li­kes von in­sta­gram, so­wie die li­kes, re­posts und kom­men­ta­re von mast­o­don und blues­ky. das funk­tio­niert na­tür­lich nur, wenn ich die bei­trä­ge je­weils dort ver­öf­fent­licht oder an­ge­teasert habe. aus­ser­dem gibt’s (auf der ar­ti­kel-bei­la­ge) eine kom­men­tar­funk­ti­on und seit ein paar wo­chen auch ei­nen shit vote („i like that shit“) de­ren idee ich mir von den toast vo­tes der bear blogs ab­ge­schaut habe.

über die nütz­lich­keit oder gar re­le­vanz sol­cher si­gna­le kann man na­tür­lich strei­ten. man könn­te ar­gu­men­tie­ren, dass sol­che feed­back loops dazu ani­mie­ren ge­fäl­li­ger zu schrei­ben. die­ses ar­gu­ment mei­ne ich auch schon öf­ter in be­zug auf page-coun­ter oder be­su­cher-sta­tis­ti­ken ge­hört zu ha­ben, hal­te es aber für quatsch. die ent­schei­dung so zu schrei­ben, dass es mög­lichst vie­len leu­ten ge­fällt, mög­lichst vie­le klicks oder li­kes ge­ne­riert ist ja eher kon­zep­tio­nell.

man ent­schei­det sich ent­we­der et­was mit ei­ner brei­ten ziel­grup­pe zu ma­chen, sich an ein mas­sen­pu­bli­kum zu rich­ten oder eben ge­ra­de nicht.

statt ein logo mit ei­nem ka­cken­den hund zu be­nut­zen, statt klein­schrei­bung und schlam­pi­ger or­tho­gra­phie und zei­chen­set­zung, könn­te ich mei­ne web­sei­te auch „das könn­te dir nicht ge­fal­len“ un­ter­ti­teln. in die­sem sin­ne habe ich die­se sei­te auch lan­ge zeit „fach­blog für ir­rele­vanz“ ge­nannt. die ab­schre­ckung von le­sern auf den ers­ten blick ist teil des kon­zepts die­ser web­sei­te. das än­dert nichts dar­an, dass ich mich trotz­dem da­für in­ter­es­sie­re wie und ge­ge­be­nen­falls war­um das was ich hier schrei­be und zei­ge re­zi­piert wird.

um­ge­kehrt wür­de ich mich freu­en, wenn ein rei­bungs­frei­er, bar­rie­re­ar­mer toast, like oder wha­te­ver but­ton über­all in blogs vor­han­den wäre, wo man ein­fach per klick, ohne an­mel­dung, ohne kom­pli­ka­tio­nen ein „ge­fällt mir“ oder eine ap­plaus-ges­te hin­ter­las­sen kann. ok, ich gebe zu, eine hür­de hat auch mei­ne shit/like-but­ton im­ple­men­tie­rung: ja­va­script muss ak­ti­viert sein, da­mit es funk­tio­niert.

die aus­wer­tung die­ser si­gna­le ist aber höchst­wahr­schein­lich nicht nur für mich in­ter­es­sant, ich kann mir auch vor­stel­len das es für an­de­re hilf­reich sein kann zu se­hen, was in den text- und bild­wüs­ten die ich hier (wie­der) täg­lich pro­du­zie­re von in­ter­essanz sein könn­te.

des­halb habe ich mei­ne /top sei­te ge­baut, die alle bei­trä­ge lis­tet die mehr als 10 li­kes be­kom­men ha­ben.

wenn man die schwel­le hö­her legt und nach be­trä­gen mit > 25 li­kes fil­tert, be­kommt man 11 sei­ten oder un­ge­fährt 250 bei­trä­ge, die bis 2012 zu­rück­rei­chen. 2025 habe ich 7 bei­trä­ge ver­fasst die die­se auf­merk­sam­keits­schwel­le über­schrit­ten ha­ben. für die nach > 10 li­kes ge­fil­ter­te ver­si­on die­ser web­sei­te gibt’s na­tür­lich auch ei­nen rss feed, der bei­trä­ge dann zeit­ver­setzt und ge­fil­tert lie­fert. (mehr bei­trags-sta­tis­ti­ken fin­det man üb­ri­gens auf der rück­sei­te)

ich bin mitt­ler­wei­le in ei­nem flow, in dem ich auch ohne je­des feed­back oder be­su­cher­sta­tis­tik wei­ter­ma­chen wür­de und mei­ne ge­dan­ken, bil­der oder er­leb­nis­se hier fest­hal­ten wür­de, so wie ich auch ohne fri­da wei­ter durch die stadt spa­zie­ren wür­de. aber mit hund, mit ein we­nig ap­plaus, macht es mehr spass und in­spi­riert und öff­net neue per­spek­ti­ven.


(kein) neu­es lo­go

felix schwenzel in über wirres

an­läss­lich des mor­gen­spa­zier­gangs heu­te, woll­te ich das logo im schrift­zug et­was an­ge­pas­sen.

neu

alt

auch wenn die zeich­nung nach wie vor scheis­se ist (scnr), fin­de ich die zeich­nung der neu­en va­ri­an­te ei­nen ti­cken bes­ser. aber lei­der funk­tio­niert die neue va­ri­an­te in klein, im schrift­zug, nicht. der alte kan­ti­ge hund sieht in klein ein­fach bes­ser aus. bleibt also al­les beim al­ten. soll­te ich wir­res.net je­mals aus­dru­cken, nehm ich dann aber das neue logo.


ch­an­ge­log 19.08.2025

felix schwenzel in über wirres

ges­tern habe ich hier ei­nen „Post Graph“ ge­se­hen, der ei­gent­lich ein plug­in für ele­ven­ty ist. ich woll­te das auch ha­ben und habe chatGPT ge­fragt ob wir das ge­mein­sam bau­en könn­ten. es kam mit ei­ner ganz gu­ten lö­sung um die ecke, die ganz an­ders als das ele­ven­ty-plug­in aus­sieht und funk­tio­niert, näm­lich mit täg­li­chen fel­dern, farb­ver­läu­fen, bzw. he­at­map-funk­tio­na­li­tät und ver­lin­kung auf den je­wei­igen tag. im ori­gi­nal ist die äuf­lö­sung nur nach wo­chen, der graph ein­far­big und die wo­chen nicht ver­linkt. aber chatGPTs vor­schlag ge­fiel mir, auch wenn wir noch ein biss­chen dran fei­len muss­ten, ging das ul­tra-schnell.

„postgraph“, bzw. heatmap der veröffentlicten artikel in den letzten 12 monaten. die heatmap ist links (september bis märz)) sehr kalt, rechts ziemlich warm

weil der post graph tage ver­linkt, muss­te ich mein ar­chiv noch ein biss­chen auf­boh­ren. dort ging bis­her so­was:

/ar­chiv — über­sicht
/ar­chiv/2025/ — jah­res­über­sicht
/ar­chiv/2025/08 — mo­nats­über­sicht

aber jetzt auch

/ar­chiv/2025/08/17 — ta­ges­über­sicht

den post graph habe ich auf der rück­sei­te ein­ge­baut. weil er nicht ad­ap­tiv ist (das ori­gi­nal of­fen­bar auch nicht), blen­de ich ihn für bild­schirm­grös­sen > 1200 px aus.