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.
Aber den müssen wir auf jeden Fall nachholen.
Kommt mir gar nichts zu sagen.
Ja, dann fangen wir doch vielleicht einfach damit an.
Ja, der Brief Summary.
Klar, also ich kann es versuchen.
Das wäre cool.
War ja auch nach dem Mittag.
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 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 es ist schwierig, weil 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 kann ja kurz zusammenschreiben, man hat halt Query-Set-Parameter, also Fragezeichen oder halt und, je nachdem.
Man musste die früher halt immer selber zusammenbasteln in den Template und hat so String-Manipulationen, viele Ifs, viel komplizierter insbesondere. Bei Pagination, man hat jetzt schon 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 Weiterseite halt die zwei durch eine Eins oder eine Drei ersetzen.
Da brauchte man dann immer so, wir hatten so helper-Funktionen, so zehn Zeilen Code.
Hat jeder schon mal geschrieben.
Genau, hat jeder schon mal geschrieben.
Jetzt kann man halt das komplett löschen, einfach im Template sagen, QuerySetPage equals to previousPage oder halt dann Eins oder so.
Fertig, ja.
Hinkt angenehm, ja.
Es ist, genau, also, ja, das war eigentlich schon ein gutes Beispiel. Das waren genau so meine Beispiele. Ich habe es vorher gezeigt, so vorher 20 Zeilen Code, jetzt nichts mehr. Und dann halt auch mal, muss man nicht testen, kann keine Fehler mehr machen. Genau, cool.
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, muss man ja so ein bisschen unterlesen und das eigentlich auch ausprobieren und dann auch machen, damit man da so ein bisschen besser ist.
Und dann noch einen Blogpost drüber schreiben und einen Podcast draufnehmen.
Ja, 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, weil das nicht einfach migrierbar ist durch eine Funktion.
Also das war, also weiß ich nicht, ehrlich gesagt
jetzt. Das wahrscheinlich.
Ja, also
das nicht, glaube ich, könnte ich, also
das ist ja im Template, also
das wäre schon sehr faszinierend,
aber ja.
Okay, cool.
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. 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.
Aber wir haben gestern beim Junker,
war da jemand? Ja, ja, ich war da drin.
Das war tatsächlich
ganz unterhaltsam, aber
ich weiß jetzt nicht, ob ich da irgendwie...
Das ist von heute? Ne, das war gestern.
Also Pasquies hat...
Heute war auch ein bisschen... Ach der, ja doch.
Ja, okay, dann...
Wir haben noch ein paar andere Sachen
verpasst, glaube ich, vorher.
Ja, genau, wenn ihr da drin wart, ich war, glaube ich,
sonst gar nichts, weil...
Dynamic Models without Dynamic Models.
Ja, da war ich drin. Das war ja eine sehr verrückte Idee.
Warst du da nicht auch da?
Nein.
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. Als Jason Field.
Okay. Und
das war ganz interessant,
aber es war auch 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, ja, wobei
er ja schon sehr geschickt, also
Get Query Set überschrieben hat, also
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 es schon ein bisschen
waghalsig, war so mein Eindruck.
Aber dafür konnte er dann komplett
quasi normale
Query-Sets schreiben, sodass es mit
REST-API-Framework funktioniert und so.
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 es hingekriegt hat.
Aber wie gesagt, ich würde es niemandem
empfehlen. Also, hört sich so an,
dass mit großer Macht kommt
große Verantwortung in Nutzer-Modellen.
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 vielleicht besser. Ja, von außen, ne?
Dann kommt man nicht an den Server selber dran.
Ja, okay.
Nette Idee. Okay, Passkeys haben wir schon gesagt.
Steering Council. Haben wir noch nicht gesagt.
Wir haben noch nicht mit dem Tool gesprochen.
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 im Grunde
und dann
aber irgendwie
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 und 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, Parsons sind voll die
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... Genau. Wir machen eure
Passwörter sicher, indem wir sie alle zu Apple
und Google geben. Ja, und
das finden wir ja vielleicht dann auch nicht.
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 der Argumentation brechen da zusammen.
Aber du kannst die Passkeys einfach in Bitwarden speichern.
Dann ist es zwar einfach nur ein cooles Passwort, würde ich sagen,
weil du hast zwar am Endeffekt, ob das jetzt Public-Private-Key ist, der in dem Manager ist,
oder halt ein gehashtes Passwort.
Sehr, sehr kleiner semantischer Unterschied, würde ich sagen.
Genau.
Aber dann hast du das Apple-Problem nicht, wollte ich nur sagen.
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, da musst du es ja synchronisieren,
dann geht es mit allen deinen Geräten.
Ja, aber dann ist es halt die Frage, wo ist der Vorteil
gegenüber... Genau, dann ist halt das Hauptargument,
das ist halt weg dann, ja, also
das ist...
Also ich höre raus, ihr seid noch ein bisschen ambivalent.
Ich habe schon einen Passwortmanager, 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 Voltwaden oder so, glaube
ich, was man selber verwendet.
Bitwaden kannst du zahlen und dann ist es
halt genau das, also
ich zahle die, also genau,
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, da 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 es sehr empfehlen.
Es funktioniert.
Prinzipiell ist es ja eine sehr gute
Idee, Firmen zu unterstützen, die Open Source
Software machen.
Finde ich gut.
Okay.
War jemand bei der Steering Council Introduction?
Ja. Und was kam daraus?
Steering Council?
Ich hätte gesagt, ich kann mich nicht mehr so genau daran erinnern.
Es war irgendwie interessant zu hören,
dass der Alte ist zurückgetreten
und dann haben sie jetzt ein bisschen mehr Zeit.
Und, ähm, ja, es war so ein bisschen, was so die Herausforderungen gerade sind.
Sie haben ein bisschen gesagt, was im neuen Django-Version kommt.
Also, Django-Tasks sollen integriert werden.
Ja, 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 noch mal nach 6 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.
Nee, ich freu mich schon die ganze Zeit drauf und hör mal von.
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.
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.
Da haben wir gestern schon drüber gesprochen.
Ja, es gibt ja eine Menge.
Okay, also wir sind Celery schon vor ein paar Jahren losgeworden.
Aber ich würde dem widersprechen.
Eine Geheimlösung, da müssen wir gleich nochmal drüber reden.
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.
Jetzt hat er dich gerade gedisst.
Ihr habt keine richtigen Anforderungen.
Wenn man das nicht braucht, ist das ja sehr schön.
Ich darf jetzt auch nicht für alles
Celery nehmen, sondern...
Ich könnte da, glaube ich, eine Stunde drüber reden.
Wir haben Celery ausgeschmissen, weil
wir die dedizierte Anforderung haben.
Aber das ist ein anderes Thema.
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.
Ich bin bei den Lightning Talks fast eingeschlafen, Johannes, warum denn?
Ja, ich habe nicht so richtig viel mitgekriegt von den Lightning Talks 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 das Test gehört vorher dann irgendwie.
Ja, der 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. Wer kann man jetzt im Moment
nicht... Wolltest du nicht spoilern?
Nicht spoilern. Na gut.
Wie fandest du es? Wie fandet ihr es denn?
Ich war ja... Ich hab's ja selber nicht mitgekriegt.
Nö, ich fand's gut. Ich hab's dann ausprobiert und es hat funktioniert.
Ja, super. Aber ich hab 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.
Also, darf ich's spoilern?
Ja, natürlich. Ja, das waren kleine
Schritte. Also, du musst müde sein.
Ja, das ist Schritt Null. Das vergessen die
Ein Kaffee trinken, oder?
Ja, Kaffee ist tatsächlich was sehr Schlechtes zum Einschlafen.
Und dann muss man seinen Geist
entspannen. Johannes hat gesagt,
man muss sich ein ruhiges Bild vorstellen.
Mit wenig Bewegung ist wichtig.
Du sagst, 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.
Ich habe tatsächlich auch nach meinem Bild gesucht. Ich habe das Bild noch nicht gefunden.
Ich bin vorher eingeschlafen.
Genau, und dann
nach und nach den Körper entspannen.
Weckst ja Body, weckst ja 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, wenn man so normal sitzt, dann hat man ja doch...
Jetzt müssen wir gleich doktorieren, da sind die Leute gerade eingeschlafen.
Ja, liebe Hörer, jetzt sind hier alle... Nein.
Ja, schön.
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, bei mir auch und offenbar auch.
Kann jeder mal ausprobieren.
Noch einen Lightning Talk, den du...
Ja, also 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...
das war eigentlich gar nicht so erfreulich für viele
Menschen, was der gesagt hat. Ich habe die Erfahrung
tatsächlich gemacht und das ist jetzt eine Erklärung.
Also ich hatte bisher immer die Erklärung, 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 haben.
Genau, das kann man...
Aber deine Message?
Ja, es ist halt schwierig, wenn man jetzt
sein CV irgendwo hinschickt.
Ich war jetzt zwischen den Jahren und
Anfang des Jahres auch nochmal auf Projektsuche
und zum ersten Mal seit Jahren,
keine Ahnung, weil
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
Foxtail Talent, also über
bei ihm,
aber ansonsten halt nicht.
Und ich dachte mir, was ist denn los mit den Leuten?
Das passt doch eigentlich gut, das ist doch komisch.
Bin ich zu teuer?
Irgendwie, was ist
kaputt?
Ja, vielleicht auch das, aber
tatsächlich ist der Grund, er meint so, naja, also
so eine durchschnittliche irgendwie
Django-Entwickler-Stelle, sie bekommen da halt
irgendwie über 1000 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, er meinte 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, 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, von William Vincent, ja.
Hast du eigentlich noch mit dem gesprochen, Jochen?
Ich hab mit dem dann noch gesprochen. Das müssen wir gleich wissen,
weil sein Talkie ist eigentlich Deploying vom
Machine Learning Model. Ja, aber
was er vorgetragen hat, war eher
Django for Data Scientists.
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 er erfasst das 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 Deployment von Machine Learning Models war jetzt nicht so wirklich
geklärt. Das war der Grund, warum ich
früher aufgestanden bin. Er hat schon Jobfile
erwähnt. Jobflip,
Load und Dump. Das läuft mit Pickel.
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 picklen, aber
Iris heißt das.
Du kannst ja beliebige Dinge picklen. Du kannst die komplette
Pipeline picklen. Normalerweise deployst
du ja auch nicht nur das Modell selber,
sondern halt irgendwie auch
quasi die Daten-Transformations-Pipelines
und so, Kliniken, Geschichten, die du hast.
Was hast du ihm denn gefragt?
Ne, ich hab nur gesagt, hallo, ich bin der, also
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-Science?
Data-Science waren da nicht mehr,
nicht mehr so viele. Und wer ist beides? Und dann
war, glaube ich, weiß ich nicht, ob ich der Einzige
war, der übrig geblieben ist. Nein, gerade auf drei, vier.
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 Marketingproblem
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 das scheiß API.
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 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 es 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 Leute denken, dass sie Overhead und
Konzentrationsverstehen und schwierig und dann müsst ihr noch das machen.
Ich glaube, es gibt nur einen Grund, wenn ich
einsteigen darf.
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 Wattplotlib-Visualisierung und so
Geschichten. Ich glaube,
was extrem stark ist, also
dass man halt, 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. 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
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 ausgerufen werden, dann
kann er wundervoll damit arbeiten.
Aber es ist so nicht dokumentiert.
Der Use Case wird nirgendwo beschrieben.
Wenn ich jetzt in Google eingebe,
also, das weiß ich nicht,
ich bin Data Scientist, dann finde ich das halt nicht.
Und ich glaube, das ist...
Danke für Data Scientist. Tatsächlich
nix... Es 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
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, ist ja eigentlich ganz
cool, dann kann ich doch 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.
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
Nee, wenn du sagst, das kommen so wenig Leute sonst.
Ja, aber das Deployment-Problem
quasi ist, finde ich, mit Pickel 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.
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
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 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
eh eine 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 es hat sich ja am Anfang wie
Overcrowded gefühlt, aber
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.
Ja.
Ja, okay, dann denke
ich, genau. Also was noch, ich glaube,
du hast ja kurz angeguckt, das Recording vom
RealPython-Podcast. Ja, genau.
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.
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 sowas.
Die lesen relativ viel ab.
Das fand ich
schockierend.
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
Petits in den Wochen. Aber wir haben
die eher so lose und du weißt doch, du hast dann
einen Bildschirm, hast 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 aus formulierte
Vorlesungen. Wir haben richtig Skripte, oder? Ja, ja.
Was natürlich auch ganz gut ist.
Kannst du auch professionell machen halt, ne?
Ja, oder auch andere Profigeschichte,
wo ich 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 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...
Auch für uns, die es gewohnt sind, ist das, glaube ich, schwierig.
Ja, auch für uns, die es schwierig machen, auch dauernd, aber genau.
die kriegen das halt hin, also es ist auch, muss man halt
können und dann
ist dann ein 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
also wirklich so, da dachte ich so, wow, das ist, ja okay
ich muss dann immer so
ich guck mal, wo kann denn die 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 doch solche Fehler.
Nee, gar nicht.
Ja. Wir lassen uns einfach
alles drin. Das erklären wir dann zu uns.
Das ist doch auch das Format Podcast.
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.
Aber genau,
sie haben dann auch ein Interview mit
Sarah Boyce gemacht und
ja, also ich fand es interessant
zu sehen. Und die machen alles mit
DaVinci Resolve, weil sie eigentlich auch die ganzen
Videoproduktionen für RealPython
Podcast machen und
haben dann sowieso, ich weiß gar nicht mehr,
so ein Plugin für DaVinci Resolve, mit dem machen sie
auch den ganzen Audiokram. Naja, also war interessant.
Ich fand es gut.
Okay.
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 er 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. Fand den Tipp am Ende
wichtig. Man muss sie halt wieder
rausschmeißen, sonst kriegt man
nur Probleme mit
Produktteam oder mit
Codebase.
was schon wichtig ist, aber
Also ich wollte mich tatsächlich einfühlen, weil ich brauche das
an einen Taststellen, 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.
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 ihr es auch?
Nee, also bisher noch nicht so richtig.
Ich glaube, es hat sich einfach noch nicht so richtig ergeben.
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...
Ja, das braucht man ja da nicht mehr.
Oh, oh.
Nein, ich meine, da wird es am Rand.
Ja, genau.
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.
Macht ihr dann React oder Vue.js, oder?
Genau, je nachdem.
Also das oder einfach auch klassische Templates.
Also ich meine, es gibt auch durchaus, auch wenn das jetzt sehr langweilig vielleicht klingt,
den Vorteil von einem Request-Response-Cycle und das war's.
dann gibt es die nächste Page, weil dann hat man
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
das und dann
für das eine komplizierte
Widget Web Components,
entweder in React oder in Vue, was
man muss mal, also wir sind
eigentlich 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.
Also, da kann man die halt auch unabhängig
testen. Man hat diese ganze Node
Frontend-Zeugs
aber komplett entkoppelt,
aber kann die halt im Template einfach
definieren, gibt die Properties rein,
fertig, hat eine saubere Trennung.
Klingt nach was, was die auch machen würde.
Ja,
nur wahrscheinlich dann eher Vanilla-JavaScript
in Web-Components, aber ja,
Web-Components finde ich auch super.
Ja, ja. Dann was, auf jeden Fall
1001 Sango Scheiß, den habe ich
mich sehr geärgert, dass ich den verfasst habe.
Ja, ich habe vorher noch einen angeguckt,
den über die Database Operations.
Und der war tatsächlich ganz interessant,
weil... Karen nochmal? Genau. Das war schön, ja.
Das war sehr... Das war aber eine andere Karen.
Ach, eine andere Karen. Die war von
Crunchy Data, Managed Data, aber
die andere war von
Cactus, ja, aber...
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 Objects.all
macht, was passiert
denn da überhaupt? Und zwar
auch auf technischer Ebene. Also da wird dann erst
dieses Select erzeugt und das Select wird hingeschickt
und dann werden da
die vier Phasen gemacht
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, es war wirklich sehr...
Wo wird der gespeichert und so, so ein bisschen Datenbank
Crashkurs. Also muss ich tatsächlich dann nochmal gucken.
Das war 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 tausend 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. 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.
liegt 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
gechallengebootet und es war nicht so wirklich
begründet, warum man das denn jetzt so macht.
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 er 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 lange 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
all 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 es 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
Ja, mit der Passkiste ist dasselbe Problem
Macht ihr das? Also die Gründestens
möchte ich es gerne anbieten für
seine Nutzerin
Ja, aber
Das ist so die Essenz davon.
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
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, 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.
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-Tags.
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 Talk sagen, wenn ihr das wollt. Ja, wollen wir.
Ich muss den nur noch finden.
Ja, du hast ja gerade eben schon diese schöne Kurve gehabt,
die ihn irgendwann runterzählte 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
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 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 ist.
Aber ja, also ich mag auch lieber dunke 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.
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 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 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.
Genau, die neuen werden automatisch gefangen.
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
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, der hat auch von
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, welchen Film guckst du gerne?
Film. 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
Filmtypen, die sind
alle schön fein getunt 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 voll schwarz ausgeblendet.
Und er hat dann so ein bisschen die Biege gemacht.
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 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.
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
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 Digital-Deep-Shop, von JetGPT
geschrieben. Leider nicht von JetGPT vorgetragen.
Ja, aber halb.
JetGPT Lightning Talk. Ja, halb, stimmt.
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 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.
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.
Also...
Stimmt, ein Glas Sekt
gab es.
Und wir haben Hunger.
Danke, dass ihr eingeschaltet habt.
Hallo at peisenpodcast.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
was auch immer Tag, Nacht, Morgen.
Einen schönen Tag. Tschüss.