Transcript: European XFEL - Röntgenlaser mit Python

· Back to episode

Full episode transcript. Timestamps refer to the audio playback.

Dominik

Ja, hallo liebe Hörerinnen und Hörer, willkommen beim Paisen-Podcast.

Dominik

Wisst ihr, welche Episode wir heute haben?

Dominik

42, ist das nicht schön?

Dominik

Tja.

Dominik

Das hättet ihr wissen müssen, das ist ja die Antwort auf alles.

Dominik

Bei uns ist natürlich wieder Jochen, hi Jochen.

Dominik

Hallo Dominik.

Dominik

Johannes ist wieder da, hi Johannes.

Dominik

Hallo zusammen.

Dominik

Ja, ich bin der Dominik.

Dominik

Und wir haben den Martin heute zu Gast.

Dominik

Jo.

Dominik

Hallo.

Dominik

Hallo Martin.

Dominik

Hallo.

Dominik

Schön, dass du auch dabei bist.

Dominik

Was machen wir denn heute?

Dominik

Die Folge heißt Laser des Todes.

Dominik

Todeslaser?

Dominik

Todeslaser mit Paisen.

Dominik

Todesstrahlen?

Dominik

Ja.

Dominik

Ich weiß nicht.

Dominik

Warum heißt das denn so, Martin?

Martin

Ja, ich wollte ein bisschen erzählen, wie wir, ich arbeite in Hamburg an dem Röntgenlaser XFEL

Martin

und wie wir das Ganze dort mit Python steuern und wie wir dort unsere Experimente machen.

Martin

Das klingt interessant.

Martin

Und ja, also wenn wir Python nicht hätten, wäre er tot, ist er Todeslaser?

Martin

Nein.

Martin

Ja, sehr gut.

Martin

Der tote Laser.

Martin

Genau.

Dominik

Ja, das machen wir heute.

Dominik

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.

Dominik

Und wir wollen euch ein bisschen darüber erzählen, was wir von euren Fragen halten.

Dominik

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?

Dominik

Da wollen wir einfach so ein bisschen drüber quatschen.

Dominik

Ja, dann fangen wir doch mit den News an, oder?

Jochen

Ja, alles klar. Was haben wir denn für News?

Dominik

Johannes hatte irgendwas ganz Interessantes, habe ich gehört.

Johannes

Nichts, was man öffentlich sagen kann.

Johannes

Ach so.

Dominik

Wir nehmen die Folge auch schon zum mehrfachsten Mal wieder auf.

Dominik

Also eigentlich wollten wir euch ja auch mit Listen beglücken,

Dominik

aber das werden wir dann mal anders machen.

Dominik

Die laufen auch nicht weg.

Dominik

Ihr hört vielleicht, Johannes hört sich heute besonders toll an.

Johannes

Ja, ich habe sogar einen Lob vom Jochen erhalten.

Johannes

Das ist höchst ungewöhnlich,

Johannes

dass die Todqualität vom Jochen gelobt wird.

Johannes

Ja, es ist erstaunlich.

Johannes

Aber wenn man Geld ausgibt, kann man Probleme lösen.

Johannes

Das ist sehr überraschend.

Johannes

Ja, man kann auch Probleme lösen, wenn man kein Geld ausgibt,

Jochen

aber manchmal braucht man dann länger und ist nerviger

Jochen

und so. Ja,

Johannes

über Sachen basteln und Audio-Hardware ist auch nicht

Johannes

meine Expertise und so.

Johannes

Es ist der Geldweg

Johannes

immer eine Möglichkeit.

Dominik

Also größte News für Hannes hat ein neues Mikrofon.

Dominik

Haben wir noch was anderes?

Jochen

Haben wir noch was anderes? Ja, wir haben zum Beispiel...

Jochen

Jemand war auf der PyCon, habe ich gehört.

Jochen

Ja, richtig. Ich dachte ja eigentlich, das hatte ich beim letzten Mal erzählt,

Jochen

dass ich da gar nicht hinfahre. Schade, schade, weil

Jochen

irgendwie alle Tickets schon weg und so. Und dann hat es sich

Jochen

aber doch noch ergeben, dass sich irgendwie da

Jochen

Tickets auftun und

Jochen

dann konnte ich da doch noch hin, kurzfristig

Jochen

und ich dachte auch, ich hätte keine Zeit, aber ich hatte dann doch Zeit.

Jochen

Ja, und das war sehr nett.

Jochen

Also war jetzt die erste, ich war

Jochen

das letzte Mal auf der

Jochen

PyCon 2019, also vor zweieinhalb Jahren

Jochen

und ja, war sozusagen die erste

Jochen

Konferenz dann wieder nach all der Zeit

Dominik

und das war... Aber man konnte niemanden erkennen, weil die da

Jochen

noch getarnt war. Ja, weil Maskenpflicht

Jochen

und so

Jochen

und ich hätte, genau, das hatte auch

Jochen

jemand von euch schon irgendwie mal

Jochen

erzählt, da hätte man sich ja auch das

Jochen

das eigene Gesicht irgendwie aufs T-Shirt drucken können oder so.

Jochen

Das wäre praktisch gewesen, dann hätte man Leute erkennen können.

Jochen

Oder direkt auf die Maske.

Jochen

Ja, oder auf die Maske, genau.

Jochen

Bin ich nicht drauf gekommen, aber das wäre natürlich gut gewesen.

Johannes

Die guten Ideen hatten wir immer erst hinterher.

Jochen

Ja, auf jeden Fall genau.

Jochen

Das mit den Masken war natürlich so ein bisschen,

Jochen

das hat sich noch nicht so angefühlt wie immer, ehrlich gesagt.

Jochen

Aber es war auf jeden Fall schon mal ein Schritt in die richtige Richtung.

Jochen

Und ich war jetzt letztens auch auf der Beyond Teller-Rand.

Jochen

Das ist so eine Web-Entwicklungskonferenz.

Jochen

Mit ganz vielen Design-Troics.

Jochen

Ganz viel Design und nicht nur Computer-Kram,

Jochen

sondern halt auch Kunst und so.

Jochen

Und so ein bisschen die hippe Szene, die sich

Jochen

dafür hält.

Jochen

Ja, die hippe Szene,

Jochen

das könnte man sagen. Meine coolen

Jochen

Freunde, die gehen dahin.

Jochen

Du weißt, deswegen habe ich es nicht geschafft.

Johannes

Ich war da nur einmal und dann war es mir zu cool.

Johannes

Ja.

Johannes

Aber ja genau, also

Johannes

es ist deutlich,

Jochen

also die ganze Atmosphäre da ist halt

Jochen

schon so ein bisschen,

Jochen

der Vibe ist einfach anders

Jochen

und ist angenehmer, ehrlich gesagt.

Jochen

Und da haben die Leute dann schon keine Masken mehr getragen,

Jochen

was möglicherweise daran lag, dass die ganzen Regeln dann auch

Jochen

irgendwann obsolet wurden.

Jochen

Aber auch, dass die Räumlichkeiten einfach besser geeignet waren,

Jochen

weil viel mehr Raum und so.

Dominik

Aber es waren auch ein paar interessante Talks, habe ich gesehen.

Dominik

Also sehr interessante Leute, auch international, die geflogen sind.

Dominik

Ist eigentlich immer so.

Dominik

Das ist auch komisch.

Dominik

Das weiß keiner so.

Dominik

Oder ich weiß nicht, ob die Leute das wissen,

Jochen

aber das ist tatsächlich eine der besten Webkonferenzen so weltweit.

Jochen

Und die findet einfach so in Düsseldorf statt,

Jochen

in so einem alten Theater.

Jochen

Oh, wie praktisch.

Jochen

Ja, und da kommt immer so die...

Jochen

Kann man die Videos inzwischen ansehen?

Jochen

Ja, ja.

Jochen

Weißt du, dass man die aus den Vorjahren immer sehen konnte?

Jochen

Aber gibt es das inzwischen?

Jochen

Doch, nicht mehr auf Vimeo,

Jochen

weil Vimeo hat gepivotet und macht was anderes jetzt.

Jochen

Aber die sind jetzt auf YouTube,

Jochen

was natürlich nicht so richtig...

Jochen

Aber das ist aber uncool.

Jochen

YouTube ist ein bisschen uncool, hat nicht den richtigen Vibe.

Jochen

Das stimmt schon, Vimeo war da besser.

Jochen

Aber ja, die gibt es alle auf YouTube.

Jochen

Ja, insofern kann man sich da einfach mal reingucken

Jochen

und dann sieht man, was dabei ist.

Jochen

Du wolltest noch irgendwas sagen, irgendeine Keynote von

Dominik

Total Super, hast du gesagt? Und

Dominik

du wolltest noch was erzählen zu den Talks,

Dominik

die du auf der PyCon ziemlich cool fandest und von den

Dominik

Trends erzählen. Und zum Beispiel gab es sowas

Dominik

wie PyScript, habe ich gehört, wird gerade so ein bisschen

Jochen

durch die... Ja, wobei das war jetzt

Jochen

dann eher PyCon US, glaube ich, da war das

Jochen

ein großes Thema, PyScript und so über

Jochen

Pyodid, aber... PyCon US

Jochen

fand mich übrigens auch. Ja, die

Jochen

war auch, genau, da habe ich aber nicht so wahnsinnig

Jochen

viel mitbekommen, außer irgendwie das, was man

Jochen

halt über Twitter so mitbekommen.

Dominik

Apropos Cons, die Django-Con

Dominik

ist auch im Herbst und für die

Dominik

Europython im Sommer in Dublin,

Dominik

da gibt es noch Vouchers, wenn ihr bei uns in der Gruppe

Jochen

seid. Ja, richtig, das stimmt.

Jochen

Für die Django-Con

Jochen

kann man noch ganz kurz

Johannes

Vorträge einreichen. Also wer noch einen Vortrag bei der Django-Con

Johannes

machen möchte, hat jetzt noch die Gelegenheit dazu.

Jochen

Ja, ich glaube bis zum 31. Mai. Wir müssen uns ein bisschen

Jochen

beeilen mit der Veröffentlichung, dass das noch vorher...

Jochen

Aber ja, das geht.

Jochen

Das zählt.

Jochen

Europython-Voucher auch in Jochen, das finde ich ja cool.

Jochen

Interessen wir uns denn da? Ja, eigentlich schon.

Jochen

Ich habe es bloß bisher noch nicht geschafft, eine Unterkunft

Jochen

zu finden. Also meines direkt in der Nähe von der

Jochen

Brewdog Brewery. Ja, also

Jochen

ich weiß, es gibt da tolle Unterkünfte und so, aber

Jochen

entweder sind die halt unbezahlbar oder halt nicht

Jochen

so richtig irgendwie für mehrere Leute geeignet

Jochen

oder halt nicht verfügbar in dem Zeitraum und das ist

Jochen

alles irgendwie ganz schrecklich. Ich habe so ein Hotel gefunden, das

Dominik

relativ entspannt gerade aufgemacht

Dominik

hat. Da gab es noch gar keine großen Reserven.

Dominik

Hat erst letzte Woche eröffnet oder so. Oh,

Dominik

da müssen wir, okay.

Dominik

Ja, die Bewertung erstmal so, da fehlen noch

Dominik

die Klobürsten, aber ich glaube, das bis Juli

Dominik

haben das hinbekommen. Okay, das ist interessant.

Dominik

Da muss ich mal gucken, ja.

Dominik

Ja, also wenn sich dieses Problem lösen lässt,

Dominik

dann werde ich da auch hinfahren, denke ich.

Dominik

Ja, genau,

Dominik

Konferenzen, achso, was wollte ich,

Jochen

ich glaube, wir machen am besten noch mal

Jochen

mit Christian, wollten wir

Jochen

eigentlich noch eine Episode machen zu den ganzen

Jochen

Talks im Einzelnen und sowas, so eine interessante

Jochen

Sache. Zum Background, zum PyCon, genau.

Jochen

Oder Background zum PyCon, aber also für mich

Jochen

tatsächlich der beste oder interessanteste

Jochen

Talk jetzt auf der PyCon.de

Jochen

war halt der von Christian

Jochen

Heim ist zum Thema

Jochen

Python

Jochen

nach WebAssembly kompilieren und dann halt

Jochen

also Python 3.11 im Browser laufen lassen.

Jochen

Vielleicht hören wir da auch noch mehr

Jochen

davon. Ja, genau.

Jochen

Und das war schon

Jochen

beeindruckend, dass das geklappt hat

Jochen

und ja, da ging es ein bisschen um

Jochen

den Hintergrund, das war echt super. Ansonsten

Jochen

ja, was

Jochen

ich, den

Jochen

einen Talk fand ich, den von Stefan Benel

Jochen

zum Thema Zeiten,

Jochen

hatten wir ja auch schon mal, das ist jetzt 20 Jahre geworden,

Jochen

das Projekt, und den fand ich auch

Jochen

super. Ich fand den

Jochen

von meinen Ex-Kollegen

Jochen

bei Billiger super dazu.

Jochen

Wir machen mal Live-Programming,

Jochen

ein ORM in Python.

Jochen

Ich fand den

Jochen

von Idealo, weil er sich halt mit dem

Jochen

Thema, mit dem ich mich auch schon lange, oder lang,

Jochen

früher in einer anderen Zeit,

Jochen

wie lange man beschäftigt hat,

Jochen

das war so richtig so

Jochen

Blast-from-the-past-Vibes da,

Jochen

und ja, die machten das

Jochen

jetzt gerade, was wir da früher schon mal gemacht hatten

Jochen

und machen das super und es war sehr interessant.

Jochen

Und ja, das müsste alles

Dominik

in die Schonungsstellen, dann kann man sich das alles nämlich mal anschauen,

Jochen

wenn man möchte. Ja, ich glaube, bei dem Vortrag,

Jochen

da sind die Slides leider nicht da und auch der ist

Jochen

nicht per Video irgendwie verfügbar.

Jochen

Insofern weiß ich nicht genau, warum, aber

Jochen

ja, genau.

Jochen

Da müsste man da eigentlich

Dominik

nochmal eine kürzere Zusammenfassung zu machen, aber

Jochen

vielleicht müssen wir irgendwann mal machen.

Jochen

Vielleicht kriegen wir da auch nochmal die

Jochen

irgendwie dazu, mit uns zusammen eine Sendung zu machen oder so.

Jochen

Müssen wir mal schauen.

Jochen

Ja, genau, ja, PyScript ist halt auch ein interessantes Thema, ist halt so ähnlich, aber PyScript ist halt ein bisschen anders insofern, als das über Pyudit funktioniert und das ist halt dann Python 3.10.

Dominik

Und geht aber auch über WebAssembly rein in den Browser und der Browser lädt dann irgendwie Python-Pakete von, weiß nicht, 70 MB oder sowas und kann dann einen REPL aufmachen im Browser direkt.

Dominik

Ja, das geht mit

Jochen

Python 3.11

Jochen

nach wie vor auch, aber

Jochen

da geht halt tatsächlich sowas wie, man

Jochen

macht halt ein Jupyter-Notebook

Jochen

auf. Das ist halt komplett

Jochen

also auch das Backend läuft dann halt im

Jochen

Browser. Ja, das ist schon ganz nett.

Jochen

Jupyter-Light nennt sich da, das ist ziemlich cool.

Dominik

Da kann man auf jeden Fall gerade für diese ganzen Datenverarbeitungsgeschichten,

Dominik

wenn man da ohne große Def-Environments

Dominik

was bauen will, von irgendeinem Gerät

Dominik

recht weit kommen.

Jochen

Man hat halt erstmal diesen ganzen Packaging-Schmerz

Jochen

nicht mehr so, man muss kein Python installieren, was ja

Jochen

wenn einen dann jemand fragt, ja gut, dieses

Jochen

Jupyter, voll cool, wie installiere ich denn jetzt Python

Jochen

auf meinem Windows oder so?

Dominik

Ja, es artet mal ein bisschen aus.

Dominik

Ja,

Dominik

das ist ein bisschen schwierig, genau.

Dominik

Ja, insbesondere dann, wenn schon welche da sind und

Dominik

dass dann irgendwelche Konflikte mit irgendwelchen Dingen, die sonst

Dominik

so laufen sollen, ist das manchmal so ein bisschen

Dominik

ein Schmerz. Aber damit haben wir jetzt

Dominik

vielleicht weniger zu tun. Und PyScript ist so recht

Dominik

einfach auch zu bedienen. Du kannst einfach sagen PyScript und dann schreibst

Dominik

du Python rein in den Browser und dann...

Johannes

Aber irgend so was gab es doch früher

Johannes

auch schon mal. Es gab schon irgendwelche

Johannes

solche Lösungen für Python im Browser.

Johannes

Wo ist es denn, wenn dir das war?

Johannes

Da hatten wir doch letztes Mal drüber gesprochen.

Johannes

Wie ist das denn? Python-Skript? Ja, aber ich habe es natürlich nicht nachgeguckt.

Johannes

Das wäre jetzt so einfach.

Jochen

Ja, ich weiß es auch nicht mehr. Ich weiß nur auch,

Jochen

ja, es gab sowas schon mal und das aus irgendwelchen Gründen

Jochen

ist das wieder versandet oder so

Jochen

oder war nicht so, aber ich weiß es auch

Jochen

nicht genug darüber, um irgendwas dazu sagen zu können.

Jochen

Ich habe nicht gesagt, warum ich angefangen zu reden. Das war doof.

Jochen

Ja, ich weiß, dass es mal

Jochen

so eine Lösung gab für, also

Jochen

irgendeine Universität hat man das gemacht,

Jochen

um Leuten Python beizubringen.

Jochen

Dass man halt irgendwie so einen kleinen

Jochen

Python-Interpreter im Browser hatte,

Johannes

aber das war halt kein vollständiger, das war kein...

Dominik

Ja, so eine Art Micro-Python irgendwie mit einem

Dominik

verringerten... So eine Art, ja.

Dominik

...Bildins und nicht so viel Batterien dabei.

Dominik

Und der war halt roh in JavaScript

Johannes

programmiert, was dann auch zu vielen schönen Dingen

Johannes

geführt hat, aber

Johannes

zum Ausprobieren ist das natürlich eine schöne Sache

Dominik

gewesen. Oh, damit kennst du dich ja auch jetzt besonders gut aus,

Dominik

Johannes, also zumindest mit dem Script-Type von...

Dominik

Mit JavaScript nicht. TypeScript machst du

Dominik

Darf ich jetzt ein bisschen

Johannes

damit arbeiten. Es ist gar nicht so schlimm, wie man

Dominik

sich das vorstellt. Ja, wir wollten über Typen, wollten wir auch

Dominik

nochmal sprechen. Jetzt haben wir schon wieder alles verraten, was

Dominik

demnächst kommt und Postgres kommt.

Dominik

Vielleicht dazu, was machen

Dominik

wir denn so demnächst? Aber was ist denn noch in den

Dominik

News drin? Haben wir noch was vergessen? Da war nämlich gar nicht so

Jochen

viel Großes diesmal. Ne, diesmal war irgendwie

Jochen

ansonsten nicht so, also doch was noch,

Jochen

das gibt es jetzt im Sommer, das kann man schon mal ankündigen.

Jochen

Wagtail Release

Jochen

3.0. Das wird sicher noch

Jochen

interessant, da machen wir bestimmt noch was zu.

Dominik

Funktioniert es denn auch endlich jetzt mit Django 4?

Dominik

Ja, ist schon lange, ist schon lange.

Dominik

Ja, gut auch.

Dominik

Ja, doch.

Dominik

Ich weiß noch nicht.

Dominik

Auf Python 3.11 gibt es ja inzwischen Betas, genau.

Johannes

Und die Performance-Vergleiche sehen sehr gut aus.

Johannes

Wie viel schneller ist das?

Johannes

20 Prozent habe ich gehört, stimmt das?

Johannes

Ja, so wie von 3.9 auf 3.10 einfach nochmal zu viel schneller geworden.

