WEBVTT

00:00:00.017 --> 00:00:03.497
E18E, das ist so ein schönes Kürzel, wie auch Internationalization.

00:00:03.737 --> 00:00:05.777
Es steht für Ecosystem Performance.

00:00:06.597 --> 00:00:11.897
Wir räumen einfach Projekte auf. Wir gehen durch die Abhängigkeiten durch,

00:00:12.097 --> 00:00:14.917
gucken, gibt es da neuere, bessere, schnellere Versionen.

00:00:16.077 --> 00:00:19.917
So rein zeittechnisch ändert es sich halt auch schon drastisch.

00:00:20.017 --> 00:00:23.517
Wenn man sagt, wie 9 Sekunden anstatt 29 Sekunden für die, ich glaube,

00:00:23.557 --> 00:00:26.157
PipeSpring DS-Encode-Basis oder sowas war das. und man sagt,

00:00:26.257 --> 00:00:27.857
okay, das ist halt schon ganz solide.

00:00:28.077 --> 00:00:31.017
Das macht halt schon einen großen Unterschied allein für die Produktivität der Entwickler.

00:00:34.037 --> 00:00:39.637
Diese Revision von Working Draft wird euch präsentiert von EuroPDF. HTML zu PDF as a Service.

00:00:40.057 --> 00:00:43.597
Liebe Hörerinnen und Hörer, ihr kennt das bestimmt. Den ganzen Tag schraubt

00:00:43.597 --> 00:00:47.757
ihr mit dem mächtigsten Layout-Tool der Welt, der Killer-Kombo aus HTML und CSS,

00:00:48.017 --> 00:00:51.857
die krassesten Designs zusammen und am Ende des Tages will die Welt da draußen

00:00:51.857 --> 00:00:55.157
von euch ein statisches PDF haben.

00:00:55.417 --> 00:00:58.257
Ah, diese Zumutung, die Beschränktheit des Toolings, ah!

00:00:58.637 --> 00:01:02.377
Aber ich habe gute Nachrichten für euch. EuroPDF ist hier, um euch zu retten.

00:01:02.957 --> 00:01:06.817
EuroPDF macht HTML zu PDF-as-a-Service und macht genau das möglich,

00:01:07.157 --> 00:01:10.037
woran Print2PDF im Browser immer so jämmerlich scheitert.

00:01:10.457 --> 00:01:13.817
Fußzeilen, Seitennummern, saubere Tabellenumbrüche, Barrierefreiheit,

00:01:14.057 --> 00:01:17.937
grenzenlose Skalierung und Support der gesamten HTML- und CSS-Klaviatur.

00:01:18.237 --> 00:01:20.537
All das macht EuroPDF mit Links.

00:01:20.937 --> 00:01:24.937
Möglich macht's der Einsatz von Prints XML im Backend. Und Euro-PDF ist der

00:01:24.937 --> 00:01:29.757
einzige europäische Anbieter eines genau solchen Dienstes mit genau dieser Basistechnologie.

00:01:29.957 --> 00:01:32.777
Wenn ihr also nicht nur im Web-Dev-Style PDFs generieren wollt,

00:01:32.997 --> 00:01:36.617
sondern auch auf so Sachen wie zum Beispiel Datenschutzwert legt,

00:01:36.817 --> 00:01:40.537
dann gibt es nur eine Lösung und die heißt Euro-PDF, also nichts wie dahin.

00:01:40.837 --> 00:01:44.097
Und zwar am besten über unseren Link, der da heißt euro-pdf,

00:01:44.117 --> 00:01:47.597
in einem Wort, dot eu slash working draft.

00:01:47.817 --> 00:01:53.997
Das war nochmal, euro-pdf dot eu slash working draft. Wir danken Euro-PDF für

00:01:53.997 --> 00:01:56.417
die Unterstützung von dieser Revision von Working Draft.

00:02:01.457 --> 00:02:07.037
Revision 684 Hallo und herzlich willkommen zurück beim Working Draft.

00:02:07.237 --> 00:02:10.937
Wir sind heute zu dritt. Aus dem Team bin ich aber alleine dabei,

00:02:11.097 --> 00:02:13.537
denn ich habe heute zwei Gäste bei mir.

00:02:13.877 --> 00:02:18.097
Da hätte ich zum einen den Ulrich Matthias Schäfer. Hallo.

00:02:18.797 --> 00:02:22.437
Hallo. Und zum anderen den Alexander Lichter.

00:02:22.657 --> 00:02:27.277
Ich würde gerne den Ulima zuerst fragen, dich einmal vorzustellen,

00:02:27.357 --> 00:02:28.757
wer du bist und was du so machst.

00:02:29.517 --> 00:02:33.777
Ja, mein ganzer Name ist Ulrich Matthias, aber alle nennen mich eigentlich Ulima.

00:02:34.057 --> 00:02:40.077
Ich bin Freelancer im Web-Bereich, mache da Fullstack, meistens ganz viel mit

00:02:40.077 --> 00:02:43.457
Vue und auch in der Open-Source-Szene immer mal aktiv.

00:02:44.037 --> 00:02:45.697
Ja, so viel zu mehr.

00:02:46.589 --> 00:02:50.509
Und wir haben unseren Wiederholungsgast dabei, den Alex.

00:02:52.089 --> 00:02:57.729
Aktuell aus dem Jahr 2024 hat er der Alex die zweitbeliebteste Revision.

00:02:58.229 --> 00:03:02.149
Also wir können jetzt auch alle nochmal schnell die raussuchen und nochmal downloaden

00:03:02.149 --> 00:03:05.689
und anhören, damit sie wieder auf Nummer 1 kommt, die SEO-Episode.

00:03:06.609 --> 00:03:11.949
Aber Alex, viele werden dich schon kennen, aber sag doch gerne auch du nochmal,

00:03:12.089 --> 00:03:13.229
wer du bist und was du machst.

00:03:13.669 --> 00:03:19.309
Ja, absolut. Bevor es losgeht, Revision 610, genau, SEO-Ausrufezeichen, wer möchte.

00:03:19.709 --> 00:03:21.829
Ich weiß noch, das letzte Mal ist ich hier, aber das kann nicht so lange her.

00:03:21.949 --> 00:03:24.689
Es war so, ja, die populärste Episode und jetzt haben wir vorher kurz nochmal

00:03:24.689 --> 00:03:26.949
vorgeguckt, weil der Funfact nochmal aufkam und ich seh, nee,

00:03:27.329 --> 00:03:29.409
warte mal, das ist so die zweitpopulärste.

00:03:29.569 --> 00:03:33.129
Also, wenn noch nichts über SEO gehört hat oder ein bisschen was lernen will, klickt gern rein.

00:03:33.749 --> 00:03:36.809
Genau, aber ansonsten zu mir, ja, Alexander Lichter ist der volle Name.

00:03:37.069 --> 00:03:41.109
Ich bin devril bei Void Zero im NUX Core Team, auch so ein bisschen open-source-ig

00:03:41.109 --> 00:03:46.669
unterwegs und ja, sonst irgendwie noch YouTube-Kanal, wo es rund um Nux and View geht.

00:03:47.409 --> 00:03:51.189
Kann zu allem möglichen quatschen gefühlt und freue mich, mal wieder mit dabei zu sein.

00:03:52.990 --> 00:03:57.690
Es freut mich sehr, dass ihr beide hier seid. Heute geht es nicht um You und

00:03:57.690 --> 00:04:03.190
nicht um Naxx, sondern heute geht es um E18E.

00:04:03.610 --> 00:04:08.570
So, was ist das denn und warum sollte ich mich damit beschäftigen, Ulima?

00:04:09.830 --> 00:04:13.190
E18E, das ist so ein schönes Kürzel, wie auch Internationalization.

00:04:13.410 --> 00:04:15.510
Es steht für Ecosystem Performance.

00:04:15.850 --> 00:04:20.970
Die Idee dahinter ist, dass unser Modules-Folder ja nun immer größer,

00:04:21.050 --> 00:04:26.470
dicker und langsamer wird und dass wir mal anfangen, das ganze JavaScript-Ökosystem

00:04:26.470 --> 00:04:27.830
ein bisschen aufzuräumen.

00:04:28.510 --> 00:04:31.910
Und ja, was wir da letztendlich machen, das ist eine Community.

00:04:32.290 --> 00:04:36.470
Wir sind viele Menschen und wir räumen einfach Projekte auf.

00:04:36.630 --> 00:04:40.390
Wir gehen durch die Abhängigkeiten durch, gucken, gibt es da neuere,

00:04:40.470 --> 00:04:44.950
bessere, schnellere Versionen und versuchen vor allen Dingen in den bekannten

00:04:44.950 --> 00:04:47.530
Open Source Bibliotheken dann einfach alles aufzuräumen.

00:04:48.310 --> 00:04:52.410
Und ja, davon profitieren dann alle, weil dann alle dann später einfach weniger

00:04:52.410 --> 00:04:58.070
Code runterladen beim Browsen oder auch beim Bundeln oder beim Bilden und alles sowas.

00:04:58.510 --> 00:05:00.690
Also eigentlich eine gute Sache.

00:05:01.410 --> 00:05:05.990
Was meinst du denn, mit ihr seid eine Community? Woher kam das denn,

00:05:06.270 --> 00:05:09.050
diese Innovation und diese Motivation?

00:05:09.710 --> 00:05:15.290
Ja, der James, der hat das, der James Garbutt, der hat das damals ziemlich alleine

00:05:15.290 --> 00:05:20.610
letztendlich vor sich her so gemacht, hat immer mal irgendwo was aufgeräumt.

00:05:21.430 --> 00:05:24.650
Und irgendwann hat er halt ein paar Leute um sich gescharrt,

00:05:24.890 --> 00:05:28.430
einen Discord aufgemacht, wo wir jetzt alle miteinander reden können.

00:05:28.610 --> 00:05:31.650
Ich weiß gar nicht, wie genau er von dem Ich-Bin-Ganz-Alleine,

00:05:31.770 --> 00:05:34.190
zu dem Ich-Habe-Jetzt-Ganz-viele-Menschen-um-ich-rum-gekommen ist.

00:05:34.570 --> 00:05:39.030
Ich bin über Blue Sky darauf gestoßen und bin auf den Link gefolgt.

00:05:39.250 --> 00:05:42.450
Und dann war ich auch ganz schnell tief drin, weil alle Menschen sind da sehr

00:05:42.450 --> 00:05:46.510
welcoming und gehen auch heute direkt eine Aufgabe, wenn man danach fragt.

00:05:48.480 --> 00:05:52.460
Ich finde das ganze Konzept von ETA in sich super spannend, weil man braucht

00:05:52.460 --> 00:05:56.200
eigentlich keine Erlaubnis mitzumachen oder zu sagen, ja hier,

00:05:56.360 --> 00:05:59.720
jetzt muss ich erstmal einen Mitgliederprozess irgendwie durchlaufen,

00:05:59.820 --> 00:06:03.940
sondern du kommst in den Discord und effektiv, es gibt sowohl für Beginner,

00:06:04.020 --> 00:06:06.980
die vielleicht noch gar nicht so viel Ahnung haben von Performance in dem Sinne,

00:06:07.560 --> 00:06:10.980
gibt es Issues, wo man loslegen kann, gibt es Möglichkeiten sich zu beteiligen

00:06:10.980 --> 00:06:14.340
und eigentlich hat niemand irgendwie so eine Ausrede zu sagen,

00:06:14.400 --> 00:06:16.440
ja hier gibt es eigentlich nichts zu machen oder ich weiß nicht,

00:06:16.480 --> 00:06:19.040
wo ich loslegen soll, weil es gibt eigentlich immer Leute, die einem weiterhelfen

00:06:19.040 --> 00:06:19.920
oder sagen, ja, hier, guck mal.

00:06:20.720 --> 00:06:24.100
Und man lernt halt auch unglaublich viel, wenn man gerade im Bereich noch nicht

00:06:24.100 --> 00:06:28.380
so viel zu tun hat. In der Performance, auch die jeglichen Arten von Performance, die es so gibt.

00:06:28.920 --> 00:06:33.280
Oh ja, da gibt es sehr oft angeregte Diskussionen, wie man jetzt dieses eine

00:06:33.280 --> 00:06:34.460
Snippen noch ein wenig schneller machen kann.

00:06:34.540 --> 00:06:38.360
Aber auch nur in der V8-Engine. Und Firefox ist da wieder anders. Und es ist ganz schlimm.

00:06:39.660 --> 00:06:42.920
Das Erste, was ich tatsächlich dort gemacht habe, war Labeln von Issues.

00:06:43.360 --> 00:06:46.440
Damit dann halt Leute, die da halt zukommen. Weil ich kam hin und dachte mir,

00:06:46.440 --> 00:06:49.380
hm, ich weiß es nicht genau, wo ich anfangen kann, das können wir doch verbessern.

00:06:49.480 --> 00:06:51.060
Und dann habe ich erst mal angefangen, issues zu labeln.

00:06:51.860 --> 00:06:53.880
Aber auf jeden Fall kannst du da hingehen.

00:06:54.760 --> 00:06:58.260
Wir haben da so einen kleinen Guide, wo man auch in der Readme jetzt sehen kann,

00:06:58.740 --> 00:07:02.280
wonach man ausschalten soll bei den Labels, damit man den Leuten vielleicht

00:07:02.280 --> 00:07:04.500
nicht auf die Füße tritt, weil vielleicht wollen die ja gar nicht,

00:07:04.580 --> 00:07:06.400
dass man ihre Dependencies updatet und so weiter.

00:07:07.020 --> 00:07:10.520
Muss man manchmal ein bisschen vorsichtig sein, aber bis jetzt haben wir überwiegend

00:07:10.520 --> 00:07:11.600
positives Feedback bekommen.

00:07:12.552 --> 00:07:17.432
Also selten so ein, es soll alles so bleiben, wie es ist, weil es hat man immer schon so gemacht.

00:07:18.152 --> 00:07:20.592
Ja, da gibt es immer ein paar Leute, ich will jetzt keinen Namen nennen,

00:07:20.692 --> 00:07:23.852
aber es gibt so einige Größen im Open-Source-Ökosystem.

00:07:24.512 --> 00:07:29.232
Die haben einen unglaublichen Anteil und auch Großes geleistet,

00:07:29.452 --> 00:07:34.712
aber ihre Bibliotheken sind halt wirklich teilweise, die bauen halt ihr eigenes

00:07:34.712 --> 00:07:36.652
Ökosystem auf, die benutzen nur ihre eigenen Dependencies.

00:07:36.652 --> 00:07:40.252
Und obwohl es das jetzt schon längst unterstützt wird von allen Browsern und

00:07:40.252 --> 00:07:44.832
allen Node-Versionen, wird es trotzdem noch findet sich es dadurch dafür und,

00:07:45.512 --> 00:07:52.072
dadurch wird halt der ganze Modulgraf riesig und die verteidigen das ein wenig zu sehr.

00:07:53.072 --> 00:07:56.292
Also gerade eben, als du sagtest, so eigenes Ökosystem, Libraries untereinander

00:07:56.292 --> 00:07:57.972
genutzt, redest du gerade über Un.js?

00:07:58.172 --> 00:08:00.312
Natürlich weiß ich nicht, was der Fall ist und als du gerade gesagt hast,

00:08:00.472 --> 00:08:06.132
so ja, ja, noch ein Support von Ewigkeiten für Node 0.6.12 Punkt 12 oder so,

00:08:06.212 --> 00:08:07.692
man sagt, hier gibt es noch einen Edge-Case.

00:08:08.252 --> 00:08:13.252
Ja, das ist eine schwierige Geschichte, auch so dieses Thema mit, jetzt hat man ein Paket.

00:08:14.312 --> 00:08:18.552
Wann sagt man dann, okay, ich möchte nur noch zum Beispiel die neuesten Node-Versionen

00:08:18.552 --> 00:08:21.752
supporten oder ein leidiges Thema, was man ja immer wieder hat,

00:08:21.912 --> 00:08:26.992
ist, und auch heute erst wieder neue News, ESM und CGS, die, ich sag mal, zwei,

00:08:27.692 --> 00:08:31.152
vorherrschenden Formate im JavaScript-Ökosystem, was so, wie man es schreibt,

00:08:31.452 --> 00:08:33.172
also das typische mit Import und Export,

00:08:33.972 --> 00:08:38.232
ESM, ECMAScript-Modules, oder CommonJS viel damals noch für Node nutzt.

00:08:38.312 --> 00:08:44.632
Mittlerweile gibt es ja auch Support von ESM über alle Node in den noch aktiven Versionen.

00:08:45.152 --> 00:08:49.812
Also, ja, wie kriegt man das denn am besten hin, dann zu sagen, zum einen...

00:08:51.309 --> 00:08:54.989
Wo fängt man an, wo hört man auf, so nach dem Motto, was sind so die Boundaries

00:08:54.989 --> 00:08:59.129
und was gibt es vielleicht noch für Issues, die den Leuten vielleicht gar nicht so bewusst ist.

00:08:59.229 --> 00:09:03.629
Ich glaube so ESM, CGS hört man ab und an mal mit, ja, es gibt so viel Pakete,

00:09:03.889 --> 00:09:07.609
die noch in dem alten Format sind und dann ist es nicht Treeshaker-Blog schwieriger, etc.

00:09:08.089 --> 00:09:11.129
Aber vielleicht kannst du so einen kleinen Einblick geben oder anders,

00:09:11.229 --> 00:09:13.509
was bedeutet denn Performance? Was ist das so ein Thema?

00:09:15.169 --> 00:09:17.489
Jetzt habe ich jetzt so viele Sachen auf einmal angeschnitten.

00:09:18.509 --> 00:09:19.569
Fang an, wenn du möchtest.

00:09:21.889 --> 00:09:26.309
Also, wie man das abgrenzen kann. Ja, also wir versuchen natürlich immer erstmal

00:09:26.309 --> 00:09:34.449
so die Sachen zusammenzustutzen, dass erstmal die Longtime-Versions of Node noch supported sind.

00:09:34.589 --> 00:09:37.369
Das ist immer ein guter Grund, wo man anfangen kann. Natürlich gibt es Leute,

00:09:37.469 --> 00:09:43.249
die brauchen ältere Versionen, weil deren Code in der Company noch von vor zehn

00:09:43.249 --> 00:09:46.149
Jahren ist und die noch auf Note Zero Point irgendwas sind.

00:09:47.269 --> 00:09:50.889
Und da muss man ganz ehrlich sagen, solche Leute kann man aber nicht immer mitnehmen,

00:09:51.209 --> 00:09:56.789
weil das Ökosystem, das wandelt sich halt und es wird immer,

00:09:56.829 --> 00:10:00.509
immer schwieriger, das alles up to date zu halten, wenn man immer alles mitnehmen muss.

00:10:01.309 --> 00:10:04.389
Und da muss man einfach sagen, da müssen die halt ihr eigenes Päckchen schleppen

00:10:04.389 --> 00:10:07.389
und dann einfach selber ihre alten Bibliotheken weiter pflegen,

00:10:07.489 --> 00:10:08.429
sodass es für sie halt funktioniert.

00:10:09.389 --> 00:10:13.289
Deswegen ist es eine Sache immer, die Long-Term-Sofort-Videos-Version,

00:10:13.449 --> 00:10:17.009
wo wir drauf achten und ansonsten auch natürlich Baseline Available oder auch,

00:10:17.549 --> 00:10:20.069
was war die andere? Baseline Available war die bessere, ne?

00:10:20.749 --> 00:10:24.589
Ja, ich glaube, Widely Available und Available. Ich glaube, Widely Available ist die ältere.

00:10:25.209 --> 00:10:27.949
Ja, also da achten wir natürlich auch drauf, genau.

00:10:28.529 --> 00:10:30.849
Ja, aber jetzt habe ich schon wieder ganz vergessen, was die ganzen anderen

00:10:30.849 --> 00:10:32.289
Sachen waren, wie du angesprochen hattest.

00:10:32.629 --> 00:10:36.729
Ich würde mal einsteigen mit dem, von welcher Performance wir hier genau reden,

00:10:36.809 --> 00:10:39.309
weil es gibt ja hier so Sachen, dass man darauf achten kann,

00:10:39.409 --> 00:10:42.609
dass man nicht aus Versehen zwei Fonts, also die gleiche Font zweimal irgendwie

00:10:42.609 --> 00:10:46.289
lädt, aus Versehen, oder es gibt eine Performance im Sinne von,

00:10:47.209 --> 00:10:50.509
dass man halt Bilder in der richtigen Größe anbietet.

00:10:51.109 --> 00:10:53.309
Aber ich denke, hier geht es jetzt explizit um,

00:10:54.386 --> 00:10:59.746
Packages und Node-Modules. Ja, genau. Also es ist nicht so sehr andere Ressourcen.

00:10:59.926 --> 00:11:01.726
Es geht eher wirklich nur um JavaScript.

00:11:02.826 --> 00:11:07.326
Und da geht es zum einen halt um Development Speed.

00:11:07.566 --> 00:11:12.006
Also wenn ich halt NPMI ausführe in meinem neuen Projekt, wie lange dauert das,

00:11:12.106 --> 00:11:14.926
in der Reihe es installiert ist und wie viele Pakete muss ich mir wirklich runterladen

00:11:14.926 --> 00:11:17.146
und ist es nur ein 500 Megabyte oder 2 Gigabyte.

00:11:17.646 --> 00:11:20.506
Das macht schon einen Unterschied. Dann natürlich die ganzen Dev-Tools,

00:11:20.706 --> 00:11:23.966
die auch alle schnell sein müssen. Volt Zero hat jetzt eine ganz neue Kiste

00:11:23.966 --> 00:11:26.926
aufgemacht, weil wir unsere Best-Tools wie schnell genug sein können.

00:11:27.346 --> 00:11:30.286
Aber viele der Probleme könnte man auch natürlich in JavaScript lösen,

00:11:30.406 --> 00:11:31.606
wenn man sie dann mal angehen würde.

00:11:31.746 --> 00:11:35.426
Aber es ist natürlich sehr, sehr viel alter Code dabei, der auch nicht oft auf

00:11:35.426 --> 00:11:39.166
Performance einfach optimiert wurde, weil JavaScript-Entwickler einfach jetzt

00:11:39.166 --> 00:11:41.906
auch nicht die performanzsensitivsten Menschen sind.

00:11:43.126 --> 00:11:47.226
Und ich würde meinen, viel mehr Tools könnte man JavaScript auch nochmal viel, viel schneller machen.

00:11:47.326 --> 00:11:50.426
Volt Zero ist natürlich die optimale Lösung bei den ganzen Sachen,

00:11:50.646 --> 00:11:55.406
aber auch in JavaScript gibt es viel, viel, was man optimieren kann.

00:11:56.426 --> 00:12:00.546
Und dann natürlich auch für Leute, die das letztendlich im Browser runterladen

00:12:00.546 --> 00:12:03.886
müssen, für jede Webseite, die besucht werden soll, wo immer JavaScript runtergeladen

00:12:03.886 --> 00:12:07.326
wird, es ist immer gut für die Menschen, wenn man weniger runterladen muss und

00:12:07.326 --> 00:12:08.386
wenn das Ganze schneller läuft.

00:12:08.826 --> 00:12:12.326
Also es ist halt diese Art von Performance, von der wir reden,

00:12:12.646 --> 00:12:18.266
aber nicht so sehr die größere Website-Performance, wenn man Bilder noch dazu

00:12:18.266 --> 00:12:20.446
nimmt oder so, das sind auch ganz andere Probleme, die noch dazukommen.

00:12:21.866 --> 00:12:25.706
Und dann würde ich einmal konkret, also ich würde einmal fragen,

00:12:25.786 --> 00:12:27.186
wie das konkret abläuft.

00:12:27.246 --> 00:12:31.106
Also wir reden jetzt nicht davon, dass das das neue Webpack oder neue Video oder sowas ist.

00:12:31.906 --> 00:12:36.186
Kann ich da jetzt was runterladen und dann läuft irgendwas ab?

00:12:36.326 --> 00:12:39.506
Oder ist das ein Guide, wo drin steht, hey, schau doch mal, ob du das hast,

00:12:39.586 --> 00:12:41.126
weil dann kannst du alternativ das machen.

00:12:41.246 --> 00:12:46.246
Also wenn ich jetzt mich für E18E interessiere, wo fange ich denn an und was

