Transkript: Bytes und Strings

· Zurück zur Episode

Vollständiges Transkript der Episode. Zeitstempel beziehen sich auf die Audiowiedergabe.

Dominik

Ja, hallo liebe Hörerinnen und Hörer, willkommen beim Python-Podcast, Episode 62 heute.

Dominik

Hi Jochen.

Jochen

Ja, hallo Dominik.

Jochen

Herzlich willkommen und hallo Johannes.

Dominik

Hi Johannes.

Hallo zusammen.

Mal wieder, ja.

Dominik

Ja, mal wieder.

Dominik

Wir wollten heute wieder über ein weiteres Kapitel unseres wundervollen Buches sprechen.

Jochen

Ja.

Dominik

Und ja, mal wieder, weil wir sind tatsächlich ein bisschen spät dran in diesem Jahr.

Jochen

Ja, wir wollten eigentlich auch noch andere Dinge machen, das hat nicht so richtig gemacht.

Jochen

Wir haben eine Pause.

Jochen

Kreative Pause.

Dominik

Ja, und da sind noch andere Episoden noch in Navana-Akton, weil wir wissen noch nicht, ob wir sicherlich.

Jochen

Die kommt aber, die kommt wahrscheinlich tatsächlich vorher, denke ich mal.

Dominik

Ja, die ist vorher erschienen.

Jochen

Nein, ja.

Jochen

Wir werden es sehen.

Jochen

Ja.

Dominik

Ja, was ist denn das Kapitel heute?

Dominik

Johannes hat es ganz gelesen, habe ich gehört.

Johannes

Ich habe es gelesen, ja, extra.

Heute Mittag noch.

Ja, gut.

Johannes

Also ich meine, vor Wochen schon.

Jochen

Ja, ich wollte vielleicht ein bisschen News machen oder so.

Jochen

Wir haben auch noch so ein paar.

Dominik

Aber ich wollte kurz sagen, um was es heute geht.

Jochen

Ja, okay.

Jochen

Achso, ja, dann musste Johannes wohl sagen.

Johannes

Es geht um Bytes und Strings.

Dominik

Okay, cool.

Dominik

Alle Datentypen ein bisschen.

Dominik

Und wie heißt das Buch?

Fluent.

Das ist Fluent Python.

Dominik

Fluent Python, genau.

Johannes

Meine Kinder sind immer beeindruckt, wenn ich ihnen das dicke Buch zeige, wie viel da drin stehen muss.

Ja.

Johannes

Dass man so große und lange Bücher überhaupt lesen kann.

Dominik

Ja, das ist auch schon die dritte Episode über dieses Buch, die wir machen.

Dominik

Das ist primäriere Doku.

Jochen

In diesem Buch, da stecken auch noch ein paar Episoden drin.

Dominik

Ja, aber so viel Content haben wir noch aus keinem Buch gezogen bisher.

Jochen

Ja, ja.

Also vonher.

Jochen

Da gibt es noch ein paar andere dicke Bücher.

Jochen

Das ist auch noch Python in a Nutshell und ja.

Johannes

Wie dick ist Python in a Nutshell?

Jochen

Nicht ganz so dick wie Fluen Python, aber ähnlich.

Johannes

Aber dann ist es eine sehr große Nussschale.

Johannes

Ja, eine Wahl-Nuss-Schale.

Ist mehr so ein Sinne des Ort.

Jochen

Der Öltanker unter den Nussschalen, ja.

Das ist ja auch nicht so gut.

Dominik

Ich gebe doch noch das schöne neue Tango-Buch, Tango 5, Tango 5 by Example oder sowas, da können wir auch noch was machen.

Johannes

Ja, ich habe nur noch E-Books und das ist geschickt, weil die liegen nicht so vorwurfsvoll rum auf dem Schreibisch.

Jochen

Ja, das ist natürlich ein Vorteil.

Jochen

Aber der Nachteil ist, also ich habe auch ganz viele E-Books.

Jochen

Der Nachteil ist so ein bisschen, also ich gucke tatsächlich in die physischen Bücher häufiger rein als in meine Schule.

Dominik

Also E-Books, also tatsächlich, dann hast du irgendeine Sammlung, die vergammelt in irgendeinem Ordner.

Dominik

Und dann?

Dominik

Also so als Nachschlagewerk, I don't know.

Dominik

Also es gibt ganz wenige Bücher, die ich als Nachschlagewerk benutze, ansonsten tatsächlich Buch aus dem Regal holen, aufschlagen, reingucken.

Johannes

Ah, du bist halt, du bist halt analog.

Johannes

Jetzt hast du dich datiert, Dominik.

Johannes

Wissen wir alle, dass du alt bist.

Dominik

Ja, bei Musik ist das auch so, mache ich ja auch analog Zeug.

Jochen

Kein Computer.

Dominik

Ja, manchmal auch.

Dominik

Also ich bin ja auch manchmal modern.

Dominik

Oder so beides gleich, dem Wechsel oder Sample oder so.

Dominik

Aber schon analoge Synthesiz schon nice.

Dominik

Ja, aber wir schweifen ab.

Jochen

Ja, genau, aber vielleicht wollen wir ja zuerst mal ein bisschen, ich könnte jetzt hier mal so eine Kapitelmarke für News einfügen.

Jochen

Und jetzt hat es die Kapitelmarke ja in den Anfang gesetzt, das ist das schon wieder alles kaputt hier.

Dominik

Ja, wir haben schon ein Problem mit der Software, Jochen.

Johannes

62 Episoden sind wir ja immer noch.

Dominik

Ihr wisst gar nicht, wie lange wir zwischendurch brauchen, um das Audio-Setup hinzubekommen.

Jochen

Ja, heute auch schon wieder.

Es war jedes Mal.

Ja, jedes Mal.

Johannes

Jedes Mal mit neuen, tollen Dingen, die wir rausfinden über das Audio-Setup.

Dominik

Und wir machen noch wieder zwei, was ich

Jochen

nicht kann.

Heute hatten wir ein Echo.

Dominik

Vielleicht hat er einmal.

Dominik

Dann mischt einfach zu viele Kanäle, Jochen.

Johannes

Ja, aber diesmal war ich es ja.

Johannes

Diesmal bin ich ja schuld, wenigstens.

Dominik

Ja, das war was wieder was Neues.

Jochen

Ja, aber wenn man viele Kanäle hat und viele machen viele Personen, dann hat man irgendwie eine kombinatorische Explosion von vieler Quellen und dann treten halt auch immer wieder neue lustige Sachen auf.

Jochen

So ist es halt.

Dominik

Du könntest vielleicht

Johannes

fast schon eine Überleitung zur Softwareentwicklung machen.

Dominik

Du könntest auch so ein Federheilmodul da reinbauen, dass das auch so wirklich so nach kann man dann unterschiedlich.

Jochen

Können wir auch.

Jochen

Wir können auch noch ein paar hinzufügen.

Jochen

Das ist immer.

Drink nicht drauf machen, tüß nicht.

Jochen

Ja, genau, also richtig.

Jochen

News, genau.

Jochen

Es ist ziemlich tatsächlich einiges passiert.

Jochen

Es ist halt immer die Frage.

Letztes Mal, die letzte Episode.

Aber tatsächlich.

Johannes

Ja, aber News haben doch die Eigenschaft, dass sie neu sind.

Johannes

Also kannst du nichts von.

Johannes

Es bezieht sich nur auf die letzten zwei Wochen.

Jochen

Ja, genau.

Jochen

Also so ganz uralte Sachen werde ich jetzt auch nicht nehmen, aber ich denke, es gibt so ein paar Sachen, die sollte man vielleicht schon mal erwähnt haben.

Jochen

Also zum Beispiel, ich weiß nicht, Talwin 4 ist raus.

Das ist super.

Ja.

Ja.

Dominik

Also ich wollte jetzt keine.

Achso, Freunde von Tailwind.

Johannes

Ich sag's jetzt ganz einfach, ich bin kein Freund von Tailwind.

Dominik

Ja, du machst auch, was war das?

Als CSS?

Ich wollte jetzt nichts sagen.

Johannes

Semantisches CSS, sogenanntes semantisches CSS.

Ach, das machst du auch.

Johannes

Ich verstehe den Vorteil von Tailwind nicht, wo man eine CSS-Deklaration von Color Red durch eine Klasse Color Red ersetzt.

Johannes

Dafür brauche ich keinen CSS.

Jochen

Der bringt

überhaupt gar nichts.

Jochen

Doch, also ich meine, der Vorteil ist natürlich schon irgendwie, dass du, du kannst halt irgendwie ins Internet gehen, so, wenn man so alt ist wie wir mit einer Krücke und dann einfach per Copy und Paste irgendwelche Sachen in dein eigenes HTML pasten und es funktioniert einfach so.

Jochen

Das ist der Vorteil.

Aber es ist nicht

Johannes

besser als Inline-Styles.

Dominik

Ja, doch.

Vorteile von CSS sind weg.

Johannes

Dass du Cascading hast, dass du sie ändern kannst, dass du sie semantisch benennst, dass du sie nicht wissen musst, was der Style ist, was der bedeutet, ist alles weg.

Dominik

Aber ich habe so eine schöne Utility, sich auf kleine Komponenten, die lesbar sind, die genau das machen, was sie sollen.

Dominik

Und das ist ja auch schon als Inline-Styles.

Johannes

Nee, ist genau das gleiche.

Dominik

Nee, es ist gar nichts.

Wir trifften schon wieder ab.

Wir trifften schon wieder ab.

Johannes

Ich starte hiermit eine Umfrage unter den Zuhörern, ob sie wissen wollen, was wir von Talwind halten.

Dominik

Wollen wir das nicht dann machen, wenn wir mit dem Frontend-Podcast, den wir irgendwann mal treffen wollten, das gemeinsam tun?

Jochen

Ja, das können wir auch gerne.

Ja, gut, dann sollen die sich mal erklären.

Jochen

Damit die Wahrscheinlichkeit auch größer, dass das dann tatsächlich irgendwie um LeBiom-Tellerand herum passiert.

Jochen

Genau, aber ja, also ich bin auch eher momentan auf der semantischen CSS-Seite unterwegs.

Jochen

Ja, aber genau, dafür, vielleicht wollen wir da auch gleich nochmal.

Jochen

Ja, okay, aber es ist auf jeden Fall da und das macht einige Dinge besser.

Jochen

Okay, was haben wir noch?

Jochen

Wir hatten noch, ach genau, was halt, wo ich finde, das muss man halt schon mal irgendwie erwähnen.

Jochen

Und ich höre da, ich höre das auch mal in anderen Podcasts und ich höre da mal so viel Mist und da dachte ich, na gut, da muss man doch mal was zu sagen, dass das irgendwie, was da wirklich passiert ist, irgendwie Deep Seek zum Beispiel ist irgendwie.

Dominik

Achso, Sprachmodelle, ja.

Jochen

Ja.

Jochen

LLMs, ähm,

was ist das denn, Jochen?

Dominik

Was ist denn

Deep Seek?

Jochen

Ja, da ist halt irgendwie so ein Modell oder Gewichte sind herausgefallen aus einem chinesischen.

Dominik

Die haben die alle selber generiert.

Jochen

Gewichte, ja.

Jochen

Wahrscheinlich.

Jochen

Aber genau, und zwar sehr lustig, irgendwie, also das Foundation-Modell ist halt am, haben sie veröffentlicht, am 24.

Jochen

Dezember 2024.

Johannes

Ein Weihnachtsgeschenk.

Jochen

Ja.

Jochen

Und zwar völlig kommentarlos.

Jochen

Und das hat tatsächlich relativ viel Aufsehen erregt, weil es halt schon, es ist ein sehr, sehr gutes Modell, muss man sagen.

Jochen

Also wirklich, wirklich gut.

Johannes

Und es war auch sehr billig.

Jochen

Und das ist ja.

Jochen

Ja, aber da genau, da würde ich dann halt eher so mal nochmal, also, weil das hört man immer, aber da, oder ich weiß, wie, wie, wie, wie, oder wo ist die Quelle dafür, dass das besonders billig ist?

Ja, weil Deep

Johannes

Seek selber, die haben die haben gesagt, es hat nur 5

Millionen Dollar gekauft.

Jochen

Ja, gut, aber ich meine, die haben natürlich unter Umständen auch eine gewisse Motivation zu sagen, was sie sagen.

Dominik

Die haben die vielleicht geklaut.

Dominik

Sachen geklaut, das ist ja wöchentlich.

Johannes

Ja, das fand ich ja das Allerlustigste, dass sich dann OpenAI darüber aufgeregt hat, dass sie das, dass sie die Modelle verwendet haben.

Hat jemand Daten genommen, die ihm nicht zugestanden sind?

Johannes

Ah, das ist zum ersten Mal in der Geschichte von LLMs passiert.

Jochen

Ja, das ist lustig, ne?

Jochen

Also irgendwie das, was OpenAI macht, ist ja im Grunde irgendwie so dicke Bücher nehmen, so wie Flu and Python oder sowas.

Jochen

Das runterdistillieren in ein Modell.

Jochen

Modellgewichte destillieren und jetzt beschweren Sie sich darüber, dass jemand anderes ihre Modellgewichte genommen hat und die destilliert hast in ein anderes Modell.

Jochen

Das geht gar nicht.

Jochen

Das geht natürlich oft gar nicht.

Johannes

Als Deep bei einem anderen Deep Clown geht halt einfach nicht.

Jochen

Ja, es gibt keine Ehre mehr.

Johannes

Ehre und Verbrecher.

Ja.

Jochen

Wobei man jetzt sagen muss, also diesen Zungenschlag finde ich auch immer komisch, wenn man jetzt sagt, das ist irgendwie alles geklaut.

Jochen

Ich mir denke so, ja, aber irgendwie, wie kann man das dann damit verändern?

Jochen

Also weil ich, also ich finde, man muss sich entscheiden.

Jochen

Also entweder man fand diese Copyright-Geschichte ja schon immer irgendwie scheiße, also so fand ich schon immer kacke.

Jochen

Das ist einfach totaler Müll, ja.

Jochen

Also was zur Hölle?

Jochen

Und ja, also Informationen will halt irgendwie frei sein und irgendwie jeder soll sich aus often Quellen irgendwie unerfänglich informieren können.

Jochen

Das sollte eigentlich schon gehen.

Dominik

Es gab doch mal diese T-Shirt, das ist das SWAT-Sing, you wouldn't understand.

Jochen

Ja.

Johannes

Wouldn't that car?

Dominik

Das ging es um die JSTOR-Klasse.

Jochen

Ach, die Geschichte, ja, mit Aaron Schwarz, ja.

Jochen

Das ist halt,

Johannes

aber auch vorher schon mit Pirate Bay und mit Film runterladen und Musik runterladen und so weiter.

Johannes

Ja, klar.

Johannes

Johann, das, also für mich erklärt sich das durch, ich bin auch so ein, ja, ich bin auch so ein Information muss frei sein und wenn man eine offene Lizenz dran machen kann, umso besser.

Johannes

Und ich kenne auch einige Leute aus der Szene und das ist ja auch nicht.

Ja, aber ich

Jochen

meine, das ist ganz viel Al-Dings, das macht man nicht deswegen, weil es ein Ball irgendwie die Wahl zu verrückt ist.

Jochen

Das ist ja nicht deswegen, weil man Lizenzen so geil findet.

Oder Lizenzen sind.

Johannes

Aber das Problem ist doch, oder das Schöne, das Ironische an der Sache ist doch, dass es ja eigentlich die multinationalen Konzerne sind, die sich immer für Copyright-Regeln und je drakonischer, desto besser ausgesprochen haben.

Johannes

Und jetzt machen sie genau das Gleiche.

Dominik

Ja, weil sie entdeckt haben, dass ihr Geschäftsmodell darin hintun ist und man damit Geld verdienen kann.

Dominik

Das ist so ein bisschen das Open-Source-Problem, ne?

Dominik

Ich meine, tolle Sachen machen und die für alle veröffentlichen und aber dann dafür nicht bezahlt werden, können sich halt nur Leute leisten, die eigentlich eh schon guten, luxuriösen, privilegierten Lebensstil fahren.

Jochen

Ja, aber also ich finde halt, also was mir halt nicht gefällt, ist, dass diese Argumentation aus der Ecke immer inkonsistent ist.

Jochen

Also das gefällt mir einfach ästhetisch nicht.

Jochen

Ich weiß jetzt nicht, ob es auch ethisch schlimm ist, aber ästhetisch finde ich geht das nicht.

Jochen

Weil man kann nicht auf der einen Seite sagen, irgendwie, man soll sich, man darf sich halt aus frei zugänglichen Quellen informieren können und dann auf der anderen Seite sagen, ja, aber du darfst jetzt meine Daten nicht benutzen, um dein Modell zu trainieren.

Jochen

Das ist einfach ein Widerspruch, das geht nicht.

Jochen

Und vor allen Dingen mit der gleichen Argumentation könntest du auch Google verbieten, seine Webseiten zu indizieren.

Jochen

Das ist ja auch ein bisschen.

Jochen

Ja, wurde ja auch schon.

Jochen

Ja, kann man versuchen, aber das ist ja aus meiner Sicht, das ist ja offensichtlich absurd, ja.

Dominik

Aber man könnte doch zum Beispiel sowas machen wie Robots.

Jochen

Ja, gut, das machen Leute ja auch, das kann man auch tun.

Jochen

Also wenn ich jetzt hingehe und sage, okay, wenn ich da irgendein so ein LLM, so ein Crawler von so einer Firma sehe, dann sage ich dem halt, nö, du kriegst hier nichts.

Jochen

Oder was auch Leute ja machen, ist, dass sie dann halt so quasi so Endlosstrom von sinnlosen Tokens irgendwie erzeugen, um eine Rechenzeit zu verbrennen auf der anderen Seite.

Möglichst langsam.

Ja.

Jochen

Dass der so klar verdient.

Jochen

Die moderne Variante der guten alten Teergrube.

Jochen

Ja, aber.

Dominik

Das ist halt so ein bisschen die Frage, ne?

Dominik

Es gibt ja die, der welcher für Urbricht sagen, so ja, da kommt jemand in meinen Laden rein, macht überall Fotos und nimmt alles mit nach draußen und das ist eigentlich meins.

Dominik

Und dass der meinen Laden betreten hat, der ist ja einfach durch die Tür gegangen.

Dominik

Ich würde eher sagen, das ist sowas wie, da stellt sich jemand auf den Marktplatz und schreit irgendwie so laut wie er kann allen Leuten ins Gesicht, was er da macht.

Dominik

Und dann hat das halt jemand gehört.

Jochen

Genau.

Dominik