Johannes

Schön.

Johannes

Sehr gut, sehr gut.

Johannes

Das ist schon nicht schlecht.

Johannes

Es gibt auch jetzt auch Diskussionen darüber,

Dominik

ob man den Gil jetzt nicht einfach mal abschafft

Dominik

oder so eine Alternativ-Version, oder?

Jochen

Ja, da gibt es, also da hat einer bei Facebook, ich habe den Namen vergessen, der hat da irgendwie anderthalb Jahre.

Jochen

Immer und lange Diskussionen darüber.

Jochen

Also es gibt diese alten, dieses alte Projekt von, wie heißt der, Hastings, ich weiß nicht, diese Glectomy-Geschichte.

Jochen

Unladen Swallow.

Jochen

Ja, ist das das gleiche? Ich weiß gar nicht.

Johannes

Ich weiß nicht, aber auf jeden Fall gibt es das auch.

Jochen

Ja, aber der Ansatz jetzt, also wie heißt der, Sam, ich habe den Namen vergessen.

Johannes

Stackless Python gibt es auch schon seit Ewigkeiten,

Johannes

was auch niemand benutzt.

Johannes

Oh, das weiß ich nicht.

Jochen

Soweit ich weiß, dieses, wie heißt das?

Jochen

EVE Online oder so benutzt Stackless.

Jochen

Ah, echt?

Jochen

Ja, dann schon.

Jochen

Guck mal, Johannes.

Jochen

Aber die sind noch auf Python 2.

Dominik

Jochen hat gerade was von einem Computerspiel erzählt,

Dominik

wo er die Technologie kennt und das war gegen dich.

Dominik

Aha.

Dominik

Mal, wenn es nämlich Johannes, der sich mit den Spielen auskennt.

Dominik

Ja, ich kenne mich mit den Spielen aus,

Dominik

nicht mit der Technik dahinter.

Dominik

Die ist mir egal.

Dominik

Na gut.

Dominik

Muss nur gut aussehen.

Jochen

Ähm, nee, aber der jetzige Ansatz ist auch so, dass da viele Leute gesagt haben, die drauf geguckt haben, oh, der sieht so aus, als ob das wirklich funktionieren könnte. Insofern, ja, könnte sein, dass es, also bis es soweit ist, wird es natürlich noch eine ganze Zeit lang dauern. Aber, ähm, ja, allein, dass da jemand so viel Arbeit reingesteckt hat, das ist auch schon lange nicht mehr passiert.

Jochen

Auf der anderen Seite, ehrlich gesagt, also meine Position dazu ist ja so, ja, so wahnsinnig wichtig ist das jetzt halt nicht, weil ich meine, das wäre ja auch nochmal eine interessante Frage, ich weiß nicht, ob euch irgendwie eine Situation, oder ich habe da Schwierigkeiten, ich weiß nicht, dass man tatsächlich irgendwie I.O. multiplexen will und gleichzeitig ganz viel CPU braucht, weil dafür, dann wäre es gut, Gil irgendwie loszuwerden, aber ich habe die Situation nicht so oft.

Dominik

Also das Projekt heißt übrigens NoGill und da gab es einen Blogartikel zu bei der PSF-Blog.

Dominik

Ah, okay. Kann sein.

Dominik

NoGill. NoGill.

Johannes

Man darf auch nicht vergessen, dass ganz viele andere Sprachen, die so interpretiert sind, auch einen Gill haben, der aber längst nicht so viel diskutiert wird.

Johannes

Längst nicht so viel irgendwie im Weg steht.

Johannes

JavaScript hat es auch.

Dominik

Aber es soll tatsächlich einen Compiler-Flag geben in Python 3.12, wo man den Gill mit abstellen kann.

Jochen

Du kannst auch selber

Jochen

den freigeben, ja, das kannst du

Jochen

auch machen, wenn du halt, gut, du musst

Jochen

dann halt, ja, du musst dann schon

Jochen

auch eine C-Extension schreiben, aber geht

Jochen

schon. Und wenn du sowas

Jochen

benutzt wie NumPy oder so, dann

Jochen

machen das natürlich alle. Also da wird

Jochen

sowieso auch immer alle Prozessoren benutzt und so.

Dominik

Also hier steht, dass das das einzige Feature wäre, was wirklich

Dominik

Concurrency between Threads

Dominik

verhindern würde.

Dominik

Das verstehe ich nicht sofort.

Jochen

Ja, also Concurrency, also das ist halt

Jochen

die Frage, also ich glaube, ich verstehe, was das meint,

Jochen

aber das bedeutet halt, also was

Jochen

momentan nicht geht, ist, dass du

Jochen

sozusagen mit

Jochen

mehreren Threads

Jochen

mehr als eine CPU benutzt gleichzeitig.

Jochen

Das geht nicht.

Jochen

Also eine Thread pro CPU?

Jochen

Nee. Alle Threads eine CPU.

Jochen

Aha. Genau.

Jochen

Das ist halt das, was der Gil macht.

Jochen

Jeder Python-Interpreter kann nur eine CPU haben.

Dominik

Ja. Oder? Okay, also muss ich

Dominik

mehrere, ja, muss ich den Interpreter multiplexen.

Dominik

Du musst den Multiprocessing machen. Genau.

Jochen

dann auch wieder Mist. Ja, oder du kannst halt,

Jochen

wenn du halt unten drunter sitzt, wenn du sowas

Jochen

wie in einem Pipe bist oder so und da sagt dir,

Jochen

hat dir gerade jemand gesagt, multipliziere mal diese beiden Matrizen,

Jochen

dann kannst du auch irgendwie sagen, okay, ich

Jochen

weiß, was ich tue, GIL gebe ich

Jochen

frei und dann. Und auch diese ganzen

Johannes

Netzwerksachen, die geben den GIL üblicherweise

Johannes

ja auch immer wieder frei. Also wenn du irgendwie viel

Johannes

I.O. machst mit Select Calls oder sonst

Johannes

irgendwelchen Sachen, hast du ja auch keinen GIL in deinem Zahn.

Johannes

Also wartest du nicht immer auf

Johannes

eine, sondern du wartest schon auf alle gleichzeitig.

Johannes

Aber du kannst dann, wenn Pakete kommen, halt immer nur

Johannes

eins bearbeiten. Ja.

Johannes

Na gut, dann bin ich mal gespannt,

Johannes

was es da in 3.11 und 3.12 und 3.13

Johannes

und 3.14 und so weiter

Johannes

geben wird.

Johannes

Spannend.

Jochen

Okay, dann sind wir mit den News durch.

Jochen

Haben wir nicht geschafft, vielen Dank.

Jochen

Du kommst jetzt zu unseren User-Fragen.

Jochen

Ach, User-Fragen, genau, ja, richtig.

Jochen

Wir haben auch eine längere Pause gemacht,

Jochen

muss man sagen. Das könnte natürlich auch dazu

Jochen

geführt haben, dass es mehr war als normalerweise.

Jochen

Ja, und zwar, aber wir hatten auch mehrere Leute,

Jochen

die quasi das gleiche Thema sozusagen ein bisschen angefragt haben.

Jochen

Und zwar, das war, wie haltet ihr euch eigentlich so auf aktuellem Stand?

Jochen

Wo kommt der an Neuigkeiten, Informationen ran?

Jochen

Ja, das war die eine Frage.

Dominik

Und die andere Frage, wo du sagtest, das ist fast dasselbe,

Dominik

war, wie fange ich denn damit überhaupt an?

Dominik

Ja.

Dominik

Mit dem Quereinstieg.

Dominik

Ich fand ja, das waren zwei unterschiedliche Dinge.

Jochen

Ja, das sind unterschiedliche Fragen im Grunde.

Dominik

Ja, aber ich würde die gerne auch beide beantworten.

Dominik

Ja, dann beantworten wir.

Dominik

Wie haltet ihr euch denn auf dem Laufenden?

Dominik

Ich frage doch mal den Martin.

Dominik

Ich? Also ich glaube

Martin

meistens dadurch, dass ich einfach Jochen anrufe,

Martin

aber ich glaube, diese Optionen haben jetzt

Martin

nicht so viele

Martin

der Zuhörer.

Dominik

Schreibt uns immer eine E-Mail, wir machen einen neuen

Dominik

News-Kanal auf.

Martin

Ja, aber ansonsten

Martin

naja, also

Martin

Bist du auf Twitter?

Martin

Ich bin tatsächlich, also sowas wie

Martin

Twitter mache ich tatsächlich gar nicht. Ich lese tatsächlich

Martin

sehr viel einfach Dokumentation

Martin

der Sachen, die ich neu verwende und

Martin

was denn immer Neues kommt,

Martin

dann wird immer... Das ist, glaube ich, ein ziemlich guter

Dominik

Tipp, dass man tatsächlich weiß, welche Sachen man

Dominik

verwenden möchte und dann davon die offizielle

Dominik

Doku liest. So kommt man tatsächlich, das ist

Dominik

eine Antwort auf die zweite Frage, glaube ich,

Dominik

am schnellsten in die Themen rein.

Dominik

Also es gibt da ja auch dann

Martin

immer typischerweise What's New

Martin

in den Dokumentationen und da steht

Martin

tatsächlich auch die wichtigen Sachen drin. Also daher

Martin

habe ich meine Insider-Infos.

Dominik

Das finde ich tatsächlich gut, weil viele Leute, die anfangen, die

Dominik

prügeln sich so ein bisschen mit irgendwelchen Tutorials

Dominik

rum oder YouTube-Sachen oder so.

Dominik

Und ich finde tatsächlich, dass genau das

Dominik

in die Hand zu nehmen, was man braucht und dann die Doku lesen,

Dominik

viel effektiver.

Dominik

Ja, okay, aber um noch mal

Dominik

auf das News-Thema zurückzugehen.

Dominik

Jochen, wo kriegst du denn deine News?

Jochen

Ja, ich tatsächlich heutzutage

Jochen

meistens über Twitter. Ich habe früher

Jochen

sehr viel RSS konsumiert und

Jochen

davor Newsnet. Und heute

Jochen

ist es hauptsächlich Twitter, wobei man

Jochen

da ein bisschen aufpassen muss.

Jochen

Wenn man auf Twitter irgendwie neu ist,

Jochen

und nicht viele Leute abonniert hat,

Jochen

dann kriegt man die ganze Zeit

Jochen

irgendwie Nachrichten oder Tweets in die Timeline

Jochen

gedrückt über Celebrities und Fußballer und

Jochen

Fußballer-Frisuren und weiß ich nicht,

Jochen

so Zeugs, wo man sich sagt, hä? Aber

Jochen

wenn man das eine Weile benutzt hat

Jochen

und dann so ein bisschen selber kuratiert hat, dann

Jochen

ist es schon ziemlich gut. Also man muss es hart kuratieren

Dominik

und dann kann man Sachen filtern, wie das der Johannes

Dominik

auch gern macht. Ja, ich

Dominik

finde auch, also Twitter ist eine

Dominik

gute Quelle für Neuigkeiten, aber man muss da wirklich

Johannes

ganz knallhart filtern. Ich habe

Johannes

eine ganz lange Liste mit Wörtern, die mich nicht

Johannes

interessieren.

Johannes

Da sind Celebrity-Namen

Johannes

drauf und Politiker-Namen drauf

Johannes

und politische Institutionen

Johannes

drauf und Themen, die mich einfach nicht

Johannes

interessieren, die ich nicht

Dominik

auf Twitter habe. Also man muss sich seine eigene Filterblase bauen

Dominik

und quasi sich von der Welt so abschotten,

Dominik

dass man nur die Dinge konsumiert,

Dominik

die weitestmöglich brauchen sind.

Dominik

Zumindest auf Twitter.

Johannes

Die meisten Meinungen, die auf Twitter kommen,

Johannes

sind ja erstmal unqualifiziert und deshalb

Johannes

interessiert mich nicht. Also ich würde das auch Anfängern

Dominik

tatsächlich nicht empfehlen wollen, weil das ist ganz schön

Dominik

schwierig, rauszufinden, was einen dann überhaupt

Dominik

interessiert oder was gute Qualität hat, wenn man noch

Dominik

gar nicht weiß, was man sucht.

Dominik

Wenn man

Johannes

tatsächlich über technische

Johannes

Themen auf Twitter reden möchte,

Johannes

dann kann man ruhig alles, dann kann man

Johannes

ruhig Democrats und Republicans

Johannes

und Biden und die ganzen Namen,

Johannes

die es da so gibt, einfach alle rausfiltern, weil

Johannes

da hat man ja nichts davon.

Johannes

Da muss man dann aber schon

Johannes

eben, ja, also man kann jedem mal

Johannes

eine Chance geben. Ein Follow

Johannes

geben ist leicht, aber man muss dann auch

Johannes

sich das durchaus wert sein und jemandem wieder

Johannes

entfolgen. Und dann bildet

Johannes

sich so nach einer Weile eine Sammlung

Johannes

raus von Dingen, die man

Dominik

lesen kann. Ich glaube, dass das vielleicht noch einer der Challenges

Dominik

ist im Internet. Also ich habe da auch irgendwann

Dominik

gesagt, man legt sich so seine Linklisten

Dominik

an oder sowas und die zu pflegen

Dominik

ist aufwendig und zwar auch die Infos,

Dominik

die guten zu finden und die zu karatieren, ist

Dominik

gar nicht so wenig Teil der eigentlichen

Dominik

Arbeit dann auch. Also um da halt erstmal rauszufinden,

Dominik

was sind denn die wichtigen Dinge und die dann zu teilen.

Dominik

Ich habe auch so ein kleines Linklist, wo man

Dominik

halt für Einchecker, glaube ich, so ganz gute Tipps findet,

Dominik

wie man da die ersten Schritte gehen könnte.

Dominik

Aber da hinzukommen, das dauert

Dominik

halt einen Moment. Du musst die erstmal entdecken und auch dann filtern.

Dominik

Wie viele Quellen gibt es denn? Die muss man alle angucken und dann

Dominik

selber so ein Gespür dafür entwickeln,

Dominik

was man denn gebrauchen kann, was einem

Dominik

liegt und sowas, ja.

Dominik

Ein guter Trick ist auch, das über

Dominik

Personen zu machen. Also zum Beispiel, wenn man den

Dominik

Jochen auf Twitter findet, dann

Johannes

kann man ja gucken, wem der Jochen so folgt.

Dominik

Oder man kann lesen, was der so den ganzen Tag

Dominik

macht. Ja, aber ich mache da nicht viel.

Jochen

Das hilft nicht. Aber tatsächlich, genau, wenn man

Jochen

sich anguckt, wem ich folge, könnte man

Jochen

wahrscheinlich eine ganze Menge relevanten Sachen finden,

Jochen

das stimmt. Ja, oder halt

Jochen

bei anderen Leuten in der Community sicher auch.

Jochen

Und ich glaube auch

Jochen

leider, das ist halt auch sowas, das ist mit der Zeit, glaube ich,

Jochen

schwerer geworden, weil wenn ich, ich

Jochen

gucke halt auch ab und zu so auf YouTube und so

Jochen

und es gibt auch super Sachen auf YouTube, aber

Jochen

wenn man... Auch da muss man

Jochen

ganz arg ausfällen. Ganz arg ausfällen und

Jochen

man muss halt sich durch viel Zeug durchgucken,

Jochen

wo ich jetzt sagen würde so, aber das weiß man halt

Jochen

nicht, wenn man anfängt. Ja, gerade die Buzz und Buzzwords,

Dominik

man kann so sich versumpfen in irgendwelchen Dingen von Leuten,

Dominik

die selber eigentlich gar keine Ahnung haben, beim Lernen dann

Dominik

erstmal was aufnehmen, nach dem Motto, ich habe jetzt meinen YouTube-Kanal

Dominik

gemacht. Ja, gar nicht so einfach, ja.

Dominik

Das macht es halt schwer, ja.

Dominik

Also insofern, was ich es auch nicht kann.

Johannes

YouTube hat übrigens auch immer noch RSS-Feeds,

Johannes

also da kann man auch die Kanäle alle mit

Johannes

per RSS abrufen.

Johannes

So mache ich das.

Johannes

Ich will das nicht auf YouTube haben.

Dominik

YouTube hat auch eine API, die man benutzen kann, die kann man sogar in Python benutzen.

Dominik

Ja, das stimmt.

Jochen

Aber das wollte ich vielleicht nochmal so als Tipp genau, meine

Jochen

bevorzugte Art, YouTube-Content

Jochen

zu konsumieren, ist übrigens

Jochen

den ohne Bild

Jochen

zu hören, weil ich nicht so viel Zeit

Jochen

habe, irgendwie vor einem, also wenn ich

Jochen

das höre, dann irgendwie gleichzeitig

Jochen

auf den Bildschirm zu gucken, weil ich gleichzeitig irgendwie

Jochen

spüle oder einkaufen gehe oder sowas meistens

Jochen

und was ich mache

Jochen

und das meinen Podcatcher

Jochen

Podcast Player kann das, aber das können

Jochen

bestimmt andere auch, da kann

Jochen

man, der hat so ein, der macht

Jochen

so ein Sideload

Jochen

Action ins

Jochen

Share Sheet bei

Jochen

bei iOS und wenn man dann sagt, irgendwie man ist auf einem

Jochen

YouTube-Video, es gibt ja auch ganz viele

Jochen

Talks, also das, ach, das ist vielleicht auch ganz interessant, Konferenztalks

Jochen

oder so, man guckt sich die Konferenzen an, guckt,

Jochen

welche Themen sind da so interessant und wenn man auf einem Talk ist

Jochen

auf YouTube und sagt, share. Auch da muss man ganz arg filtern.

Jochen

Stimmt. Auch da muss man ganz arg filtern,

Johannes

weil, also selbst auf den guten

Johannes

Konferenzen, ja, ist die Hälfte der

Johannes

Talks einfach Themen, die mich nicht

Johannes

interessieren und dann, auch da muss man

Johannes

einfach nicht die Sachen angucken, die man

Dominik

mit allen Dingen, ne, wenn die ganzen Content kann man zu Liebzeiten

Dominik

ja gar nicht konsumieren und da muss man vielleicht

Dominik

ein bisschen sich einfach aus, und ich

Dominik

Ich habe es früher immer so gemacht, ich habe erst mal so das

Dominik

lästige weggerockt und dann versucht, dann zu den

Dominik

guten Sachen zu kommen. Das ist eine ganz doofe Idee.

Dominik

Man muss erst mal zu den guten Sachen anfangen, weil dann

Dominik

fällt das lästige dann weg.

Johannes

Es gibt auch einfach so viel

Johannes

Content, dass man da nicht durchkommen kann.

Johannes

Und dann, wenn irgendwas einem nicht gefällt, dann

Johannes

muss man es einfach wegdrücken. Und das muss man aber auch

Johannes

lernen. Ja, das ist nicht so einfach.

Dominik

Also vor allem, was dann auch wichtiger ist, dass man halt aufhört,

Dominik

dann auch irgendwann mit noch einem Talk und noch einem Talk und noch

Dominik

eine Dokumentation, sondern auch mal ins Machen kommt.

Dominik

Also halt tatsächlich an Projekten sitzt, die man

Dominik

irgendwie versucht weiterzubringen, umzusetzen,

Dominik

Dinge, die einen interessieren,

Dominik

irgendwie, dass man da einsteigt.

Dominik

Weil das ist das, was einen am weitesten und am schnellsten weiterbringt,

Dominik

weil man am schnellsten auf die Probleme stößt,

Dominik

die man auch lösen muss oder möchte.

Dominik

Und da halt dann die relevanten Sachen sich rauszusuchen,

Dominik

die einem da weiterhelfen, ist wahrscheinlich effektiver

Dominik

als erstmal die Grundlagen dafür zu lesen.

Dominik

Was nicht immer ist. Das ist schon nett, wenn man

Dominik

bestimmte Sachen hat. Ja, aber das

Dominik

