WEBVTT

00:00:00.000 --> 00:00:06.900
Hallo liebe Hörerinnen und Hörer, willkommen beim Python Podcast. Wisst ihr, welche Episode wir heute haben? 42, ist das nicht schön?

00:00:07.760 --> 00:00:07.960
Tja.

00:00:08.480 --> 00:00:12.700
Das hättet ihr wissen müssen, das ist ja die Antwort auf alles. Bei uns ist natürlich wieder Jochen. Hi Jochen.

00:00:13.160 --> 00:00:13.720
Hallo Dominik.

00:00:13.980 --> 00:00:15.160
Johannes ist wieder da. Hi Johannes.

00:00:15.720 --> 00:00:16.300
Hallo zusammen.

00:00:16.360 --> 00:00:18.460
Ja, ich bin Dominik. Und wir haben den Martin heute zu Gast.

00:00:18.700 --> 00:00:18.880
Jo.

00:00:19.020 --> 00:00:19.240
Hallo.

00:00:19.420 --> 00:00:19.960
Hallo Martin.

00:00:20.180 --> 00:00:20.380
Hallo.

00:00:21.060 --> 00:00:26.040
Schön, dass du auch dabei bist. Was machen wir denn heute? Die Folge heißt Laser des Todes.

00:00:26.840 --> 00:00:27.240
Todeslaser?

00:00:27.460 --> 00:00:28.320
Todeslaser mit Python.

00:00:28.320 --> 00:00:29.660
Todesstrahlen? Ich weiß nicht.

00:00:29.660 --> 00:00:30.800
Warum heißt das denn so, Martin?

00:00:32.300 --> 00:00:38.740
Ja, ich wollte ein bisschen erzählen, wie wir, ich arbeite in Hamburg an dem Röntgenlaser XFEL

00:00:38.740 --> 00:00:44.040
und wie wir das Ganze dort mit Python steuern und wie wir dort unsere Experimente machen.

00:00:44.120 --> 00:00:44.840
Klingt interessant, ja.

00:00:45.080 --> 00:00:48.780
Und ja, also wenn wir Python nicht hätten, wäre er tot, ist er Todeslaser.

00:00:52.240 --> 00:00:52.820
Ja, sehr gut.

00:00:52.840 --> 00:00:53.340
Der tote Laser.

00:00:54.080 --> 00:00:54.480
Genau.

00:00:54.760 --> 00:00:56.980
Ja, das machen wir heute.

00:00:56.980 --> 00:01:01.240
Wir reden ein bisschen darüber, was Martin da so in Hamburg mit dem Laser macht und was man noch so mit Python machen kann.

00:01:01.700 --> 00:01:05.980
Und wir wollen euch ein bisschen darüber erzählen, was wir von euren Fragen halten.

00:01:06.620 --> 00:01:12.640
Und was wir da am interessantesten fanden war so, dass ihr fragtet, wie macht man das denn überhaupt, dass man sich auf dem Laufenden hält.

00:01:13.380 --> 00:01:15.100
Da wollen wir einfach so ein bisschen drüber quatschen.

00:01:16.200 --> 00:01:18.460
Ja, dann fangen wir doch mit den News an, oder?

00:01:19.320 --> 00:01:21.640
Ja, alles klar. Was haben wir denn für News?

00:01:21.820 --> 00:01:23.620
Johannes hatte irgendwas ganz Interessantes, habe ich gehört.

00:01:23.620 --> 00:01:28.860
Nix, was man öffentlich sagen kann

00:01:28.860 --> 00:01:29.400
Achso

00:01:29.400 --> 00:01:34.300
Wir nehmen die Folge auch schon zum mehrfachsten Mal wieder auf

00:01:34.300 --> 00:01:36.080
Also eigentlich wollten wir euch auch mit Listen beglücken

00:01:36.080 --> 00:01:37.140
Aber das werden wir dann mal anders machen

00:01:37.140 --> 00:01:41.960
Ihr hört vielleicht, Johannes hört sich heute besonders toll an

00:01:41.960 --> 00:01:44.380
Ja, ich habe sogar einen Lob vom Jochen erhalten

00:01:44.380 --> 00:01:48.600
Es ist höchst ungewöhnlich, dass die Tonqualität vom Jochen gelobt wird

00:01:48.600 --> 00:01:50.500
Ja, es ist erstaunlich

00:01:50.500 --> 00:01:52.580
Aber wenn man Geld ausgibt, kann man Probleme lösen

00:01:52.580 --> 00:01:54.220
ist sehr überraschend.

00:01:54.220 --> 00:01:56.540
Ja, man kann auch Probleme lösen, wenn man kein Geld ausgibt, aber manchmal

00:01:56.540 --> 00:01:58.560
braucht man dann länger und ist nerviger und so.

00:01:58.860 --> 00:02:00.760
Ja, aber Sachen basteln

00:02:00.760 --> 00:02:02.400
und Audio-Hardware ist auch nicht meine

00:02:02.400 --> 00:02:03.300
Expertise und so.

00:02:04.400 --> 00:02:06.540
Der Geldweg ist immer

00:02:06.540 --> 00:02:07.160
eine Möglichkeit.

00:02:08.340 --> 00:02:10.120
Wo ist denn News Johannes? Hat er ein neues Mikrofon?

00:02:10.200 --> 00:02:10.900
Haben wir noch was anderes?

00:02:13.380 --> 00:02:14.820
Jemand war auf der PyCon, habe ich gehört.

00:02:15.700 --> 00:02:16.780
Ja, richtig. Ich dachte ja eigentlich,

00:02:16.780 --> 00:02:18.720
das hatte ich beim letzten Mal erzählt, dass ich da gar nicht hinfahre.

00:02:18.800 --> 00:02:20.540
Schade, schade, weil irgendwie alle Tickets

00:02:20.540 --> 00:02:22.320
schon weiter und so. Und dann hat es sich aber doch noch ergeben,

00:02:22.320 --> 00:02:24.360
und dass sich irgendwie da Tickets auftun

00:02:24.360 --> 00:02:25.320
und

00:02:25.320 --> 00:02:28.300
dann konnte ich da doch noch hin, kurzfristig. Und ich dachte auch,

00:02:28.320 --> 00:02:29.660
ich hätte keine Zeit, aber ich hatte dann doch Zeit.

00:02:30.520 --> 00:02:31.980
Ja, und das war sehr nett. Also

00:02:31.980 --> 00:02:34.120
war jetzt die erste, ich war das

00:02:34.120 --> 00:02:36.440
letzte Mal auf der PyCon 2019,

00:02:36.620 --> 00:02:37.800
also vor zweieinhalb Jahren und

00:02:37.800 --> 00:02:40.180
ja, war sozusagen die erste Konferenz dann

00:02:40.180 --> 00:02:41.860
wieder nach all der Zeit.

00:02:42.060 --> 00:02:43.900
Also man konnte niemanden erkennen, weil die da noch

00:02:43.900 --> 00:02:46.180
getan war. Ja, weil Maskenpflicht

00:02:46.940 --> 00:02:47.340
und so.

00:02:48.100 --> 00:02:50.140
Und ich hatte, genau, das hatte auch jemand von euch

00:02:50.140 --> 00:02:51.600
schon irgendwie mal

00:02:51.600 --> 00:02:57.960
erzählt, dann hätte man sicher auch das eigene Gesicht irgendwie aufs T-Shirt drucken können oder so, das wäre praktisch gewesen, dann hätte man Leute erkennen können. Oder direkt auf die Maske.

00:02:58.280 --> 00:03:01.960
Ja, oder auf die Maske, genau. Bin ich nicht drauf gekommen, aber das wäre natürlich gut gewesen.

00:03:02.000 --> 00:03:03.260
Die guten Ideen hatten wir immer erst hinterher.

00:03:03.700 --> 00:03:13.200
Ja, auf jeden Fall genau, das mit dem Maskenmann natürlich so ein bisschen, das hat sich noch nicht so angefühlt wie immer, ehrlich gesagt, aber es war auf jeden Fall schon mal ein Schritt in die richtige Richtung.

00:03:13.380 --> 00:03:17.420
Und ich war jetzt letztens auch auf der Beyond Teller-Rand, das ist so eine Webentwicklungskonferenz.

00:03:18.140 --> 00:03:19.220
Ganz viel Design-Zeugs.

00:03:19.220 --> 00:03:21.080
und ganz viel Design und nicht nur

00:03:21.080 --> 00:03:23.700
Computerkram, sondern halt auch

00:03:23.700 --> 00:03:24.360
Kunst und so.

00:03:25.260 --> 00:03:26.860
Und so ein bisschen die Hippeszene, die sich

00:03:26.860 --> 00:03:27.880
dafür hält.

00:03:28.580 --> 00:03:31.780
Ja, die Hippeszene, das könnte man sagen.

00:03:32.020 --> 00:03:33.820
Meine coolen Freunde, die gehen dahin.

00:03:35.420 --> 00:03:37.880
Ich war da nur einmal

00:03:37.880 --> 00:03:39.220
und dann war es mir zu cool.

00:03:39.220 --> 00:03:39.700
Ja.

00:03:41.500 --> 00:03:42.860
Aber ja genau, also

00:03:42.860 --> 00:03:45.300
die ganze

00:03:45.300 --> 00:03:47.400
Atmosphäre da ist halt schon so ein bisschen

00:03:47.400 --> 00:03:50.720
Der Vibe ist einfach anders

00:03:50.720 --> 00:03:52.460
und ist angenehmer, ehrlich gesagt.

00:03:52.560 --> 00:03:54.260
Und da haben die Leute dann schon keine Masken mehr getragen,

00:03:54.360 --> 00:03:55.640
was möglicherweise daran lag, dass

00:03:55.640 --> 00:03:57.880
die ganzen Regeln dann halt auch

00:03:57.880 --> 00:03:59.180
irgendwann obsolet wurden.

00:04:00.040 --> 00:04:02.120
Aber auch, dass die Räumlichkeiten einfach besser geeignet waren,

00:04:02.200 --> 00:04:03.400
weil viel mehr Raum und so.

00:04:03.460 --> 00:04:04.900
Aber es waren auch ein paar interessante Talks, habe ich gesehen.

00:04:05.040 --> 00:04:07.980
Sehr interessante Leute, auch international, die angeflogen sind.

00:04:08.140 --> 00:04:10.200
Ist eigentlich immer so. Das ist auch komisch.

00:04:10.340 --> 00:04:11.080
Das weiß keiner so.

00:04:11.560 --> 00:04:14.100
Ich weiß nicht, ob die Leute das wissen, aber das ist tatsächlich eine der

00:04:14.100 --> 00:04:15.720
besten

00:04:15.720 --> 00:04:18.700
Webkonferenzen so weltweit

00:04:18.700 --> 00:04:20.220
und die findet einfach so in Düsseldorf statt,

00:04:20.700 --> 00:04:22.260
in so einem alten Theater. Oh, wie freundlich.

00:04:22.600 --> 00:04:22.700
Ja.

00:04:23.960 --> 00:04:26.240
Kann man die Videos inzwischen ansehen?

00:04:26.660 --> 00:04:28.740
Ja, ja. Ich weiß nicht, ob man die aus den Vorjahren immer sehen konnte,

00:04:28.840 --> 00:04:30.040
aber gibt es das inzwischen? Doch,

00:04:30.440 --> 00:04:32.180
nicht mehr auf Vimeo, weil

00:04:32.180 --> 00:04:34.780
Vimeo hat gepivotet

00:04:34.780 --> 00:04:36.440
und macht was anderes jetzt.

00:04:37.380 --> 00:04:37.740
Aber

00:04:37.740 --> 00:04:40.300
die sind jetzt auf YouTube, was natürlich nicht so richtig...

00:04:40.300 --> 00:04:41.020
Das ist aber uncool.

00:04:42.040 --> 00:04:44.500
YouTube ist ein bisschen uncool, hat nicht den richtigen Vibe, das stimmt schon.

00:04:44.500 --> 00:04:45.560
Vimeo war da besser, aber

00:04:45.560 --> 00:04:48.660
die gibt es alle auf YouTube.

00:04:51.200 --> 00:04:51.980
Ja, insofern kann man sich

00:04:51.980 --> 00:04:54.040
einfach mal reingucken und dann

00:04:54.040 --> 00:04:55.640
sieht man, was da ist.

00:04:55.780 --> 00:04:58.140
Du wolltest noch irgendwas sagen, irgendeine Keynote fandst du total super, hast du gesagt.

00:04:58.800 --> 00:05:00.580
Und du wolltest noch was erzählen

00:05:00.580 --> 00:05:02.580
zu den Talks, die du auf der PyCon ziemlich gut fandest.

00:05:02.900 --> 00:05:03.920
Und von den Trends erzählen.

00:05:04.320 --> 00:05:06.420
Und zum Beispiel gab es sowas wie PyScript, habe ich gehört,

00:05:06.500 --> 00:05:08.120
wird gerade so ein bisschen durch die...

00:05:08.120 --> 00:05:10.440
Ja, wobei das war jetzt dann eher PyCon US,

00:05:10.640 --> 00:05:12.300
glaube ich, da war das ein großes Thema, PyScript

00:05:12.300 --> 00:05:13.540
und so über Pyodid.

00:05:13.540 --> 00:05:15.980
aber... Python US fand ich übrigens auch.

00:05:16.800 --> 00:05:17.720
Ja, die war auch, genau.

00:05:17.920 --> 00:05:19.800
Da habe ich aber nicht so wahnsinnig viel mitbekommen,

00:05:19.980 --> 00:05:22.000
außer irgendwie das, was man halt über Twitter so mitbekommt.

00:05:22.840 --> 00:05:23.740
Oh, apropos Cons.

00:05:24.160 --> 00:05:25.760
Die DjangoCon ist auch

00:05:25.760 --> 00:05:27.060
im Herbst und für die

00:05:27.060 --> 00:05:29.040
Europython im Sommer in Dublin,

00:05:29.540 --> 00:05:31.440
da gibt es noch Vouchers, wenn ihr bei uns in der Gruppe seid.

00:05:32.220 --> 00:05:33.080
Ja, richtig, das stimmt.

00:05:34.160 --> 00:05:35.760
Für die DjangoCon kann man noch

00:05:35.760 --> 00:05:37.860
ganz kurz Vorträge einreichen.

00:05:38.020 --> 00:05:39.720
Also wer noch einen Vortrag bei der DjangoCon machen möchte,

00:05:39.720 --> 00:05:40.820
hat jetzt noch die Gelegenheit dazu.

00:05:40.880 --> 00:05:42.180
Ja, ich glaube, bis zum 31. Mai.

00:05:42.180 --> 00:05:43.940
Wir müssen uns ein bisschen beeilen mit der Veröffentlichung

00:05:43.940 --> 00:05:44.720
das heißt noch vorher

00:05:44.720 --> 00:05:45.800
Aber ja

00:05:45.800 --> 00:05:48.820
Das zählt

00:05:48.820 --> 00:05:51.360
Jochen, finde ich ja cool, wir treffen uns dann da

00:05:51.360 --> 00:05:53.840
Ja, eigentlich schon, ich habe es bloß bisher noch nicht

00:05:53.840 --> 00:05:55.120
geschafft eine Unterkunft zu finden

00:05:55.120 --> 00:05:57.280
Also meines direkt in der Idee von der Brewdog Brewery

00:05:57.280 --> 00:06:00.180
Ich weiß, es gibt da volle Unterkünfte

00:06:00.180 --> 00:06:01.840
und so, aber entweder sind die halt unbezahlbar

00:06:01.840 --> 00:06:03.960
oder halt nicht so richtig für mehrere

00:06:03.960 --> 00:06:06.080
Leute geeignet oder halt nicht verfügbar in dem Zeitraum

00:06:06.080 --> 00:06:07.300
und das ist alles irgendwie ganz schrecklich

00:06:07.300 --> 00:06:09.180
Ich habe schon ein Teil gefunden, das relativ entspannt

00:06:09.180 --> 00:06:11.540
gerade aufgemacht hat, da gab es noch gar keine

00:06:11.540 --> 00:06:13.780
hat erst letzte Woche eröffnet oder so.

00:06:14.220 --> 00:06:15.420
Oh, da müssen wir...

00:06:15.420 --> 00:06:17.580
Ja, da bewertet man erstmal so,

00:06:17.640 --> 00:06:19.780
da fehlen noch die Klobürsten, aber ich glaube,

00:06:19.860 --> 00:06:21.440
bis Juli haben das hinbekommen.

00:06:21.720 --> 00:06:23.620
Okay, das ist interessant, da muss ich mal gucken.

00:06:24.760 --> 00:06:25.920
Ja, also wenn sich dieses Problem

00:06:25.920 --> 00:06:27.680
lösen lässt, dann werde ich da auch hinfahren.

00:06:29.340 --> 00:06:30.340
Ja, genau,

00:06:30.460 --> 00:06:31.980
Konferenzen, achso, was wollte ich...

00:06:31.980 --> 00:06:34.100
Ich glaube, wir machen am besten

00:06:34.100 --> 00:06:36.140
nochmal mit Christian,

00:06:36.140 --> 00:06:37.940
wollten wir eigentlich noch eine Episode machen zu den ganzen

00:06:37.940 --> 00:06:39.760
Talks im Einzelnen und sowas,

00:06:39.760 --> 00:06:41.500
zum Background zu PyCon.

00:06:43.120 --> 00:06:45.000
Für mich tatsächlich der beste

00:06:45.000 --> 00:06:46.820
oder interessanteste Talk jetzt

00:06:46.820 --> 00:06:48.900
auf der PyCon.de war halt der

00:06:48.900 --> 00:06:51.040
von Christian Heimes zum Thema

00:06:51.040 --> 00:06:53.620
Python

00:06:53.620 --> 00:06:55.020
nach WebAssembly

00:06:55.020 --> 00:06:57.020
kompilieren und dann halt Python 3.11

00:06:57.020 --> 00:06:58.220
im Browser laufen lassen.

00:06:59.500 --> 00:07:00.540
Vielleicht hören wir da auch noch mehr von.

00:07:00.540 --> 00:07:01.300
Ja, genau.

00:07:03.040 --> 00:07:04.340
Und das war schon

00:07:04.340 --> 00:07:06.220
beeindruckend, dass das geklappt hat.

00:07:06.620 --> 00:07:08.500
Und ja, da ging es ein bisschen um den Hintergrund.

00:07:08.500 --> 00:07:10.360
und das war echt super. Ansonsten

00:07:10.360 --> 00:07:10.980
ja, was

00:07:10.980 --> 00:07:13.640
ich, den

00:07:13.640 --> 00:07:16.320
einen Talk fand ich, den von Stefan Benel

00:07:16.320 --> 00:07:17.820
zum Thema Zeiten,

00:07:18.340 --> 00:07:20.240
da hatten wir ja auch schon mal, das ist jetzt 20 Jahre geworden, das Projekt

00:07:20.240 --> 00:07:22.180
und den fand ich auch super.

00:07:22.580 --> 00:07:23.460
Ich fand den

00:07:23.460 --> 00:07:26.420
von meinen Ex-Kollegen bei

00:07:26.420 --> 00:07:28.120
Billiger super dazu.

00:07:28.440 --> 00:07:30.240
Wir machen mal Live-Programming, ein ORM

00:07:30.240 --> 00:07:30.640
in Python.

00:07:32.780 --> 00:07:34.440
Ich fand den von Idealo,

00:07:34.500 --> 00:07:36.300
weil er sich halt mit dem Thema, mit dem

00:07:36.300 --> 00:07:37.800
ich mich auch schon lange, oder früher

00:07:37.800 --> 00:07:40.500
früher in einer anderen Zeit, wie lange man beschäftigt hat.

00:07:41.840 --> 00:07:44.160
Das war so richtig so Blast from the past

00:07:44.160 --> 00:07:45.460
Vibes da und

00:07:45.460 --> 00:07:48.020
die machen das jetzt gerade, was wir da

00:07:48.020 --> 00:07:50.060
früher schon mal gemacht hatten und machen das super

00:07:50.060 --> 00:07:50.940
und es war sehr interessant.

00:07:52.400 --> 00:07:53.880
Das müsste alles in die Schonungsstellen,

00:07:53.960 --> 00:07:55.660
dann kann man sich das alles nämlich mal anschauen, wenn man möchte.

00:07:55.780 --> 00:07:57.940
Ja, ich glaube bei dem Vortrag, da sind die Slides leider

00:07:57.940 --> 00:08:00.000
nicht da und auch der ist nicht per

00:08:00.000 --> 00:08:02.140
Video verfügbar insofern, weiß ich nicht genau

00:08:02.140 --> 00:08:02.800
warum, aber

00:08:02.800 --> 00:08:05.400
genau.

00:08:05.400 --> 00:08:07.380
Da müsste man da eigentlich noch mal eine

00:08:07.380 --> 00:08:08.780
kürzere Zusammenfassung zu machen, aber

00:08:08.780 --> 00:08:11.720
vielleicht kriegen wir da auch noch mal

00:08:11.720 --> 00:08:13.540
die irgendwie dazu mit uns

00:08:13.540 --> 00:08:15.360
zusammen eine Sendung zu machen oder so. Müssen wir mal schauen.

00:08:16.780 --> 00:08:16.980
Ja,

00:08:17.260 --> 00:08:19.220
genau, ja.

00:08:19.780 --> 00:08:21.340
PyScript ist halt auch ein interessantes Thema,

00:08:21.400 --> 00:08:23.620
ist halt so ähnlich, aber PyScript ist halt ein bisschen anders insofern

00:08:23.620 --> 00:08:25.340
als das über PyUdit funktioniert

00:08:25.340 --> 00:08:26.820
und das ist halt dann Python 3.10.

00:08:27.240 --> 00:08:29.320
Und geht aber auch über WebAssembly rein

00:08:29.320 --> 00:08:31.380
in den Browser und der Browser lädt

00:08:31.380 --> 00:08:33.160
dann irgendwie Python-Pakete von

00:08:33.160 --> 00:08:35.120
70 MB oder sowas und kann dann

00:08:35.120 --> 00:08:37.520
und REPL aufmachen im Browser

00:08:37.520 --> 00:08:39.720
direkt. Ja, das geht mit

00:08:39.720 --> 00:08:41.860
Python 3.11

00:08:41.860 --> 00:08:43.540
nachher ein bisschen wie auch, aber

00:08:43.540 --> 00:08:45.380
da geht halt tatsächlich sowas wie,

00:08:45.560 --> 00:08:47.600
man macht halt ein Jupyter-Notebook

00:08:47.600 --> 00:08:49.080
auf. Das ist halt komplett

00:08:49.080 --> 00:08:51.520
also auch mit, auch das Backend läuft dann halt

00:08:51.520 --> 00:08:53.340
im Browser. Ja, das ist schon ganz nett.

00:08:53.340 --> 00:08:54.800
Jupyter-Light nennt sich da, das ist ziemlich cool.

00:08:55.380 --> 00:08:58.020
Da kann man auf jeden Fall gerade für diese ganzen Datenverarbeitungsgeschichten,

00:08:58.120 --> 00:08:59.100
wenn man da ohne große

00:08:59.100 --> 00:09:01.500
Def-Enviaments was bauen will von irgendeinem Gerät,

00:09:02.020 --> 00:09:02.820
recht weit kommen.

00:09:02.820 --> 00:09:05.900
Man hat halt erstmal diesen ganzen Packaging-Schmerz

00:09:05.900 --> 00:09:07.540
nicht mehr so, man muss kein Python installieren

00:09:07.540 --> 00:09:09.360
Also wenn einem dann jemand fragt, ja gut,

00:09:09.540 --> 00:09:11.720
dieses Jupyter, voll cool, wie installiere ich denn jetzt Python

00:09:11.720 --> 00:09:13.020
auf meinem Windows oder so?

00:09:16.020 --> 00:09:17.840
Ja, es artet mal ein bisschen aus

00:09:17.840 --> 00:09:20.080
Ja, ist ein bisschen

00:09:20.080 --> 00:09:20.880
schwierig, genau

00:09:20.880 --> 00:09:23.540
Ja, insbesondere dann, wenn schon welche da sind

00:09:23.540 --> 00:09:25.440
und dass dann irgendwelche Konflikte mit irgendwelchen Dingen

00:09:25.440 --> 00:09:27.120
die so laufen sollen, ist das manchmal so ein bisschen

00:09:27.120 --> 00:09:29.560
ein Schmerz, aber damit haben wir jetzt

00:09:29.560 --> 00:09:31.520
vielleicht weniger zu tun und PyScript ist so recht

00:09:31.520 --> 00:09:33.720
einfach auch zu bedienen. Du kannst einfach sagen PySkript und dann schreibst du

00:09:33.720 --> 00:09:35.560
Python rein in den Browser und dann...

00:09:35.560 --> 00:09:37.880
Aber irgend sowas gab es doch früher auch

00:09:37.880 --> 00:09:39.100
schon mal. Es gab auch irgendwelche

00:09:39.100 --> 00:09:40.960
für Python im Browser.

00:09:42.020 --> 00:09:43.620
Du wirst mir jetzt noch erzählen, wenn dir das war. Da hatten wir

00:09:43.620 --> 00:09:44.520
das letzte Mal drüber gesprochen.

00:09:45.080 --> 00:09:47.600
Wie ist das denn? PySkript? Ja, aber ich habe es natürlich nicht nachgeguckt.

00:09:47.780 --> 00:09:49.380
Das wäre jetzt einfach...

00:09:49.380 --> 00:09:51.340
Ich weiß es auch nicht mehr. Ich weiß nur auch,

00:09:51.420 --> 00:09:53.640
es gab sowas schon mal und das aus irgendwelchen Gründen

00:09:53.640 --> 00:09:55.600
ist das wieder versandet oder so.

00:09:55.700 --> 00:09:57.640
Da war nicht so... Aber ich weiß auch nicht

00:09:57.640 --> 00:09:59.560
genug darüber, um irgendwas dazu sagen zu können.

00:09:59.660 --> 00:10:01.240
Ich habe gesagt, warum ich angefangen zu reden. Das war doof.

00:10:01.520 --> 00:10:04.840
Ich weiß, dass es mal so eine Lösung gab

00:10:04.840 --> 00:10:06.820
für, also so eine Universität

00:10:06.820 --> 00:10:08.700
hat man das gemacht, um Leuten Python

00:10:08.700 --> 00:10:10.780
beizubringen, dass man halt irgendwie

00:10:10.780 --> 00:10:12.840
so einen kleinen Python-Interpreter

00:10:12.840 --> 00:10:14.980
im Browser hatte, aber das war halt kein vollständiger

00:10:14.980 --> 00:10:16.820
Es war keine Art Micro-Python

00:10:16.820 --> 00:10:18.280
mit einem verringerten

00:10:18.280 --> 00:10:20.840
Bild-Ins und nicht so viel

00:10:20.840 --> 00:10:22.800
Batterien dabei. Und der war halt roh

00:10:22.800 --> 00:10:24.780
in JavaScript programmiert, was dann auch zu

00:10:24.780 --> 00:10:26.320
vielen schönen Dingen geführt hat, aber

00:10:26.320 --> 00:10:28.660
zum Ausprobieren ist das

00:10:28.660 --> 00:10:30.700
natürlich eine schöne Sache gewesen. Oh, damit kennt sich ja auch

00:10:30.700 --> 00:11:00.680
besonders gut aus.

00:11:00.700 --> 00:11:03.920
Das wird sicher noch interessant, da machen wir bestimmt noch was zu

00:11:03.920 --> 00:11:06.100
Funktioniert denn er endlich jetzt mit Django 4?

00:11:06.940 --> 00:11:07.460
Ja, schon lange

00:11:07.460 --> 00:11:08.740
Ja, gut auch

00:11:08.740 --> 00:11:12.420
Python 3.11

00:11:12.420 --> 00:11:13.740
Auf Python 3.11

00:11:13.740 --> 00:11:15.820
gibt es ja inzwischen Betas

00:11:15.820 --> 00:11:17.580
und die Performance-Vergleiche sehen

00:11:17.580 --> 00:11:19.700
sehr gut aus. Wie viel schneller ist das?

00:11:19.800 --> 00:11:21.160
20% habe ich gehört, stimmt das?

00:11:21.940 --> 00:11:23.740
Ja, so wie von 3.9 auf 3.10

00:11:23.740 --> 00:11:25.820
einfach nochmal zu viel schneller geworden

00:11:25.820 --> 00:11:26.940
Schön. Sehr gut, sehr gut

00:11:26.940 --> 00:11:29.920
Das ist schon nicht schlecht. Es gibt auch jetzt auch Diskussionen

00:11:29.920 --> 00:11:31.920
darüber, ob man den Gil jetzt nicht einfach mal

00:11:31.920 --> 00:11:33.540
abschafft oder so eine Alternativversion, oder?

00:11:34.700 --> 00:11:35.880
Ja, da gibt's,

00:11:35.980 --> 00:11:37.760
also da hat einer bei Facebook,

00:11:37.940 --> 00:11:39.460
ich hab den Namen vergessen, der hat da irgendwie

00:11:39.460 --> 00:11:42.000
immer und lange Diskussionen darüber.

00:11:42.480 --> 00:11:43.600
Also es gibt diese alten,

00:11:44.860 --> 00:11:45.920
dieses alte Projekt

00:11:45.920 --> 00:11:47.860
von, wie heißt der, Hastings, ich weiß nicht,

00:11:47.940 --> 00:11:50.160
diese Gilectomy-Geschichte. Unladen Swallow.

00:11:50.700 --> 00:11:51.860
Ja, ist das