00:12:46.246 --> 00:12:48.466
mache ich da? Was sind denn so die Getting Started Points?

00:12:49.266 --> 00:12:53.346
Ja, also der erste Getting Started Point ist, du machst gar nichts und updatest

00:12:53.346 --> 00:12:56.726
einfach nur deine Dependencies, weil mit etwas Glück haben wir nämlich schon

00:12:56.726 --> 00:13:01.366
aufgeräumt in deine Dependencies und es ist einfach weniger und schneller und schöner.

00:13:01.786 --> 00:13:04.826
Der nächste Schritt ist dann einfach selbst zu gucken, welche Dependencies nutze

00:13:04.826 --> 00:13:08.066
ich denn und die dann einfach zusammenzuschützen, wenn man sie,

00:13:08.326 --> 00:13:10.266
wenn man es in besseren Alternativen hat.

00:13:10.486 --> 00:13:13.126
Das ist tatsächlich aber oftmals die kleinere Angriffsfläche,

00:13:13.246 --> 00:13:15.646
weil der Noten Modules Folder, den man in seine Apps so reinbandelt,

00:13:15.686 --> 00:13:18.246
natürlich wesentlich größer ist. Aber auch dafür haben wir was.

00:13:18.466 --> 00:13:24.246
Wir haben da so ein Repository, wo es ein ganzes Manifest gibt von Package-Alternativen,

00:13:24.406 --> 00:13:25.146
die man installieren kann.

00:13:25.726 --> 00:13:28.406
Jetzt wird tatsächlich auch gerade eine Dokumentation zu den ganzen Sachen,

00:13:28.426 --> 00:13:29.986
die man nutzen kann, hinzugefügt.

00:13:31.035 --> 00:13:34.075
Sodass man sieht, was da genau passiert, was man da besser machen kann.

00:13:34.695 --> 00:13:37.795
Eine Variante, wo ich damals angefangen hatte, war zum Beispiel,

00:13:37.795 --> 00:13:41.535
wir haben Shork mit Pico-Colors ersetzt, weil Shork einfach ziemlich groß ist

00:13:41.535 --> 00:13:42.615
und Pico-Colors relativ klein.

00:13:43.655 --> 00:13:47.715
Später kann man das dann in neuen Node-Versions tatsächlich auch mit einem Native-Ding

00:13:47.715 --> 00:13:50.955
ersetzen. Style-Text heißt es, glaube ich, aber das ist noch nicht ganz so viel supported.

00:13:52.575 --> 00:13:57.115
Ja, und dann haben wir auch noch jetzt ein Tool gebaut, was genau sowas machen soll.

00:13:57.535 --> 00:14:00.715
Es gibt ja schon ganz viele Code-Mods, die entwickelt wurden,

00:14:00.795 --> 00:14:04.175
um halt in deiner Code-Base einfach alleine durchzugehen und einfach die ganzen

00:14:04.175 --> 00:14:07.435
Imports zu ersetzen und die ganze Arbeit abzunehmen. und auch die ganze,

00:14:07.735 --> 00:14:10.235
immer wo es genutzt wird, dann auch letztendlich das zu ersetzen.

00:14:11.075 --> 00:14:14.415
Und diese Code-Mods könntest du natürlich selbst ausführen, aber sind einfach

00:14:14.415 --> 00:14:17.815
nur TypeScript-Dateien, du musst halt wissen, wie das zu machen ist und deswegen

00:14:17.815 --> 00:14:21.095
haben wir jetzt die E18E CLI entwickelt.

00:14:21.695 --> 00:14:23.555
James ist da federführend, auch dort.

00:14:24.635 --> 00:14:27.435
Der macht so viel, weil er es gar nicht in uns Herz hingucken soll.

00:14:28.735 --> 00:14:31.855
Und da wollten wir jetzt ein paar Tools zusammenführen.

00:14:31.995 --> 00:14:34.915
Zum einen ist das halt diese Code-Mods, dass man tatsächlich auch einfach sagen

00:14:34.915 --> 00:14:37.435
kann, hey, ich würde jetzt gerne dieses Paket mit ihm ersetzen und das kannst

00:14:37.435 --> 00:14:40.175
du auch durch die CLI durchxicken und dann macht die das für einen.

00:14:40.915 --> 00:14:43.595
Es sind aber noch andere Tools integriert, zum Beispiel.

00:14:45.675 --> 00:14:49.935
Dieses Publish Lint oder wie das heißt? Publint, genau.

00:14:50.655 --> 00:14:54.615
Dass man halt sieht, dass alle Exports korrekt sind, dass deine Type-Exports

00:14:54.615 --> 00:14:58.215
korrekt sind und sowas alles, damit dein Paket dann auch korrekt konsumiert

00:14:58.215 --> 00:15:01.255
werden kann und nicht dort dann aus Versehen die falsche Version reingepult

00:15:01.255 --> 00:15:02.315
wird und alles wieder kaputt macht.

00:15:03.055 --> 00:15:07.215
Und auch andere Tools sind auch noch drinnen. Ich weiß gerade gar nicht so genau,

00:15:07.415 --> 00:15:08.755
was wir inzwischen alles drinnen haben.

00:15:08.995 --> 00:15:13.175
Aber es soll halt so ein One-Stop-Shop sein, wie mache ich mein Paket besser?

00:15:13.375 --> 00:15:16.795
Also gerade für Library-Autors, Autoren ist es dann halt wichtig zu wissen,

00:15:16.995 --> 00:15:22.155
dass ich da auch das Optimum raushole, weil die Bibliothek dann ja wieder anders benutzt wird.

00:15:23.572 --> 00:15:26.112
Ein Beispiel, das mir hier einfällt, ist glaube ich Lowdash.

00:15:26.512 --> 00:15:31.772
Ich werde jetzt nicht darüber reden, ob ich Lowdash gut oder schlecht finde, aber ich denke,

00:15:31.932 --> 00:15:37.852
es gibt Lowdash und Lowdash ES und das eine ist kleiner und das andere ist größer

00:15:37.852 --> 00:15:41.092
und generell gibt es ja bei Lowdash eh schon quasi den Trick,

00:15:41.272 --> 00:15:45.512
dass ich nur die Funktion normalerweise importiere, zum Beispiel Lowdash is

00:15:45.512 --> 00:15:50.572
empty und dann lade ich tatsächlich eben nur die Funktion rein, ganz modular.

00:15:50.572 --> 00:15:54.392
Klar, das finde ich auch eigentlich ganz in Ordnung, aber wenn ich halt nur

00:15:54.392 --> 00:15:59.892
schreibe, import is empty in den curly braces dann und dann from lowdash,

00:15:59.952 --> 00:16:04.532
dann holt man sich halt ganz lowdash rein, was ein bisschen viel ist für die eine is empty Funktion.

00:16:05.312 --> 00:16:08.112
Und da gibt es aber jetzt, glaube ich, eben mittlerweile Loadash ES,

00:16:08.692 --> 00:16:13.092
und dann habe ich eben auch drüber nachgedacht, da müsste man jetzt vielleicht

00:16:13.092 --> 00:16:16.432
ein bisschen Regex können und ich glaube, es gibt da so ein paar Tools und keine

00:16:16.432 --> 00:16:18.132
Ahnung was, die das alles ersetzen,

00:16:18.512 --> 00:16:21.332
aber das ist dann natürlich auch ein bisschen tricky, weil wenn du jetzt zum

00:16:21.332 --> 00:16:26.052
Beispiel so einen Import hast und dann importierst du da zwölf Funktionen von

00:16:26.052 --> 00:16:31.092
Loadash in deine einen Komponente rein, dann ist das halt nicht mehr der Einzeiler, wo du schreiben kannst.

00:16:31.572 --> 00:16:34.332
Also jetzt ersetzt mir mal das Loadash mit dem Loadash-Dingsbums hier.

00:16:35.464 --> 00:16:38.504
Und da muss das natürlich auch noch ein bisschen getestet werden.

00:16:38.564 --> 00:16:43.844
Von daher glaube ich schon, dass das echt cool wäre, wenn das automatisiert gemacht werden kann.

00:16:44.004 --> 00:16:46.624
Vielleicht ist das auch immer die Hoffnung, die man so ein bisschen bei AI hat,

00:16:46.704 --> 00:16:50.364
dass die AI Sachen ausführt, die halt sonst keiner machen will,

00:16:50.484 --> 00:16:53.224
aber vielleicht kann die AI das halt auch nicht so gut, weil es macht ja sonst

00:16:53.224 --> 00:16:54.824
auch keiner und wir wollen sie dann lernen.

00:16:57.724 --> 00:17:01.424
Und da haben wir tatsächlich auch bei GitLab schon Community Contributions bekommen

00:17:01.424 --> 00:17:05.244
mit hey, hier bei e18e gibt es den Hinweis eben mit Lodash und wir wollen hier

00:17:05.244 --> 00:17:08.544
mal was machen und das war noch was anderes, also das fand ich schon auch ziemlich

00:17:08.544 --> 00:17:12.444
cool, weil es dann doch im Endeffekt also im Endeffekt ist es echt ein Low-Hanging-Fruit,

00:17:13.044 --> 00:17:16.244
was dir plötzlich einfach dein komplettes JavaScript kleiner macht.

00:17:17.064 --> 00:17:19.764
Ja, vor allem bei Lodash, weil Lodash so dermaßen riesig ist.

00:17:20.204 --> 00:17:24.044
Lodash ist aber auch ein extremes Beispiel, weil es ja wirklich ein One-Stop-Shop

00:17:24.044 --> 00:17:26.544
für jede wirkliche JavaScript-Funktion ist, die man so braucht.

00:17:27.164 --> 00:17:29.304
Es gibt ja jetzt, glaube ich, ES-Toolkit oder so. Ich glaube,

00:17:29.364 --> 00:17:30.324
das hat irgendwelche Sachen.

00:17:32.304 --> 00:17:34.844
Und ja, logicant auch das Problem, dass natürlich die Funktionen,

00:17:34.844 --> 00:17:37.704
die man nutzt, dann wiederum andere Funktionen reinpullen und so.

00:17:37.844 --> 00:17:40.224
Das ist ja alles sehr generalisiert und abstrahiert und so.

00:17:41.804 --> 00:17:45.244
Aber ja, für so, genau so war es dann die Codemots da, damit man halt nicht

00:17:45.244 --> 00:17:50.084
auf die AI angewiesen ist, die dann wirklich bei Search-and-Replace-Tasks tatsächlich

00:17:50.084 --> 00:17:52.424
unglaublich viel falsch machen kann, wie ich neulich erst wieder festgestellt

00:17:52.424 --> 00:17:54.324
habe. als es mehr als 20 Dateien zwischengekommen hat.

00:17:55.684 --> 00:17:58.964
Also Search and Replace ist dann teilweise, ja, dann sitzt du mal fünf Minuten

00:17:58.964 --> 00:18:03.564
über Regex und figurest das out, aber du kannst auf zehn Minuten warten.

00:18:04.504 --> 00:18:07.444
Vier Minuten warten, die die AI alles gemacht hat, aber alles falsch.

00:18:07.624 --> 00:18:11.184
Also das hatte ich halt auch schon. Und ich hätte auch einfach Search and Replace machen können.

00:18:12.524 --> 00:18:17.104
Oder natürlich, wenn man es dann eh AST-basiert macht, einfach sagt,

00:18:17.244 --> 00:18:19.724
okay, dann schreibe ich halt ein Plugin, was dann nicht sagt,

00:18:19.824 --> 00:18:22.004
okay, ist egal, wie es komatiert ist, ich nehme mir einfach den Code,

00:18:22.084 --> 00:18:24.444
ich parse den, als App-Stack-Syntax-Tree und dann gehe ich halt drüber und sage,

00:18:24.524 --> 00:18:27.384
ich ersetze die damit. Ist natürlich die sicherste Variante an sich.

00:18:27.624 --> 00:18:31.684
Ja, du bist aber hier schon gerade sehr advanced unterwegs. Ja, absolut.

00:18:32.800 --> 00:18:35.640
Deswegen gibt es ja die Codemods. Deswegen machen wir die ja,

00:18:35.820 --> 00:18:38.620
damit die anderen Leute nutzen können. Da hat es einmal jemand das nicht selber

00:18:38.620 --> 00:18:40.040
machen müssen. Nee, das ist super.

00:18:40.660 --> 00:18:43.640
Ich glaube, für Lodish gibt es auch noch so einen Babel-Plugin,

00:18:43.720 --> 00:18:48.500
dass du eben genau das automatisiert machst, wenn du immer noch diesen globalen Lodish-Import hast.

00:18:48.580 --> 00:18:53.600
Das ist dann in Webpack oder in Beat das übersetzt in den kleineren Import,

00:18:53.740 --> 00:18:55.100
dass es wirklich nur die Funktion reinholt.

00:18:55.260 --> 00:18:59.040
Aber dieses Plugin ist mittlerweile auch deprecated. Ich glaube, schon seit 2024.

00:18:59.440 --> 00:19:01.860
Wahrscheinlich schon früher, wahrscheinlich schon 2022. Ich weiß es gerade nicht.

00:19:01.860 --> 00:19:03.480
Kann man nachschauen mal kurz.

00:19:03.920 --> 00:19:06.920
Und das heißt natürlich wieder dann Security Risk und eigentlich wäre es auch

00:19:06.920 --> 00:19:09.900
eh cool, wenn man halt die Dependency ganz löschen könnte, weil das Problem

00:19:09.900 --> 00:19:12.700
an diesen ganzen Plugins, die man sich sonst so reinholt,

00:19:13.720 --> 00:19:16.860
Ulima, du hast ja gerade gesagt, das Erste, was man selber auch immer machen

00:19:16.860 --> 00:19:20.180
kann, ist mal die Dependencies anschauen und upgraden, aber wenn ich da jetzt

00:19:20.180 --> 00:19:22.260
natürlich viele drinnen habe, die ich vielleicht gar nicht mehr brauche,

00:19:22.360 --> 00:19:24.600
weil die ja nur was updaten, was eh schon besser sein könnte,

00:19:24.700 --> 00:19:26.960
dann ist das so ein Wo fange ich denn jetzt an?

00:19:27.020 --> 00:19:31.740
Und deswegen ist glaube ich so eine kleine Starterhilfe für sowas echt sinnvoll

00:19:31.740 --> 00:19:35.540
weil ich glaube, ich kann wieder für alle sprechen, die gerade jetzt auch zuhören

00:19:35.540 --> 00:19:39.120
und sie denken, ja, wann soll ich in David Zeit haben? Wie soll ich jetzt die Features rausballern?

00:19:40.440 --> 00:19:45.800
Ja, auf jeden Fall. Es gibt ja auch für dieses Is Number und so diese Mini-Pakete,

00:19:45.920 --> 00:19:48.540
die es ja ganz viel gab früher. Genau.

00:19:49.560 --> 00:19:52.240
Da gibt es, ich glaube, Danny Rowe hat es geschrieben, ich bin mir nicht ganz

00:19:52.240 --> 00:19:55.960
sicher, ein V-Plugin, um das halt durch native Funktionalität zu ersetzen.

00:19:56.700 --> 00:20:00.620
Und auch für diese anderen Sachen, wie auch den Lodash und Lodash ES.

00:20:00.800 --> 00:20:03.040
Man kann sich da durchaus so ein kleines Weed-Plugin zusammenbauen,

00:20:03.120 --> 00:20:05.320
was das für einen machen kann. Und es ist gar nicht so schwer,

00:20:05.660 --> 00:20:07.340
wenn man sich einmal Weed-Plugins angeguckt hat.

00:20:07.600 --> 00:20:10.240
Aber dann muss man sich halt das nächste dann angucken. Dieses vielleicht nicht

00:20:10.240 --> 00:20:12.160
angucken, wo man keine Zeit für hat. Aber es funktioniert.

00:20:14.026 --> 00:20:18.066
Ich glaube, das ist so das Problem, wo du recht stark in Rabbit Hole reinfährst.

00:20:18.186 --> 00:20:20.846
Du sagst, okay, jetzt fängst du da an und dann guckst du dir ein V-Plugin an

00:20:20.846 --> 00:20:22.146
und sagst, das passt vielleicht auch nicht ganz.

00:20:22.266 --> 00:20:25.246
Ich meine, das Plugin von Daniel ist super. Du sagst, du wirfst einfach alles

00:20:25.246 --> 00:20:26.326
raus, was unnötig ist direkt.

00:20:26.666 --> 00:20:30.726
Dann ist aber auch das Problem, okay, wie sicher funktioniert das denn?

00:20:30.826 --> 00:20:33.466
Wenn ich sage, ich werfe das überall raus, also auch von Dependencies,

00:20:33.586 --> 00:20:37.186
der Dependencies, der Dependencies, das kann man ja alles nicht mehr ganz so einfach verifizieren.

00:20:37.766 --> 00:20:40.246
Deswegen ist es vielleicht sogar einfach, dann zu sagen, ich nehme lieber das

00:20:40.246 --> 00:20:43.986
EATN-E-CLI und werfe einfach die direkten Dependencies raus oder Razer einfach

00:20:43.986 --> 00:20:47.206
Issue, wie ich sage, ich nutze hier Framework XY UI Library Z.

00:20:47.706 --> 00:20:49.966
Die nutzen das anscheinend, weil ich kann ja einfach eingeben,

00:20:50.166 --> 00:20:53.346
was weiß ich, PMPMY und dann PMPMY Loader, da ist schon ein Seel,

00:20:53.406 --> 00:20:54.706
oh, da ist eine Library, lädt das.

00:20:55.146 --> 00:21:00.706
Oder Äquivalent in Adano Yarn oder es gibt auch so ein NPM-Y-Paket, was das auch macht.

00:21:01.126 --> 00:21:04.666
Da kommt man vielleicht schneller zum Ziel, vielleicht nicht schneller,

00:21:04.746 --> 00:21:07.366
aber sicherer zum Ziel, als zu sagen, ich mache das manuell.

00:21:08.106 --> 00:21:10.426
Das stimmt, das ist auf jeden Fall mit der Versuchsektur verbunden, ja.

00:21:11.486 --> 00:21:15.746
Also gerade was dieses ersetzen, tiefen Dependencies angeht.

00:21:15.806 --> 00:21:19.346
Tatsächlich hatte ich da die Idee für ein Veed-Plugin, was tatsächlich über

00:21:19.346 --> 00:21:23.326
die Dependencies der Dependencies rübergeht, also den ganzen Not-Modus-Folder

00:21:23.326 --> 00:21:28.506
und nach diesen alten Paketen sucht und die eventuell direkt beim Laden ersetzt,

00:21:28.626 --> 00:21:30.666
sodass man letztendlich, wenn man das alles bundelt,

00:21:30.846 --> 00:21:34.106
die ganzen Sachen, die man nicht mehr drin haben will, aus dem ganzen Not-Modus raus sind.

00:21:34.246 --> 00:21:39.486
Das wäre ja quasi das, was man halt nicht durch PRs erreichen konnte.

00:21:39.786 --> 00:21:42.306
Zum Beispiel hat ja jetzt Express immer noch den Body Parser drin,

00:21:42.446 --> 00:21:46.286
Body Parser Cockpit QS, Hurry String, was wieder einen riesigen Rattenschwanz

00:21:46.286 --> 00:21:51.446
mitbringt, dass man das einfach raus, Code moddet aus den Dependencies der Dependencies,

00:21:51.666 --> 00:21:54.366
ohne dass man das selber so richtig mitbekommt, weil das ein Beat-Clacken wäre.

00:21:54.746 --> 00:21:58.466
Aber das ist natürlich sehr riesig vorbehaftet und das würde ich auch nur empfehlen,

00:21:58.686 --> 00:22:03.626
das ordentlich zu testen und eventuell hier Patch-Packages generieren und dann

00:22:03.626 --> 00:22:05.766
nicht die Diffs angucken und so.

00:22:05.966 --> 00:22:10.026
Wenn man halt das Beste, das das Allerletzte aus seinem App-Bundle auswollen

00:22:10.026 --> 00:22:10.846
will, wäre das Möglichkeit.

00:22:15.912 --> 00:22:18.652
Ich glaube, insgesamt ist das auf jeden Fall spannend, was noch alles möglich

00:22:18.652 --> 00:22:22.252
ist mittlerweile mit Buildtools, Bundlern und Co.

00:22:23.532 --> 00:22:26.632
Ich glaube aber, gerade für Leute, die jetzt sagen, okay, ich will mich eigentlich

00:22:26.632 --> 00:22:29.672
gar nicht so tief reinlöten, ich wende natürlich immer her damit.

00:22:30.112 --> 00:22:34.292
Es gibt auch sehr gute Konferenz-Talks, habe ich gehört, weil das sind so spannende

00:22:34.292 --> 00:22:36.032
Themen, wo man sagt, okay, ich möchte das einfach alles direkt fixen,

00:22:36.172 --> 00:22:37.412
hier gibt es ein Plugin, let's go.

00:22:38.352 --> 00:22:40.812
Aber sonst für Leute an, ich sage mal, einfacheren Aktionen,

00:22:40.872 --> 00:22:42.772
wie wir es gerade gesagt haben, eigene Dependencies durchgehen,

00:22:42.892 --> 00:22:44.772
Issues raisen, ist natürlich eine sinnvolle Möglichkeit.

00:22:45.252 --> 00:22:47.972
Und wenn man jetzt sagt, okay, ich möchte erst mal gucken, keine Ahnung,

00:22:49.072 --> 00:22:50.552
was gibt es denn alles so für Probleme?

00:22:51.272 --> 00:22:54.532
Du hast ja schon gesagt, okay, eLT&E hat eine Übersicht von Modulen,

00:22:54.652 --> 00:22:56.832
du sagst, okay, das kann ich ersetzen, sowas wie den Body Parser brauche ich

00:22:56.832 --> 00:23:01.352
nicht, da gibt es eine einfache Dreizeilenlösung für oder es gibt keine Ahnung,

00:23:01.672 --> 00:23:04.832
Glob-Libraries und da nennt man dann Tiny Globby für stattdessen.

00:23:05.172 --> 00:23:09.772
Genau. Also eine kleinere Library, die halt nicht jeden Edge Case abdeckt, der in Node 0.

00:23:09.972 --> 00:23:13.392
Irgendwas noch relevant ist, weil für die aktuellen Versionen würde das genauso gehen.

00:23:14.372 --> 00:23:18.552
Ja, wo kann man da genau nachschauen? Ja, also wir haben eine Repository,

00:23:18.612 --> 00:23:20.352
auf das man gehen kann, also wenn man danach googelt,

00:23:20.932 --> 00:23:24.652
einfach wenn man auf die e8ne.dev-Website geht, ist das glaube ich auch alles

00:23:24.652 --> 00:23:29.172
verlinkt und im Issue Tracker sieht man dann die ganzen Labels,

00:23:29.252 --> 00:23:32.992
da gibt es dann sowas wie Umbrella Issues, wo man ganz viele Sachen zusammengefasst

00:23:32.992 --> 00:23:35.752
hat, meistens ist es dann eine Dependency, die nicht mehr,

00:23:36.988 --> 00:23:39.968
die ersetzt werden soll in allen möglichen anderen Paketen. Und da gibt es so

00:23:39.968 --> 00:23:41.628
eine große Tabelle mit so meistens

00:23:41.628 --> 00:23:46.388
100 Einträgen von den 100 größten Consumern von dieser Bibliothek.

00:23:48.508 --> 00:23:51.048
Früher haben wir dafür eine Website benutzt, um diese Sachen zu erstellen.

00:23:51.108 --> 00:23:53.888
Die ist aber immer mal abgeschmiert, weil natürlich die NPM-Registry das nicht

00:23:53.888 --> 00:23:55.848
so gerne hat, wenn man da so dermaßen viele Sachen crawlt.

00:23:56.628 --> 00:23:58.988
Das war tatsächlich auch eine der ersten Sachen, die ich dann gemacht habe.

00:23:59.028 --> 00:24:02.408
Ich habe die NPM-Registry mit den Daten, die ich brauche, gecrawlt.

00:24:02.788 --> 00:24:05.008
Erstmal zu mir lokal. Das hat ein paar Tage gedauert.

00:24:05.928 --> 00:24:09.728
Und hat dann Index über die Dependencies und die Dev-Dependencies gemacht,

00:24:09.848 --> 00:24:11.108
sodass ich das dann quasi,

