WEBVTT

00:00:00.000 --> 00:00:04.900
Ja, hallo und herzlich willkommen beim Peißen-Podcast. Heute Episode 40, Jochen, wir haben Jubiläum.

00:00:05.720 --> 00:00:09.200
Oh ja, herzlich willkommen Dominik. Ja, 40.

00:00:09.560 --> 00:00:10.540
40, kann nicht so schlecht, ne?

00:00:10.560 --> 00:00:13.600
Das ist ja schon viel älter, als wir sind.

00:00:15.380 --> 00:00:16.040
Ja, fast.

00:00:17.060 --> 00:00:18.120
Ja, zumindest teilweise.

00:00:19.300 --> 00:00:19.760
Ja, noch.

00:00:20.940 --> 00:00:26.060
So, was wollen wir heute machen? Wir haben ja erst überlegt, ob wir irgendwas über Ensebill erzählen wollen,

00:00:26.060 --> 00:00:32.900
Aber das müssen wir wann anders, glaube ich, nachholen, weil wir niemanden gefunden haben, der sich mit Ensebel so richtig gut auskennt, den wir ja gerne als Gast gehabt hätten.

00:00:34.240 --> 00:00:38.120
Wenn ihr also von Ensebel Ahnung habt und was erzählen wollt, dann sagt uns doch einfach mal Bescheid.

00:00:39.020 --> 00:00:42.580
Das gilt auch übrigens für alles andere Feedback, was ihr uns schicken wollt an hallo.heißenpodcast.de.

00:00:43.040 --> 00:00:52.020
Genau, wenn ihr ein Thema habt, über das ihr gerne mal gesprochen haben wollen würdet, dann könnt ihr das auch gerne selber mit uns tun oder jemanden nennen, die wir mal fragen sollen.

00:00:53.800 --> 00:00:55.760
Wir haben zwar noch viele schöne Themen auf unserer Liste

00:00:55.760 --> 00:00:57.560
und so, aber wir lassen uns auch immer gerne bereichern

00:00:57.560 --> 00:00:59.420
mit neuen tollen Themen. Da müssen wir vielleicht nachher nochmal

00:00:59.420 --> 00:01:01.540
drüber reden, welche Themen das denn sind, damit Leute dann auch

00:01:01.540 --> 00:01:03.560
eine Chance haben, irgendwie zu sagen, ob sie jemanden kennen.

00:01:03.560 --> 00:01:05.440
Die können ja einfach ihr Thema bringen, auf das sie besonders Lust haben.

00:01:05.660 --> 00:01:07.420
Okay, dann sagen wir das jetzt zuerst, wo noch

00:01:07.420 --> 00:01:09.160
so viele Leute dazuhören, dass sie das mal machen sollen.

00:01:09.580 --> 00:01:10.780
Ja, es gibt ja so eine Burnrate.

00:01:11.340 --> 00:01:13.540
Genau, und dann am Schluss ist ja keiner mehr übrig.

00:01:13.940 --> 00:01:15.000
Ja, aber was machen wir denn dann heute?

00:01:15.360 --> 00:01:17.400
Wir wollten einfach so ein bisschen mal wieder kunterbunt

00:01:17.400 --> 00:01:18.980
durcheinander reden,

00:01:19.280 --> 00:01:21.540
Zeugs besprechen. Eben so Metageschichten vielleicht

00:01:21.540 --> 00:01:23.640
tatsächlich mal wieder. Das haben wir jetzt auch schon länger nicht mehr gemacht.

00:01:23.800 --> 00:01:26.040
so eben, über was man mal reden könnte

00:01:26.040 --> 00:01:27.960
oder ja, was wir

00:01:27.960 --> 00:01:28.940
so tun. Ja, so richtig Meta,

00:01:29.520 --> 00:01:31.960
ja, Meta über was, ja, über Podcast

00:01:31.960 --> 00:01:33.560
ist es nicht, Meta über Python ist es nicht mehr.

00:01:33.760 --> 00:01:35.320
Ich glaube, es ist eigentlich so Web-Dev-Meta, oder?

00:01:35.680 --> 00:01:37.600
Also was man so alles benutzen kann an Tools

00:01:37.600 --> 00:01:40.000
oder so. Ja, ich meine, wir machen

00:01:40.000 --> 00:01:41.840
ja relativ viel Web-Entwicklung, oder ich

00:01:41.840 --> 00:01:43.640
mache gerade relativ viel Web-Entwicklung

00:01:43.640 --> 00:01:45.000
seit einer ganzen Zeit.

00:01:46.360 --> 00:01:47.780
Ich weiß auch nicht, warum das so ist, weil ich

00:01:47.780 --> 00:01:49.500
mache ja eigentlich auch viel Maschinenleutent-Kram und so,

00:01:49.660 --> 00:01:51.700
oder habe auch mal viel gemacht, aber in letzter Zeit

00:01:51.700 --> 00:01:53.580
ist es irgendwie mehr Web-Entwicklung, obwohl das

00:01:53.580 --> 00:01:55.540
andere Dinge ja auch gerade so halbt. Ich weiß nicht,

00:01:55.580 --> 00:01:57.500
woran das liegt. Ich muss halt vielleicht einfach mehr Machine Learning

00:01:57.500 --> 00:01:59.580
wieder machen. Ich wollte gerade sagen, einfach den Job wechseln,

00:01:59.640 --> 00:02:01.200
Jochen. Ja, das kann natürlich auch sein.

00:02:02.080 --> 00:02:03.320
Ja, gut.

00:02:04.720 --> 00:02:05.640
Vielleicht Webentwicklung

00:02:05.640 --> 00:02:06.940
ist eigentlich so ein bisschen

00:02:06.940 --> 00:02:09.740
Convenience-Software-Entwicklung.

00:02:10.280 --> 00:02:11.500
Das kann man mal so ein bisschen

00:02:11.500 --> 00:02:13.640
dazwischen schieben, mal Teilzeit, ist nicht so schlimm.

00:02:13.720 --> 00:02:15.420
Also Machine Learning auf Blockchain

00:02:15.420 --> 00:02:17.040
oder so. Oh mein Gott.

00:02:18.560 --> 00:02:19.380
Ja, das ist jetzt nur,

00:02:19.540 --> 00:02:21.020
das weiß ich jetzt nicht. Duo in Finale.

00:02:21.960 --> 00:02:23.520
Ob ich das machen möchte? Nee, eher nicht.

00:02:24.100 --> 00:02:28.460
Aber genau, vielleicht fangen wir einfach mit News an.

00:02:28.560 --> 00:02:29.520
Ja, mit News wie immer, oder?

00:02:30.060 --> 00:02:31.980
Okay, warte mal, die Kapitelmarke News.

00:02:33.680 --> 00:02:35.100
Dafür musst du dich jetzt aber ziemlich strecken.

00:02:35.540 --> 00:02:35.720
Ja.

00:02:36.200 --> 00:02:37.040
Das müssen wir noch optimieren.

00:02:37.200 --> 00:02:39.220
Das muss ich, der Raum ist noch nicht ganz optimal, das stimmt.

00:02:39.360 --> 00:02:41.460
Okay, also wir haben gerade ein Kapitelmarke.

00:02:41.620 --> 00:02:44.180
Ich sehe schon, dass die Kapitelmarke irgendwie am Anfang jetzt sitzt

00:02:44.180 --> 00:02:45.680
und nicht da, wo ich sie eigentlich haben wollte.

00:02:45.820 --> 00:02:47.240
Irgendwie funktioniert das alles noch nicht so richtig.

00:02:47.320 --> 00:02:48.680
Ja, ihr merkt, heute wird eher eine Laberfolge.

00:02:48.680 --> 00:02:50.940
Ah, was ist denn da schon wieder kaputt?

00:02:51.700 --> 00:02:53.720
Okay, ich stelle jetzt hier mal das Ding

00:02:53.720 --> 00:02:55.000
in Ultraschall auf.

00:02:55.700 --> 00:02:58.160
Wir benutzen übrigens Ultraschall zum Aufnehmen.

00:02:58.800 --> 00:02:59.600
Ultraschall 5.

00:03:00.240 --> 00:03:00.580
Sehr gut.

00:03:01.980 --> 00:03:03.860
Ein Plugin auf Reaper.

00:03:05.140 --> 00:03:06.040
Ja, genau.

00:03:06.900 --> 00:03:08.560
Wie produziert man Podcasts?

00:03:08.560 --> 00:03:10.080
Das haben wir noch gar nicht.

00:03:10.100 --> 00:03:11.760
Haben wir das schon mal gesagt, wie man Podcasts produziert?

00:03:11.980 --> 00:03:13.540
Oder wie wir unseren produzieren vielleicht?

00:03:14.760 --> 00:03:16.100
Also Kurzversion ist tatsächlich,

00:03:16.160 --> 00:03:18.620
wir nehmen das auf mit diesem Plugin für Reaper.

00:03:18.900 --> 00:03:19.840
Reaper ist eine Software, die

00:03:19.840 --> 00:03:22.780
eigentlich kostenlos.

00:03:23.060 --> 00:03:24.220
Nein, nein, nein.

00:03:24.380 --> 00:03:24.960
Ich habe auch bezahlt.

00:03:24.980 --> 00:03:27.680
In der Evaluation-Version gibt es.

00:03:28.000 --> 00:03:29.860
Also erstmal zum Ausprobieren kostenlos, ich wollte jetzt sagen.

00:03:30.400 --> 00:03:32.240
Und dann gibt es halt dann dieses Plugin Ultraschall

00:03:32.240 --> 00:03:33.700
für Podcasts, was echt cool ist.

00:03:34.140 --> 00:03:35.540
Und danach machen wir noch so

00:03:35.540 --> 00:03:37.760
Post-Production mit

00:03:37.760 --> 00:03:40.200
Aufphonic. Ja, und Shownotes schreiben

00:03:40.200 --> 00:03:42.340
und so, das machen wir auch so. Leider nicht automatisch,

00:03:42.480 --> 00:03:43.760
sondern muss man überall aufwarten.

00:03:43.760 --> 00:03:45.700
Tja, aber Shownotes kann man ja

00:03:45.700 --> 00:03:47.700
einigermaßen gebrauchen, dann kann man doch mal nachschauen,

00:03:47.760 --> 00:03:49.440
was wir für einen Quatsch irgendwann mal erzählt haben.

00:03:49.520 --> 00:03:51.440
Vielleicht ist da ein bisschen Schumanns drin, wenn das

00:03:51.440 --> 00:03:52.300
dann jemand aufgeschrieben hat.

00:03:53.480 --> 00:03:55.440
Genau. So, jetzt kann ich auch die

00:03:55.440 --> 00:03:56.960
News-Kapitelmarke nochmal verschieben.

00:03:57.100 --> 00:03:58.560
Ich kann kein schlechtes Gewissen haben.

00:03:59.500 --> 00:04:01.620
Jetzt haben wir aber auch wirklich ein bisschen Meta über Podcasts.

00:04:01.620 --> 00:04:03.820
Das ist doch schon mal etwas. Du wolltest bestimmt auch mal über andere Podcasts

00:04:03.820 --> 00:04:05.000
gleich erzählen.

00:04:05.000 --> 00:04:06.960
Ja, aber vielleicht erstmal News.

00:04:07.480 --> 00:04:07.720
Na gut.

00:04:09.400 --> 00:04:10.320
Was gibt es denn Neues?

00:04:10.940 --> 00:04:12.460
Also ganz schick.

00:04:13.100 --> 00:04:15.140
Task Groups gibt es jetzt.

00:04:15.540 --> 00:04:17.720
Es ist gerade gemerged worden für Python 3.11.

00:04:18.400 --> 00:04:19.120
Okay, was ist

00:04:19.120 --> 00:04:20.820
Taskgroups? Fangen wir vielleicht erstmal damit an.

00:04:21.700 --> 00:04:23.140
Naja, also sagen wir so, es gibt

00:04:23.140 --> 00:04:24.600
ja irgendwie bei, also es gibt

00:04:24.600 --> 00:04:26.740
eine Schwachstelle bei Python

00:04:26.740 --> 00:04:29.060
Async-Geschichten,

00:04:29.180 --> 00:04:30.920
die halt da schon oft

00:04:30.920 --> 00:04:32.480
irgendwie

00:04:32.480 --> 00:04:34.860
ja, Leute

00:04:34.860 --> 00:04:37.180
ein bisschen depressiv gemacht hat

00:04:37.180 --> 00:04:38.740
oder keine Ahnung, oder geagert hat.

00:04:39.000 --> 00:04:40.140
Ich weiß nicht genau, wie man das am besten

00:04:40.140 --> 00:04:42.660
also zum Beispiel

00:04:42.660 --> 00:04:45.060
Trio ist eine Bibliothek, die sich halt

00:04:45.060 --> 00:04:46.600
mit diesen ganzen Problemen beschäftigt. Es ist halt auch

00:04:46.600 --> 00:04:47.440
schwierig.

00:04:49.120 --> 00:04:51.280
Nathaniel Smith hat die geschrieben.

00:04:51.460 --> 00:04:53.920
Es gibt ja diverse Implementationen

00:04:53.920 --> 00:04:55.700
von diesem Async. Ich habe jetzt ganz viel gehört, aber ich habe

00:04:55.700 --> 00:04:57.540
immer noch nicht genau verstanden, was denn das Problem

00:04:57.540 --> 00:04:59.720
dabei ist und warum. Also das Problem ist halt

00:04:59.720 --> 00:05:01.940
also, sagen wir mal

00:05:01.940 --> 00:05:03.680
so, wir

00:05:03.680 --> 00:05:05.560
befinden uns, was diese Async-Geschichten angeht,

00:05:05.640 --> 00:05:07.100
ja so ein bisschen in einem ähnlichen

00:05:07.100 --> 00:05:09.800
Stadium wie, als man

00:05:09.800 --> 00:05:11.840
irgendwann mal angeführt hat, strukturierte Programmierung

00:05:11.840 --> 00:05:13.820
zu verwenden, anstelle von

00:05:13.820 --> 00:05:14.940
Gotoh oder so.

00:05:16.320 --> 00:05:17.840
Das ist jetzt ein bisschen abstrakt.

00:05:18.200 --> 00:05:20.700
Es ist so, als wäre jetzt nebenläufig ein Feind gedankenlos gelaufen,

00:05:20.800 --> 00:05:22.460
der aber nicht mit dem anderen wieder zusammengekommen ist,

00:05:22.480 --> 00:05:23.480
weil ich den nicht einsammeln konnte.

00:05:23.780 --> 00:05:25.660
Ja, aber genau.

00:05:27.660 --> 00:05:29.180
Also nachdem man strukturierte Programmierung,

00:05:29.260 --> 00:05:32.040
also mit Funktionen und so oder Prozeduren irgendwie eingeführt hatte,

00:05:32.100 --> 00:05:33.600
da muss man auch erst mal sich umgewöhnen oder so,

00:05:33.620 --> 00:05:34.600
weil man das bisher immer anders gemacht hat.

00:05:34.620 --> 00:05:36.060
Also man strukturierte Programmierung bedeutet,

00:05:36.180 --> 00:05:37.740
man schreibt nicht von oben nach unten irgendwas durch

00:05:37.740 --> 00:05:39.480
und sagt dann, okay, gehe wieder zu dieser Zeile

00:05:39.480 --> 00:05:40.420
und mach da irgendwie weiter.

00:05:40.780 --> 00:05:43.400
Sondern man trennt das in logische Blöcke,

00:05:43.560 --> 00:05:44.980
die man aufrufen kann.

00:05:44.980 --> 00:05:47.740
Die halt, wo man am Anfang weiß, was da reinkommt

00:05:47.740 --> 00:05:49.340
und am Schluss weiß, was da wieder zurückgeht.

00:05:49.800 --> 00:05:53.320
Und sozusagen, damit man das halt nur noch ...

00:05:53.320 --> 00:05:54.700
Nennt man das eine Clojure?

00:05:55.880 --> 00:05:56.180
Nö.

00:05:57.180 --> 00:06:00.540
Clojure ist eine innere Funktion,

00:06:01.400 --> 00:06:05.620
die halt Zugriff auf etwas hat, was ...

00:06:05.620 --> 00:06:07.900
Ja, also du kannst zum Beispiel,

00:06:08.120 --> 00:06:09.480
wenn du eine Funktion in einer Funktion hast

00:06:09.480 --> 00:06:11.880
und du gibst jetzt sozusagen die innere Funktion zurück,

00:06:12.660 --> 00:06:14.360
dann hat die ja noch Zugriff auf den Scope

00:06:14.360 --> 00:06:15.940
der Funktion, aus der sie rauskommt.

00:06:16.200 --> 00:06:17.940
Und da kannst du jetzt Sachen drin definieren.

00:06:18.660 --> 00:06:20.140
Also zum Beispiel Closures ist halt

00:06:20.140 --> 00:06:22.060
das allgemeine Prinzip hinter, wie man

00:06:22.060 --> 00:06:24.100
Dekoratoren in Python dann implementiert.

00:06:24.240 --> 00:06:25.500
Also Dekoratoren machen das.

00:06:26.000 --> 00:06:28.160
Die rappen sozusagen die Funktion,

00:06:28.260 --> 00:06:30.320
die man dekoriert, in eine innere Funktion rein.

00:06:30.340 --> 00:06:32.100
Jetzt bin ich mir gerade nicht ganz sicher, ob wir die

00:06:32.100 --> 00:06:33.740
Menschen, die uns zuhören, jetzt nochmal abhören dabei.

00:06:33.860 --> 00:06:36.200
Falls die Dekorators sind. Oder ob die das alle schon wissen.

00:06:36.340 --> 00:06:38.240
Dann können wir mal eine Episode dazu machen.

00:06:38.400 --> 00:06:39.660
Dekoratoren, super Sache.

00:06:39.880 --> 00:06:42.140
Eigentlich schon, ne? Ja, okay, dann machen wir eine eigene Episode dazu.

00:06:42.920 --> 00:06:43.840
Haben wir schon mal wieder eine.

00:06:44.860 --> 00:06:46.100
Man rappt dann quasi

00:06:46.100 --> 00:06:48.060
die Funktion und dann da dir aufgerufen wird

00:06:48.060 --> 00:06:50.060
und das Funktionsobjekt da durch die Gegend gereicht

00:06:50.060 --> 00:06:52.080
wird, muss man da halt Objekte oder Dinge

00:06:52.080 --> 00:06:53.940
reingeben können, rausgeben können und kann halt vorher

00:06:53.940 --> 00:06:55.460
und nachher Sachen machen.

00:06:56.460 --> 00:06:57.640
Oder da irgendwelchen Kontext setzen, genau.

00:06:58.380 --> 00:06:59.920
Und ja,

00:07:00.200 --> 00:07:00.740
also

00:07:00.740 --> 00:07:03.940
das ist nochmal was Komplizierteres, aber

00:07:03.940 --> 00:07:05.840
also Funktionen sind ja eigentlich relativ einfach, aber

00:07:05.840 --> 00:07:07.880
trotzdem, wenn man das halt nicht gewohnt ist, dann muss man das umstellen

00:07:07.880 --> 00:07:10.000
und es ist die Frage, wie arbeitet man damit, was macht man

00:07:10.000 --> 00:07:11.860
jetzt eigentlich in einem Fehlerfall und so und all diese

00:07:11.860 --> 00:07:13.940
Probleme haben wir jetzt nochmal so ein bisschen, weil

00:07:13.940 --> 00:07:15.920
wir jetzt uns irgendwie überlegen müssen, okay,

00:07:15.980 --> 00:07:18.420
wenn wir jetzt Async-Sachen machen, wie machen wir das

00:07:18.420 --> 00:07:19.920
dann richtig? Und

00:07:19.920 --> 00:07:22.480
zum Beispiel ein Problem, was jetzt halt den Leuten

00:07:22.480 --> 00:07:24.020
öfter mal auf den Fuß gefallen ist, vor allen Dingen

00:07:24.020 --> 00:07:26.880
die Bibliotheken entwickeln, als Endanwender

00:07:26.880 --> 00:07:28.120
oder Endbenutzer

00:07:28.120 --> 00:07:30.320
von diesen Geschichten, hat man das

00:07:30.320 --> 00:07:32.000
eigentlich gar nicht so oft, aber

00:07:32.000 --> 00:07:34.340
kann man sich ungefähr verdeutlichen. Also wenn man

00:07:34.340 --> 00:07:36.060
jetzt zum Beispiel, man hat halt so ein,

00:07:36.460 --> 00:07:38.260
also was man mit Async-IO oft macht, ist

00:07:38.260 --> 00:07:40.360
sowas wie, zum Beispiel, also im einfachsten Fall

00:07:40.360 --> 00:07:42.480
man hat eine Liste von URLs, die man abfragen möchte

00:07:42.480 --> 00:07:44.500
und dann sagt man halt irgendwie

00:07:44.500 --> 00:07:46.540
Gather

00:07:46.540 --> 00:07:48.900
den ganzen Kram und kriegt

00:07:48.900 --> 00:07:50.100
dann halt das alles zurück.

00:07:51.240 --> 00:07:52.880
Was passiert denn? Was macht denn das Gather

00:07:52.880 --> 00:07:53.340
jetzt genau?

00:07:54.600 --> 00:07:56.760
Das wartet, bis sie alle einmal durch sind.

00:07:56.900 --> 00:07:58.760
Alle awaiten. Gather macht await eins

00:07:58.760 --> 00:08:00.680
nach dem anderen und zwar in der Reihenfolge, wie die in der Liste drinstehen.

00:08:01.460 --> 00:08:02.460
Oder das letzte.

00:08:02.960 --> 00:08:04.440
Reihenfolge gibt es so ja nicht mehr.

00:08:04.640 --> 00:08:06.720
Naja, aber die laufen ja nebenläufig

00:08:06.720 --> 00:08:07.960
und eins ist ja zuerst fertig.

00:08:09.280 --> 00:08:10.840
Ja. Und eins zuletzt fertig.

00:08:11.240 --> 00:08:13.060
Und Gather wartet, bis alle fertig sind.

00:08:13.560 --> 00:08:13.800
Genau.

00:08:14.500 --> 00:08:16.480
das

00:08:16.480 --> 00:08:19.000
sozusagen, also man muss es halt noch

00:08:19.000 --> 00:08:20.920
erwarten, aber das wartet, bis halt

00:08:20.920 --> 00:08:22.920
alle fertig sind. Und die Ergebnisse sammelt das

00:08:22.920 --> 00:08:24.460
auch oder gibt es da Ergebnisse?

00:08:26.400 --> 00:08:27.060
Ja, also

00:08:27.060 --> 00:08:28.700
man kann da durchaus auch, wenn

00:08:28.700 --> 00:08:30.880
da halt Ergebnisse zurückkommen, jetzt weiß ich jetzt nicht genau was

00:08:30.880 --> 00:08:32.860
mit all den Dingern, wenn da jetzt unterschiedlich, also normalerweise

00:08:32.860 --> 00:08:34.520
hast du eine Liste von Sachen, wo das ist das gleiche, wo

00:08:34.520 --> 00:08:36.900
Liste von Responses oder so zurückkommt, dann kriegst du halt die Liste

00:08:36.900 --> 00:08:39.140
von Responses

00:08:39.140 --> 00:08:41.080
dann halt zurück, denke ich.

00:08:41.580 --> 00:08:42.960
Wenn das jetzt unterschiedliche Sachen

00:08:42.960 --> 00:08:44.220
sein sollten, weiß ich gar nicht so genau.

00:08:45.220 --> 00:08:47.000
Weil ich jetzt gar nicht so

00:08:47.000 --> 00:08:48.120
sicher, was dann passiert.

00:08:49.500 --> 00:08:50.880
Aber wahrscheinlich kriegst du halt eine

00:08:50.880 --> 00:08:52.120
Liste, der

00:08:52.120 --> 00:08:54.620
wie auch immer die Struktur dann

00:08:54.620 --> 00:08:56.500
aussieht, keine Ahnung.

00:08:57.100 --> 00:08:58.540
Aber das Problem ist halt eben,

00:08:58.820 --> 00:09:00.300
und das, was halt nicht so gut geht, wenn du jetzt

00:09:00.300 --> 00:09:02.540
sagst async-io-gether und jetzt

00:09:02.540 --> 00:09:04.940
passieren aber mehrere Dinge.

00:09:05.100 --> 00:09:06.620
Jetzt hast du zum Beispiel einmal einen Connection-Error

00:09:06.620 --> 00:09:08.280
irgendwie, wenn du eine URL

00:09:08.280 --> 00:09:10.680
holst, und bei einem anderen Ding hast du

00:09:10.680 --> 00:09:12.800
aber irgendwie einen, weiß ich

00:09:12.800 --> 00:09:16.920
not authorized und bei einem anderen

00:09:16.920 --> 00:09:17.760
hast du irgendwie

00:09:17.760 --> 00:09:20.900
Authentication Error oder was auch immer.

00:09:20.980 --> 00:09:22.300
Du hast halt so unterschiedliche

00:09:22.300 --> 00:09:23.540
Fehlertypen.

00:09:24.900 --> 00:09:26.460
Du kannst jetzt aber, im Interpreter

00:09:26.460 --> 00:09:28.640
kann immer nur eine Exception

00:09:28.640 --> 00:09:29.980
weiterreichen. Was passiert denn jetzt?

00:09:30.400 --> 00:09:32.380
Du kriegst die aber zu unterschiedlichen Zeitpunkten.

00:09:33.140 --> 00:09:34.760
Wenn du jetzt das try irgendwas

00:09:34.760 --> 00:09:36.360
gather, was

00:09:36.360 --> 00:09:38.160
passiert denn jetzt, wenn du Accept sagst?

00:09:38.160 --> 00:09:39.980
Ja, dann sollte die Exception, die zuerst

00:09:39.980 --> 00:09:42.020
rausfliegt, rausfliegen. Aber eigentlich sollte man die ja vorher

00:09:42.020 --> 00:09:44.160
auch catchen, oder? Also innerhalb des

00:09:44.160 --> 00:09:45.600
Dekor-Routines und nicht...

00:09:45.600 --> 00:09:47.620
Ja, willst du ja aber auch nicht. Also du willst ja die

00:09:47.620 --> 00:09:49.880
Exception an der Stelle fangen, wo du irgendwas mit der machen kannst.

00:09:53.980 --> 00:09:55.480
Das hängt halt davon ab natürlich,

00:09:55.700 --> 00:09:57.840
aber es ist halt so die Frage, wenn du die Frage

00:09:57.840 --> 00:09:59.780
gefangen hast, okay gut, dann kriegst du sie ja auch nicht mehr.

00:10:00.360 --> 00:10:01.980
Aber wenn du jetzt mehrere

00:10:01.980 --> 00:10:03.780
Exceptions hast, die halt da

00:10:03.780 --> 00:10:05.640
auftreten, was passiert denn dann? Und ja,

00:10:05.640 --> 00:10:07.660
die Antwort momentan ist halt irgendwie

00:10:07.660 --> 00:10:09.000
doof, weil

00:10:09.000 --> 00:10:11.740
es gibt

00:10:11.740 --> 00:10:13.420
da sowas wie Chained Exceptions, das sieht man

00:10:13.420 --> 00:10:15.440
manchmal auch gerade bei so Web-Frameworks häufiger

00:10:15.440 --> 00:10:17.520
irgendwie, dass halt irgendwas eine Exception wirft

00:10:17.520 --> 00:10:18.980
und dann dir sagt, ah,

00:10:19.460 --> 00:10:21.300
also das ist passiert, also

00:10:21.300 --> 00:10:22.660
oder in Tests passiert es auch häufig,

00:10:23.240 --> 00:10:25.600
während ich versucht habe, diese Exception zu werfen,

00:10:25.660 --> 00:10:26.880
ist halt das passiert oder keine Ahnung,

00:10:26.880 --> 00:10:28.920
also sowas geht

00:10:28.920 --> 00:10:30.860
auch, aber das

00:10:30.860 --> 00:10:32.780
bildet das halt auch nicht ab, was du dann eigentlich

00:10:32.780 --> 00:10:34.860
können müsstest, wenn jetzt irgendwie mehrere

