Transkript: European XFEL - Röntgenlaser mit Python

· Zurück zur Episode

Vollständiges Transkript der Episode. Zeitstempel beziehen sich auf die Audiowiedergabe.

Ja, hallo liebe Hörerinnen und Hörer.

Dominik

Willkommen beim Python Podcast.

Dominik

Wisst ihr, welche Episode wir heute haben?

Dominik

42.

Ist das nicht schön?

Jochen

Tja.

Dominik

Dass hätte wir wissen müssen, ist ja die Antwort auf alles.

Dominik

Bei uns ist natürlich wieder Jochen.

Dominik

Hi Jochen.

Jochen

Hallo Dominik.

Johannes ist wieder da.

Dominik

Hi Johannes.

Hallo zusammen.

Dominik

Ja, ich bin der Dominik.

Dominik

Und wir haben den Martin heute sogar.

Jo.

Dominik

Hallo.

Dominik

Hallo Martin.

Hallo.

Dominik

Schön, dass du auch dabei bist.

Was machen wir denn heute?

Dominik

Die Folge heißt Laser des Todes.

Jochen

Todeslaser?

Dominik

Todeslaser mit Python.

Jochen

Todesstrahlen.

Jochen

Ja.

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 Röntgen Laser Xfell 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.

Nein.

Jochen

Ja, sehr 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, da würde ich sagen, 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

Nix, was man öffentlich sagen kann.

Achso, okay.

Dominik

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

Dominik

Also eigentlich wollten wir euch ja auch mit Listen beglücken, aber das werden dann mal ein anderes.

Jochen

Die laufen noch nicht weg.

Dominik

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

Johannes

Ja, ich habe sogar ein Lob vom Jochen erhalten.

Johannes

Es ist höchst ungewöhnlich, dass die Tonqualität vom Jochen gelobt wird.

Johannes

Ja, es ist erstaunlich, aber wenn man Geld ausgibt, kann man Probleme lösen.

Jochen

Man kann auch Probleme lösen, wenn man kein Geld ausgibt, aber manchmal braucht man dann länger und ist nerviger und so, aber

Johannes

Sachen basteln und Audio-Hardware ist auch nicht meine Expertise und so.

Johannes

Es ist der Geldweg immer eine Möglichkeit.

Dominik

Also größte News, Johannes hat ein neues Mikrofon, dann haben wir noch was anderes.

Jochen

Haben wir noch was anderes, ja, wir haben zum Beispiel.

Dominik

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

Jochen

Ja, richtig.

Jochen

Ich dachte ja eigentlich, das hatte ich beim letzten Mal erzählt, dass ich da gar nicht hinfahre.

Jochen

Schade, schade, weil irgendwie alle Tickets schon wettend und so.

Jochen

Und dann hat er sich aber doch noch ergeben, dass ich irgendwie da Tickets auftun und 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 das letzte Mal auf der PyCon 2019, also vor zweieinhalb Jahren.

Jochen

Und ja, war sozusagen die erste Konferenz dann wieder nach all der Zeit.

Man konnte niemanden erkennen, weil die da noch

Jochen

Maskenpflicht und so.

Jochen

Und ich hätte, genau, das hatte auch jemand von euch schon schon irgendwie mal erzählt, da hätte man sich ja auch das eigene Gesicht irgendwie aufs C-Shirt drücken können oder so, das wäre praktisch gewesen, hätten wir total erkennen können.

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.

Haben wir immer erst hinterher, gell?

Jochen

Ja, auf jeden Fall, genau.

Jochen

Das mit den Masken war doch natürlich so ein bisschen, das hat sich noch nicht so angefühlt wie immer, ehrlich gesagt, aber es war auf jeden Fall schon mal ein Schritt in die richtige Richtung.

Jochen

Und ich war jetzt letztens auch auf der Beyond Tellerrand, das ist so eine Webentwicklungskonferenz, die in Düsseldorf.

Jochen

Ganz viel Design und nicht nur Computerkram, sondern halt auch Kunst und so.

So ein bisschen

Dominik

die Hippes-Sähne, die sich dafür hält ja auch die Insel.

Jochen

Ja, die Hippes-Sähne, das könnte man sagen.

Jochen

Also meine coolen Freunde, die gehen dahin.

Du weißt jetzt nicht, ich habe es

nicht geschafft.

Johannes

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

Ja.

Jochen

Aber ja, genau, also die, es ist deutlich, also die ganze Atmosphäre da ist halt schon so ein bisschen, ja, wie soll ich das sagen?

Jochen

Der Vibe ist einfach anders und ist angenehmer, ehrlich gesagt.

Jochen

Und da haben die Leute schon keine Masken mehr getragen, was möglicherweise daran lag, dass die ganzen Regeln dann halt auch irgendwann obsolet wurden.

Jochen

Aber auch, dass die Räumlichkeiten einfach besser geeignet waren, weil viel mehr Raum und so.

Dominik

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

Dominik

Also sehr interessante Leute auch international, die

Jochen

umgeflogen sind.

Jochen

Ist eigentlich immer so.

Jochen

Das ist auch komisch, das weiß keiner so, oder ich weiß nicht, ob die Leute das wissen, aber das ist tatsächlich eine der besten Webkonferenzen so weltweit.

Jochen

Und die findet einfach so in Düsseldorf statt, in so einem alten Theater.

Oh, wie praktisch.

Jochen

Und da kommt immer so die.

Johannes

Kann man mir die Videos inzwischen ansehen?

Jochen

Ja, ja.

Ich weiß, dass man die aus den Vorjahren immer sehen konnte, aber gibt es das inzwischen?

Jochen

Doch, nicht mehr auf Vimeo, weil Vimeo hat gepivotet und macht was anderes jetzt.

Jochen

Aber die sind jetzt auf YouTube.

Was natürlich nicht so ist.

Jochen

Das ist super uncool.

Jochen

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

Jochen

Das stimmt schon, Vimeo war da besser, aber die gibt es alle auf YouTube.

Jochen

Ja, insofern kann man sich da, also man kann sich einfach mal reingucken und dann sieht man interessant.

Dominik

Du wolltest noch irgendwas sagen, irgendeine Keynote fandst du total super, hast du gesagt.

Dominik

Und du wolltest noch was erzählen zu den Talks, die du auf der PyCon ziemlich cool fandest.

Dominik

Und von den Trends erzählen.

Dominik

Und zum Beispiel gab es sowas wie PyScript, habe ich gehört, wird gerade so ein bisschen durch die.

Jochen

Ja, wobei das war jetzt dann eher PyCon US, glaube ich, da war das ein großes Thema.

Jochen

PyScript und so über Pyudit.

Dominik

PyCon US fand ich übrigens auch.

Jochen

Ja, die war auch, genau.

Jochen

Da habe ich aber nicht so wahnsinnig viel von mitbekommen, außer irgendwie das, was man halt über Twitter so mitbekommen.

Dominik

Apropos Cons, die DjangoCon ist auch im Herbst und für die EuroPython im Sommer in Dublin, da gibt es noch Vouchers, wenn ihr bei uns in der Gruppe seid.

Jochen

Ja, richtig, das stimmt.

Jochen

Ja, da für die

Johannes

DjangoCon kann man noch ganz kurz Vorträge einreichen.

Johannes

Also wer noch einen Vortrag bei der DjangoCon machen möchte, hat jetzt noch die Gelegenheit dazu.

Jochen

Ja, ich glaube, bis zum 31.

Jochen

Mai.

Jochen

Da müssen wir uns ein bisschen beeilen mit der Veröffentlichung, dass das noch vorher.

Aber ja, ich bin ja auch nicht so gut.

Das zählt.

Dominik

YouPeißen wollte auch hinjochen.

Dominik

Finde ich ja cool.

Wir treffen uns dann da.

Ja, eigentlich schon.

Jochen

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

Dominik

Also eines direkt in der Nähe von der Blue Dog Brewery.

Jochen

Ja, also ich weiß, es gibt da tolle Unterkünfte und so, aber entweder sind die halt unbezahlbar oder halt nicht so richtig irgendwie für mehrere Leute geeignet oder halt nicht verfügbar in dem Zeitraum und das ist alles irgendwie ganz schrecklich.

Dominik

Ich habe so ein Teil gefunden, das relativ entspannt gerade aufgemacht hat, da gab es noch gar keine großen Kreditungen.

Dominik

Hat erst letzte Woche eröffnet oder so.

Jochen

Oh, da ist man.

Jochen

Okay.

Dominik

Ja, die Bewertung erstmal so, mm, da fehlen noch die Klobürsten, aber ich glaube, das bis Juli haben wir das hinbekommen.

Okay, das ist interessant.

Jochen

Da muss ich mal gucken.

Jochen

Ja, also wenn sich dieses Problem lösen lässt, dann werde ich da auch hinfahren.

Jochen

Ja, genau, Konferenzen.

Jochen

Achso, was wollte ich glaube, wir machen am besten nochmal mit den, also mit Christian wollten wir eigentlich noch eine Episode machen zu den ganzen Talks im Einzelnen und sowas, da so ein interessanter Talking ist.

Jochen

Oder Background zu Pykon, aber also für mich tatsächlich der beste oder interessanteste Talk jetzt auf der auf der Pykon.de war halt der von Christian Heimes zum Thema Python nach WebAssembly kompilieren und dann halt, also Python 3.11 im Browser laufen lassen.

Dominik

Vielleicht hören wir da auch noch mehr von.

Jochen

Ja, genau, vielleicht.

Jochen

Und das war schon beeindruckend, dass das geklappt hat.

Jochen

Und ja, da ging es ein bisschen um die Hintergründe, das war echt super.

Jochen

Ansonsten, ja, was den Talk von ich, äh, den von Stefan Benel zum Thema Zeiten, da hatten wir ja auch schon mal, das ist jetzt 20 Jahre geworden, das Projekt, und den fand ich auch super.

Jochen

Ich fand den von meinen Ex-Kollegen bei Billiger super dazu.

Jochen

Wir machen mal Live-Programm ein ORM in Python.

Jochen

Ich fand den von Idealo, weil er sich halt mit dem Thema, mit dem ich mich auch schon lange, lange oder lange früher in einer anderen Zeit, wie lange mal beschäftigt da wird.

Jochen

Ja, das war so richtig so Blast from the Past, Vibes da und ja, die machen das jetzt gerade, was wir da früher schon mal gemacht hatten und machen das super und es war sehr interessant.

Dominik

Ich müsste alles immer in die Show Notes stellen, dann kann man sich das alles nämlich mal anschauen, wenn

Jochen

man möchte.

Jochen

Ja, ich glaube, bei dem Vortrag, da sind die Slides leider nicht da und auch der ist nicht per Video irgendwie verfügbar.

Jochen

Insofern weiß ich nicht genau warum, aber ja.

Dominik

Da müsste man da eigentlich nochmal eine kurzere Zusammenfassung zu machen, aber vielleicht auch.

Jochen

Ja, müssen wir irgendwann mal machen.

Jochen

Vielleicht kriegen wir da auch nochmal die irgendwie dazu, mit uns zusammen eine Sendung zu machen oder so.

Jochen

Müssen wir mal schauen.

Jochen

Ja, genau.

Jochen

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

Dominik

Und geht aber auch unter WebAssembly rein in den Browser.

Dominik

Ja.

Dominik

Und der Browser lädt dann irgendwie Python-Pakete von 70 MB oder sowas und kann dann ein REPL aufmachen im Browser direkt.

Jochen

Ja, das geht mit Python 3.11 nach WebAssembly auch, aber da geht halt tatsächlich sowas wie, man macht halt ein Jupyter-Notebook auf.

Jochen

Das halt komplett im, also auch mit auf das Backend läuft dann halt im Browser.

Ja, das ist schon ein bisschen.

Jochen

JupyterLite nennt sich das, das ist ziemlich cool.

Dominik

Weil da kann man auf jeden Fall gerade für diese ganzen Datenverarbeitungsgeschichten, wenn man da ohne große Dev-Environments was bauen will von irgendeinem Gerät, recht weit kommen.

Jochen

Man hat halt erstmal diesen ganzen Packaging-Schmerz nicht mehr so.

Jochen

Man muss kein Python installieren.

Jochen

Wenn einem dann jemand fragt, ja gut, dieses Jupyter, voll cool, wie installiere ich denn jetzt Python auf meinem Windows oder so?

Ja, es artet man.

Dominik

Ich bin aber ein bisschen aus.

Jochen

Ja, das ist ein bisschen schwierig, genau.

Dominik

Ja, insbesondere dann, wenn schon welche da sind und das dann irgendwelche Konflikte gibt mit irgendwelchen Dingen, die sonst so laufen sollen, ist das manchmal so ein bisschen ein Schmerz.

Dominik

Aber damit haben wir jetzt dann vielleicht weniger zu tun.

Dominik

Und PyScript ist so recht einfach auch zu bedienen.

Dominik

Du kannst einfach sagen, PyScript und dann schreibst du Python rein in den Browser und dann.

Johannes

Aber irgend sowas gab es doch früher auch schon mal.

Es gab schon irgendwelche solche Lösungen für

Python im Browser.

Du würdest du denn doch erzählen, wenn ihr das war.

Dominik

Da hatten wir doch letztes Mal drüber gesprochen.

Jochen

Wie ist das denn in Python-Status?

Johannes

Ja, aber ich habe es natürlich nicht nachgeguckt, Python.

Das wäre jetzt so einfach.

Jochen

Ja, ich weiß es auch nicht mehr, ich weiß nur auch, ja, es gab sowas schon mal und das ist aus irgendwelchen Gründen ist das wieder versandet oder so oder war nicht so, aber ich weiß es auch nicht genug darüber, um irgendwas dazu sagen zu können, ehrlich gesagt, warum ich angefangen zu reden, das war doof.

Ja, ich weiß, dass es mal so eine Lösung gab für eine, also so eine Universität hat man das gemacht, um Leuten Python beizubringen.

Johannes

Dass man halt irgendwie so einen kleinen Python-Interpreter im Browser hatte, aber das war halt kein vollständiger, es war kein.

Dominik

Ja, so eine Art Micro-Python irgendwie mit dem Verbuild-Ins und nicht so viele Batterien dabei.

Dominik

Und der war

Johannes

halt roh in JavaScript programmiert, was dann auch zu vielen schönen Dingen geführt hat, aber zum Ausprobieren ist das natürlich eine schöne

Dominik

Sache gewesen.

Dominik

Oh, damit kennt es sich ja auch jetzt besonders gut aus, Johannes.

Dominik

Also zumindest mit dem Script-Type von JavaScript nicht.

Dominik

Mit TypeScript machst du.

Dominik

Ja, ja.

Johannes

Darf ich jetzt ein bisschen damit arbeiten?

Johannes

Es ist gar nicht so schlimm, wie man sich das vorstimmt.

Dominik

Ja, wir wollten über Typen wollten wir auch nochmal sprechen.

Dominik

Jetzt haben wir schon wieder alles verraten, was demnächst kommt und Postgres kommt.

Dominik

Okay, aber ja, vielleicht dachte ich, was machen wir denn so demnächst?

Dominik

Aber was ist denn noch in der News drin?

Dominik

Haben wir noch was vergessen?

