WEBVTT

00:00:00.017 --> 00:00:03.857
Wie werden wir daraus schlauer? Wie verhindern wir das? Entweder Big Picture

00:00:03.857 --> 00:00:05.737
mäßig oder einfach nur so individuell.

00:00:05.957 --> 00:00:09.237
Wie kann ich jetzt so meine Firma dagegen immunisieren?

00:00:09.517 --> 00:00:12.057
Gegen jeden anderen Scheiß kannst du dich ja irgendwie versichern,

00:00:12.177 --> 00:00:14.077
absichern, hedgen, was auch immer.

00:00:14.937 --> 00:00:19.197
Aber wie machst du das mit solchen Software-Diktatoren? Was machst du da?

00:00:20.677 --> 00:00:24.097
Suche ich jetzt nach einer Lösung oder nach einer einfachen Lösung?

00:00:24.537 --> 00:00:28.137
Weil ich glaube, einfache Lösung gibt es nicht. Es ist jede Lösung mit Geld,

00:00:28.237 --> 00:00:29.157
Blutschweiß und Tränen.

00:00:29.360 --> 00:00:54.320
Music.

00:00:53.377 --> 00:00:56.497
Working Draft Revision 638,

00:01:00.017 --> 00:01:02.957
Diese Revision von Working Draft wird euch präsentiert von Mitwald.

00:01:03.217 --> 00:01:05.017
Next-Level-Hosting für deine Projekte.

00:01:05.497 --> 00:01:08.537
Jetzt fragt ihr euch bestimmt, wie kann sowas Langweiliges wie Hosting Next

00:01:08.537 --> 00:01:10.037
Level sein? Ganz einfach.

00:01:10.617 --> 00:01:14.197
Mitwalds hochperformantes Cloud-Hosting ist perfekt abgestimmt auf die Anforderungen

00:01:14.197 --> 00:01:15.697
von Freelancern und Agenturen.

00:01:15.937 --> 00:01:19.317
Es gibt zum Beispiel ein smartes Rollensystem für die Zusammenarbeit mit euren

00:01:19.317 --> 00:01:23.697
Projektpartnern und Mitwald hat mit MStudio auch eine sehr schöne moderne Verwaltungsoberfläche

00:01:23.697 --> 00:01:25.437
gebaut, mit der das Arbeiten Spaß macht.

00:01:25.637 --> 00:01:28.577
Aber jetzt mal ehrlich unter uns Nerds. Sachen anklicken?

00:01:28.817 --> 00:01:30.757
In einem User-Interface? Muss das sein?

00:01:31.057 --> 00:01:34.597
Nein, muss es nicht. Denn bei Mitwald gibt's die mStudio CLI.

00:01:34.857 --> 00:01:37.917
Mit der könnt ihr euer Hosting komplett über die Kommandozeile verwalten und

00:01:37.917 --> 00:01:39.557
natürlich auch entsprechend automatisieren.

00:01:39.757 --> 00:01:43.257
Von Nerds für Nerds bringt euch Mitwald die optimale Developer-Experience,

00:01:43.357 --> 00:01:44.377
wenn's ums Hosting geht.

00:01:44.597 --> 00:01:48.557
Und deshalb jetzt auf zu mitwald.de slash WorkingDraft.

00:01:48.697 --> 00:01:52.617
Denn da wartet auf euch exklusiv als Hörer von WorkingDraft das Angebot,

00:01:52.617 --> 00:01:55.597
den Tarif ProSpace für 30 Tage kostenlos zu nutzen.

00:01:55.777 --> 00:02:02.917
Das war nochmal mittwald.de Wir danken Mittwald für die Unterstützung von dieser

00:02:02.917 --> 00:02:04.297
Revision von Working Draft.

00:02:07.254 --> 00:02:10.494
Hallo und herzlich Willkommen zu Working Draft. Heute sind im Ring,

00:02:10.714 --> 00:02:13.494
wir zu zweit, in der rot-weiß-roten Ecke.

00:02:13.734 --> 00:02:16.614
Stefan Rusty Baumgartner.

00:02:17.154 --> 00:02:18.994
Oh mein Gott, hallo, servus.

00:02:21.874 --> 00:02:26.214
Und ich bin der Peter und wir reden heute über Framework-Drama.

00:02:26.774 --> 00:02:30.314
Ich weiß nicht, es gibt zwei Dramas. Es gibt dieses Web-Components-Drama,

00:02:30.414 --> 00:02:35.074
das da passiert ist. Das habe ich aber nur so über so Nebennachrichten gemerkt,

00:02:35.194 --> 00:02:39.714
wo auf einmal jeder in meiner Bubble über Web-Components gesprochen hat und geschwärmt hat.

00:02:40.194 --> 00:02:42.674
Und ich denke, wenn so viele Leute über Web-Components schwärmen,

00:02:42.794 --> 00:02:46.554
dann hat sicher irgendeiner einen Spicy-Blog-Post geschrieben.

00:02:47.194 --> 00:02:53.914
Und genau so war es dann auch. Ja, das andere ist natürlich irgendwie so Space Karen 2.0. Ja.

00:02:56.214 --> 00:03:00.214
Ach Gott, das ist so lächerlich. Das ist voll super, das hat mir so geholfen.

00:03:00.214 --> 00:03:01.554
Ich muss irgendwie in ein paar Wochen

00:03:01.554 --> 00:03:04.474
einen Talk machen zu irgendwie Frontend-Minimalismus, typisches Szenario.

00:03:04.914 --> 00:03:07.714
Ich reiche was ein, was ich irgendwie für eine gute Idee halte und ich habe

00:03:07.714 --> 00:03:08.814
keine Ahnung, was ich erzählen möchte.

00:03:11.034 --> 00:03:14.734
Und das hat mir halt sehr geholfen, dabei irgendwie so den Gedanken zu basteln,

00:03:14.814 --> 00:03:17.194
den ich halt seit Space Care und Twitter zugrunde gerichtet hatte.

00:03:18.414 --> 00:03:21.594
Wie nennst du das? Weil das ist ja im Prinzip, den Busfaktor kennt man ja.

00:03:22.534 --> 00:03:25.314
Der eine Maintener wird vom Bus überfahren und dann ist das Projekt im Arsch.

00:03:26.774 --> 00:03:31.114
Aber das gibt es ja sozusagen nicht nur so bottom-up-mäßig, sondern ja auch Top-Down-mäßig.

00:03:31.314 --> 00:03:33.854
Du kannst ja theoretisch, wenn der Maintainer eingeordnet ist oder das Projekt

00:03:33.854 --> 00:03:36.374
eingeordnet ist, in irgendeine Art von Firmenhierarchie.

00:03:37.194 --> 00:03:40.554
Dann hast du ja sozusagen mehrere Hierarchie-Ebenen, die jetzt nicht von einem

00:03:40.554 --> 00:03:43.294
Bus überfahren werden müssen, aber die einfach ihre Medis absetzen müssen.

00:03:43.614 --> 00:03:47.334
Und schon kommst du am Ende zum gleichen Ergebnis, nämlich das Ding wird eingestellt,

00:03:47.474 --> 00:03:48.994
nicht mehr weiterentwickelt, hast du nicht gesehen.

00:03:49.914 --> 00:03:52.514
Ja, das ist einfach ein sehr gutes, sehr frisches Beispiel, was ja auch noch

00:03:52.514 --> 00:03:55.114
softwareiger ist, als das, was der Musk da treibt.

00:03:55.674 --> 00:03:59.374
Was einfach super gut ist. und ich habe jetzt auch endlich sozusagen das Framing

00:03:59.374 --> 00:04:03.254
dazu gefunden, während der Busfaktor das ist, was halt so einzelne Open-Source-Maintainer

00:04:03.254 --> 00:04:06.394
ausknocken kann, nenne ich das den Train-Faktor.

00:04:08.594 --> 00:04:12.274
Also erstens natürlich, Elon Musk ist ja natürlich der größte Fan von Eisenbahn.

00:04:12.974 --> 00:04:15.654
Es ist immer super, wenn man ihn da reinsetzen kann. Aber im Prinzip ist es

00:04:15.654 --> 00:04:18.374
ja wirklich so, stell dir vor, du hast einen Zug mit so drei Wagen drin.

00:04:18.694 --> 00:04:21.694
Du hast den Oberchef, dann hast du den Mittelchef und im letzten Wagen sitzt du.

00:04:22.254 --> 00:04:25.954
Und jeder von denen kann die Notbremse ziehen. Und dann stehst du still.

00:04:26.574 --> 00:04:30.034
Unabhängig davon, ob du jetzt noch weitermachen willst, weitermachen kannst,

00:04:30.114 --> 00:04:31.534
vom Bus überfahren bist oder was, nicht alles.

00:04:32.594 --> 00:04:35.414
Und wenn man das halt so rumframed, dann ist das ja eine ganz andere Frage von

00:04:35.414 --> 00:04:39.114
wegen, in was für Abhängigkeiten begebe ich mich dann da, wenn ich irgendwie

00:04:39.114 --> 00:04:40.574
mich für Software XY entscheide?

00:04:40.654 --> 00:04:42.574
Also ist der Busfaktor eine Sorge?

00:04:42.894 --> 00:04:45.434
Und wenn ja, was mache ich mit dem Train-Faktor? Ignoriere ich den?

00:04:46.494 --> 00:04:50.054
Oder wie bewährt man das? Das ist ja eine ganz neue... Also ein Wort,

00:04:50.094 --> 00:04:51.434
um das zu greifen, weil ja offenbar

00:04:51.434 --> 00:04:54.334
der freidrehende CEO, der einfach irgendwelchen Blödsinn quatscht,

00:04:55.466 --> 00:04:58.566
Den gab's früher bestimmt auch, aber heutzutage haben die es halt viel leichter

00:04:58.566 --> 00:05:04.226
gehört zu werden und viel direkteren Durchgriff auf ihre diversen Besitztümer im weitesten Sinne.

00:05:04.986 --> 00:05:07.166
Und dass das ja ein viel relevanterer Faktor geworden ist.

00:05:08.146 --> 00:05:11.646
Deswegen, super, dieser WordPress-Meltdown, das ist wirklich so,

00:05:11.746 --> 00:05:14.706
dann auch in noch ein paar Wochen noch frisch genug in den ganzen Köpfen von

00:05:14.706 --> 00:05:15.786
denen, die es mitgekriegt haben.

00:05:16.606 --> 00:05:20.286
Super, super. Also ganz großartig. Ist eine Vollkatastrophe,

00:05:20.386 --> 00:05:22.366
aber für meinen Talk ist das super.

00:05:25.606 --> 00:05:29.806
Also ich bin mir garantiert sicher, dass wir alle das überleben werden.

00:05:30.546 --> 00:05:34.346
Also so dramatisch sehe ich das jetzt nicht, aber die Breite,

00:05:34.366 --> 00:05:36.666
die das Ganze annimmt und die Formen, die das Ganze annimmt,

00:05:36.746 --> 00:05:38.086
das ist halt einfach spannend zum Zusehen.

00:05:38.266 --> 00:05:43.086
Also erstens, das ist halt nicht irgendwer und das ist auch nicht irgendwelche Software.

00:05:43.286 --> 00:05:48.346
Jeder von uns, der das hört oder macht oder irgendwie im Web irgendwann mal

00:05:48.346 --> 00:05:53.026
etwas zu tun gehabt hat, hat WordPress in der Hand gehabt.

00:05:53.166 --> 00:05:58.326
Entweder um irgendeinen Company-Blog zu befeuern mit Content oder hat selber

00:05:58.326 --> 00:06:00.146
WordPress-Seiten entwickelt oder.

00:06:01.706 --> 00:06:06.866
Hat irgendwann einmal ins WordPress-Backend geschaut und hundertprozentig wart

00:06:06.866 --> 00:06:08.266
ihr auf einer WordPress-Seite.

00:06:08.506 --> 00:06:11.246
Zum Beispiel Working-Trifty war lange, lange Zeit eine WordPress-Seite.

00:06:11.326 --> 00:06:13.046
Ich wollte es gerade sagen, also wenn du es schon nicht betreibst,

00:06:13.106 --> 00:06:16.866
dann bist du zumindest mit hundertprozentiger Sicherheit Konsument von diesem Produkt.

00:06:18.046 --> 00:06:21.766
TechCrunch ist eine WordPress-Seite. Das wissen auch wenige.

00:06:21.826 --> 00:06:24.346
Smashing Magazine war lange, lange Zeit eine WordPress-Seite.

00:06:25.026 --> 00:06:27.586
CSS-Tricks war lange, lange Zeit eine WordPress-Seite. Ist, glaube ich,

00:06:27.626 --> 00:06:28.906
immer noch eine WordPress-Seite.

00:06:29.386 --> 00:06:31.546
Ja, ich meine, das ist sicher auch gut genug, wenn sozusagen wirklich,

00:06:32.026 --> 00:06:35.226
also die Nerds beschweren sich immer darüber, oh Gott, oh Gott,

00:06:35.286 --> 00:06:39.326
der Code ist so schlecht, aber sozusagen, um halt irgendwie so marginal-technische

00:06:39.326 --> 00:06:40.826
Leute zum Publizieren zu bringen,

00:06:41.540 --> 00:06:43.860
Scheint, dass Sie irgendwie ein lokales Maximum getroffen haben.

00:06:44.000 --> 00:06:45.440
Es funktioniert halt einfach.

00:06:45.600 --> 00:06:48.920
Das ist ja das Ding. Also ich sage jetzt nicht, dass es gut funktioniert oder so,

00:06:49.200 --> 00:06:53.900
aber meine Herangehensweise ist, dass ich schneller Seite draußen habe,

00:06:53.920 --> 00:06:57.020
wie vielleicht mir um wenig Geld ein gutes Design kaufen möchte oder ein halbwegs

00:06:57.020 --> 00:07:02.320
gutes Design kaufen möchte und als Benutzerin oder Benutzer die Möglichkeit habe,

00:07:03.340 --> 00:07:07.060
diese Seiten selbst gestalten zu können beziehungsweise mit Features,

00:07:07.220 --> 00:07:11.440
die sonst nur professionelle Seiten haben, ausstatten möchte,

00:07:13.020 --> 00:07:16.900
Kontaktformen, was auch immer, Kommentarspalten etc. Da gibt es ja einiges.

00:07:18.520 --> 00:07:21.920
Dann ist das halt einfach damit total easy. Ich habe früher die erste Lightbox,

00:07:22.060 --> 00:07:24.340
die ich gehabt habe, dass ich auf ein Bild draufklicke und das geht in so einem

00:07:24.340 --> 00:07:25.960
schönen Fotoframe rauf.

00:07:26.240 --> 00:07:29.220
Das war ein Plugin, das ich mir installiert habe. Das ist das Einfachste zum

00:07:29.220 --> 00:07:30.520
Entwickeln. Keine Frage.

00:07:31.640 --> 00:07:33.940
Nachdem ich es einmal checkt habe, wie das geht, habe ich das selber entwickelt.

00:07:34.220 --> 00:07:37.580
Aber es war halt einfach easy, das über ein Plugin reinzugeben.

00:07:38.200 --> 00:07:42.940
Von dem her, ja, also ich verstehe, warum das System so erfolgreich ist.

00:07:43.020 --> 00:07:48.380
Ich kenne genug Firmen, auch in Österreich, die sich ein gutes Geld verdient

00:07:48.380 --> 00:07:50.100
haben, in dem es WordPress-Supporter waren.

00:07:50.180 --> 00:07:54.600
Es gibt dann World4U, das ist ein kleiner Hoster bei uns im Hafen,

00:07:54.680 --> 00:07:56.400
da hat jeder Österreicher mal seine Webseite gehabt.

00:07:56.720 --> 00:08:00.460
War auch so ein One-Click-Install inklusive Domain um 5 Euro,

00:08:00.540 --> 00:08:01.920
das war ein vernünftiger Preis.

00:08:02.540 --> 00:08:06.520
Für den Hoster war es easy, weil der hat einfach ein paar vorgefertigte Skripte verwendet.

00:08:06.520 --> 00:08:10.340
Also für mich als Admin war es easy, weil ich habe halt wirklich im Handumdrehen eine Seite gehabt,

00:08:11.120 --> 00:08:14.420
und ich darf es nicht so laut sagen, weil sonst kommt der Matt Mullen weg und

00:08:14.420 --> 00:08:21.880
haut noch in Jimmy von World4U im Hafen eine drauf und wird auch noch 8% des

00:08:21.880 --> 00:08:22.920
Einkommens haben oder so.

00:08:24.600 --> 00:08:28.380
Aber tatsächlich, ich verstehe, warum das ein gutes System ist.

00:08:28.720 --> 00:08:34.240
Es hat im Wels einen Template-Bauer gegeben, der hat fünf Jahre seines Lebens

00:08:34.240 --> 00:08:37.780
damit finanziert, indem er einfach sehr, sehr gute Templates auf Filmfahrers

00:08:37.780 --> 00:08:40.640
gehabt hat und um 50 Euro angeboten hat.

00:08:41.060 --> 00:08:44.920
Also das ist cool, super, dass das existiert. Aber was da gerade im Hintergrund

00:08:44.920 --> 00:08:46.020
passiert ist, ist einfach halt,

00:08:46.635 --> 00:08:50.815
massiv kritisch für alle, die das betreiben. Also ich glaube, das jüngste.

00:08:54.675 --> 00:08:59.335
Ereignis, wobei es hat sich glaube ich schon wieder was da, war, dass,

00:09:00.815 --> 00:09:05.235
dieses Advanced Custom Fields, das jetzt vom WordPress-großen Gegenspieler wie

00:09:05.235 --> 00:09:09.955
P-Engine betrieben worden ist oder gesponsert worden ist oder maintained worden

00:09:09.955 --> 00:09:12.275
ist. Also irgendwie haben die halt dort die Finger drinnen gehabt.