00:10:34.860 --> 00:10:36.740
unterschiedliche Exceptions halt

00:10:36.740 --> 00:10:38.560
aufgetreten sind oder ein ganzer Baum, also

00:10:38.560 --> 00:10:40.320
im allgemeinen Fall ein ganzer Grafbaum

00:10:40.320 --> 00:10:42.200
von Exceptions, die halt irgendwie

00:10:42.200 --> 00:10:44.680
so, das geht irgendwie nicht. Das kann auch tatsächlich

00:10:44.680 --> 00:10:45.320
der Interpreter nicht.

00:10:46.360 --> 00:10:48.200
Und ja, das ist halt ein Problem.

00:10:48.420 --> 00:10:49.400
Und dafür gab es ein

00:10:49.400 --> 00:10:52.140
654

00:10:52.140 --> 00:10:53.940
Exception Groups and Accept.

00:10:54.860 --> 00:10:56.480
Und da der Code dafür

00:10:56.480 --> 00:10:58.080
ist jetzt irgendwie

00:10:58.080 --> 00:11:00.440
vor Woche oder so

00:11:00.440 --> 00:11:01.540
oder ein paar Tagen

00:11:01.540 --> 00:11:03.120
gemerged worden und alle so

00:11:03.120 --> 00:11:06.340
und das kommt in 3.11 und das bedeutet

00:11:06.340 --> 00:11:08.260
halt, dass man jetzt quasi damit sauber umgehen kann.

00:11:08.380 --> 00:11:09.760
Also Trio habe ich deswegen angesprochen, weil

00:11:09.760 --> 00:11:12.080
das war halt so ein Ding,

00:11:12.200 --> 00:11:14.160
damit umzugehen. Also der nannte

00:11:14.160 --> 00:11:15.820
seinen Ansatz da auch irgendwie

00:11:15.820 --> 00:11:17.860
Structured Concurrency

00:11:17.860 --> 00:11:20.040
und der hatte dieses Konzept von Nurseries,

00:11:20.240 --> 00:11:22.240
die man da benutzen kann, um halt damit

00:11:22.240 --> 00:11:24.340
dann sauber umzugehen. Das hat in der Asienfolge, glaube ich,

00:11:24.360 --> 00:11:26.120
schon mal erwähnt. Das hat in der Asienfolge und

00:11:26.120 --> 00:11:27.840
ich weiß nicht, ob wir das wirklich, also

00:11:27.840 --> 00:11:29.580
ich glaube, das hat damals schon niemandem so wirklich

00:11:29.580 --> 00:11:32.240
ehrlich gesagt und

00:11:32.240 --> 00:11:34.140
wahrscheinlich ist das jetzt auch nicht anders. Aber

00:11:34.140 --> 00:11:35.400
ich finde es interessant und

00:11:35.400 --> 00:11:37.680
also es ist

00:11:37.680 --> 00:11:39.200
aber auch ein kompliziertes Thema und

00:11:39.200 --> 00:11:41.480
naja, also

00:11:41.480 --> 00:11:43.560
sagen wir so, die Kurzfassung ist, es geht jetzt

00:11:43.560 --> 00:11:45.380
alles, also ab 3.11 wird es deutlich besser, es gibt da

00:11:45.380 --> 00:11:46.980
diverse Leute, zum Beispiel auch der Juri

00:11:46.980 --> 00:11:49.140
Selivanov,

00:11:49.840 --> 00:11:51.640
der mit

00:11:51.640 --> 00:11:53.520
HQL und HDB,

00:11:54.000 --> 00:11:55.520
der hat auf Twitter relativ

00:11:55.520 --> 00:11:57.620
enthusiastisch gesagt, so 3.11, das ist voll gut,

00:11:57.720 --> 00:11:59.400
dass das jetzt drin ist, wir haben schon seit Jahren

00:11:59.400 --> 00:12:01.440
Probleme damit und jetzt

00:12:01.440 --> 00:12:03.420
ist es endlich sauber gelöst und damit ist

00:12:03.420 --> 00:12:05.080
quasi, Python hat jetzt irgendwie

00:12:05.080 --> 00:12:07.440
sehr gute Unterstützung im Vergleich zu

00:12:07.440 --> 00:12:08.560
allen anderen Sprachen eigentlich.

00:12:10.180 --> 00:12:11.540
Spielt da jetzt ganz vorne mit.

00:12:11.960 --> 00:12:12.720
Und juhu!

00:12:14.260 --> 00:12:15.660
Also das kann man

00:12:15.660 --> 00:12:17.520
auf jeden Fall schon mal erwähnen, dass das irgendwie ziemlich cool

00:12:17.520 --> 00:12:17.900
werden wird.

00:12:19.360 --> 00:12:21.620
Jetzt muss ich nur noch verstehen, wie man halt so eine

00:12:21.620 --> 00:12:22.780
Exception Group,

00:12:23.380 --> 00:12:25.060
was das halt...

00:12:25.060 --> 00:12:27.240
Ja, da musst du dir den Pepp angucken, da steht das drin,

00:12:27.240 --> 00:12:28.940
wie man dann damit umgeht,

00:12:29.060 --> 00:12:31.080
dass da jetzt so ein... Du kannst halt auch, ich glaube,

00:12:31.200 --> 00:12:32.360
man kann das ganz normal...

00:12:32.360 --> 00:12:35.000
Einmal noch mal kurz, wir haben jetzt relativ viel,

00:12:36.600 --> 00:12:37.060
also ich habe

00:12:37.060 --> 00:12:39.020
zwei verschiedene Exceptions, wir fangen mal mit zwei an,

00:12:39.080 --> 00:12:41.000
die gleichzeitig auftreten. Also einmal, keine Ahnung,

00:12:41.100 --> 00:12:42.920
Autorisierung verweigert und einmal Connection abgebrochen.

00:12:43.540 --> 00:12:44.760
In zwei verschiedenen Threads.

00:12:46.360 --> 00:12:47.060
Was machen die?

00:12:47.120 --> 00:12:47.920
Muss ja nicht Thread sein.

00:12:48.040 --> 00:12:51.140
Aber ist auch egal.

00:12:51.320 --> 00:12:53.020
Die haben auf dieselbe API oder auf eine andere API zugerufen,

00:12:53.080 --> 00:12:55.160
ist auch egal. Also Hauptsache, die schmeißen beide irgendwie Exceptions.

00:12:55.840 --> 00:12:57.420
Aber der

00:12:57.420 --> 00:12:58.540
Zeitpunkt ist egal

00:12:58.540 --> 00:13:01.060
oder nicht egal, wenn das auftreten ist.

00:13:02.040 --> 00:13:04.000
Naja, das kannst du jetzt nach einem Zeitpunkt

00:13:04.000 --> 00:13:05.940
ordnen, du kannst es aber auch irgendwie anders ordnen, je nachdem

00:13:05.940 --> 00:13:07.960
wie du willst. Also du hast halt eine Exception-Group und

00:13:07.960 --> 00:13:09.660
darunter hast du jetzt dann halt unterschiedliche

00:13:09.660 --> 00:13:11.900
Exceptions. Und dann

00:13:11.900 --> 00:13:13.960
hast du halt quasi einen Baum. Also eine Exception-Group

00:13:13.960 --> 00:13:15.700
kann halt wieder unterschiedliche

00:13:15.700 --> 00:13:17.780
Exception-Groups drunter haben, die dann

00:13:17.780 --> 00:13:19.860
wieder Exceptions drunter haben. Das ist halt ein Baum

00:13:19.860 --> 00:13:21.700
von... Und wofür brauche ich das?

00:13:22.740 --> 00:13:23.840
Naja, also wie gesagt, als

00:13:23.840 --> 00:13:25.760
Endanwender hat man da den Fall, dass man das wirklich braucht,

00:13:25.820 --> 00:13:27.560
gar nicht so häufig. Aber wenn du jetzt halt irgendwie so eine

00:13:27.560 --> 00:13:29.680
High-Performance-Datenbank-Library

00:13:29.680 --> 00:13:31.540
irgendwie Dings-Geschichte baust,

00:13:31.620 --> 00:13:34.680
sowas wie zum Beispiel Async-PG oder so,

00:13:35.300 --> 00:13:38.800
dann kann das durchaus passieren,

00:13:38.920 --> 00:13:42.320
dass du halt in solche Sachen reinläufst,

00:13:42.420 --> 00:13:44.620
wo du dann gerne irgendwie was gut,

00:13:44.900 --> 00:13:47.160
wo du zum Beispiel einfach noch einen ordentlichen Traceback

00:13:47.160 --> 00:13:48.720
werfen wollen würdest,

00:13:49.680 --> 00:13:50.980
wo man sehen kann, was passiert ist.

00:13:52.240 --> 00:13:54.380
Weil wenn du das auf 1 runterdampfen musst

00:13:54.380 --> 00:13:56.000
und dann rausschmeißen und sagst Datenbank-Error,

00:13:56.000 --> 00:13:59.300
sagen wir mal, es gibt eine Zahl zurück, Datenbank-Fehler,

00:13:59.580 --> 00:14:01.460
dann ist das nicht sehr hilfreich.

00:14:01.620 --> 00:14:03.540
Du musst halt, aber

00:14:03.540 --> 00:14:05.800
alle Sachen kannst du nicht angeben, weil du kriegst ja,

00:14:05.900 --> 00:14:07.940
du hast nur eine Exception. Also weil die erste,

00:14:08.120 --> 00:14:09.840
die quasi dann geraced wird, dann

00:14:09.840 --> 00:14:11.600
die rausfliegt und die anderen gehen dann unter.

00:14:11.740 --> 00:14:13.180
Das wäre das Problem sonst. Genau, ja.

00:14:13.180 --> 00:14:15.220
Ja, okay. Und ich will halt quasi, dass die durchgereicht

00:14:15.220 --> 00:14:16.560
werden. Du willst die irgendwie

00:14:16.560 --> 00:14:19.200
behandeln können. Ob du sie jetzt rausprintest

00:14:19.200 --> 00:14:21.160
oder irgendwie darauf reagierst oder so, ist ja nochmal eine andere

00:14:21.160 --> 00:14:22.880
Sache, aber du kannst sie jetzt handeln.

00:14:23.000 --> 00:14:25.000
Also so wäre, das wäre quasi so, als müsste

00:14:25.000 --> 00:14:27.280
ich so eine Art Exception-Cache

00:14:27.280 --> 00:14:28.800
bauen und dann irgendwann

00:14:28.800 --> 00:14:31.000
alle Exceptions in diesem Exception-Cache

00:14:31.000 --> 00:14:32.960
zurückgeben, anstatt die zu raisen, die quasi in diesen

00:14:32.960 --> 00:14:35.020
Exception-Cache rein speichern und

00:14:35.020 --> 00:14:37.020
ganz am Ende alle Exceptions da drin sind

00:14:37.020 --> 00:14:38.520
in eine Custom-Exception

00:14:38.520 --> 00:14:39.800
zusammenfassen und raisen.

00:14:40.800 --> 00:14:43.080
Keine Ahnung, wie das jetzt dann Leute gerade machen.

00:14:43.240 --> 00:14:44.240
Wie sie damit umgehen.

00:14:44.740 --> 00:14:46.660
Da gibt es unterschiedliche Ansätze wahrscheinlich, aber

00:14:46.660 --> 00:14:48.780
jetzt geht es halt so, dass es cool ist und sauber.

00:14:50.080 --> 00:14:50.480
Ja,

00:14:50.680 --> 00:14:52.360
ansonsten hatten wir noch

00:14:52.360 --> 00:14:54.660
iPython, erste

00:14:54.660 --> 00:14:56.860
Major-Release seit drei Jahren oder so.

00:14:58.720 --> 00:14:59.440
iPython 8.

00:14:59.960 --> 00:15:00.360
Ja, okay.

00:15:01.000 --> 00:15:03.620
ehrlich gesagt so wahnsinnig viel Neues ist da gar nicht

00:15:03.620 --> 00:15:05.320
unbedingt, also außer Black ist irgendwie neu,

00:15:05.500 --> 00:15:06.940
da mussten sie auch ein bisschen zurückrudern,

00:15:07.120 --> 00:15:09.620
das hat Leute irgendwie auch böse

00:15:09.620 --> 00:15:11.860
überrascht teilweise. Das haben wir doch letztes Mal noch gelobt.

00:15:11.980 --> 00:15:13.620
Ja, ja, ja, aber im Prinzip

00:15:13.620 --> 00:15:15.180
ist es eigentlich schon richtig

00:15:15.180 --> 00:15:16.140
und

00:15:16.140 --> 00:15:19.760
ja, ist es viel deprecated

00:15:19.760 --> 00:15:21.660
worden von Dingen, die man nicht mehr

00:15:21.660 --> 00:15:23.320
braucht und so und ich glaube, ich habe es auch schon,

00:15:23.420 --> 00:15:24.740
ist es nur Beta, ist es noch nicht

00:15:24.740 --> 00:15:27.680
stable, aber ich habe

00:15:27.680 --> 00:15:29.700
es auch schon, also wenn man es einfach so installiert

00:15:29.700 --> 00:15:31.840
man pinnt es nicht runter oder so, sondern

00:15:31.840 --> 00:15:33.260
man sagt einfach nur pip install

00:15:33.260 --> 00:15:35.620
ipad und dann kriegt man das halt.

00:15:36.220 --> 00:15:37.380
Und funktioniert bei mir auch schon super.

00:15:37.540 --> 00:15:38.080
Ich verwende es schon

00:15:38.080 --> 00:15:41.840
die paar Tage, die es veröffentlicht ist,

00:15:41.880 --> 00:15:43.320
auf jeden Fall. Und da hat es bisher immer getan.

00:15:44.820 --> 00:15:44.880
Ja.

00:15:47.220 --> 00:15:47.500
Genau.

00:15:48.100 --> 00:15:49.780
Ja, ansonsten so war es.

00:15:50.140 --> 00:15:51.100
Wir haben jetzt irgendwie

00:15:51.100 --> 00:15:53.680
super viele

00:15:53.680 --> 00:15:55.900
Episoden in letzter Zeit aufgenommen. Jetzt ist gar nicht so viel passiert.

00:15:56.520 --> 00:15:57.960
Weil gar nicht so viel Zeit vergangen ist.

00:15:57.960 --> 00:15:58.860
Ja, okay.

00:15:59.420 --> 00:16:01.300
Ich weiß nicht, hattest du noch irgendwas?

00:16:01.740 --> 00:16:02.860
Oder haben wir noch irgendwie...

00:16:02.860 --> 00:16:04.480
Wir machen nochmal Werbung dieser Episode.

00:16:04.920 --> 00:16:06.760
Oh ja, genau, das müssen wir dann jetzt auch machen.

00:16:07.720 --> 00:16:09.320
Also, diese Episode

00:16:09.320 --> 00:16:11.060
kommt wieder mit der freundlichen Unterstützung von NordVPN.

00:16:12.280 --> 00:16:13.280
Ja, und

00:16:13.280 --> 00:16:15.560
schnapp dir den Exklusiv-Deal

00:16:15.560 --> 00:16:16.940
und ein Geschenk obendrauf

00:16:16.940 --> 00:16:18.500
zum NordVPN-Geburtstag.

00:16:19.040 --> 00:16:19.560
Geh auf

00:16:19.560 --> 00:16:22.900
https.nordvpn.com

00:16:22.900 --> 00:16:24.360
slash pythonpodcast

00:16:24.360 --> 00:16:26.740
und sichere dir den Wahnsinns-Deal

00:16:26.740 --> 00:16:28.760
jetzt auch komplett risikofrei mit 30 Tage

00:16:28.760 --> 00:16:30.940
Geld-Zurück-Garantie. Also das ist

00:16:30.940 --> 00:16:33.240
eine Geschichte, die man

00:16:33.240 --> 00:16:34.580
durchaus mal machen kann. Also

00:16:34.580 --> 00:16:37.700
NordVPN, VPN-Anbieter,

00:16:39.280 --> 00:16:39.560
da

00:16:39.560 --> 00:16:41.000
kann man sich zum Beispiel

00:16:41.000 --> 00:16:43.120
irgendwie im Urlaub auch drauf verlassen, dass man dann

00:16:43.120 --> 00:16:44.520
weiter Netflix gucken kann,

00:16:45.320 --> 00:16:46.960
was man ja sonst irgendwie, manchmal hat man da so Probleme

00:16:46.960 --> 00:16:49.100
zu Geoblocking und so. Und damit kann man

00:16:49.100 --> 00:16:51.080
das irgendwie relativ einfach umgehen. Oder halt

00:16:51.080 --> 00:16:52.860
auch, wenn man irgendwie sonst

00:16:52.860 --> 00:16:55.160
Konnektivitätsprobleme hat, dann kann man aber auch

00:16:55.160 --> 00:16:57.040
irgendwie da was gegen tun

00:16:57.040 --> 00:16:57.780
mit. Und

00:16:57.780 --> 00:17:00.140
ja, hat viele Server

00:17:00.140 --> 00:17:02.200
in allen möglichen Ländern und so.

00:17:02.460 --> 00:17:03.640
Also ist auf jeden Fall irgendwie

00:17:03.640 --> 00:17:05.900
einer der größten Anbieter da in dem Bereich.

00:17:06.980 --> 00:17:08.180
Und ja, kann man ja einfach

00:17:08.180 --> 00:17:09.840
mal ausprobieren und auf

00:17:09.840 --> 00:17:12.480
HTTPS-NordVPN.com

00:17:12.480 --> 00:17:13.800
slash peißenpodcast gehen und

00:17:13.800 --> 00:17:16.120
den Warnsignal sichern, der jetzt auch komplett risikofrei

00:17:16.120 --> 00:17:18.420
mit der 30-Tage-Geld-Zurück-Garantie ist.

00:17:19.420 --> 00:17:19.940
Wunderbar.

00:17:20.740 --> 00:17:22.180
Ja, worüber

00:17:22.180 --> 00:17:22.820
reden wir denn heute?

00:17:23.860 --> 00:17:26.140
Ja, die ganzen Tipps, Tools

00:17:26.140 --> 00:17:27.460
im Web und

00:17:27.460 --> 00:17:29.600
CSS-Frameworks und

00:17:29.600 --> 00:17:32.000
vielleicht fangen wir damit an.

00:17:32.080 --> 00:17:34.000
Was für ein CSS-Framework benutzt denn du, Jochen?

00:17:35.320 --> 00:17:36.360
Ja, irgendwie

00:17:36.360 --> 00:17:36.760
gar nicht.

00:17:38.520 --> 00:17:40.100
Ihr habt vielleicht gesehen,

00:17:40.540 --> 00:17:42.060
Python-Podcast ist zu unserer Schande in

00:17:42.060 --> 00:17:44.000
Bootstrap, weil das Einzige, was wir gemacht haben

00:17:44.000 --> 00:17:45.960
für Styling ist Import CDN

00:17:45.960 --> 00:17:47.240
vom, also Bootstrap vom CDN.

00:17:47.920 --> 00:17:49.900
Ja, das weiß ich gar nicht mal. Ich glaube, das mache ich tatsächlich nicht.

00:17:50.060 --> 00:17:51.560
Aber das mache ich.

00:17:52.260 --> 00:17:53.780
Oh Gott, bin ich schlecht.

00:17:55.060 --> 00:17:56.620
Tja, wir müssen das irgendwann mal anfassen.

00:17:56.700 --> 00:17:58.280
Weil ich würde sagen, das sollte man natürlich

00:17:58.280 --> 00:17:59.560
eigentlich auf keinen Fall machen, sowas.

00:18:00.020 --> 00:18:01.360
Aber weil,

00:18:01.840 --> 00:18:04.380
ja, das ist natürlich extrem unsicher. Das erinnert mich an was?

00:18:05.580 --> 00:18:06.220
Mach ich das wirklich?

00:18:07.020 --> 00:18:07.700
Ist das nicht so?

00:18:08.360 --> 00:18:10.160
Ich meine nicht, aber

00:18:10.160 --> 00:18:12.480
ich gucke mal gerade, ich mache hier gerade mal

00:18:12.480 --> 00:18:12.720
an den,

00:18:14.100 --> 00:18:15.120
das Netzwerk,

00:18:15.120 --> 00:18:15.800
das ist ja auch,

00:18:16.400 --> 00:18:19.040
das steht doch immer unter Sources,

00:18:19.200 --> 00:18:21.100
ne? Und dann steht da drin,

00:18:22.960 --> 00:18:23.120
äh,

00:18:24.140 --> 00:18:24.980
oh ja,

00:18:25.060 --> 00:18:26.100
und da sind die weißen CDNs.

00:18:28.260 --> 00:18:29.040
Codejquery.com.

00:18:29.160 --> 00:18:29.760
Oh mein Gott.

00:18:31.460 --> 00:18:33.020
Bootstrap-CDN. Oh nein.

00:18:33.280 --> 00:18:34.180
Ja, also, okay.

00:18:34.740 --> 00:18:37.040
Ja, okay, das war mir gar nicht so klar,

00:18:37.120 --> 00:18:38.660
dass ich das machen kann. Kontrolle ist besser als

00:18:38.660 --> 00:18:41.080
Ja, ja, dankeschön. Dann ist mir das

00:18:41.080 --> 00:18:43.000
jetzt auch bewusst. Ich dachte, ach, so was mache ich

00:18:43.000 --> 00:18:45.000
aber nicht. Aber doch, mache ich schon. Kacke.

00:18:45.700 --> 00:18:47.060
Naja. Ja, also

00:18:47.060 --> 00:18:48.800
Bootstrap ist raus. Also

00:18:48.800 --> 00:18:50.880
sagen wir so, das benutzt man halt natürlich

00:18:50.880 --> 00:18:52.580
dann, wenn man keine Zeit für irgendwas anderes hat.

00:18:53.040 --> 00:18:54.680
Dann macht man einfach Import-Bootstrap vom CDN

00:18:54.680 --> 00:18:56.700
und dann sieht alles irgendwie ein bisschen besser aus.

00:18:56.740 --> 00:18:57.920
Das hätte man jetzt gar nicht gestylt.

00:18:58.440 --> 00:18:59.940
Aber auch nicht viel besser, ehrlich gesagt.

00:19:00.700 --> 00:19:02.200
Ja, vor allen Dingen ist es halt das,

00:19:02.300 --> 00:19:05.720
was in dem Django-Cookie-Cutter-Template mit dabei war.

00:19:05.840 --> 00:19:06.680
Deswegen habe ich das vor allen Dingen.

00:19:07.160 --> 00:19:09.340
Du benutzt ja kein Cookie-Cutter von ...

00:19:09.340 --> 00:19:12.100
Eigentlich seit einiger Zeit nicht mehr,

00:19:12.100 --> 00:19:13.340
aber ich habe es lange verwendet, ja.

00:19:13.780 --> 00:19:15.500
Ja, also ich habe es auch ein bisschen mal ausprobiert.

00:19:15.540 --> 00:19:16.900
Das war nicht so ganz mein Ding.

00:19:17.580 --> 00:19:20.940
Ja, also inzwischen würde ich auch sagen,

00:19:20.980 --> 00:19:23.700
also ich benutze inzwischen gerne irgendwie tatsächlich Start-Project

00:19:23.700 --> 00:19:25.680
oder halt auch das, das habe ich jetzt letztens wieder verwendet,

00:19:26.480 --> 00:19:26.660
das

00:19:26.660 --> 00:19:29.740
Project Template, weil man kann ja dem Start Project

00:19:29.740 --> 00:19:31.160
auch Project Templates mitgeben

00:19:31.160 --> 00:19:33.500
von Johannes. Das gefällt mir eigentlich

00:19:33.500 --> 00:19:35.360
tatsächlich auch ganz gut. Und

00:19:35.360 --> 00:19:37.580
Cookie Cutter ist einfach, ist mir zu

00:19:37.580 --> 00:19:39.540
viel Zeug, das ich irgendwie nicht

00:19:39.540 --> 00:19:41.500
brauche. Also ich habe eigentlich meine eigenen

00:19:41.500 --> 00:19:43.380
Skeletons einfach geschrieben, also so zwei, drei

00:19:43.380 --> 00:19:45.340
Templates für Sachen, die ich manchmal brauche. Django

00:19:45.340 --> 00:19:47.340
mit Postgres, Django Minimal

00:19:47.340 --> 00:19:49.500
Farb-API und dann klone

00:19:49.500 --> 00:19:50.020
ich die einfach.

00:19:51.440 --> 00:19:53.240
Ja, kannst du halt auch machen, aber dann

00:19:53.240 --> 00:19:55.100
Es bleiben halt manchmal nur so Reste übrig.

00:19:55.260 --> 00:19:57.000
Ja, aber das ist nicht viel. Also ich weiß ja dann wo

00:19:57.000 --> 00:19:59.480
und ich habe mir das ja so ein bisschen weggescriptet.

00:19:59.540 --> 00:20:01.040
Dann kann ich einfach zwei Skripte ausführen.

00:20:01.140 --> 00:20:03.240
Dann habe ich es einmal replaced und dann schmeiße ich

00:20:03.240 --> 00:20:04.780
drei Dateien weg, die ich nicht brauche und dann ist es gut.

00:20:05.720 --> 00:20:07.260
Das ist halt mein Zeugs. Ich kenne mich da ja auch aus

00:20:07.260 --> 00:20:09.080
und das geht aber dann wirklich schnell. Und da ist halt aber auch

00:20:09.080 --> 00:20:09.880
dann das bei, was ich will.

00:20:10.320 --> 00:20:12.940
Ja, also es ist halt

00:20:12.940 --> 00:20:15.340
irgendwie, also ich bin

00:20:15.340 --> 00:20:17.180
da noch nicht bei null. Ja, andersrum ist, du fängst halt bei null an

00:20:17.180 --> 00:20:19.260
und dann musst du aus allen alten Projekten, wo du das benutzt hast,

00:20:19.280 --> 00:20:21.120
das jetzt mal reinkopieren. Das geht auch nicht schneller.

00:20:22.920 --> 00:20:25.420
Ja, aber genau dafür, sowas hast du ja normalerweise

00:20:25.420 --> 00:20:27.380
in einem Template, damit du das nicht

00:20:27.380 --> 00:20:29.460
aber es ist wirklich, also ich

00:20:29.460 --> 00:20:31.160
habe auch, ich würde jetzt nicht sagen,

00:20:31.700 --> 00:20:33.400
dass es da irgendwie eine Lösung für das Problem gibt,

00:20:33.500 --> 00:20:35.020
weil das ist irgendwie, ich

00:20:35.020 --> 00:20:37.260
habe inzwischen auch, also

00:20:37.260 --> 00:20:39.520
am Anfang fand ich

00:20:39.520 --> 00:20:41.060
das tatsächlich hilfreich, weil

00:20:41.060 --> 00:20:43.440
es gibt ja so viele Settings in

00:20:43.440 --> 00:20:45.480
Django auch, es ist halt echt eine Menge Zeug,

00:20:46.060 --> 00:20:47.420
dass man gar nicht weiß, wie man

00:20:47.420 --> 00:20:49.400
das alles setzen soll und wenn man vor dieser

00:20:49.400 --> 00:20:51.540
Aufgabe steht, ohne jetzt wirklich damit

00:20:51.540 --> 00:20:52.600
schon lange Erfahrung zu haben,

00:20:53.460 --> 00:20:55.400
dann ist man so ein bisschen, also jedenfalls hatte ich das am Anfang,

00:20:55.460 --> 00:20:57.300
hatte ich das Problem, du stehst halt wieder

00:20:57.300 --> 00:20:58.540
wie so ein Ox von Berg.

00:20:58.680 --> 00:21:01.300
Ja gut, aber wenn er es von Fydenny nimmt, also tatsächlich das

00:21:01.300 --> 00:21:02.540
Komplettprogramm.

00:21:02.560 --> 00:21:05.160
mit Cookie Cutter. Das ist ja derselbe

00:21:05.160 --> 00:21:07.220
Typ, der auch Two Scoops

00:21:07.220 --> 00:21:08.980
of Django. Ja, das Buch geschrieben hat oder

00:21:08.980 --> 00:21:10.940
die diversen Bücher, die es zu dem Thema gibt.