Und ja, das ist so.

Jochen

Da kannst du mit dem Urheberrecht halt nichts machen, denke ich mal.

Genau.

Jochen

Also das Urheberrecht unterstützt ja die drei V's irgendwie so vervielfältigen, verändern, verbreiten, ja, aber nichts davon ist betroffen, wenn ich jetzt halt irgendwie einen Text von irgendeiner Webseite nehme und dann ein Modell drauf trainiere.

Dominik

Ja, also die Frage ist halt, was zum Beispiel mit wissenschaftlichen Veröffentlichungen ist, sind die schon allgemeinrecht oder nicht, weil die

Jochen

beiden, aber wenn ich jetzt die lese, also nochmal, also ich meine, im Grunde, dein neuronales Netz und Gehirn ist ja auch sowas.

Jochen

Du dürftest das ja, also durch Lesen kann man keine Urheberrechtsverletzung begehen.

Jochen

Meinem Verständnis halt.

Jochen

Das geht einfach um.

Johannes

Ui Joachim, jetzt hast du aber eine schlimme Dose aufgemacht, weil jetzt haben die Rechtsinhaber drauf, dass wenn du das in dein Gehirn einlest, hast das vergessen.

Jochen

Ja, hast du vervielfältigt?

Jochen

Das ist offensichtlich absurd.

Jochen

Das kann man doch nicht vertreten, sowas.

Jochen

Und was mich ärgert, ist halt, dass Leute quasi auf so Leute, von denen ich dachte, dass es meine Freunde wären, jetzt online irgendwie offenbar diese Ansicht vertreten, dass halt vor dem Dinge lesen eine Urheberrechtsverletzung ist, was totaler Quatsch ist.

Jochen

Das ärgert mich immer so ein bisschen.

Johannes

Das ist zwar eine schöne Unterhaltung, aber ich habe das Gefühl, wir driften schon wieder so ein kleines bisschen ab.

Dominik

Oh, ist das in diesem Podcast schon mal vorgekommen?

Ja, dann offenbar.

Okay.

Johannes

Ich glaube, in Episode 3 ist es mal vorgekommen.

Echt?

Jochen

Gut, dann ist ja nicht so schlimm, wenn das nicht so häufig vorkommt.

Dominik

Ist das trotzdem interessant?

Jochen

Ja, aber genau, also ich finde es halt, genau, aber ja klar, natürlich ist es irgendwie absurd, wenn sich jetzt OpenAI über Deep Seek beschwert.

Dominik

Also ich glaube, die Frage ist natürlich, hat jeder Konzern Interesse dran, so viel Geld wie möglich zu verdienen mit irgendwas, was er denkt, was er kontrollieren kann.

Dominik

Was aber die andere Seite der Medaille ist, ist, ob es ein öffentliches Interesse gibt an so etwas wie einem allgemein verfügbaren Sprachmodell.

Dominik

Einfach weil diese, ich sag mal, Schöpfungshöhe von diesen Dingern doch schon so massiv ist und die so ein Value bereitstellen können.

Weißt du, ob die

Schöpfungshöhe so groß ist.

Johannes

Aber Jochen, die viel wichtigere Frage ist doch, ist das Modell wirklich besser und billiger?

Jochen

Nein, es ist gut.

Jochen

Also, genau.

Hast du es denn ausprobiert?

Jochen

Ja, also, naja, also ich habe leider nicht geschafft.

Jochen

Ich hab's momentan nicht geschafft mit meiner Hardware, kriege ich es nicht hin, gerade so.

Jochen

Leider, leider.

Johannes

Es gibt ja AP-Zugang, wenn das ist.

Jochen

Ja, genau, da habe ich es natürlich schon ausprobiert.

Jochen

Und das ist tatsächlich gut, ja.

Ja, ist das okay.

Johannes

Und die Empfehlung, die ich gehört habe, die ja auch den Aktienmarkt irritiert hat, um es mal so zu sagen.

Johannes

Ist ja, dass man sich keine Grafikkarte kaufen soll, sondern lieber AMD-Prozessoren, was natürlich eine sehr schöne Ironie ist.

Johannes

Dass es die AMD-Prozessoren sind, die man sich kaufen soll.

Jochen

Also ich, ich, ja, die AMD-Prozessoren, gut, ja, also natürlich Hauptspeicher ist für die Dinger, wenn du die halt komplett laufen lassen willst, brauchst du halt viel Hauptspeicher.

Jochen

Genau.

Johannes

Und auf einem ordentlichen, also ich habe so verschiedene Artikel gesehen, wo sich die Leute Rechner zusammenbauen, zwischen 2.000 und 6000 Dollar, was ja nicht viel ist für so ein System.

Johannes

Und dann kriegst du irgendwo zwischen 3 und 5 Token pro Sekunde, was auch nicht viel ist.

Aber auch nicht schlecht.

Jochen

Ja, du kriegst auch noch ein bisschen, du kannst das Ding wohl, also das Originald-Ding kriegst du mit ein bisschen Trickserei und Quantisierung, kriegst du das, glaube ich, auf einem Mac Studio mit 192 GB RAM zum Laufen.

Jochen

Und da kriegst du mehr als 4 bis 5 Tokens pro Sekunde.

Jochen

Da kriegst du halt ordentlich.

Aber.

Johannes

Ja, okay, das liegt ja daran, dass die Macs so eine spezielle Speicherarchitektur hat ins GPU benutzen.

Johannes

Aber, also ich meine, das Problem ist doch, dass der Macs nur bis 192 GB kaufen kannst.

Jochen

Ja, das ist auch.

Jochen

Und das ist wieder für das Milliarde kostet, ja.

Jochen

Dass sie sich irgendwie das so.

Dominik

Exponentialkurve und SD-Karte kriegst du für einen Terabyte, kriegst du nur ein Upon I.

Genau.

Johannes

Und so einen AMD-Prozessor mit vier Prozessordern, Prozessors drin, da kannst du einen Terabyte-Speicher reintun für den gleichen Preis.

Johannes

Und da hast du dann gewisse Limitationen einfach nicht mehr.

Jochen

Ja, das ist schon richtig.

Jochen

Ich habe auch heute irgendwie gesehen auf einem Postgres-Newscletter, so, was machen wir jetzt eigentlich mit den Monster-Rechnern, die wir bauen können.

Jochen

Da hatte jemand auch so, es gibt irgendwie diese Epic-AMD-Dinger, da hast du halt irgendwie 768 Threads irgendwie auf zwei Sockeln und 10 Terabyte Hauptsprecher für gar nicht mehr so wahnsinnig viel Geld.

Jochen

Und das ist wirklich absurd, was da gerade geht.

Jochen

Also, aber ja.

Jochen

Ach ja.

Johannes

Aber manche Leute brauchen das halt.

Johannes

Also ich meine, das ist halt, es ist doch schön, dass es das gibt.

Jochen

Ja.

Johannes

Ist doch schön, dass das geht.

Jochen

Genau, also nee, das Ding ist gut.

Jochen

Aber jetzt diese ganzen Gerüchte, die da so im Umlauf sind, also einmal, also ich würde sagen, so dieses, dass das jetzt billiger ist oder so, das sagt jetzt wie Diepsig, aber ich kann das nicht unabhängig, also ich habe nichts gesehen, wo ich sagen würde, da hat das jemand unabhängig überprüft.

Jochen

Wenn die Leute fragt, die sich auskennen, sagen die, das liegt genau auf den Scaling-Kurven drauf.

Jochen

Da ist nichts mit.

Jochen

Das ist überhaupt kein Stück billiger als irgendwas anderes, ja.

Jochen

Also das liegt ganz genau auf.

Das muss sicherlich eine geschönte Zahl sein, ja, dass du sagst, hier, hassa,

Jochen

die Zahl ist richtig, aber wenn man sich anguckt, womit würde man rechnen, wie viel man ausgeben muss jetzt sozusagen, dann liegt das genau da drauf.

Jochen

Das ist nicht irgendwie billiger.

Jochen

Ja, okay.

Jochen

Also zum Beispiel Anthropic hat tatsächlich Zahlen dazu veröffentlicht.

Jochen

Also der Chef von Anthropic, da irgendwie Dario Amoday oder so, der hat auch tatsächlich veröffentlicht, wie viel sie, wie viel es gekostet hat, so nicht 3.5, glaube ich, zu trainieren in einem Blogpost, um halt klarzumachen, ja, das ist nicht billiger, also das jetzt ist nicht billiger gewesen als das, was sie gemacht haben.

Jochen

Sie haben irgendwie 35 Millionen bezahlt, aber der Witz ist halt, das war irgendwie zehn Monate her oder so und in der Zeit sind die Preise eben so gefallen, dass es jetzt halt billiger ist.

Eine schöne Ironie, finde ich, an der ganzen Geschichte, dass diese Firma DeepSeek sehr viel Engineering da reingesteckt hat, um die A-Zieler-Hardware.

Ja, ja.

Johannes

Genau.

Johannes

Weil sie die nicht importieren dürfen.

Johannes

Weil die Amerikaner gesagt haben, das geht nicht, dass man da solche Dinge betreibt und deshalb dürfen die das nicht und deshalb können die nicht.

Johannes

Und dann haben sie gesagt, wir machen es trotzdem und das hat geklappt.

Johannes

Und es ist auch keine Überraschung für jemanden, der sich da fünf Minuten damit beschäftigt.

Jochen

Ja, also es gibt da diesen Technical Report, den sie da veröffentlicht haben zu und da sind einige wirklich gute Tricks dabei und so.

Jochen

Also das ist wirklich solides Engineering, also kann man sich nicht beschweren.

Johannes

Einfach um die Exportbeschränkung rum.

Johannes

Top.

Johannes

Aller erste Klasse.

Jochen

Ja, aber jetzt, was, genau, also das erste Modell, das wir veröffentlicht haben, also das war sozusagen, hat in der Fachwelt, sag ich mal, durchaus sehr viel Aufmerksamkeit erregt und da war dann nach ein paar Wochen auch klar, das ist wirklich, wirklich gut, das Modell.

Jochen

Und dann kam ja jetzt irgendwann so Ende, also Mitte bis Ende Januar, ich weiß gar nicht noch wann, kam halt irgendwie R1, wo sie dann so einen Marketingbass drum gemacht haben.

Jochen

Das ist aber wirklich, also das ist jetzt keine Kunst.

Jochen

Also von einem guten Foundation-Modell.

Johannes

Ein guten Marketing-Bas machen ist schon ein bisschen.

Jochen

Ja, irgendwie eine gute Kunst, aber das Modell war jetzt kein.

Jochen

Das Modell selber war nicht, das war nicht auch sinterregend eigentlich.

Jochen

Aber das Marketing schon.

Jochen

Also sie wussten halt, okay, ne, irgendwie, wir haben ein Modell, das ziemlich gut ist.

Jochen

Und jetzt haben sie halt dann draus halt irgendwie eine Geschichte gemacht, die halt dann auch irgendwie durch alle Nachrichten gegangen ist.

Johannes

Und Nvidia hat irgendwie so und so viele Milliarden an Aktienwert verloren.

Jochen

Also ja, man könnte natürlich jetzt vermuten, dass irgendjemand möglicherweise da so ein bisschen dran gedreht hat oder viel Geld verdient hat.

Jochen

Ja, ich weiß auch nicht.

Jochen

Ich würde jetzt erwarten, es könnte irgendwie so ein Hedgephone sein zum Beispiel.

Jochen

Weiß nicht.

Jochen

Ja, was machen die da?

Was machen die viel zu riskant?

Nein.

Jochen

Also ich weiß es nicht.

Jochen

Auf jeden Fall ist das natürlich schon so ein bisschen verdächtig.

Jochen

Und ja, auch wenn man auch da wieder, wenn man Leute fragt, die sich damit auskranken, sagen die so, warum fällt eigentlich der Nvidia-Aktienkurs?

Jochen

Also ich meine, klar, natürlich ist es eine Blase, ja.

Jochen

Das ist auch, muss auch irgendwie dem Klasse sein.

Was?

Dominik

Also du hast doch nicht ernsthaft angenommen, dass das da irgendeinen Fundamentaldatenzusammenhang gäbe.

Ja, ja, natürlich nicht.

Jochen

Also insofern, dass das eine Blase ist, ist schon richtig.

Jochen

Und dass man dadurch natürlich irgendwie dann eine Chance sieht, da irgendwie Luft auf dieser Blase zu lassen, okay.

Jochen

Ja, das ist ja auch irgendwie wenig überraschend.

Jochen

Aber tatsächlich der Bedarf an Compute, wenn man jetzt quasi aus dieser ganzen Geschichte mitnimmt, es ist einfacher, als wir dachten, irgendwie solche Modelle zu bauen.

Jochen

Und es ist irgendwie einfach, sie zu betreiben, sind einfach sie zu trainieren.

Jochen

Und dann ist die Konsequenz eigentlich nicht mehr.

Jochen

Wir brauchen weniger, also wir verkaufen jetzt weniger Chips, sondern die Konsequenz ist natürlich, wenn man jetzt das aus so einer ökonomischen Perspektive betrachtet, dann werden natürlich viel mehr Chips verkauft.

Johannes

Ja, aber von wem, Jochen?

Johannes

Das ist doch die Frage.

Die müssen jetzt nicht mehr unbedingt die teuren von Nvidia sein.

Jochen

Ja, weiß ich nicht, aber für Nvidia ist das auf jeden Fall auch gut.

Jochen

Also sag mal so, aus ökonomischer Sicht macht das keinen Sinn, dass der Aktienkurs von Nvidia fällt, wenn irgendwie man jetzt sieht, dass man mit Computern, dass man mit halt irgendwie Chips mehr macht.

Dominik

Jochen, du glaubst doch nicht, dass das Kaufen eines Wahl irgendwas mit ökonomischen Ratio zu tun hätte.

Jochen

Nee, natürlich nicht.

Johannes

Hast du welche gekauft, Jochen?

Johannes

Hast du Nvidia gekauft?

Ah.

Hast du dir geschafft?

Jochen

Ich kann nicht genug Marketingbass generieren, um da irgendwas zu.

Johannes

Diese Podcast-Episode, die.

Jochen

Keine Aktienempfehlungen von Podcastern, bitte irgendwie.

Jochen

Nee, ich habe da nichts gekauft und nichts verkauft.

Jochen

Das ist auch vielleicht doof, ja.

Jochen

Also müsste man vielleicht eigentlich machen.

Dominik

Ja, bei den Steuern, die man hier zahlen muss.

Jochen

Aber, also genau.

Jochen

Also irgendwie.

Johannes

Aber du glaubst nicht, dass Nvidia mehr wert ist als die gesamte deutsche Wirtschaft zusammen.

Jochen

Ja, finde ich irgendwie komisch, ja.

Jochen

Glaubst du nicht.

Jochen

Ja, okay.

Johannes

Ich glaube es auch nicht.

Jochen

Ja, aber interessanter Weg, jetzt aus diesem Wissen irgendwie Geld zu machen, das hat Deep Seek irgendwie geschafft.

Jochen

Und ja, ich meine, das haben sie wirklich gut gemacht.

Jochen

Also muss man anerkennend sagen, ist irgendwie eine.

Jochen

Und ich hab, ah, und dann hat jemand auf Mastodon oder so hat jemand eine ganz interessante Geschichte gepust.

Jochen

Und das fand ich auch total super.

Jochen

Er meinte so, okay, das ist also da, Deep Seek hat das ja ganz gut gemacht.

Jochen

Lass mal überlegen, gibt es vielleicht noch irgendwelche anderen Firmen, die halt auch total überbewertet sind oder wo es eine Blase ist.

Nein.

Jochen

Wo man vielleicht sowas ähnliches machen könnte.

Jochen

Zum Beispiel, was ja auch immer so ein Problem ist, hatten wir es gerade schon von Open Source, ne?

Jochen

Ist schwer ein Geschäft zu.

Jochen

Also wie kann man damit Geld verdienen?

Jochen

Hm, vielleicht so.

Jochen

Also wenn man sich jetzt sowas überlegt wie SAP, verdient einen Haufen Geld für ja was eigentlich genau, ist ein bisschen unklar.

Jochen

Aber irgendwie so wirklich, ja, ich meine, okay, das ist jetzt grob vereinfacht.

Jochen

Ich habe ehrlich gesagt keine Ahnung von SAP, aber ich würde sagen, das ist halt eine relationale Datenbank und ein bisschen Frontend drumherum, ja, aber so viel mehr ist da nicht.

Jochen

Und vieles davon ist wahrscheinlich auch gar nicht so gut.

Jochen

Und wie wäre es denn, wenn jetzt ein Hedgefonds hingehen würde und würde mich dafür bezahlen, doch mal sowas zu bauen, was ich.

Spezifisch, okay.

Ja, und das ist ja eigentlich ein Trick an der Geschichte.

Verstehe?

Jochen

Oder sonst irgendwie

Johannes

dafür bezahlen, musst du sagen.

Johannes

Würde jemand für dich gut bezahlen.

Jochen

Das halt in Open Source nachzubauen.

Jochen

Und dann Weihnachten 2025 wirft man halt das Ding irgendwie rauf, raus.

Ja.

Johannes

Und sagt aber vorher.

Jochen

Hat vorher natürlich muss man irgendwie so ein paar Leerverkäufe machen, so tätigen.

Jochen

Und dann sagen wir hier so, SAP-Kunden, ihr habt den Ding, das kommt genau das gleiche und ihr müsst die ganzen Lizenzgewöhn nicht bezahlen.

Dominik

Das Problem ist halt, dass das so customized ist an die ganzen Schnittstellen, die sind.

Dominic Loden Realität.

Jochen

Ja, okay.

Jochen

Ja, natürlich.

Jochen

So einfach ist es wahrscheinlich natürlich nicht alles klar, ja.

Aber ich glaube, der einzige Verkaufsfaktor ist, dass die ganzen, was sind das, Silos, der ganzen Matrix-Konzerne von Finance über HR, über was auch immer, alle ihr eigenes Modul haben, um ihre Kostenrechnung ganz wundervoll auf irgendwelchen Charts ausgeben zu lassen.

Johannes

Ja, und es hat nur wenige Millionen gekostet.

Genau, ja.

Dominik

Und das ist halt Mighty.

Johannes

Nochmal zurück zum Thema News.

Dominik

Das kann man aber schon nachbauen.

Dominik

Glaube ich.

Ja, ich glaube auch.

Hast du Lust?

Jochen

Ja.

Jochen

Aber ja, also.

Dominik

Es gibt einen Grund, warum du da nicht viel mit zu tun haben willst.

Jochen

Ja, klar, es ist halt auch irgendwie langweilig, aber.