00:09:12.535 --> 00:09:15.735
Das war deren Ding, so im weitesten Sinne. Genau, sie haben eine Pro-Version

00:09:15.735 --> 00:09:19.195
angeboten, und du hast die Gratis-Version über WordPress auch runterladen können.

00:09:19.555 --> 00:09:22.655
Und die Firma von Matt Mullenweg hat das jetzt geheijackt, hat gesagt,

00:09:22.755 --> 00:09:27.175
was, sie forken das im Rahmen der GPL, entfernen alle Pro-Features,

00:09:27.355 --> 00:09:28.915
nennen es Secure Custom Fields,

00:09:30.055 --> 00:09:36.235
und alle Links zeigen jetzt auf das neue Plugin von WordPress und nicht mehr auf das HLWP-Engine.

00:09:36.575 --> 00:09:41.655
Und das ist eines der populärsten Plugins, das hat ja jeder von uns schon mal verwendet.

00:09:41.655 --> 00:09:47.375
Auf der weitverbreitetsten Content-Management-Plattform der Welt,

00:09:47.975 --> 00:09:54.935
die im besten Fall eine große Prozentscheule Auto-Update drinnen haben.

00:09:55.355 --> 00:10:00.075
Das ist die größte Supply Chain-Attack, die es je gegeben hat.

00:10:01.015 --> 00:10:03.455
Gesteuert vom CEO von WordPress.

00:10:04.715 --> 00:10:11.595
Puder. Würdest du das als Angriff bezeichnen? Also, weil die Frage ist ja so ein bisschen, also.

00:10:13.561 --> 00:10:17.001
Also okay, es ist halt insofern ein Angriff, als dass sozusagen jetzt die Betreiber

00:10:17.001 --> 00:10:18.761
davon nicht damit gerechnet haben, dass das passieren kann.

00:10:19.421 --> 00:10:27.061
Aber es ist ja schon so ein bisschen von innen heraus. Es war ja die Plug-in-Plattform von WordPress.

00:10:27.941 --> 00:10:29.741
Von Matt himself. Ja?

00:10:30.641 --> 00:10:35.021
Also ich bin, ich bin, also was heißt, ich bin sicher. Ich hoffe für ihn,

00:10:35.121 --> 00:10:38.061
dass da irgendwo in irgendwelchen AGB drinsteht, dass er das machen kann.

00:10:38.781 --> 00:10:42.981
Ja, okay. Garantiert. Ähm, ja. Das heißt garantiert. Das ist ja jetzt nicht

00:10:42.981 --> 00:10:46.581
unbedingt so, dass du davon ausgehen kannst, dass der im Vollbesitz seiner geistigen

00:10:46.581 --> 00:10:49.781
Kräfte oder auch nur besonders schlau ist. Das wissen wir ja alles nicht.

00:10:51.621 --> 00:10:54.461
Guck dir halt eben an, was sein großes Vorbild Space Karen sich in Brasilien

00:10:54.461 --> 00:10:57.781
geleistet hat. Das war jetzt ja auch nicht irgendwie durchdacht und geplant.

00:10:58.261 --> 00:11:01.041
Ich habe gar nicht Miet gekriegt. Ach, die haben in Brasilien gesagt,

00:11:01.161 --> 00:11:05.461
ey, da ist zu viel irgendwie, keine Ahnung, Content, den wir nicht haben wollen.

00:11:05.761 --> 00:11:07.961
Irgendwie so, also kriminelles Zeug da am Start.

00:11:08.421 --> 00:11:11.781
Mach mal weg. Und Space Karen so, nee, da kostet Geld, mach ich nicht.

00:11:12.221 --> 00:11:16.601
Und dann irgendwie so Court Order hier, Twitter abgeschaltet,

00:11:16.781 --> 00:11:17.761
da hast du nicht gesehen.

00:11:18.481 --> 00:11:21.541
Und ich meine, das ganze Grundproblem ist halt einfach nur, du hast halt diese

00:11:21.541 --> 00:11:23.921
Man-Babys und die regieren halt

00:11:23.921 --> 00:11:26.541
mit eiserner Faust über ihre Imperien und können machen, was sie wollen.

00:11:26.841 --> 00:11:28.901
Und meine Frage von wegen, ist das irgendwie ein Angriff?

00:11:29.221 --> 00:11:33.621
Also im Sinne von, ist das nicht klar, dass das passiert, wenn du es so konstruierst,

00:11:33.681 --> 00:11:34.461
wie du es konstruiert hast?

00:11:36.981 --> 00:11:40.081
Du hast halt eben da buchstäblich eine diktatorische Figur, die machen kann,

00:11:40.181 --> 00:11:41.501
was sie will. Per Design.

00:11:42.301 --> 00:11:46.361
Da musst du dich nicht wundern, wenn die macht, was sie will. Weil geht ja.

00:11:48.961 --> 00:11:51.121
Vielleicht sage ich es mal so, also mich wundert nicht,

00:11:53.135 --> 00:11:55.875
Dass es passiert? Nein, es ist falsch.

00:11:56.095 --> 00:11:58.215
Also mir ist bewusst, dass das passieren kann. Das ist, glaube ich,

00:11:58.455 --> 00:12:01.515
der richtige Wortlaut. Mir ist sehr bewusst, dass das passieren kann.

00:12:02.175 --> 00:12:04.795
Man ist halt lange Zeit in diesem Gutglauben, dass man denkt,

00:12:04.895 --> 00:12:07.275
es wird eh schon irgendwie gut ausgehen und das macht er doch nicht wirklich.

00:12:09.055 --> 00:12:09.575
Ja, genau.

00:12:11.475 --> 00:12:13.875
Das ist genau das Ding. Ich glaube, das Richtige ist, man ist so ein bisschen

00:12:13.875 --> 00:12:16.695
erschrocken davon, aber man wundert sich nicht ernsthaft.

00:12:17.955 --> 00:12:21.535
Das ist halt irgendwie so, wie damals, als Wladimir in die Ukraine einmarschiert

00:12:21.535 --> 00:12:25.035
ist, hat ja nicht wirklich jemanden gewundert, aber man hat ja die ganze Zeit

00:12:25.035 --> 00:12:27.855
gedacht, er macht ja nicht wirklich, der ist doch bescheuert,

00:12:27.955 --> 00:12:30.915
der weiß doch selber, dass das nicht gut gehen wird, bla bla bla.

00:12:32.355 --> 00:12:35.895
Das ist halt das Problem, wenn du irgendwo einen Diktator hast oder einen Man-Baby

00:12:35.895 --> 00:12:39.575
und der hat halt da seinen riesigen Kram da am Start und die Frage ist natürlich,

00:12:41.175 --> 00:12:45.915
wie identifizierst du solche Konstruktionen und wenn du sie identifiziert hast, was machst du damit?

00:12:46.755 --> 00:12:50.935
Weil sowas wie WordPress ist ja tatsächlich ein fundamentaler Bestandteil von

00:12:50.935 --> 00:12:54.575
Webseiten, ganzen Firmen, Imperien, wie du es ja gerade so schön dargelegt hast.

00:12:55.775 --> 00:12:56.895
Was tust du denn da?

00:12:58.555 --> 00:13:02.535
Gerade wenn du halt irgendwie so beknackte Sachen hast, wie jetzt hier so die

00:13:02.535 --> 00:13:07.375
beiden Teams da, die WP Engine und das richtige WordPress oder wie immer man das nennen möchte,

00:13:07.815 --> 00:13:10.295
wenn die da gegeneinander unterwegs sind und irgendwie die sich gegenseitig

00:13:10.295 --> 00:13:13.415
da so Ausschlussklauseln irgendwie reinschrauben, musst du eine Checkbox setzen,

00:13:13.495 --> 00:13:16.235
ich arbeite nicht mit denen zusammen, wenn du dich bei den anderen einloggen willst.

00:13:16.355 --> 00:13:19.415
Ich bin nicht finanziell involviert und das ist ja prinzipiell alles,

00:13:19.515 --> 00:13:25.675
das sind auch alle alten Kunden von WP Engine, sind finanziell involviert mit WP Engine.

00:13:25.695 --> 00:13:28.675
Stell dir halt vor, du bist halt eine richtig große irgendwie so Agentur,

00:13:28.755 --> 00:13:33.075
du hast irgendwie so Also 100 Mitarbeiter, also jetzt nicht monströs groß,

00:13:33.195 --> 00:13:36.735
aber schon so, dass du wirklich damit rechnen musst, dass du Kunden hast,

00:13:36.795 --> 00:13:39.515
die dieses, jenes, solches System verwenden. Unter anderem die beiden.

00:13:39.595 --> 00:13:40.215
Ja, was machst du denn dann?

00:13:43.530 --> 00:13:48.310
Weil du weißt ja mittlerweile, dass der Diktator, wenn es ihm nicht passt,

00:13:48.570 --> 00:13:51.210
tatsächlich die rote Linie überschreitet.

00:13:51.450 --> 00:13:53.490
Ich glaube, ob das so ein Schlaufe wie ihn ist oder nicht. Und was machst du

00:13:53.490 --> 00:13:56.850
dann, wenn du dann da zwischen diesen ganzen Dingern gefangen bist?

00:13:56.930 --> 00:14:00.070
Nur die Frage ist wirklich, was... Okay, haben wir jetzt gesehen?

00:14:00.250 --> 00:14:02.630
Das haben wir jetzt gesehen irgendwie mit Space Caron. Das haben wir jetzt mit

00:14:02.630 --> 00:14:05.710
dem Matt gesehen. Und wenn wir wollen, können wir Wladimir auch noch in die Verlosung mit reintun.

00:14:05.990 --> 00:14:08.870
Da haben wir jetzt ein paar sehr kurze Events gesehen, wo halt der durchgeknallte

00:14:08.870 --> 00:14:12.490
Diktator tatsächlich das macht. Warum auch immer.

00:14:13.530 --> 00:14:19.050
Was machst du damit? Was machen wir jetzt? Wie werden wir daraus schlauer? Wie verhindern wir das?

00:14:19.390 --> 00:14:23.690
Entweder Big Picture mäßig oder einfach nur so individuell. Wie kann ich jetzt

00:14:23.690 --> 00:14:26.210
so meine Firma dagegen immunisieren?

00:14:26.450 --> 00:14:29.470
Wie kann ich diese erkennen? Und wie kann ich irgendwas dagegen machen?

00:14:29.710 --> 00:14:32.210
Gegen jeden anderen Scheiß kannst du dich ja irgendwie versichern,

00:14:32.330 --> 00:14:34.230
absichern, hedgen, was auch immer.

00:14:35.090 --> 00:14:39.150
Aber wie machst du das mit solchen Software-Diktatoren? Lass mal,

00:14:39.190 --> 00:14:43.050
Vlatti, mir mal raus. Bleiben wir mal bei den Software-Diktatoren. Was machst du da?

00:14:44.830 --> 00:14:49.370
Suche ich jetzt nach einer Lösung oder nach einer einfachen Lösung?

00:14:49.870 --> 00:14:54.850
Weil ich glaube, einfache Lösung gibt es nicht. Es ist jede Lösung mit Geld,

00:14:54.850 --> 00:14:58.930
Blutschweiß und Tränen verbunden. Ja, soll mir recht sein.

00:14:59.270 --> 00:15:01.870
Also jetzt aus meiner Perspektive wäre ja erstmal, dass ich sozusagen.

00:15:03.910 --> 00:15:06.890
Also allein schon wenn du es kommen siehst oder kommen sehen kannst,

00:15:07.270 --> 00:15:10.210
wenn du es nicht komplett dich überrascht, bist du ja irgendwie besser darauf vorbereitet.

00:15:11.050 --> 00:15:13.910
Und dann tut es ja schon gegebenenfalls ein bisschen weniger weh.

00:15:13.990 --> 00:15:16.910
Vielleicht hast du keinen ausgefeilten Plan in der Schublade,

00:15:17.150 --> 00:15:19.530
für was du dann machst, aber vielleicht hast du irgendwie so eine grobe Idee.

00:15:19.990 --> 00:15:21.810
Sollte die Welt abbrennen, mache ich das, das, das.

00:15:24.170 --> 00:15:28.770
Also prinzipiell, ich bin ja, und das ist eher eine neue Entwicklung,

00:15:28.870 --> 00:15:32.010
muss ich auch ganz ehrlich sagen, in der letzten Zeit eher ein bisschen skeptisch

00:15:32.010 --> 00:15:36.910
geworden mit diesen All-in-One-Be-Happy- Hosting-Angeboten.

00:15:37.710 --> 00:15:40.610
Das fängt bei Versiel an und hört immer bei WordPress.com auf.

00:15:41.310 --> 00:15:44.510
Ja, ich wollte gerade fragen, was soll ein Beispiel für so ein All-in-One?

00:15:45.130 --> 00:15:50.010
Vercel. Also Vercel ist halt auch, ist ja ähnlich, du kriegst Next.js als Framework

00:15:50.010 --> 00:15:52.950
geliefert, du kannst deine Seiten machen und die beste Art und die einfachste

00:15:52.950 --> 00:15:54.310
Art, es zu hosten ist, ist bei Vercel.

00:15:54.450 --> 00:15:58.950
Du hast halt dort ein bisschen ein DevOps-Spiel dabei, dass du halt tatsächlich

00:15:58.950 --> 00:16:03.090
ein Bild managen musst oder aufsetzen musst oder im schlimmsten Fall ein GitHub-Repo

00:16:03.090 --> 00:16:05.970
mit einer UI eben auf Vercel.com verbinden.

00:16:06.070 --> 00:16:09.050
Also es ist eh minimalistisch, aber du hast jetzt selbst noch Code in der Hand,

00:16:09.050 --> 00:16:12.030
wohingegen WordPress dir sagt, hey, wir machen die Installation,

00:16:12.190 --> 00:16:14.690
du kannst das Theme runterladen, du kannst alles über die UI machen,

00:16:14.770 --> 00:16:17.110
musst im besten Fall nicht einmal irgendwelchen Code angreifen.

00:16:18.410 --> 00:16:22.450
Bist du halt definitiv bei Vercel schon ein bisschen mehr in der Materie drinnen.

00:16:22.530 --> 00:16:25.330
Aber das Prinzip ist das gleiche. Sie bieten Open Source Framework an,

00:16:25.490 --> 00:16:28.250
sie definieren sich stark über das Open Source Framework.

00:16:28.330 --> 00:16:31.690
Also sie haben ja diese Vercel-Konferenz einmal getroppt und haben dann die

00:16:31.690 --> 00:16:35.050
Next-Chess-Konferenz gemacht, weil einfach die Breite der Leute,

00:16:35.070 --> 00:16:39.590
die sie erreichen können, viel, viel größer ist. und alles in diesem Framework,

00:16:40.262 --> 00:16:44.662
führt dazu hin, dass du den bestmöglichen Output bei ihnen auf der Plattform bekommst.

00:16:44.702 --> 00:16:47.682
Und sie arbeiten auch mit ein paar Tricks, die fragwürdig sind,

00:16:47.782 --> 00:16:50.962
für die sie auf Kritik gekriegt haben, nämlich neue Features werden prinzipiell

00:16:50.962 --> 00:16:53.322
nur bei Konferenzen angekündigt und dann erst freigeschalten.

00:16:53.422 --> 00:16:58.522
Das heißt, die werden in Isolation unabhängig von dem Open-Source-Repository

00:16:58.522 --> 00:17:02.702
entwickelt, also versteckt auch, und dann einfach einmal mit einem Schwung veröffentlicht.

00:17:03.062 --> 00:17:05.942
Was natürlich so dieses Konstrukt eines Open-Source-Repositors,

00:17:05.942 --> 00:17:09.102
als wo man den Code hostet, auf Contributions sortet und so weiter,

00:17:09.282 --> 00:17:10.562
eher ein bisschen nicht durchstellt.

00:17:11.602 --> 00:17:15.582
Der Quellcode ist frei lesbar, aber die Entwicklung wird stark von der Firma

00:17:15.582 --> 00:17:18.602
gesteuert. Ich sage jetzt nicht, dass das schlecht ist, ich sage nur, dass das so ist.

00:17:19.402 --> 00:17:22.942
Und du hast dann auch den Fall, dass gewisse Dinge, wie zum Beispiel diese Mittelwärts,

00:17:23.102 --> 00:17:27.442
die einmal rausgekommen sind, wo du halt jede Responsum interzepten kannst,

00:17:27.902 --> 00:17:31.482
wenn du möchtest und noch ein paar Felder änderst, falls du Internationalisierung

00:17:31.482 --> 00:17:32.682
machen möchtest oder was auch immer,

00:17:33.302 --> 00:17:36.542
du auch nur sinnvoll auf dieser Weisell-Plattform umsetzen kannst,

00:17:36.642 --> 00:17:38.302
weil andere Hoster einfach das nicht haben.

00:17:40.322 --> 00:17:44.082
Und ja, also da ist das Gleiche. Nimm das Ding, die beste Art,

00:17:44.122 --> 00:17:45.442
das zu hosten, ist auf Vercel.

00:17:45.582 --> 00:17:48.762
Und wir haben tatsächlich Probleme gehabt damit.

00:17:48.862 --> 00:17:52.622
Wir haben nämlich Nextchess verwendet für die Script19-Webseite und durch die

00:17:52.622 --> 00:17:56.782
Entwicklungen, die im Hintergrund passiert sind, war es für uns noch ein halbes

00:17:56.782 --> 00:17:59.642
Jahr nach der Konferenz nicht mehr möglich, dass wir die Seite sinnvoll aktualisieren

00:17:59.642 --> 00:18:02.022
können in unserem Selbsthosting-Mechanismus.

00:18:02.402 --> 00:18:06.802
Also NPM-Update ist schwierig, viel Nacharbeit was halt auch nicht dafür steht,

00:18:06.882 --> 00:18:10.242
für das, was wir machen. Also wir haben eine Konferenz einmal im Jahr gehabt.