00:21:11.940 --> 00:21:12.260
Aber

00:21:12.260 --> 00:21:14.980
da ist so viel Zeugs drin.

00:21:15.400 --> 00:21:16.780
Da ist so viel Zeugs drin.

00:21:17.100 --> 00:21:18.520
Ja, die Hälfte brauchst du nicht.

00:21:19.060 --> 00:21:20.960
Ja, aber das ist halt die Frage.

00:21:21.060 --> 00:21:22.820
Am Anfang weißt du halt nicht, was du brauchst und was du nicht brauchst.

00:21:22.940 --> 00:21:23.600
Ja, aber das ist halt so.

00:21:24.460 --> 00:21:27.180
Gerade für Anfänger würde ich auf gar keinen Fall

00:21:27.180 --> 00:21:29.060
Klar, weißt du noch nicht, was du nicht brauchst, aber

00:21:29.060 --> 00:21:31.120
das würde ich auf gar keinen Fall machen, sondern ich würde Blank Django

00:21:31.120 --> 00:21:32.420
nehmen als Anfänger. Ja gut.

00:21:32.560 --> 00:21:34.700
also für mich war das

00:21:34.700 --> 00:21:36.460
gar nicht so ein schlechter Weg, aber inzwischen

00:21:36.460 --> 00:21:38.040
mache ich das halt auch nicht mehr, weil ich jetzt sagen würde,

00:21:38.380 --> 00:21:40.360
okay, ich weiß jetzt, was ich alles nicht brauche und ich brauche den

00:21:40.360 --> 00:21:42.400
meisten Kram nicht und vor allen Dingen ein Ding,

00:21:42.640 --> 00:21:44.280
das mich von dem Cookie Cutter,

00:21:44.340 --> 00:21:46.620
Django Cookie Cutter komplett weggebracht hat, ist halt,

00:21:47.040 --> 00:21:48.320
dass die halt irgendwann, das war auch

00:21:48.320 --> 00:21:50.560
nicht so, das war am Anfang nicht so,

00:21:51.160 --> 00:21:52.460
am Anfang war das komplett ohne Docker

00:21:52.460 --> 00:21:54.720
und dann haben sie irgendwann gesagt, okay,

00:21:55.520 --> 00:21:56.620
das jetzt für unterschiedliche Plattformen,

00:21:56.700 --> 00:21:58.560
das wird halt so stressig, das alles zu maintainen,

00:21:58.560 --> 00:22:00.380
wir konsolidieren das jetzt auf Docker

00:22:00.380 --> 00:22:02.360
und

00:22:02.360 --> 00:22:05.180
dann habe ich ja auch eine Zeit lang das mit Docker verwendet

00:22:05.180 --> 00:22:07.060
und jetzt würde ich sagen so, nee, ich will aber Docker gar nicht

00:22:07.060 --> 00:22:08.100
mehr, also weg damit.

00:22:09.020 --> 00:22:10.800
Und ja, jetzt

00:22:10.800 --> 00:22:12.920
bringt es für mich sozusagen gar nicht mehr so viel, weil

00:22:12.920 --> 00:22:14.780
ja, das ist halt hauptsächlich

00:22:14.780 --> 00:22:15.240
Docker-Zeugs.

00:22:17.460 --> 00:22:18.660
Okay, aber wir sind

00:22:18.660 --> 00:22:20.820
quasi jetzt ja da hingekommen, also warum

00:22:20.820 --> 00:22:23.000
Bootstrap bei dir? Genau, so ist

00:22:23.000 --> 00:22:25.080
das Bootstrap da irgendwie reingekommen und

00:22:25.080 --> 00:22:27.040
ich weiß auch nicht, ob das noch da

00:22:27.040 --> 00:22:29.100
mit drin ist, bei den aktuellen

00:22:29.100 --> 00:22:30.940
Geschichten, aber ja, also

00:22:30.940 --> 00:22:33.260
genau, eigentlich ist das natürlich nicht so schön.

00:22:33.340 --> 00:22:35.120
Ich habe jetzt auch letztens gesehen, wie groß

00:22:35.120 --> 00:22:37.000
Bootstrap eigentlich ist, war mir auch nicht so klar, das ist ja

00:22:37.000 --> 00:22:38.060
irgendwie alles ziemlich riesig.

00:22:38.920 --> 00:22:40.660
Und dann eben hat das noch so

00:22:40.660 --> 00:22:42.840
Dependencies auf jQuery und so, das sind ja alles Zeugs,

00:22:42.920 --> 00:22:44.900
was man heutzutage im Grunde nicht mehr wirklich haben will,

00:22:45.000 --> 00:22:46.940
braucht und so, aber es ist halt

00:22:46.940 --> 00:22:48.100
irgendwie dann alles immer noch mit dabei.

00:22:49.540 --> 00:22:51.080
Ja, also Foundation gibt es noch,

00:22:51.140 --> 00:22:52.320
das habe ich von Johannes mal.

00:22:53.160 --> 00:22:55.060
Ja, Foundation ist so quasi

00:22:55.060 --> 00:22:57.000
so ähnlich. Ja, auch so, du musst halt

00:22:57.000 --> 00:22:58.940
eigentlich, du schreibst halt nichts, importierst halt

00:22:58.940 --> 00:23:00.900
einfach irgendwas vom CDN oder kannst es natürlich

00:23:00.900 --> 00:23:02.920
auch vom Lokal. Und es sieht halt ein bisschen hübscher

00:23:02.920 --> 00:23:04.600
aus. Man kann natürlich immer nachstylen, wenn man will.

00:23:05.920 --> 00:23:07.000
Dann gibt es noch

00:23:07.000 --> 00:23:08.900
Materialize und

00:23:09.560 --> 00:23:10.180
UI-Kit.

00:23:11.000 --> 00:23:12.780
Und das sind alles immer so große klassenbasierte

00:23:12.780 --> 00:23:14.580
CSS-Sachen oder Post-SS oder so.

00:23:14.900 --> 00:23:16.680
Wo man halt dann seine Klassen,

00:23:17.180 --> 00:23:18.940
vordefinierte Klassen hat, die dann irgendwelche tolle Magie

00:23:18.940 --> 00:23:21.060
machen. Ja, oder Semantic

00:23:21.060 --> 00:23:22.880
UI habe ich jetzt auch gesehen, dass das viele Leute

00:23:22.880 --> 00:23:24.440
verwenden. End-Design.

00:23:25.460 --> 00:23:26.660
Das kenne ich nicht. Das ist

00:23:26.660 --> 00:23:28.140
auch total schräg.

00:23:28.300 --> 00:23:29.080
End, die Ameise?

00:23:29.240 --> 00:23:31.240
Ja, ja, ja. End.design.

00:23:31.600 --> 00:23:33.560
Das ist so was Chinesisches.

00:23:34.000 --> 00:23:34.680
Das ist auch so, dass

00:23:34.680 --> 00:23:37.320
es gibt, also das hat mehr

00:23:37.320 --> 00:23:38.540
Stars aufgetappt als Django.

00:23:39.380 --> 00:23:39.400
Und

00:23:39.400 --> 00:23:43.660
irgendwie in China verwenden das

00:23:43.660 --> 00:23:45.600
Millionen Leute. Aber hier

00:23:45.600 --> 00:23:46.680
kennt man das gar nicht so sehr.

00:23:47.960 --> 00:23:48.840
Ja, ist auch eigentlich.

00:23:51.400 --> 00:23:51.760
Wahrscheinlich

00:23:51.760 --> 00:23:53.480
verwenden es deswegen Leute, weil es gute Dokumentationen

00:23:53.480 --> 00:23:55.400
auf Chinesisch hat. Man weiß es nicht. Ja, mag

00:23:55.400 --> 00:23:57.040
sein. Dann gibt es noch Bulma.

00:23:57.460 --> 00:23:59.280
Das benutzen zum Beispiel viel von den

00:23:59.280 --> 00:24:00.840
VJS-Leuten, also wenn man irgendwie jetzt auf

00:24:00.840 --> 00:24:03.300
Mastery oder so Kurse macht. Da gibt es so ein paar

00:24:03.300 --> 00:24:05.180
Leute, die Bulma machen, fand ich, das hat mich

00:24:05.180 --> 00:24:07.040
nicht so ehrlich begeistert.

00:24:07.440 --> 00:24:09.200
Ist vielleicht eher so für...

00:24:09.200 --> 00:24:11.240
Ja, aber ich glaube, ich fände die gleiche Kategorie wie eben

00:24:11.240 --> 00:24:13.260
das habe ich ja auch unter Utility First

00:24:13.260 --> 00:24:15.460
CSS-Frameworks

00:24:15.460 --> 00:24:16.780
genauso wie Tailwind.

00:24:17.660 --> 00:24:19.260
Ja, genau, aber Tailwind würde ich sagen,

00:24:20.460 --> 00:24:21.040
so mache ich das.

00:24:21.360 --> 00:24:23.320
Okay. Ja, also ich finde es sehr, sehr

00:24:23.320 --> 00:24:25.140
toll. Ja, ich

00:24:25.140 --> 00:24:27.160
habe auch viel Gutes gehört und habe aber auch

00:24:27.160 --> 00:24:28.920
Leute schon stöhnen gehört, also ich weiß es nicht.

00:24:29.420 --> 00:24:31.240
Ja, also wir haben im Vorfeld jetzt kurz drüber gesprochen

00:24:31.240 --> 00:24:32.920
und du hast gesagt, so oben, Moment,

00:24:33.280 --> 00:24:35.200
also ich habe es zwar nicht benutzt, aber ich habe ja gehört

00:24:35.200 --> 00:24:37.180
A und B und C und die haben

00:24:37.180 --> 00:24:38.840
gesagt, das ist doof und

00:24:38.840 --> 00:24:39.580
Ja,

00:24:40.300 --> 00:24:43.220
genau, aber das Problem ist halt immer so, bei diesen

00:24:43.220 --> 00:24:44.980
Entscheidungen, ich meine wahrscheinlich ist einfach alles Unsinn,

00:24:45.100 --> 00:24:47.240
muss man irgendwas anfangen, aber ich habe ja keine Ahnung davon,

00:24:47.640 --> 00:24:49.160
ich habe aber jetzt, reden wir da schon

00:24:49.160 --> 00:24:51.080
fünf Minuten drüber und ich habe ja auch eine Liste mir dann

00:24:51.080 --> 00:24:53.160
gemacht, weil ich dachte irgendwie, vielleicht muss ich

00:24:53.160 --> 00:24:55.200
da mal irgendwie von 20 Dingern,

00:24:55.360 --> 00:24:57.200
die es hier irgendwie gibt, die ich mir alle mal angucken

00:24:57.200 --> 00:24:59.160
muss. Ich denke jetzt so, ich habe noch überhaupt

00:24:59.160 --> 00:25:01.240
nicht angefangen. Jetzt muss ich schon zwischen so vielen unterschiedlichen

00:25:01.240 --> 00:25:03.320
Sachen aushalten. Ich habe absolut keine Ahnung, was ich da machen soll.

00:25:04.500 --> 00:25:05.180
Oh mein Gott.

00:25:05.440 --> 00:25:06.480
Und dann eben, genau.

00:25:07.300 --> 00:25:09.160
Soll man jetzt das selber machen? Soll man BAM

00:25:09.160 --> 00:25:11.080
machen? Soll man irgendwie Utility

00:25:11.080 --> 00:25:13.160
First machen? Soll man ein Framework nehmen?

00:25:13.260 --> 00:25:14.380
Soll man SAS nehmen? LESS nehmen?

00:25:15.100 --> 00:25:17.260
PostCSS irgendwie? Was auch immer.

00:25:17.780 --> 00:25:18.880
Ich weiß es doch alles nicht.

00:25:19.420 --> 00:25:21.020
Und ich habe keine Ahnung.

00:25:21.560 --> 00:25:22.820
Ja, ich würde da tatsächlich Table nehmen.

00:25:23.100 --> 00:25:25.080
Ja, gut, dann fange ich mal mit Table an. Aber du hast ja gesagt, das ist ja alles noch für

00:25:25.080 --> 00:25:25.500
low budget.

00:25:27.080 --> 00:25:28.720
Und ich bin ja eher so,

00:25:28.860 --> 00:25:30.440
persönlich, bin ja eher so der

00:25:30.440 --> 00:25:31.860
high budget Typ.

00:25:33.840 --> 00:25:35.440
Finde ich,

00:25:35.520 --> 00:25:37.220
man muss sich da schon irgendwie so ein bisschen

00:25:37.220 --> 00:25:38.360
positionieren, ansonsten

00:25:38.360 --> 00:25:40.420
nicht, dass man da irgendwie

00:25:40.420 --> 00:25:45.320
am falschen Ende rauskommt.

00:25:45.440 --> 00:25:45.860
Das wäre nicht gut.

00:25:46.960 --> 00:25:49.120
Aber ich, genau, also ich weiß

00:25:49.120 --> 00:25:51.040
es halt nicht. Und es gibt so andere Sachen, es gibt dann noch

00:25:51.040 --> 00:25:53.100
diese ganzen Mini-Dinger. Habe ich jetzt gesehen

00:25:53.100 --> 00:25:55.080
bei, na,

00:25:55.200 --> 00:25:55.700
wie heißt der noch?

00:25:57.340 --> 00:25:58.960
Andrew Johnson hat das verwendet.

00:25:59.460 --> 00:26:00.500
MVP, CSS.

00:26:01.880 --> 00:26:02.600
Ja, das kenne ich noch nicht.

00:26:03.380 --> 00:26:05.120
Super minimal. Und davon gibt es dann halt

00:26:05.120 --> 00:26:07.240
auch wieder ein paar. Es gibt Mini-CSS

00:26:07.240 --> 00:26:08.540
dort auch. Aber da muss man immer CSS sein.

00:26:08.540 --> 00:26:10.180
Also ich muss jetzt nochmal

00:26:10.180 --> 00:26:12.240
Tavent nochmal loben, weil

00:26:12.240 --> 00:26:14.400
es sieht hässlich aus

00:26:14.400 --> 00:26:16.240
auf den ersten Blick, weil das das

00:26:16.240 --> 00:26:18.520
HTML so ein bisschen bloatet. Du hast halt

00:26:18.520 --> 00:26:20.420
in deinem HTML ganz viel mehr Klassen

00:26:20.420 --> 00:26:22.500
drin, die halt direkt das Styling machen. Aber

00:26:22.500 --> 00:26:24.540
dafür hast du halt eben keine extra CSS-File mehr,

00:26:24.620 --> 00:26:26.560
musst nicht hin- und herswitchen. Und eigentlich steht

00:26:26.560 --> 00:26:28.460
es meiner Meinung nach genau da halt

00:26:28.460 --> 00:26:30.380
die Definition des Styles drin, wo es halt hingehört.

00:26:30.440 --> 00:26:31.740
Und zwar genau an dem

00:26:31.740 --> 00:26:33.200
HTML-Element.

00:26:34.720 --> 00:26:36.580
Und das finde ich super angenehm. Und da man

00:26:36.580 --> 00:26:38.560
eh meiner Meinung nach ja immer so wieder

00:26:38.560 --> 00:26:40.520
benutzbare Komponenten aktuell so

00:26:40.520 --> 00:26:42.540
hat, ist das mit der Redundanz

00:26:42.540 --> 00:26:43.560
hier auch nicht so schlimm. Und

00:26:43.560 --> 00:26:46.380
ja, wenn du dann halt so ein

00:26:46.380 --> 00:26:48.500
Hot-Reloading weit noch nebenbei anhast,

00:26:48.600 --> 00:26:50.640
dann siehst du halt jede Änderung

00:26:50.640 --> 00:26:52.540
der Farbe, schreibst halt

00:26:52.540 --> 00:26:53.640
Red als Klasse hin

00:26:53.640 --> 00:26:55.980
und dann ist es Rot und dann schreibst du

00:26:55.980 --> 00:26:58.600
Red wächst mal Blau und dann ist es direkt Blau

00:26:58.600 --> 00:27:00.600
und das ist einfach, das ist so

00:27:00.600 --> 00:27:02.100
ein bisschen wie in den 90ern HTML-Coden.

00:27:03.480 --> 00:27:04.480
Da musste man das ja auch

00:27:04.480 --> 00:27:06.360
alles noch direkt hineinschreiben.

00:27:06.700 --> 00:27:07.640
Und ich mochte das.

00:27:07.960 --> 00:27:10.000
Okay, ich habe das weder in den 90ern gemacht, noch jetzt

00:27:10.000 --> 00:27:12.200
oder dazwischen irgendwann, aber gut.

00:27:13.140 --> 00:27:13.700
Naja, jetzt

00:27:13.700 --> 00:27:16.220
muss ich wohl doch irgendwie mal.

00:27:16.380 --> 00:27:17.480
Ja, das musst du auf jeden Fall mal angucken.

00:27:17.760 --> 00:27:19.720
Wir haben ja auch eben noch über Winnie kurz gesprochen,

00:27:19.720 --> 00:27:20.700
Das hast du ja auch noch gehabt.

00:27:20.780 --> 00:27:22.380
Da gab es ja eine lustige...

00:27:22.380 --> 00:27:24.840
Also über Tailwind, da gab es eine neue Release.

00:27:24.940 --> 00:27:26.120
Ach, das hätten wir in die News packen können, ne?

00:27:26.420 --> 00:27:26.720
Ja.

00:27:26.860 --> 00:27:27.160
Siehst du mal.

00:27:28.860 --> 00:27:32.340
Es gab eine Working Draft-Episode letzte Woche oder sowas

00:27:32.340 --> 00:27:37.880
über Tailwind CSS3, wo auch irgendwie der Continuer war,

00:27:37.960 --> 00:27:38.940
so eigentlich ist es ganz gut.

00:27:39.120 --> 00:27:41.460
Und die Vorteile sind halt irgendwie, dass man jetzt nicht mehr...

00:27:41.460 --> 00:27:43.280
Also früher war es so, im Default-Fall hat es halt irgendwie

00:27:43.280 --> 00:27:46.880
immer die gleiche Größe an CSS ausgelegt.

00:27:46.880 --> 00:27:48.740
Ja, man musste halt manuell purgen, die

00:27:48.740 --> 00:27:50.880
CSS-Dinge, die man nicht haben wollte,

00:27:51.080 --> 00:27:52.640
die musste man dann weg purgen, dass

00:27:52.640 --> 00:27:54.420
die Falle nicht so groß wurde, ja.

00:27:54.940 --> 00:27:56.800
Genau, und das passiert jetzt irgendwie alles

00:27:56.800 --> 00:27:58.060
automatisch und man

00:27:58.060 --> 00:28:00.920
muss auch nicht mehr Node.js verwenden,

00:28:01.020 --> 00:28:02.540
sondern es hat irgendwie Standalone

00:28:02.540 --> 00:28:04.900
Command-Line-Utilities irgendwie

00:28:04.900 --> 00:28:07.020
für all die Sachen. Und das

00:28:07.020 --> 00:28:09.000
ist ja schon sehr nett, also da dachte

00:28:09.000 --> 00:28:10.800
ich auch so, oh, das klingt aber gut. Und dann

00:28:10.800 --> 00:28:12.880
eben hieß es da auch, ja, das kommt aber von den Leuten

00:28:12.880 --> 00:28:14.920
von Winnie oder so. Ja, also

00:28:14.920 --> 00:28:16.640
Winnie hat ja Tailwind geklaut und dann

00:28:16.640 --> 00:28:18.760
Sachen so ein bisschen halt faster gemacht vielleicht

00:28:18.760 --> 00:28:20.580
oder so, so ein bisschen mehr Opinion reingebracht.

00:28:20.600 --> 00:28:21.840
Jetzt haben sie das halt wieder zurückgeklaut.

00:28:23.320 --> 00:28:24.620
Und dann haben sich die Winnie-Leute

00:28:24.620 --> 00:28:26.660
beschert, dass sie nicht gecredited

00:28:26.660 --> 00:28:27.860
werden für diese Geschichten.

00:28:28.620 --> 00:28:30.620
Und dann hat irgendjemand anders gemeint, so, ah, aber ihr habt

00:28:30.620 --> 00:28:31.720
das auch nur von mir wieder geklaut.

00:28:32.940 --> 00:28:34.560
Verflüstert es auf einmal so, als wären das jetzt irgendwelche

00:28:34.560 --> 00:28:35.700
Geheiminformationen, die...

00:28:35.700 --> 00:28:37.940
Aber ich, keine Ahnung.

00:28:38.980 --> 00:28:40.520
Also ich mag tatsächlich auch die

00:28:40.520 --> 00:28:42.500
Bezahlsachen von Table & Can Scan. Es gibt ja so

00:28:42.500 --> 00:28:44.620
vorgefertigte UI-Komponenten, die man sich kaufen

00:28:44.620 --> 00:28:46.480
konnte. Und das Projekt zu unterstützen ist von denselben

00:28:46.480 --> 00:28:48.440
Leuten, die das Projekt

00:28:48.440 --> 00:28:48.840
geschrieben haben.

00:28:49.920 --> 00:28:52.020
Es gibt ja auch so ein tolles Buch,

00:28:52.180 --> 00:28:53.780
Refactoring UI oder so.

00:28:54.400 --> 00:28:56.340
Habe ich mir auch irgendwann mal gekauft, aber habe ich

00:28:56.340 --> 00:28:58.060
dann nicht gelesen. Vielleicht sollte ich das auch mal machen.

00:28:58.420 --> 00:28:59.860
Vielleicht weiß ich dann mehr, wie das für die ganzen CSS.

00:29:00.060 --> 00:29:02.240
Vielleicht sollte ich damit mal starten und irgendwie mal ein Buch lesen.

00:29:02.420 --> 00:29:03.760
Das könnte vielleicht hilfreich sein.

00:29:05.140 --> 00:29:06.320
Eine Geschichte,

00:29:06.480 --> 00:29:08.140
die tatsächlich interessanter aussieht als diese

00:29:08.140 --> 00:29:10.320
Myriade an unterschiedlichen CSS

00:29:10.320 --> 00:29:12.000
Arten, Frameworks,

00:29:12.220 --> 00:29:13.780
Minimaldingern, die man so benutzen kann.

00:29:14.620 --> 00:29:16.220
die ich letztens gesehen habe, ist

00:29:16.220 --> 00:29:19.060
Missing.Style

00:29:19.060 --> 00:29:20.820
und zwar, weil

00:29:20.820 --> 00:29:22.860
das halt aus dem HTMX-Umfeld

00:29:22.860 --> 00:29:23.920
kommt und

00:29:23.920 --> 00:29:26.020
da Leute sich überlegt haben, okay,

00:29:26.900 --> 00:29:28.740
ja, es gibt, das fehlt halt noch. Also wenn man

00:29:28.740 --> 00:29:30.780
HTMX macht, das mache ich jetzt auch relativ viel

00:29:30.780 --> 00:29:32.680
und da bin ich eigentlich super

00:29:32.680 --> 00:29:34.780
zufrieden mit und ja, aber wie macht man

00:29:34.780 --> 00:29:36.080
das denn jetzt, weil da ist ja auch viel

00:29:36.080 --> 00:29:38.660
Animationsgeschichten oder so

00:29:38.660 --> 00:29:40.520
drin, die, dass dann Sachen verschwinden, wenn man

00:29:40.520 --> 00:29:42.420
irgendwo draufklickt oder auftauchen und so

00:29:42.420 --> 00:29:43.780
Transition-Effekte und so

00:29:43.780 --> 00:29:45.940
und ja, da haben sie überlegt,

00:29:46.060 --> 00:29:47.820
okay, dann brauchen wir eigentlich genau dafür

00:29:47.820 --> 00:29:49.500
eins, aber wir wollen vielleicht nicht so ein super

00:29:49.500 --> 00:29:51.020
so ein

00:29:51.020 --> 00:29:53.860
all-in-one-riesen-Ding haben, sondern

00:29:53.860 --> 00:29:55.720
nur für die Sachen, die wir da benutzen,

00:29:55.940 --> 00:29:57.800
irgendwie so ein CSS-Geschichten

00:29:57.800 --> 00:29:59.120
mitrahmen und sozusagen

00:29:59.120 --> 00:30:01.200
der Missing Link irgendwie

00:30:01.200 --> 00:30:03.760
soll das irgendwie so sein.

00:30:03.900 --> 00:30:05.740
Das kann man sich auch mal angucken. Also da werde ich auf jeden Fall

00:30:05.740 --> 00:30:07.360
auch mal drauf gucken, was die da machen

00:30:07.360 --> 00:30:09.720
und das klang auf jeden Fall interessant, weil das

00:30:09.720 --> 00:30:11.760
fehlt halt tatsächlich. Also bisher muss man dann halt

00:30:11.760 --> 00:30:14.160
diese ganzen Transition-Geschichten

00:30:14.160 --> 00:30:15.900
halt irgendwie in seinen CSS mit

00:30:15.900 --> 00:30:17.780
reinfrickeln dann. Und wenn das halt

00:30:17.780 --> 00:30:19.640
automatisch alles da wäre, wäre natürlich schon nett.

00:30:21.940 --> 00:30:22.060
Ja.

00:30:23.880 --> 00:30:24.320
Genau.

00:30:24.760 --> 00:30:25.960
Ansonsten, ja, ich weiß

00:30:25.960 --> 00:30:26.200
nicht.

00:30:29.280 --> 00:30:29.720
CSS

00:30:29.720 --> 00:30:30.820
haben, ja.

00:30:32.500 --> 00:30:33.860
Ich muss mich

00:30:33.860 --> 00:30:35.540
damit mal auseinandersetzen. Ich komme nicht mehr drum rum.

00:30:35.820 --> 00:30:37.180
Ja, das erzählst du mir schon seit

00:30:37.180 --> 00:30:37.680
Jahren.

00:30:39.020 --> 00:30:41.100
Und dann habe ich doch immer wieder was anderes gefunden.

00:30:41.760 --> 00:30:47.580
Und ja, es lässt sich aber, glaube ich, inzwischen echt nicht mehr vermeiden.

00:30:48.140 --> 00:30:48.640
Ja, wie so ein bisschen.

00:30:48.800 --> 00:30:51.400
Also deswegen empfehlen wir immer noch Tailwind.

00:30:51.680 --> 00:30:52.380
Habt ihr das schon gesagt?

00:30:52.760 --> 00:30:54.120
Ja, ich bin ein kleiner Fan davon.

00:30:54.260 --> 00:30:54.960
Ich weiß nicht genau, warum.

00:30:55.660 --> 00:30:58.760
Es war so ein bisschen, also ich konnte CSS sehr, sehr lange überhaupt nicht leiden.

00:30:58.840 --> 00:30:59.820
Es war irgendwie mega hässlich.

00:31:00.480 --> 00:31:03.460
Und dann fühlte sich Tailwind so an, wie ich es machen will.

00:31:03.800 --> 00:31:07.220
Das ist so wie bei Python, wo ich relativ schnell wusste, okay, so will ich es machen.

00:31:08.580 --> 00:31:08.900
Ja.

00:31:09.720 --> 00:31:11.280
Das ist immer dann, wenn man gar nicht weiß, wie es geht

00:31:11.280 --> 00:31:13.100
und dann findet man was, das irgendwie cool ist.

00:31:13.180 --> 00:31:15.060
Ich weiß auch nicht. Vielleicht ist man auch völlig

00:31:15.060 --> 00:31:17.080
auf dem Holzweg, weil man keinen hat, der einem erklärt hat,

00:31:17.100 --> 00:31:19.200
wie es richtig ist. Aber vielleicht ist es auch manchmal gar nicht so schlecht,

00:31:19.280 --> 00:31:21.180
wenn man da so ein bisschen seiner Intuition folgt.

00:31:21.940 --> 00:31:23.200
Ja, am besten ist es wahrscheinlich,

00:31:23.280 --> 00:31:24.540
man muss irgendwas machen und dann

00:31:24.540 --> 00:31:27.200
schauen, ob man den

00:31:27.200 --> 00:31:29.140
Kurs korrigiert, wenn es irgendwie nicht mehr gut

00:31:29.140 --> 00:31:31.220
funktioniert. Ja, das sollte schon möglich sein,

