Transcript: Python Entwicklungsumgebung 2020 Edition

· Back to episode

Full episode transcript. Timestamps refer to the audio playback.

Dominik

Ja, hallo liebe Hörerinnen und Hörer, 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, bei mir ist wieder Jochen.

Dominik

Ja, hallo.

Dominik

Wir sind diesmal wieder in der Raumschiff-Zentrale.

Jochen

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

Jochen

Ja, zum zweiten Mal, genau.

Jochen

Ja, sieht auf jeden Fall beeindruckend aus mit so drei Monitoren und vielen blinkenden Lichtern.

Jochen

Es gibt ja sogar auch einen Bonsai-Baum

Jochen

und einen Kaktus.

Jochen

Wow.

Dominik

Was auch immer die in der Zentrale hier machen, aber ja.

Dominik

Ja.

Dominik

Ja, Entwicklungsumgebung heute.

Dominik

Wir haben euch leider ein bisschen

Dominik

warten lassen mit der Episode. Wir sind gerade

Dominik

sehr eingespannt gewesen in letzter Zeit.

Dominik

Das tut uns natürlich sehr leid, aber

Dominik

ihr werdet nicht auf uns verzichten müssen. Wir machen auf jeden Fall weiter

Dominik

und versuchen auch wieder regelmäßige Folgen

Dominik

aufzunehmen. Also seid uns nicht böse

Dominik

und hört uns doch an.

Jochen

Ja, spontan ist halt einfach alles auf einmal,

Jochen

was so passiert.

Dominik

Ja, wie es immer so ist.

Dominik

Naja, wir lassen uns davon nicht abhalten

Dominik

und sind weiterhin gute Dinge.

Dominik

Ja, genau.

Jochen

Ich meine, wie kamen wir eigentlich

Jochen

auf das Thema?

Jochen

Ich glaube, ah, ja, richtig.

Jochen

Apple hat mal wieder,

Jochen

das kann jetzt vielleicht für Leute

Jochen

so ein bisschen langweilig sein, die jetzt keine

Jochen

Apple-Hardware verwenden.

Dominik

Ich erzähle gleich noch was zu was anderen.

Dominik

Apple hat

Dominik

halt Ende des Jahres

Jochen

2019, muss man sagen,

Jochen

neue Hardware rausgebracht

Jochen

und diesmal ist es

Jochen

tatsächlich auch wieder irgendwie sozusagen

Jochen

Grund zur Freude. Das war lange Zeit nicht der Fall.

Jochen

Irgendwie viele Leute behaupten so

Jochen

2015 sind die letzten

Jochen

MacBooks rausgekommen, die man gut

Jochen

kaufen konnte und da

Jochen

ist auch was dran. Ich

Jochen

habe selbst irgendwann

Jochen

das 2016er

Jochen

MacBook Pro, glaube ich, mal

Jochen

gekauft mit Touch Bar

Jochen

und das war

Jochen

ziemlich furchtbar. Das war tatsächlich,

Jochen

muss ich sagen, also ich

Jochen

verwende so

Jochen

MacBooks zum Entwickeln

Jochen

seit

Jochen

2004 ungefähr, glaube ich.

Jochen

Also schon eine ganze Weile.

Jochen

Also ich übrigens nicht. Ich habe immer

Jochen

alle möglichen Maschinen hier stehen.

Jochen

Vorher war ich eher auf Linux,

Jochen

aber das Problem mit Linux ist dann

Jochen

vor allen Dingen, wenn man es damals auf

Jochen

Laptop-Hardware

Jochen

laufen hat lassen, dann

Jochen

hat immer irgendwie irgendwas nicht

Jochen

richtig funktioniert. Das heißt, entweder

Jochen

Video oder Audio ging nicht so ordentlich

Jochen

oder man schließt halt Monitor an und dann passieren

Jochen

seltsame Dinge und irgendwie

Jochen

wie heißt dieses

Jochen

ACPI?

Jochen

Ich weiß nicht genau. Dieses

Jochen

Einschlaf-Aufwach-Ding.

Jochen

Das hat auch nie so richtig

Jochen

toll funktioniert und

Jochen

man muss halt irgendwie dauernd seinen

Jochen

Kernel neu kompilieren und so.

Dominik

Ich habe einige G-Versuche auch gemacht unter

Dominik

verschiedenen Linux-Distributionen, die

Dominik

jedes Mal mich nicht überzeugt

Dominik

haben, dass, also außerhalb von Server-Eingebungen

Dominik

oder sowas einsetzen zu wollen.

Dominik

Ich werde von den Leuten im Computer-Club immer so

Dominik

ein bisschen belächelt. Ich habe tatsächlich ein, zwei Windows-Maschinen

Dominik

hier.

Jochen

So was. Ich meine, das ist ja auch nur wirklich sehr,

Jochen

also das ist ja, wie kommt das denn dazu?

Jochen

Ja gut, vielleicht

Jochen

Noobs unter sich oder so, ja.

Jochen

Nee, gut, ich kann durchaus verstehen.

Jochen

Das, was ich auch immer höre, ich habe auch in letzter Zeit noch mal

Jochen

Windows auf dem Laptop gehabt und

Jochen

was auch sonst Leute

Jochen

sagen, das ist alles nicht mehr so furchtbar schlimm. Man kann also

Jochen

mittlerweile auch Windows ganz gut als

Jochen

Entwicklungsumgebung verwenden.

Jochen

Erzähle ich euch auch gleich, wie man das machen kann.

Jochen

Ja, also

Jochen

Linux ist eigentlich schon toll,

Jochen

aber ich dachte mir, ich mache das den ganzen Tag auf der Arbeit

Jochen

schon irgendwie so an Linux-Kisten rumfrickeln.

Jochen

Da irgendwie

Jochen

hat man dann vielleicht dann doch irgendwann,

Jochen

wenn man mal ein Laptop auch zu was anderem

Jochen

verwenden will, außer jetzt entwickeln.

Jochen

Multimedia?

Jochen

Ja, oder

Jochen

so Dinge, die man halt auch machen kann, ohne

Jochen

jetzt da irgendwie einen Kernel kompilieren zu wollen.

Jochen

dann ist das halt doof und dann hat man

Jochen

irgendwann auch keine Lust mehr drauf und dann dachte ich, na gut, da muss es doch

Jochen

eine Alternative geben und

Jochen

ja, aber das ist ja auch gerade im

Jochen

Klub im Feld sehr, sehr verbreitet, dass

Jochen

Leute da halt Macs verwenden.

Jochen

Mein Hauptgrund für Windows ist tatsächlich die Spielerei.

Jochen

Ich bin ein leidenschaftlich, spiele ich gerne

Jochen

rum, irgendwelche Spiele

Dominik

und das geht natürlich auch nicht so

Jochen

wirklich. Ne, das geht glaube ich nur unter

Jochen

Windows oder ich weiß nicht, auch

Jochen

ich kenne viele Leute, die da eher

Jochen

so halt dann Konsolen

Jochen

verwenden. Ja, ich habe halt

Dominik

nutze gerne Steam, wenn nicht jetzt auch schon wieder

Dominik

Schleichwerbung. Und da gibt es halt auch den Link

Dominik

und so, das kann man ganz gut kombinieren

Dominik

mit einem Windows-Rechner und dann läuft er halt einfach auf deinem Fernseher

Dominik

zu Hause in deinem Wohnzimmer und dann kannst du damit

Dominik

Controller mit deinen Kumpels vorsitzen und irgendwelche

Dominik

Indie-Games zocken.

Jochen

Okay, ja, das klingt tatsächlich ganz interessant,

Jochen

weil ich meine jetzt so die,

Jochen

eben, also ich meine,

Jochen

man will es ja auch vielleicht mal gemütlich haben, wenn man

Jochen

jetzt irgendwie was spielt.

Jochen

Dann so ein

Jochen

lüftenden, lauten, blinkenden

Jochen

Kasten irgendwie im Wohnzimmer stehen haben, das will jetzt

Dominik

vielleicht auch nicht sein. Aber ich möchte natürlich die Modding-Fähigkeiten haben

Dominik

und die Rechner sind meistens immer wieder ein bisschen schneller,

Dominik

es sei denn, die neueste Generation ist gerade draußen, als

Dominik

irgendwie so eine Konsole und viel

Dominik

flexibler und so, ne? Von daher.

Dominik

Ja. Das kriege ich alles nicht hin und ich habe

Dominik

auch keine Lust da, den ganzen großen Herstellern immer hinterher

Dominik

zu kaufen. Aber, naja, das ist ja so eine andere

Dominik

Geschichte. Wir wollten heute ja über Entwicklungsumgebung

Jochen

reden. Genau, genau, genau. Ja, aber ich will aber noch gar nicht

Jochen

mit meiner Notebook-Story.

Dominik

Deine Story ist eine Note-Story. Ja. Ich mache

Dominik

aber trotzdem noch einen kleinen Break. Okay. Weil eure

Dominik

Fragen, Anmerkungen, Kommentare und so weiter, könnt ihr

Dominik

in hallo-at-pison-podcast.de schicken, das wollte ich

Dominik

eigentlich auch noch sagen, hast du direkt losgelegt.

Dominik

Und wir wollten noch so ein bisschen

Dominik

angeben, weil wir haben jetzt

Dominik

einige Abonnenten, vielen Dank dafür,

Dominik

dass ihr alle so fleißig zuhört.

Jochen

Ich bin überrascht, dass immer wieder, also ich meine, das ist ja nicht so

Jochen

wirklich regelmäßig, was wir machen und

Jochen

lang und langatmig

Jochen

und weiß nicht und trotzdem irgendwie

Jochen

sieht das

Jochen

so aus, als ob es da irgendwie tatsächlich Leute gibt, die das

Jochen

interessiert.

Jochen

Ich war jetzt auf dem letzten

Jochen

Pai-DDF-Treffen, war auch jemand da,

Jochen

der meinte, er hat von dem Pai-DDF-Treffen

Jochen

erfahren über den Podcast.

Jochen

Der konnte ich leider nicht.

Jochen

Ich hatte einen guten Grund.

Jochen

Also, ja,

Jochen

genau, das

Jochen

erfreuliche Entwicklung.

Dominik

Ja, aber wir erwarten genau News aus der Szene und so, bevor wir jetzt in das Thema

Dominik

zeigen. Ach so, okay.

Dominik

Ich mach mal so einen Chapter-Mark jetzt.

Dominik

Ja, dann machen wir das.

Dominik

Ich weiß gar nicht genau,

Jochen

ob es da irgendwas Besonderes gab.

Jochen

Ich habe jetzt...

Jochen

Ziemlich unvorbereitet.

Dominik

Die Chapter-Markte haben gerade überhaupt nicht funktioniert.

Dominik

Ja, hat nicht so richtig funktioniert.

Jochen

Ich habe auch immer das Problem, dass das nicht so richtig klappt.

Jochen

Also entweder man muss da reinklicken

Jochen

oder man muss da irgendwie noch was anders konfigurieren oder so.

Jochen

Aber bei mir funktioniert das auch nicht so richtig gut.

Jochen

Naja, muss man halt hinterher noch mal machen.

Jochen

Nacharbeiten.

Jochen

Genau, also wirklich interessante, tolle Neuigkeiten.

Jochen

Python 2 ist tot.

Jochen

Ach so, ja, natürlich, okay.

Dominik

Wir sind doch jetzt im neuen Jahr, wir haben doch die erste Folge

Jochen

dieses Jahres. Ja, Python 2

Jochen

ist weg, stimmt. Und

Jochen

das ist ja eigentlich auch eine sehr gute Geschichte.

Jochen

Es gibt jetzt nochmal ein Release

Jochen

im April, aber das ist halt nur

Jochen

sozusagen für die

Jochen

Änderungen, die bis Ende des Jahres irgendwie

Jochen

dazugekommen sind, noch

Jochen

um das halt noch releasen zu können.

Jochen

Und das

Jochen

war es halt dann. Ja, dann können die ganzen

Dominik

Leute endlich, ja, man könnte jetzt

Dominik

anfangen, seine Python 2.3-Umstellung mal in Gänge

Dominik

zu bringen.

Dominik

Es kamen so ein paar Anfragen rein, die das tatsächlich gemacht

Dominik

haben, die dann nochmal umgestiegen sind. Jetzt

Dominik

zeitig, ja.

Dominik

Naja, wie auch immer.

Dominik

Ja, also

Jochen

das war übrigens auch auf dem letzten

Jochen

PIDF-Treffen ganz interessant. Da gab es

Jochen

von Marc-André

Jochen

halt einen Vortrag dazu,

Jochen

wann denn jetzt nur wirklich richtig

Jochen

Schluss ist, weil ich meine, man kann jetzt, selbst wenn man

Jochen

sagt, okay,

Jochen

Support ist mir eigentlich egal, ich mache

Jochen

einfach weiter.

Jochen

Ja, ich meine, was soll schon passieren?

Jochen

Alles egal.

Jochen

Ich bin da gar nicht darauf angewiesen,

Jochen

dass ich da jetzt offiziellen Support von irgendjemandem

Jochen

habe, dann betreibe ich meine Systeme einfach

Jochen

weiter, aber es gibt da so Dinge, die dann

Jochen

irgendwann tatsächlich kaputt gehen werden.

Jochen

Unter anderem halt deswegen,

Jochen

weil Setups, Tools

Jochen

selbst nicht mehr unter

Jochen

Python 2 funktionieren werden, ab jetzt

Jochen

einer relativ aktuellen Version irgendwann.

Jochen

0.45, irgendwas

Jochen

oder eins drunter, keine Ahnung.

Jochen

Und das bedeutet halt, wenn, sobald

Jochen

das nicht mehr richtig geht, wird halt auch

Jochen

PyPI nicht mehr richtig gehen und sobald

Jochen

das nicht mehr geht, ist halt irgendwie vorbei, weil dann kannst du

Jochen

halt nichts mehr installieren. Nativer Python-Interpreter.

Jochen

Ja. Naja. Also

Jochen

man sollte sich tatsächlich... Selbstgeschriebene

Jochen

Skripte könnten ja noch gehen.

Jochen

Nee, du kannst tatsächlich

Jochen

nichts mehr installieren.

Dominik

Nee, du musst nicht installieren, du hast ja selber geschrieben.

Dominik

Ja gut, aber

Jochen

also, die keine Abhängigkeiten

Jochen

sonst irgendwas haben, das ist schwierig.

Jochen

Also, ja.

Jochen

Die Standardbibliothek ist groß, vielleicht geht da ein bisschen was an.

Jochen

Ja, wir sind durch, Python 2

Dominik

ist endlich weg. Ja, könnt ihr endlich

Dominik

für immer weglassen. Alles

Dominik

neue, alles Python 3. Guckt euch gar nicht mehr

Dominik

an, was in Python 2 irgendwann mal Legacy war.

Dominik

Es ist egal.

Jochen

Ja, ansonsten

Jochen

genau, ich weiß nicht, wie lange jetzt

Jochen

3.8.1 raus ist, auch schon eine ganze

Jochen

Zeit. Also die erste meiner

Jochen

Version von 3.8.

Jochen

Also 3.8 verwende ich jetzt auch

Jochen

tatsächlich schon

Jochen

bei den meisten Sachen, die ich so mache

Jochen

und das funktioniert gut.

Jochen

Die meisten haben eigentlich immer noch so Probleme,

Jochen

dass es gewisse Bibliotheken gibt, die so ein bisschen

Jochen

hinterherhinken.

Dominik

Wir hatten einen ganz bösen Bug bei 3.8 und

Dominik

Jupiter und Tornado. Ich habe noch gar nicht geguckt,

Dominik

ob bei 3.8 eins weg ist. Ich habe das nämlich manuell gepflixt.

Dominik

Man konnte nämlich die Jupiter-Notebooks dann einfach

Dominik

nicht mehr laufen lassen. Zumindest jetzt in Windows hat das

Dominik

nicht funktioniert. Das war immer sehr

Dominik

anstrengend. Aber ja, wenn man in Tornado

Dominik

eine Zeile eingefügt hat, das war ein Bug bei Asien,

Dominik

irgendwas, dann ging es wieder.

Dominik

Das konnte man manuell beheben, aber ja.

Jochen

Ja, genau.

Jochen

Also wenn das jetzt tut,

Jochen

also ich habe jetzt tatsächlich sonst nichts gemerkt,

Jochen

außer dass halt ein paar Pakete noch ein bisschen gebraucht haben.

Jochen

OpenCV und so sind immer so Kandidaten,

Jochen

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

Jochen

Gehst du zur Europython?

Jochen

Ja, gute Frage.

Jochen

Ich denke darüber nach.

Jochen

Ich überlege auch,

Jochen

die Frage wäre halt entweder

Jochen

nach Porto, zur Django-Con

Jochen

Europa

Jochen

fahren oder halt

Jochen

Europe-Hyton. Dublin.

Jochen

Auch interessant, aber auf jeden Fall

Jochen

auf eine von den beiden.

Jochen

Vielleicht gehen wir ja zusammen hin.

Jochen

Das würde natürlich

Jochen

auf die Europe-Hyton besser passen.

Jochen

Ich muss aber

Jochen

irgendwann auf die Django-Con.

Jochen

Naja, das werde ich auch nochmal irgendwie schaffen.

Jochen

Aber ja, das ist

Jochen

auf jeden Fall, es gibt eine Menge interessante Konferenzen

Jochen

dieses Jahr. Ich glaube, ich werde

Jochen

auch auf der PyData oder

Jochen

PyCon.de

Jochen

auch sein dieses Jahr, denke ich wieder.

Dominik

Ja, das ist eine gute Idee. PyData oder PyCon.de?

Dominik

Die sind ja zusammen.

Dominik

Ich dachte, die sind parallel.

Dominik

Ja, halt

Jochen

in einem Gebäude. Ja, okay, das heißt,

Jochen

man kann nicht herlaufen. Ne, das sind keine getrennten,

Jochen

das ist eine Konferenz. Achso, ich dachte tatsächlich,

Dominik

das wären zwei. Ne, ne. Wieder aufgeklärt und dann

Dominik

keine Ahnung. Na gut.

Dominik

Ja.

Dominik

Da seht ihr uns.

Dominik

Wir sehen uns noch am Python Barcamp.

Dominik

Oh ja, das ist jetzt demnächst in Köln.

Jochen

Genau, das ist eine tolle Veranstaltung.

Jochen

Ist jetzt halt schon wieder so ein bisschen ausgebucht.

Dominik

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

Dominik

Oder war die schon eigentlich?

Dominik

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.

Dominik

Aber falls ihr da in der Ecke immer seid, dann schaut doch nochmal danach.

Jochen

Ja, genau.

Jochen

Aber ich glaube, auch bei dem Python-Camp in Köln ist es so,

Jochen

dass halt immer noch so ein bisschen Kontingente freigegeben werden.

Dominik

Ich glaube, das zweite Kontingente ist schon freigegeben.

Dominik

Ich glaube, es ist durch.

Dominik

Ich könnte mal kurz gucken, ob die noch Plätze frei sind

Dominik

für alle Menschen, die das jetzt noch hören.

Dominik

Wir nehmen jetzt übrigens gerade auf, am 3. Februar ist heute, glaube ich.

Dominik

Ja.

Dominik

Ja, okay, ja, dann.

Jochen

Ja, das ist natürlich ein bisschen doof dann,

Jochen

wenn man eine Veranstaltung fubbt, die man nicht wählen kann.

Dominik

Das in Leipzig ist übrigens am 19. Januar

Dominik

gewesen. Ja, gut. Ah, okay.

Dominik

Gerade eine Woche her. Ja, gut.

Dominik

Ja, ich glaube, es sind keine Plätze

Dominik

gerade mehr, wie ich das sehe, aber

Dominik

das nächste Mal.

Dominik

Genau, muss mal schnell sein.

Dominik

Aber jetzt vielleicht doch dann unser Thema.

Jochen

Ja, Thema. Entwicklungsumgebung, genau.

Jochen

Und ich würde natürlich irgendwie

Jochen

Du hast deinen Story mitgegeben.

Jochen

Ich würde gerne aufs Check-in kommen

Jochen

und ganz unten anfangen bei Hardware.

Jochen

Ja, okay.

Jochen

Genau.

Jochen

Ja, ich bin irgendwann mal auf dem

Dominik

Mac umgestiegen. Kann ich ja nicht so

Dominik

ganz verstehen. Ja, ich

Jochen

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

Jochen

Ich habe das

Jochen

irgendwann mal wieder versucht. Ich habe als

Jochen

Kind und so fand ich das auch toll, aber

Jochen

dann irgendwie, weiß nicht, irgendwie. Habt ihr das

Jochen

gehört? Als Kind? Ja.

Jochen

Mit dem Zaunfeier.

Jochen

Ja, es war jetzt auch nicht so schlimm.

Dominik

Ein Erwachsenen-Stammtisch, wo die Leute alle hinkommen.

Jochen

Ah, okay. Ja, das, ja.

Jochen

Nee, habe ich nicht. Und

Jochen

es gibt ja andere, die dann auch sowas sagen, wie

Jochen

ich bin als Kind irgendwie den

Jochen

Topf mit den Spielen

Jochen

gefallen und deswegen