00:24:12.148 --> 00:24:15.008
Dependents-Cravign konnte und dafür gibt es jetzt auch ein Tool,

00:24:15.208 --> 00:24:17.868
wie das funktioniert, das steht auch auf der Website, damit kann man einfach

00:24:17.868 --> 00:24:22.828
jetzt quasi-Cravign, ich hätte ja gerne alle Dependents von Lodash oder von

00:24:22.828 --> 00:24:25.248
wo auch immer und dann hat man halt eine Liste, da steht dann drauf,

00:24:25.748 --> 00:24:29.008
was sind die Top-Packages nutzen, was für den Traffic generieren die im Monat,

00:24:29.408 --> 00:24:34.248
wie oft sind die downgeloadet im Monat und Und dann noch einen Link zum NPM-Package.

00:24:34.348 --> 00:24:37.108
Und dann kann man das nehmen und dann quasi kommt das Rivella-Issue und dann

00:24:37.108 --> 00:24:39.408
kann man anfangen, die einzelnen Pakete abzugehen.

00:24:39.668 --> 00:24:43.468
Aber wir haben da jetzt schon so viele, also wir könnten auch noch dreimal so viele Menschen haben.

00:24:44.228 --> 00:24:48.048
Die geht auf jeden Fall, davon ist noch nicht weniger die Arbeit.

00:24:49.328 --> 00:24:52.888
Nur zum Verständnis, die Arbeit ist vor allem Zeit zu sagen,

00:24:53.008 --> 00:24:56.808
ich schreibe ein Issue, sag hier, guckt mal Leute, dies, das oder erklär das.

00:24:57.008 --> 00:25:01.888
Oder worin besteht die Hauptarbeit, wo ihr mehr Manpower benötigen würdet?

00:25:02.708 --> 00:25:05.748
Also ein Kontakt erstellen zu den Repo-Leuten ist auf jeden Fall immer wichtig,

00:25:05.948 --> 00:25:07.928
damit wir die nicht auf den Fuß treten.

00:25:08.328 --> 00:25:10.628
Meistens versuchen wir erst ein Issue zu erstellen und wenn die dann sagen,

00:25:10.708 --> 00:25:13.888
ja ist okay, dann fangen wir an PRs zu erstellen. Und das ist tatsächlich da,

00:25:13.948 --> 00:25:15.068
wo wir dann die eigentliche Arbeit machen.

00:25:15.908 --> 00:25:21.008
Da gehen die Leute dann hin, erstellen die PR, versuchen das quasi auch zu begründen,

00:25:21.188 --> 00:25:24.668
warum das jetzt sinnvoll ist, das zu machen. Oftmals werden irgendwelche Nummern rausgeholt.

00:25:26.008 --> 00:25:30.948
Und manchmal wird dann auch quasi auch erwähnt, dass es hier der E-A10E-Effort

00:25:30.948 --> 00:25:32.068
ist, der dahinter steht.

00:25:33.428 --> 00:25:35.968
Da gibt es auch immer noch Diskussionen, ob man das machen sollte,

00:25:36.088 --> 00:25:39.048
weil sich ja dann die Rain-Paintainer vielleicht auf den Fuß getreten fühlen

00:25:39.048 --> 00:25:42.668
oder zu viel Druck verspüren oder so. Das ist immer so ein bisschen hin und her.

00:25:43.228 --> 00:25:48.208
Ja, aber im Normalfall ist es eigentlich immer sehr willkommen,

00:25:48.468 --> 00:25:54.088
solange man konstruktiv bleibt und nicht irgendwie anfängt anzugreifen oder so.

00:25:54.768 --> 00:25:57.888
Also es gibt ja auch unglaublich viele Maintainer, die wir bei uns im Discord

00:25:57.888 --> 00:26:00.228
schon haben, auch von ganz vielen Open-Source-Bibliotheken.

00:26:00.688 --> 00:26:03.648
Also Veed haben wir, Vue haben wir, Lodash ist glaube ich auch da,

00:26:03.748 --> 00:26:08.068
der hat auch gesagt, der wäre voll okay damit, wenn Lodash einfach nicht mehr

00:26:08.068 --> 00:26:10.868
existieren würde, weil der das halt maintainen muss und der wird das eigentlich nicht.

00:26:11.508 --> 00:26:16.508
Ich weiß gar nicht, Solid ist auch dabei, weiß glaube ich, und Swayte auf jeden Fall.

00:26:17.047 --> 00:26:18.327
Ja, Ben macht ja richtig viel.

00:26:20.907 --> 00:26:24.067
Ach, ich glaube, gerade auch so aus dem Tanztag-Universum gibt es doch auch

00:26:24.067 --> 00:26:26.087
einige Leute, die da unterwegs sind.

00:26:27.147 --> 00:26:30.507
Also ich glaube, gerade im E-A-T-E-Discord ist, glaube ich, so die größte Ansammlung

00:26:30.507 --> 00:26:34.747
in der Community von allen so, wie ich sage mal, Library-Framework-Größen. Das ist echt krass.

00:26:35.147 --> 00:26:37.947
Das ist echt krass, ja. Also wenn man die alle mal kennenlernen will.

00:26:38.807 --> 00:26:41.887
Der E-A-T-E-Discord ist vielleicht, also sind natürlich nicht ständig online,

00:26:42.027 --> 00:26:45.247
aber wenn man eine Frage hat, da kriegt man oftmals eine Antwort.

00:26:45.367 --> 00:26:48.687
Aber es sollte natürlich E-A-T-E bezogen sein, sonst wäre es vielleicht etwas komisch.

00:26:49.527 --> 00:26:51.647
Ich meine, es gibt doch einen Random-Channel, also man kann auch über alles

00:26:51.647 --> 00:26:53.587
Mögliche quatschen. Das stimmt auch wiederum, ja.

00:26:54.187 --> 00:26:58.367
Das ist auch nicht verkehrt. Aber ich muss auch sagen, es ist echt super spannend,

00:26:58.467 --> 00:27:01.087
wenn man dann mal reingucken sieht, okay, was passiert denn so generell?

00:27:01.147 --> 00:27:04.607
Weil ich meine, ich sag mal, wir sind jetzt doch schon recht viel im Web-Ökosystem

00:27:04.607 --> 00:27:08.327
unterwegs und auch vielleicht mal viel auf den diversen Social-Media-Plattformen,

00:27:08.387 --> 00:27:10.987
aber da sieht man trotzdem nochmal, wenn man jetzt mal aus der eigenen Bubble

00:27:10.987 --> 00:27:11.787
rauskommt, sagt, oh was,

00:27:12.207 --> 00:27:16.167
hier im Svelte-Universum, dies, das, oder auch andersrum, so als aus der Ralle

00:27:16.167 --> 00:27:18.427
des Naxt-Team-Mitglieds gab es auch schon Leute,

00:27:18.807 --> 00:27:24.627
zum Beispiel Ben McCann aus dem Zwei-Team, der dann, um das Ganze aus IETI-Sicht

00:27:24.627 --> 00:27:27.387
besser zu machen, einen Pro-Request zu Naxt gesendet hat.

00:27:27.507 --> 00:27:29.967
Er sagt, hier, guck mal, lass doch mal hier Tiny Globby nehmen zum Beispiel.

00:27:30.587 --> 00:27:33.567
Und das ist immer schön zu sehen, dass es auch so über diese Framework-Grenzen

00:27:33.567 --> 00:27:36.207
hinweg geht. Und man einfach sagt, okay, eigentlich geht es darum,

00:27:36.307 --> 00:27:37.947
jeder hilft sich so gegenseitig und untereinander.

00:27:38.507 --> 00:27:40.987
Und das ist eigentlich echt mega. Also egal, ob man jetzt sagt,

00:27:41.047 --> 00:27:44.207
ich bin irgendwie React-Reviewer oder was auch immer Fan, man guckt da entsprechend

00:27:44.207 --> 00:27:47.287
rein, was natürlich vielleicht man gerade selbst nutzt, aber auch,

00:27:47.407 --> 00:27:50.427
das ist am Ende egal, solange es dem großen Ganzen hilft.

00:27:50.787 --> 00:27:54.927
Das ist mir auch aufgefallen, diese Verzahnung der ganzen Ökosysteme und dass

00:27:54.927 --> 00:27:57.627
die Leute auch wirklich miteinander reden und meistens auch konstruktiv miteinander

00:27:57.627 --> 00:28:02.407
reden und dann wirklich was Besseres, Schöneres entsteht, ist mir auch da erst

00:28:02.407 --> 00:28:05.747
so richtig bewusst geworden, auch wie viele Leute dahinter stehen und wie viel...

00:28:06.613 --> 00:28:10.093
Wie viel Aufwand das auch überhaupt ist, das auch zu koordinieren alles.

00:28:11.193 --> 00:28:16.853
Einfach nur so einen Discord-Server zu haben, das war mir vorher nicht so bewusst.

00:28:17.073 --> 00:28:19.813
Und dieses ganze Community-Building, was darum auch noch passiert,

00:28:20.273 --> 00:28:24.473
gerade für EAT&E, da wurde ich dann ein paar Mal schon, wenn man einen PR gemacht

00:28:24.473 --> 00:28:27.653
hat, wurde man aufgefordert, hey, postet das mal auf Blue Sky und wir machen

00:28:27.653 --> 00:28:31.573
dann auch einen Shoutout, damit man auch ein bisschen Sichtbarkeit für das ganze Projekt auch hat.

00:28:32.253 --> 00:28:35.253
Aber im Allgemeinen ist es unglaublich toll, was da passiert,

00:28:35.353 --> 00:28:36.513
wie viele Leute da zusammenarbeiten.

00:28:36.613 --> 00:28:40.493
Das ist eigentlich einfach toll, ja.

00:28:41.413 --> 00:28:45.273
Was ich bei sowas auch immer sehr faszinierend finde, ist ja eigentlich die

00:28:45.273 --> 00:28:47.053
Arbeit, den Guid dann dazu zu schreiben.

00:28:47.173 --> 00:28:52.813
Denn das eine ist ja generell, hey, wir machen das und hier arbeiten jetzt vielleicht

00:28:52.813 --> 00:28:56.633
Leute an CLIs und hier arbeiten Leute daran, jetzt so ein Manifest zu erstellen

00:28:56.633 --> 00:28:58.613
und Alternativen rauszufinden.

00:28:59.313 --> 00:29:05.053
Aber eine Sache, die ich immer wieder unterschätze, ist es zu dokumentieren.

00:29:05.253 --> 00:29:10.873
Und ja, ich versuche mit AI Hilfe, aber auch, nee, es ist nicht good enough dann.

00:29:12.733 --> 00:29:18.233
Weil, und da schließe ich mich selbst vollkommen ein, man hat selten Zeit,

00:29:18.273 --> 00:29:21.253
das jetzt wirklich irgendwie genau zu lesen, worum das geht.

00:29:21.393 --> 00:29:23.453
Man braucht einfach einen sehr guten Guide.

00:29:24.053 --> 00:29:28.373
Und ich finde hier bei E18i hat man so einen leichten Einstieg so,

00:29:28.533 --> 00:29:32.473
also darum geht es, alles noch ganz locker und hier ist ein Link und auch dieser

00:29:32.473 --> 00:29:36.233
Issue-Tracker, von dem du gerade gesprochen hast, fühlt man einfach sehr schnell,

00:29:36.833 --> 00:29:40.753
und ich glaube, das ist das, was ich immer am meisten mit unterschätze,

00:29:40.953 --> 00:29:43.653
wie unfassbar schwierig es ist, eine Dokumentation zu schreiben.

00:29:44.173 --> 00:29:47.953
Wer ist denn da eigentlich dafür zuständig? Welche.

00:29:49.413 --> 00:29:53.233
Fleißigen Persönchen. Irgendwelche Fleißchen, fleißigen Bienchen.

00:29:53.333 --> 00:29:55.913
Ganz viele Grüne, diese fleißigen Bienchen.

00:29:56.273 --> 00:29:59.733
Ja, da war jetzt sehr viel Arbeit auch in der Dokumentation,

00:30:00.053 --> 00:30:01.713
wie man die einzelnen Sachen so ersetzen soll.

00:30:01.793 --> 00:30:06.553
Für jedes einzelne Paket, was ersetzt werden soll, gibt es ja dann halt auch auf der I8E-Website.

00:30:07.073 --> 00:30:10.013
Ein kleiner Guide, ne? Er setzt ja das mit dem, dann setzt er das mit dem.

00:30:10.653 --> 00:30:13.353
Unglaubliche Arbeit geht da rein. Ich kann jetzt leider keinen Namen nennen,

00:30:13.353 --> 00:30:15.613
ich müsste auf dem Discord gucken, dann wüsste ich es wieder.

00:30:16.993 --> 00:30:19.653
Aber es ist erstaunlich, dass es abgeht. Es sind mehrere Leute,

00:30:19.673 --> 00:30:23.373
die daran arbeiten und da wirklich hinterher sind, das auch alles abzulehnen zu halten.

00:30:23.673 --> 00:30:25.873
Und neue Replacements werden ja auch immer wieder neu entdeckt.

00:30:25.993 --> 00:30:27.913
Es kommt immer mehr dazu.

00:30:28.213 --> 00:30:31.593
Und die Leute schreiben auch selbst neue Replacements, weil sie davon jetzt

00:30:31.593 --> 00:30:33.993
angesteckt wurden und dann anfangen, irgendwas besser machen zu wollen.

00:30:34.073 --> 00:30:36.773
Noch besser als es die Stunde gibt es, und dann gibt es noch mehr Pakete.

00:30:36.773 --> 00:30:37.993
Aber nicht zu verschlimmbessern.

00:30:38.453 --> 00:30:40.393
Das ist halt das große Problem. Ja.

00:30:41.193 --> 00:30:45.033
Es gibt da so eine kleine Spaltung, da muss halt, okay, wir haben eine Mikropakete

00:30:45.033 --> 00:30:47.513
gehabt, die wollen wir nicht, weil die halt immer ein ganzes Paket reinziehen,

00:30:47.633 --> 00:30:49.533
obwohl es halt einfach nur eine Funktion, die exportiert ist.

00:30:49.953 --> 00:30:52.313
Dann schreibt man sich dann, okay, wie groß darf es denn werden?

00:30:52.373 --> 00:30:54.713
No, das soll es auch nicht werden, das ist zu groß. Also muss man irgendwie

00:30:54.713 --> 00:30:55.753
so ein Middle-Ground finden.

00:30:56.553 --> 00:30:59.573
Und wir versuchen jetzt... Und das ist echt nicht einfach. Ja,

00:30:59.713 --> 00:31:03.173
da gibt es auch immer wieder große Funktionen dafür. Wir versuchen jetzt einfach immer.

00:31:05.673 --> 00:31:11.653
Pakete mit einem bestimmten Scope irgendwie zu finden, die dann halt Utilities,

00:31:12.853 --> 00:31:15.833
praktische Funktionen, die mit dem Scope zu tun haben, irgendwie exportieren.

00:31:15.933 --> 00:31:19.493
Und nicht so einen One-Stop-Shop, Aber auch nicht so ein Mikro-Ding.

00:31:19.793 --> 00:31:22.413
Aber es ist halt echt, es ist schwierig, auf jeden Fall.

00:31:23.753 --> 00:31:29.133
Hast du das Gefühl, dass es vor allem Dev-Dependencies sind,

00:31:29.353 --> 00:31:34.813
die mehr ersetzt werden oder Production-Dependencies oder ist das relativ ausbalanciert?

00:31:36.177 --> 00:31:40.637
Das ist eine schwierige Frage, weil alles, was man Node-N benutzt,

00:31:40.797 --> 00:31:43.217
meistens dann irgendwo in der Dev-Dependency drin ist.

00:31:45.177 --> 00:31:50.017
Also Frontend-Dependencies, würde ich sagen, sind in der Unterzahl einfach,

00:31:50.077 --> 00:31:54.737
weil es so dermaßen viele Node-Pakete gibt und das ganze Node-Package-Universum

00:31:54.737 --> 00:31:57.357
irgendwie einen kleinen Vorlauf hat zu den ganzen Frontend-Paketen.

00:31:58.537 --> 00:32:02.077
Und da wurde ja alles in ein Paket gepackt. Es gibt die ganzen Stream-Pakete,

00:32:02.157 --> 00:32:06.377
die auch alle irgendwie outdated sind, weil Node halt jetzt Streamer-Mindien hat und,

00:32:07.897 --> 00:32:11.337
da kommt halt super viel zusammen, dass man auch alles erstmal aufräumen muss,

00:32:11.997 --> 00:32:17.177
und ich denke, dass es dann eher tatsächlich, also wenn man jetzt nicht Server-Code schreibt,

00:32:18.157 --> 00:32:21.477
sondern Frontend-Code, dann ist es eher doch die Dev-Dependencies,

00:32:21.617 --> 00:32:24.597
wo man dann eher einen Unterschied merkt als bei der Frontend-Dependencies.

00:32:24.917 --> 00:32:27.257
Tiny Globby ist jetzt auch nichts, was man im Frontend benutzt.

00:32:27.357 --> 00:32:29.077
Dass es auch etwas aus dem Server läuft.

00:32:29.857 --> 00:32:32.017
Und Schoki da ist auch eindeutig eine

00:32:32.017 --> 00:32:36.797
Dev-Dependency. Eher, wenn man halt Firewatchen will und so. Von daher da.

00:32:38.857 --> 00:32:41.677
Würde ich sagen, es ist einfacher, Sachen zu finden, die man ersetzen kann.

00:32:41.877 --> 00:32:44.717
Aber es gibt natürlich auch Front-Dependencies, wo das relevant ist.

00:32:47.157 --> 00:32:50.837
Ich glaube, der Punkt der Dev-Dependencies, was Dependencies da ganz gut,

00:32:51.017 --> 00:32:53.677
da fällt mir direkt die Frage ein, so gerade das Thema Tooling.

00:32:54.417 --> 00:32:57.337
Jetzt hat man ja da verschiedene Möglichkeiten, sowas wie es gibt Es gibt unterschiedliche

00:32:57.337 --> 00:33:00.297
Buildtools, es gibt unterschiedliche Bundler, es gibt unterschiedliche Linder.

00:33:01.257 --> 00:33:04.497
Hatten ihr in ihnen eine gewisse, ich sag mal, Stellung zu dem Thema...

00:33:05.417 --> 00:33:09.057
Tools sollten ersetzt werden, weil das was weiß ich, ein Nachfolger gibt und ähnliches.

00:33:09.137 --> 00:33:13.457
Oder sagt man so, ja, ob man jetzt, was weiß ich, ESLint oder Biome oder Oxlint

00:33:13.457 --> 00:33:18.077
oder JSint, das ist eigentlich echt egal.

00:33:18.797 --> 00:33:21.497
Das steht euch frei zur Verfügung. Es gibt da keinen Issues und sagt,

00:33:21.577 --> 00:33:23.897
okay, man möchte alles auf eine bestimmte Richtung upgraden.

00:33:23.937 --> 00:33:27.397
So ist es wie, keine Ahnung, ja, nehmt doch HONO oder Nitro statt Express,

00:33:27.657 --> 00:33:31.177
weil, war out der Idee. Da gibt es eine Express-Version, aber ich glaube, die Idee ist klar.

00:33:31.677 --> 00:33:36.677
Ja, also gerade was Express angeht, da gibt es tatsächlich, PRs habe ich gesehen,

00:33:36.937 --> 00:33:40.237
wo man halt, wo ich nur so eine Tiny-Server gebraucht habe, und da gibt es dann,

00:33:40.257 --> 00:33:43.477
glaube ich, Tiny-HTTP dafür, da braucht man kein ganzes Express.

00:33:43.817 --> 00:33:47.477
Aber was das andere angeht, gerade ESLint und andere Tools, die man in seiner

00:33:47.477 --> 00:33:50.797
IDE benutzt, da sind wir relativ offen, wir versuchen einfach,

00:33:50.917 --> 00:33:54.197
die Tools, die es schon gibt, einfach besser zu machen. Also es gibt ganz viele.

00:33:56.357 --> 00:33:58.757
Untersuchungen, wie man ESLint schneller machen kann, weil es ganz oft dann

00:33:58.757 --> 00:34:02.677
einzelne Plugins sind, die unglaublich langsam sind, weil sie irgendwas tun, und

00:34:03.057 --> 00:34:05.657
da wird auch richtig Benchmarks gemacht, warum sie zu langsam,

00:34:05.837 --> 00:34:11.777
wo sie zu langsam können wir eine bessere Alternative bauen es gab dieses eine Rack Unicorn oder so,

00:34:12.837 --> 00:34:17.637
oder Rack X, also es gibt ganz viele ESLint Ersetzungen jetzt schon wenn die

00:34:17.637 --> 00:34:21.617
eigentlichen ESLint Plugins schon outdated waren oder nicht mehr maintained wurden haben wir.

00:34:22.697 --> 00:34:28.877
Quasi Replacements gebaut, die da schneller sind und auch die das Prettier Plugin ist jetzt auch,

00:34:29.737 --> 00:34:33.197
hat es auch ein Overhaul bekommen, also es gibt das ja immer neue Prettier CRI,

00:34:33.617 --> 00:34:36.637
die jetzt wesentlich schmaler und auch wesentlich schneller ist,

00:34:36.837 --> 00:34:39.757
weil einfach dieser ganze Coach einfach mal aufgeräumt wurde.

00:34:40.037 --> 00:34:44.497
Also es gibt ja schon, es gibt ja keine Richtung, wo wir Leute hindrängen,

00:34:45.317 --> 00:34:49.377
sondern sagen einfach, okay, die Tools, die momentan genutzt werden und viel

00:34:49.377 --> 00:34:52.517
genutzt werden, die versuchen wir schneller zu machen, damit die Leute was dann haben.

00:34:53.157 --> 00:34:57.357
Also es gibt natürlich immer mit der vollständigen Zeit bessere Tools,

00:34:57.477 --> 00:35:02.237
OX, Lint, ich weiß aber nicht, inwiefern das schon alle Linting Rules hat,

00:35:02.417 --> 00:35:06.717
die die heutzutage in der weiten Welt auftreten und die will man dann ja auch

00:35:06.717 --> 00:35:07.377
irgendwie unterstützen.

00:35:07.837 --> 00:35:11.117
Und das ist auch immer so ein bisschen eine Waage, die man halten muss, ja.

00:35:11.809 --> 00:35:15.389
Ich glaube auch, das ist so, genau, wenn ich jetzt sage, erstens schneller ist,

00:35:15.489 --> 00:35:18.729
natürlich einfacher setzen, mit was heutzutage schneller ist,

00:35:18.829 --> 00:35:21.389
vielleicht auch in der Programmi-Sprache, aber dann kommt eben noch das Problem

00:35:21.389 --> 00:35:24.649
mit, okay, hat das denn alle Rules? Wie sieht es denn mit Plugins aus?

00:35:25.049 --> 00:35:27.949
Wo man natürlich auch ein bisschen gucken muss, weil natürlich,

00:35:28.129 --> 00:35:32.629
es gibt zum Beispiel für Biom, gibt es eine Plugin-API auf einer ganz anderen Sprache, GridQL.

00:35:33.469 --> 00:35:37.889
Das wird vielleicht auch schwierig, daran abzubilden. Oder dann für Oxyn,

00:35:38.229 --> 00:35:40.149
da gibt es eigentlich noch gar keine Custom-Plugin-API.

00:35:40.749 --> 00:35:43.149
Die wird da bei ESLIN kompatibel. Guck mal, also mal schauen.

00:35:43.389 --> 00:35:45.929
Und natürlich das große Problem, wie du es schon gesagt hast,

00:35:46.269 --> 00:35:49.589
so ESLIN-Plugins, wie irgendwie ESLIN-Plugin-Import, da gibt es dann Import-X,

00:35:50.109 --> 00:35:53.449
etc., so als Replacement oder ähnliches.

00:35:53.689 --> 00:35:56.769
Aber das große, ich glaube, der große Bottleneck des Type-Aware-Lintings,

00:35:57.029 --> 00:35:58.389
der wird damit nicht gelöst.

00:35:58.849 --> 00:36:01.129
Ich meine, ESLIN hat ja mittlerweile auch Multithreading.

00:36:01.749 --> 00:36:04.569
Das ist zum Zeitpunkt der Aufnahme noch recht neu, würde ich sagen.

