kategorie: über wirres ×

um­zug zu hetz­ner

felix schwenzel in über wirres

ich mal wie­der aus dem ma­schi­nen­raum. ich habe heu­te früh die DNS-ein­trä­ge für wir­res.net auf eine hetz­ner IP um­ge­stellt, nach­dem ich in­ner­halb von we­ni­gen stun­den die gan­ze site auf eine neue hetz­ner VM mi­griert habe. die mi­gra­ti­on war wirk­lich ein­fach:

  • bei hetz­ner eine VM ein­rich­ten, et­was an der ssh-kon­fig dre­hen und do­cker in­stal­lie­ren
  • rsync von 10 GB da­ten
  • do­cker con­tai­ner hoch­fah­ren
  • fer­tig

na­tür­lich gabs da­nach noch ein paar klei­nig­kei­ten ge­ra­de­zu­zie­hen, aber das schö­ne ist, wir­res.net ist da­mit ei­ner­seits pri­ma und kom­lett mit ei­nem rsync zu back­up­pen oder zu mi­grie­ren und die ge­sam­te ser­ver­lo­gik (apa­che, php, op­cache, etc.) steht (jetzt) in ei­ner do­cker-kon­fi­gu­ra­ti­on, die sich theo­re­tisch über­all de­ploy­en lässt.

so­weit scheint mir, dass al­les funk­tio­niert. die per­for­mance schien am an­fang ein paar mal kurz am an­schlag, auch wenn die an­zahl der CPU ker­ne und RAM auf dem pa­pier die glei­chen sind, scheint es mir, als sei die hetz­ner-VM et­was schwach­brüs­ti­ger. ich be­ob­ach­te das wei­ter und falls euch et­was auf­fällt was nicht funk­tio­niert oder klemmt, lasst es mich wis­sen. aber ich sehe auch hier mal wie­der war­um kir­by so ♥️ ist.


vi­deo em­beds

felix schwenzel in über wirres

ich lie­be you­tube. also nicht you­tube an sich, aber vi­de­os auf you­tube zu se­hen. im mo­nat zäh­le ich un­ge­fähr 50 stun­den, die ich vor der tube sit­ze. ich habe auch gros­sen re­spekt vor dem al­go­rith­mus der mir die vi­de­os zu­sam­men­stellt. die mi­schung der vi­de­os ist in­ter­es­sant ge­nug um mich bei der stan­ge oder tube zu hal­ten, aber ich be­kom­me trotz­dem kei­ne schwurb­ler-vi­de­os vor­ge­setzt oder vi­de­os in die time­line ge­spült, nur weil sie ge­ra­de „tren­den“ oder so. you­tube ist mei­ne guil­ty plea­su­re, mein gar nicht mal so heim­li­ches las­ter1.

wer den vi­de­os die ich mag fol­gen will, alle vi­de­os, un­ter die ich ei­nen po­si­ti­ven dau­men set­ze, lan­den im fa­vo­ri­ten stream (RSS).

als ich ges­tern ein vi­deo von der 2MR Kon­fe­renz sah, habe ich zu­nächst gar nicht ge­merkt, dass es kein you­tube-vi­deo war, saon­dern auf peer­tu­be lag. um es so auf wir­res.net ein­zu­bet­ten wie ich es mag (ohne ex­pli­zi­te frei­ga­be kein fremd­code oder if­rame oder ja­va­script von dritt­ser­vern), muss­te also ein neu­er em­bed block her. cur­sor und clau­de konn­ten das schnell um­set­zen und das funk­tio­niert auch, wenn ich ein peer­tu­be-vi­deo fave (bei­spiel).

so­weit das neue aus dem ma­schi­nen­raum.

was mir dann aber noch auf­fiel: ich muss mich bei je­der peer­tu­be-in­stanz se­pa­rat an­mel­den, wenn ich dort übeer den brow­ser ei­nen ech­ten fav hin­ter­las­sen will. das ist ja ei­gent­lich bei al­len fe­di­ver­se in­stan­zen so, egal ob mast­o­don oder go­to­so­cial oder pi­xel­fed. im brow­ser ste­he ich im­mer dumm un­an­ge­mel­det da. ich weiss, ich kann die url der peer­tu­be sei­te in mei­nem mast­o­don cli­ent im such­feld ein­ge­ben und dann in­ter­agie­ren (fa­ven, kom­men­tie­ren), aber war­um die­ser um­weg? im in­die­web gibts in­die­auth was wirk­lich ein­fach zu nut­zen ist und mit dem man sich über die ei­ge­ne web­sei­te an­mel­den kann. das ist so de­zen­tral wie es nur sein kann und ich fra­ge mich, war­um kön­nen fe­di­ver­se in­stan­zen nicht auch iden­ti­ty-pro­vi­der sein? wenn ich mich an be­lie­bi­gen fe­di­ver­se in­stan­zen, die ich im brow­ser be­su­che, ein­fach so an­mel­den könn­te um dort zu in­ter­agie­ren, wäre das aus mei­ner sicht ein ech­ter fort­schritt in sa­chen be­dien­freund­lich­keit und kon­sis­tenz. oder über­se­he ich et­was? gibts das schon? oder ist das kom­pli­zier­ter als ich ge­ra­de den­ke?


  1. ich gu­cke you­tube wer­be­frei in sa­fa­ri, ohne you­tube da­für geld in den ra­chen zu wer­fen. der trick ist eine sa­fa­ri er­wei­te­rung na­mens vi­n­egar. vi­n­egar tauscht ein­fach den you­tube-play­er mit dem na­ti­ven brow­ser-play­er aus und um­geht da­mit die wer­bung. das funk­tio­niert so gut, dass you­tube in mei­ner an­seh-his­to­rie so­gar wer­be­clips an­zeigt, die ich an­geb­lich ge­se­hen hät­te, aber nie ge­se­hen habe. das heisst im um­kehr­schluss, den you­tube-krea­to­ren ent­ge­hen da­durch kei­ne wer­be­ein­nah­men und ich muss den scheiss nicht se­hen. 


24, 30, 1, 359

felix schwenzel in über wirres

heu­te ist im fuss die­ser web­sei­te der satz

hier schreibt fe­lix schwen­zel seit 24 jah­ren ger­ne ins in­ter­net (ei­gent­lich seit 30 jah­ren).

von 23 auf 24, bzw. 29 auf 30 um­ge­sprun­gen, weil der ers­te ar­ti­kel den ich hier ver­öf­fent­licht habe vom 20.04.2002 ist. mir sind die­se jah­res­ta­ge ei­gent­lich nicht wich­tig, aber sta­tis­ti­ken mag ich ger­ne. des­halb be­tä­ti­ge ich mich mal eben als sta­tis­tik-chro­nist.

wahr­schein­lich wäre es mitt­ler­wei­le bes­ser, un­ten hin­zu­schrei­ben, dass ich jetzt schon „sehr lan­ge“ ins in­ter­net schrei­be. bei sol­chen zeit­räu­men ist der ge­naue tag dann auch ir­gend­wann egal, so wie mir die ka­len­da­ri­schen ko­or­di­na­ten mei­ner ge­burts­ta­ge nach fast 60 jah­ren mitt­ler­wei­le auch egal sind.

kir­by nut­ze ich jetzt auch be­reits seit über ei­nem jahr („hal­lo kir­by“). ich be­reue den um­stieg nicht, im ge­gen­teil, kir­by ist mir je­den tag er­neut eine gros­se freu­de.

was ich jetzt auch seit fast ei­nem jahr ma­che: je­den tag et­was ver­öf­fent­li­chen. der streak ist mitt­ler­wei­le 359 tage lang. die an­zahl-der-posts-über­sicht­gra­fik auf der rück­sei­te ist mitt­ler­wei­le ohne schwar­ze punk­te.

anzahl-der-posts-übersichtgrafik von der rückseite

be­mer­kens­wert an der gra­fik ist ei­gent­lich nichts, aus­ser dass man kaum mus­ter er­ken­nen kann wie und wann ich wie viel ver­öf­fent­li­che. man er­kennt al­ler­dings ein clus­ter zwi­schen mai und juni: re­pu­bli­ca. so er­kennt man: noch vier wo­chen bis zu #rp26. das mi­ni­ma­lis­ti­sche de­sign die­ses jahr ge­fällt mir sehr gut, hier mei­ne „spea­k­er-sei­te“ für die­ses jahr. ende der durch­sa­ge.


ab­mah­nung, aus dem ma­schi­nen­raum

felix schwenzel in über wirres

als ich vor 23 jah­ren an­fing mit ei­nem con­tent ma­nag­ment sys­tem ins in­ter­net zu schrei­ben, war ich in vie­ler­lei hin­sicht ein biss­chen naiv. auch was die nut­zung von bil­dern an­geht. wenn schlech­te wit­ze (ar­nold schwar­zeg­ger hat schrank­far­be­ne haa­re) die nut­zung ei­nes bil­des er­for­der­ten, such­te ich mir ein bild und be­nutz­te es. 2002 wur­den ur­he­ber­rechts­ver­stös­se eher sel­ten ge­ahn­det und goog­le war ge­ra­de mal 4 jah­re alt.