Jochen

darf ich das heute nicht mehr. Das ist

Jochen

bei mir gar nicht so. Also ich hätte das zwar schon gern

Jochen

gemacht, aber so extrem war das alles nicht.

Jochen

Und ich habe irgendwie die Lust so dran

Jochen

verloren und

Jochen

später das aber auch nochmal versucht zu reaktivieren

Jochen

und habe mich dann auch so mit Freunden abends

Jochen

vor eine Konsole gesetzt und bin eingeschlafen

Jochen

immer. Das hat nicht funktioniert.

Jochen

Echt nicht. Ich weiß nicht warum. Du hast das falsche

Jochen

Spiel gespielt. Ja, oder ich war einfach zu schlecht.

Jochen

Ich habe keine Ahnung. Auf jeden Fall.

Dominik

Das wird es auf jeden Fall gewesen sein.

Jochen

Ja, das hat einfach überhaupt nicht mehr funktioniert.

Jochen

Und jetzt habe ich es inzwischen aufgegeben und denke mir, naja, egal.

Jochen

Aber man kann ja auch nicht gewonnen.

Jochen

Man kann ja auch irgendwelche andere interessante Dinge

Jochen

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 sehr nett ist, ist halt,

Jochen

ja, die funktionieren halt eigentlich einfach so.

Jochen

Und sie haben halt eine schöne Shell,

Jochen

so wie ein Linux-System halt auch.

Jochen

Und es ist ein ganz anderes System.

Jochen

Wir machen jetzt mal noch ein bisschen.

Jochen

Kann man um beliebige Shells verwenden.

Jochen

Aber das, was halt sozusagen damals Standard war,

Jochen

ist eine uralte Bash.

Jochen

Und dann war es über zehn Jahre lang weiterhin

Jochen

eine uralte Version einer Bash.

Jochen

Also muss man auch damals schon irgendwie was anderes installieren,

Jochen

wenn man eine ordentliche Stelle haben wollte.

Dominik

Für alle Leute von euch, die Windows nutzen,

Dominik

bitte nutzt nicht CMD, sondern nutzt die PowerShell.

Dominik

Die ist übrigens auch mittlerweile für Linux gibt.

Dominik

Das heißt, auch unter Linux kann man sich eine PowerShell installieren

Dominik

und die weiter nutzen.

Dominik

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

Jochen

Ja, also genau.

Jochen

PowerShell habe ich auch schon gehört,

Jochen

gute Sachen darüber gehört.

Jochen

Aber habe ich jetzt auch noch nie wirklich Bedarf gesehen,

Jochen

das auszuprobieren.

Jochen

Aber ja, muss ich mir vielleicht mal angucken.

Jochen

Bash war die Standard-Shell auf dem Mac lange Zeit

Jochen

und ist dann aber ersetzt worden durch die ZSH.

Jochen

Jetzt eigentlich gar nicht so lange her.

Jochen

das ist natürlich eigentlich auch schon eine tolle Shell

Jochen

und ich habe eigentlich sonst auch schon ganz lange

Jochen

verwende ich die ZSH eigentlich immer auch als

Jochen

Neustandard war. Das ist auch deine Lieblingsshell?

Jochen

Naja, ja doch, kann man sagen.

Jochen

Eigentlich stimmt das schon, das ist schon meine Lieblingsshell,

Jochen

aber momentan verwende ich

Jochen

nochmal eine andere,

Jochen

weil ich dachte, jetzt wo

Jochen

macOS auf

Jochen

ZSH als Standard-Shell gewechselt

Jochen

ist, naja, dann ich meine,

Jochen

dann muss ich da mal

Jochen

so, dann ist das irgendwie nicht mehr hip genug

Jochen

für mich. Da muss ich mal was Neues gucken,

Jochen

ob es da nicht... Und tatsächlich einer...

Jochen

Also ich hab dann jetzt einfach mal mit dem

Jochen

neuen Rechner

Jochen

halt dann auch ein neues Shell genommen.

Jochen

Und zwar Fisch. Ja, du hast dann auch Fisch genommen? Ja.

Jochen

Wollte ich nämlich gerade auch sagen. Fisch ist toll.

Jochen

Ist eine schöne... Ist auch, glaube ich, von einem

Jochen

Apple-Mitarbeiter geschrieben worden.

Jochen

Auch tatsächlich so mit Mac im Hintergrund.

Dominik

Ich mag Fisch. Also manchmal Sachen funktionieren auf einmal

Dominik

nicht. Dann denke ich mir so, warum nicht? Ach so, oben ist es,

Dominik

die Shell. Aber sonst ist Fisch echt cool.

Jochen

Ja, ich muss auch sagen, also es gefällt mir

Jochen

tatsächlich ziemlich gut. Es funktioniert noch nicht alles

Jochen

so rund wie bei der ZSH früher mal.

Jochen

Aber es

Jochen

sieht schon alles sehr, sehr gut aus.

Dominik

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

Dominik

Ja. Also ich benutze tatsächlich Phish

Dominik

nur für meine Server und für

Dominik

mein WSL, also Windows Subsystem Linux.

Dominik

Und sonst eher

Dominik

nicht. Also auf dem Windows funktioniert

Dominik

das noch leider nicht so richtig. Also auf

Dominik

nativen Windows. Da benutze ich dann

Dominik

tatsächlich meistens PowerShell.

Dominik

Okay.

Dominik

Ja, also eigentlich nur PowerShell sonst, ja.

Dominik

Ja.

Dominik

Aber das geht übrigens auch unter Windows.

Dominik

Ihr könnt euch unter Windows superschöne Terminal-Programme

Dominik

benutzen. Es gibt sogar

Dominik

was neu entwickelt wird gerade von Microsoft,

Dominik

das gar nicht so schlecht aussieht.

Dominik

Ich finde, das ist noch ein bisschen früher entwickelt und da fehlen mir noch so ein paar

Dominik

Features. Ich mag immer so Guake-Style-Terminals,

Dominik

die so von oben reinscrollen oder so.

Dominik

Und da gibt es dann zum Beispiel

Dominik

den Commander oder so, den ihr euch besorgen könnt.

Dominik

Ja, das ist so das eine, dass wenn man

Dominik

so ein Terminal braucht, auf jeden Fall in der Entwicklungsumgebung

Dominik

ist absolut Pflicht. Also das solltet ihr ja

Dominik

schon wissen. Kann natürlich auch schön im

Dominik

Jupyter bleiben, aber

Dominik

normalerweise Terminal, ohne Terminal

Dominik

kommt man nicht viel weit.

Jochen

Ja, ich sehe auch

Jochen

Leute, dass sie dann halt einfach die eingebaute Shell von

Jochen

ihrer IDE verwenden oder so, aber das ist schon

Jochen

so ein bisschen, also geht natürlich,

Dominik

aber... Auch das ist ja meistens

Dominik

dann eine Shell, eine Systemshell irgendwie, die

Dominik

eingebaut ist.

Dominik

Ja,

Jochen

also genau.

Dominik

Hast du ein Lieblings-Terminal-Programm?

Dominik

Ja, auf dem Mac auf jeden Fall.

Dominik

Da ist es

Dominik

Item 2.

Dominik

Und

Jochen

ja, das eingebaute Terminal

Jochen

von macOS X ist nicht mehr so

Jochen

oder jetzt muss ich mich dran gewöhnen, macOS

Jochen

ist nicht so schlecht, oder war

Jochen

früher, ist besser geworden, sagen wir mal so.

Jochen

Aber

Jochen

tatsächlich ist es nicht so wirklich vergleichbar mit dem,

Jochen

was Item 2 alles kann. Die kann halt

Jochen

auch so tolle Sachen wie, die hat halt eine Shell-Integration

Jochen

zu ZSH

Jochen

oder auch Fischshell oder auch

Jochen

Bash-Ginge.

Jochen

Und dann kann die eben solche Dinge UI-mäßig abbilden,

Jochen

wie man sieht die History oder kann halt sagen,

Jochen

okay, kopiere mir mal ein File irgendwie irgendwo hin oder so.

Jochen

Das geht halt, also man kann halt Rechtsklick machen,

Jochen

man macht LS und sieht halt ein Verzeichnisliste

Jochen

und sagt halt irgendwie, Rechtsklick da drauf,

Jochen

kopieren wir das mal irgendwo hin oder so.

Jochen

So was geht.

Jochen

Oder eben, ja, diverse, man sieht halt, welche Maschinen,

Jochen

auf welchen Maschinen man ist und so.

Jochen

Also das unterstützt einen auf so einem UI-Level halt

Jochen

bei vielen Dingen, die jetzt wunderschnell selbst

Jochen

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

Und es hat auch eine sehr schöne TMAX-Integration.

Jochen

Da kommen wir vielleicht auch noch später drauf.

Jochen

Aber genau, ich wollte eigentlich,

Jochen

bevor wir jetzt nochmal so da in die

Jochen

was verwendet man eigentlich für Programme

Jochen

Richtung gehen, nochmal kurz auf die Hardware eingehen.

Dominik

Kurz bevor du das machst, müssen wir das Konsolenthema

Dominik

kurz abschließen.

Dominik

Vielleicht für Windows nochmal. Also Commander kann ich

Dominik

tatsächlich sehr empfehlen. Ich finde es auch nicht ganz ideal.

Dominik

Und da sind noch so ein paar hakelige Sachen drin.

Dominik

Vor allem mit Schriftsätzen kann er nicht immer alle Zeichen darstellen,

Dominik

wie er gerne hätte. Also bei Fishtail hat er da ein, zwei hakelige

Dominik

Sachen. Aber ich finde es immer noch

Dominik

die beste Variante für

Dominik

Windows für mich. Dann gibt es noch HyperJS.

Dominik

Das war immer ganz lustig.

Dominik

Aber ich fand es ein bisschen langsam und

Dominik

es hat ein bisschen rumgebackt, aber es hat so tolle

Dominik

grafische Effekte. Ich weiß nicht, ob du sowas

Dominik

kennst, man kann das alles in bunt machen und dann

Dominik

redet irgendwie ein Pokémon mit dir, wenn du

Dominik

tippst oder so. Ich weiß

Dominik

ja nicht. Ich benutze es nicht.

Dominik

Ja, und ansonsten

Dominik

das Neue von Windows ist relativ gut,

Dominik

das Windows-Terminal. Aber wie gesagt, das ist noch Entwicklung.

Dominik

Es ist, glaube ich, erst ein Jahr,

Dominik

anderthalb Jahre jetzt überhaupt da.

Dominik

Und mal gucken, Ende des Jahres

Dominik

wollte ich auf jeden Fall ihm nochmal eine Chance geben. Also zum

Dominik

Spätestens dann, wenn es einen Guake-Modus hat, dann

Dominik

switche ich. Okay.

Jochen

Ja, ich bin mal gespannt, wie sich das unter Windows so entwickelt. Also offensichtlich ist es ja irgendwie so, dass man bei Microsoft irgendwie verstanden hat, 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

Jochen

gab es auch einen Podcast mit

Jochen

dem, ich glaube,

Jochen

Produktmanagement

Jochen

Cheffe oder so, ich weiß nicht mehr

Jochen

genau, von

Jochen

VS Code.

Jochen

Der hatte, genau,

Jochen

der war als Interviewgast im Talk Python

Jochen

to me Podcast.

Jochen

Ah, das habe ich auch gehört.

Jochen

Und erzählte da halt irgendwie so, ja,

Jochen

also wenn man auf Konferenzen geht,

Jochen

also wenn man jetzt die nackten

Jochen

Zahlen anguckt, wie viele Leute,

Jochen

wie viel Prozent der Entwickler verwenden eigentlich

Jochen

Windows, dann verwenden das ganz viele, sonst

Jochen

über 90 Prozent oder so.

Jochen

Wahnsinnig viele. Wenn man jetzt aber auf Konferenzen geht

Jochen

oder auf irgendwie Treffen

Jochen

von irgendwelchen User Groups oder solchen Dingen,

Jochen

dann sieht man da praktisch keine

Jochen

Windows-Rechner. Da siehst du halt relativ viel Mac,

Jochen

relativ, also nur noch eine relativ große Gruppe

Jochen

Linux irgendwie mit ihren

Jochen

Lenovo Thinkpads.

Jochen

Und das war's.

Jochen

Windows sieht man fast nie.

Jochen

Oder halt, ist deutlich in der Mitte halt.

Jochen

Und das ist ja irgendwie

Jochen

so aus einer Produktmanagement-Perspektive

Jochen

unter Umständen sehr problematisch.

Jochen

Wenn ich denke, okay, also

Jochen

hm, ja,

Jochen

warum ist das denn so?

Jochen

Und bleiben diese 90%

Jochen

irgendwie noch bei uns, wenn

Jochen

irgendwie alle die, die sie dann eventuell um Hilfe

Jochen

fragen werden oder so, dann halt

Jochen

zählen, wechseln mal dein System.

Jochen

Das könnte ja ein strategisches Problem geben.

Jochen

Ja genau, deswegen geben die, glaube ich, gerade

Jochen

Gas. Das ist ihnen auf jeden Fall aufgefallen

Jochen

und das ist einer der Gründe, warum es wie es Code überhaupt gibt.

Dominik

Und das neue, also WSL 2, also Windows-Tablet für Linux 2,

Dominik

das ist ja ein nativer 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 ...

Dominik

Ja, da passieren wohl auch Dinge.

Jochen

Oder dass jetzt irgendwie GitHub gekauft haben oder so.

Jochen

Das hat wahrscheinlich auch viel damit zu tun.

Jochen

Also Microsoft bewegt sich da in eine interessante Richtung.

Jochen

War das ein geheimer Aktientipp?

Jochen

Ich weiß nicht, ob das jetzt...

Jochen

Wir machen heute eine Freigewerbung, habt ihr schon gemerkt?

Jochen

Alle relevanten Dinge am Aktienkurs sind da schon passiert.

Dominik

Ja, wir müssen eigentlich mal gesponsert werden.

Dominik

Also falls jemand von Microsoft oder von Apple

Dominik

oder von einer der anderen Firmen,

Dominik

die wir schon genannt haben, zuhört, also wir nehmen eure Spenden

Dominik

natürlich gerne an.

Dominik

Und geben auch gerne halsbrecherische...

Dominik

Du wolltest über Hardware reden, Entschuldigung.

Dominik

Wir haben es jetzt so viel.

Jochen

Ja, keine Aktientipps von

Jochen

Programmierern ernst nehmen, bitte.

Jochen

Ja, genau, ich wollte

Jochen

eigentlich kurz auf die Hardware eingehen, weil

Jochen

ja, also ich meine, genau,

Jochen

was ist eigentlich an Mac-Hardware

Jochen

jetzt aus Entwicklerperspektive so

Jochen

interessant und da ist das Schöne eigentlich, dass man

Jochen

ja, halt

Jochen

ein System hat, das auf der einen Seite

Jochen

so eine gewisse Convenience bietet, dass

Jochen

man halt nicht irgendwie selber Kernel kompilieren

Jochen

muss und so und halt auch die ganze Peripherie und

Jochen

das mit dem Einschlafen und Aufwachen und so, das klappt

Jochen

eigentlich immer

Jochen

und zwar auch recht zuverlässig, sodass man eigentlich

Jochen

den Rechner praktisch nie ausschalten muss, sondern man

Jochen

klappt ihn halt auf, er ist an, man klappt ihn zu, er ist

Jochen

in einem Modus, wo er

Jochen

praktisch keinen Strom mehr verbraucht

Jochen

und

Jochen

ja, trotzdem hat man halt eine ordentliche

Jochen

Unix-Shell

Jochen

und ein ordentliches Unix-System darunter, das so ein bisschen

Jochen

BSD-mäßig ist

Jochen

ja, und das ist halt eine

Jochen

sehr, sehr nette Kombination, weil man

Jochen

halt auf der einen Seite eine ordentliche UI hat

Jochen

und auf der anderen Seite irgendwie aber auch

Jochen

irgendwie mit Shells Dinge tun

Jochen

kann, so wie man das halt so von Linux

Jochen

vielleicht gewohnt ist. Also das war,

Jochen

ich bin gewechselt irgendwie, glaube ich, 2004 mit dem

Jochen

Power...

Jochen

Das Ding hieß irgendwie PowerMac

Jochen

G4 oder nicht, weiß es nicht genau, oder PowerBook

Jochen

G4, PowerBook G4 hieß es, glaube ich.

Jochen

Und das hat wirklich sehr, sehr viel

Jochen

Spaß gemacht. Also auch gegenüber, ich hatte ja

Jochen

vorher schon eine Menge Linux-Laptops gehabt

Jochen

und so, und die waren immer so,

Jochen

man klappt sie auf und dann

Jochen

irgendwie, man hat so das Gefühl, ich meine, gefühlt

Jochen

so der halbe

Jochen

Monitur biegt sich so durch.

Jochen

Das ist halt nicht so ein Bildschirm,

Jochen

sondern das ist mehr so wie so ein Blatt im Wind.

Jochen

2004.

Jochen

Das biegt sich so durch, das Plastik

Jochen

quietscht komisch, man hat so Angst, dass da so

Jochen

Teile rausfallen, dann guckt man so da drauf

Jochen

und dann sind da halt irgendwie 50

Jochen

komische bunte Sticker drauf, die alle extrem

Jochen

hässlich sind. Da hatte ich noch einen dicken Röhrenmonitor.

Jochen

Ja, irgendwie die Unterseite von so einem Laptop

Jochen

sieht aus wie so eine Mondkraterlandschaft.

Jochen

Ja, ich keine Ahnung, warum? Warum ist das so?

Jochen

Ich meine, das ist einfach nur...

Jochen

ja, und

Jochen

es ist halt so wie die Unterseite von so einem

Jochen

Barthocker, ja, so, wo dann

Jochen

offenbar niemand damit rechnet, dass man jemals runterguckt,

Jochen

aber bei einem Laptop, das dreht man schon

Jochen

mal um und dann ist halt, äh,

Jochen

und allein so die Netzteile,

Dominik

also, Marc,

Dominik

Mac lieber, weil, wenn man den

Dominik

Laptop umdreht und drunter

Dominik

guckt, sieht es aus wie ein Barthocker.

Dominik

Nein, nein, die,

Jochen

die, äh, die, die Plaste-Notebooks

Jochen

vorher sahen so aus, wenn du, äh,

Jochen

wenn du ein MacBook umdrehst,

Jochen

sieht das relativ sauer aus.

Jochen

Das ist ein ästhetische Komponente.

Jochen

Ja, aber es ist auch,

Jochen

das macht irgendwas.

Jochen

Also wenn man so ein Ding hat,

Jochen

das halt so, ich weiß nicht,

Jochen

das ist so wie ein gutes Küchenmesser oder so,

Jochen

wenn man das hat,

Jochen

hat irgendwie eine andere Art,

Jochen

damit umzugehen,

Jochen

wenn das halbwegs stimmt

Jochen

oder wenn man die ganze Zeit stumpfe Messer hat

Jochen

oder, weiß ich nicht, irgendwie scharfkantige Laptops,

Jochen

die komische Geräusche von sich geben, wenn man sie aufhört zu klappen.

Jochen

Das richtige Werkzeug. Und nicht so richtig funktionieren.

Jochen

Das ist halt schon mal was anderes.

Jochen

Also war für mich auf jeden Fall so ein Ding.

Jochen

Danach habe ich nie wieder irgendwie

Jochen

auch nur überlegt, das irgendwie zu wechseln.

Dominik

Das ist aber auch schon ein Premium-Anspruch, Jörg.

Dominik

Ja, das mag sein.

Dominik

Aber

Jochen

ich meine, wenn man den ganzen Tag davor sitzt,

Jochen

dann ist es halt, wenn man sich sozusagen

Jochen

überlegt, wie viel mehr muss ich

Jochen

jetzt ausgeben

Jochen

pro Minute oder pro Stunde, dann ist

Jochen

das alles egal im Grunde. Dann will man

Jochen

eigentlich das, was am besten funktioniert.

Jochen

Macht natürlich nur Sinn, wenn man

Jochen

da halt wirklich viel Zeit mit verbringt.

Jochen

Wenn man das am Wochenende eine halbe Stunde mal aufklappt,

Jochen

dann ist es ja auch egal, dann kannst du ruhig quietschen.

Jochen

Aber ja,

Jochen

also für jemanden, der professionell entwickelt,

Jochen

für den sollte eigentlich,

Jochen

wenn er sich das überlegt, oder ich meine,

Jochen

gut, vielleicht habe ich mir das auch

Jochen

nur schön rationalisiert, aber ich denke...

Dominik

Jetzt hast du dir so schön deine Fanbase aufgebaut, Jochen.

Dominik

Alles versaut.

Dominik

Dann

Jochen

sollte man eigentlich gucken,

Jochen

was ist das, was am besten

Jochen

funktioniert und

Jochen

ja, weil es lohnt sich dann eigentlich

Jochen

immer und

Jochen

genau, umso härter hat es mich getroffen,

Jochen

dass Apple seit 2015

Jochen

eigentlich keine ordentliche

Jochen

Laptop-Hardware mehr hergestellt hat.

Jochen

Ja, das fand ich, das war

Jochen

schon wieder, also Touch Bar war ein echten