00:36:05.089 --> 00:36:09.029
Aber auch da wurde ja von den TypeScript ESLIN-Leuten oder von den TSS-Leuten

00:36:09.029 --> 00:36:14.349
schon gesagt, so ja, ist es schwierig, dann Type-Avalenting mit dem Multithreading zu supporten,

00:36:15.429 --> 00:36:18.569
insgesamt, weil es da verschiedene konzeptuelle Probleme gibt.

00:36:18.569 --> 00:36:20.609
Gibt es eine sehr schöne Issue, wo das alles aufgelistet ist.

00:36:21.489 --> 00:36:24.009
Da bin ich also gespannt, ob man das vielleicht in der ES-Welt doch irgendwann

00:36:24.009 --> 00:36:26.909
lösen kann in der ES-Welt oder ob man dann wirklich sagt, okay,

00:36:27.129 --> 00:36:30.669
man irgendwie wartet auf TSGO oder dann irgendwas Rust-basiertes.

00:36:31.269 --> 00:36:34.309
Bin ich auf jeden Fall gespannt, wo die Reise hingeht. Es gibt der Johnson,

00:36:34.569 --> 00:36:39.049
der Autor von Volar, der hat ja auch so ein kleines Nebenprojekt,

00:36:39.209 --> 00:36:42.429
TS TSS-Lint, glaube ich, war der Name. TSS-Lint, ja.

00:36:43.909 --> 00:36:46.549
Was halt dieses Type-Aware-Linting auch ein bisschen schneller machen soll.

00:36:47.329 --> 00:36:51.709
Der schnellste, nicht Rust-basierte, nee, doch, zuerst nicht Rust-basierte Type-Aware-Lint aktuell.

00:36:52.909 --> 00:36:56.809
Aber mittlerweile hat er auch gesagt, sein Scope wird nochmal kleiner,

00:36:56.929 --> 00:36:59.529
da es jetzt sowas gibt wie Oxlint mit Type-Aware-Linting basierend auf TSGO.

00:37:00.649 --> 00:37:02.029
Das ist super spannend.

00:37:03.189 --> 00:37:07.729
Also es ist auch super schwierig, gerade bei diesen neuen Tools in neuen Programmiersprachen.

00:37:07.809 --> 00:37:12.069
Man muss ja sich auch immer wieder ins Gedächtnis rufen, dass das JavaScript-Ecosystem

00:37:12.069 --> 00:37:14.769
deswegen so dermaßen schnell und gut und groß gewachsen ist,

00:37:15.049 --> 00:37:16.229
weil alles in JavaScript war.

00:37:16.469 --> 00:37:19.629
Das ganze Tooling, ganze Leute, die die Tools brauchten, konnten sie auch schreiben,

00:37:19.689 --> 00:37:20.529
weil es die gleiche Sprache war.

00:37:20.849 --> 00:37:26.369
Und jetzt haben wir einen großen Schritt oftmals zu Rust oder Go und viele Leute

00:37:26.369 --> 00:37:27.069
können das einfach nicht.

00:37:27.249 --> 00:37:31.129
Und dann hat man das Problem, dass keiner mehr die Plugins schreibt und eine

00:37:31.129 --> 00:37:35.689
API zu haben, die ja kompatibel ist mit alten Tools oder zumindest eine JavaScript-API

00:37:35.689 --> 00:37:39.009
zu haben, ist meiner Meinung nach ein großer, großer Vorteil für jedes neue

00:37:39.009 --> 00:37:41.309
Tool, was da kommt, auch wenn es langsam ist.

00:37:41.589 --> 00:37:43.189
Aber man kann ja dann immer noch,

00:37:43.938 --> 00:37:47.738
das doch nativ auch noch anbieten, wenn man merkt, dass es da viel Demand gibt

00:37:47.738 --> 00:37:50.938
für das JavaScript-Plugin, aber für das eine One-Off-Thing, was ich halt irgendwo

00:37:50.938 --> 00:37:54.478
in der Firma mal brauche, ist es doch besser, wenn ich schnell mal selber schreiben

00:37:54.478 --> 00:37:56.338
kann in JavaScript, als dass ich erst mal Rust werden muss.

00:37:57.078 --> 00:38:00.438
Ja, besser eine langsame Regel als gar keine Regel. Da stimme ich zu.

00:38:00.638 --> 00:38:01.538
Da sind wir auf jeden Fall dran.

00:38:01.758 --> 00:38:04.878
Also da kann ich nur sagen, Custom-Java-Script-Plugin API, wenn ihr das hört,

00:38:04.978 --> 00:38:09.578
gibt es das ziemlich sicher schon, weil das ja aktuell Ende Oktober ist oder

00:38:09.578 --> 00:38:11.238
vielleicht noch später, wenn ihr die nachhört, die Episode.

00:38:12.518 --> 00:38:16.158
Da ist also dann schon Großes passiert, aber jetzt in der Gegenwart,

00:38:16.218 --> 00:38:19.158
in der wir leben, gibt es noch nicht so viel.

00:38:20.058 --> 00:38:22.318
Aber das ist natürlich das große Problem, wie du schon gesagt hast,

00:38:22.458 --> 00:38:24.918
so, man will ja irgendwie Leute abholen und nicht sagen, jetzt müsst ihr Rust

00:38:24.918 --> 00:38:26.638
lernen, um dann eure JavaScript-Tools zu schreiben.

00:38:27.618 --> 00:38:30.478
Und ähnliches gilt ja im ganzen Ökosystem. Man sieht ja generell so einen Schritt

00:38:30.478 --> 00:38:33.858
dahin mit anderen Sprachen und ich glaube auch, wie du schon gesagt hast,

00:38:33.978 --> 00:38:36.618
so im JavaScript-Ökosystem gibt es noch super viel zu holen.

00:38:37.818 --> 00:38:40.578
Roller wird nochmal verbessert, obwohl natürlich gibt es Roller und natürlich

00:38:40.578 --> 00:38:42.858
ist das vorhanden oder auch andere Bundler.

00:38:43.258 --> 00:38:46.038
Aber dann selbst zu sagen, man schraubt an Lead, man schraubt an den Frameworks,

00:38:46.478 --> 00:38:50.278
man macht einfach die Interoperabilität besser, gibt so viele Issues zu,

00:38:50.738 --> 00:38:54.038
und auch da, ich kann nur empfehlen, dass Leute wieder zukommen und joinen,

00:38:54.058 --> 00:38:57.238
das ist einfach eine sehr, sehr coole Erfahrung und vor allem auch mit Leuten

00:38:57.238 --> 00:38:58.798
zusammenzuarbeiten, die halt richtig viel Ahnung haben.

00:38:59.458 --> 00:39:02.958
Oh, das auf jeden Fall, also teilweise verzögert man sich da auch in Diskussionen

00:39:02.958 --> 00:39:06.158
mit Leuten, wo man denkt, die es besser wissen und oftmals wissen sie das auch

00:39:06.158 --> 00:39:09.118
besser, aber man will dann auch nicht so gerne sein Standpunkt aufgeben.

00:39:10.438 --> 00:39:11.758
Kraft, man kann nicht sein Lied singt.

00:39:13.138 --> 00:39:15.658
Aber ja, das lernt man doch aber. Also das ist das Beste, was dann passieren

00:39:15.658 --> 00:39:18.358
kann, zu diskutieren und am Ende kommt man eigentlich zu einer konstruktiven

00:39:18.358 --> 00:39:21.178
Lösung in einem Kompromiss, zu sagen, okay, ich habe meine Ansicht nach nicht

00:39:21.178 --> 00:39:24.098
ganz richtig, hier habe ich das nicht beachtet und man ist halt schlauer.

00:39:24.601 --> 00:39:27.841
Ja, genau. Oder man hat halt zwei grundlegend verschiedene Ansichten zu einem

00:39:27.841 --> 00:39:31.521
Ding und dann muss man einfach auch mit dieser Differenz leben können,

00:39:31.741 --> 00:39:33.861
dass man sagt, okay, wir sind einfach unterschiedlicher Meinung von so einem Ding.

00:39:34.021 --> 00:39:36.801
Das ist ja auch etwas, was man mal lernen muss, wenn man erwachsen wird.

00:39:39.621 --> 00:39:44.061
Absolut, absolut. Ja, aber gerade was dieses Tooling im JavaScript angeht,

00:39:44.221 --> 00:39:46.461
dass da noch viel rauszuholen ist, also ich habe da mit jemandem gesprochen,

00:39:46.721 --> 00:39:51.661
der sich da unglaublich viele Jahre mit beschäftigt hat, der quasi das Ganze

00:39:51.661 --> 00:39:53.341
quasi nochmal neu aufholen will in JavaScript.

00:39:53.721 --> 00:39:56.781
Ich habe keine Ahnung, ob das jemals schaffen wird, weil der hat noch nichts,

00:39:56.901 --> 00:39:58.021
was man irgendwo benutzen kann.

00:39:58.241 --> 00:40:01.101
Aber der hat halt einfach die Annahme getroffen, dass JavaScript eigentlich

00:40:01.101 --> 00:40:04.181
schnell genug ist. Man müsste eigentlich nur das nochmal neu ordentlich machen.

00:40:04.361 --> 00:40:05.541
Und ich wünsche ihm alles Beste.

00:40:06.601 --> 00:40:10.241
Aber ja, ist halt der Meinung, dass Void Zero eben so ein bisschen in die Seite

00:40:10.241 --> 00:40:12.661
damit fährt, dass sie einfach natürlich jetzt tausend mal Schöner sind.

00:40:13.581 --> 00:40:15.181
Ups, sorry, not sorry.

00:40:16.341 --> 00:40:19.601
Konkurrenz gilt das Geschäft, sage ich ja nur. Aber wenn da was rauskommt,

00:40:19.661 --> 00:40:22.501
was er da baut, also ich denke schon, das könnte auch allgemein als Tooling,

00:40:22.641 --> 00:40:25.841
ganz abgesehen davon, ob es ISNit oder Co ersetzt, sehr interessant werden.

00:40:25.921 --> 00:40:27.901
Ich bin sehr gespannt, ob da was kommt.

00:40:28.741 --> 00:40:32.961
Ja, same. Ich beobachte im Space auch alles, was so geht. Mal schauen.

00:40:34.441 --> 00:40:38.661
Worüber ich sehr, sehr, ich sag mal, worüber ich großes Interesse hege,

00:40:38.841 --> 00:40:42.221
ist die Engine, Poffor nennt sich die, wo es dir darum geht,

00:40:42.601 --> 00:40:46.161
die ist in JavaScript und TypeScript geschrieben, wird dann aber ahead of time

00:40:46.161 --> 00:40:48.221
zu WASM compiled, und ist damit super schnell.

00:40:48.421 --> 00:40:52.761
Ist halt auch total Work in Progress, aber eine mega, mega spannende Sache,

00:40:52.861 --> 00:40:55.561
wo ich auch sage, okay, man nimmt JavaScript als erste Sprache,

00:40:55.701 --> 00:40:58.821
compile das dann in WASM, ein wildes Projekt.

00:41:00.301 --> 00:41:02.601
Ich freue mich aber immer regelmäßig, wenn es da Fortschritte gibt,

00:41:02.761 --> 00:41:06.121
weil ich meine, das ist halt, keine Ahnung, das macht man, das sieht man auch nicht alle Tage.

00:41:07.121 --> 00:41:09.921
Also der Tag, wo man tatsächlich teils gut schreiben kann und da der eine Byray

00:41:09.921 --> 00:41:11.941
rausbekommt, das ist eigentlich Traum.

00:41:13.221 --> 00:41:17.801
Weil sonst, also ganz Anfang gab es halt dieses, wie hieß es, Assembly Scripts.

00:41:18.111 --> 00:41:21.131
Womit man halt JavaScript optimieren wollte für die Runtimes.

00:41:21.251 --> 00:41:22.551
Daraus ist ja Web-Cent-Bist-Bist-Entstanden.

00:41:22.991 --> 00:41:26.351
Letztendlich war das nur ein Subset von JavaScript, was halt ein bisschen respektiver war.

00:41:27.131 --> 00:41:29.811
Und da gab es schon die erste Idee, wie wäre es denn, wenn man dann anfangen

00:41:29.811 --> 00:41:32.871
könnte, JavaScript oder halt TypeScript dahin zu kompilieren und so,

00:41:32.971 --> 00:41:34.251
aber das wurde nicht so richtig was.

00:41:34.391 --> 00:41:36.511
Aber vielleicht ist ja irgendwann TypeScript auch da, dass man sagen kann,

00:41:36.611 --> 00:41:37.791
wir sind jetzt so strikt mit den Types.

00:41:38.031 --> 00:41:42.111
Wir können das jetzt tatsächlich richtig kompilieren. Das wäre wirklich was.

00:41:43.931 --> 00:41:48.671
Mal gucken, wo die Reise dann noch hingeht. Fokust aber wieder zurück auf Eherchen I an sich.

00:41:49.471 --> 00:41:52.351
Ihr habt ja drei, also vielleicht nochmal zu den anfänglichen Konzepten.

00:41:52.471 --> 00:41:55.331
Wir sind schon sehr tief eingestiegen. Aber ihr habt ja diese drei Säulen auf der Website.

00:41:55.631 --> 00:41:58.911
Und auch im Discord, wo ihr regelmäßig sagt, okay, man kann das so ein bisschen

00:41:58.911 --> 00:42:00.471
ein paar Sachen eingliedern.

00:42:00.571 --> 00:42:03.711
Und zwar, ihr habt ja Cleanup, Speedup und Levelup, so als Idee.

00:42:04.111 --> 00:42:06.671
Kannst du nochmal groben Übersicht geben? Wir haben ja wieder Performance.

00:42:06.991 --> 00:42:10.031
Und es gibt ja die unterschiedlichsten Richtungen. Was sind diese drei Säulen?

00:42:10.251 --> 00:42:12.871
Und vielleicht, wofür könnte sich der andere interessieren?

00:42:13.831 --> 00:42:15.711
Was gibt es da für Spezialgebiete sozusagen?

00:42:16.751 --> 00:42:19.951
Ja, also Cleanup ist quasi einfach das Stupide, will ich es nicht nennen,

00:42:20.011 --> 00:42:22.771
aber das Ersetzen von alten Dependencies mit neuen.

00:42:23.111 --> 00:42:28.091
Das ist halt einfach das Aufräumen. Man braucht es nicht mehr oder es wird nativ

00:42:28.091 --> 00:42:29.351
unterstützt und sowas alles.

00:42:30.011 --> 00:42:33.251
Einfach alles aufräumen, was geht. Es ist auch das, wo tatsächlich sehr,

00:42:33.311 --> 00:42:36.191
sehr viel das Effort zugegangen ist, jetzt am Anfang vor allen Dingen,

00:42:36.551 --> 00:42:39.131
weil es halt einfach ein Task ist, den sich jeder zutraut.

00:42:39.191 --> 00:42:43.191
So ein PR zu erstellen, kann halt jeder, der schon mal GitHub benutzt hat,

00:42:43.771 --> 00:42:46.691
es ist natürlich immer ein bisschen schwierig, sich auch zu trauen,

00:42:46.751 --> 00:42:47.651
gerade wenn man Anfänger ist,

00:42:48.451 --> 00:42:51.971
in so großen Projekten zu sagen, hey Mensch, jetzt bin ich hier als Kleider

00:42:51.971 --> 00:42:55.131
noch nie irgendwo was maintained und jetzt mache ich hier was.

00:42:56.071 --> 00:43:01.191
Aber meistens sind die Leute total welcoming und wenn man nicht gerade mit so

00:43:01.191 --> 00:43:03.791
einem PR direkt ankommt und direkt sagt, tausend Sachen behauptet.

00:43:05.311 --> 00:43:06.751
Hat man eigentlich nur positiven Feedback.

00:43:07.231 --> 00:43:10.551
Man kann ja auch zuerst immer mit dem Issue rangehen und einfach mal die Wasser

00:43:10.551 --> 00:43:15.651
testen oder auf andere Weise auf den Contributor zugehen und zu gucken, ob der dafür offen ist.

00:43:15.711 --> 00:43:20.331
Wenn der dafür offen ist, dann FireAway schön viele PRs machen und dann werden

00:43:20.331 --> 00:43:21.331
die auch meistens alle gemerscht.

00:43:21.411 --> 00:43:23.691
Das ist ein tolles Gefühl. Das sollte SpeedUp.

00:43:25.971 --> 00:43:29.211
SpeedUp ist einfach nur alles schneller machen. Oftmals ist das so ein bisschen,

00:43:29.331 --> 00:43:32.311
kommt das mit einher, indem man das einfach ersetzt, was man vorher hatte,

00:43:32.311 --> 00:43:33.251
weil das meistens schneller ist.

00:43:33.691 --> 00:43:37.351
Aber oftmals, gerade bei der Prettiest TNI, da ist natürlich ganz viele Dependencies

00:43:37.351 --> 00:43:41.491
haben sich geändert, aber Prettiest TNI als als Bibliothek, als Tool ist schneller gebaut.

00:43:41.811 --> 00:43:44.331
Und da geht es dann letztendlich auch um das Tiny-Globby, was schneller ist,

00:43:44.351 --> 00:43:49.251
das Globby und so eine Sachen halt, dass man auch in Packet reingeht und versucht,

00:43:49.351 --> 00:43:51.911
die auch vor Ort auch schneller zu machen, wenn die Leute dafür offen sind.

00:43:52.351 --> 00:43:55.931
Da ist es dann ein bisschen schwieriger teilweise, weil oftmals hat man entweder,

00:43:56.851 --> 00:43:59.491
Performance oder halt Gemütlichkeit, sagst du, nennst du mal so,

00:43:59.711 --> 00:44:04.851
in vielen Bibliotheken, die sind sehr offen, was die Inputs angeht und die Outputs.

00:44:04.891 --> 00:44:08.411
Die können sehr viel und akzeptieren sehr viel und werden dadurch langsamer.

00:44:08.411 --> 00:44:11.791
Und in diesen neueren, schnelleren Tools muss man teilweise ein bisschen versatilter

00:44:11.791 --> 00:44:16.331
sein, damit man die Daten auch wirklich performant handeln kann. Das Level-Up-

00:44:17.904 --> 00:44:22.004
Das weiß ich jetzt gar nicht, was es jetzt genau war. Muss ich nochmal gucken.

00:44:24.224 --> 00:44:28.044
Wir erstellen neue Pakete, die sozusagen alte Pakete ablösen und halt spezifische

00:44:28.044 --> 00:44:31.924
sind, etc. Also wirklich dieses ich ersetze Pakete mit neueren Versionen.

00:44:32.384 --> 00:44:35.964
Ach ja, dann ist es das. Ah ja, ich sehe es gerade. Wenn ich es so richtig verstanden

00:44:35.964 --> 00:44:39.884
habe. Letztes Mal, als ich mit James drüber geredet habe, war es so die Richtung.

00:44:41.004 --> 00:44:42.584
Ja, aber es ist, ja.

00:44:43.804 --> 00:44:47.664
Es bescheidet sich halt auch wieder sehr viel. Wo man sagt, so Level-Up,

00:44:48.504 --> 00:44:51.184
wurde mehrfach selber gesagt, Level-Up-Kleber gehört so ein bisschen zusammen,

00:44:51.324 --> 00:44:54.024
aber so dieses nochmal der Unterschied mit, okay,

00:44:54.844 --> 00:44:59.224
neuere, so, ich sag mal, Unix-Philosophie, klarer Scope, nicht zu klein,

00:44:59.284 --> 00:45:03.944
nicht zu groß, ist auf jeden Fall super spannend, was das eigentlich alles abdeckt,

00:45:05.064 --> 00:45:06.624
aber modern ist, beispielsweise.

00:45:08.204 --> 00:45:12.244
So Clean-Up ist schon eher so, hey, da ist Globby und das ist jetzt mit Tiny

00:45:12.244 --> 00:45:14.844
Globby und dann habe ich auch fast quasi nichts damit zu tun,

00:45:14.904 --> 00:45:18.104
im besten Fall muss ich jetzt wirklich gar nichts tun, außer meinen Input zu ändern.

00:45:18.384 --> 00:45:21.884
Und bei Level Up, da müsste ich vielleicht schauen, ob das jetzt in meinem Projekt

00:45:21.884 --> 00:45:26.244
möglich ist und ob ich da jetzt was ersetzen kann oder vielleicht hinzufüge,

00:45:26.324 --> 00:45:29.744
was vielleicht ein bisschen mehr Arbeit erfordert, aber vielleicht auch eben dafür sorgt,

00:45:29.964 --> 00:45:37.504
dass meine JavaScript-Codebase einfach modern bleibt und vielleicht auch noch

00:45:37.504 --> 00:45:40.804
ein bisschen JQuery drin ist, aber trotzdem, dass ich eben schon Tools von UnJS

00:45:40.804 --> 00:45:43.964
verwenden kann, um so einen kompletten Kreis herzustellen.

00:45:44.560 --> 00:45:48.540
Ich würde aber mal ganz kurz bei SpeedUp und bei der, beziehungsweise speziell

00:45:48.540 --> 00:45:52.720
auf die Prettier CLI nochmal da nachhaken, ob ich dieses richtig verstanden

00:45:52.720 --> 00:45:54.240
habe, dass die schneller ist.

00:45:54.940 --> 00:45:59.080
Heißt das zum Beispiel, dass Prettier schneller durchläuft oder auch wenn ich

00:45:59.080 --> 00:46:03.400
Prettier Ride und Autofix mache, dass das auch einen Ticken schneller passiert

00:46:03.400 --> 00:46:06.580
oder was genau bedeutet, dass Prettier CLI schneller ist? Genau das.

00:46:06.840 --> 00:46:11.180
Also es handelt einfach das, was es machen soll, nämlich alles ist pretty fine,

00:46:11.520 --> 00:46:12.440
ist jetzt einfach schwer da.

00:46:12.560 --> 00:46:17.380
Also momentan, ich bin mir nicht ganz sicher, ob das, das war ein Experimental-Flag

00:46:17.380 --> 00:46:19.980
gewesen, was man noch nehmen musste, damit das so lief.

00:46:19.980 --> 00:46:23.160
Ich bin mir nicht ganz sicher, wie weit die da schon sind, bis es dann rausgerollt

00:46:23.160 --> 00:46:27.520
wird. Und gerade dadurch, dass wir jetzt halt viele neue Libraries benutzen,

00:46:27.720 --> 00:46:31.040
die teilweise auch gerade erst neu geschrieben wurden, auch von Community-Members.

00:46:31.740 --> 00:46:34.840
Müssen sie halt noch so ein bisschen in der Wildnis getestet werden.

00:46:34.980 --> 00:46:39.100
Und viele Leute wollen auch keine neuen Bibliotheken reinholen,

00:46:39.160 --> 00:46:40.480
solange sie nicht battle-testet sind.

00:46:41.480 --> 00:46:45.780
Und für sowas bietet sich halt sowas an und da sind es aber Pretty ja,

00:46:45.840 --> 00:46:46.580
glaube ich, ganz gut dabei,

00:46:46.700 --> 00:46:49.760
dass sie das auch angenommen haben und jetzt wird es halt mit dem Experimental

00:46:49.760 --> 00:46:53.060
Flight getestet und irgendwann wird das wahrscheinlich einfach zu start werden

00:46:53.060 --> 00:46:56.840
und dann werden wir alle einfach ein schnelleres Pretty ja haben und das ist einfach schön.

00:46:57.220 --> 00:47:01.900
Keiner muss was dazu tun, außer Dependency upgraden, ja, das ist halt das Beste,

00:47:02.260 --> 00:47:04.220
so gratis Speedwins, absolut.

00:47:04.900 --> 00:47:07.500
Ja, das ist wirklich schön. Ich weiß ja nicht, ob ihr Renovate kennt,

00:47:07.580 --> 00:47:08.460
wahrscheinlich kennt ihr Renovate.

00:47:08.900 --> 00:47:14.100
Ja, ja. Falls nicht, vielleicht die Hörer kennen es nicht. Also erzähl gerne mal, was Renovate ist.

00:47:14.560 --> 00:47:17.860
Also Renovate erstellt automatisch PRs in deinem Repository,

00:47:17.880 --> 00:47:21.820
wenn du das aktiviert hast, um halt Dependencies abzudaten, abzugraden.