Dominik

Da war nämlich gar nicht so viel Großes diesmal.

Jochen

Nee, diesmal war irgendwie ansonsten nicht so weit.

Jochen

Also doch, was noch, das gibt jetzt im Sommer, das kann man schon mal ankündigen.

Jochen

Wagtail Release 3.0, das wird sich ja noch interessant, da machen wir bestimmt noch was zu.

Dominik

Funktioniert es denn ja auch endlich jetzt mit Django 4?

Jochen

Ja, schon lange, schon lange.

Ja, auch.

Jochen

Ja, doch.

Dominik

Ich weiß nicht, Python

Johannes

3.11 auf Python 3.11 gibt es ja inzwischen Betas, genau, und die Performance-Vergleiche sehen sehr gut aus.

Wie viel schneller ist es?

Dominik

20% habe ich gehört, stimmt das?

Johannes

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

Schön.

Sehr gut, sehr gut.

Das ist schon nicht schlecht.

Dominik

Es gibt doch jetzt auch Diskussionen darüber, ob man den Gil jetzt nicht einfach mal abschafft oder so eine Alternativversion, oder?

Jochen

Ja, da gibt's, also da hat einer bei Facebook, ach, den Namen vergessen, der hat da irgendwie anderthalb Jahre so.

Johannes

Immer und lange Diskussionen darüber.

Jochen

Also es gibt diese alten fortgeschrittener Vorschlag.

Jochen

Dieses alte Projekt von wie heißt der Hessings, ich weiß nicht, diese Gelectomy-Geschichte.

Unladen Swallow.

Jochen

Ja, das gibt's.

Ist das das gleiche?

Jochen

Ich weiß

gar nicht.

Johannes

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

Jochen

Ja, aber auch nichts geworden.

Jochen

Nee, aber der Ansatz jetzt, also wie heißt der?

Jochen

Sam, ich habe den Namen vergessen.

Johannes

Douglas Python gibt es auch schon seit Ewigkeiten, was auch niemand benutzt.

Jochen

Oh, das weiß ich nicht.

Jochen

Also soweit ich weiß, dieses?

Jochen

Eve Online oder so benutzt Douglas?

Ah, echt?

Ja.

Ja, dann

guck mal Johannes an.

Johannes

Aber die sind auch auf Python 2.

Dominik

Und das war gegen dich.

Wunderbar.

Dominik

Malerweise nämlich Johannes derjenige, der sich mit den Spielen auskennt.

Ja, ich kenne mich mit den Spielen aus, nicht mit der Technik dahinter.

Die ist mir geil.

Jochen

Na gut.

Jochen

Muss nur gut aussehen.

Jochen

Nee, aber der jetzige Ansatz ist auch so, dass da viele Leute gesagt haben, mich drauf geguckt haben, oh, der sieht so aus, als ob das wirklich funktionieren könnte.

Jochen

Insofern, ja, könnte sein, dass es, also bis es soweit ist, wird es natürlich noch eine ganze Zeit lang dauern.

Jochen

Aber ja, allein, dass jemand da 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.

Jochen

Ich weiß nicht, ob euch irgendwie eine Situation oder ich habe da Schwierigkeiten nicht.

Jochen

Ich weiß nicht, dass man tatsächlich irgendwie I.O.

Jochen

multiplexen will und gleichzeitig ganz viel CPU braucht, weil dafür, dann wäre es gut, ein Gill irgendwie loszuwerden.

Jochen

Aber ich habe die Situation nicht so oft.

Dominik

Also das Projekt ist ein No Gil und da gab es einen Blogartikel zu bei der PSF-Block.

Jochen

Ah, okay.

Jochen

Kann sein.

No Gil.

No Gil.

Johannes

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

Deshalb JavaScript hat es auch.

Dominik

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

Jochen

Du kannst auch selber den freigeben.

Jochen

Das kannst du auch machen.

Jochen

Wenn du halt, gut, du musst dann halt schon auch eine C-Extension schreiben, aber geht schon.

Jochen

Und wenn du sowas benutzt wie NumPy oder so, dann machen das natürlich alle.

Jochen

Also da wird sowieso auch immer alle Prozessoren benutzt und so.

Dominik

Also hier steht, dass das das einzige Feature wäre, was wirklich Konkurrenz between Threads verhindern würde.

Dominik

Das verstehe ich nicht sofort.

Jochen

Ja, also Concurrency, also das ist halt die Frage, also ich glaube, ich verstehe, was das meint, aber das bedeutet halt, also was momentan nicht geht, ist, dass du sozusagen mit mehreren Threads mehr als eine CPU benutzt gleichzeitig.

Jochen

Das geht nicht.

Dominik

Also eine Thread pro CPU.

Jochen

Nee, alle Threads eine CPU.

Jochen

Aha.

Jochen

Genau.

Jochen

Das ist halt das, was der Gil macht.

Johannes

Jeder Python-Interpreter kann nur eine CPU haben.

Johannes

Ja, oder?

Dominik

Okay, also muss ich mehrere, ja, muss ich den Interpreter multiplexen.

Du musst im Multiprocessing machen,

dann bin ich dann auch wieder Mist.

Jochen

Ja, oder du kannst halt, wenn du halt unten drunter sitzt, wenn du so etwas wie ein Humpy bist oder so und da sagt dir, hat dir gerade jemand gesagt, multipliziere mal diese beiden Matrizen, dann kannst du auch irgendwie sagen, okay, ich weiß, was ich tue, Gil gebe ich frei und dann.

Johannes

Und auch diese ganzen Netzwerksachen, die geben den Gill üblicherweise ja auch immer wieder frei.

Also wenn du irgendwie viel I.O.

Johannes

machst mit Select Calls oder sonst irgendwelchen Sachen, hast du ja auch kein Gelind dann und so.

Johannes

Also wartest du nicht immer auf eine, sondern du wartest schon auf alle gleichzeitig.

Johannes

Aber du kannst dann, wenn Pakete kommen, halt immer nur eins bearbeiten.

Jochen

Ja.

Na gut.

Johannes

Dann bin ich mal gespannt, was es da in 3.11 und 3.12 und 3.13 und 3.14 und so weiter geben wird.

Spannend.

Jochen

Ja.

Jochen

Okay, dann sind wir mit den News durch, ne?

Dominik

Haben wir News geschafft, vielen Dank.

Dominik

Weil zu kommen wir jetzt zu unseren User-Fragen.

Jochen

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

Jochen

Hatten wir dieses längere Pause gemacht, muss man sagen.

Jochen

Das könnte natürlich auch dazu geführt haben, dass es mehr war als normalerweise.

Jochen

Ja, und zwar, aber wir hatten auch mehrere Leute, 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 und Informationen ran?

Dominik

Ja, das war die eine Frage und die andere Frage, wo du sagtest, das ist fast dasselbe, war, wie fange ich denn damit überhaupt an?

Dominik

Mit dem Quereinstieg.

Dominik

Ich fand ja, das waren zwei unterschiedliche Dinge.

Jochen

Und das sind unterschiedliche Fragen im Grunde.

Dominik

Aber ich würde die gerne auch beide beantworten.

Dominik

Wie haltet ihr euch denn auf dem laufenden?

Dominik

Ich wollte doch mal den Martin.

Martin

Ich, also ich glaube, meistens lade ich das sich auf Jochen anrufe, aber ich glaube, diese Optionen haben jetzt nicht so viele der Zuhörer.

Dominik

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

Martin

Ja, aber ansonsten.

Martin

Naja, also.

Jochen

Bist du auf Twitter?

Martin

Ich bin tatsächlich, also sowas wie Twitter mache ich tatsächlich gar nicht.

Martin

Ich lese tatsächlich sehr viel einfach Dokumentation der Sachen, die ich neu verwende und was dann immer Neues kommt, dann wird immer ganz gut.

Dominik

Das ist, glaube ich, ein ziemlich guter Tipp, dass man tatsächlich weiß, welche Sachen man verwenden möchte und dann davon die offizielle Doku liest, so kommt man tatsächlich, das ist eine Antwort auf die zweite Frage, glaube ich, am schnellsten in die Themen rein.

Martin

Also es gibt da ja auch dann immer typischerweise what's new in den Dokumentationen und da steht tatsächlich auch die wichtigen Sachen drin.

Martin

Also daher habe ich meine Insider.

Dominik

Das finde ich tatsächlich gut, weil viele Leute, die anfangen, die prügeln sich so ein bisschen mit irgendwelchen Tutorials rum oder YouTube-Sachen oder so.

Dominik

Und ich finde tatsächlich, dass genau das, also das in die Hand zu nehmen, was man braucht und dann die Doku lesen, viel effektiver.

Dominik

Ja, okay, aber um nochmal auf das News-Thema zurückzugehen, Jochen, wofür kriegst du denn deine News?

Jochen

Ja, ich tatsächlich heutzutage meistens über Twitter.

Jochen

Ich habe früher irgendwie sehr viel RSS konsumiert und davor ein Usenet.

Jochen

Und heute ist es hauptsächlich Twitter, wobei man da zum Beispiel ein bisschen aufpassen muss.

Jochen

Wenn man auf Twitter irgendwie neu ist und nicht viele Leute abonniert hat, dann kriegt man die ganze Zeit irgendwie Nachrichten oder Tweets in die Timeline gedrückt über Celebrities und Fußballer und Fußballerfrisuren und weiß ich nicht, so Zeugs, wo man sich da so hält.

Jochen

Aber wenn man das eine Weile benutzt hat und dann so ein bisschen selber kuriatiert hat, dann ist es schon ziemlich gut.

Dominik

Also man muss es hart kuratieren und dann kann man Sachen filtern, wie das der Johannes auch gerne macht.

Johannes

Ja, ich finde auch, also Twitter ist eine gute Quelle für Neuigkeiten, aber man muss da wirklich ganz knallhart filtern.

Johannes

Ich habe eine ganz lange Liste mit Wörtern, die mich nicht interessieren.

Johannes

Da sind Celebrity-Namen drauf und Politikernamen drauf und politische Institutionen drauf und Themen, die mich einfach nicht interessieren.

Dominik

Also man muss sich seine eigene Filterblase bauen und quasi sich von der Welt so abschotten, dass man nur die Dinge konsumiert, die weitesten.

Dominik

Zumindest auf Twitter.

Johannes

Die meisten Meinungen, die auf Twitter kommen, sind ja erstmal unqualifiziert und deshalb sind es so ein bisschen.

Dominik

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

Johannes

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

Johannes

Da muss man dann aber schon eben, ja, also man kann jedem mal eine Chance geben, ja, jedem, ein Follow geben ist leicht, aber man muss dann auch sich das durchaus wert sein und jemandem wieder entfolgen.

Johannes

Und dann bildet sich so nach einer Weile eine Sammlung raus von Dingen, die mal lesen.

Dominik

Ja, ich glaube, das ist vielleicht noch eine der Challenges im Internet, ne?

Dominik

Also ich habe da auch irgendwann, man legt sich so seine Linklisten an oder sowas.

Dominik

Und die zu pflegen ist aufwendig.

Dominik

Und zwar auch die Infos, die Guten zu finden und die zu karatieren, ist gar nicht so wenig Teil der eigentlichen Arbeit dann auch, ja.

Dominik

Also um da halt erstmal rauszufinden, was sind denn die wichtigen Dinge und sie dann zu teilen.

Dominik

Ich habe auch so ein kleines Linklist, wo man halt für Einchecker, glaube ich, so ganz gute Tipps findet, wie man da die ersten Schritte gehen könnte.

Dominik

Aber da hinzukommen, das dauert halt einen Moment, muss sie erstmal entdecken und auch dann filtern.

Dominik

Fluchtquellen gibt es denn, die muss man alle angucken und dann selber so ein Gespür dafür entwickeln, was man denn gebrauchen kann, was einem liegt und sowas.

Ein guter Trick ist auch, das über Personen zu machen.

Johannes

Also zum Beispiel, wenn man den Jochen auf Twitter findet, dann kann man ja gucken, wem der Jochen so folgt.

Dominik

Oder man kann lesen, was der so den ganzen Tag macht.

Ihr habt euch weiterhin.

Jochen

Also insofern, das hilft nicht.

Jochen

Aber tatsächlich, genau, wenn man sich anguckt, wem ich folge, könnte man wahrscheinlich eine ganze Menge Pfalten relevante Sachen finden.

Jochen

Das stimmt.

Jochen

Ja, oder hält bei anderen Leuten in der Community sicher auch.

Jochen

Und ich glaube auch leider, das ist halt auch so, was mit der Zeit, glaube ich, schwerer geworden.

Jochen

Weil wenn ich, ich gucke halt auch mal ab und zu so auf YouTube und so.

Jochen

Und es gibt auch super Sachen auf YouTube, aber wenn man muss ganz arg ausfällen und man muss halt durch viel Zeug durchgucken, wo ich jetzt sagen würde, so, und das weiß man halt nicht, wenn man anfängt.

Ja, gerade die Baswords.

Dominik

Man kann so sich versummen in irgendwelchen Dingen von Leuten, die selber eigentlich gar keine Ahnung haben und beim Lernen dann erstmal was aufnehmen nach dem Motto, ich habe erstmal einen YouTube-Kanal gemacht.

Dominik

Ja, gar nicht so einfach, ja.

Jochen

Das macht es halt schwer.

Jochen

Also insofern, was ich es auch mache.

Johannes

YouTube hat übrigens auch immer noch RSS-Feeds.

Johannes

Also da kann man auch die Kanäle mit per RSS abrufen.

Dominik

So mache ich nichts.

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.

Ja, das stimmt.

Jochen

Aber das sollte ich vielleicht nochmal so als Tipp genau.

Jochen

Meine bevorzugte Art, YouTube-Content zu konsumieren, ist übrigens, den ohne Bild zu hören, weil ich nicht so viel Zeit habe, irgendwie vor einem, also wenn ich, wenn ich das höre, dann irgendwie gleichzeitig auf den Bildschirm zu gucken, weil ich gleichzeitig irgendwie spüle oder einkaufen gehe oder sowas meistens.

Jochen

Und was ich mache, und mein Podcatcher, Podcast-Player kann das, aber das können bestimmt andere auch, da kann man, der hat so einen, der macht so ein Sideload-Action ins Share-Sheet bei iOS.

Jochen

Und wenn man dann sagt, irgendwie, man ist auf einem YouTube-Video, es gibt ja auch ganz viele Talks, also das, ach, das ist vielleicht auch ganz interessant, Konferenz-Talks oder so, man guckt sich die Konferenzen an, guckt, welche Themen sind, da so interessant und wenn man auf dem Talk ist auf YouTube und sagt,

Johannes

da muss man ganz arg filtern.

Stimmt?

Jochen

Auch da muss

Johannes

man ganz arg filtern.

Johannes

Also selbst auf den guten Konferenzen sind die Hälfte der Talks einfach Themen, die mich nicht interessieren.

Johannes

Und dann auch da muss man einfach nichts Sachen angucken.

Dominik

Mit allen Dingen, ne?

Dominik

Wenn den ganzen Content kann man zu Lebzeiten ja gar nicht konsumieren.

Dominik

Und da muss man vielleicht ein bisschen sich einfach ausholen.