00:11:51.860 --> 00:11:53.720
das Gleiche? Ich weiß gar nicht. Ich weiß nicht.

00:11:53.920 --> 00:11:55.260
Aber auf jeden Fall gibt's das auch.

00:11:55.660 --> 00:11:57.840
Ist auch nix geworden. Nee, aber der

00:11:57.840 --> 00:11:59.680
Ansatz jetzt, also, wie heißt der, Sam

00:11:59.680 --> 00:12:01.140
Ich hab den Namen vergessen.

00:12:01.940 --> 00:12:03.860
Stackels Python gibt es auch schon seit Ewigkeiten,

00:12:03.960 --> 00:12:04.840
was auch niemand benutzt.

00:12:05.280 --> 00:12:07.020
Oh, das weiß ich nicht. Soweit ich weiß,

00:12:07.960 --> 00:12:09.800
wie heißt das? Eve Online oder so

00:12:09.800 --> 00:12:10.420
benutzt Stackels.

00:12:11.220 --> 00:12:13.620
Ah, echt? Ja, dann schau mal,

00:12:13.680 --> 00:12:15.040
Johannes. Aber die sind noch auf Python 2.

00:12:15.040 --> 00:12:17.260
Jochen hat gerade was von einem Computerspiel erzählt, wo er

00:12:17.260 --> 00:12:19.200
die Technologie kennt und das war gegen dich.

00:12:19.400 --> 00:12:19.500
Aha.

00:12:21.800 --> 00:12:23.780
Maler ist nämlich Johannes, der sich mit den Spielen auskennt.

00:12:25.920 --> 00:12:27.440
Ja, ich kenn mich mit den Spielen aus,

00:12:27.480 --> 00:12:28.360
nicht mit der Technik dahinter.

00:12:29.680 --> 00:12:29.980
Sehr gut.

00:12:30.160 --> 00:12:31.180
So gut aussehen, ja.

00:12:32.480 --> 00:12:34.880
Nee, aber der jetzige Ansatz ist auch so,

00:12:35.000 --> 00:12:35.980
dass da viele Leute gesagt haben,

00:12:36.040 --> 00:12:36.600
die drauf geguckt haben,

00:12:36.680 --> 00:12:37.740
oh, der sieht so aus,

00:12:37.780 --> 00:12:38.940
als ob das wirklich funktionieren könnte.

00:12:39.680 --> 00:12:40.920
Insofern, ja, könnte sein,

00:12:41.020 --> 00:12:42.200
dass es, also bis es soweit ist,

00:12:42.240 --> 00:12:43.560
wird es natürlich noch eine ganze Zeit lang dauern.

00:12:44.320 --> 00:12:45.920
Aber ja, allein,

00:12:46.020 --> 00:12:47.520
dass jemand da so viel Arbeit reingesteckt hat,

00:12:47.680 --> 00:12:49.400
das ist auch schon lange nicht mehr passiert.

00:12:49.680 --> 00:12:51.100
Auf der anderen Seite, ehrlich gesagt,

00:12:51.220 --> 00:12:53.200
also meine Position dazu ist ja so,

00:12:53.400 --> 00:12:55.720
ja, so wahnsinnig wichtig ist das jetzt halt nicht,

00:12:55.860 --> 00:12:57.320
weil ich meine,

00:12:57.320 --> 00:13:00.260
Das wäre ja auch nochmal eine interessante Frage

00:13:00.260 --> 00:13:02.320
Ich weiß nicht, ob euch irgendwie eine Situation

00:13:02.320 --> 00:13:04.320
oder ich habe da Schwierigkeiten, ich weiß nicht

00:13:04.320 --> 00:13:06.260
dass man tatsächlich irgendwie I.O.

00:13:06.340 --> 00:13:07.940
multiplexen will und gleichzeitig ganz viel

00:13:07.940 --> 00:13:10.320
CPU braucht, weil dann wäre es gut

00:13:10.320 --> 00:13:11.840
Gil irgendwie loszuwerden

00:13:11.840 --> 00:13:13.600
aber ich habe die Situation nicht so oft

00:13:13.600 --> 00:13:15.620
Also das Projekt ist übrigens NoGil

00:13:15.620 --> 00:13:17.820
und da gab es einen Blogartikel zu

00:13:17.820 --> 00:13:20.020
bei der PSF Blog

00:13:20.020 --> 00:13:21.520
Ah ok, kann sein

00:13:21.520 --> 00:13:22.580
NoGil

00:13:22.580 --> 00:13:26.040
Man darf auch nicht vergessen, dass es ganz viele

00:13:26.040 --> 00:13:28.060
andere Sprachen, die so

00:13:28.060 --> 00:13:29.960
interpretiert sind, auch einen Gill haben, der

00:13:29.960 --> 00:13:31.700
aber längst nicht so viel diskutiert wird,

00:13:31.880 --> 00:13:34.140
nicht so viel irgendwie im Weg

00:13:34.140 --> 00:13:34.460
steht.

00:13:35.480 --> 00:13:38.140
Es soll tatsächlich einen Compiler-Flag geben

00:13:38.140 --> 00:13:39.880
in Python 3.12, wo man

00:13:39.880 --> 00:13:40.880
den Gill mit abstellen kann.

00:13:42.620 --> 00:13:44.000
Du kannst auch selber

00:13:44.000 --> 00:13:45.580
den freigeben,

00:13:45.780 --> 00:13:47.020
das kannst du auch machen.

00:13:47.800 --> 00:13:48.860
Gut, du musst dann halt

00:13:48.860 --> 00:13:51.920
schon auch eine C-Extension schreiben,

00:13:52.080 --> 00:13:54.020
aber geht schon. Und wenn

00:13:54.020 --> 00:13:55.760
du sowas benutzt wie NumPy oder so,

00:13:55.760 --> 00:13:57.260
und dann machen das natürlich alle.

00:13:57.680 --> 00:13:59.800
Es werden sowieso auch immer alle Prozessoren benutzt.

00:14:00.100 --> 00:14:01.940
Also hier steht, dass das das einzige Feature wäre,

00:14:02.020 --> 00:14:03.680
was wirklich Concurrency

00:14:03.680 --> 00:14:06.040
between Threads verhindern würde.

00:14:07.280 --> 00:14:07.860
Das verstehe ich

00:14:07.860 --> 00:14:09.280
nicht sofort. Ja, also Concurrency,

00:14:09.760 --> 00:14:11.560
das ist halt die Frage, also ich glaube,

00:14:11.620 --> 00:14:13.820
ich verstehe, was das meint, aber das bedeutet halt,

00:14:14.140 --> 00:14:15.580
was momentan nicht geht, ist,

00:14:15.760 --> 00:14:17.200
dass du sozusagen

00:14:17.200 --> 00:14:19.740
mit mehreren

00:14:19.740 --> 00:14:21.860
Threads mehr als eine CPU benutzt

00:14:21.860 --> 00:14:23.200
gleichzeitig. Das geht nicht.

00:14:24.660 --> 00:14:25.580
Also eine Thread pro

00:14:25.580 --> 00:14:26.840
CPU. Ne.

00:14:27.620 --> 00:14:29.120
Alle Threads eine CPU. Aha.

00:14:29.660 --> 00:14:31.700
Genau. Das ist halt

00:14:31.700 --> 00:14:33.600
das, was der Gil macht. Jeder Python-Interpreter kann

00:14:33.600 --> 00:14:35.020
nur eine CPU haben. Ja. Oder?

00:14:35.640 --> 00:14:37.640
Okay, also muss ich mehrere, ja, muss ich den

00:14:37.640 --> 00:14:39.880
Interpreter multiplexen. Musst du Multiprocessing

00:14:39.880 --> 00:14:41.120
machen, dann ist das dann auch wieder Mist.

00:14:41.820 --> 00:14:43.140
Ja, oder du kannst halt, wenn du halt

00:14:43.140 --> 00:14:45.500
unten drunter sitzt, wenn du sowas wie ein Handpipel bist oder so

00:14:45.500 --> 00:14:47.640
und da hat dir gerade jemand gesagt, multipliziere

00:14:47.640 --> 00:14:49.480
mal diese beiden Matrizen, dann kannst du auch irgendwie

00:14:49.480 --> 00:14:51.020
sagen, okay, ich weiß, was ich tue,

00:14:51.560 --> 00:14:53.080
Gil gebe ich frei und

00:14:53.080 --> 00:14:55.380
dann. Und auch diese ganzen Netzwerksachen, die

00:14:55.380 --> 00:14:57.280
geben den GIL üblicherweise auch immer wieder frei.

00:14:57.400 --> 00:14:59.360
Also wenn du irgendwie viele I.O. machst mit

00:14:59.360 --> 00:15:01.320
Select Calls oder sonst irgendwelchen Sachen, hast du ja auch

00:15:01.320 --> 00:15:03.740
keinen GIL in der Anzahl. Also wartest du nicht immer auf

00:15:03.740 --> 00:15:05.440
eine, sondern du wartest schon

00:15:05.440 --> 00:15:07.160
auf alle gleichzeitig. Aber du kannst dann, wenn

00:15:07.160 --> 00:15:08.940
Pakete kommen, halt immer nur eins bearbeiten.

00:15:09.700 --> 00:15:09.820
Ja.

00:15:11.200 --> 00:15:13.220
Na gut.

00:15:13.640 --> 00:15:15.380
Dann bin ich mal gespannt, was es da in 3.11

00:15:15.380 --> 00:15:17.420
und 3.12 und 3.13 und 3.14

00:15:17.420 --> 00:15:18.060
und so weiter

00:15:18.060 --> 00:15:21.340
geben wird. Spannend.

00:15:21.620 --> 00:15:23.320
Ja. Okay, dann sind wir mit den

00:15:23.320 --> 00:15:23.760
News durch.

00:15:23.760 --> 00:15:26.000
haben wir nicht geschafft, vielen Dank

00:15:26.000 --> 00:15:27.820
zu kommen wir jetzt zu unseren Userfragen

00:15:27.820 --> 00:15:29.800
ach Userfragen, genau, ja, richtig

00:15:29.800 --> 00:15:31.820
hatten wir

00:15:31.820 --> 00:15:34.240
wir haben auch eine längere Pause gemacht

00:15:34.240 --> 00:15:36.140
muss man sagen, das könnte natürlich auch dazu

00:15:36.140 --> 00:15:37.860
geführt haben, dass es mehr war als normalerweise

00:15:37.860 --> 00:15:40.220
ja

00:15:40.220 --> 00:15:42.220
und zwar, aber wir hatten auch mehrere Leute

00:15:42.220 --> 00:15:43.700
die quasi das gleiche Thema

00:15:43.700 --> 00:15:45.880
sozusagen ein bisschen angefragt haben

00:15:45.880 --> 00:15:46.980
und zwar, das war

00:15:46.980 --> 00:15:50.100
wie haltet ihr euch eigentlich

00:15:50.100 --> 00:15:52.500
auf aktuellen Stand, wo kommt der an Neuigkeiten

00:15:52.500 --> 00:15:53.380
Informationen ran

00:15:53.380 --> 00:15:55.060
Ja, also

00:15:55.060 --> 00:15:57.460
Ja, das war die eine Frage und die andere Frage, wo du sagtest,

00:15:57.540 --> 00:15:59.540
dass es fast dasselbe war, wie fange ich denn damit überhaupt

00:15:59.540 --> 00:16:01.260
an mit dem Quereinstieg?

00:16:01.400 --> 00:16:03.040
Ich fand ja, das waren zwei unterschiedliche Dinge.

00:16:03.180 --> 00:16:04.400
Ja, das sind unterschiedliche Fragen im Grunde.

00:16:05.500 --> 00:16:07.180
Aber ich würde die gerne auch beide beantworten.

00:16:07.740 --> 00:16:09.480
Wie haltet ihr euch denn auf dem Laufenden?

00:16:09.600 --> 00:16:10.260
Ich halte doch mal den Martin.

00:16:11.800 --> 00:16:13.140
Ich, also ich glaube

00:16:13.140 --> 00:16:15.300
meistens dadurch, dass ich einfach Jochen anrufe,

00:16:15.440 --> 00:16:17.300
aber ich glaube, diese Optionen haben jetzt

00:16:17.300 --> 00:16:18.900
nicht so viele

00:16:18.900 --> 00:16:20.040
der Zuhörer.

00:16:21.580 --> 00:16:23.220
Schreibt uns immer eine E-Mail, wir machen einen neuen

00:16:23.220 --> 00:16:24.120
News-Kanal auf.

00:16:25.440 --> 00:16:27.220
Ja, aber ansonsten...

00:16:29.480 --> 00:16:34.240
Bist du auf Twitter?

00:16:35.660 --> 00:16:37.140
Sowas wie Twitter mache ich tatsächlich gar nicht.

00:16:37.260 --> 00:16:39.540
Ich lese tatsächlich sehr viel einfach Dokumentation

00:16:39.540 --> 00:16:41.300
der Sachen, die ich neu verwende

00:16:41.300 --> 00:16:43.180
und was dann immer Neues

00:16:43.180 --> 00:16:44.880
kommt, dann wird immer...

00:16:44.880 --> 00:16:47.340
Das ist, glaube ich, ein ziemlich guter Tipp, dass man tatsächlich weiß,

00:16:47.420 --> 00:16:49.160
welche Sachen man verwenden möchte und

00:16:49.160 --> 00:16:51.000
dann davon die offizielle Doku liest. So kommt man

00:16:51.000 --> 00:16:52.940
tatsächlich, das ist eine Antwort auf die zweite

00:16:52.940 --> 00:16:54.580
glaube ich am schnellsten

00:16:54.580 --> 00:16:56.040
in die Themen rein.

00:16:56.680 --> 00:16:59.380
Es gibt da ja auch dann immer typischerweise

00:16:59.380 --> 00:17:01.300
What's New in den Dokumentationen

00:17:01.300 --> 00:17:03.220
und da steht tatsächlich auch die wichtigen Sachen drin.

00:17:03.360 --> 00:17:04.880
Also daher habe ich meine

00:17:04.880 --> 00:17:07.080
Insider-Infos. Das finde ich tatsächlich gut, weil viele Leute, die

00:17:07.080 --> 00:17:08.920
anfangen, die prügeln sich so ein bisschen mit

00:17:08.920 --> 00:17:11.120
irgendwelchen Tutorials rum oder YouTube-Sachen

00:17:11.120 --> 00:17:13.120
oder so und ich finde tatsächlich, dass genau das

00:17:13.120 --> 00:17:15.080
in die Hand zu nehmen, was man braucht und dann

00:17:15.080 --> 00:17:16.580
die Doku lesen, viel effektiver.

00:17:17.640 --> 00:17:18.500
Ja, okay, aber

00:17:18.500 --> 00:17:20.920
um nochmal auf das News-Thema zurückzugehen.

00:17:20.920 --> 00:17:23.000
Jochen, wovor kriegst du denn deine News?

00:17:23.820 --> 00:17:24.500
Ja, ich tatsächlich

00:17:24.500 --> 00:17:26.800
heutzutage meistens über Twitter

00:17:26.800 --> 00:17:28.720
Ich habe früher irgendwie sehr viel RSS

00:17:28.720 --> 00:17:30.440
konsumiert und davor Newsnet

00:17:30.440 --> 00:17:32.760
und heute ist es hauptsächlich Twitter

00:17:32.760 --> 00:17:34.840
wobei man da ein bisschen

00:17:34.840 --> 00:17:36.780
aufpassen muss, wenn man auf Twitter

00:17:36.780 --> 00:17:38.740
irgendwie neu ist und nicht viele Leute

00:17:38.740 --> 00:17:40.260
abonniert hat, dann

00:17:40.260 --> 00:17:42.560
kriegt man die ganze Zeit irgendwie Nachrichten oder

00:17:42.560 --> 00:17:44.640
Tweets in die Timeline gedrückt über Celebrities

00:17:44.640 --> 00:17:46.720
und Fußballer und Fußballer-Frisuren

00:17:46.720 --> 00:17:48.540
und weiß ich nicht, so Zeugs, wo man sich sagt, hä?

00:17:49.100 --> 00:17:50.520
Aber wenn man das

00:17:50.520 --> 00:17:54.400
eine Weile benutzt hat und dann so ein bisschen selber kuratiert hat, dann ist es schon ziemlich gut.

00:17:54.420 --> 00:17:58.320
Also man muss es hart kuratieren und dann kann man Sachen filtern, wie das der Johannes auch gern macht.

00:17:58.900 --> 00:18:02.560
Ja, ich finde auch, also Twitter ist eine gute Quelle für Neuigkeiten,

00:18:02.720 --> 00:18:06.540
aber man muss da wirklich ganz knallhart filtern. Ich habe eine ganz lange Liste mit

00:18:06.540 --> 00:18:09.900
Wörtern, die mich nicht interessieren. Da sind

00:18:09.900 --> 00:18:13.600
Celebrity-Namen drauf und Politiker-Namen drauf und

00:18:13.600 --> 00:18:17.680
politische Institutionen drauf und Themen, die mich einfach nicht interessieren.

00:18:17.680 --> 00:18:27.340
Also man muss sich seine eigene Filterblase bauen und quasi sich von der Welt so abschotten, dass man nur die Dinge konsumiert, die weitesten brauchen sind.

00:18:28.240 --> 00:18:32.600
Zumindest auf Twitter, weil die meisten Meinungen, die auf Twitter kommen, sind ja erstmal unqualifiziert.

00:18:33.860 --> 00:18:42.780
Also ich würde das auch Anfängern tatsächlich nicht empfehlen wollen, weil das ist ganz schön schwierig rauszufinden, was einen überhaupt interessiert oder was gute Qualität hat, wenn man auch gar nicht weiß, was man sucht.

00:18:42.780 --> 00:18:57.980
Wenn man tatsächlich über technische Themen auf Twitter reden möchte, dann kann man ruhig alles, dann kann man ruhig Democrats und Republicans und Biden und die ganzen Namen, die es da so gibt, einfach alle rausfiltern, weil da hat man ja nichts davon.

00:18:57.980 --> 00:19:01.500
Da muss man dann aber schon eben

00:19:01.500 --> 00:19:03.820
man kann jedem mal eine Chance geben

00:19:03.820 --> 00:19:05.780
ein Follow geben ist leicht

00:19:05.780 --> 00:19:07.800
aber man muss dann auch sich das durchaus

00:19:07.800 --> 00:19:09.340
wert sein und jemandem wieder entfolgen

00:19:09.340 --> 00:19:11.940
und dann bildet sich so nach einer Weile

00:19:11.940 --> 00:19:13.480
eine Sammlung raus von

00:19:13.480 --> 00:19:15.400
Dingen, die man lesen kann

00:19:15.400 --> 00:19:17.540
Ich glaube, dass das vielleicht auch der Challenge ist im Internet

00:19:17.540 --> 00:19:19.240
Ich habe da auch irgendwann gesagt

00:19:19.240 --> 00:19:21.900
man legt sich so seine Linklisten an oder sowas

00:19:21.900 --> 00:19:23.980
und diese pflegen ist auch aufwendig

00:19:23.980 --> 00:19:26.040
und zwar auch die Infos, die guten zu finden

00:19:26.040 --> 00:19:27.500
und die zu karatieren ist gar nicht so

00:19:27.500 --> 00:19:29.740
wenig Teil der eigentlichen Arbeit dann auch.

00:19:29.920 --> 00:19:31.780
Also um da halt erstmal rauszufinden, was sind denn

00:19:31.780 --> 00:19:33.960
die wichtigen Dinge und sie dann zu teilen. Ich habe auch so ein kleines

00:19:33.960 --> 00:19:35.880
Linklist, wo man halt für Einchecker

00:19:35.880 --> 00:19:37.640
glaube ich so ganz gute Tipps findet, wie man da

00:19:37.640 --> 00:19:39.240
die ersten Schritte gehen könnte.

00:19:40.060 --> 00:19:41.640
Aber da hinzukommen, das dauert halt einen Moment.

00:19:41.740 --> 00:19:43.140
Du musst die erstmal entdecken und auch dann filtern.

00:19:43.340 --> 00:19:45.700
Die müssen wir alle angucken und dann selber

00:19:45.700 --> 00:19:47.880
so ein Gespür dafür entwickeln, was man

00:19:47.880 --> 00:19:49.760
denn gebrauchen kann, was einem liegt und

00:19:49.760 --> 00:19:50.140
sowas.

00:19:51.080 --> 00:19:53.660
Ein guter Trick ist auch, das über Personen

00:19:53.660 --> 00:19:55.680
zu machen. Also zum Beispiel, wenn man den Jochen auf

00:19:55.680 --> 00:19:58.020
Twitter findet, dann kann man ja gucken,

00:19:58.380 --> 00:19:59.320
wem der Jochen so folgt.

00:19:59.420 --> 00:20:01.480
Oder er kann lesen, was der so den ganzen Tag macht.

00:20:01.580 --> 00:20:03.620
Ja, aber ich mache da nicht viel. Also insofern, das hilft nicht.

00:20:03.940 --> 00:20:05.500
Aber tatsächlich, genau, wenn man sich anguckt,

00:20:05.640 --> 00:20:07.720
wem ich folge, könnte man wahrscheinlich eine ganze Menge

00:20:07.720 --> 00:20:09.360
Python-relevante Sachen finden, das stimmt.

00:20:10.280 --> 00:20:11.680
Ja, oder bei anderen Leuten

00:20:11.680 --> 00:20:13.060
in der Community sicher auch.

00:20:14.040 --> 00:20:15.780
Und ich glaube auch leider, das ist halt

00:20:15.780 --> 00:20:17.680
auch sowas, das ist mit der Zeit, glaube ich, schwerer geworden.

00:20:17.800 --> 00:20:19.640
Weil wenn ich, ich gucke halt auch

00:20:19.640 --> 00:20:21.660
ab und zu so auf YouTube und so. Und es gibt

00:20:21.660 --> 00:20:23.240
auch super Sachen auf YouTube, aber

00:20:23.240 --> 00:20:25.620
wenn man... Auch da muss man ganz ehrlich ausgehen.

00:20:25.620 --> 00:20:27.640
ganz arg ausfällen und man muss halt

00:20:27.640 --> 00:20:29.880
sich durch viel Zeug durchgucken, wo ich jetzt sagen würde,

00:20:30.140 --> 00:20:31.640
so, aber das weiß man halt nicht, wenn man anfängt.

00:20:31.680 --> 00:20:33.780
Ja, gerade die Bars und Bars, man kann so sich versumpfen

00:20:33.780 --> 00:20:35.860
in irgendwelchen Dingen von Leuten, die selber eigentlich gar keine Ahnung

00:20:35.860 --> 00:20:37.960
haben, beim Lernen dann erstmal was aufnehmen nach dem Motto,

00:20:37.980 --> 00:20:39.100
ich hab erst mal einen YouTube-Kanal gemacht.

00:20:40.000 --> 00:20:41.180
Ja, gar nicht so einfach, ja.

00:20:41.780 --> 00:20:43.840
Das macht's halt schwer, ja. Also insofern,

00:20:44.320 --> 00:20:45.960
YouTube hat übrigens auch immer noch

00:20:45.960 --> 00:20:47.800
RSS-Feeds, also da kann man auch die Kanäle

00:20:47.800 --> 00:20:49.300
alle mit per RSS

00:20:49.300 --> 00:20:50.080
abrufen.

00:20:51.520 --> 00:20:54.000
Ich will das nicht auf YouTube haben.

00:20:54.000 --> 00:20:57.640
YouTube hat auch eine Archi, die man benutzen kann, die kann man sogar in Python benutzen.

00:20:57.920 --> 00:21:00.120
Ja, das stimmt. Aber das sollte ich vielleicht nochmal so als Tipp genau,

00:21:00.200 --> 00:21:04.140
meine bevorzugte Art, YouTube-Content zu konsumieren, ist übrigens,

00:21:05.140 --> 00:21:08.540
den ohne Bild zu hören, weil ich nicht so viel Zeit habe,

00:21:08.620 --> 00:21:12.940
wenn ich das höre, dann gleichzeitig auf den Bildschirm zu gucken,

00:21:13.380 --> 00:21:16.280
weil ich gleichzeitig irgendwie spüle oder einkaufen gehe oder sowas meistens.

00:21:16.960 --> 00:21:21.880
Und was ich mache, mein Podcatcher-Podcast-Player kann das,

00:21:21.880 --> 00:21:22.900
aber das können bestimmt andere auch.

00:21:23.980 --> 00:21:25.380
Da kann man, der hat so ein,

00:21:25.460 --> 00:21:27.140
der macht so ein Sideload

00:21:27.140 --> 00:21:29.640
Action

00:21:29.640 --> 00:21:31.900
ins Share-Sheet

00:21:31.900 --> 00:21:33.320
bei iOS und wenn man dann sagt,

00:21:33.560 --> 00:21:35.680
man ist auf einem YouTube-Video, es gibt ja auch ganz

00:21:35.680 --> 00:21:38.220
viele Talks, also das achtet vielleicht auf Konferenztalks

00:21:38.220 --> 00:21:39.440
oder so, man guckt sich die Konferenzen an,

00:21:39.840 --> 00:21:41.720
guckt, welche Themen sind da so interessant, wenn man auf einem

00:21:41.720 --> 00:21:42.960
Talk ist auf YouTube und sagt Share.

00:21:42.960 --> 00:21:44.060
Da muss man ganz arg filtern.

00:21:46.280 --> 00:21:47.860
Also selbst auf den guten

00:21:47.860 --> 00:21:49.760
Konferenzen, die Hälfte

00:21:49.760 --> 00:21:51.820
der Talks, einfach denen, die mich

00:21:51.820 --> 00:21:55.620
nicht interessieren. Und dann auch da muss man einfach nicht Sachen angucken.

00:21:55.620 --> 00:21:58.220
Ja, aber das ist so wie mit allen Dingen. Wenn die ganzen Content kann man zu Lebzeiten

00:21:58.220 --> 00:22:01.800
ja gar nicht konsumieren und da muss man vielleicht ein bisschen sich einfach ausruhen.

00:22:01.860 --> 00:22:04.960
Ich habe es früher immer so gemacht, ich habe erstmal so das Lästige weggerockt und

00:22:04.960 --> 00:22:07.940
dann versucht dann zu den guten Sachen zu kommen. Das ist eine ganz doofe Idee. Man muss

00:22:07.940 --> 00:22:10.680
erst mal mit den guten Sachen anfangen, weil dann fällt das Lästige immer weg.

00:22:11.520 --> 00:22:16.580
Es gibt auch einfach so viel Content, dass man da nicht durchkommen kann und dann, wenn

00:22:16.580 --> 00:22:19.460
irgendwas einem nicht gefällt, dann muss man es einfach wegdrücken. Und das muss man aber

00:22:19.460 --> 00:22:19.860
auch lernen.

00:22:19.860 --> 00:22:49.780
Ja, das ist nicht so einfach. Also vor allem, was dann auch wichtiger ist, dass man halt auch führt dann auch irgendwann mit noch einem Talk und noch einem Talk und noch eine Dokumentation, sondern auch mal ins Machen kommt. Also halt tatsächlich an Projekten sitzt, die man irgendwie versucht weiterzubringen, umzusetzen, Dinge, die einen interessieren, irgendwie, dass man da einsteigt. Weil das ist das, was am weitesten und am schnellsten weiterbringt, weil man am schnellsten auf die Probleme stößt, die man auch lösen muss oder möchte. Und da halt dann die relevanten Sachen sich rauszusuchen, die einem da weiterhelfen, ist wahrscheinlich effektiver, als erstmal die Grundlagen dafür zu lesen. Was nicht immer ist. Es ist schon nett, wenn man bestimmte Sachen hat.

00:22:49.860 --> 00:22:52.420
Ja, aber es klingt so ein bisschen vom Thema ab vielleicht.

00:22:53.140 --> 00:22:58.260
Wobei, wenn du YouTube-Videos anhörst, warum dann nicht direkt Podcasts?

00:22:58.740 --> 00:23:00.100
Ja, weil es da nur begrenzt viele gibt.

00:23:00.440 --> 00:23:01.780
Also ich meine, ich höre natürlich auch Podcasts.

00:23:01.920 --> 00:23:08.220
Also da werden vor allen Dingen, ja, TalkPythonToMe, PodcastInit sind vielleicht so die beiden.

00:23:08.220 --> 00:23:09.580
Der deutsche Python-Podcast soll sehr gut sein.

00:23:10.840 --> 00:23:15.520
Aber das ist ja so ein bisschen irgendwie, dass, ja, da sind die Leute rum.

00:23:17.520 --> 00:23:19.300
Martin hatte gerade noch eine Idee.

00:23:19.860 --> 00:23:39.540
Ja, was immer beim Lernen für mich immer sehr wichtig war, ist Code anderer Leute zu lesen. Und das macht man natürlich idealerweise dadurch, dass man andere Leute Code reviewt. Das ist dann immer das Ideal. Dann kann man denen sogar noch sagen, blöde Kommentare reinwirken.

00:23:39.540 --> 00:23:40.060
genau das.

00:23:41.260 --> 00:23:43.320
Ich mache das glücklicherweise beruflich und glücklicherweise

00:23:43.320 --> 00:23:45.580
habe ich sehr gute Kollegen, die sehr gute Programmierer

00:23:45.580 --> 00:23:47.440
sind und dann, ich habe

00:23:47.440 --> 00:23:49.180
sehr viel einfach dadurch gelernt, dass ich

00:23:49.180 --> 00:23:50.720
deren Code gelesen und

00:23:50.720 --> 00:23:53.160
blöde Kommentare darüber abgegeben habe.