00:47:22.120 --> 00:47:24.800
Und das macht es halt nach verschiedenen Regeln, die du auch selbst definieren

00:47:24.800 --> 00:47:28.040
kannst. Wie oft, wie viel sowas alles.

00:47:28.300 --> 00:47:31.660
Minus, Mages, sowas alles. Filter hat man da auch.

00:47:32.020 --> 00:47:35.740
Es ist sehr konfigurierbar und ich würde es jedem empfehlen,

00:47:35.820 --> 00:47:38.320
der in irgendeiner Firma sitzt und da ein bisschen Macht drüber hat.

00:47:38.460 --> 00:47:42.800
Das einfach mal einzurichten, weil es auch sehr viele Sachen einfach finden kann.

00:47:43.399 --> 00:47:46.499
Es kann ein bisschen nervös sein, wenn dann jeden Tag ein neuer Renovate-PR da ist.

00:47:47.179 --> 00:47:50.559
Das wollte ich gerade noch so bei meinem Satz sagen, ja, klar kann ich Renovate.

00:47:50.599 --> 00:47:55.359
Ich bekomme jeden Tag gefühlt einen Merch-Request.

00:47:55.479 --> 00:48:00.299
Ich muss dazu sagen, ich bin bei GitLab Reviewer bei sehr vielen Repositories.

00:48:00.499 --> 00:48:01.419
Ich bin da so reingerutscht.

00:48:02.039 --> 00:48:06.659
Das heißt, ich bekomme von mehreren Repositories dann die Wüsste das updaten.

00:48:06.779 --> 00:48:08.779
In welchem Repository bin ich denn eigentlich gerade?

00:48:09.699 --> 00:48:14.719
Und ich glaube, mancher muss man sie es ein bisschen klug konfigurieren,

00:48:14.999 --> 00:48:16.779
weil ich teste das auch gerne aus.

00:48:17.379 --> 00:48:21.339
Die meisten Sachen, wenn sie nicht gehen, die fällen ja direkt in der Pipeline,

00:48:21.459 --> 00:48:24.699
weil dann bildet es nicht mehr korrekt oder es testet nicht mehr korrekt oder

00:48:24.699 --> 00:48:27.119
Linter ist nicht mehr korrekt. Wenn man Tests hat, ne?

00:48:29.519 --> 00:48:32.979
Ein Failing Build ist auch ein Test. Ja, stimmt, okay.

00:48:34.239 --> 00:48:38.879
Wow, wow. Aber es gibt, und das passiert wirklich nicht oft,

00:48:38.979 --> 00:48:41.019
also ich möchte jetzt keinen hier irgendwie Angst machen,

00:48:41.199 --> 00:48:44.619
aber ganz selten kann es passieren, dass da was geupdatet wird und es hat dann

00:48:44.619 --> 00:48:48.139
tatsächlich Auswirkungen, auch zum Beispiel Storybook, dass dann irgendwie die

00:48:48.139 --> 00:48:51.499
einen Special Docs nicht mehr richtig geladen werden und es klappt natürlich nur,

00:48:51.939 --> 00:48:55.419
indem ich das Storybook nochmal neue Bilder draufgehe, schaue,

00:48:55.859 --> 00:48:59.159
bei zwei Componenten schauen die Seiten okay aus und dann passt es, ja.

00:48:59.739 --> 00:49:03.499
Und ich bin auch immerhin dann wieder am Überlegen, ob man die so ein bisschen

00:49:03.499 --> 00:49:07.339
gruppieren kann. So, hey, kannst du mir so fünf Package-Updates gleichzeitig geben?

00:49:07.539 --> 00:49:11.079
Weil dann kann ich halt einmal neu installieren, einmal draufgehen.

00:49:11.179 --> 00:49:13.699
Aber dann ist natürlich doof und irgendwas nicht davon geklappt hat. Blablabla.

00:49:13.979 --> 00:49:16.959
Es gibt da auch ein ganz nettes, wie es Coach, wahrscheinlich bestimmt auch

00:49:16.959 --> 00:49:21.799
bei jeder IDE, irgendwelche Plugins, die dir auch so ohne Renovate anzeigen,

00:49:22.419 --> 00:49:25.099
dass es neue Versionen von Packages gibt.

00:49:25.439 --> 00:49:28.659
Und ich glaube, mein größter Tipp ist da auch einfach schauen,

00:49:28.659 --> 00:49:31.559
dass es nie outdated wird hier generell, die Packages, aber ich meine,

00:49:31.619 --> 00:49:33.599
das ist ja die Story, die wir die ganze Zeit erzählen.

00:49:33.919 --> 00:49:37.159
Oder wenn dann sich vielleicht wirklich mal so mal zwei, drei Tage hinhocken

00:49:37.159 --> 00:49:41.239
und das mal ein Gat ziehen, einmal gescheit, damit man da dann am Ball bleiben

00:49:41.239 --> 00:49:43.779
kann, weil das ist echt, das ist so ein bisschen wie Hausputzen, gell?

00:49:43.899 --> 00:49:46.779
Wenn es einmal gescheit sauber ist, dann ist es schon echt leichter sauber zu

00:49:46.779 --> 00:49:51.579
halten, als wenn du dir immer denkst, oh, jetzt muss ich wieder hier so nur

00:49:51.579 --> 00:49:53.459
mal kurz reinschnitten, dann wird das einfach nichts.

00:49:54.259 --> 00:49:58.319
Gerade bei Renewade habe ich so eine kleine Horror-Story auch zu erzählen,

00:49:58.319 --> 00:50:02.119
Da wurde nämlich einmal die Firebase-Admin-Konsole oder Firebase-CLI,

00:50:02.199 --> 00:50:04.759
also das, was man letztendlich ausführt, geupdatet.

00:50:04.859 --> 00:50:08.839
Und dann haben sie einfach mal die Minus-D für Directiony-Flag einfach weggenommen.

00:50:09.419 --> 00:50:12.859
Sie wurde aber auch nicht gefailt, wenn man sie angegeben hat.

00:50:12.979 --> 00:50:16.999
Das heißt, wenn wir dann quasi ein Cleanup gemacht haben, ist das dann nicht

00:50:16.999 --> 00:50:20.639
mehr ein Unterbucket, also ein Unterordner passiert, sondern einfach das gesamte

00:50:20.639 --> 00:50:23.319
Bucket wurde fast gecleared, wenn das nicht jemand mitbekommen hätte.

00:50:24.319 --> 00:50:27.379
Und so eine Sache kann auch passieren. Also ich finde es unglaublich,

00:50:27.379 --> 00:50:29.679
dass sich Google sowas erlauben darf.

00:50:29.999 --> 00:50:33.559
Aber es passiert halt. Und da muss man auf jeden Fall auch ein bisschen aufpassen

00:50:33.559 --> 00:50:35.919
und vielleicht auch mal durch die Change-Logs durchgucken. Es war nämlich kein

00:50:35.919 --> 00:50:37.199
Breaking-Change. Es war einfach nur,

00:50:37.935 --> 00:50:41.355
Oh ja, das ist ja weg. Das war eigentlich schon ein Break and Change,

00:50:41.455 --> 00:50:45.795
aber wurde dann nicht so angegeben. Genau, also ja, da muss man auch lieber aufpassen.

00:50:46.215 --> 00:50:49.255
Oh ja, Renovated, das macht es. Kann ein bisschen nervig sein,

00:50:49.415 --> 00:50:50.575
aber konfiguriert es euch.

00:50:51.215 --> 00:50:53.695
Vielleicht auch nur einmal pro Woche oder einmal im Monat. Und dann,

00:50:54.055 --> 00:50:56.915
wenn ihr in eine kleinere Firma seid, könnt ihr das eh meistens in einem Rutsch machen.

00:50:57.095 --> 00:51:00.335
Und wenn da was fehlt, könnt ihr ja von Hand auch diese Version zurücksetzen.

00:51:01.395 --> 00:51:05.815
Das geht meistens relativ gut. Und wir sind auch dabei, ich bin mir noch nicht

00:51:05.815 --> 00:51:08.335
sicher, wie weit das gediegen ist, eine E18E,

00:51:09.335 --> 00:51:17.655
Version, eine Schablone davon quasi zu haben, sodass man dann auch diese Package-Upgrades mit,

00:51:17.855 --> 00:51:22.975
also diese E18E-Upgrades quasi auch mit als PR bekommt, dass man dann sieht,

00:51:23.055 --> 00:51:25.255
wir können dieses Package mit dem ersetzen und so ein Spaß.

00:51:26.035 --> 00:51:29.675
Ah, okay, sehr cool. Das wusste ich gar nicht. Genau, da sind wir auf jeden

00:51:29.675 --> 00:51:33.415
Fall im Gespräch, James ist im Gespräch, da hat die Kontakt die beiden,

00:51:33.635 --> 00:51:37.075
der kennt ja die gesamte Welt, wenn es die Jaws-Kreate zumindest ist.

00:51:39.555 --> 00:51:41.935
Und genau, und da bin ich mir ganz gespannt, was da rauskommt,

00:51:42.075 --> 00:51:42.995
weil das wäre auf jeden Fall auch noch was.

00:51:43.115 --> 00:51:45.755
Weil das würde uns viel Arbeit abnehmen, weil es einfach automatisch passiert.

00:51:45.855 --> 00:51:49.635
Die Leute kommunizieren einfach selbst auf einmal und das ist einfach auch wieder ganz praktisch.

00:51:51.615 --> 00:51:54.875
Superspannend. Ich glaube, du hast ja vorhin das Pritial noch erwähnt,

00:51:55.355 --> 00:51:58.235
ein Thema, Pritial ist ja schon was, was super viele Leute nutzen,

00:51:58.615 --> 00:52:02.415
auch wenn es andere Formatter, so wie D-Print und Abbiome und Co. ja auch gibt.

00:52:02.995 --> 00:52:05.935
Aber allein zu sagen, okay, es gibt so viel, was rauszuholen ist.

00:52:05.955 --> 00:52:08.115
Ihr habt ja einen super interessanten einen Blogpost auch drüber geschrieben,

00:52:08.255 --> 00:52:13.175
wo du sagst, okay, so rein zeittechnisch ändert es sich halt auch schon drastisch.

00:52:13.255 --> 00:52:16.755
Wenn man sagt, wie 9 Sekunden anstatt 29 Sekunden für die, ich glaube,

00:52:16.835 --> 00:52:18.655
TypeScript DS-Code-Basis oder sowas war das.

00:52:18.835 --> 00:52:21.095
Und man sagt, okay, das ist halt schon ganz solide.

00:52:21.435 --> 00:52:25.975
Und dann irgendwie sogar 1,6, wenn man sagt, okay, ich lasse das mal mit dem

00:52:25.975 --> 00:52:27.795
Test laufen, statt 29 davor.

00:52:28.055 --> 00:52:30.415
Das macht halt schon einen großen Unterschied, allein für die Produktivität

00:52:30.415 --> 00:52:31.975
der Entwickler. Also, dass es,

00:52:32.786 --> 00:52:36.826
mega, was da rausgekommen ist. Das ist auf jeden Fall, also das ist auch der

00:52:36.826 --> 00:52:40.586
große Grund, warum ich jetzt auf das TSGO hätte dermaßen darauf warte,

00:52:40.666 --> 00:52:41.386
dass das nicht mehr rauskommt,

00:52:41.526 --> 00:52:45.186
weil das einfach unglaublich cool wird, wenn einfach mal die gesamte Idee einfach

00:52:45.186 --> 00:52:49.246
besser funktioniert, weil man wartet teilweise nicht einfach und wartet darauf,

00:52:49.326 --> 00:52:51.646
dass was passiert und das ist alles Zeit, die einfach drauf geht,

00:52:51.886 --> 00:52:53.646
weil in der Zeit denkt man auch nicht konstruktiv nach.

00:52:54.526 --> 00:52:56.006
Das ist halt viel zu kurz, genau.

00:52:57.406 --> 00:53:00.566
Naja, man wartet ja auch, man startet drauf und dabei denkt man ja nicht.

00:53:01.586 --> 00:53:04.046
Also bei mir war das zumindest bei großen Code-Bases so, dass ich teilweise

00:53:04.046 --> 00:53:05.306
dann den Loading-Spinner bekomme.

00:53:05.406 --> 00:53:07.846
Ich versuche gerade eine Datei zu speichern, aber irgendwie braucht da Pretty

00:53:07.846 --> 00:53:11.146
ja noch so dermaßen ewig oder so. Oder ihr ist Lint oder was weiß ich.

00:53:11.946 --> 00:53:17.506
Alles. Und so das XKCD von damals mit, ja, das Compiling, wenn die zwei Leute

00:53:17.506 --> 00:53:19.486
mit den Schwertern kämpfen, ihr kennt das ja, ist jetzt mittlerweile,

00:53:19.626 --> 00:53:22.446
ja, it's Linting oder it's Formating schon ähnliches. Ich dachte eher,

00:53:22.506 --> 00:53:23.826
das wäre das AI-Ding jetzt.

00:53:24.086 --> 00:53:26.086
It's Generating. True, mittlerweile.

00:53:26.666 --> 00:53:28.806
Richtig. Oh, thank you.

00:53:31.066 --> 00:53:37.186
So rückst du pretty ja ganz schnell. Das eine ist ja, das in der IDE da zu warten

00:53:37.186 --> 00:53:41.126
und übrigens sollte es irgendjemand zuhören und weiß überhaupt nicht,

00:53:41.226 --> 00:53:44.146
warum man da irgendwas schneller machen müsste, weil es ist ja alles so schnell.

00:53:44.566 --> 00:53:48.946
Dann bin ich ganz kurz neidisch auf deine kleine Codebase, aber es gibt große

00:53:48.946 --> 00:53:50.766
Codebases und die Wartezeiten.

00:53:51.546 --> 00:53:55.646
Manchmal sage ich ja auch, ich will auch nicht übertreiben, man muss das noch

00:53:55.646 --> 00:53:58.146
overengineeren und das noch verschnellern, weil bei anderen,

00:53:58.946 --> 00:54:01.526
Programmiersprachen dauert so ein Bild vielleicht wirklich mal dreissig Minuten

00:54:01.526 --> 00:54:04.026
und dann muss man es erstmal bei Apple oder Google, keine Ahnung,

00:54:04.086 --> 00:54:06.506
wie das da überall abläuft, irgendwie einreichen und zwei Tage warten,

00:54:06.566 --> 00:54:07.386
bis der was released wird.

00:54:08.046 --> 00:54:13.366
Aber das eine ist ja, wie gesagt, das sind VS Code und anderen IDEs,

00:54:13.506 --> 00:54:16.626
aber vor allem in Pre-Commit-Hooks und Pre-Push-Hooks.

00:54:16.746 --> 00:54:19.486
Und das finde ich auch, das ist so ein bisschen wie Renovate.

00:54:19.666 --> 00:54:23.966
Das ist extrem gut, aber auch extrem nervig kann das sein.

00:54:24.126 --> 00:54:31.726
Und ich finde gerade der Pre-Commit-Hook, den darf man wirklich nicht so vollpacken,

00:54:31.786 --> 00:54:37.726
weil das führt nur dazu, dass es NoVerify ist, falls jemand das noch nicht kannte.

00:54:37.986 --> 00:54:40.506
Das schaltet dir halt deine Pre-Commit-Hooks aus.

00:54:41.406 --> 00:54:43.606
Ihr habt das jetzt gesagt, das ist eure Verantwortung.

00:54:44.566 --> 00:54:50.566
Hab ich schon gemacht. Hat jeder schon mal gemacht, der es kennt, weil ich meine,

00:54:51.166 --> 00:54:53.186
manchmal sind es einfach so, wenn du denkst, ich warte jetzt nicht irgendwie

00:54:53.186 --> 00:55:00.886
5 oder 50 Sekunden für jede Commit-Hook, das ist, ja, ich will es auch absolut

00:55:00.886 --> 00:55:04.346
nicht schlechtreden, ich möchte gleich dazu sagen, ich verwende es mehrmals täglich.

00:55:04.526 --> 00:55:08.306
Es liegt aber daran, dass ich sehr viele kleine Commits manchmal mache,

00:55:08.406 --> 00:55:11.306
weil ich Merge Request reinbekomme, den muss ich Code-Reviewen.

00:55:11.346 --> 00:55:13.426
Das heißt, ich muss meinen, ich will nicht mal alle Stashes,

00:55:13.486 --> 00:55:17.586
sonst habe ich da mein ganzes Bäumchen an Stashes. Also mache ich schnell einen Temp-Commit.

00:55:17.866 --> 00:55:21.126
Natürlich will ich nicht, dass ich will, dass die Commit-Message gelintet wird,

00:55:21.266 --> 00:55:22.326
noch dass es prettier läuft.

00:55:22.766 --> 00:55:26.086
Dann mache ich einen Dash-No-Verify, damit ich dann schnell wechseln kann.

00:55:26.862 --> 00:55:30.022
Aber ich arbeite halt auch in Repositories, wo ich ganz einfach auch wieder

00:55:30.022 --> 00:55:33.622
rebasen kann, damit ich meine Commit-History auch wieder aufräumen kann und

00:55:33.622 --> 00:55:36.182
ich kann Force-Pushen, damit ich dann mein Rebase wieder pushen kann,

00:55:36.282 --> 00:55:37.602
damit ich das alles wieder aufräumen kann.

00:55:38.082 --> 00:55:42.122
Aber manchmal geht das nicht und dann wird es natürlich ein bisschen komplizierter

00:55:42.122 --> 00:55:44.162
oder man hat vielleicht doch schon mal gemerged, hat gerebased,

00:55:44.222 --> 00:55:45.882
dann wird, wie gesagt, alles ein bisschen komplizierter.

00:55:47.482 --> 00:55:51.482
Aber den Punkt, den ich da machen will, manchmal sind halt einfach auch die

00:55:51.482 --> 00:55:53.222
Developer-Setups sehr unterschiedlich.

00:55:53.762 --> 00:55:56.682
Es gibt vielleicht jetzt in diesem Repository sehr viele Personen,

00:55:56.982 --> 00:56:02.362
die eh Pritia und ESLint eh im Browser haben, wo das vielleicht gar nicht passiert,

00:56:02.642 --> 00:56:05.522
dass sie das im Pre-Commit-Hook bräuchten.

00:56:06.602 --> 00:56:10.382
Aber vielleicht kann man auch als Fullstick-Engineer oder auch als Backend-Engineer

00:56:10.382 --> 00:56:13.542
hat man ja mittlerweile, vielleicht auch mit AI, dann die Möglichkeit,

00:56:13.822 --> 00:56:15.462
mal ein bisschen was im Frontend zu machen.

00:56:15.582 --> 00:56:21.062
Man hat eben nicht ihr Slint & Pretty am Browser-ID hier aufgesetzt und sagt

00:56:21.062 --> 00:56:23.402
dann, hey, vielleicht bräuchte ich das schon im Pre-Commit-Hook,

00:56:23.502 --> 00:56:25.522
weil das wäre ja voll super, weil das ist ein Pre-Push-Hook,

00:56:25.642 --> 00:56:29.762
aber dann muss ich ja noch ein extra Commit machen und so weiter.

00:56:30.522 --> 00:56:33.462
Und wie gesagt, da finde ich es echt schwierig. Soll man das jetzt reinnehmen

00:56:33.462 --> 00:56:36.862
oder nicht, ist dann eine echte Diskussion, weil ich eben schon die Verfürchtung

00:56:36.862 --> 00:56:41.342
habe, dass das alles mit einem Dash-No-Verify weggemacht wird.

00:56:42.402 --> 00:56:45.742
Gibt es einen Opt-In? Gibt es das nicht? Ich weiß ehrlich gesagt an dieser Stelle

00:56:45.742 --> 00:56:49.762
gar nicht, ob man Pre-Commit-Tox so konfigurieren kann, dass man da so Opt-Innen

00:56:49.762 --> 00:56:52.622
kann und Opt-Outen kann von diversen Jobs. Ich weiß das ehrlich gesagt gar nicht,

00:56:52.702 --> 00:56:53.402
vielleicht wisst ihr das ja.

00:56:53.942 --> 00:56:58.702
Aber long story short, ja, je kürzer solche kleinen Sachen sind und wenn es

00:56:58.702 --> 00:57:03.322
teilweise um nur Sekunden geht, das kann extrem hilfreich sein.

00:57:04.602 --> 00:57:08.042
Auf jeden Fall, also Pre-Commit-Hooks versuche ich eigentlich immer nicht zu

00:57:08.042 --> 00:57:10.962
haben weil sie mir immer kurz und lang immer auf den Sack gehen,

00:57:11.482 --> 00:57:17.102
egal was es war, oftmals wurde da ein Skript geschrieben, was da läuft was irgendwelche

00:57:17.102 --> 00:57:19.282
Ticket-IDs davor packen soll,

00:57:19.402 --> 00:57:22.542
bevor ich eigentlich ein Commit und dann failen die Skripte aus irgendeinem

00:57:22.542 --> 00:57:27.702
Grund und dann kannst du nicht committen und dann finde ich ganz anstrengend,

00:57:27.742 --> 00:57:29.722
deswegen versuche ich da immer möglichst einen großen,

00:57:30.462 --> 00:57:34.062
Kreis drum rum zu machen, aber sie sind natürlich oftmals, äh,

00:57:34.282 --> 00:57:35.302
sind sie natürlich mandatory.

00:57:35.522 --> 00:57:37.622
Man soll sie haben in vielen Firmen und auch benutzen.

00:57:38.262 --> 00:57:40.742
Und da muss man auf jeden Fall Tools wählen, die schnell sind.

00:57:40.942 --> 00:57:44.702
Alles andere, da, da, da, da, da geht man ja verrückt bei, wenn man ständig,

00:57:44.882 --> 00:57:47.682
also selbst wenn es so zwei Sekunden sind, man wartet die zwei Sekunden,

00:57:48.082 --> 00:57:50.782
ähm, und macht nichts anderes. Regelmäßig. Ja. Ständig.

00:57:51.762 --> 00:57:56.122
Äh, ich weiß nicht, ob man, ob man die ganzen Hooks,

00:57:56.867 --> 00:57:59.267
Kann man bestimmt auch irgendwie konfigurieren, dass das je nach I don't know,

00:57:59.387 --> 00:58:00.807
Branch oder so gemacht wird oder nicht.

00:58:01.567 --> 00:58:05.267
Ich habe dazu tatsächlich zwei Sachen. Zum einen habe ich eine Story von einer

00:58:05.267 --> 00:58:06.287
App, die an sich Outline.

00:58:07.287 --> 00:58:10.927
Die haben einfach mal ES-Lint in ihren Pre-Commit-Hooks drin gehabt.

00:58:11.527 --> 00:58:15.187
Und das waren so 70 Sekunden und haben dann, sind sie gewechselt zu Aux-Lint

00:58:15.187 --> 00:58:19.147
und haben so 350 Millisekunden gehabt. Also das macht ja nochmal einen kleinen Unterschied.

00:58:19.787 --> 00:58:22.047
Auch da Disclaimer, das war damals noch ohne Type-Aware-Linting.

00:58:22.127 --> 00:58:26.147
Also von dem etwas länger dauernden Type-Aware-Linting ohne mittlerweile.

00:58:26.647 --> 00:58:28.347
Trotzdem, es macht halt einen Unterschied, wo man sagt, okay,

00:58:28.727 --> 00:58:30.947
dann haben sie gesagt, am Ende, ja, Type-Over-Linting ist mir egal,

00:58:31.127 --> 00:58:35.507
wenn ich da von den 350 Sekunden brauche, ist mir halt die Produktivität doch ein bisschen mehr wert.

00:58:36.527 --> 00:58:38.807
Also auch das sind auf jeden Fall Sachen, wo man ein bisschen gucken muss.

00:58:39.067 --> 00:58:42.287
Das Spannende ist aber, ich bin auch hier bei dem Thema, lieber die Hooks nicht

00:58:42.287 --> 00:58:45.147
benutzen, sondern es gibt etwas, nennt sich Autofix CI.

00:58:45.747 --> 00:58:47.667
Auch da gibt es den Link dann sicher in den Show-Notes.

00:58:48.627 --> 00:58:52.267
Was zum Beispiel bei Nuxberg uns genutzt wird, noch anderen Projekten,

00:58:52.347 --> 00:58:57.087
wo es effektiv darum geht, es ist ein CI-Job und der lässt einfach die Autofixes dann laufen.