00:31:31.260 --> 00:31:32.760
dass man seine Meinung auch wechseln kann.

00:31:32.860 --> 00:31:33.520
Das ist, glaube ich, schon...

00:31:33.520 --> 00:31:37.040
Wir werden uns

00:31:37.040 --> 00:31:37.940
weiter

00:31:37.940 --> 00:31:41.080
Dinge angucken und dann sagen wir Bescheid, wenn wir

00:31:41.080 --> 00:31:42.120
irgendwie das perfekt gefunden haben.

00:31:44.200 --> 00:31:45.020
Ansonsten, ja, ich meine,

00:31:45.160 --> 00:31:46.860
keine Ahnung, ich könnte ein bisschen was erzählen zu den

00:31:46.860 --> 00:31:48.840
Sachen, die ich so mache. Warum gucke ich mir eigentlich

00:31:48.840 --> 00:31:50.960
CSS-Geschichten an? Ja, erzähl mal, warum

00:31:50.960 --> 00:31:52.720
guckst du dir CSS-Geschichten an? Ist ja langweilig,

00:31:52.760 --> 00:31:53.740
auch wenn du es noch nicht benutzt hast.

00:31:54.520 --> 00:31:56.900
Ja, ich habe ja diverse Projekte,

00:31:56.980 --> 00:31:58.440
ja. Aber

00:31:58.440 --> 00:32:00.780
genau, momentan

00:32:00.780 --> 00:32:02.840
also

00:32:02.840 --> 00:32:04.880
eine Geschichte, die ganz interessant ist,

00:32:05.020 --> 00:32:07.120
ist halt, dass

00:32:07.120 --> 00:32:09.240
Das beeinflusst halt so viele Sachen, weil das halt

00:32:09.240 --> 00:32:11.720
Mit HTML-Sachen in den nächsten Trinkspielen, Jürgen.

00:32:12.320 --> 00:32:13.120
Wenn ich das sage,

00:32:13.200 --> 00:32:14.160
ja,

00:32:14.460 --> 00:32:16.380
stimmt schon, aber

00:32:16.380 --> 00:32:19.080
naja, so, weil

00:32:19.080 --> 00:32:21.340
vieles, so gerade, ich hatte

00:32:21.340 --> 00:32:23.260
mal irgendwann vor Jahren, also das ist zum Beispiel wieder eins von

00:32:23.260 --> 00:32:24.340
diesen Beispielen,

00:32:24.380 --> 00:32:26.820
so ein Bookmarking-Ding

00:32:26.820 --> 00:32:28.880
angefangen und das macht halt auch so viel mit

00:32:28.880 --> 00:32:30.580
Bootstrap und

00:32:30.580 --> 00:32:33.160
so und jQuery und

00:32:33.160 --> 00:32:35.240
ist halt alles ziemlich hässlich, was

00:32:35.240 --> 00:32:37.020
Frontend-Geschichten angeht und

00:32:37.020 --> 00:32:38.780
das

00:32:38.780 --> 00:32:41.500
letztens nochmal angefasst, wieder auf aktuellen

00:32:41.500 --> 00:32:43.660
Stand gebracht und da könnte man

00:32:43.660 --> 00:32:45.560
wahrscheinlich mit HTMLX sehr viel machen und

00:32:45.560 --> 00:32:47.480
dann ist halt die Frage, kann man dann nicht den ganzen

00:32:47.480 --> 00:32:49.440
anderen Kram gleich mit rausschmeißen? Also sowas wie

00:32:49.440 --> 00:32:51.900
dieses ganze jQuery-Graffel

00:32:51.900 --> 00:32:53.600
und irgendwie Bootstrap und so, das wäre doch eigentlich

00:32:53.600 --> 00:32:55.460
ganz nett. Und dann ist halt die Frage, okay,

00:32:55.560 --> 00:32:56.160
was macht man in der Hand?

00:32:57.100 --> 00:32:57.720
Genau, genau.

00:32:58.740 --> 00:33:01.100
Dafür auch super geeignet.

00:33:01.100 --> 00:33:03.180
Du hast ein Snippet, das du bei HTMLX

00:33:03.180 --> 00:33:04.880
rausrennst und was schreibst du in dein Snippet rein?

00:33:05.080 --> 00:33:07.080
Ja, genau. Also das wäre natürlich nett.

00:33:07.380 --> 00:33:08.880
Das sind halt so Sachen, die Tailwind

00:33:08.880 --> 00:33:10.800
nett machen, ist halt, dass es, wenn es im HTML

00:33:10.800 --> 00:33:12.580
drinsteht, dann kann man es eben auch direkt mit

00:33:12.580 --> 00:33:14.840
man muss halt nicht ein neues CSS mit ausliefern.

00:33:15.320 --> 00:33:17.000
Genau, und du musst auch nicht jedes Mal in das

00:33:17.000 --> 00:33:19.080
irgendein großes CSS, in das du schon ausgeliefert hast,

00:33:19.140 --> 00:33:21.120
genau die Sachen reintreiben, sondern schreibst halt genau das, was du willst

00:33:21.120 --> 00:33:22.640
in dein, ja.

00:33:23.220 --> 00:33:24.880
Aber du hast eben auch gesagt, also ja, also

00:33:24.880 --> 00:33:26.880
die großen Designer, die sich die ganz tollen Konzepte

00:33:26.880 --> 00:33:28.960
überlegt haben mit ihren Styleguides, die könnten

00:33:28.960 --> 00:33:30.680
eventuell sein, dass du dann einfach trotzdem

00:33:30.680 --> 00:33:33.020
den Button kleiner machst, obwohl das verboten ist im Styleguide.

00:33:34.140 --> 00:33:34.940
Ja, ich weiß

00:33:34.940 --> 00:33:36.940
ich habe ehrlich gesagt keine Ahnung noch, wie man das alles

00:33:36.940 --> 00:33:37.740
wirklich macht, aber naja.

00:33:38.640 --> 00:33:40.180
Ja, aber genau, das wäre

00:33:40.180 --> 00:33:42.760
so, das war so einer der Gründe,

00:33:42.820 --> 00:33:43.940
warum ich da nochmal drüber nachgedacht habe.

00:33:44.480 --> 00:33:46.820
Dann genau, aber auch sowas wie

00:33:46.820 --> 00:33:50.320
ja, diese,

00:33:51.040 --> 00:33:52.640
dafür würde ich gerne so eine Landingpage

00:33:52.640 --> 00:33:54.540
bauen halt irgendwie, Podcast,

00:33:54.640 --> 00:33:56.320
Hosting, Software as a Service

00:33:56.320 --> 00:33:58.500
Geschichte und da

00:33:58.500 --> 00:34:00.340
braucht man dann ja auch vielleicht ein bisschen mehr Design,

00:34:00.520 --> 00:34:02.500
Wumms und dann ist Bootstrap vielleicht irgendwie

00:34:02.500 --> 00:34:03.100
nicht das Richtige.

00:34:03.680 --> 00:34:05.540
Nee, also was wir da machen, ist Designer

00:34:05.540 --> 00:34:07.680
fragen, dann machen

00:34:07.680 --> 00:34:09.600
die uns einen Entwurf, Design

00:34:09.600 --> 00:34:11.500
und dann machen wir das in

00:34:11.500 --> 00:34:12.500
Tablet. Ah, okay.

00:34:13.700 --> 00:34:15.540
Ja, irgendwie

00:34:15.540 --> 00:34:17.640
sowas, ne? Ja, da helfe ich dir gerne

00:34:17.640 --> 00:34:19.080
bei. Ja. Was machst du noch?

00:34:19.400 --> 00:34:21.480
Du hast noch ein paar Sachen entdeckt, so ein paar Pics fast,

00:34:21.580 --> 00:34:23.440
ja, die... Ja, aber genau,

00:34:23.520 --> 00:34:24.700
kann man auch einfach mal raushauen,

00:34:25.140 --> 00:34:27.640
da gibt es ja genug Gelegenheiten für andere Pics.

00:34:28.120 --> 00:34:29.540
Mermaid. Mermaid habe ich jetzt

00:34:29.540 --> 00:34:31.560
letztens gesehen. Ziemlich

00:34:31.560 --> 00:34:33.460
coole Sache, das kann ich noch nicht. Was man damit machen kann,

00:34:33.460 --> 00:34:35.040
es Markdown-Enhancen um

00:34:35.040 --> 00:34:36.720
sowas wie Diagramme.

00:34:37.640 --> 00:34:39.620
Ja, genau. Und das kann halt auch diese Diagramme,

00:34:39.720 --> 00:34:41.100
die Arten von Diagrammen, die man halt

00:34:41.100 --> 00:34:43.420
zu rendern. Also das, was ihr von Draw.io vielleicht

00:34:43.420 --> 00:34:45.460
kennt so ein bisschen oder so, wenn ihr so

00:34:45.460 --> 00:34:47.160
ich weiß nicht, ob das in der Komplexität geht, aber

00:34:47.160 --> 00:34:49.200
richtig coole Sachen, die man echt

00:34:49.200 --> 00:34:51.260
gut dastehen kann. ERM-Diagramme,

00:34:51.980 --> 00:34:53.220
Flowcharts, sowas.

00:34:53.820 --> 00:34:55.340
Einfach als Markdown schreiben, so ein bisschen

00:34:55.340 --> 00:34:57.020
runterschreiben und dann könnt ihr das auch

00:34:57.020 --> 00:34:59.460
direkt rendern lassen. Auch von sowas wie GitHub.

00:35:00.080 --> 00:35:01.420
Ja, also ER-Diagramme

00:35:01.420 --> 00:35:03.440
habe ich auch oft irgendwie, da gab es so ein Plugin für

00:35:03.440 --> 00:35:05.840
weiß ich gar nicht, wie das hieß,

00:35:06.200 --> 00:35:08.020
auch in Django konnte man das irgendwie mit

00:35:08.020 --> 00:35:09.960
einbinden und dann hat das halt

00:35:09.960 --> 00:35:12.120
als Management Command und dann hat das halt

00:35:12.120 --> 00:35:14.420
irgendwie ein ER-Diagramm rausgerendert,

00:35:14.480 --> 00:35:16.340
aber das Problem ist halt, die sind halt wenig konfigurierbar

00:35:16.340 --> 00:35:18.120
und wenn das halt groß wird, dann ist halt irgendwie

00:35:18.120 --> 00:35:20.060
sieht man nichts mehr und wenn es klein ist, dann hätte man

00:35:20.060 --> 00:35:21.740
gar nicht mehr Informationen. Du meinst Graphist?

00:35:22.180 --> 00:35:24.140
Und das hat mit Graphist oder Dot

00:35:24.140 --> 00:35:25.840
irgendwie hat das das dann gerendert, aber

00:35:25.840 --> 00:35:27.240
das ist alles nicht so,

00:35:28.120 --> 00:35:30.180
also da ist... Ja gut, also für das ERM-Diagramm

00:35:30.180 --> 00:35:32.180
direkt rausrennen lassen aus den Models, ist das natürlich schon nett,

00:35:32.280 --> 00:35:34.340
Wir reden ja gerade über Mermaid, dass das, glaube ich,

00:35:34.340 --> 00:35:36.300
nicht macht. Nee, da machst du es von Hand, aber da hast

00:35:36.300 --> 00:35:38.500
halt dann auch mehr Kontrollmöglichkeiten. Also insofern...

00:35:38.500 --> 00:35:40.200
Ja gut, aber ich will jetzt natürlich nicht jetzt irgendwie,

00:35:40.680 --> 00:35:42.160
wenn irgendjemand einfach kurz das ERM

00:35:42.160 --> 00:35:43.980
sehen will, dann exportiere ich halt einfach aus meinen

00:35:43.980 --> 00:35:46.320
Dango-Models kurz das ERM. Aber ja, du hast natürlich

00:35:46.320 --> 00:35:48.220
recht, viel schöner, wenn man das vorbereitet

00:35:48.220 --> 00:35:50.360
und am Anfang, bevor man die Models hat,

00:35:50.420 --> 00:35:51.700
kann man das ja vielleicht bauen, so.

00:35:52.140 --> 00:35:54.220
Naja, ist eher so, weil die Frage ist, was willst

00:35:54.220 --> 00:35:55.460
du in deiner Dokumentation verlinken?

00:35:56.580 --> 00:35:58.260
Und ein automatisch generiertes Ding

00:35:58.260 --> 00:35:59.980
in der Dokumentation ist halt irgendwie

00:35:59.980 --> 00:36:01.940
nicht so super.

00:36:01.940 --> 00:36:04.280
Wichtigere Frage wäre, liest jemand die Dokumentation?

00:36:05.420 --> 00:36:06.280
Ja, das ist

00:36:06.280 --> 00:36:08.180
auch vielleicht nicht. Ja, wenn nicht,

00:36:08.320 --> 00:36:10.140
dann mache ich es automatisch, weil dann brauche ich ja

00:36:10.140 --> 00:36:12.260
keine Arbeitszeit reinchecken. Wenn doch, dann sollte

00:36:12.260 --> 00:36:13.880
man es ordentlich machen. Aber das ist immer ein bisschen die Frage.

00:36:13.980 --> 00:36:16.120
Einige Leute wollen die unbedingt haben, aber niemand

00:36:16.120 --> 00:36:18.180
guckt rein. Dann ist es halt nur für einen selber

00:36:18.180 --> 00:36:20.220
und dann weiß ich nicht, ob ich das dann...

00:36:20.880 --> 00:36:22.200
Naja, aber also was mich

00:36:22.200 --> 00:36:24.020
halt freut, ist, dass es jetzt auf jeden Fall ein Ding gibt,

00:36:24.400 --> 00:36:25.560
wo man... Also sonst habe ich mich immer gefragt,

00:36:25.620 --> 00:36:28.200
nehme ich Draw.io oder nehme ich irgendein anderes Tool

00:36:28.200 --> 00:36:30.140
oder nehme ich halt irgendwie irgendein Desktop-Ding,

00:36:30.240 --> 00:36:32.220
was ich halt habe. Und dann mache ich das als PNG

00:36:32.220 --> 00:36:34.360
raus oder als SVG. Nehme ich lieber in SVG

00:36:34.360 --> 00:36:36.100
oder weiß nicht so genau. Und dann

00:36:36.100 --> 00:36:38.380
das sieht aber auch wieder ganz anders aus als alle anderen

00:36:38.380 --> 00:36:40.240
Diagramme, die ich sonst so gemacht

00:36:40.240 --> 00:36:42.200
habe. Also Mist, auf dem Hintergrund funktioniert das

00:36:42.200 --> 00:36:44.200
aber nicht. Halt diese ganzen Probleme. Und das

00:36:44.200 --> 00:36:46.220
ist man halt alles los, wenn man das mit Mermaid macht.

00:36:46.400 --> 00:36:48.160
Ja, also vor allem, das ist wie gesagt Master. Und ihr

00:36:48.160 --> 00:36:50.520
könnt auch sowas machen wie verschiedene Projekte.

00:36:50.740 --> 00:36:52.240
Wie lange wollt ihr die denn schedulen?

00:36:52.360 --> 00:36:54.080
Und dann nebeneinander. Das finde ich echt sehr geil. Also ich

00:36:54.080 --> 00:36:56.120
müsste mir das unbedingt angucken, weil ich halt diese

00:36:56.120 --> 00:36:58.020
Tasks, die hintereinander kommen, mit

00:36:58.020 --> 00:37:00.060
wie lange brauchen die denn? So ein Ad-Gent

00:37:00.060 --> 00:37:01.980
oder sowas für verschiedene Projekte bauen kann

00:37:01.980 --> 00:37:03.960
in Markdown. Und wir benutzen ja eh

00:37:03.960 --> 00:37:05.140
für alles jetzt Markdown, nicht wahr, Jochen?

00:37:06.580 --> 00:37:06.940
Ja.

00:37:07.640 --> 00:37:09.120
Ich weiß nicht so genau.

00:37:09.480 --> 00:37:10.740
Nein, zum Schreiben, nicht?

00:37:11.280 --> 00:37:13.720
Ja, meistens. Also, genau.

00:37:13.800 --> 00:37:15.680
Ich habe ja jetzt auch MPR-Docs mehr dann angeguckt

00:37:15.680 --> 00:37:16.740
und damit geht das halt auch.

00:37:17.120 --> 00:37:19.200
Genau, Static-Page-Rendering geht auch.

00:37:19.960 --> 00:37:21.080
Und da kann ich auch Markdown.

00:37:21.340 --> 00:37:24.080
PDF geht, sogar so Richtung LaTeX-Templates geht.

00:37:24.580 --> 00:37:24.960
Es geht,

00:37:26.340 --> 00:37:27.880
was noch? Was brauchen wir noch? PDF natürlich,

00:37:28.060 --> 00:37:30.220
Präsentationen geht.

00:37:31.380 --> 00:37:32.820
Naja, oder Notebooks verwende ich halt auch

00:37:32.820 --> 00:37:34.540
Markdown viel. Notebooks? Klar.

00:37:35.580 --> 00:37:37.120
Aber, sagen wir mal so,

00:37:37.220 --> 00:37:38.940
also für Python-Dokumentationen

00:37:38.940 --> 00:37:40.480
traditionell verwenden Leute ja dann

00:37:40.480 --> 00:37:42.720
Restructured Text. Ja, aber das ist so hässlich.

00:37:43.040 --> 00:37:44.980
Ja, es ist hässlich, aber es ist halt,

00:37:45.040 --> 00:37:46.300
es kann halt viel mehr als Markdown.

00:37:46.620 --> 00:37:48.900
Und es gibt halt, die Leute sagen halt immer so,

00:37:49.020 --> 00:37:50.620
ja, also Markdown nett,

00:37:50.620 --> 00:37:52.480
aber es kann halt nicht die Sachen, die ich brauche.

00:37:52.640 --> 00:37:54.720
Daher nehme ich lieber, also gerade was Links

00:37:54.720 --> 00:37:55.980
angeht und so,

00:37:56.420 --> 00:37:58.420
daher nehme ich lieber Restructured Text.

00:37:58.540 --> 00:37:58.940
Ich glaube auch,

00:37:59.220 --> 00:38:00.620
das ist immer noch das,

00:38:00.700 --> 00:38:02.120
was am häufigsten verwendet wird.

00:38:02.600 --> 00:38:04.400
Also wenn man irgendwie Dokumentationen von Projekten anguckt,

00:38:04.460 --> 00:38:05.660
das ist meistens Restructured Text.

00:38:05.720 --> 00:38:07.040
Aber ich habe es auch jetzt öfter mal

00:38:07.040 --> 00:38:09.560
mit Twinks oder so versucht.

00:38:11.580 --> 00:38:13.700
Ich verstehe, wo das Problem ist, ja.

00:38:14.120 --> 00:38:15.140
Also das schlägt dann keiner mehr.

00:38:15.340 --> 00:38:16.920
Also Markdown kann man irgendwie besser.

00:38:18.120 --> 00:38:18.760
Ich weiß nicht,

00:38:18.800 --> 00:38:19.840
Restructured Text wird es nicht schaffen.

00:38:21.340 --> 00:38:22.520
Keine Ahnung, aber...

00:38:22.520 --> 00:38:23.100
Bin ich mir zumindest sicher.

00:38:23.440 --> 00:38:25.480
Also Markdown kann man so super viele Anwendungsfälle haben.

00:38:25.580 --> 00:38:27.180
man kann das halt einfach, sein Github hochladen,

00:38:27.260 --> 00:38:29.100
das ist direkt gerendert. Man kann, weiß nicht,

00:38:29.240 --> 00:38:31.160
es gibt so Typora oder so, ich glaube, der ist leider,

00:38:31.260 --> 00:38:32.780
der war tischendurch frei, ich glaube, der ist jetzt

00:38:32.780 --> 00:38:34.400
leider auch

00:38:34.400 --> 00:38:37.320
proprietär, aber da konnte man wie

00:38:37.320 --> 00:38:39.560
so ein Schreibprogramm seine Eltern

00:38:39.560 --> 00:38:41.320
überreden, wenn die irgendwas schreiben wollen und

00:38:41.320 --> 00:38:43.300
kein Word brauchten, hey, schreib doch Typora, dann hatten die

00:38:43.300 --> 00:38:45.300
Markdown-Files voll toll und die haben es gar nicht gemerkt,

00:38:45.480 --> 00:38:47.280
weil das so ein Wolf-Misky-Editor für Markdown

00:38:47.280 --> 00:38:49.220
hat das richtig schön und

00:38:49.220 --> 00:38:51.460
sowas halt und ja, Obsidian

00:38:51.460 --> 00:38:52.620
vielleicht noch und

00:38:52.620 --> 00:38:55.460
das halt so eine grafische Visualisierung von einem Markdown

00:38:55.460 --> 00:38:57.280
es macht, wenn du es möchtest. Und dann

00:38:57.280 --> 00:38:59.300
kannst du so ein bisschen sehen, woran du arbeitest oder wie die Themen

00:38:59.300 --> 00:39:01.340
untereinander verknüpft sind. Die Links können man...

00:39:01.340 --> 00:39:03.160
Kennst du das Zettelkasten-Prinzip?

00:39:05.860 --> 00:39:07.020
Luhmann ist das irgendwie, ne?

00:39:07.620 --> 00:39:08.720
Ich weiß nicht genau, wie es heißt.

00:39:09.320 --> 00:39:10.060
Zettelkasten habe ich.

00:39:10.980 --> 00:39:12.940
Ach, jetzt können wir es nicht erklären. Jetzt müssten wir

00:39:12.940 --> 00:39:14.740
Kollegen

00:39:14.740 --> 00:39:15.820
hier haben.

00:39:16.760 --> 00:39:18.640
Doch, ich glaube...

00:39:18.640 --> 00:39:21.020
Also du kannst auf jeden Fall Sachen da richtig einsortieren und hast

00:39:21.020 --> 00:39:22.960
durch die Verknüpfung direkt viel

00:39:22.960 --> 00:39:24.980
schnellere Sachverhalte miteinander

00:39:24.980 --> 00:39:25.540
gebündelt.

00:39:27.420 --> 00:39:27.860
Ja.

00:39:28.640 --> 00:39:30.620
Ja, Luhmann kann sagen, dass das richtig war, aber

00:39:30.620 --> 00:39:32.960
wie genau das ging, weiß ich jetzt nicht genau. Jedenfalls

00:39:32.960 --> 00:39:34.960
Y unterstützt auch das,

00:39:35.120 --> 00:39:36.640
deine Ablage an dieser

00:39:36.640 --> 00:39:38.080
Methoden.

00:39:38.560 --> 00:39:39.860
Mein Notizblock, SimpleNote,

00:39:39.980 --> 00:39:41.980
auch Markdown, Vendable

00:39:41.980 --> 00:39:44.340
und so. Ja, also es gibt ganz viele Kleinigkeiten,

00:39:44.500 --> 00:39:45.980
die in diese Markdown-Welt reinspielen und

00:39:45.980 --> 00:39:47.920
diese Schlimmste sind alle

00:39:47.920 --> 00:39:49.040
Entertainable und das ist,

00:39:49.880 --> 00:39:51.960
ich bin auch ein großer Fan von Markdown, hab ich ja schon gesagt.

00:39:52.840 --> 00:39:54.440
Nee, aber ich glaube, man kann das irgendwie

00:39:54.440 --> 00:39:56.420
durchaus so raushören, wenn man da

00:39:56.420 --> 00:39:58.540
ganz, ganz genau mit der Lupe

00:39:58.540 --> 00:39:59.360
draufkommt.

00:40:01.800 --> 00:40:02.160
Ja.

00:40:03.460 --> 00:40:03.820
Ja,

00:40:04.080 --> 00:40:06.480
ja, es läuft

00:40:06.480 --> 00:40:07.960
momentan alles so ein bisschen auf dem Markdown hinaus.

00:40:08.120 --> 00:40:10.520
Mal schauen. Genau, auch schön

00:40:10.520 --> 00:40:12.480
ist, dass es halt auch in GitHub-Geschichten funktioniert.

00:40:12.720 --> 00:40:14.400
Da ist auch irgendwie Standard-Integration,

00:40:14.700 --> 00:40:16.440
Standard-Message-Integration an. Das heißt,

00:40:16.440 --> 00:40:18.380
wenn man das einfach so reinschreibt, dann hat man das halt

00:40:18.380 --> 00:40:19.980
auch in Issues oder halt in irgendwie

00:40:19.980 --> 00:40:22.440
ja, Markdown, was halt auch von

00:40:22.440 --> 00:40:23.240
Github gerendert wird.

00:40:25.520 --> 00:40:26.220
Ja, überhaupt, aber

00:40:26.220 --> 00:40:28.300
das ganze Dokumentationsthema ist ja auch

00:40:28.300 --> 00:40:29.560
so in letzter Zeit, habe ich nicht...

00:40:29.560 --> 00:40:32.240
Genau, ein bisschen

00:40:32.240 --> 00:40:33.620
mit Make-Docs

00:40:33.620 --> 00:40:36.100
beschäftigt, aber halt auch

00:40:36.100 --> 00:40:38.080
überhaupt mit diesem Ding, dass man das halt

00:40:38.080 --> 00:40:39.120
vielleicht mal tun sollte, weil

00:40:39.120 --> 00:40:41.940
an sich dazu, bisher war ja eigentlich immer

00:40:41.940 --> 00:40:43.600
so Dokumentation, ah, nee, lieber nicht.

00:40:45.160 --> 00:40:46.160
Ist ein bisschen zweifelhaft

00:40:46.160 --> 00:40:46.820
vielleicht und

00:40:46.820 --> 00:40:49.900
inzwischen denke ich mir so, naja,

00:40:49.940 --> 00:40:51.800
vielleicht ist es doch nicht so schlau und

00:40:51.800 --> 00:40:54.760
genau, da hatte

00:40:54.760 --> 00:40:56.360
Simon Willison auch irgendwie

00:40:56.360 --> 00:40:58.660
diverse Artikel jetzt in letzter Zeit

00:40:58.660 --> 00:41:00.420
in seinem Blog einmal irgendwie bessere

00:41:00.420 --> 00:41:02.380
Release Notes schreiben.

00:41:02.980 --> 00:41:04.840
Da versuche ich mich jetzt auch so ein bisschen dran zu halten.

00:41:05.240 --> 00:41:06.180
Ja, das ist cool. Das finde ich schwierig.

00:41:06.180 --> 00:41:08.040
Also bei mir steht auch in den meisten

00:41:08.040 --> 00:41:10.000
Commits nur Schrott drin wie Fixed Something

00:41:10.000 --> 00:41:12.180
oder Fixed Final oder Fixed Again

00:41:12.180 --> 00:41:14.120
oder Typo oder, ja, also ich

00:41:14.120 --> 00:41:16.160
versuche es immer. Also es gibt dann immer einen Commit,

00:41:16.240 --> 00:41:17.980
der ist ordentlich und

00:41:17.980 --> 00:41:20.000
15 dann, die sind irgendwie so Fixes

00:41:20.000 --> 00:41:21.580
davon. Ich glaube, man kann die irgendwie

00:41:21.580 --> 00:41:22.700
stacken.

00:41:23.540 --> 00:41:26.180
Du kannst sie hinterher squashen,

00:41:26.220 --> 00:41:28.140
wenn du das halt in einem

00:41:28.140 --> 00:41:29.820
Pull-Request zusammenfasst.

00:41:29.840 --> 00:41:30.800
Ja, aber das mache ich zum Beispiel nicht.

00:41:31.880 --> 00:41:33.980
Ja, das würde man im Pull-Request machen.

00:41:34.500 --> 00:41:36.180
Das ist bei mir relativ egal, wenn ich der Einzige bin,

00:41:36.180 --> 00:41:37.880
der auf so einem Branch ackert, dann ist das völlig wurscht.

00:41:37.940 --> 00:41:38.500
Ja, klar, klar.

00:41:39.880 --> 00:41:41.880
Ja, würde ich auch sagen. Also normalerweise

00:41:41.880 --> 00:41:43.960
mache ich das halt auch nicht, wenn ich da irgendwie

00:41:43.960 --> 00:41:45.860
alleine... Aber, wenn man sich jetzt überlegt,

