Transkript: Python Entwicklungsumgebung 2020 Edition

· 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 in der 16., 17.

Episode.

Dominik

Heute geht es um eure Entwicklungsumgebung.

Dominik

Ja, was machen wir eigentlich?

Ich bin der Dominik.

Dominik

Bei mir ist wieder Jochen.

Ja, hallo.

Dominik

Wir sind diesmal wieder in der Raumschiffzentrale.

Jochen

Genau.

Jochen

Da sind wir ja eigentlich nicht so häufig, aber heute irgendwie, glaube ich, zum zweiten Mal.

Ja, zum zweiten Mal.

Jochen

Sieht auf jeden Fall beeindruckend aus mit so drei Monitoren und vielen blinkenden Lichtern.

Dominik

Es gibt ja sogar auch einen Bonsai-Baum und einen Kaktus.

Jochen

Wow.

Dominik

Was auch immer die in der Taliche machen, aber ja.

Dominik

Ja, Entwicklungsumgebung heute.

Dominik

Wir haben euch leider ein bisschen warten lassen mit der Episode.

Dominik

Wir sind gerade sehr eingespannt gewesen in letzter Zeit.

Dominik

Das tut uns natürlich sehr leid, aber ihr werdet nicht auf uns verzichten müssen.

Dominik

Wir machen auf jeden Fall weiter und versuchen auch wieder regelmäßiger Folgen aufzunehmen.

Dominik

Also seid uns nicht böse und hört uns nicht mehr.

Jochen

Spontan ist halt einfach irgendwie alles auf einmal, was so passiert.

Dominik

Ja, wie es immer so ist.

Dominik

Naja, wir lassen uns davon nicht abhalten und sind weiterhin gute Dinge.

Jochen

Ja, genau.

Jochen

Also, ja, ich meine, wie kam wir eigentlich auf das Thema?

Jochen

Ich glaube, ah, ja, richtig.

Jochen

Apple hat mal wieder, das ist natürlich, das könnte jetzt vielleicht für Leute so ein bisschen langweilig sein, die jetzt keine Apple-Hardware verwenden.

Dominik

Ich erzähle gleich ja noch was zu was an.

Jochen

Apple hat halt Ende des Jahres, äh 2019 muss man sagen, neue Hardware rausgebracht.

Jochen

Und diesmal ist es tatsächlich auch wieder irgendwie sozusagen Grund zur Freude.

Jochen

Das war lange Zeit nicht der Fall.

Jochen

Irgendwie viele Leute behaupten, so 2015 sind so die letzten MacBooks rausgekommen, die man gut kaufen konnte.

Jochen

Und da ist auch was dran.

Jochen

Ich habe selbst irgendwann das 2016er MacBook Pro, glaube ich, mal gekauft mit Touchbar.

Jochen

Und das war ziemlich furchtbar.

Jochen

Das war tatsächlich, muss ich sagen, so.

Jochen

Also ich mache, ich verkaufe, ich verwende so MacBooks zum Entwickeln seit 2004 ungefähr, glaube ich.

Dominik

Das ist schon eine ganze Weile.

Jochen

Also ich meine

Dominik

es nicht, ich habe immer alle möglichen Maschinen hier stehen, meinte ich.

Jochen

Vorher war ich eher auf Linux, aber das Problem mit Linux ist dann halt irgendwie, vor allen Dingen, wenn man es damals auf Laptop-Hardware laufen hat lassen, dann hat immer irgendwie irgendwas nicht richtig funktioniert.

Jochen

Das heißt, entweder Video oder Audio ging nicht so ordentlich.

Jochen

Oder man schließt halt einen Monitor an und dann passieren seltsame Dinge und irgendwie dieses ACPI, ACPI, ich weiß nicht genau, dieses Einschlaf, Aufwach-Ding.

Jochen

Es hat auch nie so richtig toll funktioniert.

Jochen

Und man muss halt irgendwie dauernd seinen Kernel neu kompilieren und so.

Und das war irgendwie irgendwie.

Dominik

Ja, ich habe einige G-Versuche auch gemacht unter verschiedenen Linux-Distributionen, die jedes Mal mich nicht überzeugt haben, dass außerhalb von Servergebungen oder sowas einzusetzen zu wollen.

Dominik

Ich werde von den Leuten im Computerclub immer so ein bisschen belächelt.

Dominik

Ich habe tatsächlich ein, zwei Windows-Maschinen hier.

Jochen

So was.

Jochen

Ich meine, das ist ja auch nur wirklich sehr, also das ist ja, wie kommt es denn dazu?

Jochen

Naja, gut, vielleicht

Dominik

unter sich oder so, ja.

Jochen

Nee, gut, ich kann durchaus verstehen.

Jochen

Also, was ich auch mal höre, ich habe auch jetzt in letzter Zeit nochmal Windows auf dem Laptop gehabt.

Jochen

Und was auch sonst Leute sagen, ist das alles nicht mehr so furchtbar schlimm.

Jochen

Man kann also mittlerweile auch Windows ganz gut als Entwicklungsumgebung verwenden.

Dominik

Dachte, erzähle ich euch auch gleich was, wie man das

Jochen

machen kann.

Jochen

Ja, aber also ja, Linux ist eigentlich schon toll, aber ich dachte mir, ich mache das den ganzen Tag auf der Arbeit schon irgendwie so an Linux-Kisten rumfrickeln.

Jochen

Da irgendwie hat man dann vielleicht dann doch irgendwann, wenn man mal einen Laptop auch zu was anderem verwenden will, außer jetzt entwickelt oder irgendwie.

Multimedia.

Ja.

Jochen

Oder so Dinge, die man halt auch machen kann, ohne jetzt da irgendwie einen Kernel kompilieren zu wollen, dann ist das halt doof.

Jochen

Und dann hat man irgendwann auch keine Lust mehr drauf.

Jochen

Und dann dachte ich, na gut, da muss es doch eine Alternative geben.

Jochen

Und ja, aber das ist ja auch gerade im Klubfeld sehr, sehr verbreitet, dass Leute da halt Macs verwenden.

Jochen

Mein Hauptgrund

für Windows ist tatsächlich die Spielerei.

Dominik

Ich bin ein leidenschaftlich, spiele ich gerne rum irgendwelche Spiele.

Dominik

Und das geht natürlich auch nicht so wirklich.

Jochen

Nee, das geht glaube ich nur unter Windows.

Jochen

Oder ich weiß nicht auch, ich kenne viele Leute, die da eher so halt dann Konsolen verwenden.

Dominik

Ja, ich habe halt nutzt gerne Steam, wenn ich jetzt auch noch schon wieder Schleichwerbung.

Dominik

Und da gibt es halt auch den Link und so, das kann man ganz gut kombinieren mit einem Windows-Rechner und dann läuft er halt einfach auf deinem Fernseher zu Hause im Wohnzimmer und dann kannst du da mit Controllern mit deinen Kumpels vorsitzen und irgendwelche Indie-Games stocken.

Jochen

Okay, ja, das klingt tatsächlich ganz interessant, weil ich meine, jetzt so die eben, also ich meine, man will es ja auch vielleicht mal gemütlich haben, wenn man jetzt irgendwie was spielt.

Jochen

So einen lüftenden, lauten, blinkenden Kasten irgendwie im Wohnzimmer stehen haben, das will jetzt vielleicht auch nicht.

Dominik

Aber ich möchte natürlich die Modding-Fähigkeit haben und die Rechner sind meistens immer wieder ein bisschen schneller, es sei denn, die neueste Generation ist gerade draußen, als irgendwie so eine Konsole und viel flexibler und so.

Dominik

Von daher.

Dominik

Das kriege ich alles nicht hin und ich habe auch keine Lust da, den ganzen großen Herstellern immer hinterher zu kaufen.

Dominik

Aber naja, das ist ja so eine andere Geschichte.

Dominik

Wir wollten heute ja Entwicklungsumgebung.

Jochen

Genau, genau, genau.

Jochen

Ja, aber ich will da mal noch gar nicht mit meiner Notebook.

Jochen

Sorry.

Dominik

Deine Story ist ein Note-Story.

Dominik

Ich mache aber trotzdem noch einen kleinen Break.

Dominik

Okay.

Dominik

Weil eure Fragen, Anmerkungen, Kommentare und so weiter, könnt ihr einen Hallo at Python-Podcast hier schicken.

Dominik

Das wollte ich eigentlich auch noch sagen.

Okay.

Hast du losgelegt, ja.

Dominik

Ja, sorry.

Dominik

Und wir wollten noch so ein bisschen angeben, weil wir haben jetzt bei einigen Abonnenten.

Dominik

Vielen Dank dafür, dass ihr alle so fleißig zuhört.

Jochen

Ich bin überrascht, das ist immer wieder.

Jochen

Also ich meine, das ist ja nicht so wirklich regelmäßig, was wir machen und lang und langatmig und weiß nicht.

Jochen

Und trotzdem irgendwie sieht das so aus, als ob es da irgendwie tatsächlich Leute gibt, die das interessiert.

Jochen

Ich war jetzt auf dem letzten Py-DDF-Treffen, war auch jemand da, der meinte, äh, von den Pi-DDF-Treffen erfahren über den Podcasts.

Dominik

Das wollte ich leider nicht.

Das hat einen guten Grund.

Jochen

Also ja, genau.

Jochen

Das war eine erfreuliche Entwicklung.

Dominik

Ja, aber wir erwarten mit genau News aus der Szene und so, bevor wir jetzt in das Ding machen.

Ach so, okay.

Dominik

Ich mach mal so ein Chapter-Mark hier, das muss ich jetzt sagen.

Jochen

Ich weiß gar nicht genau, ob es da irgendwas Besonderes gab.

Jochen

Ich habe jetzt.

Dominik

Okay, die Chapter-Markt, die haben gerade irgendwie überhaupt nicht funktioniert.

Jochen

Ja, hat nicht so richtig funktioniert.

Jochen

Ja, ich habe auch mal das Problem, dass das nicht so richtig klappt.

Jochen

Also entweder man muss da reinklicken oder man muss da irgendwie noch was anderes konfigurieren oder so.

Jochen

Aber bei mir funktioniert das auch nicht so richtig gut.

Jochen

Naja, muss man halt hinterher nochmal nacharbeiten.

Jochen

Genau, also nee, so wirklich interessante, tolle Neuigkeiten.

Dominik

Python 2 ist tot.

Jochen

Achso, ja, natürlich, okay.

Dominik

Wir sind noch jetzt im neuen Jahr, wir haben doch die erste Folge diesen Jahres.

Jochen

Ja, ja, ja, ja.

Jochen

Ja, Python 2 ist weg, stimmt.

Jochen

Und das ist ja eigentlich auch eine sehr gute Geschichte.

Jochen

Es gibt jetzt nochmal ein Release im April, aber das ist halt nur sozusagen für die Änderungen, die bis Ende des Jahres irgendwie dazugekommen sind, um das halt noch releasen zu können.

Jochen

Und das war es halt dann.

Dominik

Ja, da können die ganzen Leute endlich, ja, man könnte jetzt anfangen, seine Python 23-Amstellungen mal in Gänge zu bringen.

Dominik

Da haben so ein paar Anfang ein, die das tatsächlich gemacht haben, die dann nochmal umgestiegen sind, jetzt zeitig.

Ja.

Naja, wie

auch immer.

Jochen

Ja, also das war übrigens auch auf dem letzten paar DDF-Treffen ganz interessanter.

Jochen

Gab es von Marc André halt einen Vortrag dazu, wann denn jetzt nur wirklich richtig Schluss ist, weil ich meine, man kann jetzt, selbst wenn man sagt, okay, Support ist mir eigentlich egal, ich mach einfach weiter.

Jochen

Ja, ich meine, was soll schon passieren?

Jochen

Alles egal.

Jochen

Ich bin da gar nicht darauf angewiesen, dass ich da jetzt offiziellen Support von irgendwem habe, habe, betreibe ich meine Systeme einfach weiter.

Jochen

Aber es gibt dann so Dinge, die dann irgendwann tatsächlich kaputt gehen werden.

Jochen

Unter anderem halt deswegen, weil Setups-Tools selbst nicht mehr unter Python 2 funktionieren werden, ab jetzt einer relativ aktuellen Version irgendwann 45, 0, 45, ich weiß nicht, irgendwas.

Jochen

Oder eins drunter, keine Ahnung.

Jochen

Und das bedeutet halt, wenn, sobald das nicht mehr richtig geht, wird halt auch PyPI nicht mehr richtig gehen und sobald das nicht mehr geht, ist halt irgendwie vorbei, weil dann kannst du halt nichts mehr installieren.

Dominik

Nativer Python-Interpreter.

Ja.

Jochen

Naja.

Jochen

Also man sollte sich tatsächlich.

Dominik

Selbstgeschriebene Skripte könnten ja noch gehen.

Jochen

Nee, du kannst tatsächlich nichts mehr installieren.

Dominik

Ne, du brauchst nicht installieren, du hast dir selber geschrieben.

Jochen

Ja, gut, also die keine Abhängigkeiten so sonst irgendwas machen, ist zu schwierig.

Jochen

Die Bibliothek ist groß.

Jochen

Vielleicht geht da ein bisschen was an.

Dominik

Durch Python 2 ist endlich weg.

Dominik

Ja, könnt ihr endlich für immer weglassen.

Dominik

Alles neue, alles Python 3.

Dominik

Guckt euch gar nicht mehr an, was in Python 2 irgendwann mal Legacy war.

Dominik

Es ist egal.

Jochen

Ansonsten, genau, ich weiß nicht, wie lange jetzt 3.8.1 raus ist.

Jochen

Auch schon eine ganze Zeit.

Jochen

Also die erste Minor Version von A3.

Jochen

Also 3.8 verwende ich jetzt auch tatsächlich schon bei den meisten Sachen, die ich so mache.

Jochen

Und es funktioniert gut.

Jochen

Die meisten, also normalerweise hat man ja immer noch so Probleme, dass es gewisse Bibliotheken gibt, die so ein bisschen hinterherhinken.

Dominik

Es gibt einen ganz bösen Bug bei 3.8 und Jupyter und Tornado.

Dominik

Ich habe noch gar nicht geguckt, ob bei 3.8.1 weg ist.

Dominik

Ich habe das nämlich manuell gepnixt.

Dominik

Man konnte nämlich die Jupyter-Notebooks dann einfach nicht mehr laufen lassen.

Zumindest jetzt in Windows hat das nicht funktioniert.

Dominik

Das war immer sehr anstrengend.

Dominik

Aber ja, wenn man in Tornado eine Zeile eingefügt hat, das war ein Bug bei Async, irgendwas, dann ging es wieder.

Dominik

Also das konnte man manuell beheben, aber ja.

Jochen

Ja.

Jochen

Ja, genau, also das, wenn das jetzt tut.

Jochen

Also ich habe jetzt tatsächlich sonst nichts gemerkt, außer dass halt ein paar Pakete noch ein bisschen gebraucht haben.

Jochen

OpenCV und so sind immer so Kandidaten, die dauern ein bisschen.

Jochen

Aber inzwischen funktioniert alles und super.

Jochen

Also kann man tatsächlich inzwischen gut benutzen.

Jochen

Ja, hatten wir noch irgendwelche Dinge, die so.

Dominik

Gehst du zur EuroPython?

Jochen

Ja, gute Frage.

Jochen

Ich denke drüber nach.

Jochen

Ich überlege auch, also die Frage wäre halt, entweder nach Porto halt zur Django-Con-Oba irgendwie fahren oder halt EuroPython.

Dublin.

Jochen

Ja, auch interessant, aber auf jeden Fall irgendwie auf eine von den beiden

Dominik

werde ich auf jeden Fall.

Dominik

Vielleicht gehen wir ja zusammen hinten auf einen von beiden Kommentaren.

Jochen

Also dann würde natürlich auf die EuroPython besser passen und dann, äh, ja.

Okay.

Jochen

Ach, ich muss aber irgendwann auf die DjangoCon.

Jochen

Naja.

Jochen

Werde ich auch nochmal irgendwie schaffen.

Jochen

Aber ja, das ist auf jeden Fall, es gibt eine Menge interessante Konferenzen dieses Jahr.

Jochen

Ich glaube, ich werde auch auf der PyData oder PyCon.de auch sein dieses Jahr, denke ich wieder.

Ja, ja, das ist eine gute Idee.

Dominik

PyData oder PyCon.de.

Jochen

Ne, die ist ja zusammen.

Dominik

Ja, ich dachte, die sind parallel.

Jochen

Ja, halt in einem Gebäude.

Dominik

Ja, okay, das heißt, man kann hältst herlaufen.

Jochen

Nee, das sind keine Getrennten, das ist eine Konferenz.

Achso.

Dominik

Ich dachte tatsächlich, das wären zwei wieder aufgeklärt und keine Ahnung.

Na gut.

Ja.

Da seht ihr uns.

Dominik

Wir sehen uns noch im Python Barcamp.

Jochen

Oh ja, das sitzt im nächsten Köln, ne?

Jochen

Ja.

Jochen

Genau, das ist eine tolle Veranstaltung.

Jochen

Das hätte es halt schon wieder so ein bisschen ausgebucht.

Ja, ne?

Dominik

Es gab auch eine in Leipzig, glaube ich, die soll ganz gut gewesen sein.

Dominik

Oder war die schon eigentlich?

Oder ist die noch in Planung?

Dominik

Ich weiß nicht, aber das war das erste Mal, dass da was ist.

Dominik

Ich weiß auch nicht, ob da noch Plätze frei sind, aber falls ihr da in der Ecke seid, dann schaut doch nochmal

Jochen

da noch.

Jochen

Ja, genau.

Jochen

Aber ich glaube, auch bei dem Python Barcamp, Pythoncamp in Köln ist es so, dass halt immer noch so ein bisschen Kontingente freigegeben werden.

Dominik

Ich glaube, das zweite Kontingent ist schon freigegeben.

Dominik

Ich glaube, es ist durch.

Dominik

Ich könnte mal kurz gucken, ob die noch Plätze frei sind für alle Menschen, die das jetzt noch hören.

Dominik

Wir nehmen jetzt übrigens gerade auf, am 3.

Dominik

Februar ist heute, glaube ich, ne?

Jochen

Ja.

Ja, okay.

Jochen

Ja, das ist natürlich ein bisschen doof dann, wenn man da eine Veranstaltung bewuppt, wo man gar nicht mehr.

Dominik

Das in Leipzig ist übrigens am 19.

Dominik

Januar gewesen.

Ja, gut.

Ah, okay.

Dominik

Gerade eine Woche her.

Ja, gut.

Ja, ich glaube, es sind keine Plätze gerade mehr, wie ich das sehe, aber

das nächste Mal.

Jochen

Genau, muss man schnell sein.

Dominik

Aber jetzt vielleicht doch dann unser Thema.

Jochen

Ja, Thema Entwicklungsumgebung, genau.

Jochen

Und ich würde natürlich irgendwie gerne aufs Checking kommen, ganz unten anfangen bei Hardware.

Jochen

Ja, okay.

