Letztes Projekt auf IPv6 umgestellt

ca. eine Minute Lesezeit

Nachdem es mir irgendwie an Zeit gefehlt hat, habe ich es eben endlich geschafft, mein letztes großes Projekt auf IPv6 umzustellen.

Ich wunder mich tatsächlich so gar nicht mehr, warum so viele Admins diesen Schritt scheuen. Aber die üblichen Legacy-Cloud-Umgebungen kannst du nur auf zwei Arten umstellen:

  • du reißt den ganzen Kram bis auf die Grundmauern ein und lässt es komplett neu aufbauen
  • du stellst die neue Infrastruktur einmal komplett mit aktiviertem IPv6 neu daneben und migrierst den alten Scheiß raus

Beides hat so seine Vor- und Nachteile, aber ich hab dann lieber jetzt in der Nacht eine kurze Downtime produziert, als Inkonsistenzen durch die zweite Infrastruktur zu provozieren. Dank Terraform war das Abreißen und neu Aufbauen allerdings nicht das Problem.

Natürlich wie immer zwischendrin nicht komplett ohne Panikanfälle, die wie immer unbegründet waren. Aber was wäre solch eine Umstellung ohne einen guten Adrenalin-Schub, der den nötigen Koffein-Schub ersetzt?!

Ab wann kommt die Pflicht für die Provider, jedem Kunden auch wirklich die IPv6 anzubieten? Dann können wir den alten Kram nämlich kostengünstig entsorgen.


Akamai HLS Push - was für ein Haufen Dreck

ca. 3 Minuten Lesezeit
Flag for enRead in English

Aus bestimmten Gründen musste ich in den vergangenen Tagen HLS Push für die Auslieferung bei Akamai implementieren und ich bin so genervt, dass ich darüber bloggen muss.

Was ist dieses HLS-Zeug?

Für die, die nicht wissen, was HLS ist: Dieses Format ist im Web inzwischen der de-facto Standard für Video bzw. für Livestreams. Es besteht meist aus mehreren Media-Playlists (wie damals im Winamp), für jede Video-Auflösung eine. Und es gibt die sogenannte Master-Playlist, die die anderen Playlists verlinkt. Die Master-Playlist wird vom Video-Player nur einmal gelesen.

Die Media-Playlist für die aktuell benutzte Auflösung wird bei Livestreams regelmäßig im Abstand mehrerer Sekunden abgerufen, um zu sehen, ob neue Media-Segmente – das sind gewissermaßen Bild und Ton in kurzen Videos von 1 bis 60 Sekunden Länge – hinzugekommen sind. Soweit erst einmal zur Theorie.

Wie funktioniert der Abruf im Normalfall?

Stell dir vor, du hast einen Server, der diesen Livestream produziert. Das klappt so weit einigermaßen gut, aber du willst nicht, dass alle deine Zuschauer über HTTPS auf diesen Server zugreifen. Er hat schließlich andere Sachen zu tun, als Daten ins Internet auszuliefern. Also könnte man ein CDN davorschalten.

Dies ruft dann die Playlisten und Video-Segmente von deinem Server ab und verteilt diese an die Browser da draußen und entlastet deinen Server. Dies ist das übliche HLS Pull und eigentlich machen alle CDNs genau dies.

Aber dann kam Akamai und dachte sich: Hold my beer, das bekommen wir bestimmt kaputt gespielt!

Was macht Akamai da jetzt anders?

Akamai meinte wohl: Warum lassen wir uns die Daten nicht einfach direkt in unser System pushen? Dann ist es schon da, sobald die Requests der User reinschallern und wir müssen das nicht erst „irgendwo“ abrufen.

Okay, soweit ist die Theorie sicherlich gut und halbwegs durchdacht. Aber eben nur die Theorie, denn nur weil die Segmente im System sind, heißt es nicht, dass Akamai sie auch ausliefert.

Die Anforderung war: sende einen Audio-Stream mit 2 verschiedenen Bitraten im HLS-Format zu Akamai. Will heißen, dass wir hier von 3 Playlisten, also 1x Master + 2x Media für die unterschiedlichen Bitraten.

Sobald also neue Segmente produziert werden, werden diese hochgeladen und danach die Media-Playlisten aktualisiert und hochgeladen. Auch soweit easy. Schade nur, dass beim Abspielen dieser Streams der Player immer wieder aufgibt, weil die Segmente beim Abruf einen Error 404 Not Found liefern.

