Designänderungen im Blog: Artikelüberschriften, Hintergrund, Textumbrechung
Für die spätere Erinnerung, diese Designdetails haben sich in letzter Zeit hier im Blog geändert:
Vorher:
Nachher:
Die Überschriften von Einzelartikeln sind in den Blogheader gewandert. Vorher waren sie gedoppelt, sie standen einmal dort, einmal direkt über dem Artikeltext, wie auf den Artikelübersichtsseiten. Verwirrend war besonders, dass der Titel im Header zwar ein Link war, der aber auf die Bloghauptseite zeigte. Von der Positionierung her war ein Link zur Bloghauptseite an der Stelle angemessen, aber zum Artikeltext passte es nicht. Das ist nun aufgelöst: Der Titel des Artikels führt nun auch im Header zum Artikel, der Untertitel mit dem Blognamen führt zur Bloghauptseite. Entsprechend wanderte die Datumsanzeige in die Infozeile unter dem Artikel – das finde ich nicht ideal, im Design aber ansonsten schwierig.
Beim Blick auf den Titel könnte auch auffallen, dass der lange Titel im Beispielbild anders umgebrochen wird. Das ist der Effekt von text-wrap: balance
. Diese Anweisung soll zu einer gleichmäßigeren Länge der einzelnen Zeile führen. Funktioniert nur bei nicht zu langem Text, daher im Grunde nur für solche Titelblöcke geeignet. Da aber empfinde ich es als netten Effekt.
Ähnlicher Gedanke war das Setzen von text-wrap: pretty
für Artikeltexte. Das sei ein langsamerer Algorithmus, der aber Texte etwas hübscher unterteilen könne. In Firefox wird das noch nicht unterstützt, in Chromium aber schon, und es sorgte da tatsächlich für kleinere Unterschiede. Da hier im Blog jetzt schon seit einer Weile Wörter automatisch umgebrochen werden und der Text an die Breite des Containers angepasst wird (text-align: justify
mit hyphens: auto
) sah ich die Wahl als angemessen.
Dass der Codeblock kein Syntaxhighlighting mehr zeigt hatte ich vor kurzem beschrieben, das war weniger eine bewusste Designentscheidung als meine Unzufriedenheit mit der Qualität der Highlighter.
Gewollt war der andere Bloghintergrund. Der war vorher einfarbig, ein hellgraues Blau, . Jetzt ist da eine gepunktete Struktur, umgesetzt mit einem SVG als background-image
, . Das erforderte relativ viel Ausprobieren bis ich eine Variante fand, die da zwar ein Muster einsetzt, aber ohne völlig die Farbe zu ändern oder zu sehr aufzufallen. Wenn meine Erinnerung stimmt habe ich dabei zwischendurch Hero Patterns benutzt.
Ansonsten sollten sich nur Kleinigkeiten geändert haben, wie z.B. die Zeilenhöhe von Überschriften.
Linksammlung 40/2024
Diese Woche fand ich besonders die Situation um Wordpress erwähnenswert:
WP Engine hat eine Klage eingereicht, die Klageschrift ist lesbar unter WP Engine Inc. v Automattic Inc. and Matthew Charles Mullenweg. Klar, das ist nur ihre Darstellung der Situation.
Im zugehörigen HN-Thread hat Matt Mullenweg aber reichlich kommentiert. Er bekommt dafür teils Anerkennung für seine Offenheit, aber mehr noch viel Gegenwind – seine Aussagen könnten ihm schaden, betreffen beispielsweise den Charakter der vll nicht so gemeinnützigen Wordpress-Foundation.
Ähnlich offen und riskant wirkte ein Interview, das er unter On with Theo / T3.gg im eigenen Blog verlinkte. Es zeichnet in meinen Augen ein recht klares Bild davon, wie Mullenweg Wordpress Markenrechte auch jetzt schon einsetzt. Alles freundschaftlich unter Kollegen, mit einem Anruf würden normalerweise Forderungen problemlos durchgesetzt. Wenn das stimmt erklärt das einiges – denn wo WP Engine in ihrer Klage wohl Recht hat, ist dass auf Seiten Wordpress eine Fehleinschätzung zur Macht und Reichweite von geschützten Markenzeichen vorliegt. Aber damit kamen sie bis jetzt durch?
Das geforderte Trademark License Agreement ist kurz und lesbar. Sind das Forderungen, die eine Firma annehmen kann? 8% vom Umsatz oder äquivalente Entwicklerarbeit, volle Auditrechte, 7-jährige Laufzeit, ein Verbot GPL-Software zu forken? Ich bezweifel es.
Dazu kommen weitere negative Signale. “Nice Guy” Matt Mullenweg, CEO of WordPress.com Cries Foul and Threatens Me With Legal Action beispielsweise ist schwierig zu seinem Gunsten zu interpretieren.
Losgelöst von der Person, wie machen das andere Projekte? Solving the Maker-Taker problem beschreibt Drupals Ansatz eines formalisierten Karmasystem, sie nennen es Contribution Credits. Das ist weit weg von Wordpress' rasch wirkender Forderung.
Mein Fazit: Die Grundidee, dass eine große Firma auch zur genutzten FOSS-Software beitragen soll, ist völlig verständlich. Aber es ist rechtlich nicht einforderbar, der Umweg über Markenrechte – die dann auch noch viel wirkmächtiger interpretiert werden, als sie sind – wirkt unweigerlich missbräuchlich. Da ist es dann fast egal, wie viel oder wie wenig WP Engine wirklich beigetragen hat oder wie geplant oder überstürzt andere Maßnahmen gegen WP Engine waren. Der Kern der Forderung ist daneben.
Doch damit genug zu Wordpress.
Auch unangenehm war Smart TVs take snapshots of what you watch multiple times per second. Das war eigentlich bekannt, ist aber trotzdem eine Frechheit.
Intel findet die Grundursache für defekte Core i-13000 und Core i-14000. Man könnte meinen "mal wieder", sie hatten Probleme ja vorher schon per Salamitaktik zugegeben, das wirkte ähnlich. Aber dieses Zusammenspiel mehrerer kleiner Komponenten klingt glaubwürdig und umfassend. Kaputte Prozessoren bleiben kaputt, aber die Updates könnten noch nicht zu instabilen Modellen helfen.
How to upscale images by hand (in Linux) fand ich hilfreich, gerade die Abgrenzung zu was upscayl leisten kann, was ich ja auch schon mal angeschaut hatte.
The Arch Linux team is now working directly with Valve — SteamOS and Arch should both benefit greatly. Bisher hat Valve nur Gründe gegeben, eine Zusammenarbeit mit ihnen positiv zu finden.
Deutschland betreibt mal wieder Zensur, diesmal bei Steam: Warum einige der besten Indie-Spiele bald ausgeblendet werden. Eine deutsche Sonderwurst beim Jugendschutz, der eine eigene Kennzeichnung einfordert und Spiele ansonsten zensiert – auch für Erwachsene.
Das unterschreibe ich: On the importance of F-Droid. F-Droid ist ein großer positiver Einfluss auf Android, und toll für Nutzer.
Denn der Play Store kommt wirklich mit vielen Restriktionen, und das hat Konsequenzen, wie Why my apps will soon be gone from the Google Play Store.
Das schadet letztendlich auch der Firma, und nicht nur Google ist davon betroffen, was Mozilla's massive lapse in judgement causes clash with uBlock Origin developer gerade erst wieder zeigte. Auf der einen Seite ist gorhills Reaktion ziemlich harsch. Auf der anderen Seite dürfen solche Fehler im Umgang mit wichtigen Entwicklern Mozilla wirklich nicht passieren.
Bondkommentar: Moonraker
Bond sucht ein gekapertes Space Shuttle, was ihn bis in den Weltraum bringen wird.
Absurder wird es nicht mehr werden. Moonraker ist in der Hinsicht ein Höhepunkt: Roger Moore spielt Bond bis auf ein paar Kommentare völlig ernst, aber alles darum herum ist es kein bisschen. Die Handlung wirkt in ihrer Albernheit nur noch wie ein Vorwand, um Actionszenen und schöne Frauen zu präsentieren. Entsprechend wird im diesmal sehr speziellen Weltraumszenario dann die Bondformel starr abgespult: M und Miss Moneypenny teleportieren sich nahe Bond in der Welt umher, Q bringt Gadgets, erstes Bondgirl stirbt, Bösewicht steckt Bond in leicht entkommbare Todesfallen, am Ende schläft Bond nochmal mit Bondgirl 2.
Dabei schwankt die Qualität der Stunts und Actionszenen im Film arg: Manche sind toll, wie der falschirmlose Sprung aus dem Flugzeug im Intro. Andere werden durch die wahrnehmbare künstliche Beschleunigung der Szenen zerstört, wie bei der Zentrifuge. Mehr noch aber stört, dass die Kämpfe oft kaum motiviert sind, die Bösen immer wieder anlasslos aus dem Nichts auftauchen.
Immerhin, Moonraker fand ich als Kind toll, eine Science-Fiction-Story mit Weltraumstation und Laserwaffen sprach mich schon damals an und die genutzten Modelle sind sehr gelungen. Das mit Bond zu gemischt zu sehen ist einzigartig. Aber heute überwiegen leider die negativen Seiten: Die dumme Story, die schlecht verbundenen Szenen, Jaws Unverwundbarkeit, dass das Szenario zu absurd ist um ein Bondfilm zu sein. Und zum ersten Mal wird Produktplacement ein relevantes Problem, Moonraker präsentiert seine Sponsoren zu aufdringlich.
Koss KSC75, Kopfhörer zwischen perfektem Komfort, guter Klangqualität und wortwörtlichem Schrott
Die Form ist die erste Besonderheit des Koss KSC75. Das sind keine regulären Kopfhörer mit einem Bügel, sondern sie werden hinter die Ohren geheftet (Koss nennt die Form "Ear Clip"). Das ist nicht einzigartig, aber selten und in Zeiten von in den Gehörgang gepressten Ohrhörern noch seltener geworden. Von Audio-Technica gibt es da noch die ATH-EQ300M (oder gab, sie sind nicht auf der Webseite zu finden), aber sie werden in Deutschland nur von einem einzelnen Amazonhändler verkauft (Restbestände?) und seien deutlich schlechter.
Denn das ist die zweite Besonderheit: Die Klangqualität des KSC75 wird in Reviews hochgelobt. Sogar der Bass sei gar nicht so schlecht, was bei solchen offenen Kopfhörern überraschend ist, die auch noch sehr locker anliegen. Klar gäbe es besseres, aber nicht in der Preisklasse.
Genau, das ist das nächste: Die KSC75 sind billig. In Deutschland mit ~30€ weniger als in den USA, wo sie nochmal 10 USD günstiger sind. Aber trotzdem, der für den Preis gebotene Klang mache sie alternativlos (vll stimmt das mittlerweile nicht mehr, die chinesischen IEMs sind sehr gut geworden und teils durchaus auch so günstig, aber das ist eben die falsche Form).
Mein Eindruck
Für mich waren die KSC75, die ich mir angesichts der guten Reviews als Verlegenheitswahl gekauft hatte, schlicht superkomfortabel. Die kleinen Haken hinter den Ohren sitzen bei mir trotz Brille problemlos. Kein Bügel der oben auf dem Kopf wiegt, kein Anpressdruck, der die Polster gegen die Ohren reibt, das ist für mich eine perfekte Lösung. Im Ergebnis hatte ich noch nie Kopfhörer, die sich so lange angenehm tragen lassen – bisher schien mir, unendlich lang.
Auch den Ton mag ich. Ja, im direkten Vergleich kann ich den geringeren Bass bemerken, aber auch für mich klingen die Teile gut, ob das nun für Musik, Videos oder Spiele ist. Und sie scheinen gut zu dem billigen Sharkoon-DAC zu passen, wahrscheinlich durch den relativ hohen elektrischen Widerstand (60 Ohm), auf jeden Fall ist da für mich auch bei Stille kein Rauschen zu hören.
Ein Nachteil der Bauweise ist die fehlende Abschirmung von Außengeräuschen. Wäre jetzt noch Covidzeit mit einem geteilten Büro daheim, oder wäre der PC noch so laut wie damals, wäre das ein Problem. Aber Covid löste die Zeit und den PC-Lärm löste fan2go, so ist die Durchlässigkeit daheim ein Vorteil geworden.
Der verbliebene und leider massive Nachteil ist die schlechte Haltbarkeit. Das Kabel ist furchtbar dünn und auch noch fest verbaut. Mir ist jetzt nach nur sieben Monaten Nutzung, ausschließlich daheim, entsprechend eine Seite weggefallen, sie gibt einfach keine Ton mehr aus. Den direkten Schaden davon wird diesmal die Gewährleistung abfangen, aber diese Unzuverlässigkeit macht den KSC75 trotz der Akkufreiheit zu einem Wegwerfprodukt. Und das geht mir enorm gegen den Strich.
Man kann das Kabel auswechselbar machen, mit einem MMCX-Mod, aber das sieht mir nicht gerade einfach aus. Und Koss verspricht eine "Limited Lifetime Warranty", aber ob solche Kontaktprobleme darunter fallen ist mir unklar, auch, ob die in Deutschland überhaupt einlösbar ist.
Es gibt derzeit wieder mehr in die Richtung gehendes, ich stolperte gerade über ein Review zu den Nothing Ear (open), was einfach nicht in den Gehörgang gepresste Ohrhörer zu sein scheinen, die ebenfalls mit einem Bügel hinter den Ohren befestigt werden. So wie auch Knochenschallkopfhörer einen Moment hatten, weil sie das Ohr freilassen. Vielleicht kommt über die Schiene dann auch was mit Kabel und bietet eine haltbarere Alternative zum KSC75. Hoffentlich, denn derzeit weiß ich nicht wie ich das lösen soll, bleibt wohl keine Lösung als die Garantie abzuklopfen oder den MMCX-Mod durchzuprügeln – denn auf den Komfort des KSC75 wollte ich nur sehr ungern verzichten.
Linksammlung 39/2024
Diese Woche fand ich besonders erwähnenswert:
Bitclock ist ein Luftqualitätssensor mit CO2-Messung als offene Hardware. Ähnlich zum Hama Safe, würde das E-Ink-Display die zu hohe Helligkeit vermeiden. Aber es wäre ein Selbstbauprojekt, mit einem zu bestellenden PCB und laut der Webseite nicht konfigurierbar unter Linux, also nicht gerade praxistauglich.
Mit Use frog-fifo-v1 protocol for FIFO versuchte Valve Wayland auf die Sprünge zu helfen, aber Wayland will bisher lieber weiter unbrauchbar sein.
Anschaulich und verstörend war Exposing The Flaw In Our Phone System (Video), eine Demonstration wie das SS7-Protokoll zum Abfangen von Nachrichten und sogar zum Lokalisieren jedes Telefons auf der Welt genutzt werden kann. Und das sind keine theoretischen Attacken, das wird aktiv genutzt.
Google Cloud files complaint with European Commission regarding Microsoft’s anti-competitive licensing practices. Sinnvoll von Google, nicht nur von EU-Regulierungen getroffen zu werden, sondern sie selbst versuchen zu lenken. Mit Microsoft triffts da nicht nicht den falschen, die kritisierte Preiskopplung (Zusatzkosten für Windows Server, wenn nicht Azure genutzt wird) ist bei entsprechender Marktmacht offensichtlich daneben.
Es folgen ein paar Artikel zu Blogs. Den Anfang macht Holy Hell, The Social Web Did Not Begin In 2008, eine Kritik an den Fediverseleuten, die mit ihrer "Social Web Foundation" mindestens ungeschickt Blogs und alle anderen vorherigen sozialen Internetkomponenten unterschlagen.
Da passt ein verlinkter älterer Artikel des gleichen Autors zu, ActivityPub Is To The IndieWeb As A.I. Is To Silicon Valley?
Dabei geht es gerade hoch her im Blogland, denn WordPress.org bans WP Engine, blocks it from accessing its resources. Es geht um viel Geld, so viel ist klar, aber ob WP Engine wirklich einfach keinen Beitrag leistet und ob das Automattics Vorgehen rechtfertigt, das ist strittig.
Aber Blogs sind ja nicht nur Wordpress. So wie hier Serendipity genutzt wird, bauen andere ihre Blogs mit modernsten Techniken, wie in How I Built My Blog. Die 100.000 Zeilen Code, die der Autor laut dem Artikel für seine Seite produzierte, zeigen aber, dass diese Ansätze ineffizienter sein können als ältere. Selbst wenn die Seite mehr als ein einfacher Blog sein sollte.
Doch solange es Spaß macht, warum nicht. Why I still blog after 15 years nennt noch ein paar weitere Gründe für den Blogbetrieb. Auch wenn da wieder eigene Blogsoftware genutzt wird, ist die Motivation nicht darauf beschränkt und erinnert ansonsten sehr an das, was bei den anderen Bloggeburtstagen in den vorherigen Linksammlungen genannt wurde. Spaß am Schreiben, am besser werden, und der fühlbare Nutzen des Festhaltens eigener Gedanken schimmert immer wieder durch.
Bondkommentar: The Spy who loved me
Als ein britisches und ein sowjetisches Atomuboot verschwinden sucht Bond nach dem vermuteten Trackinggerät, in Kairo und Sardinien.
Roger Moores ist hier mehrfach ein grausamer Bond, schiebt eine Frau in den ihm gewidmeten Pistolenschuss, lässt den kooperierenden Feind vom Dach fallen, hilft trotz Gelegenheit einer von Jaws (Beißer) gejagten Kontaktperson nicht. Wobei Jaws comichafte Superkraft und Unzerstörbarkeit so albern sind wie der Beiwagentorpedo, das definiert den Charakter des Films für mich mehr noch negativ.
Der andere Charakter ist ein Hauch Glasnost. Doch die erstaunliche britisch-sowjetische Zusammenarbeit macht die schwache, eifersüchtige und unterwürfige (sowie plakativ halb oder wirklich nackte) Amasova nicht zu einem würdigen Gegenpart zu Bond und Barbara Bach nicht russisch. Wobei auch Moore bei der Partnerschaft nicht positiv wegkommt, gerade bei den wohl schon damals peinlichen Kommentaren zu ihrem Autofahren.
Auffällig der Stunt zu Beginn, als Bond mit Skis und spät öffnenden Fallschirm von einem Berg springt. Der starke Einstieg wird halb gehalten, halb gebrochen. Die folgende Story ist zu hanebüchen, die Szenenabfolgen unglaubwürdig verbunden, ich vermisste die Sauberkeit des Drehbuchs des Vorgängers. Dagegen stehen Actionszenen wie die gut gemachte Helikopterjagd, die superaufwändige Frachterexplosion und das witzige Uboot-Auto, und da ist schon ein gewisser Charme in diesem sich völlig nicht ernst nehmenden Bond. Wenn nur das Zusammenspiel mit Amasova funktionieren würde, ihre Darstellung nicht gar so ätzend wäre.
Review zum Moto G52 mit CalyxOS - Ein gutes Übergangstelefon?
Motorolas G52 ist eines der günstigen Telefone, von denen der Konzern jedes Jahr eine ganze Reihe raushaut. Das Besondere am G52 ist die Softwareunterstützung nicht nur durch LineageOS, sondern auch durch das besonders interessante CalyxOS. Der Brauchbarkeit des Smartphones vermutlich das Genick brechen wird Motorolas legendär schlechter Softwaresupport.
Zum Kontext: Ich habe ein Moto G52 für mich selbst gekauft, gebraucht (aus Überzeugung und weil Motorolas Mutterkonzern Lenovo auf meiner schwarzen Liste steht) und vergleiche mit meinem bisherigen LG G5, das am kaputtgehen war und das auch von LineageOS keine Updates mehr bekommt.
Das Moto G52
Doch erstmal zum Gerät selbst. Das G52 ist wie fast alle regulären modernen Telefone ein langweiliges Rechteck. Ein Kameramodul mit drei Linsen und Blitzlicht ist am Rücken angebracht. Die hintere Abdeckung ist aus Plastik, so wie auch die metallisch angemalten Seiten in Wirklichkeit Plastik sind (was man mit etwas Abnutzung auch wirklich sieht). Es gibt Modelle mit 4GB und welche mit 6GB Ram, 128 GB oder 256GB Speicher, erweiterbar mit einer Speicherkarte – meines kombiniert 6GB Ram mit 128 GB Speicherplatz. Natürlich hat es einen Kopfhöreranschluss (sonst wäre es keine Option). Prozessor sei ein Snapdragon 680 mit acht Kernen, der Bildschirm nutzt AMOLED. Die Selfiekamera ist vorne in diesen Bildschirm eingelassen, die Benachrichtigungs-LED wurde leider ohne Ersatz weggelassen.
Das ist einer der großen Unterschiede zum LG G5 von 2016 und ähnlichen alten Telefonen, mit denen ich vergleiche: Dass die Ränder eben so klein sein, dass der Bildschirm fast den ganzen zur Verfügung stehenden Platz nutzt. Da ist kein dicker Rahmen mehr, der ihn oben und unten abschneidet und der vorderen Kamera Platz geboten hätte. Das macht den Bildschirm natürlich nochmal größer, als er wegen dem sowieso schon größeren Gerät sowieso wäre – 160mm Höhe, 74mm Breite passen deutlich schlechter in meine Hosentaschen. Der Bildschirm ist so ganze 6.6" groß und streckt die Auflösung von 2400x1080, die Bildwiederholrate geht bis 90 Hz hoch.
Das LG G5 als damaliges Topmodell hatte damals, wie schon das G3, einen fantastischen Bildschirm. Allerdings IPS LCD. Der Vergleich sollte also klar das Moto G52 im Vorteil sehen, gerade was Kontrast und tiefes schwarz angeht. Aber erstmal sah es für mich nur anders aus, rotstichiger (vll war aber auch das G5 blaustichig). Problematisch: Bei zwei der drei Einstellungen auf dem G52 sind mir sogar die Farbkontraste zu gering. Wenn ich die Telefone jetzt nebeneinander halte fällt aber schon auf, dass der neuere Bildschirm deutlich heller werden kann, das Bild weniger grau wirkt und die Blickwinkelstabilität besser ist. Das G5 ist auch alt, zeigt bei entsprechenden Kontrasten den vorherigen Bildschirminhalt immer noch eine Weile als Phantombild mit an. Schon deswegen ist das G52 hier klar besser.
Statt dem G52 wäre auch das G42 oder G32 in Frage gekommen. Doch die kleinere Modelle waren kaum oder gar nicht günstiger, das G32 hat keinen OLED-Bildschirm und das G42 keine Version mit mehr als 4GB Arbeitsspeicher. Daher fiel nach dem Vergleich die Wahl auf das G52.
CalyxOS
Allen drei gemeinsam wäre die Unterstützung durch CalyxOS, was ich damit zum ersten mal selbst testen konnte.
Das Alleinstellungsmerkmal des ROMs ist der Fokus auf einen bestimmten Sicherheitsbegriff, demzufolge das Projekt nur Geräte unterstützt, bei denen der Bootloader nach der Installation wieder gesperrt werden kann. Zudem muss, wenn ich das richtig sehe, der Hersteller noch Updates für die Firmware ausliefern. Das beschränkt die Auswahl massiv, bisher waren nur die letzten Modelle vom Fairphone, das SHIFT6mq und Pixeltelefone von Google mit dabei. Und seit kurzem die drei Motorolatelefone.
Die Installation samt Bootloaderverschließen war kein Problem, daher spare ich mir auch eine eigene Installationsanleitung (es gibt eine offizielle). Schade ist – aber das ist mehr ein Problem des G52 – dass ein Unlockcode von Motorolas Webseite gebraucht wird. LGs Abschaltung dessen Äquivalent zeigt, wie anfällig solche Infrastruktur ist.
Einmal installiert funktioniert CalyxOS stabil und ist umfangreich aufgestellt. Das Androidsystem wirkt sehr wie das von LineageOS, mit ein paar sinnvollen Anpassungen. So ist F-Droid in einer Basisversion (ohne ein paar sicherheitskritischen Funktionen) vorinstalliert. Signal ist auch da und wird bei jedem Anruf als sicherere Alternative beworben, was faktisch korrekt ist, auch wenn es mir mangels Signals Verbreitung im Umfeld nicht sehr nützlich ist. Ein VPN-Client ist vorinstalliert, von mir bisher ungenutzt, und eine App um Metadaten aus Bildern zu entfernen.
Vor allem aber ist microG installiert und eingerichtet. Damit funktionieren dann wesentlich mehr Anwendungen aus dem Playstore (bzw Aurora Store, ebenfalls vorinstalliert) problemlos, z.B. kamen bei einer Bankanwendung die Benachrichtigungen an. Das ist die gewünschte Balance aus Sicherheitsfokus, Datensparsamkeit und Praxistauglichkeit, die ich bei LineageOS letztes Jahr vermisst hatte. Und ja: Auch die Lokalisierung – dessen Scheitern ich LineageOS beim G5 ankreidete – funktionierte direkt, die Ortung war schnell und auch das genaue GPS-Signal war nach kurzer Wartezeit vorhanden.
Fehler gab es auch, so wurde direkt bei meinem ersten Anruf der Bildschirm nicht abgeschaltet. Ob das an der Software oder an der Hardware lag lässt sich nicht mehr herausfinden, seitdem klappte es immer.
Fantastische Akkulaufzeit
Die Kombination aus CalyxOS und Moto G52 führt zu einer hervorragenden Akkulaufzeit. Besonders gut ist der geringe Verbrauch in Ruhephasen. Da scheint alles zu stimmen, zum einen schaltet die Hardware sich wohl ordentlich in die Schlafzustände, zum anderen muss da auch das Betriebssystem geschickt Arbeit vermeiden. Möglich, dass die von microG angebundene Infrastruktur für Pushbenachrichtungen da wirklich etwas bringt und den Verbrauch von Telegram und Signal reduziert. Die genaue Laufzeit kann ich so gar nicht beziffern, aber die Verlaufsanzeige verrät beispielsweise, dass ich heute Nacht keine 5% verlor und bei einem Ladestand von 55% eine verbliebene Laufzeit von anderthalb Tagen vermutet wird. Und das ist bei meiner Nutzung nicht unrealistisch.
Unterstützt wird auch ein Ladelimit, sodass der Akku nie über beispielsweise 90% geladen wird. Das sollte seine Lebenszeit erheblich verlängern. Nicht unwichtig, gerade bei einem fest verbauten und verklebten Akku, wobei ein Auswechseln des Akkus (auch dank des Plastiks statt Glas des Rückteils) machbar aussieht.
Gemischte Audioqualität
Bei einem Testanruf wurde dem Moto G52 kein Vorteil, aber auch kein Nachteil zum LG G5 attestiert. Auf meiner Seite empfand ich die Sprachwiedergabe am LG G5 besser, wie sehr das am Lautsprecher im Ohrteil oder an einer etwaig anderen Lautstärke lag kann ich nicht klar aufdröseln.
Beim Lautsprecher sind beide Telefone nicht gleichwertig. Positiv fällt trotzdem der Vergleich zum alten Samsung Galaxy A3 aus, dessen Lautsprecher einfach zu schwach war. Beim G52 ist der Lautsprecher dagegen laut genug für den Alltag, aber etwas zu schwach für schwierige Situationen wie dem Podcasthören beim Kochen, wenn die Dunstabzugshaube übertönt werden soll. Das war auch beim LG G5 so. Dessen Soundqualität ist aber klar besser, wenn es um Musik geht. Vielleicht etwas dumpf, klingt es klar besser als die blecherne Wiedergabe des Moto G52. Ich habe eine Testaufnahme versucht, jeweils aufgenommen mit meinem Computermikrofon. Ist etwas leise geworden, aber ich denke man hört den Unterschied deutlich genug.
Das Moto G52 zuerst:
Das LG G5 zum Vergleich:
Das Original ist hier.
Schwache Fotoqualität
Mit dem neuen kleinen menschlichen Wesen im Haus war die Möglichkeit Fotos zu schießen mir natürlich wichtig, und es war ein Faktor dafür, neben den fehlenden Updates die Neustarts des G5 bei aktivierter Kamera nicht weiter hinzunehmen.
Das G52 hat eine Makro-, eine Weitwinkel- und eine reguläre Linse. Die Makrolinse empfand ich bisher als unbrauchbar, die Bilder wurden zu einem Pixelrauschen. Ein Beispiel:
Die anderen Linsen empfand ich als etwas besser. Für die Hauptkamera im folgenden ein Vergleich, das gleiche Motiv zum fast gleichen Zeitpunkt, zuerst das Moto G52 (CalyxOS) , dann das LG G5 (LineageOS), und schließlich das Xiaomi Note 8T (Herstellersoftware):
Für meine Augen ist das Bild des Moto G52 auf den ersten Blick okay, aber im Detail nicht gelungen. Und das scheint mir repräsentativ für die allgemeine Bilderqualität dieser Kamera, wenn ich so durch meine Galerie schaue. Im Thumbnail sieht es noch gut aus. Aber im verlinkten großen Bild (wenn auch auf 1920p herunterskaliert) scheint ein Schärfefilter die Details zu zersetzen oder die Farbabstimmung um den Gammawert nicht zu stimmen, was im Thumbnail kaum auffällt, im großen Bild aber schon. Im Ergebnis sind die Farben trist und manche Details, wie die hellen Pflanzenhalme, sehen unecht aus. Beim G5 und dem 8T sehe ich dagegen keine deutlichen Qualitätsunterschiede. Beide Bilder sind unterschiedlich, aber besser als das vom G52. Das Xiaomigerät überzeichnet die Farben etwas, beim G5 sind die Details nochmal klarer und die Farben lebensechter.
Allerdings: Das G5 hat die Eigenheit, den Fokus eines eigentlich klaren Bilders wieder zu verschieben, sodass manchmal Bilder mehrere Versuche brauchen. Diese Macke hat das G52 nicht, immerhin.
Trotzdem ist das etwas enttäuschend. Ich hatte angesichts des Alters keinen Qualitätsverlust zum G5 erwartet, das ja auch nicht mit der Herstellersoftware läuft. Das schlechtere Ergebnis des G52 kann damit an der Hardware liegen, aber auch fehlende oder falsche Firmware speziell in CalyxOS könnte das Problem verursachen.
Ich sah also ein paar Schwächen. Die Kamera zeigt Macken und der Lautsprecher ist nicht optimal.
Aber das G52 ist günstig und wird mit CalyxOS von einer guten Androidvariante unterstützt. Es hat einen guten Bildschirm, eine tolle Akkulaufzeit und dabei eine gute Prozessorleistung (doppelt so stark wie mein auch schon ausreichendes LG G5, im StressTest). Der nicht optimale Lautsprecher ist ausreichend für Video- und Podcastkonsum, die Bilder immer noch gut genug, um Erinnerungen ordentlich festzuhalten. Zudem stimmt mit 6 GB Ram (die Variante mit 4 wäre etwas wenig), 128 oder 256 GB Speicherplatz, microSD-Kartenslot und Kopfhöreranschluss die Ausstattung.
Als Übergangstelefon in die Zeit EU-regulierter reparierbarer Telefone könnte es daher an sich taugen. Wenn denn der Softwaresupport hält – aber genau das ist zweifelhaft. Als ich es kaufte war der dessen Dauer noch unklar, mittlerweile schätzt CalyxOS August 2025 als Supportende ein. Das wäre zu wenig. Zusammen mit den Hardwareschwächen bin ich daher nicht überzeugt davon, dass das Moto G52 ein besseres Übergangstelefon ist als es ein altes Flagschifftelefon wäre – eines in der Liga des LG G5, nur etwas neuer und mit bestehendem Support durch ein alternatives Android; wie z.B. das Samsung S10(e) oder das (etwas teurere) OnePlus 7 Pro.
Linksammlung 38/2024
Diese Woche fand ich besonders erwähnenswert:
Who Actually Owns Nebula? Es geht um die Videoplattform und wem sie gehört – scheinbar eben nicht all den Videomachern, die für sie werben, obwohl ihre Werbeslogans so klingen.
Why am i wearing a heads-up display? (Video), wenn wir schon bei Videos sind, dieses fand ich besonders. Er beschreibt seine Nutzung eines HUDs, eine solche Arbeit mit einer neuen Geräteklasse sieht man selten.
15 Jahre GamersGlobal – feiert mit! Die Spieleseite GG ist einer der guten Orte im Netz, ihr 15-jähriges Bestehen freut mich sehr.
Im Spielebereich wurde diese Woche auch die PS5 Pro angekündigt, aber der extrem hohe Preis und der geringe Mehrwert enttäuschen. PlayStation 5 Pro Shows the Futility of the Video-Game Graphics Race schlägt dazu einen größeren Bogen, den man wohl zusammendenken muss mit der langsamer gewordenen Hardwareweiterentwicklung und der daher das Ende solcher Konsolen ankündigt. Vielleicht.
Dann könnten wir die alten Konsolen länger behalten, und müssten sie dann irgendwann reparieren. Wie schnell das großartig ausufern kann zeigt Fixing an Elgato HD60 S HDMI capture device with the help of Ghidra, auch wenn die eigentliche Reparatur der Karte ohne die LEDs wohl sehr einfach war.
Weil die LLMs den Datensatz versauen und das akademische Feld verzerren: Why wordfreq will not be updated.
Und zum Abschluss Ruby-SAML pwned by XML signature wrapping attacks, Auswirkungen (über)komplexer Technik auf einer ganz anderen Art.
Bondkommentar: The Man with the Golden Gun
Eine mit 007 markierte goldene Patrone wird ans MI6 gesendet, der Drohung begegnend beginnt Bond eine Jagd auf den für solche Kugeln bekannten Auftragsmörder Scaramanga.
Ein viel besserer Bondfilm als der Vorgänger, und auch stärker – weil konsistenter – als viele der vorherigen Bondfilme bis hierher. Die Einführung macht Scaramangas Charakter und Gefährlichkeit deutlich, durch das Szenario ist Bonds Motivation immer nachvollziehbar. Selbst der diesmal einzigen einfach zu entkommenden Todesfalle wird eine Rechtfertigung gegeben. Dazu ist die goldene Pistole cool und Bonds relative Gadgetfreiheit erfrischend. Nur dass schon wieder das Klischee der unfähigen Agentin bemüht wird, mehr noch als je zuvor, nervt ziemlich. Generell ist die Frauenfeindlichkeit Bonds wieder mal schwer zu ertragen und die Zurschaustellung der Frauen aus heutiger Perspektive einfach schwierig, aber wer bis hierhin die vorherigen Bonds mitgeschaut hat wird kaum zucken.
Weiteres Manko: Obwohl das alles gut konsturiert ist, könnte es etwas spannender sein. Und muss ausgerechnet ein Solarkraftwerk wie ein AKW explodieren? Politisch ist dieser zur Ölkrise spielende Film höchst fragwürdig.
Neben der Sorgfalt des Drehbuches sticht der fantastische Stunt mit dem sich durch eine schiefe Sprungchance um sich selbst drehenden Wagen heraus – und zur typischen fehlenden Sorgfalt der Filmreihe passt, ihn durch einen bescheuerten Soundeffekt ins Lächerliche zu ziehen.
Divinity: Original Sin 2 - Larians Schritt in Richtung RPG-Olymp
Divinity: Original Sin 2 ähnelt dem Vorgänger sehr, macht aber vieles besser. Vom Genre her ist es wieder ein klassisches Rollenspiel mit Draufsichtperspektive, aber das Abschleifen der Kanten und die größere Dichte dieses Abenteuers rücken es viel stärker in die Nähe von Baldur's Gate 2 und anderen Genregrößen.
Als Quellenmagier gejagt
In Rivellon werden alle von der Quelle befähigten Magier zusammengetrieben. Einer davon ist der anfangs erstelle Charakter, wobei alternativ auch ein vorgefertigter Charakter ausgewählt und angepasst werden kann. Die verbliebenen Vorlagen sind dann als NPCs mit auf dem Schiff, das zu einer Gefängnisinsel reist, und können sehr schnell als Gruppenmitglieder rekrutiert werden.
Einerseits sind die Fähigkeiten dieser Charaktere stark anpassbar, ihre Startkonfiguration kann sogar im Gespräch gewählt werden. Andererseits sind ihre Hintergrundgeschichten detailliert ausgebaut. Dabei sind sie allesamt keine ganz klassischen Figuren. Diese Hintergründe werden im Spiel dann auch noch wunderbar mit der eigentlichen Geschichte verwoben. So wie bei Lohse, einer von einem Dämon besessenen Bardin, deren Freiheitskampf bis zum Finale eine Rolle spielen kann.
Aber erstmal landet die Gruppe auf der Gefängnisinsel, natürlich nicht ohne Zwischenfälle. Und dort öffnet sich dann direkt das Spiel. Es gibt ein klares Ziel, aber viele Wege dorthin zu kommen und entsprechend viele Verhaltensmöglichkeiten. Je nach erschaffenem Charakter (und je nachdem, welcher der Charaktere das Gespräch führt) stehen auch immer wieder andere Wege offen. So sieht nur ein Gelehrter Nutzungsmöglichkeiten in einem bestimmten Buch, oder kann nach ein paar entsprechenden Taten ein Ruf als Held gewonnen werden, was dann neue Antwortmöglichkeiten eröffnet. Natürlich ist auch ein Ruf als Bösewicht eine Möglichkeit, wobei ich nicht selbst getestet habe wieweit sich das Spiel in diese Richtung drehen lässt.
Auch die folgenden Gebiete funktionieren so – sie sind alle offene Karten, in denen die Gegnerschwierigkeit die Begrenzungen setzen und es (gerade für den Hauptquest) immer mehrere Optionen gibt. Und vorher getroffene Entscheidungen haben oft Folgeauswirkungen, auch über den jeweiligen Akt hinweg.
Überraschend harte Kämpfe
Bei aller Freiheit: Die Rundenkämpfe werden in jedem Fall einen großen Teil des Spiels ausmachen. In ihnen spielen wieder die Elemente durchaus eine Rolle, sodass Öllachen durch Feuer in Brand gesteckt werden können usw. Es gibt nun zudem eine physische und eine magische Rüstungsleiste, sodass die Konzentration der jeweiligen Schadensarten als Taktikkomponente hinzukommt. Die Charaktere (und Gegner) haben mehr Fähigkeiten als im Vorgänger, entsprechend lang ist die MMO-artige Fähigkeitenleiste unten.
Bei den Kämpfen überraschte mich ihr Schwierigkeitsgrad. Ziemlich früh waren viele der erreichbaren Gegner unbesiegbar und es brauchte einiges an Suchen, um gewinnbare Kämpfe zu finden und so langsam aufzuleveln. Das wurde auch im späteren Spielverlauf nicht besser, legten doch gerade im vierten Gebiet die Gegner (und ihr geschickter Einsatz von Fähigkeiten) nochmal eine Stufe zu. Vielleicht fand ich einfach nicht die beste Kombination, doch grundsätzlich erschien mir meine Gruppenzusammenstellung vernünftig und effizient. Und mit dem kürzlich durchgespielten Vorgänger war das Spielsystem eigentlich vertraut.
Aber wenigstens war das anders als im Vorgänger, bei dem einzelne Kämpfe ungewollt schwierig erschienen. Hier war das Niveau ziemlich konsistent, nur eben konsistent hoch.
Inszenierung und Humor
Wie das Spiel sich präsentiert, da allerdings hat sich ein bisschen was getan. So sieht alles etwas hübscher aus. Inklusive dem wichtigen Inventar, bei dem jetzt endlich die Charaktere in groß angezeigt werden. Aber auch in der Spielwelt selbst sind sie und ihre Ausrüstung jetzt noch mehr wahrnehmbar.
Wieder gibt es das Problem, dass Gespräche der NPCs sich wiederholen und endlos abgespult werden. Aber es ist etwas entschärft, es gibt wohl weniger davon und die Pausen zwischendrin sind länger. Das macht es erträglicher.
Einfacher zu folgen ist auch die Hauptstory. War im ersten Teil gerade anfangs überhaupt nicht klar, was passiert und wer da handelt, und wurde zudem mit einer Taschendimension die Story immer wieder aufgehalten, ist die Geschichte des zweiten Teils von Beginn an wesentlich klarer. Und trotzdem erweitert sie sich im Spielverlauf, wird die Rolle der Spielfigur immer wichtiger und die große Handlung epischer. Allerdings, da ist kein Jon Irenicus, einen Oberbösen nicht nur indirekt zu zeichnen vernachlässigt DOS2 sträflich. Immerhin gibt es aber genug Motivation, um sich dem Bösen in den Weg stellen und die Welt retten zu wollen, nur funktioniert das mehr über die generelle Situation als über eine klare persönliche Motivation wie in Baldur's Gate 2, Witcher 3 oder gar Cyberpunk 2077, das in dieser Hinsicht in einer ganz anderen Liga spielt.
Larians Spielen wird als ihr eigenes Ding dagegen oft ein eingebauter Humor attestiert, manchmal negativ bewertet, da er für manche nicht immersionsfördernd sei. Davon habe ich diesmal nicht viel mitgekriegt. Einige Gespräche sind immer noch etwas abseitig, das sind aber besonders die mit Tieren, was komplett optional ist. Und es gibt ein paar Witze, wie dass ein Heiltrank aus einem Gifttrank und rotem Färbemittel gebraut werden kann. Aber da war nichts, was mich auch nur ansatzweise aus dem Spiel gerissen hätte. Vielmehr überwiegt an der Stelle, dass dieses Craftingsystem keine Skillpunkte mehr braucht und daher viel einfacher genutzt werden kann (was noch mehr gälte, wenn die Rezepte im Craftingmenü die erschaffbaren Gegenstände beschreiben und ihre Werte anzeigen würden…).
Vom Ton her wirkte das Ganze sogar eher ziemlich erwachsen, nicht nur durch die Thematisierung von Tod und Genozid, sondern auch bezüglich Sex – wo der Vorgänger die eine mögliche Sexszene noch durch absurdistischen Humor verstellte, wird diesmal mindestens eine überraschend ausführlich beschrieben. Noch kein Mass Effect (und wohl BG3), weil es keine grafische Inszenierung gibt, aber eben auch kein störendes Kleinkindverhalten mehr.
Was macht es so viel besser?
Also, fordernde Kämpfe, ausgebautere Mechaniken auf allen Ebenen und eine verständlichere, packendere Story – deswegen also ist das Spiel so viel besser? Mehr noch ist es die Verdichtung, dem speziellen narrativen Design des Studios folgend, das mir Anna Guxens von Larian im Interview erklärt hatte und die in diesem Spiel deutlich zu bemerken ist. So gibt es eine Hauptmission, drei Trainer zu finden – aber dann sind direkt sechs oder mehr Trainer verfügbar, und jeder von denen hat seine eigenen Missionen um sich herumgestrickt, und dann gibt es wieder andere NPCs, die beispielsweise einem der Trainer nichts gutes wollen oder ist die mögliche Unterstützung der Trainer an ethische Entscheidungen geknüpft, während gleichzeitig für ihre Missionen auch immer wieder alternative Lösungsmöglichkeiten gibt. Und genau dadurch wird das Spiel toll, weil das Handeln in einer solchen Welt sich wirkmächtig anfühlt und das Spiel auf die getroffenen Entscheidungen (fast) immer angemessen reagiert. Dieses Design ermöglicht einfach gutes Rollenspiel, gerade zusammen mit den Auswirkungen des gebauten eigenen Charakters und seinen Eigenschaften.
Dazu kommt das Charakterbausystem, das einige Freiheiten bietet und mehrere validen Gruppenzusammenstellungen zulässt. So können die Fähigkeiten frei kombiniert werden, z.B. der Nahkämpfer auch Feuermagie wirken – wobei diese Kombination wegen dem Einfluss der Charakterattribute (Stärke + Konstitution vs Intelligenz + Gedächtnis zu brauchen) nicht unbedingt ideal ist. Aber es geht eben, und einiges passt auch sehr gut zusammen, wie Kriegsführung und Gestaltswandlung.
Schwächen
Wie immer von mir unter Linux gespielt, funktionierte Divinity: Original Sin 2 unter Proton technisch nicht perfekt. So stürzte das Spiel beim Neuladen gerne mal ab (war ansonsten aber stabil) und die Ladezeiten waren auch ziemlich lang. Andere Fehler im Spiel hingen nicht an Proton, so wie ein durch eine Mission ausgelöster Kampf, der einen ganz anderen nahestehenden Questgeber – wohl nachträglich in der Definitive Edition hinzugefügt – aggressiv schaltete und so dessen Geschichte blockiert, umgeht man das Problem nicht durch einen Trick.
Während das Fähigkeitensystem und die Perks einige verschiedene Rollen ermöglichen, überraschte mich die begrenzte Auswahl für einen defensiven Kämpfer. Es war zwar möglich, Konstitution zu erhöhen und ein Schild auszurüsten, aber viel mehr passende Fähigkeiten gab es nicht. Und ironischerweise wurde dieser Kämpfer dann zu meinem besten Schadensausteiler, unter anderem wegen einem mit dem Rüstungswert des Schildes skalierenden Schildwurf.
Überrascht haben mich auch manche Schwächen bei den Rätseln. Da waren wieder manche lösbar und interessant, andere blieben mir unverständlich. Insbesondere gegen Ende ein Raum voller Schalter, bei denen die Anfangsbuchstaben der zu ziehenden Schalter zusammen Power ergeben müssen, was aber kein Hinweis im Spiel auch nur andeutete. Ähnlich waren nicht immer alle Lösungsmöglichkeiten für Aufgaben umsetzbar; beispielsweise konnte einmal einer Zielperson eine präparierte Mahlzeit übergeben werden, sodass er zur Toilette rennen muss und man ihn dort im Kampf abseits der Wachen stellen kann, aber das naheliegendere direkte Vergiften der Mahlzeit war nicht möglich. Naja.
Erstaunt war ich auch von der geringen Verbindung zur Geschichte des Vorgängers. Es gibt ein paar willkommene, direkte Verweise, aber lange war mir nicht mal klar, ob die Handlung vor oder nach den Geschehnissen des vorherigen Teils spielt. Unklar blieb mir auch, gerade zu Beginn, ob es eine gute Wahl sein würde einen eigenen Charakter zu erschaffen oder einen der vorgefertigten zu spielen. Einerseits könnte man so dessen ausgebaute Geschichte direkter erleben, aber verpasst ihn eben auch als kommentierenden Gefährten. Und während das Internet zum Spielen ein vorgefertigten Charakters riet, und das auch tatsächlich durch die erlebbare Zusatzgeschichte nicht schlecht war, verweigerte das Outro dann die Auflösung dessen Schicksals.
Unsicher bin ich mir bei dem Balancing. So sind bei Händler kaufbare Ausrüstungsgegenstände an das eigene Level gekoppelt, auch was gefunden wird rangiert ums eigene Level (auch weil höherlevelige Gegner normalerweise nicht besiegbar sind), nur selten sind Gegenstände über dem eigenen Level findbar. Das funktioniert auf der einen Seite gut, weil es mit Levelaufstiegen eine klare Progressionsmöglichkeit zeigt. Aber wäre es nicht schöner gewesen, wenn Waffen und Rüstungen statt zum Level zum Gebiet passen, entsprechend der Spieler hier ein paar weitere Möglichkeiten zur innovativen Charakterstärkung hätte?
Schließlich ist die Inszenierung ohne Zweifel anzukreiden. Erstmal sieht die Grafik nicht schlecht aus, aber auch nicht umwerfend. Vor allem aber macht das Spiel mit der Grafik wenig, gibt es zum Beispiel nur selten mal eine Kamerafahrt, um etwas zu inszenieren, und schon gar nicht das Ausspielen von Gesprächen. Das grafische Highlight ist das im Inventar sichtbare Aussehen der Charaktere, einzelne große Bossgegner und manche Effekte. Das ist besser als im Vorgänger und als in Klassikern wie BG2, aber noch ein ganzes Stück hinter den späteren Rollenspielen von Bioware, gänzlich ohne den stärkeren Inszenierungsansätzen von beispielsweise Wasteland 3.
Insgesamt ist Divinity: Original Sin 2 trotz der aufgelisteten Schwächen ein hervorragendes Rollenspiel geworden. Es ist sogar auf einer Ebene mit den Genregrößen, schwächer in manchen Teilaspekten als die klassischen RPGs, aber stärker in anderen. Vor allem aber ist das Spiel so stark verbessert zum auch schon guten Vorgänger, dass ich die Steigerung im nächsten Teil nun unbedingt erleben will – nämlich Baldur's Gate 3, dessen tolle Bewertungen nach diesem Erlebnis kaum noch überraschen.
Danke an Thomas für das Spiel und den Reviewwunsch! Seine detailliertere Beschreibung des Spiels sei an dieser Stelle empfohlen.
Linksammlung 37/2024
Diese Woche fand ich besonders erwähnenswert:
A Post-Google World beschreibt frühere Antimonopolmaßnahmen, problematisiert nochmal die Situation um Google und zeichnet daraufhin positive Auswirkungen für die Zukunft, wenn Googles Würgegriff gelockert würde.
Und wie passend: Linus Tech Tips hatte ein Video zum Leben ohne Google veröffentlicht, das von Youtube entfernt wurde. Why Our Video Got Taken Down (Video) beschreibt die Situation. Es ging wohl um Werbeblocker, aber perfiderweise wurde von Youtube der Grund der Zensur nicht genannt. Genau dieses Verhalten ist Teil des Problems, wer die Infrastruktur der Welt betreibt darf sich so nicht verhalten. Dann geht es halt nicht ohne Regulierungen.
Ein Blogger analysiert Gnome Files: A detailed UI examination ist eine Expertenevaluation mit Usabilityblick. Gnomes Konzepte kommen nicht gut weg.
Why GitHub Actually Won beschreibt die Perspektive eines der Githubgründer auf den Erfolg der Plattform. Wahrscheinlich nicht ganz verkehrt, so stand Github mit seinem Fokus auf Entwickler damals wirklich ziemlich alleine da.
Der Titel ist zutreffend: KI-Blase vor dem Platzen?: Warum Big Tech weiter Milliarden in die KI-Infrastruktur investiert. Nur dass beim versuchten Darstellen aller Seiten etwas unterschlagen wird, wie sicher die Blase platzen muss.
Transparent Textures wurde hochgespült. Erinnerte mich daran, dass man sowas mit CSS umsetzen kann, wie bei CSS Background Patterns. Vielleicht etwas für die Hintergrundebene im Blog?
Bondkommentar: Live and Let Die
Nachdem drei Agenten ermordet werden, sucht Bond in New Orleans und auf einer Karibikinsel die Mörder.
Der erste Bond mit Roger Moore. Ich mag ihn als Bond, nicht aber diesen Film. Die Bösen sind hier allesamt schwarz. Die Schwarzen morden amoralisch in Gruppen, sind obszön und wirken in satanischen Ritualen unmenschlich. Voodoo, um genau zu sein, zusammen mit Tarot, magische Kräfte die im Film allesamt wirkmächtig sind. Das erste schwarze Bondgirl ist eine unfähige Verräterin, das zweite weiße Bondgirl wird weißbekleidet an einen Pfahl gefesselt und soll von einer großen Gruppe Schwarzer ritualmäßig ermordet werden. Die Szene mit dem schwarzen Beerdigungsumzug ist eindrucksvoll, aber so viele normal wirkende Menschen einen Mord feiern zu sehen fand ich schon als Kind erschreckend. Im Vergleich war das Japanbild in You Only Live Twice respektvoll. Ich halte nicht viel davon, einem Film Rassismus vorzuwerfen, aber diese Ansammlung von negativen Bildern muss man erstmal wieder aus dem Kopf kriegen.
Dass die Handlung völlig nicht funktioniert kommt dann nur noch obendrauf. Die Bond auf den Plan rufenden Morde sind durch nichts motiviert, sie vereiteln im Endeffekt grundlos das Vorhaben des Antagonisten. X-fach hätte Bond getötet werden können, entweder wird es einfach unterlassen oder zugunsten eines komplizierten Todesplans zurückgestellt, dem Bond dann einfach entkommt. Mehrfach durch die produktplatzierte Rolexuhr mit ihrer Magnetfunktion. Der große böse Plan im Hintergrund ist ordinär, der Oberböse Dr. Kananga wenig eindrucksvoll.
Auffällig, wie der Titelsong "Live and Let Die" von Paul und Linda McCartney das Bond-Motiv ersetzt. Der Song ist zwar fantastisch, aber warum wird das Bondmotiv nicht zusätzlich genutzt? Moore spielt souverän, Jane Seymour und Gloria Hendry sehen noch toller aus als für die Filmreihe üblich – und dass Bond mit einer schwarzen Frau schläft wäre in einem anderen Film wohl etwas positives. Die Bootsverfolgungsjagd ist nicht schlecht. Ansonsten schwer zu ertragen.
Notwendige Trafficvermeidungsmaßnahmen bei Sustaphones
Vor kurzem sendete mir Netlify, der bisher kostenlose Hoster meiner Seite Sustaphones zum Finden nachhaltigerer Telefone, diese Warnung:
[Netlify] You’ve reached 50% of your current bandwidth allowance on onli's team
You’ll need an allowance increase soon!
Your bandwidth usage on your team (onli's team) has reached 50% of the current allowance in your billing cycle from July 29 to August 29.
If bandwidth usage goes over the allowance before the end of the billing cycle, we’ll add an extra bandwidth pack for $55, increasing your allowance by 100GB for the current billing cycle.
Alternatively, you can increase your bandwidth allowance to 1TB/month by upgrading to Pro, which is free for the first month if it’s your first time on Pro. Visit the pricing page to compare plans.
Zwei große Überraschungen: Wie kann eine Webseite, die aus einer einzelnen HTML-Seite besteht und laut Googleauswertung nur mittelmäßig oft gefunden wird, so viel Traffic generieren? Das kostenlose Kontigent sind immerhin 100 GB. Und warum kosten weitere 100 GB ganze 55 USD?
Auf beide Fragen fand ich keine klaren Antworten (dazu unten mehr), aber ich nahm die Email zum Anlass den beim Hoster landenden Traffic massiv zu reduzieren. Knapp dokumentiert im zugehörigen Issue, beschreibe ich im folgenden meine umgesetzten und erwogenen Maßnahmen ausführlicher.
Seitenverschlankung
Sustaphones wurde von mir als statisch generierte Seite umgesetzt. Eine Sammlung von Rubyprogrammen, alle zu finden auf Gitlab, erstellen die einzelne HTML-Seite. Da diese schon einige Telefone umfasst – die Datenbankdatei kennt sogar 612 Geräte, wobei davon nicht alle auf der Seite landen – war das HTML entsprechend groß geworden. Es waren 1,92 MB reines HTML zusammengekommen. Dazu kommt noch etwas CSS und minimal Javascript, doch das CSS war bereits optimiert worden. Die Bilder der Telefone spielen beim Traffic keine Rolle, die kommen vom CDN von ifixit.
Knapp 2MB ist viel. Das bedeutet, dass schon 25.000 Seitenaufrufe genug waren um die Trafficwarnung zu produzieren. Eine so große Seite ist auch ein Performanceproblem, das alles will heruntergeladen und muss vom Browser interpretiert werden, was Zeit kostet.
Da das HTML direkt aus zwei ERB-Templatedateien entsprang, war es aber auch größer als nötig. Beispielsweise waren alle Leerzeilen enthalten, die im ERB-Code hilfreich sind, beim Lesen des HTML aber keinen Wert haben. Das ließ sich optimieren; das Stichwort ist HTML-Minifizierung. Ich bediente mich dabei dem Gem htmlcompressor, einem alten Projekt, das aber einwandfrei funktionierte: Aus 1,92 MB wurden 0,77 MB. Weniger als die Hälfte! Entsprechend häufiger kann die Seite aufgerufen werden, ohne über die Trafficgrenze zu rutschen.
Eine zweite kleinere Maßnahme folgte: Sustaphones benutzte eine Handvoll Icons von Font Awesome. Das zugehörige CSS war bereits aufs notwendige reduziert worden, aber die Fontdatei selbst war noch die vollen 80 KB. Die hätte nun ebenfalls zurechtgestutzt werden können. Stattdessen ersetzte ich die Icons durch Unicodesymbole – eine Lupe für die Suche, ein Dropdownpfeil, eine ausgefüllte Checkbox, ein Warndreieck und ein verneinendes X, das war alles vorhanden und wurde in meinen Tests sowohl unter Linux als auch unter Android angezeigt. Dadurch wurden weitere ~80 KB eingespart.
Schau selbst, links vorher, rechts nachher:
Cloudflare
Zusätzlich schaltete ich Cloudflare zwischen die Besucher und die Seite. Dafür überträgt man Cloudflare die Aufgabe, den Nameserver der Seite zu stellen. Anstatt per DNS direkt auf den Server zu zeigen verweist der Dienst dann auf die eigenen Server, die auf der Welt verteilt sind. Dadurch kann die Ladezeit reduziert und können unliebsame Besucher herausgefiltert werden. Außerdem bietet Cloudflare einen Cache an, von dem ich mir bei einer einzelnen statischen Seite viel versprach. Gleichzeitig kann man direkt dort die Domain hosten lassen, eine der kostengünstigsten Möglichkeiten aus meinem Artikel zum günstigen Hosten von Webseiten (der Jahrespreis sank von ~20€ bei Netlify auf ~10€ bei Cloudflare).
Die Domain bei Netlify rauszulösen war etwas umständlich. Ich musste bei Name.com einen Account anlegen, dem Support bei Netlify dessen Accountnummer mitteilen, und nach dem Transfer dorthin die Domain weiter zu Cloudflare transferieren. Immerhin, das wäre nicht nötig gewesen um nur Cloudflare einzusetzen, da hätte das Wechseln des Nameservers gereicht.
Bei Cloudflare bekam ich dann zum ersten Mal eine Statistik über die Zugriffe. Es stellt sich heraus, dass viele der Aufrufe von einzelnen Benutzern zu kommen scheinen. Eventuell Bots, wie Googles Crawler, die sich an der Seite verheddern?
Das war hilfreich, dagegen funktionierte der Cache zuerst nicht. Die Dokumentation verriet: Um HTML zu cachen muss das mit eine Konfigurationsregel erstmal aktiviert werden, ansonsten würde nur CSS, Javascript und Bilder im Cache landen. Mit der Regel war der Effekt dann enorm, klar, so eine simple HTML-Seite ist das perfekte Szenario für einen Zwischenspeicher. Die mehr als 1 GB Traffic am Tag stemmt nun Cloudflare fast zu 100%.
Pagination
Durch den Erfolg mit Cloudflare sind wahrscheinlich keine weiteren Maßnahmen notwendig. Die Seite aufzusplitten wäre aber eine Möglichkeit gewesen.
Derzeit bekommt jeder Besucher so eine große HTML-Seite präsentiert, weil es keinerlei Unterteilung gibt. Das ließe sich ändern, beispielsweise könnte Sustaphones nur die ersten 20 Telefone anzeigen, dann die nächsten 20 auf der nächsten Seite usw. Problem hierbei ist, dass die Liste der Telefone derzeit durchsucht und gefiltert werden kann. Das wäre dann nicht mehr umsetzbar, ohne im Hintergrund einen Server am Laufen zu haben oder Javascript vorauszusetzen. Beides will ich nicht, nicht für dieses Projekt, denn die technisch simple Umsetzung war bisher ein guter Leitsatz.
Daher habe ich eine Einbindung von Pagination verworfen, es hätte aber wahrscheinlich bei der Trafficvermeidung geholfen und gehörte daher erwähnt.
Gitlab Pages
Näher an der Umsetzung war ein Hosterwechsel. Der Code, mit dem Sustaphones gebaut wird, landet genau wie das erstellte HTML bei Gitlab (von wo es dann Netlify auf einen Server zieht). Gitlab kann aber mit Pages – genau wie Github – Seiten auch selbst ausliefern. Zumindest statische Seite, die keinen dynamischen Server im Hintergrund brauchen, was aber zu Sustaphones perfekt passt. Das tolle daran: Gitlab hat derzeit überhaupt keine offizielle Trafficbegrenzung. Vll würden sie sich bei absoluter Großnutzung melden, aber 50GB sind lächerlich klein (und 100GB kosten auch niemanden 55 USD, daher mein Erstaunen über den Preis oben).
Was mich davon abhielt war IPv6. Gitlab selbst kann das, hat es aber für diese Funktion auf Gitlab.com nicht aktiviert. Letzten Endes hätte es keine Auswirkungen, Cloudflare würde meines Wissen sogar Zugriff per IPv6 herstellen, aber ich empfand das deswegen thematisch unpassend.
Nun ist alles wieder gut. Die Optimierungen am HTML der Seite reduzieren den realen Trafficverbrauch, durch Cloudflare als Cache landen selbst davon beim Hoster nur noch wenige MB. Gleichzeitig lädt Sustaphones für Besucher nun schneller und der Wechsel der Icons half in meinen Augen sogar der Optik. Mit Gitlab steht ein kostenloser Hoster bereit, falls mit Cloudflare etwas schiefgeht oder ich das von Netlify ausgehende Kostenrisiko senken will (so sind Opfer von DOS-Angriffen bei Netlify wegen dem Traffic bereits in üble Kostenfallen gelaufen).
Um auf die Eingangsfragen noch Teilantworten zu geben: Die Seite war zu groß, aber da war sicher ein Crawler im Spiel, der sich an dem HTML verschluckt und die Seite unnötig oft aufruft. Aus der Kombination stammt der Traffic. Und Netlifys Trafficpreis ist meiner Wahrnehmung nach so hoch, weil der Hoster sich als Premiumoption aufstellt, der mit für Entwickler komfortable Funktionen punkten will. Danach soll, ähnlich wie damals bei Heroku, der Preis von den entsprechenden Firmen klaglos gezahlt werden, selbst wenn er (meines Wissens) mindestens zehnfach überhöht ist. Das bisher genutzte kostenlose Grundangebot ist daher natürlich ein Lockangebot, aber riskanter als anfangs erwartet.
Linksammlung 36/2024
Diese Woche fand ich besonders erwähnenswert:
Rust for Linux revisited diskutiert Alternativen für ausgebrannte Entwickler, die Rust in den Linuxkernel bringen wollten.
Ebenfalls eine große Technikumstellung wäre Tumblr to move its half a billion blogs to WordPress. Damit ist das Backend gemeint, Nutzer sollen von der Umstellung nichts mitkriegen.
Wer noch keinen Horror vor Bullshitjobs hat sollte das nicht lesen: The Contingency Contingent beschreibt eine sinnlose Tätigkeit im Zuge der Angst vor der Y2K-Umstellung.
An Ode To My 5-Year-Old Samsung Galaxy S10e lobpreist ein wohl gutes Samsungtelefon, ganz im Geiste von sustaphones. Dort ist es auch gelistet, wenn auch – wegen dem nicht ganz so einfach wechselbaren Akku und dem Alter – nicht ganz oben.
State of S3 - Your Laptop is no Laptop anymore - a personal Rant beschreibt etwas tatsächlich frustrierendes. Eine kaputte Microsoftspezifikation und reihenweise verkacken die Laptophersteller den Standbymodus, in und außerhalb von Windows.
Frustrierend für Maintainer und Entwickler war wohl auch Orphaning bcachefs-tools in Debian. Das Problem ist, dass die Bcachefs-Programme Rustabhängigkeiten in ganz bestimmten Versionen vorschreiben, die in Debian aber so nicht existieren und auch nicht eingeführt werden können. Das ist vom Maintainer nicht auflösbar, nur Upstream könnte die Software so schreiben, dass sie alte und neue Versionen der Abhängigkeiten unterstützt. Das kommt für den Entwickler aber nicht in Frage, der (irritierenderweise) die Regeln der Distribution nicht nachvollziehen kann. Kollidierende Welten, und leicht verbunden zu meinem Artikel über Softwareabhängigkeiten, als weiterer möglicher negativer Faktor.
Bondkommentar: Diamonds are forever
Bond jagt einen Diamantschmuggelring, hauptsächlich in Las Vegas.
Mit Sean Connery zurück wird fast alles weggewischt, was On Her Majesty's Secret Service ausgezeichnet hatte. Bond ist wieder fest am Steuer, Frauen unterwürfig oder Freaks. Blofeld wird (neu besetzt) in der Anfangsszene ausgeschaltet, betont als Schlockszene. Immerhin ist das Vorspulen von Actionsequenzen nicht zurück. Es gibt auch kaum Bondgadgets, dafür findet er im Feld genug Kram.
Die nächtliche Autoverfolgungsjagd in Las Vegas könnte bis zum absurden Ende die Inspiration für die ähnliche Szene in Blues Brothers gewesen sein, was ein Kompliment ist. Und hat Fallout: New Vegas sich hier für Mr. House bedient? Auch das Intro ist gut. Zu You Only Live Twice und Thunderball ist viel verbessert, vielleicht ist es daher der unterhaltsamste reguläre Bond mit Connery (und From Russia With Love der beste?). Es ist nur schwierig, das nach den Rückschritten zum Vorgänger zu würdigen.
Und besonders auffällig ist, außer eben der Rückkehr von Connery, nichts.