Jochen

Tiefschlag, also das war

Jochen

vor allen Dingen, weil ich halt...

Jochen

Die F-Tasten sind weg, es gibt eine Touch Bar.

Jochen

Also F-Tasten, das ist mir eigentlich alles

Jochen

egal, aber die Escape-Taste,

Jochen

das war für mich

Jochen

ein Riesenproblem, weil ich bin ja...

Jochen

Meine ist gelb, mit einer Ente drauf.

Jochen

Ja, tatsächlich.

Jochen

Warum eine Ente?

Jochen

Okay.

Jochen

Ich hätte das jetzt auch gar nicht

Jochen

als Ente erkannt, ehrlich gesagt, aber...

Jochen

Und ja, Escape-Taste, wie alle User, sehr wichtig, weil man kann viele Dinge nicht, also das schaltet um zwischen Kommandomodus und Editiermodus und so eine Touch-Taste ist halt nicht das gleiche, weil die gibt einem kein Feedback darüber, ob man die jetzt gedrückt 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 Doppeldruck ausgelöst und man ist wieder im gleichen Modus wie vorher. Also es funktioniert überhaupt gar nicht, also es geht einfach nicht.

Jochen

Und das heißt,

Jochen

ja, also die einzelne Alternative

Jochen

ist halt dann, die Escape-Taste umzubelegen.

Jochen

Ich habe die dann halt auf

Jochen

Caps Lock gelegt,

Jochen

aber das hat mir halt so meine

Jochen

sonstige

Jochen

Benutzungserfahrung halt kaputt gemacht,

Jochen

weil ich habe ja teilweise,

Jochen

sitze ich ja auch an einem stationären

Jochen

Rechner mit einer externen Tastatur

Jochen

und auch da ist es eigentlich total toll,

Jochen

dass man die gleichen Tastaturen verwenden kann, wie auf dem Laptop.

Jochen

Auf dem Desktop, man hat immer

Jochen

die gleiche Umgebung, man hat immer ein Track-Tapet daneben

Jochen

und es ist überall gleich. Voll gut.

Jochen

Nur jetzt halt leider nicht mehr, weil

Jochen

jetzt hast du halt auf dem einen irgendwie die

Jochen

Escape-Taste auf Caps Lock und auf dem anderen die Escape-Taste

Jochen

auf der Escape-Taste. Superscheiße.

Jochen

Und, äh,

Jochen

Wie regt sich denn sowas aus?

Jochen

Ja, das war...

Dominik

Hat irgendein Designer das cool und fancy und hat sich gedacht,

Dominik

ey, nutzt der denn überhaupt so eine komische Taste?

Jochen

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

Dominik

Keiner der Menschen, die Multimedia machen.

Jochen

Ja, äh, das, das, äh,

Jochen

Das war schon schlimm. Da hatte ich schon überlegt, okay, wenn das so bleibt,

Jochen

dann muss ich vielleicht doch mal drüber nachdenken, irgendwie die Plattform

Jochen

zu wechseln, weil das geht einfach nicht.

Jochen

Und

Jochen

ja, jetzt

Jochen

2019, Ende 2019, kam halt ein neues MacBook

Jochen

und es hat wieder eine Escape-Taste,

Jochen

zum Glück. Es war immer noch

Jochen

eine Touch-Bar, ist mir aber egal.

Jochen

Ich meine, benutze ich halt nicht. Ich weiß nicht, ob es dafür

Jochen

irgendwelche sinnvollen Anwendungen gibt, aber

Jochen

die Escape-Taste ist wieder da und damit

Jochen

geht es wieder. Und auch sonst, ach, das Ding

Jochen

hatte ja auch sowieso so, also diese

Jochen

das 2016er MacBook, was war echt so eine,

Jochen

das war so eine,

Jochen

weiß auch nicht, also das hatte auch Tastaturprobleme.

Jochen

Habe ich das, habe ich das schon mal

Dominik

erwähnt? Ja, du hast auf jeden Fall mal eine

Dominik

Serviceeinheit einlegen müssen, hast du mir erzählt.

Dominik

Schrecklich, schrecklich, ja.

Dominik

Also die Tastatur. Hast du das Leserbrief auch geschrieben, seitdem haben die das

Jochen

wieder geändert, oder? Ja, ich weiß nicht,

Jochen

ob das, ja,

Jochen

genau, die Tastatur hat sich auch geändert und es

Jochen

sieht auch gut aus, also die alte

Jochen

Tastatur war zwar sehr flach und so, aber

Jochen

hat irgendwie. Wird mit den Dingern

Jochen

ja überhaupt nicht warm, ne?

Dominik

Ich muss ja auch dazu sagen, ich schleppe auch immer eine manuelle

Dominik

Tastatur mit zum Laptop, wenn ich den irgendwo

Dominik

mit hinnehme und habe die dann immer in der Tasche.

Dominik

Einfach, weil ich dieses haptische Feedback von

Dominik

den guten mechanischen

Dominik

Tastaturen sehr gerne mag.

Jochen

Ja, kann ich verstehen. Ich habe auch lange

Jochen

an einem Hackbrett gesessen,

Jochen

diese alten IBM-Tastaturen,

Jochen

wo so hinten drauf

Jochen

noch handschriftlich notiert war,

Jochen

wer die Qualitätskontrolle gemacht hat.

Jochen

Cherry-Clicks.

Jochen

Aber

Jochen

ich finde die eigentlich

Jochen

auch gar nicht so schlecht. Vor allen Dingen finde ich daran

Jochen

halt gut, dass man da irgendwie

Jochen

die gleiche, ja wahrscheinlich

Jochen

hört man sie tatsächlich, ich bin mal gespannt, ob auch von den

Jochen

Klappern rausfiltert oder nicht. Ich glaube, man hat es gehört.

Jochen

Ja, also

Jochen

was ich vor allen Dingen

Jochen

gut finde, ist halt, dass man dann

Jochen

halt sozusagen überall die gleiche Tastatur

Jochen

hat oder

Jochen

überall die gleiche Bedienungsumgebung, weil

Jochen

man hat ja auch Mausgesten sozusagen oder Gesten

Jochen

auf dem Trackpad und die sind halt dann

Jochen

überall gleich, sowohl

Jochen

mobil wie auch

Jochen

am Desktop. Und das

Jochen

ist halt schon sehr nett.

Jochen

Und ja, irgendwie das

Jochen

Tastatur kaputt und Escape-Taste weg, das war

Jochen

alles schon ziemlich ätzend. Aber

Jochen

Jetzt haben wir 2020.

Jochen

Jetzt haben wir 2019 einen neuen Mac gekommen

Jochen

und jetzt ist er wieder approved, darf man

Jochen

kaufen, ist okay. Funktioniert ganz

Jochen

ordentlich. Und

Jochen

ja, hat auch, also

Jochen

genau, ich meine, ich will

Jochen

eine MacBook-Werbung hier machen, aber

Jochen

es wirklich macht Spaß. Ja, du bist ein kleiner Fanboy.

Jochen

Ein bisschen.

Jochen

und genau, also das

Jochen

gab auch so ein bisschen den Anstoß dafür, überhaupt

Jochen

dieses Thema aufzugreifen, weil

Jochen

ich habe jetzt in kurzer Zeit

Jochen

hintereinander zweimal irgendwie ein MacBook neu

Jochen

einrichten müssen und

Jochen

dachte ich mir so, als ich

Jochen

das zweite Mal gemacht habe. Das Thema einrichten ist ja sowieso schon

Jochen

immer kein Spaß gewesen.

Jochen

Mir macht das Spaß tatsächlich. Also ich sage nur,

Dominik

wenn man das oft und viel machen muss.

Dominik

Achso, wenn man das viel machen muss, ja.

Jochen

Beim zweiten Mal dachte ich mir so, okay.

Jochen

Warum mache ich das eigentlich nochmal?

Jochen

Und vor allen Dingen, warum muss ich das alles nochmal

Jochen

googeln, kann ich mir das nicht einfach

Jochen

irgendwo hinschreiben und haben dieses Problem

Jochen

nicht vielleicht auch andere Leute und

Jochen

kann das für die nicht auch hilfreich sein und

Jochen

vor allen Dingen

Jochen

mache ich das eigentlich

Jochen

das, was

Jochen

ich hier tue. Ist das eigentlich

Jochen

irgendwie sinnvoll? Ich muss gerade einen Schluck

Dominik

Wasser nehmen. Ja, bitte, bitte. Ja, ich glaube,

Dominik

es ist tatsächlich einigermaßen sinnvoll, wenn man das

Dominik

auch schreibt. Da gibt es ja eine ganz tolle

Dominik

Erfindung, zu der hast du mir auch damals gerade, als ich angefangen

Dominik

habe, meine Windows-Kisten neu zu machen und zwar

Dominik

macht man Dot-File-Repositories.

Dominik

Ja, das ist ein ziemlich cooler Fall.

Dominik

Dann könnt ihr einfach eure Einstellung, eure

Dominik

Konfiguration in einem

Dominik

zum Beispiel GitHub-Git

Dominik

Repositorem ablegen und

Dominik

jedes Mal auf deiner Maschine einfach klonen und habt dann

Dominik

eure Einstellung wieder parat.

Jochen

Ich weiß nicht, wie das bei dir ist.

Jochen

Bei mir ist das so, ja, ich habe, da liegen

Jochen

die ganzen Dot-Files drin und

Jochen

da ist dann halt so ein kleines Python-Skript, gibt's

Jochen

das heißt

Jochen

irgendwie Install oder so, das rufe ich dann auf und

Jochen

das verlinkt dann halt die echten

Jochen

Dot-Files sozusagen in das Repository.

Jochen

Ja.

Jochen

Sodass ich halt quasi,

Jochen

auch wenn ich ein Repository was ändere

Jochen

und pulle, das ist dann automatisch die Änderung halt.

Jochen

Ja, also so ähnlich habe ich das auch.

Dominik

Ich habe leider die Skripte alle noch nicht ganz fertig.

Dominik

Ich habe tatsächlich sogar auch, also auf deinen Rat hin,

Dominik

eins gemacht. Das ist noch sehr

Dominik

Anfänger-lastig und hat noch kein Review

Dominik

erfahren und ist noch ziemlich

Dominik

militantisch zusammengebaut und

Dominik

da sind auch viele Fehler drin und das ist alles nicht fertig.

Dominik

Aber falls euch für Windows und solche Sachen

Dominik

interessiert, da sind so ein paar PowerShell-Skripte drin, die man

Dominik

irgendwie im Alltag nutzen kann und so ein paar

Dominik

Python-Sachen und so ein paar

Dominik

Basic-Tutorials, wie man so die ganzen Sachen vielleicht installiert

Dominik

über VSL und

Dominik

ja, auch Pakete. Also das ist ja das Nächste.

Dominik

Für eine Entwicklungsumgebung brauchst du ja einen vernünftigen Paketmanager

Dominik

und der ist ja unter Windows eigentlich

Dominik

das größte Problem, würde ich jetzt mal behaupten.

Dominik

Und da gibt es halt,

Dominik

Gott sei Dank, mittlerweile Chocolaty.

Dominik

Kann man sich nicht überstreiten, ob alle Pakete jetzt so super sicher sind

Dominik

immer, aber der hat eigentlich alles,

Dominik

was man so an Open Source und auch

Dominik

anderer Software haben möchte

Dominik

im Reposit. Das heißt, er macht dann wie auf einem

Dominik

Linux-System einfach Choco-Install

Dominik

Software-Name und

Dominik

hast das Paket dann drauf und das ist super praktisch

Dominik

und so will man das ja eigentlich machen und

Dominik

da kann man auch Skripte verschreiben und deswegen

Dominik

ist halt quasi nach der Windows-Installation das erste

Dominik

PowerShell starten, die neueste

Dominik

PowerShell-Version installieren und dann wird der

Dominik

Paketmanager benutzt für alles weitere

Dominik

und das läuft auch dann manuell, also

Dominik

mit diesem DotFi-Repositorium und zieht dann alle Sachen

Dominik

und muss das Repo klonen und ja, man kann

Dominik

sich auf seinem neuen Rechner super schnell

Dominik

wieder einrichten und hat alles so, wie man es gerne möchte.

Dominik

Und das ist echt ein Riesenvorteil und spart

Dominik

Zeit und vor allem

Dominik

die ganzen Bindings und was man alles bauen will.

Jochen

Das freut mich, dass das jetzt auf Windows

Jochen

auch so halbwegs geht. Ja, auf dem Mac war das auch

Jochen

lange Zeit irgendwie so ein bisschen problematisch und man

Jochen

wusste halt nicht so, was hier die richtige Antwort ist auf

Jochen

was für einen Paketmanager soll man denn da

Jochen

verwenden? Irgendwie Fink oder

Jochen

irgendwie, keine Ahnung,

Jochen

Portage oder

Jochen

ja, aber mittlerweile hat sich

Jochen

dann doch herauskristallisiert, was da

Jochen

Homebrew, genau.

Jochen

Und

Jochen

ja, da ist

Jochen

eigentlich alles, was an so relevanten Dingen

Jochen

man benötigen könnte, mit drin.

Jochen

Und funktioniert super.

Jochen

Ja.

Jochen

Genau.

Jochen

Man muss halt noch so, bei einem

Jochen

Mac muss man halt noch so ein paar Sachen anpassen, die

Jochen

nicht richtig gut

Jochen

funktionieren.

Jochen

Also zum Beispiel

Jochen

die Keyboard-Repeat-Rate

Jochen

und wie

Jochen

also sozusagen, wenn man eine Taste gedrückt hält,

Jochen

wie stark die dann wiederholt, wie schnell

Jochen

die wiederholt wird. Also für

Jochen

meinen Geschmack muss man das deutlich runtersetzen

Jochen

und das geht auch nicht über eine UI, also man muss dann halt

Jochen

tatsächlich, das ist halt

Jochen

über eine, aber man kann mit

Jochen

auf der Kommandozeile kann man das halt setzen,

Jochen

muss sich dann einmal ausloggen und wieder einloggen,

Jochen

aber das geht und

Jochen

dann sind

Jochen

halt auch, wenn man Sachen löscht, dann ist das halt wieder

Jochen

schnell, weil

Jochen

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

Jochen

langsam.

Jochen

Das kann man bei Windows tatsächlich auch machen.

Dominik

Du kannst halt ein PowerShell schreiben, indem du die Einstellungen

Dominik

in die Windows Registry schreibst

Dominik

einfach und dann das halt überschreibst

Dominik

mit deinen Custom-Vorlieben.

Dominik

Also auch für so eine Mauseinstellung oder

Dominik

es gibt ja ganz viele Einstellungen, die man da irgendwie

Dominik

machen möchte. Privacy aktivieren

Dominik

und sowas.

Jochen

Genau, ja. Und man muss halt

Jochen

auch beim Mac halt noch so ein paar Umgebungsvariablen

Jochen

setzen und irgendwie

Jochen

diverse Xcode-Command-Line-Tools

Jochen

installieren und so was machen.

Jochen

damit man auch Sachen kopilieren kann.

Jochen

Spannende Sache. Und zwar,

Dominik

was machst du mit privaten oder geheimen

Dominik

Umgebungsvariablen? Wie händelst du die?

Dominik

Gibt es sowas bei dir

Dominik

überhaupt?

Dominik

Was wäre

Dominik

welchen Anwalt?

Dominik

So ein API-Key oder sowas.

Dominik

Aber gut, das wäre jetzt eher

Dominik

so für Projekte.

Dominik

Ja, eventuell. Also es gibt ja auch Sachen,

Dominik

die vielleicht nicht unbedingt Projekte sind.

Dominik

Beispielsweise benutze ich

Dominik

ganz gerne die Google-API.

Dominik

Ja. Einfach, weil man da

Dominik

mit dem Dev-Zugang

Dominik

YouTube und

Dominik

irgendwelche anderen Skripte, die

Dominik

Google irgendwie so benutzt, direkt über seine Konsole

Dominik

verfügbar hat. Suche

Dominik

oder so. Und da braucht man zum Beispiel

Dominik

einen API. Und der ist halt dann in meiner

Dominik

normalen Umgebung schon drin und nicht irgendwie nur

Dominik

Projekt, weil ich den halt immer verfügbar haben möchte.

Jochen

Ah, okay. Und sozusagen, das kannst du

Jochen

natürlich dann nicht gut einchecken.

Jochen

Also jedenfalls nicht im Klartext.

Dominik

Nee, genau. Also das heißt, was ich mache, ich habe es

Dominik

jetzt so gelöst. Ich habe eine verschlüsselte

Dominik

Sache, die einmal kurz aufgemacht wird, dann wird

Dominik

dieses Secret in eine Env geladen

Dominik

und dann wieder decrypted. Ist natürlich nicht

Dominik

ganz so toll, weil das halt eigentlich in meinem Speicher hängt,

Dominik

aber gut, es ist auch nicht sicherheitskritisch,

Dominik

aber... Wenn das lokal

Jochen

in deiner Umgebung ist, ist das ja okay. Es ist halt nur

Jochen

so, dass es die Frage ist, wie kriegst du es

Jochen

verteilt auf alle Maschinen und...

Dominik

Nein, also diese Secrets, die werden nicht gesynct,

Dominik

sondern die muss ich dann... Achso, die musst du von Hand machen.

Dominik

Genau, ich habe aber ein Folder gemacht,

Dominik

was halt Secrets heißt und das

Dominik

automatisch geladen wird. Alles, was da drin ist, wird halt automatisch

Dominik

dann in die Umgebungsvariablen reingeladen.

Dominik

Ah, okay.

Dominik

Da muss ich dann halt die Sachen reinpacken.

Dominik

Du musst einfach nur diesen Folder kopieren.

Dominik

Genau, der Folder wird auch automatisch erzeugt von meinem Skript und so.

Dominik

Und dann muss ich da halt einfach die Sachen,

Dominik

die ich halt in Vyron Rivals geladen haben möchte, da reinpacken.

Dominik

Und dann werden die encrypted, decrypted und beim Start geladen quasi.

Jochen

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

Jochen

Da habe ich mir noch keine Gedanken.

Jochen

Also ich würde es wahrscheinlich in das Install-Skript,

Jochen

in den .files mit reinpacken und dann halt irgendwo eben,

Jochen

so ein, ja, die

Jochen

verschlüsselt irgendwie einen

Jochen

mit

Jochen

einchecken.

Jochen

Und dann halt beim

Jochen

Install muss man halt eine Passphrase eingeben oder

Jochen

so, aber ich weiß nicht genau, ob ich das wirklich

Jochen

so, ja, muss man, habe ich noch keine Gedanken

Jochen

dazu gemacht, weil den Fall habe ich tatsächlich

Jochen

nicht, glaube ich. Noch eine andere Sache,

Dominik

die ich ganz spannend fand, wenn du verschiedene Maschinen

Dominik

benutzt, beispielsweise ein Desktop-System

Dominik

und ein Laptop und noch ein anderer Laptop

Dominik

und da sind leicht unterschiedliche

Dominik

Konfigurationen notwendig.

Dominik

Wie würdest du sowas lösen? Also ich habe zum Beispiel so gemacht,

Dominik

ich habe dann immer einen Machine-Folder

Dominik

quasi, dass er liest und da

Dominik

werden halt die Files

Dominik

nur ausgeführt, die den Namen des Computers

Dominik

tragen, wenn ich drin bin. Das heißt, ich muss halt

Dominik

da so Custom-Skripte streibe ich halt rein in den Namen,

Dominik

die Computername wird halt dafür benutzt.

Dominik

Ja, das ist wahrscheinlich keine

Jochen

blöde Idee. Das Problem hatte ich in gewisser

Jochen

Weise schon, oder habe ich,

Jochen

weil ich

Jochen

unter Umständen etwas unterschiedliche Umgebungen habe.

Jochen

Also die Macs sind eigentlich alle

Jochen

gleich, aber

Jochen

ich habe ja auch

Jochen

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. Aber Linux geht auch wunderbar

Jochen

mit diesen Dot-Files. Ich habe tatsächlich für mein

Dominik

Dora-System beispielsweise auch so ein schönes kleines

Dominik

Repo dann angelegt mit den Dot-Files, die werden dann auch

Dominik

gezogen, installiert und dann

Dominik

funktionieren zumindest meine Bash-Aliase oder so was,

Jochen

wie ich die haben will. Das geht schon, aber ich habe

Jochen

halt eben in manchen Skripten

Jochen

dann halt eben Fallunterscheidungen, ob welche

Jochen

Stelle das jetzt ist und so. Und das ist halt

Jochen

ja,

Jochen

oder welches System das ist, weil halt einfach

Jochen

bei Linux manche Sachen einfach liegen einfach woanders.

Jochen

Also da muss ich nochmal...

Dominik

Ja, da muss man tatsächlich eine Unterscheidung machen.

Dominik

Man muss halt schon ein bisschen gucken, welches System möchte man jetzt dann

Dominik

in seine Config installieren.

Dominik

Das wäre auch spannend, wenn das insgesamt skripten könnte

Dominik

und dann einfach nur git clone repo install

Dominik

und dann macht der alles. Egal, was man tippt.

Dominik

Aber gut, ob man so viel Arbeit machen will.