Der erste Gedanke: Vielleicht ist es intern noch nicht verteilt. Kann passieren. Also baue ich einen Delay ein, bevor ich das Segment zur Playlist hinzufüge. Damit geb’ ich Akamai ein bisschen Zeit, intern zu verteilen. Die Versuche scheitern natürlich. Selbst nach 5 Sekunden Verzögerung für ein 2-Sekunden-Segment, also ein paar kB an Daten, gibt es immer wieder einen 404 Not Found.

Die Alternative zum Delay

Scheiße ey, geben wir ihm nicht eine festgelegte Zeit, sondern machen einfach einen HEAD-Request auf die Segment-URL. Wir rufen also das Segment nicht vollständig ab, sondern nur den HTTP-Header, der uns schon sagt, ob die Datei verfügbar ist.
Und jetzt ratet!

Richtig! Das funktioniert! Zumindest für wenige Sekunden. Denn nur weil dein Server, der die Segmente pusht, den Status 200 OK bekommt, heißt das natürlich nicht, dass die anderen CDN-Übergabepunkte (PoPs) weltweit dieses Segment auch ausliefern. Aber statt sich intern ein bisschen Zeit zu nehmen, um das Segment aus den eigenen Caches zu ziehen, liefern diese Fotzköppe von Akamai einen Status 404 Not Found an den User Client.

Rufst du es eine Sekunde später wieder ab, wird es auch wunderbar geliefert, aber leider habe ich in diesem Fall keinen Einfluss auf die Player-Konfigurationen, um den Retry entsprechend zu konfigurieren.

Also jetzt mal ehrlich: wie konnte dieser Haufen Vollidioten zu einem der größten CDNs mutieren? Ich frage mich, ob die ihr eigenes Zeug jemals selbst nutzen.


Twitter: API leakt Usernamen, die alles dürfen

ca. eine Minute Lesezeit

Manchmal gibt es so Tage, da kommst du aus dem Kopfschütteln nicht mehr raus. Heute ist wieder ein solcher Tag.

Eine API von Okta hat geleakt, welche User einfach alles schreiben dürfen, ohne gebannt zu werden. Als Bonus dazu gibt es eine Wortliste, die wahrscheinlich dafür sorgt, dass diese Protected User nicht mit diesen Worten behelligt oder die evtl. ignoriert werden und bei der Moderation nicht auftauchen!? Man weiß es nicht.

Dass der Account, der es auf Twitter/X gepostet hat, sofort gesperrt wurde, überrascht natürlich wieder niemanden, oder?

Interessant ist, dass alle gelisteten Accounts eher aus dem politisch rechten Flügel kommen. Überraschend ist es allerdings nicht.

Da ich aber ein kleines Arschloch bin, tipp ich euch die User für die Suchmaschine extra mal ab:


Twitch: mehr Details zum neuen DJ-Programm

ca. 3 Minuten Lesezeit
Flag for enRead in English

Twitch hat ein paar neue Informationen zum neuen DJ-Programm veröffentlicht, welches nächste Woche Donnerstag, also am 01.08.2024 startet.

Dieses Programm ist die Reaktion darauf, dass seit Jahren ungeklärt ist, wie man eigentlich „legal“ auf Twitch Musik streamen darf. Mit Beginn der Corona-Pandemie ging für viele DJs quasi die Welt unter, Events und damit deren Auftritte wurden abgesagt und einige Leute und sogar Unternehmen mussten um ihre Existenz bangen.
Da kam das Streaming auf Twitch gerade recht. Und die Musik-Industrie so: „Are we a joke to you?“

Twitch ging dazu über, aus eigener Tasche Geld an die Urheberrechtsinhaber abzuführen, um etwaige Gerichtsprozesse abzuwehren. Dies wird auch zum Teil so bleiben, aber zukünftig teilen sich der Streamer und Twitch diese Abgabe.

Am Spannendsten und auch am besten fand ich den Punkt, dass man als DJ ein Opt-in für das DJ-Programm machen muss. Macht ein Streamer dies nicht, gibt es deutlich schneller Strikes, bis hin zur Sperrung des Kanals. Die Teilnahme an diesem Programm soll zukünftig dafür sorgen, dass man keine VoD- und Clip-Features mehr auf dem Kanal hat. Selbst nicht, wenn auf dem Stream gerade gespielt wird.

Apropos: der für das Programm aktivierte Account führt IMMER von allen Einnahmen über Twitch (also über Subs, Bits, etc.) den prozentualen Anteil an die Rechteinhaber ab, egal ob der Kanal gerade Musik streamt, ein Spiel spielt oder „Just Chatting“, IRL, etc. überträgt. Dafür steht den Streamern frei, Zweitkanäle zu betreiben, mit denen sie dann Einnahmen ohne die Abgabe generieren können. Aber dafür müssen diese Kanäle natürlich erst einmal die Reichweite einsammeln.

