Mein liebster Pullrequest…
…gefällt mir erstmal nicht wegen seiner Funktionalität, sondern wegen einer solchen Zusammenfassung:
Das sind die hinzugefügten und entfernten Codezeilen, es wurde also viel mehr Code gelöscht als hinzugefügt. Was die Zusammenfassung nicht verrät: In diesem Fall wurde nichtmal Funktionalität entfernt!
Die Statistik ist aus diesem PR, ein Update für das altehrwürdige Usergallery-Plugin für die Blogsoftware Serendipity. Betonung liegt dabei auf alt, der PR entfernt unter anderem einen Sonderfall für die Nutzung unter PHP 4 (offizielles Supportende: 2008). Das war aber nicht die große Codeeinsparung, sondern die stammt aus der Entfernung einer gebündelten Library namens JPEG_TOOLKIT zum Auslesen von Exif-Tags. Die konnte mit einer Funktion aus Serendipitys Kern ersetzt werden, serendipity_getMetaData
, die wiederum auf normalerweise einkompilierte PHP-Funktionen wie iptcparse
und exif_read_data
zurückgreift.
Völlig ohne sichtbare Änderung ging das zwar nicht, serendipity_getMetaData
gibt eine leicht andere Auswahl an Metadaten zurück. Und die Keys des zurückgegebenen Arrays sind auch teilweise anders, wodurch die Konfiguration zurückgesetzt werden musste (was ein paar der neuen Codezeilen erkennen und umsetzen). Doch das war es in meinen Augen definitiv wert, vor allem wenn man bedenkt, dass das JPEG_TOOLKIT unter PHP 8 (und möglicherweise auch früheren Versionen) nicht nur nicht funktionierte, sondern sogar kritische Fehler warf. Das halte ich auch meinem Gedanken entgegen, dass gebündelter Code nicht wirklich zählt: Oft stimmt das, wird er doch in einem anderen Projekt gepflegt. Aber hier wäre der Code von uns zu pflegen gewesen, da das Ursprungsprojekt nicht mehr aktiv zu sein scheint. Für mich zählt es dann doch.
Ich sehe sowas als Paradebeispiel für einen PR, wie ich ihn bei der Wartung im Idealfall anstreben will: Viel Code wurde entfernt, die Funktionalität dabei bewahrt. Diese Sichtweise sollte universell sein und kommt mir beim Aufschreiben trivial vor, aber man darf nicht vergessen: Das ist sie nicht. Berichte über Manager, die Entwickler nach Codezeilen bewerten wollen, findet man immer noch immer wieder. Insbesondere, wenn wie bei der Überarbeitung des Bayesplugins sogar Funktionalität entfernt wird – zugunsten simpleren und wartbaren Code sowie einer klareren Bedienung – ist Verständnis nicht gesetzt. Und es ist ja auch eine Besonderheit der Programmierung, dass ein scheinbar geringeres Arbeitsergebnis letztendlich besser sein kann.
Der PR oben ist übrigens nur als Beispiel gemeint für diese Art von Codeänderungen, er ist nicht direkt mein Favorit. Ich erinnere mich an andere, bei denen ich an die hunderttausend Codezeilen entfernen konnte. Leider war das in einem privaten Repository.
Linksammlung 13/2025
Diese Woche fand ich besonders erwähnenswert:
You might want to stop running atop, sogar die Deinstallation wurde empfohlen. Die Warnung war kryptisch und bisher fand sich im Quellcode keine eindeutige Erklärung, aber der Folgeartikel erklärt um welche Art einer möglichen Attacke es geht.
Google makes Android development private, will continue open source releases. Auf den ersten Blick nicht schlimm, die Androidentwicklung war sowieso rein von Google gesteuert. Auf den zweiten Blick ist das die Vorbereitung, Android endgültig zu proprietärer Software zu machen. Und das wäre sehr schlimm.
Boycott IETF 127 ist angesichts der eskalierenden Situation in dem Unrechtsstaat eine zwingende Konsequenz. Man kann dort keine Konferenz mehr halten, das Risiko für die Besucher ist viel zu groß.
Eine Situation, die Bemühungen wie K-Robin/GoEuropean begrüßungswert macht. Die Browsererweiterung zeigt europäische Alternativen zu Webdiensten.
The Great Barefoot Running Hysteria of 2010. Interessante Einordnung des Einfluss auf die Schuhentwicklung, wobei von der konstatierten Militanz der Trendvertreter sicher nur in bestimmten Teilen des Internets und der Welt (manche Regionen der USA?) etwas zu merken war.
Zum Abschluss ein hilfreicher Tipp fürs Terminal: Better Shell History Search. Ich habe daraufhin McFly ausprobiert, aber das machte mir die Shellhistorie kaputt (beim Zurückgehen erschienen große Blöcke der Suchergebnisse, die auch noch den Shellprompt bis zum nächsten abgesendeten Befehl verschwinden ließen). Stattdessen teste ich jetzt wie empfohlen fzf. In der Bash natürlich, daher waren die weiteren Anpassungen des zsh voraussetzenden Artikels für mich nicht übertragbar.
Bildgenerierung im Nightcafe
Während Bings Bildgenerator geschickt auf simplizierende Produkttauglichkeit getrimmt war, ist Nightcafe einerseits ein Komplexitätsmonster, gleichzeitig aber auch eine Communityplattform. Ein Blick in die widersprüchliche Parallelwelt.
Die Bildgenerierung
Zuerst zur Bildererstellung. Um ein Bild herauszukriegen ist natürlich wieder ein Beschreibungstext (= Prompt) zu schreiben und es gibt dafür täglich neue Credits. Aber damit hören die Gemeinsamkeiten zu Bing bei der reinen Bilderstellung auch schon auf. Denn während da das bildgenerierende Modell vorgegeben ist (DALL·E 3), ist es bei Nightcafe auswählbar. Es gibt tatsächlich eine große Auswahl. Und das hat einen Zweck, denn die Modelle sind bei unterschiedlichen Aufgaben gut – es ist also gar nicht absurd, die zu wechseln und Alternativen auszuprobieren. Beispielsweise produziert Flux fast immer visuell hübsche Bilder, während Googles Imagen 3.0 viel besser darin ist, Elemente der Beschreibung nicht zu ignorieren.
Zusätzlich zur Modellauswahl gibt es sogar weitere Optionen. Beispielsweise Presets, was Sammlungen von Beschreibungswörtern sind, die dem Prompt hinzugefügt werden und eine bestimmten Stil bewirken sollen. Oder Prompt Magic, bei dem der Beschreibungstext aufgebauscht wird, was mit manchen Modellen dem Ergebnis helfen kann. Andere Optionen sind ganz abhängig vom genutzten Modell, z.B. beherrscht Ideogram 2a Optionen für den gesuchten Stil (wie Realismus oder 3D-Rendering). Auch können bei manchen Modellen Bilder als Startpunkt für die Generierung genommen werden.
Sowieso, nach der Erstellung eines Bildes ist die Sache nicht rum. Sondern man kann das Bild danach weiterbearbeiten, es beispielsweise hochskalieren oder man markiert einen Bereich, der bei einem nächsten Generierungsschritt ausschließlich verändert werden soll. Letzteres funktionierte bei mir nie gut, aber der mögliche praktische Nutzen einer solchen Korrekturfunktion ist ersichtlich.
Von mir nicht getestet war die grundsätzlich sehr mächtige Funktion, eigene Modelle anzulernen, also Finetuning. Dabei füttert man ein Modell mit einigen Bildern, damit die später generierten ihnen ähneln. Um die Funktion zu benutzen braucht es aber ein Abonnement. Das Abonnement verschafft auch sonst weiteren Zugriff, schaltet z.B. bessere Modelle (wie Flux Pro) frei und gibt zusätzliche Credits. Die sind ohne Abo auf 5 am Tag beschränkt, wobei durch Interaktion mit der Seite schnell weitere als Belohnung der Gamification hinzukommen können.
Die oben beschriebene Bildererstellung nach einem Beschreibungstext ist dem Aufbau der Seite nach die Hauptfunktion von Nightcafe, der Funktionsumfang ist aber größer. Man kann beispielsweise auch Videos erstellen (bzw animierte Bilder), Skizzen zu Bilder vervollständigen lassen, den Stil eines Bildes auf andere übertragen und noch einiges mehr.
Das Drumherum
Interessanterweise verbindet Nightcafe diese umfangreichen technischen Funktionen mit einem sehr ausgebauten Communityaspekt. So können erstellte Bilder in einen Bilderstream veröffentlicht werden, wo dann andere Nutzer Likes verteilen, kommentieren oder sogar die Bilder remixen. Den Nutzern kann man folgen und bekommt dann eher ihre Bilder präsentiert. Es gibt einen Chat und Chaträume, via denen dann auch Challenges ablaufen. Das sind kollektive Bildererstellungsziele, bei denen die Sieger nach Abstimmung mit Credits prämiert werden.
Dieser Aspekt der Communitybildung wird sogar ausgebaut. So kam kürzlich ein Feed hinzu, bei dem ähnlich Facebook Posts erstellt werden können und wo – anders als beim plattformweiten Bilderstream unter Explore – die Nutzer eher im Zentrum stehen als die Bilder. Denn dort wird direkt ihr Name angezeigt. Und sie dürfen sofort sichtbare Texte schreiben, was nochmal an Facebook etc erinnert.
Selbst wenn man kritisch zum KI-Hype steht, Nightcafe ist auf verschiedenen Ebenen interessant.
Durch das Anbieten von vielen Modellen und Funktionen bietet die Seite einen tiefen Einblick in das Feld der Bildgeneratoren. So kann man hier lernen, welche Modelle bei welchen Bildern Stärken haben bzw überhaupt anschaulich mitbekommen, dass es viele verschiedene Modelle gibt.
Das macht dann deutlich, dass es zwar durchaus eine bestimmte KI-Ästhetik gibt. Aber auch, dass die sich mit dem jeweiligen Modell bzw den Modellgenerationen wandelt. Außerdem, dass die Leute mit ausgefeilten Beschreibungstexten und Einstellungen die Software doch sehr unterschiedliche Ergebnisse produzieren lassen können, wovon immer wieder welche auch gut und nicht wie KI-Schlock aussehen.
Der Ansatz der Seite ist auch abseits des Anwendungsfalls beachtenswert, wenn man selbst Webprojekte baut. Denn sie ist ein Beispiel für ein sehr starkes Fokussieren auf Communityaspekte, während aber trotzdem der funktionale Aspekt erstaunlich komplex ausgeliefert wird. Das wird bei Projekten sonst oft als Gegensatz gesehen, funktioniert hier aber scheinbar in Symbiose. Was daran liegen mag, dass ausgiebig und längerfristig mit den Bildgeneratoren zu spielen für eine relevante große Anzahl an Leuten ein ansprechendes Hobby zu sein scheint. Eine sichtbare Community zu haben gibt jedem Projekt eine Stetigkeit, die über ihren reinen funktionalen Nutzen hinausgeht, was hier wohl sehr bewusst angestrebt wird.
Genau da ist dann auch der Ansatzpunkt für Kritik. Bei Nightcafe wird sehr viel Energie für etwas verwendet, was über die reine Nützlichkeit der Software hinausgeht. Die Nutzer sollen die Bildgeneratoren trotzdem regelmäßig nutzen, wozu Funktionen wie Belohnungen für die tägliche Nutzung motivieren. Das schafft Nightcafe Bindung, verschwendet aber natürlich Strom. Diese Kritik sollte man dann auch wieder einschränken, Menschen machen viel was nicht direkt nötig ist und Energie verbraucht. Und schon ist man dann ganz schnell bei der generellen Diskussion um Bildgeneratoren und Sprachmodelle und wie erstrebenswert die Ergebnisse dieser Betätigung sind.
Ich finde, Nightcafe ist insgesamt einen Blick wert, und sei es nur als Anschauungsobjekt für diese Art der im momentanen KI-Hype verwurzelten Webprojekte, eben dieser Parallelwelt.
Linksammlung 12/2025
Diese Woche fand ich besonders erwähnenswert:
Starten wir mit etwas nettem, Ein Hauch von Tokio für unser Gamer-Girl – Eine personalisierte 3D-Leuchtreklame.
Weniger nett, sondern ein unglaubliches Versagen, folgt mit Casinonutzer der Merkur-Gruppe verlieren nicht nur ihr Geld sondern auch ihre Daten. Verantwortungsloser kann man mit Menschen nicht umgehen, was zum Casino als Geschäftsmodell nur zu gut passt.
Ich fand diesen Kommentar sehr treffend, zu Bluesky und Mastodon: Eine kritische Betrachtung der Föderation und Identitätsverwaltung. Die Abwägung ist genau richtig beschrieben und übrigens auch hier im Blog zu spüren, nämlich bei den kaputten Peertube-Videos, die es hier in ein oder zwei Artikel gibt. Dort ist nämlich die Instanz einfach verschwunden.
Probleme der Firmen drüben finden sich auch diesmal wieder im Monopoly Round-Up: The Week Everyone Realized Apple Is Decaying. Die massive Bewerbung von dann gar nicht lieferbaren Funktionen ist tatsächlich ein Armutzeugnis Apples.
Im oberen Artikel verlinkt und lesenswert: Something Is Rotten in the State of Cupertino. Wenn Gruber als Apples größter Fan solche Töne anschlägt ist da wirklich ein Problem.
Please stop externalizing your costs directly into my face beschreibt sehr greifbar die Probleme, die KI-Firmen durch ihr rücksichtsloses Abgrasen von Webseiten derzeit auslösen. Siehe auch das neuere FOSS infrastructure is under attack by AI companies.
Bundesregierung in Kontakt mit USA wegen inhaftiertem Deutschen. Er wurde laut seiner Aussage von den US-Nazis gefoltert. Wie kann die Bundesregierung sowas ungestraft geschehen lassen? Wo ist die Reisewarnung, wer ermittelt um die Anschuldigungen zu prüfen und ggf Strafbefehle zu erwirken, welche Sanktionen stehen bereit?
Kürzliche Entwicklungen bei Serendipity
Eine Zusammenfassung, was sich in letzter Zeit (etwa seit Jahresbeginn) bei der Blogsoftware Serendipity getan hat.
Im Kern
Diese Änderungen sind derzeit im Github-Master, also wären wahrscheinlich Teil des nächsten Release.
PHP 8.4 war überraschenderweise keine große Herausforderung und Serendipity läuft jetzt damit auf meinem Entwicklungsblog. Es war z.B. eine Fehlerklassenkonstante zu entfernen, die seit PHP 8.0 keine Funktion mehr hatte, und es wurde eine Optimierung für PHP 4 beim Umgang mit Referenzen von 8.4 zurecht kritisiert. Sichtbarstes Zeichen für die angestrebte Kompatibilität sind die Tests, die nun auch mit dieser PHP-Version ausgeführt werden.
Smarty 5 hatte uns große Sorgen gemacht, weil die neue Version der Templateengine viele inkompatible Änderungen brachte. Ich musste dann auch über ein paar Brüche drüberbügeln. Glücklicherweise gab es dafür schon eine passende Kompatibilitätsklasse, letztendlich – wenn da sich nicht noch später Probleme zeigen, und obwohl nun Tests für die Smartyeinbindung zu haben ein kleiner Meilenstein ist – war der PR kein großes Ding.
Intern war der Wechsel auf eine moderne jQuery-Version ein großes Ding. Denn das lag Jahre rum, noch angestoßen von Yellowled. Es erschien damals wie zu viel Arbeit, weil die Kompatibilität mit Plugins in Frage stand. Mein Stand jetzt: Das war eine Fehleinschätzung, die gesehenen Fehler waren vielmehr PHP-Probleme. Notwendige Änderungen am Javascriptcode fängt jQuery-Migrate zuverlässig ab. Daher konnte nach einem Hochziehen auf die aktuelle Version und ein paar Tests der PR endlich gemerged werden.
Allerdings möchten wir jQuery-Migrate gerne wieder loswerden. Und das erscheint machbar. Im hauseigenen Javascript des Backends habe ich die notwendigen Änderungen bereits gemacht, bei den Plugins bin ich gerade dran. Aber ich nehme es als Anlass, alle betroffenen Plugins Schritt für Schritt aufzuräumen (dazu unten bei den Pluginupdates mehr). Daher dauert das noch etwas.
Bernd hatte sich ein Update des Textile-Kernplugins gewünscht, beziehungsweise waren alte Parser mit PHP 8 unzufrieden. Davon hatte das Plugin gleich mehrere. Das habe ich auf einen reduziert.
Vor einigen Jahren hatten wir Plugins gedoppelt, z.B. Gravatar war sowohl in Spartacus als auch im Releasearchiv. Der Vorteil davon war, dass auch ohne Release Updates der Plugins einfach installierbar gewesen wären. Aber dafür ergab sich nie eine Notwendigkeit. Daher wurde die Dopplung wieder rückgängig gemacht.
Allerdings waren nicht alle der Kernplugins in einem guten Zustand. Das Gravatarplugin insbesondere konnte keine Gravatare mehr anzeigen – aber sehr wohl noch andere Avatare, wie die Favicons der Kommentatorseite oder die beliebten Monsterchen. Das wurde repariert, dabei auch kaputte Avataroptionen entfernt. Hier im Blog ist der Fix schon eingespielt, die vielen tollen Gravatare zu sehen empfinde ich als wirklich sehr hübsche Verbesserung.
Damit das Weblogping-Plugin wieder (= mit PHP 8) XMLRPC-Pings versenden kann, musste XML/RPC repariert werden. Das betrifft im Zweifel auch andere externe Plugins, war aber eine Sache des Kerns.
Ein Dauerärgernis bei der Entwicklungsarbeit und beim Support von Nutzern war die Eigenart Serendipitys bzw PHPs, die Stacktraces in Fehlermeldungen zu kürzen und so oft unbrauchbar zu machen. Dafür fand ich endlich die Einstellung.
2k11 versteckt die Suchbox des Seitenleistenplugins, weil es eine schönere eigene mitbringt. Doch das betraf auch alle anderen Themes, die zu 2k11 zurückfallen, was alle von uns ausgelieferten so handhaben. Daher greift diese Versteckfunktion jetzt nur noch bei 2k11 selbst.
Und noch etwas praxisrelevantes: Thumbnails für Bilder im WebP- oder AVIF-Format werden nun mit besseren Parametern erstellt, sodass die kleiner werden. Bzw werden sie jetzt erstmals überhaupt erstellt, wenn statt imagemagick auf php-gd zurückgegriffen wird. Diese Parameter sind jetzt auch per Bildformat anpassbar, $serendipity['imagemagick_thumb_parameters']
darf ein Array sein (mit dem Mime-Typ der Bilder als Key, siehe den Standardwert). Das war in diesem PR.
Praxisrelevantes gab es auch schon früher, ich möchte diese Liste aber nicht zu sehr aufblähen. Erwähnt sei trotzdem das Empfangen von Webmentions, das die Version im Master mittlerweile unterstützt.
Bei den Plugins
Diese Änderungen sind durch Spartacus alle auch für schon veröffentlichte Serendipityversionen.
google_analytics 2.0.1
Mit Google-Analytics-4 versehene Links funktionieren nun wieder.
commentedit 0.2.5
Durch eine standardkonforme Ausgabe des Javascriptcodes funktioniert das Editieren des eigenen Kommentars nun in mehr Plugins bzw mit der neuen jQuery-Version.
commentspice 1.10.2
Mit PHP 8 wurden ein paar Warnungen aufgelöst.
smtpmail 0.13
Das Setzen eines SMTP-Servers geht nun wieder mit PHP 8. Dafür musste vor allem PHPMailer aktualisiert werden.
flickr 1.0
Das Plugin zum Importieren von Bildern aus Flickr war kaputtgegangen, generell und mit PHP 8. Jetzt funktioniert es wieder.
lazytube 1.1.1
Zuerst ist mein Plugin für bessere Youtube-Embeds überhaupt neu in Spartacus gelandet, ich schrieb da ja schon drüber. Dann folgte ein kleines Update, um die Vorschaubilder auf kleinen Bildschirmen richtig zu skalieren.
social 1.0
Statt per Shariff werden die Buttons zum Teilen von Beiträgen vom Plugin selbst erzeugt, auch hierdrüber schrieb ich schon.
weblogping 1.10
Weblogpings werden kaum noch unterstützt, daher waren neben generellen Codeupdates viele der angebotenen Endpunkte zu entfernen. Außerdem funktioniert die neue Version nun speziell auch für den Pingendpunkt des UberBlogr-Webrings, wie beschrieben.
lightbox 2.7.0
Zuerst gab es ein paar Reparaturen für PHP 8, dann neben dem Entfernen der gebündelten jQuery-Version einen Rauswurf der veralteten Lightboxalternative prettyPhoto.
freetags 4.0
Hier gab es zuerst PHP-Warnungen im RSS-Feed unter PHP 8.x, später sah ich die vielen veralteten Optionen (wie die Tagwolke für den Flashplayer) und räumte auf.
livecomment 2.5.7
Dieses mein erstes Plugin brauchte Anpassungen für PHP 8, jQuery 3 und mehrere sonstige Bugfixes.
geshi 1.2
Ganz frisch: Für die enthaltene Geshilibrary gab es ein Update, das ein Problem mit PHP 8 behebt.
linktrimmer 2.0
Ebenfalls erst heute gemerged, repariert das Update die Anzeige von gekürzten Links in Blogs ohne URL-Rewriting, entfernt jQuery und Code für alte Serendipityversionen.
karma 2.14.14
Und schließlich sowie nochmal von heute, bekam das Karma-Plugin Fixes für das Bewerten von Einträgen im Ajaxmodus sowie für PHP 8.
Nicht alle dieser Änderungen sind von mir und es steht auch noch das Einbinden von liegengeblieben Verbesserungen anderer an. Doch größtenteils ist die Liste ein Ergebnis des Herumspukens von The unreasonable effectiveness of just showing up everyday in meinem Kopf zum Jahresende. Ich habe als Versuch entsprechend Zeit (größtenteils vom Spielen) für meine Projekte umgewidmet, bisher ging viel davon zu Serendipity – auch wegen Bernds verständlichen Sorgen zum Jahresanfang. Zusammen mit dem Finden eines Standpunktes zu Pull Requests – womit ich lange gehadert hatte – wurde ein Schuh draus. Ich mache fast immer PRs auf und lade Feedback ein, merge aber sonst auch (wie es früher ein direkter Commit bewirkt hätte) selbst.
Ich hoffe, ich kann in nächster Zeit noch ein paar der alten Issues und vor allem die liegengebliebenen PRs angehen.
Linksammlung 11/2025
Diese Woche fand ich besonders erwähnenswert:
BND hat offenbar Hinweise auf Ursprung im Labor ist wahnsinnig wichtig. Gerade auch, weil diese These als absurde Verschwörungstheorie abgetan wurde. Verständlich einerseits, weil Trump sie für seine rassistische Agenda benutzte ("the chinese virus"), aber mindestens jetzt wird klar, warum das abwürgen der These trotzdem daneben war.
Die Trumpisten der Techbranche wittern eine Chance für Unregulierte Tech-Tests: Thiel, Altman und Co wollen Freedom Cities, in denen sie die Herrscher und Arbeiter rechtelos sind.
Ein Gericht in Frankreich stoppt Autobahn-Bau – historisches Urteil nennt der Artikel das, die Einschätzung kann man problemlos teilen.
Mozilla bezieht Stellung zu Plänen der US-Justiz und setzt sich überraschenderweise auf den Standpunkt, dass das eigene Einkommen wichtiger ist als Monopolmaßnahmen gegen Google.
Ein Artikel über Friedrich Merz: Robert Habeck hoch drei wäre nötig, aber Merz versteht das nicht und die Grünen sollten sich daher verweigern. Was sie dann auch taten, bisher.
Das bisher hat sich erledigt, sehe ich gerade: Union und SPD einigen sich mit Grünen auf Finanzpaket. Jetzt kann man nur hoffen, dass die Grünen das Geld an die richtigen Stellen gelenkt haben anstatt einfach umzufallen wie befürchtet.
Lest in dem Zusammenhang auch die Antwort der Bundesregierung auf die kleine Anfrage der Unionsfraktion „Politische Neutralität staatlich geförderter Organisationen“. Der Anfang reicht, er erklärt warum die Anfrage unsinnig war und komplette Ahnungslosigkeit entlarvt, und ansonsten wird die Antwort verweigert. Sehr gut gemacht.
Einen interessanten Einblick in die Betrugsmasche gibt My Scammer Girlfriend: Baiting A Romance Fraudster.
In Memoriam: Mark Klein, AT&T Whistleblower Who Revealed NSA Mass Spying.
Bei Netlify die Rubyversion (3.x) auf die der Distro setzen
Beim Bauschritt kann Netlify auch Ruby benutzen, wählte dafür bei mir aber die Version 2.7.1. Und das, obwohl gerade das relativ frische Ubuntu Noble 24.04 bei Site Configuration -> Build & Deploy -> Build image selection als Build Image ausgewählt worden war. Mein Projekt brauchte aber Ruby 3.
Das lässt sich einstellen. Dafür geht man im Admininterface von Netlify zu Site Configuration -> Environment Variables und setzt dort RUBY_VERSION
auf die gewünschte Version. Ich wählte also die Version meiner Entwicklungsumgebung, 3.3.7
.
Nun gingen die Builds wieder, aber sie dauerten viel länger als vorher. Ein Blick in die Logs verriet: Ein Großteil der Zeit ging auf das Herunterladen und Installieren von Ruby drauf. Ich versuchte das zu unterbinden, indem ich auf die Rubyversion von Noble wechselte (3.2.3), aber Netlify lud trotzdem Ruby neu herunter. Schließlich kam ich auf die Lösung: Wenn man RUBY_VERSION
auf schlicht 3
setzt, wird die von Ubuntu mitgelieferte Version von Ruby 3 direkt benutzt.
Was das ganze in meinem Fall je nach Gemüt lustig oder irritierend machte: Es gab bei der Seite für Netlify gar nichts zu bauen, der Hoster liefert vorgeneriertes statisches HTML aus. Aber die Gemfile.lock des Seitengerators wurde von Netlify wohl trotzdem aufgegriffen und bundler installiert, ich sah keine Möglichkeit das zu unterbinden. Wie auch das mit dem Setzen der Rubyversion auf 3 nicht in der Dokumentation stand, zumindest sah ich es nicht, sondern ich musste raten.
Linksammlung 10/2025
Diese Woche fand ich besonders erwähnenswert:
Die neue Seitenleiste im Firefox ist da, insbesondere für Tabs. Doch es stellt sich heraus, dass die eingebaute Funktion keinesfalls Erweiterungen wie Sideberry oder Tree Style Tab unnötig macht, denn die native Variante der vertikalen Tabs kennt keine Hierarchien, keine Untertabs. Dabei sind die der ganze Reiz!
Mit einer Fußballwette bei Tipico fing es an beschreibt eine ungeheuerliche Abmachung zwischen Bundesländern und Glücksspielfirmen, gesetzliche Schutzvorschriften einfach zu ignorieren. Alternativ auch als Geheime Vereinbarung hebelt Spielerschutz aus, falls der längere Artikel der Zeit hinter der Paywall verschwindet.
How I’m Building a Trump-Proof Tech Stack Without Big Tech ist ein ordentlicher Startpunkt für die eigene Distanzierung von Techfirmen der runddrehenden USA. Aus der so viele schlimme Meldungen kommen, dass ich es hier gar nicht aufnehmen wollte.
Wenigstens gibt es eine erfreuliche Entwicklung bei den Desktop-Grafikkarten: AMD gewinnt kräftig Marktanteile von Nvidia zurück. So besteht eher die Chance auf zukünftige bessere Preise, als wenn Nvidia seinen Vorsprung noch weiter ausgebaut hätte.
Passen dazu sind die AMD Radeon RX 9070 & RX 9070 XT mit RDNA 4 im Test: Eine faustdicke Überraschung! Die neuen Grafikkarten schneiden in Reviews sehr gut ab. Ich bin auf die RX 9060 gespannt.
Design von /comments and /archives repariert
Wusstet ihr, dass Serendipity Übersichtsseiten für die Kommentare und eine kalendarische Ansicht für Artikel mitbringt? Beide Seiten nutze ich nicht und hatte ich auch nicht verlinkt, daher gingen die im Laufe der Zeit mit meinen Designanpassungen kaputt. Nach einem Hinweis von Bernd – Danke an dieser Stelle! – habe ich ihr Aussehen mit etwas CSS aufgehübscht.
Die Kommentarseite sieht nun so aus:
Und die Archivseite so:
Gewinnt sicher keinen Innovationspreis, aber es ging auch erstmal nur darum die Darstellung des vom Standarddesign produzierten HTML geradezubiegen. Mein Theme hat für diese Seiten nämlich bisher kein eigenes Template, daher wird das von 2k11 benutzt.
Wenn ihr selbst mit einem angepasstem Design arbeitet lohnt sich vielleicht ein Blick auf eure Übersichtsseiten.
Aufgefallen ist mir bei der Aktion, dass die zweite Seite der Kommentarübersicht kaputt ist. Das scheint alle Serendipity-Blogs mit einer aktuellen Version der Software zu betreffen. Ich habe einen Bug aufgemacht und werde mir das im Zweifel auch selbst anschauen.