00:18:10.402 --> 00:18:13.262
Die Seite ist original für drei Monate relevant oder so.

00:18:14.062 --> 00:18:15.742
Und in dem Fall war das halt dann wirklich.

00:18:17.208 --> 00:18:22.288
So, dass wir gesagt haben, passt, wir machen einen HTML-Output dann und wir archivieren die Seite.

00:18:23.228 --> 00:18:26.028
Wir gehen nicht server-seil, das wäre wahrscheinlich die einfache Art gewesen.

00:18:26.988 --> 00:18:29.748
Und ja, also das ist ein ähnliches Konstrukt, die haben auch dort ziemlich viel

00:18:29.748 --> 00:18:33.068
in der Hand, die haben aber nicht diese Bandbreite, die jetzt WordPress und Automatik hat.

00:18:33.368 --> 00:18:35.428
Aber ich habe dort angefangen, dass ich gesagt habe, hey, passt,

00:18:35.588 --> 00:18:38.568
ich hätte gerne wieder ein bisschen mehr Diversität in dem, wie ich es mache,

00:18:39.728 --> 00:18:42.128
und hoste wieder teilweise selbst, was jetzt nicht bedeutet,

00:18:42.228 --> 00:18:43.148
dass ich einen Server mittele.

00:18:43.488 --> 00:18:45.928
Also ich bin jetzt auf Cloudflare, da kann man jetzt drüber argumentieren,

00:18:45.928 --> 00:18:47.548
ob das jetzt besser ist als Vercel oder nicht.

00:18:48.028 --> 00:18:50.708
Auf jeden Fall haben sie nicht mit diesen, sie haben keine Verbindungen zu den

00:18:50.708 --> 00:18:52.708
Frameworks, sondern sie haben in Wirklichkeit ein großes CDN,

00:18:53.068 --> 00:18:54.908
wo sie HTML-Seiten liefern, das ist ja ein Produkt.

00:18:55.488 --> 00:18:59.308
Und den kann ich auch leicht wieder weg. Also das ist jetzt nicht so die Tragik.

00:18:59.788 --> 00:19:02.828
Ja, ich meine, du hast sozusagen auch damit sozusagen dein Risiko ein bisschen

00:19:02.828 --> 00:19:07.328
gesteuert, weil Vercel und sowohl Vercel als auch Cloudflare musst du ja tatsächlich

00:19:07.328 --> 00:19:09.368
als so Hydras betrachten.

00:19:09.448 --> 00:19:12.128
Das sind ja Konzerne mit vielen verschiedenen Köpfen, die viele verschiedene

00:19:12.128 --> 00:19:15.048
Sachen machen, die produzieren eine Software, die produzieren eine Hosting-Plattform,

00:19:15.048 --> 00:19:16.888
die machen Konferenzen und was, nicht alles.

00:19:17.988 --> 00:19:20.188
Naja, und wenn du halt irgendwie sozusagen bei einem All-In gehst,

00:19:20.388 --> 00:19:25.108
hast du ja, um mal bei einer Theorie vom Zugfaktor zu sein, wieder da die Chance,

00:19:25.228 --> 00:19:27.568
dass einer, der jetzt wirklich komplett mit einer Entscheidung,

00:19:27.668 --> 00:19:29.488
die nur einen Teilbereich betrifft, das verhagelt.

00:19:30.068 --> 00:19:32.428
Und jetzt ist es halt irgendwie so, wenn die jetzt bei Verschall anfangen,

00:19:32.548 --> 00:19:35.228
ihre, weiß ich nicht, Hosting-Plattform irgendwie so umzudrehen,

00:19:35.308 --> 00:19:38.388
dass dir das nicht mehr passt, den verdoppelnden Preis hast du nicht gesehen,

00:19:38.828 --> 00:19:40.928
dann nimmst du halt die Software und bleibst halt bei deinem anderen Hoster.

00:19:42.368 --> 00:19:45.968
Und grundsätzlich ist es ja dann zumindest mal so, sodass du ja eine gewisse

00:19:45.968 --> 00:19:48.828
Entkopplung zwischen dem Framework und der Plattform hast.

00:19:48.928 --> 00:19:52.688
Das heißt, wenn du jetzt dann tatsächlich mal von Cloudware woanders hin umziehen müsstest,

00:19:53.694 --> 00:19:58.134
Wärst du da, glaube ich, weniger unvorbereitet drauf, als wenn du All-In gingst?

00:19:58.274 --> 00:20:00.214
Es würde ziemlich einfach gehen sogar.

00:20:00.814 --> 00:20:03.554
Die Domain hat schon lange auf die Cloudflare selber gezeigt.

00:20:04.694 --> 00:20:06.354
Das heißt, der erste Schritt war sowieso da.

00:20:07.514 --> 00:20:13.574
Also was habe ich gemacht? Ich habe den Weg von den Dateien zum Cache reduziert in Wirklichkeit.

00:20:13.934 --> 00:20:16.574
Aber ich kann auch woanders hinter mir. Ich kann auch Cloudflare rausnehmen.

00:20:16.654 --> 00:20:18.454
Ich habe die Domain nicht auf Cloudflare gehostet.

00:20:18.514 --> 00:20:21.954
Das ist mir auch ganz, ganz wichtig. Ich habe ja auf einen anderen Anbieter

00:20:21.954 --> 00:20:25.474
gehostet, wo ich gesondert Zugriff habe.

00:20:25.614 --> 00:20:29.954
Das heißt, ich maintain diese unterschiedlichen Bausteine schon noch separat.

00:20:30.234 --> 00:20:31.474
Und ich glaube, das ist ja gar nicht so blöd.

00:20:31.934 --> 00:20:34.214
Ich glaube vor allen Dingen, bei sowas wie bei der Domain ist es echt nicht

00:20:34.214 --> 00:20:38.734
so schlecht, wenn du das irgendwie auch sozusagen irgendwo platziert hast, wo du vielleicht so...

00:20:39.934 --> 00:20:43.974
Weil die ist ja relativ zentral. Und da wäre es mir, glaube ich,

00:20:44.014 --> 00:20:48.094
auch wohl dabei, wenn ich im Streitfall da irgendwie in einer Jurisdiktion unterwegs bin,

00:20:48.534 --> 00:20:51.754
wo ich weiß, was passiert und wo ich irgendwie einigermaßen bequem Zugriff habe,

00:20:51.854 --> 00:20:54.974
indem ich halt einfach zum Anwalt um die Ecke gehe, statt sagen muss,

00:20:55.074 --> 00:20:58.554
okay, wie kann ich jetzt gegen Cloudflare zu Felde ziehen? Nein, total.

00:20:59.494 --> 00:21:04.654
Ich habe einen europäischen Anbieter, der macht das halt über die entsprechenden Nix,

00:21:05.634 --> 00:21:09.034
mit dem er halt verbunden ist, aber er ist in der EU, er arbeitet nach EU-Recht

00:21:09.034 --> 00:21:12.754
und da gibt es im schlimmsten Fall, wie du sagst, gibt es einen Anwalt,

00:21:12.914 --> 00:21:15.974
der dort einen Angriff, Wobei bei den Domains, die ich habe,

00:21:15.994 --> 00:21:17.274
ist das wahrscheinlich eher egal.

00:21:17.574 --> 00:21:21.194
Aber prinzipiell ist das nicht so schlecht.

00:21:21.274 --> 00:21:23.754
Wohingegen Cloudflare, wenn du dort eine Domain kaufst, das habe ich auch schon

00:21:23.754 --> 00:21:29.734
gemacht, musst du das in den USA kaufen. Die haben keine europäische Niederlassung dafür.

00:21:31.014 --> 00:21:33.474
Was auch schwierig ist, weil du kriegst zum Beispiel keine Rechnung.

00:21:33.674 --> 00:21:36.674
Du zahlst halt nur deine 20 Dollar und hast es dann.

00:21:36.774 --> 00:21:42.154
Also es gibt ja auch keinen Beleg dafür, dass du das rechtmäßig gekauft hast,

00:21:42.274 --> 00:21:43.294
außer dass es halt funktioniert.

00:21:44.314 --> 00:21:49.614
Und ja, also von dem her bin ich eigentlich gar nicht einmal so unzufrieden,

00:21:49.654 --> 00:21:52.854
wie das Setup jetzt ist und ich würde das auch bei WordPress machen,

00:21:52.934 --> 00:21:55.394
es ist wie gesagt, ich möchte wieder den Linzer Hafen Hoster,

00:21:55.394 --> 00:21:57.954
möchte ich wieder ins Rennen führen World4U,

00:21:59.714 --> 00:22:01.994
unglaubliche Kraxen schlechte Server,

00:22:03.854 --> 00:22:06.074
missensichtiger Support, nein, also ich glaube der Support ist sogar relativ

00:22:06.074 --> 00:22:12.354
gut saubillig nimm WordPress, nimm das Cashplugin und nimm Cloudflare und du

00:22:12.354 --> 00:22:17.934
hast um billiges Geld ziehen wir in den Kampf gegen Wettwallenweg und WordPress.com.

00:22:18.174 --> 00:22:19.774
Also das kriegen wir hin.

00:22:21.814 --> 00:22:25.214
Und da ist es halt auch easy. Da kann ich um mich rennen in den Hofen und kann

00:22:25.214 --> 00:22:27.374
einmal anklopfen, wenn irgendwas dramatisch wird.

00:22:28.374 --> 00:22:31.554
Aber warum nicht? Oder neben Digital Ocean oder neben irgendwas WordPress zu

00:22:31.554 --> 00:22:32.874
installieren, ist einfach.

00:22:33.254 --> 00:22:38.174
Also sich selbst WordPress zu hosten ist wahrscheinlich tausendmal besser als

00:22:38.174 --> 00:22:40.874
wir auf WP Engine oder WordPress.com oder wo auch immer. Ja.

00:22:41.774 --> 00:22:45.634
Ändert nicht das Problem, dass du ja immer die Verbindung zu WordPress.org hast.

00:22:45.754 --> 00:22:47.314
Die ist ja eingebaut in die Plattform.

00:22:47.494 --> 00:22:51.634
Also da kannst du ja, im Falle von WordPress stimmt das. Das musst du wirklich verstehen. Also das,

00:22:52.488 --> 00:22:55.848
Du hast ja jetzt ja vorhin schon den Begriff irgendwie, Vassel betreibt dieses

00:22:55.848 --> 00:22:58.028
Open-Source-Ding nicht im Geiste von Open-Source.

00:22:58.388 --> 00:23:01.748
Ich finde, da muss man da auch mal, glaube ich, mittlerweile echt mal eine Unterscheidung

00:23:01.748 --> 00:23:04.688
einziehen zwischen so dem Open-Source-Gedanken,

00:23:04.988 --> 00:23:11.328
wie er von den Pionieren damals ausgeführt wurde, mit so diesem sehr spezifischen

00:23:11.328 --> 00:23:13.948
Ansatz, auch mit so Sachen wie Copy-Left und ähnlichen Ideen drin.

00:23:13.948 --> 00:23:20.348
Ich würde mal behaupten, das ist grundsätzlich was anderes als Open Source,

00:23:20.488 --> 00:23:24.408
wie es jetzt betrieben wird, von dem, was heutzutage so unsere Welt rockt,

00:23:24.488 --> 00:23:27.668
wie halt eben Vercel und React und Konsorten.

00:23:28.428 --> 00:23:31.968
Das manifestiert sich halt darüber, dass halt irgendwo da Code offen rumliegt

00:23:31.968 --> 00:23:35.228
und du kannst reingucken. Und das ist halt eben nicht einfach nur ein Binary, das geschippt wird.

00:23:35.568 --> 00:23:40.788
Aber ich würde sagen, alles andere außer diesem oberflächlichen Artefakt eines

00:23:40.788 --> 00:23:44.028
offenen, zugänglichen Repositories ist ja fundamental anders.

00:23:44.488 --> 00:23:51.168
Also das überhaupt irgendwie in einen Topf zu werfen, halte ich schon für irgendwie fragwürdig.

00:23:51.448 --> 00:23:56.288
Zumal ja bei Vercel dieses, im Prinzip das Long Game von Anfang an ja offensichtlich war.

00:23:57.588 --> 00:24:01.388
Da war ja sozusagen ab dem ersten Release, als sie noch gar nicht was herhießen,

00:24:01.568 --> 00:24:02.908
war ja schon klar, was die da machen.

00:24:03.048 --> 00:24:06.988
Die bauen ihre Plattform auf und hinterher machen sie schön Log-In-Effekt und

00:24:06.988 --> 00:24:08.988
dann kriegen die VCs ihre Kohle zurück.

00:24:09.708 --> 00:24:11.748
Was ja okay ist. Es ist voll okay.

00:24:13.668 --> 00:24:18.288
So läuft das halt. Aber das muss man halt, glaube ich, in eine andere Kategorie

00:24:18.288 --> 00:24:23.968
einsortieren, als irgendwie so eine in den späten 80ern geschriebene C-Library mit Copy-Lev drauf.

00:24:24.308 --> 00:24:27.148
Das ist beides Open-Source, aber das hat miteinander nichts zu tun.

00:24:27.928 --> 00:24:33.288
Ja, ich stimme dir absolut zu. Und der Open-Source-Begriff ist da schon sehr

00:24:33.288 --> 00:24:34.508
stark verwässert, meiner Meinung nach.

00:24:35.208 --> 00:24:38.248
Du merkst es auch alleine, gerade im JavaScript-Bereich fällt mir das ganz,

00:24:38.268 --> 00:24:42.208
ganz stark auf. Wenn sich irgendwelche Firmen,

00:24:43.018 --> 00:24:45.958
um den Fortbestand von gewisser Open-Source-Software kümmern,

00:24:46.578 --> 00:24:50.718
dann ist das in jeder anderen Branche oder in jedem anderen Bereich,

00:24:50.858 --> 00:24:51.798
der nicht JavaScript ist,

00:24:52.218 --> 00:24:55.478
wird das über Foundations gemacht, über ein Foundation-Regelwerk,

00:24:55.618 --> 00:25:02.498
wo Firmen Geld kontributen, um die Foundation mit großflächigen Aufgaben zu betreuen.

00:25:02.638 --> 00:25:06.318
Da fallen mir ein, die Rast-Foundation, die Cloud-Native-Foundation,

00:25:06.498 --> 00:25:11.058
die JavaScript-Foundation, die gibt es ja nicht, die kümmert sich ja um Node-Jazz

00:25:11.058 --> 00:25:12.678
zum Beispiel, finde ich riesig.

00:25:13.658 --> 00:25:16.518
Aber im JavaScript-Bereich ist es tatsächlich eher so, wenn du willst,

00:25:16.678 --> 00:25:20.638
dass Open-Source-Software maintained wird, dann holst du dir VC-Money rein.

00:25:21.758 --> 00:25:25.018
Dann bist du bei den Venture-Kapitalisten, dann gründest du eine Firma und dann,

00:25:25.718 --> 00:25:29.218
ja, passt, du hast einmal die nächsten zwei Jahre vom Open-Source-Projekt hast

00:25:29.218 --> 00:25:31.398
du gefundet dadurch, mit richtig viel Geld.

00:25:31.558 --> 00:25:35.138
Du kannst um die Millionen Leute heilen, kannst du Infrastruktur aufbauen,

00:25:35.218 --> 00:25:37.438
kannst du wirklich was weiterbringen in dem Leben. Das ist super.

00:25:38.018 --> 00:25:41.578
Aber das ist nur für die erste Runde. Nach der zweiten Runde wird ein Business-Modell

00:25:41.578 --> 00:25:47.898
gefunden. Und dann kommt, wie man so schön sagt, der Ricochet, also der Aufprall.

00:25:48.078 --> 00:25:54.878
Also da merkst du dann, hey, cool, wir haben sich jetzt in das investiert.

00:25:55.118 --> 00:26:00.538
Das ist jetzt in aller unserer Software, die wir nutzen, also gerade kürzlich

00:26:00.538 --> 00:26:05.758
diese World Zero Firma, die jetzt WIT und was sowas betreiben,

00:26:06.318 --> 00:26:07.918
das haben wir in unserer Software drinnen.

00:26:08.558 --> 00:26:12.638
Wir nutzen das massiv. Es ist super. Es ist ein grandioses Projekt und ich bin

00:26:12.638 --> 00:26:14.358
sehr, sehr happy, was die machen.

00:26:14.518 --> 00:26:17.778
Aber ich weiß jetzt schon, irgendwann wird ein Businessmodell kommen,

00:26:17.978 --> 00:26:20.578
das total gegen alles ist, was wir brauchen.

00:26:21.098 --> 00:26:24.678
Und nach diesem Businessmodell wird sich nachher die gesamte Firmenausrichtung

00:26:24.678 --> 00:26:28.858
drehen. Und ich weiß nicht, ob das stabil genug ist.

00:26:29.298 --> 00:26:33.898
Naja, ich meine, das mit dem Businessmodell ist ja im Zweifelsfall noch das gute Szenario.

00:26:34.778 --> 00:26:40.098
Weil, also Businessmodell heißt ja im Zweifelsfall, Nur so, keine Ahnung,

00:26:40.198 --> 00:26:42.718
das kostet jetzt oder die neuen Features kosten jetzt.

00:26:43.298 --> 00:26:46.118
Und im Zweifelsfall wäre ja eine Firma einer gewissen Größe wie die,

00:26:46.198 --> 00:26:49.178
von der du jetzt sprichst, in der Lage, das irgendwie aufzubringen.

00:26:49.878 --> 00:26:50.998
Aber ich meine, es gibt ja auch noch

00:26:50.998 --> 00:26:55.718
den Fall von wegen irgendwie das Business-Modell findet sich halt nicht.

00:26:56.158 --> 00:27:01.678
Also ich habe zufälligerweise heute Morgen beim Katzenfüttern mir einen Podcast angehört.