Ein weiterer schöner Punkt ist, dass Streams, die zum Beispiel „Just Chatting“ streamen, aber im Hintergrund Musik eines DJs laufen lassen — da gibt es ein paar berühmte Beispiele zum Beispiel aus einer Bremer Kneipe — müssen auch am DJ-Programm teilnehmen. Ansonsten gilt wieder die Strike- und Sperrgeschichte. Das wird so lustig.

Es gibt erst mit Beginn des Programms einen prozentualen Wert, der vor Auszahlung durch Twitch abgezogen wird. Die aktuell im Umlauf befindlichen Zahlen liegen bei ungefähr 20% des Umsatzes. Also von knapp € 5 für einen Sub, werden bei der üblichen 50-50-Regelung die üblichen € 2,50 von Twitch einbehalten plus ein weiterer Euro für die Abgabe an die Rechteinhaber. Es kommt also ungefähr € 1,50 beim Streamer an. Diese Werte sind natürlich nur grobe Werte, da durch die Umrechnerei zwischen US-Dollar und Euro oft weniger ankommt.
Dafür ist man aber auf der sicheren Seite.

Was ich dann noch spannend finde: es wird eine Künstler-Blacklist geben, die über oder mit ihrer Plattenfirma nicht an diesem Rechteinhaber-Thema bei Twitch teilnehmen. Da sind derzeit nur grob geschätzt knapp über 70 Künstler weltweit auf der Liste. Das ist nicht viel und wird kaum auffallen. Allerdings wurde als Beispiel der Künstler Prince, Tafkap oder wie auch immer er zeitweise gerade hieß, genannt.

Zukünftig wird Twitch auch Fingerprinting der Musik durchführen. Das heisst, wenn Pre-Releases gespielt werden, die nicht auf einer Whitelist bzw. einem Katalog zur Freigabe stehen, bekommt der DJ schwer einen auf den Deckel. Dieses Fingerprinting wird verwendet, um entsprechend die Gelder auf die Künstler sinnvoll zu verteilen.

Und was passiert mit eigener Musik oder Mashups, also fremder Musik, die mit anderer Musik vermischt wird? Das soll wohl angeblich erstmal kein Problem darstellen. Mal schauen, wie gut das Fingerprinting arbeitet. Wenn es so super ist, wie bei YouTube, wird’s richtig witzig. Aber ohne VODs ist das nur halb so wild, da einem ja nicht die Monetarisierung genommen wird.


Strato-Ausfall - Erinnerungen werden wach

ca. eine Minute Lesezeit

Heute war mal wieder einer der Tage, der mich in die Vergangenheit zurückgeworfen hat: Ein großflächiger Ausfall bei Strato.

Die „Erfahrenen“ unter uns erinnern sich bestimmt noch an die Jahrtausendwende, wo Strato quasi mehr down als up war. Damals wollte man ein zweites Rechenzentrum in Frankfurt eröffnen, um alles einmal zu spiegeln. Weiß jemand, was daraus geworden ist?

Ich weiß auf jeden Fall, dass ich seit 25 Jahren jedem davon abrate, Strato als Provider zu nutzen. Jetzt weiß ich wieder, warum.


Warum ich mich auf die Chatkontrolle freue

ca. 2 Minuten Lesezeit

Egal, was passiert, die Politiker leiden immer mehr unter Kontrollverlustängsten. Diese Angst wächst mit jedem alten Politiker auf die doppelte Größe an.

Die sogenannte Chatkontrolle ist eines meiner Lieblingsthemen dabei. Eigentlich ist es ja keine Kontrolle, sondern eine Chat-Dauerüberwachung.

Das Spannende daran ist ja, dass diverse Messenger eine Ende-zu-Ende-Verschlüsselung anbieten, die ich weiterhin hinterfrage, solange ich nicht selbst Einfluss auf meinen Private Key habe. Diese Verschlüsselung soll mit Hintertüren versehen werden, damit „der Staat“ mitlesen kann.

Witzig wird es für alle Beteiligten, sobald die Realität sie dann einholt:
Zum einen sind die False Positives auf einem Allzeithoch. Also schon jetzt, so ganz ohne Überwachung, sind die meisten Anzeigen zu dem Thema völlig überzogen und treffen die Falschen.