Jochen

Ja, und zwar, genau.

Jochen

Ja, ich bin irgendwann mal auf dem Meck umgestiegen.

Dominik

Kann ich ja nicht so ganz verstehen.

Jochen

Ja, ich meine, ich habe halt dieses Problem mit dem Spielen nicht so.

Jochen

Ich hatte es einfach nicht.

Jochen

Ich habe das irgendwann mal wieder versucht.

Jochen

Ich habe als Kind und so fand ich das auch toll, aber dann irgendwie, weiß nicht, irgendwie.

Habt ihr das gehört?

Dominik

Als Kind so mit dem Zaun verjahrt.

Jochen

Ja, es war auch nicht so schlimm, dass es.

Dominik

Ein Erwachsenenstamtisch, wo die Leute alle hinkommen.

Jochen

Ah, okay.

Jochen

Ja, das.

Jochen

Nee, habe ich nicht.

Jochen

Und es gibt ja andere, die dann auch sowas sagen wie, ich bin als Kind irgendwie den Topf mit den Spielen gefallen, deswegen deswegen darf ich das heute nicht mehr.

Jochen

Das ist bei mir gar nicht so.

Jochen

Also ich hatte es zwar schon gern gemacht, aber so extrem war das alles nicht.

Jochen

Und ich habe irgendwie die Lust daran verloren.

Jochen

Und später das aber auch nochmal versucht zu reaktivieren und habe mich dann auch so mit Freunden abends vor eine Konsole gesetzt und bin eingeschlafen immer.

Jochen

Das hat nicht funktioniert.

Jochen

Echt nicht.

Jochen

Ich weiß nicht warum.

Du hast das falsche Spiel gespielt.

Jochen

Ja, oder ich war einfach zu schlecht.

Jochen

Ich habe keine Ahnung.

Jochen

Auf jeden Fall.

Dominik

Das wird es auf jeden Fall gewesen sein.

Jochen

Ja, das hat einfach überhaupt nicht mehr funktioniert und jetzt habe ich es inzwischen aufgegeben und denke, naja, egal.

Jochen

Aber man kann ja auch.

Dominik

Aber nicht gewonnen.

Jochen

Man kann ja auch irgendwann andere interessante Dinge an Computern tun insofern.

Jochen

Und genau, insofern ist es für mich mit Mac nicht so ein Problem.

Jochen

Und was halt an den Dingern sendet, ist es halt, ja, die funktionieren halt eigentlich einfach so und sie haben halt eine schöne Shell, so wie ein Linux-System halt auch.

Dominik

Wir machen erstmal noch ein bisschen.

Jochen

Kann man um beliebige Shells verwenden.

Jochen

Aber das, was halt sozusagen damals Standard war, ist eine uralte Bash.

Jochen

Und dann war es zehn Jahre, über zehn Jahre lang weiterhin eine uralte Version einer Bash.

Jochen

Also, ja, muss man auch damals schon irgendwie was anderes installieren, wenn man auch nicht schneller haben wollte.

Für alle

Dominik

Leute von euch, die Windows nutzen, bitte nutzt nicht CMD, sondern nutzt die PowerShell.

Dominik

Die ist übrigens auch mittlerweile für Linux-Gript.

Dominik

Das heißt auch, unter Linux kann man sich eine PowerShell installieren und die weiter nutzen.

Dominik

Ich weiß nicht, wer das macht, aber es geht wohl gut.

Jochen

Ja, also genau, ja, PowerShell habe ich auch schon gehört, gute Sachen drüber gehört.

Jochen

Aber habe ich jetzt auch noch nie wirklich Bedarf gesehen, das auszuprobieren.

Jochen

Aber ja, muss ich mir vielleicht mal angucken.

Jochen

Also es ist Bash war die Standard-Shell auf dem Mac langer Zeit und ist dann aber ersetzt worden durch die ZSH.

Jochen

Jetzt eigentlich gar nicht so lange her.

Jochen

Und das ist natürlich eigentlich auch schon eine tolle Shell.

Jochen

Und ich habe eigentlich sonst auch schon ganz lange, verwende ich die ZSH, eigentlich immer auch als noch nicht Standard war.

Dominik

Das ist auch deine Lieblingsschell?

Jochen

Nee, ja doch, kann man sagen, eigentlich stimmt das schon, es wäre schon meine Lieblingsschell, aber momentan verwende ich nochmal eine andere.

Jochen

Aha, weil ich dachte, jetzt, wo MacOS, wo Mac OS auf ZSH als Standard-Shell gewechselt ist, ich meine, das ist da mal so, dann ist das irgendwie nicht mehr help genug für mich.

Jochen

Da muss ich mal was Neues gucken, ob es da nicht.

Jochen

Und tatsächlich einer, also ich habe dann jetzt einfach mal mit dem neuen neuen Rechner halt dann auch eine neue Shell genommen, und zwar Fisch.

Dominik

Ja, du hast ja auch Fisch genommen.

Dominik

Ja, wollte ich mich gerade auch sagen.

Dominik

Fisch ist toll, ja.

Jochen

Es ist eine schöne, ist auch, glaube ich, von einem Apple-Mitarbeiter geschrieben worden.

Jochen

Auch tatsächlich so mit Mac im Hintergrund.

Dominik

Ich mag Fisch, also manchmal Sachen funktionieren auf einmal nicht und ich so, warum nicht?

Dominik

Achso, oben ist es die Shell, aber sonst ist Fisch echt cool.

Jochen

Ja, ich muss auch sagen, es gefällt mir tatsächlich ziemlich gut.

Jochen

Es funktioniert noch nicht alles so rund wie bei der ZSH früher mal.

Jochen

Aber es sieht schon alles sehr, sehr gut aus.

Dominik

Du benutzt Fisch tatsächlich dann auch für den Mac.

Dominik

Ja.

Dominik

Also ich benutze tatsächlich Fisch nur für meine Server und für mein WSL, also Windows-Sub-System Linux.

Dominik

Und sonst eher nicht.

Dominik

Also auf dem Windows funktioniert das noch nicht so leider nicht so richtig.

Also auf nativen Windows.

Dominik

Da benutze ich dann tatsächlich meistens PowerShell.

Jochen

Ah, okay.

Dominik

Ja, also eigentlich nur PowerShell sonst.

Jochen

Ja.

Jochen

Ja.

Dominik

Das geht übrigens auch unter Windows.

Dominik

Ihr könnt euch unter Windows super schöne Terminal-Programme benutzen.

Dominik

Es gibt sogar ein, was neu entwickelt wird gerade von Microsoft, das gar nicht so schlecht aussieht.

Dominik

Ich finde, das ist noch ein bisschen früh in der Entwicklung, da fehlen mir noch so ein paar Features.

Dominik

Ich mag immer so Guake-Style-Terminals, die so von oben reinscrollen oder so.

Dominik

Und da gibt es dann zum Beispiel den Commander oder so, den ihr euch besorgen könnt.

Dominik

Ja, das ist so das eine, dass man so ein Terminal braucht, auf jeden Fall.

Dominik

In der Entwicklungsumgebung ist absolut Pflicht.

Dominik

Also das solltet ihr ja schon wissen.

Dominik

Kann natürlich auch schön im Jupyter bleiben, aber normalerweise Terminal, ohne Terminal kommt man nicht wie weit.

Jochen

Ja, ich sehe auch Leute, dass sie dann halt einfach die eingebaute Shell von ihrer IDE verwenden oder so, aber das ist schon so ein bisschen geht natürlich, aber.

Dominik

Ja, auch das ist ja meistens dann eine Shell, eine Systemshell irgendwie, die eingebunden ist.

Jochen

Ja, also genau.

Dominik

Hast du ein Lieblings Terminal-Programm?

Jochen

Ja, auf dem Mac auf jeden Fall.

Jochen

Da ist es Item 2.

Jochen

Und ja, das eingebaute Terminal von Mac OS X ist nicht mehr so schlecht oder muss ich mich daran gewöhnen, macOS.

Jochen

Ist nicht so schlecht oder war früher besser geworden, sagen wir mal so.

Jochen

Aber tatsächlich ist es nicht so wirklich vergleichbar mit dem, was Item 2 alles kann.

Jochen

Die kann halt auch so tolle Sachen wie, die hat halt eine Shell-Integoration halt zu ZSH oder auch Officiell oder auch Bash ginge.

Jochen

Und dann kann die eben solche Dinge UI-mäßig abbilden, wie man sieht die History oder kann halt sagen, okay, kopier mir mal einen Pfeil irgendwie irgendwo hin oder so.

Jochen

Und das geht halt, also man kann halt Rechtsklick machen auf ein L, man macht LS, ja, und sieht halt ein Verzeichnislistiger und sagt halt irgendwie Rechtsklick da drauf, kopieren wir das mal irgendwo hin oder so.

Jochen

Sowas geht.

Jochen

Oder eben ja diverse, man sieht halt, welche Maschinen, auf welchen Maschinen man ist und so.

Jochen

Also das unterstützt einen auf so einem UI-Level halt bei vielen Dingen, die jetzt so eine Shell selbst ein bisschen blöd wäre.

Jochen

Oder man kann halt Bilder direkt drin anzeigen und so.

Jochen

Also das Ding ist schon sehr nett.

Jochen

Es hat auch eine sehr schöne T-MAX-Integration.

Jochen

Und das, da kommen wir vielleicht auch noch später drauf.

Jochen

Aber genau, ich wollte eigentlich, bevor wir jetzt nochmal so da in die, in die, äh, was verwendet man eigentlich für Programme-Richtung gehen, nochmal kurz auf die Hardware eingehen.

Dominik

Kurz, bevor du das machst, müssen wir das Konsulthema kurz abschließen, weil uns das ja wieder rum.

Dominik

Also vielleicht für Windows nochmal.

Dominik

Also Commander kann ich tatsächlich sehr empfehlen.

Dominik

Ich finde es auch nicht ganz ideal und da sind noch so ein paar hakelige Sachen drin.

Dominik

Vor allem mit Schriftsätzen kann er nicht immer alle Zeichen darstellen, wie er gerne hätte.

Dominik

Also bei FishShell hat er da ein, zwei hakelige Sachen.

Dominik

Aber ich finde es immer noch die beste Variante für Windows für mich.

Dominik

Dann gibt es noch Hyper-JS, das war immer ganz lustig.

Dominik

Aber ich fand es ein bisschen langsam und es hat ein bisschen rumgebackt, aber es hat so tolle grafische Effekte.

Dominik

Ich weiß nicht, ob du sowas kennst.

Dominik

Man kann das alles im Bund machen und dann redet irgendwie ein Pokémon mit dir, wenn du tippst oder so.

Jochen

Ich weiß es ja nicht.

Jochen

Ich weiß es ja nicht.

Dominik

Ich benutze es nicht.

Dominik

Ja, und ansonsten das Neue von Windows ist relativ gut, das Windows-Terminal.

Dominik

Aber wie gesagt, das ist noch Entwicklung.

Dominik

Es ist, glaube ich, erst so ein Jahr, anderthalb Jahre jetzt überhaupt da.

Dominik

Und mal gucken, Ende des Jahres wollte ich auf jeden Fall dem nochmal eine Chance geben.

Dominik

Also es ist spätestens dann, wenn es einen Guacemodus hat, dann switch ich.

Okay.

Jochen

Ja, ich bin mal gespannt, wie sich das unter Windows so entwickelt.

Jochen

Also offensichtlich ist es ja irgendwie so, dass man bei Microsoft irgendwie verstanden hat, dass das, dass es da eine interessante Zielgruppe gibt, beziehungsweise unter Umständen so gewisse Akzeptanzprobleme.

Jochen

Ich weiß nicht, ob ich das hier schon mal erzählt habe, aber gab es auch einen Podcast mit dem, ich glaube, Produktmanagement-Chef oder so, ich weiß nicht mehr genau, von wie es Code.

Jochen

Der hatte ein, äh, genau, der war als Interviewgast im Talk Python to me Podcast.

Jochen

Und erzählte ja, ja, und erzählte da halt irgendwie so, ja, also wenn man auf Konferenzen geht, also wenn man jetzt die nackten Zahlen anguckt, wie viele Leute, äh, wie viele Prozent der Entwickler verwenden eigentlich Windows, dann verwenden das ganz viele, sonst über 90% oder so.

Jochen

Wahnsinnig viele, wenn man jetzt aber auf Konferenzen geht oder auf irgendwie Treffen von irgendwelchen User-Groups oder solchen Dingen, dann sieht man da praktisch keine Windows-Rechner.

Jochen

Da siehst du halt relativ viel Mac, relativ, also nur noch eine relativ große Gruppe Linux irgendwie mit ihren Lenovo-Sing-Pads.

Jochen

Und das war's.

Jochen

Windows sieht man fast nie.

Jochen

Oder halt ist deutlich in der Minderheit.

Jochen

Und das ist ja irgendwie so aus einer eben Produktmanagement-Perspektive sehr problematisch.

Jochen

Wenn ich denke so, okay, also ja, warum ist das denn so?

Jochen

Und bleiben diese 90% irgendwie noch bei uns, wenn irgendwie alle die, die sie dann eventuell um Hilfe fragen werden oder so, dann halt ihnen erzählen, wechseln mal dein System.

Jochen

Das könnte ja ein strategisches Problem geben.

Dominik

Ja, genau, deswegen geben die, glaube ich, gerade Gas.

Jochen

Das ist Ihnen auf jeden Fall aufgefallen und das ist einer der Gründe, warum es VS-Code überhaupt gibt.

Dominik

Also WSL 2, also Windows hat es von Linux 2, das ist ja nativer Windows-Kernel, Linux-Kernel jetzt an Windows mit drin.

Dominik

Das ist schon echt krass, was sich da so getan hat im Laufe der letzten Jahre.

Dominik

Also auch seitdem finde ich Windows erst ganz gut.

Dominik

Also vorher fand ich es auch immer scheiße, also muss ich auch gestehen.

Dominik

Aber seit 10, das wird

Jochen

da passieren wohl auch Dinger, ja, oder irgendwie GitHub gekauft haben oder so, das hat wahrscheinlich auch viel damit zu tun.

Jochen

Also Microsoft bewegt sich da in eine interessante Richtung.

War das ein geheimer Aktientipp?

Jochen

Ich weiß nicht, ob das jetzt nicht mehr so ist.

Dominik

Wir machen heute eine Gleichwerbung.

Jochen

Dinge am Aktienprozesson passiert.

Dominik

Ja, wir müssen eigentlich mal gesponsert werden.

Dominik

Also falls jemand von Microsoft oder von Apple oder von einer der anderen Firmen, die wir schon genannt haben, zuhört, also wir nehmen eure Spenden natürlich gerne an.

Dominik

Also dann reden wir nochmal.

Dominik

Du wolltest immer Hardware reden, Entschuldigung, wir haben es jetzt so viel.

Jochen

Ja, keine Aktientipps von Programmierern ernst nehmen, bitte.

Jochen

Ja, genau, ich wollte eigentlich kurz auf die Hardware eingehen, weil, ja, also ich meine, genau, was ist eigentlich an Mac-Hardware jetzt aus Entwicklerperspektive so interessant und da ist das Schöne eigentlich, dass man ja halt ein System hat, das auf der einen Seite so eine gewisse Convenience bietet, dass man halt nicht irgendwie selber Kernel kompilieren muss und so und halt auch die ganze Peripherie und das mit dem Einschlafen und Aufwachen und so, das klappt eigentlich immer.

Jochen

Und zwar auch recht zuverlässig, sodass man eigentlich den Rechner praktisch nie ausschalten muss, sondern man klappt ihn halt auf, er ist an, man klappt ihn zu, er ist in einem Modus, wo er praktisch keinen Strom mehr verbraucht.

Jochen

Und ja, trotzdem hat man halt eine ordentliche Unix-Shell und ein ordentliches Unix-System darunter, das so ein bisschen BSD-mäßig ist.

Jochen

Ja, und das ist halt eine sehr, sehr, sehr nette Kombination, weil man halt auf der einen Seite eine ordentliche UI hat und auf der anderen Seite irgendwie aber auch irgendwie mit Shells Dinge tun kann, so wie man das halt so von Linux vielleicht gewohnt ist.

Jochen

Also das war, ich bin gewechselt irgendwie, glaube ich, 2004 mit dem Power, Power, das Ding hieß irgendwie Power Mac K4 oder nicht, ich weiß es nicht genau, oder Powerbook K4, Powerbook K4 hieß es, glaube ich.

Jochen

Und das hat wirklich sehr, sehr viel Spaß gemacht.

Jochen

Also auch gegenüber, ich hatte ja vorher schon eine Menge Linux-Laptops gehabt und so.

Jochen

Und die waren immer so, man klappt sie auf.

Jochen

Und dann irgendwie, man hat so das Gefühl, so, ich meine, gefühlt, der halbe Monitor biegt sich so durch.

Jochen

Das ist halt nicht irgendwie so ein Bildschirm, sondern das ist mehr so wie so ein Blatt im Wind.

3004.

Jochen

Ja, ja, das biegt sich so durch, das Plastik quietscht komisch, man hat so Angst, dass da so Teile rausfallen.

Jochen

Dann guckt man so da drauf und dann sind da halt irgendwie 50 komische, bunte Sticker drauf, die alle extrem hässlich sind.

Dominik

Da hatte ich noch einen dicken Röhrenmonitor.

Jochen

Ja, irgendwie die Unterseite von so einem Laptop sieht aus wie so eine Mondkraterlandschaft.

Jochen

Ich keine Ahnung, warum?

Jochen

Warum ist das so?

Jochen

Ich meine, es ist einfach nur.

Jochen

Ja, und es ist halt so wie die Unterseite von so einem Barthocker, ja.

Jochen

Wo man dann offenbar niemand damit rechnet, dass man jemals runterguckt.

Jochen

Aber bei einem Laptop, das dreht man schon mal um und dann ist halt und allein die so eine Mitzkeile.

Dominik

Weil wenn man den Laptop umdreht und drunter guckt, sieht es aus wie ein Barthocker.

Nein, nein.

Jochen

Die Plasti-Notebooks vorher sahen so aus.

Jochen

Wenn du, äh, wenn du ein MacBook umdrehst, sieht das relativ sauer aus.

Jochen

Also kannst du aufschrauben, es sieht von innen relativ sauber aus.

Dominik

Das ist eine ästhetische Komponente.

Jochen

Ja, aber es ist auch, das macht einen, das macht irgendwas.

Jochen

Also wenn man halt die ganze, wenn man so ein Ding hat, das halt so, ich weiß nicht, das ist so wie gute Küchenmesser oder so, wenn man das hat, das hat irgendwie eine andere Art, damit umzugehen, wenn man das, wenn das halbwegs stimmt oder wenn die ganze Zeit stumpfe Messer hat oder weiß ich nicht, irgendwie scharfkantige Laptops, die komische Geräusche von sich geben, wenn man sie aufhört, dass du klappt.

Das richtige Werk.

Jochen

Das ist, äh, das ist halt schon mal was anderes.

Jochen