00:27:01.878 --> 00:27:04.078
Der Podcast heißt Behind the Bastards, kann ich sehr empfehlen,

00:27:04.198 --> 00:27:07.398
ist sehr unterhaltsam. wo halt wirklich alles von irgendwie so,

00:27:07.878 --> 00:27:10.258
keine Ahnung, geht's halt um irgendwelche Bastarde.

00:27:10.418 --> 00:27:13.138
Ist halt so True-Crime-adjacent.

00:27:13.658 --> 00:27:17.018
Aber halt eben mit Comedians und mit Spaß. Dass du halt irgendwie sowas hast.

00:27:17.138 --> 00:27:22.238
So alles von irgendwie Kult-Lieder hier, irgendwie Snake-Oil-Salesman von 1800 Schießmichtorot.

00:27:22.438 --> 00:27:25.178
Und heute hab ich mir den angehört zu dem WeWork-Heini.

00:27:27.698 --> 00:27:31.698
Der ja so ein bisschen so eine Kombination aus all dem ist. Und ...

00:27:33.242 --> 00:27:36.862
Naja, was soll ich sagen? Also da ist ja auch kein Geschäftsmodell hinten bei

00:27:36.862 --> 00:27:39.042
rumgekommen und dann standen alle Leute irgendwie da und haben ein bisschen

00:27:39.042 --> 00:27:42.562
in die Röhre geschaut, sobald da halt irgendwie entweder die Luft raus war aus

00:27:42.562 --> 00:27:45.162
der Blase oder halt irgendwie die Wirtschaft so ein bisschen rappelt.

00:27:45.262 --> 00:27:50.082
Weil ich meine, das mit der ganzen VC-Kohle ist halt eben auch ein sehr riskantes Ding.

00:27:50.482 --> 00:27:54.082
Da braucht es halt nur irgendwie, auch da wieder, irgendwen,

00:27:54.122 --> 00:27:56.982
der da bei den ganzen Funding-Geschichten plötzlich mal die Bremse zieht.

00:27:56.982 --> 00:28:01.382
Der Kronprinz braucht jetzt die Kohle für seine neue Autosammlung und dann ist da halt eben Schluss.

00:28:01.782 --> 00:28:05.502
Oder halt einfach auch sowas wie die Zentralbank meint, mit der Inflation müssen

00:28:05.502 --> 00:28:08.362
wir jetzt mal irgendwie ein bisschen justieren, drehen die Zinsen ein bisschen

00:28:08.362 --> 00:28:12.482
hoch und schon bricht ja dieser ganze Finanzoberbau, der da dran ist, zusammen.

00:28:12.722 --> 00:28:17.462
Und ein Endeffekt von dem Ganzen ist dann, dass solchen Leuten gerne mal die Kohle ausgeht.

00:28:19.642 --> 00:28:23.082
Also das ist dieser Risikobegriff, auf den ich immer so rumdenke und wo ich

00:28:23.082 --> 00:28:25.742
halt eben einfach auch Mangelsvorbildung nicht die richtigen Worte finde,

00:28:25.782 --> 00:28:29.002
um das zu beschreiben. Aber es ist halt eben so, diese ganze Open-Source-Software

00:28:29.002 --> 00:28:30.462
hat halt eben einen wichtigen Aspekt.

00:28:31.262 --> 00:28:35.602
Zum Zeitpunkt der Anschaffung kostet es halt nicht. Aber was man sich halt immer

00:28:35.602 --> 00:28:36.842
einkauft, sind gewisse Risiken.

00:28:37.382 --> 00:28:41.982
Wie geht das weiter? Was passiert? Busfaktor, Zugfaktor, Businessmodell manifestiert

00:28:41.982 --> 00:28:44.622
sich, Zinsen werden erhöht und plötzlich ist alles zappenduster.

00:28:45.782 --> 00:28:49.882
Wie geht man damit um und wie quantifiziert man das? Das ist, was mich umtreibt.

00:28:51.282 --> 00:28:54.982
Ich habe tatsächlich jetzt überlegt, ob ich schon ein Beispiel aus jüngster

00:28:54.982 --> 00:28:57.442
Geschichte kenne, wo das passiert ist, aber tatsächlich ist das ja passiert

00:28:57.442 --> 00:28:58.942
bei Gatsby zum Beispiel.

00:29:00.282 --> 00:29:05.682
Gatsby Jazz war ja auch so ein Thema, wo wir haben jetzt diesen komplett überblasenden

00:29:05.682 --> 00:29:11.302
Static Site Generator, der halt auf Venture Capitalist Slides richtig gut ausschaut,

00:29:11.362 --> 00:29:12.802
weil er verwendet React,

00:29:13.022 --> 00:29:16.322
GraphQL und Static Site Generation,

00:29:16.602 --> 00:29:19.822
das waren gerade drei heiße Themen seit dem Zeitpunkt, wo das gestartet hat.

00:29:21.102 --> 00:29:25.342
Also alles, wo alle WCs investiert haben, kombiniert in einer Ding.

00:29:25.822 --> 00:29:30.762
Und dann hast du aber schon gemerkt, naja, so wirklich gut ist das nicht, was die da machen.

00:29:31.542 --> 00:29:34.782
Auch sie finden kein Business-Modell, das irgendwie funktioniert.

00:29:35.262 --> 00:29:40.082
Ein Business-Modell war einmal, hey, schnellere Builds, wenn du bei uns in der Cloud bist.

00:29:40.242 --> 00:29:43.962
Wo ich mir gedacht habe, super, langsame Builds ist das größte Problem von Gatsby.

00:29:44.022 --> 00:29:46.062
Und wenn ihr jetzt sagt, ich muss bezahlen für schnelle Builds,

00:29:46.442 --> 00:29:52.202
werden die die lokalen Builds nie schneller werden, weil es wird eine Verbesserung

00:29:52.202 --> 00:29:54.282
der Software gegen euer Business-Modell sprechen.

00:29:54.982 --> 00:30:00.882
Und das hat man halt dann sehr bald nach dem ersten Funding gesehen,

00:30:01.182 --> 00:30:04.622
wie das mit vollem Karacho wieder Zug gegen den Berg dauert. Also.

00:30:06.110 --> 00:30:09.850
War abzusehen. Ich habe dann zu dem Zeitpunkt jedem gesagt, verwendet ihr das nicht.

00:30:11.290 --> 00:30:14.870
Es ist eigentlich dazu prädestiniert, irgendwann einmal zu sterben.

00:30:14.970 --> 00:30:15.650
Und so ist es dann passiert.

00:30:15.790 --> 00:30:19.610
Das ist halt für einen Trostpreis von Netlify dann gekauft worden.

00:30:20.430 --> 00:30:23.710
Keine Ahnung warum. Dann waren die Leute drei Monate noch dabei,

00:30:23.790 --> 00:30:24.770
dann sind alle gekündigt worden.

00:30:24.870 --> 00:30:28.750
Die Software wird jetzt nicht aktualisiert. Es gibt kritische Schwachstellen,

00:30:28.870 --> 00:30:31.710
die nicht abgedatet werden. Und das Ding ist tote Software.

00:30:32.070 --> 00:30:34.330
Und das hat man aber kommen sehen. Das hat man total kommen sehen.

00:30:34.950 --> 00:30:40.190
Ja, ich meine, da irgendwie ein VC-gefandetes Geschäftsmodell drauf aufzubauen,

00:30:40.730 --> 00:30:44.450
mit einem Produkt wie diesen, wo die Alternativen millionenfach sind und im

00:30:44.450 --> 00:30:47.490
Zweifelsfall sowas ist wie, wir bezahlen den Stefan für einen halben Tag,

00:30:47.570 --> 00:30:49.210
damit er ein Node.js-Skript zusammenwirft.

00:30:50.710 --> 00:30:56.070
Ja, statischer Zeitgenerator, natürlich kann das da... Ich habe meinen eigenen schon entwickelt, ja.

00:30:56.450 --> 00:30:58.650
Also ich habe meinen eigenen statischen Zeitgenerator schon entwickelt.

00:30:58.970 --> 00:31:02.810
Also mittlerweile muss ich echt sagen, das ist... Also mit dem ganzen Tooling,

00:31:02.890 --> 00:31:04.890
dass du halt eben einfach aus Node so nativ rauskriegst.

00:31:05.230 --> 00:31:08.750
Und der ganzen Convenience mit Top-Level-Await und Modulen und hast du nicht gesehen.

00:31:10.650 --> 00:31:13.870
Also unter vielen Umständen ist wahrscheinlich wirklich, du schreibst 40 Zeilen

00:31:13.870 --> 00:31:17.990
JavaScript, keine schlechte Variante, um sowas zu machen.

00:31:18.310 --> 00:31:22.530
Weil dann gehört dir das halt. Und dann hast du es halt unter Kontrolle.

00:31:22.890 --> 00:31:25.690
Das ist halt so eine andere Geschichte, was so dieses Effizienz-Ding,

00:31:25.750 --> 00:31:30.670
von dem ich ganz zu Beginn mal sprach, auch betrifft. Und wenn du halt eben

00:31:30.670 --> 00:31:34.150
einfach nicht irgendein Produkt nimmst, sondern irgendwie dir bespoke was zusammenhämmerst,

00:31:34.510 --> 00:31:36.550
ja okay, dann hast du das selber gebaut, das Aufwand.

00:31:37.290 --> 00:31:41.410
Aber dann fehlt da ja die Hälfte der Features, die dich ohnehin nicht interessieren

00:31:41.410 --> 00:31:42.510
würde, wenn du es einkaufen würdest.

00:31:42.890 --> 00:31:46.970
Das heißt, das Ding ist per se viel leichtfüßiger, hat weniger API-Oberfläche,

00:31:47.070 --> 00:31:48.570
weniger Angriffsoberfläche auch.

00:31:49.050 --> 00:31:53.950
Das sind ja eigentlich auch alle Dinge, die irgendwie interessant sein könnten

00:31:53.950 --> 00:31:57.510
als Faktoren in der Überlegung, was nehme ich denn jetzt, was mache ich denn jetzt.

00:31:58.930 --> 00:32:02.070
Also statischer Site-Generator, wirklich, du brauchst halt einen Markdown-Parser

00:32:02.070 --> 00:32:05.830
und halt irgendwie ein paar Entscheidungen musst du treffen,

00:32:05.990 --> 00:32:09.470
von wie konvertiere ich was, wo hänge ich das hin und für so Kram wie ich generiere

00:32:09.470 --> 00:32:12.110
mir ein RSS-Feed oder so nimmst du halt irgendwie ein Node-Modul und wenn das

00:32:12.110 --> 00:32:13.630
irgendwie über Dicester gehen sollte,

00:32:13.910 --> 00:32:16.330
nimmst du das nächste und dann das nächste und dann das nächste.

00:32:19.277 --> 00:32:26.937
Warum würde ich als saudischer Kronprinz in einen statischen Zeitgenerator investieren?

00:32:27.057 --> 00:32:28.437
Das erschließt sich mir halt wirklich nicht.

00:32:29.077 --> 00:32:32.457
Aber möglicherweise, wie ganz zu Beginn gesagt, sind die Mads und Elons und

00:32:32.457 --> 00:32:36.117
von mir aus auch die Kronprinzen dieser Welt nicht alle ganz so schlau,

00:32:36.157 --> 00:32:37.557
wie sie uns glauben lassen wollen.

00:32:38.097 --> 00:32:41.157
Ich muss jetzt kurz nachschauen, weil mir fällt jetzt wieder ein,

00:32:41.317 --> 00:32:47.637
also du hast ja absolut recht, ich bin absolut deiner Meinung und ich möchte jetzt schauen,

00:32:47.817 --> 00:32:52.657
was die Idee von der Astrotech Company ist, das ist nämlich die Firma,

00:32:52.817 --> 00:32:55.877
die vor zwei Jahren noch 7 Millionen Seed Funding bekommen hat,

00:32:56.037 --> 00:32:57.857
7 Millionen Seed Funding.

00:32:58.137 --> 00:33:01.617
Was irgendwie echt viel ist, andererseits auch nicht so viel ist.

00:33:01.617 --> 00:33:03.357
Nein, es klingt noch viel.

00:33:03.457 --> 00:33:07.797
Es ist tatsächlich weniger, als man glauben würde, je nachdem,

00:33:07.857 --> 00:33:08.977
was man vorhat in diesen Jahren.

00:33:09.477 --> 00:33:11.797
Es ist aber im Vergleich mit den anderen Runden, die existieren.

00:33:12.217 --> 00:33:16.357
Früher waren Sie drunten von 2,3 Millionen üblich, jetzt sind es eher so um die 4 Millionen.

00:33:16.457 --> 00:33:18.797
Also 7 Millionen ist schon echt verdammt viel.

00:33:19.217 --> 00:33:22.237
Es gibt noch immer keine wirkliche Company-Webseite.

00:33:23.957 --> 00:33:29.137
Es gibt keinen Plan, was die machen werden wollen würden.

00:33:29.597 --> 00:33:32.277
Ich weiß nicht, keine Ahnung. Vielleicht ist ja schon wieder die Company weg.

00:33:32.457 --> 00:33:36.997
Also vielleicht haben sie wirklich nur zwei Jahre lang jetzt verwendet, dass sie das Ding bauen.

00:33:37.077 --> 00:33:39.857
Dann bin ich eigentlich sogar happy mit denen. Dann sage ich, hey, cool, passt.

00:33:40.037 --> 00:33:45.177
Also ihr habt einfach nur viel Geld geholt, damit ihr zwei Jahre mal gescheit

00:33:45.177 --> 00:33:46.317
entwickeln könnt. Passt.

00:33:46.957 --> 00:33:49.417
Ja, die Frage ist natürlich auch immer, man muss bei solchen Sachen gerne mal

00:33:49.417 --> 00:33:54.877
gucken, ist das primär gedacht als Finanzmanöver oder tatsächlich als Software gedacht?

00:33:55.217 --> 00:33:57.837
Es kann ja durchaus sein, dass du irgendwie ein Finanzmanöver vollziehst.

00:33:58.457 --> 00:34:02.457
Das ist ja bei WeWork genauso. Und als Nebenwirkung kommt da hinten ein Büro

00:34:02.457 --> 00:34:03.337
raus, das du mieten kannst.

00:34:04.017 --> 00:34:06.877
Aber darum ging es ja nie und ich glaube, alle, die das wissen wollten,

00:34:07.477 --> 00:34:08.697
konnten das damals auch sehen.

00:34:09.737 --> 00:34:12.717
Das mag jetzt bei der Software ebenso gewesen sein.

00:34:12.857 --> 00:34:17.417
Mal gucken, hier mein statischer Seitengenerator hat 157 Zeilen.

00:34:17.557 --> 00:34:19.717
Okay, ist doch ein bisschen mehr, aber in Not.

00:34:20.685 --> 00:34:24.305
Ja, ja. 16 Zeilen davon sind irgendwelche Import-Statements.

00:34:27.085 --> 00:34:30.985
Ja, das ist ja total okay. Ich kann mich erinnern, wir haben damals MetalSmith

00:34:30.985 --> 00:34:34.965
geforgt für unseren Statismus-Seiten-Generaтор. Das war cool.

00:34:36.285 --> 00:34:39.465
Es war ein notstatischer Seiten-Generaтор. Ich glaube, die Node.js-Webseite

00:34:39.465 --> 00:34:40.685
selbst ist darauf aufgebaut.

00:34:41.705 --> 00:34:46.265
Der hat nachher nichts mehr mit MetalSmith zu tun gehabt und war richtig, richtig cool.

00:34:49.285 --> 00:34:53.205
Also wir haben unsere Dokumentation damit erzeugt und wir haben minimal viel

00:34:53.205 --> 00:34:57.225
Arbeit in den Generator gesteckt. Das war eine Woche, wo wir den entwickelt haben.

00:34:58.185 --> 00:35:00.805
Dann haben wir mal, glaube ich, ein Template-Move gehabt oder so,

00:35:00.865 --> 00:35:03.885
dann hast du wieder mal eine Woche investiert. Aber es tut es ja.

00:35:04.425 --> 00:35:07.145
Nein, vor allem, es ist ein staatlicher Seiten-Generator. Das ist Software,

00:35:07.325 --> 00:35:09.825
die kann, da kannst du dir vorstellen, dass die irgendwann mal fertig ist.

00:35:11.405 --> 00:35:14.785
Das ist ja auch was wert. Du kannst ja, sowas kann ja tatsächlich fertig sein.

00:35:14.785 --> 00:35:19.505
Es ist ja gar nicht notwendig, so was als Service, als Plattform permanent zu betreiben.

00:35:19.905 --> 00:35:22.985
Wenn du so was hast wie irgendwie, also ein statischer Seitengenerator,

00:35:23.145 --> 00:35:25.425
wirklich, der frisst Textfiles und der spuckt andere Textfiles aus.

00:35:25.645 --> 00:35:27.705
Das Ding kann irgendwann mal fertig sein.

00:35:28.145 --> 00:35:31.085
Du könntest hingehen und könntest sagen, irgendwie Latech und Konsorten,

00:35:31.185 --> 00:35:32.645
das ist auch alles statischer Seitengenerator.

00:35:32.825 --> 00:35:34.845
Und das ist seit Ewigkeiten fertig, da passiert nichts mehr,

00:35:35.105 --> 00:35:36.865
außer Bugfixes, und das ist okay.

00:35:37.605 --> 00:35:40.365
So, das ist völlig supi und das kannst du fertig haben.

00:35:42.085 --> 00:35:44.285
Sobald du irgendwie was hast, was irgendwie wie ein User-Interface hat,

00:35:44.325 --> 00:35:46.345
wird es halt eben kompliziert und du musst es ständig weiterentwickeln,

00:35:46.385 --> 00:35:49.725
aber meine Güte, wenn du damit nichts an der Backe haben willst,