Dominik

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

Dominik

Ja, genau.

Dominik

Ja.

Dominik

Ja, wir sind ja hier beim Python-Podcast

Dominik

und deswegen wollen wir jetzt vielleicht noch ein bisschen

Dominik

darüber erzählen, wie das denn mit der Python-Entwicklungsumgebung

Dominik

dann aussieht, wie man das dann irgendwie da am besten

Dominik

für die Projekte vielleicht auch, oder?

Dominik

Ja, ja, ja. Da gab's

Jochen

einen ganz netten Artikel

Jochen

von einem der

Jochen

sozusagen Django

Jochen

Mitbegründer von

Jochen

Jacob Kaplan Moss, der hat

Jochen

glaube ich

Jochen

My Python, oder Django

Jochen

Python Development

Jochen

Environment 2020 Edition

Jochen

oder so ein Blog

Jochen

postgeschrieben.

Jochen

Genau, das

Jochen

da, also ich

Jochen

habe den gelesen und dachte mir so, oh ja, das ist so vieles

Jochen

davon, der 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,

Jochen

wo ich dachte so, okay, das war mir jetzt gar nicht neu.

Jochen

Und ja,

Jochen

tatsächlich, ja, was braucht man für so eine

Jochen

Python-Umgebung, also was einem halt

Jochen

zunächst mal halt

Jochen

sozusagen

Jochen

als Problem sich darstellt,

Jochen

ist halt, wie kriegt man jetzt eigentlich,

Jochen

wo kommt man eigentlich, wie installiert man

Jochen

Python halt eigentlich?

Jochen

Und das ist ja schon so ein bisschen

Jochen

nicht so ganz einfach.

Jochen

Ich habe lange eben auf Mac Homebrew

Jochen

einfach nur so verwendet und dann halt

Jochen

je nachdem unterschiedlich, also bei

Jochen

Data-Science-Projekten hast du ja,

Jochen

also das ist halt auch wieder sowas Blödes,

Jochen

du hast ja halt bei Python

Jochen

mehrere Arten, wie man

Jochen

jetzt Pakete installiert.

Jochen

Halt PIP bei Web,

Jochen

also ich meine, es ist im Grunde so,

Jochen

Webentwicklungsprojekte installieren ihren

Jochen

Kram.

Jochen

Bei der Requirements-Datei bei PIP?

Jochen

Ja, Requirements-Datei

Jochen

kommt vielleicht gleich noch zu, eigentlich nicht

Jochen

mehr, bin ich jetzt fast von weg.

Jochen

PIP-Block? Ne.

Jochen

Sondern? PyProject-Tommel.

Jochen

Aha, okay.

Jochen

Und

Jochen

die Data-Science-Geschichten

Jochen

gehen eigentlich, haben alle

Jochen

Conda-Environments und dann halt so eine

Jochen

Environment-Jammel.

Jochen

Hässlich.

Jochen

Ja, und eben da hat man

Jochen

halt auch nochmal einen anderen Python-Interpreter, also

Jochen

üblicherweise hatte ich da immer Mini-Conda.

Jochen

Aber

Jochen

das mache ich jetzt alles nicht mehr

Jochen

so, sondern inzwischen

Jochen

verwende ich PyEnv

Jochen

dafür.

Jochen

Was ist das denn jetzt schon wieder?

Dominik

Also PyEnv, Env, Env,

Jochen

Python V-Env,

Jochen

es gibt Virtual Env, es gibt Virtual Env

Jochen

Wrapper,

Jochen

es gibt

Jochen

Conda Environments, die so ähnlich

Jochen

sind wie Virtual Envs,

Jochen

aber doch nicht so ganz.

Jochen

Ja, also es gibt ein Problem

Jochen

offenbar an der Stelle. Also ich benutze immer noch

Jochen

irgendwie ganz klassisch irgendwie mein

Dominik

ja, Venv mit Virtual Env Wrapper

Dominik

PowerShell. Habe ich dann irgendwie

Dominik

noch so ein Ding gefunden, das funktioniert. Also auch in der Shell gut.

Dominik

Aber ich bin jetzt gespannt, was du erzählst,

Dominik

Also, das Problem, ja,

Jochen

also, ich weiß nicht, ob das jetzt

Jochen

so ist, wie man das machen sollte. Es ist halt so, wie ich das jetzt

Jochen

gerade mache und ich

Jochen

habe jedenfalls subjektiv das Empfinden, dass es

Jochen

eine Verbesserung gegenüber dem Zustand vorher ist,

Jochen

aber es ist

Jochen

leider relativ kompliziert alles.

Jochen

Also, ich würde mir natürlich auch wünschen,

Jochen

dass es irgendwie einfacher geht, aber...

Dominik

Also, diese Virtual-End-Rapper-Ansatz finde ich total toll.

Dominik

MK-Virtual-End-Name,

Dominik

LS-Virtual-End für alle Anzeigen,

Dominik

RM-Virtual-End für wegmachen und Work-On

Dominik

Projektname, fertig.

Jochen

Ich finde das auch nicht so schlecht und für Webentwicklungsgeschichten

Jochen

habe ich das lange so gemacht, aber

Jochen

also ein Problem, was du dabei

Jochen

hast, ist zum Beispiel, dass

Jochen

immer der Systeminterpreter

Jochen

verwendet wird. Das ist zum Beispiel

Jochen

ein Riesennachteil.

Dominik

Welcher Systeminterpreter? Du kannst doch bei, wenn du

Dominik

ein neues Virtual Environment erzeugst, sagen minus minus Python

Dominik

und sagen, welchen Python, also welchen Pfad

Dominik

der erzeugen soll. Ja, aber

Jochen

sozusagen, also

Jochen

du kannst nicht einen Spezialinterpreter

Jochen

für dein Environment festlegen,

Jochen

sondern das muss irgendwo hin installiert sein

Jochen

und dann kannst du

Jochen

das halt sagen, nimm das. Das geht

Jochen

natürlich, aber

Jochen

üblicherweise nimmst du dann halt dein System

Jochen

Python oder halt eines der System

Jochen

Pythons, die du irgendwie installiert hast.

Dominik

Das heißt, ich installiere einfach alle System Pythons

Dominik

parallel und dann muss ich eins davon auswählen.

Jochen

Ja, aber das ist natürlich alles schrecklich.

Jochen

Also, und ja,

Jochen

also ich meine, du kannst halt mit,

Jochen

also du hast dann zumindest Python 2 schon

Jochen

immer mal drauf, weil

Jochen

das wird wahrscheinlich für diverse Geschichten auch im

Jochen

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

Jochen

Weil wenn du jetzt nicht aufpasst und einfach nur

Jochen

mkvirtual etwas sagst und dann kein

Jochen

Parameter mitgibst, dann macht er dir ein Python 2

Jochen

environment. Das ist halt schon mal...

Dominik

Also bei Linux jetzt oder bei Mac?

Dominik

Bei Mac ist es so.

Dominik

Bei Linux wahrscheinlich

Jochen

auch so, weil ganz viele

Jochen

Distributionsskripte

Jochen

oder so, das ist alles

Jochen

also egal, praktisch egal, welche Distributionen,

Jochen

das ist alles Python. Also bei Windows kommt es auch an,

Dominik

welchen deiner Pass-Variablen gesetzt ist.

Dominik

Ja.

Jochen

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

Jochen

mitkommt sozusagen.

Dominik

Du musst es über die Webseite installieren

Dominik

im Worst Case oder halt über Toko install Python, aber

Jochen

Ja, okay, dann ist man da

Jochen

in gewisser Weise sogar ein bisschen besser dran, aber

Jochen

in den meisten Python-Dispositionen kommt Python auf jeden Fall

Jochen

immer mit, weil

Jochen

sozusagen die Disposition selber Python braucht,

Jochen

um halt viele Installationsgeschichten

Jochen

zu machen. Das Dumme ist halt, das ist alles

Jochen

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

Jochen

Python 2 aus. Wir haben ja eben

Jochen

gesagt, das ist tot. Und das ist ja

Jochen

jetzt eigentlich schon tot. Aber

Jochen

trotzdem hat man es dann halt drauf und wenn man nicht aufpasst,

Jochen

weil es halt vielleicht noch der Default-Interpreter

Jochen

ist, macht es einem halt so ein

Jochen

uralt Environment auf und das ist halt schon mal,

Jochen

also ich, das könnte Leute verwirren.

Jochen

Und selbst

Jochen

wenn man das irgendwie hinkriegt, das richtige Python dann

Jochen

anzugeben, ist es ja auch irgendwie eben das systemweit

Jochen

installierte Python. Was ist, wenn ich jetzt

Jochen

mehrere Projekte habe, die jetzt aber tatsächlich

Jochen

harte Anforderungen haben auf eine bestimmte Python-Version

Jochen

oder so? Das ist halt

Jochen

total blöd oder

Jochen

es geht nicht gut.

Jochen

In gewisser Weise war das bei

Jochen

Minicon da besser? Weil da kann man halt

Jochen

sagen, okay, da kann man die Python-Version, die man braucht,

Jochen

auch mit ins Environment-YAML reinschreiben

Jochen

und das wird dann halt installiert.

Jochen

Während du das halt bei einem

Jochen

Virtual-Env à la

Jochen

MK-Virtual-Env, also Virtual-Env-Wrapper, kannst du das nicht.

Jochen

Da kannst du nicht ins Requirements reinschreiben,

Jochen

welche Python-Version du gerne hättest. Das geht da nicht.

Jochen

Sondern da kriegst du halt die, die du am Anfang

Jochen

mal angegeben hast. Was ist jetzt auch

Jochen

das wieder etwas, was ich oft

Jochen

dann tatsächlich, was mir oft passiert ist,

Jochen

was ist, wenn jetzt dein System-Python geupdatet wird?

Jochen

Oder per Homebrew updatest du

Jochen

deinen Kram oder per Choco

Jochen

oder wie auch immer

Jochen

Packet-Manager deines Vertrauens

Jochen

und der schmeißt jetzt das alte Python runter

Jochen

und installiert ein neues.

Dominik

Wenn ich jetzt auf Windows mache, bei Choco, der macht tatsächlich

Dominik

mit dem Virtual-Entrapper, also ich da jetzt

Dominik

benutze, macht er tatsächlich eine lokale Kopie

Dominik

in einem Visual-Env-Verzeichnis von dem Python-Interpreter.

Dominik

Das heißt, der wird nicht mit geupdatet dann in der

Dominik

Env, sondern nur in deinem System.

Dominik

Okay, das ist ja schon mal nicht so schlecht,

Jochen

weil wahrscheinlich kann man das auch irgendwie

Jochen

einstellen. Keine Ahnung. Bei mir ist das Verhalten tatsächlich oft

Jochen

so gewesen, nach einem

Jochen

Update von

Jochen

Python in Homebrew,

Jochen

waren halt die Virtual Envs, die kaputt,

Jochen

die halt mit dem alten Interpreter gebaut

Jochen

worden sind. Was natürlich so ein bisschen

Jochen

auch wieder, das ist auch wieder so, das muss man dann erstmal

Jochen

rauskriegen, woran das eigentlich liegt, dass da jetzt nichts mehr

Jochen

funktioniert und so. Also es ist einfach nicht so

Jochen

richtig schön. Und

Jochen

ja,

Jochen

das geht

Jochen

halt mit Virtual Env Wrapper

Jochen

halt immer nur so, naja,

Jochen

Vielleicht geht es auch irgendwie, aber so richtig toll ist es nicht.

Jochen

Jedenfalls gibt es eine Geschichte, die ich

Jochen

jetzt besser finde und

Jochen

wo das halt alles explizit ist

Jochen

und das ist halt PyInf.

Jochen

Und was daran halt sehr schön ist,

Jochen

ist, dass man

Jochen

damit, also das Ding ist im Grunde dafür da,

Jochen

um

Jochen

beliebige Python-Versionen irgendwie zu installieren

Jochen

und halt auch klar zu machen, dass es so

Jochen

ähnlich, also man merkt auch, das ganze Ding

Jochen

bewegt sich so ein Stückchen alles Richtung JavaScript,

Jochen

weil

Jochen

tatsächlich muss man leider sagen, dass JavaScript an der Stelle

Jochen

irgendwie viele Dinge schon lange besser

Dominik

war als Python. Ja, der Paketmanager

Dominik

in Python ist ein bisschen nervig.

Dominik

Ja, und

Jochen

also es läuft halt zum Beispiel eben in die Richtung,

Jochen

dass man halt pro Verzeichnis entscheidet, was da jetzt

Jochen

eigentlich sozusagen für eine Python-Version

Jochen

drin verwendet werden soll,

Jochen

was ja üblicherweise ist, liegen

Jochen

deine Projekte ja in irgendwelchen Verzeichnissen drin

Jochen

und bei Python kannst du halt sagen, okay,

Jochen

also mein globaler Python-Interpreter

Jochen

soll jetzt 381 sein, aber in diesem Verzeichnis hätte

Jochen

ich gern irgendwie ein 37, weil das

Jochen

ist halt das, was in dem Projekt verwendet wird.

Jochen

Und wenn man dann sagt

Jochen

PyEnv Local 3.7,

Jochen

dann legt es

Jochen

halt so eine Local

Jochen

Datei an

Jochen

oder sowas und da steht dann halt drin, welche Version verwendet werden soll.

Jochen

Und das Ding ist halt,

Jochen

was an dem Ding sehr toll ist, dass man damit

Jochen

wirklich alles installieren kann. Also pro Folder,

Dominik

das heißt man hat pro Folder und Subdirectories

Dominik

dann eigene Python-Versionen.

Dominik

Kann man das kombinieren mit

Dominik

Virtual Entry? Was ich toll finde, ist natürlich,

Dominik

dass man vorne immer so sieht, welche

Dominik

Environment, wirst du denn jetzt gerade aktiv?

Jochen

Genau, das ist, das sind auch,

Jochen

das Ding kann auch selber

Jochen

Virtual Envs dann erzeugen. Man kann dem auch

Jochen

sagen, erzeug jetzt ein Virtual Env, hat

Jochen

den Interpreter oder so.

Jochen

Wo liegen die? Also bei mir

Dominik

liegen die in Hochverzeichnis

Dominik

unter Envs zum Beispiel.

Jochen

Das kannst du alles einstellen, wenn du das magst.

Jochen

Das ist kein Problem.

Jochen

Bei Virtual Env,

Jochen

also man kann es einstellen, ich glaube,

Jochen

es ist nochmal ein bisschen anders,

Jochen

als bei den anderen,

Jochen

bei Visual Encryptor oder so, aber egal.

Jochen

Was du da

Jochen

auch netterweise machen kannst,

Jochen

ach, du hast gerade gesagt,

Jochen

genau, Local, Global, du kannst halt

Jochen

wirklich alle Python-Versionen damit installieren.

Jochen

Du kannst halt auch

Jochen

PyPy installieren oder

Jochen

halt eben auch Minikonda, sodass du halt

Jochen

damit tatsächlich für alle

Jochen

Geschichten, die man so macht, kann man damit halt

Jochen

sozusagen

Jochen

man kann das Ding für alle Sachen verwenden.

Jochen

Also ich kann jetzt für Data Science und Webgeschichten

Jochen

das gleiche Ding verwenden, was schon mal

Jochen

eine echte Arbeitserleichterung ist.

Jochen

Ich habe mir dann auch so ein paar Hilfsfunktionen noch geschrieben,

Jochen

die halt irgendwie

Jochen

sozusagen gucken, wenn

Jochen

da so ein, was machen die

Jochen

alles, die wechseln

Jochen

auch automatisch, wenn ich ein Verzeichnis wechsle,

Jochen

halt in das entsprechende Virtual Environment

Jochen

und machen dann auch eine Fallunterscheidung, ist das jetzt

Jochen

Minikon da oder nicht, passen dann nochmal Variablen

Jochen

an.

Jochen

Aber tatsächlich ist es

Jochen

so, dass ich das nicht mehr merke, sondern

Jochen

ich mache einfach nur ein CD, ein

Jochen

Verzeichnis und dann ist die Python-Umgebung

Jochen

so, wie sie sein sollte.

Dominik

Okay, das heißt, die wechselt automatisch. Ich kann das auch

Dominik

abstellen, das heißt, wenn ich nicht möchte, dass er die wechselt,

Dominik

dann kann man das natürlich auch.

Dominik

Es gab noch Pip-Env irgendwie zwischendurch mal,

Dominik

weil das irgendwie mal kurz... Ach, Pip-Env, ja, das ist halt

Dominik

genau, das gehört jetzt

Jochen

da kommen wir dann schon, also das ist jetzt sozusagen

Jochen

ich weiß nicht, hattest du noch was

Jochen

zu dem Themenbereich

Jochen

irgendwie, wie installiert man Python jetzt eigentlich

Jochen

oder sind wir damit, weil

Jochen

Ja, also ich würde

Dominik

Python, also auf Windows jetzt einfach installieren

Dominik

über Choco und dann

Dominik

tatsächlich versuchen, mit dem

Dominik

Wrapper das zu machen, aber ich muss mir Python mal angucken, das klingt sehr gut

Dominik

und es gibt auch Python Windows

Dominik

das heißt, das wäre wahrscheinlich die bessere Idee, da sich da so

Dominik

ein bisschen reinzufuchsen und auch das dann damit

Dominik

zu verknüpfen. Genau, würde ich mal

Dominik

angucken

Jochen

also

Jochen

das sieht für mich momentan schon so nach der

Jochen

besten Option eigentlich aus

Jochen

genau, aber sagen wir einfach mal, damit sind wir durch

Jochen

also man, vielleicht kann man sich einfach mal

Jochen

PyInf angucken oder man nimmt halt das, was der Packet Manager

Jochen

des Vertrauens halt einfach so mitbringt

Dominik

Also das einzige Nervige auf Windows ist natürlich

Dominik

wenn er WSL benutzt, müsste er das alles natürlich

Dominik

zweimal machen, weil auf WSL ist natürlich

Dominik

der Linux dann, das Linux-System drauf

Dominik

da müsste er die ganzen Umgebungen alle wieder erneut

Dominik

einrichten und einen anderen Interpreter nehmen, da wäre vielleicht auch

Dominik

PyInf die richtige Variante, wenn man

Dominik

nämlich so ein Directory dann mounted von Lokal.

Dominik

Wäre sehr interessant, ob das

Dominik

unter Linux, VSL und

Dominik

Windows gleichermaßen funktioniert.

Dominik

Ja, keine Ahnung.

Dominik

Ja, das wäre mal ein Versuch wert.

Dominik

Ja, also wenn man

Jochen

dann aber irgendwie so Python

Jochen

installiert hat und dann halt einfach nur

Jochen

in zwei Zeichnungen wechseln und dann das richtige

Jochen

Python direkt da hat,

Jochen

dann hat man ja immer noch

Jochen

das Problem, okay,

Jochen

ich habe ja jetzt für Projekte

Jochen

diverse Abhängigkeiten, die ich auch gerne installieren

Jochen

würde. Wie mache ich denn

Jochen

das? Und da

Jochen

gibt es halt auch unterschiedliche Ansätze

Jochen

und der Ansatz, den man da

Jochen

traditionell verfolgt hat,

Jochen

war halt irgendwo da so ein

Jochen

requirements.txt-File

Jochen

reinzupacken. Die können auch

Jochen

also du kannst halt

Jochen

requirements.production.txt

Jochen

haben, was dann halt

Jochen

irgendwie in base requirements inkludiert

Jochen

oder so und dann halt unterschiedliche

Jochen

Mengen von Abhängigkeiten installieren,

Jochen

je nachdem, ob du jetzt entwickeln willst

Jochen

oder halt irgendwie Produktionsbetrieb machen willst

Jochen

oder so. Aber

Jochen

also, ja, das geht auch

Jochen

alles schon irgendwie, aber das, also was halt

Jochen

daran zum Beispiel total bescheuert ist,

Jochen

ist, dass es nicht

Jochen

deterministisch ist so richtig, was passiert,

Jochen

wenn das jemand irgendwie in ein paar Monaten

Jochen

auscheckt, neuer Entwickler

Jochen

und dann halt

Jochen

pip-i,

Jochen

also pip install-r

Jochen

requirements.txt sagt oder so.

Jochen

weil man hat zwar

Jochen

sozusagen die direkten Abhängigkeiten,

Jochen

kann man die Versionen zwar pinden drin, also man kann

Jochen

sagen, welche Version man genau hätte,

Jochen

aber

Jochen

die Sachen, von denen

Jochen

die abhängen, die

Jochen

können sich ja auch geupdatet haben und

Jochen

das heißt, eine Installation mit dem

Jochen

gleichen Requirements.txt-File kann

Jochen

heute anders aussehen als in ein paar

Dominik

Monaten. Ja, da habe ich manchmal mir schon böse mit in den Fuß

Dominik

geschossen, da fehlt dann irgendwelche Dev-Pakete oder

Jochen

ja. Ja, und das kann halt

Jochen

das heißt, etwas, das halt

Jochen

vorher super funktioniert hat, geht halt plötzlich kaputt.

Jochen

Einfach so. Und man weiß nicht, warum.

Jochen

Und das ist natürlich irgendwie etwas, was