spä­tes­tens zu zei­ten von ma­ri­ons koch­buch (die äl­te­ren wer­den sich er­in­nern) fing ich an mein ar­chiv für such­ma­schi­nen zu ver­ram­meln. bei ar­ti­keln die äl­ter wa­ren als 5 jah­re ver­bot ich die such­ma­schi­nen in­de­xie­rung. das hat so­weit gut ge­klapt. in den > 20 jah­ren in de­nen ich ins in­ter­net schrieb habe ich zwar die eine oder an­de­re ab­mah­nung be­kom­men, aber nie we­gen ur­he­ber­recht­ver­stös­sen. bis heu­te. ein foto von ar­nold schwar­zen­eg­ger das seit 20 jah­ren im web rum­lag, aus­ge­schlos­sen von such­ma­schi­nen-in­de­xie­rung und un­ge­se­hen von je­der men­schen­see­le, wur­de doch von ir­gend­ei­nem rech­te­inha­ber ge­fun­den. die sei­te, auf der das bild laut an­walts­schrei­ben zu se­hen ge­we­sen sei, war von der such­ma­schi­nen­in­de­xie­rung aus­ge­schlos­sen und da­mit im prin­zip un­sicht­bar. ich weiss zwar, dass ethisch frag­wür­di­ge craw­ler sich nicht an ro­bots.txt an­wei­sun­gen hal­ten, aber dass mög­li­cher­wei­se für die durch­set­zung von ur­he­ber­rech­ten auch sol­che an­wei­sun­gen igno­riert wer­den, scheint neu zu sein.

die 250 € habe ich über­wie­sen, das bild ge­löscht und den ar­ti­kel ent­fernt und gleich­zei­tig habe ich alle bil­der von ar­ti­keln die äl­ter als 2010 sind mit th­umb­hash bil­dern er­setzt. th­um­hashs sind „very com­pact re­pre­sen­ta­ti­ons of an image“, die ge­ra­de mal ein paar byte gross sind. die nut­ze ich schon län­ger fürs la­zy­loa­ding, man be­kommt die also zu se­hen wenn man wir­res.net mit ei­ner sehr lang­sa­men in­ter­net­ver­bin­dung be­sucht. an­sons­ten sieht man die nur sel­ten. hier eine bei­spiel­sei­te aus mei­nem ar­chiv.

screenshot aus meinem archiv, die bilder sind weiter bunt, aber gethumbhashed, also sehr, sehr unscharf.

die rie­sen­ma­schi­ne macht das schon lan­ge so mit bil­dern, de­ren rech­te­la­ge un­ge­klärt ist: ein­fach weg­las­sen.

screenshot von der riesenmaschine.de, bilder mit ungeklärten urheberrechten (also fast alle) werden einfach weggelassen.

aber nur we­gen ei­nes an­walt­schrei­bens soll mein ar­chiv nicht we­ni­ger bunt sein. des­halb fin­de ich mei­ne lö­sung, bil­der erst­mal pau­schal auf we­ni­ge bun­te byte zu re­du­zie­ren sehr schön. und ar­ti­kel mit bil­dern, über de­ren rech­te ich mir im kla­ren bin (zum bei­spiel weil ich die bil­der selbst auf­ge­nom­men habe), kann ich von der th­umb­hash­i­sie­rung aus­neh­men, aber das ist ein ma­nu­el­ler vor­gang.

so hat die ab­mah­nung auch was gu­tes: ein schö­nes neu­es fea­ture, von dem ich aus dem ma­schi­nen­raum be­rich­ten kann.


es gibt auch sonst ei­ni­ges neu­es aus dem ma­schi­nen­raum. zum bei­spiel neue feeds für den ri­ver, die fa­vo­ri­ten, book­marks oder was ich ge­se­hen habe (alle feeds sind au­to­dis­co­vera­ble oder hier auf­ge­lis­tet). un­ter /al­les sieht man jetzt auch wie­der wirk­lich al­les, eben­so im al­les-feed. auch im ar­chiv sieht man bei­trä­ge, favs, book­marks und ge­se­he­nes jetzt ein­zeln auf­ge­schlüs­selt — oder eben als al­les.

bei­spiel für ges­tern: al­les, bei­trä­ge, favs, book­marks, ge­se­hen.

das log­buch mei­nes me­di­en­kon­sums, das ich die­ses jahr füh­ren möch­te habe ich um die you­tube seh­zei­ten er­wei­tert. der­zeit steht mein me­di­en­kon­sum bei ca. 70 stun­den pro mo­nat die ich vor der glot­ze ver­brin­ge. ich bin mal ge­spannt wie sich das oder ob sich das über das jahr ver­än­dert.

und apro­pos ge­wohn­hei­ten, die man of­fen­bar mit zu­neh­mens­dem al­ter lieb­ge­winnt, mal schau­en ob mir ent­wick­lung der ge­wohn­heit ge­lingt, die­sen baum ein jahr lang je­den tag zu fo­to­gra­fie­ren.


me­di­en­im­port

felix schwenzel in über wirres

screenshot der trakt app mit den diensten in die sich younify.tv einloggen kann, um dort daten abzugreifen

na­tür­lich ist es eine schnaps­idee, fil­me oder se­ri­en hier tra­cken zu wol­len. wenn ich woll­te, könn­te ich das al­les bei trakt ma­chen. trakt ar­bei­tet mit ei­nem leicht ob­sku­ren dritt-dienst zu­sam­men (yo­uni­fy.tv) um die his­to­rie des ge­se­he­nen von net­flix aus­zu­le­sen. tat­säch­lich kann man da­mit die his­to­rie al­ler gros­sen strea­ming-an­ge­bo­te ab­grei­fen — wenn man yo­uni­fy.tv ge­nug ver­trau­en ent­ge­gen­bringt und (vol­len) zu­griff auf die­se diens­te ge­währt. mein ver­trau­en hat vor ein paar jah­ren nur da­für ge­reicht, yo­uni­fy.tv zu­griff auf mein net­flix-konn­to zu ge­wäh­ren, wes­halb ich jetzt ei­nen teil mei­ner net­flix-his­to­rie auch in trakt habe.

der vor­teil ist, dass ich die von yo­uni­fy.tv ab­ge­grif­fe­nen da­ten, jetzt auch wie­der über die trakt-api selbst ab­grei­fen kann, zum bei­spiel mit die­sem script. mit ein zwei wei­te­ren phy­ton scrip­ten kann ich des­halb jetzt auch au­to­ma­tisch auf net­flix ge­se­he­nes hier log­gen.

schnaps­idee hin oder her, so­wohl trakt als auch ich wis­sen, dass die schnaps­idee al­les ge­se­he­ne zu log­gen, nur funk­tio­niert, wenn es vor­wie­gend au­to­ma­tisch geht. wenn da nicht die ver­trau­ens­fra­ge wäre. ein da­ten­leck bei trakt von 2014, das trakt erst 2019 of­fen­leg­te, zeigt, dass es nicht an­ge­bracht ist, trakt 100% ver­trau­en zu schen­ken. wenn ich mich recht er­in­ne­re hab ich die ver­bin­dung zwi­schen trakt und plex schon vor 2019 ge­kappt, weil mir das ei­nen ti­cken zu un­heim­lich war, mei­ne plex-his­to­rie un­ge­fil­tert in trakt zu lei­ten. bei net­flix hiel­ten sich mei­ne be­den­ken in gren­zen.

mit mei­nem selbst­ge­bau­ten plex/tau­tul­li-zu-kir­by-ex­port­er be­hal­te ich die kon­trol­le und der im­port in die öf­fent­li­che lis­te klappt auch ohne dritt­an­bie­ter ganz gut, fast voll­au­to­ma­tisch. ich muss nur noch eine wer­tung nach­tra­gen.

und auch wenn ich bei der net­flix → yo­uni­fy.tv → trakt.tv → wir­res.net kon­struk­ti­on we­ni­ger bis kei­ne kon­trol­le habe, woll­te ich die­se au­to­ma­ti­sie­rungs-pipe­line jetzt tes­ten. da­für muss­te ich mir na­tür­lich ir­gend­ei­nen scheiss auf net­flix an­se­hen.

also hab ich mir die ers­te fol­ge be­ing gor­don ramsay an­ge­se­hen. ich ver­mu­te das wird we­der so er­folg­reich wie net­flix chefs ta­ble noch so ein hit wie dri­ve to sur­vi­ve — auch wenn das strick­mus­ter ähn­lich ist. beim über­flie­gen der kri­ti­ken ist eine über­schrift hän­gen­ge­blie­ben, der ich di­rekt zu­stim­men möch­te: gor­don ramsay should not be so bor­ing.

je­den­falls funk­tio­niert der sync zwi­schen net­flix, yo­uni­fy.tv, trakt.tv und wir­res.net/kir­by, wenn auch mit leich­ter ver­zö­ge­rung.


zum the­ma ex- und im­por­te: ich habe auch ein script ge­fun­den, mit dem sich die da­ten aus tau­tul­li, also plex, mit let­ter­boxd syn­cen las­sen. da­mit habe ich jetzt lü­cken mei­ner film-time­line auf let­ter­boxd ge­schlos­sen, auch wenn die time­line der fil­me die ich je­mals sah auf let­ter­boxd im­mer noch lü­cken in den letz­ten 10 jah­ren hat. schliess­lich schau ich fil­me ja nicht nur auf plex, son­dern auch auf ama­zon prime, im kino (ge­le­gent­lich) oder net­flix. aber weils geht, weil ich da­ten jetzt aus plex und net­flix raus­be­kom­me, er­scheint es mir lo­gisch mei­ne film-his­to­rie erst­mal auf let­ter­boxd zu ver­voll­stän­di­gen. dann kann ich sie auch wie­der hier­her ho­len. aber be­vor ich das ma­che sam­mel ich hier, bis auf ein paar aus­nah­men — zu test­zwe­cken — erst­mal vor­nehm­lich in 2026 ge­se­he­nes und ge­le­se­nes.