00:41:46.040 --> 00:41:48.000
eigentlich möchte man ja vielleicht irgendwie

00:41:48.000 --> 00:41:49.240
die Entwicklung auch skalieren können.

00:41:50.000 --> 00:42:02.040
Und ja, das ist sehr sinnvoll, dass man gute Commit-Messages hat, wo auch was passiert und nicht nur zwei Leerzeichen gemittet werden, dann müsste man auf jeden Fall seine Commits alles squashen und die ordentlich machen und so, ja.

00:42:02.040 --> 00:42:04.820
Aber also Commit-Messages ist jetzt bei mir so da.

00:42:05.120 --> 00:42:07.740
die gehen eigentlich, finde ich. Die sind gar nicht so schlimm.

00:42:08.800 --> 00:42:09.660
Aber das ist auch ganz okay.

00:42:10.100 --> 00:42:11.340
Ich habe mich ja mal über die Zeit

00:42:11.340 --> 00:42:13.540
mit euch unterhalten. Das ist auch schon ein paar

00:42:13.540 --> 00:42:15.680
Jährchen her, glaube ich. Und zwar, ob man die

00:42:15.680 --> 00:42:16.860
in Präsenz oder in

00:42:16.860 --> 00:42:19.500
der Vergangenheitsform formuliert.

00:42:20.440 --> 00:42:20.720
Ja.

00:42:21.940 --> 00:42:23.400
Weiß ich auch gar nicht mehr. Das Ergebnis war,

00:42:23.580 --> 00:42:25.620
Präsenz wurde bevorzugt. Präsenz, ja, kann sein.

00:42:26.140 --> 00:42:27.140
Ich weiß jetzt gar nicht, was ich...

00:42:27.140 --> 00:42:29.560
Dieser Komite fix, dies und jenes.

00:42:29.560 --> 00:42:31.340
Anstatt dieser Komite hat das und das gefixt.

00:42:31.960 --> 00:42:32.080
Ja.

00:42:33.780 --> 00:42:36.340
Aber das ist ja nicht das gleiche wie Release-Logs.

00:42:36.400 --> 00:42:38.120
Release-Logs ist immer eine andere Geschichte.

00:42:38.260 --> 00:42:39.480
Ja, aber wann macht man das zum Beispiel?

00:42:39.620 --> 00:42:47.680
Also wann schreibt man quasi sein, ja, die Fixliste.

00:42:47.880 --> 00:42:50.000
Also das ist ja ein bisschen wie Bugs und Features.

00:42:50.060 --> 00:42:51.680
Wenn du eine Release machst.

00:42:52.140 --> 00:42:55.780
Also die, ja, aber auf Semantic-Versioning, auf welcher, auf meiner.

00:42:55.780 --> 00:42:57.320
Semantic-Versioning ist halt so eine Sache.

00:42:57.700 --> 00:42:59.780
Braucht man das? Nein? Warum nicht?

00:43:01.180 --> 00:43:03.120
Naja, weil es ja auch nicht wirklich hilft.

00:43:03.400 --> 00:43:05.140
gut, auch da gibt's halt

00:43:05.140 --> 00:43:07.460
eine Menge Leute, die mittlerweile halt

00:43:07.460 --> 00:43:09.640
irgendwie einfach fortlaufende

00:43:09.640 --> 00:43:11.220
Geschichten machen. So ein bisschen Pseudo ist ja ganz okay.

00:43:11.560 --> 00:43:13.540
Also wenn man zum Beispiel weiß, man hat jetzt nur ein bisschen

00:43:13.540 --> 00:43:15.560
was gefixt oder arbeitet an so ein paar

00:43:15.560 --> 00:43:17.300
Sachen rum, dann

00:43:17.300 --> 00:43:19.180
macht man immer so die Patch-Version.

00:43:19.740 --> 00:43:21.640
Wenn man jetzt quasi ein paar neue Features eingebaut hat,

00:43:21.680 --> 00:43:23.440
würde ich sagen, ist schon Minor nach oben.

00:43:23.620 --> 00:43:25.440
Machen wir einfach Minor ein. Neue Features,

00:43:25.880 --> 00:43:27.580
Minor. Ja, also genau.

00:43:27.740 --> 00:43:29.460
Und Major ist Breaking Change, also

00:43:29.460 --> 00:43:31.000
es geht irgendwas nicht mehr mit früher, dann ist Major.

00:43:32.000 --> 00:43:33.420
Ja, wenn man

00:43:33.420 --> 00:43:35.320
das so machen will, klar. Aber die Frage

00:43:35.320 --> 00:43:37.220
ist halt, ob das jetzt sinnvoll ist oder nicht.

00:43:37.300 --> 00:43:39.320
Das ist halt nochmal eine andere Frage. Es gibt Leute, die machen es so,

00:43:39.420 --> 00:43:41.360
machen es anders. Aber egal, wie man es

00:43:41.360 --> 00:43:43.300
macht, also Release Notes

00:43:43.300 --> 00:43:45.300
zu schreiben, ist wahrscheinlich immer eine ganz gute Idee.

00:43:45.440 --> 00:43:46.080
Egal, wie man es macht.

00:43:46.840 --> 00:43:49.260
Und auch da ein Datum

00:43:49.260 --> 00:43:50.760
zum Beispiel dazu zu schreiben. Und dann halt noch,

00:43:51.020 --> 00:43:53.100
da kann man sich auch die Artikel mal im Detail angucken.

00:43:53.680 --> 00:43:54.260
Ja, stimmt.

00:43:55.900 --> 00:43:57.180
Idealerweise sollte da die User-Story

00:43:57.180 --> 00:43:58.800
beschrieben sein, die gefixt wurde oder die

00:43:58.800 --> 00:44:00.820
dazugekommen ist. Zu viel ist auch nicht gut.

00:44:01.400 --> 00:44:03.380
Es sollte so sein, dass...

00:44:03.380 --> 00:44:06.420
Ein Satz zu dem Punkt.

00:44:06.420 --> 00:44:08.260
Ein Satz, okay, das ist okay.

00:44:08.360 --> 00:44:09.740
Aber es sollte halt nicht irgendwie, genau.

00:44:11.040 --> 00:44:12.400
Man kann ja durchaus die Issues

00:44:12.400 --> 00:44:12.960
und so reinschreiben.

00:44:12.960 --> 00:44:15.960
Der User kann sich jetzt

00:44:15.960 --> 00:44:17.720
auf unserem Backend einloggen.

00:44:18.160 --> 00:44:20.160
Oder sowas wie, der User

00:44:20.160 --> 00:44:22.180
kann jetzt den Filter

00:44:22.180 --> 00:44:23.560
so bedienen, dass er alle möglichen...

00:44:23.560 --> 00:44:25.760
Das ist halt die Frage, für wen schreibst du das?

00:44:25.800 --> 00:44:26.940
Das sollte man sich vielleicht auch überlegen.

00:44:28.760 --> 00:44:29.940
Ja, weil die interessiert das doch nicht,

00:44:30.000 --> 00:44:31.600
was die User-Story ist. Also ich würde sagen,

00:44:31.660 --> 00:44:33.820
aus einer technischen Perspektive sind die User-Stories

00:44:33.820 --> 00:44:34.900
doch eigentlich komplett uninteressant.

00:44:34.920 --> 00:44:37.420
Das wäre die technische Formulierung von, du kannst jetzt in diesem Formular

00:44:37.420 --> 00:44:39.840
die Auswahl fehlen. Also technisch würde ich reinschreiben,

00:44:39.920 --> 00:44:41.800
was tatsächlich passiert ist, was man geändert hat.

00:44:43.060 --> 00:44:43.780
Oder es kommt mit

00:44:43.780 --> 00:44:45.020
Messages aneinander kleben.

00:44:45.160 --> 00:44:47.880
Nee, aber halt sozusagen

00:44:47.880 --> 00:44:49.820
reinschreiben, was da passiert ist.

00:44:50.480 --> 00:44:51.800
Aber aus Business-Sicht ist das

00:44:51.800 --> 00:44:53.700
halt uninteressant. Aus Business-Sicht ist halt nur

00:44:53.700 --> 00:44:55.540
interessant, was ist denn jetzt mit

00:44:55.540 --> 00:44:57.540
unseren User-Stories passiert. Aber aus technischer Sicht

00:44:57.540 --> 00:44:59.080
sind die User-Stories halt relativ irrelevant.

00:44:59.500 --> 00:45:00.240
Das finde ich gar nicht.

00:45:00.660 --> 00:45:02.020
Nee? Okay, gut.

00:45:02.640 --> 00:45:04.100
Interessant. Ich weiß es nicht so genau.

00:45:04.300 --> 00:45:06.720
Ich würde sagen, dass die meisten Open-Source-Projekte

00:45:06.720 --> 00:45:08.660
sowas gar nicht haben. Die haben gar keine User-Stories

00:45:08.660 --> 00:45:10.320
oder sowas. Ja, okay, aber

00:45:10.320 --> 00:45:12.560
das, was damit gemeint ist vielleicht, weil tatsächlich ja das

00:45:12.560 --> 00:45:14.500
Feature, das man baut, vielleicht das ist, was man dann

00:45:14.500 --> 00:45:16.640
umsetzt und wie man das, also das würde ich

00:45:16.640 --> 00:45:18.600
jetzt in so einen Release-Log reintreiben, welches Feature

00:45:18.600 --> 00:45:19.280
jetzt umgesetzt ist.

00:45:21.100 --> 00:45:22.580
Ja, wie gesagt,

00:45:22.580 --> 00:45:24.460
aber ich glaube, es würde wahrscheinlich schon viel

00:45:24.460 --> 00:45:26.560
helfen, wenn man sich überlegt, an wen richtet sich das eigentlich?

00:45:26.800 --> 00:45:27.440
Wer soll das lesen?

00:45:28.640 --> 00:45:30.740
So dass Manager lesen oder Kunde lesen

00:45:30.740 --> 00:45:32.700
oder Nutzer lesen

00:45:32.700 --> 00:45:34.560
oder die Devs lesen, ja.

00:45:35.240 --> 00:45:36.640
Und zum Beispiel ein Ding,

00:45:36.740 --> 00:45:37.960
das mich jetzt gerade interessiert,

00:45:38.340 --> 00:45:39.640
deswegen beschäftige ich mich damit auch so ein bisschen,

00:45:39.800 --> 00:45:41.640
eben wenn man jetzt Entwicklung skalieren möchte,

00:45:42.080 --> 00:45:45.720
dann ist es vielleicht gar nicht so schlecht,

00:45:45.860 --> 00:45:47.660
also zum Beispiel eben auch andere Artikel,

00:45:47.740 --> 00:45:48.220
ich weiß jetzt gar nicht mehr,

00:45:48.280 --> 00:45:49.120
wie der Titel von dem war,

00:45:49.240 --> 00:45:50.100
das Simon Wilson geschrieben hat,

00:45:50.540 --> 00:45:52.700
hat er so, ja, also er schreibt immer,

00:45:52.900 --> 00:45:54.640
seit einiger Zeit immer,

00:45:54.640 --> 00:45:56.200
macht er immer GitHub-Issues auf

00:45:56.200 --> 00:45:57.300
für alles, was er macht.

00:45:58.640 --> 00:46:00.180
Und einfach

00:46:00.180 --> 00:46:02.240
um halt einen Punkt zu haben, wo er alles sammeln

00:46:02.240 --> 00:46:04.200
kann, was zu einem bestimmten Ding gehört.

00:46:05.040 --> 00:46:06.220
Auch. Und zwar nicht nur

00:46:06.220 --> 00:46:08.220
Was ich ganz gerne

00:46:08.220 --> 00:46:10.160
mache ist, das muss man halt immer

00:46:10.160 --> 00:46:11.300
ein bisschen einstellen, ist

00:46:11.300 --> 00:46:14.080
To-Do-Kommentare im Code.

00:46:14.660 --> 00:46:15.720
Ja. Aber

00:46:15.720 --> 00:46:18.120
die mit GitHub Post

00:46:18.120 --> 00:46:20.040
Assessing, dass ihr halt einen Hook habt, dass ihr halt

00:46:20.040 --> 00:46:22.380
automatisch aus meinen To-Dos im Code Issues erstellt

00:46:22.380 --> 00:46:24.080
auf GitHub und die automatisch wieder

00:46:24.080 --> 00:46:25.640
zumacht, wenn das To-Do da verschwindet.

00:46:25.900 --> 00:46:28.100
Und dass ihr die automatisch auch nummeriert und das dann halt auch

00:46:28.100 --> 00:46:29.220
in dem Commitment ergänzt.

00:46:30.320 --> 00:46:31.980
Das heißt, er schreibt dann quasi an den To-Do

00:46:31.980 --> 00:46:33.780
die Issue-Nummer mit dran und

00:46:33.780 --> 00:46:36.060
dann kann man quasi darüber auch direkt

00:46:36.060 --> 00:46:38.140
sich linken lassen, wenn man das einstellt, auf den

00:46:38.140 --> 00:46:40.100
Issue, auf GitHub und sich den angucken und die Diskussion dazu

00:46:40.100 --> 00:46:42.040
angucken und hat aber das im Code stehen und

00:46:42.040 --> 00:46:43.940
muss halt nicht zwei Sachen pflegen, sondern du kannst halt einfach

00:46:43.940 --> 00:46:46.100
im Code das dann bereinigen

00:46:46.100 --> 00:46:47.920
und dann ist halt geschlossen

00:46:47.920 --> 00:46:50.220
und sowas. Und das finde ich

00:46:50.220 --> 00:46:52.060
der Wettbewerb. Ja, wenn du eine Stelle hast an einem Code,

00:46:52.220 --> 00:46:53.760
wo du das hin, aber es gibt ja auch viele Dinge, die sind

00:46:53.760 --> 00:46:56.300
kannst du ja nicht an einer Stelle festmachen.

00:46:56.300 --> 00:47:00.660
Aber gut, ja, wie man es macht, ist ja letztlich gar nicht...

00:47:00.660 --> 00:47:04.280
Du kannst natürlich auch ein Extra machen und dann halt referenzieren, ein Commit oder so, aber ja.

00:47:05.240 --> 00:47:08.160
Genau, und das kannst du ja mit dem Issue auch super machen, also GitHub macht das ja gut.

00:47:08.420 --> 00:47:11.060
Also es erinnert dich niemand daran, noch extra Issues aufzumachen, wollte ich da mal sagen.

00:47:11.160 --> 00:47:18.960
Ja, ja, nee, klar, also ich weiß gar nicht, also wie man es jetzt macht, das kann man halt machen, wie man will,

00:47:19.020 --> 00:47:22.540
aber was ich daran interessant fand, ist halt, also einmal sagt er halt irgendwie,

00:47:22.540 --> 00:47:25.620
aber warum er das macht, ist halt,

00:47:25.800 --> 00:47:26.880
dass er einen Punkt haben möchte,

00:47:27.540 --> 00:47:30.960
sozusagen an dem alles andere hängt.

00:47:31.220 --> 00:47:32.800
Und GitHub macht das ja automatisch für ihn,

00:47:32.860 --> 00:47:33.700
das alles zusammenzuführen,

00:47:33.800 --> 00:47:37.020
wenn er irgendwo dann halt die Issue-Nummer mit reinschreibt.

00:47:38.300 --> 00:47:41.080
Und der andere Punkt ist halt,

00:47:41.140 --> 00:47:43.160
er hätte gerne dann daraus einen Pull-Request

00:47:43.160 --> 00:47:44.780
und dann sozusagen einen perfekten Commit,

00:47:44.840 --> 00:47:46.620
der das dann halt irgendwie handelt.

00:47:47.800 --> 00:47:49.960
Wo er dann halt sozusagen alles zusammen hat,

00:47:49.960 --> 00:47:54.820
was an Änderungen an Dokumentation, Test, Code gemacht werden muss,

00:47:55.020 --> 00:47:57.600
damit er das Ding zumachen kann.

00:47:58.860 --> 00:48:05.000
Und dann ist der Issue sozusagen eigentlich auch so eine schöne Geschichte,

00:48:05.260 --> 00:48:09.740
um halt da reinzuschreiben, was denn überhaupt passieren soll.

00:48:09.840 --> 00:48:11.300
Auch eine gute Gelegenheit, um sich Gedanken zu machen,

00:48:11.340 --> 00:48:12.020
was man eigentlich machen will.

00:48:12.740 --> 00:48:15.620
Und allein, wenn man sich überlegt, okay, ich mache jetzt ein Issue auf

00:48:15.620 --> 00:48:17.820
und schreibe mir erstmal auf, was denn jetzt dazugehört,

00:48:17.980 --> 00:48:19.560
dann erledigen sich halt viele Sachen schon,

00:48:19.760 --> 00:48:21.420
weil man dann anfängt, so ein bisschen gezwungen ist,

00:48:21.480 --> 00:48:22.920
darüber nochmal nachzudenken und dann vieles

00:48:22.920 --> 00:48:24.360
sich dann auch schon wieder erledigt.

00:48:24.580 --> 00:48:26.340
Man fängt nachzudenken, ist ja manchmal so ein bisschen,

00:48:27.240 --> 00:48:28.740
ist ja nicht so schlecht.

00:48:29.380 --> 00:48:31.340
Oft ist es halt so, dass man das dann später merkt,

00:48:31.400 --> 00:48:33.400
wenn man irgendwie anfängt zu entwickeln und dann später merkt man so,

00:48:33.480 --> 00:48:35.160
oh, das hätte ich jetzt alles eigentlich gar nicht machen müssen.

00:48:35.840 --> 00:48:36.000
Aber

00:48:36.000 --> 00:48:38.980
also, das fand ich ganz

00:48:38.980 --> 00:48:39.900
nett.

00:48:41.040 --> 00:48:43.000
Vor allen Dingen, ich habe das jetzt zum Beispiel für ein Ding,

00:48:43.000 --> 00:48:44.400
ich habe so einen Podcast-Client geschrieben.

00:48:44.520 --> 00:48:45.880
Ich weiß nicht genau, warum ich das jetzt gemacht habe.

00:48:47.280 --> 00:48:48.780
Könnte diesen Ding Jagni...

00:48:48.780 --> 00:48:50.720
Ich weiß nicht genau, warum ich das nicht genau gemacht habe.

00:48:51.480 --> 00:48:53.600
Ja, Jagni könnte sein.

00:48:54.460 --> 00:48:57.400
Oder halt auch einfach so Standard-Jagdshaving.

00:48:57.600 --> 00:48:58.280
Könnte auch gut sein.

00:48:59.080 --> 00:48:59.580
Ja, eben.

00:48:59.960 --> 00:49:01.640
Ich vermisse gleich vielleicht nochmal eine Abschweife.

00:49:02.900 --> 00:49:06.400
Aber genau.

00:49:06.660 --> 00:49:09.900
Und da habe ich mir dann gedacht, okay, das war dann halt auch das Richtige.

00:49:10.560 --> 00:49:12.280
Das mit den Issues mache ich jetzt vielleicht auch mal so.

00:49:12.740 --> 00:49:13.980
Ich lege einfach schon mal ein paar Issues an.

00:49:13.980 --> 00:49:15.720
Wenn jemand vorbeikommt oder drauf guckt,

00:49:15.820 --> 00:49:16.820
dann kann er das vielleicht einfach auch so machen.

00:49:16.900 --> 00:49:18.400
einfach damit Leute halt einen Ansatzpunkt haben.

00:49:18.840 --> 00:49:20.740
Wenn du halt einfach so eine Code-Basis hast, dann weißt du ja gar nicht,

00:49:20.800 --> 00:49:22.460
selbst wenn du dann irgendwas machen wollen würdest,

00:49:23.400 --> 00:49:24.300
was du denn jetzt da machen sollst.

00:49:24.320 --> 00:49:26.720
Weißt du, das Problem ist ja auch, die meisten Leute, die gehen da nicht hin und gucken,

00:49:26.820 --> 00:49:29.440
oh, was gibt es denn schon für Git-Apps, für coole Podcast-Clients,

00:49:29.520 --> 00:49:31.460
oh, der ist auch total unfertig, das sieht doch cool aus,

00:49:31.500 --> 00:49:33.740
da gucke ich mir in die iTunes rein, was ich alles machen kann.

00:49:33.920 --> 00:49:34.120
Nichts.

00:49:34.360 --> 00:49:37.320
Nein, sondern die fangen dann ihren eigenen Podcast-Client an.

00:49:37.560 --> 00:49:38.440
Ja, so wie ich, das stimmt.

00:49:38.440 --> 00:49:45.440
Ja, genau, vielleicht ist es ein bisschen zu enthusiastisch, optimistisch verblendet,

00:49:46.300 --> 00:49:50.660
Aber wenn man das denn machen wollen würde,

00:49:50.760 --> 00:49:52.240
dann ist es natürlich die Wahrscheinlichkeit,

00:49:52.320 --> 00:49:53.400
dass jemand vorbeikommt und was macht,

00:49:53.500 --> 00:49:55.340
vielleicht viel höher, wenn da schon sowas ist.

00:49:55.580 --> 00:49:56.960
Ja, ich würde sagen, das macht tatsächlich dann Sinn,

00:49:57.040 --> 00:50:00.040
wenn das Projekt schon so ein bisschen Drive aufgenommen hat.

00:50:00.080 --> 00:50:00.360
Nee, klar.

00:50:00.480 --> 00:50:02.420
So ein paar Stars gesammelt hat und man dann denkt so,

00:50:02.440 --> 00:50:04.620
hey, es wäre jetzt vielleicht cool, so ein paar...

00:50:04.620 --> 00:50:06.460
Nee, ich mache das vor allen Dingen deswegen halt,

00:50:06.480 --> 00:50:09.620
um das zu üben, weil wenn man es dann braucht,

00:50:09.620 --> 00:50:10.680
dann ist es ja immer schlecht.

00:50:11.200 --> 00:50:12.140
Wenn man das dann erst lernt.

00:50:12.320 --> 00:50:12.520
Genau.

00:50:12.740 --> 00:50:14.480
Man muss ja immer schon alles direkt perfekt können.

00:50:14.640 --> 00:50:15.880
Nicht perfekt, aber so ein bisschen besser,

00:50:16.120 --> 00:50:17.440
was irgendwie man vergrattert.

00:50:17.520 --> 00:50:20.280
Ja, es ist

00:50:20.280 --> 00:50:21.920
manchmal nicht so einfach.

00:50:21.920 --> 00:50:23.840
Ja, immer auf jeden Fall besser als alle.

00:50:24.120 --> 00:50:25.160
Ja, ja, ich verstehe das.

00:50:25.960 --> 00:50:27.940
Ja, das ist halt

00:50:27.940 --> 00:50:29.800
aber tatsächlich so eins der Probleme, die

00:50:29.800 --> 00:50:31.700
wir in unserer Gesellschaft, in unserer Kultur haben. Das sehen

00:50:31.700 --> 00:50:33.620
andere Leute aus anderen Ländern überhaupt nicht so.

00:50:33.680 --> 00:50:35.700
Die verstehen das überhaupt nicht, warum wir da so völlig

00:50:35.700 --> 00:50:36.720
bescheuert sind. Und denen ist das,

00:50:37.600 --> 00:50:39.640
die können das wirklich nicht nachvollziehen.

00:50:40.060 --> 00:50:41.480
Ich finde das auch ein bisschen anstrengend immer.

00:50:41.900 --> 00:50:43.780
Und ich finde das auch nicht so produktiv.

00:50:43.980 --> 00:50:45.440
Und es ist tatsächlich nicht so

00:50:45.440 --> 00:50:47.820
Business optimiert. Ja, das mag sein.

00:50:47.960 --> 00:50:48.840
Aber naja. Aber

00:50:48.840 --> 00:50:51.840
zu Glück muss ich auch nicht auf Business-Ziele optimieren.

00:50:52.560 --> 00:50:53.580
Ja, gut für dich, Jochen.

00:50:55.960 --> 00:50:56.980
Ja, genau.

00:50:57.880 --> 00:50:59.760
Ja, genau, ich wollte

00:50:59.760 --> 00:51:01.780
einfach mal ein bisschen Übung zu schreiben und

00:51:01.780 --> 00:51:03.800
ja, das mache ich jetzt auch

00:51:03.800 --> 00:51:05.700
so ein bisschen. Und ich habe einen kleinen, und ich, tatsächlich, ich finde

00:51:05.700 --> 00:51:07.620
eigentlich Podcast-Client ist, also habe ich schon erzählt,

00:51:07.680 --> 00:51:09.500
warum ich das interessant finde oder was mich da so dran

00:51:09.500 --> 00:51:10.060
angesprungen hat.

00:51:11.700 --> 00:51:13.560
Der Grund, warum ich das mache, ist, dass man

00:51:13.560 --> 00:51:14.760
das ja sowieso irgendwie braucht.

00:51:15.440 --> 00:51:16.820
Ich habe das Gefühl, ich muss es

00:51:16.820 --> 00:51:18.160
sowieso früher oder später irgendwann tun

00:51:18.160 --> 00:51:20.420
und der Grund, warum man das

00:51:20.420 --> 00:51:22.740
irgendwie tun muss, oder ich das Gefühl

00:51:22.740 --> 00:51:24.540
habe, dass ich das tun muss, ist, weil

00:51:24.540 --> 00:51:27.540
da ja so viele

00:51:27.540 --> 00:51:28.860
schöne andere Dinge dranhängen, wie zum Beispiel

00:51:28.860 --> 00:51:30.040
wenn du jetzt irgendwie

00:51:30.040 --> 00:51:32.900
wissen möchtest, wie zum Beispiel dein Podcast

00:51:32.900 --> 00:51:34.260
aussieht in einem Podcast-Rosting.

00:51:36.060 --> 00:51:36.800
Dann willst du den

00:51:36.800 --> 00:51:38.780
vielleicht importieren. Wie machst du das? Naja, du sagst

00:51:38.780 --> 00:51:40.260
halt, hier ist mein Feed, importiere doch mal.

00:51:40.740 --> 00:51:42.540
Feed importieren irgendwo her

00:51:42.540 --> 00:51:44.580
und einen Client haben, der

00:51:44.580 --> 00:51:46.460
irgendwie sagen, das ist fast das Gleiche.

00:51:47.060 --> 00:51:48.180
Das ist fast das Gleiche.

00:51:49.380 --> 00:51:50.100
Ja, fast.

00:51:50.680 --> 00:51:51.420
Und überhaupt,

00:51:52.240 --> 00:51:54.680
ja, vielleicht willst du einen Katalog haben, vielleicht willst du

00:51:54.680 --> 00:51:56.780
irgendwie, da brauchst du

00:51:56.780 --> 00:51:58.700
auch die Dinger parsen können, Feeds parsen

00:51:58.700 --> 00:52:00.660
können, Podcast Client haben, ist fast das Gleiche.

00:52:00.740 --> 00:52:02.660
Ganz interessante Geschichte und dann wollte ich mal

00:52:02.660 --> 00:52:04.520
gucken, wie funktioniert eigentlich diese Feed Parser Library

00:52:04.520 --> 00:52:06.800
so, was muss man da für eigentlich alles machen.

00:52:07.440 --> 00:52:08.600
Ja, dann habe ich das

00:52:08.600 --> 00:52:10.560
irgendwie gestartet und ich dachte, ach, Rich

00:52:10.560 --> 00:52:11.520
und so, das ist auch voll cool.

00:52:12.240 --> 00:52:14.240
Ja, Rich finde ich ja tatsächlich gut, habe ich ja schon ein paar Mal gepickt.

00:52:14.420 --> 00:52:16.080
ja. Rich gibt's die

00:52:16.080 --> 00:52:18.040
Klee, Rich Klee, CLI. Genau,

00:52:18.120 --> 00:52:20.260
das, ähm, genau, wollte ich eigentlich

00:52:20.260 --> 00:52:22.060
gleich nochmal picken, aber können wir auch jetzt machen, ist mir egal.

00:52:22.080 --> 00:52:23.820
Das wäre dein Pick gewesen, okay, Entschuldigung.

00:52:24.040 --> 00:52:26.240
Statt Butt, hast du gesagt, nimmst du die Rich CLI,

00:52:26.300 --> 00:52:28.100
weil es so wunderschöne