Dominik

Ich habe es früher immer sogar gemacht, ich habe erstmal so das Lästige weggerockt und dann versucht dann zu den guten Sachen zu kommen.

Dominik

Das ist eine ganz doofe Idee.

Dominik

Muss erstmal mit den guten Sachen anfangen, weil dann fällt das Lästige weg.

Johannes

Es gibt auch einfach so viel Content, dass man da nicht durchkommen kann und dann, wenn irgendwas einem nicht gefällt, dann muss man es einfach wegdrücken.

Johannes

Und das muss man aber auch lernen.

Ja, das ist nicht so einfach.

Dominik

Also vor allem, was dann auch wichtiger ist, dass man halt aufhört, dann auch irgendwann mit noch einen Talk und noch einen Talk und noch eine Dokumentation, sondern auch mal ins Machen kommt.

Dominik

Also halt tatsächlich an Projekten sitzt, die man irgendwie versucht, weiterzubringen, umzusetzen, Dinge, die einen interessieren, irgendwie, dass man da einsteigt.

Dominik

Weil das ist das, was am weitesten und am schnellsten weiterbringt, weil man am schnellsten auf die Probleme stößt, die man auch lösen muss oder möchte.

Dominik

Und da halt dann die relevanten Sachen sich rauszusuchen, die einem da weiterhelfen, ist wahrscheinlich effektiver, als erstmal die Grundlagen dafür zu lesen.

Dominik

Was nicht immer ist, das ist schon nett, wenn man bestimmte Sachen hat.

Dominik

Ja, aber es hängt so ein bisschen vom Thema ab, vielleicht.

Martin

Wobei es.

Ich höre,

Johannes

wenn du YouTube-Videos anhörst, warum dann nicht direkt Podcasts?

Jochen

Ja, weil es da nur begrenzt viele gibt.

Jochen

Also ich meine, ich höre natürlich auch Podcasts, also da werden vor allen Dingen Podcasts.

Jochen

Talk Python to me, PodcastInit sind vielleicht so die beiden.

Johannes

Deutsche Python-Podcasts soll sehr gut sein.

Jochen

Aber das ist ja so ein bisschen irgendwie das.

Da hat man die

Leute rum.

Dominik

Martin hatte gerade noch eine Idee.

Martin

Ja, was ich immer noch, was immer beim Lernen für mich immer sehr wichtig war, ist, Code anderer Leute zu lesen.

Martin

Und also das macht man natürlich idealerweise dadurch, dass man anderer Leute Code reviewt.

Martin

Das ist dann immer das Ideal.

Martin

Dann kann man denen sogar noch sagen.

Dominik

Oh Gott, oh Gott, oh Gott, oh Gott.

Martin

Blöde Kommentare reinwirken, genau das.

Martin

Also dann ich mache halt glücklicherweise beruflich.

Martin

Und glücklicherweise habe ich sehr gute Kollegen, die sehr gute Programmierer sind.

Martin

Und dann ich habe sehr viel einfach dadurch gelernt, dass ich deren Code gelesen und blöde Kommentare darüber abgegeben habe.

Jochen

Aber das ist ehrlich gesagt schon so ein bisschen die steile Stelle an der Lernkurve, irgendwie, also beide Sachen, sowohl einfach so sich durch die Dokumentation von Projekten lesen, wie auch fremder Leute Code lesen.

Jochen

Ich erinnere mich da noch dran, dass das halt, also klar, ich würde es abzuzustimmen, da kann man super viel lernen, aber es ist halt auch echt anstrengend.

Jochen

Also vor allen Dingen, wenn das halt so Sachen sich gar nicht.

Jochen

Aber ja, da kann man echt viel lernen.

Jochen

Das ist, ja.

Martin

Es gibt da ein Buch mit dem Titel Learning Python the Hard Way.

Ah, ja.

Ja.

Dominik

Habe ich auch mitgelernt.

Ja, finde ich gut.

Dominik

Aber es ist sehr witzig, weil einige Leute, die dann fremden Code lesen oder eigene Code lesen, stolpern dann irgendwann drauf mal wieder.

Dominik

Ich habe das, glaube ich, schon mal erzählt, aber ich kenne die Geschichte, wie Jochen hat meinen Code reviewed und dann, ah, nee, oh Gott, oh Gott, oh Gott, ne, schmeiß mal weg, mach mal neu.

Dominik

Ja, okay, neu gemacht, weggeschonen.

Dominik

Und dann wieder, ah Gott oh Gott, oh Gott, na, was ist das denn?

Dominik

Schmeiß weg, mach mal neu.

Dominik

Und dann so, ah, irgendwann wie ein bisschen später wieder so, oh nee, Gott oh Gott, was das denn?

Dominik

Und Joch, das habe ich von dir Copy-Paste.

Dominik

Ja, wenn man seinen eigenen Code später entseht, dann das auch nicht tatsächlich.

Johannes

In den Code ansehen und past me war schon ein ganz schlechter.

Ja, ja, also

Dominik

ein halbes Jahr später, so, oh Gott, oh Gott, oh Gott.

Dominik

Was das denn, kann das weg.

Dominik

Ja, das wichtiges weitermachen, glaube ich, und dass man halt am Ball bleibt.

Dominik

Ist so ein bisschen eine Frage, wie viel Zeit noch investieren.

Ich habe noch zwei Sachen, die ich als Quell habe.

Johannes

Die eine ist Hacker News.

Johannes

Das ist aber mehr so, was halt so für den groben Überblick möglich ist.

Johannes

Und auch da muss man ganz arg filtern und vielleicht am Tag einen oder zwei Links rausholen und auf keinen Fall in die Diskussion gucken, weil das ist ganz schrecklich.

Dominik

Ja, ich würde auch nicht ablegen, alle die Links, sondern ich würde, wenn ich was mir Zeit nehme, dann direkt angucken.

Johannes

Wenn es interessant ist, kann man sich das ja ansehen und das in seinen Wissensstand reinsynthetisieren oder zumindest wissen, dass es etwas gibt.

Dominik

Das ist wirklich mehr

Johannes

so eine Discovery-Sache.

Johannes

Was gibt es denn?

Johannes

Und da kommen auch immer wieder Python Sachen durch, wo man sich dann die Dokumentation ansehen kann.

Johannes

Aber das ist wirklich so, das ist so Low Level.

Johannes

Aber was ich ganz viel mache, ist eben über RSS-Feeds von Personen des Blog lesen.

Also zum Beispiel Jochens.

Blog?

Johannes

Ja, ja, hier auf dem Dorf wird abends geladet.

Jochen

Das ist die etwas altmodische Push-Notification.

Johannes

Jetzt ist Feierabend.

Johannes

Hier ist jetzt Feierabend auf dem Dorf.

Jochen

Das kann man auch nicht so gut wegdrücken.

Jochen

Es gibt keinen Spamfilter.

Johannes

Nee, nee.

Johannes

Aber Jochens Blog zum Beispiel, der Jochen veröffentlicht ja seine Weeknotes, ja.

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 ganz eigentlich gar nichts an und von den Artikeln nur die Überschriften.

Johannes

Aber es ist so ein am Puls der Zeit bleiben, was man da halt hat.

Jochen

Ja, also genau, also Johannes macht ja auch Wiknotes und die gucke ich mir auch mal an und finde das immer sehr interessant.

Jochen

Also ich finde da immer irgendwie Dinge, die ich nicht gesehen hatte, 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 da kann auch dann einen was interessiert, dann direkt lesen.

Dominik

So, also ein paar bessere sind vielleicht irgendwie Data Science Weekly oder Python Weekly oder so.

Jochen

Ja.

Ja, ja, ja.

Jochen

Genau, ich weiß nicht, ich habe ein paar, ich habe Postgres Weekly auch noch, der ist auch noch ganz gut.

Dominik

Und es gab noch so einen anderen, den ich gerade vergessen habe, da muss ich mir die Show-Notes einfach reinschreiben.

Dominik

Vielleicht finde ich den ja noch.

Jochen

Ja, Newsletter.

Dominik

Tja, aber ansonsten, also mit Leuten reden, finde ich, immer so das Beste eigentlich.

Dominik

Wie schon sagtest du mal Jochen anrufen, Fragen.

Jochen

Ja, ich.

Dominik

Ja, nein, aber wirklich, also wenn man halt irgendwie auf die lokalen Treffen geht, da trifft man andere Leute, die sich vielleicht mit demselben Thema beschäftigen.

Dominik

Ich glaube, das ist eine gute Idee.

Dominik

Weil die wissen meistens auch so ein bisschen was oder jeder weiß so ein bisschen was mehr und dann hat man das, was man irgendwer hat, das mal Schwarmintelligenz genannt oder so.

Dominik

Das fand ich gar nicht so schlecht.

Dominik

Da kommt immer so ein bisschen was raus.

Dominik

Da kommt man immer mehrere Schritte weiter, als wenn man da alleine gegen die Wand läuft und da sich dann abwälzt und dann drüberklettern will.

Dominik

Das dauert immer ein bisschen länger.

Dominik

Und manchmal fällt man dann in so Lücken rein, die niemand sehen wollte oder die man selber gar nicht entdecken wollte und verlierst so ein bisschen den Fokus und das ist vielleicht ganz angenehm.

Jochen

Ja, ja, ansonsten glaube ich, dann sind wir damit auch mehr oder weniger.

Jochen

Achso, du mal ein Quereinstieg, andere Frage, ne?

Jochen

Das wäre vielleicht auch nochmal.

Dominik

Ja, also die Frage ist, was bedeutet Quereinstieg und wie viel Zeit investierst, ist halt auch da, die Frage, ne?

Dominik

Wie viel Zeit kannst du denn aufwenden, wenn dich Python so nebenbei interessiert, dann hast du vielleicht fünf Wochen die Stunde Zeit.

Dominik

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

Dominik

Das ist zwar schon ganz schön viel, wenn man sich überlegt, dass man so fünf Stunden die Woche für so ein Hobby erübrigt.

Dominik

Aber wenn man das jetzt mit jemandem vergleicht.

Dominik

Also ich habe zum Beispiel gemacht, die ersten zwei Jahre 70 Stunden die Woche ungefähr investiert.

Dominik

Und dann braucht man halt für denselben Stoff.

Dominik

Gessen Fall ist das genau gleich effektiv.

Dominik

28 Jahre, wie für diese zwei Jahre, um einfach dieselbe Menge irgendwie aufzunehmen, wenn man fünf Stunden die Woche macht.

Dominik

Also rein rechnerisch.

Dominik

Und das ist halt einfach so die Frage.

Dominik

Also, wie viel Zeit steckt man wirklich rein, um weiterzukommen und was will man damit anfangen?

Dominik

Also, wenn man jetzt einen Doppel, sollte man vielleicht den harten Weg gehen, ja, the hard way und sich wirklich die Sachen so ein bisschen auf den Grund angucken, damit man vielleicht irgendwo mitkommt, weil man möchte ja vielleicht auch ein Level haben.

Jochen

Ja, aber ich finde es schwierig, also ich meine, das sind halt eben, auch wenn man im Rückblick ist es halt so viel Zeit, die man investiert hat.

Jochen

Wenn einem das jemand gesagt hätte, wie viel Arbeit das ist, dann hätte man nicht angefangen gedacht, lieber mit Holz, genau.

Jochen

Oder irgendwie gehe ich spazieren und gucke mir irgendwie die Bäume an und die Blüten und denke mir, ach ja.

Jochen

Aber der Grund, warum das dann passiert ist, ist ja eigentlich, dass sich das auch, dass das, dass das halt einfach Spaß gemacht hat.

Jochen

Und dann merkt man das nicht so.

Jochen

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

Ja, genau, aber das ist ja in der Nacht.

Dominik

Es muss halt gut sein, es muss halt einem Spaß machen, irgendwie liegen.

Dominik

Also wenn euch das wirklich so, wir will jetzt auch Spaß gemacht.

Dominik

Man könnte viel Stress machen.

Ja, genau.

Der Dominik stresst uns ja jetzt, dass man hier so

Johannes

viele Stunden reintun muss, aber es geht ja auch, man kann es auch nebenher machen.

Johannes

Man kann es auch zum

Spaß machen.

Dominik

Ja, man sollte es zum Spaß machen.

Ja, auf jeden Fall.

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

Dominik

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

Dominik

Also das geht eigentlich ganz gut.

Dominik

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

Dominik

Ich wollte jetzt niemanden stressen, aber es geht halt darum, wenn du jetzt einen Querantieg wirklich finden willst und sagst, du hast dich entscheiden, das ist jetzt dein Ding, dann mach's ordentlich.

Dominik

Tja, würde ich jetzt behaupten.

Johannes

So, so regionale Treffen sind da, glaube ich, was super gut ist.

Johannes

Also ich bin, als ich nach Düsseldorf gekommen bin, bin ich einfach in den Python Vu gegangen und jeden Donnerstag.

Für alle hingegangen.

Dominik

Ich kenne das das in Karlsdorf, in Düsseldorf.

Genau, im Computerclub in Düsseldorf.

Johannes

Jeden Donnerstagabend ist Python Fu und da kommen einfach Leute, die interessiert haben.

Johannes

Das hat auch gar kein Programm und gar keine Agenda oder so, sondern es ist einfach gleichgesinnte Treffen.

Johannes

Und das führt dann schon automatisch dazu, dass man darüber spricht.

Johannes

Und dann kann man auch gucken, ob man irgendwo was hat, was man gerne machen möchte oder ob man irgendein Thema hat, was einen interessiert und da findet sich dann immer jemand, der irgendwas dazu sagen kann.

Johannes

Oder auch jemand anders, der ein Thema hat, wo man dann selbst was dazu sagen kann.

Johannes

Und dann kommt man da so in den Austausch rein.

Also das ist auch eine ganz nützliche Sache.

Dominik

Ja, kann ich schon bestätigen.

Jochen

Ja, ja.

Jochen

Okay, gut, dann würde ich sagen, das ist mit diesem Themenbereich auch beschäftigt.

Dominik

Dann können wir dann ein neues Kapitel anfangen.

Dominik

Um den Laser des Todes geht es dann jetzt.

Ja.

Dominik

Ja, da musst du den auch erstmal ein bisschen ausholen, Martin.

Jochen

Was ist das denn?

Dominik

Und was macht ihr da überhaupt?

Dominik

Also du musst doch nochmal von dem Institut leichterzählen im Hintergrund und dann.

Martin

Also wir sind der European XFL.

Martin

Das XFL steht für Röntgen freier Elektronen Laser.

Martin

Wir sind eine Großforschungseinrichtung in Hamburg oder eher bei Hamburg.

Martin

Und ja, wir haben dort einen der stärksten Röntgenquellen der Welt.

Martin

Ja, ich glaube, wir sind aktuell sogar Nummer eins.

Martin

Da ist immer so ein Wettlauf, wer da jetzt gerade Genaz verbunden ist.

Dominik

Kein Understatement, eine der Essen.

Martin

Ja, es gibt ja auch nicht so viele auf der Welt.

Martin

Also so ein Röntgen und Laser zusammen, das ist tatsächlich gar nicht so einfach.

Martin

Das kostet dann halt auch gleich mal anderthalb Milliarden Euro.

