WEBVTT

00:00:00.000 --> 00:00:03.320
Ja, hallo, herzlich willkommen beim Python-Podcast Episode 63.

00:00:04.000 --> 00:00:06.300
Heute gibt es eine Sonderausgabe.

00:00:06.860 --> 00:00:08.940
Wir sind nämlich auf der JungleCon in Dublin.

00:00:09.360 --> 00:00:10.700
Ja, und wir sind...

00:00:10.700 --> 00:00:11.240
Hallo, Jochen.

00:00:11.440 --> 00:00:13.480
Hallo, Dominik. Johannes, Dominik.

00:00:13.500 --> 00:00:13.780
Johannes.

00:00:13.920 --> 00:00:14.100
Hallo.

00:00:14.600 --> 00:00:15.080
Hi, Sarah.

00:00:15.260 --> 00:00:15.500
Und?

00:00:15.540 --> 00:00:15.720
Hallo.

00:00:16.500 --> 00:00:17.760
Ja, wir haben einen Gast, Sarah.

00:00:18.100 --> 00:00:22.840
Ja, wir wollten euch ein bisschen was erzählen, was hier passiert und das vielleicht auch

00:00:22.840 --> 00:00:24.100
in den nächsten Tagen so machen.

00:00:24.180 --> 00:00:25.100
Das wissen wir aber noch nicht ganz genau.

00:00:25.360 --> 00:00:26.180
Wir wollen nichts mehr versprechen.

00:00:26.280 --> 00:00:28.800
Wir haben letztens schon so ein paar Sachen versprochen, die wir ein bisschen später

00:00:28.800 --> 00:00:29.460
dran waren beim Release.

00:00:29.460 --> 00:00:30.720
Und das machen wir diesmal nicht.

00:00:30.820 --> 00:00:32.760
Sondern wir erzählen euch einfach ein bisschen, wie es hier so ist.

00:00:33.060 --> 00:00:33.960
Wir lassen den News-Tag diesmal weg.

00:00:34.360 --> 00:00:35.220
Und gucken, was passiert.

00:00:35.480 --> 00:00:35.620
Genau.

00:00:36.680 --> 00:00:36.920
Ja.

00:00:37.840 --> 00:00:39.500
Wie gefällt es euch denn hier in Dublin?

00:00:40.360 --> 00:00:44.980
Also, wir sind ja gestern angekommen und wir sind gleich von...

00:00:44.980 --> 00:00:49.440
Am Taxistand hat uns die freundliche Dame darauf hingewiesen, dass heute sehr gutes

00:00:49.440 --> 00:00:52.540
Wetter wäre, weil es nicht regnet.

00:00:53.660 --> 00:00:55.760
Und das hat sich dann hier im Hotel...

00:00:55.760 --> 00:00:57.240
Waren sie auch alle glücklich, dass es nicht regnet?

00:00:57.240 --> 00:00:59.240
Leider hat es dann am Nachmittag...

00:00:59.460 --> 00:01:01.060
Doch noch angefangen zu regnen.

00:01:01.060 --> 00:01:02.260
Aber ich habe gehört, es war average.

00:01:02.880 --> 00:01:03.220
Ja.

00:01:03.380 --> 00:01:04.320
Das ist aber...

00:01:04.320 --> 00:01:04.340
Ja.

00:01:04.680 --> 00:01:09.040
Es war schon so, dass man sieht dann so Regenschlieren so im Wind vorbeiziehen.

00:01:09.160 --> 00:01:09.380
Ja.

00:01:09.500 --> 00:01:12.820
Und als es ins Restaurant reingeregnet hat, haben sie auch alle gesagt, ach, das ist noch

00:01:12.820 --> 00:01:12.940
durch.

00:01:12.940 --> 00:01:14.380
Also seid froh, wenn ihr gerade im Trocknen seid.

00:01:14.400 --> 00:01:15.940
Und es hat auch auf den Tisch getropft ein bisschen.

00:01:16.160 --> 00:01:16.300
Ja.

00:01:16.360 --> 00:01:16.780
Von oben.

00:01:17.300 --> 00:01:17.440
Ja.

00:01:17.500 --> 00:01:18.300
Alles durchschnittlich.

00:01:18.400 --> 00:01:19.620
Nochmal alles irisches Wetter.

00:01:20.080 --> 00:01:20.240
Ja.

00:01:20.380 --> 00:01:22.380
So war unser erster Eindruck gestern.

00:01:23.720 --> 00:01:24.040
Ja.

00:01:24.040 --> 00:01:25.480
Wir sind nämlich auch alle im gleichen Flugzeug gekommen.

00:01:25.560 --> 00:01:26.380
Das fand ich auch sehr lustig.

00:01:26.380 --> 00:01:26.760
Ja.

00:01:26.760 --> 00:01:26.820
Ja.

00:01:26.820 --> 00:01:26.840
Ja.

00:01:26.840 --> 00:01:26.860
Ja.

00:01:26.860 --> 00:01:26.920
Ja.

00:01:26.920 --> 00:01:26.940
Ja.

00:01:29.460 --> 00:01:32.960
Der Abschluss wäre ein großer Verlust gewesen, wenn ein Drittel von den Passagieren

00:01:32.960 --> 00:01:35.580
irgendwie wegen der DjangoCon darüber geflogen ist.

00:01:36.300 --> 00:01:36.420
Ja.

00:01:36.760 --> 00:01:36.900
Ja.

00:01:36.980 --> 00:01:39.260
Aber vielleicht wollen wir auch ein bisschen was zur Konferenz erzählen.

00:01:39.640 --> 00:01:42.600
Und tatsächlich, ich glaube, Sarah, du könntest vielleicht anfangen, weil du hast auch die

00:01:42.600 --> 00:01:43.540
Keynote gehalten am Anfang.

00:01:43.980 --> 00:01:44.160
Ja.

00:01:45.980 --> 00:01:46.680
Ja, klar.

00:01:47.180 --> 00:01:53.620
Ich habe eine Keynote gemacht und ich habe gesprochen über...

00:01:53.620 --> 00:01:55.160
Wie man bei Django mitmachen kann.

00:01:55.460 --> 00:01:55.880
Genau.

00:01:55.880 --> 00:01:58.720
So auf meine Meinung.

00:01:59.460 --> 00:02:09.340
Django braucht mehr PR-Reviews, weil wir haben so viele Pull-Requests und nicht so viele Leute, die PR-Reviews machen.

00:02:10.080 --> 00:02:12.880
Und ich glaube, es ist...

00:02:12.880 --> 00:02:17.760
Nicht so viele Leute denken, das ist ein gutes Ding zu machen.

00:02:18.400 --> 00:02:21.000
Es ist natürlich auch total schwierig, weil man traut sich das erstmal gar nicht zu.

00:02:21.140 --> 00:02:24.980
Warum sollte ich jetzt unbedingt so das große Django-Reviewen machen?

00:02:25.820 --> 00:02:28.800
Aber das, was du gesagt hast, macht doch einfach mit.

00:02:28.800 --> 00:02:28.860
Ja.

00:02:28.860 --> 00:02:28.900
Ja.

00:02:28.900 --> 00:02:28.920
Ja.

00:02:28.920 --> 00:02:28.940
Ja.

00:02:28.940 --> 00:02:28.960
Ja.

00:02:28.960 --> 00:02:28.980
Ja.

00:02:28.980 --> 00:02:29.000
Ja.

00:02:29.000 --> 00:02:29.060
Ja.

00:02:29.060 --> 00:02:29.080
Ja.

00:02:29.080 --> 00:02:29.100
Ja.

00:02:29.100 --> 00:02:29.160
Ja.

00:02:29.160 --> 00:02:29.440
Ja.

00:02:29.460 --> 00:02:30.420
Ja.

00:02:30.420 --> 00:02:30.420


00:02:30.420 --> 00:02:31.600
Ja.

00:02:31.600 --> 00:02:31.600


00:02:31.600 --> 00:02:31.720
Ja.

00:02:31.720 --> 00:02:31.720


00:02:31.720 --> 00:02:31.720


00:02:31.720 --> 00:02:31.720


00:02:31.720 --> 00:02:31.720


00:02:31.720 --> 00:02:31.780
Ja.

00:02:31.780 --> 00:02:31.840
Ja.

00:02:31.840 --> 00:02:31.840


00:02:31.840 --> 00:02:31.860
Ja.

00:02:33.060 --> 00:02:34.240
Ja.

00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:34.240


00:02:34.240 --> 00:02:36.360
aktuelle Django Fellow ist und dass sie

00:02:36.360 --> 00:02:38.060
deshalb durchaus Autorität hat,

00:02:38.160 --> 00:02:40.160
darüber zu sprechen, wie man da mitmacht.

00:02:40.880 --> 00:02:42.320
Der Django Fellow ist

00:02:42.320 --> 00:02:44.220
von der Django Software Foundation

00:02:44.220 --> 00:02:46.360
eine Position, wo

00:02:46.360 --> 00:02:48.500
eine Person bezahlt wird,

00:02:48.920 --> 00:02:49.880
um an Django zu arbeiten.

00:02:50.180 --> 00:02:50.560
Vollzeit.

00:02:51.880 --> 00:02:53.620
Das heißt, wie lange machst du das schon so?

00:02:54.120 --> 00:02:55.880
Seit einem Jahr.

00:02:56.100 --> 00:02:58.020
Seit einem Jahr schon. Das heißt, du hast wirklich

00:02:58.020 --> 00:02:59.460
genügend Erfahrung zu sagen,

00:03:00.480 --> 00:03:02.660
was gebraucht wird und was nicht gebraucht wird.

00:03:02.660 --> 00:03:03.180
Ja.

00:03:05.940 --> 00:03:06.980
Wir haben ja alle schon

00:03:06.980 --> 00:03:09.000
in so Umgebungen gearbeitet, wo man

00:03:09.000 --> 00:03:11.060
Pull-Requests macht und wo dann Review gemacht wird.

00:03:11.560 --> 00:03:12.940
Ich hatte immer das Gefühl, dass

00:03:12.940 --> 00:03:13.840
Review so ein bisschen

00:03:13.840 --> 00:03:16.940
die Schranke ist, dass da

00:03:16.940 --> 00:03:18.700
ein Gatekeeper steht,

00:03:18.860 --> 00:03:20.700
der sagt, du darfst oder du darfst nicht.

00:03:21.320 --> 00:03:22.960
Aber es gibt ja noch nach dem Pull-Request

00:03:22.960 --> 00:03:25.020
die Mergers. Genau. Das ist der

00:03:25.020 --> 00:03:27.000
erste Sicherheitsmechanismus, der mir

00:03:27.000 --> 00:03:28.920
gut gefallen hat, dass man

00:03:28.920 --> 00:03:30.380
nicht die alleinige Verantwortung hat.

00:03:30.940 --> 00:03:32.640
Aber du hast ja schon so ins Plenum gesagt,

00:03:32.660 --> 00:03:34.240
tut das bitte.

00:03:35.140 --> 00:03:35.640
Genau.

00:03:36.940 --> 00:03:38.940
Ich hoffe, dass es mehr

00:03:38.940 --> 00:03:41.080
als ein Mann

00:03:41.080 --> 00:03:42.480
das Pull-Request

00:03:42.480 --> 00:03:43.860
Review machen kann.

00:03:44.420 --> 00:03:45.980
Wir können vielen Leuten

00:03:45.980 --> 00:03:49.360
ihre Meinung

00:03:49.360 --> 00:03:50.880
sprechen, dass

00:03:50.880 --> 00:03:52.660
diese Feature

00:03:53.200 --> 00:03:54.400
gefällt mir oder nicht.

00:03:55.760 --> 00:03:56.720
Es gibt ja so

00:03:56.720 --> 00:03:58.320
verschiedene Seiten, von denen man das sehen kann.

00:03:58.880 --> 00:04:00.540
Jeder hat ja so einen eigenen Stil.

00:04:00.540 --> 00:04:01.780
Da gefällt anderen Leuten

00:04:01.780 --> 00:04:03.800
andere Dinge auf.

00:04:04.020 --> 00:04:04.440
Ja, klar.

00:04:06.260 --> 00:04:08.160
Ja, aber gibt es

