Transcript: Live von der DjangoCon Europe 2025 in Dublin - Tag 3
Full episode transcript. Timestamps refer to the audio playback.
Ja, hallo, liebe Hörerinnen und Hörer, willkommen beim Python-Podcast, Episode 65, heute den dritten Tag von der DjangoCon Europe aus Dublin.
Ja, herzlich willkommen, Dominik, herzlich willkommen, Johannes, hallo, mal wieder dabei und Sebastian, hallo zusammen.
Ja, wir skrippen wieder die News, ihr kennt das ja schon aus den letzten zwei Tagen und erzählen einfach was von der DjangoCon.
Ihr müsst noch mit gestern Abend weitermachen und die Lightning Talks und heute.
Genau, wann haben wir denn gestern aufgehört?
Mittag.
Die Parking-Tickets hatten wir noch.
Ja, ich glaube, wir haben einen Talk von Sebastian verpasst.
Ja, das war vom ersten Tag, genau, aber den müssen wir auf jeden Fall nachholen, genau.
Konnte mir gar nichts zu sagen, das ist natürlich, ja, dann fangen wir doch vielleicht einfach damit an.
Ja, ich kann es versuchen, genau, also war ja auch nach dem Mittag, ja, und das dazu zu sagen.
Also wesentlichen.
Genau, das neue Django 5.2 Long-Term-Release ist rausgekommen und ich habe das zum Anlass genommen, so ein bisschen zurückzugucken durch den Changelog, vor allem von 5.2, aber so ein bisschen alles zwischen 4.2 und 5.2, weil viele Leute upgraden ja von Long-Term-Release zu Long-Term-Release, was für, ja, vielleicht kleine Features sind, die den Code besser machen können.
Also nicht die großen, wichtigen, sondern das, was...
Also ich würde sagen, die sind auch wichtig, aber nicht die, die, sag ich mal, derjenige...
...der den Release verantwortet, als Major-Features gepickt hat, sondern da gibt es ja dann diese Riesenliste, Admin-Models und so weiter, wo durchaus auch sehr wichtige Verbesserungen sind, aber halt nicht die super Highlights, genau, davon habe ich ein paar rausgesucht und halt gezeigt, auch so an unseren, also sind teilweise wirklich aus echten Kundenprojekten auch gewesen, so vorher 20 Lines of Code, man hat ein bisschen das Gefühl, man kämpft gegen den Admin zum Beispiel, jetzt ist es irgendwie die eine Property, die man setzen kann, weniger Code.
Schön.
Genau, ja.
Was ist deine Lieblingsänderung?
Die Frage habe ich auch bekommen, aber das ist schwierig, weil irgendwie, ich habe die ja auch rausgesucht und so, also eine wirklich ist das, und jetzt habe ich es nicht vor mir, ich glaube, es ist schon aus 5.1, ist den Query-Set-Template-Tag, was halt erlaubt, ich weiß nicht, ich kann es ja kurz zusammenschreiben halt sozusagen, also man hat halt Query-Set-Parameter, also Fragezeichen oder halt und, ja.
Je nachdem, man musste die früher halt immer selber zusammenbasteln in den Template und hat so String-Manipulationen, viele Ifs, viel komplizierter insbesondere, genau, bei Pagination, so man hat schon und dann, man hat jetzt schon, weiß ich nicht, Filter-Query-Sets und dann hat man noch Page-Equals-2 oder so, das bedeutet, man möchte jetzt halt irgendwie alle behalten, aber für den vorher, also für einen vorher oder eine weiter Seite halt die 2 durch eine 1 oder eine 3 ersetzen.
Mhm.
Also, wir hatten so Herpa-Funktionen, so 10 Zeilen Code.
Hat jeder schon mal geschrieben.
Genau, hat jeder schon mal geschrieben.
Ja, ja, ja.
Jetzt kann man halt das komplett löschen, einfach im Template sagen, Query-Set-Page-Equals-2-Previous-Page oder halt dann 1 oder so, fertig, ja, wenn es…
War nice.
Klingt angenehm, ja.
Es ist, genau, also, ja, das war eigentlich schon ein gutes Beispiel, das waren genau so meine Beispiele, ich habe es auch vorher gezeigt, so vorher 20 Zeilen Code, jetzt nichts mehr und dann halt auch mal, muss man nicht testen, kann keine Fehler mehr machen.
Nein.
Genau, cool.
Ja.
Coole Sache, war gut.
Ja.
Also, wenn ich eins aussuchen müsste, glaube ich das, ja.
Ja, das ist ja so ein bisschen die Sache mit Django, oder? Die großen Dinge erfährt man ja schon irgendwie so, das, was sich so tut, aber die kleinen Sachen, die ja auch immer weiter besser werden…
Naja, muss man schon ein bisschen unterlesen und das eigentlich auch ausprobieren und dann auch machen, damit man da so…
Und dann noch einen Blogpost drüber schreiben und einen Podcast draufnehmen.
Ja, okay.
Ja, oder, also, also, ja, auch, also, Django ist halt sehr nett, weil…
Also, jetzt in dem Fall nicht, aber häufig die alten Sachen werden halt nicht deprecated, also, und wenn, schreien alle so ungefähr, grob gesagt, oder sehr, sehr langsam, aber das heißt halt, niemand ist, also, man wird nicht gepusht in die Richtung, die neuen, besseren Sachen zu benutzen und deswegen gehen die, glaube ich, manchmal so ein bisschen, also, unter…
Sind solche Sachen auch bei Django Upgrade drin? Wahrscheinlich nicht, ne, weil das nicht einfach migrierbar ist, solche Funktionen.
Also, das war schon, also, weiß ich nicht, ehrlich gesagt, jetzt, äh, das war schon…
Ja, musst du ja kennen, es gibt einen, was man automatisch…
Also, das nicht, glaube, könnte ich, also, ja, es ist ja ein Template, also, und, also, das, das wäre schon, das wäre schon sehr faszinierend, aber, ja.
Okay, cool.
Ja.
Ähm, wollen wir einfach die Liste uns durchhangeln und so ein bisschen gucken?
Ja, ich weiß nicht, haben wir, da wollen wir jeden genau besprechen, das ist ja ganz schön viel.
Ja, vielleicht nur die, die uns eingefallen sind und in Erinnerung geblieben sind, weil wir haben, wenn wir jetzt, insbesondere habt ihr eben erwähnt, ihr habt besonders viel Hunger heute.
Richtig.
Jetzt ist die, die Konferenz ist vorbei, wir müssen jetzt essen gehen und Party machen.
Genau.
Das machen wir auch, davon wollen wir auch nicht mehr berichten.
Ja.
Wir machen auch keine.
Ähm.
Aber wir haben gestern beim Junko, war da jemand?
Ja, ja, ich war da drin.
Ja.
Das war, äh, war tatsächlich ganz unterhaltsam, aber ich weiß jetzt nicht, ob ich da irgendwie…
Das ist von heute?
Nee, das war gestern.
Also, Passkies hat…
War gestern am 4.
Heute war er auch ein bisschen…
Ach, der, ja, doch, ja, okay, dann.
Genau.
Passkies, ja.
Ja, wir haben noch ein paar andere Sachen verpasst, glaube ich, vorher, danach.
Ja, das, genau, das, wenn ihr da drin wart, ich war, glaube ich, in sonst gar nichts, weil…
Dynamic Models without Dynamic Models.
Ja, da war ich drin, der, das war ja eine sehr verrückte Idee.
Warst du da nicht auch da?
Ähm, nein.
Der, äh, der hat im Wesentlichen gesagt, also, auf seiner Seite ist es so, dass die
Benutzer eigene Modelle anlegen können, also eigene Schemas für Modelle und dann auch
eigene Instanzen von den Modellen.
Das heißt, er hat quasi so ein bisschen den ORM nachgebaut.
Jason Tube Model, oder?
Als Jason Field.
Okay.
Und, äh, das war ganz interessant, aber es war auch so, er hatte so ein bisschen den
Anschein von verrückter Wissenschaftler, ja, der so…
Ja, also, was ich da ganz spannend…
Ich hab's auch gesehen, was ich ganz spannend fand, ist, ähm, ja, wobei er ja schon sehr
geschickt, also, Get Query Set überschrieben hat.
Er war sehr selektiv.
Also, so, dass man quasi, also, das war sehr clever, sozusagen.
Also, er hat jetzt nicht irgendwie alles über den Haufen geworfen, sondern hat den, hat
das ORM, also, schon eben so Private Methoden, die ein oder andere überschrieben, aber schon
sehr behutsam irgendwie und sehr geschickt.
Ja, das…
Und dann also so minimal, also, an zwei Stellen war's schon ein bisschen waghalsig, war so
mein Eindruck.
Ja.
Aber dafür konnte er dann komplett, äh…
Quasi normale Query Sets schreiben, sodass es mit REST-API-Framework funktioniert und
sodass…
Ich fand das schon sehr cool, also, so von dem Ansatz her.
Ja, es war schon eine coole Sache und eine coole Idee und cool, dass er's hingekriegt
hat, aber, wie gesagt, ich würde es niemandem empfehlen.
Also, hört sich so an, als, ne, mit großer Macht kommt große Verantwortung, den Nutzer
Modelle in die Hand zu geben und die Datenbank ist wie immer da, okay.
Ja, und das war halt schon auch auf den Use Case zugeschnitten, also, der hatte halt wirklich
die Notwendigkeit, dass die Benutzer eigene Modelle anlegen können und wenn man das vermeiden
kann, ist es leicht besser.
Ja, von außen, ne, dann kommt man nicht an den Server selber dran.
Ja, okay.
Ja.
Nette Idee.
Okay, Passkeys haben wir schon gesagt.
Passkeys.
Steering Council.
Haben wir noch nicht gesagt.
Wir haben noch nicht wirklich drüber gesprochen.
Wir haben noch nicht gesagt.
Also, ich meine, die Frage ist, für mich ist die Frage offen, ich habe letztes Jahr
um die Zeit, also ein bisschen früher, mal intensiver mit Passkeys beschäftigt und dachte
so, hm, das wäre doch mal ganz nett, das könnte man vielleicht mal implementieren
oder dann habe ich auch gesehen, dass da schon was gibt, äh, im Grunde und, ähm, dann, äh,
aber irgendwie, äh.
Sind doch viele Leute dann auch wieder abgesprungen.
Es gab auch, es gibt auch eine Implementation, ich weiß gar nicht, ob die fertig geworden
ist, in Django All Aus.
Ich glaube, ja.
Ja.
Also, die haben da auch irgendeine Förderung für gekriegt, äh, und, äh, konnten das
dann irgendwie umsetzen, aber ich weiß nicht, ob es schon fertig ist oder nicht.
Das hört sich so ein bisschen an, als wärst du nicht der gleiche Meinung wie Tom, der
sagte, hey, Passkeys sind voll die gute Idee.
Nee, also, vor allen Dingen, ich bin jetzt gar kein Experte dafür oder so, aber was ich
dann halt von Leuten, die sich damit dann auch beschäftigt haben, gehört habe, ist
halt, dass sie sagen, naja, Ascend lässt sich an Apple und Google und dass sie das, äh.
Genau.
Wir machen eure Passwörter sicher, indem wir sie alle zu Apple und Google geben.
Ja, und, ähm, das will man ja vielleicht dann auch nicht.
Also, man kann Passwortmanager auch.
Genau, du kannst auch irgendwie Bitwarden, also, ich bin total der Bitwarden-Fan, weil
irgendwie so halb Open Source, also, ich meine, ich zahle das, aber es ist halt komplett
Open Source.
Du kannst, also, was dann zwar diesen Sicherheitsaspekt, weil es ist dann plötzlich nicht mehr in
deinem Gerät, sondern nur in Bitwarden, also, so Teile, Teile der Argumentation brechen
da zusammen, aber, ähm, du kannst die Passkeys einfach in Bitwarden speichern.
Mhm.
Ähm, dann ist es zwar einfach nur ein cooles Passwort, würde ich sagen, weil, also, ich
meine, du hast zwar, also, so, am Endeffekt, ob das jetzt Public-Private-Key ist, der in
dem Manager ist, oder halt, ähm, ein gehashtes Passwort.
Ja.
Ja.
Sehr, sehr kleiner semantischer Unterschied, würde ich sagen.
Genau.
Aber dann hast du das Apple-Problem nicht, wollte ich nur sagen.
Ja, nee, das ist, das ist richtig, aber wenn, wenn du es halt nur auf dem Gerät hast, dann
ist es halt viel zu einfach, dass man sich selbst aussperrt oder halt nicht weiß, mit
welchem Gerät man sich denn jetzt da irgendwie einloggen kann.
Ja, das muss das ja synchronisieren.
Synchronisieren, dann geht es mit allen deinen Geräten.
Ja, aber dann ist es halt die Frage, dann, wo ist der Vorteil gegenüber.
Genau, dann ist halt das Hauptargument, das ist halt weg dann, ja, also, das ist, äh.
Ja, also.
Also, ich höre raus, ihr seid noch ein bisschen ambivalent, was, oder halt.
Ja, ich habe schon einen Passwort-Manager, da sind starke Passwörter drin für jeden
Account, ein anderes, also, für mich ist der Gewinn nicht riesig.
Eine Frage, benutzt du denn auch, äh, irgendwie Commerz-Hallen-Service sozusagen für das, äh,
synchronisieren, oder da gibt es ja auch so Volt-Warnen oder so, glaube ich, was man selber
verwenden, selber hochhalten.
Und dann kannst du zahlen, und dann ist es halt genau das, also.
Ja, ja, aber du, du zahlst.
Ich zahle die, also, genau, und ich benutze, also, es ist zwar Open-Source, also, aber
genau, ich zahle die halt, damit die das synchronisieren machen, weil ich finde die eigentlich, ich
glaube, die sind auch immer noch okay, ich weiß nicht, gab es schon Gerüchte, dass
sie gekauft, oder irgendwie auch Venture Capital, aber, also, vergleichsweise, also, zumindest
von der Usability her, ich habe das nicht mehr weiterverfolgt, kann ich sehr empfehlen,
also, es, es funktioniert, also.
Prinzipiell ist es ja eine sehr gute Idee, Firmen zu unterstützen, die Open-Source-Software
machen das.
Ja, absolut.
Ja, finde ich gut.
Okay.
Okay, ähm.
War jemand bei der Steering Council Introduction?
Ja.
Ja?
Ja?
Ah, und was kam da raus?
Äh.
Was ist Steering Council?
Ich hätte nicht gesagt, ich kann mich nicht mehr so genau dran erinnern, es war irgendwie
interessant zu hören, dass er, dass der Alte ist zurückgetreten, genau, und dann haben
sie jetzt ein bisschen mehr Zeit, und, ähm, ja, es war so ein bisschen, was so die Herausforderungen
gerade sind, aber.
Sie haben ein bisschen gesagt, was im neuen Django-Version kommt, also, Django-Tasks soll
integriert werden.
Ja, die wollten wir, aber.
Was mich so ein bisschen daran verwundert hat, also, ich hätte gedacht, die sind schon
weiter damit, und das heißt halt, dass das so ein bisschen nochmal nach sechs verschoben
worden ist wohl, was halt heißt, da ist irgendwas noch offen, oder so, hab ich jetzt so interpretiert.
Habt ihr das mal ausprobiert?
Nee.
Äh, nee, ich freu mich schon die ganze Zeit drauf und hör mal von.
Aber ich, ich werd's jetzt.
Also, wir haben es in der Tat in einem Produktionsprojekt von, also, es ist jetzt aber schon ein paar
Monate.
her, muss ich sagen, ein halbes Jahr
oder sowas her
und da hatte es noch
so einen, also ich verstehe,
ich verstehe, warum es nicht in 5.2 gekommen
ist, weil
also ich glaube, es soll ja eh nur das Interface
reinkommen, das ist schon okay, aber so von der
also man merkt die
Sachen halt dann am Ende auch wirklich nur, wenn es implementiert
ist und da, ich kann jetzt kein Beispiel
mehr nennen, weil es zu lange her ist, aber es hatte noch so ein paar
Rough Edges, so Upgrade auf die nächste
Version, hätte etwas smoother sein
können, ganz normal für sowas frühes,
aber ich glaube, das sind so mit die Gründe
und Django ist halt
konservativ, lieber nichts kaputt machen
als... Hätte ich auch gerne,
wenn ich das so nutzen will, dann soll das ja schon relativ
sanft sein. Ja, aber wir warten die ganze
Zeit auf den Moment, wo wir Celery endlich Wurz werden,
also gerade für die kleineren Projekte. Auf jeden Fall,
ja. Also ich glaube, Celery wirst du nicht
loswerden oder... Wir haben ja gestern schon
drüber gesprochen. Ja, es gibt ja eine Menge...
Warum? Okay, also wir sind Celery schon
vor ein paar Jahren losgeworden, aber
also ich
würde dem widersprechen. Eine Geheimlösung, da müssen
wir gleich nochmal drüber reden. Ja, genau.
Okay, je nach Anforderungen und so, aber wenn du halt
kompliziertere Anforderungen hast, dann gibt es nicht so viele,
wie wir das machen können. Ja, genau.
Jetzt hat er dich gerade gedisst. Ich habe keine richtigen
Anforderungen. Ich meine, wenn man das nicht braucht,
ist das ja sehr schön. Netter Versuch. Ich bin ja jetzt auch nicht,
ich darf jetzt auch nicht irgendwie für alles Celery nehmen,
sondern... Ich könnte da, glaube ich, eine Stunde
drüber reden. Ja, ja. Wir haben Celery
ausgeschmissen, weil wir die dedizierte
Anforderung haben, aber ich glaube, das ist ein anderes
Thema. Ja, das
hört sich nach einem guten Termin für einen
Podcast an. Das wollte ich auch gerade sagen, das klingt
nach einer neuen Folge. Ja.
Ich bin bei den Leitentalks fast eingeschlafen, Johannes, warum denn?
Ja, ich habe nicht so richtig viel mitgekriegt
von den Leitentalks gestern, weil ich vorne
on the edge of my seat
saß und auf meinen Talk gewartet habe,
wo ich dem Publikum beigebracht habe,
wie man in fünf Minuten einschläft.
Ich habe den Test gehört vorher dann irgendwie.
Ja, das
Dominik hat den vorher in seinem Hotelzimmer schon ausprobiert.
In einem Monat,
wenn die Vorträge dann
live sind, dann sind die sicherlich
auch in den Shownotes drin. Gut.
Ja, kann man jetzt im Moment nicht...
Du wolltest nicht spoilern. Nicht spoilern. Na gut.
Wie fandest du es?
Wie fandet ihr es denn? Ich war ja...
Ich fand es gut. Ich habe es dann ausprobiert
und es hat funktioniert. Ja, super. Aber ich habe
auch die wichtigste Voraussetzung durchaus
erfüllt, nämlich ich war echt müde, weil
es schon recht spät wurde. Du hast doch in der Folge gearbeitet,
Christian. Ja, genau. Also,
darf ich es spoilern? Ja, natürlich.
Ja, das waren kleine Schritte. Also, du musst
müde sein.
Ja, das ist Schritt Null, das vergessen die meisten.
Ein Kaffee trinken, oder? Ja, Kaffee ist tatsächlich,
was sehr Schlechtes zum Einschlafen ist.
Und dann muss man seinen Geist entspannen.
Johannes hat gesagt, man muss sich
ein ruhiges Bild vorstellen. Mit wenig
Bewegung ist wichtig. Du sagtest, du liegst
gerne in einem Boot und guckst in den Sternen. Genau.
Also, das stellst du dir vor. Ja, aber andere Leute
liegen dann am Strand oder in der Hängematte
oder auf dem Feld oder wo auch immer.
Irgendwas, wo man sich nicht viel bewegen muss. Tatsächlich auch nach meinem
Bild gesucht. Ich habe das Bild noch nicht gefunden. Ja, das ist wichtig.
Ich bin vorher eingeschlafen, aber...
Genau, und dann nach und nach den Körper
entspannen. Wächst der Body, wächst der Face.
Das fand ich sehr interessant. Von oben nach unten
beginnend mit Face. Ganz bewusst.
Genau, im Gesicht sind viele, viele Muskeln
drin und die einmal fühlen und
loslassen und dann von oben nach unten
durch den Körper gehen, immer die Muskeln fühlen und
loslassen. Man merkt es gar nicht selber so, aber
die spannen sich automatisch an. Auch
gerade so im Gesicht. Ja, wenn man so normal sitzt,
dann hat man ja doch... Jetzt müssen wir gleich doch klatschen, da sind die Leute
gerade eingeschlafen.
Ja, liebe Hörer, jetzt sind hier alle...
Nein. Ja,
genau. Es
ist einfach progressive Entspannung
und wenn es nicht beim ersten Mal klappt, macht man es halt nochmal
und irgendwann schläft man dann ein. Das
hat bei mir gut funktioniert, beim Jochen offenbar auch.
Kann jeder
mal ausprobieren. Noch einen Lightning Talk,
den du... Ja, also wenn...
Ich fand den von
John Gould ganz, ganz
interessant, der so
Django-Recruiter ist und halt
viele Leute in Jobs
vermittelt und viele Projekte hat und der...
Ja, das war eigentlich gar nicht so erfreulich
für viele Menschen. Nee, ich hab die
Erfahrung tatsächlich gemacht und das ist jetzt eine Erklärung.
Also ich hatte bisher immer die... Also ich hab...
Also ganz kurz, er ist ein Recruiter und er
macht ganz viel Recruiting und er bekommt relativ viele Sachen.
Oh, ein spannendes... Entschuldigung, ich hab dich
unterbrochen, aber ein spannendes Detail davon war,
er hat einen kleinen Talk auch dazu gemacht.
Er wurde nämlich mit AI-Agents
konfrontiert, die sich bei ihm beworben haben.
Also echte, also Video-AI-Agents,
die dann versucht haben, mit ihm Videocalls zu machen
und so. Spannend, ja.
Er hat das YouTube-Video verlinkt, wir können das haben.
Genau, das kann man...
Genau, aber seine Message?
Ja, ist halt... Ja, ist schwierig,
wenn man jetzt seinen CV irgendwo hinschickt,
das funktioniert nicht mehr so richtig.
Und ich war jetzt zwischen den Jahren und dann Anfang des Jahres
auch nochmal auf Projektsuche und
zum ersten Mal seit Jahren, keine Ahnung, weil
ja, ich...
Mich niemand angerufen hat,
sowas, und
da hab ich dann auch die Erfahrung
gemacht, dass ich halt relativ viel Bewerbung und so
losgeschickt hab und da ist wenig zurückgekommen,
bis gar nichts. Also da kam eine...
ein
Interview bei raus, auch tatsächlich über
Fox Hill Talent, also über...
Ja, bei ihm.
Aber ansonsten halt nicht.
Und ich dachte mir immer so, was ist denn los mit den Leuten?
Das passt doch eigentlich gut, das ist doch komisch.
Bin ich zu teuer?
Irgendwie, was ist...
Also die Antwort ist ja kaputt.
Ja, vielleicht auch das, aber...
Naja, tatsächlich ist der Grund, er meint so, naja, also sie haben so eine
durchschnittliche irgendwie
Django-Entwicklerstelle, sie bekommen da halt irgendwie
über tausend CVs halt,
wenn sie das irgendwie veröffentlichen irgendwo
oder auf LinkedIn bewerben und
er meinte halt einfach sehr schwer, das alles
zu lesen und man muss irgendwie eigentlich,
wenn man da nicht
quasi...
Ja, man muss Network, Network, Network, Visibility, du musst halt...
Wenn du die Leute nicht schon kennst, dann ist es sehr schwer, da aufzufallen, weil...
Ja, genau.
Und menschlich sein und nicht wie eine AI aussehen.
Ja, das ist blöd, weil
manche Leute sehen wie eine AI aus und klingen wie eine AI,
sind aber keine AI.
Wen meinst du denn?
Das klassische Problem, ja.
Ja, okay.
Genau, ansonsten erinnere ich mich aber nicht mehr genau,
was da sonst so war.
Ja, Lightning Talks sind ja immer was sehr Schönes, aber dann, wenn sie
vorbei sind, sind sie auch irgendwie...
Ja, ich war die ganze Zeit so gespannt auf Johannes Talk.
Ja, selbstverständlich.
Publikum in meinen Bann gezogen.
Aber dann sind wir doch schon bei heute, oder?
Ja.
Den Tag habe ich verschlafen.
Ich habe heute sehr viele Sachen angeguckt.
Erste, heute früh, war Django for Data Science.
Ja, da war ich auch drauf. Von William Vincent.
Ja, William Vincent, ja.
Hast du eigentlich noch mit dem gesprochen, Jörn?
Ich habe mit dem dann noch gesprochen.
Das müssen wir gleich wissen, weil sein Talk ist eigentlich
die Plowing vom Machine Learning Model.
Ja, aber was er vorgetragen hat,
war eher Django for Data Science.
Ja, so Beginner.
Django ist auch cool, wenn man Data Science machen will.
Wo er recht hat. Ich würde das auch gerne empfehlen.
Aber das wird halt nicht so oft benutzt,
sondern er erfasst es ab hier und hat halt so einen Grund genommen
und so einen kleinen Haken, wie man ganz schnell als Data Scientist
ankommt und auch da seine Sachen machen kann.
Ich weiß jetzt nicht, ob die Data Scientist jetzt für den Django
Talk jetzt hört, aber
große Empfehlung an der Stelle.
Nur, das Plowing vom Machine Learning Model war jetzt
nicht so wirklich geklärt. Das war der Grund,
warum ich früher aufgestanden bin.
Er hat schon Jobfile erwähnt.
Jobfile hat Load und Dump.
Das läuft mit Pickel.
Aber das ist halt Pickel.
Genau, was jetzt auch vielleicht nicht die allerbeste Wahl ist,
aber es ist natürlich ein Weg, es schnell zu machen.
Ja, er hat jetzt das Petal Setter,
das kann man da vielleicht schon pickeln, aber
Iris heißt es.
Du kannst ja beliebige Dinge pickeln.
Du kannst eine komplette Pipeline pickeln.
Normalerweise deployst du ja auch nicht nur das Modell selber,
sondern halt irgendwie auch
quasi die Daten-Transformations-Pipelines
und so.
Was hast du ihm denn gefragt?
Ich habe nur gesagt, hallo.
Das ist auch sehr lustig, weil ich sage immer,
irgendwie, ja, ich mache halt so Hälfte Web-Entwicklung
und Hälfte Data-Science-Zeugs und so.
Und
er fragte halt, ja,
wer sieht sich als Web-Developer? Das waren, na gut,
wenig erstaunlich auf der DjangoCon,
halt irgendwie fast alle. Und dann, ja,
wer ist Data-Scientist?
Data-Scientist waren da nicht mehr, nicht mehr so viele. Und wer ist beides?
Und dann, ja, war, glaube ich,
weiß ich nicht, ob ich der Einzige war, der übrig geblieben ist.
Nein, ich habe halb aufgezeigt,
ich mache das ja nicht so viel, aber ich komme ja aus der Verwaltung.
Aber viele waren das dann nicht mehr.
Und genau, ich meinte halt,
oh ja, ich bin einer von denen,
die da zum Schluss aufgezeigt hatten,
weil er sagte dann, er würde dann mal gerne mit denen reden.
Und weil er findet nämlich, dass das eigentlich eine interessante Geschichte ist.
Ich auch, deswegen mache ich das, ja.
Aber, genau,
es gibt es nicht so häufig und offenbar.
Und
er glaubt, dass halt da Django
ein großes Marketing-Problem hat, was ich auch so sehe.
Ich denke, das ist auch richtig.
Also ich sehe da draußen zum Beispiel auch jetzt in dem Projekt,
in dem ich bin, wird halt, also
die verwenden deswegen Django,
weil ich da bin, aber ansonsten werden die da
nicht mehr so gut.
Also ich denke, das ist auch richtig.
Also ich sehe da draußen zum Beispiel auch jetzt in dem Projekt,
weil ich da bin, aber ansonsten werden die da nicht mehr so gut.
Also ich bin da nicht unbedingt auf die Idee gekommen,
sondern hätte tatsächlich wahrscheinlich eher so was wie Fireside-API.
Da könnte man jetzt Nano-Django
direkt ins Spiel bringen,
weil das aber auch nur so ein
One-Pater ist, wo man tatsächlich zwei Sachen hat
und dann hat man irgendein Django und kann das dann hinterher
durch ein richtiges Django ersetzen,
hat aber den leichten Data-Science-Einstieg,
der sich genauso anfühlt und bekannt vorkommt wie bei Fireside-API
und kann das dann hinterher schön umbauen.
Ja, also ob es dann eine einfache Lösung
für gibt, weiß ich nicht, weil ich denke,
einer der Gründe, warum Leute
das nicht mit Django machen wollen, ist, dass sie das Gefühl haben,
oh, jetzt gibt's halt, also ich meine, wenn mit Django
Dokumentationen ausgedrückt werden, sind das auch irgendwie
anderthalb tausend Seiten, wenn man das Gefühl hat,
oh, jetzt muss ich mich ernsthaft damit beschäftigen.
Ja, die Overhead und Konzentrationsverstehen
und schwierig und dann müsst ihr noch das machen.
Ich glaube, es gibt nur einen Grund, wenn ich einsteigen darf.
Ah ja, sehr, sehr gut.
Ich komme ja eigentlich aus der Physikecke,
also mein
erster Kontakt mit Python war,
also da gab's Data-Science noch nicht in dem Sinne,
aber ich hab's halt für Datenanalyse benutzt,
das hieß nicht anders. Physiker haben das immer schon gemacht.
Und so Matplotter
mit Visualisierung und so Geschichten.
Ich glaube, was extrem
stark ist, also, dass man halt
das Django halt ein ORM hat, was auch
für Data-Science-Leute an sich nett ist,
also, weil Daten strukturiert
ablegen ist cool, aber
also, und wenn man Django kann,
also, was wir auch ganz häufig machen,
kann man Jupyter-Notebook einfach initialisieren, oben
die Settings definieren und das ORM direkt benutzen,
was mega cool ist.
Wenn man Django
nicht kann und das probiert,
dann kriegt man total die schrecklichen
Fehlermeldungen, dass irgendwelche Settings nicht definiert
sind und ich glaube, dass das viele,
also, es ist zwar, also für uns wahrscheinlich
eine total kleine Einstiegshürde, aber für jemanden,
der Django nicht kennt, der Web nicht kennt,
ist das eine riesengroße Hürde.
Naja, aber ich sag mal, wenn ich dem jetzt ein Exempel-Book gebe,
mit zwei Queries drin,
dem einen Import, wo die Settings
ausgerufen werden, dann kann er wundervoll damit arbeiten.
Das ist doch...
Aber es ist so nicht dokumentiert. Der Use-Case wird
nirgendwo beschrieben. Wenn ich jetzt in Google eingebe,
Ja, okay.
Also, das weiß ich nicht. Ich bin Data-Science, dann
finde ich das halt nicht, ja, und
ich glaube, das ist...
Django for Data-Science ist tatsächlich nächste...
Das braucht nicht viel, aber halt...
Sollte man vielleicht tatsächlich mal kurz...
Also, eine Sache, die ich immer anwende, ich glaube, wenn man das
ORM ein bisschen unabhängiger
macht würde, also, man könnte das jetzt...
so bauen, dass man nicht Settings
komplett definieren muss, weil die Settings-File macht auch
Angst. Die Django-Settings-File sind
100 Zeilen, also, ja, aber
easily sozusagen. Templates
werden, also lauter Zeugs, was du halt nicht brauchst
und was du für eine, sag ich mal, jetzt
eine API-basierte Dings auch gar nicht brauchst.
Aber du musst das alles
irgendwie verstehen oder zumindest
nutzen können, um halt das ORM
zu benutzen. Ich glaube, wenn man das so ein bisschen
entkoppeln könnte, dass ich so sagen könnte, okay, ich möchte
halt so ein Django-Lite
oder sowas halt haben,
das könnte die Einstiegshürde, dass die Leute schon mal
so ein bisschen sich rantrauen und merken, hey,
das ist ja eigentlich ganz cool, dann kann ich da noch einen Web-Server machen,
dann kann ich so ein kleines Template machen und dann ist es halt
schon da. Also, ich glaube, das ist das Coole an
Flask, man braucht, also,
was war Flask Run? Und es geht, so.
Und dann ist es halt im Browser.
Und, aber, ja. Ja, genau, also das ist ja
tatsächlich der Grund, ja.
Müsste man eigentlich nicht mal die Zeit nehmen und das tun tatsächlich.
Ich finde das auch schön, wenn
das Framework so ein bisschen weiter ausgebaut wird. Aber gut,
weil sonst ist es ja andererseits, dann wollen
die Leute halt ordentliche Sachen bei FastAPI haben, dann ist man wieder
beschäftigt, ne, wenn du sagst, das kommen so wenig Leute sonst.
Ja, okay.
Aber das Deployment-Problem quasi ist,
finde ich, mit Pickle halt noch nicht wirklich gelöst.
Also, ich habe das damals, aber sie wäre
daran interessiert, also es kamen dann auch später Fragen und
ja, das sind alles sehr gute Fragen.
Ich habe auch, mich würde mal interessieren, ob irgendjemand
anders da eine Antwort drauf gefunden hat, die befriedigend ist.
Was ich irgendwann mal gemacht habe, als ich dieses Problem
hatte, ist quasi
Notebooks in
Condor-Pakete automatisch
zu verwandeln, die dann
in einem Django-Five-Field hochzuladen, dann
so einen uniken Namespace
für das Paket zu benutzen und dann den Kram da
draus zu importieren, dynamisch.
Das geht alles irgendwie, es war nicht so schön, aber
Das ist ja auch ein schmutziger Hack.
Ja, aber ja, nicht ganz so schmutzig
wie Pickle vielleicht, aber auch sehr schmutzig, ja, das stimmt schon.
Aber ich habe in der Tat was Ähnliches gemacht,
also weil, du musst ja auch, also
Reproducible-Zeugs dann
machen, also gerade wenn du wissenschaftlich arbeitest.
Ich habe, also
in den Notebooks gearbeitet
und dann die Sachen, die etablierter
waren, die man halt wiederverwendet hat,
wirklich in mein eigenes kleines Python-Package
in Git, was ich dann wieder
sowohl in die Notebooks oder halt in andere
Sachen importieren kann. Also ich habe
mir wirklich angewöhnt, die Sachen
dann in mein eigenes
kleines Paket zu packen, was ich benutzen kann.
Das klingt
erstmal nach viel Arbeit, wenn man es sich angewöhnt
und irgendwie da hat, dann ist das,
weil plötzlich hat man Git, kann man Review,
kann man alles Mögliche machen, also wenn man
auch im Team arbeitet oder so, also war jetzt bei mir
weniger der Fall, aber man hat eine Historie und so,
man hat Branches und
du kannst es ja trotzdem jederzeit in deinen
Notebook wieder importieren.
Genau, man kann es dann auch mal wieder reproduzieren.
Weil man hat ja auch viel so
Boilerplate-Code-Daten, also
das Modell trainieren ist ja irgendwie
in einer API in irgendeiner Form oder halt irgendein,
also du nutzt ja Scikit oder irgendwas,
aber du hast ja immer diesen ganzen
Clean-Up-Code, dieses Zeugs drumherum,
was du auch dann irgendwie wiederverwendest
und da hat sich
das, hat funktioniert
so, also hat sich am Anfang wie
Overcrowded gefühlt, aber wurde
dann mehr und mehr, ja,
hat sich mehr und mehr ausgezahlt.
Und dann hast du auch kein Deployment-Problem
mehr sozusagen, weil dann
kannst du Pip benutzen oder dein eigenes
oder wie auch immer, genau.
Ja.
Ja, okay, dann
denke ich, genau. Also was noch,
ich glaube, du hast ja kurz angeguckt, das Recording vom
RealPython-Podcast.
Ja, genau, gab es im Workshop-Raum
gab es halt irgendwie einen Live-Podcast
irgendwie vom
RealPython-Podcast, also RealPython,
die Seite von Dan Bader,
der Bader, ich meine, der kommt ja
glaube ich aus Deutschland,
ist ja nach Canada ausgewandert oder so.
Ja, das war ganz interessant,
weil das waren schon so,
die haben das relativ professionell gemacht,
die bereiten sich richtig vor,
die haben Notizen vorher und so was,
die lesen relativ
viel ab, das fand ich
schockierend, also
also, also die...
Sowas haben wir noch nie gemacht. Das machen wir nicht, aber
muss man mal drüber nachdenken, ob das
nicht vielleicht ab und an bei manchen Sachen...
Ja, manchmal haben wir auch Notizen.
Aber wir haben die eher so lose,
und du weißt doch, da hast du nach einem Bildschirm, hast du dann so eine kleine
Liste auf, gerade bei den News,
dann schreiben wir da so ein paar... Ja, aber halt höchstens mal Stichpunkte,
aber die haben tatsächlich so Passagen...
Von GPT ausformulierte Vorlesungen.
Ja, ja, ja, okay.
Was natürlich auch ganz gut ist. Kannst du auch professionell machen,
halt, ne? Ja, oder auch andere
Profigeschichte, wo ich da so
dachte, wow, okay, also die haben einmal
verwenden die...
You're looking for your bag, and I just brought it
to the front, where the
Django-Desk is.
Die verwenden so Handmikrofone,
dynamische Handmikrofone
und Kopfhörer.
Das machen wir nicht, wir machen ja Head-Sides,
weil für Leute, die das nicht gewohnt sind,
ist das schwierig mit der Mikrofondisziplin, weil du musst immer
ungefähr den gleichen Abstand anhalten.
Ansonsten wird das halt...
Das ist, glaube ich, schwierig.
Für uns ist das schwierig, machen auch dauernd, aber genau,
die kriegen das halt hin, also muss man halt
können. Und dann
ist da im einen irgendwie...
Christopher Trudeau oder so, der hat dann irgendwie
sich verhaspelt oder verschluckt
oder musste sich räuspern oder so,
machte eine kurze Pause, sagte
den gleichen Satz komplett nochmal,
damit er das halt sehr leicht rausschneiden kann.
Also wirklich so, dachte ich so, wow, das ist...
Ich muss dann immer so...
Ich muss dann immer wieder anfangen zu schneiden und Ende
und jetzt klingt es okay,
aber es macht halt semantisch keinen Sinn mehr, weil da einfach
was fehlt und so. Aber nein, man muss dann
einfach nochmal den Satz sagen.
Ja, aber bei uns passieren noch solche Fehler.
Nie, gar nicht.
Ja. Wir lassen uns einfach alles
drin. Das erklären wir dann zu uns.
Das Format Podcast ist doch irgendwie
ein bisschen...
Wir haben übrigens dann auch quasi, es gab so ein Q&A-Teil
mit dem Publikum und dann haben sie halt auch irgendwie noch
ein Interview... Hast du gemeine Fragen gestellt?
Deine Fragen? Hast du gemeine Fragen gestellt?
Ich habe keine Fragen gestellt. Nee, weil
das kommt ja auch in den Podcast rein und ich dachte so,
hm, ich weiß nicht, das klingt bestimmt nicht so gut,
wenn ich das sage.
Aber genau,
sie haben dann auch ein Interview mit Sarah Boyce
gemacht und ja,
also war, ich fand es interessant
zu sehen. Und die machen alles mit
DaVinci Resolve, weil sie eigentlich auch die ganze
Videoproduktion für RealPython
Podcast machen und haben
dann sowieso, ich weiß gar nicht mehr,
so ein Plugin für DaVinci Resolve mit, da machen sie auch
den ganzen Audiokram. Naja, also war interessant.
Ich fand es gut. Okay.
Ja.
Worüber wollen wir denn noch sprechen? Feature Flex?
Da saß sie auf jeden Fall drin?
Ja, da waren wir drin, aber
war jetzt nicht so beeindruckend. Also sie hat halt
gezeigt, dass man ein Feature
durch einen Boolean Flag
aktivieren kann und dann kann man es ausprobieren
und wenn es okay ist, kann man es übernehmen und wenn es
nicht okay ist, übernimmt man es nicht. Fand ich jetzt
nicht so aufregend, um ehrlich
zu sein. Okay. Ich fand den Tipp am Ende
wichtig. Man muss sie halt wieder
rausschmeißen, sonst kriegt man Ärger.
Kriegt man nur Probleme mit
Produktteam oder mit
Codebase, was
schon wichtig ist, aber ja.
Also ich wollte mich tatsächlich einfühlen, weil ich brauche das dann
einzustellen, ja. Eine Sache, die ich gelernt habe
in vergangenen Projekten, ist, dass
Feature Flags immer von
negativ, das heißt, der
vorherige Zustand ist false und
der neue Zustand ist true und man muss es
immer in der Richtung machen, weil sonst kommt man
durcheinander und dann hat man irgendwann Riesenchaos und weiß nicht
mehr, welche eigentlich aktiv sind und
welche eigentlich aktiv sein sollten und das ist das.
Also, ja. Aber,
ja, war eine,
es war ein Denkanstoß, aber
wenn man den Gedanken schon mal hatte, dann war es halt nicht.
Okay.
Genau, dann gab es einen Vortrag über HTMX.
Ja. Der war auch mehr so
ein, ich würde eher sagen,
Evangelizing-Vortrag. Ja. Jeder sollte
einmal in seinem Leben HTMX ausprobiert haben,
weil man hat das Licht gesehen
und es war sehr unterhaltsam,
aber jetzt auch nicht viel Neues gelernt.
Ja. Das wissen
unsere Hörer natürlich alle schon, weil unsere Hörer sind ganz
tolle Leute und wir wissen
schon, dass HTMX super ist.
Benutzt du jetzt auch? Ne, also
bisher noch nicht so richtig.
Okay.
Ich glaube, es hat sich nicht, also
ich glaube, es hat sich einfach noch nicht so richtig ergeben,
aber ich glaube, es hat sich einfach noch nicht so richtig ergeben,
ähm, es muss halt, ich glaube, es muss
das richtige Projekt sein. Ich habe auch so ein, zwei,
drei andere für gebraucht, aber dann irgendwann alles umgestellt.
Aber gut, wir haben halt auch
ein Team, also das hat so
ein bisschen, also. Ja, das braucht
man ja da nicht mehr.
Oh, oh.
Also, ja, genau, also
wie gesagt, ich glaube, es kommt halt
einfach aufs Projekt an, würde ich
sagen und du musst halt gucken, was, also
das richtige Tool fürs richtige
Projekt nehmen irgendwo.
Genau. Macht ihr dann React mit VJS
oder?
So, genau, je nachdem, also genau, also
das oder einfach auch klassische
Templates, also ich meine, es gibt
auch durchaus, ähm, auch wenn das jetzt
sehr langweilig vielleicht klingt. Ja.
Vorteil von einem Request-Response-Cycle
und das war's und dann gibt's die nächste Page,
weil dann hat man, also, also
so keine Partials, weil
Das ist sauber und solide und man kommt
ungeheuer weiter mit und es funktioniert überall.
Ich find das auch nicht so schlecht. Also das ist, was
wir jetzt viel machen, oder
im letzten Projekt jetzt echt gemacht haben, ist,
viel einfach klassisch, äh, das
und dann für den, für das eine
komplizierte Widget-Web-Components
entweder in React oder in V, was,
ähm, man muss mal,
also wir sind noch nicht ganz durch mit dem Projekt, aber ich,
also zumindest die Idee mag ich sehr.
Ich kann irgendwann mal sagen, wie
gut das dann skaliert hat, äh,
weil, also, da kann man die halt auch unabhängig
testen, man hat diese ganze Node
Frontend-Zeugs
und, aber komplett entkoppelt,
aber kann die halt im Template einfach
definieren, gibt die Properties,
gibt die Properties rein, fertig, hat eine
saubere Trennung. Klingt nach was, was
Jochen machen würde.
Äh, ja, nur wahrscheinlich dann eher Vanilla
JavaScript in Web-Components, aber, aber
ja, ja, Web-Components find ich auch
super. Ja, ja.
Dann, was, auf jeden Fall, 1001
Sango-Scheiß, den, den hab ich mich sehr geärgert, dass ich
den verfasst hab, aber dann... Ja, äh, ich hab
vorher noch einen angeguckt, den über die
Database-Operations. Ah. Ja.
Und der war tatsächlich ganz interessant, weil... Ah, Karen, nochmal?
Genau. Das war schön, ja. Das war sehr...
Das war aber eine andere Karen. Ach, eine andere Karen.
Okay, Karen Dex. Die war von Crunchy, Crunchy Data,
Managed Data, aber, äh, Duncan Mung, wenn man das, also Crunchy...
Ah, ja, okay. Die andere war von Cactus, äh,
ja, aber... Ah, ja.
Äh, ja, genau, das war interessant, weil die hat einfach
gezeigt, was passiert überhaupt, wenn man so eine Abfrage macht.
Also, wenn man in Django auf, äh,
Objects.all
macht, was passiert denn dann da überhaupt?
Und zwar auf, auch auf
technischer Ebene. Also, da wird dann erst dieses Select erzeugt
und das Select wird hingeschickt und dann
wird, äh, werden da die vier Phasen
gemacht, ähm,
und dann kommt es irgendwie zu einem
Ausführungsplan und der Plan hängt davon ab, was
für eine Abfrage das ist und welche Indizes es gibt
und was ist überhaupt ein Index und warum funktioniert
der und warum ist der schnell und was muss man...
Ja, es war wirklich sehr... Wo wird der gespeichert und so?
So ein bisschen Datenbank-Crash-Kurs, aber...
Also muss ich tatsächlich da nochmal gucken.
Ein netter Refresher
und eine nette Einführung.
auch, also Einführungs...
Ja, sogar geht schon ein bisschen tiefer als Einführungs...
Ja, auf jeden Fall. Aber so eine nette
Zusammenfassung jetzt, genau, das war...
Genau, es war ein Überblick über die Internals.
Nee, das fand ich auch sehr schön.
Genau, dann 1001 Stories, das war sehr lustig,
weil da saß ich neben dem Jochen
und das war sehr
schön erzählt, ja, sehr schöne Folien
und auch sehr schön gezeigt
und das ist von
Code Red und die haben jetzt
ein Django-Webhosting und damit haben sie jetzt kürzlich
die 1000 gehosteten
Seiten überschritten und das hat er eben
sehr schön dargestellt, welche
Herausforderungen man
da findet, wenn man viele Django-Seiten
hostet. Aber es war
deshalb interessant, weil
der Jochen irgendwie immer nervöser wurde, weil die ganzen
Schlussfolgerungen, die sie gezogen haben, so ein bisschen
dem widersprechen, was der Jochen da
hat vorgestellt. Genau, das muss man genau erklären.
Naja gut, es lag auch vielleicht einfach daran, dass
ich wenig geschlafen hatte und dann inzwischen schon
zu viel gesehen und dann werde ich halt dann irgendwann
unleidlich und ungenädig oder so, vielleicht
liegt es auch daran.
Bitte, das wollen wir hören, Jochen, jetzt.
Ja, also
der Vortrag war sehr gut und so, also die machen
bestimmt auch. Aber
ja, diese
Geschichte, dass man immer mehr Abstraktionen braucht, weiß ich
nicht, ob das so der richtige Weg für alles ist.
Und dann vor allen Dingen hatte ich halt das Gefühl, das war
oft so mehr so Cargo-Kult.
Es kamen dann auch später Fragen, wo dann, ja, warum
ist das denn ein Security-Vorteil, wenn ihr das irgendwie
in Docker packt und muss man da nicht auch Sachen abziehen?
Ja, weil das macht man halt so und
ja, dann haben wir das nochmal
gechallengedutet und es war nicht so wirklich
begründet.
Die Überraschungsstelle für mich
war, als er gesagt hat, wir haben sehr viele unterschiedliche
Workloads und deshalb können wir nicht
Kubernetes benutzen. Das ist für mich so
der primäre Anwendungsfall
von Kubernetes, dass man viele unterschiedliche
Arbeiten macht. Man hört das andersrum.
Ja, und an der Stelle haben sie
gesagt, ja, und dann haben wir was Eigenes entwickelt. Und es
sah aber für mich am Ende auch so ein bisschen aus wie
Kubernetes selbst gebaut,
weil er halt gesagt hat, ja, wir können
dem System sagen, welche
Unterlage wir haben wollen und welchen Dings da
da rein und dann macht das alles selber und sucht
einen Knoten, wo genügend Platz drauf ist und
da musste ich mich schon sehr an Helmcharts
erinnert fühlen. Und er hat auch so ein Deployment
gezeigt und tatsächlich ist das bei mir auch so ganz ähnlich
irgendwie und
braucht auch ungefähr genauso lang und bei mir
sind das halt so 70 bis 100
Zeilen Ansible je nach Projekt, aber
mehr ist das nicht. Und dann sagt er so, ja, und dann
haben wir alle diese Sachen ausprobiert und nach Jahren haben wir das dann
so hingekriegt, dass wir das machen können. Ich sag mir so,
okay, das war eine ganz schöne Reise
offenbar, aber ja,
gut. Also Jochen ist kurz davor,
seine eigene Junker-Hosting-Firma zu gründen
und ich auch und dann
probiere ich Kubernetes aus und Jochen macht's auf
Bare Metal und dann ist das so.
Genau,
was wollen wir noch besprechen hier?
Es gab noch einen Vortrag über Two-Factor
Authentication oder Multi-Factor Authentication.
Hatten wir schon so ein bisschen da.
Ja, mit dem Passkiste ist dasselbe Problem.
Macht ihr das? Also die Gründer sind zwar,
man möchte es gerne anbieten für
seine Nutzerin.
Ja, aber das ist so
die Essenz davon. Oder für manche
optional, für die Wichtigen
lieber verpflichtend und
dann, das hilft der Sicherheit.
Es war ganz interessant, weil sie so ein bisschen die
auch die internen Sachen gezeigt hat
und sie hatte so eine coole
Karte dabei,
im Checkkartenformat, wo man draufdrücken kann und dann
kommt diese stille Gezahl.
Das ist natürlich eine super Sache.
Ja, also
Fazit, mehr
Faktor Authentifizierung.
Ja, ansonsten, genau, Genre Admin
at a Scale, da habe ich, das war ein bisschen
schwer zu verstehen. Also die haben da
irgendwie Performance-Probleme gehabt
und das irgendwie dann verbessert und so.
Ja, war auch ein netter
Einstieg. Ich glaube, es waren so Tipps für,
also im Prinzip
steht in der Django-Dokumentation,
aber irgendwie so. Ja, aber einmal
gezeigt. Genau, das, ja.
Und dann natürlich noch die Lightning Talks.
Ja. So, die hast du auch heute aber ein bisschen
besser aufgepasst. Diesmal habe ich aufgepasst, ja.
Ich habe sogar Notizen gemacht. Ich kann euch jetzt alle
Lightning Talks sagen, wenn ihr das wollt. Ja, wollen wir.
Ich muss sie nur noch finden.
Ja, du hast ja gerade eben schon diese schöne Kurve gehabt,
die dann irgendwann runterteilte bei dem
Big-End-Lightning-Talk von dem... Ja, so
der erste Lightning Talk ging über Accessibility,
wie man seine Folien mehr accessible macht.
Das war tatsächlich sehr witzig, weil
zwei Vorträge später
kam die Emma Deliscol,
die sehr schwer lesbare Folien
hatte und es dann auch am Ende bemerkt hat.
Interessant, dass, ich bin
zu dem ersten Talk ein bisschen wieder spät reingekommen.
Heute war so ein Tag.
Und das hätte mich tatsächlich interessiert, weil ich
finde, ich, ich bin jetzt aber
kein Problem mit dem Sehen.
Dunkle Folien viel besser lesbar und ich finde
zum Beispiel, dass in den
Räumen, also gerne lieber weniger Licht,
ich finde, dass das Strom spart. Und es gibt halt
jetzt Leute, die sagen, bitte auf gar keinen Fall
dunkle Folien benutzen, weil das Accessibility
blöd ist, wenn das irgendwie gestreamt wird.
Ja, und auch, weil das
der Beamer verwäscht und dann muss man darauf achten,
dass man nicht die falschen Farben zusammen
kombiniert, weil das halt auf Projektoren oft nicht so...
Aber ja, also ich mag auch lieber dunkle Folien mit
hellem Text als umgekehrt.
Aber sie hat gesagt, lieber andersrum und...
Ja, gut. Ja, okay, ist ja vielleicht eine Frage,
welche Audience da ist, ne? Oder vielleicht kann man ja
beides machen. Oder man gibt die
Accessibility-Folien als Extralink. Ich weiß nicht,
ob das dann eine Hürde ist oder nicht.
Ja, weiß nicht, vielleicht.
Okay, der zweite Tag war
Adding Lint Rules in Large Code Bases.
Und das
war sehr unterhaltsam, weil
am Ende kommt ein
Paket raus, das heißt Silence Lint Errors.
Sehr gut.
Und man sollte es
nicht verwenden, aber sie haben es sich trotzdem geschrieben,
weil man es verwendet. Nein, aber ich glaube,
der Grund vor allen Dingen zum Verwenden ist, dass du einen
Lint neu hast, den du gerne linten möchtest.
Ja, genau. Und dann machst du erst mal
Silence von allen alten, damit du nicht direkt die ganze
Codebase einmal durchmanteln musst. Und dann
werden nur noch alle neuen dann fleißig genutzt.
Genau, die neuen werden automatisch
nacharbeiten. Die neuen werden dann automatisch
gefangen von deinem Linting und die anderen musst du
dann halt nach und nach abarbeiten. Und apropos
nach und nach abarbeiten, weil das war nämlich
Beta,
Watch Your PKs, Tim Bell
ist nochmal auf die Bühne gekommen. Ja.
Und da kamen diese Lektionen
nochmal so ein bisschen.
Hatten wir ja schon am ersten Tag davon gehört,
dass auch die
Space der verfügbaren
Primary Keys kann rausgehen
und man kann sich aber noch einmal retten,
indem man auch negative Primary Keys
zulässt.
Das ist schon hart.
Ja, das ist schon erstmal hart. Aber wenn man dann
auch noch nicht
das Problem an sich gleich behebt,
kann es einem passieren, dass man zwischen
Weihnachten und Neujahr den
Keyspace verliert und dann muss man sich ganz schnell
im Dezember, in der zweiten Dezemberwoche
noch eine Lösung ausdenken. Sehr unterhaltsam
Vortrag.
Genau, dann kam der Vortrag mit den schwer zu lesenden
Folien.
Coole Sache. Jeder hat schon mal
einen Static Site Generator programmiert, auch ich.
Sprich nur für dich. Ach ja, genau.
Ja, ich auch.
Jeder muss das mal machen.
Dann kam How to Exchange
with Community. Fabian hat nochmal
gesprochen darüber, dass
er sich sehr viel mit der Community austauscht und
zwar aus purem Eigennutz,
weil ihn das in seinem eigenen
Projekt einfach weiterbringt, weil
das auch viele Ideen bringt. Und auch das
stimmt sicherlich. Und dann kam ein sehr
mitreißender Vortrag von Daniele Prosila.
Der kann das sehr gut. Er hat auch von
ein paar Leuten schon Keynotes immer wieder gehalten.
Hat alle Leute mitgenommen
und erstmal auf die falsche Fährte
geführt, indem er über Film gesprochen hat.
Na, welche Film guckst du gerne?
Und da gibt es ja auch
tatsächlich Leute, die sich da sehr
dafür interessieren und sehr dafür
engagieren. Und offenbar ist da so einer.
Und dann hat er aber einen Schwenk gemacht und hat
gesagt, so, diese ganzen Film
Typen, die sind alle schön
feingetunt auf gute Farben und
um Menschen gut abzubilden, aber
nur für hellhäutige
Menschen. Und
dann hat er so ein Foto gezeigt,
wo seine Kollegen drauf waren
und eine Person war einfach nicht zu sehen, weil die
einfach in den Hintergrund, die war einfach
ja, voll schwarz
ausgeblendet.
Und er hat dann so ein bisschen den
die Biege gemacht, so
in vielen Systemen sind so
Biases drin,
die da daraus herrühren, dass
einfach unterrepräsentierte Gruppen nicht
an dem System mitwirken. Und wenn
du nicht zu dieser unterrepräsentierten Gruppe gehörst,
dann kannst du diesen Bias nicht sehen.
Das ist übrigens auch etwas, das kostet
in echten Projekten richtig viel Geld,
weil, man glaubt es kaum, aber zu der
unterrepräsentierten Gruppe in diesen Projekten
zählen oft auch die Kunden.
Und das ist,
und das hat genau die Folgen, dass man das
auch schwer nachvollziehen kann, was diese
Probleme haben und was sie eigentlich möchten, wenn die nicht
dabei mitreden, dann ist es schwierig.
Das hat aber auch, also zum Beispiel in der Medizin,
meine Frau ist Ärztin und die
weiß auch solche Beispiele,
dass Frauen schlechter behandelt werden,
weil die einfach nicht so viele Schmerzmittel bekommen,
weil die Männer sagen,
wird schon nicht so schlimm sein.
Oder auch Farbige, die haben offenbar ein anderes
Reaktion
auf Schmerzmedikamente, die kriegen dann einfach nicht so viel,
weil die Ärzte sagen, stell dich nicht so an.
Jammern immer oder irgendwie sowas. Also so
der Casual Racism dann halt auch noch mit reinkommt.
Und das ist natürlich eine tolle Kombination,
ja, unterrepräsentierte Gruppen und Casual Racism.
Das ist
mittelmäßig.
Okay, dann kam Andrew Miller, Writing 100 Words a Day.
Kann mir jedem nur empfehlen.
Fazit war, it worked, but it was
very stressful.
Dann kam JetGPT,
How to Write a Talk with AI.
War sehr unterhaltsam, sehr schönes
von JetGPT geschrieben.
Leider nicht von JetGPT vorgetragen.
Agentic Lightning Talk.
Ja, halb bestimmt, ja.
Dann kam der lustigste
Vortrag des Abends, ein Multiplayer-Game.
Ich glaube, das hat ja der am Abend vorher
Vibe gecodet.
Live auf seinem MacBook ausgeführt
und noch kurz ein paar Variablen geändert.
Sehr unterhaltsam.
Und schließlich zum Abschluss die Ankündigung
der PyCon PT in
Kaschkaisch, in Portugal.
Ist jetzt allerdings schon im Juli,
wenn ich das recht in Erinnerung habe.
Also wer da noch hin möchte, ist ein sehr schöner Ort.
Ich war da schon mal. Cooler Strand.
Aber wer da hin möchte,
muss sich jetzt beeilen.
Genau, und das Konferenzzentrum
hat eine direkte Verbindung zum Strand.
Also man muss nicht mehr über die Straße gehen.
Das ist natürlich großartig.
Ja.
Dann haben wir die DjangoCon geschafft, würde ich sagen, oder?
20 Jahre Django.
20 Jahre.
Stimmt, ein Glas Sekt gab es noch.
Da geben wir jetzt auch ein Glas Sekt.
Und wir haben Hunger.
Genau.
Danke, dass ihr eingeschaltet habt.
Hallo at PythonPodcast.de für jedes Feedback.
Bleibt uns gewogen. Hört uns bald wieder.
Wir wissen auch nicht, wann wir es wieder schaffen.
Ihr kennt das Problem. Aber bald.
Ja, und dann auch noch eine Folge hier.
Genau, das müssen wir dann mal angehen.
Ja, danke für die Einladung.
Schön, dass du dabei warst.
Ja, gerne.
Dann wünsche ich euch einen schönen Tag, Nacht, Morgen.
Einen schönen Tag. Tschüss.