Jochen

eigentlich gar nicht sein sollte.

Dominik

So steht er da als Neuentwickler. Hat die Requirements installiert

Dominik

und es geht nichts. Und fragt sich so, hä?

Dominik

Wieso bin ich jetzt wieder zu blöd?

Dominik

Normalerweise denkt man sich dann so,

Jochen

ja, die haben es halt verbockt und haben es aber selber gar nicht so richtig

Jochen

gemerkt, weil sie irgendwie...

Jochen

Aber nee, es kann tatsächlich...

Jochen

Solche Sachen können halt dann passieren.

Jochen

Und ja, was halt

Jochen

in der JavaScript-Welt schon lange üblich ist, ist,

Jochen

Dass man dann halt ein Log-File hat, wo man dann halt die ganzen Versionen der Pakete, von denen die Dinge abhängen, die man halt als Abhängigkeiten definiert hat, dass die halt auch gepinnt werden.

Jochen

Sodass halt sichergestellt ist, dass halt, wenn ich npm install sage oder yarn install oder so, dass dann halt alles irgendwie genau in der Version da ist, wie man das halt mal zu dem Zeitpunkt, als es alles funktioniert hat.

Jochen

irgendwie definiert

Jochen

hat. Und das wird halt weitest eingecheckt

Jochen

und dann gibt es da keine Missverständnisse

Jochen

mehr und kann auch in Updates zwischendurch

Jochen

nichts kaputt machen, weil die Versionen sind ja

Jochen

alle gepinnt. Und

Jochen

tatsächlich die ganzen Tools, die

Jochen

jetzt versuchen da so ein bisschen das

Jochen

unter Python halt auch

Jochen

eher so wie JavaScript zu machen, die gehen halt auch alle

Jochen

in diese Richtung. Also da

Jochen

sind zwei wesentliche Tools,

Jochen

die da eine Rolle spielen. Das ist

Jochen

ja PipEnv und Poetry

Jochen

würde ich sagen.

Jochen

Oder ich würde es eigentlich eher umgekehrt

Jochen

sagen. Ich würde sagen Poetry und PIP-Env.

Jochen

Poetry klingt

Jochen

sehr schön poetisch. Ja, und

Jochen

PIP-Env

Jochen

ist so ein bisschen, ist zwar

Jochen

irgendwie offizielles Produkt der

Jochen

PSF,

Jochen

Software Foundation oder irgendwie da gelandet, keine Ahnung.

Jochen

Aber das

Jochen

ist, es wird auch mehr

Jochen

verwendet tatsächlich, aber ist nicht so

Dominik

das, was... Ist doch von dem Autor von Requests

Dominik

irgendwie da, oder? Ja.

Dominik

Na, sag schon.

Dominik

Kindness Rides?

Dominik

Ja, ja.

Jochen

Aber bis vor kurzem, ich weiß nicht, ob es immer noch so war,

Jochen

bis vor kurzem war da halt ein Issue drin,

Jochen

so irgendwie, if this project is dead, please tell us.

Jochen

Und der war halt seit einem Jahr offen.

Jochen

Und also das ist halt schon,

Jochen

bei so einem Ding, das so wesentlich ist, geht das eigentlich nicht.

Jochen

Und insofern, ja, also es gibt da Schwankungen.

Jochen

also es wirkt

Jochen

manchmal so ein bisschen anwendend und

Jochen

ja.

Jochen

Deswegen mehr Poetry. Genau, genau.

Jochen

Also wenn man Leute fragt,

Jochen

die sich damit auch mehr beschäftigen, dann sagen fast

Jochen

alle irgendwie, nee, sie verwenden eigentlich schon momentan

Jochen

Poetry. Vielleicht wird ja Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe-Pippe.

Jochen

Aber eigentlich ist Poetry das, was...

Dominik

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

Dominik

Pie-End von Poetry.

Dominik

Erklär mal bitte kurz, was Poetry ist.

Jochen

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

Jochen

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,

Jochen

um jetzt in ein Environment oder in ein Projekt,

Jochen

was man da hat, halt irgendwie die ganzen Abhängigkeiten

Jochen

auch mit reinzukriegen.

Jochen

Und das ist so ähnlich eben wie in der JavaScript,

Jochen

Welt halt ein Package-JSON

Jochen

und Package-Log. Gibt's halt da

Jochen

ein PyProject-Tommel und

Jochen

jetzt weiß ich gar nicht,

Jochen

was ist das Ding, Poetry-Log, glaube ich,

Jochen

die im Wesentlichen genau das Gleiche machen.

Jochen

Man kann halt da drin

Jochen

die Produktions- und die

Jochen

Entwicklungsabhängigkeiten definieren

Jochen

und das Ding installiert

Jochen

den ganzen Kram halt und macht halt ein

Jochen

Log-File mit, wo die, ja,

Jochen

wo halt alle Versionen gepinnt werden und steckt man

Jochen

beides ein und dann kann man halt das

Jochen

Environment auch reproduzierbar wieder so

Jochen

erzeugen.

Jochen

Insofern alles noch nichts

Jochen

Neues. Also das macht es halt eigentlich

Jochen

ganz gut. Ich meine, ich verwende es

Jochen

jetzt auch noch nicht so lange. Das funktioniert alles super.

Jochen

Es macht noch ein bisschen mehr Dinge. Es macht

Jochen

zum Beispiel auch noch sowas wie

Jochen

du kannst halt

Jochen

Entry Points definieren

Jochen

in dieser PyProject-Tommel

Jochen

für Skripte.

Jochen

Und das ist auch

Jochen

so ähnlich wie bei NPM kann man das auch.

Jochen

Also dass man halt in einem Projekt

Jochen

halt auch die ganzen

Jochen

Verwaltungs-Skripte, die man halt so hat, wie

Jochen

zum Beispiel, wenn man jetzt die Tests ausführen will, dann ist es

Jochen

unter Umständen eine Kommandozeile, die relativ lang ist.

Jochen

Oder

Jochen

manchmal will man die halt

Jochen

in einem Docker-Container ausführen. Oder

Jochen

man möchte

Jochen

Coverage-Py laufen lassen mit allen möglichen

Jochen

Parametern oder weiß ich nicht, was einen, oder

Jochen

irgendwelche Linter oder so.

Jochen

Dann kann man halt

Jochen

sich da sozusagen

Jochen

einfache Kommandos mit

Jochen

Pochi definieren,

Jochen

die dann halt eine Funktion aufrufen. Und in der Funktion

Jochen

kann man dann halt einen komplizierten Aufruf machen.

Jochen

Also wozu ich das zum Beispiel verwende, ist

Jochen

ich habe halt

Jochen

sozusagen

Jochen

eine Umgebungssache gesetzt, die mir sagt, ob ich

Jochen

jetzt innerhalb von einem Docker-Container bin oder nicht.

Jochen

Und wenn ich das nicht bin, weil

Jochen

meistens für Web-Entwicklungsgeschichten

Jochen

ist halt alles Docker-basiert mittlerweile,

Jochen

dann

Jochen

wird um die ganzen Kommandos,

Jochen

die ich da ausführe, halt ein

Jochen

Docker-Compose mit dem richtigen

Jochen

Docker-Compose-Yaml-File

Jochen

halt irgendwie drumrum gestrickt, sodass

Jochen

das halt innerhalb von dem Docker-Container ausgeführt wird.

Jochen

Sodass ich halt, und dann

Jochen

mache ich mir noch Aliasse, also was ich eigentlich ausführe

Jochen

ist PoetryRunTest,

Jochen

sozusagen, um die Tests auszuführen.

Jochen

Und dann habe ich noch ein Shell-Alias

Jochen

für

Jochen

von Tests auf

Jochen

PoetryRunTest und dann gebe ich

Jochen

im Verzeichnis einfach nur einen Test,

Jochen

drücke Enter und dann laufen die Tests durch.

Jochen

Und es ist völlig egal, ob ich innerhalb von dem Docker-Container

Jochen

bin oder nicht.

Jochen

Es passiert immer genau das Gleiche.

Jochen

also wenn ich nicht drin bin, dann wird halt

Jochen

das in einem Docker-Container laufen

Jochen

lassen und wenn ich drin bin, dann

Jochen

werden einfach nur die Tests gestartet

Jochen

und das habe ich halt nicht nur für Tests,

Jochen

sondern halt auch für solche Sachen wie

Jochen

ja,

Jochen

Linting,

Jochen

Flake8,

Jochen

ja, diese ganzen

Jochen

Meta-Skript-Geschichten,

Jochen

die man halt bei vielen Projekten einfach so braucht.

Jochen

Und das

Jochen

funktioniert tatsächlich ganz gut. Früher habe ich dafür

Jochen

Mac-Files verwendet. Ich glaube

Jochen

auch, es gibt ja Leute, die

Jochen

das Command-Modul verwendet haben von Python

Jochen

dafür schon.

Jochen

Oh ja, stimmt, das kann auch gut sein.

Jochen

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

Jochen

Das ist irgendwie ein Modul der Standard-Bibliothek.

Dominik

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

Dominik

Ich frage, ob wir jetzt kurz darauf eingehen

Dominik

möchten. Das hatten wir auch letztens schön beim Python-Po,

Dominik

weil man damit tolle Sachen machen kann.

Dominik

Man kann seinen eigenen Kommandozeilen-Interpreter

Dominik

für so Python-Sachen bauen.

Dominik

Genau, also

Jochen

ja, weiß ich nicht.

Jochen

genau, ob man das jetzt

Jochen

vielleicht machen wir es doch mal.

Dominik

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

Dominik

Oder wir wollten

Jochen

eigentlich jede Episode

Jochen

ein Modul aus der Standard-Bibliothek mal

Jochen

ein bisschen besprechen. Das haben wir

Jochen

jetzt diesmal nicht geschafft, fürchte ich.

Jochen

Aber das werden wir auf jeden Fall auch noch

Jochen

irgendwie hinkriegen. Und Command

Jochen

ist halt ein Kandidat. Es ist einfach

Jochen

praktisch, dass man

Jochen

einfach so eine Shell haben kann und dann mappen halt

Jochen

die Commandos, die man eingibt, halt auf Funktionen. Das ist was

Jochen

im Wesentlichen tut. Aber ja, das war eigentlich

Jochen

ein bisschen länger was zu erzählen.

Jochen

Ja, aber wir waren noch bei Poetry.

Jochen

Ja, Poetry, genau. Kann halt auch so

Jochen

irgendwie Skripte laufen lassen,

Jochen

kann

Jochen

Pakete installieren. Man kann auch damit

Jochen

sozusagen tatsächlich

Jochen

Pakete bauen und die halt

Jochen

wirklich hochladen nach PyPI.

Jochen

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

Dominik

gebaut, wo man

Dominik

Projekte, die Poetry benutzen

Dominik

zu PyPy putschen kann mit ein paar Checks

Dominik

irgendwie. Vielleicht können wir das mal linken,

Dominik

der hat ja irgendwie gestern was dran gebastelt.

Dominik

Muss ich mal genau,

Jochen

das habe ich auch mit Portrait noch nicht so wirklich gemacht,

Jochen

aber soll

Jochen

auch irgendwie gehen, also was man

Jochen

sagen kann ist,

Jochen

dass auch dieses PyProject

Jochen

Punkt

Jochen

Tommelfeil soll halt

Jochen

irgendwie, da gibt es auch ein

Jochen

Python Enhancement Proposal zu

Jochen

518 ist das, glaube ich,

Jochen

soll halt mal irgendwie

Jochen

die zentrale Konfigurationsdatei

Jochen

für so Projekte werden. Also

Jochen

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

Jochen

Es gibt auch

Jochen

Setup, also es gibt

Jochen

zum Beispiel, wenn man jetzt Pakete baut, tatsächlich.

Jochen

Also wenn man jetzt ein Library schreibt,

Jochen

das macht man auch fast immer. Also wenn man jetzt irgendwie

Jochen

ein Projekt hat und möchte das

Jochen

irgendwie bauen, dann hat man oft irgendwie eine

Jochen

Setup.py da drin liegen

Jochen

und setup.cfg

Jochen

config.

Jochen

Ja.

Jochen

Und ja,

Jochen

also ein Problem zum Beispiel

Jochen

ist halt auch, dass

Jochen

die setup.py, also

Jochen

einmal ist das alles ziemlich kompliziert

Jochen

und dann, was Leuten

Jochen

nicht so gut gefällt, ist, dass man,

Jochen

wenn man jetzt ein Paket installieren möchte,

Jochen

tatsächlich

Jochen

irgendwie so ein Python-Skript

Jochen

ausführt, wo unklar ist, was das tut.

Jochen

Das kann ja auf deinem System beliebige

Jochen

Dinge tun. Jetzt ist halt die Frage,

Jochen

muss ich, wenn ich jetzt ein Python-Projekt,

Jochen

was ja im Wesentlichen ist, dass halt irgendwie

Jochen

ein

Jochen

Archiv, irgendein ZIP oder

Jochen

TABOL von irgendwie Python-Dateien,

Jochen

PY-Dateien, das möchte ich

Jochen

jetzt irgendwo in ein

Jochen

Verzeichnis werfen und das war's im Grunde.

Jochen

Viel mehr ist das ja nicht, ein Python-Projekt

Jochen

zu installieren.

Jochen

Warum muss denn da jetzt irgendwie so Code ausgeführt

Jochen

werden, wenn ich das jetzt nochmal kurz ausprobieren möchte?

Jochen

und

Jochen

das ist schon mal so

Jochen

und das ist halt eine der

Jochen

zentralen Punkte, die halt mit dieser

Jochen

PyProject-Tommel angegangen werden,

Jochen

weil wenn du das halt eben in diese

Jochen

PyProject-Tommel reinschreibst und das

Jochen

ich weiß noch nicht, ob es so weit ist, ich glaube es ist noch nicht so ganz,

Jochen

aber wenn das halt irgendwann mal ausreicht,

Jochen

um Pakete zu bauen, dann kannst

Jochen

du halt ein Paket installieren,

Jochen

ohne dass halt irgendwie ein Skript

Jochen

ausgeführt und beliebiger Code ausgeführt wird

Jochen

auf deiner Maschine, sondern da wird halt

Jochen

PyProject-Tommel gepasst und da wird halt irgendwas

Jochen

gemacht, aber da ist nichts drin, was irgendwie ausgeführt wird.

Jochen

Und

Jochen

das ist dann natürlich schon nett.

Jochen

Das ist dann halt schon mal ein Problem

Jochen

weniger. Und ein Ding,

Jochen

wo man einen Code ausführen

Jochen

muss, dem man dann halt irgendwie vertrauen muss.

Jochen

Dafür ist es gedacht.

Jochen

Dann ist es aber auch so, dass

Jochen

ja,

Jochen

genau, diverse andere

Jochen

Geschichten, die jetzt in setup.cfg

Jochen

irgendwie normalerweise drinstehen,

Jochen

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. Ich glaube, PyTest ist noch nicht drin, aber Black zum Beispiel unterstützt auch schon PyProject, Tommel, ich weiß nicht, ich kenne die ganzen Tools.

Jochen

Also es gibt auf jeden Fall einige, die das alle schon unterstützen und andere halt noch nicht, aber alle wollen das irgendwie wahrscheinlich irgendwie früher oder später machen. 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

Jochen

diesen PEP 518 mal angucken.

Jochen

Man könnte sich jetzt auch einfach denken,

Jochen

so, ja, warum denn jetzt nochmal ein neues,

Jochen

das habe ich mir zuerst tatsächlich auch gedacht, ich bin so, Tommel,

Jochen

was zur Hölle, warum denn nochmal

Jochen

ein unterschiedliches Dateiformat, ne?

Jochen

Es gibt ja auch immer den Witz, sozusagen,

Jochen

ja, irgendwie

Jochen

Jason kommt dabei raus, wenn man alle Fehler

Jochen

ignoriert, die die Leute bei XML gemacht haben, ja,

Jochen

und Jamel kommt dabei raus,

Jochen

wenn die Leute irgendwie alle Fehler ignorieren,

Jochen

die bei Jason gemacht wurden und warum

Jochen

denn jetzt noch Tommel? Wenn jetzt alle Fehler

Jochen

ignoriert, die bei Jammer gemacht worden sind, kommt dann vielleicht Tommel raus?

Jochen

Kann sein. Aber das

Jochen

ist tatsächlich

Jochen

ganz gut begründet, warum sie

Jochen

da nochmal ein neues Format nehmen, weil tatsächlich

Jochen

leider alle anderen Formate

Jochen

scheiße sind. Das muss man leider

Jochen

sagen.

Jochen

Das fand ich auch bitter. Das haben sie dann auch

Jochen

relativ unmissverständlich da in den

Jochen

Spep reingeschrieben. Es ist echt

Jochen

faszinierend. Ich meine, also

Jochen

das XML, also da braucht man nicht viel

Jochen

drüber reden eigentlich, dass XML scheiße ist.

Jochen

Bekannt.

Jochen

Das kann man als bekannt voraussetzen.

Jochen

Es ist halt,

Jochen

ein entscheidender Punkt dabei ist halt, dass es nicht von

Jochen

Menschen editierbar ist, so richtig.

Jochen

Und das ist sowieso ein komisches Format.

Jochen

Also, naja, will man eigentlich nicht.

Jochen

Dann...

Jochen

Warum JSON?

Jochen

JSON ist eigentlich nicht so schlecht.

Jochen

Wird ja auch verwendet tatsächlich bei JavaScript, eben für

Jochen

Package JSON und so. Aber

Jochen

also menschenlesbar ist es auch irgendwie.

Jochen

Aber Menschenschreiber ist halt so eine Sache, weil

Jochen

die Syntax ist so ein bisschen filigran.

Jochen

Also es gibt ja so Dinge wie zum Beispiel,

Jochen

dass man halt

Jochen

tatsächlich kein

Jochen

Komma am Ende von

Jochen

NRACING am letzten, ja. Total kacke,

Jochen

ja. Also ich meine, so als Mensch

Jochen

denkst du ja halt so, wenn du das nicht,

Jochen

wenn du jetzt nicht irgendwie so ein Standard-Fetischist

Jochen

bist oder so und das sofort siehst

Jochen

oder deinen Editor kannst du dir vielleicht auch sagen, aber wenn

Jochen

du jetzt einfach mal einen normalen Texteditor nimmst, der das nicht kann,

Jochen

dann tippst du das da so ein und dann

Jochen

sagt dir halt NPM, irgendwie da ist ein

Jochen

Syntaxfehler und du denkst dir so, hä?

Jochen

Was? Warum? Das ist ein Syntaxfehler.

Jochen

Und es macht das Parseln halt auch schwer,

Jochen

weil, ja,

Jochen

es ist halt, du musst

Jochen

wissen, du musst dir immer merken, dass

Jochen

das jetzt irgendwie das Letzte, also

Jochen

das Letzte ist und so

Jochen

und ach, das ist alles, du kannst dich

Jochen

alle gleich behandeln, es ist irgendwie,

Jochen

also Jason ist für viele Sachen ganz nett,

Jochen

aber so

Jochen

menschenschreibbar nicht so gut und es hat auch

Jochen

so komische Quirks irgendwie.

Jochen

Aber ansonsten, Jason ist

Jochen

auch nah dran. Also die waren auch kurz davor, Jason

Jochen

zu nehmen.

Jochen

Jammel?

Jochen

Jammel sieht eigentlich ganz gut aus.

Jochen

Wenn man so Jammel-Files sieht,

Jochen

denkt man sich so, ach ja, so schlecht

Jochen

ist das ja gar nicht.

Jochen

Ich habe in letzter Zeit viel mit

Jochen

Kybernetis zu tun.

Jochen

Ich habe viel Jammel

Jochen

gesehen. Ich bin nicht mehr davon überzeugt,

Jochen

dass es eine gute Idee ist.

Jochen

Also Jammel, es kann auch furchtbar werden.

Jochen

Also einmal ist das Problem bei YAML, der Standard

Jochen

ist gigantisch, also

Jochen

der JSON halt noch relativ da

Jochen

ist relativ einfach zu implementieren und es gibt

Jochen

relativ wenig Zeug. YAML ist richtig

Jochen

fett, da ist viel Zeug drin

Jochen

und was den meisten Leuten auch überhaupt nicht klar sein dürfte,

Jochen

was aber auch ein großes Problem ist, ist, dass halt

Jochen

YAML-File-Parsen bedeutet,

Jochen

Code auszuführen im Grunde, meistens.

Jochen

Du kannst, das kann halt

Jochen

so viel, dass du dem sagen kannst,

Jochen

hier, führ mal diesen Code aus, dann machst du das.

Jochen

Es gibt dafür eine Load-Safe

Jochen

oder Safe-Load-Methode oder sowas, die man benutzen

Jochen

kann, wenn man Jammer parsen will, ohne da

Jochen

Code auszuführen. Aber das

Jochen

muss man halt auch erstmal wissen.

Jochen

Kann man lustige Jammer-Sachen

Jochen

machen. Standard ist komplex und dann

Jochen

irgendwie, wenn man einen Jammer-File lädt,

Jochen

führt das Code aus. Das ist halt schon eine Kombination,

Jochen

die ist schon bitter.

Jochen