klingt so ein bisschen vom Thema ab vielleicht.

Dominik

Wobei es...

Dominik

Wenn du YouTube-Videos anhörst,

Johannes

warum dann nicht direkt Podcasts?

Johannes

Ja, weil es da nur begrenzt viele gibt.

Jochen

also ich meine, ich höre natürlich auch Podcasts, also da werden

Jochen

vor allen Dingen, ja,

Jochen

TalkPythonToMe,

Jochen

PodcastInit sind vielleicht so die beiden größten.

Jochen

Der deutsche Python-Podcast soll sehr gut sein.

Jochen

Aber das ist ja so ein bisschen

Jochen

irgendwie, das, ja,

Jochen

das wissen dann die Leute, die wir uns hören.

Jochen

Vielleicht.

Jochen

Martin hatte gerade noch eine Idee.

Martin

Ja, was ich immer noch, was immer beim

Martin

Lernen für mich immer sehr wichtig war, ist

Martin

Code anderer Leute zu lesen.

Martin

Und also das macht man

Martin

natürlich idealerweise dadurch, dass man

Martin

andere Leute Code reviewed, das ist dann

Martin

immer das Ideal, dann kann man denen sogar

Martin

noch sagen,

Martin

blöde

Martin

Kommentare reinwirken, genau das,

Martin

also ich mache das glücklicherweise

Martin

beruflich und glücklicherweise habe ich sehr gute Kollegen,

Martin

die sehr gute Programmierer sind und dann

Martin

ich habe sehr viel einfach dadurch

Martin

gelernt, dass ich deren Code gelesen

Martin

und blöde Kommentare

Martin

darüber abgegeben habe.

Jochen

Aber das ist ehrlich gesagt, das ist ja schon so ein bisschen

Jochen

die steile Stelle

Jochen

an der Lernkurve irgendwie, also beide Sachen

Jochen

sowohl einfach so sich über, durch die Dokumentation

Jochen

von Projekten lesen, wie auch

Jochen

fremde Leute Code lesen. Ich erinnere mich da noch dran,

Jochen

dass das halt, also klar, ich würde absolut

Jochen

zustimmen, da kann man super viel lernen, aber es ist halt auch

Jochen

echt anstrengend, also

Jochen

vor allen Dingen, wenn das halt so Sachen sind, die man

Jochen

gar nicht mehr, ja, da

Jochen

aber ja, da kann man echt viel lernen, das ist

Jochen

ja. Es gibt ein Buch

Martin

mit dem Titel Learning Python the Hard

Martin

Way. Ah, ja.

Dominik

Das ist jetzt schon, habe ich auch mitgelernt.

Dominik

Ja.

Dominik

Finde ich gut.

Dominik

Ja, aber das ist sehr witzig, weil einige Leute, die dann fremden Code lesen oder eigenen Code lesen, stolpern dann irgendwann darauf mal wieder. Ich habe das, glaube ich, schon mal erzählt, aber ich kenne die Geschichte, wie Jochen dann meinen Code reviewt und dann, ah, nee, oh Gott, oh Gott, oh Gott, schmeiß mal weg, mach mal neu. Ja, okay, neu gemacht, weg schon. Und dann wieder, ah, Gott, oh Gott, oh Gott, na, was ist das denn? Schmeiß mal weg, mach mal neu. Und dann so, ah, irgendwann ein bisschen später wieder so, oh, nee, Gott, oh Gott, was ist das denn? Jochen, das habe ich von dir kopiert.

Dominik

Ja, wenn man seinen eigenen Code später

Dominik

sieht, dann passiert einem das auch regelmäßig.

Dominik

Einen eigenen Code ansehen.

Dominik

Past Me war schon

Dominik

ein ganz schlechter. Ja, ja, ein halbes Jahr später

Dominik

so, oh Gott, oh Gott, oh Gott.

Dominik

Was ist das denn? Kann das weg? Ja.

Dominik

Ja, das Wichtigste ist weitermachen, glaube ich, und dass man

Dominik

halt am Ball bleibt.

Dominik

Das ist ein bisschen eine Frage, wie viel Zeit man investiert.

Dominik

Ich habe noch zwei Sachen, die ich

Dominik

als Quelle habe. Die eine ist

Dominik

Hacker News. Das ist aber mehr so, was

Johannes

halt so für den groben

Johannes

Überblick möglich ist, ja, und auch da

Johannes

muss man ganz arg filtern, ja, und vielleicht

Johannes

am Tag einen oder zwei Links

Johannes

rausholen und auf keinen Fall in die Diskussion

Johannes

gucken, weil das ist ganz schrecklich.

Dominik

Ja, ich würde auch nicht ablegen, alle die Links,

Dominik

sondern ich würde, wenn ich was, mir Zeit nehme,

Dominik

die dann direkt angucken.

Johannes

Wenn es interessant ist, kann man

Johannes

sich das ja ansehen und das

Johannes

in diesen Stand rein synthetisieren

Johannes

oder zumindest wissen, dass es etwas gibt.

Johannes

Ja, aber sofort, direkt einmal drüber.

Johannes

Das ist wirklich mehr so eine Discovery-Sache, ja, was gibt es denn?

Johannes

Und da kommen auch immer wieder Python-Sachen durch, wo man sich dann die Dokumentation ansehen kann. Aber das ist wirklich so ein Low-Level. Aber was ich ganz viel mache, ist eben über RSS-Feeds von Personen das Blog lesen.

Johannes

Also zum Beispiel Jochens Blog, ja, hier auf dem Dorf wird abends geläutet.

Jochen

Das ist, ja, die etwas altmodische Push-Notification-Methode.

Johannes

Jetzt ist Feierabend, hier ist jetzt Feierabend auf dem Dorf.

Jochen

Das kann man auch nicht so gut wegdrücken, es gibt keinen Spam-Filter.

Johannes

Nee, nee. Aber Jochens Blog zum Beispiel, ja, der Jochen veröffentlicht ja seine Weaknotes,

Johannes

das heißt, dann weiß ich auf jeden Fall ungefähr, was der Jochen so gemacht hat.

Johannes

Ich gucke mir von den Podcasts eigentlich gar nichts an

Johannes

und von den Artikeln nur die Überschriften.

Johannes

Aber es ist so ein, ja, am Puls der Zeit bleiben,

Johannes

was man da halt hat.

Jochen

Ja, also, genau.

Jochen

Johannes macht ja auch Wignotes und die gucke ich mir auch immer an.

Jochen

Ich finde das immer sehr interessant.

Jochen

Ich finde da immer irgendwie Dinge, die ich nicht gesehen hatte,

Jochen

die irgendwie bei mir nicht vorbeigekommen sind.

Jochen

Ich dachte, ah, super, das ist ja total interessant.

Jochen

Also das hilft auch auf jeden Fall.

Dominik

Also ein paar Newsletter vielleicht auch, aber

Dominik

da kann man auch, wenn einem was interessiert, dann direkt

Dominik

lesen. Also ein paar bessere

Dominik

sind vielleicht irgendwie Data Science Weekly oder

Dominik

Python Weekly oder so.

Dominik

Ja.

Jochen

Genau, ich weiß nicht,

Jochen

ich habe ein paar, ich habe Postgres Weekly

Jochen

auch noch, der ist auch noch ganz gut.

Jochen

Und es gab noch so einen anderen,

Dominik

den ich gerade vergessen habe, den muss ich mir nicht schon

Dominik

einfach reinschreiben, vielleicht finde ich den ja noch.

Dominik

Ja, Newsletter.

Dominik

Ja, aber ansonsten,

Dominik

also eben mit Leuten reden, finde ich immer

Dominik

so das Beste eigentlich.

Dominik

Wie schon sagtest du immer, Jochen anrufen, fragen.

Dominik

Ja, nein, aber

Dominik

wirklich, also wenn man halt irgendwie auf die lokalen

Dominik

Treffen geht, da trifft man andere Leute,

Dominik

die sich vielleicht mit demselben Thema beschäftigen.

Dominik

Ich glaube, das ist eine gute Idee, weil

Dominik

die wissen meistens auch so ein bisschen was oder jeder

Dominik

weiß so ein bisschen was mehr und dann hat man

Dominik

das, irgendwer hat das mal Schwarmintelligenz genannt

Dominik

oder so. Das finde ich gar nicht so schlecht.

Dominik

Da kommt immer so ein bisschen was raus. Da kommt man immer

Dominik

mehrere Schritte weiter, als wenn man da

Dominik

alleine gegen die Wand läuft und da sich

Dominik

dann abwälzt und dann drüber klettern will. Das ist

Dominik

dauert immer ein bisschen länger und manchmal fällt man dann

Dominik

in so Lücken rein, die niemand sehen wollte

Dominik

oder die man selber gar nicht entdecken wollte

Dominik

und verlierst so ein bisschen den Fokus und das ist vielleicht ganz

Dominik

angenehm.

Jochen

Ja, ansonsten glaube ich, dann

Jochen

sind wir damit auch mehr

Jochen

oder weniger, achso, Quereinstieg,

Jochen

andere Frage, ne, das wäre vielleicht auch nochmal.

Dominik

Ja, also die Frage ist,

Dominik

was bedeutet Quereinstieg und wie viel Zeit investierst du,

Dominik

ist halt auch da die Frage, wie viel Zeit kannst du denn aufwenden.

Dominik

Wenn dich Python nur so nebenbei interessiert,

Dominik

dann hast du vielleicht fünf Wochen

Dominik

die Stunde Zeit.

Dominik

Fünf Wochen die Stunde, fünf Stunden die Woche.

Dominik

Das ist zwar schon ganz schön viel,

Dominik

wenn man sich überlegt, dass man so fünf Stunden die Woche für so ein

Dominik

Hobby erübrigt, aber wenn man das jetzt

Dominik

mit jemandem vergleicht, also ich habe zum Beispiel die ersten zwei Jahre

Dominik

70 Stunden die Woche ungefähr investiert

Dominik

und dann braucht man halt für denselben Stoff

Dominik

im gesetzten Fall, man ist das genau gleich

Dominik

effektiv, 28

Dominik

Jahre, wie für diese zwei Jahre, um

Dominik

einfach denselbe Menge irgendwie aufzunehmen,

Dominik

wenn man fünf Stunden die Woche macht, rein rechnerisch

Dominik

und das ist halt einfach so die Frage, also wie viel Zeit

Dominik

steckt man wirklich rein, um weiterzukommen und was will

Dominik

man damit anfangen? Also wenn man jetzt

Dominik

einen Top will, sollte man vielleicht

Dominik

den harten Weg gehen, ja,

Dominik

the hard way und sich wirklich die Sachen so ein bisschen auf den

Dominik

Grund angucken, damit man

Dominik

vielleicht irgendwo mitkommt, weil man möchte ja

Dominik

vielleicht auch ein Level haben.

Jochen

Ja, aber ich finde es schwierig, also ich meine, das sind

Jochen

halt eben auch, im Rückblick

Jochen

ist es halt so viel Zeit, die man investiert hat.

Jochen

Wenn einem das jemand gesagt hätte, wie viel Arbeit

Jochen

das ist, dann hätte man damit gar nicht angefangen.

Jochen

Ich hätte mir gedacht, nee, dann gehe ich lieber

Jochen

mit Holz, genau.

Jochen

Irgendwie gehe ich spazieren

Jochen

und gucke mir irgendwie die Bäume an und die Blüten

Jochen

und denke mir, ach ja.

Jochen

Aber der Grund, warum das dann passiert ist, ist ja eigentlich,

Jochen

dass das halt einfach Spaß gemacht hat.

Jochen

Und dann merkt man das nicht so.

Jochen

Dann denkt man sich, hupsala, schon wieder ein Tag vorbei.

Jochen

Ja, genau, aber das ist dann eher in der Nacht.

Jochen

Es muss halt gut sein.

Dominik

Das muss halt einem Spaß machen und irgendwie liegen, ne?

Dominik

Ja.

Dominik

Also wenn euch das wirklich so...

Dominik

Man darf ja auch nicht so viel Stress machen.

Dominik

Ja, genau.

Dominik

Der Dominik stresst uns ja jetzt,

Dominik

dass man hier so und so viele Stunden reintun muss.

Johannes

Aber es geht ja auch, man kann es auch nebenher machen.

Johannes

Man kann es auch zum Spaß machen.

Johannes

Ja, man sollte es zum Spaß machen.

Johannes

Ja, auf jeden Fall.

Johannes

Ein Python ist sehr gut, um es zum Spaß zu machen.

Dominik

Aber halt tatsächlich auch für einen Lebensunterhalt.

Dominik

Also es geht eigentlich ganz gut.

Dominik

Aber man muss halt dann bereit sein, auch was zu tun.

Dominik

Ich wollte jetzt niemanden stressen,

Dominik

aber es geht halt darum,

Dominik

wenn du jetzt einen Queranschick wirklich finden willst

Dominik

und sagst, du hast dich eben entschieden,

Dominik

das ist jetzt dein Ding, dann mach's

Dominik

ordentlich.

Dominik

Würde ich jetzt behaupten.

Dominik

So regionale Treffen sind da, glaube ich,

Johannes

was supergut ist. Also ich bin, als ich

Johannes

nach Düsseldorf gekommen bin, bin ich einfach in den

Johannes

Python-Fu gegangen und jeden Donnerstag

Johannes

da hingegangen.

Dominik

Ich kenne das ja, im Chaosdorf

Dominik

in Düsseldorf. Genau, im Computerclub in Düsseldorf.

Dominik

Jeden Donnerstagabend

Johannes

ist Python-Fu und da kommen einfach Leute,

Johannes

die interessiert sind. Das hat auch gar kein Programm

Johannes

und gar keine Agenda oder so, sondern

Johannes

es ist einfach

Johannes

Gleichgesinnte treffen und das

Johannes

führt dann schon automatisch

Johannes

dazu, dass man darüber spricht. Und dann kann man ja auch

Johannes

gucken, ob man irgendwo was hat, was

Johannes

man gerne machen möchte oder ob man irgendein Thema hat,

Johannes

was einen interessiert. Und da findet sich dann immer jemand,

Johannes

der irgendwas dazu sagen kann. Oder

Johannes

auch jemand anders, der ein Thema hat,

Johannes

wo man dann selbst was dazu sagen kann. Und dann

Johannes

kommt man da so in den Austausch rein. Also das

Johannes

ist auch eine ganz nützliche Sache.

Johannes

Ja, kann ich mal bestätigen.

Johannes

Ja, ja. Okay, gut.

Jochen

dann würde ich sagen, haben wir uns mit diesem

Jochen

Themenbereich auch beschäftigt.

Jochen

Dann können wir ja ein neues Kapitel anfangen.

Jochen

Um den Laser des Todes

Jochen

geht es dann jetzt. Ja, genau.

Jochen

Ja, da musst du jetzt, glaube ich,

Dominik

erstmal ein bisschen ausholen, Martin. Was ist das denn?

Dominik

Genau. Und was macht ihr da überhaupt?

Dominik

Also, du musst doch nochmal von dem Institut

Dominik

leichter zählen, Hintergrund und dann. Also, wir sind

Martin

der European XFEL. Das XFEL

Martin

steht für Röntgenfreie

Martin

Elektronenlaser.

Martin

Wir sind eine Großforschungseinrichtung in

Martin

Hamburg oder eher bei Hamburg.

Martin

Und, ja, wir haben dort einen der stärksten Röntgenquellen der Welt. Ja, ich glaube, wir sind aktuell sogar Nummer eins. Da ist immer so ein Wettlauf, wer da jetzt gerade den Arzt fahren hat.

Martin

Kleiner Understatement.

Martin

Ja, es gibt ja auch nicht so viele auf der Welt. Also so ein Röntgen und Laser zusammen, das ist tatsächlich gar nicht so einfach. Das kostet halt auch gleich mal anderthalb Milliarden Euro.

Martin

Warum macht man das zusammen?

Martin

Ja, also Röntgen ist halt ganz praktisch.

Martin

Also es geht effektiv, ein großer Witz daran ist,

Martin

dass man effektiv ein sehr, sehr gutes Mikroskop hat.

Martin

Man kann deutlich kleinere Sachen sehen,

Martin

als man mit einem normalen Lichtmikroskop sehen kann,

Martin

weil die Wellenlänge von Röntgenlicht tausendmal kürzer ist,

Martin

als die von Sichtbewerbem Licht und dann sogar mehr als tausendmal.

Martin

Und dann kann man halt tausendmal kleinere Sachen sehen

Martin

Und dadurch kann man dann zum Beispiel sich das Spike-Protein von Corona angucken. Das war bei uns natürlich gerade das Thema schlechthin. Naja, also das ist auch alles sehr interessant, aber bis die wissenschaftlichen Ergebnisse dann tatsächlich in der Praxis ankommen, wird hoffentlich Corona vorbei sein.

Martin

Ist natürlich trotzdem interessant. Ja, und solche Sachen können wir uns dann halt angucken, wobei wir auch viele andere Sachen machen. Also zum Beispiel, also meine Gruppe hat sich viel um Magnetismus gekümmert. Da ging es um tatsächlich solche banalen Sachen wie, wie schnell kann man eigentlich grundsätzlich, also prinzipiell auf eine Festplatte schreiben.

Martin

Ja, die Forschung, also tatsächlich war es so, dass man lange Zeit Angst hatte, man könnte gar nicht so, also man käme da an eine Grenze, dass man also prinzipiell physikalisch nicht schneller eine Festplatte schreiben kann, als halt, ich weiß nicht, was damals vorgeschlagen wurde.

Martin

Und dann haben wir das mal, also nicht wir, also die Physik hat das nachgemessen und festgestellt, nee, diese Grenze gibt es gar nicht, die man sich da gedacht hat. Das geht sogar tausendmal schneller, als man sich das gedacht hatte. Und ja, dann wollte man halt eigentlich wissen, ja, was passiert denn da? Also offensichtlich hatte man das Problem nicht verstanden.

Martin

Und wir haben uns dann tatsächlich mit einem solchen Randgläser, stellen wir uns die Frage, wie schnell geht das eigentlich? Und richtig, also die eine Sache ist, dass man sehr kleinere Sachen sich angucken kann und das andere ist, dass man sich sehr, sehr schnelle Prozesse angucken kann, weil wir sehr kurze Pulse machen können. Also wir kommen unter eine Femtosekunde drunter, wem das was sagt, also 0,1501 Sekunden.

Dominik

Das ist sehr langsam. Also schnell.

Martin

Ja, genau. Und das ist der andere Grund, warum man das macht.

Martin

Und dann auch noch im Röntgenbereich, es hat halt dann auch noch die gleichen Vorteile, die man normalerweise beim Röntgen hat, dass man halt durch Sachen so gewissermaßen halb durchgucken kann und dann so in Sachen reingucken kann.

Martin

Das ist natürlich dann auch noch ein schöner Nebeneffekt.

Dominik

Und dann, das Ding läuft dann permanent und macht ihr irgendwelche Experimente und die wertet ihr dann irgendwie aus mit Bildern, die auf Platten gespeichert werden, die ihr dann?

Martin

Ja, also wir haben da uns so, also da gibt es halt diesen Laser, der ist halt dreieinhalb Kilometer lang und am Ende kriegen wir dann immer wochenweise, verwenden wir den dann, da gibt es dann irgendwelche Benutzer, nennen wir die, die dann uns Ideen geben, was man denn da messen könnte und die kommen dann bei uns vorbei.

Martin

Also heutzutage kommt es nicht mehr bei uns vorbei wegen Corona, aber jetzt müssen wir es alle mal selber machen, sehr anstrengend, aber normalerweise kommen die dann bei uns vorbei und machen dann mit dem Röntgenlaser Experimente und genau da kommt dann halt die Flexibilität tatsächlich von Python ins Spiel, dass wir ja im Prinzip, also wir haben da immer mehrere Teams und wir wechseln uns typischerweise ab, also eine Woche kriegt das eine Team auf den Röntgenlaser,