Zum anderen betreffen die Hintertüren natürlich nur die großen Closed-Source-Messenger. Sobald jemand anfängt, die Hintertüren in Open-Source-Software einzubauen, wird es modifizierte Versionen geben. Vor allem werden urplötzlich dezentrale Messenger wie Matrix sehr in den Fokus rücken, da sie quasi nicht überwacht werden können.

Genau deshalb freue ich mich auf die Überwachung. Lange Zeit haben wir alle gewarnt, aber ich bin vor knapp einem Jahrzehnt dazu übergegangen, Menschen ohne weitere Warnung in ihr Verderben laufen zu lassen.
Ich lebe gerne nach dem Motto:

Schlaue Menschen lernen aus ihren Fehlern. Intelligente Menschen lernen auch aus den Fehlern anderer.

Update vom 19.06.24 - 14:30:
Die neuste Idee ist jetzt, einfach Client-Side-Scanning der Inhalte zu machen. Ich denke mal, ihr habt mein Gelächter quer durch’s Land gehört?!

Mal abgesehen davon, dass Apple schon vor geraumer Zeit sein Client-Side-Scanning-Projekt zurückgezogen hat, weil es einfach nicht funktionierte, dann müssen wir davon ausgehen, dass „jemand“ (aka irgendwas Regierungsbeauftragtes) einen Staatstrojaner entweder installiert oder mit dem Betriebssystem ausliefern will. Wenn dann basierend auf den EU-Regularien jedes Land dieser Erde ein Trojanisches Pferd (wichtig, da die Trojaner die Opfer sind, also ihr) auf den Geräten zwangsausliefern möchte, dann sind in Zukunft die CPUs und GPUs auf den Mobilfunkgeräten dauerhaft mit gegenseitiger Spionage beschäftigt.

Wie beschränkt diese Denkweise ist, merkt man auch daran, dass diese Beschränkten in Brüssel immer denken, dass alle User ihre Messenger auf dem Smartphone nutzen. Ich für meinen Teil nutze die Messenger zu 95% im Browser der Rechner. Und da ich keinen Messenger aktiv nutze, der eine PC-Handyverbindung aufbaut, um den ganzen Bumms zu verschicken, gibt es da auch keine Möglichkeit, mir irgendwas unterzujubeln.

Ich liebe es jetzt schon!


Nahrungsmenge Mann vs Frau

ca. 2 Minuten Lesezeit

Ich hatte eben mit einem Bekannten einen „kurzen“ ernährungsphilosophischen Austausch und da kam die Frage auf:

Warum sind in Restaurants die Portionen für Männer und Frauen eigentlich gleich groß?

Jetzt denken die meisten direkt: Was soll diese Frage? Die ist doch komplett bescheuert. Aber seien wir doch ehrlich: wenn ihr mal darüber nachdenkt, müssten wir eigentlich Unterschiede machen.

Frauen haben einen ganz anderen Stoffwechsel als Männer; der Idealgewichtsbereich für Frauen auf gleicher Körpergröße wie der eines Mannes ist circa 20% niedriger. Der Grundumsatz einer Frau ist auch niedriger, also die kJ (kcal), die der Körper ohne Bewegung verbrennt, nur um euch am Leben zu halten.
Hinzu kommt, dass wir immer denken, wir müssten unseren Teller leer essen, weil uns in der Kindheit beigebracht wird, dass das richtig sei.

Nein, richtig ist:

  • hör auf deinen Körper – setzt die Sättigung ein, hör auf zu essen; gute Leute schaffen die goldene 80%-Regel, also bis 80% der Sättigung essen und dann aufhören, kurz bevor der Körper Bescheid gibt
  • angepasste, kleinere Portionen für Frauen – bei den Kindertellern klappt es ja auch (fast immer), einhergehend mit einem geringeren Preis

Ein Umdenken ist nötig

Mein Vorschlag: Die Restaurants sollten, wie bei Kleidung in den Klamottenläden auch, unterschiedliche Größen anbieten. Warum nicht die Portionen aufgliedern in S, M, L und XL, mit unterschiedlicher Preisgestaltung? Vielleicht würde dann auch in Zukunft weniger Nahrung weggeworfen werden?


Geschwindigkeit und Mastodon

ca. eine Minute Lesezeit

Fefe wundert sich, wie es die Mastodon-Frickler hinbekommen, ihre Anwendung so richtig langsam zu bekommen.