Dominik

Warum macht man das zusammen?

Martin

Ja, also Röntgen ist halt ganz praktisch.

Martin

Also es geht effektiv.

Martin

Ein großer Witz daran ist, dass man effektiv ein sehr, sehr gutes Mikroskop hat.

Martin

Man kann deutlich kleinere Sachen sehen, als man mit einem normalen Lichtmikroskop sehen kann, weil die Wellenlänge von Röntgenlicht tausendmal kürzer ist als sie von Sichtbewerbenlicht und dann sogar mehr als tausendmal.

Martin

Und dann kann man halt tausendmal kleinere Sachen sehen und dadurch kann man dann zum Beispiel sich das Spike-Protein von Corona angucken.

Martin

Das war bei uns natürlich gerade das Thema schlechthin.

Martin

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.

Martin

Ja, und solche Sachen können wir uns dann halt angucken.

Martin

Wobei wir auch viele andere Sachen machen.

Martin

Also zum Beispiel, also meine Gruppe hat sich viel um Magnetismus gekümmert.

Martin

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.

Martin

Das geht sogar tausendmal schneller, als man sich das gedacht hatte.

Martin

Und ja, dann wollte man halt eigentlich wissen, ja, was passiert denn da?

Martin

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?

Martin

Und richtig, also die eine Sache ist, dass man sich 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.

Martin

Also wir kommen unter eine Femtosekunde drunter, wem das was sagt.

Martin

Also 0,1501 Sekunden.

Dominik

Das ist sehr langsam.

Also schnell.

Martin

Ja, genau.

Martin

Und das ist der andere Grund, warum man sich das, 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 so 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.

Martin

Und am Ende kriegen wir dann immer wochenweise, verwenden wir den dann.

Martin

Da gibt es dann irgendwelche Benutzer, nennen wir die, die dann uns Ideen geben, was man denn dort messen könnte.

Martin

Und die kommen dann bei uns vorbei.

Martin

Also heutzutage kommt sie immer bei uns vorbei wegen Corona, aber jetzt müssen wir das alles mal selber machen, sehr anstrengend.

Martin

Aber normalerweise kommen die dann bei uns vorbei und machen dann mit dem Röntgenlaser Experimente.

Martin

Und genau da kommt dann halt die Flexibilität tatsächlich von Python ins Spiel, dass wir ja im Prinzip, also we have da immer mehrere Teams und wir wechseln uns typischweise ab.

Martin

Also eine Woche kriegt das eine Team darf den Röntgenlaser verwenden, dann nächste Woche den anderen.

Martin

Insgesamt, es sind immer drei Teams parallel, insgesamt sind wir sechs Teams, also immer drei, erst die einen drei, dann die anderen drei, wieder die einen, drei, die anderen drei.

Martin

Und ja, dann kommen unsere Benutzer halt vorbei und die haben dann die verrücktesten Ideen, was sie dann mit dem Ex machen wollen.

Martin

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

Martin

Und häufig muss man dann halt Sachen, also wir haben dann noch das Bonusproblem, dass es halt ein Röntgenlaser ist.

Martin

Und da sollte man halt nicht unbedingt daneben stehen, also wirklich gefährlich ist das eigentlich auch nicht.

Martin

Also gerüchteterweise, wenn man da in anderen Weltregionen ist, dann ist denen das auch egal.

Martin

Da stellen sich einfach direkt daneben, aber bei uns ist das in Deutschland nicht erlaubt und das heißt, es muss alles ferngesteuert werden und alles automatisiert werden.

Martin

Und alles ferngesteuert, okay, das machen es alle als Computer.

Martin

Um mal so eine Größenordnung zu geben, also anstatt dass ich mich dorthin stelle und was rumschraube, muss dann halt ein Motor das tun.

Martin

Wir haben dort weit über 1000 Motoren, die dort gesteuert werden.

Martin

Und das machen wir tatsächlich alles mit Python.

Martin

Und zwar vorwiegend deshalb, weil wenn dann so ein Benutzer vor uns steht und dann sagt, ja, wir haben hier die Probe und der Röntgen Laser ist leider viel zu stark.

Martin

Wir müssen denen jetzt die Probe jetzt immer hin und her bewegen, damit wir nicht immer denselben Punkt treffen, sondern damit er halt nicht kaputt geht.

Martin

Dann muss ich mich halt hinsetzen und das dann programmieren, dass dann die Probe halt geschickt so hin und her wackelt, dass sie dabei nicht kaputt geht, dass wir sie mit einem Laser beschießen.

Dominik

Und dann habt ihr dann verschiedene Achsen in den Motoren, die ihr irgendwie kennt und dann könnt ihr mit tausend Motoren, das heißt, viele Dimensionen, die dir irgendwie möglich sind.

Martin

Ja, richtig.

Martin

Und das, so, und wir brauchen wirklich die Flexibilität, dass wir dann, also wir haben wirklich, für eine Woche schreiben wir dann tatsächlich, ja, so viel Code ist das ja praktischerweise in Python jetzt auch nicht, aber es macht es halt möglich, dass man halt da live dann programmiert und live dann Dinge ändert.

Martin

Also uns passierte dann regelmäßig, dass wir festgestellt haben, oh, das ist alles nicht stabil genug.

Martin

Wir schießen die ganze Zeit daneben und können das aber messen, um wie viel wir daneben schießen 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, für echtes IoT sind wir noch nicht mal sonderlich groß, also so eine Automobilfabrik ist da.

Martin

Achso, IoT, nein, also ja.

Martin

Ja, also es gibt da deutlich größere Einrichtungen, die ähnliche Sachen machen.

Martin

Automobilfabriken zum Beispiel, die haben da auch tausende von Motoren.

Martin

Aber die werden typischerweise jahrelang vorbereitet und laufen dann jahrelang durch.

Jochen

Ein bisschen so, als würde einer in der Autofabrik sagen, und morgen machen wir jetzt nicht mehr hier den Golf 12, sondern wir machen jetzt einen Clown-Car und fahr doch mal bitte irgendwie die Motoren so, dass das dann passiert.

Ja, aber hopp, hopp.

Martin

Genau, und so läuft das bei uns tatsächlich die ganze Zeit.

Martin

Und das macht es halt deshalb Python.

Martin

Und ja, die andere Sache ist, dass wir natürlich dann immer sehr viele Sachen dann parallel machen müssen, dass halt dann die Motoren häufig dann irgendwie parallel fahren müssen, dass man da den Laser anschaltet, Motoren hin und her fährt und der ausschaltet.

Habt ihr

Dominik

denn einen Joystick für oder sowas?

Martin

Ja, der Punkt ist das ja, dass es ja automatisch gehen soll.

Martin

Deshalb kein Joystick.

Dominik

Ja, aber wenn ihr jetzt eingreifen müsst oder so?

Martin

Ja, nee, das geht tatsächlich, also das ist glücklicherweise selten genug, dass wir dann wirklich so mit Maus und Klick auf Buttons dann das machen.

Martin

Das ist ja wobei da dann natürlich, 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 anstatt ein, 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.

Martin

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

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

Martin

Wir müssen wirklich sofort eingreifen können und das können wir auch.

Martin

Aber dann kommt wieder die ganze Sache mit dem, dass wir die ganze Zeit Sachen parallel machen müssen.

Martin

Und ja, da kommt dann halt wieder der vorhin erwähnte Gill ins Spiel.

Martin

Dass wir halt eben tatsächlich kein Multithreading machen, weil Multithreading ist ja der Horror.

Martin

Und dann tatsächlich alles mit AsyncI.O 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, dass Async IO sich auch für Steuerung von Sachen super eignet.

Martin

Das heißt, wenn man fünf Motoren gleichzeitig bewegen will und dann warten, das muss, bis die alle angekommen sind, das lässt sich super in so einer Async.io Umgebung schreiben.

Dominik

Das heißt, sie kommt mit Batteries Included quasi zurecht.

Martin

Jein, also ja, wir führen so ein bisschen Katalog darüber, welche Pakete wir so verwenden.

Martin

Ich glaube, inzwischen sind wir so bei 30 Paketen, die wir da noch mit reinmachen.

Martin

Also natürlich insbesondere ganz wichtig sind sowas wie NumPy und SciPy.

Martin

Die sind, also daher kommt das ursprünglich eigentlich, dass die Datenauswertung in der Physik schon schon länger mit NumPy und SciPy gemacht wird.

Martin

Das ist da schon sehr beliebt, schon recht lange.

Martin

Und dass man dann halt das gewissermaßen den umgekehrten Weg gegangen ist, dass wir geguckt haben, ja, wo, also als wir uns entscheiden mussten, wie machen wir denn mit unserer Experimentsteuerung, da haben wir doch uns gedacht, okay, die Datenauswertung läuft schon unter Python.

Martin

Lass uns das doch uns einfach noch ein Niveau vorher auch schon machen.

Martin

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 ein fast schon ein Big Data Problem.

Martin

Und wenn man das mit demselben machen kann, dann ist das natürlich super.

Martin

Also 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.

Dominik

Da kommen ein bisschen Daten zusammen?

Martin

Ja, da kommt ein bisschen Daten zusammen.

Dominik

Du musst gerade überlegen, wie viel sind das?

Martin

Ja, mal gucken.

Martin

Also 2 Megapixel mal 2 Byte macht 4 Megabyte mal 5020 Gigabyte pro Sekunde?

Dominik

Kleiner Datendurchsatz.

Martin

Ja, da muss man so viel

Platz bei euch.

Jochen

Läuft das dann die ganze Woche quasi so durch oder nur zu bestimmten Zeit 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.

Martin

Also wenn wir weniger als einen Tag brauchen, dann waren wir richtig gut.

Martin

Aber die restlichen, also ein Tag der Woche ist eh immer Maschinentag, da wird repariert, gewartet und was weiß ich was gemacht.

Martin

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, ja, da können wir auch schon mal dann wirklich, also ja, ich würde sagen, 15, 20 Stunden können wir dann tatsächlich auch schon messen.

Martin

Und ja, das sind Datenmengen, die dann da durchfließen.

Martin

Und wobei da dann das große Problem natürlich auch wieder ist, dass wir nach Möglichkeit, dass alles dann wieder ausgewertet werden muss.

Martin

Also eines der großen Vorteile unseres.

Dominik

Ein Terabyte pro Minute, habe ich gerade ausgerechnet.

Martin

Ja, auf solche Größenordnungen geht es.

Martin

Glücklicherweise bin ich nicht fürs Datenmanagement zuständig.

Dominik

Das sind eine Million Terabyte in euren 15 Stunden.

Jochen

Das kann ich sagen.

Dominik

Oh, da habe ich Petabyte.

Martin

1080 Terabyte.

Martin

Ja, ja, das ist, wir haben da, also wir, also Petabyte ist bei uns.

Jede Woche.

Martin

Ja, ja, ja.

Martin

Das ist nichts, also jetzt nichts Besonderes.

Martin

Also unsere Daten, also die Leute, die bei uns, ich bin glücklicherweise nicht dafür zuständig, die Daten zu speichern und zu halten.

Martin

Aber die, die das sind, haben damit tatsächlich, also das tut tatsächlich weh.

Martin

Und ja gut, man versucht dann natürlich dann immer die Daten irgendwie einzudampfen, dass man halt versucht, doch nur die Daten zu speichern, wo wirklich was Relevantes drauf ist.

Martin

Also von den 5000 Bildern pro Sekunde, naja, das also nicht auf allen Ecken des Bildes sind immer interessante Daten drauf.

Dominik

Vielleicht läuft dann irgendeine Reaktion, die mal zwei Sekunden dauert oder nur eine Zehntelsekunde mal Flak hat oder sowas und die müssen wir vielleicht haben.

Martin

Ja, also je nachdem.

Martin

Also es gibt zum Beispiel was viel gemacht wird, ist, wenn wir da solche Proteine in den Strahl schießen, dass man dann, ja, also.

Dominik

Jetzt hast du wieder was gesagt, das hat, glaube ich, was macht die Stiß Proteine in den Strahl?

Martin

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

Martin

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

Martin

Das heißt.

Johannes

Das bricht durch.

Martin

Das explodiert.

Das explodiert.

Martin

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

Dominik

Ihr habt irgendeine Trägersubstanzflüssigkeit, in der schwimmt das rum und das ist auf so ein Glas drauf und das schießt dann der Laser rein, oder?

Martin

Nee, das wird tatsächlich, also ja, das ist in eine gelöst, typischerweise in einer Lösung und das wird dann in gewissermaßen ein feiner Strahl, sozusagen wie ein Pinkelstrahl sozusagen, der dann mit dem Laser beschossen wird und da das sofort kaputt geht, muss halt 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.

Genau.

Dominik

Also das heißt, irgendwer pinkelt Proteine dann über diesen, und da kommt der Laser, der ballert dann dazwischen.

Dominik

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

Martin

Genau, also immer dann, wenn der Laser schießt, der Laser schießt bis zu 5000 Mal pro Sekunde.

Martin

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

Dominik

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, die ist bis zu einer Tunnelbohrmaschine gebohrt worden, die dann von, also wir sind, das fängt in Hamburg an und ist tatsächlich so lang, dass wir dann, dass das Experiment selbst dann nicht mehr in Hamburg stattfindet, weil.

Zu weit weg.

Martin

Genau, dann sind wir bereits in Schleswig-Holstein.

Dominik

Wie lange braucht der Strahl?

Martin

Ja, Lichtgeschwindigkeit, ne?

Dominik

Ja, das ist wahrscheinlich ein Augenblick.

Martin

Ja, so Mikrosekunden, ja.

Dominik

Aber ihr könnt es schneller wahrnehmen.

Dominik

Ich habe ja gesagt, Phantosekunden könnt ihr ja auch.

Martin

Ja, ja, also das hat ja nichts miteinander zu tun.

Das ist ja.

Martin

Also wie lange der, also tatsächlich ist es so, dass in unserer Tunnelröhre mehrere von diesen Röntgenblitzen hintereinander sich auf unsere auf unsere Probe zubewegen.

Martin

Sogar ganz viele.

Martin

Tatsächlich kommt das, es ist nicht so, dass da 5000 so irgendwie so gleichmäßig und eine Sekunde kommen, sondern die kommen mal in Trains, nennen wir das, von 500 auf einmal an und das dann 10 Mal die Sekunde.

Martin

Und die 500, die kommen halt sehr schnell hintereinander an.

Martin

Und dann kommt eine Pause und dann kommen in 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.

Martin

Und jetzt ist es natürlich so, dass ob wir da, also das ist mehr oder weniger Zufall, ob man jetzt mit dem Röntgenlaser tatsächlich eins der Proteine trifft oder nicht.

Martin

Und wenn man eins trifft, dann hat man halt ein Signal.

Martin

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.

Martin

Wobei ich jetzt ganz ehrlich gesagt nicht in der Gruppe bin, die da für das Wegschmeißen zuständig ist.

Martin

Wie gut die da jetzt schon sind, weiß ich tatsächlich nicht.

Muss man auch erstmal herausfinden, 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.

Martin

Deshalb.

Jochen

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

Jochen

Also wie man sich das aus dem Chemieunterricht früher vorstellt, 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.