00:58:57.247 --> 00:58:59.687
Also sowas wie ein Formel mit einem Linter. Das heißt, du kannst einfach committen.

00:58:59.967 --> 00:59:02.827
Ist egal, ob da Lintfehler sind, solange die Autofix-Hübe sind, kein Problem.

00:59:03.167 --> 00:59:05.327
Wenn die Autofix-Hübe sind, gibt es dann ein Commit von Autofix-CI,

00:59:05.767 --> 00:59:06.967
wo das Ganze einfach eingespielt wird.

00:59:07.347 --> 00:59:09.347
Das heißt, es ist eigentlich komplett egal.

00:59:09.787 --> 00:59:12.507
Und natürlich, wenn es nicht Autofix-Hübe ist, sondern hier ist ein Problem,

00:59:12.567 --> 00:59:14.747
musst du selber lösen, failt die CI einfach und sagt, guck mal,

00:59:14.847 --> 00:59:17.987
bevor ich die Tests laufen lasse, irgendwas, muss da gefixt werden.

00:59:18.487 --> 00:59:22.147
Ist aber auch einfacher. Ich pull mir das Ganze runter und dann sehe ich die

00:59:22.147 --> 00:59:23.627
Fehler, dann sehe ich hier stimmt CI, alles gut.

00:59:24.907 --> 00:59:26.867
Das macht es auch ganz nett, auf jeden Fall.

00:59:28.187 --> 00:59:31.607
Sieht auf jeden Fall sehr gut aus. Also die ganzen Links sind sowieso in der

00:59:31.607 --> 00:59:33.767
Linkliste, aber ich glaube, das ist mein Highlight bis jetzt.

00:59:34.027 --> 00:59:36.567
Den mache ich da mit Sternchen hier in die Show. Nice.

00:59:36.987 --> 00:59:39.767
Ich habe jetzt auf dem einen Link jetzt aber tatsächlich auch was gesehen,

00:59:39.827 --> 00:59:43.807
was mich interessiert hat, nämlich der CodeGen-Sage-Bot, der offensichtlich

00:59:43.807 --> 00:59:46.367
das Upgrade zu UX-Link gemacht hat. Wie ist denn das passiert?

00:59:47.527 --> 00:59:51.667
Ja, also es war einfach von den Leuten über, wie es halt bei CodePilot auch

00:59:51.667 --> 00:59:52.467
geht, was sagt, hier, mach mal.

00:59:53.547 --> 00:59:56.327
Also es wurde einfach von denen angestoßen sozusagen.

00:59:57.507 --> 00:59:59.967
Naja, also ich kenne den Bot nicht, deswegen bin ich ein bisschen verwirrt.

01:00:00.627 --> 01:00:03.467
Ich glaube, es ist einfach so ein normaler Agent wie der Co-Pallet,

01:00:03.567 --> 01:00:07.427
Custis, mittlerweile auch ein Cloud-Core einfach zu sagen, hier generiere mal.

01:00:08.467 --> 01:00:12.107
Das gab es, glaube ich, nur bevor GitHub das, glaube ich, so Co-Pallet das auch selber hatte.

01:00:13.107 --> 01:00:15.527
Es gab dann noch ein paar Fixes bei uns von Leuten aus dem Team,

01:00:15.627 --> 01:00:17.367
die gesagt haben, hier, mach mal die Config noch ein bisschen besser,

01:00:17.447 --> 01:00:20.887
dies, das, so Kleinigkeiten, jetzt nichts super riesiges, also alles in allem war es schon okay.

01:00:22.207 --> 01:00:26.167
Aber auch da AI hat noch ein bisschen was zu lernen waren wir damals auch überrascht

01:00:26.167 --> 01:00:29.167
dass es tatsächlich AI basiert ist wollen wir natürlich auch gucken,

01:00:29.227 --> 01:00:32.387
dass die ganzen Tools sinnvoll oder das AI sinnvoll mit den Tools umgehen kann

01:00:32.387 --> 01:00:33.867
aber das sah schon recht gut aus.

01:00:35.613 --> 01:00:39.073
Einen ganz anderen Punkt, den ich jetzt hier beim Speed-Up-Bereich noch interessant

01:00:39.073 --> 01:00:43.173
fand, ist, ihr habt auch Coding-Tipps hier aufgelistet.

01:00:43.313 --> 01:00:45.693
Und ich freue mich gerade über

01:00:45.693 --> 01:00:50.593
den zweiten, weil es gerne auch ein Diskussionsthema immer mal wieder war.

01:00:50.753 --> 01:00:54.133
Nicht jetzt jeden Tag, aber so alle paar Jahre dritt das mal auf.

01:00:54.393 --> 01:01:03.573
Und zwar, das ist das Thema, dass man verkettete Array-Methoden doch vielleicht nicht benutzen sollte.

01:01:04.313 --> 01:01:10.553
Wie zum Beispiel Mapfilter Reduce aneinander zu hängen. Und ich bin da ein bisschen oldschool.

01:01:10.833 --> 01:01:14.593
Ich mache auch lieber die eine Vorloop, die dann alles abhandelt,

01:01:14.733 --> 01:01:18.893
die man schwerer lesen kann und nicht so anders schön aneinandergeketten kann.

01:01:20.773 --> 01:01:25.353
Und weil ich dann eben auch sage, ja, dann laufe ich ja nur einmal durch die Vorschleife durch.

01:01:25.633 --> 01:01:29.993
Dann können aber echt komplizierte Diskussionen entstehen, wo mir dann auch

01:01:29.993 --> 01:01:33.773
hin und wieder einfach das Wissen ausgeht, Wie zum Beispiel,

01:01:33.973 --> 01:01:40.173
ja, aber das wird doch bestimmt von dem Bundler oder der V8 Engine oder etc.

01:01:40.533 --> 01:01:48.233
Etc. wird es doch eh übersetzt in eine einzige For-Loop und dann wäre das ja egal.

01:01:48.413 --> 01:01:53.173
Oder auch, ja, wir reden ja hier nur von maximal 100 Items in dem Array.

01:01:53.253 --> 01:01:55.553
Was macht das hier jetzt schon für einen Unterschied, ob ich Map und Filter

01:01:55.553 --> 01:01:57.053
verwende oder nur eine For-Loop?

01:01:57.885 --> 01:02:03.845
Deswegen, Ulima, ich wollte nur fragen, hast du da ein bisschen Kontext zu dieser

01:02:03.845 --> 01:02:08.485
Diskussion hier oder hast du jetzt mit der nichts zu tun und kennst keine Geschichten

01:02:08.485 --> 01:02:10.405
dahinter, wie es genau das hier reinkam?

01:02:10.405 --> 01:02:14.365
Nee, ich kenne die Geschichte, wie die dazu geführt hat, dass es jetzt aufgeführt ist, nicht?

01:02:15.505 --> 01:02:21.325
Aber ich kann mir tatsächlich vorstellen, dass in der VA-Engine nicht übermäßig

01:02:21.325 --> 01:02:23.285
optimiert ist, solche Fälle oder auch in anderen Engines.

01:02:23.365 --> 01:02:26.245
Man muss ja auch mal denken, man kann nicht nur für eine Engine optimieren,

01:02:26.325 --> 01:02:27.985
vielleicht ist es in einer Engine auch immer noch blöd.

01:02:28.445 --> 01:02:31.425
Also mir wäre es ja am liebsten, wenn die ganzen Interratoren irgendwann mal

01:02:31.425 --> 01:02:34.385
einfach Map-Filter und Reduce bekommen würden, sodass man die trainen kann,

01:02:35.185 --> 01:02:37.305
dann den gleichen Kohl schreiben kann, aber schnell.

01:02:38.825 --> 01:02:43.525
Das wäre so das Beste, Weil Vorloops sind halt Vorloops. Die kann man nicht

01:02:43.525 --> 01:02:45.385
so schön angucken. Da weiß man nicht sofort, was abgeht.

01:02:45.705 --> 01:02:49.085
Ich habe neulich ein Go geschrieben und habe festgestellt, dass es das überhaupt nicht gibt.

01:02:49.225 --> 01:02:51.685
Man muss immer Vorloops schreiben und guckt die ganze Zeit und weiß nicht,

01:02:51.745 --> 01:02:53.985
was die Vorloop macht, weil man kein Map oder so sieht.

01:02:54.705 --> 01:02:57.505
Von daher finde ich die schon sehr gut. Aber ich kann natürlich,

01:02:57.845 --> 01:03:01.265
wenn da so Leute ankommen wie du, die dann da drauf gucken, was du meint,

01:03:01.305 --> 01:03:04.185
das muss jetzt anders, da würde ich auch mit dir diskutieren.

01:03:04.305 --> 01:03:06.445
Weil ich würde tatsächlich eher bei Map und Filter bleiben.

01:03:06.665 --> 01:03:09.805
Es sei denn, es ist wirklich nachweisbar, dass es Probleme bringt.

01:03:09.885 --> 01:03:14.065
Und ich denke, das ist auch der Punkt, der wichtig ist, dass man natürlich alles

01:03:14.065 --> 01:03:15.985
erstmal benschen sollte, bevor man irgendwann das ersetzt.

01:03:16.245 --> 01:03:19.865
Und wenn es Lieb-Vibliothek-Codes ist, der in jeder Codebase landet,

01:03:19.945 --> 01:03:22.185
dann hat man natürlich einen viel, viel, viel größeren Anreiz,

01:03:22.385 --> 01:03:25.125
das schneller zu machen, als wenn es in deiner eigenen App ist,

01:03:25.245 --> 01:03:29.765
wo das halt genau bei einem Button-Klick passiert und der User sieht die Items

01:03:29.765 --> 01:03:31.985
in einer halben Sekunde, in einer halben Millisekunde früher oder so.

01:03:33.545 --> 01:03:38.685
Also von daher habt ihr leider jetzt keinen Kontext zu, aber es ist auf jeden

01:03:38.685 --> 01:03:40.845
Fall ein Thema, über das man diskutieren kann.

01:03:42.525 --> 01:03:46.405
Die ganze Hörershop darf hier auf jeden Fall auch wieder mit diskutieren und

01:03:46.405 --> 01:03:48.905
es ist auch tatsächlich auch eine Sache, die ich jetzt selber,

01:03:48.945 --> 01:03:50.205
wenn ich jetzt ein Code Review mache.

01:03:52.124 --> 01:03:55.684
Also, ey, ich glaube nicht, dass ich sie in letzter Zeit irgendwann mal angemerkt

01:03:55.684 --> 01:03:59.084
habe. Es ist eher so, dass wenn ich eine For-Loop verwende, das so ist wie,

01:03:59.524 --> 01:04:03.384
hä, was ist denn das hier von der Holenskuhl-Methode?

01:04:03.844 --> 01:04:06.244
Hast du schon mal von Web und Reviews gehört?

01:04:07.724 --> 01:04:12.024
Ja, selbst ich auch mal habe schon mal davon gehört. Aber wie gesagt,

01:04:12.164 --> 01:04:16.744
ich mag halt manchmal solche kleinen Sachen, aber ich blockiere deswegen keine

01:04:16.744 --> 01:04:18.524
Code-Reviews und ich hoffe auch nicht,

01:04:18.724 --> 01:04:21.284
dass es jetzt auch nicht passiert ist, dass ich dadurch blockiert werde,

01:04:21.284 --> 01:04:24.784
weil im Endeffekt, das ist es vielleicht jetzt auch genau, wie du meinst,

01:04:24.864 --> 01:04:28.284
es ist nicht wert, deswegen Code-Reviews zu blockieren für etwas,

01:04:28.424 --> 01:04:30.764
was eventuell doch gar keine Auswirkungen

01:04:30.764 --> 01:04:33.224
hat. Aber ich muss jetzt einfach schmunzeln, als ich es gesehen habe.

01:04:33.824 --> 01:04:38.004
Ja, es gibt auf jeden Fall auch darüber Diskussionen, wenn es zu Iteratoren

01:04:38.004 --> 01:04:41.804
und Generatoren kommen, vor allen Dingen auf dem Discord, weil Generatoren werden

01:04:41.804 --> 01:04:44.524
sehr viel von unseren Leuten zumindest

01:04:44.524 --> 01:04:46.924
benutzt, weil sie eigentlich sehr angenehm sind, damit umzugehen.

01:04:47.484 --> 01:04:49.704
Problem ist bloß, dass sie unglaublich schlecht optimiert sind,

01:04:49.844 --> 01:04:52.684
die ganzen Engines. und wir sind so ein bisschen auf dem Trip,

01:04:52.884 --> 01:04:57.084
sie teilweise trotzdem zu benutzen, um einfach die Engine-Entwickler zu nutschen,

01:04:57.104 --> 01:04:58.504
das doch endlich mal zu optimieren.

01:04:59.564 --> 01:05:04.204
Aber man läuft dann schon irgendwie in so ein Problem rein, das habe ich neulich

01:05:04.204 --> 01:05:07.404
gelesen, dass Generatoren nie schneller sein werden als Iteratoren,

01:05:07.884 --> 01:05:08.864
weil die immer noch irgendwie was.

01:05:11.884 --> 01:05:15.304
Zwischendrin erstellen, was halt beim Iterator nicht passiert,

01:05:16.244 --> 01:05:17.424
was ein bisschen schade ist.

01:05:17.684 --> 01:05:21.304
Wir wünschen, dass Generatoren genauso schnell werden könnten, wie Iteratoren.

01:05:21.664 --> 01:05:23.344
Aber da scheint es ein Problem zu geben.

01:05:23.824 --> 01:05:28.604
Aber ja, auch Generatoren sind im Moment noch langsam und da muss die Engine wirklich was machen.

01:05:28.884 --> 01:05:32.584
Da kann man leider noch nichts im User-Landcode ändern.

01:05:33.464 --> 01:05:38.164
Ich kann jetzt auch hier mal winken zu der State of HTML oder State of CSS,

01:05:38.404 --> 01:05:42.024
wo es auch um diese Checkbox ging mit diesem nicht ausgewählten Zustand,

01:05:42.204 --> 01:05:47.444
wo ich auch absolut nicht geschafft habe, dieses Wort auszusprechen. Ja.

01:05:51.896 --> 01:05:55.356
Die englischen schwierigen Wörter. Es sind aber auch verfixte Sachen.

01:05:56.016 --> 01:05:59.756
Ich kann auch Ambiguity oder so nicht aussprechen. Like Ambiguous,

01:06:00.016 --> 01:06:06.176
ja, es ist schon Specificity ist immer noch ein Klassiker, wenn wir ein CSS waren.

01:06:08.676 --> 01:06:12.416
Spezifizität. Oder eben auch nicht. Die Schwierigkeit ist dann,

01:06:12.536 --> 01:06:15.916
glaube ich, dass es im Englischen einfach nur Speci... Andersrum.

01:06:17.016 --> 01:06:20.336
Ja, es ist Specificity, aber es ist Spezifizität.

01:06:22.016 --> 01:06:27.396
Nicht Spezifizität, genau. Genau, es ist andersrum, aber richtig. Das ist das Problem.

01:06:29.056 --> 01:06:33.756
Kurz zu den Interator-Methoden allerdings. Ich meine, die meisten,

01:06:34.096 --> 01:06:35.836
so Array & Co. hat ja Iterator-Methods.

01:06:37.196 --> 01:06:39.596
Das ist, glaube ich, sogar auch in dem Ding geschrieben, so,

01:06:39.656 --> 01:06:43.096
ja, kannst du Vorlob nutzen oder Iterator-Methods, also Iterator-Methoden.

01:06:43.376 --> 01:06:46.796
Das Spannende ist, ich bin tatsächlich auf dem genau anderes,

01:06:47.016 --> 01:06:51.096
also tritt genau anders rum, wie Vanessa, wenn ich irgendwo eine For-Loop sehe

01:06:51.096 --> 01:06:55.176
in einem PR, würde ich die wahrscheinlich schon anmerken, außer es ist halt

01:06:55.176 --> 01:06:57.656
irgendwie so drei Zeilen, das ist sogar egal, wenn es lesbar ist.

01:06:58.496 --> 01:07:02.556
Aber ich persönlich sehe lieber irgendwie drei Maps, Flat-Maps,

01:07:02.696 --> 01:07:08.096
Filter, Find, was auch immer, Sum gechained, als irgendwie ein riesiges Reduce

01:07:08.096 --> 01:07:09.096
oder ein riesiger For-Loop.

01:07:10.396 --> 01:07:11.956
Weil, genau, manchmal,

01:07:12.856 --> 01:07:15.156
in den meisten Fällen ist der Code halt nicht performancekritisch.

01:07:15.316 --> 01:07:19.436
Und wenn das ist, dann merkt man spätestens, wenn sich die Metriken entsprechend

01:07:19.436 --> 01:07:23.676
anrichten oder wenn die einzige Metrik ist der Nutzer, der sich beschwert,

01:07:23.796 --> 01:07:26.816
dann ist es auch eine Metrik und dann sieht man das entsprechend.

01:07:27.456 --> 01:07:30.116
Ich bin aber immer, also ich persönlich bin immer großer Freund von,

01:07:30.276 --> 01:07:34.736
erst mal zum Laufen bekommen, dann schön machen im Sinne von lesbarer Code,

01:07:34.836 --> 01:07:36.876
wenn man ja deutlich irgendwie öfter lest als schreibt,

01:07:37.856 --> 01:07:42.616
und dann zu sagen, okay, wenn es wirklich der Hot-Code-Path ist sozusagen,

01:07:42.616 --> 01:07:46.356
Also der Pfad, wo die Millionen mal Aufrufe kommen,

01:07:46.836 --> 01:07:50.236
dann auf jeden Fall da optimieren und einen Kommentar dazu sagen,

01:07:50.316 --> 01:07:52.616
hey, das sieht vielleicht kryptisch aus, aber das gibt uns halt,

01:07:52.676 --> 01:07:56.836
keine Ahnung, 500 Millisekunden weniger Delay, weil es halt so und so gemacht wird.

01:07:57.316 --> 01:08:00.656
Und dann ist das, denke ich, eine ganz gute Situation. Aber natürlich,

01:08:00.796 --> 01:08:02.636
wenn man sagt, man schreibt der Library, die muss super optimiert sein,

01:08:02.716 --> 01:08:04.416
das ist eine andere Geschichte, als wenn man sagt, ich schreibe hier gerade

01:08:04.416 --> 01:08:08.836
mal so einen kleinen Teil von meinem CRUD-Dashboard und packe hier nun mal so eine Funktion rein.

01:08:09.436 --> 01:08:11.896
Das stimmt, ich habe gerade nachgeguckt, die Iteratoren haben tatsächlich Map

01:08:11.896 --> 01:08:16.176
und Filter inzwischen. Ist aber noch Base-Dain available und nicht White.

01:08:17.076 --> 01:08:19.816
Sollte man vielleicht noch ein paar Jahre warten, wenn es in der Frontend benutzt,

01:08:19.996 --> 01:08:22.556
aber cool. Ist nicht Whitely Available mittlerweile?

01:08:23.096 --> 01:08:26.656
Ich glaube, Teilen nicht, ne? Das war so... Genau, also Map und Filter und so

01:08:26.656 --> 01:08:29.816
sind nicht, aber du hast natürlich .values und .entries und sowas,

01:08:29.816 --> 01:08:31.056
das sind die schon Ewigkeiten, ne?

01:08:31.836 --> 01:08:35.836
Aber true. Reduce ist widely available übrigens. Moment.

01:08:37.016 --> 01:08:41.816
Immerhin. Hier steht den Newly Readable auf MDL. Okay, never mind dann. Okay, na gut.

01:08:43.956 --> 01:08:47.356
Ja, na ja. Aber sie sind da. Sie sind da. Genau.

01:08:47.756 --> 01:08:50.936
Wer seine Web-App nur für Leute aus den letzten zwei Jahren anbieten will,

01:08:51.076 --> 01:08:53.296
oder aus dem letzten Jahr besser gesagt, dann kann man das nutzen.

01:08:55.752 --> 01:09:01.412
Uli mal, du hast ja noch einige Punkte auch vorbereitet gehabt auf unserem kleinen Notizzettelchen.

01:09:02.132 --> 01:09:06.352
Jetzt wollte ich dir nochmal die Chance geben, über Punkte zu sprechen,

01:09:06.612 --> 01:09:10.772
über die wir sonst noch nicht angesprochen hatten.

01:09:11.212 --> 01:09:15.992
Ich lese ja auch sowas nämlich nach. Der Prettier CLI hattest du angemerkt Storybook

01:09:15.992 --> 01:09:18.352
9 und sowas wie NPM Graph?

01:09:20.232 --> 01:09:23.812
Ja, also Storybook ist eine unserer Erfolgsstories gewesen. Da gibt es noch

01:09:23.812 --> 01:09:28.752
einen Blog-Eintrag für und da sieht man einfach, wie so ein riesiges Monster

01:09:28.752 --> 01:09:33.532
an Modulgraf zusammengeschrumpft wird zu wirklich sowas.

01:09:33.912 --> 01:09:38.072
Das steht ja daneben, ja, dieses Bild ist for scale, das ist wirklich so klein,

01:09:38.612 --> 01:09:42.172
und das ist eins unserer großen Erfolgsstories, das wir auch überall immer zeigen,

01:09:42.392 --> 01:09:45.572
wenn wir immer dazukommen, weil man einfach sieht, was man machen kann,

01:09:45.872 --> 01:09:46.892
wenn man sich da ansetzt.

01:09:47.072 --> 01:09:49.912
Und Storybook ist ja auch ein Ding, was öfter mal irgendwo installiert wird

01:09:49.912 --> 01:09:52.392
und das ist auf jeden Fall jetzt wesentlich leichter geworden, ja.

01:09:53.912 --> 01:09:57.432
Und ein tm-graph ist einfach ein cooles Tool, was man nutzen kann,

01:09:57.572 --> 01:10:01.512
um einfach mal das zu visualisieren, den Modul-Graphen, das,

01:10:01.592 --> 01:10:03.932
was in Modules einfach so zu sehen ist.

01:10:04.032 --> 01:10:09.092
Da kann man ein Paket angeben und dann zeigt es einem die Dependencies und so

01:10:09.092 --> 01:10:12.292
weiter und so fort und da wird dann manchmal erst bewusst, was da teilweise

01:10:12.292 --> 01:10:16.052
so reingezogen wird von manchen Leuten und da kann man dann genau gucken.

01:10:16.652 --> 01:10:23.252
Und soweit ich weiß, ist NPM Graph jetzt auch dabei, auch schon EATME-ersetzbare

01:10:23.252 --> 01:10:26.632
Module anzuzeigen, was natürlich sehr cool ist, weil jetzt sieht man sofort

01:10:26.632 --> 01:10:27.912
hier, dieses Modul kannst du

01:10:27.912 --> 01:10:30.432
es dem und dem ersetzen, dann wird es nicht mehr so schlimm sein und so.

01:10:31.312 --> 01:10:36.092
Und das war auf jeden Fall auch eine coole Sache, die wir da als Kollaboration haben.

01:10:37.478 --> 01:10:43.458
Aber ja, genau. Aber ansonsten gibt es da noch ein paar Sachen von Leuten,

01:10:43.618 --> 01:10:46.678
mit denen wir zusammenarbeiten wollen. Also Sentry und Lettlify fährt mir da gerade ein.

01:10:47.598 --> 01:10:50.398
Da ist aber James vor allen Dingen immer da, der seine Finger da ausstreckt

01:10:50.398 --> 01:10:53.778
zu den ganzen Leuten, die er kennt, um einfach mal anzufühlen.

01:10:54.778 --> 01:10:57.118
Die Lettlify CLI ist zum Beispiel auch sehr, sehr, sehr groß.

01:10:57.478 --> 01:11:03.118
Und da kann man auf jeden Fall auch was wegoptionieren, wenn man sich da ran sitzt.

01:11:04.058 --> 01:11:08.158
Genau. Aber ansonsten haben wir eigentlich so über das meiste schon geredet, würde ich meinen.

01:11:11.238 --> 01:11:14.678
Wie sieht denn das jetzt aus? Ich meine, du hast gerade ein paar Erfolgsstories

01:11:14.678 --> 01:11:18.178
erwähnt, Storybook, haben wir ausreichend drüber gesprochen,

01:11:19.018 --> 01:11:22.818
TinyGlobby ist oftmals gefallen, also die verschiedensten Globlibraries,