00:04:08.160 --> 00:04:10.680
irgendeine Erkenntnis

00:04:10.680 --> 00:04:12.060
darüber, warum das vielleicht so wenig,

00:04:12.200 --> 00:04:13.340
warum Leute das nicht so gerne machen?

00:04:13.560 --> 00:04:16.360
Könnte man die Motivation

00:04:16.360 --> 00:04:17.020
leicht verbessern?

00:04:17.260 --> 00:04:17.980
Ich weiß es nicht so genau.

00:04:18.000 --> 00:04:24.940
Es ist schwer zu sagen,

00:04:25.240 --> 00:04:26.440
warum man

00:04:26.440 --> 00:04:28.480
das machen sollte, weil

00:04:28.480 --> 00:04:30.060
es gibt

00:04:30.060 --> 00:04:31.540
kein Geld,

00:04:31.780 --> 00:04:32.820
und

00:04:32.820 --> 00:04:35.340
das sie meistens auch nicht.

00:04:37.540 --> 00:04:39.440
Und dann, du bist nicht die

00:04:39.440 --> 00:04:42.000
Ose

00:04:42.000 --> 00:04:43.720
von dieser Code.

00:04:44.220 --> 00:04:46.340
Genau, der Ruhm und Ehre geht an den Menschen,

00:04:46.460 --> 00:04:47.600
der diesen Code mitgeschrieben hat.

00:04:48.620 --> 00:04:50.660
Ich weiß nicht,

00:04:51.220 --> 00:04:52.800
warum es gibt

00:04:52.800 --> 00:04:54.460
ein paar Leute,

00:04:54.720 --> 00:04:56.140
die zu viel Zeit

00:04:56.140 --> 00:04:58.140
investieren

00:04:58.140 --> 00:04:59.940
schon, aber

00:04:59.940 --> 00:05:00.860
ähm,

00:05:01.780 --> 00:05:04.280
ob man ein paar

00:05:04.280 --> 00:05:08.020
Stunden pro Monat

00:05:08.020 --> 00:05:10.100
kann PR-Reviews

00:05:10.100 --> 00:05:10.300
machen,

00:05:10.300 --> 00:05:18.320
dann es kann

00:05:18.320 --> 00:05:20.400
so viel für

00:05:20.400 --> 00:05:20.820
Django

00:05:20.820 --> 00:05:22.580
machen.

00:05:23.080 --> 00:05:24.920
Die Django-Community profitiert auf jeden Fall

00:05:24.920 --> 00:05:25.140
von

00:05:25.140 --> 00:05:28.420
diesen Dingen. Ich habe es mir tatsächlich

00:05:28.420 --> 00:05:30.440
überlegt, ob ich nicht mal mir sowas angucken will,

00:05:30.500 --> 00:05:31.360
und hatte mich auch gefragt,

00:05:31.780 --> 00:05:33.320
ob ich mich denn für gut genug halte,

00:05:33.440 --> 00:05:35.580
das Django-Review zu machen. Das war tatsächlich

00:05:35.580 --> 00:05:36.300
auch so eine Hürde.

00:05:37.040 --> 00:05:37.920
Auf jeden Fall.

00:05:37.920 --> 00:05:39.040
Ja, auf jeden Fall.

00:05:39.300 --> 00:05:42.160
Es gibt einen Endpunkt, also code.django-project.com,

00:05:42.680 --> 00:05:44.160
wo man dann halt

00:05:44.160 --> 00:05:46.000
die offenen Pull-Requesting kann und filtern kann

00:05:46.000 --> 00:05:47.780
nach Dingen, die einen interessieren, und da kann man

00:05:47.780 --> 00:05:49.660
sich dann mit auseinandersetzen und

00:05:49.660 --> 00:05:52.060
sich einen raussuchen, wo man halt tatsächlich

00:05:52.060 --> 00:05:54.040
schauen kann. Es gibt auch

00:05:54.040 --> 00:05:55.700
eine Anleitung, ja, also ein Contributor's Guide,

00:05:55.800 --> 00:05:57.880
wo man halt ein bisschen sieht, auf was man

00:05:57.880 --> 00:05:59.880
alles achten soll. Ich glaube, die Sachen, die man

00:05:59.880 --> 00:06:01.720
da sieht, sind schon durch verschiedene Prozesse,

00:06:01.720 --> 00:06:04.000
gegangen. Also ihr nennt das Triage, glaube ich.

00:06:04.160 --> 00:06:04.280
Ja.

00:06:05.180 --> 00:06:07.640
In diesem Triage wird halt geguckt,

00:06:07.740 --> 00:06:10.100
gibt es schon Tests, gibt es schon Dokumentationen,

00:06:10.240 --> 00:06:11.780
und ist das denn alles einigermaßen

00:06:11.780 --> 00:06:13.920
ordentlich. Und was ich auch spannend

00:06:13.920 --> 00:06:15.780
herausfordernd fand, war, dass es

00:06:15.780 --> 00:06:17.720
halt verschiedene Teile von Django gibt, die

00:06:17.720 --> 00:06:19.820
alle auch einen unterschiedlichen Stil haben. Also wahrscheinlich

00:06:19.820 --> 00:06:21.220
weil unterschiedliche Leute daran geschrieben haben,

00:06:21.300 --> 00:06:23.040
das so herauszufinden. Das ist schon

00:06:23.040 --> 00:06:25.500
interessant, sich da so ein bisschen dran zu

00:06:25.500 --> 00:06:27.420
deklinieren.

00:06:27.520 --> 00:06:28.480
Es gibt halt so Teile, wo

00:06:29.980 --> 00:06:31.220
die Innereien vom ORM

00:06:31.220 --> 00:06:31.700
oder so, da geht es halt nicht.

00:06:31.720 --> 00:06:33.480
Ich glaube, viele Leute würden da zurückschrecken

00:06:33.480 --> 00:06:34.480
und denken so, oh, oh.

00:06:35.560 --> 00:06:37.540
Da sind vielleicht auch nicht ganz so viele PRs

00:06:37.540 --> 00:06:37.800
offen.

00:06:38.360 --> 00:06:41.400
Genau, das ist ja auch interessant. Gibt es da irgendwie Tendenzen,

00:06:41.680 --> 00:06:43.600
wo halt die meisten Pull-Requests

00:06:43.600 --> 00:06:45.660
offen sind, oder ist es

00:06:45.660 --> 00:06:47.400
komplett über die Code-Basis verteilt?

00:06:47.700 --> 00:06:49.500
Es gibt viel für die

00:06:49.500 --> 00:06:50.860
ORM. Es ist ein

00:06:50.860 --> 00:06:53.680
sehr...

00:06:53.680 --> 00:06:55.400
Es ist ein großer Teil. Ja, genau.

00:06:55.660 --> 00:06:57.460
Und es ist ein...

00:06:58.320 --> 00:06:59.360
Ja, ein Kern,

00:06:59.500 --> 00:07:01.620
ein Kernbaustein. Genau. Und es gibt,

00:07:01.720 --> 00:07:03.360
ein paar Leute, das können

00:07:03.360 --> 00:07:05.340
diese Reviews sehr gut machen.

00:07:06.100 --> 00:07:07.360
Es gibt einen Mann, der heißt

00:07:07.360 --> 00:07:08.840
Simon Charette.

00:07:09.220 --> 00:07:11.300
Und er macht

00:07:11.300 --> 00:07:13.660
die besten

00:07:13.660 --> 00:07:15.160
Reviews und

00:07:15.160 --> 00:07:17.480
viele seit...

00:07:18.700 --> 00:07:19.420
Es wird

00:07:19.420 --> 00:07:20.940
wie jedes Tag

00:07:20.940 --> 00:07:22.480
ein bisschen

00:07:22.480 --> 00:07:24.340
Fudjango machen.

00:07:25.600 --> 00:07:27.620
Aber ich weiß nicht,

00:07:27.620 --> 00:07:28.220
es gibt

00:07:28.220 --> 00:07:31.600
ein paar PRs für

00:07:31.600 --> 00:07:32.880
vielleicht jedes

00:07:32.880 --> 00:07:35.820
Teil von Django.

00:07:36.920 --> 00:07:38.100
Das heißt, ihr findet auf jeden Fall

00:07:38.100 --> 00:07:39.540
einen Teil, wo ihr noch mitmachen könnt.

00:07:40.320 --> 00:07:41.720
Das ist auf jeden Fall eine gute Sache, ja.

00:07:41.900 --> 00:07:43.460
Und es ist auch eine super wichtige Sache,

00:07:43.620 --> 00:07:45.760
diese Code-Reviews. Also in allen Teams,

00:07:45.860 --> 00:07:47.660
in denen ich bisher gearbeitet habe, waren

00:07:47.660 --> 00:07:49.600
Code-Reviews einfach super wichtig, um

00:07:49.600 --> 00:07:51.340
das Team zusammenzuhalten.

00:07:51.480 --> 00:07:52.700
Gibt es so die lieber, oder wo kommst du sie lieber?

00:07:53.540 --> 00:07:55.540
Das ist eine sehr schwierige Frage, weil es

00:07:55.540 --> 00:07:56.780
sehr auf den Kontext ankommt.

00:07:58.280 --> 00:07:59.620
In den Teams, in denen

00:07:59.620 --> 00:08:01.520
ich gearbeitet habe, habe ich beides gleich gerne

00:08:01.520 --> 00:08:01.580
gemacht.

00:08:01.600 --> 00:08:03.700
Weil es einfach ein Teil

00:08:03.700 --> 00:08:04.960
des... Es war so ein Geben und Nehmen.

00:08:05.400 --> 00:08:06.500
Ja, es war so ein Geben und Nehmen.

00:08:08.500 --> 00:08:09.600
Einerseits habe ich natürlich,

00:08:09.920 --> 00:08:11.700
wenn du einen PR stellst, erwartest du ja

00:08:11.700 --> 00:08:13.300
gerade in einem kommerziellen Kontext,

00:08:13.400 --> 00:08:14.700
dass du nicht vier Wochen warten musst.

00:08:16.600 --> 00:08:17.540
Und das heißt, du möchtest, dass

00:08:17.540 --> 00:08:19.820
die Kollegen das schnell machen. Und umgekehrt

00:08:19.820 --> 00:08:21.660
verpflichtet es dich dann natürlich auch,

00:08:22.300 --> 00:08:23.540
darauf zu reagieren, wenn jemand

00:08:23.540 --> 00:08:24.660
anders einen PR stellt.

00:08:24.900 --> 00:08:27.200
Das ist in Open Source vielleicht noch ein bisschen anders als im

00:08:27.200 --> 00:08:29.660
professionellen Kontext, weil im professionellen Kontext

00:08:29.660 --> 00:08:31.560
hast du halt auch diese politische Ebene dazwischen,

00:08:31.600 --> 00:08:33.480
dass man seine Kollegen immer dann

00:08:33.480 --> 00:08:35.600
direkt mergt, weil man mag die ja und möchte

00:08:35.600 --> 00:08:36.380
keinen Ärger haben.

00:08:36.820 --> 00:08:38.100
Oder man ist nicht allzu kritisch.

00:08:38.160 --> 00:08:41.460
Wenn du mit zehn Leuten zusammenarbeitest, ist das was anderes, als wenn du

00:08:41.460 --> 00:08:43.700
im Open Source mit tausend Leuten

00:08:43.700 --> 00:08:45.180
zusammenarbeitest. Und was man bei einer Firma

00:08:45.180 --> 00:08:47.520
oft machen kann, ist, dass man einfach erst mergt

00:08:47.520 --> 00:08:49.360
und dann reviewt. Das ist jetzt bei Django

00:08:49.360 --> 00:08:50.200
vielleicht eher schlecht.

00:08:52.140 --> 00:08:53.400
Ja, weil wenn

00:08:53.400 --> 00:08:54.880
seine Kollegen

00:08:54.880 --> 00:08:57.480
etwas kaputt machen,

00:08:57.760 --> 00:08:59.600
dann spätestens...

00:08:59.600 --> 00:09:01.260
... und sagt ihnen, du, du, du.

00:09:01.600 --> 00:09:03.020
Das darfst du aber nicht.