Also war für mich auf jeden Fall so ein Ding, danach habe ich nie wieder irgendwie auch noch überlegt, das irgendwie zu wechseln.

Dominik

Das ist ja auch schon ein Premium-Anspruch.

Jochen

Ja, das mag sein.

Jochen

Das ist aber ich meine, wenn man den ganzen Tag davor sitzt, dann ist es halt, wenn man sich sozusagen überlegt, wie viel mehr muss ich jetzt ausgeben pro Minute oder pro Stunde, dann ist das alles egal im Grunde.

Jochen

Dann will man eigentlich das, was am besten funktioniert.

Jochen

Macht natürlich nur Sinn, wenn man das jetzt, wenn man da halt wirklich viel Zeit mit verbringt.

Jochen

Wenn man das am Wochenende eine halbe Stunde mal aufklappt, dann ist es ja auch egal, dann kann es ruhig quietschen.

Jochen

Aber ja, also für jemanden, der professionell entwickelt, dann für den sollte eigentlich, wenn er sich das überlegt, oder ich meine, gut, vielleicht erzähle ich ja, vielleicht habe ich mir das auch noch schön rationalisiert, aber ich denke.

Dominik

Dann hast du dir so schön deine Fanwesten aufgebaut, Joch.

Jochen

Ja, das ist alles versaut.

Jochen

Dann sollte man eigentlich gucken, was ist das, was man, was am besten funktioniert.

Jochen

Und ja, weil es lohnt sich dann eigentlich immer.

Jochen

Und genau, umso härter hat es mich getroffen, dass Apple seit 2015 eigentlich keine ordentliche Laptop-Hardware mehr hergestellt hat.

Jochen

Ja, das fand ich, das war schon, das war schon wieder.

Jochen

Also Touchbar war echt ein Tiefschlag.

Jochen

Vor allen Dingen, weil ich halt.

Die F-Tasten sind weg, es gibt eine Touchbar.

Jochen

Also F-Tasten, das ist mir eigentlich alles egal.

Jochen

Die Escape-Taste, das war für mich, das war für mich ein Riesenproblem, weil ich mir ja nicht.

Jochen

Ja, tatsächlich.

Jochen

Warum eine Ente?

Jochen

Okay.

Jochen

Hier das jetzt auch gar nicht als Ente erkannt, ehrlich gesagt.

Jochen

Aber ja, Escape-Taste wie alle User sehr wichtig, weil man kann viele Dinge nicht.

Jochen

Also das schaltet um zwischen Kommando-Modus und Editiermodus.

Jochen

Und so ein Touch-Taste ist halt nicht das gleiche, weil die gibt einem kein Feedback darüber, ob man die jetzt gedruckt hat oder nicht.

Jochen

Das heißt, man haut da drauf, man weiß nicht so genau, hat man jetzt getroffen oder nicht, hat das jetzt einen Druck ausgelöst oder hat das jetzt irgendwie Doppelddruck ausgelöst und man ist wieder im gleichen Modus wie vorher.

Jochen

Also es funktioniert überhaupt gar nicht.

Jochen

Also es geht einfach nicht.

Jochen

Und das heißt, ja, also die einzelne Alternative ist halt dann die Escape-Taste umzubelegen.

Jochen

Ich habe die dann halt auf Capslock gelegt.

Jochen

Aber das hat mir halt so meine sonstige Benutzungserfahrung halt kaputt gemacht, weil ich habe ja teilweise sitze ich ja auch an einem stationären Rechner mit einer externen Tastatur.

Jochen

Und auch da war es eigentlich total toll, dass man die gleichen Tastaturen verwenden kann, wie auf dem Laptop, auf dem Desktop, man hat immer die gleiche Umgebung, man hat immer Track-Tap hinternehmen und es ist überall gleich.

Jochen

Voll gut.

Jochen

Nur jetzt halt leider nicht mehr, weil jetzt hast du halt auf dem einen irgendwie die Escape-Taste auf Caps Lock und auf dem anderen die Escape-Taste auf der Escape-Taste.

Jochen

Super scheiße.

Jochen

Und das.

Dominik

Hat irgendein Designer das cool und fancy und hat gedacht, ey, was nutzt denn überhaupt so eine

komische Taste?

Jochen

Ja, ja, ja, wahrscheinlich, aber das, das, äh, das war.

Dominik

Einer der Menschen, die Multimedia machen.

Jochen

Ja, das, das, äh.

Jochen

Das war schon schlimm.

Jochen

Da hatte ich schon überlegt, okay, wenn das so bleibt, da muss ich vielleicht doch mal drüber nachdenken, wie die Plattform zu wechseln, weil es geht einfach nicht.

Jochen

Und ja, jetzt, 2019, Ende 2019 kam halt ein neues MacBook und es hat wieder eine Escape-Taste zum Glück.

Jochen

Es war immer noch eine Touchbar, ist mir auch egal.

Jochen

Ich meine, benutze ich halt nicht.

Jochen

Ich weiß nicht, ob es dafür irgendwelche sinnvollen Anwendungen gibt, aber die Escape-Taste ist wieder da und damit geht das wieder.

Jochen

Und auch sonst, ach, das Ding hatte ja auch sowieso so, also dieses 2016er MacBook, das war echt so eine, das war so eine, weiß auch nicht, also das hatte auch Tastaturprobleme.

Jochen

Habe ich sie ja schon mal erwähnt.

Dominik

Ja, du hast auf jeden Fall mal eine Service-Einheit einlegen müssen, hast du mir erzählt, ja.

Jochen

Schrecklich, schrecklich, ja.

Dominik

Du hast einen Leserbrief auch geschrieben, seitdem haben wir es wieder geändert, oder?

Jochen

Ja, ich weiß nicht, ob das.

Jochen

Ja, genau, die Tastatur hat sich auch geändert und es sieht auch gut aus.

Jochen

Also die alte Tastatur war zwar sehr flach und so, aber hat irgendwie.

Dominik

Wir werden mit den Dingern ja überhaupt nicht warm, ne?

Dominik

Also ich muss ja dazu sagen, ich schleppe auch immer eine manuelle Tastatur mit zum Laptop, wenn ich den irgendwo mit hinnehme und habe die dann immer in der Tasche.

Dominik

Einfach weil ich das haptische Feedback von den guten mechanischen Tastaturen sehr gerne mag.

Jochen

Ja, kann ich verstehen.

Jochen

Ich habe auch lange an einem Hackbrett gesessen, irgendwie diese alten IBM-Tastaturen, wo so hinten drauf noch handschriftlich notiert war, wer die Qualitätskontrolle gemacht hat.

Dominik

Cherry-Klicks, ne?

Jochen

Aber ich finde die eigentlich auch gar nicht so schlecht.

Jochen

Vor allen Dingen finde ich daran halt gut, dass man da irgendwie die gleiche.

Jochen

Ja, wahrscheinlich hört man sie tatsächlich.

Jochen

Ich bin mal gespannt, ob auch von nicht das Klappern rausfiltert oder nicht.

Dominik

Ich glaube, man hat es gehört.

Jochen

Ja, also was ich vor allen Dingen gut finde, ist halt, dass man dann halt sozusagen überall die gleiche Tastatur hat.

Jochen

Oder überall die gleiche Bedienungsumgebung, weil man hat ja auch Mausgesten sozusagen oder Gesten auf dem Trackpad und die sind halt dann überall gleich, sowohl mobil wie auch am Desktop.

Jochen

Und das ist, das ist halt schon sehr nett.

Jochen

Und ja, irgendwie das Tastatur kaputt und Escape-Test weg, das war alles schon ziemlich ätzend.

Jochen

Aber.

Dominik

Jetzt haben wir 2020.

Jochen

Jetzt haben wir jetzt 2019 einen neuen Mac gekommen und jetzt ist er wieder approved, darf man kaufen, ist okay.

Jochen

Funktioniert ganz ordentlich.

Jochen

Und ja, hat auch, also ja, genau, ich meine, ich meine eine MacBook-Werbung hier machen, aber es wirklich macht Spaß.

Dominik

Ja, du bist ein kleiner Fanboy, man hat's gemacht.

Jochen

Und genau, also das gab ja auch so ein bisschen den Anstoß dafür, überhaupt dieses Thema aufzugreifen, weil ich habe jetzt in kurzer Zeit hintereinander zweimal irgendwie MacBook neu einrichten müssen.

Jochen

Und dachte ich mir so, als ich das das zweite Mal gemacht habe.

Mir macht das Spaß tatsächlich.

Dominik

Also ich sag nur alle, wenn man das oft und

Jochen

viel machen muss.

Jochen

Achso, wenn man das viel machen muss, ja.

Jochen

Ja, beim zweiten Mal dachte ich mir so, okay, ähm.

Dominik

Warum mache ich das eigentlich nochmal?

Jochen

Und vor allen Dingen, warum muss ich das alles nochmal googeln?

Jochen

Kann ich mir das nicht einfach irgendwo hinschreiben und haben dieses Problem nicht vielleicht auch andere Leute und kann das für die nicht auch hilfreich sein.

Jochen

Und vor allen Dingen, mache ich das eigentlich?

Jochen

Das, was ich hier tue, ist das eigentlich irgendwie sinnvoll?

Jochen

Ich muss gerade einen Schluck was an mir.

Dominik

Ja, bitte, bitte.

Dominik

Ja, ich glaube, es ist tatsächlich einigermaßen sinnvoll, wenn man das aufschreibt.

Dominik

Da gibt es ja eine ganz tolle Erfindung, zu der hast du mir auch damals geraten, als ich angefangen habe, meine Windows-Kisten neu zu machen.

Dominik

Und zwar macht man Dot-File-Repositories.

Dominik

Ja, das ist ziemlich cool, weil dann könnt ihr einfach eure Einstellung, eure Konfiguration in einem zum Beispiel GitHub-Git-Repositorium, ablegen und jedes Mal auf der neuen Maschine einfach klonen und habt dann eure Einstellungen wieder parat.

Jochen

Ich weiß nicht, wie das bei dir ist.

Jochen

Bei mir ist das so, ja, ich hab, da liegen die ganzen Dot-Files drin und da ist dann halt so ein kleines Python-Skript.

Jochen

Das heißt irgendwie Install oder so, das rufe ich dann auf und das verlinkt dann halt die echten Dot-Files sozusagen in das Repository.

Ja.

Jochen

So dass ich halt quasi, auch wenn ich an dem Repository was ändere und pulle, das dann automatisch die Änderungen halt.

Dominik

Genau, also so ähnlich habe ich jetzt auch.

Dominik

Ich habe leider die Skripte alle noch nicht ganz fertig.

Dominik

Ich habe tatsächlich sogar auch, also auf deinen Rad den Einzel gemacht, das ist noch sehr anfängerlassig und hat noch kein Review erfahren und ist noch ziemlich militantisch zusammengebaut und da sind auch viele Fehler drin und das ist alles nicht fertig.

Dominik

Aber falls ihr euch für Windows und solche Sachen interessiert, da sind so ein paar PowerShell-Skripte drin, die man irgendwie im Alter nutzen kann und so ein paar Python-Sachen und so ein paar Basic Tutorials, wie man so die ganzen Sachen vielleicht installiert über VSL und ja, auch Pakete, also das ist ja das nächste.

Dominik

Für eine Entwicklungsumgebung brauchst du ja einen vernünftigen Manager und der ist ja unter Windows eigentlich das größte Problem, würde ich jetzt mal behaupten.

Dominik

Und da gibt es halt, Gott sei Dank, mittlerweile Chocolate.

Dominik

Kann man sich drüber streiten, ob alle Pakete jetzt so super sicher sind immer, aber der hat eigentlich alles, was man so an Open Source und auch anderer Software haben möchte im Reposit.

Dominik

Das heißt, er macht dann wie auf einem Unix-System einfach Choco-Install-Softwarename und hast das Paket dann drauf.

Dominik

Und das ist super praktisch und so will man das ja eigentlich machen.

Dominik

Und da kann man auch Skripte für schreiben und deswegen ist halt quasi nach der Windows-Installation das erste PowerShell starten, die neueste PowerShell-Version installieren und dann wird der Paketmanager benutzt für alles weitere und das läuft auch dann manuell.

Dominik

Also mit diesem Dotfile-Repositorium und zieht dann alle Sachen und muss das Repo klonen und ja, man kann sich auf seinem neuen Rechner super schnell wieder einrichten und hat alles so, wie man es gerne möchte.

Dominik

Und das ist echt ein Riesenvorteil und spart Zeit und vor allem die ganzen Bindings und was man alles bauen will.

Jochen

Nee, das freut mich, dass das ja jetzt auf Windows dann halt auch so halbwegs geht.

Jochen

Ja, auf Mac war das auch lange Zeit irgendwie so ein bisschen problematisch und man wusste halt nicht so, was dir die richtige Antwort ist, auf was für ein Paketmanager soll man denn da verwenden?

Jochen

Irgendwie Think oder irgendwie, keine Ahnung, Portage oder ja.

Jochen

Aber mittlerweile hat sich dann doch rauskristallisiert, was da Homebrew, genau.

Jochen

Und ja, da ist eigentlich alles, was da an so relevanten Dingen man benötigen könnte, mit drin.

Jochen

Und funktioniert super.

Jochen

Ja.

Jochen

Genau, man muss halt noch so, bei einem Mac muss man halt noch so ein paar Sachen anpassen, die nicht richtig gut funktionieren.

Jochen

Also zum Beispiel die Keyboard-Repeat-Rate und wie also sozusagen, wenn man eine Taste gedrückt hält, wie stark die dann wiederholt, wie schnell die wiederholt wird.

Jochen

Also für meine, für meinen Geschmack muss man es deutlich runtersetzen und das geht auch nicht über eine UI.

Jochen

Also man muss dann halt tatsächlich das halt über eine, aber man kann mit auf der Kommandozeile kann man das halt setzen, muss sich dann einmal ausloggen und wieder einloggen, aber das geht und dann sind halt auch, irgendwie man Sachen löscht, dann ist es halt wieder schnell.

Jochen

Weil wenn man das nicht ändert, dann ist das halt unerträglich langsam.

Jochen

Das ist halt irgendwie so kann man.

Dominik

Das kann man bei Windows tatsächlich auch machen.

Dominik

Du kannst halt einen Power-Share-Script schreiben, indem du die Einstellungen in die Windows-Registry schreibst.

Dominik

Einfach und dann anders halt überschreibst mit deinen Custom-Vorlieben.

Dominik

Also auch für so eine Hausanstellung oder da gab es ja ganz viele einzige Stellungen, die man da irgendwie machen möchte.

Dominik

Privacy aktivieren und sowas.

Jochen

Genau, ja.

Jochen

Ja, und man muss halt auch beim Mac halt noch so ein paar Umgebungsvariablen setzen und irgendwie diverse X-Code-Kommand-Line-Tools installieren und machen, damit man auch Sachen kopilieren kann.

Dominik

Spannende Sache, und zwar, was machst du mit privaten oder geheimen Umgebungsvariablen?

Dominik

Wie handelst du die?

Dominik

Gibt es sowas bei dir überhaupt, oder?

Jochen

Was wäre welchen anderes?

Jochen

Also ich wüsste jetzt nicht.

Dominik

So ein API-Key oder sowas.

Jochen

Aber gut, das wäre jetzt eher so für Projekte.

Dominik

Ja, eventuell.

Dominik

Also es gibt ja auch Sachen, die vielleicht nicht unbedingt Projekte sind.

Dominik

Also beispielsweise benutze ich ganz gerne die Google-Api.

Dominik

Einfach weil man da mit dem Dev-Zugang, weißt du nicht, YouTube und irgendwelche anderen Skripte, die Google irgendwie so benutzt, direkt über seine Konsole verfügbar hat.

Suche.

Dominik

Oder so.

Dominik

Und da braucht man zum Beispiel eine API.

Dominik

Und der ist halt dann in meiner normalen Umgebung schon drin und nicht irgendwie nur Projekt, weil ich den halt immer verfügbar haben möchte.

Jochen

Ah, okay.

Jochen

Und sozusagen, das kannst du natürlich dann nicht gut einchecken.

Jochen

Also jedenfalls nicht im Klartext.

Dominik

Nee, genau, also das heißt, was ich mache, also ich habe es ja zugelöst, ich habe eine verschlüsselte Sache, die einmal kurz aufgemacht wird, dann wird dieses Secret in eine Enf geladen und dann wieder decryptet.

Dominik

Das ist natürlich nicht ganz so toll, weil das halt eigentlich in meinem Speicher hängt.

Dominik

Aber gut, es ist auch nicht sicherheitskritisch.

Jochen

Wenn das lokal in deiner Umgebung ist, ist das ja okay.

Jochen

Also es ist halt nur so, dass es die Frage ist, wie kriegst du es verteilt auf alle Maschinen und

Dominik

Nein, also diese Secrets, die werden nicht gesynkt, sondern die muss ich dann.

Achso, du musst auf der Hand machen.

Dominik

Genau, ich habe aber einen Folder gemacht, was halt Secrets heißt und das automatisch geladen wird.

Dominik

Alles, was da drin ist, wird halt automatisch dann in die Umgebungsvariablen reingeladen.

Dominik

Das ist da muss ich dann halt die Sachen rein.

Dominik

Genau, der Fooder wird auch automatisch erzeugt von meinem Skript und so und dann muss ich da halt einfach dann die Sachen, die ich halt in Byron Variables geladen haben möchte, da reinpacken und dann werden die encrypted, decrypted und beim Start geladen quasi, ja.

Jochen

Ja, das ist tatsächlich noch so ein Problem, eventuell.

Jochen

So habe ich mir keine Gedanken.

Jochen

Also ich würde es wahrscheinlich in das Install-Skript in den Dot-Files mit reinpacken und dann halt irgendwo eben so ein verschlüsselt irgendwie mit einchecken.

Jochen

Und dann halt beim Install muss man halt eine Passphrase eingeben oder so, aber ich weiß nicht genau, ob ich das wirklich.

Jochen

So, ja, muss man, muss ich mir, da habe ich noch keine Gedanken dazu gemacht, weil den Fall habe ich tatsächlich nicht, glaube ich.

Dominik

Noch eine andere Sache, die ich ganz spannend fand, wenn du verschiedene Maschinen benutzt, beispielsweise ein Desktop-System und einen Laptop und noch einen anderen Laptop.

Dominik

Und da sind leicht unterschiedliche Konfigurationen notwendig.

Dominik

Wie würdest du sowas lösen?

Dominik

Also, ich habe zum Beispiel so gemacht, ich habe dann immer einen Machine-Folder quasi, das er liest und da werden halt die Files nur ausgeführt, die den Namen des Computers tragen, wenn ich drin bin.

Dominik

Das heißt, ich muss halt da so Custom-Skripte schreibe ich halt rein in den Namen, die Computername wird halt dafür benutzt.

Jochen

Ja, das ist wahrscheinlich keine blöde Idee.

Jochen

Das Problem hatte ich in gewisser Weise schon, oder habe ich, weil ich unter Umständen etwas unterschiedliche Umgebungen habe, also nicht, die Macs sind eigentlich alle gleich, aber ich habe ja auch Server irgendwo rumstehen.