Also, ja, will man

Jochen

vielleicht auch nicht, obwohl es halt tatsächlich gut

Jochen

menschenlesbar ist und es ist gut menschenschreibbar und es

Jochen

sieht eigentlich ganz nett aus.

Jochen

Aber das ist halt, aber es ist zu kompliziert

Jochen

und es ist zu gefährlich eigentlich.

Jochen

Da kann man das auch nicht wirklich gut verwenden.

Jochen

ja

Jochen

und

Jochen

tja, was bleibt da noch? Ach, es gibt noch

Jochen

Config-Parser, auch in der Standard-Bibliothek

Jochen

von Python, das ist halt so

Jochen

in Windows nennt man das glaube ich Ini-Files oder so

Jochen

wir hatten es auch

Jochen

überlegt, ist auch nicht so schlecht, ist halt schön einfach

Jochen

das Problem ist, es ist halt nicht

Jochen

mächtig genug, um halt die Sachen, die man

Jochen

halt in so einem

Jochen

Projekt-Definitions-Dings abbilden können will

Jochen

abzubilden, das ist schon mal doof und dann ist es so

Jochen

es gibt keinen Standard dafür

Jochen

es ist nicht so, dass das irgendwo standardisiert wäre

Jochen

sondern das, was

Jochen

ConfigParser kann, ist halt dadurch

Jochen

definiert, dass es halt ConfigParser ist, kann.

Jochen

Aber es ist irgendwo...

Dominik

Ja, es gibt ein paar Config, bei denen das dann geht.

Jochen

Und eben, bei manchen geht es halt nicht. Und wenn es nicht geht,

Jochen

weiß man halt nicht, warum.

Jochen

Und es gibt auch keine anderen

Jochen

Implementierungen und so.

Jochen

Also, ja,

Jochen

auch nicht wirklich toll.

Jochen

Und jetzt kommt Tommel.

Jochen

Tommel ist zwar ein anderes, neues Format, das keiner kennt, aber

Jochen

tatsächlich erfüllt es all diese

Jochen

Sachen. Man kann es gut lesen, man kann es gut schreiben.

Jochen

es explodiert nicht sofort,

Jochen

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

Jochen

sogar das wichtigste Argument,

Jochen

das wird halt auch sozusagen

Jochen

zur Definition

Jochen

von Projektabhängigkeiten

Jochen

und Paketdingen

Jochen

verwendet, schon bei Rust.

Jochen

Und funktioniert ja schon

Jochen

lange.

Jochen

Und ja,

Jochen

Insofern ist das halt auch nochmal eine Vereinheitlichung.

Jochen

Okay, okay.

Jochen

Ja, also

Jochen

genau.

Jochen

Und ja, Poetry benutzt das halt auch.

Jochen

Und insofern eigentlich alles ganz nett.

Jochen

Interessant.

Jochen

Ja, und damit hätte man

Jochen

sozusagen den Teil,

Jochen

wie installiert man eigentlich

Jochen

Pakete

Jochen

und

Jochen

wie führt man da Skripte,

Jochen

Management-Skripte aus, auch erledigt.

Dominik

Was fällt dir noch rein zu deiner Umgebung?

Dominik

Also ich meine, wir haben jetzt gar nicht mehr die Touren oder sowas.

Dominik

Das müssen wir aber eigentlich auch noch.

Dominik

Müssten wir.

Jochen

Also eigentlich schon.

Jochen

Was musst du?

Jochen

Wie ist Quote? Haben wir schon alles verraten?

Jochen

Ja, oft.

Jochen

Im Enhanced-Modus

Jochen

oder im puren?

Jochen

Was musst du für ein Farbschema?

Jochen

Ich habe mal Solarize verwendet,

Jochen

aber das mache ich eigentlich auch nicht mehr.

Jochen

Ich weiß es aktuell

Jochen

gar nicht. Ich nehme Dracula.

Jochen

Ich mag das. Das ist wie bei Pycharm.

Jochen

Ja? Nee?

Dominik

Nee? Dracula ist so schön

Dominik

lila, pink, gelb.

Dominik

Okay, das ist...

Dominik

Weiß. Auf dunklem Hintergrund.

Dominik

Ah, okay. Keine Ahnung.

Dominik

Ja, also

Jochen

VVI tatsächlich

Jochen

immer noch sehr viel und

Jochen

mir gefällt es auch gut.

Jochen

Ich habe eine Zeit lang Neowim verwendet, aber

Jochen

seit

Jochen

Vim 8 kann das eigentlich

Jochen

alles wieder, was man so haben will.

Jochen

Vor allen Dingen eben auch

Jochen

Linting-Geschichten ausführen,

Jochen

ohne dass das

Jochen

Editieren blockiert oder so.

Jochen

Das war ja so der Hauptgrund dafür,

Jochen

oder jedenfalls für mich, NeoVim zu verwenden.

Jochen

Daher kann ich wieder den normalen Vim verwenden.

Dominik

Was ich an VS Code zum Beispiel so sehr mag,

Dominik

wo wir eben darüber gesprochen hatten,

Dominik

man kann auch da die Settings synchronisieren.

Dominik

Bis jetzt benutze ich dafür eine Extension, aber

Dominik

das ist gerade dabei, dass es in offiziellen

Dominik

Patch Notes, glaube ich, drinsteht vom Insiders,

Dominik

dass man die Settings synchronisieren kann,

Dominik

wenn man möchte, über seine Maschinen, was

Dominik

natürlich super ist, weil man ja auch

Dominik

die Editor-Settings, die ja irgendwie doch

Dominik

länger sein können irgendwann, gerne

Dominik

synchronisieren möchte.

Dominik

Auch die Extensions, die man nutzt.

Jochen

Sind das nicht auch Dot-Files

Jochen

irgendwie, die man genauso behandeln könnte wie

Jochen

alle anderen?

Jochen

Gute Frage. Ich glaube nicht.

Jochen

JSON ist das eigentlich,

Dominik

die da irgendwo drin liegt im VSCode-Verzeichnis.

Dominik

Und ja, da kann man halt

Dominik

Sachen reinschreiben.

Dominik

Naja, keine Ahnung.

Dominik

Die kann man natürlich auch dann synchronisieren über seine Dot-Files.

Dominik

Das habe ich bis jetzt auch so ähnlich gemacht.

Dominik

Dann ist das nächste Problem halt, dass du dann die Extensions,

Dominik

die kann man natürlich auch immer exportieren.

Dominik

Da gibt es ja viele, für die man synchronisieren möchte.

Dominik

Und dann kann man das halt auch automatisch machen,

Dominik

dass halt die Extensions alle gleich sind,

Dominik

dass man halt auch da Updates fahren kann und so.

Jochen

Ja, bei MVI ist das zum Beispiel so,

Jochen

dass halt eben die Plugins,

Jochen

die ich verwende, die kommen halt auch über

Jochen

die Dot-Files.

Jochen

Und dann sage ich halt auf einer neuen Maschine

Jochen

einfach nur, wenn ich ein WIM

Jochen

starte, Doppelpunkt Plugin

Jochen

install und drück

Jochen

Enter und dann installiert die ganzen Plugins.

Jochen

Und das ist natürlich schon sehr, also

Jochen

sagen wir mal so, das funktioniert nicht mit allen. Es gibt manche

Jochen

Sachen, die leider

Jochen

Handarbeit erfordern,

Jochen

wie zum Beispiel irgendwie Autocompletion.

Jochen

Dafür benutze ich

Jochen

Jedi

Jochen

und halt YouCompleteMe

Jochen

und YouCompleteMe braucht einen Serverteil,

Jochen

der gestartet wird

Jochen

und der muss kompiliert werden

Jochen

und das geht dann alles nicht mehr so einfach.

Jochen

Da muss man tatsächlich irgendwie...

Jochen

Eigentlich ein Skript verschreiben,

Jochen

das ins DotFi-Repo kommt.

Jochen

Ja, vielleicht.

Dominik

Bei der Installation direkt das automatisch macht.

Dominik

Habe ich auch nicht automatisiert,

Jochen

aber das muss man halt irgendwie noch machen.

Dominik

Autocomplete ist übrigens ein echt nettes Feature.

Dominik

Das kann man auch bei verschiedenen Sachen einbauen.

Dominik

Also auch sogar unter Windows mit Git,

Dominik

Dosh, Posh, Git zum Beispiel,

Dominik

kann man Git-Autocomplete machen

Dominik

und ganz viele lustige Sachen,

Dominik

dass da eine Docker noch completet und so.

Dominik

Dann kann man ein bisschen schneller

Dominik

sein Kommando reinhacken.

Dominik

Ja, bei Phish gibt es

Dominik

auch für alles irgendwie

Dominik

Autocomplete-Geschichten.

Dominik

Phish hat sogar so eine

Dominik

Suchfunktion, dass man halt die Autocompletion

Dominik

durchscrollen kann.

Dominik

Das ist ja sehr geil.

Dominik

Wahrscheinlichste

Dominik

sogar.

Dominik

Ja.

Dominik

Man kann das auch so einstellen, dass man die, die man häufig

Dominik

benutzt hat, nimmt und dann kann man daraus durchtappen.

Dominik

Das ist schon nett.

Jochen

Es gibt halt im Grunde,

Jochen

ehrlich gesagt, wenn man den so richtig

Jochen

voll

Jochen

ausgebaut, aufgepimpt hat,

Jochen

dann unterscheidet

Jochen

sich jetzt so ein voll aufgeblätterter

Jochen

Wim gar nicht so großartig von sowas

Jochen

wie Scott oder

Jochen

Peitscher. Peitscher macht noch mal

Jochen

ein bisschen mehr, aber

Jochen

tatsächlich gibt es halt viele Sachen, die ganz ähnlich

Jochen

sind, also ich sage dann nicht Command-P

Jochen

bei VS Code, sondern Command-T,

Jochen

da gibt es dann zum Plugin, das macht aber

Jochen

fast das Gleiche.

Jochen

Dann gibt es halt irgendwie

Jochen

Fugitive, das

Jochen

irgendwie

Jochen

mit Git super interagiert,

Jochen

was dann halt diverse Dinge darstellt, das einem darstellt,

Jochen

was sich geändert hat. Ja, ich wollte gerade sagen, also

Dominik

diese Git-Integration, die will ich ja schon nicht vermissen.

Dominik

Ich habe so einen Git-Lab-Prozess, den ich irgendwie einbauen kann,

Dominik

dann wie es geht.

Dominik

Kann das alles synchronisieren, kann die Commits direkt da drin

Dominik

machen. Das Einzige, was mir noch so ein bisschen

Dominik

fehlt, ist tatsächlich das Issue-Handling.

Dominik

Da, wo ich gerade noch so ein bisschen struggle, ich würde gerne

Dominik

meine Issues direkt in VS Code angezeigt bekommen

Dominik

und die da auch bearbeiten können und dann direkt

Dominik

den Branch wechseln und so. Das wäre ja alles ziemlich geil.

Dominik

Aber ich habe

Dominik

ein, zwei Add-ons da gefunden, die in die

Dominik

Richtung gehen, aber noch nicht so ganz perfekt funktionieren.

Dominik

Aber das,

Dominik

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

Dominik

Das einzige Feature, was ich

Dominik

bis jetzt nicht entdeckt habe in VS Code, was ich

Dominik

von PyCharm-Usern gehört habe, was vermisst wird,

Dominik

ist Auto-Imports.

Dominik

Das heißt, dass man automatisch

Dominik

die ganzen Imports von den Sachen, die man in den Code

Dominik

geschrieben hat, oben

Dominik

erzeugt bekommt.

Dominik

Ja genau, bei Palcham ist das

Jochen

tatsächlich, gibt es dann immer Leute, wenn

Jochen

ich dann Sachen oben von Hand eintrage, die mich

Jochen

dann angucken, so als wäre ich irgendwie so ein Tier,

Jochen

was da irgendwie so rumkriecht

Jochen

und

Jochen

ja, ich fühle mich

Jochen

aber ein bisschen, tatsächlich habe ich da beim Wim

Jochen

auch noch nichts gefunden, was das automatisch macht.

Jochen

Es gibt aber was für

Jochen

für

Jochen

Notebooks gibt es

Jochen

PyForest, das macht das da auch.

Jochen

Ich habe Nico gehört,

Jochen

den ich letztens

Jochen

getroffen habe.

Jochen

Wir waren ja zusammen auf dem PyData

Jochen

Coupon.

Jochen

Der meinte, das

Jochen

kann man super verwenden, wenn man da halt

Jochen

irgendwie, keine Ahnung,

Jochen

in einem Jupyter Notebook

Jochen

halt Dinge verwendet, dann

Jochen

schreibt es den Import halt oben rein und das

Jochen

ist tatsächlich ziemlich cool.

Jochen

Ja, aber tatsächlich

Jochen

für VI habe ich das noch nicht gesehen.

Jochen

Vielleicht gibt es da bestimmt auch irgendwie was, aber

Jochen

da schreibe ich meine Imports

Jochen

immer noch von Hand. Und natürlich

Jochen

ist es so ein bisschen rückständig. Aber

Jochen

ansonsten, ich weiß

Jochen

gar nicht, ob ich da mal durch die Liste

Jochen

der Plugins beim VI durchgehen sollte oder

Jochen

so, ob das schon zu

Jochen

speziell

Jochen

ist, dass ich da so

Jochen

normalerweise verwende.

Dominik

Also bei VS Code sind das auf jeden Fall ganz wichtige Sachen.

Dominik

dann, wenn du dein Workload drin hast,

Dominik

eine To-Do-Liste, Test-Framework

Dominik

kannst du einbauen, du kannst Docker reinpacken,

Dominik

natürlich die Git-Sachen,

Dominik

ganze Pipeline einbauen,

Dominik

das finde ich immer ganz praktisch.

Dominik

Ja, ansonsten können wir das Code eigentlich schon

Dominik

relativ viel selber und das sind da so kleine Sachen,

Dominik

die halt irgendwie man nicht verzichten möchte.

Dominik

Ja, ich glaube,

Jochen

man kann sich da selber, also

Dominik

tatsächlich. Da muss ja auch jeder so ein bisschen selber basteln.

Dominik

Ja, muss man eigentlich alles selber basteln.

Dominik

Das wächst ja auch, wenn man irgendwas braucht, dann sollte man

Dominik

vielleicht irgendwann mal gucken, ob sowas gibt.

Dominik

Aber vorher vielleicht erst mal so lean wie möglich anfangen

Dominik

und so schlank wie möglich.

Dominik

Das ist auch ein bisschen schnellere Ladezeit und so.

Dominik

Das kann man aber auch vielleicht alles mit Atom machen

Dominik

oder Sublime oder was auch immer man da nutzt.

Dominik

Ich habe sogar zwischendurch noch Windows in meinem Notepad++

Dominik

immer offen.

Dominik

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

Dominik

Das benutze ich jetzt nicht für Koden,

Dominik

aber wenn man mal so ein Skript oder so ein Editor-Zeile

Dominik

irgendwie wie beim VI so ein bisschen schnell ändern will,

Dominik

dann ist das eigentlich super schnell geladen, offen

Dominik

und hat es wieder weggeschickt.

Dominik

Das ist ganz nett für so Configs oder so.

Dominik

Ja, und E-Mags haben wir noch vergessen.

Dominik

Ich weiß nicht, ich bin leider kein Power-Nutzer von E-Mags.

Jochen

Leute, die das benutzen, warum auch immer.

Jochen

Wenn du jetzt

Dominik

den großen Aufschrei von den Menschen fragst.

Jochen

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

Dominik

Es gibt den Operating-Mode, da kann man irgendwie direkt

Dominik

seine Zeit mit managen und so, also ziemlich coole Sachen,

Dominik

die man damit machen kann.

Dominik

Das ist Org-Mode.

Dominik

Ja, ja, irgendwie so.

Jochen

Ja, also E-Mags kann auch alles.

Jochen

Eigenes Betriebssystem, habe ich gehört.

Jochen

Ja.

Jochen

8 Megabytes in Constantly.

Jochen

Das ist auch wie schlecht solche Witze altern.

Jochen

8 Megabytes in Constantly Swapping sozusagen.

Jochen

Das war früher der Witz bei Emacs.

Jochen

Aber ja, irgendwie.

Jochen

Da müsste man wahrscheinlich eher sagen 8 Gigabytes oder so.

Jochen

Es wartet einfach nicht mehr.

Jochen

Das passiert nicht mehr.

Jochen

Das ist heute sehr, sehr zu Hause.

Jochen

Es ist schon im Vergleich zu allem anderen.

Jochen

Ich meine, wenn man sich anguckt,

Jochen

eben Peitschrahmen, unfassbar fette Java-Idee.

Jochen

wie ist Code? Das ist irgendwie

Jochen

ein JavaScript-Monster

Jochen

gewrappt in einen

Jochen

kompletten Chrom,

Jochen

der irgendwie Elektronen ausführt.

Jochen

Oh mein Gott!

Jochen

Also das ist natürlich schon alles irgendwie nicht mehr

Jochen

vergleichbar mit irgendwie...

Jochen

Also Emacs ist dagegen ja wirklich tatsächlich

Jochen

irgendwie so die...

Jochen

Basic Lisp.

Jochen

Ja, also

Dominik

apropos, wo wir gerade bei so Swap-Sachen sind,

Dominik

was hältst du denn von sowas wie RAM-

Dominik

Betriebssysteme oder so, dass du einfach direkt alles

Dominik

in den RAM lädt und

Dominik

darin arbeitest, ich weiß nicht, ob man

Dominik

überhaupt noch dann feste Sachen braucht,

Dominik

wenn man das synchronisieren kann,

Dominik

dann ist man vielleicht noch schneller unterwegs, als

Dominik

wenn man das alles auf der Platte macht, oder ist das

Jochen

Quatsch? Ich weiß nicht genau, also

Jochen

ich, ehrlich gesagt, seit

Jochen

SSDs ordentlich schnell sind,

Jochen

merke ich

Jochen

das nicht mehr, dass da irgendwas noch lädt

Jochen

oder so, das ist irgendwie weg.

Jochen

Ja, ich habe auch schnell gedacht.

Jochen

Daher weiß ich nicht, ob es noch was bringt, wenn man das jetzt als

Jochen

Hauptspeicher, könnte man natürlich tun, wobei jetzt auch

Jochen

die meisten Maschinen so viel Hauptspeicher haben,

Jochen

dass es sowieso alles egal ist.

Jochen

Wahrscheinlich eher alles gecached im Filesystem

Jochen

Cache. Ich weiß es nicht.

Jochen

Aber ich glaube, da viel

Jochen

beschleunigen kann man dann. Also jedenfalls beim

Jochen

Dates, wenn ich so ein aktuelles Map

Jochen

wohlnehme. Also das ist so

Dominik

schnell. Ja, du hast natürlich auch immer die Power-User-Version.

Dominik

Ja, aber also da ist

Jochen

echt, ich muss da auch nie auf, oder fast nie auf

Jochen

also doch, Docker.

Jochen

Da kriegst du dann anzulüften.

Jochen

Gut, da kann ich mir auch

Jochen

ungefähr vorstellen, woran das liegt.

Jochen

Aber ansonsten...

Jochen

Halt, außer wenn man jetzt irgendwie

Jochen

so Modelle rechnet oder so, oder trainiert,

Jochen

dann ist natürlich auch wieder...

Dominik

Ja, die musst du ja eigentlich auf Grafikkartenhandwerk trainieren,

Dominik

habe ich mir sagen lassen.

Jochen

Was auf MacBooks auch tatsächlich so halbwegs geht,

Jochen

mit, äh, na, wie heißt das noch?

Jochen

Mit Metal, ähm,

Jochen

da gibt es ein Ding von, äh,

Jochen

äh, muss ich nicht nachrechnen,

Jochen

äh,

Jochen

ja, keine Ahnung,

Jochen

wo man halt die Grafikkarte auf dem MacBook verwenden kann.

Jochen

das geht halbwegs gut. Ist also auf jeden Fall so

Jochen

achtmal so schnell, als wenn man irgendwie

Jochen

CPU dafür

Jochen

verwendet. Und das ist ja schon mal ganz ordentlich.

Jochen

Also für eine GTX oder so?

Jochen

Ja, Plate ML heißt das.

Jochen

Plate ML, genau.

Jochen

Ja,

Jochen

PyCharm habe ich jetzt auch in letzter Zeit wieder so ein bisschen

Jochen

angeguckt und das ist auch nett. Also was ich da

Jochen

neben den automatischen Imports,

Jochen

das ist natürlich auch schön, aber

Jochen

nochmal gesehen habe, was tatsächlich

Jochen

mir gut gefallen hat. Also mich nervt immer noch, dass

Jochen

es halt irgendwie so rumleckt, dass halt wenn man irgendwo drauf drückt

Jochen

oder so, dass es immer so klebrig ist, nicht so wie bei

Jochen

Also VS Code ist da viel besser.

Jochen

VS Code ist total toll.

Jochen

Ja,

Jochen

auch, aber

Jochen

tatsächlich, was bei PyCharm cool ist,

Jochen

ich finde zum Beispiel die Debugging-Geschichten, das hat mich ja

Jochen

letztens wieder... Das ganze bei VS Code auch.