Martin

Und dann macht man damit ganz, ganz, ganz viel Rechenleistungen, muss das Ganze zurückgerechnet werden.

Martin

Und da sind dann da, also clusterweise sind dann die Rechner, die dann.

Martin

Also gewissermaßen ist es so, dass das Molekül befindet sich halt in einer zufälligen Orientierung.

Martin

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.

Martin

Ja, gewissermaßen, also am Ende sind das dann immer nur ein paar Punkte auf dem Detektor.

Martin

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 und dann?

Jochen

Ah ja, okay.

Martin

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

Und Mathematik lügt auch nicht.

Martin

Ja, oder es ist einfach schon mit anderen, mit anderen Methoden gemessen worden und dann weiß man, was da geht.

Martin

Wobei ich mich persönlich weniger mit Molekülen beschäftige, als halt mit Magneten.

Martin

Und die haben das große Problem, dass datentechnisch das sogar eher anstrengender ist, weil wenn man da so einen Magneten reinhält, 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, weil es da meistens um deutlich einfacher ist.

Dominik

Wenn du da Magneten reinhält, dann gibt es eine gewisse Abweichung dann immer in eine Ecke, oder?

Martin

Ja, also was man halt macht, also mit Röntgenstrahlen kann man halt sehen, ob der Magnet magnetisch ist, gerade.

Martin

Also, in einer Festplatte speichert man ja dadurch, dass man auf einer klassischen Festplatte, also keine Solid State, sondern auf einer klassischen, dass man dort eine magnetische Schicht hat und dann den Magnet entweder so rum oder so rumdreht.

Martin

Und was wir dann machen, ist, dass wir schießen mit einem handelsüblichen Laser, ja, also mit 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 und guckt, ob er noch magnetisch ist.

Martin

Und dann kann man die Zeit zwischen den beiden ändern und gucken dann, wie lange es denn dauert, so einen Magneten zu demagnetisieren.

Martin

Und das ist dann halt die kürzeste Zeit, mit der man grundsätzlich einen Daten auf einer Festplatte schreiben könnte.

Martin

Zeiten, die glücklicherweise so schnell sind, das weiß man inzwischen, dass das für einen Computer tatsächlich dann am Ende egal ist.

Martin

Es geht also tatsächlich nur noch darum, das tatsächlich prinzipiell zu verstehen, was da eigentlich passiert und nicht mehr.

Jochen

Auszuschließen, dass man da in irgendein physikalisches Limit läuft mit einer Technologie, wo man jetzt irgendwie wahnsinnig viel habt.

Dominik

Das ist eine Magnettechnologie, mit die man mit Laser die Platten beschießt, um die Sachen zu speichern?

Martin

Also das Problem ist, dass das Einzige, was so schnell ist, sind Laser.

Martin

Und deshalb müssen wir Laser nehmen.

Martin

Also wie eine Technologie dazu aussehen würde, die Frage, braucht man da.

Dominik

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

Martin

Ja, genau.

Martin

Also, wie gesagt, das ist viel, viel schneller als alles.

Martin

Also das Schalten solchen Magneten geht prinzipiell viel, viel schneller, als dass jemals ein Computer dort schreiben können.

Martin

Und weshalb wir da keine, es gibt, schreibt theoretisch, es gibt keine theoretische Grenze.

Dominik

Keine physikalische Grenze, die da irgendwie ein Problem ist.

Martin

Es gibt eine, aber die ist so weit von gut und böse, dass.

Dominik

Dass wir die diese 100 Jahre nicht mehr erreichen werden.

Martin

Genau, vor allen Dingen nicht bis SSD zu übernehmen.

Vielleicht, das ist aber nicht das Problem oder warum Festplatten langsam sind, sondern die richtige Stelle nicht da ist.

Martin

Ja, genau.

Martin

Dieses Problem, wie gesagt, ist keins mehr.

Martin

Das ist damals, das ist ja auch schon wieder 30 Jahre her, dass damals die meinten, in das physikalische Limit zu laufen.

Schöne Vorstellung.

Vor 30 Jahren hatten wir gedacht,

Johannes

jetzt können Computer gar nicht mehr schneller werden.

Johannes

Das ist jetzt leider vorbei.

Johannes

Aber es hat sich dann leider zum Glück doch rausgestellt.

Dominik

Ich fand das aber ganz interessant, ich glaube, das interessiert vielleicht noch andere Menschen.

Dominik

Wie funktioniert denn das jetzt überhaupt, so ein Magnetspeicherband, wenn du sagst, da muss man Magneten drehen, dann speichert man irgendwas?

Martin

Ja, also effektiv, also so eine Magnetplatte, wie sie in Festplatten oder Zeit von Essen genau verbaut waren.

Martin

Es ist ja einfach nur eine magnetische Struktur, also irgendein Stoff, der grundsätzlich magnetisch ist und oben drüber, und den kann man halt da kann man sich so winzige kleine Magnetchen vorstellen, aus denen das draufsteht, aus denen das besteht, von denen es natürlich ganz, ganz, ganz viele gibt, nämlich wie das Bitz, das gespeichert werden soll, eins.

Martin

Und ja, dadurch, dass man dann mit einer Magnetspule drüber fährt, dreht man das entweder so, 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 und danach dann, und umgekehrt wird das ausgelesen, dadurch, dass man die dann halt misst, ob denn jetzt gerade der Nordpol oder der Südpol oben ist.

Martin

Und genau, und wir wollten, also da gibt es halt Grenzen, wie schnell man da schreiben kann, aber wie gesagt, es gibt sie effektiv nicht, weil 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 es eigentlich, dass sich dieser Magnet dreht?

Jochen

Dreht sich da wirklich was oder wird das umgepolt?

Martin

Ja, gut, das kann man die Definitionsfrage.

Dominik

Was heißt denn dann Umpol?

Martin

Ja, also 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, dass das ist, was ein Magnet ist.

Martin

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 so halt so eine Gang sozusagen und wenn dann gruppenmäßig sich alle zeigen in eine Richtung.

Martin

Und der Witz an einen Magneten ist, dass dann benachbarte Elektronen aneinander gekoppelt sind.

Martin

Also alle Elektronen haben ein Oben und ein unten, aber normal sind sie nicht aneinander gekoppelt.

Martin

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 die, wenn man mit meinem 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.

Jochen

Das bedeutet, dass man, dass es überhaupt Magnete gibt aus Metall, dass es der gleiche Effekt wie etwas darin zu speichern.

Jochen

Im Grunde ist das das, was man da drin gespeichert hat.

Jochen

Sozusagen die Art, ja, also ja.

Martin

Ja.

Jochen

Cool.

Martin

Also einen normalen Magneten ist die Information halt ein Bit.

Martin

Ja, bei einer Festplatte sind halt dann ganz, ganz, ganz viele nebeneinander.

Martin

Und man muss dann aufpassen, dass die sich beeinflussen und so weiter.

Martin

Also sie sollen, das ist nur das Problem, Elektronen sollen sich ein bisschen gegenseitig beeinflussen, weil sie ansonsten ihre Position nicht halten.

Martin

Aber denen ist aber auch nicht zu viel.

Martin

Aber das ist dann wieder sehr viel Wissenschaft.

Dominik

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

Martin

Genau, da kann man unglaublich viel mit rumspielen.

Martin

Das ist dann Technik.

Eine schöne Sache an der ganzen Geschichte ist übrigens, dass das Material, was man da lange Zeit verwendet hat, das war Eisenoxid.

Also Rost.

Eine Scheibe voll Rost und daraus baut man sich so viele Magneten, dass man seine Sachen drauf speichern kann.

Finde ich sehr schön.

Heute nicht mehr, heute benutzt man Kobalt und irgendwelche komplizierten Sachen, aber für die meiste Zeit war es einfach Eisenoxid.

Jochen

Ich kenne halt den Kosename für Festplatten dieser älteren Bauart.

Jochen

Leute nennen das rotierenden Rost.

Jochen

Also das ist halt, ja, trifft es, glaube ich, ganz gut.

Und Kassetten und so weiter und Magnetbänder funktionieren ganz ähnlich.

Halt nicht digital, sondern mit einer analogen Magnetisierung.

Wer das noch kennt von früher, oh, jetzt habe ich mich geoutet.

Jetzt wisst ihr alle, dass ich alt bin.

Jochen

Kassetten, hm, was könnte das sein?

Dominik

Vorückspulen, durchreißen, einander kleben.

Genau.

Jochen

Ja, sehr schick.

Jochen

Habt ihr denn da schon immer Python verwendet?

Jochen

Oder seit wann wann verwendet ihr Python?

Jochen

Oder überall oder gibt es auch noch andere Technologien, die verwendet werden oder welche?

Martin

Ja, also es gibt auch immer noch eine gewisse Menschen, die sich nicht davon abbringen lassen, weiterhin C<unk> zu programmieren.

Martin

Sie sind nicht tot zu kriegen.

Martin

Nein, also tot wollen wir sie auch gar nicht haben, aber überzeugt haben wir es auch noch nicht geschafft.

Dominik

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

Martin

Genau.

Martin

Und ja, tatsächlich ist es so, dass in der Physik jahrzehntelang war C<unk> tatsächlich einfach die Sprache schlechthin.

Martin

Es wurde einfach alles in C<unk> 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, die sind glücklicherweise inzwischen sehr wenige geworden.

Martin

Aber es gibt sie immer noch.

Martin

Aber ja, inzwischen ist das so, ja, C<unk> ist jetzt halt doch nicht mehr die modernste Sprache und jetzt die neue Welle, da ist Python einfach.

Gibt es

Jochen

auch Rust?

Hat auch noch Fortranbauteil.

Jochen

Genau, natürlich, ja.

Ja, selbstverständlich.

Martin

Also das ist ja klar.

Johannes

Das ist gar nicht so weit von uns entfernt.

Jochen

Ich erinnere mich nur gerade an Zitat, ich weiß gar nicht, wer das mal ursprünglich gesagt hat, aber der wissenschaftliche Fortschritt ist nur so one funeral at a time.

Martin

Ja, natürlich, also das ist tatsächlich, also in der Welt der Physik war, nicht nur da, in vielen anderen Bereichen auch, war der Witz an Python eigentlich, dass man damit halt unglaublich viele verschiedene Bibliotheken, auch aus Steinzeit, aus Fortran 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 Fortran-Bibliotheken tatsächlich bis heute weiterverwenden kann.

Dominik

Heißern als Galoo.

Martin

Absolut.

Jochen

Ja, und ich glaube auch, ich weiß gar nicht, wie viel, also einer der großen Vorteile bei Fortran ist halt, dass man, also weshalb das glaube ich, jedenfalls, was ich weiß, für numerische Geschichten auch verwendet wird, ist, dass halt da die Sprache so ist, dass die Compiler automatisch vektorisieren können, was ja bei C und C<unk> eigentlich nicht geht.

Jochen

Es geht auch, aber man muss dann halt selber quasi mit dem Compiler sagen, was er tun soll.

Johannes

Ja, beziehungsweise du kannst so Datentypen definieren, die Vektoren sind.

Johannes

Und diese ganzen Operationen gehen dann automatisch.

Johannes

Und wenn du eben einen 16-breiten Vektor hast, dann hat der Compiler genügend Informationen, um da schlaue Sachen draus zu machen.

Johannes

Gerade jetzt heutzutage, wo es ja Prozessoren gibt, die ganz viele Operationen auf 8 oder auf 16 Sachen gleichzeitig machen können.

Johannes

Und das kriegst du dann halt einfach so umsonst, weil du dein Programm so geschrieben hast, dass du immer direkt 16 Sachen gleichzeitig machst und dann kompilierst du es und es wird dann halt automatisch schneller.

Johannes

Und das ist schon verlockend, das kann ich schon verstehen.

Johannes

Da ist eine schöne Abstraktionsebene gefunden, glaube ich, dass man eben nicht wie bei C<unk> oder bei C jeden Maschinenbefehl selber schreiben muss und gleichzeitig hast du trotzdem noch genügend genügend tiefe Abstraktionen, um schnelle Programme schreiben zu können.

Johannes

Das eigentliche Problem an Fortran ist, glaube ich, eher, dass einfach die Sprache schon alt ist.

Johannes

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

Dominik

Ja, also so altphilologen in der Computersprache selten, dass Leute so ein Interesse daran haben, ein forensisches erstmal die alten Sprachen nochmal alle nachzulernen.

Dominik

Statt was Neues, Modernes anzufangen.

Oder eher nicht.

Johannes

Wobei, also den Markt gibt es ja durchaus noch und auch wieder.

Cobol entsprechend.

Johannes

Firmen, die wieder Cobol-Programmierer ausbilden, weil sie es halt noch brauchen.

Johannes

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

Dominik

Möchte man das denn entwickeln?

Jochen

Ja, genau.

Jochen

Ich dachte mir gerade, dass ich, dass Leute da ausbilden wollen, verstehe ich, dass Leute sich da ausbilden lassen, das ist schwerer zu verstehen.

Johannes

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

Jochen

Naja, gut, aber die ist auch nicht mehr.

Johannes

Ich habe gerade Fortranvorlesungen an der Universität gehört, das war schon interessant auch, einfach auch mal aus historischer Sicht, ja.

Johannes

Man kann ja auch durchaus viel davon lernen.

Johannes

Nur jeden Tag machen möchte ich es nicht.

Martin

Ja, man muss auch dazu eindeutig sagen, dass tatsächlich das eigentliche Rechnen in Python wegen des Gill funktioniert halt nicht.

Martin

Nee, klar.

Martin

Wenn es wirklich darum geht, möglichst viele Multiplikationen und Additionen auf den Prozessor zu jagen, da braucht man mit 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.

Martin

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 die Matrixmultiplikation enthalten, die halt von den Prozessorenherstellern oder sehr enthusiastischen Hobbyisten handoptimiert wurden, teilweise bis in die Assembler-Ebene runter, um möglichst schnell auf einen Prozessor sowas die Matrizmultikation machen zu

Martin

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 wegfallen, 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 geht und das machen die, dann das tut natürlich weh.

Martin

Oder natürlich heutzutage auch auf Grafikkarten ist das ja auch dann sehr beliebt und da ist es dann halt sehr schön, dass es dann da halt so standardisierte Bibliotheks-APys 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, Python wir langsam, aber wenn man dann sowas wie NumPy benutzt, hat man ja quasi die Python-APy, die man dann ansprechen kann, in der man entwickelt.

Dominik

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 wird auch, da denken wir, zerbrechen sich auch gerade viele schlaue Leute die Köpfe drüber.

Martin

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.

Martin

Das ist ja ganz schön für sowas, aber das Problem ist, am Ende wollen die Daten ja auch ausgewertet werden.

Martin

Und tatsächlich, also was wir sehr viel mit Jupyter Notebooks machen, die haben aber immer das Problem, dass man sich fünf Minuten, nachdem man die Auswertung gemacht hat, nicht mehr daran erinnern kann, was man eigentlich gemacht hat und welches denn der Jupyter Notebook-Zellen man denn jetzt nur ausgeführt hat und welche nicht und an welche man schnell noch einen Parameter gedreht hat und welche nicht.

Martin