Jochen

Linux ist halt so ein bisschen anders teilweise.

Jochen

Und das ist alles noch nicht sauber.

Jochen

Ich muss das auch mal.

Dominik

Aber Linux geht auch wunderbar mit den Dot-Files.

Dominik

Ich habe tatsächlich für meine Java-Systemen beispielsweise auch so ein schönes kleines Repo dann angelegt mit den Dot-Files, die wir dann auch gezogen, installiert und dann funktioniert zumindest meine Basche-Aliasse oder sowas, wie ich die haben will.

Jochen

Das geht schon, aber ich habe halt eben in manchen Skripten dann halt eben Fileunterscheidungen, ob welche Shell das jetzt ist und so.

Jochen

Und das ist halt ja, oder welches System das ist, weil halt einfach bei Linux manche Sachen einfach liegen, einfach woanders.

Jochen

Also da muss ich nochmal das machen.

Dominik

Ja, also muss man tatsächlich Fallunterscheidung machen.

Dominik

Man muss halt schon ein bisschen gucken, welches System möchte man denn jetzt dann seine Config installieren.

Dominik

Aber ja, das wäre auch spannend, wenn das insgesamt skrippen könnte und dann einfach nur Git Klon Repo Install und dann macht er alles.

Dominik

Egal was man tut.

Dominik

Aber gut, ob man so viel Arbeit machen will.

Dominik

Aber macht Spaß, das ist so ein kleines Problem.

Ja, ja.

Jochen

Genau.

Dominik

Ja, wir sind ja hier beim Python-Podcast und deswegen wollen wir jetzt vielleicht noch ein bisschen darüber erzählen, wie das denn mit der Python-Entwicklungsumgebung dann aussieht, wie man das dann irgendwie da am besten managt für die Projekte vielleicht auch.

Jochen

Ja, ja, ja.

Jochen

Da gab es einen ganz netten Artikel von einem der Django Mitbegründer von Jacob Caplan Moss, der hat, glaube ich, bei Python, äh, Django, Python, Development Environment 2020 Edition oder so einen Blog Post geschrieben.

Jochen

Genau, das da, also ich habe denen gelesen und dachte mir so, oh ja, das ist so vieles davon, kommt mir sehr bekannt vor, weil ich das auch so mache.

Jochen

Und ein paar Sachen kannte ich halt noch nicht.

Jochen

Und dann habe ich halt auch noch so ein paar Sachen geändert, wo ich dachte so, okay, das war mir jetzt gar nicht noch.

Jochen

Und ja, tatsächlich, ja, was braucht man für so eine Python-Umgebung?

Jochen

Also was einem halt zunächst mal halt sozusagen als Problem sich darstellt, ist halt, wie kriegt man jetzt eigentlich, wo kommt man eigentlich eine, wie installiert man Python halt eigentlich, ne?

Jochen

Und das ist ja schon so ein bisschen nicht so ganz einfach.

Jochen

Ich habe lange eben auf Mac Homebrew einfach nur so verwendet und dann halt je nachdem unterschiedlich, also bei Data Science Projekten hast du ja, also es ist halt auch wieder sowas Blödes, du hast ja halt bei Python mehrere Arten, wie man jetzt Pakete installiert, äh, halt Pip bei Web, also ich, bei mir ist es im Grunde so, Webentwicklungsprojekte installieren ihren Kram.

Dominik

Bei eine Requirement Datei bei

PIP, oder?

Jochen

Na, Requirements-Datei kommen vielleicht gleich noch zu, eigentlich nicht mehr, bin ich jetzt fast von weg.

Piplock.

Jochen

Äh, nee.

Dominik

Sondern?

Jochen

PyProjectommel.

Dominik

Aha, okay.

Jochen

Und die Data Science Geschichten gehen eigentlich alle, haben wir alle Conda-Environments und dann halt so eine Environment-Jammel.

Hässlich.

Jochen

Ja, und eben da hat man halt auch nochmal einen anderen Python-Interpreter, also üblicherweise hatte ich da Minikonder.

Jochen

Aber das mache ich jetzt alles nicht mehr so, sondern inzwischen verwende ich Py-Enf dafür.

Dominik

Was ist das denn jetzt schon wieder?

Dominik

Also es gibt ja Pyenf, Enf, Enf PfD.

Jochen

Ja, ja, es gibt Pi-Enf, es gibt Python V-Enf, es gibt Virtual Env, es gibt Virtual Enf Wrapper, es gibt Conda-Environments, die so ähnlich sind wie Virtual Enfs.

Jochen

Aber doch nicht so ganz ja, also es gibt ein Problem offenbar an der Stelle.

Dominik

Also ich benutze immer noch irgendwie ganz klassisch irgendwie mein Venf mit Virtual PowerShell.

Dominik

Habe ich dann irgendwie noch so ein Ding gefunden, das funktioniert.

Dominik

Also auch in der Shell gut, aber ich bin jetzt gespannt, was du erzählst, wie man das jetzt heute macht.

Jochen

Also das Problem, ja, also ich weiß nicht, ob das jetzt so ist, wie man das machen sollte.

Jochen

Es ist halt so, wie ich das jetzt gerade mache.

Jochen

Und ich habe jedenfalls subjektiv das Empfinden, dass es eine Verbesserung ging, weil die zu stand vorher ist.

Jochen

Aber es ist leider relativ kompliziert alles.

Jochen

Also ich würde mir natürlich auch wünschen, dass es irgendwie einfacher geht, aber.

Dominik

Also dieser Virtual End Wrapper-Ansatz finde ich total toll.

Dominik

MK-Virtual N-Name.

Dominik

NS Virtual N für alle anzeigen, RM Virtual N für wegmachen und Work-On Projektname fertig.

Jochen

Ich finde das auch nicht so schlecht und für Webentwicklungsgeschichten habe ich das lange so gemacht.

Jochen

Aber, also ein Problem, was du dabei hast, ist zum Beispiel, dass immer der Systeminterpreter verwendet wird.

Jochen

Das ist wie ein Riesenachteil.

Dominik

Welcher Systeminterpreter wird verwendet, du kannst auch bei, wenn du eine neue Virtual Environment erzeugst, sagen, minus minus Python und sagen, welche Python, also welchem Pfad der erzeugen soll.

Jochen

Ja, aber sozusagen, also du kannst nicht einen Spezialinterpreter für dein Environment festlegen, sondern das muss irgendwo hininstalliert sein.

Jochen

Und dann kannst du das halt sagen, nimm das.

Jochen

Das geht natürlich, aber üblicherweise nimmst du dann halt deinen Systempython.

Jochen

Oder halt eines der Systempythons, die du irgendwie installiert hast.

Dominik

Das heißt, ich installiere einfach alle Systempythons parallel und dann muss ich eins davon auswählen.

Jochen

Ja, aber das ist natürlich alles schrecklich.

Jochen

Also und ja, also ich meine, du kannst halt mit, also du hast dann halt zumindest Python 2 schon immer mal drauf, weil das wird wahrscheinlich für diverse Geschichten auch im System benutzt.

Jochen

Das heißt, das hast du auf jeden Fall.

Jochen

Wenn du jetzt nicht aufpasst und einfach nur Virtual App sagst und dann kein Parameter mitgibst, dann macht er dir ein Python 2-Environment.

Jochen

Das ist halt schon mal,

Dominik

also bei Linux jetzt oder bei Mac.

Jochen

Bei Mac ist es so.

Jochen

Bei Linux wahrscheinlich auch so.

Jochen

Weil ganz viele Distributionsskripte oder so, das ist alles, also egal, praktisch egal, welche Distribution, das ist alles Python.

Dominik

Also bei Windows kommt drauf an, welche in deiner Pass-Variable gesetzt ist.

Bei Python, ja.

Jochen

Ich weiß nicht, ob bei Windows überhaupt ein Python mitkommt, sozusagen.

Jochen

Nein.

Dominik

Du musstest du über die Webseite installieren, im Worst Case oder halt über Toku install Python, aber.

Jochen

Ja, okay, dann ist man da in gewisser Weise sogar ein bisschen besser dran, aber die meisten Python-Distributionen kommt Python auf jeden Fall immer mit, weil sozusagen die Disposition selber Python braucht, um halt viele Installationsgeschichten zu machen.

Jochen

Das Dumme ist halt, das ist alles Python 2.

Jochen

Das heißt, die liefern alle irgendwie Python 2 aus.

Dominik

Wir haben ja eben gesagt, das ist tot.

Jochen

Und das ist ja jetzt eigentlich schon tot, ne?

Jochen

Aber trotzdem hat man es dann halt drauf und wenn man nicht aufpasst, weil es halt vielleicht noch der Default-Interpreter ist, macht es einem halt so ein Uralt-Environment auf und das ist halt schon mal, also ich, das könnten Leute verhören.

Jochen

Und selbst wenn man das irgendwie hinkriegt, das richtige Python dann anzugeben, ist es ja auch irgendwie eben das systemweit installierte Python.

Jochen

Was ist, wenn ich jetzt mehrere Projekte habe, die jetzt aber tatsächlich harte Anforderungen haben auf eine bestimmte Python-Version oder so, das ist halt total blöd.

Jochen

Oder es geht nicht gut.

Jochen

In gewisser Weise war das bei Miniconor besser, weil da kann man halt sagen, okay, da kann man die Python-Version, die man braucht, auch mit ins Environment YAML reinschreiben und das wird dann halt installiert, während du das halt bei einem Virtual Env, aller MK-Virtual Env, also Virtual Env-Wrapper, kannst du das nicht.

Jochen

Da kannst du nicht ins Requirements reinschreiben, welche Python-Version du gerne hättest.

Jochen

Das geht da nicht, sondern da kriegst du halt die, die du am Anfang mal angegeben hast.

Jochen

Was ist jetzt auch das wieder etwas, was ich oft dann tatsächlich, was mir oft passiert ist, was ist, wenn jetzt dein System Python geupdatet wird?

Jochen

Ja, oder per Homebrew updatest du dein Kram oder per Choho oder wie auch immer, Paketmanager deines Vertrauens und der schmeißt jetzt das alte Python runter und installiert ein neues.

Also was

passiert denn da mit deinem Video?

Dominik

Wenn ich jetzt beim Windows mache bei dem Toku, der macht tatsächlich mit dem Virtual Wrapper, den, also ich da jetzt benutze, macht tatsächlich eine lokale Kopie in einem Virtual En-Vverzeichnis von dem Python-Interpreter.

Dominik

Das heißt, der wird nicht mit geupdatet dann in der Env, sondern nur in einem System.

Jochen

Okay, das ist ja schon mal nicht so schlecht.

Jochen

Also weil wahrscheinlich kann man das auch irgendwie einstellen, keine Ahnung, bei mir ist das Verhalten tatsächlich oft so gewesen, nach einem Update von Python in Homebrew waren halt die Virtual Enfs, die kaputt, die halt mit dem alten Interpreter gebaut worden sind.

Jochen

Was natürlich so ein bisschen auch wieder, das ist auch wieder so, das muss man dann erstmal rauskriegen, woran das eigentlich liegt, dass jetzt da nichts mehr funktioniert und so.

Jochen

Also es ist einfach nicht so richtig schön.

Jochen

Und ja, das geht halt mit Virtual Enfrapper halt immer nur so, naja, vielleicht geht es auch irgendwie, aber es ist so richtig toll, ist es nicht.

Jochen

Jedenfalls gibt es eine Geschichte, die ich jetzt besser finde und obwohl das halt alles explizit ist, und das ist halt PyEnv.

Jochen

Und was daran halt sehr schön ist, ist, dass man damit, also das Ding ist im Grunde dafür da, um beliebige Python-Versionen irgendwie zu installieren und halt auch klar zu machen, dass es so ähnlich ist.

Jochen

Also man merkt auch, das ganze Ding bewegt sich so ein Stückchen alles Richtung JavaScript.

Jochen

Weil tatsächlich muss man leider sagen, dass JavaScript an der Stelle irgendwie viele Dinge schon lange besser war als mein.

Dominik

Ja, der Paketmanager und Python war ein bisschen nervig.

Jochen

Ja, und also es läuft halt zum Beispiel eben in die Richtung, dass man halt pro Verzeichnis entscheidet, was da jetzt eigentlich sozusagen für eine Python-Version drin verwendet werden soll, was ja üblicherweise ist, liegen deine Projekte ja in irgendwelchen Verzeichnissen drin.

Jochen

Und bei Python kannst du halt sagen, okay, also mein globaler Python-Interpreter soll ja 3.8.1 sein.

Jochen

Aber in diesem Verzeichnis hätte ich gern irgendwie ein 3.7, weil das ist halt das, was in dem Projekt verwendet wird.

Jochen

Und wenn man dann sagt, PyEnvLocal 3.7, dann legt es halt so eine Local, irgendwas, Python-Local-Datei an oder sowas und da steht dann halt drin, welche Version verwendet werden soll.

Jochen

Und das Ding ist halt, was an dem Ding sehr toll ist, dass man damit wirklich alles installieren kann.

Dominik

Also Pro Folder, das heißt, man hat Pro Folder und Subdirectories dann eigene Pfeil-Sonnen-Versionen.

Dominik

Kann man das kombinieren mit Virtual Enter?

Dominik

Was ich natürlich toll finde, ist natürlich, dass man vorne immer so sieht, welche Environment wird es denn jetzt gerade aktiviert.

Jochen

Genau, das ist, äh, das sind auch, das Ding kann auch selber Virtual Ents dann erzeugen.

Jochen

Man kann ihm auch sagen, erzeug jetzt ein Virtual Env, hat wenn er darin den Interpreter oder so.

Dominik

Wo liegen die?

Dominik

Also bei mir liegen die mein Hochverteilchen jetzt unter Enfs zum Beispiel.

Jochen

Das kannst du alles einstellen, wenn du das magst.

Jochen

Das ist kein Problem.

Jochen

Bei Virtual Env, also man kann einmal, man kann es einstellen, ich glaube, es ist nochmal ein bisschen anders als bei den normalen, bei Virtual Enfrapper oder so, aber egal.

Jochen

Was du da auch netterweise machen kannst, äh, so, ach da, du hast ja gerade die Sattel hier, genau, Local, Global, du kannst halt alle, wirklich alle Python-Versionen damit installieren.

Jochen

Du kannst halt auch PiPy installieren oder halt eben auch Minikonda, sodass du halt damit tatsächlich für alle Geschichten, die man so macht, kann man damit halt sozusagen genau

Dominik

das Ding für alle Sachen verwenden.

Jochen

Also ich kann jetzt für Data Science und Web-Geschichten das gleiche Ding verwenden, was schon mal eine echte Arbeitserleichterung ist.

Jochen

Ich habe mir dann auch so ein paar Hilfsfunktionen noch geschrieben, die halt irgendwie sozusagen gucken, wenn da so ein, was machen die alles?

Jochen

Die wechseln auch automatisch, wenn ich ein Verzeichnis wechsle, halt in das entsprechende Virtual Environment und machen dann auch eine Pfeilunterscheidung, ist das jetzt Minikonda oder nicht, passen dann nochmal Variablen an.

Jochen

Aber tatsächlich ist es so, dass ich, dass ich das nicht mehr merke, sondern ich mache einfach nur ein CD in ein Verzeichnis und dann ist die Python-Umgebung so, wie sie sein sollte.

Dominik

Ich kann das auch abstellen, das heißt, wenn ich nicht möchte, dass er die wechselt, dann.

Kann man das natürlich auch.

Dominik

Es gab noch Pipend irgendwie zwischendurch, mal war das irgendwie mal kurz.

Jochen

Ach, Pip-Enf, ja, das ist halt, äh, genau, das gehört jetzt, da kommen wir dann schon, also das ist jetzt sozusagen, ich weiß nicht, hattest du noch was zu dem Themenbereich, irgendwie, wie installiert man Python jetzt eigentlich?

Jochen

Oder sind wir damit, weil

Dominik

ich würde Python, also auf Windows jetzt einfach installieren über Toko und dann tatsächlich versuchen, mit dem Wapper das zu machen, aber ich muss ja Pyant verangucken, das klingt sehr gut und es gibt auch Pyend Windows.

Dominik

Das heißt, das wäre wahrscheinlich die bessere Idee, da sich da so ein bisschen reinzufuchsen und auch das dann damit zu verknüpfen.

Jochen

Genau, würde ich mir mal angucken.

Jochen

Also das sieht für mich momentan schon so nach der besten Option eigentlich aus.

Jochen

Genau, aber sagen wir einfach, damit sind wir durch.

Jochen

Also vielleicht kann man sich einfach mal PyEnt angucken oder man nimmt halt das, was der Paketmanager des Vertrauens halt einfach so mitbringt.

Dominik

Also das einzige nervige auf Windows ist natürlich, wenn ihr WSL benutzt, müsst ihr das alles natürlich zweimal machen.

Dominik

Weil auf WSL ist natürlich der Linux dann das Linux-System drauf, da müsst ihr die ganzen Umgebungen alle wieder erneut einrichten und einen anderen Interpreter nehmen.

Dominik

Da wäre vielleicht auch PyEnv die richtige Variante.

Dominik

Wenn man nämlich so ein Directory dann mountet von Local, wäre sehr interessant, ob das unter Linux, WSL und Windows gleichermaßen funktioniert.

Dominik

Ja, keine Ahnung.

Dominik

Ja, das wäre mal ein Versuch wert.

Jochen

Ja, also wenn man dann, wenn man dann aber irgendwie so Python installiert hat und dann halt einfach nur in zwei Zeichen wechseln und dann das richtige Python direkt da hinten, dann hat man ja immer noch das Problem, okay, ich habe jetzt für Projekte diverse Abhängigkeiten, die ich auch gern installieren würde.

Jochen

Wie mache ich denn das?

Jochen

Und da gibt es halt auch unterschiedliche Ansätze und der Ansatz, den man da traditionell verfolgt hat, war halt irgendwo da so ein Requirements.txt-File reinzupacken.

Jochen

Die können auch, also du kannst halt Requirements.production.txt haben, was dann halt irgendwie ein Base-Requirements inkludiert oder so, und dann halt unterschiedliche Mengen von Abhängigkeiten installieren, je nachdem, ob du jetzt entwickeln willst oder halt irgendwie Produktionsbetrieb machen willst oder so.

Jochen

Aber also ja, das geht auch alles schon irgendwie, aber das, also was halt daran zum Beispiel total bescheuert ist, ist, dass es nicht deterministisch ist, so richtig, was passiert, wenn das jemand irgendwie in ein paar Monaten auscheckt, neuer Entwickler, und dann halt Pip-I, äh oder Pip Install-R Requirements-Txt sagt oder so.

Jochen

Weil man hat zwar sozusagen die direkten Abhängigkeiten hat, die kann man die Versionen zwar pinden drin, also man kann sagen, welche Version man genau hätte.

Jochen

Aber die Sachen von denen die abhängen, die können sich ja auch geupdatet haben.