00:52:28.100 --> 00:52:29.960
Dokumente darstellt und Markdown-Rendern und

00:52:29.960 --> 00:52:32.140
Tabellen, CV. Genau, also das, was ich

00:52:32.140 --> 00:52:33.680
bisher eigentlich immer verwendet habe, ist Butt.

00:52:34.660 --> 00:52:35.500
Das verwende ich auch immer noch.

00:52:36.020 --> 00:52:38.220
Ich finde das super. Ja, ist auch

00:52:38.220 --> 00:52:39.620
ganz gut. Fast, Modern Unix.

00:52:39.980 --> 00:52:41.680
Äh, ja, aber

00:52:41.680 --> 00:52:43.200
bei mir. Konfigurierbar.

00:52:43.700 --> 00:52:46.280
Man kann es konfigurieren, aber in der Default-Konfiguration

00:52:46.280 --> 00:52:47.700
macht es halt irgendwie Zeilennummern davor.

00:52:48.020 --> 00:52:49.580
Ja, das kann man nicht mehr copy und pasten, da hast du recht.

00:52:49.700 --> 00:52:51.880
Das heißt, da kann man auch nicht mehr pipen, wie man das mit Cut gewohnt ist.

00:52:52.300 --> 00:52:53.880
Und deswegen muss man die Konfiguration anpassen.

00:52:54.000 --> 00:52:55.840
Das sind zwei Environment-Variablen, die man setzen muss.

00:52:56.660 --> 00:52:58.060
Und dann muss man

00:52:58.060 --> 00:52:59.240
machen, wie man das so haben möchte.

00:53:00.100 --> 00:53:01.880
Also eine für den Style und eine für die

00:53:01.880 --> 00:53:04.020
Zeilennummern und dann kann man das nach wie vor

00:53:04.020 --> 00:53:06.000
in einen Pipes einsetzen und kann das

00:53:06.000 --> 00:53:07.860
dann aliasen auch auf Cut und dann kann man Butt nehmen für

00:53:07.860 --> 00:53:08.900
mit Zeilennummern.

00:53:09.980 --> 00:53:11.780
Ja, aber wie gesagt, wenn man

00:53:11.780 --> 00:53:13.700
Rich nimmt, dann ist das halt

00:53:13.700 --> 00:53:16.480
Rich-CLI und auf der Kommando-Seile ist es dann einfach nur

00:53:16.480 --> 00:53:18.540
Rich. Dann muss man

00:53:18.540 --> 00:53:19.800
das eben nicht machen, sondern es funktioniert einfach so.

00:53:20.360 --> 00:53:21.780
Und es kann auch ein bisschen mehr

00:53:21.780 --> 00:53:23.680
Syntax-Highlighting-Geschichten machen als

00:53:23.680 --> 00:53:25.660
Butt. Also insofern

00:53:25.660 --> 00:53:27.500
kann man ja mal ausprobieren.

00:53:27.700 --> 00:53:30.000
Ja, ich fand es auch ganz gut. Also ich mag ja

00:53:30.000 --> 00:53:32.340
Rich auch. Ich mache mit Rich auch Konsolen-Anwendungen

00:53:32.340 --> 00:53:33.280
teilweise.

00:53:34.180 --> 00:53:35.800
Ja, gibt es jetzt auch...

00:53:35.800 --> 00:53:37.340
Nein, das sag ich jetzt nicht.

00:53:38.500 --> 00:53:39.580
Da müsst ihr jetzt warten

00:53:39.580 --> 00:53:41.860
bis zum Schluss, dann picke ich nämlich das nämlich stattdessen.

00:53:42.100 --> 00:53:42.760
Na gut. Ja.

00:53:44.780 --> 00:53:45.720
Und genau.

00:53:46.060 --> 00:53:47.860
Ja, und da dachte ich, so kommen halt ein paar Sachen zusammen,

00:53:47.940 --> 00:53:49.500
die das aus unterschiedlichen Gesichtspunkten

00:53:49.500 --> 00:53:51.620
interessant machen, deswegen habe ich damit mal angefangen.

00:53:53.900 --> 00:53:55.560
Ich habe, genau, also eine der

00:53:55.560 --> 00:53:57.420
Geschichten, also von diesem Bootstrap-Ding und

00:53:57.420 --> 00:53:59.520
Jungle Crispy Forms und so muss man irgendwie weg. Ich habe jetzt

00:53:59.520 --> 00:54:00.960
auch, das habe ich, glaube ich, relativ

00:54:00.960 --> 00:54:03.560
aus anderen Gründen

00:54:03.560 --> 00:54:05.140
und dann das jetzt nicht mehr in der privaten

00:54:05.140 --> 00:54:06.960
Weise viel mehr zu tun gehabt und

00:54:06.960 --> 00:54:09.360
Es gibt auch irgendein, ich weiß nicht mehr, ob das

00:54:09.360 --> 00:54:11.380
mit Crispy Forms war oder sowas, wo man

00:54:11.380 --> 00:54:13.320
einen Hook reinbauen kann und dann halt

00:54:13.320 --> 00:54:14.540
die Forms mit Tailwind benutzen kann.

00:54:15.520 --> 00:54:16.940
Ja, also ich würde sagen,

00:54:17.220 --> 00:54:19.160
das wäre auch interessant, wenn da jemand eine Empfehlung

00:54:19.160 --> 00:54:20.680
hat, wie man das, also ich habe mir jetzt,

00:54:20.920 --> 00:54:23.360
Crispy Form habe ich auch immer so verwendet, ich habe es nie so genau angeguckt,

00:54:23.480 --> 00:54:25.300
sondern immer nur so benutzt und es ist

00:54:25.300 --> 00:54:26.920
ja auch, es hat ja einige ganz nette

00:54:26.920 --> 00:54:29.220
Geschichten und es macht einige Dinge ja einfacher

00:54:29.220 --> 00:54:31.080
und jetzt habe ich da so mal tief reingeguckt

00:54:31.080 --> 00:54:32.880
und ich muss sagen, das muss alles weg.

00:54:33.940 --> 00:54:34.660
Das muss alles,

00:54:35.040 --> 00:54:37.080
das geht nicht, das ist alles ganz

00:54:37.080 --> 00:54:39.120
schrecklich. Also das

00:54:39.120 --> 00:54:41.000
ist halt irgendwie langsam, man

00:54:41.000 --> 00:54:42.940
kriegt es auch nicht schnell, weil es ist furchtbar

00:54:42.940 --> 00:54:45.000
und das ist alles

00:54:45.000 --> 00:54:46.880
so, also das ist, nee.

00:54:47.660 --> 00:54:48.200
Also ich

00:54:48.200 --> 00:54:51.000
denke, man sollte das anders machen. Ich weiß jetzt auch

00:54:51.000 --> 00:54:53.060
noch nicht wie, aber man muss das irgendwie anders machen.

00:54:53.120 --> 00:54:53.520
Das geht so nicht.

00:54:54.720 --> 00:54:56.980
Und das war mir nicht so klar vorher, als ich da noch

00:54:56.980 --> 00:54:57.540
nichts reingeguckt habe.

00:55:01.540 --> 00:55:02.580
Irgendwas mit Forms

00:55:02.580 --> 00:55:03.400
muss man sich nochmal ausdenken.

00:55:03.760 --> 00:55:05.460
Ja, wobei, wenn man

00:55:05.460 --> 00:55:07.180
halt irgendwie, da ist jetzt wieder,

00:55:07.940 --> 00:55:09.080
das ist halt das Problem. Ich meine,

00:55:09.120 --> 00:55:10.300
wenn du das jetzt so machst,

00:55:10.480 --> 00:55:13.120
dass du die CSS-Klassen in HTML setzt und so,

00:55:13.360 --> 00:55:14.900
dann hast du halt beim Rendern ein Problem, weil

00:55:14.900 --> 00:55:16.400
dann musst du das nämlich alles irgendwie setzen.

00:55:17.440 --> 00:55:17.960
Unter Umständen, ne?

00:55:18.040 --> 00:55:20.600
Wieso, du machst ein Template für ein...

00:55:20.600 --> 00:55:22.100
Ja, aber das ist ja genau das Problem,

00:55:22.260 --> 00:55:23.660
dass CrispyForms löst.

00:55:23.980 --> 00:55:26.280
Du hast halt eine Form, jetzt kommen die Formfehler zurück.

00:55:26.840 --> 00:55:27.980
Wie machst du das so, dass

00:55:27.980 --> 00:55:30.140
jetzt deine Fehler ordentlich, dass da halt

00:55:30.140 --> 00:55:31.620
so ein roter Kringel drumrum ist?

00:55:31.800 --> 00:55:33.800
Ja, du benutzt den Default, den machst du

00:55:33.800 --> 00:55:36.080
zum Beispiel mit CrispyTemplate, CrispyTable gibt's auch.

00:55:36.660 --> 00:55:38.040
Und dann, also

00:55:38.040 --> 00:55:40.320
dass das auch langsam ist, ja, weil das auch Crispy Forms ist.

00:55:40.780 --> 00:55:41.980
Aber dann machst du halt einfach

00:55:41.980 --> 00:55:43.900
in deinem Template, überschreibst dann halt den Default

00:55:43.900 --> 00:55:46.180
und hast dann

00:55:46.180 --> 00:55:46.840
einen schönen Style.

00:55:46.940 --> 00:55:50.000
Du musst es ja in das HTML rausrendern, weil die Klassen müssen ja

00:55:50.000 --> 00:55:50.560
im HTML drinstehen.

00:55:50.580 --> 00:55:53.860
Das wird dann da reingerendert, wenn du einfach deine Form erzeugst

00:55:53.860 --> 00:55:55.660
und die Form gibst du dem Django View.

00:55:55.660 --> 00:55:57.040
So einfach geht das dann aber nicht mehr.

00:55:58.280 --> 00:55:59.780
Also wie passiert das denn zum Beispiel, wenn

00:55:59.780 --> 00:56:01.360
da halt die Fehler zurückgegeben werden?

00:56:01.840 --> 00:56:04.320
Du hast jetzt eine Form, jetzt validiert das nicht, sondern das sind irgendwie Fehler.

00:56:04.640 --> 00:56:05.880
Dann nimmt dir die Fehlerklasse

00:56:05.880 --> 00:56:07.840
und in der Fehlerklasse hängt ein HTML-Element,

00:56:08.040 --> 00:56:09.900
mit dran. Ja, aber das ist aber, ich weiß

00:56:09.900 --> 00:56:11.760
das nicht. Das HTML-Element wird gestylt. Das ist nicht einfach

00:56:11.760 --> 00:56:13.760
irgendwie eine Fehlerklasse. Doch.

00:56:14.060 --> 00:56:14.980
Das ist nicht, das ist doch.

00:56:15.560 --> 00:56:17.760
Da wird ganz kompliziertes Zeug gemacht. Da werden

00:56:17.760 --> 00:56:19.600
diverse Klassen hinzugefügt, diverse Sachen

00:56:19.600 --> 00:56:21.720
geändert. Und das musst du auch machen,

00:56:21.860 --> 00:56:23.420
sonst geht das nicht gut aus hinterher. Ja, aber du kannst ja

00:56:23.420 --> 00:56:25.380
überschreiben, glaube ich.

00:56:25.500 --> 00:56:27.720
Ich hatte irgendwie mal ein paar Sachen customised,

00:56:27.860 --> 00:56:29.500
das ging. Ja, man kann so ein bisschen

00:56:29.500 --> 00:56:31.640
customisen, aber naja, okay, keine Ahnung.

00:56:31.980 --> 00:56:33.700
Also wie gesagt, also dieses Problem hast du, wenn du

00:56:33.700 --> 00:56:35.240
das halt, wenn du das HTML verändern

00:56:35.240 --> 00:56:37.600
musst, wenn du jetzt einen Fehler renderst.

00:56:37.880 --> 00:56:39.560
dann musst du das irgendwie machen, wie auch immer du

00:56:39.560 --> 00:56:41.700
machst, aber du musst es ja irgendwie tun. Und das ist

00:56:41.700 --> 00:56:43.560
nicht so, dass da irgendwas in Django drin wäre, was dir dabei

00:56:43.560 --> 00:56:45.620
hilft, sondern da musst du halt dann irgendwie Crispy Forms

00:56:45.620 --> 00:56:47.620
nehmen oder irgendwas anderes, was das halt für dich macht.

00:56:48.400 --> 00:56:49.560
Und das ist halt nicht so ganz

00:56:49.560 --> 00:56:51.580
einfach. Während wenn du jetzt, sag mal so, du hast jetzt

00:56:51.580 --> 00:56:53.540
getrenntes CSS, ja, und

00:56:53.540 --> 00:56:55.740
du hast halt da definiert, wie dein

00:56:55.740 --> 00:56:57.480
ganzer Kram halt so aussieht und

00:56:57.480 --> 00:56:59.540
da setzt du halt, dann sagst du ja

00:56:59.540 --> 00:57:01.560
Fehler, rennst aber ganz normales

00:57:01.560 --> 00:57:03.680
semantisches HTML raus, ohne

00:57:03.680 --> 00:57:06.060
das, dann hast du sozusagen in deiner Applikationslogik

00:57:06.060 --> 00:57:07.640
irgendwie kein Problem damit, dass

00:57:07.640 --> 00:57:09.580
du da irgendwie komische Dinge,

00:57:10.100 --> 00:57:11.680
Klassen auf HTML-Geschichten setzen

00:57:11.680 --> 00:57:13.680
musst und so, sondern dann sagst du

00:57:13.680 --> 00:57:14.880
halt irgendwie nur, das ist mein

00:57:14.880 --> 00:57:17.560
Standard. Ich weiß nicht, was von Django

00:57:17.560 --> 00:57:19.640
dann zurückkommt, was da für eine Klasse gesetzt wird oder wahrscheinlich

00:57:19.640 --> 00:57:21.700
irgendwas. Und dann zahlst du das

00:57:21.700 --> 00:57:22.900
in einem CSS und fertig.

00:57:24.280 --> 00:57:25.620
Das macht es dann halt deutlich

00:57:25.620 --> 00:57:27.560
einfacher. Aber ich weiß es noch nicht. Ich muss mal

00:57:27.560 --> 00:57:28.700
gucken. Ich habe keine Ahnung.

00:57:29.700 --> 00:57:30.620
Damit muss man sich beschäftigen.

00:57:31.200 --> 00:57:33.520
Da muss man so ein Template wieder bauen für HTMLX und Django.

00:57:34.340 --> 00:57:35.060
Also, eine

00:57:35.060 --> 00:57:35.820
Geschichte.

00:57:37.640 --> 00:57:41.000
Ist halt, ich weiß nicht, SQL-Model, sagt ihr ja vielleicht auch.

00:57:41.060 --> 00:57:45.440
Es gab ja auch letztens eine Episode zu irgendwie wieder auf TalkPython2Me.

00:57:46.240 --> 00:57:52.240
Und das versuche ich ja gerade zu entfernen, zum Beispiel aus dem Fast Deploy.

00:57:53.620 --> 00:57:57.040
Und der Grund ist, weshalb ich das versuche zu machen,

00:57:57.040 --> 00:58:02.520
ist, dass ich versuche, mal das so ein bisschen umzuorganisieren.

00:58:05.500 --> 00:58:07.420
Dass halt so ein bisschen Software-Architektur reinkommt.

00:58:07.520 --> 00:58:08.800
Ich weiß es auch nicht unbedingt jeder Manns Sache.

00:58:08.940 --> 00:58:10.380
Ich habe auch früher mal schon gedacht,

00:58:10.460 --> 00:58:11.300
das ist auch vielleicht jubiliert.

00:58:13.300 --> 00:58:15.360
Das schnürt mir schon, wenn ich das Wort ausspreche,

00:58:15.440 --> 00:58:16.640
irgendwie die Krawatte, die Luft ab.

00:58:17.920 --> 00:58:19.460
Der Architekt, ein feiner Herr.

00:58:20.520 --> 00:58:22.800
Aber vielleicht gibt es Situationen,

00:58:22.900 --> 00:58:23.960
in denen das doch nicht so verkehrt ist.

00:58:24.640 --> 00:58:26.020
Und ich wollte es einfach mal so ein bisschen ausprobieren.

00:58:26.020 --> 00:58:27.560
Und deswegen mache ich das da jetzt.

00:58:27.900 --> 00:58:31.420
Und genau, da ist ja immer so...

00:58:31.420 --> 00:58:33.340
Was ist denn Architektur, Software-Architektur überhaupt?

00:58:33.860 --> 00:58:37.420
Naja, es ist im Wesentlichen quasi die Beschreibung

00:58:37.420 --> 00:58:38.760
für die Tätigkeit, die man halt

00:58:38.760 --> 00:58:40.600
ausübt, wenn man

00:58:40.600 --> 00:58:43.200
Software versucht zu modularisieren,

00:58:43.320 --> 00:58:45.400
also so in Teile zu zerlegen, dass man nur noch

00:58:45.400 --> 00:58:47.000
irgendwie, dass die

00:58:47.000 --> 00:58:49.500
Gesamtkomplexität nur noch dominiert

00:58:49.500 --> 00:58:51.040
wird von der Komplexität des

00:58:51.040 --> 00:58:53.360
kompliziertesten, komplexesten

00:58:53.360 --> 00:58:55.380
Moduls und nicht mehr alles mit

00:58:55.380 --> 00:58:57.180
allem zusammenhängt, sozusagen. Und

00:58:57.180 --> 00:58:59.280
die Art, was man macht, wenn man das jetzt

00:58:59.280 --> 00:59:01.220
tut und versucht, das klein zu hauen, das

00:59:01.220 --> 00:59:03.060
nennt man halt Softwarearchitektur, sag ich jetzt mal so.

00:59:03.300 --> 00:59:04.700
Also, es gibt da,

00:59:04.980 --> 00:59:07.100
das wäre jetzt meine aus der hohlen Hand

00:59:07.100 --> 00:59:09.300
Definitionen. Es gibt ja Leute, die versucht haben, das ernsthaft

00:59:09.300 --> 00:59:11.280
zu definieren, wie so Martin Fowler

00:59:11.280 --> 00:59:12.820
und so, die würden sowas sagen wie

00:59:12.820 --> 00:59:15.420
Software-Architektur sind alle die

00:59:15.420 --> 00:59:17.480
grundlegenden

00:59:17.480 --> 00:59:19.280
und schwer änderbaren Entscheidungen,

00:59:19.600 --> 00:59:19.620
die

00:59:19.620 --> 00:59:23.740
ich weiß nicht, ob ich die Definition richtig zusammenkriege,

00:59:24.200 --> 00:59:25.280
die Einfluss dann halt

00:59:25.280 --> 00:59:27.500
auf das Projekt haben und die dazu führen,

00:59:27.620 --> 00:59:29.440
ob man jetzt irgendwie Dinge schneller ändern kann

00:59:29.440 --> 00:59:31.600
oder nicht. Kann man auch kritisieren,

00:59:32.100 --> 00:59:33.280
es ist so wichtig,

00:59:33.420 --> 00:59:35.400
ob man Code hinterher ändern kann oder nicht.

00:59:35.780 --> 00:59:37.700
was sind das denn eigentlich, wenn man weiß, dass es wichtig ist,

00:59:37.780 --> 00:59:40.080
dann hat man ja schon den Teil der Software-Architektur

00:59:40.080 --> 00:59:41.560
irgendwie erledigt im Grunde.

00:59:41.760 --> 00:59:43.600
Man weiß halt vor allem bei den Entscheidungen halt dummerweise

00:59:43.600 --> 00:59:45.700
leider vorher meistens nie, ob die jetzt wichtig sind oder

00:59:45.700 --> 00:59:47.740
nicht. Aber das ist halt

00:59:47.740 --> 00:59:49.320
eine Definition. Ich glaube, ich habe die von,

00:59:49.860 --> 00:59:51.640
die haben auch andere Leute so ähnlich

00:59:51.640 --> 00:59:52.440
auch schon gebracht.

00:59:54.940 --> 00:59:55.660
Mir gefällt

00:59:55.660 --> 00:59:57.400
die irgendwie, wie zerlegt man

00:59:57.400 --> 00:59:59.740
eigentlich ein Programm in kleinere Teile

00:59:59.740 --> 01:00:00.580
ein bisschen besser.

01:00:01.780 --> 01:00:03.720
Aber ja gut, ist halt ein bisschen

01:00:03.720 --> 01:00:05.680
Geschmackssache, aber im Grunde irgendwie so, man kann sich

01:00:05.680 --> 01:00:07.240
das auch vorstellen, ja, wie wenn man ein Haus

01:00:07.240 --> 01:00:09.680
Architektur hat, dann kann man auch für ein Softwareding

01:00:09.680 --> 01:00:11.780
Architektur haben. Also Microservices

01:00:11.780 --> 01:00:13.540
für so Häuser breitstellen, also jedes

01:00:13.540 --> 01:00:15.740
Mal auf seinem eigenen. Microservices wäre

01:00:15.740 --> 01:00:17.820
halt ein Ding, wie man

01:00:17.820 --> 01:00:19.880
also, aber Architektur bezieht sich jetzt nicht

01:00:19.880 --> 01:00:21.680
auf das, auf den

01:00:21.680 --> 01:00:23.020
IT-Teil, nicht auf das System,

01:00:24.000 --> 01:00:25.620
sondern eher auf die

01:00:25.620 --> 01:00:27.600
Software. Also du kannst natürlich

01:00:27.600 --> 01:00:29.560
auch, ich meine, das sind halt eher so die Dinge, wo ich

01:00:29.560 --> 01:00:31.600
das Gefühl habe, das geht dann halt schief, wenn

01:00:31.600 --> 01:00:33.040
Leute das

01:00:33.040 --> 01:00:35.480
Software-Problem, weil sie es

01:00:35.480 --> 01:00:37.560
irgendwie nicht lösen können, das sieht man

01:00:37.560 --> 01:00:39.440
übrigens ganz oft, also mir begegnet das

01:00:39.440 --> 01:00:41.240
häufig und es ist furchtbar.

01:00:43.020 --> 01:00:43.420
Meistens,

01:00:43.580 --> 01:00:45.380
also die Konsequenzen sind meistens furchtbar,

01:00:46.120 --> 01:00:47.580
dass Leute halt

01:00:47.580 --> 01:00:49.540
dieses Modularisierungsding in der Software

01:00:49.540 --> 01:00:51.260
nicht gebacken kriegen, aus welchen Gründen auch immer

01:00:51.260 --> 01:00:53.700
und dann hingehen

01:00:53.700 --> 01:00:55.340
und das versuchen auf einer anderen Ebene zu lösen.

01:00:55.540 --> 01:00:57.340
Also auf der Ebene zum Beispiel, was man häufig sieht,

01:00:57.440 --> 01:00:59.500
ist, dass die Leute dann versuchen, es organisatorisch zu lösen

01:00:59.500 --> 01:01:01.100
oder dass Leute versuchen, es mit

01:01:01.100 --> 01:01:03.100
mit IT-Geschichten zu lösen,

01:01:03.440 --> 01:01:05.220
wir nehmen jetzt die Cloud, oder

01:01:05.220 --> 01:01:07.200
dass Leute es mit Microservices

01:01:07.200 --> 01:01:09.460
versuchen und all diese Ansätze

01:01:09.460 --> 01:01:10.980
sind eigentlich immer, das scheitert immer ganz

01:01:10.980 --> 01:01:12.940
spektakulär, weil

01:01:12.940 --> 01:01:15.460
an dem grundsätzlichen

01:01:15.460 --> 01:01:17.340
Problem ändert sich dadurch nichts und du hast

01:01:17.340 --> 01:01:19.300
dir das Leben halt irgendwie gerade noch mal

01:01:19.300 --> 01:01:21.320
in Größenordnung schwerer gemacht, dadurch

01:01:21.320 --> 01:01:22.540
dass du jetzt zum Beispiel

01:01:22.540 --> 01:01:25.560
ein Park, ein Fuhrpark

01:01:25.560 --> 01:01:26.740
ein Zoo

01:01:26.740 --> 01:01:29.440
gerade Microservices gab es

01:01:29.440 --> 01:01:31.000
auch letztens, habe ich auch letztens

01:01:31.000 --> 01:01:32.940
eine Podcast-Episode darüber gehört, mit dem

01:01:32.940 --> 01:01:34.860
es gibt ein Buch, das irgendwie alle immer

01:01:34.860 --> 01:01:36.220
referenzieren, was Microservices angeht.

01:01:38.600 --> 01:01:38.960
Und

01:01:38.960 --> 01:01:40.860
der sprach dann halt auch so drüber,

01:01:41.280 --> 01:01:42.900
der hat das Buch geschrieben und meinte so,

01:01:42.960 --> 01:01:44.920
ich bin ein bisschen unglücklich, ich gelte jetzt immer als Experte

01:01:44.920 --> 01:01:47.000
für Microservices, jetzt, weil ich dieses Buch geschrieben habe, na gut.

01:01:47.780 --> 01:01:49.240
Und der meinte,

01:01:49.240 --> 01:01:50.960
er macht halt viel Consulting irgendwie

01:01:50.960 --> 01:01:52.980
und wird eigentlich immer dazu gerufen, wenn

01:01:52.980 --> 01:01:55.000
irgendwelche Leute auf die Idee gekommen sind, wir müssen jetzt mal

01:01:55.000 --> 01:01:56.920
auf Microsoft-Architektur umsteigen.

01:01:57.260 --> 01:01:58.940
Und dann holt man sich halt irgendjemanden dazu,

01:01:59.080 --> 01:02:01.060
der dann sagen soll, warum das irgendwie alles eine super

01:02:01.060 --> 01:02:03.000
Idee war. Und dann sitzt

01:02:03.000 --> 01:02:04.660
er dann immer und meint so, hm,

01:02:05.380 --> 01:02:06.960
das ist vielleicht gar nicht so eine gute Idee

01:02:06.960 --> 01:02:07.480
in eurem Fall.

01:02:08.840 --> 01:02:10.980
Und das macht

01:02:10.980 --> 01:02:12.980
ihn halt nicht unbedingt beliebt, aber er versucht das dann irgendwie

01:02:12.980 --> 01:02:14.720
so diplomatisch zu verpacken. Aber er meint so, ja,

01:02:14.820 --> 01:02:16.880
ganz oft ist es halt so, dass Leute das dann so

01:02:16.880 --> 01:02:18.940
probieren, aber eigentlich

01:02:18.940 --> 01:02:21.020
sollte man vielleicht andersrum anfangen und eher Monolith

01:02:21.020 --> 01:02:22.880
nehmen und dann halt, wenn man

01:02:22.880 --> 01:02:24.920
dann auf bestimmte Probleme stößt, die man

01:02:24.920 --> 01:02:26.980
anders nicht mehr lösen kann, dann Microservice

01:02:26.980 --> 01:02:28.040
ist dann vielleicht eine

01:02:28.040 --> 01:02:30.540
Möglichkeit unter Umständen.

01:02:31.120 --> 01:02:32.640
Aber damit anzufangen,

01:02:32.880 --> 01:02:34.620
ohne zu wissen, was man jetzt eigentlich

01:02:34.620 --> 01:02:36.160
machen möchte, das ist vielleicht nicht so eine gute Idee.

01:02:36.980 --> 01:02:38.580
Also wenn man jetzt halt vorher schon

01:02:38.580 --> 01:02:40.440
ein Problem mit der Modularisierung hatte

01:02:40.440 --> 01:02:42.260
und dann auch noch

01:02:42.260 --> 01:02:44.220
Microservices dazu nimmt, dann hast du halt hinterher

01:02:44.220 --> 01:02:46.200
einen distributed ball of mud sozusagen.

01:02:47.380 --> 01:02:48.340
Also das Problem

01:02:48.340 --> 01:02:49.000
an

01:02:49.000 --> 01:02:52.560
Modularisierung

01:02:52.560 --> 01:02:54.420
kann sein, dass man verschiedene Stellen hat, an denen man Dinge

01:02:54.420 --> 01:02:54.960
pflegen muss?

01:02:56.740 --> 01:02:58.500
Ne, Modularisierung ist eigentlich eine gute Sache.