00:23:54.340 --> 00:23:55.480
Aber das ist ehrlich gesagt

00:23:55.480 --> 00:23:56.840
schon so ein bisschen die

00:23:56.840 --> 00:23:59.380
steile Stelle an der Lernkurve irgendwie.

00:23:59.560 --> 00:24:01.080
Also beide Sachen, sowohl einfach so

00:24:01.080 --> 00:24:03.160
sich durch die Dokumentation von Projekten lesen,

00:24:03.260 --> 00:24:05.260
wie auch fremde Leute Code lesen. Ich erinnere

00:24:05.260 --> 00:24:07.260
mich da noch dran, dass das halt, also klar,

00:24:07.260 --> 00:24:09.180
ich würde absolut zustimmen, da kann man super viel

00:24:09.180 --> 00:24:10.920
lernen, aber es ist halt auch echt anstrengend.

00:24:11.220 --> 00:24:12.960
Also vor allen Dingen, wenn das halt

00:24:12.960 --> 00:24:14.840
so Sachen sind, die man gar nicht mehr...

00:24:14.840 --> 00:24:17.140
Aber ja, da kann man

00:24:17.140 --> 00:24:17.600
echt viel lernen.

00:24:19.200 --> 00:24:20.680
Es gibt ein Buch mit dem Titel

00:24:20.680 --> 00:24:22.300
Learning Python the Hard Way.

00:24:22.620 --> 00:24:24.600
Ja, das ist jetzt schon.

00:24:24.920 --> 00:24:25.800
Habe ich auch mitgelehnt.

00:24:27.620 --> 00:24:28.740
Ja, finde ich gut.

00:24:30.400 --> 00:24:31.000
Aber es ist

00:24:31.000 --> 00:24:32.600
sehr witzig, weil einige Leute, die dann

00:24:32.600 --> 00:24:34.580
fremden Code lesen oder eigene Code lesen,

00:24:34.700 --> 00:24:36.760
stolpern dann irgendwann darauf mal wieder. Ich habe das glaube ich schon mal

00:24:36.760 --> 00:24:38.460
erzählt, aber ich kenne die Geschichte, wie Jochen

00:24:38.460 --> 00:24:39.440
und meinen Code reviewte.

00:24:39.880 --> 00:24:41.640
Ah, nee, oh Gott, oh Gott, oh Gott,

00:24:41.740 --> 00:24:42.980
schmeiß mal weg, mach mal neu.

00:24:43.120 --> 00:24:44.300
Ja, okay, neu gemacht, weg schon.

00:24:44.780 --> 00:24:46.100
Dann wieder, ah, Gott, oh Gott, oh Gott,

00:24:46.160 --> 00:24:47.580
was ist das denn, schmeiß mal weg, mach mal neu.

00:24:48.720 --> 00:24:49.960
Irgendwann ein bisschen später wieder so,

00:24:49.980 --> 00:24:51.060
oh nee, Gott, oh Gott, was ist das denn?

00:24:51.180 --> 00:24:51.900
Jochen, das habe ich von dir gekauft.

00:24:53.660 --> 00:24:55.740
Ja, seinen eigenen Code später

00:24:55.740 --> 00:24:56.300
in der Partie.

00:24:56.560 --> 00:24:58.860
Einen eigenen Code ansehen.

00:25:00.420 --> 00:25:02.420
Past Me war schon ein ganz schlechter...

00:25:02.420 --> 00:25:03.860
Ja, ja, ein halbes Jahr später so,

00:25:03.960 --> 00:25:04.600
oh Gott, oh Gott, oh Gott,

00:25:05.540 --> 00:25:06.580
was ist das denn, kann das weg?

00:25:06.700 --> 00:25:06.780
Ja.

00:25:08.460 --> 00:25:12.540
Ja, also das Wichtigste ist weitermachen, glaube ich, und dass man halt am Beiweit

00:25:12.540 --> 00:25:15.180
so ein bisschen in der Frage, wie viel Zeit man investieren muss.

00:25:15.860 --> 00:25:19.820
Ich habe noch zwei Sachen, die ich als Quelle habe. Die eine ist Hacker News,

00:25:20.100 --> 00:25:24.380
das ist aber mehr so, was halt so für den groben Überblick

00:25:24.380 --> 00:25:27.780
möglich ist, ja, und auch da muss man ganz arg filtern, ja, und vielleicht

00:25:27.780 --> 00:25:31.920
am Tag einen oder zwei Links rausholen und auf keinen Fall in die Diskussion gucken,

00:25:32.060 --> 00:25:35.820
weil das ist ganz schrecklich. Ja, ich würde auch nicht ablegen alle die Links,

00:25:35.820 --> 00:25:37.480
und ich würde, wenn ich mir Zeit nehme,

00:25:37.500 --> 00:25:38.300
die dann direkt angucken.

00:25:39.760 --> 00:25:41.780
Wenn es interessant ist, kann man sich

00:25:41.780 --> 00:25:42.840
das ja ansehen und das

00:25:42.840 --> 00:25:45.560
in seinen Dienststand rein synthetisieren

00:25:45.560 --> 00:25:47.600
oder zumindest wissen, dass es etwas gibt.

00:25:47.960 --> 00:25:50.160
Das ist wirklich mehr so eine Discovery-Sache.

00:25:50.420 --> 00:25:51.540
Was gibt es denn?

00:25:52.140 --> 00:25:54.060
Und da kommen auch immer wieder Python-Sachen

00:25:54.060 --> 00:25:55.660
durch, wo man sich dann die Dokumentation

00:25:55.660 --> 00:25:56.180
ansehen kann.

00:25:57.080 --> 00:25:59.920
Aber das ist wirklich so

00:25:59.920 --> 00:26:00.300
low-level.

00:26:01.560 --> 00:26:03.400
Aber was ich ganz viel mache, ist eben über

00:26:03.400 --> 00:26:05.160
RSS-Feeds von Personen

00:26:05.160 --> 00:26:06.660
ins Blog lesen. Also zum Beispiel

00:26:06.660 --> 00:26:08.660
Jochen's Blog

00:26:08.660 --> 00:26:11.000
hier auf dem Dorf wird abends geläutet.

00:26:11.660 --> 00:26:11.980
Das ist

00:26:11.980 --> 00:26:14.980
die etwas altmodische

00:26:14.980 --> 00:26:16.540
Push-Notification

00:26:16.540 --> 00:26:18.140
Methode.

00:26:18.140 --> 00:26:19.960
Das ist Feierabend. Hier ist jetzt Feierabend

00:26:19.960 --> 00:26:21.780
auf dem Dorf. Kann man auch nicht so gut wegdrücken.

00:26:22.160 --> 00:26:23.220
Es gibt keinen Spam-Filter.

00:26:24.160 --> 00:26:26.200
Nee. Aber Jochens Blog

00:26:26.200 --> 00:26:27.840
zum Beispiel, der

00:26:27.840 --> 00:26:29.640
Jochen veröffentlicht ja seine Weaknotes.

00:26:29.780 --> 00:26:31.920
Das heißt, da weiß ich auf jeden Fall ungefähr, was der Jochen so

00:26:31.920 --> 00:26:44.120
Ich gucke mir von den Podcasts eigentlich gar nichts an und von den Artikeln nur die Überschriften, aber es ist so ein am Puls der Zeit bleiben, was man da halt hat.

00:26:47.680 --> 00:27:00.660
Ja, also Johannes macht ja auch Wignotes und die gucke ich mir auch mal an. Ich finde das immer sehr interessant. Ich finde da immer Dinge, die ich nicht gesehen hatte, die bei mir nicht vorbeigekommen sind. Ich dachte, super, das ist ja total interessant. Das hilft auch auf jeden Fall.

00:27:00.660 --> 00:27:02.540
Also ein paar Newsletter vielleicht auch, aber

00:27:02.540 --> 00:27:04.880
da kann man auch was interessiert, dann direkt lesen.

00:27:05.440 --> 00:27:06.820
Also ein paar bessere sind vielleicht

00:27:06.820 --> 00:27:08.720
irgendwie Data Science Weekly oder Python Weekly

00:27:08.720 --> 00:27:09.060
oder so.

00:27:09.940 --> 00:27:10.280
Ja.

00:27:11.480 --> 00:27:14.820
Genau, ich weiß nicht, ich habe ein paar

00:27:14.820 --> 00:27:16.940
Postgres Weekly auch noch,

00:27:17.380 --> 00:27:18.160
der ist auch noch ganz gut.

00:27:19.000 --> 00:27:20.960
Und es gibt noch so einen anderen, den ich gerade

00:27:20.960 --> 00:27:22.620
vergessen habe, den muss ich mir nicht schon uns einfach reinschreiben,

00:27:22.720 --> 00:27:23.440
vielleicht finde ich den ja noch.

00:27:24.580 --> 00:27:25.760
Ja, Newsletter.

00:27:26.920 --> 00:27:28.480
Tja, aber ansonsten,

00:27:28.640 --> 00:27:30.440
also mit Leuten reden finde ich immer so,

00:27:30.440 --> 00:27:31.260
das Beste eigentlich.

00:27:32.040 --> 00:27:33.480
Wie schon gesagt, das ist immer Jochen anrufen, fragen.

00:27:34.640 --> 00:27:36.380
Ja, nein, aber

00:27:36.380 --> 00:27:38.360
wirklich, also wenn man halt irgendwie auf die lokalen

00:27:38.360 --> 00:27:40.060
Treffen geht, da trifft man andere Leute,

00:27:40.600 --> 00:27:42.300
die sich vielleicht mit demselben Thema beschäftigen.

00:27:42.400 --> 00:27:44.300
Ich glaube, das ist eine gute Idee, weil die

00:27:44.300 --> 00:27:46.320
wissen meistens auch so ein bisschen was oder jeder weiß

00:27:46.320 --> 00:27:48.280
so ein bisschen was mehr und dann hat man das,

00:27:48.500 --> 00:27:50.340
irgendwer hat das mal Schwarmintelligenz genannt

00:27:50.340 --> 00:27:51.940
oder so. Das finde ich gar nicht so schlecht.

00:27:52.620 --> 00:27:54.240
Da kommt immer so ein bisschen was raus. Da kommt man immer

00:27:54.240 --> 00:27:56.480
mehrere Schritte weiter, als wenn man da alleine

00:27:56.480 --> 00:27:58.380
gegen die Wand läuft und da sich dann

00:27:58.380 --> 00:28:00.340
abwälzt und dann drüber klettern will. Das ist, dauert

00:28:00.340 --> 00:28:19.362
und ganz angenehm Ja ansonsten glaube ich dann sind wir damit auch mehr oder weniger Achso Quereinstieg andere Frage Das w vielleicht auch nochmal Ja also die Frage ist was bedeutet Quereinstiegen

00:28:19.462 --> 00:28:21.243
Wie viel Zeit investierst du? Ist halt auch da die Frage.

00:28:21.383 --> 00:28:23.383
Wie viel Zeit kannst du denn auch, wenn dich Python

00:28:23.383 --> 00:28:25.243
nur so nebenbei interessiert, dann hast du

00:28:25.243 --> 00:28:26.942
vielleicht fünf Wochen die Stunde Zeit.

00:28:28.702 --> 00:28:29.403
Fünf Wochen die Stunde,

00:28:29.482 --> 00:28:30.082
fünf Stunden die Woche.

00:28:31.042 --> 00:28:33.062
Das ist zwar schon ganz schön viel, wenn man sich überlegt,

00:28:33.123 --> 00:28:34.922
dass man so fünf Stunden die Woche für so ein Hobby erübrigt.

00:28:35.442 --> 00:28:36.922
Aber wenn man das jetzt mit jemandem vergleicht...

00:28:36.922 --> 00:29:06.903
und Jochen unterhalten sich über die Programmiersprache Python

00:29:06.922 --> 00:29:09.003
mitkommt, weil man möchte ja vielleicht auch ein Level haben.

00:29:10.362 --> 00:29:11.102
Ja, aber ich finde es

00:29:11.102 --> 00:29:12.482
schwierig. Also ich meine, das sind halt eben,

00:29:12.763 --> 00:29:15.023
im Rückblick ist es halt so viel Zeit,

00:29:15.062 --> 00:29:16.842
die man investiert hat. Wenn einem das jemand

00:29:16.842 --> 00:29:18.922
gesagt hätte, wie viel Arbeit das ist, dann hätte man

00:29:18.922 --> 00:29:20.222
dann gar nicht angefangen.

00:29:20.542 --> 00:29:22.102
Dann hätte man lieber

00:29:22.102 --> 00:29:23.442
Holz.

00:29:23.682 --> 00:29:26.602
Dann gehe ich spazieren und gucke mir

00:29:26.602 --> 00:29:28.722
die Bäume an und die Blüten und denke mir, ach ja.

00:29:29.643 --> 00:29:30.903
Aber der Grund, warum

00:29:30.903 --> 00:29:32.123
das dann passiert ist, ist ja eigentlich, dass

00:29:32.123 --> 00:29:34.743
das einfach Spaß gemacht hat. Und dann

00:29:34.743 --> 00:29:36.462
merkt man das nicht so. Dann denkt man sich,

00:29:36.462 --> 00:29:37.682
Hups, schon wieder ein Tag vorbei.

00:29:38.102 --> 00:29:39.523
Oder eher in der Nacht.

00:29:41.042 --> 00:29:41.962
Es muss halt gut sein.

00:29:42.062 --> 00:29:43.422
Es muss halt einen Spaß machen und irgendwie liegen.

00:29:44.143 --> 00:29:45.682
Also wenn euch das wirklich so...

00:29:45.682 --> 00:29:47.342
Man darf ja auch nicht so viel Stress machen.

00:29:47.743 --> 00:29:49.163
Der Dominik stresst uns ja jetzt,

00:29:49.222 --> 00:29:51.062
weil ich mir hier so viele Stunden reintun muss.

00:29:51.743 --> 00:29:53.722
Es geht ja auch, man kann es auch nebenher machen.

00:29:53.782 --> 00:29:54.802
Man kann es auch zum Spaß machen.

00:29:55.763 --> 00:29:56.802
Ja, man sollte es zum Spaß machen.

00:29:58.003 --> 00:29:58.623
Ja, auf jeden Fall.

00:29:58.982 --> 00:30:01.842
Python ist sehr gut, um es zum Spaß zu machen.

00:30:01.922 --> 00:30:03.542
Aber halt tatsächlich auch für euren Lebensunterhalt.

00:30:03.643 --> 00:30:04.462
Also es geht eigentlich ganz gut.

00:30:04.822 --> 00:30:06.263
Aber man muss halt dann bereit sein, auch was zu tun.

00:30:06.263 --> 00:30:08.302
Ich wollte jetzt niemanden stressen, aber es geht halt darum, wenn du

00:30:08.302 --> 00:30:10.322
einen Quereinstieg wirklich finden willst und sagst, du hast dich

00:30:10.322 --> 00:30:12.362
entscheiden, das ist jetzt dein Ding, dann

00:30:12.362 --> 00:30:13.143
mach es ordentlich.

00:30:14.403 --> 00:30:15.682
Würde ich jetzt behaupten.

00:30:16.922 --> 00:30:18.442
So regionale Treffen

00:30:18.442 --> 00:30:20.123
sind da, glaube ich, was super gut ist.

00:30:20.282 --> 00:30:22.302
Als ich nach Düsseldorf gekommen bin, bin ich einfach

00:30:22.302 --> 00:30:24.282
in den Python-Fuhr gegangen und jeden

00:30:24.282 --> 00:30:26.042
Donnerstag da hingegangen.

00:30:26.182 --> 00:30:27.763
Ich kenne das ja, im Chaosdorf

00:30:27.763 --> 00:30:30.222
im Computerclub in Düsseldorf.

00:30:31.042 --> 00:30:32.143
Jeden Donnerstagabend

00:30:32.143 --> 00:30:34.243
ist Python-Fuhr und da kommen einfach Leute, die

00:30:34.243 --> 00:30:36.082
interessiert haben. Das hat auch gar kein Programm

00:30:36.082 --> 00:30:38.023
und gar keine Agenda oder so, sondern

00:30:38.023 --> 00:30:40.403
es ist einfach gleichgesinnte

00:30:40.403 --> 00:30:41.243
Treffen und das

00:30:41.243 --> 00:30:44.202
führt dann schon automatisch dazu,

00:30:44.342 --> 00:30:45.883
dass man darüber spricht. Und dann kann man ja auch gucken,

00:30:46.062 --> 00:30:48.023
ob man irgendwo was hat, was man gerne

00:30:48.023 --> 00:30:49.903
machen möchte oder ob man irgendein Thema hat, was

00:30:49.903 --> 00:30:51.802
einen interessiert und da findet sich dann immer jemand, der

00:30:51.802 --> 00:30:53.883
irgendwas dazu sagen kann oder auch

00:30:53.883 --> 00:30:56.042
jemand anders, der ein Thema hat, wo man

00:30:56.042 --> 00:30:57.582
dann selbst was dazu sagen kann. Und dann

00:30:57.582 --> 00:30:59.922
kommt man da so in den Austausch rein. Also das ist

00:30:59.922 --> 00:31:01.202
auch eine ganz nützliche Sache.

00:31:01.202 --> 00:31:06.062
Ja, kann ich nur bestätigen.

00:31:06.123 --> 00:31:07.663
Ja, ja. Okay, gut.

00:31:07.802 --> 00:31:08.862
Dann würde ich sagen, wir sind

00:31:08.862 --> 00:31:11.643
in diesem Themenbereich auch beschäftigt.

00:31:12.322 --> 00:31:13.623
Dann können wir ja noch das Kapitel anfangen.

00:31:14.442 --> 00:31:16.383
Um den Laser des Todes geht es dann jetzt.

00:31:16.982 --> 00:31:17.362
Ja, genau.

00:31:18.903 --> 00:31:19.682
Ja, da musst du glaube ich

00:31:19.682 --> 00:31:20.922
erstmal ein bisschen ausholen, Martin.

00:31:20.982 --> 00:31:21.702
Was ist das denn?

00:31:23.023 --> 00:31:24.042
Und was macht ihr da überhaupt?

00:31:24.322 --> 00:31:26.123
Du musst doch nochmal von dem Institut vielleicht erzählen.

00:31:26.922 --> 00:31:29.143
Also wir sind der European XFEL.

00:31:29.143 --> 00:31:30.482
Das XFEL steht für

00:31:30.482 --> 00:31:33.042
Röntgenfreie Elektronenlaser.

00:31:33.782 --> 00:31:35.282
Wir sind eine Großforschungseinrichtung

00:31:35.282 --> 00:31:37.042
in Hamburg oder eher bei

00:31:37.042 --> 00:31:38.802
Hamburg und

00:31:38.802 --> 00:31:40.182
ja, wir haben dort

00:31:40.182 --> 00:31:42.822
einen der

00:31:42.822 --> 00:31:45.222
stärksten Röntgenquellen

00:31:45.222 --> 00:31:45.782
der Welt.

00:31:47.322 --> 00:31:49.042
Ja, ich glaube, wir sind aktuell sogar Nummer

00:31:49.042 --> 00:31:50.623
1. Da ist

00:31:50.623 --> 00:31:53.003
immer so ein Wettlauf, wer da jetzt gerade

00:31:53.003 --> 00:31:53.922
Finanzverfahren hat.

00:31:53.922 --> 00:31:54.302
Eine der

00:31:54.302 --> 00:31:59.282
Ja, es gibt ja auch nicht so viel auf der Welt.

00:31:59.282 --> 00:32:06.143
also so ein Röntgen und Laser zusammen, das ist tatsächlich gar nicht so einfach, das kostet dann halt auch gleich mal anderthalb Milliarden Euro.

00:32:07.362 --> 00:32:08.442
Warum macht man das zusammen?

00:32:10.602 --> 00:32:25.482
Ja, also Röntgen ist halt ganz praktisch, also es geht effektiv, ein großer Witz daran ist, dass man effektiv ein sehr, sehr gutes Mikroskop hat, man kann deutlich kleinere Sachen sehen, als man mit einem normalen Lichtmikroskop sehen kann,

00:32:25.482 --> 00:32:30.522
weil die Wellenlänge von Röntgenlicht tausendmal kürzer ist als die von Sichtbewerben Licht

00:32:30.522 --> 00:32:34.623
und dann kann man halt tausendmal kleinere Sachen sehen

00:32:34.623 --> 00:32:39.722
und dadurch kann man dann zum Beispiel sich das Spike-Protein von Corona angucken

00:32:39.722 --> 00:32:42.883
das war bei uns natürlich gerade das Thema schlechthin

00:32:42.883 --> 00:32:46.883
naja, also das ist auch alles sehr interessant

00:32:46.883 --> 00:32:49.782
aber bis die wissenschaftlichen Ergebnisse dann tatsächlich in der Praxis ankommen

00:32:49.782 --> 00:32:52.202
wird hoffentlich Corona vorbei sein

00:32:52.202 --> 00:32:55.602
ist natürlich trotzdem interessant

00:32:55.602 --> 00:32:57.643
ja und

00:32:57.643 --> 00:33:00.802
solche Sachen können wir uns dann halt angucken

00:33:00.802 --> 00:33:02.942
wobei wir auch viele andere Sachen machen

00:33:02.942 --> 00:33:03.602
also zum Beispiel

00:33:03.602 --> 00:33:06.802
meine Gruppe hat sich viel um Magnetismus gekümmert

00:33:06.802 --> 00:33:08.802
da ging es um

00:33:08.802 --> 00:33:10.243
tatsächlich solche banalen Sachen wie

00:33:10.243 --> 00:33:12.243
wie schnell kann man eigentlich grundsätzlich

00:33:12.243 --> 00:33:14.702
also prinzipiell auf eine Festplatte schreiben

00:33:14.702 --> 00:33:16.962
ja die Forschung

00:33:16.962 --> 00:33:18.623
tatsächlich war es so, dass man

00:33:18.623 --> 00:33:20.542
lange Zeit Angst hatte, man könnte

00:33:20.542 --> 00:33:24.942
gar nicht so, also man käme da an eine Grenze, dass man also prinzipiell physikalisch

00:33:24.942 --> 00:33:27.602
nicht schneller eine Festplatte schreiben kann als

00:33:27.602 --> 00:33:32.782
ich weiß nicht, was damals vorgeschlagen wurde und dann haben wir das mal

00:33:32.782 --> 00:33:35.822
also nicht wir, also die Physik hat das nachgemessen und festgestellt

00:33:35.822 --> 00:33:40.722
nee, diese Grenze gibt es gar nicht, die man sich da gedacht hat, das geht sogar tausendmal

00:33:40.722 --> 00:33:44.682
schneller als man sich das gedacht hatte und ja, dann

00:33:44.682 --> 00:33:48.542
wollte man halt eigentlich wissen, ja was passiert denn da, also offensichtlich

00:33:48.542 --> 00:33:50.383
hatte man das Problem nicht verstanden

00:33:50.383 --> 00:33:52.663
und wir haben uns dann tatsächlich

00:33:52.663 --> 00:33:53.663
mit einem solchen Randgläser

00:33:53.663 --> 00:33:56.302
stellen wir uns die Frage,

00:33:56.802 --> 00:33:58.383
wie schnell geht das eigentlich und

00:33:58.383 --> 00:34:00.503
richtig, also die eine Sache

00:34:00.503 --> 00:34:02.383
ist, dass man sehr kleinere Sachen sich angucken kann

00:34:02.383 --> 00:34:04.542
und das andere ist, dass man sich sehr, sehr schnelle

00:34:04.542 --> 00:34:06.542
Prozesse angucken kann, weil wir

00:34:06.542 --> 00:34:08.582
sehr kurze Pulse machen

00:34:08.582 --> 00:34:10.423
können, also wir kommen unter

00:34:10.423 --> 00:34:12.502
eine Femtosekunde drunter, wem das

00:34:12.502 --> 00:34:14.742
was sagt, also 0,1501

00:34:14.742 --> 00:34:15.823
Sekunden.

00:34:16.423 --> 00:34:17.423
Das ist sehr langsam.

00:34:17.423 --> 00:34:19.042
also schnell

00:34:19.042 --> 00:34:20.002
ja genau

00:34:20.002 --> 00:34:23.343
und das ist der andere Grund warum man sich das

00:34:23.343 --> 00:34:24.762
warum man das macht und

00:34:24.762 --> 00:34:26.683
dann auch noch im Röntgenbereich

00:34:26.683 --> 00:34:29.282
es hat halt dann auch noch die gleichen

00:34:29.282 --> 00:34:31.522
Vorteile die man normalerweise beim Röntgen

00:34:31.522 --> 00:34:33.343
hat, dass man halt durch Sachen so gewissermaßen

00:34:33.343 --> 00:34:34.802
halb durchgucken kann und

00:34:34.802 --> 00:34:36.863
dann so in Sachen reingucken kann

00:34:36.863 --> 00:34:38.383
das ist natürlich dann

00:34:38.383 --> 00:34:40.823
auch noch ein schöner Nebeneffekt

00:34:40.823 --> 00:34:45.102
und dann das Ding läuft dann permanent

00:34:45.102 --> 00:34:46.643
und macht die irgendwelche Experimente

00:34:46.643 --> 00:34:52.663
und die wertet ihr dann irgendwie aus mit Bildern, die auf Platten gespeichert werden, die ihr dann...

00:34:52.663 --> 00:34:57.223
Ja, also wir haben da uns so...

00:34:57.223 --> 00:35:01.022
Also da gibt es halt diesen Laser, der ist halt dreieinhalb Kilometer lang

00:35:01.022 --> 00:35:06.982
und am Ende kriegen wir dann immer wochenweise, verwenden wir den dann.

00:35:07.123 --> 00:35:12.542
Das gibt es dann irgendwelche Benutzer, nennen wir die, die dann uns Ideen geben, was man denn da messen könnte

00:35:12.542 --> 00:35:13.663
und die kommen dann bei uns vorbei.

00:35:13.842 --> 00:35:15.502
Also heutzutage kommt es nicht mehr bei uns vorbei wegen Corona,

00:35:15.502 --> 00:35:17.542
aber jetzt müssen wir es alle mal selber machen,

00:35:17.602 --> 00:35:19.423
sehr anstrengend, aber normalerweise kommen die

00:35:19.423 --> 00:35:20.822
bei uns vorbei und machen dann

00:35:20.822 --> 00:35:22.703
mit dem

00:35:22.703 --> 00:35:24.982
Röntgenlaser Experimente.

00:35:26.123 --> 00:35:27.443
Und genau

00:35:27.443 --> 00:35:28.022
da

00:35:28.022 --> 00:35:31.403
kommt dann halt die Flexibilität tatsächlich von Python

00:35:31.403 --> 00:35:33.082
ins Spiel, dass wir

00:35:33.082 --> 00:35:35.282
ja im Prinzip, also

00:35:35.282 --> 00:35:37.423
wir haben da immer

00:35:37.423 --> 00:35:39.102
mehrere Teams und wir

00:35:39.102 --> 00:35:41.282
wechseln uns typischerweise ab, also eine Woche

00:35:41.282 --> 00:35:43.223
kriegt das eine Team, das eine Team darf den

00:35:43.223 --> 00:35:44.962
Röntgenlaser verwenden, dann nächste Woche den anderen.

00:35:45.502 --> 00:36:15.482
und Jochen unterhalten sich über die Programmiersprache Python

00:36:15.502 --> 00:36:45.482
und Jochen unterhalten sich über die Programmiersprache Python

00:36:45.502 --> 00:36:48.663
und das machen wir tatsächlich alles mit Python

00:36:48.663 --> 00:36:53.482
und zwar vorwiegend deshalb, weil wenn dann so ein Benutzer vor uns steht

00:36:53.482 --> 00:36:58.123
und dann sagt, ja, wir haben hier die Probe

00:36:58.123 --> 00:37:01.482
und der Röntgenlaser ist leider viel zu stark, wir müssen die Probe

00:37:02.042 --> 00:37:05.223
jetzt immer hin und her bewegen, damit wir nicht immer denselben Punkt treffen,

00:37:05.442 --> 00:37:08.482
sondern damit er halt nicht kaputt geht, dann muss ich mich halt hinsetzen

00:37:08.482 --> 00:37:12.322
und das dann programmieren, dass dann die Probe halt

00:37:12.322 --> 00:37:14.842
geschickt so hin und her wackelt,

00:37:15.042 --> 00:37:16.923
dass sie dabei nicht

00:37:16.923 --> 00:37:18.923
kaputt geht, dass wir sie mit einem Laser beschießen.

00:37:19.102 --> 00:37:20.923
Und dann hat der verschiedene Achsen in den Motoren,

00:37:21.002 --> 00:37:23.022
die er irgendwie kennt und dann könnte er mit tausend Motoren

00:37:23.022 --> 00:37:25.022
viele Dimensionen, die der irgendwie

00:37:25.022 --> 00:37:26.462
möglich sind. Ja, richtig.

00:37:26.903 --> 00:37:29.423
Und wir

00:37:29.423 --> 00:37:30.643
brauchen natürlich die Flexibilität,

00:37:30.883 --> 00:37:32.102
dass wir dann, also wir haben wirklich

00:37:32.102 --> 00:37:34.703
für eine Woche schreiben wir dann tatsächlich

00:37:34.703 --> 00:37:37.322
so viel

00:37:37.322 --> 00:37:38.883
Code ist das ja praktischerweise in Python

00:37:38.883 --> 00:37:40.623
jetzt auch nicht, aber es macht es halt möglich,

00:37:40.623 --> 00:38:10.602
und Jochen unterhalten sich über die Programmiersprache Python