Johannes

Der Jochen hat halt noch nicht die richtigen Investoren gefunden.

Jochen

Genau, ich meine natürlich Langeweile.

Johannes

35 Millionen geben dafür.

Jochen

Das geht besser, wenn man irgendwie sich das Glas Wasser dann irgendwie einem golden Wasserhand irgendwie holt.

Jochen

Das macht dann, ja.

Jochen

Ich weiß es nicht.

Jochen

Keine Ahnung.

Jochen

Ja, aber ich fand die Idee auf jeden Fall interessant und dann dachte ich so, ah, das musste man ja, das muss man noch jemand machen hier.

Jochen

Ja.

Jochen

Genau, News.

Jochen

Das war diese Deep Seek-Geschichte.

Jochen

Also ja, es ist interessant.

Jochen

Also insgesamt ist es natürlich auch eine tolle, tolle Geschichte, dass es halt irgendwie, also ich meine, ich glaube, diese Vorhersage von Jan Le Kune, der da jetzt bei Meta Dinge macht oder so, dass er sagt, ja, auf lange Sicht werden die Open Source Geschichten gewinnen, ist richtig.

Jochen

Jetzt natürlich irgendwie DeepSeek, das Modell, das ist keine Open Source, das hat alles überhaupt nicht gar nichts mit Open Source zu tun.

Jochen

Also den Medien hört man immer so, oh, ein Open-Source-Modell.

Nein, natürlich nicht.

Jochen

Alles Quatsch.

Jochen

Ja, Trainingsdaten sind nicht Open Source, die Algorithmen, der ganze Kram ist alles nicht Open Source, aber man kann jetzt natürlich dieses Modell in Open Source Software verwenden.

Dominik

Und man konnte es halt auch benutzen, es war halt frei verfügbar einfach.

Dominik

Also es war nicht nur Per-Schnittstelle über ein bisschen.

Jochen

Keine komische Lizenz, ja.

Jochen

Also Lama hat ja immer noch diese eigenartige Lizenz, so du darfst es verwenden.

Jochen

Du bist Googelt, dann nicht.

Aber das hat mich jetzt noch nie gestört an der Lama-Lizenzvereinbarung.

Bist du nicht Google?

Johannes

Da bin ich weit davon entwickelt, von den 700 Millionen Maus.

Jochen

Ja.

Jochen

Wie auch immer.

Jochen

Ja, wie auch immer.

Jochen

Genau, das war so die eine Geschichte.

Jochen

Oh ja, dann, also überhaupt, ich meine, das wird jetzt, es gibt da noch so ein paar Geschichten.

Jochen

Also OpenAI verliert irgendwie beständig Leute.

Jochen

Also, das ist auch irgendwie etwas, was ich irgendwie interessant finde.

Jochen

Also, irgendwie, also Sam Altman, also ich meine.

Johannes

Ja, Sam Altman verloren?

Jochen

Nein, nein.

Jochen

Fast.

Jochen

Wir haben nochmal Glück gehabt, dass das nicht fasziniert.

Ja.

Jochen

Also, äh, ja, also Alec Redford ist jetzt auch weg.

Jochen

Und die Leute, also es haben schon mal, also die ersten, also die Leute, die Entropic gegründet haben, oder halt Dario, hat halt irgendwie versucht.

Johannes

Die waren doch auch Zim noch auch von OpenI alle.

Jochen

Ja, die kommen auch alle von OpenI.

Jochen

Das sind die Leute, die ChatGPT ursprünglich mal gebaut haben.

Jochen

Und die haben aber auch schon mal versucht, Sim Altman feuern zu lassen.

Jochen

Es hat nicht geklappt, dann mussten sie alle gehen.

Jochen

Und ja, dann haben das nochmal wieder Leute versucht, die haben es, es hat auch wieder nicht geklappt, da mussten wieder alle gehen.

Jochen

Und es gehen immer noch irgendwie Leute.

Ist ein Modell, kann man machen.

Jochen

Ja.

Jochen

Aber ich meine, was ich gut finde, ist es halt wirklich irgendwie ganz ordentlichen Wettbewerb gibt.

Jochen

Also ich muss auch sagen, die Anthropic-Geschichten, das ist zum Beispiel zum Programmieren, finde ich, ist so nett so das beste Modell momentan.

Jochen

Und ja, es funktioniert alles super.

Jochen

Genau, dann aber auch interessant, die neuen OpenAI-Modelle O3 oder so.

Jochen

Da gab es große Erfolge bei irgendwie AGI und Frontier Math Benchmarks und so.

Jochen

Also das ist schon.

Dominik

Ja, ich glaube, der Trick ist jetzt halt tatsächlich, dass man das so verknüpft mit so einer Art persistenter Datenbank, auf die das zugreifen kann, das Ding.

Jochen

Persistente Datenbank?

Ja.

Dominik

Keine Ahnung, so ein Sprachmodell darf bei dir auf die Datenbank zugreifen und sich daran erinnern, was das in der letzten oder vorletzten Session da abgelegt hat.

Dominik

Und so eine Transaktion da machen und von da weitermachen.

Dominik

Also dass quasi das Consciousness gesafed werden kann, was es da hat.

Dominik

Und die Frage, was halt dann Consciousness dann heißt und was davon Memory ist und was an Prozessen drumherum notwendig ist, um das zu einem Consciousness zu machen, ja?

Dominik

Also sowas wie Reasoning über Zusammenhänge, die man hat oder Neubilden von Informationen anhand der Informationen, die man dann schon gespeichert hat, aus so einem, ich sag mal, Dialoggespräch.

Dominik

Und ich würde sagen, jedes Dialoggespräch ist eine eigene Entität.

Dominik

Das ist so ein bisschen wie, wenn man mit sich selber einen inneren Dialog hält.

Ja, gut.

Dominik

Die Anfänge von so einer Subject-Objekt-Beziehung.

Dominik

Und ich finde, das geht schon sehr in die Richtung, wo man was draus bauen kann.

Dominik

Und so eine Initialzündung von.

Jochen

Okay, ich finde, das sind so zwei Aspekte.

Jochen

Also der eine wäre sowas wie dieses Model-Kontext-Protokoll von Anthropic, wo du halt sozusagen dem Modell irgendwie Dinge geben kannst, sozusagen.

Jochen

Oder halt du kannst immer auch Zugriff auf deinen Rechnern geben oder was auch immer.

Jochen

Oder auf deine Daten.

Jochen

Du kannst eine Datenbank anbinden.

Jochen

Das ist die eine Geschichte, dass du halt nicht immer dieses Retrieval-Augmented Generation machen musst, sondern dass du halt dem Modell sagen kannst, also hier ist eine Datenbank, die kannst du fragen und hier ist irgendwie sonst was.

Okay.

Dominik

Gut, aber es hätte nur die Fälle dasselbe, ob der es Rag machst oder nicht, ist ja fast egal.

Ja.

Jochen

Genau, also macht inhaltlich keinen großen Unterschied.

Jochen

Das andere, dieses, diese, diese, diese Reasoning-Modelle, das ist halt irgendwie, das ist halt so eine Kombination von irgendwie dem Token generieren, was halt alle Modelle da irgendwie machen.

Dominik

Das musst du mal erklären, was du damit meinst.

Jochen

Naja, dass du halt einfach Next Token Prediction machst.

Jochen

Okay.

Jochen

Das machen die alle.

Jochen

Aber der Unterschied jetzt zu den Reasoning-Modellen ist halt, dass man jetzt sagt, okay, man generiert halt.

Jochen

Generiert halt so Chains of Thought und zwar jede Menge.

Jochen

Ja.

Jochen

Und wählt dann halt die, die irgendwie in sich konsistent aussehen, aus, als das könnte die Antwort sein.

Jochen

Ja.

Jochen

Das heißt, man kombiniert irgendwie so eine Art Suche, also irgendwas, die wir im Schach irgendwie halt auch Varianten machen.

Dominik

Ja, jetzt sind wir nämlich in einem Graph drin und diese Grafen haben quasi ja auch States, die irgendwas machen.

Dominik

Und jetzt kann man vielleicht hingehen und kann das kuratiert hart coden in verschiedenen Szenarien, das nicht durch das LLM machen lassen, sondern so verschiedene kuratierte Szenarien vorgeben, die ein State sind und zwischen denen man sich hin und her bewegen kann.

Dominik

Und dann kommt man wieder auf noch einen Schritt weiter.

Jochen

Ja, keine Ahnung.

Jochen

Also ich würde sagen, man kann jetzt halt irgendwie traden zwischen, also sich jetzt überlegen, wo man die, wo man Computer ausgeben möchte zur Inference-Time oder bei Trainingszeit.

Jochen

Und für ein optimales Ergebnis muss man halt irgendwie wahrscheinlich ein bisschen mehr Compute in Inference-Zeit verlagern und halt ein bisschen mehr Suche machen.

Jochen

Ja.

Jochen

Aber dass das so gut funktioniert, ist halt eine Überraschung.

Jochen

Also das war halt auch nicht klar, dass das geht.

Jochen

Und ja, es macht aber einen Riesenunterschied.

Jochen

Und ich meine, der Arc AGI Benchmark ist halt komisch benannt, weil er hat nichts mit AGI zu tun, aber das ist, kriegen Leute auch mal einen falschen Hals.

Jochen

Und ja, Frontier Math ist aber auch, ja, oder auch super interessant, wie heißt das Ding?

Jochen

Dieser Coding-Benchmark.

Jochen

Ah, ich habe es vergessen.

Jochen

Aber das sind auf jeden Fall irgendwie, sie haben echte Pull-Requests genommen.

Jochen

Gegen Projekte wie zum Beispiel Django ist halt auch mit drin, aber halt auch noch so ein paar andere.

Jochen

Cycled Learn ist auch drin.

Jochen

Und haben dann geguckt, wie viele von den offenen Pull-Requests würde sozusagen ein LLM halt lösen.

Jochen

Und da kommen die guten Real.

Jochen

Also es gab immer schon spezialisierte Modelle, die ganz gut abschneiden, aber das ist halt irgendwie, ja, es ist halt auch nicht so einfach, die irgendwie laufen zu lassen.

Jochen

Aber die diese normalen LLMs waren halt da nie so wirklich gut.

Jochen

Bis jetzt auch die Reasing-Modelle, die sind alle auch super.

Jochen

Also die kommen auch schon da auf fast 50% oder sowas.

Jochen

Und das ist natürlich schon krass.

Jochen

Also irgendwie.

Dominik

Ja.

Dominik

Das ist schon nicht so schlecht.

Jochen

Ja, genau.

Jochen

Oh, dann, was wir.

Jochen

Dann haben wir eine Mail gekriegt.

Jochen

Das reicht auch gerade noch so.

Jochen

PyCon Austria ist jetzt irgendwie.

Dominik

Oh ja, wir sollen das.

Jochen

Und wir sollen das ankündigen.

Jochen

Das ist am 6.

Jochen

und 7.

Jochen

April 2025.

Jochen

Hochschule Burgenland in Eisenstadt.

Jochen

Ja, genau.

Jochen

Kann man sich mal ansehen.

Jochen

Was haben wir noch?

Dominik

Wir müssen mal eine ganze LLM-Folge mal wieder machen.

Jochen

Ja, ja, ja.

Jochen

Ich habe mir da auch schon so ein paar Sachen aufgeschrieben.

Jochen

Genau, aber wir brauchen halt noch irgendeinen Gast.

Jochen

Ja, wenn sich da irgendjemand berufen fühlt oder so, genau, wir suchen da jemanden.

Oder jemanden kennt?

Jochen

Oder jemanden kennt, den man mal fragen könnte, dann wäre das wahrscheinlich ganz nett.

Jochen

Weil gibt es auch so viele Tools und Dinge, über die man mal reden müsste.

Jochen

Also gerade dieses ganze Thema Programmieren mit LLMs finde ich halt sehr interessant.

Jochen

Ich mache das ja auch viel und ja, das da.

Dominik

Da kann man auf unterschiedliche Arten tun.

Jochen

Ja.

Jochen

Genau, und da kann man auch mal die ganzen Tools angucken und sowas.

Johannes

Ich habe noch zwei News-Items, die allerdings in eine ganz andere Richtung gehen.

Okay.

Das erste Item ist, dass Microsoft bei Nature eine Veröffentlichung eingereicht hat, wo sie sagen, sie haben einen Quantencomputer mit topologischen Kubits gefunden.

Johannes

Das ist wohl eine andere Art, Kubits zu machen, die stabiler ist und es ist aber, also da ist sehr viel Worte drin, die man sich mal von einem LLM anklären lassen müsste.

Johannes

Special kind of qubit built using non-abelian anyons, which are excitations that can exist in a two-dimensional medium.

Dominik

Würdest du kurz was dazu sagen, bitte, lieber Johannes?

Johannes

Nee, ich kann da gar nichts dazu sagen.

Was ist denn

Dominik

anthologische Quantenkompensatz?

Johannes

Keine Ahnung.

Johannes

Es war einfach nur in der Veröffentlichung, dass es einen Durchbruch gab in dieser Art Quantencomputer.

Johannes

Und es hat auch einige Bellen erzeugt.

Jochen

Ja, also Quantencomputer wäre schon voll cool, aber ich, also alle bisherigen Durchbrüche waren nicht so richtig Durchbrüche.

Johannes

Sind noch nicht so weit gekommen.

Johannes

Aber es wird Zeit, dass man zu Postquantenkryptografie wechselt.

Dominik

Der hat auch einen tollen Namen, dieser Chip, der heißt Majorana.

Majorana.

Johannes

Ja, das liegt daran, dass das ist so ein, das ist tatsächlich der irgendein Autor, der

Dominik

klingt, das hätte jemand so viel gekifft.

Majorana Zero Modus.

Egal.

Johannes

Das zweite News-Item ist tatsächlich wesentlich spezifischer für Python und ist auch erst zwei Wochen alt ungefähr.

Johannes

Und zwar gibt es einen PR, der jetzt gerade durch die Review geht und da wird ein Tailcalling-Interpreter umgesetzt.

Jochen

Ja, das ist cool.

Johannes

Was das genau ist, spielt auch keine richtig große Rolle.

Johannes

Tailcall-Optimization ist so eine Möglichkeit, um Stackframes zu eliminieren, wenn man weiß, dass man nicht mehr dahin zurückkehrt.

Johannes

Das Wichtige daran ist, 9 bis 15 Prozent Geschwindigkeitsimprovement.

Das ist schon, das ist schon massiv.

Jochen

Das ist massiv, ja, richtig.

Dominik

John Haberman war das, oder Josh Habermann?

Johannes

Ken Jin war das.

Aha.

Und ist schon, ist, es ist jetzt schon gemerged und wird in M314 veröffentlicht.

Johannes

Noch nicht in den Default-Sachen.

Johannes

Also man muss das beim Konfigurieren, beim Compilen gibt es dann einen Schalter, den man.

Jochen

Und das funktioniert irgendwie auch nur bei neueren Compilern.

Jochen

Das ist auch einer der Grund, warum sie es nicht per Default anmachen, weil du brauchst halt wirklich neue Compiler.

LLVM.

Johannes

Weil der C-Standard, in dem C-Standard gibt es so Sachen, die das nicht können.

Johannes

Der C-Standard, der braucht immer Register bei so einem Funktionsaufruf und deshalb wurde das auf Ebene von der LLVM IL, also diese Intermediate Representation gemacht.

Johannes

Und da kann man das nämlich weg eliminieren.

Johannes

Da gibt es so einen Flag, das heißt Must-Tail.

Das sind alles technische Details.

Johannes

Das Interessante ist, dass da wirklich einfach mit einem mit einer neuen Umsetzung einfach 10%, 10, 15% mehr Performance rauskommt.

Johannes

Und das ist schon, das ist schon fantastisch.

Jochen

Ja, voll gut.

Jochen

Stimmt.

Jochen

Ja, ansonsten genau.

Jochen

Habe ich jetzt, glaube ich, gar nichts.

Jochen

Ich muss mal scrollen, dass du viel Zeugst, aber das

Johannes

Alter ist schon vorbei, ist nicht mehr.

Jochen

Ja, also wir haben auch, da sollten wir vielleicht auch einfach was zu sagen.

Jochen

Wir hatten mal aufgerufen, ob Leute sich melden könnten, die Interesse dran haben, irgendwie so einen Hörertreffen mal.

Jochen

Ja, da gab es und da gab es relativ viel Feedback tatsächlich.

Jochen

Und da so, sagen wir mal, so ausreichend genug, dass wir das jetzt wohl tatsächlich ernsthaft ins Auge fassen müssen.

Jochen

Keine Ausrede mehr.

Ja, aber es ist

Johannes

ja leider nicht in Süddeutschland, deshalb ist es eigentlich auch egal, ob wir das machen oder nicht.

Dominik

Ja, du kommst einfach mit, Johannes.

Genau.

Dominik

Das ist eingeflogen.

Jochen

Wir können ja mal gucken.

Jochen

Also ich würde denken, dass es gut wäre, das irgendwann zu machen, wenn es ein bisschen wärmer ist, dass man auch irgendwo drausgehen kann, wo es irgendwie schön ist.

Dominik

So Mai-June.

Jochen

Irgendwie so, genau, genau.

Jochen

Und dann brauchen wir noch eine Location irgendwie und dann müssen wir den Johannes irgendwie machen.

Dominik

Was wollen wir denn zum Hain?

Dominik

Also ich würde ja eher so Erwachsenenzeit nehmen, also irgendwie so mittags anfangen.

Ah, okay.

Dominik

Anstatt abends.

Johannes

Ah, dieser der Erwachsenenzeit.

Dominik

Ja.

Dominik

Und dann kann man sich doch irgendwie ein schön was Grünes raussuchen, oder?

Muss ja nicht jetzt so im Schiff.

Ja.

Jochen

Ja, klingt voll gut.

Jochen

Ja, aber, und wir können auch schon mal sagen, es wird wahrscheinlich eher so Rheinland, das heißt Köln, Düsseldorf.

Also Düsseldorf wird's.

Kleiner Spoiler.

Ja.

Dominik

Ja, aber es haben viele Leute, die hier sagen, die kommen hier von Rheinland, deswegen machen wir das einfach hier.

Jochen

Ja.

Jochen

Genau.

Jochen

Ja, also, aber dann, das waren dann auch schon alle News, die ich so hatte, glaube ich.

Ja.

Johannes

Du wolltest ja einiges.

Dominik

Wolltest du nicht noch irgendwas erzählen von der Foskon?

Jochen

Ach, Fosdem, ja, genau, doch.

Jochen

Ja, könnte ich, genau, auch.

Jochen