mit so ei­ner „da­ten­bank“ für ge­se­hen­e­n­es und ge­le­se­nes set­ze ich mich üb­ri­gens auch ge­schickt selbst un­ter zug­zwang. jetzt muss ich auch mal wie­der ein buch le­sen, da­mit ich es log­gen kann. und da­mit schliesst sich der zir­kel: aus­ge­hen um drü­ber schrei­ben zu kön­nen, scheis­se auf net­flix schau­en, ums zu prü­fen ob es au­to­ma­tisch ge­loggt wird. mor­gens spa­zie­ren ge­hen um das wet­ter zu fo­to­gra­fie­ren und fo­tos und .gpx-tracks zu pos­ten, ko­chen um re­zep­te ma­schi­nen­les­bar zu ver­öf­fent­li­chen, schla­fen, um zu se­hen, wie gut der schlaf­tra­cker funk­tio­niert. (b)log­gen weil’s geht.


2026 bis jetzt 52:33 vor der glotze verbracht so far

me­di­en­tra­cker

felix schwenzel in über wirres

eben habe ich die gra­ham nor­ton show ge­se­hen, um zu gu­cken ob sie da­nach au­to­ma­tisch hier im blog auf­taucht. tat sie.

die idee hat­te ich ges­tern: war­um nicht alle sen­dun­gen die ich gu­cke hier mit ei­nem kur­zen ein­trag fest­hal­ten? am bes­ten au­to­ma­tisch. also mach ich das jetzt.

ich mag die idee von mi­cro-ein­trä­gen. das er­zeugt zwar eine men­ge rau­schen, aber das lässt sich auch gut aus­blen­den. bei be­darf las­sen sich die­se ein­trä­ge aber auch aus­wer­ten oder für was auch im­mer mir ein­fällt ver­wen­den. vor al­lem aber mag ich die idee, dass al­les hier pas­sie­ren zu las­sen, hier also so­zu­sa­gen life-log­ging zu be­trei­ben. das ist ja auch was web­log ur­sprüng­lich be­deu­te­te: sa­chen öf­fent­lich, im web log­gen. jetzt wo ich li­kes und le­se­zei­chen hier log­ge, kann ich doch auch log­gen was ich (fern-) sehe.

die idee moch­te ich schon lan­ge, nur stand mir die tech­nik nicht zur ver­fü­gung. des­halb habe ich jah­re­lang wat­ched.li von phil­ipp be­nutzt. ich fand es in ers­ter li­nie span­nend zu se­hen, wie viel zeit ich vor der glot­ze ver­schwen­de, aber wat­ched.li half auch da­bei zu vor­r­aus­zu­se­hen, wo­mit ich in zu­kunft mei­ne zeit ver­schwen­den konn­te, wel­che se­ri­en und fol­gen be­vor stan­den.

seit 10 jah­ren nut­ze ich ne­ben plex auch noch tau­tul­li, eine freund­li­che plex-be­gleit-app. im prin­zip macht tau­tul­li nichts an­de­res als plex zu be­ob­ach­ten und al­les zu log­gen: wer schaut wann was, was macht der ser­ver, was gibt’s neu­es? wenn ich zu­rück zu 2017 gehe, sehe ich, dass ich am 14. au­gust 2017 game of thro­nes s07e05 ge­se­hen habe. um 22:43 war ich fer­tig mit der fol­ge (ist game of thro­nes echt schon so lan­ge her?).

mit tau­tul­li hab ich als ei­gent­lich al­les was ich brau­che: sta­tis­ti­ken, de­tails zu dem was ich (mit plex) ge­se­hen habe.

an­de­rer­seits nut­ze ich ja nicht nur plex. ich schau ge­le­gent­lich fil­me im kino, auf ama­zon prime, net­flix oder RTL+. ich bin auch nicht der ein­zi­ge, der den wunsch hat das al­les zu tra­cken. hei­ko hat vor ner wei­le be­schrie­ben, wie er sei­nen me­di­en­kon­sum trackt: Me­di­en-Track­ing mit Git­hub und YAML. tho­mas hat sich ei­nen re­cor­der ge­baut, mit dem er al­les was er sieht und liest fest­hält und be­wer­tet. und jetzt hab ich mir in den letz­ten 24 stun­den ein me­di­en­me­nü zu­sam­men­ge­hackt. ich hab mir vor­ge­nom­men das mal ein jahr lang aus­zu­pro­bie­ren, also wirk­lich al­les was ich sehe oder in buch­form lese fest­zu­hal­ten. was ich im netz lese hal­te ich ich ja be­reits mit le­se­zei­chen fest.

die tech­nik da­hin­ter fin­de ich be­tö­rend ein­fach: für jede se­ri­en­fol­ge, film oder buch, lege ich ei­nen bei­trag mit den wich­tigs­ten da­ten an: (von) wann, was, wie lan­ge und wie wars? die bei­trä­ge kann ich ganz nor­mal in kir­by als con­tent an­le­gen, aber auch per per web­hook oder per mi­cro­pub.

den web­hook sen­det tau­tul­li so­bald ich ei­nen film oder se­ri­en­fol­ge zu­en­de ge­se­hen habe und sieht so aus:

// header
{
  "X-Webhook-Secret": "GEHEIMER SCHLÜSSEL"
}

// daten

{
  "title": "{title}",
  "show_title": "{show_name}",
  "parent_title": "{season_name}",
  "episode_title": "{episode_name}",
  "year": "{year}",
  "type": "{media_type}",
  "season": "{season_num}",
  "episode": "{episode_num}",
  "duration": "{duration}",
  "imdb_id": "{imdb_id}",
  "tvdb_id": "{thetvdb_id}",
  "thumb": "{thumb}",
  "datum_watched": "{stopped_unixtime}"
}

mit dem mi­cro­pub-cli­ent spar­kles kann ich ge­se­he­ne fil­me an­le­gen.

screenshot des micropub-client sparkles beim anlegen eines eintrags zu french conection. weil ich den noch nicht zuende gesehen habe, drücke ich den „post“ knopf noch nicht

die über­sicht habe ich heu­te mit al­lem was ich 2026 ge­se­hen habe ge­füllt. die we­ni­gen fil­me, die ich ge­se­hen habe, mit spar­kles, die se­ri­en ma­nu­ell mit ei­nem curl.

curl -X POST https://wirres.net/WEBHOOK-PFAD \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: GEHEIMER SCHLÜSSEL" \
-d '{
  "title": "Fallout Season 2: The Strip",
  "show_title": "Fallout",
  "parent_title": "",
  "episode_title": "The Strip",
  "year": "2025",
  "type": "show",
  "season": "2",
  "episode": "8",
  "duration": "56",
  "imdb_id": "tt36758871",
  "tvdb_id": "",
  "thumb": "https://images.squarespace-cdn.com/content/v1/51b3dc8ee4b051b96ceb10de/1755267368038-D0OLYJK9669RQ8CO6UI1/GyU3dkDasAAJ6rB.jpg?format=500w",
  "datum_watched": "1770235200"
}'

mit dem curl ging das ziem­lich ef­fi­zi­ent, künf­tig soll­te der gross­teil der ein­trä­ge dann au­to­ma­tisch aus plex/tau­tul­li kom­men, den rest pfle­ge ich dann eben ma­nu­ell nach, bis ich da­für auch eine au­to­ma­ti­sie­rung fin­de.

im prin­zip ist die über­sicht ein (h-) feed, den man theo­re­tisch auch abon­nie­ren könn­te, aber da muss ich mir noch was über­le­gen, wie man das in ei­nen sinn­voll rau­schen­den rss- oder atom-fluss um­wan­delt.

ben­ji, der spar­kles ge­schrie­ben hat, sam­melt so auch fil­me die er ge­se­hen hat.

als nächs­tes wer­de ich ver­su­chen ein paar ta­ges­ak­tu­el­le sta­tis­ti­ken zu er­zeu­gen. ich fin­de man kann in der über­sicht auch schon so ei­ni­ges ab­le­sen:

  • ge­le­gent­lich bin­ge ich se­ri­en weg
  • star­fleet aca­de­my hab ich nach fol­ge 6 nicht mehr er­tra­gen und auf­ge­hört wei­ter zu se­hen
  • ich fin­de A Knight of the Se­ven King­doms rich­tig gut
  • ob­wohl The North Wa­ter ziem­lich gut ist, bin ich in fol­ge 2 hän­gen ge­blie­ben
  • ich gu­cke sehr viel in die glot­ze

bau­stel­len oh­ne en­de

felix schwenzel in über wirres

nachem ich mir ges­tern eine mög­lich­keit ge­schaf­fen spa­zier­gän­ge als .gpx-da­tei­en hoch­zu­la­den und dar­zu­stel­len, habe ich mal ge­schaut, ob ich so­was schon frü­her ver­sucht habe. da­bei habe ich die­sen al­ten ar­ti­kel von 2015 ge­fun­den, der zwar eine gpx-da­tei er­wähnt, aber nicht be­inhal­tet. statt­des­sen fiel mir auf das der ar­ti­kel ein paar feh­ler ent­hielt. die vi­de­os funk­tio­nie­ren nicht, asi­des wer­den mit­tig, statt am rand an­ge­zeigt und die fo­tos hat­ten noch kei­ne ex­pli­zi­ten li­zenz-in­for­ma­tio­nen. mei­ne im­ports vom al­ten blog in kir­by funk­tio­nier­ten ei­gent­lich ganz gut, aber bei ein­zel­en de­tails klemm­te es dann doch im­mer wie­der, auch weil ich zum zeit­punkt des ex- und im­ports in kir­by noch nicht alle fea­tures ab­ge­bil­det hat­te.