00:35:49.805 --> 00:35:52.025
dann machst du das halt nicht und sagst den Leuten, hier schreib halt Textfiles.

00:35:52.685 --> 00:35:54.805
Wenn du da Leute hast, die einfach auch nur ein bisschen nerdig sind,

00:35:54.905 --> 00:35:55.785
kannst du denen das zumuten.

00:35:56.205 --> 00:36:00.325
Du kannst Leuten beibringen, irgendwie Markdown zu schreiben oder Ascii-Doc

00:36:00.325 --> 00:36:03.425
zu schreiben oder so Zeug. Zur Not halt sogar HTML, was soll's.

00:36:04.945 --> 00:36:10.025
Das war mir jetzt ein Master-Ton-Postwert. Lattich is also a kind of static site generator. Alter.

00:36:12.225 --> 00:36:14.465
Nein. Aber bestimmt, du hast recht, ne?

00:36:16.022 --> 00:36:19.382
Ist es halt, ne? Und das ist halt so, ja.

00:36:20.562 --> 00:36:24.582
Also dieses ganze Drama. Ich muss tatsächlich sagen, ich habe ja,

00:36:24.802 --> 00:36:28.382
um jetzt mal sozusagen nach 35 Minuten mal so langsam zum Thema zu kommen,

00:36:28.462 --> 00:36:30.562
das wir ursprünglich geplant haben.

00:36:31.902 --> 00:36:34.742
Wir sind ja quasi so ein bisschen schon drin, weil ich meine,

00:36:34.842 --> 00:36:37.462
es ist ja thematisch verwandt.

00:36:37.702 --> 00:36:41.482
Wir haben zwar Überleitungschancen verpasst, aber dann passt es,

00:36:41.542 --> 00:36:42.562
wenn wir jetzt die nehmen. Ist okay.

00:36:44.862 --> 00:36:48.802
Überleitungschancen. Mach einfach weiter. Genau, wir machen einfach weiter.

00:36:49.642 --> 00:36:53.722
Also ich muss ja tatsächlich sagen, ich habe ja das mit dem Gatsby habe ich

00:36:53.722 --> 00:36:55.522
tatsächlich gar nicht mitbekommen.

00:36:56.462 --> 00:36:58.542
Das ist einfach komplett an mir vorbeigegangen. Dass die irgendwie,

00:36:59.222 --> 00:37:01.382
also ich habe halt irgendwie wahrgenommen, da red keiner mehr drüber.

00:37:01.782 --> 00:37:04.822
Aber mei, ist halt Software. Eventuell kümmert sich halt einfach keiner mehr.

00:37:05.522 --> 00:37:09.642
Und das andere war halt irgendwie so, dass die Wiedleute irgendwie was gemacht

00:37:09.642 --> 00:37:12.702
haben und sich irgendwie in was ausgegründet haben. Das habe ich mitbekommen.

00:37:13.782 --> 00:37:17.022
Ich bringe es mittlerweile nicht mehr über mich das irgendwie anzuklicken,

00:37:17.162 --> 00:37:19.702
weil das habe ich jetzt halt schon so oft gesehen.

00:37:22.142 --> 00:37:26.042
Ja, ist ein bisschen langweilig und weißt du, wir denken das genauso als ich

00:37:26.042 --> 00:37:29.482
irgendwie wahrgenommen habe, es gibt irgendwie Drama, Web Components vs.

00:37:29.662 --> 00:37:34.402
Frameworks ich habe nichts darüber gelesen, weil ich dachte wenn ich mir darüber

00:37:34.402 --> 00:37:37.022
irgendwelche Informationen in meinen Cortex,

00:37:37.822 --> 00:37:43.062
reinziehe, werde ich dadurch dümmer und nicht schlauer ich kann mir nicht vorstellen,

00:37:43.402 --> 00:37:46.202
dass diese Gegenüberstellung irgendwie sinnvoll ist.

00:37:46.522 --> 00:37:50.922
Die Gegenüberstellung ist irgendwie so Salatgurke versus Porsche. Was ist besser?

00:37:51.382 --> 00:37:54.562
Das ist ein kompletter Kategoriefehler. Ja.

00:37:55.802 --> 00:37:58.762
Will man es trotzdem aufschlüsseln? Also wenn du, wie gesagt,

00:37:58.822 --> 00:38:03.402
das Ding ist, ich habe das ja aus dem Augenwinkel gesehen, habe irgendwie gesagt,

00:38:03.542 --> 00:38:06.162
das rangiert halt so in meiner, da klicke ich jetzt nicht drauf,

00:38:06.622 --> 00:38:08.442
Skala irgendwie auf dem letzten Kriegsverbrechen.

00:38:08.722 --> 00:38:11.142
So, okay, das ist da irgendwo, da drücke ich jetzt nicht drauf,

00:38:11.182 --> 00:38:12.902
einfach meine eigenen geistigen Gesundheit wegen.

00:38:13.282 --> 00:38:16.482
Aber deswegen habe ich ja dich hier ins Studio geholt, damit du mich jetzt darüber

00:38:16.482 --> 00:38:20.382
aufklären kannst, was da eigentlich los ist und wie die Leute auf den völlig

00:38:20.382 --> 00:38:23.322
bescheuerten Gedanken kommen, Salatgurken und,

00:38:23.822 --> 00:38:26.702
Sportwagen miteinander zu vergleichen, weil ich weiß halt wirklich nicht,

00:38:26.782 --> 00:38:28.382
welche Art von Erkenntnis da rauskommen soll.

00:38:28.862 --> 00:38:33.902
Also eingangs möchte ich sagen, ich glaube, das Gute ist, dass wenn du Social

00:38:33.902 --> 00:38:40.802
Media betreibst, so wie es ursprünglich war und nicht über irgendwelche Engagement-Algorithmen, dann,

00:38:41.930 --> 00:38:45.730
gar nicht einmal so schlecht, dass das Ding nicht so wirklich an dir vorbeilauft.

00:38:46.750 --> 00:38:50.850
Wenn es wirklich relevant werde, dann wird der lineare Algorithmus schon dafür

00:38:50.850 --> 00:38:53.430
sorgen, dass du das mitbekommst und anscheinend war es nicht relevant genug,

00:38:53.510 --> 00:38:54.950
man hat nicht den Fallout nachher mitbekommen.

00:38:55.690 --> 00:38:58.250
Du sagst immer, du wirst immer durch solche Sachen, ich sage,

00:38:58.610 --> 00:39:01.710
mein Hirn wird so okkupiert durch Dinge,

00:39:01.830 --> 00:39:05.630
die ich eigentlich nicht brauche und nicht mehr regelmäßig auf Twitter zu schauen

00:39:05.630 --> 00:39:11.150
oder in irgendwelchen Engagement getriebenen Social Netzwerken herumzuhängen, hat für meinen.

00:39:12.470 --> 00:39:15.090
Seelenheil durchaus Benefits gehabt.

00:39:15.890 --> 00:39:19.350
Und ich möchte es aber trotzdem kurz aufholen, weil ich habe den ganzen Artikel

00:39:19.350 --> 00:39:22.670
nicht einmal gelesen und man möge mir das verzeihen, dass ich meine Meinung

00:39:22.670 --> 00:39:25.630
mache, ohne alles durchzugehen, aber es geht eigentlich nur darum,

00:39:25.750 --> 00:39:30.770
wie der Grundtenor dieses Artikels war und war vom Rhein Carniato,

00:39:31.050 --> 00:39:33.310
keine Ahnung, ob ich das jetzt richtig ausgesprochen habe, der,

00:39:34.370 --> 00:39:39.990
SolidJS entwickelt hat und SolidJS ist ein React-Substitut, also da waren,

00:39:40.070 --> 00:39:43.590
glaube ich, die sich ausschließlich auf Signals gestürzt haben,

00:39:44.030 --> 00:39:47.930
auch GSX basiert, ein Component-Framework, also so wie man es von React kennt,

00:39:49.090 --> 00:39:53.290
Preact, you name it, das ist halt versucht, das Gleiche zu machen wie React,

00:39:53.350 --> 00:39:55.830
aber viel, viel besser und hat tatsächlich auch ein bisschen Funding bekommen,

00:39:56.030 --> 00:40:02.130
weil der bei Netlify dafür bezahlt wird, dass er daran arbeitet oder es zumindest

00:40:02.130 --> 00:40:06.130
so war, dass der bei Netlify bezahlt worden ist, um daran zu arbeiten.

00:40:06.230 --> 00:40:10.010
Netlify hat ja auch einige Änderungen gehabt in der Firmenstruktur und das ist

00:40:10.010 --> 00:40:11.030
jetzt gar nicht mehr mehr so sicher.

00:40:12.090 --> 00:40:17.430
Und der Artikel heißt Web Components Unnot the Future, in der er halt das Längen

00:40:17.430 --> 00:40:19.450
und Breiten vergleicht, dass man,

00:40:20.154 --> 00:40:23.814
Frameworks wie Solid.js oder React oder wie auch immer, die eben so eine starke

00:40:23.814 --> 00:40:29.594
komponentenorientierte Architektur haben, viel, viel besser geeignet sind,

00:40:29.874 --> 00:40:31.694
um Composition von UIs zu betreiben.

00:40:31.954 --> 00:40:37.734
Weil du halt an einem allgemeinen Lifecycle hast und weil sowas wie JSX abstrakt

00:40:37.734 --> 00:40:41.554
genug ist, um diese Composition zu ermöglichen.

00:40:41.634 --> 00:40:46.674
Und ich widerspreche ihm in dieser Aussage absolut nicht.

00:40:47.234 --> 00:40:53.094
Nur ist da, glaube ich, der Hund drinnen in dieser Bezeichnung der Komponenten.

00:40:53.234 --> 00:40:57.874
Weil er vergleicht ein komponentenbasiertes Framework mit Webkomponenten.

00:40:57.934 --> 00:41:01.594
Und das Einzige, was die halt gemeinsam haben, ist, dass beide von Komponenten reden.

00:41:01.974 --> 00:41:05.254
Aber Komponenten ist halt ein ziemlich breiter Begriff und ein ziemlich allgemeiner.

00:41:05.314 --> 00:41:08.294
Das kannst du überall hingeben.

00:41:08.434 --> 00:41:11.934
Ich kann mich nur erinnern, in meiner C++-Zeit haben wir von Softwarekomponenten

00:41:11.934 --> 00:41:14.094
gesprochen. Das würde man heutzutage Bibliothek nennen.

00:41:14.674 --> 00:41:19.754
Aber wir haben halt einfach gewisse Softwarekomponenten zum Visual Computing

00:41:19.754 --> 00:41:22.834
in unsere Software gezogen und haben diese angewendet. Das waren API-Calls.

00:41:23.654 --> 00:41:26.734
Ja, ja, ja. Ich meine, das ist genau das Ding. Ich meine, gerade wenn du so

00:41:26.734 --> 00:41:30.214
Frameworks, wie du sie heutzutage hast, die React und React-Substitute und Konsorten

00:41:30.214 --> 00:41:33.194
nimmst, so eine Komponente, die du da hast,

00:41:33.714 --> 00:41:38.754
ist ja eine Abstraktion über HTML-Elemente und eine Web-Component ist ein HTML-Element

00:41:38.754 --> 00:41:42.514
und Überraschung, Überraschung, eine Abstraktion über etwas ist nicht gleich das Etwas.

00:41:42.814 --> 00:41:45.874
Wer hätte das gedacht? Ja, ich meine, das sagt er sogar. Er sagt sogar,

00:41:46.114 --> 00:41:49.234
wir reden ja von Custom-Elements und Elements sind nicht gleich Komponenten.

00:41:49.314 --> 00:41:52.414
Und ich sage, Leute, ganz ehrlich, ihr in diesen...

00:41:53.978 --> 00:41:56.938
Komponentenorientierten Javascript-Frameworks habt sich diesen Begriff Komponente

00:41:56.938 --> 00:42:00.758
nicht ausgedacht. Den gibt es halt einfach schon mal ein paar Jahrtausende länger als halt.

00:42:01.978 --> 00:42:09.018
Und bei dem her, er hat in Wirklichkeit ein Problem, dass er eine Begrifflichkeit.

00:42:10.678 --> 00:42:15.378
Hat, die er in einem anderen Kontext auch verwendet. Und ich finde das halt ein bisschen gaga.

00:42:16.538 --> 00:42:19.698
Ja, also ich denke mir halt irgendwie bei

00:42:19.698 --> 00:42:25.738
diesem A versus B immer so Internet-Meme-mäßig, why not both? Ja, genau.

00:42:26.498 --> 00:42:29.638
Ich check das nicht. Also, du hast halt irgendwie Anforderungen,

00:42:29.918 --> 00:42:32.158
du musst irgendwie ein UI bauen, das macht dieses, jenes, solches.

00:42:32.638 --> 00:42:36.418
Warum bedient man sich nicht aus allem, was so die moderne Welt zu bieten hat,

00:42:36.438 --> 00:42:39.958
und pickt sich da einfach eine Mischung raus, die dann macht, was es soll?

00:42:40.058 --> 00:42:45.798
Also, ich bin fest davon überzeugt, dass das, was viele so in den modernen Frameworks

00:42:45.798 --> 00:42:50.958
tatsächlich haben, da ist halt sehr viel Developer Experience darin,

00:42:51.158 --> 00:42:52.998
was gewollt und gesucht wird.

00:42:53.658 --> 00:42:56.418
Also speziell, wenn du so diesen ganzen Server-Side-Rendering-Kram hast,

00:42:56.518 --> 00:42:58.938
da könnte man jetzt immer so sagen, ja, Server-Side-Rendering gab's schon immer,

00:42:59.258 --> 00:43:02.838
das haben wir früher mit PHP und Java gemacht, aber das ist halt nicht das Gleiche,

00:43:02.878 --> 00:43:05.418
weil du dann halt irgendwie so dein PHP und dein Java hattest und dann musstest

00:43:05.418 --> 00:43:08.318
du da irgendwie jQuery oben drauf tackern und du hattest da immer so diesen

00:43:08.318 --> 00:43:10.198
Disconnect, wie greift das einander?

00:43:10.298 --> 00:43:14.698
Und die Antwort war halt meistens mittelgut oder halt mit sehr viel Aufwand

00:43:14.698 --> 00:43:18.958
und da ist natürlich der Reiz von irgendwie ne, Vercell und hast du nicht gesehen,

00:43:19.158 --> 00:43:21.098
mach halt einfach eine Codebase, die alle zu knechten.

00:43:22.698 --> 00:43:24.978
Aber das kannst du halt eben auch mit anderen Mitteln herstellen,

00:43:25.018 --> 00:43:29.718
als mit einer Single-Page-Application oder halt eben einem dann,

00:43:29.898 --> 00:43:32.678
wir bauen unsere Single-Page-Application zu Server-Site-Rendering um.

00:43:32.878 --> 00:43:36.858
Also du kannst ja theoretisch einfach sagen, jemand definiert halt das Konzept

00:43:36.858 --> 00:43:42.798
deiner Komponente, wie auch immer, mit von mir aus JavaScript und JSX und hast du nicht gesehen.

00:43:43.158 --> 00:43:47.538
Und dann kann daraus ja entweder etwas werden, das ausschließlich kleinseitig

00:43:47.538 --> 00:43:50.938
stattfindet oder ausschließlich serverseitig stattfindet oder in beiden Welten.

00:43:51.718 --> 00:43:54.678
Und dann halt eben mit unterschiedlichen APIs auch leichte daherkommt,

00:43:54.718 --> 00:43:58.938
mit so leichten Änderungen in der Geschmacksrichtung, dass du nicht alles durch

00:43:58.938 --> 00:44:02.418
irgendwie so diesen Flaschenhals des kleinsten gemeinsamen Nenners zwängen musst.

00:44:03.078 --> 00:44:06.138
Sobald du halt irgendwie sagst, hey, unterschiedliche Sachen baue ich auf unterschiedliche

00:44:06.138 --> 00:44:09.478
Weise, damit sie unterschiedliche Eigenschaften haben, vereinfacht sich deine

00:44:09.478 --> 00:44:14.278
Welt so radikal viel mehr, als wenn du sagst, ich zwänge halt eben alles durch

00:44:14.278 --> 00:44:17.398
diesen einen engen Flaschenhals. Mhm.

00:44:19.380 --> 00:44:22.340
Also das Letzte, was ich gebaut habe, ist halt auch irgendwie so zu so einer

00:44:22.340 --> 00:44:26.580
kleinzeitigen Applikation verkommen, obwohl das eigentlich nicht wirklich sinnvoll war.

00:44:27.440 --> 00:44:30.800
Und hätte ich genauso gut einfach machen können, dass diese Klassendefinitionen,

00:44:30.800 --> 00:44:34.140
die ich da für meine Webcomponents geschrieben habe, dass sie einfach in ein

00:44:34.140 --> 00:44:39.020
Template übersetzt werden. so, was halt früher irgendwie deine Template-Sprache

00:44:39.020 --> 00:44:41.080
in PHP oder Java oder sonst was gewesen wäre.

00:44:41.300 --> 00:44:44.800
Das kannst du doch einfach auch mit einem Template-String in der Klasse haben.

00:44:46.420 --> 00:44:49.680
Und ich verstehe nicht, warum man sich nicht einfach von all dem bedient.

00:44:49.740 --> 00:44:54.420
Das liegt halt zum Teil halt daran, dass irgendwie diese ganzen Frameworks,

00:44:54.720 --> 00:44:57.560
die haben halt so mehrere Sachen.

00:44:57.820 --> 00:45:01.100
Man spricht immer von diesem Framework, als wäre das eine Software,

00:45:01.280 --> 00:45:03.360
aber eigentlich ist es ja immer mehr als nur eine Software.

00:45:03.660 --> 00:45:07.960
Es ist ja die Software und das Ganze drumherum. Es kann halt sowas tatsächlich,