00:09:03.360 --> 00:09:04.400
Mach das nicht nochmal.

00:09:05.160 --> 00:09:06.580
Ja, aber wenn man Tests gehabt hätte...

00:09:06.580 --> 00:09:09.020
Ja klar, also in dem Sinne ist das Review hier

00:09:09.020 --> 00:09:10.560
ein viel größeres Quality-Gate.

00:09:10.660 --> 00:09:12.300
Es ist ein viel größeres...

00:09:12.300 --> 00:09:14.300
Es darf nur Sachen rein, die auch

00:09:14.300 --> 00:09:16.320
reingehören. Aber umso wichtiger

00:09:16.320 --> 00:09:18.340
ist es ja, dass tatsächlich Leute kommen und das dann

00:09:18.340 --> 00:09:18.720
auch tun.

00:09:20.040 --> 00:09:21.980
Und ich glaube, auch als Reviewer kann man was lernen.

00:09:22.160 --> 00:09:23.280
Also auch, wie man Reviews macht.

00:09:23.640 --> 00:09:25.840
Und es ist ein sehr wichtiger Skill.

00:09:26.600 --> 00:09:28.300
Und ich glaube aber, dass es nicht...

00:09:29.540 --> 00:09:29.920
Also für mich

00:09:29.920 --> 00:09:31.540
ein Kernpunkt, den ich

00:09:31.540 --> 00:09:33.000
mir bei deinem Vortrag auch gedacht habe, ist,

00:09:33.340 --> 00:09:35.380
wenn ich einen PR stelle, dann habe ich hinterher eine Zahl

00:09:35.380 --> 00:09:37.100
an meinem GitHub-Account.

00:09:37.760 --> 00:09:38.980
Wenn ich Review mache,

00:09:39.300 --> 00:09:41.120
dann stecke ich da vielleicht genauso viele Stunden rein.

00:09:41.480 --> 00:09:42.760
Aber das ist unsichtbar.

00:09:44.020 --> 00:09:45.620
Und schon allein dieses

00:09:45.620 --> 00:09:47.120
Number-goes-up-Spiel,

00:09:47.200 --> 00:09:49.220
was man da spielt, ist ja schon ein Motivator.

00:09:49.220 --> 00:09:50.200
Ich wünsche dir ein bisschen mehr Gamification.

00:09:51.020 --> 00:09:53.480
Ich weiß, dass das bei mir funktioniert.

00:09:53.620 --> 00:09:55.680
Und ich weiß, dass das bei vielen anderen Leuten funktioniert.

00:09:56.060 --> 00:09:57.380
Und es ist ja auch was wert.

00:09:57.600 --> 00:09:59.660
Es ist ja auch was wert. Das hast du auch in deinem Vortrag

00:09:59.660 --> 00:10:01.180
gesagt. Wenn jemand...

00:10:01.540 --> 00:10:03.300
Bevor sich die Leute für Summer of Code vorbereiten,

00:10:03.400 --> 00:10:04.780
machen sie schnell noch 5 PRs und sagen dann,

00:10:04.800 --> 00:10:06.120
ich habe da was reingekriegt.

00:10:06.780 --> 00:10:09.420
Aber niemand würde auf die Idee kommen, 5 Reviews zu machen.

00:10:09.500 --> 00:10:10.800
Weil da kann man nicht drauf zeigen und sagen,

00:10:11.160 --> 00:10:12.640
ich habe Review gemacht.

00:10:13.480 --> 00:10:15.720
Und ich glaube, das ist einer von den Motivatoren,

00:10:15.880 --> 00:10:17.460
die da einfach fehlt. Aber es ist auch so was

00:10:17.460 --> 00:10:18.140
Unsichtbares.

00:10:19.500 --> 00:10:21.240
Ein PR ist eine Sache und die

00:10:21.240 --> 00:10:23.540
macht man und dann ist die da für immer.

00:10:23.540 --> 00:10:25.660
Und diese Review ist sowas...

00:10:25.660 --> 00:10:27.480
Ich habe dir ein paar Kommentare gesagt.

00:10:28.420 --> 00:10:29.760
Und die werden ja auch unter Umständen

00:10:29.760 --> 00:10:30.880
gar nicht Teil des Repositories.

00:10:31.540 --> 00:10:34.040
Die sind dann einfach im Truck und das Truck wird dann

00:10:34.040 --> 00:10:36.260
irgendwann irgendwas anderes migriert

00:10:36.260 --> 00:10:37.220
und dann...

00:10:37.220 --> 00:10:39.900
Also es ist einfach nicht sichtbar. Es ist nicht sichtbar,

00:10:40.040 --> 00:10:41.300
dass jemand Review gemacht hat.

00:10:41.700 --> 00:10:44.300
Es gibt keinen Punkt, den man dafür kriegt.

00:10:44.380 --> 00:10:44.980
Kein Sternchen.

00:10:45.220 --> 00:10:46.840
Ruhm und Ehre der Community.

00:10:47.020 --> 00:10:50.480
Ja, natürlich. Es verbessert das, aber das reicht offenbar nicht.

00:10:50.500 --> 00:10:51.820
Denkst du, es gibt etwas,

00:10:51.820 --> 00:10:54.120
dass Django machen kann für das?

00:10:55.040 --> 00:10:56.020
Ja, es wurde ja vorhin auch schon

00:10:56.020 --> 00:10:57.640
vorgeschlagen, oder es wurde vorhin auch schon angesprochen,

00:10:57.760 --> 00:10:59.060
dass man einfach das sichtbar macht.

00:10:59.060 --> 00:10:59.480
Okay.

00:10:59.680 --> 00:11:01.600
Dass man sichtbar macht, wer Reviews macht.

00:11:02.400 --> 00:11:03.620
Auch bei der ersten schon.

00:11:03.820 --> 00:11:05.960
Du hast auch gesagt, es gibt eine Gruppe von Leuten,

00:11:06.300 --> 00:11:08.100
die das, keine Ahnung, Review-Bit haben

00:11:08.100 --> 00:11:09.800
oder wie auch immer, die dann halt da aufgehört sind.

00:11:10.500 --> 00:11:12.380
Aber das ist für mich jetzt als

00:11:12.380 --> 00:11:15.500
Angestellten oder als Freelancer,

00:11:15.680 --> 00:11:16.700
ich habe da nicht genügend Zeit,

00:11:16.780 --> 00:11:17.960
um in diese Gruppe vorzustoßen.

00:11:19.340 --> 00:11:20.340
Das heißt für mich

00:11:20.340 --> 00:11:22.300
als Einzelperson wäre es wichtig,

00:11:22.620 --> 00:11:24.160
dass, wenn ich so ein Review mache,

00:11:24.840 --> 00:11:26.300
dass es dann auch sofort irgendwo steht.

00:11:26.300 --> 00:11:28.500
Also ich will Instant Gratification haben.

00:11:29.060 --> 00:11:29.120
Ja.

00:11:30.040 --> 00:11:31.980
Und ich glaube, wenn man das sichtbar machen würde,

00:11:32.060 --> 00:11:33.880
dass es das gibt und

00:11:33.880 --> 00:11:36.260
dass man dafür Punkte bekommt, egal welche Art die sind,

00:11:36.420 --> 00:11:38.160
dann würde das schon

00:11:38.160 --> 00:11:39.200
deutlich mehr Leute anziehen.

00:11:39.680 --> 00:11:40.740
Ich weiß aber nicht, ob das

00:11:40.740 --> 00:11:43.160
Pull-Request-Review-Leadership-Board

00:11:43.160 --> 00:11:44.620
vielleicht.

00:11:47.320 --> 00:11:48.220
Umgekehrt muss man natürlich

00:11:48.220 --> 00:11:49.900
auch aufpassen, dass das nicht so Leute anzieht,

00:11:49.980 --> 00:11:50.940
die dann sagen, ja, ja, ja.

00:11:51.140 --> 00:11:51.580
Ja, genau.

00:11:51.580 --> 00:11:51.780
Ja.

00:11:54.340 --> 00:11:55.520
Shai Berger hat

00:11:55.520 --> 00:11:57.440
mir gesagt, dass

00:11:57.440 --> 00:11:59.040
es gab,

00:11:59.060 --> 00:12:00.780
ein Ding

00:12:00.780 --> 00:12:02.400
für die Co-Team.

00:12:02.520 --> 00:12:04.560
Es gibt kein Co-Team jetzt, aber

00:12:04.560 --> 00:12:06.060
vorher,

00:12:06.560 --> 00:12:08.540
man muss fünf

00:12:08.540 --> 00:12:10.620
PR-Reviews machen und dann

00:12:10.620 --> 00:12:12.420
ihre

00:12:12.420 --> 00:12:14.540
PR kann ein Review

00:12:14.540 --> 00:12:16.000
haben.

00:12:16.820 --> 00:12:18.180
Und das hat

00:12:18.180 --> 00:12:19.880
eigentlich funktioniert,

00:12:20.540 --> 00:12:21.820
Shai hat gesagt.

00:12:22.220 --> 00:12:24.360
Vielleicht das ist auch eine Idee,

00:12:24.520 --> 00:12:26.020
dass wir können das wieder machen

00:12:26.020 --> 00:12:27.920
oder etwas ähnlich.

00:12:27.920 --> 00:12:28.000
Ich kann es nicht.

00:12:29.060 --> 00:12:29.360
Keine Ahnung.

00:12:30.260 --> 00:12:31.860
Ja, es gab ja noch die nächste Idee dann,

00:12:31.980 --> 00:12:34.160
dass halt viele von den erfolgreich

00:12:34.160 --> 00:12:36.500
reviewten Pull-Requestern irgendwie

00:12:36.500 --> 00:12:38.620
kurz vor Merchandising bleiben, weil auch da ja

00:12:38.620 --> 00:12:40.680
niemand da ist, der das hauptberuflich macht.

00:12:41.220 --> 00:12:42.420
Und es hat nur sehr wenige

00:12:42.420 --> 00:12:45.020
Merger gibt. Und wir hatten eben

00:12:45.020 --> 00:12:46.960
die Diskussion draußen nochmal.

00:12:47.320 --> 00:12:48.600
Also ich glaube, Karin Gipsen hat gesagt,

00:12:48.680 --> 00:12:50.860
hey, was hältst du denn davon, wenn es

00:12:50.860 --> 00:12:52.700
mehr Leute gibt, die mergen? Und wir haben uns draußen

00:12:52.700 --> 00:12:54.760
unterhalten und gesagt, ja, Django ist

00:12:54.760 --> 00:12:56.720
deswegen toll seit 20 Jahren, weil

00:12:56.720 --> 00:12:58.880
es total stabil ist und der Co total

00:12:58.880 --> 00:13:00.940
super ist und die Dokumentation total toll ist.

00:13:01.460 --> 00:13:02.320
Und ja, dann

00:13:02.320 --> 00:13:04.680
kam halt wieder dieses Thema auf, wer mergt denn das?

00:13:05.060 --> 00:13:07.020
Und das wäre natürlich auf einmal

00:13:07.020 --> 00:13:09.020
muss man sehr aufpassen,

00:13:09.140 --> 00:13:09.740
wer das dann ist.

00:13:10.160 --> 00:13:12.880
Weil sonst hast du halt Sachen drin, die dann vielleicht nicht so

00:13:12.880 --> 00:13:14.960
passen. Und wie viele von diesen Merchants gibt es?

00:13:15.060 --> 00:13:16.880
Keine Ahnung. Also was hältst du

00:13:16.880 --> 00:13:18.780
davon? Also du hast eben gesagt, du weißt

00:13:18.780 --> 00:13:20.780
es nicht genau. Also es gibt

00:13:20.780 --> 00:13:21.600
jetzt

00:13:21.600 --> 00:13:24.580
vier Mergers.

00:13:25.320 --> 00:13:26.680
Es gibt die Fellows,

00:13:26.920 --> 00:13:27.980
ich und Natalia.

00:13:28.880 --> 00:13:31.260
Ich glaube, es gibt Marisch Felisiak

00:13:31.260 --> 00:13:32.900
und Cloud

00:13:32.900 --> 00:13:34.200
Paros.