Martin

Laser verwenden, dann nächste Woche in den anderen.

Martin

Insgesamt, es sind immer drei Teams parallel,

Martin

insgesamt sind wir sechs Teams, also

Martin

immer drei, erst die einen drei, dann die

Martin

anderen drei, wieder die einen drei, die anderen drei.

Martin

Und ja, dann kommen unsere Benutzer

Martin

halt vorbei und die haben dann die verrücktesten Ideen, was sie

Martin

da mit dem machen wollen.

Martin

Und dann stehen sie dann vor uns und sagen, ja, da macht

Martin

mal. Und

Martin

häufig muss man dann halt

Martin

Sachen, also

Martin

wir haben dann noch das

Martin

Bonusproblem, dass es halt ein Röntgenlaser

Martin

ist und bei

Martin

da sollte man halt nicht unbedingt daneben

Martin

stehen. Also wirklich gefährlich ist das eigentlich auch

Martin

nicht. Also gerüchtete Weise,

Martin

wenn man da in

Martin

anderen Weltregionen ist,

Martin

dann ist denen das auch egal. Da stellen sie

Martin

einfach direkt daneben. Aber bei uns ist das, in Deutschland

Martin

ist das nicht erlaubt. Und das heißt,

Martin

es muss alles ferngesteuert werden und alles automatisiert

Martin

werden. Und

Martin

alles ferngesteuert, okay, das machen das alles Computer.

Martin

Um mal so eine Größenordnung zu

Martin

geben, also anstatt, dass ich mich

Martin

dorthin stelle und was rumschraube, muss dann halt

Martin

ein Motor das tun. Wir haben dort weit

Martin

über 1000 Motoren, die dort gesteuert werden

Martin

und das

Martin

machen wir tatsächlich alles mit Python

Martin

und zwar vorwiegend deshalb, weil

Martin

wenn dann so ein Benutzer vor uns steht

Martin

und dann sagt, ja

Martin

wir haben

Martin

hier die Probe und der Röntgenlaser

Martin

ist leider viel zu stark, wir müssen den jetzt

Martin

die Probe jetzt immer hin und her bewegen, damit

Martin

wir nicht immer denselben Punkt treffen,

Martin

sondern damit er halt nicht kaputt geht, dann

Martin

muss ich mich halt hinsetzen

Martin

und das dann programmieren, dass dann die

Martin

Probe halt

Martin

geschickt so hin und her wackelt, dass sie

Martin

dabei nicht kaputt geht,

Martin

dass wir sie mit einem Laser beschießen.

Dominik

Und dann hat der dann verschiedene Achsen in den Motoren, die

Dominik

ihr irgendwie kennt und dann könnt ihr mit tausend Motoren

Dominik

viele Dimensionen, die da irgendwie

Dominik

möglich sind, tun. Ja, richtig.

Martin

Und wir

Martin

brauchen wirklich die Flexibilität, dass wir

Martin

dann, also wir haben wirklich

Martin

für eine Woche schreiben wir dann tatsächlich

Martin

ja, so

Martin

viel Code ist das ja praktischerweise in Python

Martin

jetzt auch nicht, aber es macht es halt möglich.

Martin

Und dass man halt da live dann programmiert und live dann Dinge ändert. Also uns passierte dann regelmäßig, dass wir festgestellt haben, oh, das ist alles nicht stabil genug, wir schießen die ganze Zeit daneben und können das aber messen, wie viel wir daneben schießen.

Martin

Und dann muss halt ein kleines Python-Programm geschrieben werden, womit wir dann immer messen, wie weit schießen wir denn daneben und fahren dann die ganze Zeit den Laser wieder dahin, dass wir halt nicht mehr daneben schießen.

Dominik

Also ein kleines bisschen IoT in groß?

Martin

Ja, also dazu muss man sagen,

Martin

für echtes IoT sind wir noch nicht mal sonderlich groß.

Martin

Also so eine Automobilfabrik ist da,

Martin

ach so, IoT, nein, also ja.

Martin

Also es gibt da deutlich größere Einrichtungen,

Martin

die ähnliche Sachen machen.

Martin

Automobilfabriken zum Beispiel,

Martin

die haben da auch tausende von Motoren.

Martin

Aber die werden typischerweise jahrelang vorbereitet

Martin

und laufen dann jahrelang durch.

Jochen

So ein bisschen so, als würde einer in der Autofabrik

Jochen

sagen, und morgen machen wir jetzt nicht mehr hier den Golf

Jochen

12, sondern wir machen jetzt

Jochen

einen Clown-Car und

Jochen

fahr doch mal bitte irgendwie

Jochen

die Motoren so, dass das dann

Jochen

passiert. Ja, aber hopp, hopp. Genau.

Martin

Und so läuft das bei uns tatsächlich die ganze Zeit

Martin

und das macht es halt deshalb

Martin

Python.

Martin

Und ja,

Martin

die andere Sache ist, dass wir

Martin

natürlich dann immer sehr viele Sachen dann parallel

Martin

machen müssen, dass halt

Martin

dann die Motoren häufig dann

Martin

irgendwie parallel fahren müssen, dass man da

Martin

den Laser

Martin

anschaltet, Motoren hin und her fährt und der

Martin

ausschaltet. Habt ihr denn Joystick

Martin

für oder sowas?

Martin

Ja, der Punkt ist das ja, dass das ja automatisch

Martin

gehen soll. Deshalb kein Joystick.

Dominik

Aber wenn ihr jetzt eingreifen müsst oder so?

Dominik

Ja, nee,

Martin

das geht tatsächlich, also das ist glücklicherweise

Martin

selten genug, dass wir dann wirklich so mit

Martin

Maus und Klick auf Buttons dann das

Martin

machen. Das ist

Martin

ja, wobei

Martin

da dann natürlich

Martin

Da kann man, also gerade wenn man so flexibel ist, kann man dann halt auch sehr schöne, flexible Sachen machen, dass wir dann, also viel schöner als ein Joystick ist, dass wir das hinbekommen haben, dass man, ja, wir machen einfach ein Foto der Probe, bevor wir sie in den Laser reinschießen und dann können wir einfach auf das Foto draufklicken und dann schießt der Laser dahin.

Martin

Das sind jetzt alle Spielereien, die lassen sich mit so kleinen Skripten schnell mal zusammenschreiben und das ist halt der große Vorteil, dass wir halt nicht, wie das bei einer Automobilfabrik wäre oder auch tatsächlich auch in der Forschung in anderen Bereichen ist, dass man halt lange vorher einen Antrag schreiben muss und dann gibt es dort eine Softwareabteilung, die dann da irgendwelche Entwicklungen für einen macht.

Martin

das wäre für uns einfach nicht flexibel genug.

Martin

Wir müssen wirklich

Martin

sofort eingreifen können

Martin

und das können wir auch.

Martin

Aber dann kommt wieder die ganze Sache

Martin

mit dem, dass wir die ganze Zeit Sachen parallel machen müssen

Martin

und ja,

Martin

da kommt dann halt wieder der vorhin erwähnte

Martin

Gil ins Spiel,

Martin

dass wir halt eben tatsächlich

Martin

kein Multithreading machen,

Martin

weil Multithreading

Martin

ist ja der Horror

Martin

und dann tatsächlich alles

Martin

mit Asimgai auch machen.

Martin

Das ist ja das, was normalerweise immer die ganzen Leute im Web ganz viel machen.

Martin

Wir machen jetzt kein Web, aber tatsächlich ist es so,

Martin

dass Async.io sich auch für Steuerung von Sachen super eignet.

Martin

Das heißt, wenn man fünf Motoren gleichzeitig bewegen will

Martin

und dann warten muss, bis die alle angekommen sind,

Martin

das lässt sich super in so einer Async.io-Umgebung schreiben.

Dominik

Das heißt, ihr kommt mit Batteries included quasi zurecht?

Martin

Ja, also ja, wir führen so ein bisschen Katalog darüber, welche Pakete wir so verwenden. Ich glaube, inzwischen sind wir so bei 30 Paketen, die wir da noch mit reinmachen.

Martin

Also natürlich insbesondere ganz wichtig sind so was wie NumPy und SciPy. Also daher kommt das ursprünglich eigentlich, dass die Datenauswertung in der Physik schon länger mit NumPy und SciPy gemacht wird. Das ist da schon sehr beliebt, schon recht lange.

Martin

Und dass man dann halt das gewissermaßen umgekehrt den Weg gegangen ist, dass wir geguckt haben, also als wir uns entscheiden mussten, wie machen wir denn unsere Experimente Steuerung, da haben wir uns gedacht, okay, die Datenauswertung läuft schon unter Python, lass uns das doch uns einfach noch ein Niveau vorher auch schon machen und machen dann auch schon die Steuerung des Experimentes in Python.

Martin

Und das hat natürlich auch dann den Vorteil, dass man das dann die Übergabe der Daten, also wenn wir dann unsere Kameras steuern, da muss man dann natürlich dann halt gewissermaßen den Auslöser der Kamera, das ist ein Kontrollproblem und das Auslesen der Daten ist dann fast schon ein Big-Data-Problem. Und wenn man das mit demselben machen kann, dann ist das natürlich super.

Martin

Und so, um mal Größenordnung zu geben, unsere Hauptkamera, die wir da verwenden, ist halt eine 2 Megapixel Kamera, die mit 5000 Bildern pro Sekunde aufnimmt.

Martin

Da kommen ein bisschen Daten zusammen?

Martin

Ja, da kommen ein bisschen Daten zusammen.

Martin

Ich muss gerade überlegen, wie viel sind das?

Martin

Ja, mal gucken. Also 2 Megapixel mal 2 Byte macht 4 Megabyte mal 5000, 20 Gigabyte pro Sekunde.

Martin

Kleiner Datendurchsatz.

Martin

Ja, da muss man, also, habt ihr so viel Platz bei euch?

Jochen

Läuft das dann die ganze Woche quasi so durch oder nur zu bestimmten, oder wie viel Zeit pro Woche, wenn ihr messt, fallen denn dann tatsächlich Daten an?

Martin

Tatsächlich ist es so, dass ein großer Teil einer solchen Woche erstmal in Einrichtung und Charakterisierung besteht. Also wenn wir weniger als einen Tag brauchen, dann machen wir richtig gut. Aber die restlichen, also ein Tag der Woche ist eh immer Maschinentag, da wird repariert, gewartet und was weiß ich was gemacht. Einen Tag lang brauchen wir sicherlich auch noch zum Einrichten.

Martin

Wir haben noch fünf Tage übrig.

Martin

Und in den fünf Tagen,

Martin

ja, da können wir auch schon mal

Martin

dann wirklich, also

Martin

ja, ich würde

Martin

sagen, 15, 20 Stunden können wir dann tatsächlich

Martin

auch schon messen. Und ja, das sind Datenmengen,

Martin

die dann da durchfließen.

Martin

Und wobei

Martin

da dann das große Problem natürlich auch wieder ist,

Martin

dass wir nach Möglichkeit, dass

Martin

alles dann wieder ausgewertet werden muss.

Martin

Also

Martin

eines der großen Vorteile unseres

Dominik

Ein Terabyte pro Minute

Dominik

habe ich gerade ausgerichtet.

Dominik

Ja, um solche

Martin

Größenordnungen geht es.

Martin

Glücklicherweise bin ich nicht

Martin

für das Datenmanagement zuständig.

Dominik

Das sind eine Million Terabyte in euren 15 Stunden.

Dominik

Tausend Terabyte.

Dominik

Das kann nicht sein.

Dominik

Tausend Terabyte.

Dominik

1.080 Terabyte.

Martin

Ja, das ist, wir haben da,

Martin

also Petabyte ist bei uns

Martin

Jede Woche.

Martin

Das ist nichts, also jetzt

Martin

Besonderes, also

Martin

unsere Daten, also die

Martin

Leute, die bei uns, ich bin glücklicherweise nicht

Martin

dafür zuständig, die Daten zu

Martin

speichern und zu halten,

Martin

aber

Martin

die, die das sind, haben damit tatsächlich,

Martin

also, ja, das tut

Martin

tatsächlich weh.

Martin

Und, ja gut, man versucht natürlich

Martin

dann immer, die Daten irgendwie einzudampfen, dass man

Martin

halt versucht,

Martin

doch nur die Daten zu speichern, wo

Martin

wirklich was Relevantes drauf ist.

Martin

Also von den

Martin

5.000 Bildern pro Sekunde.

Martin

Naja,

Martin

also

Martin

nicht auf allen Ecken

Martin

des Bildes sind immer interessante

Dominik

Daten drauf. Vielleicht läuft dann irgendwie eine Reaktion,

Dominik

die mal zwei Sekunden dauert oder nur eine zehntel Sekunde

Dominik

mal flackert oder sowas und die muss man vielleicht haben.

Dominik

Ja, also je nachdem.

Martin

Also was

Martin

viel gemacht wird, ist, wenn wir da

Martin

solche Proteine in den Strahl schießen,

Martin

dass man dann, ja,

Martin

also. Jetzt hast du wieder was gesagt,

Dominik

Was macht ihr? Ihr stießt Proteine in den Strahl.

Martin

Genau, also zum Beispiel dieses berühmte Spike-Protein von Corona.

Martin

Also das Problem ist, wenn man mit einem Röntgenlaser da drauf schießt, dann ist das Protein kaputt.

Martin

Das bricht durch.

Martin

Das explodiert.

Martin

Das explodiert.

Martin

Ja, also das ist die Magie, dass wir so schnell sind, dass wir gewissermaßen ein Foto schießen.

Dominik

Ihr habt irgendeine Trägersubstanzflüssigkeit,

Dominik

in der schirmt das rum und das ist auf so einem Glas drauf

Dominik

und das schießt dann der Laser rein, oder?

Martin

Nee, das wird tatsächlich ...

Martin

Ja, das ist in einer gelösten typischerweise in einer Lösung

Martin

und das wird dann in gewissermaßen ein feiner Strahl,

Martin

sozusagen wie ein Finkelstrahl,

Martin

der dann mit dem Laser beschossen wird.

Martin

Und da das sofort kaputt geht,

Martin

muss das die ganze Zeit nachgefüttert werden.

Martin

Deshalb wird das mit Hochdruck als ein sehr dünner Strahl durch ...

Dominik

Da kommen die ganze Zeit Proteine, fließen da so durch.

Dominik

Genau.

Dominik

Das heißt, irgendwer pinkelt Proteine dann über diesen ...

Dominik

Und da kommt der Laser, der ballert dann dazwischen.

Dominik

Genau.

Dominik

Und immer, wenn was passiert, wird fotografiert, 5000 Mal pro Sekunde.

Dominik

Genau, also immer dann, wenn der Laser schießt.

Martin

Der Laser schießt bis zu 5000 Mal pro Sekunde.

Martin

Je nachdem, was man genau macht, kann das auch mal mehr oder weniger sein.

Dominik

Und der ist dreieinhalb Kilometer lang.

Dominik

Das heißt, es gibt so eine Riesenröhre irgendwo da und da schießt er durch.

Martin

Richtig, das ist eine Tunnelröhre,

Martin

die ist mit einer Tunnelbohrmaschine gebohrt worden,

Martin

die dann von,

Martin

also wir sind, das fängt

Martin

in Hamburg an und ist tatsächlich so lang,

Martin

dass wir dann, dass das Experiment selbst

Martin

dann nicht mehr in Hamburg stattfindet, weil

Martin

zu weit weg. Genau, dann sind wir

Martin

in Schleswig-Holstein.

Martin

Wie lange braucht der Strahl?

Martin

Ja, Lichtgeschwindigkeit, ne?

Dominik

Ja, das ist wahrscheinlich ein Augenblick.

Dominik

Ja, so Mikrosekunden, ja.

Dominik

Aber ihr könnt es schneller wahrnehmen.

Dominik

Ich habe gesagt, Phantosekunden könnt ihr auch.

Martin

Ja, das hat ja nichts miteinander zu tun. Tatsächlich ist es so, dass in unserer Tunnelröhre mehrere von diesen Röntgenblitzen hintereinander sich auf unsere Probe zubewegen, sogar ganz viele.

Martin

Tatsächlich kommt das, ist es nicht so, dass da 5000 so irgendwie so gleichmäßig über eine Sekunde kommen, sondern die kommen immer in Trains, nennen wir das, von 500 auf einmal an und das dann zehnmal die Sekunde und die 500, die kommen halt sehr schnell hintereinander an und dann kommt eine Pause und dann kommen die nächsten 500.

Dominik

Und dabei kann man dann tatsächlich sehen, wie dann durch diesen Strahl, der muss ja dann auch relativ schnell mit Druck dadurch die ganzen Proteine zerstäuben oder explodieren.

Martin

Die bleiben in dem Wasserstrahl einfach gelöst und jetzt ist es natürlich so, dass, das ist mehr oder weniger Zufall, ob man jetzt mit dem Röntgenlaser tatsächlich eins dieser Proteine trifft oder nicht.

Martin

Und wenn man eins trifft, dann hat man halt ein Signal und wenn man gerade keins trifft, dann hat man kein Signal.

Martin

Und idealerweise schmeißt man dann natürlich die Bilder, wo kein Signal ist, einfach weg. Wobei ich jetzt ganz ehrlich gesagt nicht in der Gruppe bin, die dafür das Wegschmeißen zuständig ist. Wie gut die da jetzt schon sind, weiß ich tatsächlich nicht.

Martin

Muss man auch erst mal rausfinden, oder, dass da ein Signal ist.

Martin

Ja, das ist eine Riesenmagie, die da passiert.

Martin

Und ja, wie gesagt, ich bin nicht in der Gruppe, die das macht.

Jochen

Aber man kann so wirklich Molekülstrukturen tatsächlich sehen.

Jochen

Also so, wie man sich das aus dem Chemieunterricht früher vorstellt.

Jochen

Man sieht die, nein.

Martin

Also man sieht halt ein Streumuster dieses Moleküls.

Martin

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.

Martin

Und da sind dann, also Clusterweise sind dann die Rechner, die dann, also gewissermaßen ist es so, dass das Molekül befindet sich halt in einer zufälligen Orientierung und deshalb muss man auch ganz oft drauf schießen, weil man es dann gewissermaßen einmal aus allen Richtungen betrachtet.

Martin

Man sieht aber gewissermaßen nur den Schatten des Moleküls, ja gewissermaßen, also am Ende sind das immer nur ein paar Punkte auf dem Detektor und aus denen muss man das sich dann wieder mit unglaublich viel Rechenaufwand zurückrechnen.

Martin

Dafür gibt es dann aber auch wieder ganze Arbeitsgruppen, also ganze Institute, die sich nur mit dieser Rückberechnung beschäftigen.

Dominik

Weil man nur diese einzelnen partiellen Bilder aus verschiedenen Blinkwinkeln hat und die man dann quasi zu einem ganzen…

Martin

Genau. Und daraus kann man dann tatsächlich am Ende das ganze Molekül wieder rekonstruieren und weiß dann…

Jochen

Kann man das irgendwie kalibrieren, dass man hinterher weiß, ob man das Richtige zurückgerechnet hat, dass man etwas nimmt, wo man die Struktur kennt?

Martin

Natürlich haben wir angefangen mit Molekülen, die wir schon kennen.

Martin

Und Mathematik lügt auch nicht.

Martin

Ja, oder es ist einfach schon mit anderen Methoden gemessen worden

Martin

und dann weiß man, was da geht.

Martin

Wobei ich mich persönlich weniger mit Molekülen beschäftige

Martin

als halt mit Magneten.

Martin

Und die haben das große Problem,

Martin

dass datentechnisch das sogar eher anstrengender ist,

Martin

weil wenn man da so einen Magneten reinhält,

Martin

den muss man nicht reinschießen, sondern der bleibt da einfach stehen.

Martin

Und das heißt, da ist dann auf jedem Bild was drauf.

Martin

Das sorgt dafür, dass wir dann noch viel mehr Daten haben.