Ich hätte da ein paar Vorschläge, wie die es hinbekommen haben:

  • sie benutzen Ruby on Rails – das wohl langsamste, noch aktiv entwickelte Web-Framework auf diesem Planeten
  • überladenes Frontend – lass mal eine Single-Page-App in React bauen, jede Anzeige eines Toots kostet mind. 4 MB
  • Featuritis – lass uns den Bums mal vollklatschen mit sinnlosen Features
  • Protokolle aus der Hölle – ActivityPub wurde von Script-Kaspern für Script-Kasper geschrieben, statische Typisierung war ein komplettes Fremdwort

Nach der Europa-Wahl: was wir jetzt brauchen

ca. 2 Minuten Lesezeit

Was genau ist denn da heute passiert?

Haben sich Deutschland und Österreich nach rechts bewegt? Meine Vermutungen, dass die Dummen immer mehr werden, wurde damit definitiv bestätigt. Diese Dummheit wird durch soziale Medien wie TikTok und Instagram dann auch noch befüttert. Geile Idee!

Was mir in den letzten Monaten immer wieder durch den Kopf ging und was wir jetzt nach dieser Wahl definitiv benötigen, ist das, was diversen Ländern in den vergangenen Jahren aufgedrückt wurde:

Sanktionen

Erst vor wenigen Tagen wurde bekannt, dass die Summen, die der Bund an Microsoft zahlt, so hoch wie nie zuvor sind. Wir reden hier von Milliarden für Software-Ausgaben, also für digitale Kopien einer einmal geschriebenen Software, obwohl es gute Alternativen in Open-Source gäbe. Aber das ist natürlich wieder eine weitere Diskussion, der sich Schleswig-Holstein bereits stellt.

Was, wenn wir Sanktionen seitens der USA und China unterlägen? Kein TikTok, kein Instagram, Facebook, Twitter/X, BlueSky, Oracle etc. Was, wenn Europa sich dafür einsetzen würde, endlich seinen eigenen Scheiß gebacken zu bekommen?

Was, wenn wir unsere Industrien zum Schutz der Umwelt wieder selbst betreiben würden? Was, wenn die Menschen, die hier arbeiten, auch merken, dass sie nicht für „Nix“ arbeiten? Was, wenn die Menschen merken, dass sie selbst ihren Arsch hochbekommen müssen und die „goldene Zeit“ vorbei ist? Dass ihre Entscheidung, rechts zu wählen, ihnen eigentlich nur schadet?

Aber dafür müssten die Menschen, die in den 80ern und 90ern gegen Globalisierung, also ausgerechnet die, die heute noch in der deutschen Regierung sitzen, sich dessen bewusst werden, was sie seit damals vergessen haben.

Ich befürchte leider auch, dass wir bis dahin noch diverse Überschwemmungen, Erdrutsche und Hagelschäden überstehen müssen. Das ist aber der Preis dafür, dass der Blick über den Tellerrand so unglaublich unbequem und die Weiterentwicklung des eigenen Denkens so unerträglich „aufwendig“ ist.

Naja, oder wir lassen alles, wie es ist, züchten uns den nächsten Holocaust ran, ertragen wieder jahrzehntelang irgendeinen Reparationsmist, weil sich andere Länder ein drittes Mal dazu durchgerungen haben, unser schönes Europa nicht in einen Parkplatz zu verwandeln. Über die andere Möglichkeit müssen wir nicht mehr nachdenken, da wir das „danach“ eh nicht erleben werden.

Bis dahin schau’ ich mir dann weiter „Idiocracy“ an und lache herzhaft über diese Doku.


LinkedIn vergisst einfach deine Inhalte

ca. eine Minute Lesezeit
Flag for enRead in English

Neulich schrieb ich ja, wie sehr mich das BlueSky-Export-Format aufregt, weil ich meine Social-Seite befüllen wollte.

Heute habe ich das mit LinkedIn machen wollen. Dafür musste ich auf meinen Export von 207 kB knapp 24 Stunden warten. So langsame Systeme muss man erst mal bauen.

Das Warten hat sich auch richtig gelohnt (nicht!), weil ich am Ende irgendwie nur fünf echte Posts geschrieben habe. Allerdings konnte ich nur 4 davon übernehmen, weil der Fünfte einfach weg ist. WEG!

In der CSV ist er noch, sogar mit URL. Rufst du diese URL auf, heißt es dann, dass der Post nicht angezeigt werden kann:

Ich würde euch also dringend empfehlen, nichts auf LinkedIn zu posten, was euch eines Tages mal wichtig sein könnte. Wahrscheinlich wieder so ein Fall von: Tja, Software-Problem. Kann man nichts machen!