Jochen

Und das heißt, eine Installation mit dem gleichen Requirements-Txt-File kann heute anders aussehen als in ein paar Monaten.

Jochen

Ja, habe ich

Dominik

meistens bei mir schon böse mit den Fuß geschossen.

Dominik

Da fehlt dann irgendwelche Dev-Pakete oder.

Jochen

Ja, und dann das kann halt, etwas, was halt vorher super funktioniert hat, geht halt plötzlich kaputt, einfach so.

Jochen

Und man weiß nicht warum.

Jochen

Und das ist natürlich irgendwie etwas, was eigentlich gar nicht sein sollte.

Dominik

Steht ja da erstmal ein Entwickler, hat die Requirements installiert und es geht nichts.

Dominik

Man fragt sich so, hä, wieso bin ich jetzt wieder zu blöd?

Dominik

Und ja, manchmal ist das so.

Jochen

Normalerweise denkt man sich dann so, ja, die haben es halt verbockt und haben es aber selber gar nicht so richtig gemerkt, weil sie irgendwie, aber nee, es ist, es kann tatsächlich, solche Sachen können halt dann passieren.

Jochen

Und ja, was halt in der JavaScript-Welt schon lange üblich ist, ist, dass man dann halt ein Log-File hat, wo man dann halt die ganzen Versionen der Pakete, auf denen von denen die Dinge abhängen, die man halt als Abhängigkeiten definiert hat, dass die halt auch gepinnt werden, sodass halt sichergestellt ist, dass halt, wenn ich NPM-Install sage oder JAN-Install oder so, dass dann halt alles irgendwie genau in der Version da ist, wie man das halt mal zu dem Zeitpunkt, als es so alles funktioniert hat, irgendwie definiert hat

Jochen

Und das wird halt weitest eingecheckt und dann gibt es da keine Missverständnisse mehr und kann auch ein Updates zwischendurch nichts kaputt machen, weil die Versionen sind ja alle gepinnt.

Jochen

Und tatsächlich die ganzen Tools, die jetzt versuchen, da so ein bisschen das unter Python halt auch eher so wie JavaScript zu machen, die gehen halt auch alle in diese Richtung.

Jochen

Also da sind zwei wesentliche Tools, die da eine Rolle spielen.

Jochen

Das ist Pipenf und Poetry, würde ich sagen.

Jochen

Oder ich würde es eigentlich eher umgekehrt sagen, ich würde sagen Poetry und PipE.

Dominik

Poetry klingt sehr schön poetisch.

Jochen

Ja, und PipE ist so ein bisschen, ist zwar irgendwie offizielles Produkt der PSF, Python Software Foundation oder irgendwie da gelandet, keine Ahnung.

Jochen

Aber das ist, es wird auch mehr verwendet tatsächlich, aber es nicht so das, was.

Dominik

Der ist auch von dem Autor von Requests irgendwie da, oder?

Dominik

Ja, na, sag schon.

Kidna's Rights?

Ja, ja.

Jochen

Aber bis vor kurzem, ich weiß nicht, ob es immer noch so war, bis vor kurzem war da halt ein Ischue drin, so irgendwie, äh, if this project is dead, please tell us.

Jochen

Und der war halt seit einem Jahr offen.

Jochen

Und also das ist halt schon, weil so einem Ding, das so wesentlich ist, geht das eigentlich nicht.

Jochen

Und insofern, ja, also es gibt da Schwankungen.

Jochen

Und also es wirkt manchmal so ein bisschen anmentend und

Dominik

deswegen mehr Poetry.

Jochen

Genau, genau.

Jochen

Also wenn man Leute fragt, die sich damit auch mehr beschäftigen, dann sagen fast alle irgendwie, nee, sie verwenden eigentlich schon Mutan-Petry.

Jochen

Vielleicht wird der Peppel-Pipper einfach nochmal, aber eigentlich ist es.

Dominik

Und Poetry müsst ihr verwenden, das ist jetzt die Quintessenz.

Dominik

Pie End von Poetry.

Dominik

Erklär mal bitte kurz, was Poetry oder jetzt mal Poetry.

Jochen

Also müssen würde ich jetzt nicht sehen.

Ja, natürlich.

Jochen

Aber das ist das, was ich jetzt gerade verwende zur Zeit, ja.

Jochen

Also Poetry verwendet man halt sozusagen dafür, um jetzt in ein Environment oder in einem Projekt, was man da hat, halt irgendwie die ganzen Abhängigkeiten auch mit reinzukriegen.

Jochen

Und das ist so ähnlich eben wie in der JavaScript-Welt halt ein Package.jSON und Package Log.

Jochen

Gibt es halt da einen PyProject, Tommel und Poetry Log, glaube ich, die im Wesentlichen genau das gleiche machen.

Jochen

Man kann halt da drin die Produktions- und die Entwicklungsabhängigkeiten definieren und das Ding installiert den ganzen Kram halt und macht halt einen Log-File, mit wo sie, ja, wo halt alle Versionen gepinnt werden, dann steckt man beides ein und dann kann man halt das Environment auch reproduzierbar wieder so erzeugen.

Jochen

Insofern alles noch nichts Neues.

Jochen

Also, das macht es halt eigentlich ganz gut.

Jochen

Ich meine, ich verwende es jetzt auch nicht so lang.

Jochen

Das funktioniert alles super.

Jochen

Es macht noch ein bisschen mehr Dinge.

Jochen

Es macht zum Beispiel auch noch sowas wie: du kannst halt Entry Points definieren in dieser Pi-Project-Tummel für Skripte.

Jochen

Und das ist ja auch so ähnlich wie bei NPM kann man das auch.

Jochen

Also, dass man halt in einem Projekt halt auch die ganzen Verwaltungsskripte, die man halt so hat, wie zum Beispiel, wenn man jetzt die Tests ausführen will, dann ist es unter Umständen eine Kommandozeile, die relativ lang ist.

Jochen

Oder manchmal will man die halt in einen Docker-Container ausführen.

Jochen

Oder man möchte Coverage PY laufen lassen mit allen möglichen Parametern oder weiß ich nicht was an oder irgendwelche Linter oder so.

Jochen

Dann kann man halt sich da sozusagen einfache Kommandos mit Pochi definieren, die dann halt eine Funktion aufrufen.

Jochen

Und in der Funktion kann man dann halt einen komplizierten Aufruf machen.

Jochen

Also wozu ich das zum Beispiel verwende, ist, ich habe halt sozusagen eine Umgebungsvariable gesetzt, die mir sagt, ob ich jetzt innerhalb von einem Docker-Container bin oder nicht.

Jochen

Und wenn ich das nicht bin, weil also meistens für Webentwicklungsgeschichten ist halt alles Docker-basiert mittlerweile, dann wird um die ganzen Kommandos, die ich da ausführe, halt ein Docker-Compose mit dem richtigen Docker-Compose-YAML-File halt irgendwie drumherum gestrickt, sodass das halt innerhalb von dem Docker-Container ausgeführt wird.

Jochen

So dass ich halt, und dann mache ich mir noch Aliasse, also was ich eigentlich ausführe, ist Poetry-Run-Test, um die Tests auszuführen.

Jochen

Und dann habe ich noch ein Shell-Alias für von Tests auf Poetry-Run-Test.

Jochen

Und dann gebe ich in dem Verzeichnis einfach nur einen Test, drücke Enter und dann laufen die Tests durch.

Jochen

Und es ist völlig egal, ob ich innerhalb von einem Docker-Container bin oder nicht.

Jochen

Es passiert immer genau das gleiche.

Jochen

Also wenn ich, wenn ich nicht drin bin, dann wird halt das in einem Docker-Container laufen lassen und wenn ich drin bin, dann werden einfach nur die Tests gestartet.

Jochen

Und das habe ich halt nicht nur für Tests, sondern halt auch für solche Sachen wie ja, Linting, Flake 8, ja, diese ganzen Meta-Skript-Geschichten, die man halt bei vielen Projekten einfach so braucht.

Jochen

Und das funktioniert tatsächlich ganz gut.

Jochen

Früher habe ich dafür Make-Files verwendet.

Jochen

Ich glaube auch, es gibt auch Leute, die das Command-Modul verwendet haben von Python dafür schon.

Jochen

Ich habe so Command-Shell.

Dominik

Oh, ja, stimmt, das kann auch gut sein.

Jochen

Das könnte man eigentlich auch nochmal erklären.

Jochen

Ja.

Jochen

Das ist irgendwie ein Modul der Standard-Übel.

Dominik

Standard-Library wollten wir auch nochmal eine eigene Folge zu machen.

Dominik

Ich frage, ob wir jetzt kurz darauf eingehen möchten.

Dominik

Das hatten wir auch letztens schon beim Python Poo, weil man damit tolle Sachen machen kann.

Dominik

Man kann seinen eigenen Kommandozeilen-Interpreter für so Python-Sachen bauen.

Jochen

Genau.

Jochen

Also, ja, weiß ich nicht genau, ob man das jetzt.

Vielleicht machen wir es doch mal.

Dominik

Ja, vielleicht passt das dann besser in die Standard-Library-Folge.

Jochen

Oder wir wollten eigentlich jede Episode ein Modul aus der Standardbibliothek mal irgendwie so ein bisschen besprechen.

Jochen

Das haben wir jetzt diesmal nicht geschafft, fürchte ich.

Jochen

Aber das werden wir auf jeden Fall auch noch irgendwie hinkriegen.

Jochen

Und Command ist halt ein Kandidat.

Jochen

Es ist einfach praktisch, dass man einfach so eine Shell haben kann und dann mappen halt die Kommandos, die man eingibt, halt auf Funktionen, das ist, was es im Wesentlichen tut.

Jochen

Aber ja, müssen wir eigentlich ein bisschen länger was zu erzählen.

Dominik

Ja, aber wir waren noch bei Poetry, also irgendwie, ja.

Jochen

Ja, Poetry, genau.

Jochen

Kann halt auch so irgendwie Skripte laufen lassen, kann Pakete installieren, man kann auch damit sozusagen tatsächlich Pakete bauen und die halt wirklich hochladen nach PyPI kann man sie, glaube ich, nicht, das weiß ich nicht so genau.

Dominik

Da hat der Jens was zu gebaut, glaube ich.

Dominik

Ja, der hat tatsächlich so ein Poetry Publish-Tool gebaut, wo man Projekte, die Poetry nutzen, zu PyPi putschen kann mit ein paar Checks irgendwie.

Dominik

Vielleicht können wir das mal linken.

Dominik

Der hat ja irgendwie gestern was dran gebasteln hat.

Jochen

Muss ich mal genau, weiß ich nicht.

Jochen

Das habe ich auch mit Poetry noch nicht so wirklich gemacht, aber soll auch irgendwie gehen.

Jochen

Also was man, was man sagen kann, ist, dass auch dieses PiProject.hommel-File soll halt, irgendwie, da gibt es auch ein Python Enhancement Proposal zu, 518 ist das, glaube ich.

Jochen

Soll halt mal irgendwie die zentrale Konfigurationsdatei für so Projekte werden.

Jochen

Also bisher gibt es da ja, da gibt es auch einige Kandidaten.

Jochen

Es gibt auch Setup, also es gibt zum Beispiel, wenn man jetzt Pakete baut tatsächlich.

Jochen

Also wenn man jetzt ein Library schreibt, das macht man auch fast immer.

Jochen

Also wenn jetzt irgendwie ein Projekt hat und möchte das irgendwie bauen, dann hat man oft irgendwie eine Setup.py da drin liegen und setup.cfgconfig.

Jochen

Und ja, also ein Problem zum Beispiel ist halt auch, dass die Setup PY, also einmal ist das alles ziemlich kompliziert und dann, was Leuten nicht so gut gefällt, ist, dass man, wenn man jetzt ein Paket installieren möchte, tatsächlich irgendwie so ein Python-Skript ausführt, wo unklar ist, was das tut.

Jochen

Das kann ja auf deinem System beliebige Dinge tun.

Jochen

Jetzt ist halt die Frage, muss ich, wenn ich jetzt ein Python-Projekt, weil was ja im Wesentlichen ist, das ist halt irgendwie ein Archiv, irgendein ZIP oder Tarball von irgendwie Python-Dateien, ja, PY-Dateien.

Jochen

Das möchte ich jetzt irgendwo ein Verzeichnis werfen und das war's im Grunde.

Jochen

Viel mehr ist das ja nicht, ein Python-Paket zu installieren.

Jochen

Warum muss denn da jetzt irgendwie so Code ausgeführt werden, wenn ich das jetzt nochmal kurz ausprobieren möchte?

Jochen

Und das ist schon mal so, mm, und das ist halt eine der zentralen Punkte, die halt mit dieser Pi-Project-Tommel angegangen werden, weil wenn du das halt eben in diese Pi-Project-Tommel reinschreibst und das, ich weiß noch nicht, ob es soweit ist, ich glaube, es ist noch nicht so ganz, aber wenn das halt irgendwann mal ausreicht, um Pakete zu bauen, dann kannst du halt ein Paket installieren, ohne dass halt irgendwie ein Skript ausgeführt und beliebiger Code ausgeführt wird auf deiner Maschine.

Jochen

Sondern da wird halt Pi-Project-Tommel gepasst und da wird halt irgendwas gemacht, aber da ist nichts drin, was irgendwie ausgeführt wird.

Jochen

Und das ist dann natürlich schon nett.

Jochen

Das ist dann halt schon mal ein Problem weniger.

Jochen

Und ein Ding, wo man Code, weniger, wo man einen Code ausführen muss, den man dann halt irgendwie vertrauen muss.

Jochen

Dafür ist es gedacht.

Jochen

Dann ist es aber auch so, dass ja genau diverse andere Geschichten, die jetzt in setup.cfg irgendwie normalerweise drin stehen, die sollen da halt auch rein.

Jochen

Und also weiß ich nicht, zum Beispiel irgendeine Konfiguration für Linter, Konfiguration für PyTest und so.

Jochen

Ich glaube, PyTest ist noch nicht drin, aber Black zum Beispiel unterstützt auch schon PyProject Tommel, ich kann die ganzen Tools.

Jochen

Es gibt auf jeden Fall einige, die das alles schon unterstützen und andere halt noch nicht.

Jochen

Aber alle wollen das irgendwie wahrscheinlich irgendwie früher oder später machen.

Jochen

Daher ist das ja auch schon mal eine relativ vielversprechende Angelegenheit.

Jochen

Und was auch schön ist, ist das Dateiformat.

Jochen

Das ist auch, da kann man sich auch diesen PEP 518 mal angucken.

Jochen

Man könnte sich jetzt auch einfach denken, so, ja, warum denn jetzt nochmal ein neues?

Jochen

Das habe ich mir zuerst tatsächlich auch gedacht, dachte ich, so Tommel?

Jochen

Was zur Hölle?

Jochen

Warum denn nochmal ein unterschiedliches Dateiformat?

Jochen

Es gibt ja auch immer den Witz, sozusagen, ja, irgendwie JSON kommt dabei raus, wenn man alle Fehler ignoriert, die Leute bei XML gemacht haben, ja, und YAML kommt dabei raus, wenn man die Leute irgendwie alle Fehler ignorieren, die bei JSON gemacht wurden.

Jochen

Und warum denn jetzt noch Tommel?

Jochen

Wenn jetzt alle Fehler ignoriert, die bei Yammel gemacht wollen, kommt dann vielleicht Tommel raus?

Jochen

Kann sein.

Jochen

Aber das ist tatsächlich ganz gut begründet, warum sie da nochmal ein neues Format nehmen, weil tatsächlich leider alle anderen Formate scheiße sind.

Jochen

Das muss man leider sagen.

Jochen

Das fand ich auch bitter.

Jochen

Das haben sie dann auch relativ unmissverständlich da in den SPEP reingeschrieben.

Jochen

Es ist echt, es ist echt faszinierend.

Jochen

Ich meine, also das XML, also da braucht man nicht viel drüber reden eigentlich, dass XML scheiße ist, das ist ja bekannt.

Jochen

Das kann man als bekannt voraussetzen.

Jochen

Es ist halt, ein entscheidender Punkt dabei ist halt, es ist nicht von Menschen editierbar so richtig.

Jochen

Und das ist sowieso ein komisches Format.

Jochen

Also, naja, will man eigentlich nicht.

Jochen

Dann.

Dominik

Warum JSON?

Jochen

JSON ist eigentlich nicht so schlecht, wird ja auch verwendet tatsächlich bei JavaScript, eben für Package.

Jochen

Aber, also Menschenlesbar ist es auch irgendwie, aber Menschen schreibbar ist halt so eine Sache, weil die Syntax ist so ein bisschen filigran.

Jochen

Also es gibt ja so Dinge wie zum Beispiel, dass man halt tatsächlich kein Komma am Ende von dem letzten, ja, total kacke, ja.

Jochen

Also, und ich meine, so als Mensch denkst du dir halt so, wenn du das nicht, wenn du jetzt nicht irgendwie so ein Standardfetischist bist oder so und das sofort siehst, oder dein Editor kannst du dir vielleicht auch sagen, aber wenn du es jetzt einfach mal einen normalen Texteditor nimmst, der das nicht kann, dann tippst du das ja so ein und dann sagt dir halt NPM, irgendwie da ist ein Syntaxfehler und denkst dir so, hä?

Jochen

Was?

Jochen

Warum?

Jochen

Das ist ein Syntaxfehler.

Jochen

Und es macht das Parsen halt auch schwer, weil ja, das ist halt, du musst wissen, du musst dir immer merken, dass das jetzt irgendwie das letzte, also das Letzte ist und so, und ach, das ist alles, du kannst nicht alle gleich behandeln.

Jochen

Es ist irgendwie.

Jochen

So, so Jason ist für viele Sachen ganz nett, aber so menschen schreibbar nicht so gut und es hat auch so komische Quirks irgendwie.

Jochen

Aber ansonsten, Jason ist auch nah dran.

Jochen

Also die waren auch kurz davor, Jason zu nehmen.

Jochen

Jammel sieht eigentlich ganz gut aus, ne?

Jochen

Wenn man so ein Yammel-File sieht, denkt man sich so, ach ja, so schlecht ist das ja gar nicht.

Jochen

Ich habe in letzter Zeit viel mit Kubernetes zu tun.

Jochen

Ich habe viel Yammel gesehen.

Jochen

Ich bin nicht mehr davon überzeugt, dass es eine gute Idee ist.

Jochen

Naja, also Yammel, es kann auch furchtbar werden.

Jochen

Also einmal ist das Problem bei YAML, der Standard ist gigantisch.

Jochen

Also während Jason halt noch relativ da, ist relativ einfach zu implementieren und es gibt relativ wenig Zeug.

Jochen

Yammel ist richtig fett.

Jochen

Da ist viel Zeug drin.

Jochen

Und was den meisten Leuten auch überhaupt nicht klar sein dürfte, was aber auch ein großes Problem ist, ist, dass halt YAML-File-Parsen bedeutet, Code auszuführen im Grunde.

Meistens.

Jochen