Martin

Dafür ist das dann mit dem Rückrechnen nicht so schwer,

Martin

weil es da meistens um deutlich einfacher ist.

Martin

Denkst du, wenn du da mal Gedehnen reinhältst,

Dominik

gibt es eine gewisse Abweichung dann immer in eine Ecke, oder?

Martin

Ja, also was man halt macht,

Martin

also mit Röntgenstrahlen kann man halt sehen,

Martin

ob der Magnet magnetisch ist, gerade.

Martin

Also eine Festplatte speichert man ja dadurch,

Martin

dass man auf einer klassischen Festplatte,

Martin

also keine Solid State, sondern auf einer klassischen,

Martin

dass man dort eine magnetische Schicht hat

Martin

und dann den Magneten entweder so rum oder so rum dreht.

Martin

Und was wir dann machen, ist,

Martin

dass wir schießen mit einem handelsüblichen Laser,

Martin

ja, also auch mit einem Hochintensitätslaser da drauf,

Martin

dann wird das heiß und dadurch wird der Magnet demagnetisiert.

Martin

Und danach schießt man einmal mit dem XL drauf

Martin

und guckt, ob er noch magnetisch ist.

Martin

Und dann kann man die Zeit zwischen den beiden ändern

Martin

und gucken dann, wie lange es denn dauert,

Martin

so einen Magneten zu demagnetisieren.

Martin

Und das ist dann halt die kürzeste Zeit,

Martin

mit der man grundsätzlich Daten auf einer Festplatte schreiben könnte.

Martin

Die Zeiten, die glücklicherweise so schnell sind,

Martin

das weiß man inzwischen, dass das für einen Computer

Martin

tatsächlich dann am Ende egal ist.

Martin

Es geht also tatsächlich nur noch darum,

Martin

das tatsächlich prinzipiell zu verstehen,

Martin

was da eigentlich passiert und nicht mehr

Martin

auszuschließen,

Jochen

dass man da in irgendein physikalisches

Jochen

Limit läuft mit einer Technologie, wo man jetzt

Jochen

irgendwie wahnsinnig viel investiert.

Dominik

Das ist eine Magnetechnologie, mit der man mit Laser

Dominik

die Platten beschießt, um die

Dominik

Sachen zu speichern?

Dominik

Also

Martin

das Problem ist, dass das Einzige, was so schnell ist,

Martin

sind Laser. Und deshalb müssen

Martin

wir Laser nehmen. Also wie

Martin

eine Technologie dazu aussehen würde,

Martin

die Frage, braucht man da...

Dominik

Aber das hört sich an, als wäre es deutlich schneller als SSD.

Dominik

Ja, genau.

Dominik

Also, wie gesagt, das ist

Martin

viel, viel schneller als alles.

Martin

Also, das Schalten eines solchen Magneten

Martin

geht prinzipiell

Martin

viel, viel schneller, als das jemals ein Computer

Martin

dort schreiben können.

Martin

Und weshalb wir da keine, es gibt

Martin

von der Geschwindigkeit, es gibt

Martin

keine theoretische Grenze. Keine physikalische Grenze,

Martin

die da irgendwie... Also, es gibt eine, aber die ist so

Martin

weit von gut und böse,

Dominik

dass wir diese 100 Jahre nicht mehr erreichen werden.

Dominik

Genau, vor allen Dingen nicht bis

Dominik

SSDs übernehmen.

Dominik

Das ist aber

Dominik

nicht das Problem, oder?

Dominik

Warum Festplatten langsam sind.

Johannes

Das Problem ist, dass die richtige Stelle nicht da ist.

Johannes

Ja, genau.

Martin

Dieses Problem, wie gesagt,

Martin

ist keins mehr. Das ist damals,

Martin

das ist ja auch schon wieder 30 Jahre her,

Martin

dass damals die meinten, in das

Martin

physikalische Limit zu laufen.

Martin

Das ist eine schöne Vorstellung.

Martin

Ja.

Martin

Vor 30 Jahren

Martin

hat man gedacht, jetzt können

Johannes

Computer gar nicht mehr schneller werden. Das ist

Johannes

jetzt leider vorbei.

Johannes

Genau. Aber es hat sich dann leider doch

Johannes

raus, zum Glück doch rausgestellt.

Johannes

Ja.

Johannes

Ich fand das aber ganz interessant. Ich glaube,

Dominik

das interessiert vielleicht noch andere Menschen.

Dominik

Wie funktioniert denn das jetzt überhaupt,

Dominik

so ein Magnetspeicherband?

Dominik

Wenn du sagst, da muss man Magneten

Dominik

drehen, dann speichert man

Dominik

irgendwas? Ja, also effektiv,

Martin

also so eine Magnetplatte,

Martin

wie sie in Festplatten

Martin

vor der Zeit von S&M genau

Martin

verbaut waren, es ist ja einfach

Martin

nur eine magnetische

Martin

Struktur, also

Martin

irgendein

Martin

Stoff, der grundsätzlich magnetisch ist und oben drüber

Martin

und den kann man halt

Martin

also

Martin

da kann man sich so winzige, kleine

Martin

Magnetchen

Martin

vorstellen, aus denen das draufsteht,

Martin

aus denen das besteht, aus denen

Martin

es natürlich ganz, ganz, ganz viele gibt,

Martin

nämlich für jedes Bits, das gespeichert werden soll,

Martin

eins und

Martin

ja, dadurch, dass man dann mit einem

Martin

Wenn eine Magnetspule drüber fährt, dreht man das entweder so,

Martin

dass der Nordpol nach oben steht oder der Südpol nach oben steht.

Dominik

Und so speichert man Daten auf einer Magnetfestplatte?

Martin

So speichert man Daten auf einer Magnetfestplatte.

Martin

Und danach dann, und umgekehrt wird das ausgelesen,

Martin

dadurch, dass man dann halt misst,

Martin

ob denn jetzt gerade der Nordpol oder der Südpol oben ist.

Martin

Und genau, und wir wollten, also es gibt halt Grenzen,

Martin

wie schnell man das schreiben kann.

Martin

Aber wie gesagt, es gibt sie effektiv nicht,

Martin

Also es ging halt die Frage tatsächlich, wie weit kann ich denn so einen Magneten den Nordpol zum Südpol rumdrehen?

Martin

Also grundsätzlich, wie lange dauert das eigentlich, dass sich dieser Magnet dreht?

Jochen

Dreht sich da wirklich was oder wird das umgepolt?

Martin

Ja gut, das kann man, das ist eine Definitionsfrage.

Martin

Was heißt denn dann Umpol?

Martin

Ja gut, es geht da immer um die Spins der Elektronen.

Martin

Also Elektronen haben gewissermaßen ein Oben- und ein Unten.

Martin

Und in Magneten ist es so, das ist, was ein Magnet ist. Ein Magnet ist so, dass die Spins, also dass die Elektronen, benachbarte Elektronen aneinander gekoppelt sind dahingehend, dass die, wenn das eine Elektronen nach oben zeigt, zeigt das andere gerne auch nach oben.

Martin

Und dann bilden die halt so eine Gang sozusagen und gruppenmäßig zeigen sich alle in eine Richtung. Und der Witz an einem Magneten ist, dass dann benachbarte Elektronen aneinander gekoppelt sind. Also alle Elektronen haben einen oben und einen unten, aber normalerweise sind sie nicht aneinander gekoppelt, das heißt in einem Stück Holz passiert da nicht viel.

Martin

Also kann man mit einem Magneten die Spins rumdrehen, das kann man machen, das bringt aber nicht viel.

Martin

Während man mit einem Magneten die Elektronen umdreht und danach das Magnetfeld wieder ausschaltet, dann bleiben die Elektronen halt in derselben Richtung stehen, wie sie vorher waren.

Jochen

Das wäre auch gar nicht klar gewesen. Das bedeutet, dass es überhaupt Magnete gibt aus Metall. Das ist der gleiche Effekt, wie etwas darin zu speichern. Im Grunde ist das das, was man darin gespeichert hat.

Jochen

sozusagen die Art,

Jochen

ja, also, ja.

Jochen

Ja. Ja.

Martin

Cool. Also, einem normalen

Martin

Magneten ist das, die

Martin

Information halt ein Bit.

Martin

Ja.

Martin

Ja.

Martin

Bei einer Festplatte sind halt dann ganz, ganz, ganz viele

Martin

nebeneinander und man muss dann aufpassen, dass die sich

Martin

nicht beeinflussen und so. Genau.

Martin

Sie sollen, das ist immer das Problem, die Elektronen

Martin

sollen sich ein bisschen gegenseitig beeinflussen, weil sie

Martin

ansonsten ihre Position nicht halten,

Martin

aber denen ist es aber auch nicht zu viel,

Martin

Aber das ist dann wieder sehr viel Wissenschaft.

Dominik

Die Dichte, wie die ineinander hängen und so weiter.

Martin

Genau, da kann man unglaublich viel mit rumspielen.

Martin

Eine schöne Sache an der ganzen Geschichte ist übrigens,

Martin

dass das Material, was man da lange Zeit verwendet hat,

Martin

das war Eisenoxid, also Rost.

Martin

Eine Scheibe voll Rost und daraus bauten sich so viele Magneten,

Martin

dass man seine Sachen drauf speichern kann.

Martin

Finde ich sehr schön.

Martin

Heute nicht mehr, heute benutzt man Kobalt

Martin

und irgendwelche komplizierten Sachen,

Martin

aber für die meiste Zeit war es einfach Eisenoxid.

Jochen

Ich kenne halt den, ja,

Jochen

so diese Kose-Name für Festplatten

Jochen

dieser älteren Bauart.

Jochen

Ist ja auch, Leute nennen das rotierenden Rost.

Jochen

Also das ist halt, ja.

Jochen

Und es stimmt.

Jochen

Trifft es, glaube ich, ganz gut.

Jochen

Und Kassetten und so weiter

Johannes

und Magnetbänder funktionieren ganz ähnlich,

Johannes

nur halt nicht digital,

Johannes

sondern mit einer analogen Magnetisierung.

Johannes

Wer das noch kennt von früher,

Johannes

oh, jetzt habe ich mich geoutet.

Johannes

Jetzt wisst ihr alle, dass ich alt bin.

Jochen

Kassetten, was könnte das sein?

Dominik

Vor- und Zurückspulen, Durchreißen, Aneinanderkleben.

Dominik

Genau.

Dominik

Ja, sehr schick.

Dominik

In einem Land vor unserer Zeit.

Jochen

Habt ihr denn da schon immer Python verwendet?

Jochen

Oder seit wann verwendet ihr Python?

Jochen

Oder überall?

Jochen

Oder gibt es auch noch andere Technologien,

Jochen

die verwendet werden?

Martin

Ja, also es gibt auch immer noch

Martin

eine gewisse

Martin

ja, Menschen, die sich nicht davon

Martin

abbringen lassen, weiterhin C++

Martin

zu programmieren.

Martin

Sie sind nicht tot zu

Martin

kriegen. Nein, also tot wollen wir sie

Martin

auch gar nicht haben, aber

Martin

überzeugt

Martin

haben wir es auch noch nicht geschafft.

Dominik

Ich habe es noch nicht geschafft, sich vor den Laser zu stoßen.

Dominik

Genau, und

Dominik

ja,

Martin

tatsächlich ist es so, dass in der Physik

Martin

jahrzehntelang war

Martin

C++ tatsächlich einfach die Sprache schlechthin.

Martin

Es wurde einfach alles in C++ geschrieben.

Martin

Stimmt gar nicht, außer das, was in Fortran geschrieben wurde.

Martin

Das ist dann halt wieder eine Generation weiter vorher.

Martin

Und ja, es gibt sie auch noch, die Fortran-Leute.

Martin

Die sind glücklicherweise inzwischen sehr wenige geworden.

Martin

Aber es gibt sie immer noch.

Martin

Aber ja, inzwischen ist das so.

Martin

Ja, C++ ist jetzt halt doch nicht mehr die modernste Sprache.

Martin

Und jetzt die neue Welle, da ist Python einfach ...

Martin

Gibt es auch Rust?

Martin

Aber er hat auch noch

Martin

Vortragsbauteile. Genau, natürlich, ja.

Martin

Ja, selbstverständlich, also das ist

Martin

ja klar, das ist...

Johannes

Gar nicht so weit von uns entfernt.

Johannes

Ich erinnere mich nur gerade an

Jochen

ein Zitat, ich weiß gar nicht, wer das

Jochen

ursprünglich gesagt hat, aber ein sehr wissenschaftlicher Fortschritt ist

Jochen

immer so, one funeral at a time.

Jochen

So irgendwie.

Jochen

Ja.

Martin

Ja, natürlich.

Martin

Also das ist tatsächlich,

Martin

also in der Welt der Physik war,

Martin

nicht nur da, in vielen anderen Bereichen auch,

Martin

War der Witz an Python eigentlich, dass man damit halt unglaublich viele verschiedene Bibliotheken, auch aus Steinzeit, aus Vortrag und Steinzeit oder was weiß ich wo, zusammenkleben kann.

Martin

Und dass das am Ende irgendwie trotzdem alles dann zusammenläuft.

Martin

Und das ist zum größten Teil das, was, also das war halt das Killer-Feature, dass man die ganzen alten Vortrag-Bibliotheken tatsächlich bis heute weiterverwenden kann.

Martin

Python als Glue.

Martin

Absolut.

Jochen

Ja, und ich glaube auch, ich weiß gar nicht, wie

Jochen

einer der großen Vorteile

Jochen

bei Fortran ist halt, dass man, also weshalb

Jochen

das glaube ich jedenfalls, was ich weiß, für

Jochen

numerische Geschichten oft verwendet wird, ist, dass halt

Jochen

da die Sprache so ist, dass die Compiler

Jochen

automatisch vektorisieren können, was ja bei C und

Jochen

C++ eigentlich nicht geht. Also geht auch, aber

Jochen

man muss dann halt selber quasi

Jochen

sagen, was er tun soll.

Jochen

Ja, beziehungsweise du kannst so

Jochen

Datentypen definieren, die Vektoren

Jochen

sind. Und diese ganzen Operationen gehen dann

Jochen

automatisch. Und wenn du eben einen 16-breiten

Jochen

Vektor hast, dann

Johannes

hat der Compiler genügend

Johannes

Informationen, um da schlaue Sachen

Johannes

draus zu machen. Gerade jetzt

Johannes

heutzutage, wo es ja Prozessoren

Johannes

gibt, die ganz viele Operationen auf 8 oder

Johannes

auf 16 Sachen gleichzeitig machen können

Johannes

und das kriegst du dann halt einfach so umsonst,

Johannes

weil du dein Programm so geschrieben hast, dass

Johannes

du immer direkt 16 Sachen gleichzeitig

Johannes

machst und dann kompilierst

Johannes

es und es wird dann halt automatisch schneller

Johannes

und das ist schon verlockend,

Johannes

das kann ich schon verstehen.

Johannes

Da ist

Johannes

eine schöne Abstraktionsebene

Johannes

gefunden, glaube ich,

Johannes

dass man eben nicht wie bei C++

Johannes

oder bei C jeden Maschinenbefehl

Johannes

selber schreiben muss und gleichzeitig hast du

Johannes

trotzdem noch

Johannes

genügend tiefe

Johannes

Abstraktionen,

Johannes

um

Johannes

schnelle

Johannes

Programme schreiben zu können.

Johannes

Das eigentliche Problem an Fortran ist,

Johannes

glaube ich, eher, dass einfach die Sprache

Johannes

schon alt ist und dass die ganzen

Johannes

Diese Sachen, die man heute als Komfort für sich so kennt und auch nicht vermissen möchte, die gibt es da halt einfach nicht mehr.

Dominik

Ja, so Altphilologen in der Computersprache, selten, dass Leute so ein Interesse daran haben, ein forensisches, erstmal die alten Sprachen nochmal alle nachzulernen, statt was Neues, Modernes anzufangen.

Dominik

Das macht man da eher nicht. Wobei, also den Markt gibt es ja durchaus noch und auch wieder.

Dominik

Kobol-Entwickler.

Johannes

Ich weiß von einigen Firmen, die wieder Kobol-Programmierer ausbilden, weil sie es halt noch brauchen.

Johannes

Und genauso gibt es wissenschaftliche Einrichtungen, die Fortrat-Programmierer ausbilden, weil sie es halt noch benutzen, weil sie es noch brauchen.

Johannes

Möchte man das denn entwickeln?

Jochen

Ja genau, ich dachte mir gerade, dass Leute da ausbilden wollen, verstehe ich.

Jochen

Dass Leute sich da ausbilden lassen, das ist schwerer zu verstehen für mich.

Jochen

Ja gut, das ist ja auch eine ökonomische Abwägung.

Jochen

Naja gut, aber die ist auch nicht gerade.

Johannes

Vortragsvorlesungen in der Universität

Johannes

gehört. Das war schon

Johannes

interessant auch. Einfach auch mal aus

Johannes

historischer Sicht. Man kann ja auch

Johannes

durchaus viel davon lernen. Nur

Johannes

jeden Tag machen möchte ich es nicht.

Martin

Man muss auch dazu eindeutig sagen, dass

Martin

tatsächlich das eigentliche Rechnen in Python

Martin

wegen des Gil

Martin

funktioniert halt nicht.

Martin

Wenn es wirklich darum geht, möglichst viele

Martin

Multiplikationen und Additionen auf dem

Martin

Prozessor zu jagen, da braucht man mit

Martin

Python gar nicht anzufangen.

Martin

Sondern da muss man dann wirklich halt über NumPy zum Beispiel dann, das kann das dann ja.

Martin

Und da kommt dann auch wieder, gut okay, da kommt dann auch, tatsächlich ist da nicht so viel Fortran drunter, wie man sich das denkt, weil gerade die großen alten Fortran-Bibliotheken tatsächlich mehrfach nachimplementiert wurden.

Martin

Also es gibt da ja die großen, also die wichtigste sind immer noch die BLAS, die Basic Linear Algebra Subroutines, die halt sowas wie Matrix-Multiplikationen enthalten, die halt von den Prozessorenherstellern oder sehr enthusiastischen Hobbyisten handoptimiert wurden, teilweise bis in die Assembler-Ebene runter, um möglichst schnell auf einem Prozessor sowas wie Matrix-Multiplikationen machen zu können.

Martin

Und das ist tatsächlich, also das ist noch eine Fortran-API, aber unten drunter ist tatsächlich irgendwas Handoptimiertes, weshalb das eigentlich mehr so Schein als Sein ist, dass das noch Fortran sei.

Martin

Aber das ist halt so eine bewährte API und so eine bewährte API, die wirft man auch nicht weg, vor allem, weil die API ist ja auch nicht das, was weh tut.

Martin

Und das Programmieren, das tut natürlich dann erst recht weh, weil wenn man dann tatsächlich auf Assembler runtergeht und das machen die, dann das tut natürlich weh. Oder natürlich heutzutage auch auf Grafikkarten ist das ja auch dann sehr beliebt und das ist dann halt sehr schön, dass es dann halt so standardisierte Bibliotheks-APs gibt, bei denen es dann eigentlich völlig egal ist, auf was das dann am Ende läuft.

Dominik

Ja, das war interessant, weil man denkt halt manchmal, dann peisen wir langsam, aber wenn man dann sowas wie NumPy benutzt, hat man ja quasi die Python-API, die man dann ansprechen kann, in der man entwickelt und da unten drunter sind dann ja viel mehr...

Martin

Genau, und das ist halt wieder die Sache mit dem Python als Glue.

Martin

Wobei ich sagen muss, dass was jetzt tatsächlich ein eher größeres Problem bei uns ist, da zerbrechen sich auch gerade viel schlaue Leute die Köpfe drüber, das ist nämlich zuverlässige Datenauswertung.

Martin

Das Problem ist das, was ich erzählt habe, von wie wir unsere Experimentsteuerung machen, dass man da schnell mal was runterhackt, das ist ja ganz schön.