beim re­pa­rie­ren des ar­ti­kels, fiel mir dann noch auf, dass die im­por­tier­ten fo­tos tat­säch­lich noch ihre exif-da­ten in sich tru­gen, also lud ich die auch nach. mit den exif-in­fos war es kir­by dann mög­lich au­to­ma­tisch eine kar­te der foto-orte zu ge­ne­rie­ren, die sich dann er­freu­li­cher­wei­se fast so aus­sah wie die kar­te, die ich vor 10 jah­ren aus ei­ner .gpx-da­tei ge­ne­riert hat­te, da­mals boch bei ei­nem ex­ter­nen dienst, der längst das zeit­li­che ge­seg­net hat.

das freu­te mich sehr, denn so war der alte ar­ti­kel nach der re­pa­ra­tur bes­ser als vor­her.

das din­ge im netz ka­putt­ge­hen ist un­um­gäng­lich. auch die ar­chi­ve.org-ver­si­on des al­ten ar­ti­kels ist nicht mehr (oder war es nie) in ord­nung. des­halb, les­son lear­ned, ist es wirk­lich sinn­voll alle da­ten, ori­gi­na­le bei sich zu be­hal­ten, man weiss ja nie wozu sie gut sein wer­den. und es ist im­mer sinn­voll din­ge ohne har­te ex­ter­ne ab­hän­gig­kei­ten zu bau­en. das heisst nicht, dass man nicht auch mal ex­ter­ne diens­te nut­zen soll oder in­hal­te dort­hin agg­re­gie­ren oder syn­di­zie­ren soll­te, son­dern eben, dass man es im ernst­fall eben auch selbst ma­chen kann, ohne ab­hän­gig von ei­nem drit­ten zu sein.

des­halb freue ich mich auch so ei­nen weg ge­fun­den zu ha­ben eine gpx-da­tei hier lo­kal dar­zu­stel­len. mit ko­moot könn­te ich so­was per if­rame ein­bet­ten, aber dann habe ich ei­ner­seits eine ab­hän­gig­keit und an­de­rer­seits track­ing-codes ei­nes drit­ten auf mei­nen sei­ten.

an­de­rer­seits spricht nichts da­ge­ge­gen tou­ren, wie die wan­de­rung um den „de mein­weg wei­ter­hin mit ko­moot auf­zu­zeich­nen und dort zu tei­len, so lan­ge ich sie auch als gpx ex­por­tie­ren kann. ge­nau die­sen ex­port hab ich jetzt im al­ten ar­ti­kel über die wan­de­rung nach­ge­pflegt. wenn dann in 30 jah­ren ko­moot nicht mehr ist, hab ich im­mer noch alle we­sent­li­chen da­ten bei mir.


seit ich an­ge­fan­gen habe book­marks (und li­kes) bei mir zu sam­meln (book­marks, li­kes, re­pli­es, al­les zu­sam­men, wirk­lich al­les), statt in pin­board, sen­de ich mit die­sen lese- oder like-no­ti­zen auch web­men­ti­ons an die be­tref­fen­den sei­ten. die meis­ten igno­rie­ren das aus tech­ni­schen grün­den (weil sie kei­ne web­men­ti­ons un­ter­stüt­zen), aber man­che neh­men die be­nach­rich­ti­gung ent­ge­gen. eay.cc zum bei­spiel, da wur­den mei­ne book­mark-web­men­ti­ons dann aber ko­misch dar­ge­stellt, also hat er das re­pa­riert und spass da­bei ge­habt.

oder ges­tern habe ich crow­der­soup.com ei­nen kom­men­tar ge­schickt. der wur­de an­ge­nom­men aber jetzt muss das lay­out of­fen­bar re­pa­riert wer­den. bei bei­den war ich of­fen­bar der ers­te, der so­was ge­schickt hat und ehr­lich­ge­sagt bin ich hier auch nicht auf alle web­men­ti­on-ar­ten vor­be­rei­tet, die mir po­ten­zi­ell ge­schickt wer­den kön­nen.

aber das ist eben teil des spass: build & re­pair as you go, pro­ble­me dann lö­sen, wenn sie da­her­kom­men. oder an­ders ge­sagt: eine web­sei­te ist eine bau­stel­le die wirk­lich kein ende hat — und das ist auch gut so.


ich weiss gar nicht mehr wie ich crow­der­soup.com ent­deckt habe, aber ich ver­mu­te über in­die­web­news. den bei­trä­gen dort fol­ge ich seit kur­zem wie­der in­ten­si­ver und kom­me da­durch ver­mehrt auf web­sei­ten die sich mit den tech­no­lo­gien des in­die­webs aus­ein­an­der­set­zen — oder ge­nau­er: da­mit rin­gen. der gleich­zei­ti­ge vor- und nach­teil der in­die­web-idee ist, dass es kaum fer­ti­ge lö­sun­gen gibt und man sich ei­gent­lich al­les selbst zu­sam­men­baut. das ist ein se­gen und ein fluch und ich ver­flu­che die kom­ple­xi­tät die­ses in­diw­web-ge­döns auch re­gel­mäs­sig, um dann doch im­mer wie­der ei­nen neu­en ver­such zu star­ten.

die­se de­fi­ni­ti­on von mar­ty mc­gui­re um­schreibt die idee des in­die­web ganz gut, vor al­lem was es ist und eben nicht ist:

in­die­web.org is not a pre­scip­ti­on or a cook­book or an exer­cise plan. It doesn’t tell you how to “be In­die­Web”. It’s a coll­ec­ti­ve me­mo­ry of ex­pe­ri­ments, some suc­cessful and some not, from a group of ex­pe­ri­ment­ers that has ch­an­ged great­ly over time.

was mir aber, ab­ge­se­hen von den phi­lo­so­phi­schen fra­gen, heu­te auf­fiel: die idee des in­die­web­news-ag­gre­ga­tors kann man ei­gent­lich wei­ter­spin­nen. in­die­web­news ist ein ag­gre­ga­tor in dem man sich selbst ein­trägt, ein­fach in­dem man in­die­web­news ver­linkt und dann ein web­men­ti­on an in­die­web­news sen­det (an­lei­tung auf deutsch bei news.in­die­web.org/de). die­ses vor­ge­hen macht die sei­te nicht 100% spam-re­sis­tent, aber mit ein biss­chen mo­de­ra­ti­on könn­te man dar­aus ei­gent­lich sehr schö­ne ag­gre­ga­to­ren zu al­len mög­li­chen the­men bau­en. wie ge­sagt, seit ich den eng­li­schen ka­nal der in­die­web­news nä­her ver­fol­ge, habe ich vie­le neue, in­ter­es­san­te web­sei­ten/blogs ge­fun­den die in­ter­es­san­te sa­chen schrei­ben oder bau­en oder zei­gen. viel­leicht könn­te man so blog-the­men-hubs bau­en. mir fehlt lei­der die struk­tu­rier­te phan­ta­sie um so ein kon­zept zu ver­fei­nern, aber die dis­co­vera­bi­li­ty und sicht­bar­keit von blogs und web­sei­ten zu ver­bes­sern ist ja ein er­stre­bens­wer­tes ziel.


RSS ist mein news­let­ter, aber …

felix schwenzel in über wirres

ich bin kein gros­ser fan von news­let­tern. mein news­let­ter ist RSS. ich habe so­gar mal ei­nen dienst be­nutzt, mit dem ich den ta­ges­spie­gel-check­point in ei­nen RSS feed wan­deln konn­te. funk­tio­nier­te dann al­ler­dings ir­gend­wann nicht mehr, wie fast al­les um das man sich nicht selbst küm­mert. um mei­ne abon­nier­ten RSS-feeds küm­me­re ich mich sehr in­ten­siv. der­zeit zählt mein mi­ni­flux 424 abon­nier­te feeds und 5298 un­ge­le­se­ne bei­trä­ge. un­ge­le­se­ne feed-items stres­sen mich nicht im ge­rings­ten. alle paar mo­na­te setz ich die ein­fach alle auf ge­le­sen. RSS lese ich im­mer um­ge­kehrt chro­no­lo­gisch. wich­ti­ges schwimmt im­mer ir­gend­wie nach oben oder er­reicht mich auf an­de­ren we­gen.

an­de­rer­seits glau­be ich, dass nicht alle wie ich ti­cken. vie­le mö­gen pod­casts, man­che mö­gen news­let­ter. des­halb habe ich vor ein paar ta­gen an­ge­fan­gen mich nach diens­ten um­zu­schau­en die RSS in e-mails um­wan­deln kön­nen. da gibt’s ir­gend­wie nicht vie­le. ich dach­te viel­leicht kann ste­ady so­was, aber lei­der pus­te­ku­chen. was selbst­ge­hos­te­tes wäre ei­ner­seits schön, an­de­rer­seits ist email-ver­sand et­was um das man sich doch sehr küm­mern kön­nen muss und ein biss­chen ex­per­ti­se mit­brin­gen soll­te. ent­ge­gen al­ler di­gi­ta­ler-un­ab­häng9gkeits-trends habe ich mich ent­schie­den ei­nen ein­fa­chen, au­to­ma­tisch ge­ne­rier­ten RSS-feed-news­let­ter mit hil­fe des ame­ri­ka­ni­schen an­bie­ters mailchimp zu bau­en.