00:13:36.060 --> 00:13:37.420
Aber die meisten

00:13:37.420 --> 00:13:38.780
Pullrequests sind

00:13:38.780 --> 00:13:41.300
merged bei die Fellows.

00:13:43.860 --> 00:13:44.620
Vielleicht

00:13:44.620 --> 00:13:45.440
Marisch

00:13:45.440 --> 00:13:48.080
macht schon

00:13:48.080 --> 00:13:50.800
ein bisschen mehr. Aber

00:13:50.800 --> 00:13:53.120
ich weiß

00:13:53.120 --> 00:13:54.420
nicht, weil es gibt

00:13:54.420 --> 00:13:56.660
die

00:13:56.660 --> 00:13:58.500
die

00:13:58.500 --> 00:13:58.740
die

00:13:58.740 --> 00:13:58.820
die

00:13:58.820 --> 00:13:58.860
die

00:13:58.860 --> 00:13:59.000
!

00:13:59.000 --> 00:14:00.200
Die Entscheidung, dass

00:14:00.200 --> 00:14:01.000
es ist

00:14:01.000 --> 00:14:03.440
wirklich gut.

00:14:04.040 --> 00:14:05.820
Und es ist auch die Entscheidung,

00:14:06.760 --> 00:14:07.160
dass

00:14:07.160 --> 00:14:09.600
ob etwas

00:14:09.600 --> 00:14:11.960
falsch gemacht oder etwas

00:14:11.960 --> 00:14:13.320
nicht so gut ist, dass

00:14:13.320 --> 00:14:14.760
du das

00:14:14.760 --> 00:14:17.680
besser machst.

00:14:17.880 --> 00:14:19.200
Und du glaubst, dass

00:14:19.200 --> 00:14:21.200
vielleicht diese

00:14:21.200 --> 00:14:24.200
PR-Rotha

00:14:24.200 --> 00:14:25.760
geht weg,

00:14:25.920 --> 00:14:27.540
weil so viele Leute

00:14:27.540 --> 00:14:28.800
bleiben.

00:14:28.800 --> 00:14:29.120
nicht,

00:14:30.760 --> 00:14:33.160
dann, ja, ich verstehe

00:14:33.160 --> 00:14:34.660
die Code gut genug,

00:14:34.940 --> 00:14:36.680
dass ich glaube, ich kann

00:14:36.680 --> 00:14:38.380
das besser machen.

00:14:39.640 --> 00:14:40.740
Und das,

00:14:41.200 --> 00:14:42.600
keine Ahnung, wie

00:14:42.600 --> 00:14:43.360
viele Leute

00:14:43.360 --> 00:14:46.520
würden das auch fühlen,

00:14:46.620 --> 00:14:48.680
weil es ist, für mich,

00:14:48.780 --> 00:14:51.120
ich fühle, das ist echte Arbeit.

00:14:51.360 --> 00:14:52.600
Und vielleicht das

00:14:52.600 --> 00:14:54.320
braucht, ja,

00:14:54.320 --> 00:14:57.180
man sollte Geld verdienen.

00:14:57.480 --> 00:14:58.040
Und das ist

00:14:58.040 --> 00:15:00.260
so, keine Ahnung.

00:15:01.840 --> 00:15:02.500
Aber wir können

00:15:02.500 --> 00:15:03.080
versuchen.

00:15:04.980 --> 00:15:06.020
Das ist so ein Probe-Merch.

00:15:06.860 --> 00:15:07.880
Ich habe das jetzt gemerkt.

00:15:08.220 --> 00:15:09.160
Fandet ihr das auch okay?

00:15:11.380 --> 00:15:12.460
Ja, es ist auf jeden Fall

00:15:12.460 --> 00:15:13.180
ein schwieriges Problem.

00:15:14.180 --> 00:15:16.620
Wir haben da ja auch gestern drüber gesprochen.

00:15:16.960 --> 00:15:18.460
Die technischen Probleme sind ja

00:15:18.460 --> 00:15:20.160
oft relativ einfach.

00:15:20.380 --> 00:15:21.480
Also da kommen wir alle klar damit.

00:15:22.240 --> 00:15:24.080
Aber dann die organisatorischen und die Menschen

00:15:24.080 --> 00:15:25.660
und die sozialen und die psychologischen.

00:15:25.880 --> 00:15:27.160
Und dann, da

00:15:27.160 --> 00:15:29.540
ist es oft schwieriger als

00:15:29.540 --> 00:15:30.840
der reine Code.

00:15:30.960 --> 00:15:32.000
Da gab es auch noch den nächsten

00:15:32.000 --> 00:15:34.620
interessanten Vorschlag. Und zwar, dass man halt die

00:15:34.620 --> 00:15:36.860
LNMs zur Hilfe nimmt, um bestimmte

00:15:36.860 --> 00:15:38.080
Stufen da vorzubereiten.

00:15:39.240 --> 00:15:40.900
Ich finde die Idee gar nicht

00:15:40.900 --> 00:15:42.620
schlecht, ehrlicherweise. Weil ich glaube, wenn man

00:15:42.620 --> 00:15:44.800
sich so ein bisschen Arbeit macht mit so Agents,

00:15:44.920 --> 00:15:46.900
die dann customized sind für

00:15:46.900 --> 00:15:48.860
Dango-Poll-Requests oder sowas, dann kommt man

00:15:48.860 --> 00:15:50.820
da relativ weit mit. Also auch

00:15:50.820 --> 00:15:52.420
mit dem Reviewen von diesen Poll-Requests.

00:15:54.020 --> 00:15:54.820
Ja, aber was da...

00:15:54.820 --> 00:15:57.000
Naja, ich kann natürlich auch so ein Katzen-Maus-Schlüsseln.

00:15:57.000 --> 00:15:57.000


00:15:57.000 --> 00:15:57.000


00:15:57.000 --> 00:15:58.900
Maus-Spiel werden dann.

00:15:59.120 --> 00:16:00.740
Weil es wird dann möglicherweise...

00:16:00.740 --> 00:16:02.880
Also du hast dann halt LNMs, die generieren

00:16:02.880 --> 00:16:04.780
PRs und dann andere LNMs, die

00:16:04.780 --> 00:16:06.100
quasi...

00:16:06.100 --> 00:16:08.880
Und dann kann man auf beiden

00:16:08.880 --> 00:16:11.000
Seiten aufrüsten. Aber irgendwie hilft das...

00:16:11.000 --> 00:16:12.740
Vielleicht kommt ja dann tatsächlich ein ordentlicher

00:16:12.740 --> 00:16:14.860
Poll-Request bei raus. Also das ist ja eigentlich das, was du willst.

00:16:15.120 --> 00:16:16.740
Ja, gut. Von wem der dann kommt, ist ja dann fast...

00:16:16.740 --> 00:16:18.920
Ist auch egal. Genau. Wenn es stimmen würde hinterher,

00:16:18.980 --> 00:16:20.320
dann wäre es auch ein bisschen egal.

00:16:20.960 --> 00:16:22.640
Ja, ich weiß es nicht. Vielleicht müssen wir uns einfach ausprobieren.

00:16:22.720 --> 00:16:23.000
Keine Ahnung.

00:16:23.000 --> 00:16:23.620
Ja.

00:16:25.040 --> 00:16:26.980
Vielleicht das kleiner Übergang.

00:16:27.000 --> 00:16:28.340
Von dem Thema von Sarah.

00:16:28.560 --> 00:16:31.000
Weil es gab noch so ein Workshop, wie man Agents macht.

00:16:31.060 --> 00:16:32.200
Das war auch gar nicht uninteressant.

00:16:34.600 --> 00:16:37.080
Es war nicht ganz so viel Neues zu dem, was wir eh schon so machen.

00:16:37.780 --> 00:16:38.720
Aber es ist schon

00:16:38.720 --> 00:16:40.140
spannend, wie man

00:16:40.140 --> 00:16:42.580
einen Agenten dazu bringt.

00:16:42.640 --> 00:16:44.380
Wie wurde dann da Agents eigentlich definiert?

00:16:44.480 --> 00:16:46.480
Meine Definition vorweg wäre einfach so

00:16:46.480 --> 00:16:48.240
LLM in a loop.

00:16:50.140 --> 00:16:50.900
Ja, okay. Genau.

00:16:51.960 --> 00:16:53.160
Das war ziemlich genau das,

00:16:53.260 --> 00:16:55.060
was wir da gemacht haben. Also ein Loop-Bauen

00:16:55.060 --> 00:16:56.660
für LNMs, die dann verschiedene

00:16:57.000 --> 00:16:59.260
Tests durchgehen können und dann halt Funktionen aufrufen.

00:16:59.580 --> 00:17:00.740
Und es gab aber dann halt

00:17:00.740 --> 00:17:02.860
für eine Beantwortung eine Frage

00:17:02.860 --> 00:17:04.180
am mehrstufigen Agentenprozess,

00:17:04.720 --> 00:17:05.940
um bestimmte Sachen dann

00:17:05.940 --> 00:17:07.120
to buy sind drin.

00:17:07.640 --> 00:17:09.380
Was man halt auch für so ein Pull-Request machen könnte.

00:17:10.060 --> 00:17:11.480
Könnte halt gucken, hey, sind die Docs drin?

00:17:11.600 --> 00:17:14.100
Und so weiter. Sind die denn da? Hast du einen Verbesserungsvorschlag für die Docs?

00:17:14.440 --> 00:17:15.520
Geht es zum nächsten Test? Sind die Tests drin?

00:17:15.580 --> 00:17:17.220
Gehen die Tests durch? In welchem Kontext gehen die Tests?

00:17:17.280 --> 00:17:19.720
Sind die Tests negativ? Ja, also sind die Sachen,

00:17:19.800 --> 00:17:21.920
die zum Beispiel rausgefogen sind, gehen die Tests da

00:17:21.920 --> 00:17:23.360
jetzt auch kaputt? Und wie ist das?

00:17:23.440 --> 00:17:26.080
Und wenn du was verbesserst, wenn du was fixt, hast du einen Test geschrieben vorher,

00:17:26.080 --> 00:17:28.240
der zeigt, dass das kaputt ist und ist der Test danach grün?

00:17:28.700 --> 00:17:30.140
Solche Sachen. Und das kann man,

00:17:30.280 --> 00:17:31.920
glaube ich, durchaus in so mehrstufigen

00:17:31.920 --> 00:17:34.080
Agenten beibringen. Aber auch das,

00:17:34.180 --> 00:17:35.140
dass da wieder Arbeit, ja,

00:17:35.400 --> 00:17:36.760
da weiß man so, hey,

00:17:36.840 --> 00:17:39.680
wir brauchen tatsächlich für diese

00:17:39.680 --> 00:17:41.740
Open-Source-Geschichte so ein bisschen mehr

00:17:41.740 --> 00:17:43.780
Funding. Und das ist auch die Frage, woher das kommt.

00:17:44.200 --> 00:17:45.100
Also da gibt es so

00:17:45.100 --> 00:17:47.420
verschiedene Gates, die wir ja kennen.

00:17:48.040 --> 00:17:49.700
Ja, aber alle unsere Zuhörer werden ja jetzt gleich

00:17:49.700 --> 00:17:51.200
losgehen und PRs reviewen.

00:17:51.640 --> 00:17:54.400
Und auch an die DSF spenden.

00:17:54.660 --> 00:17:55.060
Genau.

00:17:55.060 --> 00:17:57.720
Den Spenden-Link

00:17:57.720 --> 00:17:58.360
posten wir auch.

00:17:58.540 --> 00:18:01.600
Ja, ich habe tatsächlich

00:18:01.600 --> 00:18:03.560
ab und zu mal so die CTOs

00:18:03.560 --> 00:18:05.500
oder ein bisschen anderes Level noch

00:18:05.500 --> 00:18:07.620
versucht zu bequatschen für, hey, wir benutzen

00:18:07.620 --> 00:18:09.460
auch die ganze Zeit so Open-Source-Software. Wie wäre es denn,

00:18:09.540 --> 00:18:11.360
wenn ihr von dem Budget so ein bisschen wieder zurückgebt?

00:18:11.720 --> 00:18:13.220
Und die meiste Antwort war so, ja, warum denn?