00:38:10.623 --> 00:38:40.602
und Jochen unterhalten sich über die Programmiersprache Python

00:38:40.623 --> 00:38:42.082
machen wir jetzt nicht mehr hier den Golf

00:38:42.082 --> 00:38:44.102
12, sondern wir machen jetzt

00:38:44.102 --> 00:38:45.962
ein Clown-Car und

00:38:45.962 --> 00:38:48.163
fahr doch mal bitte irgendwie

00:38:48.163 --> 00:38:50.502
die Motoren so, dass das dann passiert.

00:38:50.703 --> 00:38:51.942
Ja, aber hopp, hopp. Genau.

00:38:52.203 --> 00:38:53.962
Und so läuft das bei uns tatsächlich die ganze Zeit.

00:38:54.262 --> 00:38:56.243
Und das macht es halt deshalb

00:38:56.243 --> 00:38:56.643
Python.

00:38:57.942 --> 00:38:59.262
Und ja,

00:38:59.502 --> 00:39:01.383
die andere Sache ist, dass wir

00:39:01.383 --> 00:39:04.203
natürlich dann immer sehr viele Sachen dann parallel machen

00:39:04.203 --> 00:39:05.123
müssen, dass halt

00:39:05.123 --> 00:39:07.862
dann die Motoren häufig dann

00:39:07.862 --> 00:39:09.923
irgendwie parallel fahren müssen, dass man da

00:39:09.923 --> 00:39:12.342
den Laser anschaltet,

00:39:12.462 --> 00:39:14.163
den Motor hin und her fährt und der ausschaltet.

00:39:14.822 --> 00:39:16.542
Habt ihr denn Joystick für oder sowas?

00:39:17.703 --> 00:39:18.683
Ja, der Punkt ist,

00:39:18.862 --> 00:39:20.302
dass es ja automatisch gehen soll.

00:39:20.883 --> 00:39:22.062
Deshalb kein Joystick.

00:39:22.383 --> 00:39:24.062
Aber wenn ihr jetzt eingreifen müsst oder so?

00:39:25.143 --> 00:39:26.362
Ja, nee, das geht tatsächlich.

00:39:26.442 --> 00:39:28.703
Also das ist glücklicherweise selten genug,

00:39:28.842 --> 00:39:30.322
dass wir dann wirklich so mit Maus

00:39:30.322 --> 00:39:32.082
und Klick auf Buttons dann das machen.

00:39:32.982 --> 00:39:34.663
Das ist...

00:39:34.663 --> 00:39:36.462
Ja, wobei da

00:39:36.462 --> 00:39:37.462
dann natürlich

00:39:37.462 --> 00:40:07.442
und

00:40:07.462 --> 00:40:09.423
und das ist halt der große Vorteil,

00:40:09.522 --> 00:40:11.383
dass wir halt nicht, wie das bei einer

00:40:11.383 --> 00:40:12.982
Automobilfabrik wäre oder auch

00:40:12.982 --> 00:40:15.362
tatsächlich auch in der Forschung

00:40:15.362 --> 00:40:16.762
in anderen Bereichen ist, dass man halt

00:40:16.762 --> 00:40:19.282
lange vorher einen Antrag

00:40:19.282 --> 00:40:21.362
schreiben muss und dann gibt es dort eine

00:40:21.362 --> 00:40:23.342
Softwareabteilung, die dann da irgendwelche

00:40:23.342 --> 00:40:24.302
Entwicklungen für einen macht.

00:40:25.462 --> 00:40:27.362
Also das wäre für uns einfach nicht flexibel

00:40:27.362 --> 00:40:29.062
genug. Wir müssen wirklich

00:40:29.062 --> 00:40:31.462
sofort eingreifen können

00:40:31.462 --> 00:40:32.762
und das können wir auch.

00:40:33.923 --> 00:40:35.482
Aber dann kommt wieder die ganze

00:40:35.482 --> 00:40:37.403
Sache mit dem, dass wir die ganze Zeit Sachen parallel machen

00:40:37.403 --> 00:40:38.822
müssen. Und

00:40:38.822 --> 00:40:41.082
ja, da kommt dann halt wieder der vorhin erwähnte

00:40:41.082 --> 00:40:42.883
Gil ins Spiel.

00:40:43.982 --> 00:40:45.362
Dass wir halt eben tatsächlich

00:40:45.362 --> 00:40:47.362
kein Multithreading machen,

00:40:47.643 --> 00:40:48.502
weil Multithreading

00:40:48.502 --> 00:40:50.502
ist ja der Horror.

00:40:52.102 --> 00:40:53.423
Und dann tatsächlich alles

00:40:53.423 --> 00:40:54.342
mit Async.io machen.

00:40:55.403 --> 00:40:57.102
Das ist ja das, was normalerweise immer

00:40:57.102 --> 00:40:59.342
die ganzen Leute im Web

00:40:59.342 --> 00:41:01.342
ganz viel machen. Wir machen jetzt

00:41:01.342 --> 00:41:03.383
kein Web, aber tatsächlich ist es

00:41:03.383 --> 00:41:05.342
so, dass Async.io sich auch für

00:41:05.342 --> 00:41:08.602
für Steuerung von Sachen super

00:41:08.602 --> 00:41:10.643
eignet. Das heißt, wenn man

00:41:10.643 --> 00:41:12.582
fünf Motoren gleichzeitig bewegen

00:41:12.582 --> 00:41:14.383
will und dann warten das muss,

00:41:15.062 --> 00:41:16.203
bis die alle angekommen sind,

00:41:17.062 --> 00:41:18.243
das lässt sich super

00:41:18.243 --> 00:41:20.723
in so einer Async.io-Umgebung

00:41:20.723 --> 00:41:22.502
schreiben. Das heißt, ihr kommt mit Batteries

00:41:22.502 --> 00:41:23.802
in Kludel quasi zurecht?

00:41:26.183 --> 00:41:26.782
Jein.

00:41:27.163 --> 00:41:28.782
Also, ja.

00:41:30.782 --> 00:41:31.423
Wir

00:41:31.423 --> 00:41:34.602
führen so ein bisschen Katalog darüber,

00:41:34.602 --> 00:42:04.582
und Jochen unterhalten sich über die Programmiersprache Python

00:42:04.602 --> 00:42:05.982
ist, dass wir geguckt haben, also

00:42:05.982 --> 00:42:07.462
als wir uns entscheiden mussten,

00:42:08.623 --> 00:42:10.082
wie machen wir denn unsere

00:42:10.082 --> 00:42:12.123
Experimentesteuerung, da haben wir uns gedacht, okay,

00:42:12.223 --> 00:42:14.082
die Datenauswertung läuft schon unter Python,

00:42:14.743 --> 00:42:16.322
lass uns das doch uns einfach noch ein

00:42:16.322 --> 00:42:17.462
Niveau vorher auch schon machen

00:42:17.462 --> 00:42:20.102
und machen dann auch schon

00:42:20.102 --> 00:42:21.883
die Steuerung des Experimentes in Python

00:42:21.883 --> 00:42:24.163
und das hat natürlich auch dann

00:42:24.163 --> 00:42:26.322
den Vorteil, dass man das dann die Übergabe der Daten,

00:42:27.102 --> 00:42:27.582
also wenn wir dann

00:42:27.582 --> 00:42:29.442
unsere Kameras steuern,

00:42:29.923 --> 00:42:31.602
da muss man dann natürlich dann halt

00:42:31.602 --> 00:42:34.342
gewissermaßen den Auslöser der Kamera

00:42:34.342 --> 00:43:04.322
und Jochen unterhalten sich über die Programmiersprache Python

00:43:04.342 --> 00:43:07.542
mit ein bisschen Daten zusammen und muss gerade überlegen, wie viel sind das?

00:43:08.703 --> 00:43:20.562
Ja, mal gucken. Also 2 Megapixel mal 2 Byte macht 4 Megabyte mal 5000, 20 Gigabyte pro Sekunde.

00:43:22.282 --> 00:43:23.322
Kleiner Datendurchsatz.

00:43:24.342 --> 00:43:27.862
Ja, da muss man, also, habt ihr so viel Platz bei euch?

00:43:28.143 --> 00:43:33.282
Läuft das dann die ganze Woche quasi so durch oder nur zu bestimmten, oder wie viel Zeit pro Woche,

00:43:33.282 --> 00:43:36.362
wenn ihr messt, fallen denn dann tatsächlich Daten an?

00:43:37.243 --> 00:43:41.203
Tatsächlich ist es so, dass ein großer Teil einer solchen Woche

00:43:41.203 --> 00:43:44.643
erstmal in Einrichtung und Charakterisierung besteht.

00:43:44.962 --> 00:43:48.782
Also wenn wir weniger als einen Tag brauchen, dann machen wir richtig gut.

00:43:50.243 --> 00:43:53.282
Aber die restlichen, also ein Tag der Woche ist eh immer Maschinentag,

00:43:53.923 --> 00:43:56.362
da wird repariert, gewartet und was weiß ich was gemacht.

00:43:57.042 --> 00:43:59.123
Einen Tag lang brauchen wir sicherlich auch noch zum Einrichten.

00:43:59.123 --> 00:44:03.102
Wir haben noch fünf Tage übrig und in den fünf Tagen

00:44:03.102 --> 00:44:05.903
Ja, da können wir auch schon mal dann wirklich

00:44:05.903 --> 00:44:07.282
also, ja

00:44:07.282 --> 00:44:10.143
ich würde sagen 15, 20 Stunden

00:44:10.143 --> 00:44:11.903
können wir dann tatsächlich auch schon messen und ja

00:44:11.903 --> 00:44:14.123
das sind Datenmengen, die dann da durchfließen

00:44:14.123 --> 00:44:15.203
und

00:44:15.203 --> 00:44:18.102
weil da dann das große Problem natürlich

00:44:18.102 --> 00:44:20.082
auch wieder ist, dass wir nach

00:44:20.082 --> 00:44:22.262
Möglichkeit, dass alles dann wieder ausgewertet werden muss

00:44:22.262 --> 00:44:26.123
Also eines der großen Vorteile

00:44:26.123 --> 00:44:28.183
unseres... Ein Terabyte pro

00:44:28.183 --> 00:44:29.442
Minute habe ich gerade ausgerichtet

00:44:29.442 --> 00:44:31.502
Ja, um solche

00:44:31.502 --> 00:44:34.203
Größenordnung geht es.

00:44:37.243 --> 00:44:38.302
Glücklicherweise bin ich nicht

00:44:38.302 --> 00:44:39.683
für das Datenmanagement zuständig.

00:44:39.723 --> 00:44:41.762
Das sind eine Million Terabyte in eurem 15 Stunden.

00:44:44.962 --> 00:44:46.322
1000 Terabyte.

00:44:46.482 --> 00:44:46.822
Das kann ich sagen.

00:44:46.822 --> 00:44:47.403
1000 Terabyte.

00:44:47.923 --> 00:44:50.962
1080 Terabyte.

00:44:51.163 --> 00:44:51.442
Ja, ja.

00:44:54.002 --> 00:44:54.982
Petabyte ist bei uns

00:44:54.982 --> 00:44:55.423
jede Woche.

00:44:56.442 --> 00:44:57.562
Das ist nichts

00:44:57.562 --> 00:44:59.403
Besonderes.

00:44:59.403 --> 00:45:01.143
also unsere

00:45:01.143 --> 00:45:03.383
Daten, also die Leute, die bei uns

00:45:03.383 --> 00:45:05.723
ich bin glücklicherweise nicht dafür zuständig, die Daten

00:45:05.723 --> 00:45:07.683
zu speichern und zu halten

00:45:07.683 --> 00:45:11.362
aber die, die das sind

00:45:11.362 --> 00:45:12.482
haben damit tatsächlich

00:45:12.482 --> 00:45:15.502
das tut tatsächlich weh

00:45:15.502 --> 00:45:16.783
und

00:45:16.783 --> 00:45:19.302
man versucht natürlich dann immer die Daten

00:45:19.302 --> 00:45:20.903
einzudampfen, dass man halt

00:45:20.903 --> 00:45:23.502
versucht doch nur die Daten

00:45:23.502 --> 00:45:25.743
zu speichern, wo wirklich was Relevantes drauf ist

00:45:25.743 --> 00:45:27.223
also

00:45:27.223 --> 00:45:29.723
von den 5000 Bildern

00:45:29.723 --> 00:45:31.143
pro Sekunde.

00:45:32.203 --> 00:45:33.403
Naja, das, also

00:45:33.403 --> 00:45:35.462
nicht

00:45:35.462 --> 00:45:37.383
auf allen Ecken des Bildes

00:45:37.383 --> 00:45:39.482
sind immer interessante Daten drauf.

00:45:39.602 --> 00:45:41.562
Vielleicht läuft dann irgendeine Reaktion, die mal 2 Sekunden

00:45:41.562 --> 00:45:43.383
dauert oder nur eine zehntel Sekunde mal Flak hat

00:45:43.383 --> 00:45:44.763
oder sowas und die muss man vielleicht haben.

00:45:45.263 --> 00:45:46.123
Ja, also je nachdem.

00:45:46.123 --> 00:45:46.942
Also es gibt zum Beispiel, also

00:45:46.942 --> 00:45:50.123
was viel gemacht wird,

00:45:50.223 --> 00:45:52.143
ist, wenn wir da solche Proteine

00:45:52.143 --> 00:45:54.243
in den Strahl schießen, dass man dann

00:45:54.243 --> 00:45:55.763
ja, also...

00:45:55.763 --> 00:45:57.783
Jetzt hast du wieder was gesagt, was macht ihr?

00:45:57.942 --> 00:45:59.542
Ihr stießt Proteine in den Strahl.

00:45:59.562 --> 00:46:00.683
Genau, also zum Beispiel dieses

00:46:00.683 --> 00:46:03.663
berühmte Spike-Protein von

00:46:03.663 --> 00:46:05.802
Corona. Also das

00:46:05.802 --> 00:46:07.703
Problem ist, wenn man mit einem Röntgenlaser da drauf schießt, dann ist

00:46:07.703 --> 00:46:08.802
das Protein kaputt.

00:46:09.623 --> 00:46:11.283
Das heißt... Das bricht durch.

00:46:12.002 --> 00:46:13.462
Das explodiert. Das explodiert.

00:46:14.022 --> 00:46:15.683
Ja, also das ist

00:46:15.683 --> 00:46:17.582
die Magie, dass wir so schnell

00:46:17.582 --> 00:46:19.462
sind, dass wir gewissermaßen

00:46:19.462 --> 00:46:21.102
ein Foto schießen. Also wie muss ich das sagen?

00:46:21.223 --> 00:46:23.383
Ihr habt irgendeine Trägersubstanzflüssigkeit, in der

00:46:23.383 --> 00:46:25.522
schwimmt das rum und das ist auf so einem Glas drauf

00:46:25.522 --> 00:46:26.903
und das schießt dann der Laser rein, oder?

00:46:27.462 --> 00:46:29.362
Ne, das wird tatsächlich, also

00:46:29.362 --> 00:46:31.163
ja, das ist in einer gelösten

00:46:31.163 --> 00:46:32.442
typischerweise in einer

00:46:32.442 --> 00:46:35.442
Lösung und

00:46:35.442 --> 00:46:36.942
das wird dann in ein

00:46:36.942 --> 00:46:39.862
gewissermaßen ein feiner Strahl

00:46:39.862 --> 00:46:41.542
sozusagen wie ein

00:46:41.542 --> 00:46:42.822
Finkelstrahl sozusagen,

00:46:43.322 --> 00:46:45.422
der dann mit dem Laser

00:46:45.422 --> 00:46:47.243
beschossen wird und da das sofort kaputt geht,

00:46:47.342 --> 00:46:48.942
muss halt das die ganze Zeit nachgefüttert werden,

00:46:48.942 --> 00:46:50.942
deshalb wird das mit Hochdruck

00:46:50.942 --> 00:46:53.283
als ein sehr dünner Strahl

00:46:53.283 --> 00:46:53.802
durch...

00:46:53.802 --> 00:46:56.403
Da kommen die ganze Zeit Proteine, fließen da so durch.

00:46:56.502 --> 00:46:56.643
Genau.

00:46:56.802 --> 00:47:00.703
Das heißt, irgendwer pinkelt Proteine dann über diesen und da kommt der Laser, der ballert dann dazwischen.

00:47:00.743 --> 00:47:00.922
Genau.

00:47:01.462 --> 00:47:04.802
Und immer wenn was passiert, wird fotografiert, 5000 Mal pro Sekunde.

00:47:04.802 --> 00:47:05.102
Genau.

00:47:05.243 --> 00:47:06.283
Also immer dann, wenn der Laser schießt.

00:47:06.302 --> 00:47:09.203
Der Laser schießt bis zu 5000 Mal pro Sekunde.

00:47:11.082 --> 00:47:14.002
Je nachdem, was man genau macht, kann das auch mal mehr oder weniger sein.

00:47:14.362 --> 00:47:16.102
Und der ist dreieinhalb Kilometer lang.

00:47:16.183 --> 00:47:18.903
Das heißt, es gibt so eine Riesenröhre irgendwo da und da schießt er durch.

00:47:18.922 --> 00:47:19.082
Richtig.

00:47:19.203 --> 00:47:23.062
Das ist eine Tunnelröhre, die ist mit so einer Tunnelbohrmaschine gebohrt worden,

00:47:23.062 --> 00:47:23.683
die dann

00:47:23.683 --> 00:47:26.082
von, also wir sind,

00:47:26.562 --> 00:47:29.022
das fängt in Hamburg an und ist tatsächlich so lang,

00:47:29.123 --> 00:47:30.842
dass wir dann, dass das Experiment selbst

00:47:30.842 --> 00:47:32.403
dann nicht mehr in Hamburg stattfindet, weil

00:47:32.403 --> 00:47:34.743
zu weit weg. Genau, da sind wir

00:47:34.743 --> 00:47:35.822
in Schleswig-Holstein.

00:47:36.562 --> 00:47:37.723
Wie lange braucht der Strahl?

00:47:39.723 --> 00:47:40.862
Ja, Lichtgeschwindigkeit, ne?

00:47:40.962 --> 00:47:42.802
Ja, das ist wahrscheinlich ein Augenblick.

00:47:43.123 --> 00:47:44.582
Ja, so Mikrosekunden, ja.

00:47:45.042 --> 00:47:46.842
Aber ihr könnt es schneller wahrnehmen.

00:47:46.962 --> 00:47:48.522
Ich habe gesagt, Phantosekunden könnt ihr auch.

00:47:48.842 --> 00:47:50.783
Ja, ja, also das hat ja nichts miteinander zu tun.

00:47:50.783 --> 00:47:52.703
Das ist ja, also wie lang der,

00:47:52.703 --> 00:48:00.703
Tatsächlich ist es so, dass in unserer Tunnelröhre mehrere von diesen Röntgenblitzen hintereinander sich auf unsere Probe zubewegen.

00:48:01.703 --> 00:48:02.462
Sogar ganz viele.

00:48:02.942 --> 00:48:16.962
Tatsächlich ist es nicht so, dass da 5000 so gleichmäßige Sekunden kommen, sondern die kommen immer in Trains, nennen wir das, von 500 auf einmal an.

00:48:17.663 --> 00:48:19.322
Und das dann 10 mal die Sekunde.

00:48:19.322 --> 00:48:22.883
und die 500, die kommen halt sehr schnell hintereinander an

00:48:22.883 --> 00:48:26.143
und dann kommt eine Pause und dann kommen die nächsten 500.

00:48:27.862 --> 00:48:31.123
Und dabei kann man tatsächlich sehen, wie dann durch diesen Strahl,

00:48:31.143 --> 00:48:32.982
der muss ja dann auch relativ schnell mit Druck da durch,

00:48:33.102 --> 00:48:37.403
die ganzen Proteine zerstäuben oder explodieren.

00:48:38.822 --> 00:48:41.042
Die bleiben in dem Wasserstrahl einfach gelöst.

00:48:41.783 --> 00:48:42.962
Und jetzt ist es natürlich so, dass,

00:48:44.302 --> 00:48:46.102
also das ist mir weniger Zufall,

00:48:46.102 --> 00:49:16.082
und Jochen unterhalten sich über die Programmiersprache Python

00:49:16.102 --> 00:49:19.723
Ja, das ist eine Riesenmagie, die da passiert.

00:49:20.883 --> 00:49:24.903
Und ja, wie gesagt, ich bin nicht in der Gruppe, die das macht.

00:49:26.643 --> 00:49:30.183
Aber man kann so wirklich Molekülstrukturen tatsächlich sehen.

00:49:30.502 --> 00:49:34.062
Also so wie man sich das aus dem Chemieunterricht früher vorstellt.

00:49:34.223 --> 00:49:35.422
So quasi, man sieht die, nein.

00:49:36.263 --> 00:49:43.602
Also man sieht halt ein Streumuster dieses Moleküls.

00:49:43.602 --> 00:49:56.263
Nun ja, also da sind dann so auf der Kamera so ein paar Punkte drauf und dann macht man damit ganz, ganz, ganz viel Rechenleistung, muss das Ganze zurückgerechnet werden.

00:49:56.263 --> 00:49:58.763
und da sind dann, also

00:49:58.763 --> 00:50:00.143
Clusterweise sind dann die

00:50:00.143 --> 00:50:02.562
Rechner, die dann, also gewissermaßen

00:50:02.562 --> 00:50:03.283
ist es so, dass

00:50:03.283 --> 00:50:06.703
das Molekül befindet sich halt in einer

00:50:06.703 --> 00:50:08.602
zufälligen Orientierung und

00:50:08.602 --> 00:50:10.522
deshalb muss man auch ganz oft drauf schießen, weil man es dann

00:50:10.522 --> 00:50:12.422
gewissermaßen einmal aus allen Richtungen betrachtet,

00:50:12.623 --> 00:50:14.562
man sieht aber gewissermaßen nur den Schatten

00:50:14.562 --> 00:50:16.842
des Moleküls,

00:50:16.942 --> 00:50:18.602
ja gewissermaßen, also am Ende sind

00:50:18.602 --> 00:50:20.002
das immer nur ein paar Punkte auf dem Detektor

00:50:20.002 --> 00:50:22.263
und aus denen muss man das sich dann wieder mit

00:50:22.263 --> 00:50:24.502
unglaublich viel Rechenaufwand

00:50:24.502 --> 00:50:26.123
zurückrechnen.

00:50:26.263 --> 00:50:28.763
dafür gibt es dann aber auch wieder ganze Arbeitsgruppen

00:50:28.763 --> 00:50:30.842
also ganze Institute, die sich nur mit dieser

00:50:30.842 --> 00:50:32.042
Rückberechnung

00:50:32.042 --> 00:50:33.542
beschäftigen

00:50:33.542 --> 00:50:36.562
weil man nur diese einzelnen partiellen Bilder aus verschiedenen

00:50:36.562 --> 00:50:38.922
Blinkwinkeln hat und die man dann quasi zu einem ganzen

00:50:38.922 --> 00:50:40.862
genau und daraus kann man dann

00:50:40.862 --> 00:50:42.842
tatsächlich am Ende das ganze

00:50:42.842 --> 00:50:44.683
Molekül wieder

00:50:44.683 --> 00:50:46.422
rekonstruieren und weiß dann

00:50:46.422 --> 00:50:49.042
kann man das irgendwie kalibrieren

00:50:49.042 --> 00:50:50.862
dass man hinterher weiß, ob man das Richtige

00:50:50.862 --> 00:50:52.903
zurückgerechnet hat, dass man etwas nimmt

00:50:52.903 --> 00:50:53.822
wo man die Struktur kennt

00:50:53.822 --> 00:50:54.302
da drin.

00:50:55.362 --> 00:50:57.102
Natürlich haben wir angefangen mit

00:50:57.102 --> 00:50:59.602
Molekülen, die wir schon kennen.

00:51:01.422 --> 00:51:01.602
Und

00:51:01.602 --> 00:51:03.123
Mathematik lügt auch nicht.

00:51:03.962 --> 00:51:05.562
Ja, oder es ist einfach schon mit

00:51:05.562 --> 00:51:07.462
anderen Methoden

00:51:07.462 --> 00:51:08.683
gemessen worden und dann

00:51:08.683 --> 00:51:10.862
weiß man, was da geht.

00:51:11.982 --> 00:51:13.383
Wobei ich mich persönlich weniger

00:51:13.383 --> 00:51:15.482
mit Molekülen beschäftige als mit Magneten.

00:51:17.123 --> 00:51:17.302
Und

00:51:17.302 --> 00:51:19.502
die haben das große Problem, dass datentechnisch

00:51:19.502 --> 00:51:21.362
das sogar eher

00:51:21.362 --> 00:51:22.623
anstrengender ist, weil

00:51:22.623 --> 00:51:44.623
und

00:51:44.623 --> 00:51:53.082
Ja, also was man halt macht, also mit Röntgenstrahlen kann man halt sehen, ob der Magnet magnetisch ist, gerade.

00:51:54.502 --> 00:52:07.542
Also eine Festplatte speichert man ja dadurch, dass man auf einer klassischen Festplatte, also keine Solid State, sondern auf einer klassischen, dass man dort eine magnetische Schicht hat und dann den Magneten entweder so rum oder so rum dreht.

00:52:07.542 --> 00:52:10.862
und was wir dann machen ist, dass wir

00:52:10.862 --> 00:52:14.183
schießen mit einem

00:52:14.183 --> 00:52:16.542
handelsüblichen

00:52:16.542 --> 00:52:17.383
Laser,

00:52:18.263 --> 00:52:20.783
auch mit einem Hochintensitätslaser

00:52:20.783 --> 00:52:22.042
da drauf, dann

00:52:22.042 --> 00:52:24.582
wird das heiß und dadurch

00:52:24.582 --> 00:52:26.342
wird der Magnet demagnetisiert

00:52:26.342 --> 00:52:28.462
und danach schießt man einmal mit dem XL

00:52:28.462 --> 00:52:30.522
drauf und guckt, ob er noch magnetisch

00:52:30.522 --> 00:52:32.442
ist und dann kann man die Zeit zwischen den

00:52:32.442 --> 00:52:32.703
beiden

00:52:32.703 --> 00:52:35.962
ändern und gucken dann,

00:52:35.962 --> 00:52:40.962
wie schnell, wie lange es denn dauert so einen Magneten zu demagnetisieren und das ist dann halt die

00:52:40.962 --> 00:52:47.723
kürzeste Zeit, mit der man grundsätzlich ein Daten auf einer Festplatte schreiben könnte.

00:52:48.263 --> 00:52:52.422
Die Zeiten, die glücklicherweise so schnell sind, das weiß man inzwischen, dass das für

00:52:52.422 --> 00:52:57.062
also ein Computer tatsächlich dann am Ende egal ist. Es geht also tatsächlich nur noch darum,

00:52:57.362 --> 00:53:00.663
das tatsächlich prinzipiell zu verstehen, was da eigentlich passiert und nicht mehr

00:53:00.663 --> 00:53:06.383
auszuschließen, dass man da in irgendein physikalisches Limit läuft mit der Technologie,

00:53:06.502 --> 00:53:08.163
wo man jetzt irgendwie wahnsinnig viel investiert.

00:53:08.362 --> 00:53:14.522
Das ist eine Magnetechnologie, mit der man mit Laser die Platten beschießt, um die Sachen zu speichern?

00:53:15.263 --> 00:53:19.322
Also das Problem ist, dass das Einzige, was so schnell ist, sind Laser.

00:53:20.223 --> 00:53:21.482
Und deshalb müssen wir Laser nehmen.

00:53:22.542 --> 00:53:26.883
Also wie eine Technologie dazu aussehen würde, die Frage braucht man da...

00:53:26.883 --> 00:53:28.422
Aber das hört sich an, es wäre deutlich schneller als SSD.

00:53:28.422 --> 00:53:30.542
Ja, genau.

00:53:31.062 --> 00:53:32.082
Wie gesagt, das ist

00:53:32.082 --> 00:53:34.663
viel, viel schneller als alles.

00:53:35.002 --> 00:53:36.703
Also das Schalten eines solchen Magneten

00:53:36.703 --> 00:53:38.643
geht prinzipiell

00:53:38.643 --> 00:53:40.602
viel, viel schneller, als das jemals ein Computer

00:53:40.602 --> 00:53:41.243
schreiben kann.

00:53:43.322 --> 00:53:44.383
Es gibt

00:53:44.383 --> 00:53:47.223
keine theoretische

00:53:47.223 --> 00:53:48.723
Grenze. Keine physikalische Grenze, die da

00:53:48.723 --> 00:53:50.842
irgendwo ist. Es gibt eine, aber die ist so weit

00:53:50.842 --> 00:53:52.842
von gut und böse,

00:53:52.842 --> 00:53:54.942
dass wir diese 100 Jahre nicht mehr erreichen werden.

00:53:55.042 --> 00:53:56.442
Genau, vor allen Dingen nicht bis

00:53:56.442 --> 00:53:57.383
SSDs übernehmen.

00:53:58.422 --> 00:54:01.163
Das ist aber nicht

00:54:01.163 --> 00:54:03.962
das Problem, oder, warum Festplatten langsam sind

00:54:03.962 --> 00:54:05.922
sondern das Problem ist, dass die richtige

00:54:05.922 --> 00:54:06.883
Stelle nicht da ist

00:54:06.883 --> 00:54:07.743
Ja, genau, dass

00:54:07.743 --> 00:54:11.783
dieses Problem, wie gesagt, ist keins mehr

00:54:11.783 --> 00:54:13.522
das ist damals, das ist ja auch schon wieder

00:54:13.522 --> 00:54:15.403
30 Jahre her, dass damals