Wer länger mit Jupyter Notebooks gearbeitet hat, kennt das wahrscheinlich sehr gut.

Dominik

Hin und her.

Martin

Ja, und was natürlich der Reproduzierbarkeit, also reproduzierbar sind unsere Daten in dem Sinne ja sowieso nicht, weil wir sind der einzige Röntgenlaser, der diese Intensitäten schafft.

Martin

Das heißt, wir können die nur bei uns reproduzieren, aber wenn man wenigstens mal die Auswertung der tatsächlich vorhandenen Daten reproduzierbar 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 Slot gebucht hat, wo dann das Dreier-Team dann reingeht, mit der ganzen Preparation das nochmal macht.

Martin

Genau, ja, aber gut, aber dann auch die Auswertung, also es wäre zum Beispiel auch mal eine gute Idee, dass man, wenn man zum Beispiel zwei verschiedene vergleichbare Materialien sich anguckt, dass man mal vergleicht, wie das eine auswertet und was das andere auswertet.

Martin

Und wenn man dann zwischendurch das new Jupyter Notebook wieder mal vergessen hat, was man da eigentlich gemacht hat, dann ist das sehr unpraktisch.

Martin

Und das ist tatsächlich ein, also bei uns aktuell, also was heißt aktuell?

Martin

Also es ist schon seit länger ein Problem, wie man das denn handhabt, dass man da reproduzierbar Daten auswertet.

Martin

Tatsächlich ist es sogar so, dass schon das Problem ist, naja, also wir werten da Daten aus und am halben Jahr kommt einer an und hat nochmal eine Idee, wie man da vielleicht nochmal mit einem anderen Blickwinkel drauf guckt und dann sollte es einem besser nicht passieren, dass man versehentlich NumPy upgedatet hat und plötzlich funktionieren die Skripte nicht mehr.

Martin

Oder kommt zu einem anderen Ergebnis?

Martin

Das ist dann tatsächlich ein Problem, weshalb wir tatsächlich angefangen, also haben einfach komplette Virtual Envs nehmen wir jetzt gerade noch.

Martin

Wir haben darüber nachgedacht, das ist ein Konda zu nehmen 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, die gleiche Auswertung zu machen, dann tatsächlich zum gleichen Ergebnis kommt.

Jochen

Ja, aber das stelle ich mir auch, weil die ganzen Betriebssystemenbibliotheken hat man im Virtual Eng ja nicht drin, also Libc oder auch diverse andere Geschichten.

Jochen

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

Martin

Das ist richtig.

Martin

Das heißt, dann müsste man dann konsequenterweise weiter zu Docker-Containern gehen oder ähnlichen Technologien.

Dominik

Oder Ensible irgendwas bauen, ne?

Martin

Ja, Ensible hilft ja nicht, weil Ensible da würde dann ja dasselbe Problem haben mit den Systembibliotheken, dass man das Ensible installiert ja auch typischerweise nur auf ein existierendes System drauf.

Dominik

Ja, aber du kannst ja sagen, welches, was du da extern installieren sollt und wenn du das Betriebssystem selber auswählen kannst, dann kannst du wahrscheinlich auch die Pakete pinnen.

Martin

Ja, das ist richtig.

Martin

Aber ich muss ganz ehrlich gestanden sagen, daran arbeiten wir noch.

Martin

Also bisher sind wir ganz stolz darauf, da sind wir, glaube ich, schon fast Vorreiter.

Martin

Nein, wahrscheinlich nicht, aber dass wir halt wenigstens unsere Daten mit den Virtual Entspeichern, dass wir wenigstens da eine verlässliche Datenauswertung haben, dass wir, also in der Physik war es bisher doch recht häufig üblich, dass man die Daten auswertet und dann, wenn man eine Publikation macht, die Auswertung auf eine CD brennt und dann mit ins Archiv gibt.

Martin

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

Jochen

Das ist auch sehr unklar.

Martin

Das war dann doch eine eher symbolische Aktion.

Dominik

Und das bei den Physikern.

Martin

Ja, also.

Johannes

Das ist ja noch vergleichsweise fortgeschritten.

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

Dominik

Oder drückst du aus.

Martin

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

Martin

Ja, also gerade wenn in irgendwelche Zulassungsverfahren gehen, da gucken die Leute tatsächlich an.

Aber Forschungspaper ist normalerweise, also wenn du einen Appendix hast, kannst du, wie der Dominik sagt, kannst du ja abtippen.

Wenn du die Rohdaten überhaupt kriegst, reicht ja aus.

Martin

Bei uns ist die Rohdaten zu kriegen illusorisch, weil sie sind einfach zu groß.

Wie lange speichert ihr denn eure Daten?

Wie lange könnte man denn zu euch kommen und sagen, hier, ich habe mir jetzt noch was eingefallen?

Martin

Das ist eine Frage, die ich dir tatsächlich noch nicht beantworten kann, weil noch sind die Platten nicht voll.

Ah, okay.

Wie lange läuft es?

Irgendwann ist das Ziel erläutert.

Wie groß ist der Sterw?

Martin

Der Serverraum steht gar nicht bei uns, sondern da irgendwo in Hamburg ist da so ein Serverraum, 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.

Martin

Also bisher mussten wir noch, dazu muss man sagen, es gibt so Wochen, wo wir so viele Daten produzieren.

Martin

Wenn wir mit unserem Hauptdetektor arbeiten, dann ist das so, dann kommt da so viele 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.

Martin

Und dann, ja, dann.

Dominik

Das ist ja fast redundant dann im Vergleich.

Martin

Genau, das ist dann, genau.

Martin

Das ist dann, wenn du plötzlich beginnst, dass tatsächlich dann Virtual Env das Größte auf der Platte ist.

Martin

Aber das ist dann auch egal, weil im Vergleich, also dann hat man halt.

Das spielt keine Rolle.

Martin

Genau, das geht dann unter.

Martin

Das ist dann auch mal sehr schön.

Martin

Also da muss man sagen, also wenn man da mit, wenn man unserem Hauptdetektor mit den 5000 Bildern pro Sekunde arbeitet, dann muss man halt wirklich, da hängt halt wirklich auch Rechenpower hinten dran, das ausrechnet und dann gibt es dann, haben wir auch ganze Stäbe von Leuten, die nur dafür zuständig sind, das am Laufen zu halten, dass dann die ganzen Prozessketten da hinten dann das machen.

Martin

Während wenn wir dann nur alle 10 Sekunden ein Bild nehmen, ist das viel schöner, weil dann kann man das tatsächlich auch alles mit ein paar Python-Skripten machen und dann ist man auch deutlich flexibler darin, irgendwas Schönes zu machen.

Jochen

In welchem Format werden die Daten denn dann abgespeichert?

Jochen

Also es gibt ja diese diverse Formate für wissenschaftliche Zwecke, also NetCDF oder wie heißt das?

Ich weiß es nicht.

Martin

Ja, also unser ist HDF5.

Jochen

Oder SQLite, habe ich jetzt gerade gedacht, könnte man ja auch nehmen, aber.

Martin

HD5 nehmen wir.

Martin

Wobei, da muss man eine ganze Menge daran rumentwickeln, dass wir überhaupt schnell genug schreiben können.

Martin

Tatsächlich ist das so, dass wir in mehrere HD5-Dateien parallel reinschreiben, weil ansonsten die HD5-Bibliothek doch an ihre Grenzen käme.

Ich finde es

super spannend, weil in diesen Bereichen trifft man dann auch so Probleme, die man sich so als normaler Entwickler gar nicht vorstellen kann.

Schon allein die Bandbreite zu haben, die Daten aus diesem Sensor rauslesen zu können, das muss ja gigantisch sein.

Johannes

Und das geht ja weit über das hinaus, was man so als normale Mensch in einem Computer je sehen kann.

Johannes

Und wenn man sich überlegt, wie viel Bandbreite da an Speicherplatz einfach rauskommen muss, da zerbrechen viele von den Abstraktionen, die man normalerweise so hat.

Martin

Ja, bei uns kommen tatsächlich die Glasfaser da bündelweise aus den Detektoren raus.

Martin

Und das ist, ja, da hängt richtig Rechenpower dahinter.

Johannes

Ja, klar, und das muss dann in irgendwelche Speicherbänke reingehen und von den Speicherbänken muss es irgendwo auf Speicher gehen.

Johannes

Aber ein Kabel reicht an keiner Stelle.

Das heißt, es muss sicherlich alles parallel sein.

Martin

Ja, genau.

Martin

Da stapelweise an Rechnern stehen dann da übereinander, die das dann verteilen.

Johannes

Die es alle gleichzeitig abkriegen.

Martin

Ja, das ist, also das ist tatsächlich, dass wenn wir anfangen, Daten zu nehmen, dann dauert das mehrere Sekunden, bis alle TCP-Verbindungen aufgebaut sind, um dann die Daten zu.

Martin

Einfach nur das Aufbauen der Verbindung dauert mehrere Sekunden.

Dominik

Das ist ja schon lange.

Dominik

Ja, das hätte man sich tatsächlich recht wichtig vor, wenn dann irgendwie die Sachen durcheinander fliegen, da haben so eine Riesenmenge, wie man denen auffangen will.

Dominik

Also es ist auf jeden Fall, glaube ich, eher Big Data dann tatsächlich irgendwo, so ein bisschen.

Martin

Ja, wobei es auf der einen Seite natürlich schon, dass es natürlich Big Data ist, also von der reinen schieren Größe her.

Martin

Auf der anderen Seite, also was man normalerweise unter Big Data sind, sind halt deutlich strukturierter als das, was wir da haben.

Martin

Wir haben da ja einfach nur

Dominik

Bilddaten, hohe Bilddaten, ja.

Dominik

Okay, also argmentiert ihr die direkt oder sowas?

Dominik

Oder gibt es ein Post-Processing, dass da viele Informationen mal reinfließen oder ist das einfach nur dann pro Experiment irgendwie so ein Metainformationsding?

Martin

Also wir müssen, also wir müssen tatsächlich während des Experiments darauf reagieren können.

Martin

Das heißt, wir die ganzen, während des Experimentes werden bereits alle Daten rudimentär ausgewertet, damit wir eine Idee kriegen, ob die Daten überhaupt gut sind.

Martin

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 Fallstrahl zu fahren oder so etwas.

Martin

Ja, sowas passiert halt auch irgendwie.

Martin

Und uh, and then, yeah, oder auch, dass man dann halt, dass man halt feststellt, okay, wir haben mit viel zu viel Intensität gemessen, da sieht, also there's völlig ausgeleuchtet, der Detektor, man sieht garlics more, or it was always too dunk, or was weiß ich was.

Martin

Das kann ja alles gleich passieren.

Martin

Und deshalb muss die ganze Zeit auch, währenddessen werden die Daten rudimentär ausgewertet, dass man sofort sehen kann, was da passiert.

Martin

Wobei wir das, ja, das Ganze wird dann auch visualisiert, wobei wir das meiner Meinung nach noch sehr steinzeitlich machen.

Martin

Das machen wir nämlich.

Martin

Da verwenden wir tatsächlich Pi QT.

Dominik

Version das Nummer, weißt du die?

Martin

Pi 5, also Pi QT5, also schon das Neueste.

Martin

Und ja, also wenn man mich heute fragen würde, würde ich ja natürlich sagen, das macht man doch viel besser mit einer, also Visualisierung doch besser in einer Web-Anwendung.

Martin

Und nicht so mit einem Standalone-Desttop-Ding.

Martin

Genau, aber ja, die Entscheidung ist damals dafür gefallen.

Das ist jetzt so.

Martin

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

Dominik

Und ihr habt auch keine Lizenzprobleme, weil ihr eine öffentliche Institution seid wahrscheinlich.

Dominik

Nee, ist das ja nicht.

Martin

Wir sind eine öffentliche Institution, aber Python ist doch LGPL.

Martin

Genau.

Martin

Sogar als es GPL war, da wir grundsätzlich alles ja sagen wir so, wir würden, also eigentlich sollte alles quelloffen sein.

Martin

Ja, wir halten uns daran, dass jeder in der GPL steht ja drin, dass jedem, dem man den Binär-Code gibt, dann auch den Quellcode geben muss.

Martin

Das tun wir auch.

Martin

Bisher ist das alles so, dass bisher noch keiner vorbeigekommen ist mit dem Binärfreund.

Johannes

Ein Schlupfloch.

Martin

Ja, und ich glaube, der Grund, dass wir es noch nicht veröffentlicht haben, ist, dass A, wir 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, also gerade in der Anfangszeit ist der, das ist doch alles sehr schnell gestrickt worden.

Martin

Was ja das Schöne ist, dass es um Python geht, dass man in Python auch mit schön gestricktem Code, also mit schnell gestricktem Code am Ende doch doch noch sehr schöne Sachen darauskriegt.

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.

Johannes

Und da gibt es auch eine Visualisierungsoberfläche, die auch in Pycute geschrieben ist.

Johannes

Und auch da wird über eine Weblösung nachgedacht und man ist aber noch nicht so weit.

Johannes

Also es ist schön zu hören, dass die Probleme doch überall die gleichen sind.

Martin

Also grundsätzlich finde ich ja, PyQT5 ist tatsächlich eigentlich grundsätzlich eine sehr schöne Bibliothek, wenn man so eine Desktop-Anwendung machen will.

Martin

Aber wenn man ehrlich ist, sind solche Desktop-Anwendungen eigentlich heutzutage so ein bisschen nicht mehr.

Johannes

Ja, man hat es 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, und also wir haben angefangen damals mit der Programmierung in 2009.

Martin

Damals tatsächlich noch Python 2.

Martin

Wir haben dann glücklicherweise den Umstieg schnell genug geschafft.

Jochen

Ja, aber genau, damit habt ihr schon immer die Motoren und so gestaltet, weil dann hattet ihr das Problem, dass ihr da quasi ja nicht blockieren konntet, während ein Motor sich verstellt hat, schon länger.

Jochen

Und also gibt es ja jetzt erst seit 2015, 14, 2015, irgendwann da ging das los.

Martin

Ja, also vorher waren wir einfach noch nicht so weit, dass wir, also in Betrieb gegangen sind wir 2017.

Martin

Und vorher hatten wir ja ein paar Demonstrationsdinger noch nur da rumstehen.

Martin

Es hat lange gedauert, die 1000 Motoren da überhaupt einzubauen.

Martin

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

Und dann haben wir glücklicherweise noch im richtigen Moment die Kurve gekriegt und das Ganze nochmal, also dann kam glücklicherweise im richtigen Moment auch Async Euro vorbei.

Martin

Und dann konnte man das alles gleichzeitig.

Dominik

Bei den 1000-Modoren muss ich immer an das von Johannes veröffentlichte Ding da zum Raumschiff fliegen denken.

Dominik

Du hast auch mal.

Welche Raumschiffe fliege ich?

Dominik

Ja, das ist irgendwie so ein Blockanteig, ich weiß nicht, mit der Steuerung, die man da machen würde.

Dominik

Wie hieß das nochmal?

Johannes

Ich weiß nicht.

Ich denke schon die ganze Zeit drüber nach, wie man das wohl in der Homautomatisierung verwenden könnte, wo man seine tausend Motoren in der Küche platziert, die dann, keine Ahnung, die Gewürze dosieren oder die.