00:18:14.620 --> 00:18:15.860
Okay, ja, weil

00:18:15.860 --> 00:18:17.280
ohne das wird es nicht funktionieren.

00:18:17.860 --> 00:18:19.360
Und ich habe das Gefühl, dass man bei den

00:18:19.360 --> 00:18:21.160
kapitalistischen Organisationen da so ein bisschen

00:18:21.160 --> 00:18:23.320
auf wenig Gegenliebe stößt, aber

00:18:23.320 --> 00:18:24.840
vielleicht bei den staatlichen irgendwie,

00:18:25.060 --> 00:18:26.760
zumindest jetzt, wenn

00:18:26.760 --> 00:18:29.320
bestimmte Regionen entdecken, dass das

00:18:29.320 --> 00:18:31.280
ganz gut ist, wenn man unabhängige Software

00:18:31.280 --> 00:18:32.820
hat, die man auch nutzen kann.

00:18:33.480 --> 00:18:34.780
Das ist vielleicht so ein bisschen die Idee.

00:18:35.440 --> 00:18:37.420
Aber auch das wäre so eine Sache, ne? Gibt es da bei

00:18:37.420 --> 00:18:38.740
Django jemanden, der da aktiv

00:18:38.740 --> 00:18:40.920
Fundraising in diese Richtung macht?

00:18:40.940 --> 00:18:43.160
Ja, Carlton. Carlton spricht schon lange davon,

00:18:43.540 --> 00:18:44.640
dass er...

00:18:44.640 --> 00:18:47.520
Klar, es gibt ein Team, es gibt die

00:18:47.520 --> 00:18:49.120
Fundraising Working Group

00:18:49.120 --> 00:18:50.580
und ich glaube,

00:18:51.060 --> 00:18:53.560
sie haben ein paar

00:18:53.560 --> 00:18:54.860
Ideen, dass

00:18:55.060 --> 00:18:57.000
die Django Software Foundation

00:18:57.000 --> 00:18:58.720
machen könnten.

00:19:00.340 --> 00:19:00.900
Aber

00:19:00.900 --> 00:19:03.500
es ist

00:19:03.500 --> 00:19:05.140
nicht so lange

00:19:05.140 --> 00:19:07.040
seit dieser Team

00:19:07.040 --> 00:19:08.300
gegründet war, so

00:19:08.300 --> 00:19:10.720
keine Ahnung, was

00:19:10.720 --> 00:19:12.900
sie machen jetzt.

00:19:13.120 --> 00:19:14.720
Aber hoffentlich...

00:19:14.720 --> 00:19:17.000
Wir haben ein paar Sponsors

00:19:17.000 --> 00:19:18.880
und jedes Jahr

00:19:18.880 --> 00:19:21.100
ich glaube, Catherine

00:19:21.100 --> 00:19:23.400
von der DSF

00:19:23.400 --> 00:19:24.860
wird wieder

00:19:24.860 --> 00:19:26.320
mit diesem Firma

00:19:26.320 --> 00:19:28.140
sprechen und

00:19:28.140 --> 00:19:30.480
sie möchten wieder

00:19:30.480 --> 00:19:31.840
sponsoren.

00:19:33.440 --> 00:19:34.900
Ja, aber es ist

00:19:34.900 --> 00:19:36.440
ein schweres Thema.

00:19:37.440 --> 00:19:38.380
Ob was...

00:19:38.380 --> 00:19:40.720
Ich glaube, die Sponsoren, meistens sind das halt auch

00:19:40.720 --> 00:19:42.400
Leute, die man dann auch persönlich gut kennt.

00:19:42.740 --> 00:19:44.900
Und wo man halt eine Beziehung über ein paar

00:19:44.900 --> 00:19:46.360
Jahre oder aufgebaut hat.

00:19:47.000 --> 00:19:48.420
Was eigentlich ein bisschen schade ist,

00:19:48.520 --> 00:19:50.420
weil es nicht so viele Public-Gedanken gibt.

00:19:51.320 --> 00:19:52.520
Ja, aber im Großen und Ganzen steht

00:19:52.520 --> 00:19:54.600
die Django Software von Deutschland ja schon vergleichsweise gut.

00:19:54.600 --> 00:19:55.680
Die kann sich ja schon zwei

00:19:55.680 --> 00:19:57.800
Leute leisten, die

00:19:57.800 --> 00:20:00.000
also nicht Vollzeit, aber anderthalb

00:20:00.000 --> 00:20:02.440
Vollzeit-Personen. Und das ist ja für

00:20:02.440 --> 00:20:04.080
eine Open-Source-Stiftung

00:20:04.080 --> 00:20:05.620
riesig.

00:20:06.700 --> 00:20:08.500
Ich wüsste nicht, viele anderen Stiftungen

00:20:08.500 --> 00:20:10.500
oder viele anderen Frameworks, die sich so

00:20:10.500 --> 00:20:12.280
viel Betreuung leisten können.

00:20:12.980 --> 00:20:14.600
Also der Erfolg ist ja schon

00:20:14.600 --> 00:20:15.960
da, der muss nur noch größer werden.

00:20:16.900 --> 00:20:18.500
Ja, es gibt natürlich den anderen Weg,

00:20:18.660 --> 00:20:20.360
so Laravel oder sowas, die dann

00:20:20.360 --> 00:20:22.380
auf einzelne Leute mit viel Geld

00:20:22.380 --> 00:20:24.100
gesetzt haben und das dann verkaufen, um

00:20:24.100 --> 00:20:25.580
dann so einzige

00:20:25.580 --> 00:20:28.280
Microservices irgendwie da zu

00:20:28.280 --> 00:20:29.960
monetarisieren. Aber

00:20:29.960 --> 00:20:31.920
ich finde es ganz gut, dass wir das nicht so machen.

00:20:33.740 --> 00:20:34.380
Ja, was gab es denn

00:20:34.380 --> 00:20:35.920
heute noch so alles? Was hatten wir denn noch?

00:20:36.560 --> 00:20:38.260
Ihr wart noch die ganze Zeit in der Main-Hall

00:20:38.260 --> 00:20:39.760
und habt euch die Talks angeguckt.

00:20:40.680 --> 00:20:42.100
Das war auch Senate.

00:20:42.680 --> 00:20:44.280
Ja, das mache ich auch seit einiger

00:20:44.280 --> 00:20:45.980
Zeit sehr, sehr gern irgendwie.

00:20:46.740 --> 00:20:47.920
Ja, das wurde da auch angesprochen

00:20:47.920 --> 00:20:49.480
mit HMX.

00:20:50.160 --> 00:20:52.100
Ich habe eher sonst ein bisschen Probleme, das wirklich zu testen,

00:20:52.140 --> 00:20:54.080
dass das alles funktioniert und dann muss man

00:20:54.100 --> 00:20:55.500
halt auch so End-to-End-Tests machen

00:20:55.500 --> 00:20:58.020
und Playwright funktioniert

00:20:58.020 --> 00:20:58.600
da echt super.

00:20:59.600 --> 00:21:02.340
Wir hatten kurz vorher die Frage,

00:21:02.980 --> 00:21:04.120
macht denn Playwright

00:21:04.120 --> 00:21:06.120
über PyTest dann einen Server auf, den es

00:21:06.120 --> 00:21:07.940
dann richtig benutzen kann? In den Beispielen jetzt,

00:21:08.460 --> 00:21:10.020
da haben sie das so gemacht, aber

00:21:10.020 --> 00:21:11.360
dann hat der,

00:21:11.960 --> 00:21:13.900
wie hieß er noch? Jakob?

00:21:14.460 --> 00:21:15.860
Genau, hat er noch gesagt, ja,

00:21:16.220 --> 00:21:18.120
das hat er jetzt so gezeigt, aber das macht er normalerweise

00:21:18.120 --> 00:21:19.640
nicht so und ich mache das normalerweise auch nicht so,

00:21:20.020 --> 00:21:22.040
sondern ich lasse einen Server

00:21:22.040 --> 00:21:24.080
speziell dafür dann laufen, gegen den,

00:21:24.100 --> 00:21:25.540
den ich dann Playwright laufen lasse.

00:21:27.580 --> 00:21:28.100
Ich weiß

00:21:28.100 --> 00:21:30.220
nicht so genau. Also ich habe noch nicht so wirklich rausgefunden,

00:21:30.280 --> 00:21:31.180
wie man das am besten macht.

00:21:31.880 --> 00:21:33.760
Aber ja, also mein Weg

00:21:33.760 --> 00:21:35.620
ist gerade halt einfach einen

00:21:35.620 --> 00:21:38.140
Server mit einer speziellen Config laufen lassen,

00:21:38.760 --> 00:21:40.100
gegen den

00:21:40.100 --> 00:21:42.300
ich dann Playwright-Tests laufen lasse.

00:21:42.380 --> 00:21:44.140
Dann kann man auch screenshotten, ob das

00:21:44.140 --> 00:21:45.840
Formular ordentlich an der Stelle ist, wo man erwartet

00:21:45.840 --> 00:21:47.440
in verschiedenen Ansichten.

00:21:48.980 --> 00:21:49.920
Ja, das war eine sehr

00:21:49.920 --> 00:21:52.260
interessante Sache, aber das war mehr so ein Denkanstoß,

00:21:52.260 --> 00:21:53.660
fand ich. Ja, das war auch.

00:21:54.100 --> 00:21:55.940
Kurz irgendwie so,

00:21:56.120 --> 00:21:57.560
jetzt geht's los und dann so.

00:21:58.240 --> 00:22:00.100
Alter, katsch. Danke, nicht so doof.

00:22:00.560 --> 00:22:02.280
Aber es ist auf jeden Fall ein sehr interessantes

00:22:02.280 --> 00:22:04.200
Thema und ja, also es ist schon faszinierend,

00:22:04.260 --> 00:22:06.300
was da alles passiert. Was hat man denn

00:22:06.300 --> 00:22:07.660
noch so? Wir hatten noch

00:22:07.660 --> 00:22:09.840
diese unglaublich gute

00:22:09.840 --> 00:22:12.120
War-Story von Tim Bell.

00:22:12.220 --> 00:22:14.020
Ah, ja, ja. Über Datenbanken.

00:22:14.580 --> 00:22:16.060
Ja. Jochen, da weißt du am meisten,

00:22:16.140 --> 00:22:18.020
da hast du am meisten Schmerz gehabt in dem Vortrag.

00:22:18.160 --> 00:22:19.560
Du weißt ja von Datenbanken auch schon so viel.

00:22:19.560 --> 00:22:21.440
Ja, aber das ist natürlich jetzt alles

00:22:21.440 --> 00:22:23.500
total lange her, dass ich viel mit Datenbanken gemacht habe, aber

00:22:23.500 --> 00:22:25.160
ja, also gerade die Namensgebung.

00:22:25.580 --> 00:22:27.460
Also dann haben wir

00:22:27.460 --> 00:22:29.500
eine Schattenspalte

00:22:29.500 --> 00:22:31.420
irgendwie aufgemacht und dann Schattentabellen

00:22:31.420 --> 00:22:33.140
und das, genau so hatten wir das damals auch genannt.

00:22:33.800 --> 00:22:35.600
Und ja, das ist immer das Problem, wenn man halt

00:22:35.600 --> 00:22:37.600
irgendwie viele Änderungen

00:22:37.600 --> 00:22:39.020
gleichzeitig an der Datenbank machen möchte,

00:22:39.700 --> 00:22:41.560
dann beeinträchtigt das halt auch die

00:22:42.280 --> 00:22:43.520
Leseperformance

00:22:43.520 --> 00:22:45.520
halt unter Umständen, wenn halt die Tabellen gelockt

00:22:45.520 --> 00:22:47.480
werden oder allein, wenn es schon langsamer wird,

00:22:47.480 --> 00:22:49.520
ist halt schon blöd. Und wenn

00:22:49.520 --> 00:22:51.500
man jetzt halt irgendwie viele Sachen ändern

00:22:51.500 --> 00:22:53.300
will, dann einmal, ja,

00:22:53.500 --> 00:22:55.920
lockt das die Datenbank, was halt doof ist, unter Umständen

00:22:55.920 --> 00:22:57.520
und was halt auch doof ist,