Ja, und ja, warte, dann mache ich mal am besten mal eine Kapitelmarke und sag je mal.

Dominik

Ja, PyCon-Webfer auch noch.

Jochen

Ach so, genau, da kannst du ja mal was erzählen.

Jochen

Dann nenne ich die Kapitelmarke einfach Konferenzen nachher.

Dominik

Ja, so viel kann ich dazu eigentlich gar nicht erzählen.

War interessant.

War interessant, ja.

Jochen

Okay, wie viele Leute waren denn ungefähr da?

Dominik

Boah, schwer zu sagen.

Dominik

200?

Jochen

Okay.

Dominik

Also war nicht so riesig groß.

Jochen

Wo fand das denn statt in Berlin?

Dominik

In Berlin.

Dominik

Achso, ähm, CC, irgendwie so ein Center.

Dominik

Das war relativ draußen in da Viertel.

Dominik

Moment, ich muss mal kurz hauen.

In irgendeinem Viertel.

Jochen

Okay, ja.

Dominik

Also genau, irgendein Haus in irgendeinem Viertel in Berlin.

Dominik

War.

Dominik

Also war nicht so groß wie die Pizza.

Johannes

Das ist eine genaue Beschreibung.

Dominik

Ja, genau.

Jochen

Ja, wir können die Konferenz einfach verlinken, dann können wir da nachgucken.

Dominik

Waren interessante Sachen dabei?

Fand ich ganz gut.

Jochen

Aber wie war so die Atmosphäre?

Jochen

Ich meine, PyCon Web klingt für mich jetzt nach Webentwicklung und da gab es da irgendwelche interessanten, also ich meine, klar, also.

Dominik

Ich habe ja viel über UU-IDs gelernt.

Ah, okay.

Ja, das finde ich gut.

Über die neuen, oder?

Dominik

Sieben oder acht, ja.

Johannes

Ja, das sind die neuen.

Jochen

Ah, okay.

Jochen

Ich habe immer noch nicht so richtig verstanden, wofür man die unbedingt braucht, aber gut.

Dominik

Ja, dann, wenn du den Talk hast, dann weißt du.

Jochen

Okay, gut, dann muss ich mir denen wohl mal angucken.

Dominik

Ja, ich habe tatsächlich umgestellt in Dango auch jetzt auf sieben, glaube ich, ja.

Dominik

Ist leider eine extra Lippe und man muss so ein klein bei Dango geht es nicht einfach so.

Dominik

Aber man kann das quasi dann mit einem anderen Import versehen und dann funktioniert es als 7 und die sind auch dann geordnet und so.

Dominik

Das ist sehr, sehr schön.

Jochen

Ja, genau.

Jochen

Ich war jetzt am Anfang Februar auf der Fosstem in Brüssel.

Jochen

Und ja, ne, das war auch ziemlich cool.

Jochen

Irgendwie, das war riesig.

Jochen

Ja, das ist immer so ein bisschen, also es ist einfach, es ist irgendwie zu viel.

Jochen

Also man, es sind einfach wahnsinnig viele Leute.

Jochen

Ich weiß nicht, wie viele da waren, aber es könnten so 10.000 gewesen sein ungefähr.

Jochen

Und das findet halt statt immer auf diesem Campus der Freien Universität Brüssel irgendwie.

Jochen

Und der ist halt auch dann komplett voll.

Jochen

Und es gibt halt, ich weiß nicht, wie viele Tracks, keine Ahnung, viele.

30 oder so.

Jochen

Ja, es ist halt, also allein sich das Programm anzugucken, ist halt schon ein Ding der Unmöglichkeit, weil das ist so, sobald man einmal durch alle Talks durchgescrt hat für den Tag und nochmal geguckt hat, sind die Talks, die man sich angucken wollte, schon vorbei, weil es dauert einfach zu lange.

Hast du einen

Dominik

Sitzplatz bekommen irgendwo?

Jochen

Ja, ja, doch.

Jochen

Also klar, es war schon auch sehr voll.

Jochen

Also das ist, aber gerade bei den großen Sälen kam man eigentlich meistens dann doch noch irgendwie rein.

Jochen

Manchmal musste man ein bisschen früher da sein.

Jochen

Ja, es war wahnsinnig voll.

Jochen

Aber es war auf der anderen Seite auch wieder gut zu sehen, dass halt irgendwie, also oft hatte man ja jetzt das Gefühl, auch gerade nach Covid, dass einfach Sachen irgendwie leerer waren, ne, dass nicht mehr so viele Leute zu irgendwelchen Veranstaltungen gehen und das alles irgendwie so ein bisschen, ja, und dann, also bei der Subscribe war das zum Beispiel auch so, dass so ja, also es sind gerade so viele Leute, dass sich das halt irgendwie so halbwegs lohnt, aber es sind deutlich weniger als bei der letzten Konferenz vor Covid.

Jochen

Und bei Meetups hört man das auch immer, also viele haben auch zugemacht oder bei manchen ist es halt so, naja, da kommen jetzt ein bisschen weniger als vor Covid, aber es kommen wieder welche.

Jochen

Und jetzt bei der Fostim war das halt so, also einfach, man geht da hin und dann stehen einem Leute auf den Füßen, weil es halt so voll ist.

Jochen

Also es war einfach, und man kommt in die Seile nicht rein, weil es halt irgendwie aber da Riesenschlangen davor sind.

Jochen

Also da geht wieder einiges.

Jochen

Also das war richtig, da war richtig was los.

Dominik

Den Python Deathroom hat Marc-André gemacht, oder?

Jochen

Genau, ja.

Jochen

Das war am Sonntag.

Jochen

Das war halt am Wochenende, Samstag, Sonntag, Sonntag war Python Dev Room in so einem Hörsaal da.

Jochen

Und da waren einige sehr coole Talks dabei.

Jochen

Ich habe da nicht alle gesehen.

Jochen

Also gerade morgens war ich halt noch irgendwie nicht da.

Nicht da.

Jochen

Und dann so ab mittags habe ich so drei, vier gesehen, glaube ich.

Dominik

War das auch hybrid?

Dominik

Also das finde ich ja zum Beispiel bei den großen, ne?

Dominik

Europrise und das ist immer toll.

Dominik

Da konnte man dann, während man einen Talk gerade auf dem Telefon weiterguckte, auf dem Hauseweg ins Hotelzimmer, auf dem Hotelfernseher zu Ende gucken, dann kurz in die Sauna gehen und dann zum Talk auf dem Gang wieder dabei sein drücken.

Ja, das Fanscenter.

Jochen

Das geht da schon, das geht ja auch, also es gibt einen Stream von allen Tracks sozusagen.

Dominik

Ja, genau, das ist cool.

Jochen

Genau, also, aber das ist alles sehr weitläufig da.

Jochen

Das heißt, man kann da nicht, also das habe ich auf der Karte, also Brüssel ist irgendwie viel weitläufiger, als ich jetzt gedacht hätte.

Jochen

Also Brüssel auch keine so riesige Stadt, ein bisschen größer als Düsseldorf vielleicht, aber nicht so wahnsinnig viel größer.

Jochen

Und Düsseldorf ist ja so eine Stadt, da kann man einfach mal so in einer Dreiviertelstunde so von Osten nach Westen oder Süden nach Norden durchlaufen.

Was?

Jochen

Ja.

Jochen

Also durch den Kern.

Dominik

Also du wohnst ja halt auch im Zentrum.

Dominik

Das ist ja jede Richtung einmal, das ist dann schon anderthalb, aber ja, okay.

Jochen

Ja, okay, also ich meine jetzt, also wenn man eine Achse durchläuft, dann das dauert gar nicht so lang.

Jochen

Das sind halt drei, vier Kilometer, mehr nicht.

Dominik

Naja, also ich brauche, wenn ich auf die andere Reihenseite brauche, habe ich anderthalb Stunden.

Jochen

Nee, das brauche ich nicht.

Dominik

Doch, von mir auch schon.

Jochen

Achso, ja gut, okay.

Okay, ja, ja, okay.

Jochen

Aber du bist ja noch nicht am ja, okay.

Dominik

Ich bin nicht mal am Ostrand.

Dominik

Ich kann damals zu Johannes hochlaufen, hat doch mal eine anderthalb Stunden gedauert.

Jochen

Ja, okay.

Jochen

Ja, gut, es hängt dann auch noch ein bisschen davon ab.

Jochen

Aber so, also mein Gefühl für Städte, die ungefähr so groß sind wie Düsseldorf, sagt mir halt, ich kann da irgendwie hinlaufen, wenn ich da irgendwo in der Nähe wohne.

Jochen

Das sollte kein Problem sein.

Jochen

Und das ist in Brüssel aber falsch.

Jochen

Also das sah auf der Karte aus so, das ist da genau in der Nähe und dann war das halt aber zu Fuß 40 Minuten.

Das geht ja noch.

Jochen

Ja.

Dominik

Also in Berlin musste ich tatsächlich 40 Minuten mit der S-Bahn fahren.

Ja.

Jochen

Also genau, klar, in Berlin ist natürlich auch riesig weit.

Jochen

Aber das wäre mir klar gewesen.

Jochen

Deberlin sehr weitläufig ist, das weiß ich, aber Brüssel war man jetzt nicht so.

Jochen

Und das irgendwie öffentliche Verkehrssystem in Brüssel ist auch irgendwie so ein bisschen komisch.

Jochen

Aber ja, und man braucht auch sehr lange da.

Jochen

Aber genau, also da kann man nicht einfach irgendwie mal kurz ins Hotel oder in die Sauna und dann wieder zurück oder so.

Jochen

Das dauert.

Sieht das sonst aus?

Jochen

Ja, gut.

Jochen

Vielleicht.

Jochen

Ja, aber genau, also ja, also ich habe da auch einen, genau, in dem einen Talk gehalten über mein Resümee irgendwie Side Project.

Jungle Resümees.

Dominik

Ja, wir machen gerade unsere CV's schick.

Jochen

Genau, weil das muss man ja so ab und zu machen oder so, wenn, ja.

Dominik

Kann man es schon mit Voucher-Token direkt einmal aufrufen für das eine Woche gültig, da kann man es jetzt alles schon angucken.

Dominik

Die ganzen Projekte und sowas, ja?

Jochen

Ja, genau, genau.

Jochen

Das ist da auch drin.

Jochen

Aber im Wesentlichen ist es halt irgendwie so ein JSON-Field, wo der ganze Kram halt drin steht.

Dominik

Jochen schreibt sogar die ganzen Token mit ins JSON-Feed rein.

Dominik

Da steht einfach alles in einem JSON-Field drin.

Dominik

Hätte sich jetzt gar nicht so erwartet.

Dominik

Ja.

Dominik

Alle Plugins, einfach ein JSON-Feed, alles rein.

Dominik

Papp.

Dominik

Fand ich mit so.

Johannes

Postgres als Mongo-DB verwenden.

Jochen

Ja, genau.

Jochen

Aber also die Idee ist sozusagen.

Trotzdem schneller.

Ja.

Jochen

Genau.

Jochen

Und man macht halt immer nur eine Curry pro, wenn man eine Webseite rendert.

Jochen

Aber man muss immer nur dieses eine Ding aus der Datenbank holen und fertig.

Jochen

Aber der eigentliche Grund, warum ich das an der Stelle so gemacht habe und nicht irgendwie quasi so in Normalform so normalisiert irgendwie eine Datenbank schreibe, wie man das vielleicht normalerweise tun würde, ist, dass ich gern hätte, dass man das durch Plugins erweitern kann.

Jochen

Und wenn man jetzt ein Plugin schreibt, das halt eigene Tabellen mitbringt und so, dann wird es schnell sehr eklig, weil da muss man sich überlegen, okay, jetzt müssen die Daten ja da irgendwie aus den Tabellen rausgeholt werden.

Jochen

Jetzt muss irgendwie das Hauptding irgendwie wissen, wie all diese Tabellen sind oder den muss man halt irgendwie, dann muss man dagegen joinen oder das wird alles sehr komisch.

Dominik

Ja, aber da muss halt auch eine Liste pflegen mit offiziell supporteten Plugins und dass sie alle auch identische Keys nicht haben oder dann, dass sie.

Jochen

Ja, das muss man vielleicht nicht, aber kann man wahrscheinlich auch irgendwie automatisch machen, aber das ist halt dann schwierig.

Jochen

Während wenn halt man sagt, also wenn du ein Plugin schreibst, dann ist sozusagen die Anforderung, dass das etwas sein, also die Daten müssen halt etwas sein, was man nach JSON serialisieren kann und wieder ja, so, dann reicht das eigentlich schon.

Jochen

Und ja, dann muss man halt sonst nichts machen und kann einfach den Namen des Plugins nehmen und darunter halt die ganzen Daten speichern.

Dominik

Ich sage, da gibt es eine Name-Collision Time, weil das gleiche Plugin-Cloud gleich nennt.

Jochen

Ja, das geht dann für mich blöd.

Aber das ist ja immer Kontrolle drüber, wenn du, wenn du das halt verwendest.

Jochen

Wenn du dann zwei Plugins mit dem gleichen Namen nimmst, okay, dann naja, hast du halt einen Fuß geschossen.

Jochen

Aber ja, genau, das ist so, äh, ja.

Jochen

Und es macht halt so HTMX-Zeugs und solche Dinge.

Jochen

Genau, und ich habe so ein bisschen, ich habe eine Demo gemacht mit so Codegenerierungen über LLMs.

Jochen

Und genau, die hat auch so halb funktioniert, insofern eigentlich ganz gut.

Jochen

Wo ich einfach so Few-Shot-Learning mache.

Also ich packe halt quasi die Plugins, die es gibt, im Kontext von einem LLM und sage dann.

Jochen

Gib mal ein neues Plugin für ein neues Prompt.

Jochen

Und dann kommt da halt irgendwie Kram von einem LLM zurück und den schreibe ich dann halt auch in eine Datenbank und kann das aber auch live direkt testen, wie es so halt so aussieht.

Jochen

Und ja, das hat eigentlich ganz gut funktioniert.

Dominik

Ja, ich fand das Projekt interessant.

Dominik

Das hatte so verschiedene Aspekte.

Dominik

Gleichzeitig das Plugin-System hat auch so ein Auto-Qrad und so.

Dominik

Ja, das war Ende deren Technik interessant.

Dominik

Ich fand es nicht so einfach zu benutzen.

Vielleicht bin ich auch zu doof dafür.

Jochen

Ja, ist es auch nicht.

Jochen

Es ist alles experimentell.

Jochen

Also ich meine, man kann ja mal einfach drauf gucken, das ausprobieren.

Dominik

Ich habe sich überlegt, ob ich es folgen soll und dann habe ich es anders implementiert.

Jochen

Ja, ist ja auch okay.

Jochen

Genau.

Jochen

Dann hat mir irgendjemand gesagt, es gibt so ein Standard-JSON-Schema für Resumes.

Jochen

Aha.

Dominik

Das würde ich auch gerne kennen.

Jochen

Genau, da muss ich mal gucken, ob ich da nicht dann Import oder Export dahin irgendwie auch reinbaue, weil das wäre natürlich vielleicht auch interessant.

Jochen

Da gibt es auch dann schon jede Menge fertige Templates, um das halt irgendwie aussehen zu lassen.

Jochen

Hm, muss ich mal gucken, oder ob ich das irgendwie einbaue, das weiß ich noch nicht.

Dominik

Das würde sich aber mit deiner Plugin-Architektur jetzt beißen.

Jochen

Nö, das könnte man ja auch

Dominik

Subkeys von dem.

Dominik

Ja, okay, verstehe.

Dominik

Ein Plugin dafür machen.

Genau.

Ja, okay.

Jochen

Ja, mal schauen.

Jochen

Genau, das war eigentlich ganz gut.

Dominik

Das ist doch jetzt tatsächlich der perfekte Zeitpunkt, so den Mietaufruf zu bringen wieder, ne?

Miet?

Dominik

Den Mietaufruf.

Dominik

Man kann uns gerade mieten.

Johannes

Ja, das sollten wir auf jeden Fall an der Stelle machen.

Uns kann man mieten.

Johannes

Den Jochen kann man mieten und den Dominik kann man mieten.

Johannes

Dominik, dich kann man inzwischen auch mieten.

Dominik

Ja, ich kann auch hin wieder.

Jochen

Ja, das ist ja richtig, das konnten wir bisher gar nicht announcen, aber jetzt.

Dominik

Ja, doch, ja.

Dominik

Man konnte mich auch schon vorher ein bisschen mieten, aber jetzt auch wieder richtig.

Johannes

Und den Johannes kann man auch mieten.

Ja.

Johannes

Wir sind alle mietbar.

Dominik

Und ich habe sogar noch mehr Leute, die man mieten kann.

Wir sind sogar eine richtig große Mietgilde.

Das ist quasi eine WG.

Dominik

Ja, also ich würde schon sagen, es ist ein gutes Projektteam, was ordentlich Dampfett auch mal draufkriegt und halt nicht nur so ein paar kleine Männchen, sondern ordentlich.

Dominik

Dankeschön.

Johannes

Also wenn ihr liebe Zuhörer ein Projekt habt, dann mietet uns.

Genau.

Jochen

Ja, ansonsten, genau, was ich da noch gesehen habe an Vorträgen, da gab es einen von Thibo Collar über die Zukunft von Django.

Dominik

Ich wollte gerade sagen, das ist doch der Mensch, der jetzt in Django, die Präsident.

Jochen

Der ist jetzt, genau, Präsident der Django Software Foundation.

Dominik

Apropos Django, da gibt es doch jetzt auch bald wieder so eine Konferenz.

Jochen

Ja, genau.

Jochen

Die ist am

Dominik

Ende April.

Dominik

Ende April.

Dominik

Ist das ein inoffizielles Hörerin-Treffen?

Johannes

Ist die Woche nach Ostern.

Jochen

Ja.

Jochen

Also wir werden alle da sein.

Daher, ja, wenn es wieder könnte man.

Und das ist in Dublin.

Dominik

Und ich darf kein Bier trinken.

Dominik

Fürchterlich.

Johannes

Aber Dublin, gibt es in Dublin irgendein Bier, was man trinken müsste?

Ja, in Irischer Wein habe ich gehört zuerst.

Dominik

Nein, du gehst in jeden Pub und da gibt es on tap einfach die leckersten Sachen und die ganzen Kraftbeere und alles fresh.

Jochen

Ja, ah ja, okay.

Dominik

Wundervoll.

Dominik

Ja, Cider kriegst du auch, aber Genisswein stehe ich nicht drauf, brauche ich nicht.

Dominik

Aber andere leckere on Tabsorten.

Johannes

Aber Django gibt es auch.