Martin

für sowas. Aber das Problem ist, am Ende wollen die Daten

Martin

ja auch ausgewertet werden. Und tatsächlich,

Martin

also was wir sehr viel mit Jupyter Notebooks

Martin

machen,

Martin

die haben aber immer das

Martin

Problem, dass man sich fünf Minuten, nachdem man die

Martin

Aussetzung gemacht hat, nicht mehr daran erinnern kann,

Martin

was man eigentlich gemacht hat. Und

Martin

welches denn der Jupyter Notebook-Zellen man

Martin

denn jetzt nur ausgeführt hat und welche nicht. Und an welche

Martin

man schnell noch einen Parameter gedreht hat und welche nicht.

Martin

Wer länger mit Jupyter Notebooks

Martin

gearbeitet hat, kennt das wahrscheinlich sehr gut.

Martin

Hin und her. Ja, und was

Martin

natürlich der Reproduzierbarkeit, also

Martin

reproduzierbar sind unsere Daten in dem Sinne ja

Martin

sowieso nicht, weil wir sind der einzige Röntgenlaser,

Martin

der diese Intensitäten

Martin

schafft. Das heißt, wir

Martin

können die nur bei uns reproduzieren, aber

Martin

wenn man wenigstens mal die Auswertung der

Martin

tatsächlich vorhandenen Daten reproduzierbar

Martin

machen könnte, wäre das ja schon mal schön.

Dominik

Ja, weil sonst muss man auch erstmal wieder warten, bis man so einen

Dominik

Slot gebucht hat, wo dann das Dreierteam dann reingeht und mit der

Dominik

ganzen Preparation das nochmal macht. Genau, ja,

Martin

aber gut, aber dann auch

Martin

die Auswertung, also es wäre zum Beispiel

Martin

auch mal eine gute Idee, dass man, wenn man zum Beispiel

Martin

die zwei verschiedene vergleichbare Materialien sich anguckt,

Martin

dass man mal vergleicht, wie ich das eine auswerte

Martin

und was ich das andere auswerte.

Martin

Und wenn man dann zwischendurch das typische Notebook

Martin

wieder mal vergessen hat, was man da eigentlich gemacht hat,

Martin

dann ist das sehr unpraktisch.

Martin

Und das ist tatsächlich bei uns aktuell,

Martin

also was heißt aktuell, das ist schon seit Längerem ein Problem,

Martin

wie man das in Hand habt,

Martin

dass man da reproduzierbar Daten auswertet.

Martin

Tatsächlich ist es sogar so, dass schon das Problem,

Martin

dass wir, naja, also wir werten da Daten aus

Martin

und nach einem halben Jahr kommt einer an

Martin

und hat nochmal eine Idee,

Martin

wie man da vielleicht nochmal

Martin

mit einem anderen Blickwinkel drauf guckt.

Martin

Und dann sollte es einem besser nicht passieren,

Martin

dass man versehentlich NumPy upgedatet hat

Martin

und plötzlich funktionieren die Skripte nicht mehr.

Martin

Oder kommen zu einem anderen Ergebnis.

Martin

Das ist dann tatsächlich ein Problem,

Martin

weshalb wir tatsächlich angefangen haben,

Martin

einfach komplette Virtual-Envs nehmen wir jetzt gerade noch.

Martin

Wir haben darüber nachgedacht,

Martin

jetzt ein Conda zu nehmen

Martin

und dann die kompletten Virtual-Envs mit den Daten zusammenzuspeichern.

Martin

So ein Virtual-Env ist dann verglichen mit den Daten einfach winzig,

Martin

damit man, wenn man ein Jahr später nochmal versucht,

Martin

die gleiche Auswertung zu machen,

Martin

dann tatsächlich zum gleichen Ergebnis kommt.

Jochen

Ja, aber das stelle ich mir auch,

Jochen

weil die ganzen Betriebssystem-Bibliotheken

Jochen

hat man im Virtual-Env ja nicht drin,

Jochen

also LibC oder auch diverse andere Geschichten.

Jochen

Das heißt, wenn die sich geupdatet haben, dann kann...

Jochen

Das ist richtig.

Martin

Das heißt, dann müsste man dann konsequenterweise

Martin

weiter zu Docker-Containern gehen oder ähnlichen Technologien.

Martin

Ja, wenn Ansible irgendwas bauen.

Martin

Ja, Ansible hilft ja nicht,

Martin

weil Ansible würde dann ja dasselbe Problem haben

Martin

mit den Systembibliotheken,

Martin

dass man das, Ansible installiert ja auch typischerweise

Martin

nur auf ein existierendes System drauf.

Martin

Ja, aber du kannst ja sagen,

Dominik

was du da jetzt extern installieren sollst.

Dominik

Und wenn du das Betriebssystem selber auswählen kannst,

Dominik

dann kannst du wahrscheinlich auch die Pakete pinnen.

Dominik

Ja, das ist richtig, ja.

Martin

Und genau, aber ich muss ganz ehrlich gestanden sagen,

Martin

daran arbeiten wir noch. Also bisher

Martin

sind wir ganz stolz darauf. Da sind wir, glaube ich,

Martin

schon fast Vorreiter.

Martin

Nein, wahrscheinlich nicht. Aber dass wir

Martin

wenigstens unsere Daten mit den Virtual Env's

Martin

speichern, dass wir wenigstens

Martin

da eine verlässliche Datenauswertung haben,

Martin

dass wir, also in der Physik war es

Martin

bisher doch recht häufig

Martin

üblich, dass man

Martin

die Daten auswertet und

Martin

dann, wenn man eine Publikation macht,

Martin

die Auswertung auf eine CD

Martin

brennt und dann mit ins

Martin

Archiv gibt.

Martin

Ich weiß nicht, wie oft jemand tatsächlich so eine CD wieder rausgeholt hat.

Jochen

Und wenn, ob die dann noch funktioniert, ist auch sehr unklar.

Martin

Das war dann doch eine eher symbolische Aktion.

Martin

Und das bei den Physikern.

Martin

Ja, also da.

Martin

Ja gut, das ist ja noch vergleichsweise fortgeschritten.

Martin

In der Medizin wirst du halt die Auswertung gemacht und dann sind die Daten fertig.

Martin

Oder du drückst sie aus.

Martin

Ja, wobei ich glaube, dass die Medizin da sogar im Gegenteil mit solchen Sachen sogar weiter ist.

Martin

Weil sie, weil, ja, also gerade wenn in irgendwelche Zulassungsverfahren gehen, da gucken die Leute tatsächlich drauf.

Martin

Ja, Zulassungsverfahren, klar.

Martin

Aber Forschungspapers normalerweise, also wenn du eine Appendix hast, kannst du, wie der Dominik sagt, kannst du ja abtippen, wenn du die Rohdaten überhaupt kriegst.

Martin

Ja, also bei uns ist die Rohdaten zu kriegen illusorisch, weil sie sind einfach zu groß.

Martin

Wie lange speichert ihr denn eure Daten?

Martin

Wie lange könnte man denn zu euch kommen und sagen,

Martin

hier, ich habe mir jetzt noch was eingefallen?

Martin

Das ist eine Frage, die ich dir tatsächlich noch nicht beantworten kann,

Martin

weil noch sind die Platten nicht voll.

Martin

Ah, okay.

Martin

Irgendwann ist das Ziel erreicht.

Martin

Der Serverraum steht gar nicht bei uns,

Martin

sondern irgendwo in Hamburg ist da so ein Serverraum.

Martin

Den habe ich noch nie gesehen.

Martin

Weiß ich nicht, wie groß der ist.

Martin

Ich weiß nicht, wie viel Platz da ist, wie viel Platz wir grundsätzlich noch finanzieren können. Also bisher mussten wir noch, das muss man sagen, es gibt so Wochen, wo wir so viele Daten produzieren. Wenn wir mit unserem Hauptdetektor arbeiten, dann ist das so, dann kommt da so viel Daten raus.

Martin

Wenn wir nicht mit unserem Hauptdetektor arbeiten, es gibt auch völlig andere Experimente, wo man alle zehn Sekunden ein Bild schießt von zwei Megapixel und dann, ja.

Martin

Das ist ja fast redundant dann im Vergleich.

Martin

Genau, das ist dann, wenn du plötzlich beginnst, dass tatsächlich dann Virtual Env das Größte auf der Platte ist. Aber das ist dann auch egal, weil im Vergleich, also dann hat man halt …

Martin

Das spielt keine Rolle.

Martin

Genau, das geht dann unter. Das ist dann auch immer sehr schön. Also da muss man sagen, wenn man da mit unserem Hauptdetektor mit den 5000 Bildern pro Sekunde arbeitet, dann muss man halt wirklich, da hängt halt wirklich auch Rechenpower hinten dran.

Martin

das dann also ausrechnet und dann gibt es dann

Martin

haben wir auch ganze Stäbe von Leuten, die nur

Martin

dafür zuständig sind, das am Laufen zu halten, dass dann die

Martin

ganzen Prozessketten da hinten dann das nur machen.

Martin

Während wenn wir dann mit nur

Martin

alle 10 Sekunden ein Bild nehmen, ist das viel schöner, weil

Martin

dann kann man das tatsächlich

Martin

auch alles mit ein paar Python-Skripten machen

Martin

und dann ist man auch deutlich

Martin

flexibler darin,

Martin

irgendwas Schönes zu machen.

Martin

In welchem,

Martin

das kommt mir jetzt gerade so in den Sinn,

Jochen

in welchem Format werden die Daten denn dann

Jochen

abgespeichert? Wird das

Jochen

einfach, also es gibt ja diese diverse Formate

Jochen

für wissenschaftliche Zwecke, also

Jochen

NetCDF oder wie heißt das?

Jochen

Ja, also unseres ist

Jochen

HD5.

Jochen

Oder SQLite, habe ich jetzt gerade gedacht.

Jochen

Könnte man ja auch nehmen. HD5

Jochen

nehmen wir.

Jochen

Wobei,

Jochen

da muss man eine ganze Menge

Martin

daran herum entwickeln, dass wir

Martin

überhaupt

Martin

schnell genug schreiben können. Tatsächlich

Martin

ist das so, dass wir in

Martin

mehrere HD5-Dateien

Martin

in parallel reinschreiben, weil ansonsten

Martin

die HD5-Bibliothek

Martin

doch an ihre Grenzen käme.

Martin

Ich

Martin

finde sowas super spannend, weil

Johannes

in diesen Bereichen trifft man dann

Johannes

auf so Probleme, die man sich so

Johannes

als normaler Entwickler gar nicht

Johannes

vorstellen kann. Schon

Johannes

allein die Bandbreite zu haben,

Johannes

die Daten aus diesem Sensor auslesen

Johannes

zu können, das muss ja

Johannes

gigantisch sein und das geht ja weit

Johannes

über das hinaus, was man so als normaler Mensch in einem

Johannes

Computer je sehen kann

Johannes

und wenn man sich

Johannes

überlegt, wie viel Bandbreite da an

Johannes

Speicherplatz einfach rauskommen muss,

Johannes

da zerbrechen viele von den

Johannes

Abstraktionen, die man normalerweise so hat.

Martin

Ja, bei uns kommen tatsächlich die Glasfaser da

Martin

bündelweise aus den Detektoren raus

Martin

und

Martin

das ist, ja, da hängt

Martin

richtig Rechenpower dahinter.

Johannes

Ja klar, und das muss dann in irgendwelche Speicherbänke

Johannes

reingehen und von den Speicherbänken muss es

Johannes

irgendwo auf, ja,

Johannes

Speicher gehen, aber ein Kabel

Johannes

reicht an keiner Stelle. Das heißt, das muss sicherlich

Johannes

alles parallel sein.

Johannes

Ja, genau.

Johannes

Stapelweise an Rechnern

Johannes

stehen dann da übereinander, die das dann

Johannes

verteilen.

Johannes

Die es alle gleichzeitig abkriegen.

Johannes

Ja, das ist

Johannes

tatsächlich

Martin

das ist immer sehr lustig,

Martin

ich habe das nicht, also

Martin

das ist immer so lustig, dass

Martin

wenn wir anfangen Daten zu nehmen, dann dauert

Martin

dass mehrere Sekunden, bis alle

Martin

TCP-Verbindungen aufgebaut sind, um

Martin

dann die Daten zu

Martin

einfach nur das Aufbauen der

Martin

Verbindungen dauert mehrere Sekunden.

Martin

Das ist ja schon.

Martin

Ja, das hält man sich tatsächlich

Martin

recht wichtig vor, wenn dann irgendwie die Sachen

Dominik

durcheinanderfliegen, so eine Riesenmenge,

Dominik

wie man den auffangen will.

Dominik

Also das ist auf jeden Fall, glaube ich, eher Big Data

Dominik

dann tatsächlich irgendwo, so ein bisschen.

Martin

Ja, wobei es auf der einen Seite natürlich

Martin

schon, dass es natürlich Big Data ist, also von der

Martin

rein schieren Größe her.

Martin

Auf der anderen Seite, also was man normalerweise

Martin

unter Big Data sind, sind halt deutlich strukturierter

Martin

als das, was wir da haben.

Martin

Wir haben da ja einfach nur Bilddaten.

Martin

Okay, also

Dominik

augmentiert ihr die direkt oder sowas?

Dominik

Oder gibt es ein Post-Processing,

Dominik

dass da viele Informationen mal reinfließen?

Dominik

Oder ist das einfach nur dann pro Experiment

Dominik

irgendwie so ein

Dominik

Metainformationsding?

Martin

Also wir müssen tatsächlich

Martin

während des Experiments darauf reagieren können,

Martin

Und das heißt, während des Experimentes werden bereits alle Daten rudimentär ausgewertet, damit wir eine Idee kriegen, ob die Daten überhaupt gut sind. Wir können es uns nicht leisten, dort mehrere Stunden lang irgendwas zu messen und am Ende festzustellen, dass wir leider vergessen haben, die Probe in den Strahl zu fahren oder so etwas.

Martin

Ja, sowas passiert halt auch regelmäßig.

Martin

Ja, oder auch, dass man dann halt feststellt,

Martin

okay, wir haben mit viel zu viel Intensität gemessen,

Martin

also der ist völlig ausgeleuchtet, der Detektor,

Martin

man sieht gar nichts mehr oder es war jetzt alles viel zu dunkel

Martin

oder was weiß ich was, das kann ja alles gleichzeitig passieren.

Martin

Und deshalb muss die ganze Zeit auch,

Martin

währenddessen werden die Daten rudimentär ausgewertet,

Martin

dass man sofort sehen kann, was da passiert.

Martin

Wobei wir das, ja, das Ganze wird dann auch visualisiert,

Martin

wobei wir das meiner Meinung nach noch sehr steinzeitlich machen.

Martin

Das machen wir, da verwenden wir tatsächlich PyQT.

Dominik

Eine Version, das Nummer, weißt du die?

Martin

PyQT 5, also schon das Neueste.

Martin

Und na ja, also wenn man mich heute fragen würde,

Martin

würde ich ja natürlich sagen, das macht man doch viel besser mit

Martin

Visualisierung, doch besser in einer Web-Anwendung

Martin

und nicht so mit einer

Martin

mit einem Standalone

Martin

Desktop-Ding. Genau,

Martin

aber ja, die Entscheidung ist

Martin

damals dafür gefallen und

Martin

das

Martin

läuft jetzt so.

Martin

Und das ist ja auch Python, also so ist es jetzt nicht.

Dominik

Ja, und ihr habt auch keine Lizenzprobleme,

Dominik

weil ihr eine öffentliche Institution seid wahrscheinlich?

Dominik

Nee, ist das ja nicht.

Martin

Wir sind eine öffentliche Institution, aber

Martin

Aber PyCode ist doch LGPL.

Martin

Genau. Sogar als es

Martin

GPL war, da wir grundsätzlich alles

Martin

sagen wir so,

Martin

wir würden, also eigentlich sollte alles

Martin

quelloffen sein.

Martin

Ja, wir halten

Martin

uns da dran, dass jeder,

Martin

in der GPL steht ja drin, dass jedem, dem

Martin

man den Binärcode gibt, dann auch den Quellcode geben muss.

Martin

Das tun wir auch. Bisher ist es allerdings so,

Martin

dass bisher noch keiner vorbeigekommen ist.

Martin

Nur die Binärfreunde.

Martin

Ja, und ich glaube, der Grund, dass wir es noch nicht veröffentlicht haben, ist, dass wir, ja, noch nicht, vielleicht haben wir es inzwischen sogar schon veröffentlicht, dass wir das Ganze auch noch so machen wollten, dass das schön aussieht, damit es uns nicht zu peinlich ist.

Martin

Ja, gerade in der Anfangszeit ist doch alles sehr schnell gestrickt worden, was ja das Schöne ist, dass es mit Python geht, dass man mit Python auch mit schön gestricktem Code, also mit schnell gestricktem Code am Ende doch noch sehr schöne Sachen rauskriegt, ja.

Johannes

Es ist total witzig. Ich war vor ein paar Jahren auch in so einem Big Data Projekt drin, kommerzieller Natur, nicht ganz so groß wie eures. Und da gibt es auch eine Visualisierungsoberfläche, die auch in PyQt geschrieben ist. Und auch da wird über eine Weblösung nachgedacht und man ist aber noch nicht so weit. Also es ist schön zu hören, dass die Probleme doch überall die gleichen sind.

Martin

Ja, also grundsätzlich finde ich ja, PyQt 5 ist tatsächlich eigentlich grundsätzlich eine sehr schöne Bibliothek, wenn man so eine Desktop-Anwendung machen will, aber wenn man ehrlich ist, sind solche Desktop-Anwendungen eigentlich heutzutage so ein bisschen eigentlich nicht mehr.

Johannes

Ja, man hat das ja früher gemacht, weil es halt nicht anders ging, weil du halt irgendwelche Grafiken anzeigen musstest und dann irgendwelche interaktiven Sachen machen musstest mit diesen Grafiken und dann, ja, normal vor fünf bis zehn Jahren war das im Web noch nicht so einfach, aber heutzutage ist es ja kein Problem mehr.

Martin

Genau, also wir haben angefangen damals mit der Programmierung, also 2009, damals tatsächlich noch Python 2. Wir haben dann glücklicherweise den Umstieg schnell genug geschafft.

Jochen

Ja, aber genau, damit habt ihr schon immer die Motoren und so gescheitert, weil dann hattet ihr das Problem, dass ihr da quasi ja nicht blockieren konntet, während ein Motor sich verstellt hat, schon länger und iSync.io gibt es ja jetzt erst seit 2015, 14, 15, irgendwann ging das los, ne?

Martin

Ja, also vorher hatten wir, waren wir einfach noch nicht so weit, dass wir, also in Betrieb gegangen sind wir 2017. Und vorher waren das, hatten wir ja ein paar Demonstrationsdinger noch nur da rumstehen. Wir haben es halt lange gedauert, die tausend Motoren da überhaupt einzubauen. Und erst wenn du dann genügend von denen eingebaut hast, stellst du dir dann halt die Frage, dass man die auch tatsächlich parallel fährt.

Martin

dann haben wir glücklicherweise noch im richtigen

Martin

Moment die Kurve gekriegt

Martin

und das Ganze nochmal, also

Martin

dann kam glücklicherweise im richtigen Moment auch

Martin

Asien-Korea vorbei und dann konnte man

Martin

das alles gleichzeitig. Bei den tausend Modulen

Martin

muss ich immer an das von Johannes

Dominik

veröffentlichte Ding da zum Raumschiff fliegen denken.

Dominik

Du hast doch mal, das ist so ein

Dominik

Blockantrag. Welche Raumschiffe fliege ich? Ja, das ist irgendwie so

Dominik

ein Blockantrag, ich weiß nicht, mit der Steuerung, die man da machen kann.

Dominik

Ich weiß nicht, ich denke schon die ganze Zeit drüber nach,

Dominik