00:45:08.680 --> 00:45:11.380
Dingliches sein, wie tatsächlich eine Hosting-Plattform oder so,

00:45:11.640 --> 00:45:13.660
die du dann nutzen möchtest oder auch nicht, wie wir schon besprochen haben.

00:45:14.060 --> 00:45:18.720
Aber da ist ja auch dann sowas bei, wie ja, Community war ja früher immer so

00:45:18.720 --> 00:45:21.440
das Ding von wegen, da hast du wen, dem du Fragen stellen kannst.

00:45:21.480 --> 00:45:27.060
Das ist ja auch fragwürdig, inwiefern sowas halt eben tatsächlich existiert oder nicht.

00:45:27.200 --> 00:45:30.520
Aber halt zumindest mal so Sachen wie, ich nenne das immer eine Ideologie.

00:45:31.120 --> 00:45:34.060
Das merke ich halt immer, wenn ich an React rumschraube, dass du halt nicht

00:45:34.060 --> 00:45:36.240
einfach irgendwie eine Library da reinwerfen kannst, sondern du musst es halt

00:45:36.240 --> 00:45:39.720
irgendwie immer reaktifizieren, damit es funktioniert und irgendwie immer diese

00:45:39.720 --> 00:45:43.000
überführen in die Welt, die die halt eben da haben.

00:45:43.660 --> 00:45:46.980
Und das ist halt eben einfach auch Dinge, die, wenn sie wunderbar funktionieren,

00:45:47.040 --> 00:45:49.500
dass es halt eben diese überführte Software schon gibt, die alles irgendwie

00:45:49.500 --> 00:45:52.460
in Hooks spricht und in React spricht und in Funktional spricht,

00:45:52.980 --> 00:45:54.800
dann ist das super einfach, aber wehe, wenn nicht.

00:45:56.500 --> 00:45:59.100
Wehe, wenn nicht, weil dann musst du das nämlich neu schreiben und das kannst

00:45:59.100 --> 00:46:01.480
du nur dann machen, wenn du wirklich sehr genau verstanden hast,

00:46:01.880 --> 00:46:05.680
was diese Ideologie eigentlich will, dieses funktionalen Programmierens,

00:46:05.980 --> 00:46:08.140
dieses Hook-Konzept, und sobald du das auch nur,

00:46:08.640 --> 00:46:12.840
halbwegs falsch verstanden hast, baust du Dinge, die dann unter Umständen leicht suboptimal sind.

00:46:14.380 --> 00:46:16.600
Und das ist halt alles so Kram.

00:46:19.500 --> 00:46:22.660
Der wohnt bei diesen Frameworks mit drin. Und was ich ja nun auch glaube ist,

00:46:23.280 --> 00:46:24.700
ohne Framework kannst du eh nicht arbeiten.

00:46:25.200 --> 00:46:27.020
Damit meine ich jetzt aber nicht notwendigerweise ein Produkt,

00:46:27.120 --> 00:46:30.220
das du von irgendwem kaufst oder installierst oder so, aber du musst halt irgendwie,

00:46:30.220 --> 00:46:32.580
wenn du irgendwie Software entwickelst, kommst du nicht umhin,

00:46:32.740 --> 00:46:34.120
irgendeine Art von Struktur zu haben.

00:46:34.420 --> 00:46:38.240
Mit der ersten Abstraktion, die du schreibst, hast du auch nebenbei gebaut, ne?

00:46:38.640 --> 00:46:41.880
Ja, das ist es halt eben. Dein Framework könnte wirklich sowas Banales sein

00:46:41.880 --> 00:46:44.900
wie halt eine Basisklasse und da wohnen halt die 20 Methoden drin,

00:46:45.020 --> 00:46:47.120
mit denen du dein Programm bestreitest.

00:46:47.580 --> 00:46:51.480
Super, wunderbar. Oder das kann halt wirklich sowas sein, wir sind jetzt Angular

00:46:51.480 --> 00:46:54.880
und wir haben einen Compiler, Dokumentation, Wartung, Hosting,

00:46:54.980 --> 00:46:55.920
Plattform, hast du nicht gesehen.

00:46:57.946 --> 00:46:58.706
Und alles dazwischen.

00:47:02.186 --> 00:47:05.566
Ich finde das ein totaler Kategoriefehler. Die treten nicht in der gleichen

00:47:05.566 --> 00:47:08.846
Disziplin an, die Web-Components und die Frameworks.

00:47:10.186 --> 00:47:13.606
Und ohne Framework geht eh nicht, entweder explizit oder implizit,

00:47:13.726 --> 00:47:15.766
entweder selbst gebaut oder von irgendwem eingekauft.

00:47:18.246 --> 00:47:22.446
Und noch ohne Web-Components zu operieren können die Frameworks im Moment.

00:47:23.266 --> 00:47:27.286
Aber man stelle sich mal vor, wie leicht die Welt wäre, wenn sie es nicht tun würden. Ja.

00:47:28.086 --> 00:47:31.266
Ich denke gerade zum Beispiel an ein sehr populäres Beispiel,

00:47:31.426 --> 00:47:37.926
das ist diese Plattform Codemovie, die dir Code-Animationen präsentiert.

00:47:37.966 --> 00:47:40.466
Ich weiß nicht, ob du von der gehört hast, ich finde das nämlich grandios,

00:47:40.806 --> 00:47:45.346
dass sie, um das Ganze in deine Webseite zu integrieren, welches Framework oder

00:47:45.346 --> 00:47:47.766
welchen statischen Seitengenerator oder was auch immer du nutzt,

00:47:47.806 --> 00:47:52.526
hast du einfach dieses Codemovie-Tag, das du inkludierst und das funktioniert dann einfach.

00:47:53.326 --> 00:47:55.106
Und das ist ja spitze.

00:47:56.366 --> 00:47:59.666
Das kann ich, das soll ich in meiner React-Applikation verwenden können.

00:47:59.746 --> 00:48:01.406
Ich weiß nicht, wie gut React mit Web-Components ist.

00:48:01.686 --> 00:48:04.666
Das soll ich in Angular verwenden können. Das soll ich einfach in Eleventy verwenden

00:48:04.666 --> 00:48:06.126
können. Das muss ja wurscht sein.

00:48:06.466 --> 00:48:09.486
Ich will nur sagen, in diesem Bereich läuft jetzt dieser Code-Move.

00:48:10.986 --> 00:48:16.406
Und das ist für mich auch der Sinn einer Web-Komponent. Ich kann diese Funktionalität

00:48:16.406 --> 00:48:17.886
abkapseln. Ich brauche mich auch nicht darum kümmern.

00:48:18.386 --> 00:48:22.546
Und das ist eben die gute Überleitung. dieses unter Anführungszeichen Plug-in-Konzept,

00:48:22.626 --> 00:48:23.906
das bei WordPress so grandios war.

00:48:24.266 --> 00:48:29.006
Du ziehst dir das Ding runter, inkludierst das und kümmerst dich,

00:48:29.586 --> 00:48:30.946
nehmen wir wirklich, darum.

00:48:32.166 --> 00:48:37.026
Ja, aber dann fängst du halt tatsächlich, selbst bei sowas Simplem wie dieses

00:48:37.026 --> 00:48:39.846
Ding CodeMovie, das ist ja etwas, was ich gebaut habe, wo du einfach einen String

00:48:39.846 --> 00:48:41.086
HTML und CSS rausbekommst.

00:48:42.006 --> 00:48:45.446
Selbst das scheitert schon an so Ideologiefragen.

00:48:46.406 --> 00:48:50.546
Weil du kriegst ja erstmal primär da bloß ja raus diesen String HTML und CSS,

00:48:51.126 --> 00:48:56.666
und den musst du ja irgendwie als HTML, als DOM irgendwo reinkippen das ist

00:48:56.666 --> 00:48:58.266
halt nicht das was React zum Beispiel von dir will.

00:48:59.846 --> 00:49:04.606
Da musst du dann irgendwie sagen, unterstrich, unterstrich set unsafe HTML oder wie das da heißt,

00:49:05.926 --> 00:49:11.526
du musst den Lifecycle auskoppeln dangerously set in a HTML so hieß es,

00:49:11.626 --> 00:49:17.326
genau und sagen wir so in deren Weltsicht macht das ja auch Sinn.

00:49:18.266 --> 00:49:22.506
Das muss so. Alles andere wäre Käse. Aber dass es halt nur so geht,

00:49:22.886 --> 00:49:25.586
ist halt irgendwie ein bisschen Käse, weil du ja nicht wirklich da ein universelles

00:49:25.586 --> 00:49:27.006
Ding drum herum bauen kannst.

00:49:28.046 --> 00:49:31.446
Das ist halt ein bisschen schade und schwierig. Und du musst dann am Ende trotzdem

00:49:31.446 --> 00:49:34.406
irgendwie hingehen und gucken, dass du das irgendwie in diese ganzen verschiedenen,

00:49:35.726 --> 00:49:38.306
Ideologien integrierst, indem du da halt irgendwie nochmal eine Schicht drum

00:49:38.306 --> 00:49:41.846
herum bastelst, damit das halt auch für die verträglich ist.

00:49:41.886 --> 00:49:44.606
Wie gesagt, Projektkanz war nie ein Problem.

00:49:45.546 --> 00:49:48.646
Ich habe da auch ein ganz anderes Ding mit. Was ich jetzt im Moment mache,

00:49:49.286 --> 00:49:51.586
also was ich im Moment mache, ich hatte im Sommer ja wenig zu tun,

00:49:51.666 --> 00:49:54.546
also habe ich einfach mal gesagt hier auf Social Media, man gebe mir was zu

00:49:54.546 --> 00:49:57.186
tun, gerne die schlimmste Legacy-Anwendung, die ich habe.

00:49:57.546 --> 00:50:00.366
Und dann kamen Leute um die Ecke, die wir kennen, die hatten wir auch schon

00:50:00.366 --> 00:50:03.106
mal im Podcast und haben so gesagt, ah, die schlimmste willst du also haben,

00:50:03.166 --> 00:50:04.806
hold my beer. Und dann haben sie mir die gegeben.

00:50:06.446 --> 00:50:14.226
Und einfach so, was Entwickler alles tun, damit sie kein CSS schreiben müssen, ist halt echt krass.

00:50:14.606 --> 00:50:21.966
Ja, also okay, ist es halt nur sozusagen, die benutzen halt nur diese CSS-Modules,

00:50:22.086 --> 00:50:23.266
ist halt, du schreibst normales CSS,

00:50:24.046 --> 00:50:27.706
machst ein Import-Statement, wir gucken nicht so genau hin, wie das funktioniert,

00:50:28.306 --> 00:50:33.246
die generieren dann automatisch eindeutige Klassennamen, die global unik sind,

00:50:33.706 --> 00:50:36.666
die kannst du dann einfach als Props in deinen Reactor reinkloppen und dann

00:50:36.666 --> 00:50:38.286
weißt du, dass du keine Namenskollisionen hast.

00:50:39.506 --> 00:50:42.946
Die Dependency-Tags hinter dem Ding ist grandios hoch.

00:50:44.286 --> 00:50:48.306
Für das bisschen Convenience von Style Scoping.

00:50:48.746 --> 00:50:56.486
Naja, es ist halt kein Convenience, sobald der Firefox auch AdScope-Blöcke unterstützt.

00:50:58.146 --> 00:51:02.826
Das ist ja, wenn du wirklich sagen kannst, ich habe hier so eine donutförmige

00:51:02.826 --> 00:51:06.646
Ausprägung meiner Komponente irgendwie vom Rapper bis zum Content-Container

00:51:06.646 --> 00:51:10.826
und kann halt eben sagen, meine Styles gelten halt nur für dieses Ding da.

00:51:13.404 --> 00:51:16.524
Und wenn halt irgendwie da jetzt so demnächst der Release kommt,

00:51:16.584 --> 00:51:19.044
wo das dann halt einfach überall global verfügbar ist in jedem Browser,

00:51:20.624 --> 00:51:22.904
dann ist das alles für einen Arsch.

00:51:23.324 --> 00:51:27.424
Alles, was jemals gebaut wurde, um dieses CSS-Scoping-Problem zu umgehen,

00:51:27.624 --> 00:51:31.304
ist dann instantan für den Arsch.

00:51:31.404 --> 00:51:34.564
Es kann mit Anlauf in die Tonne getreten werden.

00:51:34.684 --> 00:51:38.144
Es kann in die Tonne gedankt werden, wie von Michael R. Jordan persönlich.

00:51:39.464 --> 00:51:43.204
Das ist so hinüber. Und ich denke halt eben, super, das bringe ich jetzt hier

00:51:43.204 --> 00:51:45.764
wieder zum Funktionieren, damit ihr dann noch ein bisschen weiter eure komischen

00:51:45.764 --> 00:51:50.024
Sachen verkloppen könnt in eurem Online-Shop, der in React geschrieben ist.

00:51:50.584 --> 00:51:55.204
Das ist halt immer so, wenn man dann tatsächlich Web-Component-mäßig all-in

00:51:55.204 --> 00:51:57.224
gehen würde als Framework, wenn man sozusagen einfach,

00:51:57.484 --> 00:52:02.164
ich bin jetzt irgendwie ein React-Ersatz und ich würde halt einfach sozusagen

00:52:02.164 --> 00:52:06.844
die Web-Komponente als die Darreichungsform wählen und eventuell ein paar Nachteile

00:52:06.844 --> 00:52:08.844
fressen, die damit einhergehen.

00:52:08.844 --> 00:52:11.904
Ich hätte halt den Vorteil, wenn die Webplattform sich weiterentwickelt,

00:52:12.144 --> 00:52:13.304
dann kann ich da halt eben mitgehen.

00:52:13.884 --> 00:52:16.724
Und was ich halt speziell bei React so merke, was halt daran liegen mag,

00:52:16.764 --> 00:52:18.404
dass ich hauptsächlich, wenn ich mit den Dingern zu tun habe,

00:52:18.484 --> 00:52:21.764
mit React zu tun habe, ist halt, das Ding ist halt auf dem Stand von vor zehn Jahren.

00:52:22.464 --> 00:52:26.464
Im Sinne von, was kann ich damit machen und welche Arten von Abstraktionen,

00:52:26.564 --> 00:52:29.144
welche Arten von Tooling habe ich, um Dinge zu erreichen.

00:52:29.444 --> 00:52:33.004
Da ist so viel von der modernen Browser-Plattform einfach mal komplett ungenutzt.

00:52:33.164 --> 00:52:35.604
Und da gilt wirklich das, was ich vorhin über die Komponenten gesagt habe.

00:52:35.664 --> 00:52:38.124
Die Komponenten da sind Abstraktionen über Elemente.

00:52:38.844 --> 00:52:42.744
Aber wenn sie Elemente wären, könnten sie ja beides sein. Die könnten ja,

00:52:42.944 --> 00:52:45.204
sei es mit Shadow DOM, sei es mit Light DOM, ist ja komplett egal.

00:52:45.524 --> 00:52:50.224
Aber die könnten ja auch Abstraktion über Elemente sein und selber sich als Elemente ausprägen.

00:52:51.324 --> 00:52:53.224
Und da könnte man den ganzen modernen Krempel mitnehmen.

00:52:55.024 --> 00:52:59.064
Aber tun sie halt nicht aus Gründen.

00:53:02.322 --> 00:53:06.582
Ja, mir kommt davor, da ist eine gewisse Grundablehnung dagegen.

00:53:07.922 --> 00:53:11.182
Und das ist auch was, also von den Framework-Autoren.

00:53:12.082 --> 00:53:16.342
Und das ist auch was, das ich so nicht kenne, weil, also ich komme ja noch aus

00:53:16.342 --> 00:53:17.482
dieser Check-Query-Uhr-Super.

00:53:17.782 --> 00:53:21.442
Und da war halt immer die Idee, Check-Query so obsolet zu machen,

00:53:21.542 --> 00:53:24.422
wie es nur irgendwie geht. Also man hat ja die Standards hauptsächlich entwickelt,

00:53:24.622 --> 00:53:25.502
daraus, was man dort sieht.

00:53:26.182 --> 00:53:29.782
Sogar, ich finde, die Web-Components kommen ja noch aus der Idee der Check-Query-Plugins.

00:53:29.782 --> 00:53:35.762
Das war ja genau das, du hast eine Lightbox und du kannst jetzt das Lightbox-Element haben und nutzen.

00:53:35.922 --> 00:53:41.942
Du hast ein Suchfeld mit Dropdown von mir aus, das du einfach einbinden können

00:53:41.942 --> 00:53:44.182
sollst, ohne dass du dich weiter darum kümmerst.

00:53:44.282 --> 00:53:46.682
Und das ist ja eine gute Idee, du nimmst ja Bestandteile deiner Webseite,

00:53:46.782 --> 00:53:48.562
die interaktiv sein sollen.

00:53:48.982 --> 00:53:53.362
Du machst kleine wiederverwendbare Komponenten, die du jetzt nicht zwingend

00:53:53.362 --> 00:53:58.562
auf einer Seite wiederverwendest, sondern vielleicht über Seiten hinweg wiederverwendest.

00:53:58.562 --> 00:54:00.262
Also ich kenne das noch aus meiner Agenturzeit.

00:54:00.462 --> 00:54:04.562
Wir haben mit unserem eigenen Framework, unserer eigenen Klassenstruktur,

00:54:04.802 --> 00:54:07.602
zu einer Zeit, wo es noch keine Klassen gegeben hat, haben wir versucht,

00:54:07.782 --> 00:54:10.102
Softwarekomponenten zu bauen, die wir wieder verwenden können,

00:54:10.162 --> 00:54:12.482
weil jede Webseite bei uns, die wir in der Agentur gemacht haben.

00:54:13.182 --> 00:54:15.462
Immer ähnliche Elemente drinnen gehabt hat.

00:54:15.462 --> 00:54:18.342
Du hast diese großen Karussells gehabt, du hast Lightboxen gehabt,