Johannes

Ja, und der eigentliche Grund, warum wir da hingehen.

Ja.

Dominik

Und die Natur ist so schön grün da.

Dominik

Das ist schon ein gutes Wetter.

Jochen

Ja, genau, das wird das wird.

Johannes

Ja, ist nicht auch nicht auch die EuroPython zum gleichen Zeitpunkt?

Nein.

Jochen

Nee, die Pycon.de PyCon ist leider zum gleichen Zeitpunkt.

Dominik

Pykonde.de, genau.

Johannes

Und PyconData, Pycon.de und Pycon.

Johannes

PyData.

Jochen

Genau.

Jochen

Ist zum gleichen Zeitpunkt in Darmstadt.

Darmstadt, glaube ich.

Jochen

Ja, aber genau, können wir leider nicht verreisen.

Johannes

Wir konnten uns halt nicht zerreißen.

Jochen

Ja.

Jochen

Genau.

Jochen

Ja, also Zukunft Django war ganz interessant, weil das waren hauptsächlich so Statistiken zu, wie viele Leute verwenden das, was hätten sie gern, wie verlagert sich das irgendwie von irgendwie als von den Framework verwenden zu API-Geschichten und so Dinge.

Jochen

Und ja, war ganz, war ganz nett.

Dominik

Was man ja, glaube ich, sieht, ist, dass da drüben über den Teich super viel mehr Menschen und Firmen auch Django einsetzen als hier.

Dominik

Dass man das vielleicht mal so da Aktivität machen könnte, wenn das so Marketing angeht.

Jochen

Da hatte er auch mal einen Blogpost zu jetzt letztens.

Jochen

Das kam in dem Vortrag zwar nicht vor, aber das fand ich auch sehr interessant, welche Regierungsseiten dann irgendwie Django verwenden und so.

Jochen

Und das war halt überall irgendwie, relativ viel.

Jochen

Nur in einem analogen Dorf irgendwie auf der Weltkarte halt nicht.

Welches könnte das wohl sein?

Jochen

Das globale Funkloch sozusagen irgendwie, ja.

Jochen

Wo könnte das wohl sein?

Jochen

Ja, das war nämlich genau hier.

Jochen

Also hier gab es einfach gar keine, hier gibt es einfach keine Django-Projekte irgendwie in öffentlicher Hand oder so.

Jochen

Tja.

Jochen

Was ja, keine Ahnung, woran das liegt.

Jochen

Das ist schon wieder ein Quatsch.

Jochen

Aber irgendwie geht das hier.

Dominik

Wundert einen doch nicht, oder?

Dominik

Wenn man immer noch Fax schicken muss für bestimmte Sachen.

Jochen

Naja.

Aber anders

Johannes

hast du nicht mitgekriegt, Dominik, dass die Bundesbank jetzt keine Faxe mehr entgegennimmt seit 1.01.2025?

Dominik

Nein, echt keine Entgegen.

Johannes

So weit ist es fortgeschritten mit der digitalen Wand.

Wir haben ihr Fax abgeschaltet.

Dominik

Die Zukunft ist jetzt, wir sind im Neuland angekommen.

Dominik

Ja.

Johannes

Ja, 2025 schon.

Dominik

Ja, doch gar nicht so schlecht.

So langsam.

Johannes

Es ging durch die Presse.

Dominik

Ja, oder jemand anders hat sich überlegt, da macht er ein Faxgerät auf der anderen Seite ein LMN und dann kann man sich die Antworten ausdrucken lassen.

Yay!

Jochen

Genau.

Jochen

Ah, dann einen Vortrag, den ich richtig cool fand, der war total super.

Jochen

Hätte ich gar nichts erwartet.

Jochen

Ich saß da irgendwie nur, weil ich nicht rauskam, weil es so voll war.

Aber wie ist also immer das besser-Konferenz?

Dominik

Es gibt Talks, die sehen total toll aus von außen, sind aber total langweilig und das Talks, da denkt man so, hä?

Dominik

Und dann sind die total spannend und alles dazwischen.

Jochen

Da hatte jemand irgendwie tatsächlich in PyScript irgendwie irgendwas sehr Excel-mäßiges nachgebaut.

Jochen

Und das hat tatsächlich richtig gut funktioniert.

Das sah auch noch gut aus.

Jochen

Das sah auch gut aus.

Jochen

Okay.

Jochen

Das war total faszinierend.

Jochen

Also wirklich so komplette Spreadsheet-Geschichte im Browser und PyScript und alles in Party.

Jochen

Also die ganze Logik war halt halt in Python geschrieben.

Jochen

Und dann halt sozusagen über PyScript irgendwie.

Jochen

Ja.

Jochen

Oder ich weiß es gar nicht mehr, ob es Pyodite war.

Jochen

Nee, ich glaube, es war PyScript tatsächlich.

Jochen

Ja.

Dominik

Not too bad.

Jochen

Also ja, cool.

Dominik

Die wäre ich jetzt auch noch nicht gekommen, ja.

Jochen

Genau.

Jochen

Ja, also Fostham war coole Konferenz sehr voll.

Ja.

Jochen

Hat da auch jemand dann irgendwann einen Post geschrieben, habe ich jetzt letztens so, ja, also immer wenn jetzt jetzt gerade irgendwie aus aktuellem Anlass haben wir ja irgendwie so ein bisschen Schwankungen, was so die weltpolitische Lage angeht.

Jochen

Und da irgend Europa ist ja dann immer so, dass so, oh nein, irgendwie die, wir sind ja auch, was Technologie angeht und so total abgehängt und keine Ahnung und Hilfe, Hilfe.

Jochen

Dabei ist das ja irgendwie auch Quatsch, ja.

Jochen

Also ich meine, klar, okay, was jetzt den Börsenwert von manchen Unternehmen angeht oder so, okay.

Jochen

Ja, klar, da kann man halt nicht mithalten.

Jochen

Aber auf der anderen Seite, naja, also ich meine, wie viel realer Wert ist denn da tatsächlich, das ist auch ein bisschen unklar.

Jochen

Wenn man sich jetzt aber sich anguckt, wie sieht es denn aus, was jetzt Open Source-Projekte angeht, ne?

Jochen

Was ist denn da?

Jochen

Also wenn es auf so eine Veranstaltung wie die FOSM geht oder so, dann ist, also ich meine, ein Großteil der Projekte sozusagen, die die Infrastruktur dafür bilden, was dann halt in Amerika halt diesen Riesenmarkt macht, ne?

Jochen

Ist alles, das ist alles diese, es ist alles Open Source Infrastruktur Software und da sind europäische Entwickler sind da halt irgendwie eigentlich sehr, sehr gut vertreten, ne?

Also das ist halt.

Dominik

Ja, nur das Problem ist halt, dass da keiner Geld mehr bezahlen.

Jochen

Ja, aber also sagen wir mal das Potenzial wäre halt da.

Jochen

Also es ist halt irgendwie, also es ist nicht so, dass das hier nicht geht oder so, sondern es geht und es passiert.

Jochen

Es ist halt bloß nicht so, dass damit so wahnsinnig viel Geld

Dominik

verdient wird.

Dominik

Ja, genau, aber die Leute nutzen das halt alle und sagen halt, ja,

we first.

Dominik

Ja, das ist blöd.

Jochen

Ja, aber das sind alles Dinge, an denen man ja was machen könnte und so.

Jochen

Also das ist ja nichts, wo man jetzt, also wenn jetzt das in der Situation wäre, dass man halt gerne da mitspielen würde, aber man hat nicht mal einen Fuß an der Tür oder so, das wäre ganz schlecht.

Jochen

Aber so eigentlich hat man eigentlich schon ein paar Schwert.

Dominik

Wenn es ein Gegenmodell gäbe, ne?

Dominik

Also wenn es tatsächlich irgendwie tatsächlich öffentliche Institutionen gäbe, die das weitermachen würden.

Dominik

Und das halt nicht nur auf diesem kommerziellen, wir machen das nichts der Aktienunternehmen draus funktionieren würde.

Ja, keine Ahnung.

Jochen

Aber genau, also es gibt auch den, es gibt ja so Tech-Sovereignity Funds oder sowas.

Jochen

Also einer von denen bezahlt jetzt auch irgendwie Hugo von Caminade.

Jochen

Als europäischer, ich glaube, das ist sogar deutscher irgendwie, als Python-Entwickler.

Jochen

Der ist ja jetzt auch Release-Manager, glaube ich, für 314, 315.

Jochen

Das ist schon mal ganz gut.

Jochen

Es gibt ja jetzt, ja, keine Ahnung, in Frankreich passieren auch lustige Sachen.

Jochen

Naja.

Jochen

Ja, genau.

Dominik

Wir hatten auch noch ein Thema, glaube ich.

Jochen

Ja, wir hatten auch noch ein Thema.

Jochen

Was?

Jochen

Oh je, ich habe das nicht.

Jochen

Moment, ich mache meine Kapitelmarke irgendwie Thema.

Dominik

Also wenn wir jetzt noch eine Minute auf Topic reden, dann haben wir die Stunde voll auf Topic.

Jochen

Ja, okay.

Jochen

Oh gut, aber dann, ja, Johannes, willst du vielleicht etwas erzählen über Strings und Strings und Jungs?

Johannes

Ja, ich muss sagen, die ersten beiden Kapitel, die wir gelesen haben, die waren ja sehr voll.

Johannes

Und die waren auch sehr breit.

Johannes

Und im Vergleich dazu ist dieses Kapitel nicht so interessant.

Und das ist sowohl gut, als

Dominik

wir so lange Einheiten haben, das ist in der Viertelstunde

auch schlecht.

Johannes

Das ist sowohl gut als auch schlecht, weil dieses Thema sollte eigentlich langweilig sein.

Johannes

Eigentlich sollte man über dieses Thema gar nicht so viel sagen müssen.

Johannes

Weil eigentlich sollte das alles funktionieren.

Johannes

Und in Python 3, meiner Meinung nach, ist das auch so.

Dominik

Was ist denn nochmal Unique?

Johannes

Viele Sachen sehr gut.

Johannes

Genau, es geht um Strings und Bytes.

Johannes

Und das große Problem an Strings und Bytes ist, dass die nicht das gleiche sind.

Johannes

Früher in der guten alten Zeit, als es nur ASCII gab, da war das das gleiche.

Johannes

Da war ein String halt eine Abfolge von Bytes.

Johannes

Ganz genau genommen ist ASCII ja nur 7-Bit breit.

Johannes

Also man hätte das dann sogar, also gab es dann diese Encodings mit 7 Bits, das ist ja aber auch ein schrecklicher, schrecklich Vorstellung.

Johannes

Wenn man nur ASCII verwendet, dann sind Bytes und Strings das gleiche.

Johannes

Weil ich einfach sagen kann, okay, also ein String ist halt eine Abfolge von Bytes und alle Zeichen, die es gibt, die sind da drin.

Johannes

Jetzt stellt sich raus, die Welt ist größer als Amerika und nicht alle sprechen Englisch.

Johannes

Und selbst die, die Englisch sprechen, die haben manchmal Akzente in ihren Namen oder wollen Äs und Ös und Ös anzeigen oder scharfe Esse oder C M C Dier oder I mit und ohne Punkt oder dies und das und jenes.

Jochen

Ja, ich habe auch so ein gleich F6 in meinem Namen.

Ja, stimmt.

Johannes

Ich habe extra nur einen ASCII-Namen, da meine Eltern drauf geachtet.

Ja, das ist

Jochen

natürlich, ja, das sollte man schon machen.

Genau.

Johannes

Und das Problem ist, also aus historischer Sicht gab es halt die Computer in den USA, ja, und da gab es ASCII drauf.

Johannes

Und ASCII hat geschickterweise nur 7 Bit.

Johannes

Das heißt, da sind noch 128 Zeichen frei und die kann man dann halt irgendwie verwenden.

Johannes

Und dann haben sich die Leute Code-Pages ausgedacht.

Johannes

Die Menschen, die alt genug sind, die können sich noch an CP850 erinnern oder an CP437, das man einstellen musste, damit der Norton-Commander richtig angezeigt wurde.

Johannes

Unter DOS.

Johannes

Und jetzt wissen alle Leute, wie alt ich bin.

Johannes

Und das war ganz schrecklich, weil man musste immer darauf achten, dass man die richtige Code-Page hatte.

Johannes

Weil es halt einfach nur 128 vorbelegte Zeichen und 128 Zeichen extra gab.

Johannes

Und um dem Ganzen ein Ende zu setzen, haben sich schlaue Menschen zusammengesetzt und haben sich das Unicode-Konsortium genannt und haben gesagt, wisst ihr was, wir brauchen einfach mehr Zeichen.

Jochen

Nee, das heißt nicht, achso, also ich wollte gerade an der Stelle macht immer irgendjemand diesen Witz.

Jochen

Nee, nee, es heißt nicht Unicode, sondern das heißt Unicodes Monster, oder?

Johannes

Ja, das Unicode Konsortium hat dann das Monster gebaut und das Monster ist 1,15 Millionen Zeichen groß und verschlingt alles, was es nur so finden kann.

Johannes

Das Ziel des Unicode-Konsortiums ist es, alle Schriftzeichen, die es in Verwendung gibt, abbildbar zu machen.

Johannes

Und sie machen das, indem sie sagen, jedes Schriftzeichen, was es gibt, das wird in eine große Tabelle reingeschrieben.

Johannes

Die Tabelle hat eben diese prinzipiell möglichen 1,1 Millionen Zeichen.

Johannes

Und da schreiben wir dann noch eine Beschreibung rein, was das ist und was das bedeutet und was für eine Sorte das ist, weil da tun sich dann ganz viele coole Probleme auf, die man da kriegen kann.

Johannes

Aber das ist schon mal gut, ja, diese Tabelle zu haben.

Johannes

Das Problem ist jetzt, es sind mehr als 255, das heißt, die passen nicht in ein Byte rein.

Johannes

Und da fangen die ganzen Probleme an, weil das Problem ist, man muss die irgendwie, wenn man sie speichern möchte, Unicode-Zeichen, in Bytes reinkriegen.

Johannes

Und da gibt es leider auch aus historischer Sicht viele, viele, viele verschiedene Möglichkeiten, die zu kodieren.

Johannes

Und die inzwischen am weitesten verbreitete heißt UTF8.

Johannes

Ich weiß gar nicht, was das heißt.

Johannes

Aber das ist ein sehr schlauer Trick.

Dominik

Unico-Textformatting, okay?

Johannes

Das kann sein.

Johannes

Es gibt auch UTF16, es gibt auch UCS2, es gibt auch diverse Varianten davon.

Johannes

Und dann muss man doch wissen, ob die Little Endion sind oder Big Endion und ob die einen Byte-Ordemark haben oder nicht.

Johannes

Und das ist alles ganz wundervoll und eigentlich will man sich damit gar nicht beschäftigen.

Dominik

Unicode Transformation Format.

Okay.

Johannes

Es ist ganz interessant, sich anzusehen, wie es funktioniert.

Johannes

Da gibt es ein sehr interessantes Video von Numberfile, wie sie das erklären.

Johannes

Das ist so ein bisschen ein Hack.

Johannes

Da werden so Bits an der vorderen Stelle gesetzt, damit es mit ASCII kompatibel ist und damit man mehrere haben kann.

Johannes

Und UTF-8 kann bis zu 8, bis zu 4 Byte pro Zeichen verwenden.

Johannes

Und damit kriegt man dann die gesamten Unicode-Sachen abgedeckt.

Johannes

Und das ist alles sehr schön.

Johannes

Und das Fazit dieses ganzen Kapitels ist eigentlich, man sollte immer UTF 8 verwenden.

Johannes

Und inzwischen ist es tatsächlich so, dass man fast überall UTF-8 verwenden kann.

Johannes

Auch Chines, ja, auch für Chinesischen, auch für japanischen, auch für Koreanischen, auch für thailändisch und auch für Klingonisch.

Richtig.

Johannes

Wenn du den richtigen Font hast, kannst du klingonische Schriftzeichen haben.

Johannes

Du kannst die auf jeden Fall mit Unicode Code Points darstellen.

Johannes

Ein Unicode-Code Point ist jetzt nicht mehr nur ein Byte, wo halt eine Zahl von 0 bis 255 drin steht, sondern es ist eigentlich eine Zahl.

Johannes

Und die Zahl, die geht eben von 0, das ist das 0-Byte, bis, keine Ahnung, dort hinaus.

Johannes

Ich weiß es nicht, wie weit es geht.

Johannes

Es ist eine komische Zahl, die mir nicht, die mir nicht bekannt vorkam, irgendwie 1,15 Millionen.

Johannes

Das bedeutet aber, dass ich diese Unicode-Code Points nicht einfach so abspeichern kann, sondern wenn ich sie irgendwo in der Datei speichern will, muss ich sie irgendwie kodieren.

Johannes

Und Python 2 hat aber keine Unterscheidung gemacht zwischen Strings und Bytes.

Johannes

Weil wenn man aus Amerika kommt, so wie Guido van Rossum, dann macht es halt keinen Unterschied, weil dann nimmt man nur ASCII und alles andere spielt keine Rolle.

Johannes

Und das war meiner Meinung nach eine der größten Unfeinheiten an Python 2, dass es keine Unterscheidung gibt zwischen Strings und Bytes.

Johannes

Es gab damals schon diese Encode- und Decode-Funktionen, aber die haben nicht den Datentyp verändert, sondern die haben nur die Bits verändert.

Johannes

Und das war meiner Meinung nach einfach nicht sehr sauber und nicht sehr fein.

Johannes

Python 3, seit Python 3, seit den wenigen Jahren, die es Python 3 gibt, gibt es da eine strikte Trennung zwischen Bytes und Strings.

Johannes

Und Bytes ist eben das, was in Dateien drin ist und im Speicher drin ist.

Johannes

Und Strings ist das, wo Zeichen drin sind.

Johannes

Es gibt noch einen dritten Datentyp, der heißt ByteArray.

Johannes

Bytes ist nicht mutable und ByteArray ist mutable.

Johannes

Wenn man das braucht, dann muss man halt da den entsprechenden Typ erwähnen.

Das ist tatsächlich ein Detail.

Johannes

Wichtig ist, es gibt eigentlich nur vier Sachen, die wichtig sind an dieser Stelle.

Die vier Bytes?

Johannes

Nein, die vier Funktionen, die wichtig sind.

Johannes

Die erste heißt ENCODE.

Johannes

Und jetzt ist die Preisfrage, geht Encode von Unicode Code Points nach Bytes oder von Bytes nach Unicode Code Points?

Weil es könnte eigentlich beides sein.

Jochen

ENCODE geht zu Bytes.