00:54:15.403 --> 00:54:17.922
die meinten, in das physikalische Limit zu laufen

00:54:17.922 --> 00:54:19.802
und dann

00:54:19.802 --> 00:54:20.842
Eine schöne Vorstellung

00:54:20.842 --> 00:54:21.883
Ja

00:54:21.883 --> 00:54:25.422
Vor 30 Jahren hat man gedacht, jetzt

00:54:25.422 --> 00:54:27.283
können Computer gar nicht mehr schneller werden

00:54:27.283 --> 00:54:28.663
das ist jetzt leider vorbei

00:54:28.663 --> 00:54:31.542
aber es hat sich dann leider

00:54:31.542 --> 00:54:33.183
zum Glück doch rausgestellt

00:54:33.183 --> 00:54:34.962
ja

00:54:34.962 --> 00:54:37.522
ich fand das aber ganz interessant

00:54:37.522 --> 00:54:39.683
ich glaube das interessiert vielleicht noch andere Menschen

00:54:39.683 --> 00:54:41.403
wie funktioniert denn das jetzt überhaupt

00:54:41.403 --> 00:54:43.582
so ein Magnetspeicherband

00:54:43.582 --> 00:54:45.223
wenn du sagst, da muss man Magneten

00:54:45.223 --> 00:54:47.663
drehen, dann speichert man

00:54:47.663 --> 00:54:49.462
irgendwas? Ja also effektiv

00:54:49.462 --> 00:54:51.922
also so eine Magnetplatte

00:54:51.922 --> 00:54:53.223
wie sie in Festplatten

00:54:53.223 --> 00:54:55.302
vor der Zeit von Essen

00:54:55.302 --> 00:54:56.522
genau verbaut waren

00:54:56.522 --> 00:54:58.183
Es ist ja einfach nur eine

00:54:58.183 --> 00:55:00.962
magnetische Struktur

00:55:00.962 --> 00:55:02.663
also irgendein

00:55:02.663 --> 00:55:04.802
Stoff, der grundsätzlich magnetisch ist

00:55:04.802 --> 00:55:06.383
und den kann man halt

00:55:06.383 --> 00:55:11.102
da kann man sich so winzige

00:55:11.102 --> 00:55:11.663
kleine

00:55:11.663 --> 00:55:14.822
Magnetchen vorstellen, aus denen das

00:55:14.822 --> 00:55:16.703
draufsteht, aus denen das besteht

00:55:16.703 --> 00:55:18.842
aus denen es natürlich ganz ganz ganz viele

00:55:18.842 --> 00:55:20.883
gibt, nämlich wie jedes Bit, das gespeichert werden

00:55:20.883 --> 00:55:21.442
soll, eins

00:55:21.442 --> 00:55:24.802
und dadurch, dass man dann

00:55:24.802 --> 00:55:26.383
mit einer Magnetspule drüber fährt

00:55:26.383 --> 00:55:30.862
dreht man das entweder so, dass der Nordpol nach oben steht oder der Südpol nach oben steht.

00:55:31.183 --> 00:55:33.362
Und so speichert man Daten auf einer Magnetfestplatte?

00:55:33.582 --> 00:55:36.102
So speichert man Daten auf einer Magnetfestplatte und danach dann

00:55:36.102 --> 00:55:39.022
und umgekehrt wird das ausgelesen dadurch, dass man

00:55:39.022 --> 00:55:45.403
dann halt misst, ob denn jetzt gerade der Nordpol oder der Südpol oben ist.

00:55:46.322 --> 00:55:48.383
Und wir wollten, also

00:55:48.383 --> 00:55:53.502
da gibt es halt Grenzen, wie schnell man das schreiben kann, aber wie gesagt, es gibt sie effektiv

00:55:53.502 --> 00:55:55.342
nicht, weil es ging halt die Frage tatsächlich,

00:55:56.042 --> 00:55:57.403
wie weit kann ich denn so einen Magneten

00:55:57.403 --> 00:55:59.542
den Nordpol zum Südpol rumdrehen?

00:56:00.562 --> 00:56:01.163
Also grundsätzlich,

00:56:01.442 --> 00:56:02.942
wie lange dauert das eigentlich,

00:56:03.223 --> 00:56:04.542
dass sich dieser Magnet dreht?

00:56:06.942 --> 00:56:07.623
Dreht sich da

00:56:07.623 --> 00:56:08.883
wirklich was oder wird das umgepolt?

00:56:10.082 --> 00:56:10.822
Ja, gut,

00:56:11.163 --> 00:56:12.862
das kann man

00:56:12.862 --> 00:56:15.223
in der Definitionsfrage...

00:56:15.223 --> 00:56:16.922
Was heißt denn dann umgepolt?

00:56:17.383 --> 00:56:19.482
Ja, gut, es geht da immer um

00:56:19.482 --> 00:56:44.345
die Spins der Elektronen Also Elektronen haben gewisserma ein Oben und ein Unten und in Magneten ist es so dass die Spins also dass die Benachbarte Elektronen aneinander gekoppelt sind dahingehend dass die wenn das eine Elektron nach oben zeigt zeigt das andere gerne auch nach oben

00:56:44.345 --> 00:56:51.305
und dann bilden die so halt so eine Gang sozusagen und wenn dann gruppenmäßig sich alle zeigen dann in eine Richtung.

00:56:51.825 --> 00:56:56.405
Und der Witz an einem Magneten ist, dass dann benachbarte Elektronen aneinander gekoppelt sind.

00:56:56.745 --> 00:57:00.685
Also alle Elektronen haben einen oben und einen unten, aber normal sind sie nicht aneinander gekoppelt.

00:57:00.685 --> 00:57:03.745
Das heißt, in einem Stück Holz passiert da nicht viel.

00:57:04.165 --> 00:57:09.245
Also kann man mit einem Magneten die Spins rumdrehen, das kann man machen, das bringt aber nicht viel.

00:57:09.245 --> 00:57:23.925
während man mit einem Magneten die Elektronen umdreht und dann auch das Magnetfeld wieder ausschaltet, dann bleiben die Elektronen halt in derselben Richtung stehen, wie sie vorher waren.

00:57:23.925 --> 00:57:25.745
Das wäre auch gar nicht

00:57:25.745 --> 00:57:28.225
klar gewesen. Das bedeutet, dass es

00:57:28.225 --> 00:57:30.165
überhaupt Magnete gibt

00:57:30.165 --> 00:57:32.325
aus Metall. Das ist der gleiche Effekt

00:57:32.325 --> 00:57:33.965
wie etwas darin zu speichern.

00:57:34.065 --> 00:57:34.845
Im Grunde ist das

00:57:34.845 --> 00:57:37.045
das, was man darin gespeichert hat.

00:57:40.225 --> 00:57:40.785
Ja.

00:57:42.705 --> 00:57:43.285
Cool.

00:57:43.745 --> 00:57:45.885
Also einem normalen Magneten ist das

00:57:45.885 --> 00:57:47.585
die Information halt

00:57:47.585 --> 00:57:48.285
ein Bit.

00:57:48.285 --> 00:57:48.745
Ja.

00:57:52.185 --> 00:57:53.685
Bei einer Festplatte sind es dann

00:57:53.685 --> 00:57:55.805
ganz, ganz, ganz viele nebeneinander und man muss dann

00:57:55.805 --> 00:57:57.445
aufpassen, dass die sich...

00:57:57.445 --> 00:57:59.365
Sie sollen,

00:57:59.465 --> 00:58:01.485
das ist immer das Problem, die Elektronen sollen sich ein bisschen

00:58:01.485 --> 00:58:03.625
gegenseitig beeinflussen, weil sie ansonsten ihre

00:58:03.625 --> 00:58:06.105
Position nicht halten, aber denen ist es aber auch nicht zu viel,

00:58:06.665 --> 00:58:07.465
aber das ist dann

00:58:07.465 --> 00:58:09.845
dann wieder

00:58:09.845 --> 00:58:10.765
sehr viel Wissenschaft.

00:58:11.605 --> 00:58:13.425
Die Dichte, wie die ineinander hängen und so weiter.

00:58:13.525 --> 00:58:15.345
Genau, da kann man unglaublich viel mit rumspielen.

00:58:18.525 --> 00:58:19.925
Eine schöne Sache

00:58:19.925 --> 00:58:21.805
an der ganzen Geschichte ist übrigens, dass das

00:58:21.805 --> 00:58:51.785
und Jochen unterhalten sich über die Programmiersprache Python

00:58:51.805 --> 00:58:52.265
und Rost.

00:58:54.265 --> 00:58:54.985
Und es stimmt.

00:58:54.985 --> 00:58:55.685
Es trifft sich, glaube ich, ganz gut.

00:58:57.545 --> 00:58:59.405
Und Kassetten und so weiter

00:58:59.405 --> 00:59:01.305
und Magnetbänder funktionieren ganz ähnlich.

00:59:01.525 --> 00:59:02.825
Halt nicht digital, sondern

00:59:02.825 --> 00:59:05.105
mit einer analogen

00:59:05.105 --> 00:59:05.845
Magnetisierung.

00:59:08.185 --> 00:59:09.145
Wer das noch kennt

00:59:09.145 --> 00:59:10.805
von früher, oh, jetzt habe ich mich geoutet.

00:59:12.925 --> 00:59:13.325
Kassetten,

00:59:13.545 --> 00:59:14.685
hm, was könnte das sein?

00:59:15.005 --> 00:59:17.165
Hohen zurückspulen, durchreißen, aneinanderkleben.

00:59:18.965 --> 00:59:19.365
Genau.

00:59:19.365 --> 00:59:22.945
Ja, sehr schick

00:59:22.945 --> 00:59:24.265
In einem Land vor unserer Zeit

00:59:24.265 --> 00:59:27.545
Habt ihr denn da schon immer Python verwendet

00:59:27.545 --> 00:59:29.045
oder seit wann verwendet ihr Python

00:59:29.045 --> 00:59:30.845
oder überall oder gibt es auch noch

00:59:30.845 --> 00:59:32.765
andere Technologien, die verwendet werden?

00:59:33.185 --> 00:59:35.005
Ja, also es gibt auch immer noch eine

00:59:35.005 --> 00:59:36.005
gewisse

00:59:36.005 --> 00:59:39.205
Menschen, die sich nicht davon abbringen

00:59:39.205 --> 00:59:41.045
lassen, weiterhin C++ zu

00:59:41.045 --> 00:59:41.505
programmieren

00:59:41.505 --> 00:59:44.885
Sie sind nicht tot zu kriegen

00:59:44.885 --> 00:59:47.045
Nein, also tot wollen wir sie auch gar nicht

00:59:47.045 --> 00:59:47.785
haben, aber

00:59:47.785 --> 00:59:49.945
überzeugt,

00:59:50.125 --> 00:59:52.145
haben wir es auch noch nicht geschafft.

00:59:52.225 --> 00:59:54.025
Ihr habt es auch nicht geschafft, sich vor den Laser zu stoßen.

00:59:54.345 --> 00:59:54.705
Genau.

00:59:58.365 --> 01:00:00.065
Tatsächlich ist es so, dass in der

01:00:00.065 --> 01:00:01.425
Physik jahrzehntelang

01:00:01.425 --> 01:00:04.085
war C++ tatsächlich einfach die Sprache

01:00:04.085 --> 01:00:06.225
schlechthin. Es wurde einfach alles in C++ geschrieben.

01:00:07.005 --> 01:00:08.125
Stimmt gar nicht, außer das,

01:00:08.205 --> 01:00:09.985
was in Fortran geschrieben wurde. Das ist dann halt wieder

01:00:09.985 --> 01:00:11.105
eine Generation weiter vorher.

01:00:11.805 --> 01:00:13.905
Und ja, es gibt auch noch die Fortran-Leute.

01:00:14.405 --> 01:00:15.785
Die sind glücklicherweise

01:00:15.785 --> 01:00:17.525
inzwischen sehr wenige geworden.

01:00:17.785 --> 01:00:33.845
Es gibt sie immer noch, aber inzwischen ist das so, C++ ist jetzt halt doch nicht mehr die modernste Sprache und jetzt die neue Welle, da ist Python einfach, gibt es auch Rust?

01:00:35.305 --> 01:00:37.405
Er hat auch noch vordran Bauteile.

01:00:37.445 --> 01:00:38.285
Genau, natürlich, ja.

01:00:38.485 --> 01:00:39.345
Ja, selbstverständlich.

01:00:40.585 --> 01:00:43.565
Ist gar nicht so weit von uns entfernt.

01:00:43.565 --> 01:00:48.745
Ich erinnere mich nur gerade an ein Zitat, ich weiß gar nicht, wer das mal ursprünglich gesagt hat,

01:00:48.825 --> 01:00:50.465
aber ein sehr wissenschaftlicher Fortschritt ist immer so

01:00:50.465 --> 01:00:52.445
one funeral at a time.

01:00:54.965 --> 01:00:58.565
Ja, natürlich.

01:00:58.945 --> 01:01:02.005
Also es ist tatsächlich, also in der Welt der Physik war,

01:01:02.425 --> 01:01:04.065
nicht nur da, in vielen anderen Bereichen auch,

01:01:04.505 --> 01:01:08.565
war der Witz an Python eigentlich, dass man damit halt unglaublich viele verschiedene Bibliotheken,

01:01:09.405 --> 01:01:12.585
auch aus Steinzeit, aus Vortrag und Steinzeit oder was weiß ich wo,

01:01:13.565 --> 01:01:15.585
zusammenkleben kann und dass das am Ende

01:01:15.585 --> 01:01:17.885
irgendwie trotzdem alles dann zusammenläuft

01:01:17.885 --> 01:01:19.725
und das ist zum

01:01:19.725 --> 01:01:20.885
größten Teil das, was

01:01:20.885 --> 01:01:23.305
also das war halt

01:01:23.305 --> 01:01:25.625
das Killer-Feature, dass man

01:01:25.625 --> 01:01:27.765
die ganzen alten Fortran-Bibliotheken

01:01:27.765 --> 01:01:29.545
tatsächlich bis heute weiterverwendet hat.

01:01:29.565 --> 01:01:30.385
Python als Glue.

01:01:31.665 --> 01:01:32.125
Absolut.

01:01:33.365 --> 01:01:35.425
Ja und ich glaube auch, ich weiß gar nicht, wie

01:01:35.425 --> 01:01:37.425
einer der großen Vorteile

01:01:37.425 --> 01:01:39.465
bei Fortran ist halt, dass man, also weshalb das

01:01:39.465 --> 01:01:41.605
glaube ich, jedenfalls, was ich weiß, für numerische

01:01:41.605 --> 01:01:43.705
Geschichten oft verwendet wird, ist das halt da

01:01:43.705 --> 01:01:45.845
die Sprache so, ist das die Compiler automatisch

01:01:45.845 --> 01:01:47.645
vektorisieren können, was ja bei C und C++

01:01:47.645 --> 01:01:49.645
eigentlich nicht geht. Also geht auch, aber man muss dann

01:01:49.645 --> 01:01:51.525
halt selber quasi dem Compiler

01:01:51.525 --> 01:01:52.365
sagen, was er tun soll.

01:01:53.365 --> 01:01:55.705
Ja, beziehungsweise du kannst so Datentypen

01:01:55.705 --> 01:01:57.625
definieren, die Vektoren sind

01:01:57.625 --> 01:01:59.305
und diese ganzen Operationen gehen dann

01:01:59.305 --> 01:02:01.745
automatisch und wenn du eben einen 16-breiten Vektor

01:02:01.745 --> 01:02:03.225
hast, dann

01:02:03.225 --> 01:02:06.205
hat der Compiler

01:02:06.205 --> 01:02:07.785
genügend Informationen, um da

01:02:07.785 --> 01:02:09.025
schlaue Sachen draus zu machen.

01:02:09.605 --> 01:02:11.445
Gerade jetzt heutzutage, ja,

01:02:11.445 --> 01:02:13.385
wo es ja Prozessoren gibt, die ganz viele

01:02:13.385 --> 01:02:15.505
Operationen auf 8 oder auf 16 Sachen gleichzeitig

01:02:15.505 --> 01:02:17.525
machen können und das kriegst du dann halt

01:02:17.525 --> 01:02:19.525
einfach so umsonst, weil du dein Programm

01:02:19.525 --> 01:02:21.305
so geschrieben hast, dass du immer direkt

01:02:21.305 --> 01:02:22.905
16 Sachen gleichzeitig machst

01:02:22.905 --> 01:02:25.505
und dann kompilierst du es und es wird

01:02:25.505 --> 01:02:27.385
dann halt automatisch schneller und das

01:02:27.385 --> 01:02:29.485
ist schon verlockend, das kann ich schon verstehen

01:02:29.485 --> 01:02:30.565
da

01:02:30.565 --> 01:02:32.885
ist eine schöne

01:02:32.885 --> 01:02:35.325
Abstraktionsebene gefunden

01:02:35.325 --> 01:02:37.245
glaube ich, dass man

01:02:37.245 --> 01:02:39.325
eben nicht wie bei C++ oder bei C

01:02:39.325 --> 01:02:41.385
jeden Maschinenbefehl selber schreiben muss

01:02:41.385 --> 01:02:53.785
und gleichzeitig hast du trotzdem noch genügend tiefe Abstraktionen, um schnelle Programme schreiben zu können.

01:02:54.525 --> 01:02:59.165
Das eigentliche Problem an Vortragen ist, glaube ich eher, dass einfach die Sprache schon alt ist.

01:02:59.165 --> 01:03:07.665
Diese Sachen, die man heute als Komfort für sich so kennt und auch nicht vermissen möchte, die gibt es halt einfach nicht.

01:03:07.665 --> 01:03:09.365
Ja, also Altphilologen in der Computersprache

01:03:09.365 --> 01:03:11.145
selten, dass Leute so ein Interesse daran haben,

01:03:11.225 --> 01:03:12.945
ein forensisches, erstmal die alten Sprachen nochmal

01:03:12.945 --> 01:03:15.105
nachzulernen, statt was Neues,

01:03:15.185 --> 01:03:16.565
Modernes anzufangen. Das macht man da eher nicht.

01:03:17.505 --> 01:03:19.185
Wobei, also den Markt gibt es ja

01:03:19.185 --> 01:03:20.745
durchaus noch und auch wieder.

01:03:21.145 --> 01:03:22.985
Kobol-Entwickler. Ich weiß von einigen Firmen, die wieder

01:03:22.985 --> 01:03:25.145
Kobol-Programmierer ausbilden, weil sie es halt noch

01:03:25.145 --> 01:03:27.245
brauchen. Und genauso gibt es

01:03:27.245 --> 01:03:28.845
wissenschaftliche Einrichtungen, die

01:03:28.845 --> 01:03:31.025
Fortrad-Programmierer ausbilden, weil sie es halt

01:03:31.025 --> 01:03:32.805
noch benutzen, weil sie es noch brauchen.

01:03:35.085 --> 01:03:36.305
Möchte man das denn entwickeln?

01:03:36.305 --> 01:03:42.565
Ja genau, ich dachte mir gerade, dass Leute da ausbilden wollen, verstehe ich, dass Leute sich da ausbilden lassen, das ist schwerer zu verstehen.

01:03:43.205 --> 01:03:45.305
Ja gut, das ist ja auch eine ökonomische Abwägung.

01:03:45.425 --> 01:03:47.665
Naja gut, aber die ist auch nicht gerade.

01:03:47.865 --> 01:03:54.465
Ich habe auch eine Fortran-Vorlesung in der Universität gehört, das war schon interessant auch, einfach auch mal aus historischer Sicht.

01:03:55.125 --> 01:03:59.485
Man kann ja auch durchaus viel davon lernen, nur jeden Tag machen möchte ich es nicht.

01:03:59.485 --> 01:04:21.945
Ja, man muss auch dazu eindeutig sagen, dass tatsächlich das eigentliche Rechnen in Python wegen des GIL funktioniert halt nicht. Wenn es wirklich darum geht, möglichst viele Multiplikationen und Additionen auf dem Prozessor zu jagen, da braucht man mit Python gar nicht anzufangen, sondern da muss man dann wirklich halt über NumPy zum Beispiel, das kann das dann ja.

01:04:21.945 --> 01:04:23.965
und da kommt dann auch wieder, gut okay,

01:04:24.065 --> 01:04:25.985
da kommt dann auch, tatsächlich

01:04:25.985 --> 01:04:27.025
ist da nicht

01:04:27.025 --> 01:04:30.025
so viel Fortran drunter, wie man

01:04:30.025 --> 01:04:31.865
sich das denkt, weil gerade

01:04:31.865 --> 01:04:34.145
die großen alten Fortran-Bibliotheken

01:04:34.145 --> 01:04:35.505
tatsächlich

01:04:35.505 --> 01:04:38.505
mehrfach nachimplementiert

01:04:38.505 --> 01:04:39.865
wurden, also es gibt da ja die

01:04:39.865 --> 01:04:41.905
großen, also die

01:04:41.905 --> 01:04:43.885
wichtigste sind immer noch die BLAS,

01:04:44.445 --> 01:04:44.905
die

01:04:44.905 --> 01:04:48.305
Basic Linear Algebra

01:04:48.305 --> 01:04:50.625
Subroutines, die halt sowas wie Matrix-Multiplikation

01:04:50.625 --> 01:04:52.725
enthalten, die halt von den

01:04:52.725 --> 01:04:53.985
Prozessorenherstellern oder

01:04:53.985 --> 01:04:56.805
sehr enthusiastischen

01:04:56.805 --> 01:04:57.445
Hobbyisten

01:04:57.445 --> 01:05:00.845
handoptimiert wurden,

01:05:00.945 --> 01:05:02.625
teilweise bis in die

01:05:02.625 --> 01:05:04.685
Assembler-Ebene runter, um möglichst schnell

01:05:04.685 --> 01:05:06.805
auf einem Prozessor

01:05:06.805 --> 01:05:08.925
sowas wie Matrizen-Multifikationen machen zu können.

01:05:09.685 --> 01:05:10.585
Und das ist tatsächlich,

01:05:10.805 --> 01:05:12.185
also das

01:05:12.185 --> 01:05:13.905
ist noch eine

01:05:13.905 --> 01:05:16.445
Fortran-API, aber unten drunter

01:05:16.445 --> 01:05:18.765
ist tatsächlich irgendwas handoptimiertes,

01:05:18.765 --> 01:05:20.645
weshalb das eigentlich

01:05:20.645 --> 01:05:22.525
mehr so Schein als Sein ist,

01:05:22.685 --> 01:05:24.625
dass das

01:05:24.625 --> 01:05:26.705
noch fortran sei. Aber das

01:05:26.705 --> 01:05:28.905
ist halt so eine bewährte

01:05:28.905 --> 01:05:30.645
API und so eine bewährte API, die wirft man auch

01:05:30.645 --> 01:05:32.565
nicht weg, vor allen Dingen, weil die API ist ja auch nicht das, was

01:05:32.565 --> 01:05:33.025
weh tut.

01:05:34.765 --> 01:05:36.625
Und das Programmieren, das tut natürlich dann

01:05:36.625 --> 01:05:38.645
erst recht weh, weil wenn man dann tatsächlich

01:05:38.645 --> 01:05:40.605
auf Assembler runtergeht und das

01:05:40.605 --> 01:05:42.385
machen die, dann

01:05:42.385 --> 01:05:44.525
das tut natürlich weh.

01:05:46.085 --> 01:05:46.765
Oder natürlich

01:05:46.765 --> 01:05:48.585
heutzutage auch auf Grafikkarten ist das

01:05:48.585 --> 01:05:52.285
ja auch dann sehr beliebt und das ist dann halt sehr schön, dass es dann halt so

01:05:52.285 --> 01:05:56.545
standardisierte Bibliotheks-APIs gibt, bei denen es dann eigentlich völlig egal

01:05:56.545 --> 01:05:58.025
ist, auf was das dann am Ende läuft.

01:05:59.705 --> 01:06:04.525
Ja, das ist interessant, weil man denkt halt manchmal, dann Python wir langsam, aber wenn man dann sowas wie NumPy benutzt, hat man ja

01:06:04.525 --> 01:06:08.445
quasi die Python-API, die man dann ansprechen kann, in der man entwickelt und da unten drunter

01:06:08.445 --> 01:06:12.485
sind dann ja viel mehr... Genau, und das ist halt wieder die Sache mit dem

01:06:12.485 --> 01:06:13.685
Python als Glue.

01:06:13.685 --> 01:06:19.865
wobei ich sagen muss, dass was jetzt tatsächlich

01:06:19.865 --> 01:06:23.505
ein eher größeres Problem bei uns ist

01:06:23.505 --> 01:06:29.485
da zerbrechen sich auch gerade viel schlaue Leute die Köpfe drüber

01:06:29.485 --> 01:06:31.885
das ist nämlich zuverlässige Datenauswertung

01:06:31.885 --> 01:06:36.045
das Problem ist das, was ich erzählt habe, von wie wir unsere Experimentsteuerung machen

01:06:36.045 --> 01:06:39.485
dass man da schnell mal was runterhackt, das ist ja ganz schön

01:06:39.485 --> 01:06:43.145
für sowas, aber das Problem ist, am Ende wollen die Daten ja auch ausgewertet werden

01:06:43.145 --> 01:06:45.445
und tatsächlich, also was wir sehr viel

01:06:45.445 --> 01:06:46.445
mit Jupyter Notebooks machen,

01:06:47.545 --> 01:06:50.945
die haben aber immer das Problem, dass man sich

01:06:50.945 --> 01:06:53.045
fünf Minuten nachdem man die Aussetzung gemacht hat,

01:06:53.125 --> 01:06:55.065
nicht mehr daran erinnern kann, was man eigentlich gemacht hat

01:06:55.065 --> 01:06:56.925
und welches denn der

01:06:56.925 --> 01:06:58.985
Jupyter Notebook Zellen man denn jetzt nur ausgeführt hat

01:06:58.985 --> 01:07:01.045
und welche nicht und an welcher man schnell noch einen Parameter

01:07:01.045 --> 01:07:02.185
gedreht hat und welche nicht.

01:07:03.085 --> 01:07:04.825
Wer lange mit Jupyter Notebooks gearbeitet hat,

01:07:05.085 --> 01:07:06.325
kennt das wahrscheinlich sehr gut.

01:07:07.705 --> 01:07:08.905
Und was natürlich der

01:07:08.905 --> 01:07:11.085
Reproduzierbarkeit, also reproduzierbar

01:07:11.085 --> 01:07:12.845
sind unsere Daten in dem Sinne ja sowieso nicht,

01:07:12.845 --> 01:07:42.825
und Jochen unterhalten sich über die Programmiersprache Python

01:07:42.845 --> 01:07:46.345
vergleicht, wie ich das eine auswerte und was ich das andere auswerte und wenn man dann zwischendurch

01:07:46.345 --> 01:07:50.325
das typische Notebook wieder mal vergessen hat, was man da eigentlich gemacht hat, dann

01:07:50.325 --> 01:07:54.545
ist das sehr unpraktisch und das ist tatsächlich

01:07:54.545 --> 01:07:58.585
bei uns aktuell, also was heißt aktuell, das ist schon

01:07:58.585 --> 01:08:02.585
seit längerem ein Problem, wie man das in Hand hat, dass man

01:08:02.585 --> 01:08:06.565
da reproduzierbar Daten auswertet. Tatsächlich ist es sogar so, dass

01:08:06.565 --> 01:08:10.485
schon das Problem, dass wir, naja, also wir

01:08:10.485 --> 01:08:12.665
Wertender Daten aus und nach einem halben Jahr kommt einer an

01:08:12.665 --> 01:08:14.225
und hat nochmal eine Idee, wie man da vielleicht nochmal

01:08:14.225 --> 01:08:16.505
mit einem anderen Blickwinkel drauf guckt und dann

01:08:16.505 --> 01:08:18.685
sollte es einem besser nicht passieren, dass man versehentlich

01:08:18.685 --> 01:08:20.425
NumPy upgedatet hat und plötzlich

01:08:20.425 --> 01:08:21.685
funktionieren die Skripte nicht mehr.

01:08:23.285 --> 01:08:24.765
Oder kommen zu einem anderen Ergebnis.

01:08:25.405 --> 01:08:26.645
Das ist dann tatsächlich

01:08:26.645 --> 01:08:27.985
ein Problem, weshalb wir tatsächlich

01:08:27.985 --> 01:08:30.705
angefangen haben, einfach komplette

01:08:30.705 --> 01:08:33.345
Virtual Envs

01:08:33.345 --> 01:08:34.505
nehmen wir jetzt gerade noch.

01:08:34.785 --> 01:08:36.485
Wir haben darüber nachgedacht, jetzt ein Conda zu nehmen

01:08:36.485 --> 01:08:38.465
und dann die kompletten Virtual Envs mit

01:08:38.465 --> 01:08:39.765
den Daten zusammen zu speichern.

01:08:39.765 --> 01:08:43.025
und Virtual Env ist dann verglichen mit den Daten einfach winzig,

01:08:44.065 --> 01:08:45.785
damit man, wenn man ein Jahr später nochmal versucht,

01:08:45.865 --> 01:08:48.725
die gleiche Auswertung zu machen, dann tatsächlich zum gleichen Ergebnis kommt.

01:08:51.445 --> 01:08:56.765
Ja, aber das stelle ich mir auch, weil die ganzen Betriebssystem-Bibliotheken

01:08:56.765 --> 01:09:01.385
hat man in Virtual Env ja nicht drin, also Libc oder auch diverse andere Geschichten.

01:09:01.805 --> 01:09:03.985
Das heißt, wenn die sich geupdatet haben, dann kann...