der werk­zeug­kas­ten von mailchimp er­scheint mir auch in der kos­ten­lo­sen ver­si­on ziem­lich gut. da­mit war es mir in­ner­halb von we­ni­gen stun­den mög­lich, eine ganz ok aus­sehn­de ver­si­on mei­nes RSS feeds ins email-for­mat um­wan­deln zu las­sen. et­was bes­se­res habe ich nicht ge­fun­den, wem ver­gleich­ba­re diens­te be­kannt sind: ich freue mich da­von zu hö­ren. jetzt geht erst­mal mit mailchimp los.

zum abo-for­mu­lar gehts hier lang: ee­purl.com/jyHDZA

täg­lich um 6 uhr mor­gens wer­den die, im ver­gleich zum vor­tag, neu­en bei­trä­ge aus dem RSS feed dann per mail ver­sen­det. das track­ing habe ich, so­weit wie es in den ein­stel­lun­gen mög­lich war, de­ak­ti­viert, aber in den test-emails wur­den wei­ter­hin die links mit klick-tra­ckern via us8.mailchimp.com ver­un­stal­tet.


ei­gent­lich hat­te ich als ziel­grup­pe je­man­den wie mei­ne mut­ter für so ei­nen news­let­ter im sinn. die liest seit ei­ner wei­le wie­der hier mit und ei­gent­lich ist das auch die wur­zel die­ser sei­te. ei­ner­seits dient wir­res.net mir dazu, dass ich mich an mein le­ben er­in­ne­re, an­de­rer­seits habe ich da­mit an­ge­fan­gen ins in­ter­net zu schrei­ben, da­mit men­schen die mir na­he­ste­hen die mög­lich­keit ha­ben nach­se­hen zu kön­nen, was ich ge­ra­de so trei­be oder den­ke.

ir­gend­wann um die jahr­tau­send­wen­de habe ich an­ge­fan­gen mit ya­hoo-groups re­gel­mäs­sig mails an freun­de und be­kann­te zu ver­sen­den. da­drin stand schon da­mals eine wir­re mi­schung aus blö­den wit­zen, links und din­gen die mir durch den kopf gin­gen. ein paar die­ser mails habe ich ar­chi­viert. bit­te nicht le­sen!

ir­gend­wann habe ich dann von push auf pull um­ge­stellt. news­let­ter sind ja ein bi­schen pushy, wenn sie sich in die in­box drän­gen. RSS ist pull, man zieht sich das selbst in den le­se­ap­pa­rat und kann das dann auch gut we­gi­g­no­rie­ren. aber wem’s ge­fällt, kann sich jetzt wie­der ei­ner push me­cha­nik be­die­nen um wir­res zu le­sen: ee­purl.com/jyHDZA


haha, sehe ge­ra­de: ei­gent­lich sind nur 16 plät­ze frei. 500 emails darf ich mit dem kos­ten­lo­sen mailchimp-ta­rif ver­sen­den. das sind ca. 16 × 31 mails. viel­leicht mach ich nenn wö­chent­li­chen news­let­ter draus? drei­tä­gig? oder ich mach ne ste­ady-sei­te auf um die 30 euro zu re­fi­nan­zie­ren, die das nächst grö­se­re pa­ket bei mailchimp jos­tet? oder es in­ter­es­si­ert sich aus­ser mei­ner mut­ter eh nie­mand für den news­let­ter?


un­ge­tes­te­te al­ter­na­ti­ven zu mailchimp:

  • auch aus ame­ri­ka: but­ton­down.com, bie­tet auch ein rss-to-email-fea­ture, al­ler­dings für +$9.
  • bre­vo.com ist aus eu­ro­pa und sieht gut aus, bes­se­re kos­ten­lo­se kon­di­tio­nen und auch rss to email (via)

MEO statt SEO (ma­nic en­gi­ne op­ti­mi­sa­ti­on)

felix schwenzel in über wirres

ich op­ti­mie­re ja ger­ne an mei­nem kir­by rum.

ich weiss gar nicht ge­nau war­um, weil ei­gent­lich ist es mir egal sa­chen rich­tig zu ma­chen und wich­ti­ger din­ge so zu ma­chen, wie sie mir ge­fal­len. an­de­rer­seits gibt es oft über­schnei­dun­gen zwi­schen rich­tig und ge­fällt mir.

so ge­fällt es mir, wenn mei­ne web­sei­te in al­len brow­sern und rea­dern, die ich selbst ger­ne be­nutz­te, gut aus­sieht. re­spon­si­ve de­sign, also dass sich die web­sei­te an die bild­schirm­grös­se an­passt, ist ja mitt­ler­wei­le fast ein no-brai­ner. ge­le­gent­lich schaue ich mir mei­ne web­site auch mit lynx an, ei­nem text­ba­sier­ten kom­man­do­zei­len-brow­ser. da­mit sieht man din­ge, die nor­ma­le brow­ser nicht zei­gen, die aber trotz­dem von man­chen men­schen oder ma­schi­nen, die die web­site be­su­chen, so ge­se­hen wer­den kann. ge­nau­so ger­ne rufe ich mei­ne web­sei­te ge­le­gent­lich mit de­ak­ti­vier­tem css auf. bei­de, lynx und kein-css zei­gen po­ten­zi­el­le pro­ble­me, die ich weg­op­ti­mie­ren oder auf­schie­ben kann.

weil ich selbst ger­ne und vie­le web­sei­ten per RSS lese, prü­fe ich auch re­gel­mäs­sig wie mei­ne sei­te in RSS aus­sieht — und wenn mir was auf­fällt oder mich stört, op­ti­mie­re ich es weg. ne­ben di­ver­sen RSS-feeds, bie­te ich die­se web­sei­te auch so­zu­sa­gen als html-feed an. das geht, weil ich das HTML mit mi­cro­for­ma­ten (mf2) aus­zeich­ne. da­mit lässt sich die­se sei­te als json par­sen (bei­spiel) und so­gar als html-feed abon­nie­ren (vor­schau)

all die­se an­sich­ten, in lynx, ohne css, als gepars­te oder ge­r­en­der­te mf2-mi­cro­for­ma­te oder als RSS-feed, sind an­sich­ten die­ser web­site, wie sie auch ma­schi­nen se­hen, such­ma­schi­nen- oder KI-craw­ler, der riv­va-bot oder an­de­re ag­gre­ga­to­ren. auch screen­rea­der se­hen die web­site eher in die­sen mi­ni­mal­ver­sio­nen, wes­halb ich auch ein in­ter­es­se dar­an habe, dass wir­res.net in die­sen an­sich­ten ganz okay aus­sieht, bzw. mir ge­fällt.

das schö­ne an den ein­ge­bau­ten mf2-mi­cro­for­ma­ten ist auch, dass man mit ge­eig­ne­ten rea­dern auch mei­nen fa­vo­ri­ten- oder book­marks-strom abon­nie­ren könn­te, ob­wohl ich da­für noch kein RSS ge­baut habe.

ich be­mü­he mich na­tür­lich auch um gute ma­schi­nen­les­bar­keit da­mit sich mei­ne web­sei­te gut mit goog­le ver­steht. nach mei­ner blog­pau­se und ein paar mo­na­ten off­line-zeit we­gen tech­ni­scher pro­ble­me, ver­lor ich alle sym­pa­thien die mir goog­le vor­mals ge­währt hat­te. noch nicht mal eine su­che nach mei­nem na­men zeig­te mei­ne heim­stät­te im netz (wir­res.net) mehr auf den ers­ten 10 such­er­geb­nis­sei­ten an. nach­dem ich es hier wie­der schön für goog­le und an­de­re ma­schi­nen ge­macht habe, schickt mir goog­le auch ge­le­gent­lich wie­der be­su­cher vor­bei. der­zeit zwar nur für eine sei­te (er­freu­lich und er­schüt­ternd), aber da­für im ja­nu­ar so um die 1000.

ir­gend­wann vor ein paar mo­na­ten ge­fiel mir die idee, dass ich bil­der hier so un­ter ei­ner cc li­zenz ver­öf­fent­li­chen könn­te, so dass such­ma­schi­nen sie auch mit die­ser li­zenz er­ken­nen. bei flickr klappt das su­per, wenn man dort für sei­ne fo­tos eine cc-li­zenz ge­wählt hat. weil ich das auch woll­te, aber na­tür­lich auch weil ich die idee der rei­bungs­lo­sen ma­schi­nen­les­bar­keit gut fin­de, habe ich an­ge­fan­gen für alle ar­ti­kel json-ld mit aus­zu­lie­fern. da­mit lie­fe­re ich zwar auch nicht viel mehr me­ta­da­ten als mit den mi­cro­for­ma­ten aus, aber un­ter an­de­rem kann man eben auch bil­der ex­pli­zit mit li­zen­zen ver­se­hen.

das klappt ei­ner­seit auch ganz gut, an­de­rer­seits ver­gisst goog­le ein­mal in­de­xier­ten und er­kann­ten li­zen­zen aber auch im­mer wie­der. ir­gend­wie schaf­fe ich es nicht, mit mehr als 50 bil­der von die­ser web­site mit cc li­zenz in den such­er­geb­nis­sei­ten un­ter­zu­brin­gen.