Johannes

Encode geht zu Bytes, also von Unicode, von Strings zu Bytes.

Johannes

Es könnte aber auch andersrum sein.

Johannes

Und Decode geht entsprechend andersrum.

Johannes

Das heißt, wenn ich einen String habe, wo Unicode-Code Points drinstehen, dann kann ich ENCode sagen und dann kriege ich da einen Byte-String raus mit einem gewissen Encoding.

Johannes

Und umgekehrt, wenn ich Bytes habe, dann kann ich Decode sagen mit einem gewissen Encoding und dann kriege ich da einen Unicode-String raus.

Johannes

Wenn das funktioniert.

Johannes

Weil diese Encodings, die sind frickelig und die sind fitzelig und manche funktionieren und manche funktionieren nicht.

Johannes

Und wenn man es mit dem falschen Encoding dekodiert, dann kann es sein, dass es funktioniert und es ist trotzdem falsch.

Und das ist was ganz Schlimmes.

Johannes

Und das sorgt dann dafür, dass irgendwelche Fragezeichen in Namen drin sind oder irgendwelche.

Jochen

Ja, diese komische schwarze Raute mit den Fragezeichen, ja, genau.

Genau.

Johannes

Oder bestimmte Sachen, die man, wenn man mit UTF-8 dekodiert, dann ist da so ein XAE drin oder irgendwie sowas.

Johannes

Das sind so diese Zeichenkombinationen.

Ganz gemeine Leute tun die ja in ihren Benutzernamen rein.

Johannes

Einfach um die Entwickler auf Trab zu halten.

Johannes

Das sind die ersten beiden Funktionen, Encode und Decode.

Johannes

Und die gehen von Unicode-Strings zu Bytes und zurück.

Johannes

Und da gibt es ganz viel Gefitzel mit irgendwelchen Encodings und die müssen richtig sein.

Johannes

Und das eigentliche Fazit von diesem ganzen Kapitel ist UTF 8.

Johannes

Nehmt überall UTF 8.

Johannes

Wenn das möglich ist, einfach immer UTF-8 nehmen, weil damit geht alles.

Johannes

Das ist nicht das optimale Encoding.

Johannes

Das kann sein, dass man da mehr Platz verbraucht.

Aber ganz ehrlich, für Textdaten heutzutage

ist es auch wurscht.

Jochen

So ein bisschen Wurscht ist ja, ja.

Also ein bisschen

Wurscht ist der Geld.

Dominik

Green IT sollte man ja auch bedenken, da muss man natürlich Datensparsamkeit immer als ganz besonders.

Ah, das ist schon richtig.

Johannes

Das ist schon richtig, aber Textdateien werden nicht den Großteil deiner Datengröße ausmachen.

Johannes

Und das ist meiner Meinung nach.

Johannes

Wenn du in so einen Use Case kommst, dann musst du eh Experte werden auf diesem Gebiet und dann reicht es nicht, die 25 Seiten in Flu und Python zu lesen.

Nee, ja.

Johannes

Die zweiten zwei Funktionen, die an dieser Stelle ganz wichtig sind, weil sie mit Strings und Bytes ganz natürlich zu tun haben, sind Read und Write.

Johannes

Also Open offene Datei mit Read-Modus und Open offene Datei mit Write-Modus.

Johannes

Und standardmäßig in Python ist es ja so, wenn ich ein Open sage, im R-Modus, also nicht im RB-Modus, sondern im R-Modus, dann bedeutet es, lies mir diese Datei bitte als UTF8-kodierte Text ein.

Johannes

Und dann habe ich da auch diese ganzen Komfortfunktionen drauf, die ich da haben möchte, also Readlines und Read und Readline und so weiter, die mir alle direkt Strings geben, die automatisch dieses Decoding machen.

Johannes

Und die auch das Byte-Oder-Mark automatisch behandeln.

Johannes

Also wenn, das ist dann alles schon gemacht, wenn es eine UTF8-Datei ist.

Johannes

Wenn ich eine Datei habe, die nicht UTF 8 ist, dann komme ich wieder in Teufelsküche, weil dann muss ich wieder das Encoding wissen, dann muss ich wieder das richtige Encoding wählen und dann muss ich wieder mich mit solchen Decode-Errond rumschlagen.

Johannes

Die vierte Richtung ist jetzt das Schreiben von Dateien.

Johannes

Auch hier, wenn ich eine Datei öffne im W-Modus, nicht im WB-Modus.

Johannes

Im W-Modus, dann bedeutet das, dass es eine UTF8-codierte Textdatei ohne Byte-Order mag.

Johannes

Und das ist die richtige Wahl, ja, das ist das Richtige.

Johannes

In den allermeisten Fällen funktioniert das.

Johannes

Aber wenn ich eine Datei im RB oder im WB-Modus öffne, dann ist das der sogenannte Binary-Mode, da kriege ich dann immer Bytes raus.

Johannes

Das heißt, wenn ich da drauf ein Read mache, dann kriege ich Bytes raus.

Johannes

Wenn ich ein Write mache, kriege ich auch Bytes raus.

Johannes

So, das sind die wichtigen Dinge, die man sich hier merken muss.

Johannes

Encode, um aus Strings Bytes zu machen.

Johannes

Decode, um aus Bytes Strings zu machen, mit allen Dingen, die da passieren können.

Johannes

Dateien lesen und Dateien schreiben mit den richtigen Encodings.

Johannes

Alles andere, was jetzt noch dazu kommt, sind irgendwelche, ich möchte jetzt keine starken Worte wählen, aber das sind beschissene Legacy-Warzen, die man da jetzt sich reinholt.

Johannes

Weil man halt irgendwie das Encoding rausfinden muss.

Johannes

Dann gibt es eine Package, das heißt Chartet, der untersucht mit Heuristiken, welche Zeichen da drin sind, welches Encoding das sein könnte und das funktioniert manchmal, manchmal funktioniert es nicht.

Johannes

Und unter Windows ist alles ganz schrecklich, weil eins von den Encodings, das Konsolen-Encodingen anderes ist als die ganzen anderen und es ist nicht UTF8.

Johannes

Und das macht einen Unterschied, wenn man auf der Standardausgabe schreibt, ob die Standardausgabe auf die Konsole geht oder ob das in eine Datei umgeleitet wird und das ist alles ganz schrecklich.

Johannes

Und das eigentliche Fazit, was ich aus dem Kapitel ziehe, ist, ich bin heilfroh, dass ich ein Linux-Betriebssystem habe, weil da ist UTF-8 eingestellt und da funktioniert UTF8 und alles ist UTF8.

Johannes

Und fertig, das macht es alles viel einfacher.

Ja, ja.

Ja, I agree.

Ja, ja, ja.

Johannes

Und das ist eigentlich das Fazit, das dem ganzen Kapitel.

Johannes

Einfach UTF8 verwenden und das ist an fast allen Stellen möglich.

Johannes

Und wenn man es nicht verwenden kann, dann ist es halt blöd und man muss sich damit befassen.

Dominik

Warum sind denn nochmal so komische Skorpione immer an dem Buch?

Jochen

Ja, das sind halt unterschiedliche Hinweise.

Jochen

Also da gibt es, also Skorpion ist, glaube ich, das, was er einen irgendwie beißen kann.

Dominik

Genau, das wollte ich gerade sagen.

Jochen

Ich gucke mal gerade hier in die.

Johannes

In dem Kapitel gibt es mehrere Skorpione.

Johannes

Das liegt halt einfach an dieser Geschichte, von der ich jetzt gerade einen kurzen Abriss gegeben habe, mit 1000 verschiedenen Codepages und vielen verschiedenen Encodings und Moji-Bake und ganz vielen tollen Phänomen, die ihr habt.

Jochen

Die Erklärung zu Skorpionen ist, this element indicates a warning or caution.

A caution.

Jochen

Genau, dann gibt es den Raben.

Jochen

This element signifies a general note und es gibt irgendwie einen Lemuren oder sowas.

Jochen

This element signifies a tip or suggestion.

Johannes

Also dieses Kapitel ist voll mit Skorpionen.

Johannes

Sehr vorsichtig.

Johannes

Ah, und dann ist er auch vorsichtig.

Johannes

Und hier, wenn du die falsche Fallpage eingestellt hast, oh, vorsichtig.

Und nicht so ein bisschen.

Dominik

Ja, Byte von Python.

Jochen

Es gibt da tatsächlich so ein paar Dinge, die einen in den Stiefel kriechen können.

Jochen

Da ist wirklich, also auch sowas, es gibt ja so fiese Sachen wie zum Beispiel Unicode-Normalisierung.

Johannes

Oh ja, das ist auch ein ganz wundervolles Thema.

Johannes

Ganz wundervolles Thema.

Dominik

Was ist das jetzt, bin ich neugierig geworden?

Johannes

Jochen, willst du das erklären oder.

Johannes

Mach du mal, Jochen, jetzt brauch eine kurze Pause, weil das halte ich sonst nicht aus.

Jochen

Naja, also es gibt halt unterschiedliche Arten, manche Zeichen zu schreiben.

Jochen

Und die sind dann sehen genau gleich aus, aber die sind halt anders kodiert.

Und dann ist

Dominik

es ein L und ein I und ein E.

Johannes

Ein E mit einem Accent drauf.

Jochen

Ja, zum Beispiel sowas, genau.

Jochen

Ja, und dann ist halt die Frage.

Johannes

Was für Arten gibt es denn, Jochen?

Johannes

Wie kann man das denn darstellen?

Jochen

NKFD und N, ich weiß es nicht mehr genau.

Johannes

Ja, okay, aber das ist ja nur diese Normalisierung.

Johannes

Das darunterliegende Problem ist, dass es zwei verschiedene Möglichkeiten gibt dieses E mit dem Accent darzustellen.

Jochen

Ja, ja, genau.

Johannes

Das gibt es als Zeichen.

Johannes

Es gibt ein Zeichen, das heißt E mit Accent, was auch immer du da drauf hast.

Jochen

Oder zwei Zeichen.

Johannes

Und es gibt E und dann gibt es ein zweites Zeichen, kombinierende Accent mit dem davorgehenden Ding dazu.

Johannes

Und auch da gibt es natürlich Leute, die sich da eine große Freude draus gemacht haben.

Johannes

Und da gibt es ganz viele schöne Salgo-Textgeneratoren, die einfach sagen, hier, was passiert denn, wenn man drei von diesen Accents drauf tut oder fünf oder zehn oder hundert.

Johannes

Und dann ist der Text kaum noch lesbar und der Abstieg in den Wahnsinn ist vollzogen.

Jochen

Ja, letztlich, genau.

Jochen

Also, ja, das ist dann da, wo man immer landet halt.

Dominik

Die wichtigen Hacker-Namen.

Jochen

Ja, genau, da kann man nämlich auch viel wirklich auch security-relevanten Unsinn betreiben.

Jochen

Wenn man jetzt zum Beispiel sich überlegt, dass man halt, also wann ist denn jetzt sowas gleich, wann sind denn zwei Strings irgendwie gleich?

Jochen

Wenn ich jetzt auf irgendwie sowas checke wie, ist der Benutzername so und so oder ist das halt irgendwie diese oder jene Stadt oder irgendwie, wenn ich halt solche Vergleiche habe, dann kann ich ja eventuell, also dann muss ich ja sicher gehen, dass das halt irgendwie, dass ich da nichts übersehe, sozusagen.

Jochen

Das heißt, wenn ich da nicht normalisierte Sachen miteinander vergleiche, dann können halt wilde Dinge passieren.

Jochen

Das heißt, bei all diesen Sachen, wo ich halt sicher sein muss, dass das halt klappt, muss ich halt auch nochmal zusätzlich zu irgendwie, ich muss es als Unicode-String haben, auch nochmal gucken, dass die Normalisierung halt auf beiden Seiten gleich ist.

Jochen

Weil ansonsten kann mir halt jemand ein U für ein O vormachen oder so und dann habe ich ein Problem unter Umständen.

Jochen

Ja.

Oder ein kyrillisches A für ein lateinisches A, das ist ja der Klassiker.

Ja.

Johannes

Dass es da diese Zeichen gibt, die gleich aussehen, aber nicht gleich sind.

Ja.

Johannes

Und da, das ist echt sehr schwierig.

Und noch

schlimmer ist sortieren.

Jochen

Ach, sortieren, oh Gott.

Johannes

Und Groß- und Kleinschreibung ist noch, ist genauso schlimm, weil die hängen von der Lokal, von der Locale ab.

Johannes

Da gibt es das klassische Beispiel, Türkisch hat ein i mit einem Punkt und ein i ohne Punkt.

Johannes

Und entsprechend gibt es davon Klein- und Großvarianten.

Johannes

Das heißt, wenn ich einen Text habe, der ein kleines i mit einem Punkt obendrauf enthält, also ein normales i, aus unserer Perspektive, und ich möchte den in einen großgeschriebenen String umwandeln, dann würde ich als Deutscher da ein groß geschriebenes i ohne Punkt drüber hinmachen.

Johannes

Und es ist auf Türkisch aber falsch.

Johannes

Auf Türkisch ist es so, dass wenn ich ein i, ein kleines i mit einem Punkt habe, dann muss das ein großes i mit einem Punkt oben drauf werden.

Johannes

Und es gibt wohl tatsächlich so einen Fall, wo eine SMS übertragen wurde und SMS ist ja auch so ein Legacy-System mit ganz vielen Ecken und Kanten, wo eben eine SMS übertragen wurde und offensichtlich durch ein System wegnormalisiert wurde, wo dann ein Mann an seine Frau geschrieben hat und die ist dann irgendwie ausgedickt, weil er geschrieben hat, dass er bei einer anderen ist, anstatt dass er nach Hause kommt.

Johannes

Irgendwie sowas passiert dann.

Johannes

Also es gibt tatsächlich Real-World-Auswirkungen.

Johannes

Die Katze wahr.

Auch Sortierung.

Johannes

Und auch Sortierung ist genauso, ja.

Johannes

Sortierung ist auch locale abhängig.

Johannes

Also das kommt darauf an, wo ich bin, wie ich Zeichen sortiere.

Johannes

Zum Beispiel auf Deutsch wird das Ä traditionell nach dem A einsortiert.

Auf Schwedisch.

Dominik

Nicht nach dem Z?

Johannes

Auf Schwedisch werden die kanonisch nach dem Z einsortiert.

Johannes

Und das heißt, wenn ich sortieren und kleine Großschreibungen machen will, dann muss ich wissen, wo ich bin.

Jochen

Ja.

Johannes

Und es gibt noch mehr coole Sachen, weil gerade auch nicht mehr so.

Wenn man das nicht

Jochen

auch noch irgendwie einen Weg findet, wie man das von der Zeitzone abhängig machen könnte oder so, ich jetzt eh da noch von der Motphase Potenzial für das komplizierter zu machen.

Johannes

Mal ganz davon abgesehen, dass es in vielen asiatischen Sprachen diesen Unterschied zwischen große Gleitschreibung ja gar nicht gibt, ja.

Johannes

Da gibt es ja keine große und kleingeschriebenen Zeichen.

Johannes

Aber große Gleitschreibung ist noch schlimmer, weil es gibt in manchen Sprachen auch abhängig von der Locale Strings, die kann ich nicht upper und danach wieder lower machen.

Johannes

Da kommt nicht der gleiche String raus.

Johannes

Deutsch ist zum Beispiel so eine Sprache und ist auch abhängig von der Locale, ja, je nachdem, ob ich in der Schweiz bin oder in Deutschland, wird es unterschiedlich behandelt.

Johannes

Wenn ich einen String mit einem scharfen S groß mache, dann wird das ja ein Doppel-S.

Dominik

Gab doch mal ein großes scharfes S, oder?

Johannes

Es gibt ein großes scharfes S, ja.

Johannes

Das wäre meiner Meinung nach auch die richtige Lösung.

Johannes

Aber in der Schweiz wird kanonisch das Doppel-S verwendet.

Johannes

Auch wenn es das große scharfe S gibt.

Johannes

Und wenn du diesen String wieder klein machst,

Jochen

dann sind es zwei kleine S.

Johannes

Dann sind es zwei kleine S.

Johannes

Und dann kommt es auch nicht das gleiche wieder raus.

Johannes

Und das ist ja auch semantisch Unterschied, ja.

Johannes

Semantischer Unterschied, der sich aus dem Kontext ergibt.

Johannes

Das heißt, das kannst du gar nicht technisch lösen.

Johannes

Das heißt, mit Unicode und mit Unicode-Strings sind nicht alle Probleme gelöst, die Menschen haben.

Johannes

Und das ist so ein, ach, die doofen Menschen, ja.

Johannes

Die haben halt Probleme, die sich nicht in den Computer reintun lassen.

Johannes

Auch mit Unicode sind solche Probleme nicht gelöst und die Lösung dafür ist im Wesentlichen, ja, darfst du halt nicht machen.

Kannst du nicht machen.

Wenn du mehr Strings groß machen willst, lieber nicht.

Johannes

Wenn du Roundtripping haben willst zwischen Upper und Lower, geht halt nicht, kriegst du nicht wieder raus.

Johannes

Wenn du Strings vergleichen willst, musst du diese, sagen wir mal, mittelmäßig coolen Encodings verwenden.

Johannes

Da gibt es übrigens vier Jochen, die auch im Buch sind.

Johannes

NFC und NFD.

Johannes

Das heißt eigentlich normalized Format C und Normalized Format D.

Johannes

Warum das jetzt ausgerechnet C und D sind, weiß ich nicht, in meinem Kopf ist das Compact und D, D, D, Dissociated irgendwie so.

Johannes

Compact ist das Format, was möglichst wenige Zeichen erzeugt.

Johannes

Und D, also das Decompost vielleicht.

Johannes

Decompost ist das Format, was möglichst atomare Zeichen erzeugt.

Johannes

Also da wäre dann halt das E mit dem Accent zwei Zeichen und in dem anderen wäre es halt mit einem Zeichen.

Johannes

Und dann gibt es noch normalisierende Varianten davon, wo dann solche coolen Spezialsachen weggemacht werden, wie das μ zum Beispiel.

Johannes

Das μ gibt es in zwei Varianten.

Johannes

Einmal als die SI-Einheit μ für Mikrometer und einmal als das griechische, den Griechenbuchstaben μ.

Johannes

Und Ohm ist auch so ein Zeichen, also ein großes Omega.

Johannes

Und manche von den Varianten normalisieren das weg und manche von den Varianten normalisieren das nicht weg.

Johannes

Und das ist also die Lösung für dieses Problem ist, das darfst du einfach nicht machen.

Mach's einfach nicht.

Jochen