01:11:22.918 --> 01:11:24.278
die FastGlob.co ersetzt.

01:11:25.478 --> 01:11:28.798
Wie ist denn generell so der Stand von EAT in der Community?

01:11:28.978 --> 01:11:33.458
Abgesehen davon, dass natürlich bestimmt ein Großteil von Developern noch nicht viel gehört hat.

01:11:33.918 --> 01:11:37.838
Deswegen gibt es ja auch diese Podcast-Episode. Aber wie ist denn so generell

01:11:37.838 --> 01:11:43.898
das Feedback, sowohl von, ich sag mal, Library-Autoren und Maintainern zu normalen Entwicklern?

01:11:44.618 --> 01:11:47.938
Jetzt auch, du hast ja gerade gesagt, Identify, Sentry, Storybook,

01:11:48.098 --> 01:11:49.118
also auch größeren Firmen.

01:11:49.978 --> 01:11:53.838
GitLab haben wir auch schon gehört, dass es da Kontributionen gab und Feedback.

01:11:54.338 --> 01:11:57.618
Vielleicht könnt ihr da beide so ein bisschen berichten, so von der einen Seite

01:11:57.618 --> 01:12:01.618
als Firma und Leute, die sagen, okay, hier gibt es Community-Contributions.

01:12:01.618 --> 01:12:04.658
Auf der anderen Seite als Teil von ELTI.

01:12:04.958 --> 01:12:08.398
Was sind so eure Erfahrungen, wie das Ganze so ankommt?

01:12:09.670 --> 01:12:16.930
Also von meiner Seite aus würde ich sagen, es ist so 80-20, also 80% positiv, 20% negativ.

01:12:18.090 --> 01:12:23.330
Man findet immer mal PRs und auch Blue Sky oder Twitter-Posts,

01:12:23.450 --> 01:12:27.870
wo sich darüber ganz schön ausgelassen wird, weil es teilweise erstens sich

01:12:27.870 --> 01:12:31.010
so anfühlt, dass würde jemand hingehen, das halt auch überall machen oder vielleicht

01:12:31.010 --> 01:12:32.310
sogar AI das machen lassen.

01:12:32.310 --> 01:12:35.510
Es fühlt sich ein bisschen an wie ein Eislop, wenn überall das gleiche gemacht wird.

01:12:36.750 --> 01:12:40.850
Und dann halt nicht genug auf die Bedürfnisse der Maintainer eingegangen wurde

01:12:40.850 --> 01:12:44.530
in dem Fall oder genug gute Argumente gekommen sind.

01:12:44.750 --> 01:12:47.810
Und da gibt es tatsächlich wirklich Leute, die sich dann wirklich auch öffentlich

01:12:47.810 --> 01:12:51.170
gegen IAC aussprechen und sagen, das nervt uns, das ist doof,

01:12:51.230 --> 01:12:52.250
das ist schlecht für das Ökosystem.

01:12:54.070 --> 01:12:56.470
Sollte einfach alle PRs automatisch geclosed werden, die von denen kommen.

01:12:56.550 --> 01:12:58.170
Da haben wir tatsächlich Leute, die tatsächlich das jetzt auch machen.

01:13:00.050 --> 01:13:02.610
Aber so 80 Prozent, würde ich meinen, sind dann wirklich Leute,

01:13:03.970 --> 01:13:07.250
von denen hört man vielleicht weniger, weil die auch zufrieden sind.

01:13:08.410 --> 01:13:11.690
Das ist ja immer so. Aber es gibt sie auf jeden Fall. Und wir sehen es ja in

01:13:11.690 --> 01:13:14.630
den PRs, die bedanken sich dafür, die sind glücklich, dass es jemanden umfummert.

01:13:15.030 --> 01:13:15.750
Meistens sehr welcoming.

01:13:17.090 --> 01:13:19.670
Und wenn wir dann mal einen Angel haben, der Bock drauf hat,

01:13:19.790 --> 01:13:22.350
dann kriegt er natürlich auch alle Hilfe, die er kriegen will.

01:13:22.590 --> 01:13:23.790
Dann machen wir ja gleich alles.

01:13:24.610 --> 01:13:28.230
Wird einmal durch das ganze Report durchoptimiert. Und das macht dann schon

01:13:28.230 --> 01:13:29.990
Spaß. Und das ist auch gut, das fühlt sich gut an.

01:13:30.190 --> 01:13:34.530
Und im Allgemeinen würde ich sagen, wird das ganz gut angenommen, würde ich meinen.

01:13:34.770 --> 01:13:37.170
Die meisten Leute sind sich auch darüber bewusst, dass das irgendwie auch schon

01:13:37.170 --> 01:13:38.010
eine wichtige Sache ist.

01:13:40.110 --> 01:13:44.650
Ich kann hier auch nur positiv berichten. Ich habe jetzt natürlich gar keinen

01:13:44.650 --> 01:13:47.750
Kontext mit so negativen Berichten.

01:13:47.890 --> 01:13:51.330
Das kam jetzt gar nicht vor. Und das Negativste war vielleicht,

01:13:51.930 --> 01:13:55.870
da hat irgendjemand was von E18E gesagt. Was denn das?

01:13:56.750 --> 01:14:00.590
Und also das war tatsächlich das Negativste.

01:14:00.690 --> 01:14:04.030
Und dann war aber ich glücklicherweise da auch in der Slack-Conversation und

01:14:04.030 --> 01:14:06.130
auch gerade online gesagt, ja, ja, ja, kenne ich, ist gut.

01:14:07.490 --> 01:14:10.470
Weil zu Recht, und das finde ich auch gar nicht schlecht,

01:14:10.990 --> 01:14:15.970
sollte man ja vielleicht ein bisschen Vorsicht haben bei größeren Codebases

01:14:15.970 --> 01:14:18.190
mit sehr großen Userbases,

01:14:18.330 --> 01:14:21.850
dass man da jetzt nicht was reinholt, was vielleicht fehlen könnte und dann

01:14:21.850 --> 01:14:25.250
kann ich eigentlich fast nur das wiederholen, was Uli mal ganz am Anfang mal

01:14:25.250 --> 01:14:26.570
erzählt hatte mit diesem.

01:14:27.910 --> 01:14:31.470
Das macht man ja auch nicht täglich, man ist ja normalerweise täglich am Feature

01:14:31.470 --> 01:14:33.510
schreiben, Komponenten redesignen und etc.

01:14:34.390 --> 01:14:38.890
Und dann ist es so, Also kann ich jetzt dieses Globby mit diesem Tiny Globby

01:14:38.890 --> 01:14:41.490
ersetzen oder mache ich jetzt doch was kaputt?

01:14:41.910 --> 01:14:47.830
Weil je größer die Codeways, fühlt sich das einfach irgendwie ein bisschen merkwürdiger an.

01:14:48.866 --> 01:14:52.866
Ja, das ist auf jeden Fall so. Also Super2Chu, so heißt er auf Discord,

01:14:53.466 --> 01:14:55.346
ich glaube, der war derjenige, der Tiny, glaube ich, gemacht hat.

01:14:55.966 --> 01:14:57.826
Er macht die ganzen Tile-Apps, ja, ich glaube auch.

01:14:58.706 --> 01:15:02.846
Und der ist aber hart am Fixen gewesen. Da sind seit immer mal wieder Edge-Cases

01:15:02.846 --> 01:15:05.206
aufgetreten und wir haben sie alle mehr oder weniger, ja, natürlich die meisten

01:15:05.206 --> 01:15:07.986
Arbeit gemacht, aber alle haben irgendwie mitgeholfen, das auch irgendwie zu

01:15:07.986 --> 01:15:10.806
debuggen und auch den Case zu reproduzieren,

01:15:10.986 --> 01:15:14.686
wo dann auf einmal ganz Modus mitgecrawlt wurde, obwohl es das eigentlich nicht

01:15:14.686 --> 01:15:17.346
sollte oder so, oder wo es einfach ganz hängt und gar nichts mehr macht.

01:15:17.766 --> 01:15:20.166
Solche Sachen dürfen natürlich nicht passieren, gerade wenn man halt so eine

01:15:20.166 --> 01:15:21.146
riesige Bibliotheken hat.

01:15:21.206 --> 01:15:23.246
Und wir hatten auch ein paar Leute, die dann einfach revertet haben und gesagt

01:15:23.246 --> 01:15:25.846
haben, okay, das ist offensichtlich nicht stabil. Da hat man dann nach einem

01:15:25.846 --> 01:15:26.686
halben Jahr nochmal versucht.

01:15:27.746 --> 01:15:30.726
Und genau deswegen brauchen wir auch diese Battle-Tests. Weil diese ganzen Fehler,

01:15:30.826 --> 01:15:32.286
die da auftreten können, die kann man sich nicht vorstellen.

01:15:32.906 --> 01:15:36.406
Und da brauchen wir einfach Leute, die das Zeug nutzen und dann einfach in den Fehler reinrennen.

01:15:37.086 --> 01:15:40.746
Und das Lustige ist, dass manche der Fehler teilweise auch bei anderen Glob-Libraries

01:15:40.746 --> 01:15:42.526
da sind. Sie werden bloß nie entdeckt.

01:15:44.046 --> 01:15:49.106
Und ja, vor allem bei Glob immer, dass sie halt immer konformig sind zu dem,

01:15:50.086 --> 01:15:53.066
Batch-Glob oder Shell-Glob oder so, Unix-Glob.

01:15:53.406 --> 01:15:57.306
Aber keiner, also es ist so komisch, diese ganze Sache, keiner weiß so richtig,

01:15:57.346 --> 01:15:58.306
was Glob eigentlich macht.

01:15:58.546 --> 01:16:01.366
Man kann immer nur Best Effort machen und wir sind auch dazu übergegangen,

01:16:01.426 --> 01:16:02.846
auch zu sagen, Glob ist Best Effort.

01:16:03.226 --> 01:16:05.226
Wenn du irgendwas nicht machst, was du nicht machst, nutzt du halt eine andere

01:16:05.226 --> 01:16:07.426
Glob-Library oder schreibt was Eigenes.

01:16:07.986 --> 01:16:09.706
Auch ein notes-eigenes Glob. Also PDF-effektiv.

01:16:10.626 --> 01:16:14.366
Genau. Es ist... Kann was Glob angeht.

01:16:14.826 --> 01:16:18.506
Kann was Glob angeht. Es ist schon schwierig. und ich denke,

01:16:18.626 --> 01:16:20.726
das ist einer der Gründe letztendlich, warum Chocke da einfach gesagt hat,

01:16:20.786 --> 01:16:23.706
wir supporten keine Knops mehr und jetzt versucht man das halt hinten rum,

01:16:23.766 --> 01:16:28.306
um wieder reinzubauen, weil dadurch fällt halt so viel Maintenance-Böden einfach von Chocke da weg.

01:16:28.966 --> 01:16:31.666
Die haben da sowieso schon genug zu tun mit ihren ganzen Unterschiede zwischen

01:16:31.666 --> 01:16:36.066
Windows, Linux, Mac und Python und so. Da gibt es so viele komische Probleme.

01:16:36.766 --> 01:16:39.966
Das Beobacht von Dateien, es ist ein Krampf, das stimmt allerdings.

01:16:41.592 --> 01:16:45.752
Ja, super spannend auf jeden Fall. Ich denke ansonsten, die Diskussionen,

01:16:45.872 --> 01:16:49.232
die noch aufkommen können, ist, wir haben ja jetzt, glaube ich,

01:16:49.252 --> 01:16:52.312
nur in dieser einen Datei, die brauchen wir eigentlich gar nicht.

01:16:52.352 --> 01:16:56.072
Wir halten die uns eher so ein bisschen warm, falls wir die nochmal brauchen sollten.

01:16:56.352 --> 01:16:59.052
Ach so, wenn das so ist, dann könnten wir die ja eigentlich mal löschen,

01:16:59.112 --> 01:17:01.812
weil es ist ja alles ein Git-History und dann kann man die ja wiederholen.

01:17:01.812 --> 01:17:05.292
Ja, wenn die so ganz aus den Augen außen sind, dann haben wir die ja ganz vergessen

01:17:05.292 --> 01:17:08.492
und vielleicht lohnt sich das jetzt überhaupt nicht drüber zu diskutieren,

01:17:08.532 --> 01:17:12.732
ob wir das mit Tiny Globby ersetzen, weil es müsste ja schon jemand ausprobieren.

01:17:12.732 --> 01:17:20.312
Es gibt das Risiko, dass vielleicht was dabei schief geht und man will ja vielleicht

01:17:20.312 --> 01:17:23.412
auch nicht diejenige Person sein, wo es dann heißt, ich habe das hier mal geändert

01:17:23.412 --> 01:17:25.912
und jetzt fällt plötzlich alles und ich mache jetzt wieder den Revert.

01:17:26.192 --> 01:17:28.472
Da braucht man halt schon auch auf jeden Fall ein Arbeitsumfeld,

01:17:28.652 --> 01:17:34.192
wo das einfach fast gern gesehen wird, dass da immer jemand so ein ganz kleines

01:17:34.192 --> 01:17:36.212
Risiko in die Hand nimmt und das einfach versucht.

01:17:36.212 --> 01:17:39.912
Und wie gesagt, dieses Risiko ist eher das, dass man das so selten macht und

01:17:39.912 --> 01:17:42.632
vielleicht nicht jetzt die richtigen Mittel und Wege hat, um das zu testen.

01:17:42.672 --> 01:17:45.772
Das ist halt was anderes, gerade für mich jetzt wirklich als visuellen Frontend-Menschen.

01:17:46.032 --> 01:17:48.492
Ich verändere meinen Border-Radius, kann ich sehen, kann ich testen,

01:17:48.572 --> 01:17:50.192
mache so fünf verschiedene Browsern, läuft.

01:17:50.652 --> 01:17:54.512
Aber ob das jetzt mit den Dateien-Watchen auch gut funktioniert,

01:17:54.612 --> 01:17:55.972
wie muss ich denn das jetzt testen?

01:17:57.012 --> 01:18:00.792
Ja, das ich meine, mir macht es halt auch persönlich ein bisschen Spaß,

01:18:01.092 --> 01:18:04.872
aber ich würde halt auch also ich verstehe auch, wenn es da so ein bisschen noch den.

01:18:07.386 --> 01:18:09.906
Rückhalt gibt, dass man das vielleicht noch nicht gleich so drauf springt.

01:18:10.046 --> 01:18:13.386
Aber generell kann ich wirklich nur sagen, alles, was ich da jetzt mitbekommen

01:18:13.386 --> 01:18:15.146
habe, finde das jeder generell sehr gut.

01:18:15.266 --> 01:18:20.826
Vor allem, weil es so eine richtig stabile, freundliche, gemütliche Community da drumrum ist.

01:18:21.046 --> 01:18:25.146
Und überhaupt nicht toxisch, überhaupt nicht dieses, hey, du sollst jetzt das nehmen, weil es cooler.

01:18:26.166 --> 01:18:28.946
Ich habe immer den Eindruck, dass es wirklich, wir versuchen hier nur so ein

01:18:28.946 --> 01:18:32.986
bisschen was zu verbessern und ohne jemanden auf den Schlips zu treten.

01:18:33.886 --> 01:18:37.366
Ja, In den meisten Fällen ist es wirklich sehr welcoming.

01:18:37.526 --> 01:18:40.746
Es gibt so dieses eine Beispiel, wir haben auch auf dem Discord Leute,

01:18:41.026 --> 01:18:44.346
die so ein bisschen gegen den ERC-Effort sind.

01:18:45.326 --> 01:18:47.786
Also es sind oft für Contributions, aber es sind alle Leute,

01:18:47.826 --> 01:18:51.806
die auch ihr eigenes Ökosystem erschaffen haben, aber dann quasi auch nicht

01:18:51.806 --> 01:18:52.946
ihr Ökosystem aufgeben wollten.

01:18:53.106 --> 01:18:55.446
Und es gibt dann immer, teilweise gab es riesige Diskussionen,

01:18:55.526 --> 01:18:57.066
wo Leute wirklich die Leute attackiert haben teilweise.

01:18:57.586 --> 01:19:00.866
Also ich fand es immer krass, wie ruhig die reagiert haben und dann einfach

01:19:00.866 --> 01:19:03.526
gesagt haben, nee, aber aus dem Grund bei dem Grund machen wir das nicht.

01:19:03.746 --> 01:19:05.766
Aber diese Diskussion hat sich ständig wiederholt, weil immer wieder andere

01:19:05.766 --> 01:19:07.086
Leute ankommen, die das nicht verstanden haben.

01:19:07.386 --> 01:19:09.366
Darum haben wir gesagt, Leute, das können wir nicht mehr machen,

01:19:09.446 --> 01:19:11.566
das funktioniert jetzt nicht, wir vertreiben uns die Leute, weil diese Leute

01:19:11.566 --> 01:19:13.566
helfen uns mit anderen Sachen.

01:19:13.926 --> 01:19:16.926
Die wissen vielleicht ganz genau, wie Node funktioniert oder ganz genau,

01:19:16.986 --> 01:19:20.226
wie die Browser Engine das macht und das sind die Gründe, warum das damals so

01:19:20.226 --> 01:19:22.206
gemacht wurde und deswegen ist das jetzt so.

01:19:22.726 --> 01:19:25.886
Das ist auch wichtiges Wissen und selbst das ist wieder dieses Aushalten,

01:19:26.046 --> 01:19:29.546
dass man sagt, okay, hier können wir nichts machen, aber wir können diese Menschen

01:19:29.546 --> 01:19:30.466
nutzen, um einfach zu lernen.

01:19:31.526 --> 01:19:34.766
Das ist halt das einzige Beispiel, wo ich sagen muss, dass teilweise manchmal

01:19:34.766 --> 01:19:39.046
ein bisschen schwierig ist, wenn die Leute halt ein bisschen übers Ziel hinausschießen.

01:19:39.986 --> 01:19:44.986
Aber ansonsten, also ich persönlich habe da nichts weiter erfahren als wirklich Willkommenheit.

01:19:46.866 --> 01:19:51.146
Und die Leute haben mich wirklich supportet und wirklich unterstützt und gesagt,

01:19:51.246 --> 01:19:53.266
es ist cool, was du machst, cool, dass du es gemacht hast.

01:19:53.366 --> 01:19:56.486
Und sowas halt auch wirklich so ein bisschen, dass man das auch wieder zurückbekommt,

01:19:56.566 --> 01:19:58.886
was ich halt vorher noch gar nicht so richtig kannte.

01:19:58.886 --> 01:20:02.606
Ich war halt immer mal alleine, Open-Source-Maintainer von SBJS und da kam halt,

01:20:03.126 --> 01:20:05.586
nie irgendwas, weil es auch keine Community gab und im Discord,

01:20:05.606 --> 01:20:08.546
aber so viele Leute, die einen ganz schön anfeuern, das ist einfach cool.

01:20:13.566 --> 01:20:17.046
Ja, mega. Also ich glaube, das gibt vielleicht auch nochmal so den Leuten,

01:20:17.166 --> 01:20:19.866
die jetzt zuhören und vielleicht mal sagen, okay, ich habe jetzt mit Open-Source

01:20:19.866 --> 01:20:22.286
vielleicht vorher noch nicht so viel im Hut gehabt, aber das klingt nicht nur

01:20:22.286 --> 01:20:24.406
eine coolen Option, auch so ein bisschen einzusteigen, ist

01:20:24.786 --> 01:20:28.426
beginnerfreundlich, so ein bisschen die Ideen zu sagen, ja, hier gucke ich mal

01:20:28.426 --> 01:20:32.566
rein, kann man machen und vielleicht die Möglichkeit zu kontributen,

01:20:32.706 --> 01:20:34.766
vielleicht bei sich selbst mal zu schauen, aber auch zu sagen,

01:20:34.866 --> 01:20:36.886
okay, es gibt andere Möglichkeiten, wo ich was versetzen kann,

01:20:37.606 --> 01:20:40.366
oder wo ich entsprechend aushilfen kann oder sagen, ich möchte,

01:20:40.626 --> 01:20:43.646
keine Ahnung, hier mache ich ein CPU-Profile und gucke mir an,

01:20:43.726 --> 01:20:45.906
wie das Ganze performancetechnisch aussieht, um zum Beispiel zu sehen,

01:20:45.986 --> 01:20:47.546
naja, gibt es so Stellen, die sich verbessern können.

01:20:47.946 --> 01:20:51.666
Das ist ja wirklich von so, ich sag mal, einfacheren, aber zeitintensiven Tasks

01:20:51.666 --> 01:20:56.106
zu so sehr spezifischen Sachen und ich glaube, all das kann man bei ETI nicht

01:20:56.106 --> 01:20:58.306
nur lernen, sondern auch was wir mit Leuten darüber unterhalten,

01:20:58.386 --> 01:20:59.366
die da richtig viel Ahnung von haben.

01:21:00.714 --> 01:21:04.174
Das ist auf jeden Fall so, ja. Und auch, wenn man TRs schreibt,

01:21:04.314 --> 01:21:07.934
lernt man auch jedes Mal was dazu. Neue Codebases zu lesen, hat noch niemand ein Dümmer gemacht.

01:21:08.254 --> 01:21:12.654
Ich würde sagen, dass ich meine ganzen JavaScript-Kenntnisse auch nur durch

01:21:12.654 --> 01:21:15.354
das Open-Source-Projekt gewonnen habe, was ich da maintaine,

01:21:15.514 --> 01:21:18.814
weil der Code einfach geschrieben war, einfach unglaublich schöne Qualität hatte

01:21:18.814 --> 01:21:21.014
und da habe ich so viel mitgenommen. Also ich kann das zu jedem empfehlen.

01:21:21.394 --> 01:21:24.014
Lest Code von anderen Leuten. Es ist sehr erhellend.

01:21:25.774 --> 01:21:29.494
Hier habe ich absolut recht. Kann ich nur bestätigen. genau so.

01:21:29.874 --> 01:21:33.094
Und vor allem auch eigene PRs einreichen und dann Feedback zu den eigenen Sachen

01:21:33.094 --> 01:21:35.894
bekommen, ist auch super hilfreich, wenn man manchmal denkt,

01:21:35.974 --> 01:21:37.474
ich habe doch alles mögliche bedacht und dann kommen wir und sagen,

01:21:37.574 --> 01:21:39.034
hier, guck mal, was damit.

01:21:39.914 --> 01:21:44.634
So Open Source als Mentor ist ein sehr cooles Konzept. Ja, das ist mir neulich

01:21:44.634 --> 01:21:45.854
auch wieder bewusst geworden.

01:21:45.974 --> 01:21:50.634
Ich hatte zu Vue tatsächlich mein PR angereicht und ich hatte aber vorher keine

01:21:50.634 --> 01:21:54.054
Diskussion aufgemacht, weil ich mir die Contribution Notes vorhin nicht ganz

01:21:54.054 --> 01:21:57.414
zu fängig durchgelesen hatte, wo steht, dass man daraus erst diskutieren sollte,

01:21:58.054 --> 01:22:01.054
weil ich so excited war, dass ich doch das lösen kann. Und dann habe ich das

01:22:01.054 --> 01:22:02.414
auch mehr oder weniger gemacht.

01:22:02.634 --> 01:22:05.494
Und dann kam aber sehr, sehr viel Feedback, wo man sagt, naja,

01:22:05.554 --> 01:22:07.994
bei dir der Fall und bei dir der Fall und du hast mal das gedacht und hier das

01:22:07.994 --> 01:22:09.254
gedacht. Ich war so ei, ei, ei.

01:22:10.914 --> 01:22:15.154
Die Chemischheit vorher mal drüber diskutieren soll. Aber ja,

01:22:15.554 --> 01:22:16.754
man lernt auf jeden Fall dazu.

01:22:16.994 --> 01:22:19.954
Und auch den Eierkurs zu verteidigen ist ja auch etwas, was man lernen muss.

01:22:20.054 --> 01:22:21.914
Wo man sagt, nee, das ist im Grunde so.

01:22:22.094 --> 01:22:25.254
Auf jeden Fall, immer mitmachen.

01:22:25.374 --> 01:22:28.054
Open Source hat noch nie geschadet. Ich bin ein bisschen überrascht überhaupt,

01:22:28.234 --> 01:22:30.734
dass ich so wenig Leute treffe, die was mit Open Source am Hut haben.