wie man das wohl in der Home-Automatisierung

Dominik

verwenden könnte,

Dominik

wo man seine tausend Motoren in der Küche platziert,

Dominik

die dann, keine Ahnung, die Gewürze dosieren

Dominik

oder die... Aber wie ist das denn?

Dominik

Wobei wir

Martin

dann, das muss man auch der Ehrlichkeit

Martin

halber noch dazu gestehen, noch

Martin

einmal eine Ebene unten drunter haben, das ist

Martin

dann eine

Martin

kommerzielle Lösung tatsächlich von

Martin

einer Firma namens Beckhoff, die dann

Martin

die Motoren, die eigentliche

Martin

Motorensteuerung macht.

Martin

Das, was wir in Python bisher nicht

Martin

machen, ist die Echtzeitsachen.

Martin

Dafür ist, glaube ich,

Martin

Python auch einfach nicht gut genug.

Martin

Also nicht die geeignete

Martin

Sprache, weil, also

Martin

wenn man, wenn der Motor

Martin

dann tatsächlich, also

Martin

da muss man dann irgendwann am Ende unten dann mit

Martin

also mindestens mal 100 Hertz dann den

Martin

Motor abfragen, wo bist du denn jetzt? Und dann

Martin

ihn dann dementsprechend schneller oder langsamer machen.

Martin

Und das

Martin

geht mit Python

Martin

eher nicht.

Martin

Also ein Realtime-Python

Martin

Das ist auch häufig so, glaube ich, dass man dann noch so eine Schicht hat, wo man einfach sagt, ich möchte, dass der Motor zum Zeitpunkt X an der Stelle Y ist und das dann einfach wegschiebt und sagt, sorg mal dafür.

Martin

Ja, dafür haben wir uns eine kommerzielle Lösung gekauft, aber ich muss sagen, dass die kommerzielle Lösung genau das Problem hat, dass kommerzielle Lösungen immer haben, dass wir da dann, wenn man da an eine Grenze kommt, dann ist die Grenze auch hart.

Martin

Dann läuft man mit dem Kopf gegen die Wand.

Martin

Oder man muss viel Geld ausgeben.

Martin

Richtig.

Martin

Also jetzt ist es tatsächlich so,

Martin

dass wenn man für anderthalb Milliarden

Martin

so einen Tunnel gegraben hat,

Martin

dann kann man auch mal tatsächlich

Martin

ein bisschen Geld in die Hand nehmen.

Martin

Aber das ist nicht so.

Martin

Du musst auch irgendwo ein Ende haben.

Martin

Ja, genau.

Martin

Und für ganz Kleinigkeiten will man dann auch nicht mehr.

Martin

Und solche kommerziellen Lösungen scheitern doch am Ende sehr.

Martin

an der Flexibilität. Muss auch

Martin

sagen, dass die,

Martin

die, als wir

Martin

auf die Idee gekommen sind, dem

Martin

Hersteller Beckhoff zu erzählen, dass wir

Martin

unsere Projekte in einer Versionskontrolle

Martin

halten, da

Martin

haben die schon ganz schön

Martin

geschluckt. Und

Martin

als es dann hieß, wir finden aber nicht

Martin

Subversion, sondern Git,

Martin

da haben die richtig

Martin

Angst bekommen.

Martin

Das ist tatsächlich

Martin

in der Welt der Automatisierung

Martin

Sind das alles noch Träumereien? So was macht man nicht. Da werden noch irgendwelche Projekte von Projektleitern geleitet und dann Anträge geschrieben und dann irgendwie die Versionen einzeln auf irgendwelche festen Datenträger transferiert und dann an den Kunden ausgeliefert.

Martin

Und warum ist das, warum kriegen die Angst? Also, weil das, ja, also man kriegt da halt so eine komplette, es geht viel zu schnell, viel zu schnell, die liefern einem halt eine komplette IDE und die IDE, die speichert halt die Sachen in ihrem eigenen Format, also ich weiß nicht, also das ist am Ende ist das auch nur, also die Sprache, die die haben, ist eine Pascal-ähnliche Sprache, die international genormt ist und dafür tatsächlich auch gar nicht so doof ist.

Martin

Also es ist sehr interessant, diese Welt sich mal anzugucken, zum Beispiel also die Welt von Steuerung, Software, von...

Martin

nennt sich das, Speicherprogrammierer bei Steuerung

Martin

nennt sich das auf Deutsch.

Martin

Da gibt es eine Programmiersprache, die so ganz

Martin

andere grundsätzliche Eigenschaften haben,

Martin

die zum Beispiel keine

Martin

dynamische Speicherverwaltung kennen

Martin

und das absichtlich nicht,

Martin

weil wenn man eine Maschine hat, dann

Martin

braucht man nicht plötzlich mehr Speicher.

Martin

Und bei denen

Martin

wird, das ist eine Sprache, die von vorne

Johannes

Man will das auch gar nicht, weil

Johannes

das könnte ja abstürzen.

Johannes

Das ist ganz schlecht.

Johannes

Und

Martin

das sind dann konzeptuell

Martin

andere Sprachen, die aber auch für den

Martin

Anwendungsfall tatsächlich sehr gut sind, muss ich

Martin

sagen. Und das Einzige

Martin

ist, dass die dann irgendwie dann in

Martin

IDEs reingepackt werden

Martin

und das sieht dann sehr

Martin

Pascal-ähnlich aus und warum man dann

Martin

diesen Pascal-Code dann

Martin

am Ende in XML-Dateien

Martin

reinstecken muss, habe ich

Martin

nicht verstanden.

Martin

Weil man mit XML alles macht.

Martin

Weil man mit XML einfach alles

Martin

machen kann.

Martin

Deshalb und

Martin

dann dieses XML dann wiederum

Martin

in eine Versionskontrolle

Martin

wie Git reinzutun, ist dann

Martin

ja, also irgendwie

Martin

fühlt sich das

Martin

nicht gut an.

Martin

Also insbesondere, wenn man

Martin

dann mergen will und dann, ja,

Martin

was passiert denn, wenn

Martin

in dem XML rundherum

Martin

sich was geändert hat und will das dann mergen?

Martin

Das ist ja,

Martin

ja.

Martin

Da gibt es dann noch solche Sachen wie, dass dann die, also man kompiliert dann seinen Code und man hat dann ja immer den Computer, der vor einem steht und dann als zweites diese speicherprogrammierbare Steuerung, die dann möglicherweise, die dann halt an der Maschine verbaut ist.

Martin

Und jetzt ist es so, dass also die gesamten Debug-Informationen, die schreibt man natürlich nicht mit auf die Maschine drauf. Am Ende kommt noch der Kunde vorbei und dekompiliert den Code. Das heißt, die Debug-Informationen des Codes sind nicht mit dem Code zusammen, sondern auf deiner Maschine, auf deiner eigenen.

Martin

So, und wenn du dann nach drei Jahren wieder kommst und der Kunde sagt, an der Maschine, kannst du mal gucken, was da los ist, dann musst du dann deinen eigenen DBA-Code bei dir wiederfinden.

Martin

Ja, wie löst man das? Ja, das ist ganz einfach, man speichert, also man kompiliert das und checkt dann das Binary mit in Subversion ein.

Martin

Ja, das sind alles Sachen, da dreht sich einem als Python-Programmierer der Magen um. Aber naja, dafür läuft es da dann halt. Ja, die haben halt auch Zuverlässigkeitsanforderungen.

Jochen

Ja, aber wäre da nicht, also weil das höre ich auch immer aus dem Musikbereich oder so, wo es auf Echtzeit ankommt, die verwenden da oft jetzt also CircuitPython oder MicroPython oder sowas. Wäre das nicht eine Idee, das mit sowas zu machen?

Martin

also ich wäre

Martin

dafür. Da bewegt

Martin

sich, glaube ich, einiges. Ja, definitiv.

Martin

In den letzten Jahren.

Martin

Wobei ich da eigentlich

Martin

ganz, also

Martin

ich habe das tatsächlich mal probiert,

Martin

also glücklicherweise,

Martin

also

Martin

das ist tatsächlich so gebaut, dass

Martin

die ganzen Motoren hängen dann

Martin

an,

Martin

wie nennt man das, Klemmen dran, also

Martin

an Motorklemmen, auf Englisch

Martin

Terminals, vielleicht hilft das besser.

Martin

die dann halt miteinander per Ethernet miteinander verbunden sind. Und tatsächlich mit Ethernet, da läuft kein IP drüber, sondern direkt über Ethernet. Und das ist dann in einer Echtzeit-Version namens EtherCAT.

Martin

Möglicherweise ist das Protokoll vollständig veröffentlicht und ich habe dann tatsächlich mal, das ist ja nicht so das Problem, dann sich mit Python diese Pakete, die man da über das Netzwerk schicken muss, dann halt zusammenzubauen und dann kann man das damit tatsächlich machen.

Martin

Ja und dann merkt man halt dann plötzlich, dass man halt nicht Reden, dass man nicht Echtzeit ist und da tut dann auf einmal Echtzeit tatsächlich weh.

Martin

Also es fängt dann bestimmt mit schon an, dass der Hersteller dann anfängt, solche Sachen zu machen, wie dass die Buffer, die in den Netzwerkkarten drin sind, abgeschaltet werden müssen, weil die die Latenz kaputt machen.

Martin

Ja, klar.

Martin

Weshalb die dann…

Jochen

Das heißt, wahrscheinlich willst du dann auch gar kein Betriebssystem haben, sondern du willst direkt im Kernel sein oder so oder irgendeine…

Martin

Die Firma Beckhoff hat einen sehr engen Vertrag mit Microsoft, dass sie direkt am Kernel von Microsoft arbeiten können.

Jochen

Oh, aber mit Linux könnte man das doch auch, da gibt es doch sogar irgendwie in Linux so eine Schnittstelle, wo man, ja es gibt ja auch so RT-Linux-Sachen.

Martin

Es gibt auch in Deutschland einen zweiten Hersteller, der tatsächlich das Ganze auf Linux macht, das geht alles, auch mit Realtime und allem drum und dran.

Martin

Ja, mein Unternehmen hat sich, also wir sind zwar eine staatliche Einrichtung, aber rein rechtlich sind wir ein Unternehmen im Staatseigentum 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.

Dominik

Achso, natürlich, du bist ein richtiger Anfänger.

Dominik

Jetzt ist mir auch eingefallen, was der Johannes meinte, den Bit-Controller, den hätte ich gerne da für die Steuerung dieser Motoren. Geht das, Johannes?

Dominik

Achso, ja, da hast du irgendwo einen Controller drin, der sowas macht, ja. Das geht da oft ganz tief runter.

Johannes

In dem Bereich bewegt sich ganz viel, auch was so Industrie 3 und Industrie 4 angeht, weil man halt ganz viel mit Rechenleistung erschlagen kann.

Johannes

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.

Johannes

Und heutzutage ist es ja mehr so, ja, hier hast du den Prozessor, der 180 Megahertz hat und vier Kerne und der kostet auch nur fünf Euro. Da ist es dann schon so ein bisschen egal. Da kannst du schon viele Sachen machen, die du früher halt einfach nicht machen konntest, einfach durch Rechenleistung erschlagen.

Johannes

Und wenn du aber nur ein Megahertz hast und nur einen Prozessor und musst aber acht Motoren gleichzeitig steuern und die sollen auch gewisse Kurven einhalten, dann ist das halt anstrengender. Und deshalb ist ganz viel von dieser Hardware noch so ein bisschen anders aufgebaut, als man das vielleicht heutzutage machen würde.

Johannes

Auch weil sich diese Welten sehr langsam bewegen, auch weil da sehr viel Geld drin ist. Diese Geräte, die ihr da gekauft habt, um eure tausend Motoren zu steuern, die werden sicherlich alle ein paar Euro gekostet haben.

Martin

Ja, definitiv. Interessanterweise ist es dann so, dass das bis heute so ist, dass diese ganzen kleinen Prozessörchen in gewisser Maßen emuliert werden. Also früher war es immer so, man hatte immer eine langsamere Steuerung, die solche Sachen machen, die nur an und aus gehen, also so ein Ventil auf, Ventil zu.

Martin

Man hat eine schnelle Steuerung gehabt, die Motoren halt mit, da muss halt schnell ein Feedback kommen, ob der Motor schon weit genug ist oder nicht. Und heute werden die dann tatsächlich getrennt von zwei Prozessen dann emuliert.

Martin

Das macht eigentlich heutzutage ja gar keinen Sinn mehr.

Martin

Dann läuft da einer auf dem einen Prozessorkern,

Martin

die langsamere Steuerung, die dann irgendwie so mit 100 Hertz arbeitet

Martin

und daneben noch eine zweite, die dann mit 10 Kilohertz arbeitet

Martin

und die dann über ganz magische Dinger sich miteinander unterhalten.

Martin

Und das wird dann sehr bald sehr hanebüchen.

Martin

Das ist alles halt nur noch historisch zu erklären.

Martin

Und ja, ich würde sowas gerne alles durch Python ersetzen,

Martin

aber so schnell bin ich nun auch wieder nicht,

Martin

da alleine die Industrie

Martin

kurz mal umzukrempeln.

Martin

Ja, nein.

Martin

Aber wir sind ja jetzt zu viert hier.

Martin

Also sind wir schon mal viermal schneller.

Martin

Ja, das ist gut.

Martin

Interessanterweise habe ich das dann mal ausprobiert,

Martin

dass tatsächlich so eine Steuerung

Martin

in Linux zu basteln

Martin

und stellte dann fest, dass tatsächlich

Martin

die beste dafür geeignete

Martin

Hardware ein Raspberry Pi war.

Martin

Und zwar deshalb, weil dessen

Martin

Netzwerkkarte...

Martin

Keine Buffer hat.

Martin

Genau.

Martin

Das war dann auch

Martin

sehr praktisch, weil so ein Ding ist einfach auch

Martin

bei weitem schnell genug

Martin

und auch zuverlässig

Martin

genug.

Martin

Ja, interessant auch, was man

Dominik

da so alles achten muss, wenn man da so die Steuerung zusammen

Dominik

stecken möchte.

Dominik

Ja, ja, ja,

Dominik

faszinierend. Ja, sehr, sehr interessant.

Dominik

Sehr, sehr interessant.

Jochen

Ja, ich weiß nicht,

Jochen

vielleicht,

Jochen

was ist denn, was findest du denn so

Jochen

bei dieser ganzen Geschichte,

Jochen

das mit Python zu steuern.

Jochen

Was sind die Dinge, die dich da interessieren?

Jochen

Oder was fandest du cool?

Jochen

Oder was funktioniert mit Python noch nicht so gut?

Jochen

Oder, ja, ich weiß nicht.

Martin

Also, was mich immer wieder begeistert,

Martin

ist, mit welcher Geschwindigkeit

Martin

man einfach so kleine, praktische Sachen machen kann.

Martin

Also, wie ich da erwähnt habe,

Martin

dass man da einfach ein Foto nimmt

Martin

und dann auf das Foto draufklickt

Martin

und dann fährt der Motor dorthin.

Martin

Das sind so Dinge,

Martin

Für die würde man halt nicht das als Auftrag stellen

Martin

und dass dann monatelang Entwickler dran sitzen.

Martin

Aber in Python waren das alles dann auch am Ende auch nur ein paar Zeilen.

Martin

Und also diese kleinen, schönen Dinge, die das Leben einfacher machen,

Martin

das ist tatsächlich das, was ich dafür, dafür mögen mich auch meine Kollegen,

Martin

dass denn die, also nicht unbedingt die so absolut notwendig sind,

Martin

sondern die einfach einem das Leben vereinfachen,

Martin

dass man einfach die Kapazität hat, das zu tun.

Martin

Weil man so schnell programmieren kann,

Martin

weil man so schnell Sachen raushauen kann,

Martin

dass man seine Kollegen glücklich machen kann.

Martin

Also, dass die auch keine Hemmungen haben,

Martin

mir zu fragen, hier, Martin, da muss man immer so blöd klicken

Martin

und das funktioniert nicht richtig.

Martin

Kannst du das nicht mal schön machen?

Martin

Und dann wird, ja, kein Problem, hack ich dir zusammen.

Martin

Und dann, ja, da muss man ein bisschen aufpassen,

Martin

dass man nicht zu sehr hackt und dass man am Ende

Martin

das dann am Ende auch noch irgendwie zu einem brauchbaren

Martin

Projekt macht und dass das dann nicht irgendwie so einem

Martin

Datengrab auf irgendeiner Festplatte landet.

Martin

Ja, ist schon richtig, aber

Martin

das ist halt das, was

Martin

das Schöne daran ist.

Martin

Und dass

Martin

das halt auch alles

Martin

ja, so sehr schnell geht.

Martin

Also was ich auch sehr schön finde,

Martin

ist das, was ich

Martin

gerne mag einfach. Gut, das

Martin

ist die Geschmackssache, dass

Martin

wir kommen, also wir haben halt unglaublich

Martin

viele irgendwelche experimentellen

Martin

Gerätschaften, dass wir dann, also

Martin

der Strahl, der da bei uns

Martin

in den Strahl reinpinkelt,

Martin

der wird halt von einer

Martin

Hochdruckpumpe gesteuert

Martin

und dann

Martin

kommt da plötzlich mein Kollege mit dieser Pumpe da an,

Martin

stellt sie vor dich hin und sagt, ja, das muss ja

Martin

heute Nachmittag laufen und

Martin

das ist dann

Martin

eigentlich gar nicht so das

Martin

Problem, weil man halt, also Batteries

Martin

included, halt immer gleich alles da hat

Martin

und halt unglaublich schnelle

Martin

Entwicklungszeiten, also

Martin

ein großes Problem ist, dass man, ja, da

Martin

kommt der User, kommt da mit so einem

Martin

Ding an, also der Benutzer, muss ich auf Deutsch

Martin

so sagen, kommt da mit irgendeinem

Martin

Ding an, das hat,

Martin

das, keine Ahnung, das

Martin

kostet 100.000 Euro,

Martin

da kann man, der kann mir nicht

Martin

Monate vorher das zum Ausprobieren

Martin

schicken, damit ich dafür was programmiere,

Martin

das geht nicht, sondern der kommt

Martin

drei Tage vorher an und sagt,

Martin

sorg mal dafür, dass diese Pumpe

Martin

da läuft und dass

Martin

da in den Strahl reinpinkelt

Martin

und dann

Martin

heißt es und los

Martin

und dann

Martin

ist es halt echt von Vorteil,

Martin

dass man da völlig, ja,

Martin

auch

Martin

das, was einer mal gemeint hat,

Martin

hab ich mal gehört,

Martin

Expressibility,

Martin

dass man in Python recht komplexe

Martin

Sachen

Martin

schön ausdrücken kann,

Martin

dass man, also

Martin

ja, wie sieht das, also

Martin

ja, natürlich

Martin

objektorientierte Programmierung, Klassen

Martin

gibt es überall,

Martin

das machen ja inzwischen alle, aber

Martin

dass man dann in der Klasse dann tatsächlich,

Martin

also wir haben dann eine Pumpe

Martin

und die kann dann an, aus und was weiß ich,

Martin

Druck und Volumen oder so etwas

Martin

und dann kann man da,

Martin

dann schreibt man halt rein, Klasse Pumpe,

Martin

Klaas Pumpe,

Martin

natürlich alles auf Englisch, weil

Martin

Das liegt ja in seiner Firma. Und dann schreibt man einfach direkt die Parameter rein, Druck an, aus und sonst etwas. Und das ist dann gleichzeitig aus Sicht des Benutzers, sind das dann die Buttons, auf die man draufklicken kann oder die Funktionalität, die man von dem verwenden kann.

Martin

Und gleichzeitig auf der anderen Seite steht dann bereits reingeschrieben, was man denn dem Gerät sagen muss, dass das auch so funktioniert. Wir haben uns dann ein ganzes Framework zusammengeschrieben, dass dann, wie heißt das bei euch Webleuten, Django Forms oder so, dass wir halt Forms, die halt keine Webseiten sind, sondern Beschreibungen für Geräte sind.