Ja, also ich erinnere mich an diese ganzen Details nicht mehr.

Jochen

Ich habe vor einem Jahr ungefähr habe ich das halt dann irgendwann mal eingebaut, weil es halt eine Relevanz hatte und da habe ich das dann auch getestet.

Jochen

Und beim Schreiben dieser Tests ist mir dann irgendwann so, dachte ich mir so, oh mein Gott.

Jochen

Also eigentlich fallen mir jetzt noch 20 Situationen ein, früher, wo ich das auch mal besser hätte testen sollen.

Jochen

Wo ich es nicht getan habe, schnell vergessen und verdrängen, sonst.

Jochen

Aber da gibt es so viele komische Sachen, die passieren können.

Jochen

Also ja.

Johannes

Ja, es gibt ein Repository auf GitHub, das heißt Big List of Naughty Strings.

Jochen

Ach ja.

Dominik

Eine Neu-Ray-Move.

Jochen

Ja, darf man auch nicht auf seine Weihnachtswunschliste schreiben.

Johannes

Ja, es sind erstaunlich viele und es sind erstaunlich üble Sachen drin.

Johannes

Und ich habe auch schon einen PR dagegen gestellt, aber der ist, glaube ich, an mein Tandy-Liste, weil mein schöner PR mit dem großen scharfen S wurde leider nicht genommen.

Johannes

Sowas.

So ist es halt.

Jochen

Und großes, scharfes S ist schon sehr naugty.

Johannes

Das ist sehr naugty, ja.

Johannes

Aber er musste ja umgehen können damit.

Ja.

Johannes

German Character Sharp S, which becomes SS when uppercase.

Johannes

So changes from one character to two ASCII-Characters.

Jochen

Ich glaube auch, der Grund, warum Python 2 das nicht konnte, also ich, weil ich meine nämlich, Java hatte von Anfang an ordentliches Unicode irgendwie.

Jochen

Der lag aber einfach nicht.

Johannes

Ja, aber hatten die nicht auch UCS2 am Anfang?

Jochen

Das kann man nicht mehr.

Johannes

UCS2, um das um kurz unsere Hörer abzuholen.

Johannes

UCS2 ist einfach ein Textzeichen wird zu zwei Byte.

Ja.

Johannes

Und da muss man auch Big Endion und Little Endion sagen, okay, das ist ein Detail.

Jochen

Dann braucht man ein paar Marker vorne dran.

Johannes

Die geneigten Zuhörer werden bemerken, dass 2 Byte 16-Bit sind, das sind ungefähr 65.000 Zeichen, das ist weniger als 1,1 Millionen.

Johannes

Das heißt, das ist so ein Fix, der nicht weit hilft.

Johannes

Und die ganze Windows-Welt, das war ja alles mit UCS2.

Johannes

Da gibt es diese ganzen Windows-Funktionen, die gibt es in Normal und in Unterstrich-W für Wide.

Jochen

Oh, okay.

Johannes

Hilft aber alles nichts, weil es war halt UCS2 und das ist.

Johannes

Und dann hat man jede Menge Nullbytes in seinen Dateien drin und das ist

Jochen

auch irgendwie blöd.

Das ist nicht so cool.

Jochen

Na gut, kann man kurz zippen.

Johannes

Ja, okay, also auf jeden Fall, ich glaube, Java hatte am Anfang auch UCS2, die sind inzwischen auch auf UTF-Vachtung gestiegen.

Jochen

Ja, aber sie hatten schon auf jeden Fall dieses Quasi-Konzept, dass sie intern Unicode hatten und dann nach außen irgendwie encodieren, dekodieren.

Jochen

Aber ich meine, das hatten sie nur deswegen, weil Java halt, Java halt ein Stück jünger ist als Python und vorher war das gar nicht standardisiert, sozusagen.

Jochen

Kurz nach der Standardisierung hat Java damit halt dann sozusagen konnte das direkt verwenden und Python halt noch nicht, weil es halt älter ist.

Johannes

Aber da müssen wir nochmal die Timeline.

Jochen

Ja, müssen wir nicht immer, aber ich habe das so im Hintergemacht.

Johannes

Python ist doch 91 und Java ist 95 und Unicode ist 96.

Johannes

Das kann nicht in Java 1 drin gewesen sein.

Johannes

Vielleicht ist es seit Java 2.

Johannes

Ich meine, es gab ja da auch einen großen Versionssprung.

Jochen

Ich weiß es.

Jochen

Also ich, also ich hatte ja mal meine erste Programmiersprache an der Uni, das war, das war Java tatsächlich.

Jochen

Und wir haben dann noch die sehr dicke Bücher, da kommt also, also zwei Bücher von dem Format von Flur und Pfutten.

Jochen

Das war einmal irgendwie Java irgendwie von ich weiß gar nicht.

In Nutshell, Java in der Nutshell.

Jochen

Nee, nicht in der Nutshell, sondern The Language oder sowas.

Jochen

Und dann und dann die Sprachspezifikation, was halt im Wesentlichen die Grammatik war.

Jochen

Ja, also 2000 Seitenbücher.

Jochen

Und das war, meine ich, da war, das war schon Unicode.

Jochen

Aber ja, und das muss kurz nach.

Johannes

Ja, gut, du bist halt auch so ein junger Programmierer, der nur Unicode kennt.

Jochen

Ja, also das mit dem Unicode war nicht so schlecht, aber ansonsten, da waren einige Dinge, die ich da dieses Public Static Void Main-Dings, das habe ich nie so richtig.

Jochen

Also da, das fand ich eher so ein bisschen, hm.

Jochen

Was ist denn da los?

Ja, meine

Johannes

erste, meine Uni-Programmiersprache war C.

Johannes

Wir haben direkt mit C angefangen.

Johannes

Ach, das war nicht die ideale Sprache für Programmieranfänger.

Jochen

Ja.

Johannes

Hat für einen gewissen Ausfilterungseffekt gesagt.

Dominik

Sehr schön.

Dominik

Aber das ist ja echt schön das Depot, was du da geteilt hast.

Dominik

Sowas wie Strings with Spanish the Fools zu use, Cat on a file, things with Crash.

Johannes

Big List of Naughty Strings.

Johannes

Lesen Sie es in den Shownotes nach.

Dominik

Strings with my cause hat to re-interpret worldview.

Johannes

Eine interessante Sache, die tatsächlich in dem Kapitel vorkommt, die so als Frage gestellt wird, als so ein bisschen so eine Sidebar, würde ich sagen.

Johannes

Wie stellt Python denn intern eigentlich diese Unicode-Strings dar?

Johannes

Und die Antwort darauf ist, ja, brauchst du gar nicht wissen.

Johannes

Implementierungsdetail.

Johannes

Und das ist auch, also das ist eigentlich die richtige Antwort.

Johannes

Es wird dann trotzdem erklärt, ja, das ist wie Integer und der Wählt so eine optimierte Darstellung.

Johannes

Und wenn es nur solche Zeichen sind, dann ist es ein ByteString und wenn es andere ist.

Johannes

Jedenfalls ist da Optimierung drin und das Wichtige ist, man kann immer davon ausgehen, dass es einfach eine Zahl ist.

Johannes

Jedes Zeichen in einem String ist eigentlich eine Zahl zwischen 0 und

Jochen

1,1 Millionen.

Johannes

Ja, irgendwie sowas.

Johannes

Und Python sorgt dafür, dass das so ist und optimiert es dann auch richtig schön innen drin.

Und das ist doch, ich finde das eigentlich sehr beruhigend.

Johannes

Aber es ist nicht so, wie man sich vorstellt, dass es halt so eine Abfolge von Bytes oder eine Abfolge von hier, das ist im Speicher so drin, sondern es ist erstaunlich kompliziert, es ist erstaunlich komplex.

Johannes

Aber zum Glück gibt es da die schlauen Python-Core-Maintainer, die das für uns machen, die auch diese ganzen Unicode-Listen sich zu Gemüte führen und einem sagen, was das für Zeichen sind.

Johannes

Eine weitere interessante Sache ist, dass es ein paar Module gibt, die können mit beidem umgehen.

Johannes

Die können mit Bytes umgehen und mit Strings.

Johannes

Und die zwei wichtigsten davon sind RE, also Regular Expressions.

Jochen

Ja, ja, gut, klar.

Johannes

Weil, klar, genau, manchmal musst du halt Regular Expressions haben, die auf Bytes arbeiten.

Jochen

Die funktionieren irgendwie das Gesicht in einem Bild austauschen, das geht auch.

Johannes

Ja, okay.

Jochen

Keine Ahnung.

Geht bestimmt.

Johannes

Die funktionieren anders, je nachdem, ob man Bytes reingibt oder Strings.

Johannes

Und auch die Regular, also die Regular Expression, der Typ der Regular Expression muss zum Typ des verarbeiteten Datentyps passen.

Und dann ist auch alles so, wie man es sich wünscht.

Das zweite Modul, interessanterweise, ist OS.

Johannes

Und zwar alles, was mit Dateipfaden zu tun hat.

Johannes

Und das ist auch so eine interessante Legacy-Sache.

Oh ja.

Johannes

Weil Dateipfade nicht unbedingt valides UTF8 sein müssen.

Auf modernen Betriebssystemen sollte das so sein, ja.

Johannes

Also wenn ich eine Datei schreibe, dann sollte die einen UTF8-Dateinamen haben.

Johannes

Wenn ich in meinen GNOME Explorer, wie auch immer der heißen mag, Nautilus Tuna oder keine Ahnung, was es gibt, einen Dateinamen eingebe, dann wird es einen UTF8-String sein.

Johannes

Aber das Dateisystem garantiert es nicht.

Johannes

Und das heißt, es kann Dateinamen geben, die ich nicht in UTF8, die ich nicht als UTF8 kodierte Strings darstellen kann.

Johannes

Das heißt, wenn ich eine Datei aufmachen möchte, dann muss ich irgendwie da rankommen an diesen Dateinamen, der kein korrekter String sein muss.

Johannes

Und deshalb gibt es für diese Dateisachen alle Funktionen in zwei Varianten, als mit String und als mit Bytes.

Johannes

Und da kann man auch schöne Strip-Seals treffen.

Johannes

Dateien, die man nicht löschen kann von der Konsole.

Jochen

Das war am Anfang, war das, glaube ich, in Python 3.

Jochen

Also da erinnere ich mich noch, da war der Umstieg von 2 auf 3.

Jochen

Da war das am Anfang nicht so, da hatte man das, da gab es das noch nicht.

Jochen

Und da haben Leute irgendwie das Häufig für einige Leute einen Grund, Python 3 nicht zu verwenden.

Jochen

Also sie sagen, ja, super, ich kann damit meine Dateien leider nicht irgendwie löschen oder ich hoffe nicht.

Es geht einfach nicht.

Jochen

Es gibt keine Möglichkeit, das zu tun.

Jochen

Das kann ja nicht sein.

Jochen

Ja, und dann gab es auch noch diverse böse Sonderfälle mit irgendwie, naja, also eigentlich kann das dann ein Dateisystem, aber halt nicht, wenn du irgendwas uraltes über NFS gemountet hast oder sowas, dann machen wir das Ganze.

Jochen

Ja, ja.

Ja, ja.

Johannes

Für mich, das Fazit des ganzen Kapitels, ist modernes Betriebssystem, UTF8, fein.

Also in der anderen Situation übelst vorbei.

Dominik

Genau, Python 2 und Python 3.

Dominik

Wie alt ist Python 3 jetzt?

Dominik

Wann kann das raus?

Dominik

2010?

14 Jahre?

Jochen

Ja, so 2010 ungefähr ist das irgendwie losgegangen.

Also 15 Jahre fast.

Also auch Legacy.

Forgetted.

Johannes

Aber da haben sich ja Leute gewehrt dagegen, ja, da haben sich ja Leute gewehrt dagegen.

Johannes

Es gibt einen Programmierkurs von Seth Shaw, Learn Python the Hard Way.

Dominik

Ja, den habe ich, kann ich sie empfehlen?

Dominik

Habe ich durchgezogen.

Und Python ist der hat sich sehr lange gewehrt.

Johannes

Der hat sich sehr lange gewehrt, den auf Python 3 umzustellen, weil ihm die Trennung zwischen String und Bytes nicht logisch erschien.

Johannes

Und er hat da sehr lange, sehr viele Artikel drüber geschrieben und ich finde diese Trennung großartig.

Johannes

Das ist genau richtig.

Johannes

Es sind zwei unterschiedliche Dinge, zwei unterschiedliche Bedeutungen, die unterschiedliche Zwecke verfolgen.

Johannes

Und natürlich musste das auftreten.

Johannes

Natürlich musste die unterschiedlich behandeln.

Johannes

Und das, also es gibt Leute, die sich da lange dagegen gewehrt haben.

Johannes

Ich weiß nicht, wie der Mr.

Johannes

Shaw das inzwischen sieht.

Johannes

Es ist mir auch egal, weil er hat damals kein Recht gehabt.

Jochen

Ja, ich kann das Buch auch, ich fand es immer so.

Jochen

Ja, der macht jetzt inzwischen auch ganz viel AI-Zeugs.

Jochen

Aber genau, ja, ja.

Jochen

Aber das habe ich auch nie verstanden.

Johannes

Ja, also das war damals schon ein Streitpunkt.

Johannes

Meiner Meinung nach ist das schon das Richtige.

Johannes

War die richtige Entscheidung.

Jochen

Ja, ja, auf jeden Fall.

Johannes

Diese Trennung zu machen und auch sauber zu machen.

Johannes

Und viele von den Problemen, die man so haben kann, die gehen halt einfach weg.

Auch wenn es auch nochmal

Anwirkungen bei dem NFC und NFD

Jochen

und Sortierung und dann halt Location und das auch.

Johannes

Kannst du einfach nicht mehr machen.

Jochen

Ja, cool, cool, cool.

Genau.

Jochen

Ah, ja, ich glaube, wenn man, es gibt ja auch noch Dinge vor ASCII, das ist ja auch mal, wenn man jetzt, wir hatten ja eben auch schon Faxgeräte.

Jochen

Aber wenn man

so hinguckt.

Johannes

Asien gibt es ganz inkompatible.

Jochen

Oder wenn man jetzt irgendwo hinfliegt oder so, wenn man es hat so alles, alles schrecklich, macht's gut, ihr Trottel, ich fliege jetzt einfach irgendwo anders hin und dann könnt ihr halt sehen, wer bleibt, dann das nicht funktioniert, weil man halt irgendwie auf dem Ticket hat man halt irgendwie zum Beispiel keine Umlaute oder sowas.

Dominik

Aber ja, es gibt auch ein Protokoll für Brieftauben, wir kriegen die schon.

Jochen

Dann gibt es, und das ist bei Überweisungen manchmal auch so oder so, und das ist halt immer dann, wenn man es plötzlich nochmal mit so richtigen Hosts

zu bekommen hat.

Johannes

Wir sind ja jetzt in der Swift-Ära, in der Payment Services Directive 2-Ära, wo alles ordentliche Encodings hat.

Johannes

Zumindest definierte Encodings.

Jochen

Ach okay, das war mir jetzt gar nicht so, weil ich, das bei Überweisung oder so ist sicher auch manchmal so, dass ich da versuche, irgendwie das einzugehen und so, hä, geht nicht.

Komisch.

Johannes

Ja, das hat auf jeden Fall, also dieser Zeichensatz, der da drin ist, ist komisch, aber der ist wenigstens genau definiert.

Jochen

Ah, okay.

Jochen

Ja, gut.

Jochen

Das kann natürlich sein.

Jochen

Ja, ich habe es aber so früher, oder ich glaube bei Flughaussystemen ist es immer noch so, dass es läuft alles immer über so Großrechner und das ist halt, die verwenden EBITIC oder so, ne?

Jochen

Das ist halt auch irgendwie ein 7-Bit-Monster Ding.

Johannes

Was aber nicht kompatibel ist.

Jochen

Nein, zu gar nichts, natürlich.

Johannes

Und diese ganzen asiatischen Schreibsysteme, die mehrbeitig sind, sind aber auch zu nichts kompatibel und auch untereinander nicht kompatibel.

Und ah.

Johannes

Ja, es ist großartig.

Ja.

Dominik

Wie soll man das Muster an einer Höhle malen?

Johannes

Machen wir doch wieder irgendwas mit Holz oder so.

Dominik

Ja, ich fand das mit den EV-Arres immer noch gut.

Johannes

Ich empfehle dieses Kapitel nicht zum Lesen.

Johannes

Es ist tatsächlich ein bisschen trocken und ein bisschen lang.

Johannes

Es ist ganz gut als Nachschlagewerk.

Johannes

Wenn man eben an diese Stelle kommt, wo man tatsächlich mit Bytes und mit Legacy-Systemen arbeiten muss, da stehen ein paar interessante Sachen drin, aber zum Lesen fand ich es jetzt nicht so interessant.

Jochen

Ja, cool, cool, cool.

Jochen

Aber ja.

Dominik

Also ich würde sagen, dann haben wir heute die Episode gefüllt, oder?

Dominik

Mit der Stelle.

Dominik

Dann machen wir irgendwann nochmal einen Glauters.

Jochen

Ja.

Jochen

Genau, aber wir könnten noch sowas wie Picks machen zum Beispiel.

Könnten wir das?

Jochen

Könnten wir.

Okay.

Dominik

Dann fang doch mal an.

Johannes

Wie vorhin schon angekündigt, habe ich sogar zwei Picks.

Oha.

Johannes

Und einer davon ist sogar, ist sogar Python-relevant.

Johannes

Der erste Pick, den ich habe, der ist nicht Python-relevant.

Johannes

Das ist ein Paper auf Astro Archiv.

Johannes

Gravitational Effects of a small Primordial black hole Passing through the Human body.

Johannes

Da geht es um eine Klasse von schwarzen Löchtern, sogenannte Primordial Black Holes.

Johannes

Das sind so eine Vorstufe von einem schwarzen Loch.

Johannes

Das sind so schwarze Löcher, die dann sofort wieder wegverdunsten.

Johannes

Und so wie ich das verstanden habe, ich verstehe ja nichts davon, ja, aber ich habe Kommentare gelesen.

Johannes

Und so wie ich die Kommentare gelesen habe, ist dieses Paper interessant in dem Sinne, dass man nicht genau weiß, ob es diese schwarzen Löcher gibt und wie oft die vorkommen und wie viele es davon gibt.

Johannes

Und wie groß die sind.

Johannes

Und in diesem Paper hat man ausgerechnet, wenn ein solches schwarzes Loch durch einen Menschen durchfliegt, die sind extrem klein, dann hat es keinerlei Auswirkungen, wenn es kleiner ist als 1,4 mal 10 hoch 17 Gramm.