was mit json-ld al­ler­dings su­per klappt ist die ma­schi­nen­les­bat­re aus­zeich­nung von re­zep­ten. so aus­ge­zeich­ne­te re­zep­te nimmt goog­le mit kuss­hand und re­zep­te die im ka­rus­sel oben in den such­er­geb­nis­sen an­ge­zeigt wer­den sind auch der grund, war­um goog­le mir im mo­ment so vie­le be­su­cher schickt. zum ers­ten mal mit ma­schi­nen­les­ba­ren re­zept­da­ten ex­pe­ri­men­tiert hab ich vor 14 jah­ren. mitt­ler­wei­le klappt das wirk­lich gut.

was ich aber ei­gent­lich sa­gen will: die­se gan­zen op­ti­mie­run­gen, die ich auch ger­ne als ex­pe­ri­men­te an­se­he um such­ma­schi­nen- und tech­nik-ge­döns bes­ser zu ver­ste­hen, ha­ben vor al­lem den ef­fekt, dass ich klei­ne, sub­ti­le, aber auch gro­be feh­ler aud wir­res.net fin­de, die ich sonst nie ge­fun­den hät­te oder die mir egal ge­we­sen wä­ren.

vor ein paar mo­na­ten habe ich sehr viel en­er­gie dar­ein ge­steckt in den Pa­ge­Speed In­sights gute punkt­zah­len zu be­kom­men. da­bei habe ich vie­le an­pas­sun­gen am ser­ver vor­ge­nom­men, die html-struk­tur, lazy und eager-loa­ding und die bild­grös­sen op­ti­miert. mit der start­sei­te ist goog­le nicht im­mer 100% zu­frie­den, aber die ein­zel­sei­ten schram­men in der re­gel an den 100%.

gleich­zei­tig habe die speed-op­ti­mie­run­gen wie­der zu feh­lern an an­de­ren ecken ge­führt, die ich dann nach und nach wie­der weg­op­ti­mie­re. so er­gibt sich im prin­zip ein ma­ni­scher kreis­lauf von im­mer neu­en op­ti­mie­run­gen. mach ich aber ger­ne, vor al­lem weil: ist ja al­les meins hier.


tools die ich ger­ne zum rum­op­ti­mie­ren nut­ze:


ix ❤️ RSS

felix schwenzel in über wirres

ich lebe seit ewig­kei­ten so­zu­sa­gen in mei­nem RSS-rea­der. neu­ig­kei­ten je­der art er­fah­re ich aus mei­nen > 419 abon­nier­ten feeds. der ein­zi­ge al­go­rith­mus dem ich in mei­nem RSS-rea­der be­geg­ne ist der, der nach da­tum sor­tiert.

es gibt we­ni­ge aus­nah­men zu die­ser re­gel: eine ist spie­gel.de, des­sen start­sei­te ich täg­lich ein­mal auf­ru­fe und „durch­ar­bei­te“ und eine an­de­re ist you­tube.com, des­sen al­go­rith­mus mir mei­ner mei­nung nach eine gute und pas­sen­de aus­wahl prä­sen­tiert. alle paar tage rufe ich hei­se.de auf. und neu­er­dings gehe ich ein- bis drei-täg­lich auf kon­stan­tins rea­der.kon­ne­xus.net. die feeds die dort an­ge­zeigt wer­den habe ich zwar auch zum gröss­ten­teil abon­niert, aber so kom­me ich dann bei der ei­nen oder an­de­ren quel­le auch mal auf der web­sei­te vor­bei, statt nur die fee­dan­sicht zu se­hen.

kon­stan­tins rea­der hilft mir auch kurz­fris­tig even­tu­el­le pro­ble­me mit mei­nem feed zu er­ken­nen. wenn man die gan­ze zeit an sei­nem kir­by rum­spielt, geht ja auch mal was ka­putt. na­tür­lich habe ich mei­ne feeds auch selbst abon­niert um ge­ge­be­nen­falls feh­ler oder pro­ble­me zu er­ken­nen. ich hab jetzt auch mein feed­ly-kon­to re­ak­ti­viert (in der kos­ten­lo­sen va­ri­an­te), um auch dort zu prü­fen, ob al­les in ord­nung mit mei­nen feeds ist.

und da fiel mir ges­tern und heu­te lei­der auf, dass die neu­en tem­pla­tes, die ich rund um mein neu­es fa­vo­ri­ten und book­mark sys­tem ge­baut habe, noch nicht für die RSS aus­ga­be op­ti­miert wa­ren.

ka­put­ter you­tube em­bed in feed­ly.com

ei­gent­lich gebe ich you­tube-em­beds, bil­der, vi­de­os, mast­o­don- und blues­ky-em­beds im RSS-feed mit ver­ein­fach­ten tem­pla­tes aus. im screen­shot sieht man, dass hier ein you­tube-em­bed mit dem front­end-code aus­ge­lie­fert wur­de. im front­end gibt’s den em­bed-code erst nach ei­nem (ja­va­script-) klick auf ein lo­ka­les vor­schau­bild. per RSS lie­fe­re ich den (you­tube) na­ti­ven em­bed-code aus, weil ja­va­script-ge­döns im RSS-feed nicht zu­ver­läs­sig funk­tio­niert und von ver­ant­wor­tungs­vol­len feed-rea­dern aus­ge­fil­tert wird.

je­den­falls soll­te das jetzt wie­der so funk­tio­nie­ren wie ge­dacht. die neu­en tem­pla­tes be­ach­ten jetzt alle die vor­ga­be im RSS ver­ein­fach­ten code aus­zu­ge­ben. ent­schul­di­gung für die sub­op­ti­ma­len RSS-lie­fe­run­gen in den letz­ten ta­gen.


wäh­rend ich da so bei feed­ly rum­klick­te, fiel mir auf, dass mei­ne alte feed-adres­se (wirres.net/index.xml), die wei­ter­hin funk­tio­niert, bzw. auf die neue feed-adres­se (wirres.net/feed/) wei­ter­lei­tet, laut feed­ly die­se ei­gen­schaf­ten hat:

2K fol­lo­wers / 13 ar­tic­les per week / #kul­tur #me­di­en #news

2K fol­lo­wers? das woll­te ich ei­ner­seits nicht glau­ben und dach­te an­de­rer­seits, dass feed­ly dann ja wohl eine ziem­lich gros­se an­zahl schlum­mern­der, also un­ge­nut­zer kon­ten ha­ben muss. ich hat­te mein feed­ly kon­to auch 3 bis 4 jah­re nicht ge­nutzt, bzw. ei­gent­lich oh­ne­hin nur für test­zwe­cke an­ge­legt. aber mei­ne neu­gier war ge­weckt und weil ge­mi­ni mir sag­te, dass feed­ly die ge­naue an­zahl der sub­scri­ber beim ab­ho­len des feeds nennt, ak­ti­vier­te ich heu­te nacht mei­ne apa­che ac­cess logs (die sind nor­ma­ler­wei­se de­ak­ti­viert) — und sie­he da:

- - - [18/Jan/2026:05:58:46 +0100] "GET /feed/ HTTP/1.1" 200 92596 "-" "Feedly/1.0 (+https://feedly.com/poller.html; 2483 subscriber>

die­se zahl wi­der­spricht al­ler­dings mei­nen ei­ge­nen mes­sung. seit ca. 30 ta­gen habe ich mei­nen feeds ei­nen ma­to­mo-image-tra­cker hin­zu­ge­fügt (ma­to­mo an­ony­mi­si­ert die letz­ten zwei bytes der IP-adres­se) und ma­to­mo zählt eher so um die 300 RSS-feed le­sen­de (uni­que vi­si­tors pro tag).

da mei­ne ma­to­mo-in­stanz (stats.wirres.net) auf ein­schlä­gi­gen wer­be­blo­cker-lis­ten steht, gehe ich da­von aus, dass min­des­tens ein drit­tel der auf­ru­fe un­ge­trackt sind. das wä­ren dann so um die 400 ak­ti­ve rss-abos — und wür­de be­deu­ten dass feed­ly min­des­tens 2000 schla­fen­de/un­ge­nutz­te wir­res.net abos hat. (feed­ly reicht den image tra­cker durch, fil­tert den nicht aus.)

auf­fäl­lig beim RSS-feed track­ing war üb­ri­gens, dass der ar­ti­kel darm­spie­ge­lung per RSS über­durch­schnitt­lich oft ge­le­sen wur­de. oder um­ge­kehrt dürf­te das ein zei­chen da­für sein, dass vie­le le­sen­de die ar­ti­kel­vor­schau mei­ner ar­ti­kel gar nicht an­kli­cken, aus­ser es in­ter­es­si­ert sie. und darm­spie­ge­lung scheint ein gu­ter in­ter­es­se-trig­ger zu sein.

tl;dr: ich gebe mir mühe mei­ne rss-feeds zu op­ti­mie­ren, das ge­lingt mir nicht im­mer. pro tag zäh­le ich der­zeit laut ma­to­mo bis zu 250 ein­zel­ne be­su­cher auf der web­sei­te und 300-400 ein­zel­ne le­ser per RSS.


sie­he auch:


ma­king of fa­vo­ri­ten

felix schwenzel in über wirres