Du kannst, das kann halt so viel, dass du dem sagen kannst, hier füllen wir diesen Code aus, dann machst du.

Jochen

Es gibt dafür ein Load-Safe oder Safe-Load-Methode oder sowas, die man benutzen kann, wenn man Yammel parsen will, ohne da Code auszuführen.

Jochen

Aber das muss man halt auch erstmal wissen.

Jochen

Und das ist so, das ist halt also.

Dominik

Können wir lustige Yammelsachen machen.

Jochen

Standard ist komplex und dann irgendwie, wenn man einen Yammel-Pfeil lädt für das Code aus, das ist halt schon eine Kombination, die ja schon bitter.

Jochen

Also ja, will man vielleicht auch nicht, obwohl es halt tatsächlich gut menschenlesbar ist und es ist gut menschen schreibbar und es sieht eigentlich ganz nett aus.

Jochen

Aber das ist halt, aber es ist zu kompliziert und es ist zu gefährlich eigentlich.

Jochen

Da kann man das auch nicht wirklich gut verwenden.

Jochen

Ja, und tja, was bleibt da noch?

Jochen

Ach, es gibt noch Config-Parser, auch in der Standardbibliothek von Python.

Jochen

Das ist halt so ein, in Windows nennt man das, glaube ich, Innie-Files oder so.

Jochen

Wir hatten es auch überlegt, ist auch nicht so schlecht, ist halt schön einfach.

Jochen

Das Problem ist, es ist halt nicht mächtig genug, um halt die Sachen, die man halt in so einem Projektdefinitionsdings abbilden können will, abzubilden.

Das ist schon mal doof.

Jochen

Und dann ist es so, es gibt keinen Standard dafür.

Jochen

Es ist nicht so, dass es irgendwo standardisiert wäre, sondern das, was Config-Parser kann, ist halt dadurch definiert, dass es halt Config-Parser es kann, aber es ist irgendwo.

Dominik

Ja, es gibt ein paar Configs, bei denen es dann geht, bei ein paar Daten.

Jochen

Ja, und eben, bei manchen geht es halt nicht.

Jochen

Und wenn es nicht geht, weiß man halt nicht mal rum.

Jochen

Und es gibt auch keine anderen Implementierungen und so.

Jochen

Also ja, auch nicht wirklich toll.

Dominik

Und jetzt kommt.

Und jetzt kommt Toml.

Jochen

Tommel ist zwar ein anderes neues Format, das keiner kennt, aber tatsächlich erfüllt es all diese Sachen.

Jochen

Man kann es gut lesen, man kann es gut schreiben, es ist, es explodiert nicht sofort, wenn man es passt.

Jochen

Der Standard ist schön einfach.

Jochen

Und es gibt tatsächlich auch einen Standard.

Jochen

So, und dann haben sie gesagt, okay, ja gut.

Jochen

Dann und vielleicht sogar das wichtigste Argument, das wird halt auch sozusagen zur Definition von Projektabhängigkeiten und Paketdingern verwendet, schon bei Rust.

Jochen

Und funktioniert ja schon lange.

Jochen

Und ja, insofern ist es halt auch nochmal eine Vereinheitlichung.

Okay, okay.

Jochen

Ja, also genau.

Jochen

Und ja, Poetry benutzt das halt auch und insofern eigentlich alles ganz nett.

Dominik

Interessant.

Jochen

Ja, und damit hätte man sozusagen den Teil, wie installiert man eigentlich Pakete und wie führt man da Skripte, so Management-Skripte aus, auch erledigt.

Dominik

Was fährt dir noch eins zu deiner Umgebung?

Dominik

Also ich meine, wir haben jetzt gar nicht mehr Editoren oder sowas gemacht.

Jochen

Ja, das müssen wir aber eigentlich auch noch.

Jochen

Müssten wir gucken.

Jochen

Ja, zumindest also eigentlich schon.

Dominik

Was musst du?

Dominik

VI, E-Mac, VS Code, haben wir jetzt alles verraten.

Jochen

Ja, VI oft.

Dominik

Im Enhanced-Modus oder im Puren.

Dominik

Was musst du für ein Farbschema?

Jochen

Ich hab mal Solarized verwendet, aber das mache ich eigentlich auch nicht mehr.

Jochen

Ich weiß es aktuell gar nicht.

Dominik

Ich nehme Dracula.

Jochen

Ich mag das.

Jochen

Das ist wie bei Pycharm.

Ja, nee.

Glaub nicht.

Dominik

Nee, Dracula ist so schön lila.

Dominik

Pink.

Okay, das ist auf dunklem Hintergrund.

Jochen

Ah, okay, keine Ahnung.

Jochen

Ja, also VI tatsächlich immer noch sehr viel und mir gefällt das auch gut.

Jochen

Ich habe eine Zeit lang Neovim verwendet, aber seit Wim 8 kann das eigentlich alles wieder, was man so haben will.

Jochen

Vor allen Dingen eben auch Linting-Geschichten ausführen, ohne dass das Editieren blockiert oder so.

Jochen

Das war ja so der Hauptgrund dafür, oder jedenfalls für mich, Neo-Wim zu verwenden.

Jochen

Daher kann ich wieder den normalen Wim verwenden.

Dominik

Was ich an VS Co zum Beispiel so sehr mag, woher wir eben darüber gesprochen hatten, Entwicklungsumgebung, man kann auch da die Settings synchronisieren.

Dominik

Bis jetzt benutze ich dafür eine Extension, aber das ist gerade dabei, dass es in den offiziellen Patchnotes, glaube ich, drinsteht, von den Insiders, dass man die Settings synchronisieren kann, wenn man möchte, über seine Maschinen.

Dominik

Was natürlich super ist, weil man ja auch die Ditor-Settings, die ja irgendwie doch lecker sein können, irgendwann gerne synchronisieren möchte.

Ja.

Dominik

Auch die Extensions, die man nutzt.

Jochen

Sind das nicht auch Dot-Files irgendwie, die man genauso handeln könnte wie alle anderen?

Dominik

Gute Frage, ich glaube nicht.

Dominik

Eine Settings.json ist das eigentlich, die da irgendwo drin liegt im VS-Code-Verzeichnis.

Dominik

Und ja, da kann man halt mit JSON-Sachen reinschreiben.

Jochen

Ja.

Ja, keine Ahnung.

Dominik

Die kann man natürlich auch dann synchronisieren bei seinen Dot-Files.

Dominik

Das habe ich bis jetzt so ähnlich gemacht.

Dominik

Also dann ist das nächste Problem halt, dass du dann die Extensions, die kann man natürlich auch immer exportieren.

Dominik

Da gibt es ja viele für dann synchronisieren möchte.

Dominik

Und dann kann man es halt auch automatisch machen, dass halt die Extensions alle gleich sind, dass man halt auch da Updates fahren kann und so.

Jochen

Das ist so ganz nett.

Jochen

Ja, aber beim VI ist das zum Beispiel so, dass halt eben die Plugins, die ich verwende, die kommen halt auch über die Dot-Files und dann sage ich halt auf einer neuen Maschine einfach nur, wenn ich einen WIM starte, Doppelpunkt, Plugin, Install und drücke Enter und dann installiert die ganzen Plugins.

Jochen

Und das ist natürlich schon seine, also sagen wir so, das funktioniert nicht mit allen.

Jochen

Es gibt manche Sachen, die leider Haltarbeit erfordern.

Jochen

Wie zum Beispiel irgendwie Autocompletion.

Jochen

Dafür benutze ich Jedi und halt UComplete Me und U-Complete Me braucht einen Server-Teil, der gestartet wird und der muss kompiliert werden und das geht dann alles nicht mehr so einfach.

Jochen

Da muss man tatsächlich irgendwie.

Dominik

Eigentlich ein Skript für schreiben, das ins Dotfile-Repo kommt.

Jochen

Ja, vielleicht.

Bei der

Dominik

Installation direkt das automatisch macht.

Jochen

Auch nicht automatisiert, aber das muss man halt irgendwie noch machen.

Dominik

Autocompletion ist übrigens ein echt ein nettes Feature.

Dominik

Das kann man auch bei verschiedenen Sachen einbauen.

Dominik

Also auch sogar unter Windows mit Git, Dosh, Composh-Git zum Beispiel, kann man Git-Autocomplete machen und ganz viele lustige Sachen, dass er da eine Docker noch completet und so, dann kann man ein bisschen schneller sein Kommando reinhacken.

Jochen

Ja, bei Fisch gibt es auch für alles wie Autocomplete-Geschichten und das so.

Dominik

Fish hat sogar so eine Suchfunktion, dass man halt die Autocompletion durchscrollen kann.

Das ist ja sehr geil.

Jochen

Ja, ja, ja.

Dominik

Wahrscheinlichste sogar und so, ja.

Dominik

Man kann das auch so einstellen, dass er dann die, die man häufig zum Besuch hat, nimmt und dann kann man daraus durchtappen und so.

Das ist schon nett.

Jochen

Genau, ja, wie I genau.

Jochen

Es gibt halt im Grunde, ehrlich gesagt, wenn man den so richtig voll ausgebaut aufgebimmt hat, dann unterscheidet sich jetzt so ein voll aufgeblähter WIM gar nicht so großartig von sowas wie es Code oder Pyche.

Jochen

Page-Macht nochmal ein bisschen mehr, aber tatsächlich gibt es halt viele Sachen, die ganz ähnlich sind.

Jochen

Also ich bin so dann nicht Command P wie bei VS Code, sondern Command-T, da gibt es halt so ein Plugin, das macht aber dann fast das gleiche.

Jochen

Dann gibt es halt irgendwie Fugitive WIM, das irgendwie Git mit Git Super interagiert, was dann halt diverse Dinge darstellt, dass dann darstellt halt, was sich geändert hat.

Ja, ich

Dominik

wollte gerade sagen, also diese Git-Integration, die will ich ja schon nicht vermissen.

Dominik

Ich habe so einen GitLab-Prozess, den ich irgendwie einbauen kann, dann VSCO.

Dominik

Kann das alles synchronisieren, kann ich Commits direkt da drin machen.

Dominik

Das Einzige, was mir noch so ein bisschen fehlt, ist tatsächlich das Issue-Handling.

Dominik

Das ist da, wo ich gerade noch so ein bisschen struggle.

Dominik

Ich würde gerne meine Issues direkt in VS-Code angezeigt bekommen und die da auch bearbeiten können und dann direkt den Branch wechseln und so, das wäre ja alles ziemlich geil.

Dominik

Aber ich habe ein, zwei Add-ons da gefunden, die in die Richtung Genebe aber noch nicht so ganz perfekt funktionieren.

Dominik

Aber das weiß nicht, ob sowas überhaupt in PyCharm oder so geht.

Dominik

Das ist das einzige Feature, was ich bis jetzt nicht entdeckt habe in VS Code, was ich von PyCharm-Usern gehört habe, was vermisst wird, ist Auto-Imports.

Dominik

Das heißt, dass man automatisch die ganzen Imports von den Sachen, die man in Code geschrieben hat, oben erzeugt bekommt.

Jochen

Ja, genau.

Jochen

Das ist bei Pycharm, tatsächlich gibt es dann immer Leute, wenn ich dann Sachen oben von Hand eintrage, die mich dann gucken, so als wäre ich irgendwie so ein Tier, was da irgendwie so rumkriecht und irgendwie.

Jochen

Ja, ich fühle mich aber.

Jochen

Tatsächlich habe ich dafür beim Wim auch noch nichts gefunden, was das automatisch macht.

Jochen

Es gibt aber was für Notebooks gibt es PiForest, das macht das da auch.

Jochen

Wenn ich Nico gehört, den ich letztens getroffen habe.

Jochen

Wir waren ja zusammen auf dem Pylata Cologne.

Jochen

Und der meinte, das kann man super verwenden, wenn man da halt irgendwie, keine Ahnung, in einem Jupyter Notebook halt Dinge verwendet, dann beschreibt es den Import halt oben rein und das ist tatsächlich ziemlich cool.

Jochen

Ja.

Jochen

Aber tatsächlich für VI habe ich das noch nicht gesehen.

Jochen

Vielleicht gibt es bestimmt auch irgendwie was, aber da schreibe ich meine Imports immer noch von Hand.

Jochen

Und natürlich, ja, ist es so ein bisschen rückständig.

Jochen

Aber ansonsten, ich weiß gar nicht, ob ich da immer durch die Liste der Plugins beim VI durchgehen sollte oder so.

Jochen

Ob das schon zu speziell ist, was ich da so normalerweise verwende.

Dominik

Also bei VS Code sind es auf jeden Fall ganz wichtige Sachen dann, ne?

Dominik

Wenn du da ein Workflow drin hast, eine To-Do-Liste, Test-Framework kannst du einbauen.

Dominik

Du kannst Docker reinpacken, natürlich die Git-Sachen, ganze Pipeline einbauen.

Dominik

Das finde ich immer ganz praktisch.

Dominik

Ja, ansonsten kann VS Code eigentlich schon relativ viel selber und das sind da so kleine Sachen, die halt irgendwie man nicht verzichten möchte.

Jochen

Ja, ich glaube, nee, also man kann sich da selber, also tatsächlich.

Dominik

Da muss ja auch jeder so ein bisschen selber basteln.

Jochen

Man muss eigentlich alles selber basteln.

Das wächst ja auch.

Dominik

Wenn man irgendwas braucht, dann sollte man vielleicht irgendwann mal gucken, ob es sowas gibt.

Dominik

Aber vorher vielleicht erstmal so lean wie möglich anfangen und so schlank wie möglich.

Dominik

Ist auch ein bisschen schnellere Ladezeit und so.

Dominik

Das kann man aber auch vielleicht alles mit Atom machen oder Tubtime oder was auch immer man da nutzt.

Dominik

Ich habe sogar zwischendurch noch, also Windows, ne, in mein Notepad Plus Plus immer offen.

Dominik

Das ist ja auch so ein Code-Editor mit ein bisschen Syntax-Highlight.

Dominik

Das benutze ich jetzt nichts für Coden, aber wenn man mal so ein Skript oder so ein Editor Zeile irgendwie wie beim VI so ein bisschen schnell ändern will, dann ist das eigentlich super schnell geladen, offen und hat es wieder weggeschickt.

Dominik

So, dass das ganz nett für so Configs oder so.

Dominik

Ja, und E-Mails haben wir noch vergessen.

Dominik

Ich weiß nicht, ich bin leider kein Power nutzen.

Jochen

Oder Leute, die das benutzen, warum auch immer.

Dominik

Wenn jetzt der große Aufschrei, wenn du die Menschen fragst.

Jochen

Ja, ja, nee, das ist natürlich auch.

Es gibt

Dominik

den Operating-Mode, da kann man irgendwie direkt seine Zeit mitmanagen und so.

Dominik

Also ziemlich coole Sachen, die man damit macht.

Ja, ja, irgendwie so.

Jochen

Ja, ja, ja.

Jochen

Ja, also E-Macs kann auch alles irgendwie.

Dominik

Eigenes Betriebssystem, habe

ich gehört.

Jochen

Ja.

Jochen

8 Megabytes und constantly auch wie schlecht solche Witze, Altern, ne?

Jochen

8 Megabytes und Constantly Swapping, sozusagen, das war früher der Witz bei E-Macs.

Jochen

Aber ja, irgendwie.

Jochen

Und da müsste man wahrscheinlich eher sagen, 8 Gigabytes oder so.

Jochen

Der swapt einfach nicht mehr.

Jochen

Das passiert nicht mehr.

Jochen

Das ist heute sehr, sehr schon im Vergleich zu allem anderen.

Jochen

Ich meine, wenn man sich anguckt, die so eben Peitschrahmen, unfassbar fette Java-IDE, wie es Code.

Jochen

Das ist irgendwie ein JavaScript-Monster gewrappt in einen kompletten Chrome, der irgendwie Elektron ausführt.

Jochen

Oh mein Gott.

Jochen

Also das ist natürlich schon alles irgendwie nicht mehr vergleichbar mit irgendwie, also Emacs ist dagegen ja wirklich tatsächlich irgendwie so die Basic Lisp.

Dominik

Ja, also apropos, wo wir gerade bei so Swap-Sachen sind, was hältst du denn von sowas wie RAM-Betriebssysteme oder so, dass du einfach direkt alles in den RAM lädt und daran arbeitest, ich weiß nicht, ob man überhaupt noch dann feste Sachen braucht, wenn man das dann synchronisieren kann.

Dominik

Dann ist man vielleicht noch schneller unterwegs, als wenn man das alles auf der Platte macht oder ist das Quatsch?

Ich weiß nicht genau.

Jochen

Also ich ehrlich gesagt, seit SSDs ordentlich schnell sind, merke ich das nicht mehr, dass da irgendwas noch lädt oder so.

Jochen

Das ist irgendwie weg.

Dominik

Ja, ich habe auch

Jochen

schnell gedacht.

Jochen

Da weiß ich nicht, ob es noch was bringt, wenn man das jetzt alles noch ein Hauptsprecher könnte man natürlich tun.

Jochen

Wobei jetzt auch die meisten Maschinen so viele Hauptspeicher haben, das ist sowieso alles egal.

Jochen

Es ist wahrscheinlich eh alles gecached im Fallsystem Cache.

Jochen

Ich weiß es nicht.

Jochen

Aber ich glaube, da viel mehr beschleunigen kann man dann, also jedenfalls beim Dates, wenn man sich so ein akquelles Merk wohl nimmt.

Jochen

Also das ist so schnell.

Dominik

Ja, das ist natürlich auch immer die Power-User-Version.

Jochen

Ja, aber also da ist echt, ich muss da auch nie auf, oder fast nie auf, also doch, Docker.

Jochen

Docker.

Dominik

Docker ist langsam.

Jochen

Aber gut, da kann ich mir auch ungefähr vorstellen, woran das liegt.

Jochen

Aber ansonsten halt außer wenn man jetzt irgendwie so Modelle rechnet oder so, ne, oder trainiert, dann ist es natürlich auch wieder.

Dominik

Ja, die muss ja eigentlich auf Grafikkarten Hardware trainieren, habe ich mir sagen lassen.

Jochen

Was auf MacBooks auch tatsächlich so halbwegs geht mit, wie heißt es noch?

Jochen

Mit Metal, da gibt es ein Ding vonrechnen.

Jochen

Ja, keine Ahnung, wo man halt die Grafikkarte auf MacBook verwenden kann.

Jochen

Das geht halbwegs gut.

Jochen

Es ist also auf jeden Fall so achtmal so schnell, als wenn man irgendwie CPU dafür verwendet und das ist ja schon mal ganz ordentlich.

Also eine schöne GTX oder so oder so.

Jochen

Ja, Plate ML heißt das Plate ML, genau.

Jochen

Ja, naja, Pycharm habe ich jetzt auch in letzter Zeit wieder so ein bisschen angeguckt und das ist auch nett.

Jochen

Also was ich da neben den automatischen Imports, das ist natürlich auch schön, aber nochmal gesehen habe, was tatsächlich mir gut gefallen hat.

Jochen