01:09:03.985 --> 01:09:07.205
Das ist richtig, das heißt, dann müsste man dann konsequenterweise

01:09:07.205 --> 01:09:09.165
weiter zu Docker-Containern gehen oder

01:09:09.165 --> 01:09:10.145
ähnlichen Technologien.

01:09:10.185 --> 01:09:13.325
Ja, Ansible hilft

01:09:13.325 --> 01:09:15.005
ja nicht, weil Ansible würde dann ja dasselbe

01:09:15.005 --> 01:09:16.265
Problem haben mit den

01:09:16.265 --> 01:09:18.505
Systembibliotheken, dass man das

01:09:18.505 --> 01:09:21.065
installiert ja auch typischerweise nur auf ein

01:09:21.065 --> 01:09:22.865
existierendes System drauf. Ja, aber du kannst ja

01:09:22.865 --> 01:09:25.105
sagen, was der Extern installieren soll

01:09:25.105 --> 01:09:26.965
und wenn du das Betriebssystem selber auswählen kannst, dann

01:09:26.965 --> 01:09:29.585
kannst du wahrscheinlich auch die Pakete pinnen.

01:09:29.585 --> 01:09:30.445
Ja, das ist richtig.

01:09:31.805 --> 01:09:33.445
Aber ich muss ganz

01:09:33.445 --> 01:09:35.405
ehrlich gestanden sagen, daran arbeiten wir noch.

01:09:35.405 --> 01:09:48.345
Also bisher sind wir ganz stolz darauf, da sind wir glaube ich schon fast Vorreiter, nein wahrscheinlich nicht, aber dass wir wenigstens unsere Daten mit den Virtual Env's speichern, dass wir wenigstens da eine verlässliche Datenauswertung haben.

01:09:48.845 --> 01:10:03.005
Also in der Physik war es bisher doch recht häufig üblich, dass man die Daten auswertet und dann wenn man eine Publikation macht, die Auswertung auf eine CD brennt und dann mit ins Archiv gibt.

01:10:03.005 --> 01:10:08.605
Ich weiß nicht, wie oft jemand tatsächlich so eine CD wieder rausgeholt hat.

01:10:08.725 --> 01:10:11.185
Und wenn, ob die dann noch funktioniert, das war sehr unklar.

01:10:13.365 --> 01:10:16.165
Das war dann doch eine eher symbolische Aktion.

01:10:16.565 --> 01:10:17.445
Und das bei den Physikern.

01:10:18.605 --> 01:10:19.705
Ja, also da...

01:10:19.705 --> 01:10:22.305
Ja gut, das ist ja noch vergleichsweise fortgeschritten.

01:10:22.445 --> 01:10:26.085
In der Medizin wirst du halt die Auswertung gemacht und dann sind die Daten fertig.

01:10:26.445 --> 01:10:27.185
Oder du drückst sie aus.

01:10:27.185 --> 01:10:29.165
Ja, wobei

01:10:29.165 --> 01:10:31.225
ich glaube, dass die Medizin

01:10:31.225 --> 01:10:33.005
sogar im Gegenteil mit solchen Sachen

01:10:33.005 --> 01:10:34.745
sogar weiter ist, weil sie

01:10:34.745 --> 01:10:37.405
ja, also gerade

01:10:37.405 --> 01:10:39.425
wenn in irgendwelche Zulassungsverfahren

01:10:39.425 --> 01:10:41.325
gehen, da gucken die Leute tatsächlich

01:10:41.325 --> 01:10:42.525
Ja, Zulassungsverfahren, klar

01:10:42.525 --> 01:10:45.025
Aber Forschungspapers

01:10:45.025 --> 01:10:47.105
normalerweise, also wenn du eine Appendix hast

01:10:47.105 --> 01:10:48.685
kannst du, wie der Dominik sagt,

01:10:48.905 --> 01:10:50.985
kannst du ja abtippen

01:10:50.985 --> 01:10:52.625
Wenn du die Rohdaten überhaupt kriegst

01:10:52.625 --> 01:10:54.725
Ja, also bei uns ist

01:10:54.725 --> 01:10:56.745
die Rohdaten zu kriegen illusorisch

01:10:56.745 --> 01:10:59.105
weil sie sind einfach zu groß.

01:11:00.345 --> 01:11:03.205
Wie lange speichert ihr denn eure Daten?

01:11:03.265 --> 01:11:04.885
Wie lange könnte man denn zu euch kommen und sagen,

01:11:05.005 --> 01:11:06.285
hier, ich habe mir jetzt noch was eingefallen?

01:11:06.385 --> 01:11:09.305
Das ist eine Frage, die ich dir tatsächlich

01:11:09.305 --> 01:11:11.105
noch nicht beantworten kann, weil noch sind

01:11:11.105 --> 01:11:12.005
die Platten nicht voll.

01:11:13.465 --> 01:11:13.905
Ah, okay.

01:11:15.905 --> 01:11:17.085
Irgendwann ist das Ziel

01:11:17.085 --> 01:11:18.565
der Serverraum.

01:11:20.965 --> 01:11:23.005
Der Serverraum steht gar nicht bei uns, sondern

01:11:23.005 --> 01:11:25.165
irgendwo in Hamburg ist da so ein

01:11:25.165 --> 01:11:27.625
Serverraum. Den habe ich noch nie gesehen. Weiß ich nicht, wie groß der ist.

01:11:29.065 --> 01:11:29.665
Ich weiß nicht,

01:11:29.705 --> 01:11:31.325
wie viel Platz da ist, wie viel Platz wir grundsätzlich

01:11:31.325 --> 01:11:32.985
noch finanzieren können. Also bisher

01:11:32.985 --> 01:11:34.465
muss man sagen,

01:11:35.485 --> 01:11:37.505
es gibt so Wochen, wo wir so viele Daten

01:11:37.505 --> 01:11:39.465
produzieren. Wenn wir mit

01:11:39.465 --> 01:11:41.345
unserem Hauptdetektor arbeiten, dann ist das so, dann

01:11:41.345 --> 01:11:43.425
kommt da so viel Daten raus. Wenn wir nicht mit

01:11:43.425 --> 01:11:45.105
unserem Hauptdetektor arbeiten, es gibt auch

01:11:45.105 --> 01:11:47.225
völlig andere Experimente, wo man

01:11:47.225 --> 01:11:49.345
alle 10 Sekunden ein Bild schießt

01:11:49.345 --> 01:11:50.745
von 2 Megapixel

01:11:50.745 --> 01:11:53.085
und dann, ja,

01:11:53.085 --> 01:11:54.725
Das ist ja fast redundant dann im Vergleich.

01:11:55.065 --> 01:12:03.545
Genau, das ist dann, wenn du plötzlich beginnst, dass tatsächlich dann Virtual Env das Größte auf der Platte ist.

01:12:04.265 --> 01:12:07.665
Aber das ist dann auch egal, weil im Vergleich, also dann hat man halt...

01:12:07.665 --> 01:12:08.305
Das spielt keine Rolle.

01:12:08.525 --> 01:12:09.525
Genau, das geht dann unter.

01:12:11.725 --> 01:12:13.185
Das ist dann auch immer sehr schön dann.

01:12:13.185 --> 01:12:21.265
Also da muss man sagen, wenn man da mit unserem Hauptdetektor mit 5000 Bildern pro Sekunde arbeitet,

01:12:21.265 --> 01:12:22.985
dann muss man halt wirklich, da hängt halt

01:12:22.985 --> 01:12:24.885
wirklich auch Rechenpower hinten dran, das

01:12:24.885 --> 01:12:26.945
ausrechnet und dann gibt es dann

01:12:26.945 --> 01:12:29.345
ganze Stäbe von Leuten, die nur dafür zuständig sind

01:12:29.345 --> 01:12:30.805
das am Laufen zu halten, dass dann die ganzen

01:12:30.805 --> 01:12:32.725
Prozessketten da hinten dann das nur machen

01:12:32.725 --> 01:12:35.125
während wenn wir dann nur alle 10 Sekunden

01:12:35.125 --> 01:12:36.685
ein Bild nehmen, ist das viel schöner, weil dann

01:12:36.685 --> 01:12:39.205
kann man das tatsächlich auch alles mit

01:12:39.205 --> 01:12:41.025
ein paar Python-Skripten machen und

01:12:41.025 --> 01:12:43.185
dann ist man auch deutlich flexibler

01:12:43.185 --> 01:12:44.325
darin

01:12:44.325 --> 01:12:46.045
irgendwas Schönes zu machen

01:12:46.045 --> 01:12:49.125
In welchem

01:12:49.125 --> 01:12:50.565
das kommt mir jetzt gerade so in den Sinn, weil

01:12:50.565 --> 01:12:53.105
in welchem Format werden die Daten denn dann abgespeichert?

01:12:53.865 --> 01:12:55.085
Wird das einfach, also es gibt ja

01:12:55.085 --> 01:12:57.185
diese diverse Formate für wissenschaftliche

01:12:57.185 --> 01:12:59.365
Zwecke, also NetCDF

01:12:59.365 --> 01:13:00.005
oder wie heißt das?

01:13:00.585 --> 01:13:02.625
Also unseres ist HD5.

01:13:03.545 --> 01:13:04.385
Ja, genau.

01:13:04.745 --> 01:13:06.765
Oder SQLite habe ich jetzt gerade gedacht, könnte man ja auch nehmen.

01:13:07.625 --> 01:13:08.525
HD5 nehmen wir.

01:13:11.525 --> 01:13:11.965
Wobei,

01:13:13.505 --> 01:13:15.065
da muss man eine ganze Menge daran rum

01:13:15.065 --> 01:13:17.065
entwickeln, dass wir

01:13:17.065 --> 01:13:19.285
überhaupt schnell genug schreiben können.

01:13:19.285 --> 01:13:21.345
Tatsächlich ist das so, dass wir in

01:13:21.345 --> 01:13:23.565
mehrere

01:13:23.565 --> 01:13:25.765
HD5-Dateien parallel reinschreiben

01:13:25.765 --> 01:13:27.565
weil ansonsten die

01:13:27.565 --> 01:13:29.845
HD5-Bibliothek doch an ihre

01:13:29.845 --> 01:13:30.665
Grenzen käme

01:13:30.665 --> 01:13:33.785
Ich finde sowas super spannend

01:13:33.785 --> 01:13:35.305
weil in diesen Bereichen

01:13:35.305 --> 01:13:37.045
trifft man dann auch so Probleme

01:13:37.045 --> 01:13:39.705
die man sich so als normaler Entwickler gar nicht

01:13:39.705 --> 01:13:41.005
vorstellen kann

01:13:41.005 --> 01:13:42.885
schon allein die

01:13:42.885 --> 01:13:45.585
Bandbreite zu haben, die Daten aus diesem

01:13:45.585 --> 01:13:47.765
Sensor auslesen zu können, das muss ja

01:13:47.765 --> 01:13:51.845
gigantisch sein und das geht ja weit über das hinaus, was man so als normaler

01:13:51.845 --> 01:13:54.825
Mensch in einem Computer je sehen kann und

01:13:54.825 --> 01:13:59.765
wenn man sich überlegt, wie viel Bandbreite da an Speicherplatz einfach rauskommen

01:13:59.765 --> 01:14:03.785
muss, da zerbrechen viele

01:14:03.785 --> 01:14:07.665
von den Abstraktionen, die man normalerweise so hat. Ja, bei uns kommen tatsächlich die Glasfaser

01:14:07.665 --> 01:14:11.685
da bündelweise aus den Detektoren raus und

01:14:11.685 --> 01:14:15.005
das ist, ja, da hängt richtig Rechenpower dahinter.

01:14:15.005 --> 01:14:18.205
Ja klar und das muss dann in irgendwelche Speicherbänke

01:14:18.205 --> 01:14:20.005
reingehen und von den Speicherbänken muss es

01:14:20.005 --> 01:14:20.885
irgendwo auf

01:14:20.885 --> 01:14:23.965
Speicher gehen, aber

01:14:23.965 --> 01:14:25.945
ein Kabel reicht an keiner Stelle, das heißt

01:14:25.945 --> 01:14:28.205
das muss sicherlich alles parallel sein

01:14:28.205 --> 01:14:29.265
Ja genau, das

01:14:29.265 --> 01:14:30.045
da

01:14:30.045 --> 01:14:34.205
stapelweise an Rechnern stehen dann da übereinander, die das dann

01:14:34.205 --> 01:14:37.945
verteilen. Die es alle gleichzeitig

01:14:37.945 --> 01:14:39.705
abkriegen. Ja, ja, ja

01:14:39.705 --> 01:14:41.245
Das ist tatsächlich

01:14:41.245 --> 01:14:43.125
das ist immer sehr lustig

01:14:43.125 --> 01:14:46.785
Ich finde das immer so lustig,

01:14:47.245 --> 01:14:51.625
dass wenn wir anfangen Daten zu nehmen, dann dauert das mehrere Sekunden,

01:14:51.725 --> 01:14:55.565
bis alle TCP-Verbindungen aufgebaut sind, um dann die Daten

01:14:55.565 --> 01:14:59.665
zu, einfach nur das Aufbauen der Verbindungen dauert mehrere Sekunden.

01:15:01.165 --> 01:15:01.885
Das ist ja schon.

01:15:03.245 --> 01:15:06.645
Ja, das hört man sich tatsächlich recht witzig vor, wenn die Sachen durcheinander fliegen,

01:15:06.645 --> 01:15:09.345
so eine Riesenmenge, wie man den auffangen will.

01:15:09.345 --> 01:15:13.745
Also das ist auf jeden Fall, glaube ich, eher Big Data dann tatsächlich irgendwo, so ein bisschen

01:15:13.745 --> 01:15:19.465
Ja, wobei es auf der einen Seite natürlich schon, dass es natürlich Big Data ist, also von der reinen schieren Größe her

01:15:19.465 --> 01:15:25.445
Auf der anderen Seite, also was man normalerweise unter Big Data sind, sind halt deutlich strukturierter, als dass wir das haben

01:15:25.445 --> 01:15:27.645
Wir haben da ja einfach nur Bilddaten

01:15:27.645 --> 01:15:28.585
Bilddaten, ja

01:15:28.585 --> 01:15:34.425
Okay, also argumentiert ihr die direkt oder sowas?

01:15:34.665 --> 01:15:38.585
Oder gibt es ein Post-Processing, dass da viele Informationen mal reinfließen?

01:15:38.585 --> 01:15:40.625
oder ist das einfach nur dann pro Experiment

01:15:40.625 --> 01:15:43.265
irgendwie so ein Metainformationsding?

01:15:44.265 --> 01:15:46.565
Also wir müssen tatsächlich

01:15:46.565 --> 01:15:48.105
während des Experiments darauf reagieren können.

01:15:49.185 --> 01:15:49.385
Das heißt,

01:15:49.765 --> 01:15:52.505
während des Experiments werden bereits alle Daten

01:15:52.505 --> 01:15:54.925
rudimentär

01:15:54.925 --> 01:15:55.505
ausgewertet,

01:15:56.085 --> 01:15:58.625
damit wir eine Idee kriegen, ob die Daten

01:15:58.625 --> 01:15:59.165
überhaupt gut sind.

01:15:59.825 --> 01:16:02.725
Wir können es uns nicht leisten, dort mehrere Stunden

01:16:02.725 --> 01:16:04.405
lang irgendwas zu messen und am Ende festzustellen,

01:16:04.505 --> 01:16:06.545
dass wir leider vergessen haben, die Probe

01:16:06.545 --> 01:16:07.985
in den Strahl zu fahren oder so etwas.

01:16:08.585 --> 01:16:10.985
und ja, sowas passiert halt auch.

01:16:13.805 --> 01:16:16.925
Oder auch, dass man dann halt feststellt,

01:16:17.065 --> 01:16:18.925
okay, wir haben mit viel zu viel Intensität gemessen,

01:16:19.365 --> 01:16:23.285
also das ist völlig ausgeleuchtet, der Detektor, man sieht gar nichts mehr

01:16:23.285 --> 01:16:26.365
oder es war jetzt alles viel zu dunkel oder was weiß ich was,

01:16:26.425 --> 01:16:27.905
das kann ja alles gleich passieren.

01:16:29.365 --> 01:16:32.945
Und deshalb muss die ganze Zeit auch,

01:16:33.185 --> 01:16:35.745
währenddessen werden die Daten rudimentär ausgewertet,

01:16:35.745 --> 01:17:05.725
und Jochen unterhalten sich über die Programmiersprache Python

01:17:05.745 --> 01:17:07.765
besser, also Visualisierung doch besser in einer

01:17:07.765 --> 01:17:09.745
Web-Anwendung und nicht

01:17:09.745 --> 01:17:10.405
so mit einem

01:17:10.405 --> 01:17:13.285
Standalone-Desktop-Ding.

01:17:13.825 --> 01:17:14.645
Genau, aber

01:17:14.645 --> 01:17:17.785
die Entscheidung ist damals dafür gefallen

01:17:17.785 --> 01:17:18.445
und

01:17:18.445 --> 01:17:21.765
das läuft jetzt so.

01:17:22.525 --> 01:17:23.705
Und das ist ja auch Python, also

01:17:23.705 --> 01:17:24.285
so ist es jetzt nicht.

01:17:25.185 --> 01:17:27.625
Und ihr habt auch keine Lizenz-Systeme, weil ihr eine öffentliche

01:17:27.625 --> 01:17:28.545
Institution seid wahrscheinlich?

01:17:29.945 --> 01:17:30.505
Nee, ist das ja nicht.

01:17:30.785 --> 01:17:32.665
Wir sind eine öffentliche Institution, aber

01:17:32.665 --> 01:17:34.205
Python ist doch LGPL.

01:17:34.205 --> 01:17:34.725
Genau.

01:17:35.745 --> 01:17:37.905
sogar als es GPL war, da wir grundsätzlich

01:17:37.905 --> 01:17:40.085
alles, naja, sagen wir so,

01:17:40.285 --> 01:17:42.005
wir würden, also eigentlich sollte

01:17:42.005 --> 01:17:43.525
alles quelloffen sein.

01:17:48.025 --> 01:17:48.425
Ja,

01:17:48.985 --> 01:17:51.205
wir halten uns da dran, dass jeder,

01:17:51.945 --> 01:17:53.705
in der GPL steht ja drin, dass

01:17:53.705 --> 01:17:55.925
jedem, dem man den Binärcode gibt, dann auch den Quellcode

01:17:55.925 --> 01:17:57.805
geben muss. Das tun wir auch. Bisher ist es

01:17:57.805 --> 01:17:59.805
allerdings so, dass bisher noch keiner vorbeigekommen ist

01:17:59.805 --> 01:18:00.505
mit dem Binärcode.

01:18:00.505 --> 01:18:26.365
und ich glaube, der Grund, dass wir es noch nicht veröffentlicht haben, ist, dass wir das Ganze noch so machen wollten,

01:18:26.365 --> 01:18:28.965
dass das schön aussieht, damit es uns nicht zu peinlich ist.

01:18:28.965 --> 01:18:31.085
Ja, gerade

01:18:31.085 --> 01:18:32.765
in der Anfangszeit ist

01:18:32.765 --> 01:18:34.825
das ist doch alles sehr schnell

01:18:34.825 --> 01:18:36.885
gestrickt worden. Das Schöne ist,

01:18:36.925 --> 01:18:38.725
dass es mit Python geht, dass man mit Python auch

01:18:38.725 --> 01:18:40.365
mit schön gestricktem Code,

01:18:41.105 --> 01:18:42.765
also mit schnell gestricktem Code am Ende doch

01:18:42.765 --> 01:18:44.845
noch sehr schöne Sachen

01:18:44.845 --> 01:18:45.405
rauskriegt.

01:18:49.525 --> 01:18:50.805
Es ist total witzig,

01:18:50.885 --> 01:18:52.565
ich war vor ein paar Jahren auch in so einem Big Data

01:18:52.565 --> 01:18:54.485
Projekt drin, kommerzieller Natur,

01:18:54.625 --> 01:18:56.525
nicht ganz so groß wie eures und

01:18:56.525 --> 01:18:58.845
da gibt es auch eine Visualisierungsoberfläche,

01:18:58.965 --> 01:19:00.565
auch in PyQt geschrieben ist.

01:19:01.625 --> 01:19:03.105
Und auch da wird über eine Weblösung

01:19:03.105 --> 01:19:04.785
nachgedacht und man ist aber noch nicht so weit.

01:19:04.925 --> 01:19:06.845
Also es ist schön zu hören, dass die Probleme

01:19:06.845 --> 01:19:08.025
doch überall die gleichen sind.

01:19:08.985 --> 01:19:10.865
Also grundsätzlich finde ich ja PyQt 5

01:19:10.865 --> 01:19:12.025
ist tatsächlich eigentlich

01:19:12.025 --> 01:19:14.965
eine sehr schöne Bibliothek, wenn man so eine

01:19:16.425 --> 01:19:17.725
Desktop-Anwendung

01:19:17.725 --> 01:19:18.185
machen will.

01:19:19.045 --> 01:19:20.125
Aber wenn man ehrlich ist,

01:19:20.785 --> 01:19:22.785
sind solche Desktop-Anwendungen

01:19:22.785 --> 01:19:24.025
eigentlich heutzutage so ein bisschen

01:19:24.025 --> 01:19:25.065
nicht mehr.

01:19:27.385 --> 01:19:28.865
Ja, man hat das ja früher gemacht,

01:19:28.965 --> 01:19:32.765
weil es halt nicht anders ging, weil du halt irgendwelche Grafiken anzeigen musstest

01:19:32.765 --> 01:19:35.705
und dann irgendwelche interaktiven Sachen machen musstest mit diesen Grafiken

01:19:35.705 --> 01:19:41.605
und dann, ja, normal vor fünf bis zehn Jahren war das im Web noch nicht so einfach,

01:19:41.785 --> 01:19:44.385
aber heutzutage ist es ja kein Problem mehr.

01:19:45.085 --> 01:19:48.825
Genau, also wir haben angefangen damals mit der Programmierung, also 2009,

01:19:49.825 --> 01:19:51.385
damals tatsächlich noch Python 2.

01:19:52.085 --> 01:19:52.305
Ja.

01:19:52.305 --> 01:19:59.045
und wir haben dann glücklicherweise den Umstieg schnell genug geschafft.

01:20:01.165 --> 01:20:05.125
Ja, aber genau, damit habt ihr schon immer die Motoren und so gescheitert,

01:20:05.205 --> 01:20:10.625
weil dann hattet ihr das Problem, dass ihr da quasi ja nicht blockieren konntet,

01:20:10.705 --> 01:20:13.645
während ein Motor sich verstellt hat, schon länger.

01:20:14.005 --> 01:20:18.665
Und als I.O. gibt es ja jetzt erst seit 2015, 14, 15, irgendwann ging das los.

01:20:18.665 --> 01:20:20.765
Ja, also

01:20:20.765 --> 01:20:23.865
vorher waren wir einfach noch nicht so weit

01:20:23.865 --> 01:20:24.685
dass wir, also

01:20:24.685 --> 01:20:27.205
in Betrieb gegangen sind wir 2017

01:20:27.205 --> 01:20:29.425
und vorher

01:20:29.425 --> 01:20:31.505
hatten wir ein paar

01:20:31.505 --> 01:20:33.665
Demonstrationsdinger noch nur da rumstehen

01:20:33.665 --> 01:20:35.865
es hat lange gedauert

01:20:35.865 --> 01:20:37.765
die tausend Motoren da überhaupt einzubauen

01:20:37.765 --> 01:20:39.905
und erst wenn du dann genügend von denen

01:20:39.905 --> 01:20:42.125
eingebaut hast, stellst du dir dann halt die Frage

01:20:42.125 --> 01:20:43.625
dass man die auch tatsächlich parallel fährt

01:20:43.625 --> 01:20:46.085
und dann haben wir

01:20:46.085 --> 01:20:47.885
glücklicherweise noch im richtigen Moment

01:20:47.885 --> 01:20:50.065
die Kurve gekriegt und das Ganze

01:20:50.065 --> 01:20:51.845
nochmal, also dann kam

01:20:51.845 --> 01:20:53.825
im richtigen Moment auch Async.io

01:20:53.825 --> 01:20:55.905
vorbei und dann konnte man das alles

01:20:55.905 --> 01:20:57.945
gleichzeitig. Bei den 1000 Modulen muss ich immer

01:20:57.945 --> 01:20:59.965
an das von Johannes veröffentlichte

01:20:59.965 --> 01:21:01.625
Ding da zum Raumschiff fliegen denken.

01:21:04.045 --> 01:21:04.665
Du hast doch mal...

01:21:04.665 --> 01:21:07.925
Ja, das ist irgendwie so ein Blockantrag,

01:21:07.965 --> 01:21:09.465
ich weiß nicht, mit der Steuerung, die man da machen kann.

01:21:11.465 --> 01:21:12.145
Ich weiß nicht,

01:21:12.225 --> 01:21:13.865
ich denke schon die ganze Zeit darüber nach, wie man das

01:21:13.865 --> 01:21:15.465
wohl in der Home-Automatisierung

01:21:15.465 --> 01:21:17.345
verwenden könnte.

01:21:17.885 --> 01:21:19.585
tausend Motoren in der Küche platziert,

01:21:19.925 --> 01:21:21.565
die dann, keine Ahnung, die Gewürze dosieren.

01:21:22.485 --> 01:21:23.485
Aber wie ist das denn?

01:21:24.865 --> 01:21:25.745
Wobei wir dann,

01:21:25.785 --> 01:21:27.365
das muss man auch der Ehrlichkeit

01:21:27.365 --> 01:21:29.625
noch dazu gestehen, noch einmal

01:21:29.625 --> 01:21:31.545
eine Ebene unten drunter haben. Das ist

01:21:31.545 --> 01:21:32.485
dann eine

01:21:32.485 --> 01:21:35.565
kommerzielle Lösung tatsächlich von einer

01:21:35.565 --> 01:21:36.945
Firma namens Beckhoff, die dann

01:21:36.945 --> 01:21:39.585
die Motoren, die eigentliche

01:21:39.585 --> 01:21:40.885
Motorensteuerung macht.

01:21:41.625 --> 01:21:43.465
Das, was wir in Python bisher nicht

01:21:43.465 --> 01:21:45.465
machen, ist die Echtzeitsachen.

01:21:46.605 --> 01:21:47.645
Dafür ist, glaube ich,

01:21:47.645 --> 01:21:49.185
auch einfach nicht gut genug.

01:21:49.945 --> 01:21:52.005
Also nicht die geeignete Sprache.

01:21:52.565 --> 01:21:53.945
Also wenn

01:21:53.945 --> 01:21:55.905
der Motor dann

01:21:55.905 --> 01:21:57.825
tatsächlich, also da muss man

01:21:57.825 --> 01:21:59.325
dann irgendwann am Ende unten mit

01:21:59.325 --> 01:22:01.965
mindestens mal 100 Hertz dann den Motor abfragen,

01:22:02.025 --> 01:22:03.545
wo bist du denn jetzt? Und dann ihn dann

01:22:03.545 --> 01:22:04.945
dementsprechend schneller oder langsamer machen.

01:22:05.805 --> 01:22:07.705
Und das geht

01:22:07.705 --> 01:22:08.445
mit Python

01:22:08.445 --> 01:22:10.925
eher nicht.

01:22:11.645 --> 01:22:13.745
Also ein Realtime-Python wäre mir jetzt nicht gut.

01:22:13.745 --> 01:22:14.425
Das ist auch häufig so, ja.

01:22:15.425 --> 01:22:17.305
Das ist auch häufig so, glaube ich, dass man dann

01:22:17.305 --> 01:22:19.365
nach so einer Schicht hat, wo man einfach sagt, ich möchte,

01:22:19.565 --> 01:22:21.265
dass der Motor zum Zeitpunkt X an der Stelle

01:22:21.265 --> 01:22:22.585
Y ist und das dann einfach

01:22:22.585 --> 01:22:24.825
wegschiebt und sagt,

01:22:25.425 --> 01:22:27.325
sorg mal dafür. Ja, dafür haben wir uns

01:22:27.325 --> 01:22:29.345
eine kommerzielle Lösung gekauft, aber ich

01:22:29.345 --> 01:22:31.385
muss sagen, dass die kommerzielle Lösung

01:22:31.385 --> 01:22:33.605
genau das Problem hat, dass kommerzielle Lösungen

01:22:33.605 --> 01:22:35.225
immer haben, dass wir da dann,

01:22:35.505 --> 01:22:36.985
wenn man da an eine Grenze kommt,

01:22:37.525 --> 01:22:39.545
dann ist die Grenze

01:22:39.545 --> 01:22:39.985
auch hart.

01:22:40.365 --> 01:22:43.105
Da läuft man mit dem Kopf gegen die Wand.

01:22:44.225 --> 01:22:45.565
Oder man muss viel Geld ausgeben.

01:22:45.565 --> 01:22:57.125
Richtig, also jetzt ist es tatsächlich so, dass wenn man für anderthalb Milliarden so einen Tunnel gegraben hat, dann kann man auch mal tatsächlich ein bisschen Geld in die Hand nehmen, aber das ist nicht so.

01:22:57.125 --> 01:22:58.925
irgendwo ein Ende haben. Ja, genau.

01:22:59.205 --> 01:23:00.525
Und es ist, also

01:23:00.525 --> 01:23:02.465
für ganz Kleinigkeiten will man dann

01:23:02.465 --> 01:23:04.705
auch nicht mehr, ja,

01:23:05.045 --> 01:23:05.185
und

