Stranger Than Usual

Und dann hatte ich das einzige Mal Recht und es war nicht live!

Tommy Krappweis

Rollenspielszene: Goblinvuvuzelas

Rollenspielszene. Wir haben die Insel Fotis hinter uns gelassen. Wir gehen an der Küste des nächsten Kontinents an Land, immer noch mit der Gefahr, dass in der Nacht wieder die Wilde Jagd auftaucht. Wir haben einen Plan, sie auszumanövrieren. Aber dafür müssen wir in der Nähe von Straßen und Wegen bleiben.

Dummerweise liegt bei uns auf dem Weg ein Goblindorf. Dank einem Druiden, den wir getroffen haben und der nach Therith (unserer Waldläuferin) suchte, haben wir einen Zauber, der es für uns einfacher macht, zu schleichen. Wir machen uns also auf den Weg um das Dorf herum.

Für Therith sogar extrem einfach. Allerdings kriegt nicht nur die Welt nicht mehr mit, dass Therith da ist, Therith kriegt auch nichts mehr von der Welt mit und löst eine Falle aus. Blitzschnell und elegant weicht sie einer Dornenkeule aus, die auf sie zuschwingt, aber der Schaden ist trotzdem angerichtet. Die Falle hat auch Glöckchen betätigt, die laut klingend unsere Anwesenheit verraten.

Aus dem Dorf klingt ein seltsames Geräusch eines Blasinstruments. Die Goblins blasen ihre Kriegsvuvuzelas und schlagen Alarm!

Rollenspielszene: „Bassunterricht“

Rollenspielszene. Wir sind die Band Spice of Life und haben gerade erfahren, dass wir zusammen mit der Band Imagine Horses auf Tour gehen werden. Jetzt heißt es gute Miene zum bösen Spiel machen und mit der anderen Band so gut wie möglich klarkommen. Immerhin haben wir eine Spionagemission zu erledigen.

Anis, unser muskulöser Bassist hat ein Problem: Er kann eigentlich keinen Bass spielen. Er unterhält sich mit Cracker, der muskulösen Bassistin der anderen Band. Cracker ist keine Frau der vielen Worte, zeigt ihm aber ein paar Dinge. Anis stellt sich nur mäßig geschickt an.

Cracker weiß, dass Anis in einer bekannten Pop-Band spielt. Er muss also Bass spielen können. Also gibt es nur eine Erklärung dafür, dass er es nicht kann: Er tut nur so, damit er mehr Zeit mit Cracker verbringen kann! OMG, er flirtet mit mir!

Jaiden reicht es

Jaiden, Betreiberin den Youtube-Kanals JaidenAnimations hat ein Video veröffentlicht, das mir aus der Seele spricht. Es geht um App-Zwang für alles Mögliche, Technik, die ohne Internetverbindung nicht mehr funktionieren oder nicht mehr steuerbar sind, Abozwang, Autos, die auf dem Weg zur Notaufnahme im Krankenhaus anhalten und 45 Minuten lang ein Update installieren müssen und mehr. Ein 15-Minuten-Rant über vieles, was in der Welt der Technik gerade falsch läuft.

Mehr Podcastempfehlungen

Ich habe ja schon 2021 ein paar Podcasts empfohlen. Und vor gut zwei Wochen auch den Revolutions-Podcast. Es gibt aber noch ein paar andere Podcasts, die ich gerne höre, und es wäre unfair, die nicht auch einmal zu erwähnen. Ich habe auch noch mehr als die folgenden Podcasts auf Lager, aber ich werde heute noch nicht über alle schreiben, weil mir das zu viel ist. Lieber schreibe ich später noch einen zweiten Post mit den restlichen Podcasts.

Logbuch: Netzpolitik

„Guten Morgen Linus!“
„Guten Morgen Tim!“