Johannes

Das ist ungefähr so viel, wie die Pyramide von Giza wiegt.

Johannes

Die wiegt ungefähr 10 hoch 17 Gramm, 1,4 mal 10 hoch 17 Gramm.

Johannes

Das heißt, wenn ein schwarzes Loch durch einen Menschen durchfliegt und dieses schwarze Loch hat eine Masse, die ist kleiner als die Pyramide von Giza, dann passiert gar nichts.

Dominik

Was ist die Pyramide von Giza?

Jochen

Gizé, das ist in Kairo da, diese riesengroße Pyramide.

Dominik

Die große Gizé, nicht Giza.

Jochen

Ja, also die ist 146,5 Meter hoch und

Johannes

wiegt ungefähr 1,5 mal 10 noch 70.

Jochen

Wenn die durch dich durchfliegt, dann merkst du das.

Johannes

Ja, aber nicht als schwarzes Loch, wenn du komplett ist zum Schlossloch.

Johannes

Der Grund ist, dass dieses schwarze Loch zu klein ist.

Es interagiert mit keinem deiner Moleküle.

Jochen

Achso, weil der Schwarzschildradius von dem Ding ist so winzig, dass es.

Johannes

Der ist kleiner als ein Atomkern und deshalb kriegst du nichts ab.

Jochen

Ja, okay.

Johannes

Der Event Horizon ist klein genug, dass du überhaupt gar nichts bemerkst.

Johannes

Wenn eins davon größer ist, also die Sprache in diesem Artikel ist sehr technisch.

Johannes

Ich würde sagen, wenn ein schwarzes Loch durch einen menschlichen Körper durchfliegt, was eine größere Masse hat, dann hätte es messbare Auswirkungen, so ist es, glaube ich.

Jochen

Okay, das klingt unangenehm.

Genau.

Johannes

Die Tatsache, dass es keine bekannten Fälle gibt von solchen seltsamen Verwundungen, die einfach so passieren, ist eine Indikation dafür, dass es diese primordialen, also diese Primordial Black Holes, dass es die nicht gibt oder dass die nicht in genügend großer Menge auftreten, dass sie von der gesamten Menschheit messbar sind.

Johannes

Und das ist das Interessante an diesem Paper da drin.

Johannes

Also sehr weit außenrum ausgeholt, um dann hinterher zu sagen, ja, und deshalb gibt es da nicht so, kann es nicht so viele davon geben.

Jochen

Fand ich sehr schön.

Johannes

Mein zweiter Pick, wesentlich weniger physikalisch, ist ein Artikel mit dem Titel A Year of UV, Pros, Cons and Should You Migrate.

Ah.

Johannes

Das heißt, jemand hat seine Erfahrungen aufgeschrieben mit UV, UV, dem Python Package Management Tool, Project Management Tool.

Johannes

Und es ist sehr interessant zu lesen, weil es gibt natürlich viele gute Dinge zu sagen und viele Dinge zu sagen, die anders sind.

Johannes

Und es gibt erstaunlich wenige Dinge zu sagen, die nicht so gut sind.

Johannes

Und im Wesentlichen der einzige Grund, warum er Jubi nicht verwenden sollte, laut dieses Artikels, ist, wenn man irgendwelche Legacy-Anwendungen hat, die man damit halt nicht auflösen kann.

Johannes

Weil die Dependency Resolution anders ist.

Johannes

Und wenn es nicht geht, ja, dann kannst du entweder den Aufwand reinstecken, dafür zu sorgen, dass es geht, oder du kannst halt bei Pip bleiben oder bei was auch immer es ist.

Johannes

Und es ist ein sehr langer Artikel und der beschreibt diese Situation sehr genau und ich fand es sehr interessant zu lesen.

Johannes

Und deshalb ist das mein Pick für diese Woche, mein zweiter Pick neben den schwarzen Lächern.

Jochen

Sehr cool.

Jochen

Es gibt da auch ein Video von Hüneck, der hat vor, ich glaube, Anfang 2024 oder so irgendwie ein Video gemacht, wo er sagt: so, ist das wirklich die Zukunft von Packaging in Python?

Jochen

Und dann hat er irgendwann im August oder September oder so eins gemacht, wo er dann das Titel hat, ja, es ist die Zukunft von Packaging in Python.

Johannes

Ja, das kommt auch in dem Artikel rüber.

Johannes

Einer der Gründe, warum die Empfehlung so mehr oder weniger uneingeschränkt ist, ist, dass dieses Team einfach ungeheuer viel daran arbeitet.

Johannes

Und die machen einfach, also wenn man sich den Bugtracker anschaut von UV, dann hat es eine extrem große Anzahl Tickets.

Johannes

Ich mach's gerade auf.

Johannes

Wir sind jetzt bei Ticket Nummer 11.679.

Wow.

Johannes

Und offen sind aber nur 1200.

Johannes

Nur 1200, ja.

Johannes

Das heißt, die arbeiten einfach alles ab, was ihnen in den Weg kommt.

Johannes

Und diese Sachen, die da drin sind, scheinen alle sehr gut von der Architektur zu sein, die sind alle sehr performant, die sind alle sehr gut ausgedacht, was auch die Oberfläche angeht.

Johannes

Also es scheint so zu sein, dass das einfach

gut funktioniert.

Dominik

Ja, so ein paar Kinderkrankheiten am Anfang sind alle weg und es ist so sehr viel cooler, ja.

Johannes

Das ist super schnell.

Johannes

Und ich bin inzwischen auch überall hin migriert.

Johannes

Es gibt auch ein Python-Package, das heißt Migrate to UV.

Johannes

Das habe ich einfach mal auf alle meine Sachen angewendet und jetzt sind die alle UV-isiert und das ist schön.

Dominik

Es gibt noch UV Secure und so, da kann man doch in Pipelines testen und sowas, Packages.

Dominik

Ja, es ist sehr nice, ja.

Ja.

Jochen

Ja.

Cool.

Dominik

Ich pick da mal.

Dominik

Ich weiß gar nicht mehr, wo ich das her habe.

Dominik

Vielleicht habe ich es bei einem von euch gefunden.

Dominik

Das heißt Sketch a Day.

Dominik

Da wird eine visuelle Idee jeden Tag gecodet und zwar in Python.

Finde ich sehr nice.

Dominik

Das ist so eine Blog-Serie von Alexandre Bivilares.

Dominik

Sehr, sehr schick, weil man da irgendwie so visualisieren mit Python kriegt, so ganz viele verschiedene unterschiedliche Ideen.

Dominik

Da ist immer so das Skript dabei und der macht das schon eine ganze Weile und da sind ziemlich nette Sachen dabei, wie man sich das angucken kann.

Dominik

Also super spannend, so wenn man mal Grafik mit Python machen will oder generieren will und sich mal angucken möchte, wie das denn alles so aussehen kann.

Dominik

Kann ich sehr empfehlen.

Dominik

Verlinken wir.

Dominik

Da kann man echt schicke Sachen mit rendern.

Traktate und sowas alles, ja.

Sehr coole Sache.

Jo.

Jochen

Tja, was habe ich da?

Jochen

Also ich mach mal keinen Python-Pick, sondern ich pick mal eine Shell.

Jochen

Da gab es nämlich jetzt auch irgendwie vor nicht allzu langer Zeit neue Release.

Jochen

Also ich verwende dann Fisch und Fisch gibt es jetzt auch in der Version 4.

Jochen

Wow.

Jochen

Und sie haben da auch einen Großteil in Rust neu geschrieben.

Oh, cool.

Dominik

Also ich mag Fisch eigentlich sehr gerne.

Dominik

Also vor allem wegen dem Fuzzy-Ding, das ist alles sehr nice und completion, das war immer sehr nett.

Dominik

Aber was echt nervt, ist, dass Skripte nicht so kompatibel sind.

Dominik

Die Skriptsprache finde ich anstrengend.

Dominik

Das bericht halt, wenn man das irgendwo anders ausführen will, immer alles durch.

Dominik

Der Grund, warum ich es nicht mehr auf allen Servern einsetze.

Dominik

Ich hatte es zwischendurch auf allen Port-Servern drauf.

Jochen

Ja, mache ich auch, aber ja.

Jochen

Aber ja, klar, also manche Sachen kannst du halt einfach nicht verwenden in der Fisch Shell.

Jochen

Genau.

Jochen

Gut, aber ich mache dann halt, ich habe dann zum Beispiel in so Deployment-Skripten oder so, habe ich dann halt, dann nehme ich halt eine Bash.

Ja, genau, ja, ja.

Jochen

Und führe das dann damit aus, das geht halt auch.

Dominik

Ja, weil auch die Konfigurationen sind halt nicht Portable und so, das ist alles so ein bisschen nervig.

Johannes

Da gab es doch auch einen sehr langen Artikel, Jochen, darüber, wie sie das gemacht haben und wie sie das hingekriegt haben.

Johannes

The Fish of Theseus.

Jochen

These ja, genau, da gibt es.

Der Fisch des Theseus.

Jochen

Ja, kennt ihr die Anspielung?

Ja, natürlich.

Johannes

Aber erklären Sie uns trotzdem dazu.

Jochen

Okay, der The Ship of Theseus ist halt so ein eigentlich ein Ding aus der Philosophie, dass wenn man jetzt irgendwie so ein altes Schiff ausgräbt irgendwie und ja, man möchte, man möchte es halt sozusagen reparieren und man tauscht jetzt quasi die ganzen alten und vergammelten Teile aus durch neue.

Durch identische.

Jochen

Durch identische, genau.

Jochen

Dann hat man ja im Grunde halt zwei.

Jochen

Ups, hat man ja im Grunde hinterher zwei Schiffe.

Jochen

Welches ist denn jetzt das Richtige?

Dominik

Ich glaube, du hast irgendwas kaputt gemacht.

Jochen

Oh, Moment.

Oh no!

Dominik

Das nimmt gleich, bricht gleich in Flammen auf.

Dominik

Ich glaube, das war der Sonntag.

Johannes

Mit digitalen Audio-Problemen kommen jetzt auch noch.

Johannes

Analoge Audioprobleme.

Jochen

Kabel.

Dominik

Gleich geht es in Flammen aufjochen.

Auch schon.

Jetzt wunderbar.

Keiner hat's gehört.

Jochen

Irgendwie ist das Kabel tatsächlich nicht mehr so ganz in Ordnung.

Jochen

Das kann ja

Johannes

lieb sein.

Johannes

Das sind die Probleme, mit denen wir uns rumschlagen müssen, um euch diese Episoden zu bringen.

Jochen

Ich glaube, schlägt man mal irgendwie so das eine Bein über das andere und rupt kräftig an dem Kabelbaum schon rauf und knackt es überall.

Jochen

Das ist ein Kreuz.

Johannes

Es ist mehr so ein Kabelstrauch, oder?

Als ein Kabelbaum.

Johannes

Kabelbaum impliziert eine gewisse Ordnung.

Jochen

Ja, das ist falsch, das stimmt.

Johannes

Das ist ein Kabelgebüsch.

Ja, okay, also

Johannes

das Schiff des Theseus.

Johannes

Da gibt es auch ganz viele Varianten davon.

Johannes

Der Theseus fährt mit seinem Schiff auf seine Abenteuerfahrt und hat aber genügend Ersatzteile dabei.

Johannes

Und während der Fahrt tauscht er kaputte Planken aus.

Johannes

Und am Ende, wenn er ankommt, hat er alle Planken einmal ausgetauscht, ist er jetzt immer noch in dem gleichen Schiff, mit dem er losgefahren ist.

Johannes

Und seine Feinde, die fahren hinter ihm her und sammeln diese Teile aus, die er austauscht und bauen die dann in ihr eigenes Schiff ein.

Johannes

Und am Ende haben sie alle Teile in ihrem eigenen Schiff ausgetauscht durch die Teile, die der Theseus hinten runtergeschmissen hat.

Johannes

Sind die jetzt noch in ihrem eigenen Schiff oder sind die jetzt in dem Schiff, mit dem Theseus losgefahren ist?

Johannes

Oder was ist da eigentlich passiert?

Johannes

Und diese Anspielung ist eben, was passiert, wenn du alle Teile von einer Shell austauschst, ist es noch die gleiche Shell.

Jochen

Genau.

Johannes

Weil sie nicht alle Teile ausgetauscht haben, wenn ich es richtig verstanden habe.

Jochen

Ja, aber auch in der Philosophie, also ein sehr, sehr interessantes Problem, irgendwie, das passiert ja tatsächlich bei Menschen auch, ne?

Jochen

Irgendwie, wenn man Dinge isst und wieder ausschaltet, dann man tauscht ja auch zum Beispiel, also so durchschnittlich glaube ich alle sieben Jahre alle Atome aus, aus denen man besteht.

Johannes

Ja, aber das glaube ich nicht.

Johannes

In den Knochen sind Atome drin, die bleiben da drin.

Jochen

Ja, okay.

Jochen

Also im Schnitt halt, ja.

Jochen

Natürlich, klar, also natürlich wirst du nicht alle austauschen, aber und auch nicht die, ja, ja, okay.

Johannes

Aber noch, also ich meine, noch viel kürzer zusammengefasst, ist ja you can never step twice in the same river.

Johannes

Du kannst niemals, zweimal in den gleichen Fluss reinsteigen, weil jede Sekunde verändert er sich so weit, dass es nicht

Dominik

mehr der Gleich ist.

Dominik

Wir sind aber immerhin auf der gleichen Welt.

Johannes

Ja, und genau, die Auflösung oder die philosophische Schlussfolgerung ist halt, dass bei manchen Sachen zählt die Kontinuität mehr, die Kontinuität der Existenz mehr als die Bauteile.

Dominik

Ja, also ich meine, die Philosophie ist ja dieselbe, die Syntax ist dieselbe, die Skriptsprache ist dieselbe, das Interface ist dieselbe, die API ist dieselbe.

Jochen

Aber die Frage halt wäre halt, wie kann das denn, wenn ich jetzt das ganze Material austausche, wie kann es denn sein, dass es immer noch das gleiche ist, sozusagen?

Jochen

Also wie kann ich denn zum Beispiel, oder wie kann ich beim Menschen, wenn da ja alle Teile ausgetauscht werden und auch jetzt ansonsten das Schwierig ist mit der Kontinuität, weil es ja auch unterschiedliche Lebensphasen ist, aber ich kann den gleichen Menschen immer noch erkennen als Kind oder als Kreis, wie kann denn das sein?

Jochen

Ja, was ich da erkenne.

Dominik

An den Contract gehalten, an die Closure, an das Protokoll, an das Schema, an das Modell, das ist doch scheißegal.

Johannes

Das regt mich auch so ein bisschen auf an diese Beamen-Debatte, wo du sagst, wenn du jemanden mit dem Star Trek-Transportermechanismus irgendwo hinbeamst, dann nimmst du die ganzen Moleküle und zerhaust sie und auf der anderen Seite machst du neue Moleküle und machst sie.

Johannes

Eigentlich ist es ja kein Mensch, sondern es ist Mord und Klon.

Johannes

Aber ja, also es hat mich nie überzeugt, dieses Argument.

Dominik

Weil du beim Beam immer nach dem Beamen immer noch genau der gleiche bist.

Jochen

Ja.

Jochen

Ja, weil wir das ja sowieso die ganze Zeit machen.

Johannes

Jedes Mal, wenn ich das mache, bin ich immerhin noch der gleiche.

Johannes

Ja, und wir wissen ja auch nicht, ob Zeit nicht quantisiert ist und ob wir überhaupt eine Kontinuität haben und so weiter, aber ja, das geht jetzt vielleicht zu weit für den Programmierpodcast.

Johannes

Liebe Hörer,

Johannes

folgen Sie uns auf Philosophie für Anfänger.

Jochen

Ja, ich kann aber auch mal so vielleicht noch ein Pick, den ich dazu irgendwie in Stellung bringen könnte, wäre halt irgendwie, wenn sich mal die Sachen von Joscha Bach anhören.

Jochen

Der hat jetzt auf dem letzten CCC-Kongress auch wieder einen interessanten

Dominik

kontrovers wahrgenommenen.

Ja?

Ja.

Jochen

Okay, das habe ich gar nicht so kontrovers.

Dominik

Ja, es gibt mittlerweile Leute, die finden alles komisch.

Jochen

Also, sag mal so, es gab da diesen Essay auch von dem an Schofek-Typen, den man auch mal in einer LLM-Folge besprechen sollte.

Jochen

Der Titel von dem Essay ist Machines of Loving Grace.

Dominik

Ja, aber du liest noch Widiverse, da waren noch viele Leute sehr empört.

Ja, den hat man so mitgekriegt.

Jochen

Und ja, genau, er hatte einen Vortrag gehalten mit dem Titel Self-Models of Loving Grace.

Ich fand den gut, den Talk.

Jochen

Ich fand den auch ziemlich gut, wo er halt sagt, naja, also was ist eigentlich existieren?

Jochen

Existieren könnte ja auch bedeuten.

Jochen

Also sozusagen existieren ist halt sozusagen immer davon abhängig, wie also man existiert in dem Maß, in dem man implementiert ist, sozusagen.

Jochen

Und dann gehen viele der Probleme weg, wenn man das so, wenn man das aus dem Blickwinkel an.

Dominik

Wenn man das jetzt kombiniert mit diesem Attention is all you need-Ding, wird da auch philosophisch etwas draus, weil man tatsächlich wahrscheinlich in den Quantentheorien immer durch die jeweilige Aufmerksamkeit die Dinge erst verwirklicht.

Dominik

Spannend.

Dominik

Jetzt sind wir alle sprachlos.

Dominik

Ich finde, das ist das perfekte Ende und heute Episode.

Dominik

Also bleibt uns doch gewogen.

Dominik

Feedback hallo at pythonpodcast.de.

Dominik

Schreibt, ob ihr uns irgendwo treffen wollt, ob ihr vorbeikommt, gerne.

Dominik

Wir möchten gerne eure.

Jochen

Idee für eine Location?

Dominik

Ja, die machen wir.

Dominik

Das machen wir schon.

Dominik

Machen wir?

Dominik

Ja, ja, das war gut schon.

Dominik

Und ja, wir organisieren das irgendwie, dann schreiben wir euch irgendwie und freuen uns auf euch.

Dominik

Und würde sagen, dann hört uns, wo auch immer ihr seid.

Dominik

Guten Morgen, guten Abend, gute Nacht.

Viel Spaß.

Bleibt uns bewogen.

Dominik

Schaltet wieder rein.

Bis bald.

Jochen

Und bis zum nächsten Mal.

Tschüss.

Ciao, ciao.