01:23:05.185 --> 01:23:09.065
solche kommerziellen Lösungen scheitern

01:23:09.065 --> 01:23:10.945
doch am Ende sehr an der Flexibilität.

01:23:11.445 --> 01:23:12.605
Muss auch sagen, dass die,

01:23:14.405 --> 01:23:14.845
die,

01:23:15.165 --> 01:23:17.085
als wir auf die Idee gekommen sind,

01:23:17.185 --> 01:23:19.245
dem Hersteller Beckhoff zu erzählen,

01:23:19.305 --> 01:23:20.885
dass wir unsere Projekte

01:23:20.885 --> 01:23:22.705
in einer Versionskontrolle halten, da

01:23:22.705 --> 01:23:25.025
haben die

01:23:25.025 --> 01:23:26.205
schon ganz schön geschluckt.

01:23:27.125 --> 01:23:34.345
und als es dann hieß, wir finden aber nicht Subversion, sondern Git, da haben die richtige Angst bekommen.

01:23:35.825 --> 01:23:45.645
Das ist tatsächlich in der Welt der Automatisierung, sind das alles noch Träumereien, sowas macht man nicht.

01:23:45.645 --> 01:24:15.625
und Jochen unterhalten sich über die Programmiersprache Python

01:24:15.645 --> 01:24:19.705
und die IDE, die speichert halt die Sachen in ihrem eigenen Format.

01:24:19.885 --> 01:24:23.045
Also ich weiß nicht, also das ist am Ende ist das auch nur,

01:24:23.145 --> 01:24:25.645
also die Sprache, die die haben, ist eine Pascal-ähnliche Sprache,

01:24:26.305 --> 01:24:29.885
die international genormt ist und dafür tatsächlich auch gar nicht so doof ist.

01:24:31.225 --> 01:24:55.788
Also es ist sehr interessant diese Welt sich mal anzugucken Zum Beispiel also die Welt von Steuerungssoftware von wie nennt sich das Speicherprogrammierer aber Steuerung nennt sich das auf Deutsch da gibt es eine Programmiersprache die so ganz andere grunds Eigenschaften haben die zum Beispiel keine dynamische Speicherverwaltung kennen und das absichtlich nicht weil wenn man eine Maschine hat dann braucht man nicht pl mehr Speicher

01:24:57.248 --> 01:24:59.788
Und bei denen wird, das ist eine Sprache, die von vorne...

01:24:59.788 --> 01:25:01.788
Man will das, man will das auch gar nicht, weil das...

01:25:01.788 --> 01:25:03.027
Das macht ja eher Abschlüsse.

01:25:03.188 --> 01:25:04.288
Das ist ganz schlecht.

01:25:05.288 --> 01:25:07.507
Und das sind dann

01:25:07.507 --> 01:25:09.708
konzeptuell andere Sprachen, die aber auch

01:25:09.708 --> 01:25:11.728
für den Anwendungsfall tatsächlich sehr gut

01:25:11.728 --> 01:25:12.527
sind, muss ich sagen.

01:25:13.427 --> 01:25:15.308
Und das Einzige ist, dass die dann irgendwie

01:25:15.308 --> 01:25:17.668
in IDEs reingepackt

01:25:17.668 --> 01:25:19.648
werden und das

01:25:19.648 --> 01:25:21.547
sieht dann sehr Pascal-ähnlich aus und warum

01:25:21.547 --> 01:25:23.888
man dann diesen Pascal-Code

01:25:23.888 --> 01:25:25.808
dann am Ende in XML-Dateien

01:25:25.808 --> 01:25:27.168
reinstecken muss,

01:25:27.708 --> 01:25:28.927
habe ich nicht verstanden.

01:25:30.168 --> 01:25:31.507
Weil man mit XML alles macht.

01:25:31.788 --> 01:25:34.848
weil man mit XML einfach alles machen kann.

01:25:34.947 --> 01:25:36.248
Spezifikation, ganz so die Idee.

01:25:36.888 --> 01:25:43.408
Deshalb und dann dieses XML dann wiederum in eine Versionskontrolle wie Git reinzutun,

01:25:43.547 --> 01:25:49.368
ist dann, ja also irgendwie fühlt sich das nicht gut an.

01:25:51.067 --> 01:25:55.388
Also insbesondere wenn man dann mergen will und dann, ja was passiert denn,

01:25:55.388 --> 01:26:00.388
wenn da dann in dem XML rundherum sich was geändert hat und will das dann mergen.

01:26:00.388 --> 01:26:01.047
das ist ja

01:26:01.047 --> 01:26:02.047
ja

01:26:02.047 --> 01:26:05.848
da gibt es dann noch solche Sachen wie

01:26:05.848 --> 01:26:07.408
dass dann die

01:26:07.408 --> 01:26:10.328
also

01:26:10.328 --> 01:26:12.107
man kompiliert dann seinen Code

01:26:12.107 --> 01:26:14.348
und man hat dann ja immer

01:26:14.348 --> 01:26:16.648
den Computer der vor einem steht

01:26:16.648 --> 01:26:18.228
und dann als zweites

01:26:18.228 --> 01:26:19.927
diese speicherprogrammierbare Steuerung

01:26:19.927 --> 01:26:22.427
die dann möglicherweise an der Maschine

01:26:22.427 --> 01:26:23.248
verbaut ist

01:26:23.248 --> 01:26:25.888
und jetzt ist es so, dass die gesamten

01:26:25.888 --> 01:26:28.368
Debug-Informationen, die schreibt man natürlich nicht

01:26:28.368 --> 01:26:29.567
mit auf die Maschine drauf

01:26:29.567 --> 01:26:32.228
am Ende kommt noch der Kunde

01:26:32.228 --> 01:26:34.328
vorbei und dekompiliert

01:26:34.328 --> 01:26:36.168
den Code. Das heißt,

01:26:36.947 --> 01:26:38.388
die Debug-Informationen des Codes

01:26:38.388 --> 01:26:40.188
sind nicht mit dem Code zusammen, sondern

01:26:40.188 --> 01:26:42.248
auf deiner Maschine, auf deiner

01:26:42.248 --> 01:26:44.047
eigenen. Und wenn du dann

01:26:44.047 --> 01:26:46.288
nach drei Jahren wieder kommst und

01:26:46.288 --> 01:26:48.268
der Kunde sagt, an der Maschine

01:26:48.268 --> 01:26:50.248
kannst du mal gucken, was da los ist, dann

01:26:50.248 --> 01:26:52.107
musst du dann deinen eigenen Debug-Code bei dir

01:26:52.107 --> 01:26:52.688
wiederfinden.

01:26:56.268 --> 01:26:58.507
Wie löst

01:26:58.507 --> 01:27:00.627
man das? Ja, das ist ganz einfach.

01:27:00.768 --> 01:27:02.467
Man speichert, also

01:27:02.467 --> 01:27:03.947
man kompiliert das und

01:27:03.947 --> 01:27:06.467
checkt dann das Binary mit

01:27:06.467 --> 01:27:07.888
in Subversion ein.

01:27:10.087 --> 01:27:10.408
Ja.

01:27:11.688 --> 01:27:11.967
Yay.

01:27:12.967 --> 01:27:16.607
Das sind

01:27:16.607 --> 01:27:18.447
alles Sachen, da

01:27:18.447 --> 01:27:20.268
dreht sich einem als

01:27:20.268 --> 01:27:22.547
Python-Programmierer der Magen um.

01:27:24.087 --> 01:27:24.507
Aber

01:27:24.507 --> 01:27:25.507
naja,

01:27:26.967 --> 01:27:27.947
dafür läuft es

01:27:27.947 --> 01:27:28.567
dann halt,

01:27:30.087 --> 01:27:32.427
ja, die haben halt auch Zuverlässigkeitsanforderungen.

01:27:33.388 --> 01:27:34.047
Ja, aber wäre da nicht,

01:27:34.208 --> 01:27:36.168
also, weil das höre ich auch immer aus dem Musikbereich

01:27:36.168 --> 01:27:38.027
oder sowas, was auf Echtzeit ankommt, die verwenden

01:27:38.027 --> 01:27:39.888
da oft jetzt, also CircuitPython oder

01:27:39.888 --> 01:27:41.228
MicroPython oder sowas.

01:27:42.007 --> 01:27:44.107
Kann man, wäre das nicht eine Idee, das mit sowas

01:27:44.107 --> 01:27:45.748
zu machen, weil...

01:27:45.748 --> 01:27:47.348
Ja,

01:27:48.087 --> 01:27:50.107
also ich wäre

01:27:50.107 --> 01:27:51.368
dafür...

01:27:51.368 --> 01:27:53.148
Da bewegt sich, glaube ich, einiges.

01:27:53.507 --> 01:27:54.467
Ja, definitiv.

01:27:54.467 --> 01:27:55.107
In den letzten Jahren.

01:27:56.007 --> 01:27:56.927
Wobei ich da,

01:27:56.927 --> 01:27:59.967
eigentlich ganz...

01:27:59.967 --> 01:28:01.708
Also ich habe das tatsächlich mal probiert.

01:28:02.328 --> 01:28:04.268
Also glücklicherweise...

01:28:04.268 --> 01:28:07.648
Das ist tatsächlich so gebaut,

01:28:07.808 --> 01:28:09.888
dass die ganzen Motoren hängen dann

01:28:09.888 --> 01:28:11.947
an...

01:28:11.947 --> 01:28:13.328
Wie nennt man das? Klemmen dran.

01:28:13.748 --> 01:28:14.868
Also an Motorklemmen.

01:28:15.228 --> 01:28:17.188
Auf Englisch Terminals. Vielleicht hilft das besser.

01:28:17.868 --> 01:28:19.708
Die dann halt miteinander per Ethernet

01:28:19.708 --> 01:28:20.888
miteinander verbunden sind.

01:28:21.808 --> 01:28:24.047
Und tatsächlich mit Ethernet, da läuft kein

01:28:24.047 --> 01:28:25.967
IP drüber, sondern direkt

01:28:25.967 --> 01:28:27.848
über Ethernet und das

01:28:27.848 --> 01:28:29.127
ist dann in einer

01:28:29.127 --> 01:28:31.708
Echtzeitversion namens EtherCAT.

01:28:33.047 --> 01:28:33.908
Glücklicherweise ist das

01:28:33.908 --> 01:28:35.987
Protokoll vollständig veröffentlicht

01:28:35.987 --> 01:28:37.967
und ich habe dann tatsächlich

01:28:37.967 --> 01:28:39.868
mal, das ist ja nicht so das Problem, dann sich mit

01:28:39.868 --> 01:28:41.888
Python diese Pakete, die man da über das Netzwerk

01:28:41.888 --> 01:28:43.927
schicken muss, dann halt zusammenzubauen

01:28:43.927 --> 01:28:45.748
und dann kann man das damit tatsächlich

01:28:45.748 --> 01:28:47.908
machen. Ja und dann

01:28:47.908 --> 01:28:49.607
merkt man halt dann plötzlich, dass dann

01:28:49.607 --> 01:28:51.907
dass man halt nicht redet, dass man

01:28:51.907 --> 01:28:52.907
nicht Echtzeit ist.

01:28:53.928 --> 01:28:55.848
Und da tut dann auf einmal Echtzeit tatsächlich

01:28:55.848 --> 01:28:56.648
nämlich W.

01:29:00.007 --> 01:29:01.668
Also es fängt dann schon mit an,

01:29:01.708 --> 01:29:03.467
dass der Hersteller dann anfängt, solche Sachen zu machen,

01:29:03.688 --> 01:29:05.087
wie dass die

01:29:05.087 --> 01:29:07.768
Buffer,

01:29:07.848 --> 01:29:09.368
die in den Netzwerkkarten drin sind,

01:29:10.368 --> 01:29:11.688
abgeschaltet werden müssen,

01:29:11.868 --> 01:29:13.348
weil die die Latenz kaputt machen.

01:29:13.467 --> 01:29:13.848
Ja, klar.

01:29:14.567 --> 01:29:17.627
Das heißt, wahrscheinlich willst du dann auch gar kein Betriebssystem

01:29:17.627 --> 01:29:19.308
haben, sondern du willst vielleicht im Kernel sein oder so.

01:29:20.407 --> 01:29:21.507
Die Firma Beckhoff

01:29:21.507 --> 01:29:23.388
hat einen sehr engen Vertrag mit

01:29:23.388 --> 01:29:25.148
Microsoft, dass sie

01:29:25.148 --> 01:29:27.248
direkt am

01:29:27.248 --> 01:29:29.228
Kernel von Microsoft arbeiten

01:29:29.228 --> 01:29:29.688
können.

01:29:30.768 --> 01:29:32.907
Aber mit Linux könnte man das doch auch.

01:29:32.947 --> 01:29:35.107
Da gibt es doch sogar irgendwie im Linux-Kernel

01:29:35.107 --> 01:29:36.728
so eine Schnittstelle, wo man...

01:29:36.728 --> 01:29:40.368
Es gibt ja auch so RT-Linux-Sachen.

01:29:40.768 --> 01:29:41.388
Es gibt auch

01:29:41.388 --> 01:29:43.007
in Deutschland

01:29:43.007 --> 01:29:45.148
einen zweiten Hersteller, der

01:29:45.148 --> 01:29:49.228
tatsächlich das Ganze

01:29:49.228 --> 01:29:51.168
auf Linux macht. Das geht

01:29:51.168 --> 01:29:53.308
alles, auch mit Realtime und allem drum und dran.

01:29:55.148 --> 01:30:03.848
Ja, mein Unternehmen hat sich, also wir sind zwar eine staatliche Einrichtung, aber rein rechtlich sind wir ein Unternehmen im Staatseigentum.

01:30:06.208 --> 01:30:19.688
Und wir haben uns damals, also was heißt wir, hätte man mich gefragt, ich hätte es nicht genommen, aber man hat sich halt für eine Windows-Lösung entschieden, weil das ja professionell ist.

01:30:19.688 --> 01:30:22.208
Achso, das ist ein richtiger Anfänger.

01:30:22.208 --> 01:30:22.868
Ja gut.

01:30:24.728 --> 01:30:26.348
Jetzt ist mir auch eingefallen, was der Johannes meinte,

01:30:26.587 --> 01:30:28.388
den Bitcontroller, den hätte ich gerne da für die

01:30:28.388 --> 01:30:30.507
Steuerung dieser Motoren. Geht das, Johannes?

01:30:30.748 --> 01:30:31.607
Achso. Ja, das

01:30:31.607 --> 01:30:34.447
da hast du irgendwo einen Controller drin,

01:30:34.507 --> 01:30:35.788
der sowas macht, ja. Ja.

01:30:37.308 --> 01:30:38.467
Das geht da oft

01:30:38.467 --> 01:30:39.648
ganz tief runter.

01:30:40.607 --> 01:30:42.368
In dem Bereich bewegt

01:30:42.368 --> 01:30:43.728
sich ganz viel

01:30:43.728 --> 01:30:46.388
auch was so

01:30:46.388 --> 01:30:48.527
Industrie 3 und Industrie 4 angeht,

01:30:49.027 --> 01:30:50.288
weil man halt ganz viel mit

01:30:50.288 --> 01:30:51.507
Rechenleistung erschlagen kann.

01:30:51.507 --> 01:31:08.507
Ich habe vor einigen Jahren bei einem kleinen deutschen Hardwarehersteller, bei einem mittelständischen Hardwarehersteller Beratung gemacht und die hatten noch ganz viele so Sachen, die halt aus einer Zeit kommen, wo du alles ausnutzen musstest, was so ein Prozessor halt mitgebracht hat.

01:31:08.507 --> 01:31:12.208
und heutzutage ist es ja mehr so,

01:31:12.447 --> 01:31:15.168
ja, hier hast du den Prozessor,

01:31:15.248 --> 01:31:17.928
der 180 Megahertz hat und vier Kerne

01:31:17.928 --> 01:31:19.288
und der kostet auch nur 5 Euro.

01:31:20.148 --> 01:31:21.907
Da ist es dann schon so ein bisschen egal.

01:31:22.107 --> 01:31:23.627
Da kannst du schon viele Sachen machen,

01:31:23.868 --> 01:31:25.728
die du früher halt einfach nicht machen konntest,

01:31:25.788 --> 01:31:27.127
einfach durch Rechenleistung erschlagen.

01:31:28.328 --> 01:31:32.007
Und wenn du aber nur ein Megahertz hast

01:31:32.007 --> 01:31:32.987
und nur einen Prozessor

01:31:32.987 --> 01:31:35.067
und musst aber acht Motoren gleichzeitig steuern

01:31:35.067 --> 01:31:38.067
und die sollen auch gewisse Kurven einhalten,

01:31:38.067 --> 01:31:39.987
dann ist das halt anstrengender

01:31:39.987 --> 01:31:42.447
und deshalb ist ganz viel

01:31:42.447 --> 01:31:43.828
von dieser Hardware noch so ein bisschen

01:31:43.828 --> 01:31:46.447
anders aufgebaut

01:31:46.447 --> 01:31:48.668
als man das vielleicht heutzutage machen würde

01:31:48.668 --> 01:31:50.228
auch weil sich diese

01:31:50.228 --> 01:31:52.388
Welten sehr langsam bewegen, auch weil da

01:31:52.388 --> 01:31:53.487
sehr viel Geld drin ist

01:31:53.487 --> 01:31:55.607
diese Geräte, die

01:31:55.607 --> 01:31:58.188
ihr da gekauft habt, um eure

01:31:58.188 --> 01:32:00.487
1000 Motoren zu steuern, die werden sicherlich

01:32:00.487 --> 01:32:01.947
alle ein paar Euro gekostet haben

01:32:01.947 --> 01:32:03.368
Ja, definitiv

01:32:03.368 --> 01:32:06.348
Interessanterweise ist es dann so, dass das bis heute so ist

01:32:06.348 --> 01:32:07.888
dass dieser

01:32:07.888 --> 01:32:31.888
und

01:32:31.888 --> 01:32:34.987
Feedback kommen, ob der Motor schon weit genug ist oder nicht.

01:32:36.087 --> 01:32:40.027
Und heute werden die dann tatsächlich getrennt

01:32:40.027 --> 01:32:43.127
von zwei Prozessen dann emuliert.

01:32:44.507 --> 01:32:47.268
Das macht eigentlich heutzutage gar keinen Sinn mehr.

01:32:47.668 --> 01:32:51.688
Dann läuft auf dem einen Prozessorkern die langsamere Steuerung,

01:32:51.828 --> 01:32:55.868
die dann irgendwie so mit 100 Hertz arbeitet und daneben noch

01:32:55.868 --> 01:32:59.407
eine zweite, die dann mit 10 Kilohertz arbeitet und die dann über

01:32:59.407 --> 01:33:01.507
ganz magische Dinge sich miteinander

01:33:01.507 --> 01:33:01.987
unterhalten.

01:33:03.288 --> 01:33:04.987
Das wird dann sehr bald sehr hanebüchen.

01:33:05.987 --> 01:33:07.487
Das ist alles halt nur noch historisch zu

01:33:07.487 --> 01:33:09.447
erklären. Und ja, ich würde

01:33:09.447 --> 01:33:11.607
sowas gerne alles durch Python ersetzen,

01:33:11.848 --> 01:33:13.507
aber so schnell bin ich nun auch wieder

01:33:13.507 --> 01:33:15.487
nicht, da alleine die

01:33:15.487 --> 01:33:17.107
Industrie kurz mal umzukrempeln.

01:33:18.688 --> 01:33:19.188
Ja, nein.

01:33:19.587 --> 01:33:20.788
Aber wir sind ja jetzt zu viert hier.

01:33:20.788 --> 01:33:22.027
Also schon mal viermal schneller.

01:33:22.027 --> 01:33:22.648
Ja, das ist das.

01:33:25.087 --> 01:33:26.428
Interessanterweise habe ich das einmal ausprobiert, dass

01:33:26.428 --> 01:33:28.648
tatsächlich so eine Steuerung

01:33:28.648 --> 01:33:32.127
in Linux zu basteln und stellte dann fest, dass tatsächlich

01:33:32.127 --> 01:33:36.668
die beste dafür geeignete Hardware ein Raspberry Pi war

01:33:36.668 --> 01:33:39.947
und zwar deshalb, weil dessen Netzwerkkarte...

01:33:39.947 --> 01:33:40.627
Keine Buffer hat.

01:33:41.828 --> 01:33:42.428
Genau.

01:33:45.648 --> 01:33:49.027
Das war dann auch sehr praktisch, weil so ein Ding ist einfach auch bei

01:33:49.027 --> 01:33:53.368
weitem schnell genug und auch zuverlässig genug.

01:33:56.328 --> 01:33:58.027
Interessant auch, was man da so alles achten muss, wenn man

01:33:58.027 --> 01:33:59.587
also die Steuerung zusammenstecken möchte.

01:34:01.828 --> 01:34:01.987
Ja,

01:34:02.348 --> 01:34:03.407
faszinierend.

01:34:03.788 --> 01:34:04.567
Sehr, sehr interessant.

01:34:06.148 --> 01:34:06.587
Ja,

01:34:07.007 --> 01:34:08.668
ich weiß nicht,

01:34:10.087 --> 01:34:11.467
vielleicht, was ist denn,

01:34:11.567 --> 01:34:13.527
was findest du denn so bei dieser ganzen

01:34:13.527 --> 01:34:15.748
Geschichte, das mit Python zu steuern,

01:34:16.188 --> 01:34:17.828
was sind die Dinge, die dich da

01:34:17.828 --> 01:34:19.748
interessieren oder was fandest du cool oder was funktioniert

01:34:19.748 --> 01:34:21.428
mit Python noch nicht so gut oder

01:34:21.428 --> 01:34:23.627
ja, ich weiß nicht.

01:34:24.308 --> 01:34:25.808
Also was mich immer

01:34:25.808 --> 01:34:27.688
wieder begeistert ist, mit welcher

01:34:27.688 --> 01:34:29.987
Geschwindigkeit, man einfach so kleine, praktische

01:34:29.987 --> 01:34:30.688
Sachen machen kann.

01:34:32.208 --> 01:34:33.768
Also wie ich da

01:34:33.768 --> 01:34:35.587
erwähnt habe, dass man da einfach ein Foto nimmt

01:34:35.587 --> 01:34:37.668
und dann auf das Foto draufklickt und

01:34:37.668 --> 01:34:38.708
dann fährt der Motor dorthin.

01:34:39.308 --> 01:34:41.688
Das sind so Dinge,

01:34:42.388 --> 01:34:43.728
für die würde man

01:34:43.728 --> 01:34:45.868
halt nicht das als Auftrag

01:34:45.868 --> 01:34:47.788
stellen und dass dann monatelang ein Entwickler

01:34:47.788 --> 01:34:49.748
dran sitzen. Aber in Python waren

01:34:49.748 --> 01:34:51.527
das alles dann auch am Ende

01:34:51.527 --> 01:34:52.428
auch nur ein paar Zeilen.

01:34:54.308 --> 01:34:55.067
Also diese

01:34:55.067 --> 01:34:57.428
kleinen, schönen Dinge,

01:34:57.428 --> 01:35:27.407
und Jochen unterhalten sich über die Programmiersprache Python

01:35:27.428 --> 01:35:57.407
und Jochen unterhalten sich über die Programmiersprache Python

01:35:57.428 --> 01:36:21.947
und ja, also sehr schnell geht. Also was ich auch sehr schön finde, ist das, was ich gerne mag einfach, gut, das ist die Geschmackssache, dass wir kommen, also wir haben halt unglaublich viele irgendwelche experimentellen Gerätschaften, dass wir dann, also der Strahl, der da bei uns in den Strahl reinpinkelt, der wird halt von einer Hochdruckpumpe gesteuert.

01:36:21.947 --> 01:36:29.007
und dann kommt da plötzlich mein Kollege mit dieser Pumpe da an, stellt sie vor dich hin und sagt, ja, das muss ja heute Nachmittag laufen.

01:36:30.067 --> 01:36:37.808
Und das ist dann eigentlich gar nicht so das Problem, weil man halt Batteries included immer gleich alles da hat

01:36:37.808 --> 01:36:40.907
und hat unglaublich schnelle Entwicklungszeiten.

01:36:41.507 --> 01:36:48.607
Also ein großes Problem ist, dass der User kommt da mit so einem Ding an, also der Benutzer, muss ich auf Deutsch sagen,

01:36:48.607 --> 01:36:50.708
kommt da mit irgendeinem Ding an,

01:36:51.348 --> 01:36:52.688
das hat, das, das, das,

01:36:52.828 --> 01:36:54.487
keine Ahnung, das kostet

01:36:54.487 --> 01:36:56.407
100.000 Euro, bringt der da jetzt,

01:36:56.507 --> 01:36:58.567
der kann mir nicht Monate

01:36:58.567 --> 01:37:00.567
vorher das zum Ausprobieren schicken,

01:37:00.688 --> 01:37:02.188
damit ich dafür was programmiere.

01:37:02.808 --> 01:37:04.648
Das geht nicht, sondern der kommt drei Tage

01:37:04.648 --> 01:37:05.587
vorher an und sagt,

01:37:07.067 --> 01:37:08.627
sorg mal dafür, dass diese Pumpe da läuft

01:37:08.627 --> 01:37:10.168
und das da

01:37:10.168 --> 01:37:12.768
in den Strahl reinpinkelt und

01:37:12.768 --> 01:37:13.987
dann

01:37:13.987 --> 01:37:16.748
heißt es und los und

01:37:16.748 --> 01:37:43.688
und dann ist es halt echt von Vorteil, dass man da völlig, ja, auch das, was einer mal gemeint hat, das habe ich mal gehört, Expressibility, dass man in Python recht komplexe Sachen schön ausdrücken kann, dass man, also, ja, wie sieht das, also, ja, natürlich,

01:37:43.688 --> 01:37:45.507
und die elektroorganisierte Programmierung.

01:37:45.607 --> 01:37:46.768
Klassen gibt es überall.

01:37:47.928 --> 01:37:49.087
Das machen ja inzwischen alle.

01:37:49.768 --> 01:37:51.848
Aber dass man dann in der Klasse dann tatsächlich,

01:37:52.388 --> 01:37:53.848
also wir haben dann eine Pumpe

01:37:53.848 --> 01:37:55.688
und die kann dann an, aus und was weiß ich was,

01:37:55.748 --> 01:37:57.328
Druck und Volumen oder so etwas.

01:37:58.047 --> 01:37:58.788
Und dann kann man da,

01:37:59.447 --> 01:38:01.828
dann schreibt man halt rein, Klasse Pumpe,

01:38:02.268 --> 01:38:03.067
Class Pumpe,

01:38:03.668 --> 01:38:05.007
natürlich alles auf Englisch, weil

01:38:05.007 --> 01:38:07.748
das ist ja nicht in seiner Firma. Und dann schreibt man einfach direkt

01:38:07.748 --> 01:38:09.027
die Parameter rein, Druck

01:38:09.027 --> 01:38:12.067
an, aus, sonst etwas.

01:38:13.688 --> 01:38:14.348
und

01:38:14.348 --> 01:38:17.907
das ist dann gleichzeitig

01:38:17.907 --> 01:38:20.067
aus Sicht des Benutzers

01:38:20.067 --> 01:38:20.848
sind das dann

01:38:20.848 --> 01:38:24.188
die Buttons, auf die man draufklicken kann oder die Funktionalität,

01:38:24.288 --> 01:38:25.848
die man von dem verwenden kann und gleichzeitig

01:38:25.848 --> 01:38:26.627
auf der anderen Seite

01:38:26.627 --> 01:38:29.728
steht dann bereits reingeschrieben,

01:38:30.208 --> 01:38:31.688
was man denn dem Gerät

01:38:31.688 --> 01:38:33.527
sagen muss, dass

01:38:33.527 --> 01:38:35.447
das auch so funktioniert.

01:38:35.668 --> 01:38:37.527
Wir haben uns dann ein ganzes Framework zusammengeschrieben,

01:38:37.688 --> 01:38:39.748
das dann, wie heißt das bei

01:38:39.748 --> 01:38:41.808
euch Webleuten, Django Forms

01:38:41.808 --> 01:38:42.188
oder so,

01:38:42.188 --> 01:38:44.507
dass wir halt

01:38:44.507 --> 01:38:47.407
Forms, die halt keine Webseiten sind

01:38:47.407 --> 01:38:49.428
sondern Beschreibungen für Geräte sind

01:38:49.428 --> 01:38:51.248
und die kann man halt dann die

01:38:51.248 --> 01:38:53.447
Parameter, die so ein Gerät hat, einfach reinschreiben

01:38:53.447 --> 01:38:55.748
und die halt dann aus der Benutzerseite

01:38:55.748 --> 01:38:57.407
sehen, die kann man da

01:38:57.407 --> 01:38:59.107
irgendwie Werte reinschreiben und

01:38:59.107 --> 01:39:01.348
ja, dann unser Framework

01:39:01.348 --> 01:39:03.248
guckt sich dann halt an und auf der anderen Seite

01:39:03.248 --> 01:39:05.348
schickt es dann die Kommandos an die Pumpe raus

01:39:05.348 --> 01:39:06.967
und das kann man alles so

01:39:06.967 --> 01:39:08.788
in einem Framework machen

01:39:08.788 --> 01:39:11.087
und einfach so hinschreiben und

01:39:11.087 --> 01:39:28.987
und ja, also wie das in einer anderen Programmiersprache aussehen würde, weiß ich, da das ja Konkurrenz immer noch in C++ macht und da müssen dann halt Kopfstände gemacht werden, weil also wie soll ich denn da deklarativ da in C++ überhaupt da was hinschreiben?