Also mich nervt immer noch, dass es halt irgendwie so rumleckt, dass halt, wenn man irgendwo drauf drückt oder so, dass es immer so klebrig ist, nicht so wie bei, also VS-Code ist halt viel besser.

Dominik

VS Code ist total toll.

Jochen

Ja, auch, aber tatsächlich, was bei PyCharm cool ist, sie können zum Beispiel die Debugging-Geschichten.

Jochen

Das hat mich ja letztens wieder.

Dominik

Du kannst aber VS Code auch.

Dominik

Okay.

Ja, ja.

Jochen

Aber du kannst zum Beispiel auch in Docker debuggen oder remote debuggen.

Jochen

Ja.

Ja?

Ja.

Echt?

Dominik

Muss du konfigurieren.

Dominik

Du kannst sogar das coole bei VS Code ist, du kannst tatsächlich per SSH dich auf Sachen connecten und das dann tatsächlich editieren alles in VS Code drin.

Dominik

Das sind alles sehr tolle Sachen.

Kannst du bei PyCharm auch.

Jochen

Und tatsächlich, der Debugger bei PyCharm sieht echt, das ist schon deutlich cooler, als wenn man einfach nur so eine PDB-Shell hat.

Dominik

Ja, gut, aber VS Code, ich habe jetzt nutze nicht so viel, aber was geht, glaube ich, ganz gut.

Ich habe auch nicht gebaut.

Jochen

Ich habe es nur mal getestet und es sah wirklich sehr gut aus.

Jochen

Ich ehrlich gesagt benutze ich sehr selten Debugger.

Jochen

Ich benutze das nicht so oft.

Jochen

Wenn ich Sachen ausprobiere, dann mache ich das eh in einem Notebook.

Jochen

Ich mache das nicht in dem

Dominik

Jahr von ihr übernommen, das ist tatsächlich gar nicht so schlecht, dann sieht man ja direkt, was für

Jochen

hier läuft.

Jochen

Ja, und dann, wenn man dann halt Code irgendwo hin tut, dann weiß man halt eigentlich schon, dass da halbwegs funktioniert.

Jochen

Ja, aber.

Dominik

Notebooks gehen jetzt übrigens auch in VS Code, aber das finde ich tatsächlich, was nicht so richtig so funktioniert, wie ich mir das vorstelle, aber das ist mittlerweile integriert.

Dominik

Das ist auch ganz nett tatsächlich.

Dominik

Und was ich sehr cool finde an VS Code, ist das Live-Share-Feature.

Dominik

Das heißt, man kann kollaborativ gemeinsam an Projekten arbeiten und sich den Cursor und so weiter.

Jochen

Das weiß ich nicht, ob sowas bei Pytscharm auch geht.

Jochen

Aber das hat mich ja, das ist, ja, das ist also, das fand ich auch sehr beeindruckend und das hat super funktioniert.

Jochen

Also per Programming Remote, also ich meine, mit dem VI geht das natürlich auch, dann nimmt man einfach irgendwie T-Max oder Screen Windows X oder sowas und dann kann man das auch machen.

Jochen

Aber na, ehrlich gesagt, mit VS Code ist es schon gut.

Yes.

Jochen

Und ja, ne, das hat schon gut funktioniert.

Jochen

Ich habe gerade gegoogelt und tatsächlich Remote Pair Programming with IntelliJ.

Ich weiß es nicht genau.

Jochen

Also es kann sein, dass es PyCharm auch kann.

Dominik

Also meine Wahl wäre ja wie es Code mit einem tollen Terminal, mit einem Windows-Terminal auf einer Windows- und WSL-Maschine.

Dominik

Natürlich macht ihr da hyperweise an und macht euch da virtuelle Maschinen noch drauf.

Dominik

Da könnt ihr dann eine Ubuntu-Entwicklungsumgebung oder sowas einfach hochfahren und dahin auch deployen und so.

Dominik

Könnt ihr ja für Shared Folders machen und sowas.

Dominik

Und das kann ich durchaus empfehlen, zum Entwickeln auch, also das funktioniert ganz gut.

Jochen

Ja, also bei PyCharm würde ich jetzt noch sagen, sagen wir, das Debuggen hat mir gut gefallen.

Jochen

Dann, was mir auch noch ziemlich, ziemlich gut gefallen hat, war Local History, ist eine super Geschichte.

Jochen

Du kannst bei PyCharm halt auch sehen, was du geändert hast, ohne das alles eingecheckt.

Jochen

Also manchmal hat man ja so den Fall, dass man dann zu viel geändert hat.

Jochen

Man weiß nicht mehr genau, was man da so getan hat.

Jochen

Und PyCharm sagt einem halt genau, was da passiert ist und macht sozusagen behält auch.

Dominik

So eine lokale Versionshistorie.

Jochen

Ja, genau, genau.

Jochen

Und das ist auch relativ hilfreich ab und zu.

Jochen

Das hat mir auch sehr gut gefallen.

Jochen

Tja.

Jochen

Ansonsten, ja, ne, weiß ich jetzt auch nicht.

Jochen

Gibt es noch irgendwas, was bei BS Code irgendwie besonders cool war?

Dominik

Also ich mag halt die Geschwindigkeit, das ist irgendwie so handlich.

Jochen

Ja, ja.

Dominik

Und also mir gefällt dieser neue Style, ich mag diesen Elektron-Style, ich mag das mit den Java-Settings, ähm, mit den JSON-Settings.

Dominik

Und das ist irgendwie alles schnell, handlich.

Dominik

Ich kann es überall benutzen.

Dominik

Also ich mag halt diese Schlangen.

Dominik

Ich mag eigentlich mal mochte ich Atom, mochte ich ganz gern.

Dominik

Aber der ist halt sehr schlank auch, ne?

Jochen

Das ist auch ein Elektronen-App.

Jochen

Das ist schlank ein paar hundert Mega-Ewald oder so.

Jochen

Das ist einfach egal.

Jochen

Ja, also naja.

Jochen

Ja, Atom hat auch gut funktioniert.

Jochen

Hab ich auch mal eine Zeit lang irgendwie JavaScript-Geschichten gemacht.

Jochen

Aber ja, ne, das stimmt, habe ich schon schon lange nicht mehr, hab ich schon lange nicht mehr gestartet.

Jochen

Eigentlich nur noch VS Code.

Dominik

Ja, ich bin das hier noch für Musik, weil da gibt es ein paar Plugins, die mir auf jeden Fall VS Code, wenn es um Rust geht und Titel Cycles oder sowas.

Da gibt es so ein paar lustige Sachen.

Dominik

Aber das ist eine andere Geschichte.

Jochen

Ja, ansonsten, genau, achso, ja, was auch zur Entwicklungsumgebung natürlich zugehört, Linta.

Oh ja.

Dominik

Welche hast du alle an?

Alle?

Jochen

Flake 8 nehme ich normalerweise, wobei man immer gucken muss, dass das halt irgendwie so kompatibel ist mit Black.

Jochen

Ich benutze Black zum Formatieren.

Dominik

Vieland, Black.

Jochen

Also Black auf jeden Fall, das ist so die Grundlage.

Jochen

Und dann Flake so angepasst, dass es halt das, was Black macht, irgendwie akzeptiert.

Jochen

Was halt manchmal nicht so tut oder von manchmal nicht konfiguriert, macht es das halt nicht.

Jochen

Beschwert sich es halt irgendwie über fehlende Spaces bei irgendwie Operatoren oder irgendwie so Sachen.

Jochen

Und pilant eigentlich nicht.

Ich hab sie alle an.

Ich hab sie alle an.

Dominik

Ja, Pep 8, Flake und Black und so.

Dominik

Und die zeigen eigentlich immer dasselbe.

Jochen

Naja, bei mir nicht so unbedingt.

Dominik

Ich glaube, ich habe auch ein Zwei Flex gesetzt.

Jochen

Was ich noch ganz interessant fand, jetzt muss ich nur sehen, ob ich das wiederfinde.

Jochen

Wo war denn das?

Jochen

Es gab da noch ein ziemlich cooles, also es gab einmal Paylama, das komme ich an.

Ja, Paylama, stimmt.

Dominik

Moment, ich mache das.

Dominik

Vielleicht kann ich dir noch irgendwas Neues erzählen.

Ja.

Jochen

Und ähm.

Jochen

Dann gab es auch noch irgendwie so ein schönes Tool, um Codekomplexität irgendwie zu messen.

Dominik

Aha, aha.

Dominik

Also ich habe noch bei mir mein eigenes Linting drin für bestimmte Keywords, die ich da reinpacke.

Das ist auch immer noch ganz witzig.

Jochen

Aha, okay.

Dominik

Mit dem To-Do-Tree, nämlich bei VS Code, da kannst du To-Do fixme Hackbug to be discussed oder sowas, da kannst du eigene Tags einbauen für dein Team und für dich, die dann irgendwie mit Igens noch gefleckt werden und die du halt an einem To-Do-Extra-Fenster dir anzeigen lassen kannst, um dann zu bearbeiten und so.

Ach, okay.

Dominik

Das heißt, ich habe jetzt hier so ein To-Do-Ding, da kann ich dann alle Sachen sehen direkt, die ich mir markiert habe.

Ja, und das kannst du nett.

Jochen

Okay, nee, das ist nett.

Jochen

Ich hab's tatsächlich wiedergefunden.

Jochen

Na, genau, das Ding heißt Radon.

Oh, Radon.

Jochen

Und kann man auch in Pylama integrieren, genau wie PyCode-Style.

Ja, Pylama habe ich.

Dominik

MyPi gibt es noch.

Jochen

MyPi, ja.

Dominik

PyDoc-Style.

PyDocate, ja.

Jochen

Also MyPy ist ja auch mal so eine zweischneidige Geschichte.

Jochen

Ich weiß nicht, ich weiß nicht.

Jochen

Aber ja, kann man natürlich auch machen.

Jochen

Aber was an diesem Radon irgendwie ganz nett ist.

Dominik

Es gibt auch Bendit, ist mir eingefallen.

Dominik

Bendit ist ein Security-Lint.

Dominik

Der lintet bestimmte Dinge, die vielleicht Security-relevant sein könnten.

Jochen

Okay, nee, das kann ich nicht.

Jochen

Ja, was an Radon nett ist, dass er ermittelt zum Beispiel so einen Wert nennt sich Cyclomatic Complexity.

Jochen

Ehrlich gesagt weiß ich nicht genau, was ist das dazu?

Jochen

Aber der misst halt sozusagen deine Code-Komplexität.

Jochen

Und du kannst ihm halt sagen, okay, ab dem, wenn es so komplex ist, dann machen Fehler draus.

Jochen

Und du kannst es halt auch eventuell so einbauen, dass halt du nicht einchecken kannst oder nur, also ich meine, ob man jetzt Pre-Commit mag oder nicht.

Jochen

Das halt sagt, also wenn du zum Beispiel, also was letztens irgendjemand machen wollte, war halt, wenn sich Code geändert hat, die Tests noch laufen, aber irgendwas komplizierter geworden ist, wenn du irgendwas refactuert hast und die Komplexität gestiegen ist, dann lässt sich das nicht einchecken.

Jochen

Oder wenn dein Code einfach zu kompliziert ist, an einer bestimmten Stelle, dann muss man halt da nochmal refaction oder so.

Jochen

Keine Ahnung.

Jochen

Aber ich glaube, was auf jeden Fall ganz nett ist, ist halt, wenn man mal so ein bisschen einen Hinweis darauf kriegt, wo so der, wo so die fiesen Stellen immer eigentlich.

Dominik

Also ich finde es ja nett, wenn man irgendwie das Feature nicht finishen könnte, wenn der Skidflow nicht mehr geht, als wenn man dann tatsächlich nicht machen könnte, wenn man Grund 3-Abmachung will.

Dominik

Ich mache das auch, damit es kaputt geht, aber ja gut.

Jochen

Nee, ich mach das auch nicht.

Jochen

Das ist echt so extrem, was wir uns noch nicht machen.

Jochen

Ja, aber genau, das kann man sich auch mal angucken und ich fand es halt nett, dass es sowas überhaupt gibt.

Jochen

Hab mir noch gar nicht so klar.

Jochen

Ja, damit sind wir eigentlich so durch die Linta und Dinger durch.

Dominik

Ja, wir haben unsere Entwicklungsumgebung, wir haben unser Terminal, wir haben das System und die Software.

Dominik

Muss du noch irgendeine andere Software zum Entwickeln sonst?

Dominik

Also mir reicht eigentlich immer der Editor, das Terminal und das war.

Jochen

Ja, Notebooks.

Jochen

Finde ich bei Django-Projekten finde ich Notebooks unfassbar hilfreich.

Dominik

Also man kann ja da auch tatsächlich den Django-Shell aufmachen und hat dann dann direkt Zugriff halt auf die Datenbankobjekte und so.

Dominik

Und das ist natürlich tatsächlich sehr praktisch.

Jochen

Ja.

Jochen

Genau, ansonsten.

Dominik

Weil sonst hätte man tatsächlich immer den Debugger starten müssen.

Dominik

Aber der Debugger funktioniert gar nicht so schlecht.

Dominik

Ich habe es tatsächlich letztes ein paar Mal ausprobiert, hier mit dem VS Code-Debugger direkt zu arbeiten und das funktioniert erschreckend gut.

Dominik

Achso, ich benutze noch so einen Zeitmanager.

Wacker benutze ich manchmal.

Dominik

Da kann ich genau checken, welche Projektzeit ich wie, wo,

Jochen

was ich verwende das.

Jochen

So was benutze ich auch.

Jochen

Ich habe dafür verwende ich normalerweise Toggle.

Dominik

Check das auch automatisch mit, welche Idee du gerade nimmst oder benutzt oder so.

Dominik

Das ist nämlich schön, weil ich sehe nämlich direkt, welche Projekte ich benutze dann.

Dominik

Also je nachdem, welchen Editor ich auf habe und in welcher Entwicklungsumgebung ich gerade bin oder ob ich mal auch im Notebook arbeite und der ordnet das direkt automatisch den richtigen Projekten zu.

Dominik

Das kann ich natürlich noch so ein bisschen konfigurieren im Hintergrund.

Dominik

Und dann habe ich direkt quasi meine Zeit zusammengefasst.

Das ist ganz nett.

Jochen

Ja, okay, aber das erfasst natürlich auch nur dann, wenn du halt irgendwie am Editor sitzt, aber das bei mir ist oft auch so, dass ich.

Nein, nicht nur.

Dominik

Du erfasst auf die anderen Programme.

Dominik

Also ich kann das auch so einstellen.

Jochen

Aber wenn du am Rechner sitzt, aber das erfasst halt nicht, wenn du da sitzt und ein ER-Diagramm malst oder auf- und abläufst oder irgendwas nachdenkst oder so.

Dominik

Aber es geht ja nicht darum, dass du jetzt daraus deine komplett abbrechende Zeit machst.

Jochen

Es geht nur darum, dass du

Dominik

einen Überblick dafür hast, wo welchen Projekten verbringst du so wie viel Editor-Time oder so.

Dominik

Ja, okay.

Dominik

Und du weißt ja auch ungefähr, wie viel du am Tag dann tatsächlich ideal gecodet hast oder wie viel du geschafft hast und dann kannst du ja so ein bisschen angucken.

Dominik

Wo du gerade ERM-D-Diagramm gesagt hast, da gibt es ja sowas Tolles, was ich ja letztens gesehen habe, mit dem man ganz tolle ERM-Diagramme malen kann.

Dominik

Wie heißen das nochmal?

Dominik

Graphits, glaube ich.

Jochen

Graphits, ja, das ist ja, wobei das ist halt nur ein Backend, ich glaube, es gibt auch noch andere.

Ja, aber das fand ich ganz praktisch.

Dominik

Das kann man auf seine Django-Modelle schicken und dann macht er dann direkt automatisch ein EM-Dreagramm draus.

Dominik

Wunderbar, einfach mit einer Kommandozeile, bam.

Jochen

Genau, das Manage Manage PY kann das schon für Django-Geschichten.

Dominik

Ja, Manage Py-Graph Models und dann Dateiname oder so.

Jochen

Genau.

Dominik

Ja, Entwicklungsumgebung.

Dominik

Haben wir noch was vergessen?

Dominik

Sachen sind Prettier irgendwas, das kann man noch anmachen.

Dominik

Dass man so ein bisschen schönere Code-Formatierung macht, das so ein bisschen wie Linting, aber das benutze ich meistens tatsächlich nicht unbedingt nur für Python, aber für diese ganzen Webgeschichten, für HTML-Files oder JSON oder JavaScript oder andere Configs, macht er automatisch das ein bisschen hübscher, wenn man schreibt, zum Beispiel.

Dominik

Kann man sich ja überlegen, man kann ja Snippets bauen oder man kann sich automatisch seine Styles dann direkt vorgeben, dass da muss man einfach nur drunter tippen und hat automatisch eingestellt.

Dominik

Das finde ich immer ganz nett.

Dominik

Wie lange ist deine Settings, JSON, in VS Code?

Jochen

Das weiß ich ehrlich gesagt gar nicht.

Jochen

Ich kann hier gerade mal nachgucken.

Jochen

VS Code.

Wo sehe ich denn das?

Dominik

Du kannst hier öffnen mit.

Bei mir ist Control, Control-Komma.

Jochen

Also ich sehe hier, wir haben so ein Command-Komma wahrscheinlich, das sind die Settings.

Jochen

Und dann, wo muss ich da.

Dominik

Dann muss ja hier oben da ist irgendwo JSON angezeigt in der Ecke.

Aha.

Dominik

Also mir macht das JSON, aber ich glaube, ich habe aber das rebindet tatsächlich, dass er nicht, dass er direkt das JSON aufmacht.

Jochen

Ja, okay.

Jochen

Also ich kann das hier nicht so direkt sehen irgendwie.

Dominik

Ist das nicht das File?

Jochen

Doch?

Jochen

Nee, doch.

Dominik

User-File, ja, okay.

Jochen

Nee, keine Ahnung.

Ja, egal.

Dominik

Ja, ich habe schöne 400 Zeilen runtergeguckt.

Dominik

Ich bin ganz schön darauf, dass ich immer wieder umschwitsche und gucke.

Dominik

Was am nervigsten war, tatsächlich, mit Windows und Linux und Quer zusammenzuarbeiten, wo man nicht immer darauf achtet, ist tatsächlich, dass man die Line-Feeds ändern muss, anpassen muss, dass man, wenn man die Dateien speichert, da das richtige Format wählt.

Dominik

Und das sollte man vielleicht dann direkt, wenn man übergreifend arbeitet, so einstellen, dass das so gespeichert wird wie auf Linux oder Mac Maschinen, weil sonst sind die anderen Leute ein bisschen genervt.

Jochen

Ja, ja, ja, ja, ja.

Zu Recht.

Dominik

Ja, sieht man ja auch alles nicht, kann man nicht mehr richtig lesen, das ist schon blöd.

Jochen