ich hab mich ge­fragt, war­um soll ich die samm­lun­gen von maston- und blues­ky-bei­trä­gen ei­gent­lich lieb­lings­trööts nen­nen? blues­ky-bei­trä­ge sind ja ge­nau­so we­nig trööts wie sie tweets sind. viel­leicht soll­te man alle kurz­bei­trä­ge im in­ter­net tweets nen­nen? oder bei sam­lun­gen nicht das bei­trags­platt­form be­nen­nen, son­dern die samm­lung. also hab ich mir über­legt, dass ich

  1. re­gel­mäs­sig fa­vo­ri­ten­samm­lun­gen ver­öf­fent­li­che, statt lieb­lings­trööts.
  2. die fa­vo­ri­ten jetzt et­was an­ders samm­le, näm­lich fort­lau­fend und hier: fa­vo­ri­ten

die fa­vo­ri­ten er­sch­ei­nen erst auf den haupt­sei­ten (und im RSS feed), wenn ich sie in samm­lun­gen bünd­le, vor­her schwim­men sie im fa­vo­ri­ten­strom im hin­ter­grund. ge­nau­so ma­che ich das jetzt auch mit book­marks, die ich dann re­gel­mäs­sig zu (kom­men­tier­ten) link­samm­lun­gen bünd­le.

bis­her habe ich links oder book­marks fast aus­schliess­lich auf pin­board ge­spei­chert, ent­we­der per book­mar­klet aus dem brow­ser oder aus mei­nem RSS-rea­der mi­ni­flux, der sie per per API dort si­chert oder auf dem te­le­fon mit ei­ner sha­ring-ex­ten­si­on. das mach ich ge­ge­be­nen­falls auch wei­ter so, aber haupt­säch­lich samm­le ich fa­vo­ri­ten und book­marks ab jetzt di­rekt auf wir­res.net per book­mar­klet und quill. quill rufe ich per book­mar­klet auf, dann lässt quill mich bei book­marks noch den in­halt be­ar­bei­ten und si­chert den fa­vo­ri­ten oder das book­mark dann per mi­cro­pub hier auf wir­res.net. für ei­nen fa­vo­ri­ten sieht der vor­gang in etwa so aus:

mir ge­fällt die­ser work­flow. für die samm­lun­gen ver­lin­ke ich die so ge­si­cher­ten fa­vo­ri­ten oder book­marks und kir­by bet­tet sie ent­spre­chend ein. auch die­ses vor­ge­hen ge­fällt mir gut, weil ein­zel­ne favs und book­marks dann qua­si eine per­ma­link url ha­ben (per # un­ter dem em­bed ver­linkt).

ich fin­de das kon­zept des im hin­ter­grund leicht rau­schen­den fa­vo­ri­ten- und book­mark­stroms sehr an­spre­chend. es stört nie­man­den, er­freut mich aber und wer das rau­schen hö­ren will, kann je­der­zeit auf wir­res.net/fa­vo­ri­ten oder wires.net/book­marks ge­hen. noch gibt’s dazu kei­nen RSS feed, so­bald mich auch nur eine per­son fragt, setz ich das aber be­stimmt gleich um.


mi­cro­pub

felix schwenzel in über wirres

bis vor kur­zem hab ich in­sta­gram vor al­lem des­halb be­nutzt, weil es so ein­fach da­mit ist fo­tos oder vi­de­os vom te­le­fon ins netz zu brin­gen. in­sta­gram hat das pos­ten von me­dia­da­tei­en von an­fang an wirk­lich ein­fach ge­macht. ich er­in­ne­re mich, dass frü­her, als das mo­bi­le netz noch sehr, sehr lang­sam war, bil­der nicht erst mit dem ver­öf­fent­li­chen but­ton hoch­ge­la­den wur­den, son­dern schon vor­her, im hin­ter­grund hoch­ge­la­den wur­den. das fühl­te sich da­mals wie zau­be­rei an.

mitt­ler­wei­le hat in­sta­gram fleis­sig al­les in sei­ner app ver­schlech­tert. das geo­tag­ging ist seit dem ab­schied von fours­qua­re aus der in­sta­gram-app nicht mehr wirk­lich gut zu ge­brau­chen, ich be­kom­me mei­ne bei­trä­ge rnur un­ter gröss­ten an­stren­gun­gen auch wie­der aus in­sta­gram raus und über­haupt, we­gen di­gi­ta­le un­ab­hän­gig­keit und so, ver­öf­fent­li­che ich fo­tos und vi­de­os ei­gent­lich fast nur noch hier auf wir­res.net.

das ist zwar auch nicht ganz un­kom­pli­ziert, aber da­für ganz ge­nau so wie ich es will. der feuch­te blog­ger traum vom „mo­blog­gen“, also dem mo­bi­len blog­gen, ist mit kir­by zwar grund­sätz­lich mög­lich, er­for­dert aber ziem­lich spit­ze fin­ger und viel ge­duld. ge­nau das was ich un­ter­wegs nicht habe, wes­halb ich mei­ne mor­gen­spa­zier­gangs-fo­tos meist erst ein paar stun­den spä­ter ver­öf­fent­li­che, am desk­top.

vor ein paar mo­na­ten habe ich own­y­ours­warm re­ak­ti­viert, mit dem ich mei­ne swarm check­ins ins blog hie­ven kann (wir­res.net/check­ins). da­mit hat­te ich eine sehr ein­fa­che mög­lich­keit, bil­der (in­klu­si­ve geo­da­ten) mit kir­by auf wir­res.net zu ver­öf­fent­li­chen. den mi­cro­pub-end­punkt, der da­für nö­tig ist, hat­te ich mir da­mals mit chatGTP zu­recht­ge­häm­mert. so rich­tig gut war die im­ple­men­tie­rung des mi­cro­pub-end­punkts al­ler­d­insg nicht. des­halb hab ich das jetzt noch­mal mit cur­sor über­ar­bei­tet und ge­ne­ri­scher nutz­bar ge­macht. so kann ich jetzt auch mit quill kur­ze bei­trä­ge — und vor al­lem fo­tos — auf wir­res.net ver­öf­fent­li­chen. für quill müs­sen die fin­ger nicht so spitz sein wie im mo­bi­len kir­by front­end und die an­zahl der op­tio­nen ist ra­di­kal re­du­ziert — und trotz­dem kann ich im hin­ter­grund al­les so ein­stel­len wie ich es möch­te und brau­che.

quill no­tiz-ein­ga­be­mas­ke

es gibt auch eine ein­fa­che mög­lich­keit geo­da­ten an den bei­trag zu hän­gen, ich kann be­lie­big vie­le fo­tos hoch­la­den und op­tio­nal die „syn­di­zie­rung“ ak­ti­vie­ren, also den bei­trag au­to­ma­tisch auf mast­o­don und blues­ky wei­ter­ver­öf­fent­li­chen (als platz­hal­ter steht dort noch twit­ter, syn­di­ziert wird aber nur zu mast­o­don und blues­ky).

ges­tern früh habe ich in­ner­halb von 60 se­kun­den das hier aus dem volks­park reh­ber­ge ge­pos­tet: die­sig, in­klu­si­ve au­to­ma­ti­scher ver­öf­fent­li­chung auf mast­o­don und blues­ky.

mich ma­chen sol­che spie­le­rei­en sehr glück­lich, ei­ner­seits weil mich teil­au­to­ma­ti­sie­run­gen im­mer glück­lich ma­chen und an­de­rer­seits, weil da noch po­ten­zi­al für wei­te­re au­to­ma­ti­sie­rung und mass­schnei­de­rung auf mei­ne be­dürf­nis­se schlum­mert.

ein wei­te­res ex­pe­ri­ment sind book­marks die ich mit ei­nem quill-book­mar­klet ein­fach aus dem brow­ser in wir­res.net pos­ten kann. ob und wie ich das lang­fris­tig nut­ze, muss ich noch raus­fin­den, aber theo­re­tisch hab ich mit wir­res.net/book­marks jetzt ei­nen er­satz für pin­board.in.


er­freu­lich und er­schü­ternd

felix schwenzel in notiert

er­schü­ternd und er­freu­lich zu­gleich, wie viel men­schen nach spitz­kohl zu­be­rei­tungs­mög­lich­kei­ten im air­fry­er su­chen. seit ich wie­der an­ge­fan­gen habe zu blog­gen, schick­te mir goog­le kon­se­quent kei­ne be­su­cher mehr vor­bei.

die lan­ge bei­trags­pau­se und kur­ze off­line-zeit 2024/2ß25 ha­ben mei­ne re­le­vanz aus goog­le sicht auf 0 ge­dreht. lang­sam nä­hert sich goog­le mei­ner web­site wie­der an, goog­le frisst mir die ma­schi­nen­les­abren re­zep­te zu­zu­sa­gen aus der hand. und po­si­tio­niert mich bei be­stimm­ten such­be­grif­fen aus dank­bar­keit (oder op­por­tu­nis­mus?) ganz nach oben.

was mir an den op­ti­mie­run­gen mei­ner web­site ge­fällt: das sind al­les tech­ni­sche op­ti­mie­run­gen die po­ten­zi­ell al­len ma­schi­nen, craw­lern und men­schen zu­gu­te­kom­men, in­halt­lich op­ti­mie­re ich wei­ter­hin nichts.

oder an­ders ge­sagt: vie­le re­zep­te-ver­of­fent­li­chen­de glau­ben ja of­fen­sicht­lich, dass es eine ef­fek­ti­ve such­ma­schi­nen­op­tie­rungs­mass­nah­me sei vor ei­nem re­zept 400 ab­sät­ze über die ge­schich­te des re­zeots, der zu­ta­ten und der welt zu schrei­ben, be­vor man nach 16 ki­lo­me­tern end­lich beim re­zept an­langt. of­fen­bar dient das auch dazu eine län­ge­re ver­weil­dau­er zu er­zeu­gen und da­mit „en­gan­ge­ment“ zu si­mu­lie­ren.

um so er­freu­li­cher, wenn goog­le auch das ge­gen­teil, ein hin­ge­rot­zes re­zept, mit ei­nem ex­trem schlech­ten foto, orth­gra­phisch frag­wür­di­ger und kon­se­quen­ter klein­schrei­bung, nach oben be­för­dert. wäre doch zu schön, wenn der goog­le al­go­rit­mus ir­gend­wann re­zept-blog­ge­rin­nen dazu zwin­gen wür­de schnell zum punkt (re­zept) zu kom­men.


vi­ne.co

felix schwenzel in artikel

ges­tern muss­te ich an vine.co den­ken. das war mal eine vi­deo-sei­te auf der man 6 se­kun­den lan­ge vi­de­os ver­öf­fent­li­chen konn­te (wi­ki­pe­dia-ar­ti­kel zu vine). vor zwölf jah­ren schrieb ich:

ich glau­be vine und ich wer­den gute freun­de.

wur­den wir dann für kur­ze zeit, so vor neun jah­ren stell­te vine dann sei­nen dienst ein, ein paar mo­na­te nach der grün­dung wur­de vine von twit­ter ge­kauft.

ich weiss nicht ge­nau wie­so ich ges­tern an vine ge­dacht habe, aber mei­ne er­in­ne­run­gen sind po­si­tiv. ich habe mal ein ei­ni­ger­mas­sen wit­zi­ges vi­deo dort ge­pos­tet und ich er­in­ne­re mich, dass die sechs se­kun­den be­schrä­kung ein tol­ler mo­tor für krea­ti­vi­ät war und vie­le pos­te­ten da­mals ex­trem lu­us­ti­ge sa­chen. ich dach­te wahr­schein­lich, scha­de dass das al­les weg ist.

und dann dach­te ich, mal schau­en, ob viel­leicht doch noch was da ist. tei­le von vine schie­nen noch zu funk­tio­nie­ren, aber an die vi­deo-da­tei­en schien ich nicht dran­zu­kom­men. dann fand ich die­se sei­te des ar­chi­ve­teams: wiki.ar­chi­ve­team.org/in­dex.php?title=Vine

dort stand be­schrie­ben …

So­me­time ca Jan 3 2025 the site show­ing the vi­de­os fi­nal­ly bro­ke, though it is ac­ces­si­ble via a DNS hack.[3]

der dns hack ist fol­gen­des in die /etc/hosts da­tei ein­zu­tra­gen:

151.101.244.157 mtc.cdn.vine.co
151.101.244.157 v.cdn.vine.co

da­mit funk­tio­nie­ren die em­beds so­gar teil­wei­se wie­der. mit dem rest der an­lei­tung konn­te ich dann die me­ta­da­ten und vi­deo-da­tei­en mei­ner we­ni­gen em­beds „ret­ten“ und die­se bei­trä­ge auf wir­res.net mit vine-em­beds wie­der „re­kon­stru­ie­ren“:

vor 11 jah­ren ha­ben das­nuf und ich uns ge­gen­sei­tig bei der ar­beit ge­filmt. da­mals und auch im nach­hin­ein ist das schon ein biss­chen wit­zig, vor al­lem wenn man be­denkt, dass wir im­mer noch ar­beit­kol­le­gin­nen sind.

nach­trag:
im wi­ki­pe­dia-ar­ti­kel über vine steht, dass so­wohl kack dor­sey als auch elon musk von plä­nen ge­spro­chen ha­ben, vine wie­der zu re­ak­ti­vie­ren oder zu­gäng­lich zu ma­chen. da bin ich mal ge­spannt ob und wie da was draus wird.


gifs

felix schwenzel in über wirres

ich habe eine sei­te an­ge­legt, auf der alle gifs auf­ge­lis­tet sind, die ich hier auf wir­res.net bis­her be­nutzt habe: alle gifs auf wir­res.net

ei­gent­lich nut­ze ich schon lan­ge kei­ne gifs mehr, son­dern loo­pe klei­ne vi­deo-da­tei­en (ein mp4 mit den at­tri­bu­ten autoplay loop muted playsinline). das klappt in fast al­len mo­der­nen brow­sern und ist ef­fek­ti­ver als gifs, die meist ein mehr­fa­ches an da­tei­grös­se mit­brin­gen. das ma­chen die gros­sen platt­for­men auch schon seit län­ge­rer zeit (ca. 2014 fing twit­ter da­mit an).

aber ich habe jetzt wie­der an­ge­fan­gen gifs zu be­nut­zen als fall­back für die vi­deo-da­tei­en im RSS-feed. da die meis­ten an­bie­ter von rss-rea­dern vi­deo-at­tri­bu­te aus­fil­tern, funk­tio­nie­ren die vi­deo­da­tei­en im feed meis­tens nicht. also gebe ich per RSS gifs, statt vi­deo-loops aus — wenn ich nicht ver­ges­se das gif-fall­back zu er­zeu­gen und hoch­zu­la­den.

ein mp4 zu ei­nem an­stän­di­gen gif um­wan­deln geht mit die­sem script ganz ein­fach (wenn ffmpeg in­stal­liert ist):

#!/usr/bin/env bash
set -euo pipefail

if [ $# -lt 1 ]; then
  echo "Usage: $0 input.mp4 [fps] [width]" >&2
  exit 1
fi

INPUT="$1"
FPS="${2:-15}"       # Default: 15 fps
WIDTH="${3:-640}"    # Default: 640px Breite

if [ ! -f "$INPUT" ]; then
  echo "Input file not found: $INPUT" >&2
  exit 1
fi

BASENAME="$(basename "$INPUT")"
NAME="${BASENAME%.*}"

# temporäre Palette
PALETTE="$(mktemp "/tmp/${NAME}_palette_XXXX.png")"
OUTPUT_GIF="${NAME}.gif"

# Palette erzeugen
ffmpeg -y -i "$INPUT" \
  -vf "fps=${FPS},scale=${WIDTH}:-1:flags=lanczos,palettegen" \
  "$PALETTE"

# GIF erzeugen
ffmpeg -y -i "$INPUT" -i "$PALETTE" \
  -lavfi "fps=${FPS},scale=${WIDTH}:-1:flags=lanczos[x];[x][1:v]paletteuse" \
  "$OUTPUT_GIF"

rm -f "$PALETTE"

echo "$OUTPUT_GIF"

das script ana­ly­si­ert zu­erst die far­ben des vi­de­os und passt die (ein­ge­schränk­te) farb­pa­let­te für das gif ent­spre­chend an.

bei­spiel:

mp4 (899 kb)

schnee gif
gif (5 mb)

das schö­ne an gifs ist, dass sie (wei­ter­hin) über­all funk­tio­nie­ren. an­de­rer­seits funk­tio­nie­ren mp4s auch fast über­all, ich kann sie bei blues­ky hoch­la­den und in den meis­ten mast­o­don ci­ents wer­den sie auch be­wegt an­ge­zeigt. aber trotz­dem fand ich es (für mich) prak­tisch eine über­sicht über mei­ne ver­wen­de­ten ech­ten gifs zu ha­ben.

und kein ar­ti­kel über gifs, in dem ich nicht auf das nach wie vor gross­ar­ti­ge, 2015 ein­ge­stell­te IF WE DON'T, RE­MEM­BER ME. (iw­drm), wo ir­gend­wer mit viel ge­duld sub­til be­weg­te ein­zel­bil­der ani­mier­te und als gifs ver­öf­fent­lich­te. ich bin nach wie vor ein sehr gros­ser fan die­ser ani­ma­tio­nen.


mein work­flow um „live fo­tos“ vom ipho­ne hier zu pos­ten geht üb­ri­gens so:

  • live foto auf dem ipho­ne zu ei­ner „end­los­schlei­fe“ ma­chen
  • air­drop auf den lap­top (kommt als mp4 an)
  • mp4 in pi­xel­ma­tor öff­nen und auf ca. 1000-1500 px brei­te ska­lie­ren
  • op­ti­mier­tes jpg als pos­ter-bild spei­chern
  • mp4 in pi­xel­ma­tor als op­ti­mier­tes mp4 spei­chern (oder mit ffmpeg oder me­diacms fürs web op­ti­mie­ren)

mit kir­by baue ich dann ein fig­cap­ti­on-vi­deo-html kon­strukt das in etwa so aus­sieht:

<figure class="video">
    <a href="https://wirres.net/media/pages/articles/gifs/e4e8b3d576-1767369338/img_5687.mp4_1080_h264.mp4">
        <video 
        class="videosrc" 
        height="480" 
        width="640"
        autoplay loop muted playsinline
        preload="metadata" 
        poster="https://wirres.net/media/pages/articles/gifs/e213b3af88-1767369369/img_5687-960x-q70.jpg" 
        title="">
            <source 
            src="https://wirres.net/media/pages/articles/gifs/e4e8b3d576-1767369338/img_5687.mp4_1080_h264.mp4" 
            type="video/mp4">
            </video>
    </a>
    <figcaption>mp4 (899 kb)</figcaption>
</figure>

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 durchschnitt
FROM statistics 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 thumbnails) 
# und ein bildformat haben
<FilesMatch "(?i)^youtube_.*\.(avif|jpe?g|png|webp|gif)$">
  Header set X-Robots-Tag "noindex"
</FilesMatch>

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

</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)