01:39:28.987 --> 01:39:30.547
Da wird dann immer

01:39:30.547 --> 01:39:32.928
so ausführbarer Code dann

01:39:32.928 --> 01:39:34.047
hingeschrieben, der dann

01:39:34.047 --> 01:39:37.368
magische Datenstrukturen

01:39:37.368 --> 01:39:38.987
im Hintergrund aufbaut

01:39:38.987 --> 01:39:43.348
Furchtbar

01:39:43.348 --> 01:39:45.188
Man kann halt

01:39:45.188 --> 01:39:46.868
in sowas wie C++

01:39:46.868 --> 01:39:48.888
nichts deklarativ hinschreiben, wo man einfach

01:39:48.888 --> 01:39:50.107
sagen kann, das ist so

01:39:50.107 --> 01:39:52.127
und das dann von einem

01:39:52.127 --> 01:39:54.788
Framework auslesen lassen, sondern

01:39:54.788 --> 01:39:56.107
man kann halt nur Code hinschreiben

01:39:56.107 --> 01:39:58.888
und das

01:39:58.888 --> 01:40:00.027
ist halt das, was

01:40:00.027 --> 01:40:02.947
so ein Framework halt

01:40:02.947 --> 01:40:03.788
sehr mächtig macht.

01:40:04.947 --> 01:40:06.828
Und mit solchen Sachen kann ich dann halt

01:40:06.828 --> 01:40:09.168
innerhalb von einem Nachmittag so eine

01:40:09.168 --> 01:40:10.507
blöde Pumpe zum Laufen kriegen.

01:40:12.188 --> 01:40:12.788
Wie lange wird jetzt

01:40:12.788 --> 01:40:14.047
die++-Entwickler dafür brauchen?

01:40:15.148 --> 01:40:16.148
Auch eine Woche wahrscheinlich.

01:40:17.788 --> 01:40:18.688
Jetzt sind wir wieder bei

01:40:18.688 --> 01:40:20.288
einem der wichtigsten Dinge, glaube ich, für Python.

01:40:21.648 --> 01:40:22.808
Das ist also dieses

01:40:22.808 --> 01:40:24.627
Time-To-Market.

01:40:25.268 --> 01:40:25.447
Genau.

01:40:26.668 --> 01:40:28.467
Und das ist bei uns, wie gesagt,

01:40:28.467 --> 01:40:58.447
und Jochen unterhalten sich über die Programmiersprache Python

01:40:58.467 --> 01:41:00.848
aber dass auch unsere Wissenschaftler tatsächlich

01:41:00.848 --> 01:41:01.928
bereits in der Lage sind

01:41:01.928 --> 01:41:04.627
sich dann so einfache Sachen selber

01:41:04.627 --> 01:41:05.388
zusammenzuschreiben

01:41:05.388 --> 01:41:08.808
das ist mit Python, ja gut

01:41:08.808 --> 01:41:10.848
was auch daran liegt, dass in der Physik

01:41:10.848 --> 01:41:12.587
doch Python inzwischen sehr weit verbreitet ist

01:41:12.587 --> 01:41:14.688
und man dann sagen konnte, hier das machst du doch schon

01:41:14.688 --> 01:41:16.688
in der Datenauswertung, du machst doch schon immer deine

01:41:16.688 --> 01:41:18.148
Jupyter Notebooks mit deinem Python

01:41:18.148 --> 01:41:20.788
hier guck mal, da schreibst du ein bisschen anders

01:41:20.788 --> 01:41:22.547
und dann kannst du damit auch irgendwelche Motoren

01:41:22.547 --> 01:41:23.888
nach links oder rechts fahren

01:41:23.888 --> 01:41:26.368
das wird man verstehen dann, ja

01:41:26.368 --> 01:41:28.987
Python ist ja so gesehen auch nicht schwer

01:41:28.987 --> 01:41:30.368
von der Sonntagsher dann

01:41:30.368 --> 01:41:32.087
Überhaupt nicht

01:41:32.087 --> 01:41:35.308
Ich finde das ist eine der schönsten

01:41:35.308 --> 01:41:36.148
Sachen an Python ist

01:41:36.148 --> 01:41:37.848
man kann es

01:41:37.848 --> 01:41:41.248
zu, also eigentlich vollständig

01:41:41.248 --> 01:41:41.607
verstehen

01:41:41.607 --> 01:41:44.848
Wir hatten mal da Bewerbungsgespräche

01:41:44.848 --> 01:41:47.067
wo dann

01:41:47.067 --> 01:41:48.168
sich C++ und

01:41:48.168 --> 01:41:51.308
Python Programmeer beworben haben

01:41:51.308 --> 01:41:52.148
die haben wir dann immer gefragt

01:41:52.148 --> 01:41:54.708
bei einer Skala von 1 bis 10

01:41:54.708 --> 01:41:57.188
wie gut sind deine C++-Kenntnisse

01:41:57.188 --> 01:41:59.148
und wenn dann einer sagte

01:41:59.148 --> 01:41:59.708
9

01:41:59.708 --> 01:42:02.947
dann war das sozusagen eine Herausforderung

01:42:02.947 --> 01:42:05.268
sich eine fiese Template-Geschichte zu überlegen

01:42:05.268 --> 01:42:06.527
die keiner kennt

01:42:06.527 --> 01:42:07.708
oder keiner kann

01:42:07.708 --> 01:42:10.987
die kann man ja problemlos

01:42:10.987 --> 01:42:12.627
problemlos

01:42:12.627 --> 01:42:16.688
sofort aus dem Hut zaubern

01:42:16.688 --> 01:42:19.228
also ich muss die Antwort ja nicht kennen, ich muss nur die Frage stellen

01:42:19.228 --> 01:42:20.248
während

01:42:20.248 --> 01:42:23.268
wenn dann da ein Python-Programmierer steht

01:42:23.268 --> 01:42:24.067
und sagt

01:42:24.067 --> 01:42:26.067
gut, wie gut ist dein Niveau

01:42:26.067 --> 01:42:27.928
Python 9?

01:42:28.567 --> 01:42:29.907
Da muss ich sagen, dass ich schon

01:42:29.907 --> 01:42:32.208
also sogar, also Fangfragen

01:42:32.208 --> 01:42:34.487
zu stellen schon, also ich glaube,

01:42:34.928 --> 01:42:36.248
dass es viele Leute

01:42:36.248 --> 01:42:38.487
gibt, vielleicht sogar in diesem Podcast,

01:42:38.668 --> 01:42:40.328
die 90% von Python verstanden

01:42:40.328 --> 01:42:40.668
haben.

01:42:41.848 --> 01:42:44.188
Ja, wobei es auch schwerer wird mit der Zeit, also in letzter Zeit

01:42:44.188 --> 01:42:46.248
kommt halt immer mehr dazu und

01:42:46.248 --> 01:42:48.127
ich meine, ja, das wird

01:42:48.127 --> 01:42:50.268
auch nicht, oder das ist auch etwas, was viele Leute

01:42:50.268 --> 01:42:52.148
beklagen, dass es halt für Anfänger jetzt immer schwerer wird,

01:42:52.148 --> 01:42:54.288
weil halt der Sprachumfang, also gerade wenn man jetzt sowas nimmt wie

01:42:54.288 --> 01:42:56.328
Typ-Annotationen oder so, finde ich persönlich auch gar

01:42:56.328 --> 01:42:57.367
nicht mehr so furchtbar einfach

01:42:57.367 --> 01:43:00.487
immer das so hinzuschreiben, dass es dann passt

01:43:00.487 --> 01:43:02.248
das ist halt schon

01:43:02.248 --> 01:43:03.848
das ist halt wieder so ein ganz eigenes

01:43:03.848 --> 01:43:06.208
Python wird halt irgendwie umfangreicher

01:43:06.208 --> 01:43:06.708
mit der Zeit

01:43:06.708 --> 01:43:10.228
also es war auch früher

01:43:10.228 --> 01:43:12.268
Das hört sich auch an einer guten Episode an

01:43:12.268 --> 01:43:14.007
die man da mal aufnehmen könnte

01:43:14.007 --> 01:43:16.027
Fangfragen und die Ecken und Kanten

01:43:16.027 --> 01:43:18.308
Ich überlege, weil mir fällt sofort ein Ding

01:43:18.308 --> 01:43:19.587
ein, schreib mal die

01:43:19.587 --> 01:43:20.627
Funktion

01:43:20.627 --> 01:43:23.888
min oder max in Python hinzuschreiben,

01:43:23.947 --> 01:43:24.768
ist halt sehr, sehr einfach.

01:43:25.348 --> 01:43:27.688
Schreibt mal die Type-Annotation richtig

01:43:27.688 --> 01:43:28.168
dafür hin.

01:43:30.027 --> 01:43:32.107
Die Type-Annotationen

01:43:32.107 --> 01:43:33.668
sind wesentlich mehr Code als die Funktion selber.

01:43:35.228 --> 01:43:36.087
Das ist echt

01:43:36.087 --> 01:43:36.648
schwierig.

01:43:37.027 --> 01:43:39.487
Nimm zwei Parameter vom Typ any und gib zurück.

01:43:39.867 --> 01:43:40.607
Ja, ja, aber

01:43:40.607 --> 01:43:43.248
darf nicht any, gut, das geht natürlich,

01:43:43.348 --> 01:43:45.567
dann ist es einfach, aber es darf nicht any sein und es sollte

01:43:45.567 --> 01:43:47.648
keine Forza Negatives haben.

01:43:48.188 --> 01:43:49.007
Dann ist es halt schon so.

01:43:50.627 --> 01:44:17.367
Ja, wobei ich bei Type Annotations, muss sagen, ich habe mich da nie wirklich reingefuchst, weil, also zumindest das, was ich von gesehen habe, vielleicht klärt ihr mich eines Besseren auf, also was mich jetzt interessiert, also Typen interessieren mich jetzt tatsächlich eigentlich wenig, weil bei uns, was eher reinkommt, ist eher die Frage Einheiten, also so etwas wie ein Motor bewegt sich typischerweise um eine Länge

01:44:17.367 --> 01:44:20.067
und das berühmte Beispiel

01:44:20.067 --> 01:44:22.127
des irgendeiner abgestürzten

01:44:22.127 --> 01:44:23.808
Satelliten auf dem Mars oder so etwas

01:44:23.808 --> 01:44:25.848
ist ja hinlänglich bekannt, wo sie da dann

01:44:25.848 --> 01:44:27.447
Zoll mit Millimeter verwechselt haben.

01:44:28.328 --> 01:44:30.007
Wenn man da geschickt annotieren

01:44:30.007 --> 01:44:31.428
könnte und meint... Ja, das ist ein Type, oder?

01:44:32.007 --> 01:44:33.788
Nee. Ja, gut, also

01:44:33.788 --> 01:44:35.947
schon irgendwie, aber dann halt

01:44:35.947 --> 01:44:37.808
auch... Nee, das ist doch kein Type.

01:44:38.328 --> 01:44:39.547
Nein. Der Type ist Zahl.

01:44:40.388 --> 01:44:42.007
Genau. So kann

01:44:42.007 --> 01:44:43.987
man das sehen. Oder man kann jetzt für jeden

01:44:43.987 --> 01:44:45.688
Einzelnen dann auch wieder

01:44:45.688 --> 01:44:49.007
Ich würde versuchen, sowas zu definieren.

01:44:50.507 --> 01:44:51.527
Ja, aber dann

01:44:51.527 --> 01:44:52.507
bist du lange beschäftigt.

01:44:53.148 --> 01:44:54.968
Also bis man da einmal sämtliche Einheiten,

01:44:55.047 --> 01:44:56.168
die man dann durchmacht...

01:44:56.168 --> 01:44:59.288
Wahrscheinlich ist halt die Frage, wenn der Input falsch ist, woher weiß man dann, welche Einheit ist denn das dann?

01:44:59.428 --> 01:45:00.808
Wenn das nur Zahl ist.

01:45:01.987 --> 01:45:03.087
Das ist ganz einfach, weil man kann

01:45:03.087 --> 01:45:04.907
einfach den Gattekomma verschieben und dann hat man

01:45:04.907 --> 01:45:05.507
eine andere Skala.

01:45:06.487 --> 01:45:08.428
Das ist halt

01:45:08.428 --> 01:45:09.447
die Grenze.

01:45:10.047 --> 01:45:12.607
Das sind die Grenzen von so einem Typsystem.

01:45:12.748 --> 01:45:15.067
Du hast immer Sachen, die vom gleichen Typ sind,

01:45:15.067 --> 01:45:16.748
aber unterschiedliche Bedeutung haben.

01:45:18.168 --> 01:45:19.228
Das klassische

01:45:19.228 --> 01:45:21.188
Beispiel ist die String-Format-Methode.

01:45:21.428 --> 01:45:23.308
Printf im klassischen

01:45:23.308 --> 01:45:25.007
Sinne. Die nimmt zwei Strings

01:45:25.007 --> 01:45:26.928
und der eine ist das Format und der andere ist das, was

01:45:26.928 --> 01:45:29.067
in das Format eingesetzt wird. Und du kannst

01:45:29.067 --> 01:45:31.027
die nicht auf Typebene unterscheiden,

01:45:31.087 --> 01:45:31.907
weil das sind beide Strings.

01:45:33.087 --> 01:45:34.507
Und diese Grenze gibt es immer.

01:45:36.308 --> 01:45:37.348
Immer eine Grenze

01:45:37.348 --> 01:45:38.527
zwischen Bedeutung und

01:45:38.527 --> 01:45:39.748
Inhalt.

01:45:40.168 --> 01:45:42.768
Das beste Beispiel in der App von Python war damals

01:45:42.768 --> 01:45:44.367
ja, wo jetzt besser Python 3

01:45:44.367 --> 01:45:45.407
eingeführt wurde, dass

01:45:45.407 --> 01:45:48.367
Bytes und Strings, es gibt

01:45:48.367 --> 01:45:50.288
vielleicht noch welche von euch, die lang genug an Python

01:45:50.288 --> 01:45:52.248
dabei sind, dass das mal früher 1 war.

01:45:52.248 --> 01:45:53.127
Ja, das war schrecklich.

01:45:54.708 --> 01:45:56.947
Ja, was auch interessanterweise

01:45:56.947 --> 01:45:58.507
daran liegt, dass halt Python

01:45:58.507 --> 01:46:00.407
älter ist als der Unicode-Standard und man das

01:46:00.407 --> 01:46:01.928
halt damals einfach noch nicht machen konnte.

01:46:02.607 --> 01:46:04.428
Und Java ist halt ein bisschen jünger und Java konnte

01:46:04.428 --> 01:46:06.007
es halt gleich rechtlich machen, aber Python halt nicht.

01:46:06.208 --> 01:46:06.627
Und dann, ja.

01:46:08.728 --> 01:46:10.367
Und das war, glaube ich, das einzige Mal, dass von der Seite

01:46:10.367 --> 01:46:11.848
irgendwelche Lacher kamen.

01:46:11.848 --> 01:46:13.507
Ja, aber wenn man zum Beispiel

01:46:13.507 --> 01:46:16.087
die Unterscheidung zwischen Bytes und Unicode

01:46:16.087 --> 01:46:17.968
einfach hätte durch Type Annotations

01:46:17.968 --> 01:46:18.567
machen können,

01:46:19.668 --> 01:46:21.808
dann hätte man gar keine neue Python-Version machen können

01:46:21.808 --> 01:46:23.487
müssen, sondern hätte einfach nur das

01:46:23.487 --> 01:46:25.627
annotiert und

01:46:25.627 --> 01:46:27.828
deine IDE sagt dir

01:46:27.828 --> 01:46:29.547
dann, ach, an der Stelle versuchst du aber

01:46:29.547 --> 01:46:31.688
Unicodes plus Bytes zu machen, das geht doch nicht.

01:46:31.808 --> 01:46:32.367
Böse, böse.

01:46:33.947 --> 01:46:34.248
Und

01:46:34.248 --> 01:46:36.567
ja.

01:46:36.907 --> 01:46:39.447
Habt ihr denn eine Lösung für dieses Einheitenproblem?

01:46:39.708 --> 01:46:40.828
Habt ihr da was, was

01:46:40.828 --> 01:46:42.168
Kannst du uns Tipps geben?

01:46:42.388 --> 01:46:44.587
Es gibt eine Bibliothek namens Pint, die ist ganz gut,

01:46:45.587 --> 01:46:47.808
aber die arbeitet halt erst auf der Ausführungsebene,

01:46:47.987 --> 01:46:49.587
nicht auf der IDE-Ebene,

01:46:49.748 --> 01:46:53.308
dass man halt die Werte, die tatsächlich,

01:46:53.828 --> 01:46:55.828
die haben dann eine Einheit

01:46:55.828 --> 01:46:59.308
und das funktioniert dann auch ganz gut,

01:46:59.388 --> 01:47:02.447
da kann man sich dann Meter, Millimeter addieren

01:47:02.447 --> 01:47:03.987
und das macht dann alles Richtige

01:47:03.987 --> 01:47:06.708
und wenn man versucht, Meter mit Sekunden zu addieren,

01:47:06.888 --> 01:47:08.208
dann sagt er einem, das geht nicht,

01:47:08.208 --> 01:47:10.268
aber das Blöde ist, das macht es halt erst auf Ausführungsebene,

01:47:10.268 --> 01:47:14.567
Wenn man dann irgendwie tausend Meter reingegeben hat, aber tausend Sekunden meinte, ist dann doof.

01:47:15.708 --> 01:47:17.828
Ja genau, also dann stürzt es einfach ab.

01:47:19.047 --> 01:47:21.007
Oder es wird halt eine Exception geworfen, klar.

01:47:21.788 --> 01:47:25.367
Es wäre natürlich schön, wenn man das bereits, Type Annotations laufen ja halt viel früher.

01:47:25.848 --> 01:47:27.987
Das ist ja schon in der ADI das Richtige.

01:47:28.507 --> 01:47:31.087
Da sieht man da schon, dass das passiert.

01:47:31.627 --> 01:47:38.288
Und nicht erst, wenn dann blöderweise ein einziges Mal diese komische Funktion beim Landen auf dem Jupyter ausgeführt wird.

01:47:38.288 --> 01:47:43.688
und dann halt eine Exception geworfen wird, anstatt dass...

01:47:43.688 --> 01:47:47.728
Ja, das ist dann halt der falsche Zeitpunkt.

01:47:49.087 --> 01:47:52.388
Das sind so einige Experimente, die man einmal machen kann, das ist schon sehr kritisch von mir.

01:47:53.148 --> 01:47:53.867
Ja, ja, ja.

01:47:56.648 --> 01:47:58.127
Ja, das ist...

01:47:58.127 --> 01:47:59.768
Ich bin mal auch gespannt.

01:47:59.888 --> 01:48:01.867
Ich meine, TypeScript geht da ja auch sehr...

01:48:02.627 --> 01:48:03.367
Forsch voran.

01:48:03.828 --> 01:48:04.367
Ja, genau.

01:48:04.768 --> 01:48:07.867
Und da habe ich das letztens gesehen, ich weiß nicht genau, dass da Leute...

01:48:07.867 --> 01:48:14.027
Man kann fast aus den, wenn man die Type-Annotationen richtig schreibt, kann man fast den Code da schon generieren, sozusagen.

01:48:14.547 --> 01:48:18.728
Weil da schon so viel Information drin ist, dass man sagen kann, okay, jetzt ist klar, was die Funktion machen muss.

01:48:19.587 --> 01:48:26.127
Aber es fühlt sich irgendwie auch ein bisschen, also es ist auf der einen Seite interessant, auf der anderen Seite denkt man sich so, wow, das ist aber ganz anders.

01:48:26.148 --> 01:48:30.708
Ja, aber ich glaube tatsächlich, diese ganzen Typen-Geschichten heben wir uns bei einer anderen Folge auf.

01:48:31.087 --> 01:48:36.947
Ja, ja, das, genau, müssen wir mal irgendwann, ja, genau.

01:48:36.947 --> 01:48:38.968
Ich fand das sehr interessant, Martin. Vielen Dank dafür.

01:48:39.027 --> 01:48:41.587
Das ist immer total spannend, für was Python alles so benutzt wird.

01:48:42.248 --> 01:48:43.228
Was man da so stolpert.

01:48:43.547 --> 01:48:44.987
Das ist super wichtig.

01:48:45.748 --> 01:48:47.348
Was man da für schöne Sachen mit zaubern kann.

01:48:48.527 --> 01:48:49.388
Ein bisschen Magie hinter.

01:48:49.567 --> 01:48:51.648
Und man hat halt immer so die schnelle

01:48:51.648 --> 01:48:52.388
Magie in den Fingern.

01:48:57.087 --> 01:48:57.668
Habt ihr noch

01:48:57.668 --> 01:48:59.087
irgendwas zu diesem Thema oder

01:48:59.087 --> 01:49:01.808
kommen wir langsam dem Ende entgegen?

01:49:03.328 --> 01:49:04.547
Möchtest du noch was erzählen, Martin?

01:49:06.947 --> 01:49:09.407
Nö, ich glaube, ich bin jetzt dann auch durch.

01:49:09.888 --> 01:49:27.228
Also ich fand es super spannend, dieser ganze Problembereich, lauter Sachen, die man so als normaler Programmierer, sage ich mal, nicht so sieht, die da auftreten und dass Python da trotzdem gut funktioniert. Ich finde es großartig. Ich finde es super spannend und ich finde es großartig.

01:49:27.228 --> 01:49:33.268
Dann haben wir immer die Tradition, dass wir einen Pick der Folge machen

01:49:33.268 --> 01:49:34.388
Ich weiß nicht, ob du das schon kennst

01:49:34.388 --> 01:49:39.848
Du musst ein Python-Modul irgendwo raussuchen und sagen, warum du das toll findest

01:49:39.848 --> 01:49:42.087
Du musst nichts mit deinem Thema zu tun haben

01:49:42.087 --> 01:49:43.808
Du kannst auch was anderes mal nehmen, musst nicht unbedingt einen Python

01:49:43.808 --> 01:49:45.367
Er hat ja gerade schon Pint gesagt

01:49:45.367 --> 01:49:46.968
Da kann man den Kürtel mal noch aufnehmen

01:49:46.968 --> 01:49:53.768
Soll ich mal anfangen?

01:49:53.907 --> 01:49:54.607
Ich habe nämlich einen

01:49:54.607 --> 01:49:56.527
Ja. Achso, ich weiß nicht. Ich habe vor einer

01:49:56.527 --> 01:49:58.107
Weile eine Bibliothek gefunden, die heißt

01:49:58.107 --> 01:49:58.867
Deutschland.

01:50:00.127 --> 01:50:01.527
Pip install Deutschland.

01:50:02.328 --> 01:50:04.428
Ist noch keine

01:50:04.428 --> 01:50:06.087
1.0, ist leider noch eine

01:50:06.087 --> 01:50:08.348
kleinere Version. Und

01:50:08.348 --> 01:50:10.507
das sind einfach Sachen

01:50:10.507 --> 01:50:12.668
drin mit Daten über Deutschland.

01:50:13.487 --> 01:50:14.468
Verschiedene APs

01:50:14.468 --> 01:50:16.228
angebunden, verschiedene Dinge

01:50:16.228 --> 01:50:18.527
angebunden, sodass man

01:50:18.527 --> 01:50:20.188
einfach sich Sachen über Deutschland

01:50:20.188 --> 01:50:22.428
anschauen kann. Hast du es gerade

01:50:22.428 --> 01:50:24.268
offen, Dominik? Bundesanzeiger.

01:50:24.607 --> 01:50:27.208
Genau, einfach

01:50:27.208 --> 01:50:29.788
interessante Daten über Deutschland.

01:50:29.987 --> 01:50:31.607
Die Geografie und

01:50:31.607 --> 01:50:33.728
genau, Autobahndaten,

01:50:33.848 --> 01:50:35.968
das Presseportal, die Polizei

01:50:35.968 --> 01:50:38.087
Brandenburg, Autobahndaten,

01:50:38.668 --> 01:50:40.188
Reisewarnungen, Zollwarnungen,

01:50:40.527 --> 01:50:42.047
das Presseportal der Bundestag,

01:50:42.388 --> 01:50:43.208
das man sich

01:50:43.208 --> 01:50:44.487
abrufen kann.

01:50:45.567 --> 01:50:47.788
Ja, und das ist jetzt Version 0.1.9,

01:50:48.027 --> 01:50:49.828
also Deutschland ist noch nicht reif

01:50:49.828 --> 01:50:51.308
genug für eine

01:50:51.308 --> 01:50:52.867
1.0, aber

01:50:52.867 --> 01:50:55.668
und wer mit deutschen Daten arbeiten möchte,

01:50:56.087 --> 01:50:57.367
kann sich die so einfach reinholen.

01:50:57.428 --> 01:50:59.027
Auf eine sehr pythonische Art und Weise.

01:51:00.567 --> 01:51:01.788
Also ich habe auch von Johannes was gebraucht.

01:51:01.788 --> 01:51:03.047
Man müsste mehr damit machen.

01:51:03.507 --> 01:51:05.027
Johannes hat mir nicht was über PyTest erzählt

01:51:05.027 --> 01:51:07.087
und ich habe gesehen, dass man Rich auch mit PyTest machen kann

01:51:07.087 --> 01:51:08.228
und PyTest Rich genommen,

01:51:08.947 --> 01:51:11.428
weil einfach das es dann ein bisschen hübschere PyTest-Ausgabe gibt.

01:51:12.328 --> 01:51:12.428
Ja.

01:51:15.228 --> 01:51:15.587
Ja.

01:51:16.607 --> 01:51:18.248
Du wolltest was außerhalb von PyPy nehmen?

01:51:18.527 --> 01:51:19.087
Ja, genau.

01:51:19.087 --> 01:51:21.107
Ich habe deswegen nur so gemeckert,

01:51:21.107 --> 01:51:22.808
weil ich was hatte, was da nicht reinpasst,

01:51:22.888 --> 01:51:24.968
deswegen dachte ich, muss ich da mal schon mal gleich irgendwie

01:51:24.968 --> 01:51:26.907
entsprechend

01:51:26.907 --> 01:51:29.007
mich positionieren. Genau, was ich

01:51:29.007 --> 01:51:31.148
picken wollte, das habe ich von der PyCon mitgebracht

01:51:31.148 --> 01:51:31.848
und das hat der

01:51:31.848 --> 01:51:34.848
in einem Lightning Talk, Florian

01:51:34.848 --> 01:51:36.627
Bruhin von einer der

01:51:36.627 --> 01:51:38.487
Pettest-Maintainer hat das vorgestellt

01:51:38.487 --> 01:51:40.928
und zwar, weil er

01:51:40.928 --> 01:51:42.848
immer nachgucken musste, wie Fstring

01:51:42.848 --> 01:51:44.987
Geschichten, mit denen man ja wahnsinnig viel

01:51:44.987 --> 01:51:46.627
machen kann, wie man das denn dazu

01:51:46.627 --> 01:51:48.888
in welchem Fall macht, hat er

01:51:48.888 --> 01:51:51.087
eine Seite schnell mal hochgezogen

01:51:51.087 --> 01:51:53.728
die nennt sich fstring.help

01:51:53.728 --> 01:51:55.127
slash cheat

01:51:55.127 --> 01:51:57.007
slash, also so ein

01:51:57.007 --> 01:51:59.228
Cheat-Sheet

01:51:59.228 --> 01:52:01.027
für Python F-Syncs

01:52:01.027 --> 01:52:03.288
und ja, das ist tatsächlich

01:52:03.288 --> 01:52:04.268
sehr gut gemacht und

01:52:04.268 --> 01:52:06.947
hat mir auch schon geholfen, finde ich super.

01:52:07.587 --> 01:52:09.107
Genau, sollte man sich irgendwo hinlegen,

01:52:09.228 --> 01:52:10.748
wo man das dann irgendwie wiederfindet.

01:52:12.027 --> 01:52:12.107
Ja.

01:52:14.107 --> 01:52:15.148
Die etwas

01:52:15.148 --> 01:52:17.087
ältere Variante davon heißt PyFormat.

01:52:17.288 --> 01:52:18.468
PyFormat.info.

01:52:18.468 --> 01:52:19.547
Ah, okay.

01:52:19.547 --> 01:52:21.828
kann man über Prozent und Punkt Format

01:52:21.828 --> 01:52:23.688
Formatierung nachlesen. Habe ich auch schon

01:52:23.688 --> 01:52:25.788
sehr, sehr häufig aufrufen müssen.

01:52:28.148 --> 01:52:28.328
Ja.

01:52:29.087 --> 01:52:31.928
Vielen Dank, Martin, dass du dabei warst und uns mit deinem Wissen bereichert hast.

01:52:32.547 --> 01:52:32.708
Ja.

01:52:33.808 --> 01:52:34.888
Danke auch, dass ich

01:52:34.888 --> 01:52:36.848
schön erzählen konnte.

01:52:38.188 --> 01:52:38.947
Danke, Johannes.

01:52:39.308 --> 01:52:40.867
Und bleibt uns alle gewogen.

01:52:40.867 --> 01:52:42.148
Hört uns, schreibt uns wieder rein.

01:52:42.288 --> 01:52:45.067
Irgendwelche Kommentare an hallo.pythonpodcast.de

01:52:45.067 --> 01:52:45.308
Genau.

01:52:45.928 --> 01:52:47.228
Und einfach bis zum nächsten Mal.

01:52:47.788 --> 01:52:48.047
Tschüss.

01:52:49.547 --> 01:52:50.407
Bis dann, ciao