Jochen

Ja, aber kannst du

Jochen

zum Beispiel auch in Docker debuggen oder

Jochen

Remote debuggen? Ja.

Jochen

Echt? Musst du nur konfigurieren.

Dominik

Du kannst sogar, das Coole bei VS Code ist, du kannst tatsächlich

Dominik

per SSH dich auf Sachen connecten

Dominik

und das dann tatsächlich editieren, alles in VS Code drin.

Dominik

Das sind alles sehr tolle Sachen.

Dominik

Kannst du bei PyCharm auch.

Jochen

Und tatsächlich, der Debugger bei PyCharm

Jochen

ist schon deutlich cooler,

Jochen

als wenn man einfach nur so eine PDB-Shell hat.

Dominik

Ja gut, aber ich nutze den nicht so viel,

Dominik

aber es geht, glaube ich, ganz gut.

Dominik

Ja, ich habe auch nicht gebaut.

Dominik

Ich habe es nur mal getestet

Jochen

und es sah wirklich sehr gut aus.

Jochen

Ehrlich gesagt benutze ich sehr selten Debugger.

Jochen

Benutze das nicht so.

Jochen

Immer perfekten Code.

Jochen

Brauche ich nicht.

Jochen

Das nicht, aber ich meistens,

Jochen

wenn ich Sachen ausprobiere,

Jochen

dann mache ich das eh in einem Notebook.

Jochen

ich mache das nicht in dem...

Dominik

Ja, das habe ich von dir übernommen, das ist tatsächlich

Dominik

gar nicht so schlecht, dann sieht man ja direkt, was für hier läuft.

Jochen

Ja, und wenn man dann halt Code irgendwo hin tut,

Jochen

dann weiß man halt eigentlich schon, dass das halbwegs

Jochen

funktioniert.

Jochen

Ja, aber...

Dominik

Notebooks gehen jetzt übrigens auch in VS Code, aber das finde ich tatsächlich,

Dominik

was nicht so richtig so funktioniert, wie ich mir das

Dominik

vorstelle, aber das ist mittlerweile integriert.

Dominik

Das ist auch ganz nett, tatsächlich.

Dominik

Und was ich sehr cool finde

Dominik

an VS Code ist das Live-Share-Feature.

Dominik

Das heißt, man kann kollaborativ gemeinsam

Dominik

an Projekten arbeiten und

Dominik

den Cursor und so. Das weiß ich gar nicht,

Jochen

ob sowas bei PyCharm auch geht.

Jochen

Aber das hat mich,

Jochen

das ist, ja, das ist also,

Jochen

das fand ich auch sehr beeindruckend und das hat super funktioniert.

Jochen

Also per Programming Remote,

Jochen

also mit dem VI geht das natürlich auch,

Jochen

dann einfach irgendwie TMAX oder Screen-X

Jochen

oder sowas und dann kann man das auch

Jochen

machen, aber

Jochen

ehrlich gesagt, mit VSCode ist es schon gut.

Jochen

Yes!

Jochen

Und ja,

Jochen

das hat schon

Jochen

hat schon gut funktioniert.

Jochen

Ich habe gerade gegoogelt und tatsächlich

Jochen

Remote Pair Programming with IntelliJ.

Jochen

Ich weiß es nicht genau.

Jochen

Es kann sein, dass das PyCharm auch kann.

Dominik

Meine Wahl wäre ja VS Code

Dominik

mit einem tollen Terminal, mit dem

Dominik

Windows Terminal auf einer Windows und

Dominik

WSL Maschine. Natürlich macht ihr da

Dominik

Hypervisor an und macht euch da virtuelle Maschinen

Dominik

noch drauf. Das könnt ihr dann um

Dominik

Entwicklung und Umgebung oder sowas einfach hochfahren und dahin

Dominik

auch deployen und so.

Dominik

Könnt ihr ja für Shared-Fooders

Dominik

machen und sowas. Und das

Dominik

kann ich durchaus empfehlen.

Dominik

Entwickeln auch alle. Das funktioniert ganz gut.

Jochen

Ja, also bei PyCharm würde ich

Jochen

jetzt noch sagen, also das Debuggen hat mir gut gefallen.

Jochen

Dann, was mir auch noch

Jochen

ziemlich

Jochen

gut gefallen hat, war

Jochen

Local History. Ist eine super

Jochen

Geschichte. Du kannst bei

Jochen

PyCharm halt auch sehen, was du geändert hast,

Jochen

ohne das

Jochen

alles eingecheckt. Also manchmal hat man ja so den

Jochen

Fall, dass man dann zu viel geändert hat.

Jochen

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

Jochen

Peitscham sagt einem halt genau,

Jochen

was da passiert ist und

Jochen

macht sozusagen

Jochen

behält auch... So eine lokale

Jochen

Versionshistorie. Ja, genau, genau.

Jochen

Und das ist auch relativ hilfreich

Jochen

ab und zu.

Jochen

Das hat mir auch sehr gut gefallen.

Jochen

Tja.

Jochen

Ansonsten

Jochen

ja, ne, weiß ich jetzt auch nicht.

Jochen

Gibt es noch irgendwas, was bei PS Code

Jochen

irgendwie besonders cool war.

Dominik

Also ich mag halt die Geschwindigkeit, das ist irgendwie

Dominik

so handlich.

Dominik

Ja, ja. Und also mir

Dominik

gefällt dieser neue Style, ich mag diesen Elektron-Style,

Dominik

ich mag das mit den Java-Settings,

Dominik

mit den JSON-Settings.

Dominik

Ja. Und das ist irgendwie

Dominik

alles schnell, handlich,

Dominik

ich kann es überall benutzen.

Dominik

Also ich mag halt diese Schlanken, ich mag eigentlich,

Dominik

mochte ich Atom, mochte ich ganz gern.

Dominik

Ja, weil der ist halt sehr schlank auch.

Jochen

Das ist auch ein Elektronen-App.

Jochen

Das ist schlank, ein paar hundert Mega

Jochen

überhält oder so.

Jochen

Egal.

Jochen

Ja, also

Jochen

naja.

Jochen

Ja, Atom hat auch gut funktioniert.

Jochen

Habe ich auch mal eine Zeit lang

Jochen

irgendwie JavaScript-Geschichten gemacht.

Jochen

Aber ja,

Jochen

stimmt, habe ich schon lange nicht mehr

Jochen

gestartet.

Jochen

Eigentlich nur noch VSCode.

Dominik

Ich benutze ihn nur für Musik, weil da gibt es ein paar Plugins,

Dominik

die mir auf jeden Fall VSCode, wenn

Dominik

es um Rust geht und

Dominik

Tidal Cycles oder sowas, da gibt es ein paar lustige Sachen.

Dominik

Aber das ist eine andere Geschichte.

Jochen

Ja, ansonsten

Jochen

genau, ach so,

Jochen

ja, was auch zur Entwicklungsumgebung natürlich zugehört,

Jochen

Linter. Oh ja.

Jochen

Welche hast du alle an? Alle?

Jochen

Naja, ich, Flake 8

Jochen

nehme ich normalerweise, wobei man

Jochen

immer gucken muss, dass das halt irgendwie so kompatibel

Jochen

ist mit Black. Ich benutze Black zum

Jochen

Formatieren.

Jochen

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

Jochen

Und dann Flake so

Jochen

angepasst, dass es halt

Jochen

das, was Black macht, irgendwie akzeptiert.

Jochen

Was es halt manchmal nicht so tut.

Jochen

Oder wenn man es nicht konfiguriert, macht es das halt nicht.

Jochen

Beschwert es sich halt irgendwie über

Jochen

fehlende Spaces

Jochen

bei Operatoren oder

Jochen

irgendwie so Sachen.

Jochen

Und

Jochen

Pylint

Jochen

eigentlich

Jochen

nicht. Ich hab sie alle an.

Jochen

Du hast sie alle an? Ja, Pep8, Flake

Dominik

und Black und so.

Dominik

Und die zeigen eigentlich immer dasselbe.

Dominik

Naja, bei mir nicht so unbedingt.

Dominik

Ich glaube, ich habe auch ein, zwei Flex gesetzt.

Jochen

Was ich noch ganz interessant fand,

Jochen

jetzt muss ich nur sehen,

Jochen

ob ich das wiederfinde.

Jochen

Wo war denn das?

Jochen

Es gab da noch

Jochen

ein ziemlich cooles, also es gab einmal

Jochen

Pai Lama, das kombiniert. Ja, Pai Lama, stimmt.

Jochen

Die ganzen Geschichten so ein bisschen.

Jochen

Vielleicht kann ich dann noch irgendwas Neues erzählen.

Jochen

Ja.

Jochen

Und

Jochen

dann gab es auch noch

Jochen

irgendwie so ein schönes Tool,

Jochen

um Code-Komplexität

Jochen

irgendwie zu messen.

Jochen

Aha, Code-Komplexität.

Jochen

Ich habe noch bei mir

Jochen

mein eigenes Linting

Dominik

drin für bestimmte Keywords, die ich da reinpacke.

Dominik

Das ist auch noch ganz witzig.

Dominik

Mit dem To-Do-Tree, nämlich bei

Dominik

VS Code, da kannst du To-Do, Fix-Me, Hack,

Dominik

Bug, To-Be-Discussed oder sowas,

Dominik

da kannst du eigene Tags einbauen für dein

Dominik

Team und für dich, die dann irgendwie

Dominik

mit eigens noch gefleckt werden und die du halt

Dominik

in einem To-Do-Exa-Fenster dir anzeigen

Dominik

lassen kannst, um dann zu bearbeiten und so.

Dominik

Ach, okay.

Dominik

Ich habe jetzt hier so ein To-Do-Ding, da kann ich dann alle Sachen

Dominik

sehen direkt, die ich mir markiert habe.

Dominik

Ja, das ist ganz nett.

Dominik

Okay,

Jochen

das ist nett. Ich habe es tatsächlich wiedergefunden.

Jochen

Genau, das Ding heißt

Jochen

Radon. Oh, Radon?

Jochen

Und

Jochen

kann man auch in PyLama integrieren,

Jochen

genau wie PyCodeStyle.

Dominik

Lama. MyPi gibt's noch.

Dominik

MyPi, ja. PyDocStyle.

Dominik

PyDocStyle, ja.

Jochen

Also MyPi ist ja auch mal so eine zweischneidige

Jochen

Geschichte. Ich weiß nicht, ich weiß nicht.

Jochen

Aber ja, kann man

Jochen

natürlich auch machen.

Jochen

Aber was an diesem Radon

Jochen

irgendwie ganz nett ist. Es gibt auch Bandit,

Dominik

ist mir eingefallen. Bandit ist ein Security

Dominik

Linter. Der lintet bestimmte

Dominik

Dinge, die vielleicht Security relevant sein könnten.

Dominik

Ach okay, nee, das kann ich nicht.

Jochen

ja, was ran und nett ist,

Jochen

das ermittelt

Jochen

zum Beispiel, so ein Wert

Jochen

nennt sich

Jochen

Cyclomatic Complexity.

Jochen

Ehrlich gesagt weiß ich nicht genau, was das

Jochen

bedeutet. Aber der misst

Jochen

halt sozusagen deine Krutkomplexität.

Jochen

Und du kannst dem halt

Jochen

sagen, okay, wenn es so

Jochen

komplex ist, dann mach ein Fehler draus.

Jochen

Und du kannst es halt auch

Jochen

eventuell so

Jochen

einbauen, dass

Jochen

du nicht einchecken kannst oder

Jochen

nur, ich meine, das muss man, ob man jetzt

Jochen

Pre-Commit mag oder nicht,

Jochen

das halt

Jochen

sagt, also wenn zum Beispiel, also was

Jochen

letztens irgendjemand machen wollte, war

Jochen

halt,

Jochen

wenn sich Code geändert hat, die Tests

Jochen

noch laufen, aber irgendwas komplizierter

Jochen

geworden ist,

Jochen

wenn irgendwas refactored ist und die Komplexität gestiegen

Jochen

ist, dann lässt sich das nicht einchecken.

Jochen

Oder wenn dein Code

Jochen

einfach zu kompliziert ist an einer bestimmten Stelle, dann musst du

Jochen

nochmal refactoren oder so.

Jochen

Keine Ahnung, aber ich glaube, was auf jeden Fall

Jochen

ganz nett ist es halt, wenn man mal so ein bisschen

Jochen

einen Hinweis

Jochen

darauf kriegt, wo so die

Jochen

fiesen Stellen im Ergebnis sind.

Dominik

Ich finde es ja netter, wenn man irgendwie das Feature nicht

Dominik

finishen könnte, weil das Gitflo nicht mehr geht,

Dominik

als wenn man dann tatsächlich nicht

Dominik

mitmachen könnte, wenn man Grundreihabmachung

Dominik

will, damit nichts kaputt geht.

Dominik

Aber ja, gut.

Jochen

So extrem muss man es nicht machen.

Jochen

Ja, aber

Jochen

genau, das kann man sich auch mal

Jochen

angucken und ich fand es halt nett,

Jochen

dass es sowas überhaupt gibt.

Jochen

War mir noch gar nicht so klar.

Jochen

Ja, damit sind wir eigentlich so durch die

Jochen

Linter und Dinger durch.

Jochen

Ja.

Dominik

Ja, wir haben unsere Entwicklungsbedingungen, wir haben unser Terminal,

Dominik

wir haben das System

Dominik

und die Software. Nutzst du noch irgendeine andere

Dominik

Software zum Entwickeln sonst?

Dominik

Also mir reicht eigentlich immer

Dominik

der Editor, das Terminal und

Dominik

das war's.

Dominik

Notebooks.

Jochen

Ich finde, bei Django-Projekten

Jochen

sind Notebooks

Jochen

unfassbar hilfreich, ehrlich gesagt.

Dominik

Also man kann ja da auch tatsächlich den

Dominik

Django Shell aufmachen und hat dann

Dominik

direkt Zugriff auf die Datenbankobjekte und so.

Dominik

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

Dominik

Ja.

Jochen

Genau. Ansonsten...

Jochen

Weil sonst hätte man tatsächlich immer

Dominik

den Debugger starten müssen. Aber der Debugger funktioniert gar nicht so schlecht.

Dominik

Ich habe es tatsächlich letztens ein paar Mal ausprobiert,

Dominik

hier mit dem VS Code Debugger direkt zu arbeiten.

Dominik

Und das funktioniert erschreckend gut.

Dominik

Achso.

Dominik

Ich benutze noch so einen Zeitmanager.

Dominik

Waka benutze ich manchmal.

Dominik

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

Jochen

Ja, sowas benutze ich auch.

Jochen

Dafür verwende ich normalerweise Toggle.

Dominik

Checkt das auch automatisch mit, welche

Dominik

IDE du gerade nimmst oder benutzt?

Dominik

Das ist nämlich schön, weil ich sehe

Dominik

nämlich direkt, welches Projekt ich benutze dann.

Dominik

Also je nachdem, welchen Editor ich aufhabe und

Dominik

ja, in welcher

Dominik

Entwicklungsumgebung ich gerade bin oder ob ich mal

Dominik

auch im Notebook arbeite. Und der ordnet das direkt

Dominik

automatisch den richtigen Projekten zu. Das kann ich natürlich noch so ein bisschen

Dominik

konfigurieren im Hintergrund. Und dann habe ich

Dominik

direkt quasi meine Zeit zusammengefasst.

Dominik

Das ist ganz nett.

Dominik

Ja, okay, aber das erfasst

Jochen

natürlich auch nur dann, wenn du halt irgendwie

Jochen

am Editor sitzt, aber das bei mir ist oft auch

Jochen

so, dass ich... Nein, nicht nur.

Jochen

Das erfasst auch die anderen Programme.

Jochen

Also ich kann das auch so einstellen, dass...

Jochen

Also wenn du am Rechner sitzt, aber das erfasst halt nicht, wenn du

Jochen

da sitzt und ein ER-Diagramm malst

Jochen

oder auf und ab läufst

Jochen

und über irgendwas nachdenkst oder so. Ja, das stimmt natürlich.

Dominik

Aber es geht ja nicht darum, dass du jetzt daraus dann komplett abbrechen

Dominik

in der Zeit, sondern es geht nur darum, dass du so ein bisschen

Dominik

einen Überblick dafür hast,

Dominik

in welchen Projekten verbringst du so wie viel

Dominik

Editor-Time oder so. Ja, okay.

Dominik

Und du weißt ja auch ungefähr, wie viel du am Tag

Dominik

dann tatsächlich ideal gecodet hast oder

Dominik

wie viel du geschafft hast und dann kannst du dir das auch ein bisschen angucken.

Dominik

Wo du gerade EMD-Diagramm

Dominik

gesagt hast, da gibt es ja sowas Tolles,

Dominik

was ich ja letztens gesehen habe, mit dem man ganz tolle

Dominik

EMD-Diagramme malen kann.

Dominik

Wie heißen das nochmal?

Dominik

Graphics, glaube ich.

Dominik

Graphics, ja, das ist

Jochen

ja, wobei das

Jochen

halt nur ein Backend, ich glaube, es gibt

Dominik

auch noch einen. Ja, aber das fand ich ganz praktisch. Das kann man

Dominik

auf seine Django-Modelle schicken und dann macht es dann direkt automatisch

Dominik

ein EMD-Diagramm draus.

Dominik

Wunderbar, einfach mit einer Kommandozeile, bam.

Jochen

Genau, das ManagePy kann das schon

Jochen

für Django-Geschichten.

Dominik

Ja, ManagePy, GraphModels und dann

Dominik

Teilnahme oder so.

Dominik

Ja,

Dominik

Entwicklungsumgebung.

Dominik

Haben wir noch was vergessen?

Dominik

Prettier, irgendwas

Dominik

kann man noch anmachen. Dass man so ein bisschen

Dominik

schönere Code-Formatierung macht, das ist so ein bisschen wie Ninting, aber

Dominik

also das benutze ich meistens

Dominik

tatsächlich nicht unbedingt, nur für Python,

Dominik

Aber für diese ganzen Webgeschichten

Dominik

für HTML-Files

Dominik

oder JSON oder

Dominik

JavaScript

Dominik

oder andere Configs macht er automatisch das

Dominik

ein bisschen hübscher, wenn man

Dominik

schreibt zum Beispiel. Kann man

Dominik

sich ja überlegen. Man kann ja Snippets bauen oder man kann sich

Dominik

automatisch seine Styles

Dominik

dann direkt vorgeben lassen. Da muss man einfach nur drunter

Dominik

tippen und hat automatisch

Dominik

eingestellt. Das finde ich immer ganz nett.

Dominik

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

Dominik

Das weiß ich ehrlich gesagt

Dominik

gar nicht. Ich kann hier gerade mal nachgucken.

Dominik

Ist gut.

Dominik

Wo sehe ich denn das?

Dominik

Du kannst hier öffnen. Bei mir ist Control-Komma.

Dominik

Control-Komma.

Dominik

Also ich sehe hier,

Jochen

bei mir ist es Command-Komma wahrscheinlich. Das sind die Settings.

Jochen

Und dann, wo muss ich da?

Jochen

Da muss ja hier oben, da ist irgendwo

Jochen

JSON angezeigt in der Ecke.

Jochen

Aha.

Jochen

Also wie macht das JSON? Ich glaube, ich habe aber

Dominik

das rebindet tatsächlich, dass er

Dominik

nicht, dass er direkt das JSON

Dominik

aufmacht. Ja, okay.

Jochen

Also ich kann das hier nicht so direkt sehen irgendwie.

Jochen

Ist das nicht das File?

Jochen

Doch.

Jochen

Nee, doch.

Jochen

Das ist der User-File, ja, okay.

Jochen

Nee, keine Ahnung.

Jochen

Ja, egal.

Jochen

Egal.

Dominik

Ja, ich habe schöne 400 Zeilen runtergecode.

Dominik

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

Dominik

Was am nervigsten war tatsächlich, mit Windows und Linux und quer zusammenzuarbeiten,

Dominik

wo man nicht immer darauf achtet, ist tatsächlich, dass man die Line-Feeds ändern muss, anpassen muss,

Dominik

dass man, wenn man die Dateien speichert, das richtige Format wählt.

Dominik

Und das sollte man vielleicht dann direkt,

Dominik

wenn man übergreifend arbeitet, so einstellen,

Dominik

dass das so gespeichert wird wie auf Linux oder Mac-Maschinen,

Dominik

weil sonst sind die anderen Leute ein bisschen genervt.

Dominik

Ja, ja, ja, ja, ja.

Dominik

Zu Recht.

Dominik

Ja, das sieht man ja auch alles nicht und kann man nicht mehr richtig lesen.

Dominik

Das ist schon blöd.

Jochen

Ja, was ansonsten halt noch zum Entwickeln irgendwie total wichtig ist,

Jochen

ist halt so, sind auch so einfach Tools,

Jochen

die halt auf der Kommandozeile

Jochen

sein sollten und halt

Jochen

total hilfreich sind.

Jochen

Aber...

Dominik

Wetteranzeigen, YouTube-Videos direkt in der Konsole abspielen.

Dominik

Ja, äh...

Dominik

Auf dem Server JPEGs

Dominik

angeguckt.