00:22:57.540 --> 00:22:59.440
ist, dass es halt viel mehr Platz braucht und man

00:22:59.440 --> 00:23:01.400
dann halt halt die Tuppels, also

00:23:01.400 --> 00:23:03.600
Postgres kopiert immer Tuppels,

00:23:03.700 --> 00:23:05.360
ändert die Datenbank

00:23:05.360 --> 00:23:06.860
Zeilen nicht wirklich,

00:23:07.500 --> 00:23:09.600
sondern pügt dann neue Zeilen hinzu und markiert

00:23:09.600 --> 00:23:11.560
die alte als, die kann jetzt weg. Und dann

00:23:11.560 --> 00:23:13.580
muss hinterher der Flop-Sauger rüberfahren und die alle

00:23:13.580 --> 00:23:15.320
aufsaugen und das dauert halt auch lange.

00:23:16.180 --> 00:23:17.520
Und ja, das

00:23:17.520 --> 00:23:19.080
ist halt eine komplizierte Geschichte.

00:23:19.740 --> 00:23:21.380
Und wenn man halt viele Daten hat und so,

00:23:21.780 --> 00:23:23.140
dann, ja, dann

00:23:23.500 --> 00:23:25.580
muss man sich da Strategien überlegen, wie man das hinkriegt,

00:23:25.680 --> 00:23:27.500
ohne den Produktions-, Produktivbetrieb

00:23:27.500 --> 00:23:29.720
kaputt zu machen. Die Strategie, die dann

00:23:29.720 --> 00:23:31.540
gefahren wurde, war, du baust die Tabelle einfach

00:23:31.540 --> 00:23:33.240
in neu daneben

00:23:33.240 --> 00:23:34.860
und replacest das dann.

00:23:35.480 --> 00:23:37.920
Ja, also, oder zuerst mal nimmst du eine neue Spalte

00:23:37.920 --> 00:23:40.020
und hast einen Trigger, der quasi,

00:23:40.160 --> 00:23:41.400
wenn sich was erst an der

00:23:41.400 --> 00:23:43.820
Originalspalte ändert, die Änderungen

00:23:43.820 --> 00:23:44.820
halt überträgt auf die

00:23:44.820 --> 00:23:47.460
neue Spalte. Und

00:23:47.460 --> 00:23:49.460
naja, dann irgendwann

00:23:49.460 --> 00:23:51.720
renames du die Spalten

00:23:51.720 --> 00:23:53.480
halt atomar, was halt dann

00:23:53.500 --> 00:23:55.280
schnell geht. Und

00:23:55.280 --> 00:23:57.620
ja, dann hast du das halt sozusagen

00:23:57.620 --> 00:23:59.600
erledigt, diese Migration.

00:23:59.860 --> 00:24:01.280
Aber ja, das ist halt,

00:24:01.600 --> 00:24:03.000
du kannst das Ganze dann auch noch auf Tabellen machen.

00:24:03.280 --> 00:24:04.420
Damit fangen sie jetzt gerade an.

00:24:05.400 --> 00:24:07.120
Wo man dann halt eventuell sich das Wake-up

00:24:07.120 --> 00:24:09.680
sparen kann, weil man die Tabellen, die man hinterher

00:24:09.680 --> 00:24:11.140
umbenannt hat,

00:24:11.300 --> 00:24:13.540
einfach nur droppen kann. Jetzt musst du einfach noch mal

00:24:13.540 --> 00:24:14.960
kurz das über das Wake-up eingehen, bitte.

00:24:15.280 --> 00:24:18.300
Ja, also Postgres hat halt so einen Auto-Vacuum-

00:24:18.300 --> 00:24:19.000
Prozess, der halt

00:24:19.000 --> 00:24:21.420
dafür sorgt, dass halt nicht die Platte dann irgendwann

00:24:21.420 --> 00:24:23.460
vollläuft oder die Datenbank so langsam wird, weil das Working-Set

00:24:23.500 --> 00:24:24.820
zu groß wird und nicht mehr in den Hauptspeicher passt.

00:24:25.660 --> 00:24:27.500
Und der muss halt ab und zu laufen und die

00:24:27.500 --> 00:24:29.560
gelöschten Zeilen

00:24:29.560 --> 00:24:31.340
halt irgendwie tatsächlich wegwerfen.

00:24:31.640 --> 00:24:33.160
Also der ist der Auflauger? Ja, genau.

00:24:33.600 --> 00:24:35.520
Und genau, das

00:24:35.520 --> 00:24:37.500
ist halt an der Stelle ein Problem, wenn man halt

00:24:37.500 --> 00:24:38.880
viele Änderungen macht und halt dann viele

00:24:38.880 --> 00:24:40.780
gelöschte Zeilen erzeugt.

00:24:41.340 --> 00:24:43.200
Und deswegen vielleicht der Trick mit der,

00:24:43.420 --> 00:24:44.040
man macht das halt

00:24:44.040 --> 00:24:47.540
in einer Tabelle und dann schmeißt man die andere Tabelle einfach.

00:24:47.620 --> 00:24:49.340
Und du hast gesagt, wenn eine Änderung reinkommt,

00:24:49.340 --> 00:24:51.240
die dann quasi das, was man gerade eh ändern will,

00:24:51.300 --> 00:24:52.980
betrifft, dann muss man das dann in beiden Spalten

00:24:53.500 --> 00:24:55.640
machen, oder? Ja, also am Anfang,

00:24:56.040 --> 00:24:58.180
bevor man die Spalten umbenennt,

00:24:58.320 --> 00:24:59.860
hat man einen Trigger, der halt die Änderungen,

00:25:00.000 --> 00:25:01.800
die in der Originalspalte passieren, halt

00:25:01.800 --> 00:25:03.320
überträgt auf die neue.

00:25:03.640 --> 00:25:05.300
Und wenn man das mit Tabellen macht, ist es dann

00:25:05.300 --> 00:25:07.440
genauso. Und

00:25:07.440 --> 00:25:09.260
ja.

00:25:13.400 --> 00:25:15.560
Sarah, geht gerade? Ja, vielen, vielen Dank.

00:25:15.800 --> 00:25:17.240
Du musst noch Tschüss sagen, Sarah.

00:25:18.080 --> 00:25:19.160
Du kannst nicht einfach reden.

00:25:19.240 --> 00:25:20.560
Wir können ja einfach das Thema unterbrechen.

00:25:21.480 --> 00:25:22.580
Wenn Sarah gerade los muss. Tschüss.

00:25:22.740 --> 00:25:23.460
Vielen Dank.

00:25:23.500 --> 00:25:24.400
Danke. Vielen Dank.

00:25:24.400 --> 00:25:25.800
Danke schön. Vielen Dank.

00:25:25.980 --> 00:25:26.180
Ciao.

00:25:28.200 --> 00:25:30.300
Ja, und genau, das erinnert mich sehr stark an das,

00:25:30.580 --> 00:25:32.160
was ich früher auch schon mal gemacht hatte.

00:25:32.260 --> 00:25:33.740
Da hatten wir so ein bisschen so ein Preisvergleich gearbeitet.

00:25:34.040 --> 00:25:35.720
Und da war es auch so, dann kommen dann halt

00:25:35.720 --> 00:25:38.220
neue Daten von irgendwie einem Shop oder so.

00:25:38.260 --> 00:25:40.000
Von Amazon kommt dann irgendwie eine Million neue Angebote

00:25:40.000 --> 00:25:42.160
oder hat sich irgendwie der Preis geändert oder sonst irgendwas.

00:25:42.660 --> 00:25:44.060
Und dann muss man halt das irgendwie ändern.

00:25:44.320 --> 00:25:46.280
Und hatte dann auch das Problem, dass wenn man das halt

00:25:46.280 --> 00:25:48.360
so sukzessive lang...

00:25:48.360 --> 00:25:50.600
Dann dauert es halt ewig, was schlecht ist,

00:25:50.640 --> 00:25:51.980
weil dann stimmen die Preise eine lange Zeit nicht.

00:25:51.980 --> 00:25:53.380
Oder man macht alles auf einmal.

00:25:53.500 --> 00:25:55.640
Dann steht das Produktionssystem, was halt auch schlecht ist,

00:25:55.760 --> 00:25:58.500
weil dann verdient man auch kein Geld mehr.

00:25:59.160 --> 00:26:00.080
Und dann muss man sich halt irgendwie

00:26:00.080 --> 00:26:02.160
komische Dinge überlegen, bei denen man sich immer so fragt,

00:26:02.360 --> 00:26:04.060
ist das, was ich hier mache, eigentlich

00:26:04.060 --> 00:26:05.860
so noch in Übereinstimmung mit der Prophezeiung?

00:26:05.980 --> 00:26:08.240
Oder habe ich mich auf irgendeinen dunklen Pfad

00:26:08.240 --> 00:26:09.960
begeben ohne Wiederkehr oder so?

00:26:11.060 --> 00:26:11.780
Und ja, genau das,

00:26:12.120 --> 00:26:14.360
dieser Vibe war bei diesem Tag

00:26:14.360 --> 00:26:15.120
auch spürbar.

00:26:16.760 --> 00:26:17.540
Ja, er hat auch gesagt,

00:26:18.120 --> 00:26:20.120
also er hat das so ganz freundlich

00:26:20.120 --> 00:26:22.040
und fröhlich vorgetragen und dann zwischendurch hat er gesagt,

00:26:22.040 --> 00:26:23.480
ja, dieser Schritt,

00:26:23.500 --> 00:26:24.720
der hat zwei Monate gedauert.

00:26:24.800 --> 00:26:25.180
Ja, genau.

00:26:27.180 --> 00:26:29.760
Und außerdem haben wir 292 Schritte

00:26:29.760 --> 00:26:31.980
manuell machen müssen für 18 Datenbanken.

00:26:32.280 --> 00:26:33.720
Und das war dann zwischendurch

00:26:33.720 --> 00:26:34.640
so ein kleiner Aufwacher.

00:26:36.340 --> 00:26:37.100
Ja, wie?

00:26:37.660 --> 00:26:39.960
Ja, so ein...

00:26:39.960 --> 00:26:40.140
Ah!

00:26:41.320 --> 00:26:43.420
So viel manuelle Arbeit ist da drin.

00:26:44.380 --> 00:26:45.700
Er hat dann ja auch von seiner

00:26:45.700 --> 00:26:47.640
automatisierten Lösung erzählt.

00:26:48.760 --> 00:26:50.020
Fand ich auch sehr interessant.

00:26:50.020 --> 00:26:52.600
Würde ich mich auch so nicht trauen,

00:26:53.200 --> 00:26:53.480
solche Sachen.

00:26:53.500 --> 00:26:55.020
auf Datenbanken laufen zu lassen.

00:26:55.100 --> 00:26:55.640
Auch für Monate.

00:26:56.420 --> 00:26:58.700
Ich musste auch nochmal mit ihm sprechen und ihn fragen,

00:26:58.840 --> 00:27:01.760
wie sie sicherstellen, dass während dieser Prozess läuft,

00:27:01.860 --> 00:27:02.980
dass dann keine anderen Sachen

00:27:02.980 --> 00:27:04.160
passieren.

00:27:04.920 --> 00:27:07.920
Weil er am Anfang seines Vortrags

00:27:07.920 --> 00:27:09.300
angedeutet hat, dass sehr häufige

00:27:09.300 --> 00:27:11.520
Deployments auf sehr viele verschiedene Systeme machen.

00:27:11.940 --> 00:27:13.100
Und ich könnte mir vorstellen,

00:27:13.240 --> 00:27:15.560
dass wenn da gerade die Schattentabelle befüllt wird,

00:27:17.080 --> 00:27:17.500
dass man

00:27:18.260 --> 00:27:19.200
derweil nicht

00:27:19.200 --> 00:27:21.620
viele andere Migrationen machen sollte.

00:27:21.620 --> 00:27:23.280
Und da sind ja auch

00:27:23.280 --> 00:27:25.500
Abhängigkeiten. Ich darf ja den Code erst ändern,

00:27:25.600 --> 00:27:27.400
wenn diese Schattentabelle fertig