Logbuch: Netzpolitik ist ein Podcast hauptsächlich über Netzpolitik, aber auch angrenzende Themen (z.B. den Adenauer SRP+. Linus Neumann und Tim Pritlove unterhalten sich hier regelmäßig (üblicherweise eine Folge pro Woche) und immer mit ein bisschen Humor. Nicht zu verwechseln mit Netzpolitik.org. Die behandeln zwar den gleichen Themenbereich, aber Logbuch: Netzpolitik ist nicht der Podcast von Netzpolitik.org.

Logbuch: Netzpolitik ist auch der Ursprung des Datenelchs.

IRMIMI — Irgendwas mit Mittelalter

Im Sinne der Geschichte: Immer schön zurückschauen!

IRMIMI ist der Podcast von Katrin Stupp, auch bekannt als Minion von Methodisch Inkorrekt. Katrin ist Historikerin und Germanistin und legt in diesem Mittelalter-Podcast einen Fokus auf mittelalterliche Handschriften. Oft wird eine spezifische Handschrift ausgewählt, ihr Inhalt erläutert und ihr Kontext erörtert. Das mag langweilig klingen, ist es aber nicht. Katrin hat übrigens in einigen anderen Podcasts noch ihre Finger drin. Entdeckt habe ich diesen Podcast durch Methodisch Inkorrekt, aber durch ihren Podcast habe ich wiederum ein paar andere Podcasts entdeckt.

Heldendumm

Du bist heute <Name einer historischen Person>

Einen Podcast, den ich (wenn ich mich recht entsinne) über Katrin Stupp kennengelernt habe ist Heldendumm von Daniel Clappier und Phillip Kallweit. Auch ein Geschichtspodcast, der aber eher in die Richtung des (mittlerweile leider eingestellten) Podcasts „Ach!“ geht. Es geht um Kuriositäten der Geschichte, um Protagonist_innen, die nicht immer kluge oder sensible Entscheidungen getroffen haben und die Folgen davon.

Ein besonderes Merkmal ist, dass immer einer der beiden die Geschichte erzählt und der andere eine Rolle (meist Protagonist_in) übernimmt, während ihm die Geschichte erzählt wird.

HerStory

Noch ein Geschichtspodcast. HerStory ist ein Podcast von Jasmin Lörchner und behandelt historische Frauen und queere Personen, die ja in der Geschichtsschreibung häufig ignoriert wurden. Dabei sind die Protagonist_innen nicht immer Helden. Genauso wie bei Männern gibt es auch bei Frauen welche, die Gutes getan haben, welche die Böses getan haben und welche, bei denen es gute und schlechte Seiten gibt. So oder so, wenn man nur die Geschichten von Männern erzählt, lässt man einen großen Teil aus.

Déjà-vu Geschichte

Das ist Déjà-vu Geschichte.

Déjà-vu Geschichte von Ralf Grabuschnik ist ein weiterer Geschichtspodcast. Ursprüglich ein Sammelsurium von historischen Geschichten mit einer Verbindung zur Gegenwart, momentan macht der Autor aber immer Reihen über bestimmte Themen, zum Beispiel „Gründungsmythen des Nationalismus“, wo er deutlich macht, dass Nationalstaaten eine relativ moderne Erfindung sind und die allermeisten Geschichten, die eine jahrtausendelange Nationsgeschichte suggerieren bestenfalls stark verzerrt wurden, um in das nationale Bild zu passen.

Rollenspielszene: Evil counterparts

Rollenspielszene. Wir spielen die Band Spice of Life, die es gerade geschafft hat, im Staat Ikaris populär zu werden. So populär, dass wir eine Tournee durch die Militärlager des Landes machen, um die Moral der Soldaten an der Front zu heben.

Was das ikarische Militär nicht weiß: Wir sind in Wirklichkeit Spione (Spies of Life) aus dem Nachbarland, den Wasted Lands, mit denen Ikaris gerade Krieg führt (im vorherigen Abenteur, mit anderen Charakteren, sind wir gerade aus einer von Ikaris besetzten Stadt geflohen). Unsere Aufgabe: Bei der Tournee möglichst viele Informationen sammeln, aus Leuten herauskitzeln und wenn es eine gute Gelegenheit gibt, Sabotage.

Wir sind also auf einer Militärgala zum Auftakt unserer Tournee. Wir haben einen kurzen Auftritt, und dann stellt Ianthe, die PR-Frau der Tournee die Überraschung vor: Eine zweite Band begleitet uns. Und nicht irgendeine Band.

ΦΦ (auch „Fiffi“ genannt), lead singer, mit drei trainierten Ratten, die Teil der Performance sind, sieht den lead rapper der anderen Band, mit einem zahmen Wiesel. Mint, der/die gerade die Diva heraushängen lässt und einen schicken Fächer dabei hat sieht Starling, eine Diva mit einem noch größeren Fächer. Anis, Ex-Militär und muskelbepackt sieht die Schlagzeugerin der anderen Band, ebenfalls muskulös.

Und so geht es weiter. Jedes Bandmitglied hat eine verzerrte Entsprechung auf der Gegenseite. Es sieht so aus, als hätten wir unsere Rivalen für diese Tournee gefunden.

AI clocks

Ich mag ja Kreativität. LLMs zu nutzen ist ja nicht gerade kreativ. Aber bei diesem Netzfund ist es anders. Da hat jemand neun verschiedene LLMs dazu aufgefordert, HTML und CSS für eine Uhr zu generieren. Der Sekundenzeiger soll animiert sein, die Uhren werden jede Minute mit der aktuellen Uhrzeit neu generiert. Das hier ist der Prompt:

Create HTML/CSS of an analog clock showing ${time}. Include numbers (or numerals) if you wish, and have a CSS animated second hand. Make it responsive and use a white background. Return ONLY the HTML/CSS code with no markdown formatting.

Das Ergebnis ist… erwartungskonform (Beispiel von GPT-5):

Etwas, das vage an eine Analoguhr erinnert. Ein schwarzer Kreis. Minuten- und Stundenzeiger sind doppelt vorhanden und beginnen nicht am Mittelpunkt des Kreises, sondern auf der Kreislinie wo normalerweise die 12 wäre bzw. zwischen diesem Punkt und dem Mittelpunkt. Die Ziffern des Ziffernblatts sind in allen möglichen Orientierungen gedreht und wild in der Nähe der Kreislinie verteilt. Der Sekundenzeiger ist rot und halbwegs korrekt.

Das Schöne ist: Jedes Modell hat seine eigene Art, Fehler zu machen, und jede Minute gibt es neue, andere Fehler. In der Zeit, in der ich es beobachtet habe, hat alleine Deepseek 3.1 es meistens geschafft, eine halbwegs korrekte Uhr anzuzeigen, aber manchmal sieht die Ausgabe noch schlimmer aus als das GPT-5-Beispiel oben.

Podcast: Revolutions

Ich habe mir neulich den Podcast Daniel and Kelly's Extraordinary Universe. Angehört. Das ist ein Podcast, der alle möglichen interessanten Themen aus verschiedenen wissenschaftlichen Bereichen behandelt. Daniel ist Teilchenphysiker, Kelly ist Parasitologin (ihr Mann ist übrigens der Autor des Webcomics Saturday Morning Breakfast Cereal). Ich kann den Podcast empfehlen, aber hier geht es nicht um diesen Podcast.

Es geht um einen Podcast, den die beiden vorgestellt haben (inklusive einem Gespräch mit dem Autor): Revolutions von Mike Duncan.

Eigentlich ist es ein Geschichtspodcast über historische Revolutionen. Die habe ich mir bisher aber nicht angehört. Stattdessen habe ich die neueste Reihe (bisher noch nicht ganz) angehört. Die geht nämlich über die Marsrevolution.

Marsrevolution? Aber auf dem Mars lebt niemand! Wer soll denn da revolutionieren? Naja, die Geschichte spielt in der Zukunft. Irgendwann am Ende dieses / Anfang des nächsten Jahrhunderts wurde der Mars besiedelt, und noch einmal ein Jahrhundert weiter (plusminus) kommt es aufgrund verschiedener Gründe zu einer Revolution.

Erzählt wird die Geschichte trotzdem als Geschichtspodcast, und zwar so, als ob die Revolution etwa 250 Jahre in der Vergangenheit liegt. Ansonsten behandelt Duncan die Geschichte wie jede andere historische Revolution, mit Hinweisen auf (fiktive) Quellen oder auch mit Hinweisen auf unsichere Quellenlage.

Ich habe die Folgen über echte Revolutionen noch nicht gehört, aber anscheinend hat Duncan den Stil seiner anderen Folgen komplett beibehalten. Das Ergebnis ist schöne Science Fiction, vorgetragen in einem ungewöhnlichen Stil (auf Englisch übrigens).

Die ursprügliche Seite des Podcasts ist leider offline, weil sie auf Typepad gehosted wurde, die dicht gemacht haben. Die Seite ist aber noch auf archive.org zu finden.

Der wichtige Teil, der Podcast-feed von Revolutions und die dahinterliegenden Audiodateien sind aber noch im Netz. Hört ihn euch an, er ist wirklich gut.

dotnet fucking format again

Ich habe heute einem Kollegen geholfen, der ein seltsames Problem hatte: Der Code-Formatter, den wir im Projekt verwenden, dotnet format, gibt einen Riesenhaufen an Fehlern aus und will alle Dateien reformatieren.

Nun halte ich ja nicht viel von dotnet format. Aber einfach alle Regeln vergessen und alle möglichen Regeln anwenden, die bei uns implizit oder explizit nicht aktiv sind? Das wäre doch ein bisschen viel. Also haben wir und die Sache angeschaut.

Zunächst: Das Problem trat nur auf dem Arbeitsbranch des Kollegen auf, nicht auf dem main-Branch. Also muss es irgendwas mit der Änderung zu tun haben. Die Änderung hat aber keine Konfigurationsdateien angefasst, nur ein paar C#-Quelldateien und zwei Protobuf-Definitionsdateien. Also Quellcode, der formatiert werden soll und Schnittstellendefinitionen, aus denen C#-Quellcode generiert werden soll. Nichts, was die Konfiguration von dotnet format beeinflussen sollte.

dotnet format hat aber auch eine Fehlermeldung ausgegeben, dass es irgendeine Projektdatei nicht lesen konnte, mit einem Hinweis, dass man mit der Option -v diagnostic mehr Informationen zu dem Fehler bekommt. Also haben wir das gemacht.

Das erste, was mir aufgefallen ist war, dass dotnet format durchaus alle unserer Konfigurationsdateien findet. Aber warum ignoriert es dann die Regeln? Dann kamen wir zu der Stelle, wo es sich beschwerte, irgendwelche Projektdateien in Verzeichnissen mit dem aus Protobuf generierten Code nicht finden zu können.

Sollte es doch Protobuf sein? Wir haben uns die Protobuf-Dateien noch einmal angeschaut und siehe da: Der Kollege hat beim Beheben eines Mergekonflikts versehentlich ein paar Typdefinitionen in der Protobuf-Datei dupliziert. Dadurch hatten wir dann doppelte Klassendefinitionen im generierten C#-Code. Durch den Compiler gegangen wäre das vermutlich nicht.

Trotzdem sehe ich hier einen großen Teil der Schuld an Protobuf. Ein einfacher Code-Formatter hätte sich nicht an einer doppelten Klassendefinition gestört. Ein Linter hätte gesagt: „Hey, das ist falsch, das geht so nicht.“. dotnet format, Formatter und Linter in einem, macht beides nicht. Stattdessen vergisst es alle Konfigurationen und wendet jede einzelne Regel an, die es im System gibt.

Youtube-Autoübersetzung

Ich habe neulich ein Video eines deutschen Youtubers auf Youtube angeschaut. Das Video begann mit einer mir unbekannten englischen Stimme, was ungewöhnlich ist, denn normalerweise begrüßt dieser Youtuber seine Zuschauer erst einmal. Ich dachte zunächst, das sei eine Toneinspielung von irgendwas (das Video war ein Let's Play eines Science-Fiction-Spiels). Aber nein, die unbekannte Stimme begann mit einer Begrüßung. Was ich hörte war nicht die Originaltonspur des Videos, sondern eine von Youtube eingeführte automatische Übersetzung.

Nun hatte ich aber keine Übersetzung angefordert. Es wurde automatisch die falsche Tonspur ausgewählt. Das ist bisher noch nie passiert. Bisher wurden nur Videotitel automatisch übersetzt, und das auch nur vom Englischen ins Deutsche. Das war übrigens der Grund, warum die Übersetzung aus dem Deutschen ins Englische vorgenommen wurde: Um die automatisch übersetzten Titel zu vermeiden, hatte ich meine Accountsprache auf Englisch umgestellt. Jetzt hat Youtube halt die Auto-Übersetzung erweitert und übersetzt nicht nur die Titel in eine Richtung, sondern die Tonspur in beide Richtungen.

Das Problem ist: Ich will das nicht. Deutsch ist meine Muttersprache, und Englisch beherrsche ich fließend. Ich brauche keine Übersetzung in die eine oder andere Richtung. Und ich will auch keine Übersetzung, denn keine Übersetzung ist verlustfrei. Warum also übersetzen, wenn ich das Video auch so verstehe?

Ich möchte das also abschalten. Geht das? Jein. Ich kann den Sprachkanal wieder auf die Originalsprache stellen. Das muss ich aber bei jedem Video einzeln machen. Die Videotitel bleiben trotzdem übersetzt. Ich kann meine Accountsprache umstellen. Aber das bedeutet nur, dass die Übersetzungen plötzlich andersherum gemacht werden: Statt Deutsch → Englisch dann halt Englisch → Deutsch.

Eine Internetsuche war nicht sehr hilfreich. Ich bin zwar nicht die erste Person, die danach sucht, viele andere ärgert das auch. Aber die Ergebnisse sind nicht hilfreich. Manches ist AI Slop und verweist auf Accounteinstellungen, die es nicht gibt. Eine allgemeine Einstellung gibt es nicht. Es gibt wohl Browserplugins dagegen, aber ich möchte nicht noch mehr Plugins installieren. Es ist ein Ärgernis.

Dabei ist die Idee an sich ja nett: Wenn man eine Sprache nicht versteht, kann man sich trotzdem das Video anschauen. Aber dann bitte optional, nicht erzwungen.

Dieses Jahr 12 Tage Advent of Code

Ich mache ja seit Jahren am Advent of Code mit (siehe dazu auch meine bisherigen Posts zum Advent of Code). Das ist ein Programmier-Adventskalender, in dem es von Anfang Dezember bis zum 25. Dezember jeden Tag ein Programmierpuzzle gibt. Die Puzzle fangen sehr einfach an, die späteren Puzzle haben es teilweise aber echt in sich. Dazu gibt es immer eine schräge Hintergrundgeschichte, die oft irgendwelche seltsamen Weihnachtselfengeschichten beinhaltet.

25 Tage, so war es zumindest bisher. Der Macher des Advent of Code, Eric Wastl, hat angekündigt, von jetzt an nur noch 12 Rätsel zu machen, vom 1. Dezember bis zum 12. Dezember. Er will auch das globale Leaderboard entfernen, was für die meisten Menschen irrelevant ist, weil es praktisch unmöglich ist, auf das Leaderboard zu kommen.

Eric begründet die Kürzung auf 12 Tage damit, dass er jedes Jahr, für die letzten zehn Jahre, eine Menge seiner privaten Zeit in die Erstellung der Rätsel steckt. Ich kann nachvollziehen, dass er die Tage kürzen will.

Ich persönlich begrüße das, und zwar aus mehreren Gründen. Erstens wäre die Alternative, dass Eric irgendwann ausbrennt und es überhaupt keinen Advent of Code mehr gäbe. Zum anderen macht der Advent of Code mir selbst, als Teilnehmer, auch immer Stress. Ich sage mir jedes Jahr: Wenn es zu stressig wird, höre ich auf. Und dann mache ich doch weiter, über Heiligabend bis zum ersten Weihnachtsfeiertag. Ich hatte schon halb überlegt, ob ich dieses Jahr nicht einfach komplett aussetzen soll. Diese Überlegung ist jetzt erst einmal vom Tisch. 12 Tage bis Mitte Dezember schaffe ich, ohne zu sehr in Stress zu geraten.