00:54:18.522 --> 00:54:21.602
du hast Händlersuchen gehabt mit deiner Google Maps integriert.

00:54:22.222 --> 00:54:25.902
Das bringt es einfach nicht, dass du das immer und immer und immer und immer wieder schreibst.

00:54:25.982 --> 00:54:29.722
Du willst die Grundfunktionalität kapseln, du willst es in eine wiederverwendbare

00:54:29.722 --> 00:54:32.582
Softwarekomponente stecken und einfügen.

00:54:32.842 --> 00:54:37.862
Aber nein, heute willst du eintippen, npm install die 3 MB, die irgendwer anders

00:54:37.862 --> 00:54:40.862
dazu mal geschrieben hat, weil don't reinvent the wheel ist ja ganz wichtig.

00:54:40.862 --> 00:54:42.942
Ja, genau, genau, genau, genau, genau.

00:54:44.342 --> 00:54:48.502
Ja, natürlich, mit drei Megabyte, da bist du aber noch gut dabei,

00:54:48.602 --> 00:54:50.682
da hat wahrscheinlich das Metadatenpfeil drei Megabyte.

00:54:51.162 --> 00:54:53.782
Naja, ich wünschte, ich würde scherzen, aber tatsächlich ist es ja wirklich

00:54:53.782 --> 00:54:57.342
so, dass da nicht immer ganz besonders viel Rücksicht drauf genommen wird.

00:54:57.642 --> 00:55:00.482
Nein, überhaupt nicht. Und es ist ja ein Problem, es ist wirklich ein Problem.

00:55:02.557 --> 00:55:06.757
Aber mein Gott, das ist okay für mich. Und Web Components jetzt als tatsächlichen

00:55:06.757 --> 00:55:10.557
Standard zu sehen, wo du diese Dinge umsetzen kannst, dass du wirklich,

00:55:10.957 --> 00:55:12.637
also gerade wenn es um Code-Reuse geht,

00:55:13.737 --> 00:55:17.837
einigen wir uns doch bitte auf irgendwas, das du global frameworkunabhängig

00:55:17.837 --> 00:55:18.477
wiederverwenden kannst.

00:55:18.557 --> 00:55:24.097
Aber es ist gerade aus diesen React-Ecken sehr, sehr viel Ablehnung zu dem Thema,

00:55:24.417 --> 00:55:28.477
das es unmöglich macht, Web Components sauber zu integrieren,

00:55:28.717 --> 00:55:32.197
ohne dass du halt, wie du erklärt hast, durch was ich wie viele Ringe springst.

00:55:32.557 --> 00:55:36.837
Um das möglich zu machen. Ich glaube tatsächlich auch, um das hinzukriegen,

00:55:36.977 --> 00:55:41.937
musst du diese Web-Components anders entwickeln, als die Framework-Autoren das

00:55:41.937 --> 00:55:42.957
als Anspruch formulieren.

00:55:43.817 --> 00:55:50.037
Um halt wirklich so ein Ding zu sein, das halt so universell überlebensfähig ist.

00:55:51.377 --> 00:55:55.857
Brauchst du, glaube ich, in dem, was du da baust, um ja zum Anfang zurückzukommen,

00:55:56.317 --> 00:56:02.077
mehr WordPress-Vibes und weniger ich mache jetzt hier Software-Engineering und

00:56:02.077 --> 00:56:05.277
ich mache das jetzt irgendwie so nach Best Practices und Gedöns.

00:56:05.797 --> 00:56:10.157
Weil, ich meine, was ist denn das Überlebenskriterium von WordPress? Haben wir ja gesagt.

00:56:10.657 --> 00:56:14.877
Jeder kann mit halt einigermaßen gefährlichem Halbwissen das Ding in die Form

00:56:14.877 --> 00:56:16.337
hämmern, die den Job macht.

00:56:17.237 --> 00:56:21.437
Und wenn du wirklich was haben willst, was halt so ein wiederverwendbares Tool

00:56:21.437 --> 00:56:25.637
ist, dann ist die eine Möglichkeit, das wiederverwendbar zu machen,

00:56:26.057 --> 00:56:29.917
halt die bestmögliche API zu designen, die maximal viele Use Cases zulässt.

00:56:29.917 --> 00:56:32.437
Aber das ist sowohl schwierig als auch aufwendig.

00:56:33.197 --> 00:56:37.917
Oder du gehst halt eben hin und sagst so, ich baue da, sagen wir mal,

00:56:38.017 --> 00:56:39.677
Möglichkeiten ein, das Ding zu hacken.

00:56:39.817 --> 00:56:43.377
Ich habe jetzt nicht erweiterbare Software geschrieben, weil das halte ich für

00:56:43.377 --> 00:56:46.817
sehr schwierig und anspruchsvoll, aber hackbare Software schreiben,

00:56:46.957 --> 00:56:48.737
das ist, glaube ich, relativ einfach.

00:56:50.557 --> 00:56:53.157
Also ich gehe bei einigen meiner Web-Components, da gibt es halt diese und jene.

00:56:53.377 --> 00:56:55.757
Manchmal probiere ich da so meinen Software-Engineer raushängen zu lassen,

00:56:55.937 --> 00:56:58.777
aber bei denen, wo ich wirklich sage, die veröffentliche ich jetzt,

00:56:58.897 --> 00:57:01.597
so im Sinne von Open-Source und ich habe tatsächlich als Intention,

00:57:01.717 --> 00:57:02.677
dass die irgendwer benutzt.

00:57:03.117 --> 00:57:05.677
Weißt du, was ich da bei meinen Klassen für die Web-Components nicht mache?

00:57:06.617 --> 00:57:09.897
Private Felder benutzen. Da kommt schön ein Unterstrich vor.

00:57:11.157 --> 00:57:15.337
Damit irgendwer einfach so, wenn es da an Features fehlt, man da einfach eine

00:57:15.337 --> 00:57:20.097
Möglichkeit hat, die Brechstange anzusetzen, um das Ding in die Form zu bringen, die es haben muss.

00:57:20.097 --> 00:57:23.117
Und das ist genauso, wie dass du in ein WordPress-Theme irgendwelche Funktionalität

00:57:23.117 --> 00:57:25.697
einbauen kannst, die da eigentlich nicht hingehört.

00:57:26.137 --> 00:57:28.977
Aber wenn da jetzt jemand am Start ist und der braucht dieses Feature und wir

00:57:28.977 --> 00:57:32.397
haben Zeitdruck, ich kenne mich nur damit aus und hast du nicht gesehen,

00:57:32.717 --> 00:57:34.457
dann wunderbar, baue das da halt ein.

00:57:34.457 --> 00:57:38.157
Und im Falle einer, glaube ich, Framework-Komponente oder einer Web-Component

00:57:38.157 --> 00:57:42.117
ist es ja auch noch so, das ist ja, glaube ich, vergleichsweise Security-irrelevant

00:57:42.117 --> 00:57:44.577
im Vergleich zu meinem ganzen Content-Management-System.

00:57:45.037 --> 00:57:49.077
Also müsste man halt einfach das machen. Man müsste da also hackbare Software

00:57:49.077 --> 00:57:52.577
konstruieren und nicht irgendwie super-engineerte Software konstruieren.

00:57:52.577 --> 00:57:56.377
Ich finde es sehr spannend, dass du sagst, wir sollen diesen Software-Engineering-Teil

00:57:56.377 --> 00:58:00.497
vergessen, weil ich habe einmal eine spannende Definition von Software-Engineering gehört.

00:58:00.977 --> 00:58:02.997
Software-Engineering ist Programmieren über Zeit.

00:58:03.917 --> 00:58:09.997
Und das gefällt mir sehr, sehr gut, weil Programmieren kann ja jeder oder Code

00:58:09.997 --> 00:58:12.697
produzieren und den verwendbar machen geht easy.

00:58:13.337 --> 00:58:17.077
Aber dafür zu sorgen, dass das über die Lebensdauer eines Projektes oder darüber

00:58:17.077 --> 00:58:23.137
hinaus sinnvoll nutzbar, wartbar und weitentwickelbar ist, sind eben die Skills,

00:58:23.997 --> 00:58:27.657
wo man über um die sich Software Engineering kümmert.

00:58:28.197 --> 00:58:30.097
Nur glaube ich, dass wenn du jetzt.

00:58:31.247 --> 00:58:35.227
Nur weil du glaubst, Software-Engineering machen zu müssen, du dich deswegen

00:58:35.227 --> 00:58:40.367
in Komponent-Frameworks direkt oder Ähnliches vertiefst,

00:58:40.707 --> 00:58:44.687
um dort jedes mögliche Design-Pattern, das Gott und die Welt geschaffen haben,

00:58:44.907 --> 00:58:51.047
anzuwenden oder auf Don't reinvent it will oder Don't repeat yourself oder was

00:58:51.047 --> 00:58:53.847
auch immer stützt und keine Ahnung was machst,

00:58:54.467 --> 00:58:56.827
vergisst du eigentlich dieses primäre Ziel für Software-Engineering,

00:58:56.827 --> 00:58:59.707
dass du hauptsächlich Software haben willst, die du über einen langen Zeitraum

00:58:59.707 --> 00:59:01.267
hinweg gut integrieren kannst.

00:59:01.747 --> 00:59:05.907
Und sämtliche React-Projekte, die ich gehabt habe, gesehen habe,

00:59:06.467 --> 00:59:12.247
reviewed habe oder gemacht habe, sind gerade über die Zeit hinweg Aspekt irrsinnig

00:59:12.247 --> 00:59:15.387
schlecht, weil das Framework sich aktualisiert und nicht mehr kompatibel ist

00:59:15.387 --> 00:59:16.887
mit deiner Co-Pace oder weil irgendwelche

00:59:16.887 --> 00:59:19.307
Komponenten nicht mehr mit der Framework-Version kompatibel sind,

00:59:19.587 --> 00:59:23.507
weil dieser Composition-Begriff sowieso nicht funktioniert, wenn du nicht genau

00:59:23.507 --> 00:59:26.367
in dieser Denke arbeitest, die genau diese eine Entwicklung oder diese eine

00:59:26.367 --> 00:59:28.227
Entwicklung mit dieser Komponente gehabt hat.

00:59:28.647 --> 00:59:30.687
Ja, es ist halt komplett gnadenlos.

00:59:31.127 --> 00:59:35.547
Ja, und gerade wenn du sagst, hey, denk mir WordPress-lastiger,

00:59:35.807 --> 00:59:38.147
du hast das jetzt einfach dort hingeschrieben, du machst es auf,

00:59:38.227 --> 00:59:39.447
dass es bearbeitbar ist,

00:59:39.927 --> 00:59:43.747
du hast einen einfachen Weg, es zu inkludieren, aber du hast auch einen einfachen

00:59:43.747 --> 00:59:46.567
Weg mit der Brechstange, das aufzubrechen und zu verändern.

00:59:47.427 --> 00:59:52.107
Dann stimmt es diesem Software-Engineering-Aspekt meiner Meinung nach viel,

00:59:52.167 --> 00:59:55.887
viel besser zu, weil du halt sagen kannst, passt, ich kümmere mich so weit,

00:59:56.367 --> 01:00:00.047
Und ab diesem Zeitpunkt hast du die Möglichkeit, das Ding wartbar,

01:00:00.187 --> 01:00:02.687
maintainbar oder wie auch immer für dich verwendbar zu machen.

01:00:03.087 --> 01:00:06.847
Ja, okay. Und da sollte man Software Engineering vielleicht ein bisschen anders auslegen.

01:00:07.427 --> 01:00:10.487
Ja, das ist das Ding. Du verwendest halt Software Engineering sozusagen mit

01:00:10.487 --> 01:00:14.927
positiven Absichten, ich ja mehr so als Schimpfwort, als Kampfbegriff,

01:00:15.547 --> 01:00:18.627
um halt wirklich dieses over-engineerte, vertypescriptete.

01:00:20.087 --> 01:00:24.127
Gnadenlose und dann ja oft halt nicht so perfekt funktionierende Dinge halt so haben.

01:00:24.127 --> 01:00:28.127
Also weil diese Gnadenlosigkeit an React merke ich halt an diesem Shop-Projekt,

01:00:28.207 --> 01:00:29.207
an dem ich da gerade arbeite.

01:00:30.067 --> 01:00:34.067
So, das ist halt irgendwie ein alter Stack an Komponenten. Das soll auf Version

01:00:34.067 --> 01:00:35.867
2.0 einer Software draufgesetzt werden.

01:00:36.487 --> 01:00:40.107
Die Betreiber von der Software haben einen Kompatibilitätslayer gebaut und dieser

01:00:40.107 --> 01:00:43.427
Kompatibilitätslayer macht halt nicht alles, aber der macht halt so viel,

01:00:43.507 --> 01:00:44.587
dass es mit vertretbarem Aufwand

01:00:44.587 --> 01:00:47.427
ist, die restlichen 10% irgendwie hinzubiegen, mit händischer Arbeit.

01:00:48.007 --> 01:00:50.047
So, total super, sinnvoller Ansatz.

01:00:50.807 --> 01:00:54.467
Aber das Ding ist halt, das ist halt dann die Version 2 dieser Software.

01:00:54.887 --> 01:00:59.667
Und dann fängt halt React an, darüber zu möpeln, dass du in diesen alten Komponenten,

01:01:00.487 --> 01:01:06.047
dieses Default-Props-Dings verwendest, statt Default-Parameter und Destructuring und Zeug.

01:01:07.287 --> 01:01:10.567
Und naja, ergibt einen guten Grund, warum die Leute halt eben da einen Kompatibilitätslayer

01:01:10.567 --> 01:01:12.967
programmiert haben und nicht einfach alle Komponenten umgeschrieben haben,

01:01:13.187 --> 01:01:15.827
weil du davon Hunderte, Tausende am Start hast.

01:01:16.247 --> 01:01:19.547
Das heißt, React fängt dann an, darüber zu möpeln und du machst irgendwie so

01:01:19.547 --> 01:01:22.587
die Konsole auf und du kriegst halt wirklich Hunderte von Fehlermeldern Und

01:01:22.587 --> 01:01:27.807
React halt sagt, nee, nee, du verwendest ja dieses molle Feature, was ja naja.

01:01:29.519 --> 01:01:32.619
So irgendwie richtig ist, weil in deren Welt ist es tatsächlich Software Engineering

01:01:32.619 --> 01:01:35.279
über Zeit durch permanenten Einsatz.

01:01:35.519 --> 01:01:39.379
Durch permanenten Einsatz, durch permanentes Updaten, durch du gehst jede Versionsänderung mit.

01:01:39.759 --> 01:01:42.219
Und eine andere Idee von Software Engineering wäre zu sagen,

01:01:42.459 --> 01:01:44.999
wir machen stattdessen Abstraktionen und kapseln das weg.

01:01:45.439 --> 01:01:51.179
Deine Web Component könnte ja theoretisch mit irgendwelchen ollen Techniken gebaut worden sein.

01:01:51.459 --> 01:01:54.019
Da merkst du aber nicht, weil die einzige Membran, über die du mit dem Ding

01:01:54.019 --> 01:01:56.219
redest, halt HTML und DOM ist.

01:01:56.939 --> 01:02:00.379
Und was halt im Shadowdom vor sich geht, interessiert halt niemanden.

01:02:00.459 --> 01:02:04.579
Das ist halt wesentlich weniger gnadenlos, was das angeht.

01:02:06.079 --> 01:02:09.499
Absolut. Das ist halt das Ding. Aber das kannst du halt niemandem verkaufen,

01:02:09.559 --> 01:02:13.419
weil du ja wirklich sagen musst, du gehst jetzt hin und du entscheidest dich, Dinge nicht zu machen.

01:02:13.599 --> 01:02:17.659
Du machst das Teil halt nicht privat und du kaufst dir halt diverse Nachteile

01:02:17.659 --> 01:02:23.639
ein, einfach nur damit hinterher Leute mit unvollständigem Wissen deine Software

01:02:23.639 --> 01:02:27.179
auf nicht intendierte Weise benutzen. Darum machst du es ja hackbar.

01:02:28.299 --> 01:02:30.559
Das werden sie halt sowieso machen, aber das willst du ja nicht,

01:02:30.619 --> 01:02:32.539
weil du willst ja das dafür entworfen haben.

01:02:32.859 --> 01:02:36.179
In meiner Welt ist der Software-Ingenieur jemand, der sagt so, ich habe den Plan,

01:02:36.559 --> 01:02:38.439
ich weiß, wie es läuft, ich weiß, wie sie es benutzen werden,

01:02:38.539 --> 01:02:41.419
ich weiß, wie sie es benutzen sollen, ich weiß, wie sie es definitiv nicht benutzen

01:02:41.419 --> 01:02:46.599
sollen und ich covere das alles, indem ich für all das eine Regel schreibe,

01:02:46.839 --> 01:02:50.859
indem ich das validiere, checke, prüfe, privat mache, abstrahiere, vorher designe.

01:02:51.039 --> 01:02:54.339
Statt zu sagen, was ich jetzt hier brauche, ist nicht irgendwie ein hochspezialisiertes

01:02:54.339 --> 01:02:56.899
Ding, Ich brauche die Kanalratte als Software.

01:02:57.299 --> 01:03:00.899
Irgendwas, was überlebt, egal wo es gerade wie stark eingeschlagen hat.

01:03:01.639 --> 01:03:04.779
Atomkrieg, Asteroid, scheißegal, die Dinger kommen weiterhin klar.

01:03:05.199 --> 01:03:07.159
Und so eine Software zu bauen...

01:03:08.499 --> 01:03:10.619
Könnte, glaube ich, einerseits gar nicht mal so schwer sein,

01:03:10.699 --> 01:03:12.959
weil du halt einfach nur diverse Dinge sein lassen musst.

01:03:13.179 --> 01:03:17.499
Aber du musst halt eine innere Größe haben, um das gegebenenfalls vor der Welt