00:27:27.400 --> 00:27:28.320
und eingesetzt ist.

00:27:28.880 --> 00:27:30.580
Erst dann darf ich ja den Django-Code anpassen.

00:27:30.720 --> 00:27:33.100
Das heißt, es ist so ein mehrstufiger Prozess,

00:27:33.260 --> 00:27:35.360
wo man zuerst die Schattentabelle

00:27:35.360 --> 00:27:37.000
anlegt und dann befüllt und dann

00:27:37.000 --> 00:27:39.340
einsetzt und dann erst

00:27:39.340 --> 00:27:40.420
den Django-Code ändert.

00:27:41.080 --> 00:27:43.660
Und wie sie diese Reihenfolge sicherstellen,

00:27:44.220 --> 00:27:45.520
wurde mir aus dem Vortrag

00:27:45.520 --> 00:27:46.200
nicht ersichtlich.

00:27:46.580 --> 00:27:48.500
Die haben sicherlich Systeme und

00:27:48.500 --> 00:27:50.700
Schritte da eingeplant, aber

00:27:50.700 --> 00:27:53.140
das war so für mich nicht sichtbar.

00:27:53.280 --> 00:27:54.100
Ja.

00:27:54.560 --> 00:27:57.500
Danach haben wir uns den Data-Oriented Django

00:27:57.500 --> 00:27:59.160
Vortrag angesehen

00:27:59.160 --> 00:28:01.520
von Adam Johnson, auch über Datenbanken.

00:28:02.360 --> 00:28:03.340
Genau, von dem ist auch schon

00:28:03.340 --> 00:28:04.940
zwei, äh,

00:28:05.040 --> 00:28:05.720
auf jeder Django-Konferenz.

00:28:06.600 --> 00:28:08.220
Er macht auf jeder Django-Konferenz.

00:28:08.240 --> 00:28:11.660
Das war der dritte Teil.

00:28:11.880 --> 00:28:13.300
Und er hat auch gleichzeitig

00:28:13.300 --> 00:28:14.520
drei veröffentlichte Bücher.

00:28:15.280 --> 00:28:16.500
Ah, deswegen drei.

00:28:17.100 --> 00:28:17.320
Genau.

00:28:18.180 --> 00:28:20.660
Das war wie immer super. Er hat halt einen Haufen

00:28:20.660 --> 00:28:22.480
Detail-Informationen darüber,

00:28:22.480 --> 00:28:23.820
was man so an Indizes

00:28:23.820 --> 00:28:26.460
benutzen kann, wie man das in Django macht

00:28:26.460 --> 00:28:28.380
und so. Genau, also im Endeffekt ging es darum,

00:28:28.660 --> 00:28:29.640
wie man Datenbanken identifiziert hat.

00:28:29.640 --> 00:28:31.640
Datenbanken-Reads schneller zu machen und

00:28:31.640 --> 00:28:34.260
das Mittel der Wahl des Indizes. Und ich war

00:28:34.260 --> 00:28:36.220
überrascht, dass es da innerhalb von Django auch so viele

00:28:36.220 --> 00:28:38.220
Möglichkeiten gibt, das anzupassen. Ich dachte, da muss man dann immer

00:28:38.220 --> 00:28:40.180
wo was SQL in die Mutation reinschreiben.

00:28:40.400 --> 00:28:41.220
Hatte ich auch gedacht. Das wusste ich auch nicht.

00:28:41.220 --> 00:28:42.820
Was ich auch schon gesehen habe.

00:28:44.860 --> 00:28:46.480
Wie macht der das dann? Hat der ein

00:28:46.480 --> 00:28:47.800
Index-Field gemacht oder was?

00:28:48.100 --> 00:28:50.540
In die Meta-Klasse kannst du Indizes

00:28:50.540 --> 00:28:52.020
angeben, die für die Tabelle gelten sollen.

00:28:52.480 --> 00:28:54.640
Genau, und da hat der dann einen extra Feld gemacht,

00:28:54.700 --> 00:28:56.460
was der quasi beim Save mitschreibt oder sowas?

00:28:57.560 --> 00:28:58.000
Nee.

00:28:58.700 --> 00:29:00.240
Nein. Nee, das war

00:29:00.240 --> 00:29:02.800
bei Adam Johnson ging es nur

00:29:02.800 --> 00:29:04.960
darum, dass du Reads verbesserst,

00:29:05.060 --> 00:29:06.700
indem du Indizes anlegst, die

00:29:06.700 --> 00:29:08.080
dann von deinen Abfragen genutzt werden.

00:29:08.940 --> 00:29:10.660
Da musst du keine extra Felder dafür

00:29:10.660 --> 00:29:12.540
anlegen, sondern du sagst

00:29:12.540 --> 00:29:14.540
dem ORM nur,

00:29:14.540 --> 00:29:16.440
du möchtest auf diesem Modell einen Index

00:29:16.440 --> 00:29:18.540
haben, der bestimmte Eigenschaften hat und bestimmte

00:29:18.540 --> 00:29:20.600
Felder abdeckt. Und die

00:29:20.600 --> 00:29:22.460
Reads benutzen die automatisch. Also du überlässt

00:29:22.480 --> 00:29:24.460
das quasi der Datenbank dafür zu sorgen, dass

00:29:24.460 --> 00:29:26.400
die richtigen Indizes benutzt werden und musst dann

00:29:26.400 --> 00:29:28.480
nicht separat nochmal was

00:29:28.480 --> 00:29:30.380
machen. Und das ist eigentlich relativ

00:29:30.380 --> 00:29:32.360
bequem. Die überraschendste Sache

00:29:32.360 --> 00:29:34.400
in diesem Vortrag war allerdings, dass man die Default

00:29:34.400 --> 00:29:36.540
Indizes austauschen kann. Das heißt

00:29:36.540 --> 00:29:38.520
auf Primary Keys, auf Foreign Keys

00:29:38.520 --> 00:29:40.540
und auf Unique Felder gibt es

00:29:40.540 --> 00:29:42.200
immer einen Index, braucht die Datenbank,

00:29:42.860 --> 00:29:44.480
um überhaupt

00:29:44.480 --> 00:29:46.460
diese Constraints einhalten zu können, aber die

00:29:46.460 --> 00:29:48.400
kann man ersetzen. Das heißt, wenn man

00:29:48.400 --> 00:29:50.400
weiß, dass man immer zu einer ID

00:29:50.400 --> 00:29:52.360
auch den Namen abruft, könnte

00:29:52.360 --> 00:29:54.300
man das in einen Index reintun und dann diese

00:29:54.300 --> 00:29:56.540
Abfragen nur über ID und Namen machen, dann würde der Zugriff

00:29:56.540 --> 00:29:57.620
nur auf den Index.

00:29:58.240 --> 00:30:00.420
Ja, aber man muss dann auch hinterher so eine

00:30:00.420 --> 00:30:02.220
Methode wie Only auf dem Query Set verwenden.

00:30:02.280 --> 00:30:04.320
Genau, also man muss es dann auch so ein bisschen anpassen, aber diese

00:30:04.320 --> 00:30:06.540
Indizes anpassen, dass ich wusste

00:30:06.540 --> 00:30:08.420
nicht, dass das geht, dass man die Default Indizes

00:30:08.420 --> 00:30:10.380
austauschen kann. Ja, oder dass man

00:30:10.380 --> 00:30:12.380
halt noch zusätzliche Daten in den

00:30:12.380 --> 00:30:14.200
Index mit reinschreiben kann, die dann mit ausgelesen

00:30:14.200 --> 00:30:16.360
werden. Ja, oder was ich auch nicht wusste war, dass

00:30:16.360 --> 00:30:17.960
man auf dem Query Set sagen kann Explain

00:30:17.960 --> 00:30:20.340
und dann auch noch sagen kann sowas wie, dem gibt

00:30:20.340 --> 00:30:22.280
man so ein Argument wie JSON gleich true oder so

00:30:22.360 --> 00:30:24.120
und dann kriegt man JSON zurück und dann kann man

00:30:24.120 --> 00:30:25.940
dieses JSON nehmen und dann in PG Mustard

00:30:25.940 --> 00:30:28.280
reinschmeißen. Was allerdings nicht

00:30:28.280 --> 00:30:29.720
Open Source ist. Ne, stimmt, genau.

00:30:30.660 --> 00:30:32.000
Was ist PG Mustard?

00:30:32.620 --> 00:30:33.780
Senf. Ja, ja,

00:30:34.080 --> 00:30:36.260
aber das ist so ein

00:30:36.260 --> 00:30:38.300
Tool, das dir dabei hilft, deine

00:30:38.300 --> 00:30:39.960
Statements

00:30:39.960 --> 00:30:42.360
zu optimieren. Diese Explains

00:30:42.940 --> 00:30:44.280
sind ein sehr komisches Format.

00:30:44.500 --> 00:30:46.140
Ja, die sind komisch zu lesen. Sehr schwer zu lesen.

00:30:46.220 --> 00:30:48.020
Und PG Mustard macht eine Visualisierung

00:30:48.020 --> 00:30:50.160
erstmal davon, die zeigt dir, welche Tabellen an welchen

00:30:50.160 --> 00:30:52.100
Schritten wie verarbeitet wurden und

00:30:52.100 --> 00:30:53.340
was du besser machen könntest.

00:30:54.080 --> 00:30:55.640
Und das ist, glaube ich, sehr nützlich.

00:30:56.060 --> 00:30:58.080
Was ich mir dann tatsächlich noch gewünscht hätte, also

00:30:58.080 --> 00:30:59.320
wenn das ein Open Source Tool wäre,

00:30:59.960 --> 00:31:02.140
dass man das auf seiner Datenbank laufen lassen kann und

00:31:02.140 --> 00:31:04.280
quasi Explains sich rausfischen

00:31:04.280 --> 00:31:06.200
kann und dann direkt

00:31:06.200 --> 00:31:08.340
diese Indizes anlegen lassen kann.

00:31:08.460 --> 00:31:09.300
Ach so, okay.

00:31:11.540 --> 00:31:12.240
Tatsächlich gar

00:31:12.240 --> 00:31:13.200
nicht so kompliziert.

00:31:13.640 --> 00:31:16.020
Das hätte gesagt, hier wäre ein Index nützlich, probier das mal

00:31:16.020 --> 00:31:17.480
und dann klickst du drauf und dann...

00:31:17.480 --> 00:31:19.800
Man kann aber auch einmal die Datenbank selber kann man

00:31:19.800 --> 00:31:21.960
loggen lassen, zum Beispiel, wenn man sagt, also ab einem

00:31:21.960 --> 00:31:24.040
bestimmten Threshold von Zeit...

00:31:24.040 --> 00:31:26.000
Ich weiß nicht mehr genau, wie es geht. Ich weiß nur, das geht

00:31:26.000 --> 00:31:28.020
schon. Also Queries, die länger brauchen

00:31:28.020 --> 00:31:30.060
als so, logge die mal alle weg,

00:31:30.160 --> 00:31:32.040
damit ich hinterher mir das angucken kann, ob da irgendwas

00:31:32.040 --> 00:31:33.920
drin ist, wo ich offensichtlich sehe,

00:31:34.340 --> 00:31:35.400
wie man das verbessern kann.

00:31:36.020 --> 00:31:38.240
Oder man kann auch sowieso die Dinger mal samplen

00:31:38.240 --> 00:31:39.360
irgendwie, dass man halt

00:31:39.360 --> 00:31:42.000
zumindest einen Teil der Queries

00:31:42.000 --> 00:31:43.920
halt irgendwo hat, dass man halt ein repräsentatives Sample

00:31:43.920 --> 00:31:45.620
der Queries, die so auf der Datenbank laufen, halt

00:31:45.620 --> 00:31:46.740
irgendwo mitloggt.

00:31:47.900 --> 00:31:50.040
Aber ja, das müsste man

00:31:50.040 --> 00:31:51.920
dann auch irgendwie in diese... dass man dann ein Explains

00:31:51.920 --> 00:31:53.540
drauf macht, keine Ahnung. Das müsste man dann noch

00:31:53.540 --> 00:31:55.600
wahrscheinlich selber machen, aber...

00:31:55.600 --> 00:31:57.220
Also da sind noch Lücken