Ja, was ansonsten halt noch zum Entwickeln irgendwie total wichtig ist, ist halt so einfach Tools, die halt auf der Kommandozeile sein sollten und halt total hilfreich sind.

Jochen

Aber.

Beta-Anzeigen, YouTube-Videos direkt in der Konsole abspielen und auf unserem Server JPEGs angucken.

Jochen

Ja, aber so Dinge, die einem halt irgendwie so das Leben auf der Shell erleichtern.

Jochen

Und also was ich da halt auch interessant finde, das ist ja so ein Trend in letzter Zeit, dass man halt irgendwie mal so alte abgehangene Tools anguckt und da irgendwie vielleicht eine neue Implementation schreibt, die ein bisschen schneller ist oder ein bisschen besseres Interface hat oder so.

Jochen

Und da sind in letzter Zeit ein paar sehr schöne Sachen rausgekommen, die ihr dann auch gerne mal in Rust oder in Go schreibt.

Jochen

Und ja, da gibt es tolle Sachen.

Jochen

Also zum Beispiel ein Tool, was ich in letzter Zeit entdeckt habe, was halt so, ich habe nicht so richtig geflasht, das war echt gut, ist FZF.

Dominik

Ah ja, stimmt, das kann man auch mit Fisch kombinieren.

Jochen

Ja, ja, genau, genau.

Jochen

Und dann Stern-Stern und dann macht es automatisch irgendwie eine Suche rekursiv in einem Dateisystem und man gibt es halt, also das sucht im Grunde, also dem kann man beliebige Sachen irgendwie reinpipen, so nach via Standard-In.

Jochen

Und dann macht es da drauf halt Suche.

Ja, genau, ja.

Jochen

So fuzzy-Suche.

Jochen

Und wenn man jetzt, man kann jetzt einfach Buchstaben eingeben und dann sucht es halt die Dinge, die dazu so am ähnlichsten sind.

Jochen

Und das funktioniert ziemlich, ziemlich gut.

Jochen

Und es zeigt es halt, während das läuft schon an.

Jochen

Das heißt, man hat so eine eingebaute Preview und also man muss es halt mal ausprobieren.

Jochen

Es ist wirklich, wenn man das ein paar Mal verwendet hat, so wow, warum hat es da vorher eigentlich noch nie jemand auf die Idee gekommen, das so zu machen?

Jochen

Das ist total cool.

Jochen

Und gerade in Kombination jetzt mit zum Beispiel einem schnelleren Feind, also weil Feind ist halt auch so eins von diesen alten Tools, die eigentlich gar nicht so geil sind.

Jochen

Und da gibt es ein neueres, nennt sich FD.

Jochen

Und FZF plus FD ist unfassbar schnell.

Jochen

Und man kann damit halt super irgendwie auch in großen Projekten irgendwie Dinge sofort finden und so.

Jochen

Und dann gibt es, hat man da auch, kann man dann auch irgendwie gleich ein Vorschau-Ding mit einbauen.

Jochen

Und dann, also ich glaube, Standard-Ding ist halt irgendwie Cut, was da verwendet wird oder so.

Jochen

Aber das sieht dann halt so ein bisschen langweilig aus.

Jochen

Aber es gibt da halt auch irgendwie ein neues Cut.

Jochen

Das nennt sich Butt.

Jochen

Und das ist halt auch so eins von diesen neuen Tools und das ist halt kann halt auch Syntax-Highlighting für alle möglichen unterschiedlichen Arten von Dateien, also JSON oder weiß ich nicht, eben Python alle möglichen Programmiersprachen.

Jochen

Und das koloriert dann halt die Preview auch, sodass du halt Sachen suchen.

Jochen

Und wenn du dann mit dem Cursor runterläufst, dann kriegst du halt die Preview angezeigt und das zeigt es dann halt direkt mit Syntax-Highlighting und so.

Jochen

Sieht voll toll aus.

Jochen

Also das heißt quasi.

Jochen

FZF kombiniert mit FD und BAT ist halt echt ziemlich cool.

Jochen

Und genau, auf Grab auch gibt es auch ein Ding, das ist RibGrep, irgendwie ein gutes Stück schneller und netteres Interface.

Jochen

Und ja, das ist auch schön.

Jochen

Lass mich mal überlegen, was gibt es denn noch?

Dominik

Also das Prompt sollte man vielleicht auch cooler anhören will.

Dominik

Obwohl du jetzt sagtest, du hast das ausgemacht bei irgendwie.

Jochen

Ja, nee, ich habe tatsächlich auch.

Jochen

Also im Prompt ist immer so eine Zweifel, die manchmal aufmal, das habe ich auch tatsächlich nicht auf allen Rechnern gleich.

Jochen

Weil wenn das zu fett wird, dann nervt mich das.

Jochen

Und gerade, wenn man jetzt auf GitLab zum Beispiel irgendwie einen Merge-Request aufmacht und dann also den automatisch Generierten benutzt, um dann irgendwas zu tun, dann wird halt das Prompt unter Umständen sehr, sehr lang, weil diese generierten Dinger sind halt immer so lang.

Dominik

Ja, also man kann tatsächlich, also die Verzeichnisnamen, Strukturen zum Beispiel schon mal sehr viel abkürzen, dass er relativ Anfangsbuchstaben zeigt und so, dass man relativ den Tree ein bisschen kürzer fasst.

Dominik

Was ich sehr gerne mag im Prompt, ist, wenn ich im Gitrepo habe, dass er mir einen Status hat, für wie viele Changes ich noch machen muss oder sowas.

Dominik

Also wo ich halt stehe, wie viele Commits es gibt und wie viel ich weg oder pulen muss oder so, damit das gleicht.

Dominik

Und ob ich schon committed habe und so, das finde ich sehr, sehr, sehr angenehm.

Jochen

Ja.

Dominik

Also will ich auch gar nicht mehr ohne.

Dominik

Also kann ich mir auch gar nicht mehr vorstellen.

Ups.

Jochen

Ja, was man dazu auch noch erwähnen sollte, ist, dass es halt für Shells auch normalerweise, also also zumindest für ZSH und Fisch, gibt es halt noch Paketmanager.

Jochen

Also O mei ZSH oder OMIFisch.

OMIF.

Jochen

Und da kommen dann halt auch solche Dinge mit so Themes und so, die man installieren kann, wo dann halt Leute sich Gedanken gemacht haben, wie man.

Dominik

Ich glaube auch, wenn der Fisch ist auch Dracula.

Jochen

Ah, okay.

Dominik

Und das ist halt sehr schön, wenn der Editor Dracula ist und die Shell ist Dracula und so und das ist alles, dann macht Spaß.

Jochen

Dann, äh, ja.

Dominik

Kleine, also was ich mal sehr gerne mag, auch ich mache bestimmte Verzeichnisse, lange Verzeichnisse haben, ersetze ich euch an Icon oder sowas, wenn ich halt eine Wolke für die Cloud oder wie auch immer.

Das ist auch ganz nett.

Dominik

Home kennt man ja mit der Tilde.

Dominik

Aber ja, und sowas halt, ne, in Kombination ein bisschen kann man überlegen, was eine Uhrzeit will, Benutzernamen, Rechnername irgendwie.

Jochen

Ja, ich sehe das bei dir zum Beispiel dieses Prompt, der mir schon zu lang und ich mache das ja meistens so, ich habe auf jedem Monitor mindestens mal so zwei Shells irgendwie.

Dominik

Ja, das mag ich nicht.

Dominik

Also ich mag dann.

Okay, genau.

Jochen

Dann ist es halt nicht so ein, eben, dann ist es natürlich nicht so ein Problem mit dem langen Prompt.

Jochen

Aber wenn du jetzt vorstellst, es wäre nur die Hälfte am Platz, dann kriegt man da dann schon irgendwann ein Problem.

Jochen

Andere Leute machen das so, dass sie das halt dann umbrechen und dann das Prompt über dem Cursor haben.

Ja, genau.

Jochen

Ich kann mich da auch nicht so richtig dran gewöhnen.

Dominik

Ja, ich habe mir zum Beispiel auch immer vorstellen, was das jetzt gerade für eine Shell ist, ne?

Dominik

Ob das jetzt ein Fisch ist, ein PowerShell oder WSL oder so.

Jochen

Ja.

Jochen

Aber ja.

Dominik

Ja, das sogar auf jeden Fall aber auch dazu, zu der Entwicklungsumgebung.

Jochen

Ja, auf jeden Fall.

Dominik

Ja, also generell so die ganzen Aliasse, ne?

Dominik

So, was macht ihr gerade?

Dominik

Ich habe so einen lustigen Artikel gefunden von einem Freund von mir, der zeigte, dass Leute sich Shell-Skripte geschrieben haben für alles Mögliche.

Dominik

Also wenn er zum Beispiel abends um halb nur noch im Rechner schlag, dann hat er automatisch an seine Freundin eine Nachricht geschickt aus einem random Stream, warum er heute später kommt oder sowas oder andersrum.

Dominik

Wenn er morgens noch nicht um Völle vor neun dran saß, dann hat er automatisch eine E-Mail an seinen Arbeitgeber oder den Kunden verschickt.

Dominik

Hangover und so.

Dominik

Dann kann man lustige Sachen mitbauen, irgendwelche Cronjobs einrichten und so.

Ja, genau.

Jochen

Ansonsten, ah, das einzige Command-Line-Tool, was halt auch noch ziemlich wichtig ist, ich weiß nicht, aber das können wir hier eigentlich auch nicht so richtig on Detail.

Jochen

Ach, da ist es T-MAX halt so.

Jochen

Ich weiß nicht, ob du das verwendest, so im Alltag oft, aber.

Dominik

Du meinst jetzt das Android-Diberg.

Jochen

Nee, nee, nee, nee, dass man sozusagen einfach noch einen Shell-Multiplexer hat.

Ach so.

Jochen

Dass man halt sozusagen, damit kannst du auch zum Beispiel auf allen und auf unterschiedlichen Maschinen halt gleichen Shells hinkriegen, wenn du das richtig verwendest.

Jochen

Oder dass du halt sozusagen dich auf einem Rechner einloggst und dann halt alle Shells wieder so hast, wie du so vorher hattest oder so.

Jochen

Ja, genau.

Jochen

Aber naja, gut, also das ist nochmal eigentlich.

Dominik

Ach, jetzt weiß ich, was du meinst, also der speichert die Session quasi von dem einzelnen, ja, ja, genau.

Dominik

Ja, benutzt du irgendwas für deinen, also Thermox, ich habe gerade verwächst.

Dominik

Ich benutze zum Beispiel Thermox noch für Android, das ist vielleicht gar nicht so schlecht.

Dominik

Das kann man auch ein bisschen rumkonfigurieren.

Dominik

Da kann man nämlich dann tatsächlich, wenn man Remote unterwegs ist, mal kurz irgendwo dran.

Was benutzt du da?

Dominik

Du bist ja die Apple-Familie, habe ich gehört.

Jochen

Du meinst als Shell.

Ja, ja.

Jochen

Oder SSH oder.

Dominik

Ja, zum Beispiel, wie

Jochen

auch immer.

Jochen

Und Terminal.

Jochen

Also auf dem iOS benutze ich da fast, habe ich früher mal, gab es iSSH oder so verwendet, aber das mache ich eigentlich praktisch nicht mehr.

Jochen

Warum eigentlich nicht?

Jochen

Aber das ist einfach, naja.

Jochen

Was es gibt, was für mobile Geschichten ganz praktisch ist, was man vielleicht mal auch, ist, also gerade für Zugfahrten, also Zugfahren in Deutschland ist ja irgendwie immer so, tja, mit Internet ist halt da nicht so richtig.

Jochen

Und ab und zu hat man ja schon mal Netz, wenn man dann so irgendwie, keine Ahnung, an der Autobahn vorbeikommt oder irgendwie an der Stadt oder so, dann ist er manchmal schon so für einen kurzen Moment wieder Netz da.

Jochen

Und wenn man jetzt irgendwie SSH verwendet, also eben T-Max hilft einem dann natürlich auch oder irgendwas in der Richtung und T-Max auf Screen oder so, wenn man dann die Session wegfliegt, kann man sie halt wieder damit herholen.

Jochen

Aber was eigentlich noch viel cooler ist, ist halt, dass es, es gibt halt so, das nennt sich Mosch.

Jochen

Ich guck mal gerade, ob das, ob ich jetzt nicht Unsinn erzähle, aber das müsste eigentlich.

Jochen

Das ist halt sozusagen eine mobile Shell und die geht halt nicht über TCP, weil TCP funktioniert halt gar nicht gut, wenn da irgendwie Package Loss ist.

Jochen

Und jetzt immer mit der Bahn durch die Gegend fährt oder so, dann hat man halt die ganze Zeit irgendwie komisch Package Loss, Verbindung ist weg.

Jochen

Seltsame Dinge passieren, ja, Signalstörungen, Zügebleiben liegen, keine Ahnung, Schildkröten regnen, was ich nicht von mir will.

Jochen

Katze, Hunde, Katze, solche Sachen passen dauernd.

Jochen

Und das heißt, ja, eine TCP-basierte SSH-Session ist halt einfach nicht das, was man haben will, sondern was man haben möchte, ist was UDP-basiertes, Mosch und das funktioniert super.

Jochen

Also da geht deutlich mehr durch.

Jochen

Das funktioniert da halt unter noch deutlich schlechteren Bedingungen als jetzt O SSH.

Jochen

Und das Ding bleibt halt die ganze Zeit quasi, also wenn man mal kurz kein Netz hat, dann geht halt nichts, aber sobald man Netz hat, geht da eigentlich sofort wieder was durch.

Jochen

Ohne dass man irgendwie neu connecten muss und diesen ganzen Kram.

Jochen

Ja, klingt.

Jochen

Aber das ist schön.

Klingt nützlich, ja.

Ja.

Ja, ja.

Dominik

Ich überlege, haben wir was vergessen?

Dominik

Also eure Entwicklungsumgebung sollte jetzt relativ komplett sein, oder?

So langsam.

Jochen

Ich überlege auch gerade.

Jochen

Ich glaube, müsste eigentlich so ziemlich alles läuft.

Jochen

Mit drin sein.

Dominik

Wir haben bestimmt irgendwas vergessen, schreibt uns das an unsere E-Mail.

Dominik

Hallo.pythonpodcast.de.

Jochen

Genau, ja.

Jochen

Ansonsten, ja, ich weiß nicht, dann sind wir damit durch.

Jochen

Haben wir noch irgendwie sowas wie Pix oder so?

Dominik

Ja, ich wollte wieder so ein Anfänger-Pick machen und da habe ich P-Print gefunden.

Dominik

Data Print-Pretti für JSON.

Dominik

Also ich habe irgendwie Sachen aus dem Server gepasst und da kam immer sicher Unfug raus und ich musste mich totsuchen oder halt immer fein ein Pretty Print.

Dominik

Macht man dann einfach, importiert man das P-Print und macht dann ein extra P vor das Print.

Dominik

Und dann hat man lesbare JSON-Daten beispielsweise, die man von einer API zurückbekommt.

Jochen

Hm, sehr schön.

Ja, mal Auto-Format, ein bisschen Auto-Intendation und sowas.

Jochen

Ja, ich habe ein ganz interessantes, es ist halt auch eher so, dass es dann ein bisschen mit vorsichtig Vorsicht anfassen vielleicht.

Jochen

Ist so ein habe ich im Zusammenhang mit Poetry Run-Skripten irgendwie entdeckt, als ich auf der Suche war nach, okay, ich möchte jetzt die Ausgabe von manchen Funktionen, die ich da irgendwie ausführe, so ein bisschen bunter aussehen lassen.

Jochen

Und dann gibt es da ja divers, die einem das mit den Ansi-Colors in der Stelle irgendwie so einfacher machen.

Jochen

Und dann hatte ich dieses Problem, dafür habe ich dann Zeugs importiert.

Jochen

Und dann habe ich da auch noch irgendwie Command-Line-Optionen und so mit reingeben wollen.

Jochen

Und dann habe ich mit Klick angefangen und dann bin ich aber irgendwie drauf gestolpert, dass so ein Ding gibt, das es irgendwie integriert und das nennt sich Typer.

Jochen

Das ist ein relativ neues Ding, ist noch irgendwie alles sehr frisch.

Jochen

Ist irgendwie von den gleichen Berliner NLP-Leuten, die halt auch so Spacey und so machen, glaube ich.

Jochen

Oder in dem Umfeld ist das, da kommt das irgendwo her.

Jochen

Und das Ding generiert sozusagen deine Command-Line-Interface aus den Type-Annotations.

Jochen

Also du gibst sozusagen den Funktionen, die halt die Entry Points sind, gibst du halt Type-Annotations mit.

Jochen

Und du kriegst halt, wenn du die aufrufst von außen mit minus h oder so, kriegst du eine Erklärung, was du da noch so an Argumenten mitgeben kannst.

Jochen

Ach, schön.

Jochen

Und das ist natürlich praktisch, weil da muss man halt Dinge nicht doppelt und dreifend entscheiden.

Dominik

Wenn man sich dann schon angewöhnt, schon braucht Hype-Annotations mit, in seinen Code einzubauen und Doc Swings, dann hat man tatsächlich eine vernünftige Help-Funktion.

Jochen

Ja, und eben man schreibt dann halt nicht Print, sondern man schreibt dann halt Type.echo oder sowas.

Jochen

Und dann dem kann man dann halt auch sagen, und das mache hier das mal rot und das farbig und das sind fertig.

Und das geht auch alles.

Jochen

Und dass man halt diese Probleme auch erledigt hat.

Jochen

Das heißt, man muss halt nur noch eine Abhängigkeit und hat damit einen Großteil dieser ganzen Geschichten erschlagen.

Jochen

Und das ist natürlich schon auch sehr nett.

Jochen

Deswegen picke ich das mal.

Jochen

Kann man sich ja mal angucken.

Dominik

Cool.

Dominik

Ja, ich hoffe, ihr habt eure Entwicklungsumgebung fertig und seid zufrieden mit dem, was ihr da macht.

Dominik

Schreibt uns, wenn ihr noch mehr wissen wollt oder wenn ihr irgendwelche anderen Meinungen habt oder findet, dass wir total Unsinn erzählt haben.

Dominik

Das machen wir jetzt auch mal und wieder.

Dominik

Ja, seht uns demnächst bald auf irgendwelchen Events hier, vor allen Dingen in der Rainer Decke und vielleicht auf der Europäis in Dublin.

Dominik

Ja, vielen Dank, dass ihr jetzt wieder zugehört habt.

Dominik

Wir sind ganz stolz auf unsere Abonnenten.

Dominik

Ich glaube, wir haben beinahe 1000 Abonnenten jetzt über die ganze Zeit.

Jochen

Wo alles zelt, ja, vielleicht.

Das ist noch ein Wahnsinn.

Dominik

Vielen Dank fürs Zuhören.

Dominik

Jo.

Dominik

Ja, bleibt uns gewogen, egal zu welchem Tages-Nachzeit ihr uns hört.

Dominik

Und bis zur nächsten Folge.

Dominik

Alles klar.

Tschüss.