Jochen

Ja, aber so Dinge, die einem halt

Jochen

ja, irgendwie so das

Jochen

Leben auf der Shell erleichtern.

Jochen

Und, ähm, also was ich da halt auch

Jochen

interessant finde, äh, das ist ja so ein Trend

Jochen

in letzter Zeit, dass man halt irgendwie so alte

Jochen

abgehangene Tools anguckt und da

Jochen

irgendwie vielleicht eine neue

Jochen

Implementation schreibt, die ein bisschen

Jochen

schneller ist oder ein bisschen

Jochen

besseres Interface hat oder so. Und da sind

Jochen

in letzter Zeit ein paar sehr schöne Sachen

Jochen

rausgekommen, die man dann auch gerne mal in Rust

Jochen

oder in Go schreibt.

Jochen

Und

Jochen

ja, da gibt's

Jochen

tolle Sachen. Also zum Beispiel

Jochen

ein Tool, was ich in letzter Zeit entdeckt habe,

Jochen

was halt

Jochen

hat mich so richtig geflasht.

Jochen

das war echt gut, ist FZF.

Jochen

Ah ja, stimmt, das kann man auch mit

Jochen

Fisch kombinieren. Ja, ja, genau, genau.

Jochen

Und dann, genau,

Jochen

dann Stern, Stern und dann macht es

Jochen

automatisch irgendwie eine Suche

Jochen

rekursiv in einem

Jochen

Datensystem und man gibt halt, also das sucht

Jochen

im Grunde, also dem kann man beliebige

Jochen

Sachen irgendwie reinpipen,

Jochen

so nach, via Standard In

Jochen

und dann

Jochen

macht es da drauf halt Suche.

Jochen

Ja, genau, ja. So Fuzzy

Jochen

Suche und

Jochen

man kann jetzt einfach Buchstaben

Jochen

eingeben und dann sucht es halt die Dinge, die dazu

Jochen

am ähnlichsten sind. Und das funktioniert

Jochen

ziemlich, ziemlich gut. Und es zeigt

Jochen

das halt während, das läuft schon an.

Jochen

Das heißt, man hat so eine eingebaute Preview und

Jochen

man muss es halt mal ausprobieren. Das ist wirklich,

Jochen

wenn man das ein paar Mal verwendet, dann denkt man sich so, wow,

Jochen

warum ist da vorher eigentlich noch nie jemand auf die Idee gekommen,

Jochen

das so zu machen? Das ist total cool.

Jochen

Und gerade

Jochen

in Kombination jetzt mit zum Beispiel

Jochen

einem schnelleren FIND, also weil FIND

Jochen

ist halt auch so eins von diesen alten Tools, die

Jochen

die eigentlich gar nicht so geil sind.

Jochen

Und da gibt es ein neueres,

Jochen

nennt sich FD.

Jochen

Und FZF plus FD

Jochen

ist unfassbar schnell.

Jochen

Und man kann damit halt super

Jochen

irgendwie auch in großen Projekten

Jochen

irgendwie Dinge so fortfinden und so.

Jochen

Und dann kann man da auch

Jochen

irgendwie gleich ein Vorschau-Ding mit einbauen.

Jochen

Und dann, also ich glaube,

Jochen

Standard-Ding ist halt irgendwie

Jochen

Cut, was da verwendet wird oder so.

Jochen

Aber das sieht dann halt so ein bisschen langweilig aus.

Jochen

Aber es gibt halt auch irgendwie

Jochen

ein neues Cut.

Jochen

Das nennt sich

Jochen

Butt. Und das

Jochen

ist halt auch so eins von diesen neuen Tools und das ist halt

Jochen

Syntax-Highlighting für alle möglichen

Jochen

unterschiedlichen

Jochen

Arten von Dateien, also JSON oder weiß ich nicht,

Jochen

eben Python, alle möglichen

Jochen

Programmiersprachen. Und das koloriert dann halt

Jochen

die Preview auch, sodass du halt

Jochen

kannst du Sachen suchen und wenn du dann mit dem Cursor runterläufst,

Jochen

dann kriegst du halt die Preview angezeigt und das zeigt

Jochen

es dann halt direkt mit Syntax-Highlighting und so.

Jochen

Sieht voll toll aus.

Jochen

Also das heißt quasi FZF kombiniert mit FD und BAT

Jochen

ist halt echt ziemlich cool.

Jochen

Und genau, Grab auch.

Jochen

Gibt es auch ein Ding, das nennt sich RibGrab.

Jochen

Irgendwie ein gutes Stück schneller und ein 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 anfangen.

Dominik

Obwohl du jetzt sagst, du hast das ausgemacht.

Dominik

Ja, nee, ich habe tatsächlich auch.

Jochen

Ja, also Prompt ist immer so eine zweischneidige.

Jochen

manchmal auf meinen, das habe ich auch nicht tatsächlich

Jochen

auf allen Rechnern gleich, weil

Jochen

wenn das zu fett wird, dann nervt mich das und

Jochen

gerade, wenn man jetzt auf GitLab

Jochen

zum Beispiel irgendwie ein Merch Request

Jochen

aufmacht und

Jochen

dann

Jochen

also den automatisch

Jochen

generierten benutzt,

Jochen

um dann irgendwas zu tun, dann wird halt das prompt

Jochen

unter Umständen sehr, sehr lang, weil diese generierten Dinger sind halt

Dominik

immer so lang. Ja, also man kann tatsächlich, also die

Dominik

Verzeichnisnamen zu Strukturen zum Beispiel schon mal sehr viel

Dominik

abkürzen, dass er relativ nur Anfangsbuchstaben

Dominik

zeigt und so, dass man relativ den Tree ein bisschen

Dominik

kürzer fasst. Was ich sehr gerne mag im Prompt

Dominik

ist, wenn ich ein Git-Report habe, das ja

Dominik

einen Status hat, wie viele Changes ich noch

Dominik

machen muss oder sowas.

Dominik

Wo ich halt stehe, wie viele Commits es gibt

Dominik

und wie viel ich weg oder

Dominik

pullen muss oder so, damit das gleicht und

Dominik

ob ich die schon committet habe und so, das finde ich sehr, sehr

Dominik

angenehm.

Dominik

Also will ich auch gar nicht mehr ohne.

Dominik

Also kann ich mir auch gar nicht mehr vorstellen.

Dominik

Ups.

Dominik

Ja, was man

Jochen

dazu auch noch erwähnen sollte, ist, dass es

Jochen

halt für Shells auch normalerweise, also zumindest

Jochen

für ZSH und

Jochen

Phish gibt es halt noch

Jochen

Paketmanager.

Jochen

Also O-My-ZSH

Jochen

oder O-My-Phish.

Jochen

Und da kommen dann halt auch solche

Jochen

Dinge mit so Themes und so,

Jochen

die man installieren kann, wo dann halt Leute

Jochen

sich Gedanken gemacht haben, wie man...

Dominik

Mein Fisch ist auch Dracula.

Dominik

Und das ist halt sehr schön, wenn der Editor Dracula

Dominik

ist und die Shell ist Dracula und so, das ist alles

Dominik

immer Spaß.

Dominik

Dann, ja.

Dominik

Was ich mal sehr gerne mag,

Dominik

ich mache bestimmte Verzeichnisse,

Dominik

lange Verzeichnisnamen, ersetze ich

Dominik

ein Icon oder sowas, wenn ich halt

Dominik

eine Wolke für die Cloud oder

Dominik

das ist auch ganz nett.

Dominik

Home kennt man ja mit der Tilde, aber

Dominik

ja, sowas halt in Kombination ein bisschen

Dominik

kann man überlegen, was eine Uhrzeit will, Benutzernamen,

Dominik

Rechnername, irgendwie.

Jochen

Ja, ich sehe das bei dir, zum Beispiel dieses Prompt,

Jochen

der wäre mir schon zu lang und

Jochen

ich mache das ja meistens so, ich habe

Jochen

auf jedem Monitor mindestens mal so zwei

Jochen

Shells irgendwie.

Jochen

Ja, das mag ich nicht.

Jochen

Okay, genau. Aber dann ist es halt nicht so

Jochen

ein Problem mit dem

Jochen

langen Prompt. Aber wenn du jetzt

Jochen

dir vorstellst, das wäre nur die Hälfte am Platz,

Jochen

dann kriegt man da dann schon

Jochen

irgendwann ein Problem. Andere Leute machen das so, dass sie

Jochen

das halt dann umbrechen und

Jochen

dann das Prompt über dem Cursor haben.

Jochen

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

Jochen

Ja, ich habe mir zum Beispiel auch immer vorgestellt, was das

Dominik

jetzt gerade für eine Shell ist. Ob das ein Fisch ist, ein Power Shell

Dominik

oder WSL oder so.

Dominik

Ja.

Dominik

Aber ja.

Dominik

Ja, das gehört auf jeden Fall aber auch dazu,

Dominik

zu der Entwicklungsumgebung? Ja, auf jeden Fall.

Dominik

Ja, also generell so die ganzen

Dominik

Alias, so, was macht ihr gerade?

Dominik

Ich habe so einen lustigen Artikel gefunden

Dominik

von einem Freund von mir, der zeigte, dass

Dominik

Leute sich Shell-Skripte geschrieben haben für alles mögliche.

Dominik

Also, wenn er zum Beispiel abends um halb

Dominik

neun auf dem Rechner schlagt, dann hat er automatisch an seine Freundin

Dominik

eine Nachricht geschickt aus einem Random-Stream,

Dominik

warum er heute später kommt oder

Dominik

sowas oder andersrum. Wenn er morgens noch nicht um

Dominik

Viertel vor neun dran saß, dann hat er

Dominik

automatisch eine E-Mail an seinen Arbeitgeber

Dominik

oder an den Kunden verschickt, Hangover

Dominik

und so. Da kann man lustige Sachen

Dominik

mitbauen, irgendwelche Cron-Jobs einrichten und so.

Dominik

Naja.

Dominik

Ja, genau. Ansonsten,

Jochen

das einzige Command-Line-Tool, was halt

Jochen

auch noch ziemlich wichtig ist,

Jochen

ich weiß nicht, aber das können wir ja eigentlich auch nicht so

Jochen

richtig in Detail,

Jochen

ist TMAX halt so.

Jochen

Ich weiß nicht, ob du das verwendest

Jochen

so im Alltag

Jochen

oft, aber...

Dominik

Du meinst jetzt, dass Android...

Jochen

Nee, nee, nee, dass man

Jochen

sozusagen einmal noch den Shell-Multiplexer

Jochen

hat und dann

Jochen

dass man halt sozusagen, damit kannst du ja auch

Jochen

zum Beispiel auf allen

Jochen

und auf unterschiedlichen Maschinen halt

Jochen

gleichen Shells hinkriegen, wenn du das

Jochen

richtig findest oder

Jochen

dass du halt sozusagen dich auf einem Rechner

Jochen

einloggst und dann halt alle Shells wieder so hast,

Jochen

wie du sie vorher hattest oder so.

Jochen

Aber naja, gut, also das ist nochmal eigentlich...

Dominik

Ach, jetzt weiß ich, was du meintest, also der speicherte Session quasi

Dominik

von dem einzelnen, ja. Ja, ja, genau.

Dominik

Ja, okay.

Dominik

Ja, also benutzt du irgendwas für dein

Dominik

Thermos, den ich gerade verwechselt habe.

Dominik

Ich benutze zum Beispiel Thermos noch für Android,

Dominik

das ist vielleicht gar nicht so schlecht.

Dominik

Das kann man auch ein bisschen umkonfigurieren.

Dominik

Dann kann man nämlich dann tatsächlich, wenn man remote unterwegs ist,

Dominik

mal kurz irgendwo dran.

Dominik

Was benutzt du da? Bist ja der Apple-Familie,

Dominik

hab ich gehört.

Jochen

Du meinst als Shell? Ja, ja.

Jochen

Oder SSH? Ja, zum Beispiel.

Jochen

Wie auch immer.

Jochen

Und Terminal?

Jochen

Also auf dem iOS

Jochen

benutze ich da fast, hab ich früher mal,

Jochen

gab es ISSH oder so, verwendet,

Jochen

aber das mache ich eigentlich praktisch nicht

Jochen

mehr. Warum eigentlich

Jochen

nicht? Ja, aber das ist einfach

Jochen

naja.

Jochen

Was es gibt, was für

Jochen

mobile Geschichten ganz praktisch ist, was man vielleicht noch

Jochen

ist, also gerade für Zugfahrten,

Jochen

also Zugfahren in Deutschland ist ja

Jochen

irgendwie immer so,

Jochen

tja, so mit Internet ist halt da nicht so richtig

Jochen

und

Jochen

ab und zu hat man ja

Jochen

schon mal Netz, ne, wenn man

Jochen

dann so irgendwie, keine Ahnung,

Jochen

an der Autobahn vorbeikommt oder

Jochen

irgendwie in der Stadt oder so, dann ist ja manchmal

Jochen

schon so für einen kurzen Moment wieder Netz da.

Jochen

Und wenn man jetzt

Jochen

irgendwie SSH verwendet,

Jochen

also eben TMAX hilft einem dann natürlich auch

Jochen

oder irgendwas in der Richtung, TMAX oder Screen oder so,

Jochen

wenn dann die Session wegfliegt, kann man sie halt wieder

Jochen

damit herholen. Aber

Jochen

was eigentlich noch viel cooler ist, ist halt

Jochen

dass es

Jochen

es gibt halt so,

Jochen

das nennt sich MOSH.

Jochen

Ich gucke mal gerade,

Jochen

das, ob ich jetzt nicht Unsinn erzähle, aber das müsste

Jochen

eigentlich, das ist halt

Jochen

sozusagen eine mobile

Jochen

Shell und die geht halt nicht über

Jochen

TCP, weil TCP funktioniert halt gar nicht gut,

Jochen

wenn da irgendwie Package-Loss ist

Jochen

und jetzt immer mit der Bahn durch die Gegend fährt

Jochen

oder so, dann hat man halt die ganze Zeit irgendwie

Jochen

komisch Package-Loss, Verbindung ist weg.

Jochen

Salzame Dinge passieren,

Jochen

ja, Signalstörungen,

Jochen

Züge bleiben liegen,

Jochen

keine Ahnung,

Jochen

Schildkröten regnen, was ich nicht

Jochen

und eine Katze, solche Sachen

Jochen

passieren dauernd.

Jochen

Das heißt,

Jochen

eine TCP-basierte

Jochen

SSH-Session ist halt einfach nicht das, was man

Jochen

haben will, sondern was man haben möchte, ist was

Jochen

UDP-basiertes, MOSH, und das funktioniert

Jochen

super.

Jochen

Da geht deutlich mehr durch, das funktioniert

Jochen

halt unter noch deutlich schlechteren Bedingungen als

Jochen

SSH.

Jochen

Das Ding bleibt halt die ganze

Jochen

Zeit quasi...

Jochen

Also, wenn man mal kurz kein Netz hat,

Jochen

dann geht halt nichts. Aber sobald man Netz hat,

Jochen

geht da eigentlich sofort wieder was durch.

Jochen

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

Jochen

Ja, das ist schön.

Jochen

Klingt nützlich, ja.

Jochen

Ja, ja.

Jochen

Ich überlege, haben wir was vergessen?

Jochen

Also eure Entwicklungsumgebung sollte

Jochen

jetzt relativ komplett sein, oder?

Jochen

So langsam. Ich überlege auch gerade.

Jochen

Ich glaube, müsste eigentlich so ziemlich alles

Jochen

läuft mit drin sein.

Jochen

Ja.

Jochen

Wir haben bestimmt irgendwas vergessen.

Jochen

Schreibt uns das an unsere E-Mail.

Jochen

hallo-at-python-podcast.de

Jochen

Genau, ja.

Jochen

Ansonsten,

Jochen

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

Jochen

Haben wir noch irgendwie sowas wie Pics oder so?

Dominik

Ja, ich wollte wieder so ein

Dominik

Anfänger-Pic machen und da habe ich

Dominik

Pprint gefunden.

Dominik

Dataprint-Pretty für JSON. Also ich habe irgendwie

Dominik

Sachen aus dem Server gepasst und

Dominik

da kam immer sicherer Unfug raus und ich musste

Dominik

mich totsuchen, wo da halt immer Feinden

Dominik

Prettyprint. Macht man dann einfach,

Dominik

importiert man das Pprint und macht dann

Dominik

ein extra P für das Print und

Dominik

dann hat man lesbare JSON-Daten

Dominik

beispielsweise, die man von der API zurückbekommt.

Dominik

Hm, sehr schön.

Dominik

Ja, Auto-Format,

Dominik

ein bisschen Auto-Intendation und sowas.

Dominik

Ja,

Jochen

ich habe

Jochen

ein ganz interessantes, also es ist halt auch

Jochen

eher so, dass es dann,

Jochen

ein bisschen mit Vorsicht

Jochen

anfassen vielleicht,

Jochen

ist so ein,

Jochen

das habe ich

Jochen

im Zusammenhang mit Poetry-Run-Skripten

Jochen

irgendwie entdeckt,

Jochen

als ich auf der Suche war, nach, okay, ich möchte jetzt die Ausgabe

Jochen

von manchen Funktionen, die ich da

Jochen

irgendwie ausführe, so ein bisschen

Jochen

bunter aussehen lassen.

Jochen

Gibt's da ja diverse Tools, die

Jochen

das mit den ANSI-Colors

Jochen

in der Stelle irgendwie so einfacher machen.

Jochen

Und dann hatte ich dieses Problem,

Jochen

dafür hab ich dann Zeugs importiert

Jochen

und

Jochen

dann hab ich da auch noch irgendwie

Jochen

Command-Line-Optionen

Jochen

und so mit reingeben wollen und dann hab ich mit

Jochen

Klick angefangen und dann bin ich aber

Jochen

irgendwie drauf gestolpert, dass so ein Ding gibt, dass das

Jochen

irgendwie integriert und das nennt sich Typer.

Jochen

Das ist ein relativ neues Ding, ist noch irgendwie alles

Jochen

sehr frisch. Ist irgendwie von den gleichen

Jochen

Berliner NLP-Leuten, die halt auch so

Jochen

Spacey und so machen, glaube ich. Oder in dem Umfeld

Jochen

kommt das irgendwo her.

Jochen

Und das Ding

Jochen

generiert sozusagen

Jochen

deine, einen

Jochen

Command-Line-Interface aus den

Jochen

aus Type-Annotations.

Jochen

Also gibt es sozusagen

Jochen

den Funktionen,

Jochen

die halt die Entry-Points sind,

Jochen

gibst du halt

Jochen

Type Annotations mit und

Jochen

du kriegst halt, wenn du die

Jochen

aufrufst von außen mit

Jochen

Minus H oder so, kriegst du eine Erklärung, was du dann noch

Jochen

so an Argumenten mitgeben kannst.

Jochen

Und das ist natürlich praktisch, weil da muss man halt Dinge

Jochen

nicht doppelt und dreifach einschreiben.

Dominik

Wenn man sich das schon angewöhnt hat, Type Annotations mit in seinen Code einzubauen

Dominik

und Docs Wings, dann hat man tatsächlich eine vernünftige

Dominik

Help-Funktion.

Jochen

Und man schreibt dann halt nicht Prim, sondern man schreibt dann halt

Jochen

Type-Halfpunkt Echo oder sowas und dann

Jochen

dem kann man halt auch sagen,

Jochen

das mache ich hier, das sind mal rot und das farbig

Jochen

und das geht auch alles.

Jochen

Sodass man halt diese Probleme auch erledigt hat.

Jochen

Das heißt, man muss halt nur noch eine Abhängigkeit

Jochen

und hat damit einen Großteil

Jochen

dieser ganzen Geschichten erschlagen.

Jochen

Und das ist natürlich schon auch sehr nett.

Jochen

Deswegen picke ich das mal, kann man sich ja mal angucken.

Jochen

Cool. Ja, ich hoffe, ihr habt eure

Dominik

Entwicklungsumgebung fertig und seid zufrieden

Dominik

mit dem, was ihr da macht.

Dominik

Schreibt uns, wenn ihr noch mehr wissen wollt oder wenn ihr

Dominik

irgendwelche anderen Meinungen habt oder findet, dass wir total

Dominik

Unsinn erzählt haben. Das machen wir jetzt auch mal immer wieder.

Dominik

Ja, seht uns demnächst bald auf irgendwelchen

Dominik

Events hier, vor allen Dingen in der Reinhard-Ecke.

Dominik

vielleicht auf der Europe Heist in Dublin.

Dominik

Ja, vielen Dank, dass ihr jetzt wieder

Dominik

zugehört habt. Wir sind ganz stolz auf unsere Abonnenten.

Dominik

Ich glaube, wir haben beinahe tausend

Dominik

Abonnenten jetzt über die ganze Zeit.

Jochen

War alles zählt. Ja, vielleicht, könnte sein.

Dominik

Das ist doch der Wahnsinn. Vielen Dank fürs Zuhören.

Dominik

Ja, bleibt uns gewogen,

Dominik

egal zu welcher Tagesnachtszeit

Dominik

ihr uns hört. Und bis zur

Dominik

nächsten Folge. Alles klar. Tschüss.