01:02:59.400 --> 01:03:01.120
Aber wenn nicht, du hast gerade ein Beispiel gesagt,

01:03:01.180 --> 01:03:02.360
du hast gesagt, wenn man Probleme nimmt.

01:03:02.380 --> 01:03:04.360
Das ist gut, wenn man das hinkriegt, das ist gut.

01:03:04.420 --> 01:03:05.740
Wenn man es nicht hinkriegt, das ist doof.

01:03:06.660 --> 01:03:07.680
Also wenn du es nicht schaffst,

01:03:07.680 --> 01:03:09.520
sozusagen modulisieren.

01:03:09.520 --> 01:03:10.540
Die Dinge voneinander zu trennen.

01:03:11.000 --> 01:03:14.040
Ja, wobei jetzt auch nicht Trennung beliebig super ist.

01:03:14.200 --> 01:03:15.640
Also natürlich kann man das auch falsch machen,

01:03:15.720 --> 01:03:18.060
in dem Sinne, dass man halt das an den falschen Stellen trennt,

01:03:18.180 --> 01:03:20.320
irgendwie in der falschen Granularität trennt.

01:03:21.000 --> 01:03:21.840
Das ist natürlich nicht schlecht.

01:03:22.640 --> 01:03:25.980
Und wenn man jetzt sozusagen es aber gar nicht schafft,

01:03:26.040 --> 01:03:27.880
das zu trennen und sagt, wir machen jetzt aber Microservices,

01:03:27.880 --> 01:03:29.740
um die Sachen, wo wir es halt falsch getrennt haben,

01:03:29.840 --> 01:03:32.180
nochmal zu zementieren, indem wir es auf andere Rechner packen

01:03:32.180 --> 01:03:34.720
und in andere Repositories und so.

01:03:35.800 --> 01:03:37.660
Und dazwischen halt jetzt Schnittstellen haben,

01:03:37.680 --> 01:03:39.640
die wir schlecht ändern können und die, wo

01:03:39.640 --> 01:03:41.700
wir Fehlerbehandlung machen müssen und das ist alles ganz, ganz

01:03:41.700 --> 01:03:43.760
schrecklich, dann ist das halt

01:03:43.760 --> 01:03:45.600
noch viel schlimmer als vorher. Also wenn du vorher das Problem

01:03:45.600 --> 01:03:46.780
hattest, du hast es nur in deiner

01:03:46.780 --> 01:03:49.740
in deinen Funktionsaufrufen nicht geschafft, das ordentlich

01:03:49.740 --> 01:03:51.680
zu trennen und jetzt

01:03:51.680 --> 01:03:53.440
hast du es halt irgendwie, diese Funktionsaufrufe

01:03:53.440 --> 01:03:55.440
verteilt, aber

01:03:55.440 --> 01:03:57.520
du hast es quasi nicht

01:03:57.520 --> 01:03:59.200
wirklich modularisiert, sondern du hast ja

01:03:59.200 --> 01:04:00.480
Abhängigkeiten immer noch,

01:04:01.420 --> 01:04:03.520
dann hast du danach ein viel schwereres

01:04:03.520 --> 01:04:04.180
Problem als vorher.

01:04:05.160 --> 01:04:06.280
Du hast es nur dann

01:04:06.280 --> 01:04:08.020
eine ganze Zeit lang nicht mehr gemerkt, weil

01:04:08.020 --> 01:04:09.940
da warst du damit beschäftigt, irgendwie

01:04:09.940 --> 01:04:12.420
Kubernetes zu konfigurieren, ja, so ein halbes

01:04:12.420 --> 01:04:14.320
Jahr oder so. Und dann nach einem halben Jahr fällt dir

01:04:14.320 --> 01:04:16.300
auf, so, das Problem ist eigentlich noch viel schlimmer jetzt als

01:04:16.300 --> 01:04:18.100
vorher. Und das ist halt dann,

01:04:18.220 --> 01:04:20.080
ja, da bist du in einer doofen Position,

01:04:20.420 --> 01:04:21.820
weil da kommst du dann auch nicht mehr so leicht raus.

01:04:22.620 --> 01:04:24.380
Und, ja, das ist halt,

01:04:25.860 --> 01:04:28.180
genau, ja, das ist halt,

01:04:28.600 --> 01:04:30.460
ja, Architektur,

01:04:30.620 --> 01:04:32.300
genau, also jedenfalls

01:04:32.300 --> 01:04:34.360
damit beschäftige ich mich halt

01:04:34.360 --> 01:04:36.180
auch gerade so ein bisschen. Ich meine, da müsste man mal drüber

01:04:36.180 --> 01:04:37.400
reden, wenn ich da irgendwie mehr zu weiß.

01:04:37.920 --> 01:04:39.800
Ich glaube, da müssen wir auch eine eigene Folge zu machen zur Architektur.

01:04:40.940 --> 01:04:41.920
Oder auch

01:04:41.920 --> 01:04:43.300
Microservice versus Modulit.

01:04:44.080 --> 01:04:44.440
Aufschreiben.

01:04:45.540 --> 01:04:46.860
Wenn ihr mich nicht auskennt,

01:04:47.500 --> 01:04:48.160
sagt uns Bescheid.

01:04:49.160 --> 01:04:49.560
Genau.

01:04:51.700 --> 01:04:53.440
Was ich halt gerade versuche, ist halt

01:04:53.440 --> 01:04:55.520
mich mit diesem, was macht man

01:04:55.520 --> 01:04:57.260
denn eigentlich so üblicherweise,

01:04:57.400 --> 01:04:58.520
wenn man jetzt eine Architektur,

01:04:59.120 --> 01:05:01.180
wenn man überhaupt so ein bisschen Architektur haben möchte,

01:05:02.560 --> 01:05:03.400
wie macht man das denn?

01:05:03.580 --> 01:05:04.440
Und zum Beispiel,

01:05:04.980 --> 01:05:06.520
Ein schönes Zitat, was es

01:05:06.520 --> 01:05:08.000
halt in dem Buch, diesem Software

01:05:08.000 --> 01:05:10.260
Architecture Patterns with Python

01:05:10.260 --> 01:05:12.620
Buch, das ich da so zu lese,

01:05:13.300 --> 01:05:14.160
gibt, ist halt

01:05:14.160 --> 01:05:15.860
und

01:05:15.860 --> 01:05:17.940
ja, das fällt mir halt dazu,

01:05:18.600 --> 01:05:20.540
dann auch allen, wenn man sagt, ja, super,

01:05:20.780 --> 01:05:22.260
weil ich kenne das

01:05:22.260 --> 01:05:24.060
ganz viele Leute, ah, super,

01:05:24.240 --> 01:05:26.120
Microsoft ist voll gut oder sonst wie.

01:05:27.180 --> 01:05:27.620
Ja,

01:05:29.040 --> 01:05:30.680
das hatte mal, glaube ich,

01:05:30.680 --> 01:05:31.840
der Autor von

01:05:31.840 --> 01:05:33.460
Clojure,

01:05:33.960 --> 01:05:36.080
der Programmiersprache Rick Hickey

01:05:36.080 --> 01:05:38.020
oder Rich Hickey, ich weiß gar nicht,

01:05:38.080 --> 01:05:39.960
wie heißt der nochmal, hat das gesagt,

01:05:40.320 --> 01:05:42.160
meinte so, ja, es gibt immer

01:05:42.160 --> 01:05:44.320
unter Ökonomen den Witz,

01:05:44.500 --> 01:05:46.100
ja, so Ökonomen kennen irgendwie den

01:05:46.100 --> 01:05:47.500
Preis von allem, aber den Wert von nix.

01:05:48.340 --> 01:05:49.800
Und für Softwareentwickler

01:05:49.800 --> 01:05:52.120
kann man das halt auch anpassen und sagen, ja, Softwareentwickler,

01:05:52.160 --> 01:05:53.920
die kennen halt irgendwie

01:05:53.920 --> 01:05:55.940
die Vorteile von allem,

01:05:56.140 --> 01:05:57.660
ja, oder die Features und die,

01:05:58.280 --> 01:05:59.880
aber sie kennen halt irgendwie die

01:05:59.880 --> 01:06:01.980
Trade-offs und die Nachteile von nix, ja.

01:06:02.240 --> 01:06:04.120
Und das ist halt, das ist so ein bisschen,

01:06:04.380 --> 01:06:05.880
das ist halt, da ist was Wahres dran.

01:06:06.880 --> 01:06:10.200
zum Beispiel, eben,

01:06:10.320 --> 01:06:11.060
das ist da,

01:06:12.160 --> 01:06:14.440
wir hatten ja letztes Mal diese Fast-API-Episode

01:06:14.440 --> 01:06:14.900
oder so.

01:06:17.360 --> 01:06:17.720
Also,

01:06:19.260 --> 01:06:19.660
das ist so,

01:06:19.880 --> 01:06:20.980
ich weiß nicht, würde

01:06:20.980 --> 01:06:24.360
man, auch wenn ich das so,

01:06:24.360 --> 01:06:26.360
auch bei TalkPython-Termin oder so, wenn ich das höre,

01:06:26.420 --> 01:06:28.360
ich höre immer so, ja, das ist alles voll gut und so.

01:06:29.400 --> 01:06:29.720
Aber,

01:06:30.180 --> 01:06:32.020
es gibt ja auch Nachteile, die das hat, wenn man das

01:06:32.020 --> 01:06:33.900
jetzt so macht. Also wenn man jetzt zum Beispiel sagt,

01:06:34.000 --> 01:06:35.920
man nimmt jetzt FastAPI, nehmen wir mal

01:06:35.920 --> 01:06:38.000
ein Beispiel, du nimmst halt FastAPI, SQL-Model

01:06:38.000 --> 01:06:40.020
und so

01:06:40.020 --> 01:06:41.900
und alles funktioniert

01:06:41.900 --> 01:06:43.980
mehr oder weniger automagisch.

01:06:44.100 --> 01:06:45.500
Was ist der große Nachteil an dieser Geschichte?

01:06:48.880 --> 01:06:49.240
Erzähl.

01:06:50.540 --> 01:06:52.000
Tja, da würde ich sagen,

01:06:52.080 --> 01:06:53.700
eben, da bist du schon typischer Software-Entwickler.

01:06:54.320 --> 01:06:56.020
Die meisten würden sagen, ja, das hat doch keinen Nachteil,

01:06:56.100 --> 01:06:57.820
das hat doch nur Vorteile. Naja, es hat halt schon

01:06:57.820 --> 01:06:59.400
Nachteile und der Nachteil ist halt,

01:07:00.180 --> 01:07:04.500
Aber wenn du halt von SQL-Model erbst, dann kannst du das nie wieder ändern.

01:07:04.840 --> 01:07:08.720
Wenn du jetzt auf die Idee kommst, wir machen das, oder du stellst halt fest,

01:07:08.900 --> 01:07:12.060
du misst das, du hast viele kleine Sachen, die halt serialisiert werden müssen,

01:07:12.200 --> 01:07:13.580
das ist halt zu langsam, das funktioniert irgendwie nicht.

01:07:14.480 --> 01:07:16.560
Und das ginge besser, wenn ich das jetzt irgendwie mit einem Unpile machen würde

01:07:16.560 --> 01:07:20.540
oder keine Ahnung, dann, das kannst du nicht mehr anpassen.

01:07:20.700 --> 01:07:23.100
Das ist halt einfach, dann hast du halt mehr oder weniger verloren.

01:07:23.560 --> 01:07:26.500
Naja, du könntest ja schon Export der Daten machen und Import woanders herstellen,

01:07:26.500 --> 01:07:28.080
man muss dann eine kurze Downtime kaufen und so.

01:07:29.600 --> 01:07:29.960
Conversion

01:07:29.960 --> 01:07:32.500
dazwischen schreiten. Also irgendwie geht das ja schon.

01:07:33.500 --> 01:07:34.840
Wenn dann eine Business-Logik

01:07:34.840 --> 01:07:35.940
da drin hängt

01:07:35.940 --> 01:07:38.620
und du hast von SQL-Model geerbt

01:07:38.620 --> 01:07:40.640
oder von

01:07:40.640 --> 01:07:42.480
Pidentic, irgendwie von den Base-Models, da kannst du

01:07:42.480 --> 01:07:43.500
nicht mehr viel machen. Das ist halt

01:07:43.500 --> 01:07:46.360
das Problem. Du hast halt, oder

01:07:46.360 --> 01:07:48.520
sagen wir mal so, ich will gar nicht

01:07:48.520 --> 01:07:50.300
auf Fast-API rumhacken oder so. Also ich meine,

01:07:50.360 --> 01:07:52.320
dieser Ansatz ist ja durchaus verbreitet.

01:07:52.900 --> 01:07:54.420
Bei allen Frameworks ist es halt so, du

01:07:54.420 --> 01:07:55.680
erbst von irgendwas und dann

01:07:55.680 --> 01:07:58.820
hast du halt viel mehr Fähigkeiten

01:07:58.820 --> 01:08:00.440
und hast halt in kurzer Zeit sozusagen

01:08:00.440 --> 01:08:02.480
in Anführungsstrichen viel geschafft, aber du kannst es halt auch

01:08:02.480 --> 01:08:04.540
nicht mehr ändern. Wenn du das in Django machst, ist das das gleiche

01:08:04.540 --> 01:08:06.620
Problem. Wenn du in Django irgendwie

01:08:06.620 --> 01:08:08.520
erbst du ja von Models

01:08:08.520 --> 01:08:10.080
Punkt irgendwas Model und

01:08:10.080 --> 01:08:12.460
hast da deine Fields und so. Was ist denn

01:08:12.460 --> 01:08:14.500
jetzt, wenn das aus irgendwelchen Gründen nicht mehr gut auf deine

01:08:14.500 --> 01:08:15.160
Anforderungen passt?

01:08:15.840 --> 01:08:18.580
Da musst du halt umziehen. Ja, aber das geht quasi nicht.

01:08:18.800 --> 01:08:19.900
Endpunkt pro Endpunkt.

01:08:21.600 --> 01:08:22.540
Funktioniert nicht gut. Das kannst

01:08:22.540 --> 01:08:24.300
du praktisch nicht mehr ändern. Also da würde ich sagen, der

01:08:24.300 --> 01:08:26.420
der große Nachteil, also du kaufst

01:08:26.420 --> 01:08:28.220
dir eine Menge, du kriegst halt viel

01:08:28.220 --> 01:08:30.340
Magie einfach so ganz schnell und

01:08:30.340 --> 01:08:31.940
es funktioniert ganz viel. Der große

01:08:31.940 --> 01:08:34.220
Nachteil, den du dir einkaufst, ist, du kannst

01:08:34.220 --> 01:08:35.840
das nicht mehr ändern. Wilde Magie.

01:08:36.100 --> 01:08:38.240
Du hast dich ganz eng an dein Framework

01:08:38.240 --> 01:08:40.180
gekoppelt. Das ist die engste Kopplung, die es

01:08:40.180 --> 01:08:41.320
überhaupt gibt, von irgendwas zu erben.

01:08:42.900 --> 01:08:43.120
Und

01:08:43.120 --> 01:08:45.920
jetzt eben sozusagen

01:08:45.920 --> 01:08:48.460
diese klassische Software-Architektur

01:08:48.460 --> 01:08:50.200
würde halt sagen, ja, Frameworks sind nicht deine

01:08:50.200 --> 01:08:52.020
Freunde, sei vorsichtig, wenn du von

01:08:52.020 --> 01:08:54.000
irgendjemandem erbst. Das ist immer,

01:08:54.100 --> 01:08:56.040
du koppelst dich da ganz eng. Also all diese

01:08:56.040 --> 01:08:58.080
Sachen von Sachen erben, Sachen importieren,

01:08:58.440 --> 01:08:59.740
alles vielleicht nicht so gut,

01:09:00.040 --> 01:09:02.040
weil das lässt sich hinterher alles verändern. Ja, aber alles selber machen

01:09:02.040 --> 01:09:03.640
ist halt auch irgendwie ein bisschen Quatsch. Das musst du ja nicht.

01:09:04.040 --> 01:09:06.020
Du könntest zum Beispiel stattdessen Software-Architektur machen.

01:09:08.200 --> 01:09:10.180
Ist halt die Frage. Okay, du meinst, du kannst es krapseln

01:09:10.180 --> 01:09:12.100
dann? Du machst, also da

01:09:12.100 --> 01:09:14.020
kannst du es halt so machen, dass

01:09:14.020 --> 01:09:15.940
zum Beispiel dein Kern, deine

01:09:15.940 --> 01:09:17.920
Applikation halt von überhaupt nichts

01:09:17.920 --> 01:09:20.080
abhängt, von nichts erbt und auch nichts importiert.

01:09:20.080 --> 01:09:21.560
Aber es braucht einen Händler für

01:09:21.560 --> 01:09:22.940
Speichern von Daten.

01:09:24.100 --> 01:09:26.440
Ja, aber den kannst du ja reinreichen sozusagen.

01:09:26.540 --> 01:09:28.880
Genau, aber das ist dann eine Dependency Injection.

01:09:29.000 --> 01:09:29.740
Habe ich das jetzt richtig?

01:09:29.900 --> 01:09:30.500
Ja, ja, ja, genau.

01:09:31.340 --> 01:09:34.440
Du würdest die Dependencies umdrehen.

01:09:34.560 --> 01:09:35.160
Du würdest halt sagen,

01:09:35.580 --> 01:09:38.240
der Kern meiner Software basiert halt

01:09:38.240 --> 01:09:40.580
oder hängt halt ab von anderen Sachen,

01:09:40.580 --> 01:09:42.180
sondern du würdest sagen, man dreht das halt um

01:09:42.180 --> 01:09:46.600
und sagst, die anderen Sachen hängen halt von meiner Software ab.

01:09:48.200 --> 01:09:50.640
Und als Mittel, um das zu erreichen,

01:09:50.780 --> 01:09:52.680
könnte man Dependency Injection zum Beispiel verwenden.

01:09:53.020 --> 01:09:54.800
aber das muss man ja auch nicht automatisch, also Dependency

01:09:54.800 --> 01:09:56.320
Injection oder

01:09:56.320 --> 01:09:59.260
Dependency Injection Frameworks,

01:09:59.600 --> 01:10:00.960
da wird das ja quasi

01:10:00.960 --> 01:10:03.080
so ein bisschen automatisiert.

01:10:03.540 --> 01:10:05.060
Man kann das ja aber auch manuell

01:10:05.060 --> 01:10:07.020
machen. Also manuell heißt das

01:10:07.020 --> 01:10:08.820
eigentlich, du machst das so, dass du

01:10:08.820 --> 01:10:09.960
hast halt dann

01:10:09.960 --> 01:10:13.200
quasi Schnittstellen oder irgendwelche abstrakten

01:10:13.200 --> 01:10:15.000
Interfaces, von denen du

01:10:15.000 --> 01:10:16.940
halt, die du halt sagst, okay, das ist halt

01:10:16.940 --> 01:10:18.800
das, was hier, dir wird zum Beispiel

01:10:18.800 --> 01:10:19.680
so eine

01:10:19.680 --> 01:10:21.620
in eine Datenbank

01:10:21.620 --> 01:10:23.700
ein Repository.

01:10:23.880 --> 01:10:26.080
Das sagt gar nicht, was das für eine Datenbank

01:10:26.080 --> 01:10:28.120
ist, sondern wird halt reingereicht,

01:10:28.220 --> 01:10:30.220
dass es bestimmte Methoden

01:10:30.220 --> 01:10:31.660
hat und eine bestimmte Schnittstelle hat.

01:10:31.660 --> 01:10:33.040
Also quasi Abstract-Base-Class mit

01:10:33.040 --> 01:10:35.440
Methoden zu implementieren,

01:10:35.780 --> 01:10:37.660
die man dann verwenden muss als

01:10:37.660 --> 01:10:39.880
Injection und die man dann, wo dann

01:10:39.880 --> 01:10:41.740
klar ist, okay, das muss jetzt so und so implementiert sein,

01:10:41.840 --> 01:10:43.800
egal wie du das löst, ist mir wurscht, aber Hauptsache, du stellst

01:10:43.800 --> 01:10:45.240
diese Interfaces für mich bereit,

01:10:45.680 --> 01:10:47.720
die benutze ich dann einfach und Input, Output sind vordefiniert.

01:10:47.780 --> 01:10:49.700
Und man dependet dann eben auf diese abstrakte

01:10:49.700 --> 01:10:51.840
Schnittstelle und nicht auf eine konkrete

01:10:51.840 --> 01:10:53.720
Implementation. Das habe ich tatsächlich auch schon mal

01:10:53.720 --> 01:10:55.640
gemacht. Ja, das ist ja

01:10:55.640 --> 01:10:57.800
schon irgendwie so richtig, ist doch für Architektur.

01:10:58.000 --> 01:10:59.520
Ja, genau. Und dann kannst du mich jetzt

01:10:59.520 --> 01:11:01.760
Architekt nennen. Ja, ich glaube, das darfst

01:11:01.760 --> 01:11:03.160
nicht jeder. Das ist gar kein Problem.

01:11:03.520 --> 01:11:05.540
Hast du ja alles schon gesehen, welche Leute sich Architekt genannt haben.

01:11:05.540 --> 01:11:09.740
Ja, Informatiker glaube ich auch nicht.

01:11:11.280 --> 01:11:12.360
Ich glaube, du darfst dich nicht

01:11:12.360 --> 01:11:14.140
Diplom-Informatiker nennen, aber

01:11:14.140 --> 01:11:15.240
Informatiker ist...

01:11:15.240 --> 01:11:17.300
Ja, ist auch wurscht.

01:11:17.780 --> 01:11:18.180
Genau.

01:11:19.840 --> 01:11:21.400
Jedenfalls, wenn du halt auf diese

01:11:21.400 --> 01:11:23.420
Abstraktionen dependest und nicht

01:11:23.420 --> 01:11:25.420
auf irgendwas Konkretes, dann kannst du halt das,

01:11:26.320 --> 01:11:27.700
die konkrete Implementation

01:11:27.700 --> 01:11:29.420
dieser Schnittstelle halt

01:11:29.420 --> 01:11:31.460
austauschen. Wenn du ein Repository hast, das halt

01:11:31.460 --> 01:11:33.420
irgendwie SQL-Alchemy war, kannst du sagen, okay, ich nehme

01:11:33.420 --> 01:11:35.600
jetzt ein Django-Repository

01:11:35.600 --> 01:11:37.400
stattdessen und dann merkt deine

01:11:37.400 --> 01:11:39.100
Applikation gar nicht, dass das geändert wurde.

01:11:40.260 --> 01:11:41.540
Der Nachteil ist

01:11:41.540 --> 01:11:43.380
halt irgendwie Django-ORM und so, das ist ja schon

01:11:43.380 --> 01:11:45.080
nett, du sparst ja halt viel Arbeit.

01:11:45.640 --> 01:11:47.380
Du musst halt dann nochmal selber bauen, die ganzen Methoden,

01:11:47.460 --> 01:11:49.400
die es da halt gibt quasi. Und dann halt quasi,

01:11:49.460 --> 01:11:51.440
du musst einer die abstrakte Klasse bauen, die musst du dann

01:11:51.440 --> 01:11:53.220
für deine Sache implementieren.

01:11:53.280 --> 01:11:55.380
Wenn du das mit dem Django-ORM nutzen willst, dann musst du quasi den Händler

01:11:55.380 --> 01:11:57.220
dafür schreiben für deine abstrakte Klasse, die dann

01:11:57.220 --> 01:11:59.380
den Django-ORM benutzt, damit die Methoden,

01:11:59.420 --> 01:12:01.540
die du dir bereitstellen willst, auch dann darüber gehen.

01:12:02.040 --> 01:12:03.480
Ja, also sagen wir mal so, du verlierst halt

01:12:03.480 --> 01:12:05.500
einen Großteil der Gründe, warum man

01:12:05.500 --> 01:12:06.940
jetzt... Convenience. Der Convenience,

01:12:07.240 --> 01:12:08.720
den verlierst du tatsächlich, das ist halt so.

01:12:10.520 --> 01:12:11.300
Dadurch, dass du halt

01:12:11.300 --> 01:12:13.240
Django austauschbar machst oder Fast-API

01:12:13.240 --> 01:12:14.580
austauschbar machst, ich habe das

01:12:14.580 --> 01:12:16.880
überlegt, zum Spaß könnte man eigentlich

01:12:16.880 --> 01:12:18.980
noch einen Flask, irgendwie Entrypoint

01:12:18.980 --> 01:12:20.860
davor hängen, sozusagen, wenn ich damit

01:12:20.860 --> 01:12:23.060
fertig sein sollte. Und das wäre praktisch

01:12:23.060 --> 01:12:25.020
kein Problem, das zu machen. Ich könnte halt

01:12:25.020 --> 01:12:27.020
Flask gegen Fast API austauschen oder umgekehrt

01:12:27.020 --> 01:12:28.700
oder Django, das wäre alles kein großes Problem.

01:12:29.140 --> 01:12:30.940
Aber man hat halt auch die ganzen Vorteile dann nicht mehr.

01:12:31.180 --> 01:12:33.020
Das ist halt der Nachteil.

01:12:33.700 --> 01:12:34.960
Aber, ja,

01:12:35.460 --> 01:12:37.100
ich wollte es einfach mal ausprobieren, deswegen habe ich da so ein bisschen

01:12:37.100 --> 01:12:38.580
mit angefangen. Und,

01:12:38.660 --> 01:12:39.380
ja,

01:12:40.100 --> 01:12:43.000
aber man sollte sich halt,

01:12:43.060 --> 01:12:43.920
wenn man jetzt ihm

01:12:43.920 --> 01:12:46.800
diesen Weg geht und sagt,

01:12:46.880 --> 01:12:48.380
ich nehme einfach ein Framework, dann ist alles schnell.

01:12:49.020 --> 01:12:51.440
Ich wusste, dass man das Software-Architektur

01:12:51.440 --> 01:12:52.940
nennt und so ein bisschen Hochtraben

01:12:52.940 --> 01:12:53.500
überlegt.

01:12:55.240 --> 01:12:56.300
Ja, aber man muss halt

01:12:56.300 --> 01:12:58.620
entsprechend verfolgen. Ja, abstrakte Infrafaces

01:12:58.620 --> 01:13:00.420
bauen, damit man so ein bisschen die

01:13:00.420 --> 01:13:02.260
Dependency-Injection auslagern kann

01:13:02.260 --> 01:13:04.440
und damit man reduziert die Abhängigkeit

01:13:04.440 --> 01:13:05.040
in seine eigenen

01:13:05.040 --> 01:13:08.380
Codes von anderen Dingen

01:13:08.380 --> 01:13:10.460
und die einfach austauschen kann. Also dieses Pattern

01:13:10.460 --> 01:13:12.560
der Dependency-Injection in diesem Fall, mit diesem abstrakten

01:13:12.560 --> 01:13:14.320
Ansatz, ist glaube ich eine richtig gute Idee,

01:13:14.520 --> 01:13:16.460
wenn man Skalierung möchte in irgendwann

01:13:16.460 --> 01:13:28.260
Ja, es hat halt auch so Vorteile. Also es hat halt den Vorteil, dass du dann eben flexibel diese Sachen aushauschen kannst und so und dann halt nicht davon abhängst, dass wenn irgendeiner von deinen Defenses sich nicht so gut weißt und du willst was anderes machen, dann kannst du das halt tun.

01:13:29.080 --> 01:13:42.780
Auf der anderen Seite ist es halt, wenn du weißt, dass du das nie musst und dass es auch egal ist, also wenn du zum Beispiel eben klassische Crud-Geschichte hast, die relativ einfach ist, dann macht das keinen Sinn, da viel Architektur zu machen, weil das ist sowieso egal.

01:13:44.640 --> 01:13:46.900
genau, ich mache es jetzt auch nicht, weil es nötig ist, sondern einfach

01:13:46.900 --> 01:13:48.460
nur, um zu verstehen, wie das alles funktioniert.

01:13:48.460 --> 01:13:50.840
Ich habe genug Zeit und mache da so schöne

01:13:50.840 --> 01:13:51.240
Sachen.