00:31:57.220 --> 00:31:58.500
im Tooling.

00:31:59.200 --> 00:32:00.720
Ja, genau.

00:32:01.520 --> 00:32:03.140
Ja, also jetzt sind wir quasi schon in der Pause.

00:32:03.380 --> 00:32:04.520
Den Rest werden wir wahrscheinlich morgen machen.

00:32:04.780 --> 00:32:06.740
Ich wollte aber doch mal ganz kurz auf diesen Workshop eingehen.

00:32:06.800 --> 00:32:09.040
Ich habe da gestern eben so ein bisschen drüber geskript, einfach weil

00:32:09.040 --> 00:32:11.220
ich Sarah nicht direkt verjagen wollte.

00:32:13.080 --> 00:32:13.800
Es war tatsächlich

00:32:13.800 --> 00:32:15.680
dieses Agent-Ding,

00:32:15.740 --> 00:32:17.360
wie man das halt macht, ja, ist halt Agents

00:32:17.360 --> 00:32:19.700
aneinanderhängen und überpompting.

00:32:19.700 --> 00:32:21.740
Das ist sehr spannend, dass man halt Agents

00:32:21.740 --> 00:32:23.700
fragt, was Agents machen sollen mit dem Ergebnis

00:32:23.700 --> 00:32:25.660
und dann halt verschiedene

00:32:25.660 --> 00:32:27.700
Queries bereitstellt. Das ist aber eigentlich auch

00:32:27.700 --> 00:32:28.920
so nicht so viel Neues, aber

00:32:28.920 --> 00:32:31.540
ich weiß nicht, würdest du das auch so machen?

00:32:32.320 --> 00:32:33.620
Ich weiß es nicht so genau.

00:32:33.720 --> 00:32:34.960
Ich habe mich noch nicht so richtig

00:32:34.960 --> 00:32:37.340
mit diesen ganzen Geschichten beschäftigt.

00:32:37.740 --> 00:32:39.240
Was ich mir schon mal angucken wollte, es gibt auch von

00:32:39.240 --> 00:32:41.780
Pydentic, gibt es irgendwie so ein Projekt

00:32:41.780 --> 00:32:43.440
irgendwie, Pydentic Agents,

00:32:43.640 --> 00:32:45.340
oder ich weiß nicht mehr genau, wie das heißt.

00:32:45.840 --> 00:32:47.640
Das sah ganz interessant aus, dass man das

00:32:47.640 --> 00:32:48.500
halt damit so ein bisschen

00:32:48.500 --> 00:32:51.640
strukturiert,

00:32:51.740 --> 00:32:53.280
strukturierter machen kann, aber

00:32:53.280 --> 00:32:55.400
ich finde das vor allen Dingen blöd, dass das halt die

00:32:55.400 --> 00:32:57.780
Namen da wieder so verwirrend

00:32:57.780 --> 00:32:59.720
sind, weil Agents in dem Kontext,

00:32:59.840 --> 00:33:01.600
in dem Hype-Kontext quasi, oder

00:33:01.600 --> 00:33:03.720
so wie es die Leute jetzt gerade verwenden, halt was ganz

00:33:03.720 --> 00:33:05.660
anderes bedeutet als in einem akademischen

00:33:05.660 --> 00:33:07.580
Bereich und da bedeutet es was ganz anderes als was

00:33:07.580 --> 00:33:09.000
Leute vielleicht darunter verstehen und dann

00:33:09.000 --> 00:33:11.640
naja, es ist irgendwie schwer zu erklären,

00:33:11.740 --> 00:33:13.520
was das denn überhaupt ist. Also ich meine, wenn man

00:33:13.520 --> 00:33:15.640
jetzt einfach sowas sagt, wie ist es halt LLM in einem Loop,

00:33:16.200 --> 00:33:17.640
dann ist es halt relativ klar,

00:33:17.720 --> 00:33:19.220
ja ist okay, ist halt außenrum ein bisschen Logik

00:33:19.220 --> 00:33:21.700
und ab und zu fragt man halt in LLM nach irgendwelchen

00:33:21.700 --> 00:33:23.700
Regeln, ja, aber dann ist halt

00:33:23.700 --> 00:33:25.580
die Frage, ist das jetzt schon wirklich mehr als einfach

00:33:25.580 --> 00:33:27.580
nur irgendwie, man fragt halt die Abis

00:33:27.580 --> 00:33:29.520
von LLMs, warum

00:33:29.520 --> 00:33:31.360
nennt man das jetzt irgendwie, also wo,

00:33:31.600 --> 00:33:33.580
was ist, wenn man die Agents nennt?

00:33:33.580 --> 00:33:35.340
Ja, ich finde ganz strikte Auslegung davon, dass

00:33:35.340 --> 00:33:37.480
nur das ein Agent ist, der selbstständig irgendwelche

00:33:37.480 --> 00:33:39.520
Sachen macht. Ja, der unter seiner Identität irgendwie

00:33:39.520 --> 00:33:41.600
Dinge tut und das ist ja meistens dann überhaupt gar nicht so,

00:33:41.760 --> 00:33:43.620
sondern eher, ja. Ja, aber ich finde,

00:33:43.800 --> 00:33:45.420
da sollte man vielleicht nicht ganz so streng sein, weil

00:33:45.420 --> 00:33:47.700
wenn das Ding halt schon

00:33:47.700 --> 00:33:49.080
dann halt so ein

00:33:49.080 --> 00:33:51.280
Act-Prozess hat, weil du halt diese

00:33:51.700 --> 00:33:53.680
Tools mit Python-Funktionalität verbinden kannst,

00:33:54.100 --> 00:33:55.680
dann ist es ja im Prinzip genau das, was

00:33:55.680 --> 00:33:57.700
du willst. Ja, manche Teile von deinem Code

00:33:57.700 --> 00:33:59.700
sind halt in LLM. Genau, und das

00:33:59.700 --> 00:34:01.860
heißt, du kannst aber dann tatsächlich genau beim LLM

00:34:01.860 --> 00:34:03.720
diesen einen, ob man ihn jetzt Assessor

00:34:03.720 --> 00:34:05.420
nennt oder wie auch immer, über dein

00:34:05.420 --> 00:34:07.680
JSON-Result von dem LLM

00:34:07.680 --> 00:34:09.400
parsen lassen und sagen kann, welche

00:34:09.400 --> 00:34:11.680
Funktion denn dann mit welchen Argumenten ausgeführt werden soll

00:34:11.680 --> 00:34:13.540
und dann kannst du halt dann da schon

00:34:13.540 --> 00:34:15.640
echte Abis anbinden, wo du halt dann eine

00:34:15.640 --> 00:34:17.600
Autonomie, also so weit herstehen kannst,

00:34:17.680 --> 00:34:19.440
wie weil du selber mit deinem Tango in der Lage bist,

00:34:19.940 --> 00:34:21.300
externe Dinge zu steuern.

00:34:21.700 --> 00:34:23.060
Und das ist ja schon irgendwie

00:34:23.060 --> 00:34:24.700
Agentik oder sowas?

00:34:25.620 --> 00:34:27.480
Ja, ist alles noch sehr

00:34:27.480 --> 00:34:28.980
neu, aber ja.

00:34:29.520 --> 00:34:30.580
Ja, ich finde, das ist schon...

00:34:30.580 --> 00:34:33.720
Mehr Agentik als andere Dinge.

00:34:34.680 --> 00:34:35.700
Ja, keine Ahnung.

00:34:36.720 --> 00:34:37.140
Also ja...

00:34:37.140 --> 00:34:39.820
Haben wir eigentlich schon gesagt,

00:34:39.860 --> 00:34:40.820
wo wir sind? Wir sind hier in diesem

00:34:40.820 --> 00:34:43.020
Troll... Wir sind in der Lobby von

00:34:43.020 --> 00:34:45.040
dem Hotel. Vielleicht hört man ein bisschen

00:34:45.040 --> 00:34:47.620
Geräusche oder auch Phonik hat einen sehr guten Job

00:34:47.620 --> 00:34:49.080
gemacht, dann hört man nichts mehr davon.

00:34:49.560 --> 00:34:50.880
Das wissen wir aber jetzt noch nicht.

00:34:50.880 --> 00:34:51.980
Das wissen wir jetzt noch nicht.

00:34:52.140 --> 00:34:54.320
Ja, es gibt ja heute noch ein paar Vorträge

00:34:54.320 --> 00:34:56.240
über Software-Quality. Ich habe mir noch ein paar

00:34:56.240 --> 00:34:58.200
so Sachen rausgeschrieben, über eine Python-Mystery,

00:34:58.360 --> 00:35:00.640
über Celery, über die Worte, die wir benutzen

00:35:00.640 --> 00:35:02.020
und dann natürlich noch Lightning-Talks.

00:35:02.040 --> 00:35:04.020
Und Leute, nicht sehr geschüttelt, Lightning-Talks ist immer gut.

00:35:04.040 --> 00:35:05.880
Du wolltest auch ein Lightning-Talk machen, darüber, wie man

00:35:05.880 --> 00:35:07.500
fünf Minuten einschlafen kann, habe ich gehört.

00:35:07.560 --> 00:35:09.040
Das weiß ich noch nicht, aber ich mich traue.

00:35:09.260 --> 00:35:11.640
Ich hätte gerne direkt am Anfang

00:35:11.640 --> 00:35:12.640
eingeschlafen von dem Lightning-Talk.

00:35:14.620 --> 00:35:15.720
Ich habe ja nur fünf Minuten

00:35:15.720 --> 00:35:17.280
in dem Lightning-Talk. Also es könnte,

00:35:17.800 --> 00:35:19.540
wenn dann alle schlafen, dann raube ich natürlich direkt

00:35:19.540 --> 00:35:20.180
alle Laptops weg.

00:35:20.880 --> 00:35:23.380
Aber ja, also heute sehe ich sie nicht mehr.

00:35:23.460 --> 00:35:25.680
Aber generell ist das eine Experience.

00:35:25.740 --> 00:35:27.180
Ich habe das ja damals in Heidelberg schon gemacht.

00:35:27.340 --> 00:35:28.860
Und ich bin ja auch nicht scheu, jetzt was

00:35:28.860 --> 00:35:31.140
öffentliche Auftritte angeht.

00:35:31.740 --> 00:35:33.740
Aber das ist generell eine Experience, die kann ich jedem

00:35:33.740 --> 00:35:35.900
empfehlen. Und wenn jemand

00:35:35.900 --> 00:35:37.640
die Gelegenheit hat, einen Lightning-Talk

00:35:37.640 --> 00:35:39.880
zu sehen oder zu geben,

00:35:40.100 --> 00:35:41.620
dann sollte man die auf jeden Fall wahrnehmen.

00:35:43.100 --> 00:35:44.020
Und jetzt

00:35:44.020 --> 00:35:45.400
habe ich mich gerade selber überredet, oder?

00:35:45.940 --> 00:35:47.920
Ja. Ich würde sagen,

00:35:48.300 --> 00:35:50.760
wir können gleich über den Lightning-Talk

00:35:50.760 --> 00:35:50.860
von morgen

00:35:50.880 --> 00:35:51.600
von Johannes noch berichten.

00:35:51.600 --> 00:35:52.000
Sehr gut.

00:35:53.100 --> 00:35:56.100
Okay, dann haben wir heute tatsächlich eine kurze

00:35:56.100 --> 00:35:58.260
Folge für euch gehabt.

00:35:58.540 --> 00:36:00.760
Vielleicht die Woche wieder.

00:36:00.880 --> 00:36:01.900
Wir wollen wie gesagt nicht sprechen.

00:36:02.180 --> 00:36:03.840
Aber möglicherweise.

00:36:04.060 --> 00:36:05.640
Für heute hat es mal Spaß gemacht. So einen kleinen

00:36:05.640 --> 00:36:07.820
Sneak-Peak auf die Dangekorn nebenbei.

00:36:08.900 --> 00:36:10.640
Dann schaut ihr rein. Hallo at peisenpodcast.de

00:36:10.640 --> 00:36:11.220
für jedes Feedback.

00:36:12.060 --> 00:36:13.420
Bis bald. Tschüss.