Martin

Und in die kann man halt dann die Parameter,

Martin

die so ein Gerät hat, einfach reinschreiben.

Martin

Und aus der Benutzerseite kann man da dann die Werte reinschreiben.

Martin

Und ja, unser Framework guckt sich dann halt an.

Martin

Und auf der anderen Seite schickt es dann die Kommandos an die Pumpe raus.

Martin

Und das kann man alles so in einem Framework machen

Martin

und einfach so hinschreiben.

Martin

Und ja, also wie das in einer anderen Programmiersprache aussehen würde,

Martin

weiß ich, da das ja

Martin

die Konkurrenz immer noch in C++

Martin

macht und da müssen

Martin

dann halt Kopfstände gemacht werden,

Martin

weil, also wie soll ich denn da deklarativ

Martin

da in C++ überhaupt

Martin

da was hinschreiben?

Martin

Da wird dann immer das

Martin

ausführbare Code dann hingeschrieben,

Martin

der dann magische

Martin

Datenstrukturen im Hintergrund

Martin

aufbaut,

Martin

die dann irgendwie aus...

Martin

Also, furchtbar.

Martin

Furchtbar. Man kann halt

Martin

in sowas wie C++ nichts

Martin

deklarativ hinschreiben, wo man einfach sagen kann,

Martin

das ist so.

Martin

Und das dann von einem

Martin

Framework auslesen lassen, sondern man kann halt

Martin

nur Code hinschreiben.

Martin

Und das ist halt

Martin

das, was

Martin

so ein Framework halt sehr mächtig

Martin

macht. Und mit

Martin

solchen Sachen kann ich dann halt innerhalb von

Martin

einem Nachmittag so eine blöde

Martin

Pumpe zum Laufen kriegen.

Martin

Wie lange wird der C++-Entwickler

Martin

dafür brauchen?

Martin

Ach, eine Woche wahrscheinlich.

Dominik

Jetzt sind wir wieder bei einem der wichtigsten

Dominik

Dinge, glaube ich, für Python auch, oder?

Dominik

Das ist halt so dieses Time-To,

Dominik

ich nenne es jetzt mal Market.

Martin

Genau. Also und das ist bei uns,

Martin

wie gesagt, wir haben Experimente im

Martin

Wochentakt, ist bei uns halt,

Martin

wir haben halt unglaublich viel Wegwerf-Code

Martin

einfach. Das ist dann das, was wir

Martin

Makros nennen, wobei das auch keine Makros,

Martin

also das ist jetzt nicht einfach Code,

Martin

der runtergeschrieben ist, sondern wirklich,

Martin

da haben wir dann genau so ein Framework,

Martin

wo man dann so Parameter

Martin

dann deklarieren kann und

Martin

am Ende dann Sachen ausgeführt werden

Martin

können. Und

Martin

das Schöne daran ist auch, dass wir es

Martin

geschafft haben, dass

Martin

also ich bin nun

Martin

angestellt tatsächlich als Programmierer,

Martin

aber dass auch unsere Wissenschaftler tatsächlich bereits

Martin

in der Lage sind,

Martin

sich dann so einfache Sachen selber zusammenzuschreiben.

Martin

Das ist

Martin

mit Python, ja gut,

Martin

was auch daran liegt, dass in der Physik doch Python

Martin

inzwischen sehr weit verbreitet ist und man

Martin

den den sagen konnte, hier, das machst du doch schon in der Datenauswertung,

Martin

du machst auch schon immer deine Jupyter-Notebooks

Martin

mit deinem Python.

Martin

Hier, guck mal, da schreibst du ein bisschen anders und dann kannst

Martin

du damit auch irgendwelche Motoren nach links

Martin

oder rechts fahren. Das wird man

Martin

verstehen dann, ja. Genau, das ist dann

Dominik

Python ist ja so gesehen auch nicht schwer

Dominik

von der Syntax her dann.

Dominik

Nee, überhaupt nicht.

Martin

Auch nicht so. Ich finde, das ist eins der schönsten

Martin

Sachen an Python ist, man

Martin

kann es

Martin

zu, also eigentlich vollständig

Martin

verstehen. Also

Martin

wir hatten mal da Bewerbungsgespräche,

Martin

wo dann

Martin

sich C++ und

Martin

Python-Programmierer beworben

Martin

haben. Die haben wir dann immer gefragt, ja,

Martin

bei einer Skala von 1 bis 10,

Martin

wie gut sind deine C++-Kenntnisse?

Martin

Und wenn dann einer sagte

Martin

9,

Jochen

dann war das sozusagen eine Herausforderung,

Jochen

irgendwie sich eine fiese Template-Geschichte zu überlegen,

Jochen

die keiner kennt

Jochen

oder keiner kann.

Martin

Die kann man ja problemlos

Martin

problemlos

Martin

sofort aus dem Hut zaubern.

Martin

Also ich muss dir die Antwort ja nicht kennen, ich muss dir bloß die Frage

Martin

stellen. Während

Martin

wenn dann da ein Python-Programmierer

Martin

steht und sagt, gut,

Martin

wie gut ist dein Niveau, Python

Martin

9, dann muss ich

Martin

sagen, dass ich schon, also

Martin

sogar, also Fangfragen zu stellen,

Martin

schon, also ich glaube,

Martin

dass es viele Leute gibt,

Martin

vielleicht sogar in diesem Podcast, die

Martin

90 Prozent von Python verstanden haben.

Jochen

Ja, wobei es auch schwerer wird mit der Zeit, also in letzter Zeit kommt halt immer mehr dazu und ich meine, ja, das wird auch nicht, oder das ist auch etwas, was viele Leute beklagen, dass es halt für Anfänger jetzt immer schwerer wird, weil halt der Sprachumfang, also gerade wenn man jetzt sowas nimmt wie Typannotationen oder so, finde ich persönlich auch gar nicht mehr so furchtbar einfach, immer das so hinzuschreiben, dass es dann passt, das ist halt schon, das ist halt wieder so ein ganz eigenes, ja, also Python wird halt irgendwie umfangreicher mit der Zeit.

Jochen

Ja, also

Jochen

es war auch früher...

Jochen

Das hört sich auch an einer guten Episode an,

Jochen

die man da mal aufnehmen könnte.

Johannes

Fangfragen und die Ecken und Kanten.

Jochen

Ich überlege, weil mir fällt sofort ein Ding

Jochen

ein, schreib mal die

Jochen

Funktion

Jochen

min oder max in Python hinzuschreiben, ist halt

Jochen

sehr, sehr einfach. Schreib mal die

Jochen

Type-Annotation richtig dafür hin.

Jochen

Das ist halt,

Jochen

die Type-Annotationen sind

Jochen

wesentlich mehr Code als die Funktion selber.

Jochen

Das ist echt

Jochen

schwierig. Nimm zwei Parameter vom

Jochen

Typ Any und gib zurück.

Jochen

Ja, ja, aber nee,

Jochen

gut, das geht natürlich, dann ist es einfach,

Jochen

aber es darf nicht Any sein und es sollte keine

Jochen

False Negatives haben.

Jochen

Dann ist es halt schon so.

Jochen

Ja, wobei

Martin

ich bei Type Annotations, ich muss sagen,

Martin

ich habe mich da nie wirklich reingefuchst, weil

Martin

also zumindest das, was ich von gesehen

Martin

habe, vielleicht klärt ihr mich eines

Martin

Besseren auf,

Martin

also was mich jetzt

Martin

interessiert, also Typen interessieren

Martin

mich jetzt tatsächlich eigentlich

Martin

wenig, weil bei uns, was

Martin

eher reinkommt, ist eher die Frage

Martin

Einheiten. Also so

Martin

etwas wie so ein Motor bewegt sich

Martin

typischerweise um eine Länge

Martin

und das berühmte Beispiel

Martin

des irgendeiner abgestürzten

Martin

Satelliten auf dem Mars oder so etwas

Martin

ist ja hinlänglich bekannt, wo sie da dann

Martin

Zoll mit Millimeter verwechselt haben.

Martin

Wenn man da geschickt annotieren

Martin

könnte und meine... Ja, das ist ein Type, oder?

Martin

Nee. Ja, gut, also

Martin

schon irgendwie, aber dann halt

Martin

auch, dass... Nee, das ist doch kein Type.

Martin

Nein. Der Type ist Zahl.

Martin

Genau. So kann

Martin

man das sehen. Oder man kann jetzt für

Martin

jeden Einzelnen dann auch wieder...

Martin

Ja, ich würde

Martin

versuchen, sowas zu definieren.

Martin

Ja, aber dann...

Martin

Oder bist du lange beschäftigt. Genau. Also bis man da

Martin

einmal sämtliche Einheiten, die man dann

Dominik

durchhält... Ja, wahrscheinlich ist halt die Frage, wenn der Input falsch ist,

Dominik

woher weiß man dann, welche Einheit ist denn das dann, ne?

Dominik

Wenn das nur Zahl ist.

Dominik

Ganz einfach. Weil man kann das ja einfach

Dominik

das Komma verschieben und dann hat man eine andere Skala

Martin

Ja, aber man könnte halt auch viel...

Martin

Das ist halt die Grenze, ja.

Johannes

Das sind die Grenzen von so einem Typsystem.

Johannes

Du hast immer Sachen, die vom gleichen Typ sind,

Johannes

aber unterschiedliche Bedeutung haben.

Johannes

Das klassische Beispiel ist die String-Format-Methode,

Johannes

Printf im klassischen Sinne.

Johannes

Die nimmt zwei Strings und der eine ist das Format

Johannes

und der andere ist das, was in das Format eingesetzt wird.

Johannes

Und du kannst die nicht auf Typebene unterscheiden,

Johannes

weil das sind beide Strings.

Johannes

Und diese Grenze gibt es immer.

Johannes

Also das ist immer eine Grenze zwischen Bedeutung und Inhalt.

Martin

Ja, das beste Beispiel in der App von Python war damals ja, wo jetzt besser Python 3 eingeführt wurde, dass Bytes und Strings, es gibt vielleicht noch welche von euch, die lang genug an Python dabei sind, dass das mal früher 1 war.

Martin

Ja, das war schrecklich, schrecklich.

Jochen

Ja, was auch interessanterweise daran liegt, dass halt Python älter ist als der Unicode-Standard und man das halt damals einfach noch nicht machen konnte. Und Java ist halt ein bisschen jünger und Java konnte es halt gleich rechtlich machen, aber Python halt nicht.

Jochen

Und das war glaube ich das einzige Mal, dass von der Seite irgendwelche Lacher kamen.

Martin

Aber wenn man zum Beispiel die Unterscheidung

Martin

zwischen Bytes und Unicode einfach hätte

Martin

durch Type Annotations machen können,

Martin

dann hätte man gar keine neue

Martin

Python-Version machen können müssen, sondern hätte

Martin

einfach nur das annotiert

Martin

und

Martin

deine IDI sagt dir dann, ach, an der

Martin

Stelle versuchst du aber Unicodes plus Bytes

Martin

zu machen, das geht doch nicht, böse, böse.

Martin

Und

Martin

ja.

Johannes

Habt ihr denn eine Lösung für dieses

Johannes

Einheitenproblem? Habt ihr da was, was

Johannes

kannst du uns Tipps geben?

Martin

Es gibt eine Bibliothek namens Pint, die ist ganz gut,

Martin

aber die arbeitet halt erst auf der Ausführungsebene,

Martin

nicht auf der IDE-Ebene, dass man halt die Werte,

Martin

die tatsächlich, die haben dann eine Einheit

Martin

und das funktioniert dann auch ganz gut.

Martin

Da kann man sich dann Meter, Millimeter addieren

Martin

und das macht dann alles Richtige.

Martin

Und wenn man versucht, Meter mit Sekunden zu addieren,

Martin

dann sagt er einem, das geht nicht.

Martin

Aber das Blöde ist, das macht es halt erst auf Ausführungsebene.

Dominik

Wenn man dann irgendwie tausend Meter reingegeben hat,

Dominik

aber tausend Sekunden meinte, ist dann doof.

Dominik

Ja, genau.

Dominik

Also dann stürzt es einfach ab.

Martin

Oder es wird halt eine Exception geworfen, klar.

Martin

Es wäre natürlich schön, wenn man das bereits,

Martin

Type Annotations laufen ja halt viel früher.

Martin

Das ist ja schon in der ADI das Richtige.

Martin

Da sieht man da schon, dass das passiert.

Martin

Und nicht erst, wenn dann blöderweise ein einziges Mal

Martin

diese komische Funktion beim Landen auf dem Jupiter ausgeführt wird.

Martin

Und dann halt eine Exception

Martin

geworfen wird, anstatt dass...

Jochen

Ja, das ist dann halt der falsche

Jochen

Zeitpunkt.

Dominik

Das sind so einige Experimente, die man einmal machen kann.

Dominik

Das ist schon sehr kritisch von mir.

Dominik

Ja, ja, ja.

Jochen

Ja, das ist...

Jochen

Ich bin mal auch gespannt. Ich meine, TypeScript geht da ja

Jochen

auch sehr...

Jochen

Forsch voran. Ja, genau.

Jochen

Und da habe ich das letztens gesehen, ich weiß nicht genau,

Jochen

dass da Leute...

Jochen

man kann fast aus den, wenn man die Type-Annotationen

Jochen

richtig, kann man fast den Code da

Jochen

schon generieren, sozusagen, weil

Jochen

da schon so viel Information drin ist, dass man

Jochen

sagen kann, okay, jetzt ist klar, was die Funktion machen muss,

Jochen

aber es fühlt sich

Jochen

irgendwie auch ein bisschen, also es ist auf der einen Seite

Jochen

interessant, auf der anderen Seite denkt man sich so, wow,

Jochen

das ist aber ganz anders. Ja, aber ich glaube

Dominik

tatsächlich, diese ganzen Typen-Geschichten

Dominik

heben wir uns für eine andere Folge auf.

Jochen

Jaja, das, genau, müssen wir mal irgendwann

Jochen

ja,

Jochen

genau.

Dominik

Ich fand das sehr interessant, Martin. Vielen Dank dafür.

Dominik

Das ist immer total spannend, für was Peißen alles so benutzt wird

Dominik

und was man da so stolpert.

Dominik

Das ist super wichtig,

Dominik

was man da für schöne Sachen mit zaubern kann.

Dominik

Das ist ein bisschen Magie hinterher.

Dominik

Man hat halt immer so die schnelle

Dominik

Magie in den Fingern.

Dominik

Das finde ich mal klasse.

Dominik

Habt ihr noch irgendwas zu diesem

Dominik

Thema oder kommen wir

Dominik

langsam dem Ende entgegen?

Dominik

Möchtest du noch was erzählen, Martin?

Martin

Nö, ich glaube, ich bin jetzt dann auch durch.

Martin

Also ich fand es super, super spannend.

Johannes

Dieser ganze Problembereich, lauter Sachen,

Johannes

die man so als normaler Programmierer, sage ich mal,

Johannes

nicht so sieht, die da auftreten.

Johannes

Und dass Python da trotzdem gut funktioniert,

Johannes

ich finde es großartig.

Johannes

Ich finde es super spannend und ich finde es großartig.

Dominik

Dann haben wir immer die Tradition,

Dominik

dass wir einen Pick der Folge machen.

Dominik

Ich weiß nicht, ob du das schon kennst.

Dominik

du musst ein Python-Modul

Dominik

irgendwo raussuchen und sagen,

Dominik

warum du das toll findest. Du musst nichts mit

Dominik

deinem Thema zu tun haben.

Jochen

Man kann auch was anderes mal nehmen, muss nicht unbedingt ein Python...

Jochen

Er hat ja gerade schon Pint gesagt.

Jochen

Du hast doch rein freischossen.

Jochen

Soll ich mal anfangen?

Jochen

Ich habe nämlich eine.

Johannes

Ich habe vor einer Weile eine Bibliothek gefunden, die heißt

Johannes

Deutschland.

Johannes

Pip Install Deutschland.

Johannes

Es ist noch keine

Johannes

1.0 ist leider noch eine

Johannes

kleinere Version und

Johannes

das sind einfach Sachen

Johannes

drin mit Daten über Deutschland.

Johannes

Verschiedene APs

Johannes

angebunden, verschiedene Dinge

Johannes

angebunden, sodass man

Johannes

einfach sich Sachen über Deutschland

Johannes

anschauen kann. Hast du es gerade

Dominik

offen, Dominik? Bundesanzeiger,

Dominik

Handelsregister.

Dominik

Einfach interessante

Dominik

Daten über Deutschland.

Dominik

Geografie und

Dominik

genau, Autobahndaten,

Johannes

das Presseportal, die

Johannes

Polizei Brandenburg,

Johannes

Reisewarnungen,

Johannes

Zollwarnungen, einfach ganz viel

Johannes

Kram über Deutschland, was man sich

Johannes

abrufen kann.

Johannes

Und das ist jetzt Version 0.1.9,

Johannes

also ist noch nicht, Deutschland ist noch nicht reif

Johannes

genug für eine

Johannes

1.0, aber

Johannes

wer mit deutschen Daten arbeiten möchte,

Johannes

kann sich die so einfach reinholen, auf eine

Johannes

sehr pythonische Art und Weise.

Johannes

Man müsste mehr damit machen.

Dominik

Johannes hat mir nicht was über PyTest erzählt

Dominik

und ich habe gesehen, dass man Rich auch mit PyTest machen kann

Dominik

und PyTest Rich genommen.

Dominik

Einfach, dass es dann ein bisschen hübschere PyTest-Ausgabe

Dominik

gibt.

Dominik

Ja.

Dominik

Ja.

Dominik

Du wolltest was außerhalb von PyPy nehmen?

Jochen

Ja, genau. Ich habe deswegen nur so

Jochen

gemeckert, weil ich was hatte, was da nicht reinpasst.

Jochen

Deswegen dachte ich, muss ich da mal schon mal gleich

Jochen

irgendwie

Jochen

entsprechend mich positionieren.

Jochen

Genau, was ich picken würde, das habe ich

Jochen

von der PyCon mitgebracht und das hat der

Jochen

in dem Lightning Talk

Jochen

Florian Bruhin von

Jochen

einer der Pettest-Maintainer hat das

Jochen

vorgestellt. Und zwar

Jochen

weil er immer nachgucken musste,

Jochen

wie F-String-Geschichten, mit denen

Jochen

man ja wahnsinnig viel machen kann, wie man das

Jochen

denn dazu, in welchem Fall macht,

Jochen

hat er ja eine Seite

Jochen

schnell mal hochgezogen,

Jochen

die nennt sich fstring.help

Jochen

slash cheat slash.

Jochen

Also so ein

Jochen

Cheat-Sheet

Jochen

für Python F-Strings.

Jochen

Und ja, das ist

Jochen

tatsächlich sehr gut gemacht und

Jochen

hat mir auch schon geholfen. Finde ich super.

Jochen

Genau. Sollte man sich irgendwo hinlegen,

Jochen

wo man das dann irgendwie wiederfindet.

Jochen

Ja.

Jochen

Die etwas

Jochen

ältere Variante davon heißt PyFormat.

Jochen

PyFormat.info.

Jochen

Da kann man über Prozent

Johannes

und Punkt Format Formatierung nachlesen.

Johannes

Habe ich auch schon sehr, sehr häufig

Johannes

aufrufen müssen.

Dominik

Ja, vielen Dank Martin, dass du dabei warst und uns mit deinem Wissen bereichert hast.

Martin

Ja, danke auch, dass ich schön erzählen konnte.

Dominik

Ja, danke Johannes und bleibt uns alle gewogen, hört uns, schreibt uns wieder rein, irgendwelche Kommentare an hallo.peisenpodcast.de und einfach bis zum nächsten Mal.

Dominik

Alles klar, tschüss, tschüss, bis dann, ciao.