Dominik

Aber wie ist das denn, Junge?

Ich muss ja mal nicht mal nachsichen ausschauen.

Martin

Wobei wir dann, das muss man auch dann der Ehrlichkeit halber noch dazu gestehen, noch einmal eine Ebene unten drunter haben.

Martin

Das ist dann eine kommerzielle Lösung tatsächlich von einer Firma namens Beckov, die dann die Motoren, die eigentliche Motoransteuerung macht.

Martin

Das, was wir in Python bisher nicht machen, ist die Echtzeitsachen.

Martin

Dafür ist, glaube ich, Python auch einfach nicht gut genug.

Martin

Also nicht die geeignete Sprache, weil, also wenn man, wenn der Motor dann tatsächlich, also da muss man dann irgendwann am Ende unten dann mit, also mindestens mal 100 Hertz, dann den Motor abfragen, wo bist du denn jetzt und dann ihn dann dementsprechend schneller oder langsamer machen.

Martin

Und das geht mit Python eher nicht.

Martin

Also ein Real-Time-Python

jetzt nicht.

Häufig so, ja.

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, das kommerzielle Lösungen immer haben, dass wir da dann, also wenn man da an eine Grenze kommt, dann ist die Grenze auch hart.

Martin

Da kommt man läuft man mit dem Kopf gegen die Wand.

Oder man muss viel Geld ausgeben.

Richtig.

Martin

Also jetzt ist es tatsächlich so, dass wenn man für anderthalb Milliarden so einen Tunnel gegraben hat, dann kann man auch mal tatsächlich ein bisschen Geld in die Hand nehmen.

Martin

Aber das ist nicht so.

Es muss einfach irgendwo ein Ende haben.

Martin

Ja, genau.

Martin

Und es ist, also für ganz Kleinigkeiten will man dann auch nicht mehr, ja, und solche kommerziellen Lösungen scheitern doch am Ende sehr an der Flexibilität.

Martin

Ich muss auch sagen, dass die, als wir auf die Idee gekommen sind, dem Hersteller Bäckhoff zu erzählen, dass wir unsere Projekte in einer Versionskontrolle halten, da haben die schon ganz schön geschluckt.

Martin

Und als es dann hieß, wir finden aber nicht Subversion, sondern Git, da haben die richtig Angst bekommen.

Martin

Das ist tatsächlich in der Welt der Automatisierung, ist das alles noch, sind das noch Träumereien.

Martin

So was macht man nicht.

Martin

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.

Dominik

Und warum ist das, warum kriegen die Angst?

Martin

Weil das man kriegt da halt so eine komplette.

Die viel zu schnell.

Viel zu schnell.

Martin

Nee, die liefern einem halt eine komplette Idee und die Idee, die speichert halt die Sachen in ihrem eigenen Format.

Martin

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.

Martin

Zum Beispiel, also die Welt von Steuerungssoftware von, wie nennt sich das?

Martin

Speicherprogrammierer, aber Steuerung nennt sich das auf Deutsch.

Martin

Da gibt es eine Programmiersprache, die so ganz andere grundsätzliche Eigenschaften haben, die zum Beispiel keine dynamische Speicherverwaltung kennen und das absichtlich nicht, weil wenn man eine Maschine hat, dann braucht man nicht plötzlich mehr Speicher.

Martin

Und bei denen wird, das ist eine Sprache, die von vorne rein.

Man will das auch gar nicht, weil das abstürzen.

Oder ganz schlecht.

Martin

Und das sind dann kommt es ja zu konzeptuell andere Sprachen, die aber auch für den Anwendungsfall tatsächlich sehr gut sind, muss ich sagen.

Martin

Und das Einzige ist, dass die dann irgendwie in IDEs reingepackt werden.

Martin

Und das sieht dann sehr pascalähnlich aus.

Martin

Und warum man dann diesen Pascal-Code dann am Ende in XML-Dateien reinstecken muss, habe ich nicht verstanden.

Weil man mit XML alles machen.

Martin

Weil man mit XML einfach alles machen kann.

Martin

Deshalb und dann dieses XML dann wiederum in eine Versionskontrolle wie Git reinzutun, ist dann, ja, also irgendwie fühlt sich das, fühlt sich das nicht gut an.

Martin

Also insbesondere, wenn man dann mergen will und dann, ja, was passiert denn, wenn da dann der in dem XML rundherum sich was geändert hat und will das dann mergen?

Martin

Das ist ja, ja, was, das, ja.

Martin

Da gibt es dann noch solche Sachen wie, dass dann, 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.

Martin

Am Ende kommt noch der Kunde vorbei und dekompiliert den Code.

Martin

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 Debug-Code bei dir wiederfinden.

Martin

Wie löst man das?

Martin

Ja, das ist ganz einfach.

Martin

Man speichert, also man kompiliert das und checkt dann das Binary mit in Subversion ein.

Martin

Ja.

Martin

Das sind alles Sachen, da dreht sich einem als Python-Programmierer der Magen um.

Martin

Aber naja, dafür läuft es da dann halt.

Martin

Ja, die haben halt auch Zuverlässigkeitsanforderungen.

Jochen

Ja, aber wer da nicht, also weil das höre ich auch immer so aus dem Musikbereich oder so, was auf Echtzeit ankommt, die verwenden da oft jetzt also CircuitPython oder MikroPython oder sowas.

Jochen

Kann man, wäre das nicht eine Idee, das mit sowas zu machen?

Martin

Ja, also ich wäre dafür.

Johannes

Da bewegt sich, glaube ich, einiges.

Martin

Ja, definitiv.

In den letzten Jahren.

Martin

Wobei ich da eigentlich ganz, also ich habe das tatsächlich mal probiert, so, also glücklicherweise, also diese so gebaut, dass die ganzen Motoren hängen dann an, wie nennt man das, Klemmen dran, also an Motorklemmen, auf Englisch Terminals, vielleicht hilft das besser, die dann halt miteinander per Ethernet miteinander verbunden sind.

Martin

Und tatsächlich mit Ethernet, da läuft kein IP drüber, sondern direkt über Ethernet.

Martin

Und das ist dann in einer Echtzeitversion namens Ethercut.

Martin

Glücklicherweise ist das Protokoll vollständig veröffentlicht.

Martin

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.

Martin

Und dann kann man das damit tatsächlich machen.

Martin

Ja, und dann merkt man halt dann plötzlich, dass dann, dass man halt nicht, dass halt man nicht Echtzeit ist.

Martin

Und da tut dann auf einmal Echtzeit tatsächlich weh.

Martin

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

Ja, klar.

Martin

Weshalb die dann tatsächlich.

Jochen

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

Martin

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

Jochen

Aber mit Linux könnte man das doch auch.

Da gibt es doch sogar irgendwie in Linux so eine Schnittstelle, wo man

Johannes

auch so RT-Linux-Sachen.

Martin

Es gibt auch in Deutschland einen zweiten Hersteller, der tatsächlich das Ganze auf Linux macht.

Martin

Das geht alles, auch mit Real-Time 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.

Martin

Und wir haben uns damals, also wir, ich hätte man mich gefragt.

Martin

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 durch Brickler-Anfänger.

Ja, gut.

Dominik

Jetzt ist mir auch eingefallen, was du Johannes meinst, die Bit-Controller, den hätte ich gerne da für die Steuerung dieser Motoren.

Geht das, Johannes?

Dominik

Achso.

Ja, da hast du irgendwo hast du einen Controller drin, der sowas macht, ja.

Ja.

Johannes

Das geht da oft ganz, 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 einen Prozessor, der 180 MHz hat und vier Kerne und der kostet auch nur 5 Euro.

Johannes

Da ist es dann schon so ein bisschen egal.

Johannes

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 MHz hast und nur einen Prozessor und musst aber acht Motoren gleichzeitig steuern und die sollen auch gewisse Kurven einhalten, dann ist das halt anstrengender.

Johannes

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.

Johannes

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.

Martin

Interessanterweise ist es dann so, dass das bis heute so ist, dass diese ganzen kleinen Prozesseörchen gewissermaßen emuliert werden.

Martin

Also früher war es immer so, man hatte immer eine langsamere Steuerung, die solche Sachen machen, die nur an- und ausgehen, also so ein Ventil auf Ventil zu.

Martin

Man hat eine schnelle Steuerung gehabt, die Motoren halt mit, da muss man muss halt schnell ein Feedback kommen, ob der Motor schon weit genug ist oder nicht.

Martin

Und heute werden die dann tatsächlich getrennt von zwei Prozessen dann emuliert.

Martin

Das macht eigentlich heutzutage gar keinen Sinn mehr.

Martin

Dann läuft da eine auf dem einen Prozessorkern, die langsamere Steuerung, die dann irgendwie so mit 100 Hertz, also arbeitet und daneben noch eine zweite, die dann mit 10 Kilohertz arbeitet und die dann über ganz magische Dinger sich miteinander unterhalten.

Martin

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, aber so schnell bin ich nun auch wieder nicht, da die alleine die Industrie kurz mal umzukrempeln.

Martin

Ja, nein.

Ja, aber wir

Johannes

sind ja jetzt zu viert hier, also es sind schon mal viermal schnell.

Martin

Ich habe, interessanterweise habe ich das dann mal ausprobiert, dass tatsächlich so eine Steuerung in Linux zu basteln und stellte dann fest, dass tatsächlich die beste dafür geeignete Hardware ein Raspberry Pi war.

Martin

Und zwar deshalb, weil dessen Netzwerkkarte.

Jochen

Keine Buffer hat.

Genau.

Martin

Das war dann auch sehr praktisch, weil so ein Ding ist einfach auch bei Weitem schnell genug und auch zuverlässig genug.

Dominik

Ja, interessant auch, was man da so alles achten muss, wenn man da so die Steuerung zusammenstecken möchte.

Jochen

Ja, faszinierend.

Dominik

Ja, sehr, sehr interessant.

Jochen

Ja, ich weiß nicht, vielleicht, was ist denn, was findest du denn so bei dieser ganzen Geschichte, das mit Phalten zu steuern, was sind die Dinge, die dich da interessieren oder was fandest du cool oder was funktioniert mit Python noch nicht so gut?

Martin

Also was mich immer wieder begeistert, ist, mit welcher Geschwindigkeit man einfach so kleine praktische Sachen machen kann.

Martin

Und dann da drauf das Foto draufklickt und dann fährt der Motor dorthin.

Martin

Das ist, das sind so Dinge, für die würde man halt nicht das als Auftrag stellen und dass dann monatelang einen Entwickler dran sitzen.

Martin

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

Martin

Und also diese kleinen, schönen Dinge, die das Leben einfacher machen, das ist tatsächlich das, was ich da, dafür mögen mich auch meine Kollegen, dass den also nicht unbedingt, die so absolut notwendig sind, sondern die einfach einem das Leben vereinfachen, dass man einfach die.

Die Usability.

Martin

Genau, dass man die Kapazität hat, das zu tun, weil man so schnell programmieren kann, weil man so schnell Sachen raushauen kann, dass man seine Kollegen glücklich machen kann.

Martin

Mit schönen, also dass die, dass die halt auch keine Hemmungen haben, mir zu fragen, hier Martin, da muss man immer so blöd klicken und das funktioniert nicht richtig.

Martin

Kannst du das nicht mal schön machen und dann wird ja kein Problem, hacke ich dir zusammen und dann, ja, da muss man ein bisschen aufpassen, dass man nicht zu sehr hackt und dass man am Ende das dann am Ende auch noch irgendwie zu einem brauchbaren Projekt macht und dass das dann nicht irgendwie so einem Datengrab auf irgendeiner Festplatte landet.

Martin

Ja, ist schon richtig, aber das ist halt das, was das Schöne daran ist.

Martin

Und dass das halt auch alles sehr schnell geht.

Martin

Also was ich auch sehr schön finde, ist, dass ich gerne mag einfach, gut, das ist eine Geschmackssache, dass wir kommen, also wir haben halt unglaublich viele irgendwelche experimentellen Gerätschaften, dass wir dann, also der Strahl, der da bei uns in den Strahl reinpinkelt, der wird halt von einer großen, von einer Hochdruckpumpe gesteuert.

Martin

Und dann kommt da plötzlich mein Kollege mit dieser Pumpe da an, stellt sie vor dich hin und sagt, ja, das muss ja heute Nachmittag laufen.

Martin

Und das ist dann eigentlich gar nicht so das Problem, weil man halt, ja, so Batteries included halt immer gleich alles da hat.

Martin

Und halt unglaublich schnelle Entwicklungszeiten.

Martin

Also ein großes Problem ist, dass man, ja, da kommt der, der User kommt dann mit so einem Ding an, also der Benutzer, muss ich auf Deutsch zu sagen, kommt da mit irgendeinem Ding an.

Martin

Das hat, das, das, das, keine Ahnung, das kostet 100.000 Euro, bringt der da jetzt, da kann man, der kann mir nicht Monate vorher das zum Ausprobieren schicken, damit ich da für was programmiere.

Martin

Das geht nicht, sondern der kommt drei Tage vorher an und sagt, sorgt mal dafür, dass diese Pumpe da läuft und das da in den Strahl reinpinkelt.

Martin

Und dann heißt es, und los, und dann ist es halt echt von Vorteil, dass man da völlig, ja, auch das, was einer mal gemeint hat, da habe ich mal gehört, Expressibility, dass man in Python recht komplexe Sachen schön ausdrücken kann.

Martin

Dass man, also ja, wie sieht das?

Martin

Also, ja, natürlich objektorientierte Programmierung, Klassen gibt es überall.

Martin

Das machen ja inzwischen alle, aber dass man dann in der Klasse dann tatsächlich, also wir haben da eine Pumpe und die kann dann an, aus und was weiß ich das, Druck und Volumen oder so etwas.

Martin

Und dann kann man da, dann schreibt man halt rein Klasse, Pumpe, Class, Pumpe, natürlich alles auf Englisch, weil wir sind ja in nationaler Firma.

Martin

Und dann schreibt man einfach direkt die Parameter rein, Druck an, aus und sonst etwas.

Martin

Und das ist dann gleichzeitig von aus Sicht des Benutzers sind das dann die Buttons, auf die man draufklicken kann oder die Funktionalität, die man von dem verwenden kann und gleichzeitig auf der anderen Seite steht dann bereits reingeschrieben, was man denn dem Gerät sagen muss, dass das auch so funktioniert.

Martin

Wir haben uns dann da ein ganzes Framework zusammengeschrieben, das dann, ja, wie heißt das bei euch Webleuten, Django Forms oder so?

Martin

Dass wir halt Forms halt keine Webseiten sind, sondern Beschreibungen für Geräte sind.

Martin

Und in die kann man halt dann die Parameter, die so ein Gerät hat, einfach reinschreiben.

Martin

Und die halt aus der Benutzerseite sehen die, kann man da dann irgendwelche Werte reinschreiben und ja, dann unser Framework guckt sich dann halt an 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 und einfach so hinschreiben.

Martin

Und ja, also wie das in einer anderen Programmiersprache aussehen würde, weiß ich, da das ja Konkurrenz immer noch in C<unk> macht.