01:22:30.834 --> 01:22:34.974
In den Firmen, wo ich arbeite, ist das die Seltenheit und ich dachte immer so,

01:22:35.114 --> 01:22:36.894
als Student dachte ich immer, jeder macht Open Source.

01:22:38.194 --> 01:22:41.774
Jeder Student macht ein bisschen Open Source, das stimmt. Da rennere ich mich

01:22:41.774 --> 01:22:44.334
auch noch dran, aber dann geht es dann doch wieder Ärzte.

01:22:44.454 --> 01:22:47.334
Wir sind ja immer noch mitten im Faktor-Wallfest gerade.

01:22:48.552 --> 01:22:51.172
Stimmt allerdings. Das neigt zu lange sind wir Ende, aber das ist richtig.

01:22:51.632 --> 01:22:54.932
Ich bin gespannt, was dieses Jahr wieder aufgefahren ist. Hab das sehr lange

01:22:54.932 --> 01:22:56.332
sehr, sehr gerne mitgemacht.

01:22:56.932 --> 01:22:58.912
Da ich mittlerweile aber auch passend auf Open Source mache,

01:22:58.932 --> 01:23:02.552
ist das ja mittlerweile auch given. Relevant geworden, ja.

01:23:03.932 --> 01:23:06.712
Warum nicht? Es ist immer nett, Leuten zu zeigen, gerade so auf Meetups zu sagen,

01:23:06.792 --> 01:23:10.432
hey, wisst ihr, Hacktoberfest, da eure liebsten Pakete, guckt mal rein.

01:23:10.852 --> 01:23:14.272
Vor allem wird die nicht so populär, sondern jeder freut sich über gute Contributions.

01:23:15.072 --> 01:23:20.052
Das stimmt, ja. Ja, oder überhaupt Contributions, weil es sind ja auch die Idee

01:23:20.052 --> 01:23:23.492
alleine zählt ja auch ganz oft und man kennt ja ganz oft einfach nicht alles

01:23:23.492 --> 01:23:27.332
mögliche, was es jetzt noch zu bedenken gibt oder man kennt ja auch die Geschichte

01:23:27.332 --> 01:23:29.732
nicht dahinter von Diskussionen, die es vielleicht schon gegeben könnte.

01:23:30.692 --> 01:23:40.252
Also bei GitLab gibt es die Labels Hackathon und Seeking Community Contributions,

01:23:40.432 --> 01:23:41.212
glaube ich, heißt das so.

01:23:42.232 --> 01:23:45.732
Da kann man immer danach suchen und auch da was reinfügen und wir haben auch

01:23:45.732 --> 01:23:49.092
so einen automatisierten Bot, der sagt dann schon mal vorher so, hey,

01:23:50.012 --> 01:23:52.932
füge mal noch diese Labels hinzu und das kannst du dazu noch anschauen,

01:23:53.012 --> 01:23:56.872
damit man da auch gar nicht erst einen echten Menschen als Reviewer setzen kann,

01:23:56.932 --> 01:23:59.172
sondern gibt es immer schon mal so einen, nicht AI,

01:23:59.492 --> 01:24:03.992
AI gibt es aber auch, aber es gibt erstmal so einen automatisiertes Danger-Bot,

01:24:04.172 --> 01:24:07.512
heißt der, der da einmal durchgeht und sagt, ich habe hier nochmal kurz quergecheckt,

01:24:07.572 --> 01:24:11.432
bevor du es jemandem übermitteln willst, die Sachen Gaps dann auch zu setzen oder zu testen.

01:24:11.992 --> 01:24:17.132
Also das ist mir auch extrem aufgefallen, wenn vor allem kleine Maintainer,

01:24:17.272 --> 01:24:23.192
die halt nicht so viel Appreciation bekommen, mal eine PR bekommen und das ist

01:24:23.192 --> 01:24:26.472
halt nicht so ein Hingerotster, sondern vielleicht wenigstens in guter Willen gezeigt,

01:24:26.852 --> 01:24:31.592
die reichen in die Hand, die führen dich zur Lösung hin, die machen vielleicht

01:24:31.592 --> 01:24:33.332
sogar mehr Arbeit, als sie machen müssten,

01:24:33.832 --> 01:24:36.872
nur um dann letztendlich eine Contribution von dir zu bekommen,

01:24:37.292 --> 01:24:40.372
um dann halt zu sagen, hey cool, danke, dass du mir geholfen hast, war echt toll.

01:24:41.572 --> 01:24:45.072
Also die Leute sind da, glaube ich, sehr offen für Contributions im Normalfall.

01:24:45.172 --> 01:24:46.932
Also man soll sich wehvoll nicht schüchten davor.

01:24:48.183 --> 01:24:50.843
Genau, ich muss dazu sagen, so mit guter Contribution meine ich jetzt nicht,

01:24:50.963 --> 01:24:53.363
dass alles sofort tipptopp sein muss, aber genau, einfach so,

01:24:53.443 --> 01:24:56.123
man hat nicht so typisch, wir haben ja vorhin gesagt, so, hey,

01:24:56.163 --> 01:24:59.363
Eislauf und zack, sondern einfach so, okay, ich möchte was machen.

01:24:59.363 --> 01:25:02.643
Im Idealfall raced natürlich vor ein Issue und diskutiert das Feature auch,

01:25:02.903 --> 01:25:05.803
wie Unimigrator mal gut ausgeführt hat,

01:25:06.263 --> 01:25:08.603
aber es gibt, keine Ahnung, wenn ich jetzt ein Type oder eine Dokumentation

01:25:08.603 --> 01:25:11.383
fixen möchte, oder noch ein Beispiel hinzufügen möchte, muss ich jetzt nicht

01:25:11.383 --> 01:25:14.623
erst ein Issue für erstellen oder sagen, hey, möchte ich das gerne einbauen,

01:25:14.703 --> 01:25:17.443
sondern dann sende ich den PR, das sind wahrscheinlich dann okay,

01:25:17.603 --> 01:25:20.503
fünf bis zehn Minuten, in der Regel wird dann vielleicht nochmal drüber tariert und fertig,

01:25:21.243 --> 01:25:25.043
aber da einfach nach bestem Wissen und Gewissen, sondern wenn ich erst mal sage,

01:25:25.063 --> 01:25:27.883
ich schreibe jetzt 2.000 Seiten Code, um dann ein Issue geclosed zu bekommen,

01:25:28.483 --> 01:25:31.823
ist mir auch schon passiert in meinen jüngeren Jahren als Open Source Entwickler.

01:25:33.323 --> 01:25:36.023
Mittlerweile ist es dann doch eher so, ich schreibe mir über ein Issue,

01:25:36.103 --> 01:25:38.223
dann dauert das vielleicht und ich bin nicht mehr ganz so hyped darauf,

01:25:38.343 --> 01:25:40.143
aber wenn jemand antwortet und sagt, ja, das ist geil, let's go,

01:25:40.583 --> 01:25:44.583
dann ist man wieder voll dabei und dann gibt es auch wieder andere Projekte zwischendrin.

01:25:45.623 --> 01:25:48.963
Insofern, langweilig wird einem nicht. Der Hype-Cycle ist aber wirklich real.

01:25:49.223 --> 01:25:51.763
Also, wenn man da gerade gehypt ist, was zu machen, dann darf man nicht.

01:25:51.863 --> 01:25:55.883
Das fühlt sich schon nicht so cool an, muss ich sagen. Ey, absolut, absolut.

01:25:57.203 --> 01:26:00.763
Aber dafür gibt es jetzt zum Glück ganz, ganz viele tolle Projekte und auch

01:26:00.763 --> 01:26:03.223
bei ET&E ganz, ganz viele tolle Issues, die man sich anschauen kann.

01:26:04.123 --> 01:26:07.023
Übrigens, als das vorhin erwähnt wurde mit, man soll da ET&E verlinken,

01:26:07.083 --> 01:26:07.963
nicht verlinken, weiß man nicht.

01:26:08.123 --> 01:26:10.183
Ich mache das tatsächlich immer, wenn es was Relevantes gibt,

01:26:10.483 --> 01:26:12.283
aus dem einfachen Hintergrund zu zeigen, okay,

01:26:12.823 --> 01:26:16.683
das ist, also ich mache das nicht als Hintergrund von ET&E, sondern nicht racist,

01:26:16.843 --> 01:26:19.843
weil ich persönlich denke, keine Ahnung, es wäre ganz gut, wenn dieses,

01:26:19.983 --> 01:26:22.743
was weiß ich, Roller-Plugin oder Veed-Plugin-Support hätte für Roller-NV,

01:26:22.823 --> 01:26:23.723
damit es performanter läuft.

01:26:24.283 --> 01:26:28.543
Recht einfacher Grund, sagen, okay, future-proof und zukunftssicher,

01:26:28.983 --> 01:26:31.963
Und dann verlinke ich aber zu sagen, guck mal, hier gibt es zum Beispiel andere

01:26:31.963 --> 01:26:33.643
Beispiele von Leuten, die es auch schon gemacht haben.

01:26:33.943 --> 01:26:36.463
Und anstatt zu sagen, ich muss jetzt hier meine 10 PRs verlinken,

01:26:36.583 --> 01:26:38.983
wo ich zum Beispiel das gemacht habe, hier ist der Umbrella-Issue,

01:26:39.343 --> 01:26:41.983
guck mal rein, da sind wiederum die alle PRs verlinkt.

01:26:42.043 --> 01:26:45.123
Das macht es teilweise auch einfacher zu sagen, wie stelle ich denn das jetzt an?

01:26:45.743 --> 01:26:51.163
Also ich glaube, da überwiegt meiner Meinung nach schon der Nutzen mehr dem Negativen.

01:26:51.983 --> 01:26:54.503
Aber das ist wahrscheinlich auch wieder so eine Case-by-Case-Entscheidung.

01:26:55.003 --> 01:26:56.123
Ja, also ich bin auch eher bei dir.

01:26:56.783 --> 01:27:01.483
Ich habe sehr gerne auch gesagt, halt, dieser PR ist Teil des EATD-Erfolgs zum

01:27:01.483 --> 01:27:05.423
Cleanup und habe das auch verlinkt, weil ich der Meinung bin,

01:27:05.423 --> 01:27:09.343
dass es einfach sehr, sehr viel naja, auch Fundament gibt dem Ganzen.

01:27:09.563 --> 01:27:12.203
Da haben sich Leute darüber Gedanken gemacht, naja, es war schon ein paar Mal

01:27:12.203 --> 01:27:16.543
gemacht, es wurde diskutiert, dass der PR allein ist nicht alles,

01:27:16.703 --> 01:27:21.603
sondern es gibt noch andere relevante Informationen, aber es wurde halt auch

01:27:21.603 --> 01:27:23.523
diskutiert, dass man eventuell dann Leute sich da.

01:27:25.550 --> 01:27:27.770
Druck ausgesetzt sind in den Maintainer, dass sie dann halt,

01:27:27.890 --> 01:27:30.650
oh, alle haben das gemacht und das E-Mail macht das jetzt, also muss ich das

01:27:30.650 --> 01:27:34.570
auch machen, dann würde ich mir eigentlich weh und dann eventuell eine negative Antwort bekommt.

01:27:34.790 --> 01:27:38.070
Aber ich bin da auch eher auf deiner Seite, muss ich sagen, aber das ist so

01:27:38.070 --> 01:27:39.350
ein, manche machen es, manche nicht.

01:27:39.950 --> 01:27:42.490
Inzwischen ist es, glaube ich, so ein mach es halt, wie du willst.

01:27:44.270 --> 01:27:46.670
Ist auch verständlich, so jeder hat da vielleicht so andere Gefühle zu,

01:27:47.590 --> 01:27:53.010
aber genau, ich denke am Ende, ja, das wird es halt wirklich so ein bisschen finden. Genau.

01:27:53.470 --> 01:27:56.210
Auf jeden Fall freue ich mich aber eigentlich immer, wenn so ein paar 18N-Mensions

01:27:56.210 --> 01:27:57.250
kommen oder auch genau sowas wie,

01:27:57.410 --> 01:28:01.650
okay, hier so eine Migration, hat bei vorhin schon von CommonJS zu ESM und dann

01:28:01.650 --> 01:28:06.090
taucht es vielleicht in den Community-Highlights auf, macht ja auch so quartalsweise

01:28:06.090 --> 01:28:10.970
immer so eine Übersicht-Recap-Blog-Post, was ist so im Quartal davor passiert,

01:28:11.730 --> 01:28:15.570
gibt es auch den neuesten Post wahrscheinlich schon online, da ich das jetzt,

01:28:15.930 --> 01:28:17.830
wenn ihr es hört, schon mindestens im Oktober seit.

01:28:18.890 --> 01:28:22.190
Mal sehen. Ja, vielleicht es kommt es auch später. haben, ja genau,

01:28:22.310 --> 01:28:23.970
aber da gibt es natürlich immer ganz coole Sachen zu berichten,

01:28:24.050 --> 01:28:25.150
wo man sieht, es passiert halt was

01:28:25.590 --> 01:28:27.390
überall und teilweise sind es halt auch wirklich so Libraries,

01:28:27.410 --> 01:28:31.630
wo man sagt, als, ich sag mal Endnutzer, hat man vielleicht nie was von fdir

01:28:31.630 --> 01:28:33.910
oder fdir gehört, einfach nur f-d-i-r,

01:28:34.850 --> 01:28:37.630
aber das sind halt so Sachen, okay, die stecken wir in Showcase da drin,

01:28:37.710 --> 01:28:41.170
dies, das, die eigentlich jeder auf dem Rechner hat, das sind so Geschichten,

01:28:41.270 --> 01:28:43.670
wo man auch sagt, okay, da steigt man in der Regel nicht so tief rein,

01:28:44.010 --> 01:28:46.790
ist aber mega spannend, was drum zu hören, dann eben auch vielleicht,

01:28:46.910 --> 01:28:50.310
wenn man solche Libraries da ein bisschen schneller macht, ganz viel zu bewegen.

01:28:51.250 --> 01:28:55.170
Ja, gerade bei so grundlegenden Bibliotheken ist das ultra wichtig.

01:28:55.510 --> 01:28:59.030
Und FDIR, ich habe davon auch nicht gehört vor EAT&E.

01:28:59.390 --> 01:29:02.290
Aber da habe ich dann, okay, dafür ist es zuständig und jetzt machen wir es

01:29:02.290 --> 01:29:04.530
schneller und das ist cool und der Maintainer macht auch mit.

01:29:05.850 --> 01:29:08.510
Von daher ist es echt eine coole Sache, dass es funktioniert.

01:29:11.250 --> 01:29:17.310
Und wo wir nochmal bei den Contributions sind, bei E18E kann man auch contributen,

01:29:17.410 --> 01:29:21.910
da geht man am besten auf eure Webseite und dann gucke ich wo genau,

01:29:22.110 --> 01:29:25.870
gucke ich da auf GitHub oder wie finde ich am besten raus, wie ich contributen könnte?

01:29:25.930 --> 01:29:29.510
Also wenn man wirklich mit den Leuten diskutieren will, kann man auf jeden Fall

01:29:29.510 --> 01:29:32.750
den Discord-Link nutzen, da ist man direkt drin und dann kann man auch dort

01:29:32.750 --> 01:29:34.090
einfach nachfragen, was es zu tun gibt.

01:29:34.490 --> 01:29:37.730
Dann wird man wahrscheinlich aber auch einfach in einem Issue-Tracker weitergeleitet.

01:29:37.730 --> 01:29:39.390
Oder man geht da direkt zum Issue-Tracker.

01:29:40.490 --> 01:29:43.670
Ich weiß gar nicht, wie common das ist, dass die Leute Issues machen,

01:29:43.770 --> 01:29:44.990
ohne auch im Discord zu sein.

01:29:46.010 --> 01:29:49.890
Oftmals sind die Leute dann auch im Discord. Aber es ist natürlich möglich.

01:29:49.890 --> 01:29:51.610
Ja, dann verlinken wir den extra gleich nochmal.

01:29:51.930 --> 01:29:55.190
Also wir schicken die Leute nicht weg, nur weil die nicht nur unter Discord waren.

01:29:56.030 --> 01:29:59.990
Der Sinn und Zweck ist ja, dass da einfach alle mitmachen können und das schön

01:29:59.990 --> 01:30:01.670
nachgestellt ist, was meist nichts zu tun hat.

01:30:04.514 --> 01:30:08.094
Also ich freue mich auf jeden Fall auch immer bei GitLab, wenn da noch jemand

01:30:08.094 --> 01:30:10.714
schreibt, hey, hier habe ich was aus der Initiative.

01:30:11.094 --> 01:30:13.834
Also immer, wir total offen dafür, immer her damit.

01:30:16.294 --> 01:30:18.294
Ansonsten unterhaltet euch mit den Leuten, das ist halt eine mega Chance.

01:30:18.434 --> 01:30:21.134
Ihr kommt am Anfang rein und sagt so, ey, eigentlich ich will helfen,

01:30:21.474 --> 01:30:25.294
wo kann ich loslegen, vielleicht hier sind meine Interessen oder darauf hätte ich Lust.

01:30:25.994 --> 01:30:28.774
Ich glaube, da geht es ganz schnell, dass man da was findet,

01:30:29.254 --> 01:30:30.914
weil Arbeit gibt es auf jeden Fall genug.

01:30:31.574 --> 01:30:34.754
Auf jeden Fall. Und der Discord ist auch jetzt richtig aktiv.

01:30:34.934 --> 01:30:36.234
Es gab auch mal ruhige Zeiten.

01:30:36.574 --> 01:30:39.174
Es ist auch ein bisschen fahrend teilweise, aber ich muss sagen,

01:30:39.274 --> 01:30:42.174
der Discord, da passiert schon was. Also man kriegt auf jeden Fall eine Antwort.

01:30:43.894 --> 01:30:48.294
Ich habe nicht mehr Zeit, Zeit alles zu lesen. Und das heißt schon, das ist recht aktiv.

01:30:49.314 --> 01:30:54.314
Genau. Freut mich da auch immer, das zu sehen. Der Alex hängt im Random-Channel rum.

01:30:54.754 --> 01:30:57.054
Ich hänge auch im Random-Channel rum und poste da zum Beispiel,

01:30:57.194 --> 01:31:01.074
dass jetzt Rolldown und irgendwie OXD-Pakete aller ESM-Only sind.

01:31:01.094 --> 01:31:02.714
Das ist ja gar nicht so richtig random.

01:31:03.334 --> 01:31:06.474
Das stimmt, da gibt es auch noch einen Shared-Channel, wo man so Erfolge teilen

01:31:06.474 --> 01:31:09.314
kann. Natürlich ein Random-Channel, wo so ein bisschen einfach alles wirklich

01:31:09.314 --> 01:31:11.154
besprochen wird. Schön.

01:31:12.754 --> 01:31:15.874
Ich frage mich dann immer, wie sehr ich von dem Random abweichen darf,

01:31:15.994 --> 01:31:18.214
aber Random ist eigentlich Random, also kannst du auch über deinen Hund reden.

01:31:19.274 --> 01:31:22.934
Ist eigentlich alles erlaubt. Die Regel vom Random-Channel ist,

01:31:23.014 --> 01:31:26.434
dass alles erlaubt ist. Nicht Random und Random und am Randomsten.

01:31:29.314 --> 01:31:38.114
Ja gut, dann fand ich das eine sehr, sehr aufschlussreiche und erfolgreiche Aufnahme.

01:31:38.254 --> 01:31:42.294
Ich habe auf jeden Fall sehr viel gelernt, nehme sehr viel mit aus ganz verschiedenen

01:31:42.294 --> 01:31:48.674
Bereichen, also auch den Autofixi-Eye und habe auf jeden Fall selber auch wieder

01:31:48.674 --> 01:31:52.334
ganz viel Lust mir anzuschauen, welche Packages man noch so ersetzen kann.

01:31:52.334 --> 01:31:56.514
Ich habe auch so ein bisschen das Gefühl, das ist so wie so ein kleiner Hand.

01:31:56.834 --> 01:31:59.234
So, ach, was kann ich noch ein bisschen schnell verbessern?

01:32:00.194 --> 01:32:04.754
Es freut mich auf jeden Fall, dass das so eine aktive und nette Community ist.

01:32:05.054 --> 01:32:08.594
Und wie gesagt, es wird alles in den Shownotes verlinkt.

01:32:09.374 --> 01:32:13.434
Und dann bedanke ich mich sehr bei euch beiden. Vielen Dank,

01:32:13.534 --> 01:32:15.214
Alex. Vielen Dank, Udima.

01:32:15.894 --> 01:32:19.914
Sehr gerne. Und sobald es Updates gibt, meldet euch gerne wieder.

01:32:19.914 --> 01:32:24.134
Dann reden wir wieder drüber, was vielleicht auch in einem Jahr so abgeht.

01:32:24.534 --> 01:32:26.334
Da wird sich ja noch einiges finden.

01:32:26.834 --> 01:32:30.774
Also da passiert sicher viel. Die Arbeit wird auf jeden Fall nicht ausgehen, ja.

01:32:31.809 --> 01:32:36.229
Die Arbeit geht nicht aus. Dafür sorgen wir schon selber. Das ist wahr.

01:32:38.669 --> 01:32:43.989
Aber wenn ihr da draußen irgendwas mit E-Elchen gemacht, dann wenn ihr auf Flueskeiter

01:32:43.989 --> 01:32:47.209
unterwegs seid, es gibt einen E-Elchen-Account, taggt den ruhig oder schreibt auch im Discord.

01:32:47.329 --> 01:32:50.169
Ist auch immer cool zu lesen, wenn Leute dann sagen, hey, wir haben bei uns

01:32:50.169 --> 01:32:52.989
selber mal aufgeräumt und hier, das ist, keine Ahnung, kleiner geworden und

01:32:52.989 --> 01:32:56.189
so eine große Installationsgröße oder vieles schneller.

01:32:56.929 --> 01:33:00.309
Gerne schreibt da ein bisschen Feedback zu. Da freut sich eigentlich jeder.

01:33:01.349 --> 01:33:04.769
Auf Blue Sky. Ihr könnt auch einen LinkedIn-Post machen, ihr wollt es euch überlassen.

01:33:05.469 --> 01:33:06.609
Teilt das gerne mit der Welt.

01:33:07.629 --> 01:33:11.469
Ach, so ein richtig schöner Blogartikel, so wie bei Storybook 9 hier.

01:33:11.869 --> 01:33:15.309
Absolut. Ich habe jetzt die drei Sachen ersetzt. Hier schauen wir meinen Grafen

01:33:15.309 --> 01:33:16.629
an, wie cooler Dates ist.

01:33:17.069 --> 01:33:19.249
Also falls hier noch jemand auf die Motivation gewartet hat,

01:33:19.289 --> 01:33:21.889
ich habe doch einen Blog, aber ich fällt dir mal nicht ein, was ich drauf schreiben

01:33:21.889 --> 01:33:26.889
soll, dann schaut mal, dass ihr drei Sachen ersetzen könnt. Blogartikel, Checkmark für Oktober.

01:33:27.449 --> 01:33:30.249
Auch für Engineering-Blogs von Firmen eigentlich ideal. Das war unsere große

01:33:30.249 --> 01:33:34.769
Dependencyliste. Das ist hier rein ins Promotion-Doc. Ab geht's.

01:33:36.209 --> 01:33:37.749
Die Gehaltserhöhung ist euch sicher.

01:33:39.589 --> 01:33:42.549
Und wenn nicht, dann meldet euch von Alex. Der hat es nämlich gesagt.

01:33:43.609 --> 01:33:46.349
Ich lege ein Wort für euch ein. Ihr habt das toll gemacht.

01:33:47.469 --> 01:33:48.889
Wir schreiben Referenzen.

01:33:50.489 --> 01:33:52.369
Jetzt traue ich mich gar nicht, mal wieder zu kommen.

01:33:55.649 --> 01:33:59.989
Spaß beiseite. Ich finde es ja schön. gut, deswegen machen wir jetzt den Beruf

01:33:59.989 --> 01:34:04.789
vielen lieben Dank jeder fürs Zuhören, wer bis jetzt noch dran geblieben ist,

01:34:05.089 --> 01:34:07.089
wir hören uns dann wieder nächste Woche,

01:34:07.609 --> 01:34:11.029
macht's gut und bis bald, tschau tschau tschau, tschüssi.

