Bondkommentar: You Only Live Twice
Aus Japan bedrohen Raketen die Weltraummissionen der USA und der UdSSR, was einen dritten Weltkrieg auslösen könnte. Bond soll das stoppen.
Leider so richtig trashig, mit aus einem Vulkan startenden wohl unsichtbaren und lautlosen Raketen, japanischen Ninjas statt Soldaten weil besser, und ausgerechnet der total auffällige Sean Connery gelte durch etwas minimales Makeup als japanisch verkleidet. Das erste Bondgirl stirbt, das er vorher angeblich sehr mochte, nichtmal 5 Minuten Echzeit und zwei Tage Filmzeit später will er mit der nächsten asiatischen Frau schlafen. Lächerlich ein Abschnitt, bei dem er im Q-aufgerüsteten (und aus dem Nichts kommenden) Minihelikopter andere Helikopter per Raketen, Minen und Flammenwerfer zerstört. Generell versucht sich der Film nichtmal an Glaubwürdigkeit – so schwimmt Bond zu einer Insel, als er danach in einen Krater herabklettern muss zieht er die passende Kletterausrüstung aus dem Nichts.
Immerhin, an die Basis im Vulkan erinnert man sich, sie ist archetypisch geworden. Der genutzte Toyota 2000GT weniger, aber er ist ein toll aussehender Wagen, der sich von den vorherigen klassischen Bondautos unterscheidet. Und die Idee, den Film in Japan anzusiedeln hatte ja was, wie auch die dadurch möglich werdende Besetzung der Nebenrollen zeigt. Schade nur, wie der Film die Idee ausgestaltet hat.
Javascript-Syntaxhighlighter 2024
Oder warum hier jetzt gar kein Highlighter mehr läuft.
Hier war bis vor kurzem eine alte Version von Highlight.js eingebunden. Die machte einen ganz ordentlichen Job, die diversen Codeblöcke in diesem Blog aufzuhübschen, Codeelemente in verschiedenen Sprachen einzufärben. Aber es schlichen sich da auch immer wieder Fehler ein, vor allem bei modernen Konstruktionen, die das alte Skript nicht kennen konnte. Also machte ich mich auf der Suche nach einem Update. Daraus wurde die Suche nach einer Alternative. Und weil das frustrierend war, packe ich die Suchergebnisse wenigstens hier in den Blog.
Kurz zu meinen Anforderungen: Meine Codeblöcke sind in <pre class="code">
verpackt. Welche Sprache da drin ist soll automatisch erkannt werden, wennn das gelegentlich mal schiefgeht ist das okay, optional die Sprache festsetzen zu können wäre nett (habe ich aber noch nie gemacht). Der Codeblock soll danach gut aussehen, Dunkelmodusunterstützung inklusive, habe ich das doch gerade erst in meine Version von highlight.js reingehackt gehabt. Unterstützt werden soll PHP, Ruby, Dart, Bash, Javascript, INI- und sonstige Konfigdateien, JSON, HTML, CSS und eigentlich auch Kotlin und Java. Im Idealfall gibt es ein Fallback für C-artige Sprachen. Aktives Projekt wäre gut, die Sprachen entwickeln sich ja weiter.
Und es soll Javascript sein, damit ich es einfach in den Blog einbauen kann ohne all die alten Artikel anpassen zu müssen.
Highlight.js
Eine aktuelle Version von Highlight.js wäre natürlich meine erste Wahl gewesen. Das lief jetzt ewig hier im Blog, kann Programmiersprachen automatisch erkennen und es ist immer noch ein aktives Projekt.
Aber es ist mittlerweile unnutzbar fett geworden. Das Projekt unterstützt jetzt wesentlich mehr Sprachen als vorher, aber auch wenn man die im Konfigurator nicht alle aktiviert, sondern sich auf das "Common"-Set beschränkt, ist die minifizierte Datei dann 156KB groß. Da sind ein paar Sprachen dabei, die ich sicher nicht brauchen werde und daher raus können – wie GraphQL oder Objective-C – danach sind es immer noch 132 KB. Das ist wahnsinnig viel. Vor allem für ein Feature, das bei weitem nicht alle meine Artikel brauchen. Highlight.js ist damit raus.
Prism
Prism wäre die große Alternative. Das Projekt wirbt damit, wie leichtgewichtig es ist. Und dann gibt es auch noch ein Autoloader-Plugin, sodass immer nur die benötigte Sprachendefinition geladen werden müsste.
Aber Prism ist völlig unbrauchbar, denn es wolle gute Codequalität erzwingen bzw was sie dafür halten. Das listen sie glatt als Feature:
Encourages good author practices. Other highlighters encourage or even force you to use elements that are semantically wrong, like <pre> (on its own) or <script>. Prism forces you to use the correct element for marking up code: <code>. On its own for inline code, or inside a <pre> for blocks of code. In addition, the language is defined through the way recommended in the HTML5 draft: through a language-xxxx class.
Schon damit ist Prism raus – hier im Blog wird Code seit 15 Jahren eben nur mit einem Pre-Element markiert und das werde ich sicher nicht grundlos ändern. Außerdem scheint Prism Codesprachen auch nicht automatisch erkennen zu können, zumindest wird das nirgends erwähnt.
Shiki
Wenn Prism die große Alternative war, ist Shiki wohl die moderne.
Sie ist leider genauso unbrauchbar wie Highlight.js. Fokus ist auf der Ausführbarkeit mit Node, zu Browsern heißt es hier:
It's quite efficient as it will only load the languages and themes on demand. For the code snippet above, only four requests will be fired (shiki, shiki/themes/vitesse-light.mjs, shiki/langs/javascript.mjs, shiki/wasm.mjs), with around 200KB data transferred in total.
Da kann das Ergebnis noch so genau sein, das ist absurd groß. Das auch noch für effizient zu halten ist völlig disqualifizierend.
Rainbow
Rainbow fand ich vielversprechend, denn es sei klein und bei den unterstützten Sprachen wird immerhin Shell, Ruby und PHP gelistet, mein Minimum. Und ein Fallback (generic) scheint es auch zu geben.
Aber Rainbow hat mehrere Probleme. Das erste, dass das Projekt seit 4 Jahren kein Update mehr sah. Das zweite, dass der Beispielcodeblock auf der Projektseite unnangenehm lange einfach schwarz bleibt. Drittens ist in der Dokumentation plötzlich die Rede davon, alle Sprachen manuell einbinden zu müssen, was in einem Blog so gar nicht passt. Und schließlich ist von automatischer Sprachenerkennung auch keine Rede, wobei ein entsprechendes Issue 2017 als erledigt geschlossen wurde.
Das wirkt im momentanen Zustand nicht benutzbar, das müsste erstmal entstaubt werden.
Speed-Highlight JS
Als ich schließlich über Speed-highlight JS stolperte dachte ich, die perfekte Lösung sei zum Greifen nahe. Das Projekt präsentiert sich als Alternative zu Prism, ohne auf <pre><code>
zu bestehen – stattdessen wird ein div
gefordert, aber dann geht bestimmt auch ein <pre>
.
In der Dokumentation wird eine automatische Sprachenerkennung beschrieben (optional, aber eben da), die Downloads auf der Demoseite sind angemessen klein, das Ergebnis sieht gut aus. Sogar aktiv ist das Projekt noch, letzten Monat gab es einen Commit. Es wirkt wie ein gut gebautes, vernünftiges Projekt, dem nur etwas Dokumentation fehlt um die Installation zu erklären, was man aber rauskriegen könnte…
…und dann ist weder Ruby noch PHP in der Liste der unterstützten Sprachen, auch Dart fehlt. Hmpf.
Die ergebnislose Suche nach einer Javascriptlösung hat mich dann dazu gebracht, mit CSS-Designs für die Codeblöcke hier im Blog zu spielen. Dass die generell besser aussahen war damals ein großer Pluspunkt von Highlight.js gewesen, entsprechend ginge da vielleicht auch eine Lösung ohne Syntaxhighlighting. Darüber landete ich letzten Endes bei der minimalen Lösung, die Codeblöcke ohne Rahmen einfach mit etwas Leerraum drumrum in Monospace zu setzen. Ich finde, das sieht erstmal gut genug aus.
Gleichzeitig habe ich die Releases von Speed-Highlight in meinen Feedreader gepackt. Für 1.3.0 wäre sowohl Ruby als auch PHP geplant. Leider ist das Issue schon seit 2022 auf, aber es kann ja trotzdem noch kommen.
Über zwei alternative Ansätze bin ich auch noch gestolpert, mit denen sich die JS-Highlighter vielleicht bald ersetzen lassen oder womit sie sich ändern könnten. Einmal die geniale Idee, das farbliche Markieren in die Schriftart einzubauen. Dann bräuchte es keine Javascriptlösung mehr. Zweitens gibt es eine recht neue CSS-API zum Hervorheben von Textabschnitten, mit der die JS-Highligher bald arbeiten könnten.
So unbefriedigend der derzeitige Zustand der Projekte für einen Blog wie diesen auch sein mag, ist da also doch die Aussicht auf eine Verbesserung.
Jake Seliger
Manche der Artikel, die ich in meine Linksammlung aufnehme, entstammen den Linksammlungen anderer Blogger. Einer davon war Jake Seliger, dessen Links ich oft folgte und dessen Kommentare ich sehr schätzte. So wie auch die Beschreibungen seines Kampfes gegen seine schwere Krankheit berührend waren, was hier ebenfalls schon Thema war.
Letzte Woche ist Jake Seliger gestorben.
Bondkommentar: Thunderball
Durch einen Doppelgänger wird ein Nato-Flugzeug mit Atombomben gestohlen, Bond sucht in den Bahamas.
Thunderball spielt erst in Frankreich. Bond stolpert dort durch einen totalen Zufall(!?) über den Plot, weil er in der gleichen Klinik ist, in dem erst der Doppelgänger und dann die Leiche des originalen Piloten verweilt. Auf den Bahamas ist Domino, die Schwester des Piloten, in Obhut des ausführenden Spectre-Bösen. Anstatt ihn direkt zu verhören und auszuschalten sucht Bond unerklärlicherweise seine Nähe und das abgestürzte Flugzeug. Domino wird deswegen gegen Ende nicht nur vergewaltigt – wenigstens nicht von Bond –, sondern darf sich in der Endszene auch noch mit bloßen Armen an Bond festhalten, der von einem Flugzeug weggezogen wird, was ihr sicherer Tod wäre.
Der Film trotzt also vor Absurdheiten. Nun war Goldfinger auch keine realistische Handlung, aber wenigstens war das intern halbwegs konsistent und wirkte spannend. Hier funktionierte für mich nichts. Nichtmal die natürlich vorhandene Inszenierung des Schauplatz samt Badekleidung rettet den Film.
Auffällig die leider übertrieben langen Unterwasserkämpfe. Ansonsten belanglos.
Hama CO2-Luftqualitätsmessgerät "Safe"
Das Luftqualitätsmessgerät "Safe" von Hama wurde von der Stiftung Warentest positiv bewertet. In meiner Alltagserfahrung war es hilfreich, aber es hat ein paar Macken.
Das Gerät
Grundsätzlich misst das Gerät Temperatur, Luftfeuchtigkeit und CO2-Gehalt der Raumluft. Auf letzteres kam es mir an. Temperatur und Luftfeuchtigkeit war durch ein analoges Hygrometer bereits abgedeckt, aber der für die Luftqualität wichtige CO2-Wert wurde bisher nicht gemessen. Und seit ich durch die Luftfilter mit ihrer PM2.5-Messung gesehen habe, wie schnell die Luft in einer Wohnung im Alltag miserabel werden kann, wollte ich diesen Aspekt ebenfalls überwachen.
Abseits aller Funktionalität gefiel mir das Gerät direkt optisch. Mit seiner schwarzen (Plastik-)Verkleidung und schwarzem Display, aber weißer Beschriftung und der farbigen Einschätzung der Luftqualität gibt das ein tolles Bild ab. Ich mag aber auch diese Segmentanzeigen generell, wobei diese hier so hell sind, dass ich eine Umsetzung mit LEDs vermute. Interessante Wahl. Leider ist aber die Helligkeit zu hoch, zumindest für die Nacht, und es scheint keine Möglichkeit zu geben sie herunterzuregeln.
Die drei Knöpfe oben haben andere Funktionen: Der linke aktiviert und deaktiviert das Alarmsignal für zu hohe CO2-Werte, der mittlere schaltet zwischen Min-, Max- und momentanem Messwert um, und der rechte wechselt unnötigerweise zwischen Celsius und Fahrenheit. Mit linkem und mittigem Knopf zeitgleich gedrückt wird die Kalibration gestartet, das soll draußen gemacht werden. Das macht dann auch den eingebauten Akku weniger verschwenderisch. Der wäre ansonsten mit einer angegebenen Betriebsdauer von dreieinhalb Stunden wenig nützlich, mit dem Messgerät die anderen Zimmer abzulaufen macht man ja doch nicht, aber das Gerät so für die nowendige Kalibrierung nach draußen nehmen zu können ist durchaus praktisch.
Für den Dauerbetrieb angeschlossen wird der kleine Klotz per USB-Kabel. Das liegt bei, Ladegerät nicht. Da der Preis recht gering ist – gekauft habe ich es direkt vom Hersteller für 21,50€ – geht das klar. Nach dem Anschließen dauerte es eine Weile, bis ein CO2-Wert angezeigt wurde, und noch lange nach dem Einschalten (während der Akku lud?) war die gemessene Temperatur absurd hoch, 30°C statt 25°C. Das pendelte sich nach einer Weile ein. Auch die angezeigte Luftfeuchtigkeit war höher als vorher gemessen, aber da die analogen Hygrometer sicher mal wieder kalibriert gehören glaube ich eher dem Ergebnis der digitalen Messung.
Die CO2-Messung
Als ich das Gerät hier anschloss überraschte mich der gemessene hohe CO2-Wert, wirkte die Luft doch gar nicht verbraucht. Und er schoss nach dem Lüften auch überraschend schnell wieder auf über 1000. Anfangs war ich am Zweifeln, ob in einer alten Wohnung wie der meinen dieser Grenzwert überhaupt einhaltbar ist.
Jetzt, nach etwas Eingewöhnungszeit, stelle ich fest dass dem durchaus so ist. Selbst an heißen Sommertagen. Ich muss nur etwas öfter und etwas länger lüften. Doch durch die CO2-Anzeige ist eben auch immer klar, wann es genug ist. So lässt sich die Hitzevermeidung und der CO2-Gehalt ausbalancieren, der CO2-Wert muss nur selten über dem Grenzwert ertragen werden, wenn es gar zu warm ist. Nachts reichen ein paar dauerhaft gekippte Fenster.
Und ja: Mein subjektiver Eindruck ist, dass das was bringt. Die 1000er-Grenze rieche ich noch nicht, erst deutlich später wird verbrauchte Luft für mich spürbar. Doch den Grenzwert trotzdem nun einzuhalten fühlt sich angenehm an, samt weniger häufigen Kopfschmerzen. Das kann natürlich Zufall oder Einbildung sein, aber warum sollte der niedrigere CO2-Gehalt sich nicht wirklich positiv auswirken?
Die Frage wird sein, wie das im Winter sein wird. Ob bei Kälte überhaupt oft genug gelüftet werden kann, um die Messung hilfreich zu machen.
Doch das ist ein Problem für später. Generell finde ich das "Safe" hübsch gestaltet und schon deswegen wäre mein Fazit wohl kaum negativ. Ich mag solch funktionales, klares Design. Und auch die tatsächlich gebotene Funktionalität erschien mir bisher hilfreich, insbesondere die CO2-Messung. Leider ist das Display viel zu hell, um es nachts ertragen zu können, und das blinkende CO2-Icon ist eine unglückliche Wahl, ist es doch viel zu nervig. Das ginge besser.
Linksammlung 32/2024
Diese Woche fand ich besonders erwähnenswert:
Intel hängt in den tiefroten Zahlen, passend zum Zustand der sich selbstzerlegenden Prozessoren. Es wird richtig schmerzhaft.
"We ran out of columns" - The best, worst codebase lässt selbst negative Erinnerungen von mir positiv erscheinen. Wobei ich auch das angenehme davon nachvollziehen kann, die Entwicklerfreiheit, die von dem an sich desaströsen Zustand kam.
Der GitHub Profile Roast beschimpft Entwickler für den Zustand ihres Githubprofils. Tatsächlich eine Anwendung, in der LLMs brillieren. Testenswert!
Das dürfte große Auswirkungen haben, Judge Rules Google Is a Monopolist.
Ein Reparaturprogramm wurde Downcycled: The story of Samsung's failed deal with iFixit, as told by iFixit's CEO. Man kann Samsungs Verhalten hier nicht verteidigen.
Hochgespült wurde mal wieder ein Artikel zu systemd, 10 years later: a historical and technical retrospective. Sehr detailliert, sehr wenig schmeichelhaft.
Bondkommentar: Goldfinger
Bond soll den exzentrischen Geschäftsmann Goldfinger überwachen, der das internationale Währungssystem gefährde. Also verfolgt er ihn und landet bei Fort Knox.
Ich empfand diesen als einen seltsamen Bondfilm, der mir seinem Status als vielleicht bester Bond zum Trotz nicht sehr gefiel.
Für den Film sprechen seine Actionszenen wie die Autoverfolgungsjagd oder spannende Elemente wie die leicht entkommbare Todesfalle mit Laser, perfekt garniert von Sean Connery mit lockeren Sprüchen. Auch dass ein direkteres Gegenspiel mit dem Hauptantagonisten inszeniert wurde änderte den Charakter, gerade auch verglichen mit dem (wobei gelungenen) Kampf zwischen Agenten im vorherigen From Russia with Love. Daran erinnert man sich später schon und es hebt den Film an.
Aber da Goldfinger fast direkt zu Beginn eine Frau durch eine Goldschicht über der Haut tötet ist das langsame Agentenspiel danach auch absurd – warum ihn gewähren lassen? Fast so aburd, wie eine Pilotin erst Pussy Galore zu nennen, dann durch einen sexuellen Angriff von Bond zu gewinnen. Und Bond eine lange Zeit durch eine Gefangenschaft einzuschränken und so den Plot zu verlangsamen machte die Handlung auch nicht spannender. Vielleicht wäre das etwas anders gewesen, wenn ich einen Kniff am Ende nicht schon gekannt hätte.
Auffällig ist Goldfinger für seine Bedeutung für die Filmreihe, die Markenzeichen, die hier erschaffen wurden. Wie Goldfingers mörderischer Diener Oddjob mit seinem tödlichen Wurfhut, mit seiner Verwendung in der Videospieladaption von GoldenEye für das Nintendo 64. Und Goldfingers Spruch "No Bond, I expect you to die" blieb auch hängen. Der Aston Martin DB5 war zudem das perfekte Bondauto, selbst ohne Gadgets wäre es der Wagen geworden, an den man bei Bond denkt.
Gelesen: Perilous Times (Thomas D Lee)
Als in Perilous Times ein Ritter Camelots aufersteht, um Britannien wieder mal vor dem Desaster zu retten, ist die Bedrohung ungewohnt diffus. Doch die schlechte Luft und sterbende Natur zeigt Kay dann bald doch den vorher unsichtbaren Feind: Dass dieses mal die Klimaerwärmung seine alte Heimat bedroht. Doch wie soll ein Ritter gegen diese vorgehen? Nur gut, dass dann schnell doch auch ein Drache sein Haupt hebt und besiegt werden will und Kay zudem eine Ökoterroristin kennenlernt, die vielleicht den Weg zu einer Lösung weisen kann.
Fantasy und Treibhauseffekt
Da sind zwei Ebenen zu diesem Roman. Auf der ersten ist es eine Mischung aus Fantasy und Endzeitdystopie, aus unserer nahen Zukunft. Diese Vermischung ist gelungen, denn schon das Szenario ist großartig. Wie Kay als absolut Fremder durch diese Welt zieht ist faszinierend. Die Vermischung fantastischer Element mit der Klimakrise ist es auch, gerade samt den vielen Elementen der Artussaga, vor allem wenn man Die Nebel von Avalon oder andere Literatur in der Richtung gelesen hat. Anders als bei Neil Gaiman in American Gods ist hier auch nichts von einer Handbremse zu spüren, Lee scheint Zurückhaltung als literarisches Konzept nichtmal zu kennen. So taucht hier alles aus der Saga auf, was man sich vorstellen kann. Und was macht ein Ritter wenn er britischen Nazis begegnet, gerade wenn er in der Vergangenheit gegen Hitler kämpfte? Er zieht sein Schwert und metzelt sie nieder. Das ist großartig und der Roman hier brillant.
Parodie oder Propaganda?
Gleichzeitig ist mit den Themen Klimawandel und Brexit die Geschichte zwingend eine politische. Und hier fällt Lee das vorher erfrischende Fehlen jedweder Zurückhaltung übelst auf die Nase. Die Stoßrichtung ist eindeutig: Die angeblich damals ganz normalen schwarzen Ritter (Kay ist schwarz), das They-Pronomen für eine Fee, natürlich ist in der Gruppe der Ökoterroristinnen eine Transfrau (was Kay auch nicht stört, im Mittelalter ganz normal wird behauptet), die weißen mächtigen und natürlich hässlischen alten Männer sind nicht nur Ursache allen Übels, sondern sie verspüren auch noch laut Erzähler in einer Endszene schon deswegen Angst, weil nun eine junge Frau Macht in ihren Händen habe – eine schwarze Muslime natürlich. Genauso ungebremst und dadurch affig wirkend ist die dedizierte politische Botschaft, wenn gegen Ende fünfzigmal wörtlich wiederholt wird, dass eine Lösung der Krise nicht durch Helden kommen könne und schon gar nicht von weißen Männern (außer sinnlos zu kämpfen könnten die gar nichts, wird mehrfach ausgearbeitet). Gleichzeitig wird die platzierte Hauptfigur der Handlung sehr wohl als singuläre Heldin aufgebaut, der Widerspruch scheint unbeabsichtigt.
Diese platzierte rassistische und sexistische Propaganda würde dem Thema nicht gerecht. Sie wirkt wie die Verblendung eines im Akademiebetrieb gehirngewaschenen; Lee macht laut seiner Webseite gerade einen PhD in queer interpretations of the Arthurian mythos.
Oder vielleicht ist das ein Irrtum. Es ist auch möglich, dass diese Anhäufung eine Parodie sein sollte. Eine ungebrochene, nie durch ein Augenzwinkern aufgelöste, beziehungsweise wären dann eben die besonders dummen Propagandasprüche wie die Angst vor der mächtigen jungen Frau das Zwinkern gewesen. Problem mit dieser Interpretation: Das wäre dann zwar ideologisch faszinierend, aber immer noch komplett unlustig. Und Lee gibt darauf in Interviews zu dem Buch keinen Hinweis. Dass diese Theorie aber ernsthaft unterhalten werden muss wäre bezeichnend, würde er diese Inhalte ernst meinen.
Ungeachtet ob Parodie oder nicht ist die lanzierte Dekonstruktion Camelots verträglich, weil sie zum einen primär als intellektuelles Spiel mit dem Quellenmaterial und den Erwartungen des Lesers durchgeht, zum anderen die Umdeutung von Artus zum psychopathischen Idioten auch schlicht interessant ist – und interessantes ist immer erlaubt. Auch die Ausarbeitung der Erderwärmung und die Umsetzung in ein auswegloses Szenario ist bedrückend gelungen und in vielen Aspekten schlicht realistisch, samt einer teils hervorragenden Kapitalismuskritik. Das macht die plumpe Propaganda umso bedauerlicher.
Neben manchen Aspekten der enthaltenen Politik stieß ich mich an einzelnen Sprachfehlern, wie around about als roundabout zu schreiben – ist das nicht pures Denglisch, was jedes Lektorat erkannt hätte? Wie kann sowas einem studierten Autor passieren, noch dazu einem, der in England studiert hat?
Trotz aller Kritik, naiv als Fantasyroman gelesen ist Perilous Times toll. Wer die Ideologie überlesen, teilen oder als misslungene Parodie abstempeln kann wird nur noch mehr Spaß an dieser wilden Mischung haben.
Linksammlung 31/2024
Diese Woche fand ich besonders erwähnenswert:
All Good Things Must Come to an End... heißt es für Funtoo, eine Gentoo-ähnliche Linuxdistribution, die eine Weile bei mir lief. Durchaus schade, denn Funtoo war eine seltene Kombination: Es traute sich einen anderen Ansatz, war hochkonfigurierbar und vermied trotzdem prinzipientreu so manche Fehlentwicklung, wie Systemd.
Spannend fand ich w2vgrep - Semantic Grep, also ein Programm, das semantisch ähnliche Wörter findet. Eine Suche nach "death" findet dann auch "killing", als eindrückliches Beispiel.
Eine EU-Petition fordert Stop Destroying Videogames und damit sinnvolle Auflagen für Publisher, den Besitz anderer nicht mehr nach Belieben zerstören zu können. Genau das passiert derzeit oft, wenn zu Supportende die Server abgeschaltet werden und Spiele keinen Offlinemodus bekommen. Besonders mies ist das bei Spielen, die den Onlinemodus nur als Kopierschutz benutzen. Daher ist die Petition absolut unterstützenswert.
Oh No! The Clown Services Company is coming after ClownStrike! Crowdstrike versucht offensichtlich chancenlos und ohne valide Rechtsgrundlage gegen eine Parodieseite vorzugehen. Bei der Firma spürt man die Exzellenz auf jeder Ebene.
Bondkommentar: From Russia with Love
Eine manipulierte Agentin lockt Bond nach Istanbul, um ein russisches Entschlüsselungsgerät zu stehlen.
Mit einer langen Phase im Zug, bedroht durch einen kompetenten Spectre-Agenten, fühlt sich dieser Bond-Film nochmal ganz anders an als Dr. No und unterscheidet sich in seiner Kompaktheit auch von den Folgefilmen. Unklar bleibt zwar völlig, warum die das doch nur spielende Tatiana dann wirklich Bond verfallen sollte. Aber von solchen Lücken abgesehen ist sowohl die Phase im Zug als auch der Abschnitt davor in Istanbul ziemlich spannend. Es ist ein gut gemachter Agentenfilm.
Interessant auch zu sehen, wie früh sich schon erste Bond-Schemas ankündigen, wie die präsentierten ersten Gadgets.
Wo man heute zuckt ist die Darstellung der Zigeunerfraktion – so werden sie hier genannt, und das sollten sie damals sein. Von den Kostümen zum Verhalten mit dem Kampf auf Leben und Tod und dem zur Verfügungstellen von Frauen für Bond wird eine Andersartigkeit unangenehm betont. Auch der Umgang von Bond mit Tatiana, der sie ohrfeigt und schlimmeres androht, ist abstoßend.
Kommt Mozillas Google-Reader-Moment?
Ich zweifel an Mozilla.
Das ist eine Auskoppelung von Gedanken zu Mozillas Zukunft, die ich aus dem Artikel zur PPA-Kontroverse herausgenommen habe.
Offenbart PPA vs DNT Mozillas Stillhaltetaktik?
Privacy-Preserving Attribution zu aktivieren, den Do-Not-Track-Header aber nicht, lässt mich an der Motivation von Mozilla zweifeln.
Vielleicht war die Entscheidung für das Deaktivieren von DNT damals noch verständlich. Die enthaltene Absichtserklärung des Nutzers durch eine manuelle Aktivierung musste anfangs bewahrt bleiben, um den Header zu legitimisieren. Aber mittlerweile ist DNT auch so viel wirkmächtiger als damals. Bei Einführung gab es keinerlei Handhabe, Werbeanbieter dazu zu zwingen, auf das Signal zu reagieren. Das ist in einer Welt der Datenschutzgrundverordnung ganz anders. Und tatsächlich gibt es entsprechende Gerichtsurteile explizit für DNT. Wenn Mozilla es also wirklich darum ginge, Nutzern im Internet mehr Datenschutz zu verschaffen, müssten sie nur DNT aktivieren. Und wenn es ignoriert wird, per Abmahnungen und Prozessen die Ignoranz bestrafen. Mozilla hat eine volle Kriegskasse, hier wäre das Geld gut angelegt. Gerade Mozilla als davon berührte Partei, durch Firefox eben, hätte hier die perfekte Gelegenheit.
Aber die wird nicht genutzt. Anstatt die Welt zu verändern und den Privacy-Krieg im Internet als solchen auszufechten wird Werbeanbietern per PPA die Hand gereicht. PPA ist dabei nichtmal eine schlechte Sache – tatsächlich scheint der Mechanismus auf dem ersten Blick geeignet, Werbetracking ohne Nutzertracking umzusetzen. Aber das tut nichts zur Sache, wenn Mozilla mit DNT direkt gewinnen könnte. Das ist mir so unverständlich wie das Mittel nicht zu nutzen, in Firefox einen Werbeblocker zu integrieren. Der wäre im Interesse der Nutzer, wirkt auch ohne Industrieinvolvierung gegen Tracking, und die Befürchtung von massenhaften Einnahmenausfällen hat angesichts Firefox geringer momentaner Verbreitung auch keine Relevanz mehr.
Es liegt ein Verdacht nahe: Mozilla will mit Firefox diesen Konflikt gar nicht gewinnen. Ist die jetzige Situation für die Leitung etwa komfortabler? Firefox wird immer unwichtiger, gleichzeitig aber muss Google wegen Chromes enormer Verbreitung schon deswegen weiter Firefox finanzieren, um das Monopolverfahren abzufedern. Mit dem leicht verdienten Geld werden andere Einnahmequellen erschlossen und neue Ziele angegriffen, wie KI. Da ist viel Motivation, es sich mit Firefox mit niemanden zu sehr zu verscherzen. Der Werbeindustrie durch PPA ein Friedensangebot zu machen passt da sehr gut rein. Firefox' Nutzer stehen staunend vor solchen Entscheidungen und verstehen die Welt nicht mehr. Betrachtet man Mozilla aber als im Grunde satte Organisation, bei der es um ein immer weiteres steigern der Einnahmen (und Ausbeutung derselben) geht, passt es leider nur zu gut.
Das muss nichtmal stimmen. Im Sinne von: Da muss kein Plan des Ausnutzens der Einnahmequelle sein, keine bewusste Entscheidung zum Stillhalten. Aber es ist unbestreibar, dass es von außen so aussieht. Und es ist wahrscheinlich, dass diese Strukturen sich auf Mozillas Entscheidungen mindestens unbewusst auswirken.
Mozilla entschied nun oft klar gegen das offene Internet und Nutzerinteressen
Mozilla stellt sich ganz im Gegensatz zu meiner Einordnung oben als Verfechter der Nutzerinteressen, kompromissloser Verteidiger des offenen Internets dar. Und tatsächlich ist Firefox ja auch der beste Browser und seine Webengine unbedingt notwendig, um der Chrome-Monokultur zu entgehen. Aber Mozilla trifft immer wieder Entscheidungen, die mit dieser Mission nicht zusammengehen. Statt Nutzerinteressen zu verteidigen wird an die anderen gedacht, werden faule Kompromisse geschlossen, wird aufgegeben, wird gar gegen eigene Versprechungen gegen Nutzerinteressen gehandelt. Beispiele für alles folgen.
DNT wie oben beschrieben ist das erste Beispiel. Der Header, der den Widerspruch zu Tracking kommuniziert, wurde eingebaut – was erstmal gut war. Aber dann wurde er nicht als Standardeinstellung aktiviert. Die wenigsten Nutzer aber ändern ihre Standardeinstellung (deswegen ja auch die automatische Aktivierung von PPA). DNT wurde dadurch direkt entmachtet, weil es so selten an ist wurde es stattdessen sogar ein weiteres Bit zum Bauen des digitalen Fingerabdrucks, sodass einzelne Browserinstallationen besser trackbar werden. Das wäre nicht so, wäre DNT wenigstens in Firefox als Standard an.
Zu DNT war noch argumentiert worden. RSS wurde völlig ohne auch nur im Ansatz nachvollziehbare Rechtfertigung aufgegeben. RSS ist eine XML-Datei, die Seitenbetreiber auf ihren Server packen und immer aktualisieren, wenn sie neue Einträge schreiben (ihre Software, wie Wordpress, macht das automatisch). Leser können diese Datei mit einem Feedreader abonnieren und so komfortabel neue Artikel an einem Ort lesen, anstatt Seiten einzeln besuchen zu müssen. Klasse für Blogs, aber auch Newsseiten werden so oft konsumiert. Ein wichtiges Instrument des offenen Webs, ein Gegengewicht zu den Algorithmen von Twitter und Facebook. Firefox hatte dafür integrierte RSS-Lesezeichen, ein Symbol bei der URL-Eingabe zum Direktzugriff auf vorhandene RSS-Feeds und eine schöne Darstellung von RSS-Dateien im Browser. Nach und nach wurde das alles entfernt. Und bezeichnend: Für das RSS-Icon sei im aufgeräumten neuen Design kein Platz in der Adresszeile, aber für den aufgekauften Lesezeichendienst Pocket (mit seinem Bezahlmodell…) war Platz nie ein Problem. Dabei ist alles, war RSS gebraucht hätte, ein Icon zum Markieren der vorhandenen Feeds, ein Stylesheet zum Aufhübschen der RSS-XML-Datei (wie aboutfeeds) und eine Sammelseite mit Feedreadern und Erklärungen zur Funktionsweise gewesen (wie subtome). Riesennutzen für das dezentrale Web. Ein 1-Mann-Projekt, bräuchte keinen Monat. Aber nur Mozilla kann es umsetzen.
Mozilla macht stattdessen lieber sowas: Die Organisation hat sehenden Auges DRM den Weg in den Browser geöffnet. DRM steht für Digitales Restriktionsmanagement, durch unkontrollierbare und im schlimmsten Fall in die Hardware eingebaute Kontrollmechanismen entscheiden damit dritte, was mit Dateien auf dem eigenen Computer gemacht werden kann. Bei Mozilla ging es um Videos, also Netflix & Co, die per geschlossenem DRM-Modul verplombt werden sollten. Mozilla stimmte, obwohl das null im Interesse der Vertreter des freien Netzes war, dem dafür platzierten EME-Protokoll zu. Angeblich aus Angst, dass sonst die Nutzer weglaufen. Die liefen trotzdem weg, und heute ist Googles proprietäres DRM-Modul Widevine eine Blockade für alle anderen Browser, denn Google gibt es nicht heraus.
Auch ohne Zwang von außen kann Mozilla die eigenen Nutzer vor den Kopf stoßen. Als 2019/2020 Firefox für Android umgebaut wurde, versprach Mozilla die baldige Einführung von Erweiterungen für die Mobilversion – verschleppte sie danach aber um Jahre. Das hatte keine technischen Gründe; wie Entwickler von Mozilla berichteten, war Mozillas Management nur nicht interessiert daran das Versprechen einzulösen. Dabei hatte das eine besondere Brisanz: Auf den Mobilplattformen hatten die Plattformbetreiber immer wieder versucht, das freie Bespielen mit Software zu verhindern – besonders iOS ist ein einziges Gefängnis, aber auch Android machte eine Weile vermehrt Blockadeversuche. Erweiterungen in einem Mobilbrowser waren daher ein wichtiges Gegengewicht zu diesen Abschottungsbemühungen. Die kamen dann auch, aber erst 2023. Davor wurde nur eine Miniauswahl an Erweiterungen manuell eingebunden, immerhin auch der beliebte Werbeblocker uBlock Origins.
Ist das Problem die Struktur, mit Firma und hohen Gehältern?
Meine Vermutung: Mozilla wird sich mit solchen Entscheidungen immer weiter von seinen Nutzern entfernen. Denn die kombinierte Firma und Stiftung Mozilla teilt schon lange deren Werte nicht mehr im Kern, wie man an den obigen Entscheidungen und dem Marketingsprech ablesen kann.
Und auch das immer weiter wachsende CEO-Gehalt spricht dafür. Nicht nur die Höhe, sondern alleine dass es wächst, während Firefox Marktanteile verliert; und dass es wuchs, während Mozilla Angestellte entließ. Letzteres war einfach asozial. Kann eine sich asozial verhaltende, elitenkapitalistisch den Managementgewinn erhöhende Organisation für das offene Netz kämpfen?
Ich frage mich: War Mozillas Strukturfehler simpel, das Gehalt nicht zu deckeln? Brauchte es einen Schutz dagegen, dass eine Stiftungsfirma mit viel Geld hohe Gehälter ausspruckt und so die falsche Motivation setzt? Mit begrenztem Gehalt hätte ich eher eine Chance gesehen, passende Leute in dem System zu halten. Ich befürchte, in einer kapitalistisch orientierten Firma siegen sonst immer die Profitmaximierer, niemand gewinnt gegen Struktur. Und solche Leute treffen andere Entscheidungen. Ich kann mir einfach keinen Wirtschaftler mit Ferrari in der Garage und Millionengehalt vorstellen, der sich ehrlich um das offene Netz sorgt, der die Wichtigkeit von RSS erkennen kann. Nicht als reines Vorurteil, sondern weil das offene Netz eben auch das ressourcenlose Netz ist. Da geht es besonders um die Webseite, bei der nichtmal der Webserver Geld kosten darf. Da geht es um Abstand zu den großen Internetriesen. Kann sich da jemand reinversetzen, der sich im Umfeld genau dieser Giganten bewegt, der so viel Geld als Ressource zur Hand hat? Den es bzgl DRM z.B. gar nicht scheut, mit Google und Netflix und Co verhandeln zu müssen, wenn er einen neuen Browser baut, weil das ein Projekt mit sehr viel Startkapital sein würde und entweder darüber oder über die Beziehungen ein Platz am Verhandlungstisch sicher wäre? Versus dem Indieentwickler, bei dem gar kein Kapital da wäre und eine solche Hürde offensichtlich unüberwindbar ist.
Ich bezweifel die Eignung. Eine derart entfremdet gesteuerte Organisation bewahrt vielleicht die Geschäftsidee, den Fokus auf das Anbeiten von freieren Alternativen, doch ohne Überzeugung zu den dahinterstehenden Idealen. Und das würde viel erklären.
Natürlich hat Mozilla auch gute Entscheidungen getroffen, wie Chromes adblockerzerstörende neue Manifestversion bisher nur zusätzlich zu unterstützen. Und bei fast jeder der obigen Entscheidungen konnte man statt bösem Willen oder stukturellem Desinteresse ein legitimes anderes Abwägen vermuten. Dass das kleinere Übel gewählt wurde bei DRM beispielsweise, war Mozillas Argumentation. Und auch mir geht das so, Mozilla hat bei mir noch längst nicht das schlechte Image, das die Auflistung oben vermuten lässt. Dabei hilft, dass Firefox immer noch ein toller Browser ist, auf dem Desktop wie auf dem Telefon. Genau deswegen bleibt die Erwartungshaltung an Mozilla trotz allem intakt, genau deswegen gibt es immer noch einen Aufschrei wenn Mozilla Entscheidungen trifft, die offensichtlich oder scheinbar gegen die Interessen ihrer Nutzer verstoßen. Doch selten bewirkt der etwas, Mozilla korrigiert Fehler nur in den seltensten Fällen. So divergieren Mozillas Realität und das Ideal Mozilla immer weiter.
Mozillas Mission der offenen Alternativschaffung im Netz ist immer noch eine gute, viele Projekte Mozillas scheinen weiterhin unterstützenswert. Aber ich sehe mit Entscheidungen wie PPA, mit Abschaltungen wie beim Mozilla Location Service den Google-Reader-Moment näher rücken, in dem das positive Verhältnis zwischen Kernnutzern und Konzern wie damals bei Google unwiederbringlich aufgekündigt wird. Für manche war die Aufgabe von Servo durch Feuern der Entwickler schon ein solcher Moment. Für andere ist es vll tatsächlich die nächste Steigerung des CEO-Gehalts. Was es auch genau sein wird: Die Begeisterung, die in technischen Kreisen dem Start von Ladybird als ernsthaftes Projekt entgegengebracht wurde, zeugt davon, dass Zweifel an Mozilla weit verbreitet sind.
Linksammlung 30/2024
Diese Woche fand ich besonders erwähnenswert:
The Later Years of Douglas Adams beschreibt dem Titel entsprechend die späteren Jahre des Lieblingsautors aller Informatiker.
SUSE fordert openSUSE zum Rebranding auf ist eine ziemlich absurde Geschichte, die entsprechend hämisch kommentiert wird.
Nett gemacht ist diese persönliche Liste, Top 25 Best Games Of All Time (GOAT), über die ich stolperte. Vielleicht eine Vorlage für einen Blogartikel.
Weil sich niemand zuständig fühlt oder es wirklich eine Regelungslücke gibt, existiert ein Missing Link: Wie Millionen Bundesbürger kommerziell ausspioniert werden. Man darf wirklich keine Apps aus dem Playstore beziehen.
Es gibt neues zu postmarketOS in 2024-07: new homepage, pmbootstrap v3, sensors, libcamera and more!.
Das hätte ich vor einer kurzen Weile gut gebrauchen können, audapolis: An editor for spoken-word media with transcription.
PPA: Mozilla steht als Heuchler da
Okay understater, ich führe es aus.
DNT aus zu lassen, aber PPA zu aktivieren, ist unverständlich
Vor Jahren hat Mozilla den Do-Not-Track-Header (DNT) in Firefox eingebaut. Eine gute Idee, die besuchten Seiten automatisiert mitteilt, dass der Nutzer kein Tracking wünscht. Doch DNT galt lange als Misserfolg, es wurde nicht ausreichend benutzt und berücksichtigt. Das ist kein Wunder, denn selbst Mozilla ließ die Standardeinstellung auf aus. Damals argumentierte das Projekt so:
Die Mission von Mozilla ist es, den Nutzern diese Wahl und Kontrolle über ihre Browser-Erlebnis zu geben. Wir werden 'Do Not Track' nicht standardmäßig aktivieren, da sonst Mozilla die Wahl treffen würde und nicht der Einzelne. Da dies eine Entscheidung ist, die der Nutzer selbst treffen muss, können wir das Signal nicht automatisch senden, sondern werden ihnen die Werkzeuge zur Verfügung stellen, die sie dafür benötigen.
Dieses Bekenntnis zur Selbstermächtigung krüppelte einen Datenschutzmechanismus, der zu 100% im Interesse der Nutzer war.
Beim jetzigen Konflikt um Mozilla Verhalten ging es um Privacy-Preserving Attribution (PPA), ein Werbezählungsverfahren. Das ist viel weniger im Interesse der Nutzer, weil es erstmal nur Werbebetreibern nützt. Nur indirekt könnten Nutzer profitieren, wenn Werbeanbieter zugunsten einer PPA-Zählung auf Tracking verzichten würden. Dafür gibt es keine Gewissheit, naheliegend ist die Kombination Tracking plus PPA-Zählung – also völlig nicht im Interesse der Nutzer. Diesmal argumentiert Mozilla genau andersrum und lässt PPA als Standard aktiviert:
Die Datenschutzmerkmale dieses [PPA-]Prototyps sind viel stärker als sogar einige gängige Funktionen der Webplattform und erfüllen im Gegensatz zu den meisten anderen Vorschlägen in diesem Bereich unsere hohen Standards für das Standardverhalten. Es gibt eine Umschaltfunktion, um sie zu deaktivieren, da einige Personen Werbung unabhängig von den Datenschutzeigenschaften ablehnen, und wir unterstützen die Nutzer dabei, ihren Browser nach ihren Wünschen zu konfigurieren. Dennoch betrachten wir modale Zustimmungsdialoge als benutzerfeindliche Ablenkung von besseren Standardeinstellungen und glauben nicht, dass ein solches Erlebnis hier eine Verbesserung gewesen wäre.
Also: Die gleiche Organisation kommt zu zwei völlig unterschiedlichen Ergebnissen. Und verweigert DNT die Aktivierung per Standard, während PPA sie bekommt – obwohl nur DNT klar den Nutzerinteressen entspricht. Das ist schwer zu verdauen. Gerade auch die Behauptung, modale Zustimmungsdialoge als benutzerfeindlich abzulehnen, platziert Firefox doch gefühlt nach jedem Update einen neuen modalen Dialog um für Mozilla zu werben, stößt auf.
Ja, zwischen diesen Abwägungen liegen Jahre, aber DNT existiert immer noch. Mit einer neuen Einsicht in die Rolle von Standardeinstellungen müsste es neu evaluiert und dann absolut aktiviert werden. Vor allem, weil der Header sogar kürzlich juristisch aufgewertet wurde. DNT ist seitdem eine Waffe, mit der Mozilla heute schon gegen Tracking vorgehen könnte. Ganz ohne irrealistisches Warten auf eine Zusammenarbeit mit der Industrie.
PPA verstört Firefoxnutzer also nicht nur, weil PPA nur mit einer positiven Einstellung zur Werbeindustrie als sinnvolles Projekt erscheinen kann, welche die traditionell datenschutzfokussierten Kernnutzer von Firefox niemals geteilt haben. Es verstört auch die Argumentation zur Aktivierung als Standardeinstellung, weil sie völlig der bekannten Entscheidung bei DNT widerspricht. Darauf zielte mein Zitat Mozillas damaliger Argumentation ab.
Bondkommentar: Dr. No
Um einen Mord aufzuklären reist Bond nach Jamaica, von dort auf eine fiktive kleinere Insel, die von den Einheimischen gemieden wird.
Der erste Bond, gespielt von Sean Connery, ist vom Ton ziemlich seltsam und das Bond-Schema steht noch nicht, aber das Ergebnis funktioniert trotzdem erstaunlich gut als Bondfilm. Denn die Insel schafft eine typische Geheimnisatmosphäre, immerhin lauern auf ihr feindliche Soldaten und ein als Drache verkleideter Flammenpanzer (warum das denn bitte?), als ernstzunehmende Hürde vor dem eigentlichen Bösen. Dr. No nimmt sich dann viel Zeit, Spectres bösen Plan zu erklären. Was passt, ist so Spectre in den Folgefilmen ordentlich etabliert.
Dr. No macht noch nicht den Eindruck, als ob da zwingenderweise eine ewige Filmreihe draus entstehen musste. Aber er bietet Erklärungsansätze für den Erfolg. Zwei fallen auf: Dass das Konzept des selbstbewussten Agenten mit Bondgirl an der Seite auch hier schon funktioniert, und dass Connery diesen Bond direkt toll verkörpert.
Bekannt für den Auftritt der aus dem Wasser steigenden Ursula Andress. Auch diese provokante – aber für die Zeit eben nicht zu vulgäre? – Zurschaustellung sicher ein Teil der Erklärung für den Erfolg.
Mozillas PPA und DNT
Zu Mozillas PPA-Werbesignal wurde schon viel gesagt. Mein Kommentar ist Mozillas Kommentar, ihre Begründung, das inzwischen juristisch belastbare DNT-Signal nicht zu aktivieren:
Mozilla’s mission is to give users this choice and control over their browsing experience. We won’t turn on Do Not Track by default because then it would be Mozilla making the choice, not the individual. Since this is a choice for the user to make, we cannot send the signal automatically but will empower them with the tools they need to do it.