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 hier 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?
Mittags.
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 und das dazu zu sagen.
Also im 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, 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?
Ha, das, 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 der 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, so.
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 Helper-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, ja, kann keine Fehler mehr machen.
Keinen.
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 das schon ein bisschen unterlesen und das eigentlich auch ausprobieren und dann auch machen, damit man da so richtig weiß, was.
Und dann noch einen Blogpost drüber schreiben und einen Podcast aufnehmen.
Ja, okay.
Ja, oder, also, also, ja, auch, also, Django ist halt sehr nett.
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, also, weiß ich nicht, ehrlich gesagt, jetzt.
Ja, musst du ja wieder kennen, es gibt ein, das ist automatisch.
Also, das nicht, glaube, könnt ihr, also, ja, es ist ja im Template, also, und, also, das, das wäre schon, das wäre schon sehr faszinierend, aber, ja.
Okay, cool.
Ja.
Wollen wir einfach die Liste uns durchhangeln und so ein bisschen gucken?
Ja, ich weiß nicht, 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 Konferenz vorbei, wir müssen jetzt essen gehen und Party machen.
Genau.
Das machen wir auch, davon wollen wir auch nicht mehr berichten, wir machen auch keine.
Ähm, aber wir haben gestern beim Jungle, 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, Paskis hat.
War gestern um vier Uhr.
Heute war auch ein bisschen.
Ach, der, ja, doch, ja, okay, dann.
Genau.
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?
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 to 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 finde.
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.
Ja, er war sehr selektiv, 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 und dann, also, so minimal, also, an zwei Stellen war's schon ein bisschen
waghalsig, war so mein Eindruck, aber dafür konnte er dann komplett, äh.
Also, quasi normale Query Sets schreiben, so, dass es mit REST API Framework funktioniert
und so, dass, 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.
Ja, von außen, ne, dann kommt man nicht an den Server selber dran.
Ja, okay.
Nette Idee.
Okay, Passkeys haben wir schon gesagt.
Passkeys.
Steering Council.
Haben wir noch nicht gesagt.
Wir haben noch nicht mit dem Tool gesprochen.
Wir haben noch gesagt, wir wollen den Namen des Tools wegnehmen.
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 Forderung 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, Ascent 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 finden wir ja vielleicht dann auch nicht.
Also, man kann Passwortmanager auch verwenden.
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 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 eure Haltung an Passworten
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 irgendwie Commerzellen-Service sozusagen für das Synchronisieren
oder, da gibt es ja auch so Volt-Warn oder so, glaube ich, was man selber verwendet.
Ja, Bit-Warn kannst du zahlen und dann ist es halt genau das.
Also, 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
weiter gefragt, kann ich sehr empfehlen, es funktioniert.
Prinzipiell ist es ja eine sehr gute Idee, Firmen zu unterstützen, die Open-Source-Software
machen das.
Ja, absolut.
Finde ich gut.
Ja.
Okay.
War jemand bei der Steering-Council-Introduction?
Ja.
Ja?
Und was kam daraus?
Äh.
Steering-Council?
Ich hatte gesagt, ich kann mich nicht mehr so genau daran erinnern.
Es war irgendwie interessant zu hören, dass der Alte ist zurückgetreten, genau, und
dann haben sie jetzt ein bisschen mehr Zeit und, 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 sollen
integriert werden.
Ja, die wollten, 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
6 verschoben worden ist wohl, was halt heißt, da ist irgendwas noch offen oder so.
Habe ich jetzt so interpretiert.
Habt ihr das mal ausprobiert?
Nee.
Äh, nee, ich freue mich schon die ganze Zeit drauf und höre mal von.
Ich werde es jetzt.
Also, wir haben es in der Tat in einem Produktionsprojekt von, also, es ist jetzt aber schon ein paar
Monate her.
her, 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 wirklich
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. Oh,
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. Ach so, oh, okay.
Ja, das
hört sich nach einem guten Termin für einen
Podcast an. Das wollte ich auch gerade sagen, das
schlägt 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.
Ja, das
Dominik hat den vorher in seinem Hotelzimmer schon ausprobiert.
In einem
Monat, wenn die Folgen, 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 habe es ja selber nicht mitgekriegt. Nö, 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 echt spät wurde. Du hast doch in der Folge
gearbeitet, Christian. Ja, genau.
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 Leute.
Kaffee trinken, oder? Ja, Kaffee ist tatsächlich
was sehr Schlechtes zum Einschlafen. Ja, das glaube ich auch.
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
hinein. 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 kann. Tatsächlich auch
nach meinem Bild gesucht. Ich habe das Bild noch nicht gefunden, 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 dem 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, wenn man so normal sitzt,
dann hat man ja doch... Jetzt müssen wir gleich doch...
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, muss man es halt
noch machen und irgendwann schläft man dann ein.
Das hat bei mir gut funktioniert, bei mir auch
und offenbar auch.
Kann jeder mal ausprobieren. Noch einen
Lightning Talk, den du...
Ich fand den von
John Gould 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.
Ich habe die Erfahrung tatsächlich gemacht und das ist jetzt eine
Erklärung. Also ich hatte bisher immer die...
Also ich habe...
Also ganz kurz, das ist ein Recruiter
und er macht ganz viel Recruiting und er bekommt
relativ viele Sachen. Oh, ein spannendes...
Entschuldigung, ich habe 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 ja. Genau, ja.
Genau, das kann man... Genau, aber seine
Message? Ja, ist halt...
Ja, ist schwierig, wenn man jetzt seinen CV irgendwo hin
schickt. Es funktioniert nicht mehr so. 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,
mich niemand angerufen hat,
sowas. Und
da habe ich dann auch die Erfahrung
gemacht, dass ich halt relativ viel Bewerbung und so
losgeschickt habe 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. Bei ihm?
Ja.
Ja. 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...
Also die Antwort ist ja. Ist kaputt?
Ja, vielleicht auch das, aber
naja, tatsächlich ist der Grund, er meint so, naja, also
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...
Ja, manche Network, Network, Network und Visibility,
wenn man die Leute nicht schon kennt,
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.
Der erste, heute früh, war Django for Data Science.
Ja, da war ich auch dran. Von William Vincent.
Ja, William Vincent, ja.
Hast du eigentlich noch mit dem gesprochen, Jochen?
Ich habe mit dem dann noch gesprochen.
Das müssen wir gleich wissen, weil sein Talk ist eigentlich
Deploying vom Machine Learning Model.
Ja, aber...
Aber es ging nicht so wirklich...
Was er vorgetragen hat, war eher Django for Data Science.
Ja, so Beginners...
Also, Django ist auch cool, wenn man Data Science machen will.
Wo er recht hat.
Also, ich würde das auch gerne empfehlen.
Aber das wird halt nicht so oft benutzt, sondern eher fast up hier.
Und dann hat er 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 Deploying vom Machine Learning Model war jetzt nicht so wirklich geklärt.
Das war der Grund, warum ich früher aufgestanden bin.
Ja, er hat schon Job File erwähnt.
Job Load und Dump.
Das läuft ab.
Aber das ist halt Pickel.
Genau, also was jetzt auch vielleicht nicht die aller, 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 das.
Nee, du kannst ja beliebige Dinge pickeln.
Du kannst die komplette Pipeline pickeln.
Normalerweise deployst du ja auch nicht nur das Modell selber,
sondern halt irgendwie auch quasi die Daten-Transformations-Pipelines und so.
Genau.
Was hast du ihm denn gefragt?
Nee, ich hab nur gesagt, hallo.
Das ist auch sehr lustig, weil ich sag immer,
irgendwie, ja, ich mach 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 nur 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, gerade auf drei, vier.
Ich hab halb aufgezeigt, ich mach das ja nicht so viel.
Aber ich komm ja aus der Fabrik.
Aber viele waren das dann nicht mehr.
Und genau, ich meinte halt, oh ja.
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 mach 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 wären die da...
Nicht unbedingt auf die Idee gekommen,
sondern hätten tatsächlich wahrscheinlich eher so was wie FastAPI.
Da könnte man jetzt Nano-Django direkt ins Spiel bringen,
weil das aber auch nur so ein One-Pager 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 FastAPI
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, dass das nicht so einfach ist.
Ja.
Dass sie das Gefühl haben, oh, jetzt gibt es halt...
Also ich meine, wenn mit Django Dokumentationen ausgedrückt werden,
sind das auch irgendwie anderthalb Tausend Seiten, ja.
Wenn man das Gefühl hat, oh, jetzt muss ich mich ernsthaft damit beschäftigen.
Ja, Leute länger im 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.
Insofern, ich habe hier...
Also mein erster Kontakt mit Python war...
Also da gab es Data-Science noch nicht in dem Sinne,
aber ich habe es halt für Datenanalyse benutzt.
Das hieß nicht anders.
Physiker haben das immer schon gemacht.
Und so.
So Wattplotlib-Visualisierung und so Geschichten.
Ich glaube, was extrem stark ist,
also dass 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.
Also wenn man Django nicht kann und das probiert,
dann kriegt man total...
All die schrecklichen Fehlermeldungen,
dass irgendwelche Settings nicht definiert sind.
Und ich glaube, dass das viele...
Also es ist zwar 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 so,
wenn ich dem jetzt ein Example-Book gebe,
mit zwei Queries drin,
dem einen Import, wo die Settings aufgerufen 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.
Ja.
Ich bin Data-Science-Leute.
Dann finde ich das halt nicht.
Und ich glaube, das ist...
Django for Data Science ist tatsächlich nix...
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 ja...
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, 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 heißt 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
nicht mehr, wenn du sagst, das kommen so wenig Leute sonst.
Ja, okay. Ja, aber das
Deployment-Problem quasi ist, finde ich,
mit Pickle halt noch nicht wirklich gelöst. Also,
ich habe das damals, aber wie viel er daran interessiert
wäre, 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 ein
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 kann man auch
im Team arbeiten 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
deinem 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
Cleanup-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.
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,
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 passiert.
Ja, manchmal haben wir auch Notizen.
Aber wir haben die eher so lose und du weißt
doch, du hast dann auf einem Bildschirm hast du dann so eine kleine Liste
auf und 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.
Was natürlich auch ganz
gut ist. Kannst du auch professionell machen halt.
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 jungle desk
is.
Die verwenden so Handmikrofone,
dynamische Handmikrofone und
Kopfhörer.
Das machen wir nicht. Wir machen ja Headset, 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... Auch für uns, die es gewohnt sind, ist das glaube ich schwierig.
Ja, auch für uns, das ist schwierig,
machen auch dauernd. Aber genau, die kriegen das
halt hin. Also es ist auch, muss man halt können.
Und dann macht,
dann ist da im einen irgendwie,
Christopher Trudeau oder so, der hat dann irgendwie sich verhaspelt
und dann verschluckt oder
musste sich häuspern oder so, machte
eine kurze Pause, sagte den gleichen
Satz komplett nochmal,
damit er das halt sehr leicht rausschneiden kann. Ja, so wirklich
so, dachte ich so, wow, das ist, ja, okay.
Ich muss dann immer so, ich guck mal,
wo kann denn hier 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 auch solche Fehler.
Nie, gar nicht.
Ja, wir lassen uns einfach alles
drin. Ja, aber das erklären wir dann zu uns.
Das ist doch auch dann, das Format Podcast, das ist doch irgendwie
ein bisschen der Name. 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-Teil mit. 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. Ja.
Und, 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ßt ihr auf jeden Fall drin?
Ja, da waren wir drin, aber
war jetzt nicht so beeindruckend. Also er hat halt
gezeigt, dass man ein Feature,
äh, 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. Fand den Tipp am Ende
wichtig. Man muss sie halt wieder
rausschmeißen, sonst kriegt man Ärger. Muss wieder aufräumen.
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 an einen
Tag stellen, 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 ne,
es war ein Denkanstoß, aber
wenn man den Gedanken schon mal hatte, dann war es halt nicht.
Okay. Okay.
Genau, dann gab es einen Vortrag über HTMX. Ja.
Der war auch mehr so
ein
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 die
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,
ä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 wir haben halt auch
ein Team, also das hat so ein
bisschen, also. Ja, das braucht
man ja da nicht mehr.
Oh, oh.
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ür das 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,
den 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 finde 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,
äh, 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
rein, fertig, hat eine saubere
Trennung. Klingt nach was, was ich auch
nicht machen würde.
Äh, ja, nur wahrscheinlich dann eher Vanilla
JavaScript in Web-Components, aber, aber ja,
ja, Web-Components finde ich auch super.
Ja, ja. Dann, was,
auf jeden Fall, 1001,
sagen wir scheiße, den, den habe ich mich sehr geärgert, dass ich den
verfasst habe, aber... Ja, äh, ich habe vorher
noch einen angeguckt, den über die Database
Operations. Ah. Ja. Und der
war tatsächlich ganz interessant, weil... Aaron, nochmal?
Genau. Das war schön, ja. Das war sehr...
Das war aber eine andere Karen. Ach, eine andere Karen.
Die war von Crunchy, Crunchy Data,
Managed Data, aber, äh, Duncan, 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 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ührungs-
Plan, 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. Genau. Also muss ich
tatsächlich da nochmal gucken. Ja, den, der lohnt sich.
Ja, der war gut. 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 tausend gehosteten
Seiten überschritten und das hat
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,
warum?
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.
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 rein und dann
macht das alles selber und sucht einen Knoten, wo
genügend Platz drauf ist. 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 denke 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 es 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.
Das hatten wir schon so ein bisschen da.
Ja, mit dem Passkrieg ist dasselbe Problem.
Die Gründer sind zwar, man möchte es gerne
anbieten für alle
seine Nutzerin.
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 Checkkarten-Format,
wo man draufdrücken kann und dann kommt diese
diese stille Gezahl. Das ist natürlich
eine super Sache.
Ja, also Fazit.
Mehr, mehr, mehr Faktor
Authentifizierung.
Ja, ansonsten, genau, Django 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.
Das waren so Tipps für, also
im Prinzip steht in der
Django-Dokumentation, aber
aber einmal gezeigt.
Genau, das, ja.
Und dann natürlich noch die Lightning Talks.
Ja, diesmal habe ich aufgepasst.
Ich habe sogar Notizen
gemacht. Ich kann euch jetzt alle Lightning Talks sagen,
wenn ihr das wollt. Ja, wollen wir.
Musst ihr nur noch finden.
Ja, du hast ja gerade,
eben schon diese schöne Kurve gehabt,
die dann irgendwann runterteilte bei dem Big
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, ich bin auch 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,
kein Problem mit dem Sehen, dunkle Folien
viel besser lesbar und ich finde zum Beispiel
das 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 naja, 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.
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 Arrows.
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 erstmal Silence von allen
Alten, damit du nicht direkt die ganze Codebase einmal
durchmaintainen musst und dann werden nur noch
alle Neuen dann fleißig genutzt und die anderen
darfst du dann 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, what's your PKs?
Tim Bell ist nochmal auf die
Bühne gekommen 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
Generate Static Sites with Django.
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,
engagieren. Und offenbar ist da so einer.
Und dann hat er aber einen Schwenk gemacht und hat gesagt,
so, diese ganzen Filmtypen,
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 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 ja 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,
wo der Casual Racism dann halt auch noch mit reinkommt.
Und das ist natürlich eine tolle Kombination.
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.
Ja, aber halb.
Ja, halb bestimmt, ja.
Dann kam der lustigste
Vortrag des Abends, ein Multiplayer-Game.
Ich glaube, das hatte 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 Ordnung 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.
Stimmt, ein Glas Sekt
gab es noch.
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.
Ja. 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, klar.
Dann wünsche ich euch einen schönen, was auch immer, Tag, Nacht, Morgen.
Einen schönen Tag. Tschüss.