01:13:53.060 --> 01:13:54.980
Genau, ich mache das nur, weil es Spaß macht.

01:13:55.820 --> 01:13:57.200
Das ist auch ein Selbstzweck.

01:13:57.740 --> 01:13:59.060
Ja, vielleicht noch erzählen

01:13:59.060 --> 01:14:00.180
wollte, dass, weil

01:14:00.180 --> 01:14:02.820
es tut mir gerade so, da ich

01:14:02.820 --> 01:14:04.840
immer so viel Webentwicklung mache, fehlt mir

01:14:04.840 --> 01:14:06.920
halt dieser ganze Machine Learning Teil

01:14:06.920 --> 01:14:08.780
so ein bisschen. Ich bin da momentan auch nicht

01:14:08.780 --> 01:14:10.640
so richtig auf dem Laufenden. Ich habe letztens wieder

01:14:10.640 --> 01:14:12.720
einen Podcast gehört, da war so, oh krass, was da

01:14:12.720 --> 01:14:14.760
alles so passiert, da wusste ich

01:14:14.760 --> 01:14:15.740
ja gar nichts von, also

01:14:15.740 --> 01:14:18.660
ich kann auch sagen, dass ich jetzt

01:14:18.660 --> 01:14:20.620
ein bisschen Unsinn erzähle, weil ich da nicht mehr so richtig drinstecke,

01:14:20.720 --> 01:14:22.920
aber vielleicht ist das ja interessant, also mich hat es auf jeden Fall überrascht.

01:14:23.880 --> 01:14:24.720
Also einmal

01:14:24.720 --> 01:14:26.020
gibt es halt jetzt die Bestrebung, also

01:14:26.020 --> 01:14:28.480
das kennst du ja wahrscheinlich auch, es gibt so große Modelle,

01:14:28.640 --> 01:14:29.780
die trainiert werden, auf irgendwie

01:14:29.780 --> 01:14:32.520
self-supervised trainiert werden, auf quasi

01:14:32.520 --> 01:14:34.520
im Internet zum Beispiel, Language-Modelle gibt es da,

01:14:34.640 --> 01:14:36.640
diese GPT-3

01:14:36.640 --> 01:14:37.580
und so was, ja.

01:14:39.380 --> 01:14:39.740
Und

01:14:39.740 --> 01:14:42.600
die machen ja alles irgendwie so ein bisschen

01:14:42.600 --> 01:14:44.720
besser, wenn man jetzt irgendwie die verwendet

01:14:44.720 --> 01:14:46.840
und

01:14:46.840 --> 01:14:48.780
dann sozusagen

01:14:48.780 --> 01:14:50.540
das eigene Problem darauf

01:14:50.540 --> 01:14:52.060
feintunt irgendwie.

01:14:53.280 --> 01:14:54.580
Und das dachte ich auch immer so,

01:14:54.640 --> 01:14:56.540
das ist der Hauptvorteil, den man da hat,

01:14:56.720 --> 01:14:58.800
wenn man den Kram verwendet, aber tatsächlich

01:14:58.800 --> 01:15:00.580
können die halt noch eine ganze Menge mehr und das war mir

01:15:00.580 --> 01:15:01.580
so gar nicht so richtig klar.

01:15:03.000 --> 01:15:04.480
Zum Beispiel bei GPT-3

01:15:04.480 --> 01:15:06.580
ist es halt so, du kannst halt auch so Dinge

01:15:06.580 --> 01:15:08.320
machen wie Zero-Shot-Learning oder

01:15:08.320 --> 01:15:10.520
Few-Shot-Learning, also gar nicht irgendwie, du feintunst es

01:15:10.520 --> 01:15:12.480
nicht mit ein paar hunderttausend, was auch immer

01:15:12.480 --> 01:15:14.420
Beispielen, sondern

01:15:14.420 --> 01:15:16.680
du sagst zum Beispiel GPT-3 einfach so

01:15:16.680 --> 01:15:18.120
irgendwie, dein Job ist jetzt

01:15:18.120 --> 01:15:20.560
Übersätze von Englisch nach Deutsch. Und dann

01:15:20.560 --> 01:15:22.560
tut es das einfach so, ohne dass du ihm irgendwelche

01:15:22.560 --> 01:15:24.640
Trainingsbeispiele gezeigt hast. Oder du

01:15:24.640 --> 01:15:25.880
sagst ihm, dein Job ist jetzt

01:15:25.880 --> 01:15:28.620
Übersätze von Englisch nach Deutsch und

01:15:28.620 --> 01:15:30.140
gibst ihm halt noch drei, vier Beispiele.

01:15:30.860 --> 01:15:32.160
Und dann geht das auch schon ganz gut.

01:15:33.120 --> 01:15:34.200
Und das ist halt schon krass.

01:15:34.980 --> 01:15:36.480
Und für viele andere

01:15:36.480 --> 01:15:38.600
Tasks geht das auch. Ich glaube, da gibt es dann auch wieder die Frage,

01:15:38.600 --> 01:15:40.460
wie man das nennt, dann Instruction-Based

01:15:40.460 --> 01:15:42.800
Learning oder Zero-Shot Learning

01:15:42.800 --> 01:15:44.300
oder so. Die KI schon Conscious

01:15:44.300 --> 01:15:46.240
ungefähr, ja. Ja,

01:15:46.420 --> 01:15:47.120
das weiß ich nicht, aber

01:15:47.120 --> 01:15:50.520
es ist auf jeden Fall beeindruckend, was damit geht

01:15:50.520 --> 01:15:51.840
und es gab dann halt so, tatsächlich,

01:15:52.360 --> 01:15:53.840
das wusste ich überhaupt nicht, dass das existiert,

01:15:53.920 --> 01:15:55.660
was dann Leute, die dann meinten,

01:15:55.700 --> 01:15:58.040
also, es gibt inzwischen so

01:15:58.040 --> 01:16:00.500
den Job quasi mehr oder weniger von Leuten,

01:16:00.500 --> 01:16:02.260
die sich halt überlegen, wie sie

01:16:02.260 --> 01:16:04.340
Anfragen an das Modell formulieren, dass da irgendwas,

01:16:04.460 --> 01:16:06.300
was sie dann hinterher verwerten können, dabei rauskommt, weil man muss

01:16:06.300 --> 01:16:08.280
da auch so ein bisschen aufpassen und rumtricksen

01:16:08.280 --> 01:16:10.440
und welche Beispiele gibt man dann, um das halt noch ein bisschen

01:16:10.440 --> 01:16:12.360
zu verbessern. Und da kann man

01:16:12.360 --> 01:16:14.380
halt solche, diese großen Modelle wohl

01:16:14.380 --> 01:16:15.760
dazu bewegen, Dinge zu tun,

01:16:16.540 --> 01:16:17.600
die ganz erschaunlich sind.

01:16:18.120 --> 01:16:20.160
Genau, beim Co-Pilot ist das auch so ein bisschen so.

01:16:20.420 --> 01:16:21.400
Co-Pilot ist auch so, ja.

01:16:21.880 --> 01:16:24.320
Gute Beispiele gibt es, also gute Methoden und so, gute Namen,

01:16:24.380 --> 01:16:26.400
gute Argumente, gute Docs, lernt er sehr gut

01:16:26.400 --> 01:16:28.400
draus. Also, wenn man das in einem Projekt mal so konstant hat,

01:16:29.240 --> 01:16:29.860
da ist es echt Gold wert.

01:16:30.620 --> 01:16:31.440
Ja, genau. Und

01:16:31.440 --> 01:16:34.180
ja, habe ich jetzt auch letztens gehört,

01:16:35.100 --> 01:16:36.400
genau, ist die Frage, wie nennt man

01:16:36.400 --> 01:16:38.480
das jetzt eigentlich? Weil all die

01:16:38.480 --> 01:16:40.280
Sachen, wie man das früher genannt hat, das trifft es eigentlich nicht.

01:16:40.440 --> 01:16:41.880
so Pre-Train-Modelle, das

01:16:41.880 --> 01:16:44.320
klingt irgendwie so ein bisschen, als wäre dann schon alles

01:16:44.320 --> 01:16:46.680
passiert,

01:16:47.400 --> 01:16:48.620
aber das trifft's ja nicht,

01:16:48.680 --> 01:16:50.260
weil man muss ja jetzt mit dem Ding noch irgendwie so lange

01:16:50.260 --> 01:16:52.560
interagieren, bis man das dazu gekriegt hat, dass das macht, was man

01:16:52.560 --> 01:16:54.280
eigentlich möchte, also

01:16:54.280 --> 01:16:56.440
einfach nur

01:16:56.440 --> 01:16:59.700
was waren noch die,

01:16:59.820 --> 01:17:02.340
Self-Supervised ist halt auch nicht so ganz richtig, weil es ist

01:17:02.340 --> 01:17:04.280
nicht immer Self-Supervised. Wir müssen dazu auch noch

01:17:04.280 --> 01:17:06.640
eine Machine Learning-Folge machen, glaube ich, das hört sich sehr interessant an.

01:17:06.660 --> 01:17:08.200
Ja, aber da brauchen wir auch jemanden, der sich damit

01:17:08.200 --> 01:17:09.360
wirklich auskennt, nicht so der

01:17:09.360 --> 01:17:10.780
ein paar Bauchklassen gehört hat, wie ich.

01:17:12.600 --> 01:17:12.880
Und

01:17:12.880 --> 01:17:15.620
also unklar, es gab jetzt den Vorschlag,

01:17:15.680 --> 01:17:17.500
glaube ich, von Stanford oder so,

01:17:17.620 --> 01:17:19.380
wo sie gesagt haben, lass uns die Dinger doch

01:17:19.380 --> 01:17:21.020
Foundation Models nennen.

01:17:22.000 --> 01:17:23.440
Weil das macht das ein bisschen

01:17:23.440 --> 01:17:24.840
klarer, weil wir wissen auch nicht so genau,

01:17:25.360 --> 01:17:27.440
wie das jetzt, es wird halt auch

01:17:27.440 --> 01:17:29.420
für Bilder gibt es das noch nicht so richtig, aber es sieht

01:17:29.420 --> 01:17:30.520
so aus, als ob das jetzt auch

01:17:30.520 --> 01:17:33.220
in die Richtung läuft, dass man das irgendwann mit Bildern

01:17:33.220 --> 01:17:35.320
und auch vielleicht mit Videos machen kann und dann

01:17:35.320 --> 01:17:37.320
werden da auch mal sehr

01:17:37.320 --> 01:17:39.160
interessante Sachen gehen.

01:17:39.360 --> 01:17:42.380
und vielleicht ist es eben auch nicht nur

01:17:42.380 --> 01:17:44.380
selbstsupervised, vielleicht kann man auch irgendwie bei ImageNet

01:17:44.380 --> 01:17:46.320
oder so hat man ja rein supervised

01:17:46.320 --> 01:17:48.560
irgendwie sozusagen, kann man ja auch benutzen

01:17:48.560 --> 01:17:50.340
aber wir haben auf jeden Fall

01:17:50.340 --> 01:17:52.360
irgendwie so eine Klasse von Modellen, die sind sehr groß und mit denen

01:17:52.360 --> 01:17:54.600
kann man irgendwie interessante Dinge tun und das ist so ein bisschen unklar

01:17:54.600 --> 01:17:55.900
aber es sind irgendwie die

01:17:55.900 --> 01:17:58.220
Foundation für alle möglichen anderen Dinge, die man

01:17:58.220 --> 01:18:00.340
damit macht, also lass uns die doch Foundation Models nennen

01:18:00.340 --> 01:18:02.280
und sozusagen da irgendwie die ganzen

01:18:02.280 --> 01:18:04.080
Themen, die halt jetzt da dran hängen

01:18:04.080 --> 01:18:05.000
halt irgendwie mit

01:18:05.000 --> 01:18:07.860
mit Abflussstücken

01:18:07.860 --> 01:18:09.820
Und die Idee fand ich eigentlich gar nicht so schlecht.

01:18:09.920 --> 01:18:11.060
Ich bin mal gespannt, ob sich das durchsetzt.

01:18:12.100 --> 01:18:13.000
Ja, und

01:18:13.000 --> 01:18:15.920
genau. Ja, und dann

01:18:15.920 --> 01:18:17.800
ist es halt so, dass auch der

01:18:17.800 --> 01:18:19.820
Fortschritt in dem ganzen Deep Learning-Bereich

01:18:19.820 --> 01:18:21.740
war in letzter Zeit so stark.

01:18:21.820 --> 01:18:23.720
Das konsolidiert sich jetzt auch alles so ein bisschen.

01:18:24.380 --> 01:18:25.800
Finde ich auch ziemlich

01:18:25.800 --> 01:18:27.000
cool. Da gibt es halt irgendwie

01:18:27.000 --> 01:18:29.340
Leute, die auf

01:18:29.340 --> 01:18:31.780
GitHub irgendwie

01:18:31.780 --> 01:18:33.580
jetzt die ganzen Sachen polieren.

01:18:33.700 --> 01:18:35.560
Also das hatte ich früher auch mal so, wenn man sich jetzt anguckt,

01:18:35.800 --> 01:18:37.680
diese ganzen Leute, die in diesem

01:18:37.680 --> 01:18:39.880
Forschungsumfeld tätig sind, also wenn man sich

01:18:39.880 --> 01:18:40.460
den Code anguckt,

01:18:40.620 --> 01:18:44.100
ist halt oft

01:18:44.100 --> 01:18:44.740
theoretisch

01:18:44.740 --> 01:18:47.900
sehr avanciert und irgendwie

01:18:47.900 --> 01:18:49.360
Leute machen sich da viele Gedanken und so,

01:18:49.740 --> 01:18:50.860
sind sehr kreativ und

01:18:50.860 --> 01:18:54.220
machen irgendwie krasse Mathematik,

01:18:54.360 --> 01:18:55.880
aber irgendwie jetzt so den Code, den sie

01:18:55.880 --> 01:18:57.920
schreiben, ist manchmal schon so ein bisschen, also da geht

01:18:57.920 --> 01:18:58.640
auf jeden Fall noch was.

01:18:59.360 --> 01:19:01.620
Das ist jetzt lieb ausgedrückt. Ja, ich meine, klar,

01:19:01.800 --> 01:19:03.800
man kann ja auch nicht in allem gut sein, das ist halt irgendwie so,

01:19:03.800 --> 01:19:05.260
man muss sich auf irgendwas beschränken

01:19:05.260 --> 01:19:07.400
und aber da ist auf jeden Fall noch nicht

01:19:07.400 --> 01:19:09.260
so das Ende der Fahnenstange erreicht und

01:19:09.260 --> 01:19:11.420
was ich jetzt interessant fand, ist

01:19:11.420 --> 01:19:13.420
dass halt da jetzt Leute gibt, die

01:19:13.420 --> 01:19:14.820
aus dem Softwareentwicklungsbereich kommen,

01:19:15.420 --> 01:19:17.400
die sich das angucken und sagen, das ist ja, da kann man

01:19:17.400 --> 01:19:19.840
ja noch was machen und das hat

01:19:19.840 --> 01:19:20.960
jetzt wieder Einfluss auf die Forschung.

01:19:21.120 --> 01:19:23.360
Zum Beispiel eben aus der

01:19:23.360 --> 01:19:24.380
Kegel-Ecke kommen da einige,

01:19:25.720 --> 01:19:27.500
also Competitive Machine Learning

01:19:27.500 --> 01:19:29.220
oder halt auch aus der Industrie.

01:19:29.440 --> 01:19:30.880
Es gibt da zum Beispiel einen, Ross Whiteman,

01:19:31.840 --> 01:19:32.880
der

01:19:32.880 --> 01:19:35.780
sich diese ganzen Standard-Image-Modelle

01:19:35.780 --> 01:19:37.120
mal nochmal angeguckt hat

01:19:37.120 --> 01:19:39.380
und der

01:19:39.380 --> 01:19:41.280
dann im Wesentlichen rausgefunden hat,

01:19:41.460 --> 01:19:43.140
so, naja,

01:19:43.360 --> 01:19:45.020
also das, was ihr sagt, also

01:19:45.020 --> 01:19:47.100
der State-of-the-Art sozusagen

01:19:47.100 --> 01:19:49.520
für den Score auf bestimmten Problemen,

01:19:49.600 --> 01:19:50.820
jetzt nehmen wir ImageNet oder so,

01:19:51.740 --> 01:19:52.780
der

01:19:52.780 --> 01:19:54.980
wurde ja ermittelt

01:19:54.980 --> 01:19:57.200
für bestimmte Modelle vor ein paar Jahren.

01:19:59.260 --> 01:19:59.380
So,

01:19:59.440 --> 01:20:01.560
inzwischen hat es aber nicht nur Fortschritte

01:20:01.560 --> 01:20:03.540
bei den Modellen gegeben, also wie ist die Architektur der Modelle

01:20:03.540 --> 01:20:05.700
oder so, sondern halt auch bei den, ja,

01:20:05.980 --> 01:20:07.580
das ist aber, das spielt alles nicht so eine große

01:20:07.580 --> 01:20:09.500
Rolle, weil man kann eh nur kleine Bilder nehmen,

01:20:09.680 --> 01:20:11.480
weil irgendwie die Datenmengen halt sonst

01:20:11.480 --> 01:20:13.000
irgendwie schwierig für die Modelle werden,

01:20:13.540 --> 01:20:15.660
aber, nee, wo sich

01:20:15.660 --> 01:20:17.120
was getan hat, ist zum Beispiel sowas wie,

01:20:17.300 --> 01:20:19.180
wie trainiert man die Dinger eigentlich, also

01:20:19.180 --> 01:20:21.480
wie sind die Hyperparameter, mit

01:20:21.480 --> 01:20:23.380
denen man, die man

01:20:23.380 --> 01:20:24.480
benutzt zum Trainieren, wie,

01:20:25.980 --> 01:20:27.520
da gibt es halt auch eine Menge Zeugs.

01:20:27.560 --> 01:20:29.340
Es klingt wirklich so, also das ist ja super interessant

01:20:29.340 --> 01:20:30.960
alles, aber ich glaube, wir sind jetzt in der,

01:20:31.040 --> 01:20:33.000
so oft hin und her gesprungen, dass wir da

01:20:33.000 --> 01:20:35.100
unbedingt nochmal genauer drüber reden müssen in einer eigenen

01:20:35.100 --> 01:20:37.020
Episode, weil das, ja,

01:20:37.240 --> 01:20:39.160
ich finde es sehr spannend und ich glaube,

01:20:39.240 --> 01:20:40.820
das war aber komplett off-topic. Ich glaube, die Leute, die vorher

01:20:40.820 --> 01:20:43.000
das interessant fanden bei CSS, waren jetzt bei Machine Learning

01:20:43.000 --> 01:20:45.000
nicht mehr dabei und andersrum waren die

01:20:45.000 --> 01:20:46.460
wirklich gespannt.

01:20:47.660 --> 01:20:49.060
Ja, wir machen auf jeden Fall noch eine Episode

01:20:49.060 --> 01:20:51.080
dazu, das ist versprochen. Ihr seht, Jochen ist ja auch sehr

01:20:51.080 --> 01:20:53.480
belesen und ich finde das

01:20:53.480 --> 01:20:54.740
auch super interessant. Ich finde das super interessant.

01:20:54.900 --> 01:20:57.180
Vielleicht nochmal kurz zum Abschluss zu bringen. Also es ist auf jeden Fall

01:20:57.180 --> 01:20:59.040
so, dass jetzt, dass man sagt, dass der

01:20:59.040 --> 01:21:01.080
quasi gedacht hat, also wenn man jetzt die ganzen

01:21:01.080 --> 01:21:03.020
Fortschritte, die es in anderen Bereichen gibt, jetzt nochmal mit

01:21:03.020 --> 01:21:05.080
den alten Modellen zusammennimmt, dann stimmt

01:21:05.080 --> 01:21:07.120
die Baseline nicht mehr. Es ist halt nicht so,

01:21:07.200 --> 01:21:09.060
dass die Modelle von damals schlecht

01:21:09.060 --> 01:21:11.040
wären. Es ist nur so, dass die Methoden, mit denen

01:21:11.040 --> 01:21:13.140
wir die trainiert haben damals, sind halt vielleicht nicht so gut gewesen.

01:21:13.480 --> 01:21:15.140
Wenn wir die heute mit den besseren Methoden trainieren,

01:21:15.240 --> 01:21:17.080
dann upsala, für manche Probleme sind die doch

01:21:17.080 --> 01:21:17.840
wieder state of the art.

01:21:19.200 --> 01:21:20.620
Und dann, ja,

01:21:21.280 --> 01:21:23.140
also sehr, sehr

01:21:23.140 --> 01:21:24.740
coole Sachen und ja,

01:21:25.000 --> 01:21:26.060
da gibt es viel zu erzählen.

01:21:27.600 --> 01:21:28.000
Ja.

01:21:29.040 --> 01:21:32.060
Ja, ich glaube, dann haben wir jetzt

01:21:32.060 --> 01:21:33.980
quasi, das war das letzte Thema, glaube ich, was auf deiner Liste

01:21:33.980 --> 01:21:35.200
stand, was du noch...

01:21:35.200 --> 01:21:37.920
Ja, ich glaube, wir haben

01:21:37.920 --> 01:21:39.580
heute genug Kuddelmuddel-Salat

01:21:39.580 --> 01:21:42.000
aufgetischt. Ja gut, alles klar.

01:21:42.520 --> 01:21:43.780
Genau, ja, ich weiß nicht,

01:21:44.040 --> 01:21:45.580
jetzt haben wir das Problem,

01:21:45.720 --> 01:21:47.700
aber jetzt bist du dran, jetzt muss ich erst mal meinen Pick wieder

01:21:47.700 --> 01:21:49.180
nachgucken, den du mir ja versaut hast.

01:21:49.980 --> 01:21:50.920
Was würdest du denn picken?

01:21:51.460 --> 01:21:53.240
Ich muss was picken, in dieser Folge schon wieder.

01:21:53.620 --> 01:21:54.760
Ich weiß nicht, wo könntest du?

01:21:55.180 --> 01:21:56.740
Ja, ich picke Critical Role.

01:21:58.200 --> 01:22:00.500
Das ist eine wunderschöne Serie, die auf

01:22:00.500 --> 01:22:02.780
Prime läuft, über D&D.

01:22:04.200 --> 01:22:04.780
Falls jemand

01:22:04.780 --> 01:22:06.580
sich für D&D interessiert, es gibt ein

01:22:06.580 --> 01:22:08.600
Vodcast von

01:22:08.600 --> 01:22:10.680
Matthew Mercer dazu,

01:22:11.480 --> 01:22:12.720
der Critical Role heißt und

01:22:12.720 --> 01:22:14.880
der hat eine Kampagne mit seinen SpielerInnen

01:22:14.880 --> 01:22:15.340
gespielt,

01:22:16.880 --> 01:22:18.540
Vox Machina und diese Vox Machina

01:22:18.540 --> 01:22:19.800
ist jetzt auf Prime Machine.

01:22:20.280 --> 01:22:22.800
Es war eigentlich

01:22:22.800 --> 01:22:24.640
gar nicht geplant, als Fernsehserie natürlich,

01:22:24.760 --> 01:22:26.580
aber irgendwer sagt, ach, total toll,

01:22:26.640 --> 01:22:28.520
was wir hier machen, also das sind alles so Voice Actors und so,

01:22:28.940 --> 01:22:30.540
macht total Spaß, eigentlich sollte

01:22:30.540 --> 01:22:32.400
mal jemand einen Comic draus machen, dann hat irgendwer gesagt,

01:22:32.520 --> 01:22:34.280
ach, naja, kein Comic, ja, vielleicht doch,

01:22:34.540 --> 01:22:36.440
ja, da brauchen wir doch irgendwie Geld für, ja, dann lass doch einen Kickstarter

01:22:36.440 --> 01:22:37.840
machen, meint dann irgendwer, dann sagt er, ach,

01:22:37.920 --> 01:22:40.620
hat irgendwer einen Kickstarter gemacht, 48 Stunden

01:22:40.620 --> 01:22:42.280
später irgendwie 11 Millionen Dollar oder so eingenommen,

01:22:42.620 --> 01:22:44.140
dann haben die gesagt, so, hey, yo, wir machen

01:22:44.140 --> 01:22:46.160
doch so eine Serie

01:22:46.160 --> 01:22:48.220
und dann hat Amazon gesagt, oh, wir kaufen's

01:22:48.220 --> 01:22:50.680
und hat direkt die Staffeln da veröffentlicht

01:22:50.680 --> 01:22:51.960
und die laufen jetzt tatsächlich auf Prime,

01:22:52.660 --> 01:22:54.660
glaube ich, die erste Staffel gerade rum und das ist D&D,

01:22:55.280 --> 01:22:57.300
Eine Abenteurergruppe, die es live gab quasi,

01:22:57.380 --> 01:22:59.260
gibt es auf YouTube, kann man die echten Abenteuer nachholen.

01:22:59.420 --> 01:23:01.140
Also eine Folge ist, glaube ich, so dreieinhalb

01:23:01.140 --> 01:23:02.720
bis vier Stunden oder sowas und die haben, glaube ich,

01:23:02.720 --> 01:23:05.080
150 Sessions abgehalten für diese Kampagne.

01:23:05.620 --> 01:23:06.860
Es ist also ein bisschen verkürzt

01:23:06.860 --> 01:23:07.880
dargestellt, aber

01:23:07.880 --> 01:23:09.300
ja.

01:23:12.100 --> 01:23:13.120
Wo wir eben bei

01:23:13.120 --> 01:23:15.280
Jackshaving waren, was man alles

01:23:15.280 --> 01:23:17.120
verbessern und optimieren kann und wie tief das

01:23:17.120 --> 01:23:19.240
Material jeweils ist. Aber egal, nur ein kleines

01:23:19.240 --> 01:23:20.620
bisschen was Privates.

01:23:22.000 --> 01:23:22.960
Jochen, dein Pick?

01:23:23.340 --> 01:23:24.700
Ja, ich habe jetzt versucht, den

01:23:24.700 --> 01:23:26.500
gerade zu finden. Ich habe ihn nicht mehr gefunden.

01:23:26.800 --> 01:23:27.880
Aber ich kann ihn beschreiben und ich

01:23:27.880 --> 01:23:30.380
reiche den Link dann in den Show Notes nach. Es gibt

01:23:30.380 --> 01:23:32.860
Rich, also es gibt ja

01:23:32.860 --> 01:23:34.260
Typer, das macht auch schon eine Menge

01:23:34.260 --> 01:23:36.780
so Command-Line-Geschichten. Es basiert

01:23:36.780 --> 01:23:38.480
aber auch auf Click. Genau. Und es gibt

01:23:38.480 --> 01:23:40.680
jetzt auch irgendwie Rich-Click oder ich weiß jetzt eben nicht,

01:23:40.740 --> 01:23:42.340
wie man es hinschreibt, aber wo man

01:23:42.340 --> 01:23:44.400
sozusagen Click und Rich

01:23:44.400 --> 01:23:46.600
ganz nett kombiniert hat und das sah

01:23:46.600 --> 01:23:48.740
sehr gut aus und das war dann mein Pick.

01:23:49.160 --> 01:23:49.940
Interessant. Cool.

01:23:50.860 --> 01:23:52.720
Ja, super. Dann vielen Dank, dass ihr wieder eingeschaltet

01:23:52.720 --> 01:23:54.780
habt. Bleibt uns gewogen.

01:23:54.980 --> 01:23:56.560
Ich hoffe, ich darf diese Episode nicht

01:23:56.560 --> 01:23:58.180
ganz so verstören wie uns.

01:23:58.860 --> 01:24:00.300
Und schreibt beim nächsten Mal wieder ein.

01:24:01.300 --> 01:24:02.600
Und ja, wie gesagt, schreibt uns gerne

01:24:02.600 --> 01:24:04.100
alles, was euch beschäftigt an

01:24:04.100 --> 01:24:05.380
hallo-at-pyson-podcast.de

01:24:05.380 --> 01:24:07.120
Bis zum nächsten Mal.

01:24:07.520 --> 01:24:09.540
Bis dann. Tschüss.