Martin

Und da müssen dann halt Kopfstände gemacht werden, weil, also wie soll ich denn da deklarativ da in C<unk> überhaupt da was hinschreiben?

Martin

Da wird dann immer so ausführbarer Code hingeschrieben, der dann magische Datenstrukturen im Hintergrund aufbaut.

Martin

Die dann irgendwie aus.

Furchtbar.

Martin

Furchtbar.

Martin

Man kann halt in sowas wie C<unk> nichts deklarativ hinschreiben, wo man einfach sagen kann, das ist so.

Martin

Und das dann von einem Framework auslesen lassen, sondern man kann halt nur Code hinschreiben.

Martin

Und das ist halt das, was so ein Framework halt sehr mächtig macht.

Martin

Und mit solchen Sachen kann ich dann halt innerhalb von einem Nachmittag so eine blöde Pumpe zum Laufen kriegen.

Dominik

Wie lange wird der C<unk> Entwickler dafür brauchen?

Martin

Auch eine Woche wahrscheinlich.

Ja, genau.

Dominik

Jetzt sind wir wieder bei einem der wichtigsten Dinge, glaube ich, für Python auch, oder?

Dominik

Das ist also dieses Time-Two.

Dominik

Ich nenne es jetzt mal Market.

Martin

Genau.

Martin

Also und das ist bei uns, wie gesagt, wir haben Experimente im Wochentakt, ist bei uns halt halt unglaublich viel Wegwerf-Code einfach.

Martin

Das ist dann das, was wir Makros nennen, wobei es auch keine Makros, also das ist jetzt nicht einfach Code, der runtergeschrieben ist, sondern wirklich haben wir dann genauso ein Framework, mit dem man dann so Parameter dann deklarieren kann und am Ende dann Sachen ausgeführt werden können.

Martin

Und das Schöne daran ist auch, dass wir es geschafft haben, dass, also ich bin nun angestellt tatsächlich als Programmierer, aber dass auch unsere Wissenschaftler tatsächlich bereits in der Lage sind, sich dann so einfache Sachen selber zusammenzuschreiben.

Martin

Das ist mit Python, ja gut, was auch daran liegt, dass in der Physik doch Python inzwischen sehr weit verbreitet ist und man denn sagen konnte, hier, das machst du doch schon in der Datenauswertung, du machst doch schon immer deine Jupyter-Notebooks mit deinem Python.

Martin

Hier, guck mal, da schreibst du ein bisschen anders und dann kannst du damit auch irgendwelche Motoren nach links oder rechts fahren.

Dominik

Das wird man verstehen dann, ja.

Martin

Genau.

Martin

Das ist dann.

Dominik

Python ist ja so gesehen auch nicht schwer von der Syntax her dann.

Martin

Nee, überhaupt nicht.

Auch nicht so.

Martin

Ich finde, das ist eines der schönsten Sachen an Python ist, man kann es zu, also eigentlich vollständig verstehen.

Martin

Also wir hatten mal da Bewerbungsgespräche, wo dann sich C<unk> und Python-Programmierer beworben haben, die haben wir dann immer gefragt, ja, bei einer Skala von 1 bis 10, wie gut sind deine C<unk>-Kenntnisse?

Martin

Und wenn dann einer sagte, neun,

Jochen

dann war das sozusagen eine Herausforderung, irgendwie sich eine fiese Template-Geschichte zu überlegen, die keiner kennt.

Oder keiner kann.

Martin

Und die kann man ja, die kann man ja problemlos, problemlos sofort aus dem Hut zaubern.

Martin

Also ich musste die Antwort ja nicht kennen, ich musste bloß die Fragen stellen.

Martin

Während wenn dann da ein Python-Programmierer steht und sagt, wie gut ist dein Niveau Python 9, dann muss ich sagen, dass ich schon, also sogar, also Fangfragen zu stellen, schon, also ich glaube, dass es viele Leute gibt, vielleicht sogar in diesem Podcast, die 90% von Python verstanden haben.

Jochen

Ja, wobei es auch schwerer wird mit der Zeit.

Jochen

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.

Jochen

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 es war auch früher immer.

Jochen

Ja, ja, ja, die man da

Johannes

mal aufnehmen könnte.

Johannes

Fangfragen und die Ecken und Kanten.

Jochen

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

Jochen

Mach mal, schreib mal die, also die Funktion Min oder Max in Python hinzuschreiben, ist halt sehr, sehr einfach.

Jochen

Schreibt mal die Type-Annotationen richtig dafür hin.

Jochen

Das ist halt, ja, das ist halt, die Type-Annotationen sind wesentlich mehr Code als die Funktion selber.

Jochen

Das ist echt schwierig.

Johannes

Nehmt zwei Parameter vom Typ Ani und gibt zurück.

Jochen

Ja, ja, aber Typ Ani.

Jochen

Gut, das geht natürlich dann, ist es einfach, aber es darf nicht Any sein und es sollte keine Fortsmann, keine Fortsmaker-Tipps haben.

Jochen

Dann ist es halt schon so, oh.

Martin

Ja, wobei ich bei Type Annotations, ich muss sagen, ich habe mich da nie wirklich reingefuxt, weil, also zumindest das, was ich von gesehen habe, vielleicht erklärt ihr mich eines Besseren auf.

Martin

Also was mich jetzt interessieren, also Typen interessieren mich jetzt tatsächlich eigentlich wenig, weil bei uns, was eher reinkommt, ist eher die Frage Einheiten.

Martin

Also so etwas wie so ein Motor bewegt sich typischerweise um eine Länge.

Martin

Und das berühmte Beispiel des irgendeiner abgestürzten Satelliten auf dem Mars oder so etwas ist ja hinlänglich bekannt, wo sie da dann Zoll mit Millimeter verwechselt haben.

Martin

Wenn man da geschickt annotieren könnte und manchmal.

Dominik

Ja, das ist dann Type, oder?

Jochen

Nee.

Martin

Ja, gut, also schon irgendwie, aber dann halt auch das.

Das ist doch kein Type.

Nein, der Type ist Zahl.

Martin

Genau, so kann man das sehen.

Martin

Oder man kann jetzt für jeden einzelnen dann auch wieder.

Dominik

Ja, ich würde versuchen, sowas zu definieren.

Martin

Ja, und aber dann ist.

Martin

Genau, also bis man da einmal sämtliche Einheiten, die man dann.

Dominik

Ja, wahrscheinlich ist halt die Frage, wenn der Input falsch ist, woher weiß man dann, welche Einheit ist denn das dann, ne, wenn das nur Zahl ist.

Dominik

Ganz einfach, weil man kann das ja einfach das Komma verschieben und dann hat man eine andere Skala in der anderen.

Martin

Ja, aber man könnte halt auch sagen

die Grenze, ja.

Johannes

Das sind die Grenzen von so einem Typsystem.

Johannes

Du hast immer Sachen, die vom gleichen Typ sind, aber unterschiedliche Bedeutung haben.

Johannes

Das klassische Beispiel ist die String-Format-Methode, ja, Printf im klassischen Sinne.

Johannes

Die nimmt zwei Strings und der eine ist das Format und der andere ist das, was in das Format eingesetzt wird.

Johannes

Und du kannst die nicht auf Type-Ebene unterscheiden, weil das sind beide Strings.

Johannes

Und diese Grenze gibt es immer.

Martin

Also das beste Beispiele.

Johannes

Immer eine Grenze Bedeutung und Inhalt.

Martin

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

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.

Jochen

Und Java ist halt ein bisschen jünger und Java konnte es halt gleich richtig machen, aber Python halt nicht.

Jochen

Und dann, ja.

Dominik

Und das war, glaube ich, das einzige Mal, das von der Seite irgendwelche Lache kam.

Martin

Ja, aber wenn man zum Beispiel die Unterscheidung zwischen Bytes und Unicode einfach hätte durch Type-Annotations machen können, dann hätte man gar keine neue Python-Version machen können müssen, sondern hätte einfach nur das annotiert und deine IDI sagt dir dann, ach, an der Stelle versuchst du aber Unicodes plus Bytes zu machen, das geht doch nicht, böse, böse.

Martin

Und ja.

Johannes

Habt ihr denn eine Lösung für dieses Einheitenproblem?

Johannes

Habt ihr da was, was wir uns Tipps geben?

Martin

Es gibt eine Bibliothek namens Pint, die ist ganz gut, die dann halt den, aber die arbeitet halt erst auf der Ausführungsebene, nicht auf der ID-Ebene, dass man halt die Werte, die tatsächlich, die haben dann eine Einheit und das funktioniert dann auch ganz gut, da kann man sich dann Meter, Millimeter addieren und das macht dann alles Richtige.

Martin

Und wenn man versucht, Meter mit Sekunden zu addieren, 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, aber 1000 Sekunden meinte, ist dann doof.

Martin

Ja genau, 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 IDI das Richtige.

Martin

Da sieht man da schon, dass das passiert.

Martin

Und nicht erst, wenn dann blöderweise ein einziges Mal diese komische Funktion beim Landen auf dem Jupiter ausgeführt wird und dann halt eine Exception geworfen wird, anstatt das.

Jochen

Ja, das ist dann halt der falsche Zeitpunkt.

Dominik

Das ist also so einige Experimente, die man einmal machen kann, das ist schon sehr kritisch, ja.

Jochen

Ja, ja, ja.

Jochen

Ja, das ist, ich bin mir noch nicht so, ich bin mal auch gespannt, ich meine, Type-Script geht da ja auch sehr.

Martin

Forsch voran.

Jochen

Ja, genau.

Jochen

Und da habe ich das letztens gesehen, ich weiß nicht genau, dass da Leute, dass man auch noch, man kann fast aus den, wenn man die Type-Annotationen richtig schon, kann man fast den Code da schon generieren, sozusagen, weil da schon so viel Informationen drin ist, dass man halt sagen kann, okay, jetzt ist klar, was die Funktion machen muss.

Jochen

Aber es fühlt sich irgendwie auch ein bisschen, also es ist auf der einen Seite interessant, auf der anderen Seite denkt man sich so, boah, das ist aber ganz anders.

Dominik

Ja, aber ich glaube tatsächlich, diese ganzen Typen-Geschichten heben wir uns mal für eine andere

Folge auf.

Jochen

Ja, ja, das müssen wir mal irgendwann.

Jochen

Ja.

Dominik

Nein, also ich fand das sehr interessant, Martin.

Dominik

Vielen Dank dafür.

Dominik

Das ist immer total spannend, für was Python alles so benutzt wird und über was man da so stolpert.

Dominik

Das ist super wichtig.

Dominik

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

Dominik

Hast du ein bisschen Magie hinter.

Dominik

Und man hat halt immer so die schnelle Magie in den Fingern, dass ich mal das irgendwie.

Dominik

Ja, habt ihr noch irgendwas zu diesem Thema oder kommen wir langsam dem Ende entgegen?

Dominik

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

Martin

Nö, wir sind jetzt dann auch durch.

Dominik

Also ich fand

es super spannend.

Johannes

Dieser ganze Problembereich, lauter Sachen, die man so als normaler Programmierer, sag ich mal, nicht so sieht, die da auftreten 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, dass wir einen Pick der Folge machen.

Dominik

Ich weiß nicht, ob du das schon kennst.

Dominik

Also du musst ein Python-Modul irgendwo raussuchen und sagen, warum du das toll findest.

Dominik

Musst nichts mit deinem Thema zu tun.

Jochen

Da kann auch was anderes nehmen, muss nicht unbedingt Python.

Johannes

Er hat ja gerade schon Pint gesagt.

Johannes

Da kann man den kurzen.

Dominik

Du hast doch einen Freischos oder draus, Pint.

Johannes

Soll ich mal anfangen, weil ich habe nämlich einen.

Ja.

Ja, achso, ich weiß nicht.

Johannes

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

Johannes

Pip Install Deutschland.

Johannes

Es ist noch nicht, ist noch keine 1.0, es ist leider noch eine kleinere Version.

Johannes

Und das sind einfach Sachen drin mit Daten über Deutschland.

Johannes

Verschiedene APIs angebunden, verschiedene Dinge angebunden.

Johannes

So dass man einfach sich Sachen über Deutschland anschauen kann.

Johannes

Hast du es gerade offen, Dominik?

Dominik

Bundesanzeiger.

Genau.

Answer.

Johannes

Einfach interessante Daten über Deutschland, ja.

Geografie und genau, Autobahndaten, das Presseportal, die Polizei Brandenburg, Reisewarnungen, Zollwarnungen.

Das Presseportal der Bundesdaten.

Und das ist jetzt Version 0.1.9, also Deutschland ist noch nicht reif genug für eine 1.0, aber mit deutschen Daten arbeiten möchte, kann sich die so einfach reinholen.

Johannes

Auf eine sehr pythonische Art und Weise.

Dominik

Also ich habe auch von Johannes, was man sagt.

Johannes

Man musste mehr damit machen.

Dominik

Johannes hat mir nicht was über PyTest erzählt und ich habe gesehen, dass man Rich auch mit PyTest machen kann und PyTest Ridge genommen.

Dominik

Man ja einfach, dass es dann ein bisschen hübschere PyTest-Ausgabe gibt.

Jochen

Ja, äh.

Dominik

Doch, du wolltest was außerhalb von PyPi nehmen?

Ja, genau.

Jochen

Ich habe deswegen nur so gemeckert, weil ich was hatte, was da nicht reinpasst.

Jochen

Deswegen dachte ich, muss ich da mal schon mal gleich irgendwie entsprechend positionieren.

Jochen

Genau, was ich picken würde, das habe ich von der PyCon mitgebracht und das hat der in einem Lightning Talk, Florian Buhin von einer der Pet-Test-Mainter hat das vorgestellt.

Jochen

Und zwar, weil er immer nachgucken musste, wie F-String-Geschichten dann nun, mit denen man ja wahnsinnig viel machen kann, wie man das denn zu in dem welchem Fall macht, hat er ja eine Seite schnell mal hochgezogen, die nennt sich F-String.help slash Cheat slash, also so ein Cheat-Sheet für Python-F-Strings.

Jochen

Und ja, das ist tatsächlich sehr gut gemacht und hat mir auch schon geholfen, finde ich super.

Jochen

Genau.

Jochen

Sollte man sich irgendwo hinlegen, wo man das dann irgendwie wiederfindet.

Die etwas ältere Variante davon heißt PyFormat, Pyformat.info.

Ah, okay.

Johannes

Kann man über Prozent- und Punktformat-Formatierung nachlesen.

Johannes

Habe ich auch schon, habe ich mich schon sehr, sehr häufig aufrufen müssen.

Ja.

Dominik

Vielen Dank, Martin, dass du dabei warst und mit deinem Wissen bereichert hast.

Jochen

Ja.

Martin

Danke auch, dass ich das schön erzählen konnte.

Jochen

Ja, genau.

Dominik

Danke Johannes und bleibt uns alle gewogen.

Dominik

Hört uns schalten es wieder rein.

Dominik

Irgendwelche Kommentare an hallo atpythonpodcast.de.

Dominik

Genau.

Dominik

Und einfach bis zum nächsten Mal.

Autra.

Tschüss.

Tschüss.

Bis dann.

Ciao.