01:03:17.499 --> 01:03:19.339
oder deinen Kollegen zu vertreten.

01:03:21.759 --> 01:03:24.599
So, und wenn ich das kleine Rad bin, irgendwo in einer riesigen Firma,

01:03:24.999 --> 01:03:27.059
auf dem Hügel sterbe ich nicht. Hauptsache, ich werde bezahlt.

01:03:27.319 --> 01:03:30.679
Ich sitze in einem beheizten Büro und habe Ruhe. Nee, ganz ehrlich, ganz ehrlich.

01:03:30.859 --> 01:03:34.339
Dann sage ich doch, ja, komm, hier, ich baue deine React-Komponente mit CSS-Modulen.

01:03:34.479 --> 01:03:36.399
Ist mir scheißegal, das ist nicht mein Kampf.

01:03:37.179 --> 01:03:39.279
Andererseits, solange wir diesen Kampf nicht aufnehmen, wird die Welt nicht

01:03:39.279 --> 01:03:40.699
besser, ne? Ja, das stimmt.

01:03:41.119 --> 01:03:43.019
Ich habe auch ein gutes Beispiel, das ist bei uns in der Firma,

01:03:43.139 --> 01:03:47.499
wir haben Teams, die arbeiten an Integration mit Drittparty-Softwares,

01:03:47.599 --> 01:03:50.599
die laufen bei uns auf unserer eigenen Server-List-Plattform,

01:03:50.679 --> 01:03:51.799
über die habe ich schon ein paar Mal gesprochen,

01:03:53.219 --> 01:03:55.359
und da haben wir ein paar Code-Reviews gehabt, wo wir gesagt haben,

01:03:55.419 --> 01:03:58.559
hey, mit diesem Promis-Konstrukt, das du gemacht hast, überkandidelt,

01:03:59.099 --> 01:04:03.139
kompliziert, laufst du jedes fünfte Mal in eine Race-Condition rein und deine

01:04:03.139 --> 01:04:04.079
Software funktioniert nicht mehr.

01:04:04.079 --> 01:04:07.079
Aber Hauptsache, du hast ein paar funktionale Programmier-Patterns angewendet, super.

01:04:08.619 --> 01:04:12.679
Und rent in Timeouts, rent in Errors, rent in Probleme, aber man wollte ja einen

01:04:12.679 --> 01:04:13.939
gewissen Programmierstil wahren.

01:04:14.379 --> 01:04:16.539
Und dann gibt es halt einen Support-Engineer, der sagt, hey,

01:04:16.559 --> 01:04:19.819
ich bin eigentlich kein Programmierer, ich lerne das jetzt gerade mit der Plattform

01:04:19.819 --> 01:04:23.979
und ich habe jetzt einfach einmal Integration geschrieben, die 15.000 Slack-Users kennt,

01:04:24.199 --> 01:04:28.679
die Beiträge des letzten Jahres überprüft und eine Hitmap erzeugt,

01:04:28.779 --> 01:04:32.819
damit ich weiß, welche Kategorie Employees jetzt die meisten Fragen stellen.

01:04:32.819 --> 01:04:37.119
Und das Ganze rennt in weniger als 20 Sekunden auf unserer langsamen Plattform

01:04:37.119 --> 01:04:39.579
und funktioniert stabiler und besser als alles, was ich geschrieben habe.

01:04:40.079 --> 01:04:42.679
Und der ist einfach genau dran gegangen und gesagt, ich habe dieses Problem

01:04:42.679 --> 01:04:45.459
und ich löse es und mein Anspruch ist einfach nur, dass das Ding funktioniert.

01:04:45.899 --> 01:04:49.859
Und jetzt ist das Skript da und wird hergenommen und weiterverwendet,

01:04:49.999 --> 01:04:55.139
wird einfach teilweise kopiert und funktioniert und ist spitze und ich finde es absolut kandios.

01:04:55.719 --> 01:05:01.079
Es ist halt ein Skript und kein Produkt, ne? Ja, und der Überzeiteffekt von dem ist,

01:05:01.810 --> 01:05:06.750
massiv besser. Also das rendet schon seit einem Jahr stabil und gut und super

01:05:06.750 --> 01:05:12.490
und wird weiterentwickelt und wird als Beispiel hergenommen und hin und her

01:05:12.490 --> 01:05:14.790
und hat auch keine Bug-Reports,

01:05:14.910 --> 01:05:17.650
weil das sind 20 Zeilen Code und fertig.

01:05:18.770 --> 01:05:21.430
Ja. Wenn deine Zielgruppe Entwicklerinnen und Entwickler sind,

01:05:21.950 --> 01:05:23.390
kannst du denen auch mal ein Skript zumuten?

01:05:23.990 --> 01:05:27.830
Das muss halt nicht immer ein Package sein und ein Produkt sein mit einer flashy Webseite.

01:05:27.950 --> 01:05:30.510
Ich meine, wir haben da, glaube ich, mal drüber geredet, irgendwie so das Marketing-Problem

01:05:30.510 --> 01:05:36.190
und das irgendwie Software, irgendwie flashy Webseiten durchaus gebrauchen kann und sowas alles.

01:05:36.870 --> 01:05:40.430
Muss halt eben auch nicht. Vor allen Dingen nicht für jedes verdammte interne Tool.

01:05:41.590 --> 01:05:46.670
Das kann halt durchaus sein, so, nimm das und kopier das und pass das halt eben an.

01:05:47.270 --> 01:05:50.210
Und wenn du irgendwie was Gutes baust, dann füttere das irgendwie zurück,

01:05:50.290 --> 01:05:53.390
aber muss halt auch nicht für dein Word-of-Ding, wo du halt einfach nur irgendwie,

01:05:53.730 --> 01:05:56.270
keine Ahnung, statt UTF-8 irgendwas Absurdes brauchst.

01:05:58.350 --> 01:06:02.910
Absolut. Aber ich weiß halt auch nicht, wie du in die Welt hinkriegst,

01:06:02.970 --> 01:06:06.930
wie du die Welt in eine Konfiguration kriegst, wo man das macht,

01:06:07.010 --> 01:06:08.850
wo diese hikebare Software geschrieben wird.

01:06:10.399 --> 01:06:12.679
Das Ding ist halt, ich glaube, dazu müsste man ja tatsächlich,

01:06:13.199 --> 01:06:16.459
glaube ich, schon genaue Kenntnis haben von dem, was geht und von dem,

01:06:16.559 --> 01:06:18.859
was tatsächlich gewisse Features auch sein sollen.

01:06:19.019 --> 01:06:21.319
Ich meine, bis zu einem gewissen Kenntnisstand musst du den Leuten tatsächlich

01:06:21.319 --> 01:06:24.679
sagen, die Implementierungsteil deiner Klasse sind halt private Felder,

01:06:24.819 --> 01:06:26.979
weil das ist ja die Idee dahinter und das stimmt ja auch.

01:06:27.179 --> 01:06:29.879
Und du brauchst ja, glaube ich, schon irgendwie Erfahrung und Wissen und Gedöns,

01:06:29.999 --> 01:06:35.979
um zu entscheiden, ja, aber Regeln sind dazu da, um unter bestimmten Umständen

01:06:35.979 --> 01:06:37.139
auch mal außer Kraft gesetzt zu werden.

01:06:39.259 --> 01:06:43.159
Keine Ahnung. Also ich glaube, es kommt wirklich auf den Sweetspot an, wo du.

01:06:46.039 --> 01:06:52.779
Von dieser schnell runtergeschriebenen Skript-Sache zu tatsächlich Abstraktionen,

01:06:52.979 --> 01:06:56.539
Wartbarkeit im Code und so weiter gehst und ich weiß nicht, wo der liegt,

01:06:56.619 --> 01:06:59.959
ich glaube, dass das sehr individuell ist, aber es braucht einfach das Gefühl,

01:07:01.879 --> 01:07:06.499
wann ist es soweit und da gibt es sehr ein paar so Grundsätze wie,

01:07:06.539 --> 01:07:09.359
mein Gott, jetzt greife ich das schon zum dritten Mal an, vielleicht mache ich

01:07:09.359 --> 01:07:11.779
dort eine Abstraktion, die am besten ist oder besser ist.

01:07:12.479 --> 01:07:17.719
Oder für wie viel Diskussionsstoff sorgt es zwischen dir und deinen Kolleginnen und Kollegen?

01:07:17.999 --> 01:07:23.119
Wie oft geht es hier genau alle in diesen Code-Bereich? Dann macht man vielleicht was anderes.

01:07:23.779 --> 01:07:27.439
Aber da ist es gerade wieder, um den Bogen zurück zu den Web-Components zu bringen.

01:07:27.619 --> 01:07:29.619
Die Idee ist ja, dass das Ding abgekapselt ist.

01:07:29.919 --> 01:07:33.099
Ein Web-Component ist ja einmal abgekapselt für die Verwendung.

01:07:33.399 --> 01:07:36.639
Das ist schon einmal ein grundsätzlicher Rahmen oder eine Membran,

01:07:36.759 --> 01:07:40.419
die ich drüber ziehe, um zu sagen, hey, das ist der API, nutze es,

01:07:40.499 --> 01:07:43.459
sehr glücklich, du kannst eine schon, super, das passt, aber in Wirklichkeit

01:07:43.459 --> 01:07:44.599
wirst du happy genug damit.

01:07:46.039 --> 01:07:48.939
Ja, und das ist natürlich ein Rahmen und eine API, die jeder kennt,

01:07:49.039 --> 01:07:52.719
weil du irgendwann früher oder später musst mit dem Diff reden und wenn du mit

01:07:52.719 --> 01:07:56.099
dem Diff reden kannst, dann kannst du auch mit Fancy Dash Widget reden. Ja.

01:07:58.419 --> 01:08:01.399
Das wäre ja sozusagen wirklich der Vorteil vom Ganzen, weil es halt einfach

01:08:01.399 --> 01:08:05.699
schon so der quasi vorhandene Standard ist und man muss ja nicht all in gehen,

01:08:05.779 --> 01:08:07.499
man muss ja nicht mit Shadowdown, man muss ja nicht mit dieses,

01:08:07.599 --> 01:08:08.399
man muss ja nicht mit jenes.

01:08:10.119 --> 01:08:13.899
Aber ich verstehe halt nicht, warum man das nicht sozusagen zumindest in Teilen

01:08:13.899 --> 01:08:15.339
mitnimmt, was da geboten ist.

01:08:15.919 --> 01:08:19.499
Halt das Vokabular, ne? Aber weil du das halt eben hast, kannst du weniger Software Engineering machen.

01:08:19.719 --> 01:08:23.539
Wenn du wirklich mit dem HTML-Element reden willst, ne? Wenn du wirklich mit

01:08:23.539 --> 01:08:26.619
dem Div reden willst, dann kannst du mit ihm ja nur über HTML-Attribute kommunizieren.

01:08:27.359 --> 01:08:31.379
Und das sind halt alles Strings. Ja. Und der richtige Software-Engineer,

01:08:31.379 --> 01:08:34.779
der sich sagt, ich verwende hier meinen React und mein virtuelles DOM,

01:08:34.919 --> 01:08:38.279
nicht nur, weil das irgendwelche imaginären Performance-Vorteile bringt,

01:08:38.359 --> 01:08:41.779
sondern auch, weil ich ja dann rein JavaScript reden kann und ich ja Objekte

01:08:41.779 --> 01:08:43.259
durch die Gegend schieben kann, direkt.

01:08:45.867 --> 01:08:49.667
Das machst du halt nicht. Du redest halt nicht, du machst halt nicht String-Based-Programming.

01:08:49.967 --> 01:08:52.687
Das ist halt Pfui. Da tut man halt nicht.

01:08:53.487 --> 01:08:55.327
Ja, sorry, aber das ist ja mein JavaScript.

01:08:56.267 --> 01:08:59.587
Ja, das sowieso. Also was ich halt eben denke, ist, was man machen muss für

01:08:59.587 --> 01:09:02.867
mehr hackbare Software, ist, man muss den Gatekeeper an das Maul stopfen. Ja.

01:09:03.447 --> 01:09:07.747
Also, ich glaube, wer uns kennt hier, uns bei zwei, der weiß,

01:09:07.807 --> 01:09:11.447
dass wir dem fortgeschrittenen Typsystem nicht abgeneigt sind.

01:09:12.227 --> 01:09:14.967
Aber ich glaube, wir sind halt auch sehr schnell da drin zu sagen,

01:09:15.307 --> 01:09:16.767
ne, weißt du was, dafür nicht.

01:09:17.607 --> 01:09:21.947
Ja, nein, also es fehlt halt einfach Augenmaß. Ich finde, das ist ja gerade

01:09:21.947 --> 01:09:25.267
bei solchen Artikeln wie über diesen Web-Components-Artikel,

01:09:26.287 --> 01:09:29.647
und tatsächlich auch, um jetzt den Bogen zu spannen, über die Haltung von Matt

01:09:29.647 --> 01:09:32.627
Mullenweg in dieser Situation, es ist ja nicht was Schwarz-Weiß.

01:09:33.427 --> 01:09:37.547
Es gibt ja für alles einen Weg und es gibt ja Nuancen, Menschen sind halt einmal

01:09:37.547 --> 01:09:40.967
so, dass es Nuancen gibt, vor dem her würde ich jetzt einfach nicht nur,

01:09:41.027 --> 01:09:44.167
weil einer gesagt hat, für den Anwendungsfall, wie er jetzt Software entwickelt,

01:09:44.427 --> 01:09:45.747
funktionieren Web-Components überhaupt nicht.

01:09:45.827 --> 01:09:49.827
Ja, ey, cool, passt, aber mei, vielleicht ist das nicht der Anwendungsfall,

01:09:49.907 --> 01:09:50.767
für das das gemacht worden ist.

01:09:51.327 --> 01:09:53.647
Und diese Nuance fällt uns ein bisschen in der Diskussion.

01:09:56.367 --> 01:09:59.407
Ich bleib weiter bei Why Not Both. Ja, genau.

01:09:59.587 --> 01:10:04.587
Also du hast das ganze Werkzeug ist da und wenn ich hier den Junior-Entwicklerinnen

01:10:04.587 --> 01:10:07.907
und Entwicklern da draußen irgendwie eins mitgeben kann, dann wenn immer irgendwer

01:10:07.907 --> 01:10:11.147
sagt, so geht's und so auf keinen Fall, ist definitiv falsch.

01:10:11.307 --> 01:10:13.267
Egal, was inhaltlich die Aussage ist.

01:10:15.507 --> 01:10:18.767
Keine Regel ohne Ausnahme. Nicht irgendwie doch noch ein Edge-Case,

01:10:18.847 --> 01:10:20.247
wo man das nicht vielleicht noch so machen sollte.

01:10:20.767 --> 01:10:24.667
Und wisst ihr was? Vielleicht ist euer Ding, woran ihr gerade schraubt, genau das. Ja.

01:10:27.560 --> 01:10:30.640
Wir brauchen weniger Manbabys, die meinen, uns sagen zu können,

01:10:30.720 --> 01:10:32.740
wo es lang geht. Denen sollte man alles an die Fresse stopfen.

01:10:33.140 --> 01:10:34.620
Ich bin absolut deiner Meinung.

01:10:36.760 --> 01:10:39.900
Das wird, glaube ich, der Inhalt meines neuen Buches. Mal schauen,

01:10:39.960 --> 01:10:43.100
ob ich das hinkriege. Ja, schreibst du da einfach rein.

01:10:43.660 --> 01:10:46.860
Ich stelle mir da jetzt gerade so ein The Shining-Szenario vor,

01:10:46.940 --> 01:10:50.320
wie du da an der Schreibmaschine sitzt und einfach nur seitenweise schreibst.

01:10:50.400 --> 01:10:52.740
Halt's Maul, Halt's Maul, Halt's Maul, Halt's Maul, Halt's Maul.

01:10:54.840 --> 01:11:00.280
Ja, genau. und natürlich alles händisch ausschreiben, nicht kopieren oder so, wäre viel zu einfach.

01:11:01.000 --> 01:11:03.500
Also du darfst halt als Abstraktion schon die Schreibmaschine verwenden,

01:11:03.620 --> 01:11:06.340
aber halt die mechanische, also

01:11:06.340 --> 01:11:08.720
so alles, wo irgendwie ein Mikroprozessor drin ist, bist du schon raus.

01:11:09.720 --> 01:11:14.880
Absolut. Stefan, es war mir ein Fest, ich weiß nicht, ob ich was gelernt habe, aber es tat sehr gut.

01:11:15.480 --> 01:11:18.280
Genau, ich glaube, das reicht auch. Das reicht auch, wir wollen mal nicht hier

01:11:18.280 --> 01:11:19.200
überambitioniert werden.

01:11:19.780 --> 01:11:22.980
Dann hoffe ich mal, dass es euch, werte Zuhörerinnen und Zuhörer,

01:11:23.180 --> 01:11:28.500
ebenso geht, dass ihr irgendwas hier raus mitgenommen habt. Was auch immer.

01:11:29.160 --> 01:11:32.180
Und wie gesagt, wenn euch ein Gatekeeper über den Weg läuft,

01:11:33.180 --> 01:11:34.700
sagt ihm, er soll das Maul halten.

01:11:36.520 --> 01:11:40.040
Proaktiv bitte. Genau, genau. Danke fürs Zuhören.

01:11:40.720 --> 01:11:44.580
Mal gucken, was wir in der nächsten Revision sagen, ob wir vielleicht besser

01:11:44.580 --> 01:11:46.380
die Klappe gehalten hätten. Das wird sich zeigen.

01:11:47.680 --> 01:11:49.980
Danke bis dahin. Tschüssi. Ciao.

01:11:51.120 --> 01:12:13.840
Music.

01:12:19.140 --> 01:12:19.160
Des ZDF, 2020.

