Web Security mit Chris Kühn - podcast episode cover

Web Security mit Chris Kühn

Aug 18, 20252 hr 18 minSeason 6Ep. 76
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Diese Sendung soll nie aufhören? Unterstütze uns mit einer Spende ♥

Feedback? Kommentar oder Mastodon.

Wie sicher macht ihr Authentifizierung im Web? Nutzt ihr die richtigen Header? Habt ihr eure Seiten mal auf Security gecheckt? Chris bringt Licht in unsere Web-Security-Welt mit nützlichen Tipps und Tricks. Dazu gibt’s eine lange Retro, und einen neuen Spookie Jingle. Arigato gozaimasu!

Begrüßung – [00:00:52]

Retro: – [00:02:59]

  • Moritz: Alle Folgen haben jetzt Transkripte – [00:04:29]
  • Sarah: Linux Minut 0 byte frei, Löschen bringt nichts – [00:09:57]
  • Chris: dependency chain malware injection – [00:22:36]
  • Moritz: Trello Müll – [00:32:36]
  • Sarah: Jugendarbeit – [00:37:58]

Entscheide Dich! – [00:47:59]

Tagesthema – [00:50:12]

GeilTeil: Hitster – [02:07:48]

Das Ende – [02:14:27]

Transcript

Wo wir sind ist vorne, Folge 76. Heute geht's um Web Security. Herzlich willkommen bei Wo wir sind ist vorne! Frontend-Fakten-Frotzelei! Der Late-Night-Frontend-Talkshow rund um Webdesign und Entwicklung. Es reden sich um Head und Kragen, HTML-Fundamentalist Moritz Glantz und JavaScript-Jongleurin Sarah Groß. Hello! Wir sind heute wieder zu dritt, auch wenn es wieder kein Gast ging. Ich werde dich echt nachlässig, ne? Wieder kein Gast-Intro gab.

Aber dafür gibt's nachher einen extra generierten Jingle für unser Tagesthema. Ja, genau. Hallo, Chris! Schön, dass du da bist. Hallo, Moritz! Hi! Auch schön, dass du da bist. Ja, schön, dass du da bist. Wär blöd irgendwie auch ohne dich. Kannst ja mal probieren. Und wir sprechen heute, wie angekündigt, über Web-Security und anderen Kram, was Chris so macht. Und der, die eine oder andere kennt, Chris, vielleicht auch vom Worms-Spielen aus dem Stream. Und genau, habt ihr Getränke dabei?

Die erste wichtige Frage. Viele. Oh, viele sogar. Sehr schön. Ich bin heute ganz klassisch mal wieder zu einer Klubmate. Ganz normale, auf der Original steht, was mir jetzt gerade zum ersten Mal auffällt. Wahrscheinlich, dass man weiß, dass es die normale ist. Ich glaube, das war auch nicht schon immer so. Aber ja, genau. Eine andere Firma. Kein Abklatsch. Ich trinke Haferflocken. Das ist natürlich kein Bild.

Ich habe so eine Smoothie-Flasche hier stehen, die ist mir gerade so in die Finger gefallen, weil die größer ist als unsere Gläser. Und da stehen halt Haferflocken drauf, was wirklich bunt. Ich trinke einen alkoholfreien Cocktail. Das ist eigentlich so ein Sirup mit Eis, damit es spudelt. Cool. Ich trinke auch was Alkoholfreies, nämlich eine Polarnaspezie. Die Getränkekategorie, die müssen wir irgendwann vielleicht wieder sein lassen, so langweilig wie das mittlerweile bei uns geworden ist.

Wobei selbstgemachter Cocktail ist ja noch das Highlight. Das ist ja noch gecraftet. Das ist gecraftet, das habe ich eben gecraftet. Ja, sehr gut. Okay, dann würde ich sagen, legen wir direkt los mit unserer Retro, oder? Hat noch jemand irgendwas Geplänkeliges? Dann geht's los. Ich hab da immer so einen Schwarz-Weiß-Film ablaufen mit so ganz vielen Fehlern. Ja, genau, Kratzer und Staub. Fantastisch.

Ja, da fragt man sich ja, haben die damals eigentlich, so viel Kratzer und Staub, haben die sich damals keine Mühe gegeben, das richtig zu machen? Aber es ist jetzt natürlich sehr böse, rückblickend zu urteilen über die Anfänge des Films. Ich habe ja keine Ahnung, ich könnte es ja nicht mal heute machen, ich kann eine Handy-Kamera halten, das ist alles, was ich hinkriege. Wir haben noch mal eine Loch-Kamera gebaut. Okay, und was war dann hintendran?

Weißt du, das nicht mehr, das haben wir mal zusammen sogar gebaut, während unserer Ausbildung. Haben wir? Oh Gott. Aber das ist ja jetzt auch schon wieder, wie viele Jahre her? 15? Naja, nee. Obwohl. Ja doch, 16 sogar. Scheiße. Du hast recht. Ich wollte gerade sagen, es kann gar nicht so lange her sein, aber du hast vollkommen recht. Wir machen auch schon 5 Jahre diesen Podcast. Ja verrückt, oder? Ist ja auch, also eigentlich schon länger, aber so richtig offiziell seit 5 Jahren, ja ist krass.

Okay, gut. Ich glaube, dann machen wir das, markiere ich das als ersten Retro-Punkt, Geplänkel und Schwälgereien oder so. Mach dir ruhig die Mühe, ich fange dann mit dem ersten richtigen Retro-Punkt mal an, mit einer freudigen Nachricht, nämlich alle Folgen, alle Podcast-Folgen haben jetzt Transkripte bei uns.

Das hat eine Weile gedauert, sie auf meinem Macbook Air rendern zu lassen, das dann deutlich heiß immer wurde und ich mit Lüfter unten drunter und so und so ein Skript gebaut, das dann die automatisch nacheinander durchrödelt.

Also da können Fehler drin sein, ich habe sie nicht alle hinterher nochmal durchgelesen, aber ich muss sagen, der Output von Whisper, der ist extrem gut, er kennt auch Fachbegriffe, trotz dass wir halt hier irgendwie englische Fachbegriffe einstreuen und so, die meisten davon werden auch richtig erkannt.

Ich habe gesehen, manchmal werden Namen nicht richtig geschrieben, aber es war mir dann auch irgendwie nicht wichtig genug, das zu korrigieren, was natürlich so ein klassischer Fehler ist von Whisper, auch als ich zum ersten Mal damit experimentiert habe, rausgefunden habe schon, ich habe jetzt irgendwo ein Artikel gesehen, wo Leute sich ausgetauscht haben, dass es diesen Fehler in unterschiedlichen Sprachen auf unterschiedliche Weise gibt,

nämlich dass Stille am Ende ganz gerne dann noch untertitelt wird mit Untertitel von bla bla bla von Funk und ZDF oder sowas. Ach was, weil es halt KI trainiert. Ganz genau. Ich habe das gelesen. Verrückt. Und das habe ich tatsächlich schon öfter gesehen und habe dann gehört, dass das in anderen Sprachen existiert, das auch, wo dann halt was ähnliches ist eben von einer

anderen Sprache, was ganz witzig ist, dass Stille halt irgendwie auch transkribiert wird. Aber okay, da versteht man auch, wie das Ding eben funktioniert und dass es eben noch nicht perfekt ist, dass man da schon ein bisschen eingreifen muss. Am Ende ist diese KI gar nicht so intelligent. Das sagen wir noch, bis sie mit dem Maschinengewehr vor uns steht und sagt, wer hat gesagt, ich bin so intelligent? Egal. So, die Transkripte könnt ihr derzeit nutzen,

indem ihr sie im Webplayer euch anschauen lasst. Da sind sie dann auch mit Timestamp versehen, sodass man auf den, quasi auf den Satz draufklicken kann und dann tatsächlich auch zur entsprechenden Stelle im Podcast springt, was ich ziemlich cool finde. Und auch in dem Webplayer ist das auch durchsuchbar. Und ansonsten ist es auch im Feed, beziehungsweise im Feed

verlinkt, nicht komplett im Feed drin, das wäre ein bisschen groß. Und zum Beispiel Pocketcasts als Podcastplayer unterstützt das auch und zeigt dann an, da gibt es Transkripte und ich kann die dann auch im Client durchsuchen. Allerdings ist das so ein bisschen Clientsache, das machen nicht alle Clients. Man könnte die jetzt noch in anderer Weise anbieten. Ich kenne Podcasts, sehe die dann noch zum Download anbieten als HTML oder sowas. Habe ich jetzt bisher noch

nicht eingebaut. Ich habe jetzt auch schon mal zurückgefragt in der Community, braucht das noch jemand noch anders als so und da kam bisher nichts zurück. Also lassen wir das jetzt erstmal so und ich glaube, das in den Feed einzubinden ist auch erstmal so der Standard und damit kann man ja dann Dinge tun. Also wenn ich jetzt wirklich ran will, komme ich auch an die Datei ran, kann mir die da ziehen. WebVTT ist das Format und dann kann ich da selbst irgendwie auch noch was mitmachen oder so.

Derzeit scheint es aber auszureichen. Also müssen wir nicht jetzt extrem noch in die Tiefe treiben, da die Technik funktioniert so ganz gut. Ich finde auch nicht nur das, auch für mich ist das sehr, sehr gut, weil wir haben ja die Suche auf unserer Webseite und ich suche aber manchmal nach irgendwas, was wir in irgendeiner Folge gesagt haben und denke dann, ah, das war doch glaube ich in der Folge. Wenn ich die Folge schon weiß, dann kann ich auf

jeden Fall, kann ich das Transkript durchsuchen. Vielleicht kriegen wir es auch irgendwie hin, dass die Untertitel mit durchsucht werden in unserer Suche. Das können wir mal gucken. Vielleicht kriegen wir das hin, tippel, tippel, tippel, gleich fertig. Warte mal kurz, ich höre gerade nur halb hin, ach ja, guck mal, funktioniert.

Vielleicht musst du alle deine Transkripte und Untertitel nehmen und in die nächste KI stopfen, damit du sie fragen kannst, wo das war, in welcher Folge, bei welcher Minute. Ja, ich habe auch schon gehört, also die Idee habe ich gehört in der Freak-Show oder so, wo Tim Pridloff das auch mal gesagt hat, er hätte gerne KI, die er zu seinem Podcast befragen kann. Genau dieses, wann haben wir eigentlich über das und das gesprochen.

Aber ist ja relativ simpel eigentlich sogar zu machen, also das ist ja wirklich kein großes Datenvolumen, was man da durchforsten muss. Ah, unterschätzt das mal nicht. Also da kommt schon was zusammen in 75 Folgen mit jeweils teilweise vier Stunden und so und dann die Timestamps. Das ist zwar nur Text in Anführungsstrichen,

aber da kommt schon ein bisschen was zusammen. Vor allem sind das sehr viele Tokens für die KIs, vielleicht nicht unbedingt eine große Downloadmenge, aber da kommt ein bisschen was zusammen an Daten, die die KI irgendwie dann fressen muss. Und mich würde jetzt wundern, wenn ich unsere kompletten Transkripte in einfachen Chat-GPT reinknallen könnte. Keine Ahnung. Ich muss mal ausprobieren. Ich denke, du musst dir dein lokales eigenes Modell nehmen. Ja, wahrscheinlich. Aber gut. Machen wir weiter.

Machen wir weiter. Ich habe die Woche zum ersten Mal so ein bisschen ein Problem mit Linux gehabt, nachdem ich ja jetzt schon, Gott, wie lange bin ich jetzt eigentlich? Das stimmt gar nicht. Du hattest schon voll viele Probleme. Ja, aber ich sag mal in diesem Anlauf, in dieser Iteration und ich bin ja jetzt wirklich ein halbes Jahr oder so komplett auf Linux. Was hat eigentlich funktioniert diese Woche?

Nein, aber ich hatte das Problem, dass meine Systempartition, weil ich das ja erst mal nur so zum Ausprobieren draufgepackt hatte auf meine Windows-Partition, also ein bisschen Platz geschaffen, eine neue Partition für Linux und deswegen habe ich halt nicht so wahnsinnig viel Speicher da reserviert, weil ich halt das meiste noch für das Windows-System gebraucht

habe. Und jetzt hatte ich das Problem, dass mein Homelaufwerk irgendwie auf null Byte war, dementsprechend nicht mal mehr der Browser aufgegangen ist und auch sonst halt keine Programme mehr liefen, weil halt nichts mehr irgendwo in temporäre Dateien geschrieben oder sonst irgendwie abgelegt werden konnte. Und das liegt daran, dass ich ein bisschen

mit AI rumgespielt habe und das hat halt natürlich ziemlich viel Datenmüll hinterlassen. Das Krasse war aber, ich habe hunderte von MB in Dateien dann gelöscht und es waren immer noch null Byte frei. Also ich weiß nicht, warum das nicht frei gemacht hat oder ob einfach im Hintergrund irgendwas dann wieder mehr draufgeschaufelt hat sofort oder ich weiß es nicht. Dann habe ich irgendwie einen Riesenordner in meiner Dropbox mit 23 GB gelöscht oder

beziehungsweise verschoben erst mal nur. Und das hat dann tatsächlich funktioniert, dann war es wieder frei. Aber ich habe echt vorn durchforstet und ich habe gesagt, das gibt es doch nicht. Ich lösche Dateien und ich kriege einfach nicht mehr Speicherplatz freigegeben. Habe dann die Tipps, die da rauskamen, dann befolgt mit irgendwie irgendwelche Notes, Neues kennen lassen und was weiß ich. Hat alles nichts gebracht, aber das Verschieben von diesem Riesenordner hat es dann irgendwie gefixt.

Wie hast du die gelöscht? Also einfach so im… Also im File Explorer oder teilweise mit Shift entfernen, damit die gar nicht erst in den Trash wandern, weil in den Trash konnte ich auch nichts mehr löschen, weil es war ja

voll, also selbst die Operation ging nicht mehr. Ich weiß nicht, was jetzt letztendlich der Fix war, warum es dann bei den 23 Gigabyte geklappt hat, weil ich hatte vorher auch schon Dateien mit mehreren hundert MB oder Gigabyte gelöscht und trotzdem war ich bei null Byte, aber mit dem großen Ordner, das hat dann irgendwie funktioniert.

Dass es überhaupt geht, dass er ganz voll macht, ohne irgendwie zu sagen, ey, warte mal… Ja, so wie ich das verstanden habe, reserviert sich Linux für den Root-Nutzer automatisch einen bestimmten Prozentsatz, der frei bleibt, damit das Ding doch irgendwie noch agieren kann, weil sonst könnte eigentlich das ganze System ja nicht mehr starten, wenn nicht mal mehr Logs oder sowas geschrieben werden können, dann hätte man ja echt ein Problem.

Die anderen Betriebssysteme, die schützen dich ein bisschen selbst davor, vor dieser Situation, weil es so ist, dass wenn du in Windows oder Mac ein Pfeil löscht, das irgendein Prozess gerade benutzt, dann sagt das halt, nope, mach ich nicht. In Linux kannst du es aber löschen. Aber es ist dann als deletet markiert, aber der Prozess hat es immer noch. Genau. Es gibt noch einen Pfeilhändler.

Genau, und das habe ich auch geguckt, und das waren aber nur temporäre Dateien, sogar im Speicher, nicht mal Sachen auf der Platte, die das betroffen hat, die diesen deletet Stempel hatten. Also daran lag es auch nicht, das war nämlich die erste Vermutung in so einem Forum. Aber gut, es hat wieder funktioniert, aber ich hatte echt schon so ein bisschen die Befürchtung, ich muss jetzt echt nochmal wegen so einem Scheiß irgendwie doch mal alles neu aufsetzen oder so.

Willkommen in der Liedungswelt, das ist das normale Gefühl, was man da hat. Ich hätte auch noch ein paar Timeshift-Dinger gehabt, also ich hätte auch versucht, irgendwie zurückzuspringen. Immer so einen Schritt entfernt vom Wahnsinn. Oder du machst die Platte größer.

Ja, also ich bin da schon relativ am Limit, weil ich nutze ja Windows so gut wie gar nicht mehr, aber irgendwie habe ich den Schritt noch nicht gewagt, das wirklich jetzt komplett runterzuschmeißen und die ganze Platte freizumachen, weil ich denke, ich habe bestimmt dann irgendwas übersehen und dann brauche ich irgendwie in einem Jahr, brauche ich dann genau das und stelle fest, shit, ich habe ja das Windows komplett gelöscht und ich habe gar nichts mehr davon.

Und da das halt vielleicht auch Firmendaten betrifft, auch wenn ich jetzt nicht mehr Teil der Firma bin, bin ich da noch ein bisschen vorsichtig, das einfach alles zu löschen. Aber das wird der nächste Schritt sein, also die, alles zu sichern, die Platte komplett platt zu machen und komplett als Linux-Partition und dann nur noch Linux drauflaufen zu haben. Wahrscheinlich werde ich mir dabei alles kaputt machen, aber gut.

Ich habe wirklich das Gefühl, es ist das Jahr des Linux, es ist wirklich gekommen. Ne, wirklich. Okay, jetzt wirklich? Wirklich, okay. Ne, wirklich, wirklich. Nicht, ich sage nicht, es ist nächstes Jahr, ich sage, es ist dieses Jahr. Man kann es auch an Statistiken sehen.

Ich habe vor kurzem so eine Statistik gesehen, Betriebssysteme in Deutschland vor allem, wo Linux stark ansteigend ist, auf jeden Fall Windows stark abfällt und die Leute überlegen sich, jetzt kaufen sie sich ein Mac oder installieren sie Linux. Es geht in beide Richtungen, aber Windows schwächelt gerade, also aus bekannten Gründen. Bin ich masochistisch veranlagt oder habe ich viel Geld?

Ja, und sogar jetzt wirklich in meinem Bekanntenkreis gibt es jetzt eine Person, die ist zwar gaming-affin, aber eigentlich jetzt nicht unbedingt jemand, der sich viel mit Computern oder in der Tiefe beschäftigt, glaube ich. Und die Person hat jetzt gesagt, es ist doch scheiße mit dem Windows und wo das hingeht und ich kann jetzt auch irgendwie meinen Windows nicht updaten auf Windows 11, weil irgendwie aus bekannten Gründen und so. Ich probiere das jetzt auch mit dem Linux aus.

Und dann tatsächlich auch noch so eine sehr, zumindest für mich, irgendwie exotische Distribution namens Bazite, die so für Gaming gedacht ist, die irgendwie, keine Ahnung, momentan auf der Webseite konnte man sehen, wie viele Downloads es hat, wie viele aktive Nutzende und das sind noch gar nicht so viele, aber das scheint irgendwie gut zu funktionieren und der ist da voll happy und spielt da jetzt seine Games und hat da irgendwie Steam drauf

installiert und das scheint erstaunlich gut zu funktionieren, hat am Anfang viel gestruggelt, mehrfach Distributionen gewechselt, was man halt so macht am Anfang, wenn man mit Linux beginnt. Aber ist da jetzt irgendwie, glaube ich, happy und es funktioniert gut, auch für jemanden, der eigentlich so richtig ewig lang in der Windows-Welt war und sich auch nicht so tief mit der Technik beschäftigt hat.

Und wenn PewDiePie und jemand irgendwo aus meinem Bekanntenkreis es jetzt für mich sind, dass die Anzeichen verdichten sich, dass es dieses Jahr, das Jahr des Linux-Desktops ist, einfach. Also ich kann mir schon vorstellen, dass PewDiePie da extrem viele Leute hinzieht, die das jetzt zumindest mal ausprobieren. Sorry.

Ich glaube, es kommt auch noch so ein bisschen dazu, dass du ja, also a, dass ja Leute sagen, ich will von Trump weg, aber, oder von Trump land, aber dazu kommt vielleicht auch noch, dass ja, wenn du, viele Leute, die einen alten Rechner haben, keinen Windows 11 installieren können, weil kein TPM-Chip, glaube ich, drin ist im Rechner oder sowas, und quasi gezwungen werden, sich einen neuen zu kaufen.

Und wir haben sowas auch im Bekanntenkreis, da hat jemand halt gesagt, so, die Programme müssen gehen. Dann habe ich da ein bisschen rumgefrickelt, bis es irgendwie ging in Linux, und dann war der aber happy. Ja, weil du dann halt auch wieder einen aktiven, einen normalen, neuen System hast, du hast einen Werbescheiß, der da mitkommt. Da merkt man dann erstmal, wie überladen so ein Scheiß ist, wenn du es mal plötzlich nicht mehr hast. Also, wie gut auch was anderes funktionieren kann.

Ich meine, viele Leute kennen ja nichts anderes als Windows. Die haben nie was anderes gesehen, die 20 Jahre lang benutzen die Computer und haben nie was anderes gesehen als Windows. Und das hat sich ja langsam dahin entwickelt, dass es so scheiße wurde, so der typische Frosch im Wasser. Also, ich meine, unter Windows 7 gab es eigentlich keine Werbebanner, die irgendwo eingeblendet wurden. Auch unter, nee, warte mal, ich muss gerade überlegen.

Oder hast du bei 7 nicht schon so langsam angefangen? War da nicht schon irgendwie so in der Taskbar, in deinem Startmenü irgendwie Sachen? Oder war das tatsächlich erst mit Windows 10? Nee, es war nur nervig. Aber Werbung war da keine. Es war nur nervig teilweise und ein bisschen komisch, aber das war ja Windows schon immer. Wenn man genauer hingeguckt hat, gab es ja schon immer so ein bisschen Merkwürdigkeiten.

Und halt UI, User Interface nicht so richtig durchgezogen und noch irgendwelche alten Sachen. Das ist ja normal bei Windows, kennt man ja. Aber das ist wirklich so und das ist jedes Mal, wenn ich vom Mac noch mal ein Windows angeguckt habe, jedes Mal habe ich das Gefühl gehabt, es ist jetzt noch schlimmer geworden. Es ist noch schlimmer geworden.

Aber wenn du halt diese Entwicklung die ganze Zeit mitmachst und immer nur so kleine Updates und immer noch und immer noch, dann merkt man das vielleicht gar nicht so und dann kommt man in diese andere Welt und denkt so, diese Ruhe, plötzlich ist dieses ganze Neues weg. Das ist schon was, was ich empfehlen würde, sich mal reinzuziehen.

Und ich sage, es gibt auch gar keine Empfehlung ab, in was für eine Richtung, nur mal nicht Windows, nur mal angucken, mal ausprobieren und bei Linux ist es ja das Schöne, man kann es einfach total schmerzfrei ausprobieren, indem man sich so einen Live-USB-Stick baut und dann, ohne was zu installieren, kann ich es einfach mal ausprobieren auf meinem Rechner. Und dagegen spricht überhaupt nichts, einfach mal gucken, wie diese angenehme Stille aussehen kann.

Und wir wollen nicht verschweigen, dass man sich da auch Probleme an Land ziehen kann, dass nicht alles immer zu 100% funktioniert, vielleicht mit der eigenen Hardware das mal ein bisschen frickeln muss, aber trotzdem, ich glaube, es ist ein Blick wert. Apropos was anderes ausprobieren außer Windows, Moritz, ich habe noch was für dich und ein bisschen so eine Prophezeiung von dir jetzt validiert. Ich werde demnächst mit einem iPad arbeiten. Oh was? Ja. Weil du musst oder weil du willst?

Weil ich sowieso, ich starte ja im September eine Ausbildung und hätte gerne halt alles direkt digital, ohne das digitalisieren zu müssen. Das heißt, ich hätte jetzt gucken müssen, dass ich mir ein Notebook irgendwie besorg, gebraucht oder keine Ahnung, ich wollte jetzt nicht zu viel Geld dafür ausgeben.

Und eigentlich hatte ich gar keinen Bock, da jetzt danach zu gucken und jetzt hat sich ergeben, dass meine Frau von ihrem Arbeitgeber für 50 Euro ihr altes Arbeits-iPad abkaufen konnte, was jetzt auch nur irgendwie ein paar Jährchen alt ist und dann ein neues gestellt bekommt. Und das haben wir natürlich dann dankend angenommen und jetzt habe ich ab demnächst, wenn das alles rübergezogen und plattgemacht ist, werde ich ein iPad haben. Oha! Ja, ich bin sehr gespannt, wie wir uns vertragen.

Ich weiß nicht, wie alt es jetzt ist oder was für ein Modell, aber vielleicht kommst du gerade rechtzeitig in die iPad-Welt, um dann auch den sogenannten, ich nenne es mal Laptop-Modus mitzukriegen, den es jetzt ab Herbst geben soll, nämlich wo du dann so richtige Fenster hast, die du übereinanderlegen und auf- und zuziehen kannst. Das kommt mit dem neuen iPadOS, das ist so eine Art, ich würde es mal Laptop-Modus nennen.

Ich weiß nicht, ob das alle kriegen oder wie weit runter, aber das ist tatsächlich jetzt angekündigt, dass das jetzt immer mehr zu macOS wird, also tatsächlich du jetzt auch Fenster hast, die du, Maus kann man schon lang benutzen im iPad, also das, Tastatur dran, das machen ja viele tatsächlich so, aber dann kriegst du auch tatsächlich so ein Fenster-View, der sich nicht so phone-mäßig anfühlt, sondern einzelne Fenster, die du

in der Größe verändern kannst und übereinanderlegen kannst und sowas, also die Unordnung vom Desktop darfst du jetzt auch auf dem iPad haben. Sehr schön. Ja, aber zum Umgewöhnen ist das vielleicht für mich gar nicht schlecht dann, also ich weiß jetzt nicht, welche Generation das jetzt genau ist, ich glaube, das Gerät ist so vier, fünf Jahre alt vielleicht, mal gucken. Also und die kriegen jetzt neue?

Ja. Ah ja, okay, ich frage das deswegen, weil es auch schon interessant ist, wie denn so der Apple-Geräte-Lifecycle aussieht im Bildungssektor, sage ich mal, weil ich nämlich schon befürchtet habe, so wie ich den Bildungssektor kenne, dass die Dinger in zehn Jahren immer noch im Betrieb sind, die es mit dem Digitalpakt. Kommt, glaube ich, sehr auf die Bildungseinrichtungen und deren finanzielle Mittel an.

Ja, Digitalpakt war ja so, jetzt haben wir hier das Geld, es muss jetzt raus und jetzt kriegen alle neue Geräte und da habe ich mir schon gedacht, ah ja, okay, gut, und in zehn Jahren sagen dann alle, oh Gott, wir haben ja gar keine Updates mehr seit fünf Jahren, warum hat uns das denn eigentlich keiner gesagt? Aber das ist eigentlich ganz interessant, also nach fünf Jahren, offenbar geht es da dann weiter. Ja. Genau, ich bin sehr gespannt, ich werde berichten.

Cool. Cool. Gut, dann darf der Chris mit seinem Retro-Punkt. Muss ich auch mal. Genau, ja, ganz praktisch, ich hätte nämlich irgendwie vorhin überlegt, so die letzten zwei Wochen, was gab es denn so, was gab eigentlich was Spannendes aus der Frontend- und Security-Welt diese Woche?

Nämlich, ich bin ja so ein bisschen dieses Jahr in der Supply-Chain-Security-Schiene mit Vorträgen und sowas und ich komme immer mit so einem Beispiel von 2018 und jetzt habe ich ein neues und das ist super, weil durch diese Woche wurden ein paar Leute, die Java-Libraries bei NPM hochgeladen haben, gefischt und Leute haben quasi ihre NPM-Zugangsdaten, also von der NPM-Registry abgegriffen und haben von einem oder mehreren relativ verbreiteten Paketen

quasi eine neue Version veröffentlicht mit Malware drin, das ist das IS-Paket, du hörst gar nicht genau, was es macht, es testet, ah, IS.defined, also ob ein Value irgendwo defined ist oder sowas oder MT ist oder Dinge, wo ich mir frage, braucht man dafür einen Lib, aber wahrscheinlich kann die so viel mehr, als gleich IS und defined oder sowas zu fragen.

Genau, hin oder her, da haben halt Leute Malware hochgeladen, das war glaube ich sechs Stunden online, bevor das der erste reported hat und das entsprechend auch zurückgezogen wurde und in der Zeit haben das natürlich andere Pakete dann, die darauf dependen, also wo das eine Dependency ist, das auch schon bei sich eingebaut und da sind so Sachen dabei wie IS-Lint und Prettier und sowas, also schon Sachen, die doch recht verbreitet sind, und

das ist ganz cool von der Idee her, wie so dieser Angriff läuft, das greift auch, jetzt sind wir wieder beim Thema, das greift fast nur Windows-Geräte an, weil das so ein Infostealer, Trojaner, oder wie das heißt, oder Virus, wie auch immer, Malware drin, was das genau macht, weiß ich nicht, aber Infostealer, könnte ja schon was mit Credentials oder sowas sein, genau, und das greift vor allem Windows an, es gibt auch was gegen Mac und

Linux, hab ich gesehen, ich hab gar nicht so tief reingeguckt, ich hab nur geguckt, ob wir das irgendwo im Produktionscode bei uns haben, oder in irgendeinem Code, hab's nicht gefunden, aber den mach ich erstmal durch, genau, ist ganz witzig, weil das jetzt den letzten Aufschrei in die Richtung, hab ich glaub ich 2018 gesehen, und dann hat npm zwei-Faktor-Ort forciert, dann wurde das ein bisschen schwieriger, aber ja, mein Lieblingsbeispiel

von zwei-Faktor-Ort ist, zum drauf rumreiten, ist ja auch irgendwie TOTP, also gib noch einen Token ein, und nachdem ich dir gerade dein Passwort und dein Username geklaut hab, hoffe ich, dass du mir auch noch einen String schickst, der auch aus ein paar Buchstaben besteht, die ich dann klauen kann, genau, ja. Aber interessant, weil, da gibt es noch mehr Beispiele, das ist was in der NPM, da ist schon öfter mal was passiert und Dinge

kaputt gegangen. Was ich interessant finde, ist, dass das jetzt so ein Paket ist, das offenbar sehr viel in so Developer-Tools drin ist, das heißt, ich komme halt an Developer-Maschinen dann ran. Erstmal klingt es nach gar kein so großer Auswirkung, aber von den Developer-Maschinen

aus kann ich natürlich sehr großen Schaden auswähler anrichten. Das ist natürlich noch einmal so um die Ecke, aber ich glaube, ich weiß gar nicht, ob NPM-Sachen so oft so direkt auf dem Server landen, sodass ich quasi direkt auf der Webseite oder dem Tool was machen kann, also das geht natürlich auch. Aber das ist, ja, aus der Richtung finde ich es spannend. Ich habe es gar nicht mitgekriegt, muss ich sagen, ich habe es gerade parallel

gegoogelt und einen Heißartikel dazu gefunden. Genau, und hier ES-Lint-Config-Prettier, ES-Lint-Plug-in-Prettier-Sync-Kit kenne ich gar nicht. Und solche Sachen. Spannend. Ich glaube, das, was du sagst, ist tatsächlich sogar im Moment sogar das, ich sage mal, größere Problem, also gar nicht mal Endnutzer dieses NPM, dieser NPM-Software anzugreifen, sondern

tatsächlich Softwareentwickler. Weil wenn du halt deine NPM-Pakete einfach in Latest Version benutzt oder sowas und machst in der Zeit halt ein Bild irgendwie und dann hast du halt diese sechs Stunden Zeitfenster, bis es erkannt wurde und dann hast du das auf deiner Kiste drauf und du kannst von der Kiste aus Sachen machen, wenn du da, hier stand was von Webshell oder sowas oder Remote-Shell, aber das reicht ja schon, wenn das von deiner

Developerkiste irgendwelche Environment-Variablen irgendwo per Mail oder sonst wie irgendwo hochlädt. Die sind ja üblicherweise sehr privilegiert im Netzwerk, die Developerkisten, also das ist ein sehr guter Startpunkt. Ja, ich würde auch. Also ich glaube, es gibt sicher Firmen, da lohnt es sich beim CEO vorbeizuschauen, weil ich glaube, mehr Schaden kannst du mit so einer Developerkiste meistens anrichten tatsächlich.

Ja. So. Ja, die CEO-Kisten würde ich jetzt, das rate ich jetzt irgendwann mal, die haben selten Admin-Rechte, aus gutem Grund wahrscheinlich und nee, nee, ich meine gar nicht, weil da jemand damit nicht umgehen kann, sondern einfach aus Sicherheitsgründen, weil was da drauf liegt an Infos, das ist hoch schwierig, das darf auf keinen Fall irgendwie nach draußen kommen. Also da ist auch, da kannst du eine Menge Schaden mit anrichten.

Ich meine, wenn du dich da austoben kannst, ich meine, was du da, was du da alles mitnehmen kannst an Infos, ich würde da erst mal still ein bisschen mithorchen, wenn ich jetzt Zugriff auf sowas hätte und mal gucken, was der so macht und was da so passiert und ich glaube alleine da, du kannst wahrscheinlich schon ganz ohne, dass das jemand mitkriegt, eine ganze Menge Infos rausziehen und dann das heimlich irgendwo an anderer Stelle dann verwenden. Interessant.

Ich habe jetzt hier ganz zutiefst reingeguckt, das letzte aus mir Bekanntes, was größer bekannter war, war UAParser, eine Library, die dir halt sagen kann, wenn du einen Server betreibst, was für ein User Agent hat der die Session dann gerade irgendwie mitgeschickt und da war es meines Wissens so, und ich mich richtig erinnere, da wenn du das Ding auf deiner Webseite eingebaut hast, dann hat das da irgendwie Bitcoin gemeint oder so ein

anderen Kryptogramm, aber es hat eben dann lokal auf einem Entwicklerrechner, auch bei Windows damals, Sachen abgezogen und das Problem ist ja, es reicht ja schon, wenn du von so einem Entwicklerrechner irgendeinen ABS-Key oder sowas kriegst, du kannst halt mit so einem ABS-API-Key viel mehr Schaden anrichten, als du jetzt irgendwo bist ein bisschen Krypto zu meinen, da geht halt irgendwo, also was ist auch für den Angegriffen an der Schaden,

ja, wenn du ein bisschen Krypto meinst, dann geht halt die CPU ein bisschen hoch, vielleicht wird es ein bisschen teurer oder sowas, oder brauchst du ein bisschen mehr Strom, also da kann man sich bestimmt auch abgefahrene Szenarien ausdenken, aber wenn du halt von so einem Entwickler aus, egal wie große Firma, einen API-Key für ABS bekommst oder so, oder Credentials sonst wie und kannst da halt, du kannst dich ja typischerweise austoben

in so einem Projekt, reicht ja schon, wenn es für ein Projekt ist und wenn du dir da halt da eine VM hinknallst oder 47, dann, ah mehr Krypto, mein Ding, und geh, kannst du von da aus ja auch weiterspringen und so, das schon. Ich habe gehört, ABS-Keys findet man ganz gut mit Google und auch aber mit Chatshippity oder in der GitHub-Suche, also wer da Bedarf hat, kann da mal reinschauen.

Ich glaube, Google Docs oder sowas, das Gleiche bei GitHub ist schon, das ist schon so tot abgegrast, aber das von Chatshippity habe ich auch gelesen, dass jemand oder sich in irgendeinem Code-Assistant-Tool halt irgendwie ABS-Key-Doppelpunkt und die KI hat halt irgendeinen, den sie gelernt hat, da mit reingekippt. Ob das jetzt dann stimmt oder ob der benutzbar war, weiß man nicht.

Die Idee von du trainierst die KI mit deinen Daten, damit du dann besseren Code schreiben oder damit sie für dich besseren Code schreiben kann, ist halt, du trainierst die KI mit deinen Daten. Du trainierst die KI mit deinen Daten.

Ja, das ist halt echt krass, dass oft nicht darüber nachgedacht wird, generell Credentials irgendwie zu schützen und nicht in Code zu schreiben, weil das darfst du einfach, das ist immer eine schlechte Idee, auch ganz ohne Chat-GPT und GitHub ist es eine schlechte Idee, die Credentials in den Code zu schreiben und irgendwo einzuchecken oder so. Ja, die müssen immer irgendwo anders liegen.

Aber das macht es natürlich komplizierter, ich verstehe das schon, das Problem und ich habe auch privat schon Projekte gebaut, die halt nichts, wo ich der Meinung bin, die keinen Schaden anrichten können, wenn da irgendwas kaputt geht. Also jetzt kein AWS-Key, sowas habe ich noch nie in der Hand gehabt, aber ja, da weiß man halt nie.

Also es geht halt schnell, viel schneller und viel einfacher, wenn man sich darüber keine Gedanken macht, aber es ist einfach der richtige Weg, das irgendwo anders zu platzieren. Ja, ich glaube, da kommen halt auch noch andere Sachen dazu, ja, ist es irgendein AWS-Key, der was ganz bestimmtes darf oder haben die Leute halt einen AWS-Key, den auch alle Leute benutzen, der halt irgend so ein Projekt- oder Scope- oder Org-Admin ist oder sowas. Das ist ja auch nochmal so ein Punkt.

Die drei AWS-Key aus meinem Rechner, wir benutzen den AWS-Key, ich kann dir drei andere Cloud-Keys aus meinem Rechner filetieren, mit denen kannst du halt ziemlich genau kein Geld verbrennen. Aber die sind halt entsprechend runtergestoppt. Okay, gut, das war es zu dem Punkt, oder? Habe ich das richtig vernommen? Ich muss mich noch kurz auskotzen.

Wir haben ja immer Trello im Einsatz, um unsere Podcast-Folgen zu planen, und wir haken gerade auch fleißig To-Do-Punkte ab, und ich musste jetzt, damit ich das überhaupt weiter so machen kann, wie ich das sonst immer gemacht habe, nämlich in einem schmalen Browser-Fenster das Trello-Kärtchen offen, neben dem anderen Browser, um den Überblick zu behalten, musste ich jetzt in HTML was löschen, damit es überhaupt noch geht. Und warum ist das so?

Weil Atlassian, die irgendwann vor ein paar Jahren Trello gekauft haben, jetzt beschlossen haben, jetzt gibt es ein Trello-Neu. Und Trello war ja eigentlich immer das geile Tool genau deswegen, weil es so minimalistisch war.

Weil es nur so ein paar Features hatte, also vielleicht für die, die nicht wissen, was Trello eigentlich ist, so ein Kanban-Board, auf dem man virtuell so Kärtchen hin- und herschieben kann, und dann kannst du noch Subtasks anlegen in den Kärtchen, und die können einen Zustand haben, man kann die assignen und so, aber ganz, ganz simpel. Also weit weg von einem Jira oder so einem großen Issue-Tracker, sondern sehr, sehr simpel.

Die haben natürlich auch irgendwann neue Features noch mit eingebaut, aber das Grund-Feature-Set ist immer sehr minimalistisch geblieben. Und Atlassian, die ja zum Beispiel Jira eben bauen oder auch Confluence, halt so Riesentools, die haben halt dann irgendwann beschlossen, also erstens, sie kaufen das Ding, und dann habe ich schon gedacht, oh, wenn Atlassian, die dafür bekannt sind, dass sie den Feature-Creep im Prinzip erfunden haben, das übernehmen, was passiert dann wohl?

Und dann ist relativ lange so fast nichts passiert, dann gab es mal so, irgendwie drum herum ist noch ein bisschen was gebastelt worden und jetzt seit kurzem gibt es nur noch das neue Trello mit dem Ergebnis, dass zum Beispiel in der mobilen Ansicht die Kommentare von einem Kärtchen höher priorisiert werden als der eigentliche Inhalt der Karte.

In dem Fall unsere Unter-Checklisten, die wir da verwenden, das heißt, wenn ich das Fenster schiebe, sehe ich nur noch die Kommentare zur Karte und nicht mehr den Inhalt.

Sehr abstrakt für Leute, die jetzt nicht Trello benutzen, aber ich sage es mal so, das Interface ist jetzt nicht unbedingt aufgeräumter geworden, es kommen irgendwelche komischen Features dazu, ständig jeder dritte Klick führt ins Upselling und jetzt habe ich echt so das Gefühl, ich brauche Ersatz dafür und ich habe da auch auf Mastodon schon mal

herum gefragt und so. Das Ergebnis ist, es gibt eine Million Trello-Klone, von denen keiner gut ist und wenn die Leute sich mal zusammensetzen würden, die die Trello-Klone bauen, sagen wir mal die Hälfte der Leute, die Trello-Klone baut, setzt sich zusammen und einigt sich drauf, dass sie jetzt mal was gemeinsam machen, dann hätten wir wahrscheinlich in drei Monaten einen richtig geilen, so Open Source und alles und so, wie man es haben

will, aber so momentan ist das nichts. Wir müssen jetzt da erstmal noch bleiben. Ich habe die Daten aber schon mal exportiert. Vielleicht gehen wir zu Obsidian, wobei ich nicht weiß, wie echtzeitig das funktioniert. Also wir brauchen das halt in Echtzeit, weil wir gemeinsam daran arbeiten. Das heißt, wenn ich was abhake, möchte ich, dass Sarah das

sofort sehen kann und umgekehrt oder wenn wir was Neues eintragen. Ich nehme da auch noch Vorschläge an, aber bitte nicht die ersten 20, die man findet, wenn man es googelt, weil die habe ich mir alle schon angeguckt. Da könnt ihr davon ausgehen, die kenne ich alle schon. Ja, genau, das musste jetzt kurz raus. Also Trello ist jetzt scheiße, offiziell, und es war mal so gut und ich verstehe nicht, warum man es kaputt repariert. Also an Trello

war nichts Schlechtes, hätte man einfach so lassen können. Das war einfach perfekt und jetzt ist es kaputt, weiß man nicht so genau, updatet. Ja, das musste kurz aus mir raus, sorry. Es gibt ein Anwarn-Board in CryptPad, da habe ich einen benutzt, aber CryptPad kann man super gleichzeitig... Moritz tippt schon. Ich glaube, das habe ich mir auch schon angeguckt,

und ich glaube, das ist nicht... Ich kann dir noch mal Beispiele zeigen. Bevor ich jetzt etwas Falsches sage, ich sage jetzt mal lieber nichts dazu und ich gucke es mir in Ruhe nochmal an. Ich kenne nur die Wiki-Funktion. Oh Gott, ja doch, ich muss kurz was dazu sagen. Ist halt hässlich wie die Nacht. Entschuldigung, also die Idee ist gut. Man sieht jemand,

Entschuldigung UX-Designer, der das sich ausgedacht hat oder Frontend-Dev. Ich sehe die Anleihen bei Trello, aber guck dir Trello nochmal genauer an und dann mach mal hübsch und dann kommen wir ins Geschäft. Es gibt ein Feature von Trello, vielleicht muss ich das noch kurz nachschieben. Es gibt ein Feature von Trello, was wir sehr intensiv benutzen, was jetzt keins von den Hauptfeatures ist, nämlich Karten-Templates für jede Folge,

die wir anlegen. Wir haben ein Karten-Template für eine Folge, in der schon sehr viele Sachen drin sind, nämlich unter anderem Unterlisten, die für jede Folge ausgefüllt werden. Und das ist was, das ist ein Feature, das brauche ich unbedingt. Ich meine, von Hand kopieren geht irgendwie, ist aber auch nicht geil, so ein Template dafür wäre halt irgendwie schon sehr gut. Oder zumindest, dass man eine Karte kopieren kann, das würde mir schon reichen. Ja, so,

jetzt aber Trello, drum kann man, jetzt nächster Punkt. Ja, ich habe schon überlegt, sage ich dazu was oder nicht, weil es klingt immer so, als ob ich so Werbung mache, so hängt euren Developer-Job an den Nagel, wenn es scheiße macht, wo ihr euch irgendwie sinnvoller fühlt und werdet glücklich, aber das ist es gar nicht. Ich habe halt nur nicht mehr so viel Technik-Retro-Zeug zu erzählen,

weil es einfach nicht mehr so ein großer Timer ins Alltags ist. Und ich weiß, dass auch Leute das interessiert, was ich jetzt so mache, weil ich auch auf der BIT-Conf oder so dann auch angesprochen werde, so wie es jetzt bei mir läuft und so. Deswegen halte ich euch da halt auch auf

dem Laufenden so ein bisschen, ob ihr wollt oder nicht, es gibt ja Kapitelmarken zum Glück. Und ich wollte einfach erzählen, die letzten drei Wochen war ich nicht im Kindergarten, sondern war in der Arbeitsstelle, wo ich meine Ausbildung mache ab September, so ein Jugendhaus und das

Queere-Jugendzentrum hier in Karlsruhe. Und habe da schon mal so reinschnuppern können, alles schon mal kennenlernen können und muss sagen, ich fand es total cool, habe mich da echt wohl gefühlt und glaube, das wird richtig cool ab September und bin da guter Dinge für die Ausbildung. Also Löffelschnitzen statt Software-Development? Ja, nee, keine Löffel mehr schnitzen. Das ist vom Tisch. Vielleicht schnitzt es sich mit den Jugendlichen dann irgendwann.

Für alle anderen. Für euch getestet im Stream, Löffelschnitzen ist gar nicht so einfach. Überlegt euch das gut. Und ihr braucht das richtige Werkzeug da vorher. Ein Messer reicht nicht, damit kann man nur sehr schlecht ausfüllen. Und auch das richtige Holz, weil wenn es nämlich zu arg hart ist oder so komische Aststellen hat, dann gibt man schnell auf. Auch für euch getestet. Wenn man ein Quitter ist, ist das so. Ja. Ich brauche keine Herausforderungen mehr im Leben, die habe ich anderweitig.

Okay. Ja, aber generell, ich glaube, wir haben ja das auch im Stream schon öfter besprochen und da war auch so die Rückmeldung aus der Community, dass da viele Leute so das Gefühl haben manchmal so, was mache ich hier eigentlich und ist das irgendwie sinnvoll? Und jetzt haben wir, wir sind beide Wege gegangen, seit wir da zum ersten Mal darüber gesprochen haben im Stream und wann haben wir den ersten Stream gemacht? 2021 oder so. Und wir haben uns beide in unterschiedliche

Richtungen entwickelt, aber beide mehr hin zu etwas, was uns mehr erfüllt. Und einer ist irgendwie in der Technik geblieben, aber macht jetzt ein bisschen was anderes, das bin ich. Ich mache jetzt halt viel mehr Barrierefreiheit und schreibe weniger Code und kümmere mich mehr darum, dass Dinge barrierefrei sind. Und bei dir ist es halt was ganz anderes geworden, aber eigentlich total interessant, wenn man so zurückguckt. Weil das war wirklich nicht abzusehen, wenn ich mir überlege,

was wir 2021 gemacht haben. Absolut. Und wo wir da schon mehr oder weniger angefangen haben, über solche Sachen zu sprechen. Und jetzt sind wir vier Jahre später und machen beide was mehr oder weniger komplett anderes. Du noch ein bisschen weiter weg vom Ursprünglichen als ich. Aber finde ich gut und ich würde sagen, ich glaube, ich spreche auch für dich mit und das ist auch in Ordnung, wenn ich sage, das lohnt sich, wenn man so das Gefühl hat, dass einen der Job nicht

erfüllt im Development-Bereich. Es lohnt sich mal was anderes auszuprobieren. Das Ergebnis darf ja auch sein, ich gehe wieder zurück zum Alten und sage, nee, das war doch eigentlich doch ganz okay und im Kindergarten ist es doch mega stressig und diese lauten Menschen, das ist nichts für mich, aber dann habt ihr es wenigstens ausprobiert und ich finde, zumindest das sollte man auf jeden Fall tun und sich nicht die Chance selbst nehmen, sich weiterentwickeln zu können, weil ich glaube,

dass man am Ende des Tages irgendwie nach Hause geht oder den Rechner zu klappt und sagt, heute habe ich irgendwas Sinnvolles gemacht. Das muss zwar nicht jeden Tag der Fall sein, aber ab und zu wäre schon gut. Wenn so das Grundgefühl da ist, ja, auf jeden Fall stimme ich dir voll zu. Genau, dann darfst du jetzt noch abschließend einen, deinen letzten Retro-Punkt

machen und dann. Genau, ich wollte eigentlich nur ankündigen, wir haben ja jetzt, wenn ihr diese Folge hört, dann wisst ihr davon gar nichts, wir sind ein bisschen im Verzug mit den Podcast-Folgen, das macht aber nichts, weil jetzt kommt erst mal eine Pause, aber in der Pause von der kriegt ihr nichts mit, weil nämlich wir währenddessen noch zwei Podcast-Folgen veröffentlichen werden, nämlich die vorherige und diese jetzt hier. Das heißt, Podcast-Aufnahme geht erst wieder los,

irgendwann im September frühestens. Ja, genau, ich denke, Ende September, Anfang Oktober so vielleicht, dann hat sich bei mir auch so das Ausbildungszeug so ein bisschen schon gelegt und eingependelt und dann können wir da gucken. Ich werde auf jeden Fall, also das liegt jetzt vor allem auch an mir, weil ich jetzt auf eine größere Reise gehen werde, wieder den August über und den Anfang September noch und dann, wenn wir die nächste Podcast-Folge machen, da gibt es dann

vielleicht auch noch interessante Neuigkeiten, was ich so mache. Das müssen wir dann mal, aber jetzt noch nicht. Genau. Spoiler. Spoiler, genau. Ich muss die Leute ja irgendwie bei der Stange halten, aber die interessieren sich wahrscheinlich überhaupt nicht dafür. Es wird sich dann rausstellen bei den Download-Zahlen der nächsten Folge. Das kann ich, da kann ich jetzt, ich sag mal übrigens, disclose mal, wann wir aufnehmen. Ist vielleicht gar nicht so schlecht.

Heute ist der 29. Juli und es ist 21.12 Uhr. So, liebe Hacker, macht irgendwas draus. Ihr könnt ja in die Kommentare schreiben, wann ihr es hört. Einfach nur, damit wir ein bisschen Interaktion haben. Ich habe echt überlegt, ob ich auf, vielleicht auch auf der Podcast-Seite, aber generell in meinem Blog, den ganz klassischen

Like-Button mal wieder etabliere. Und zwar, erinnert ihr euch noch, wann ihr, also so als Interaktionsmöglichkeit, so von wegen ich habe es gesehen oder ich finde es gut oder so, könnt ihr euch erinnern, wann ihr zum ersten Mal so ein Element auf einer Webseite gesehen habt und wo das war? Also sowas, wo ich draufklicken kann, finde ich gut? War das tatsächlich Facebook oder was? Facebook um 2006 herum, so. Ah, hatten die da schon den, gab es da schon den Like-Button?

Schon. 2006. Ja gut, vielleicht war es auch 2007, 2008, als sie ihn eingeführt haben. Also ich bin mir sicher, dass es nicht Facebook war. Wir hören den Chris gerade nicht mehr. Aber Chris bewegt den Mund, aber es kommt nichts mehr. Ich dachte, ich muss, ich mute mich, um euch in die ganze Zeit zu Wort zu fangen. Eigenschutz. Alles gut. Ich hätte gesagt, es gibt da schon, ich glaube da schon, sicher schon vor 25 Jahren Gästebücher,

wo man ein Sternchen draufgegeben hat. Ja, Gästebücher auf jeden Fall. Aber konnte man da auch schon so liken? Weiß ich nicht. Jetzt müsst ihr mir helfen, ihr alten Webveteranen, also auch alle, die jetzt, die das hören und in die Kommentare schreiben. Es gab eine Seite, auf der ich relativ häufig war und ich tippe, es wird so 2005, 2006 herum gewesen sein. Und es war irgendwie was mit Webdesign und Frontend-Development. Das hieß damals noch

nicht Frontend-Development. Damals hat man noch Webdesign gesagt. Und das war ein, was man damals im Design so hatte, ein Button, der war rund, aber mit so Zacken, also so quasi sternförmig, aber so, versteht ihr, wie ich meine? So ein Kreis mit Zacken sozusagen. Und ich glaube, und es war so glossy, so das Design, was man damals hatte. Und auf dem Knopf stand drauf, I appreciate this, glaube ich, oder irgendwie sowas. Oder Click here to

appreciate, irgendwie so. Und wenn du da drauf geklickt hast, dann hat er einfach eine andere Farbe gekriegt und dann stand irgendwie Thank you oder sowas. Und das ist, glaube ich, die erste Iteration von sowas wie einem Like-Button, die ich irgendwo mal gesehen habe. Ich weiß aber nicht mehr, wie die Seite hieß. Und das fand ich eigentlich cool, weil das war so, also die Idee von einem Like-Button ist halt durch Facebook und durch Likes auf irgendwelche Tweets und sowas ja

komplett irgendwie, sagen wir mal, industrialisiert worden. Aber damals war das irgendwie cool, du konntest jetzt, ohne dir irgendwie einen Text auszudenken und einen Kommentar drunter zu schreiben, konntest einfach sagen, ja, finde ich gut, so. Und dann stand da so eine kleine Zahl noch nebendran, also so und so viele Leute fanden das jetzt irgendwie gut. Ja, das ist so schön low-fi, das könnte man irgendwie in Form von, naja, ich blicke halt einen Text-File irgendwo

hin und da steht einfach die Zahl drin, wie viele Leute das schon geliked haben. Also so ganz simpel könnte man das irgendwie implementieren, braucht man ja gar keine Datenbank für oder irgendwie sowas. Aber nur so ein Gedanke für schnelles Feedback. Vielleicht baue ich das irgendwann mal irgendwo ein. Aber dann auch der Glossy-Button. Ja, mit Zacken. Der Runde mit Zacken, genau. Gut, jetzt haben wir schon ganz schön… Ja, ja, ganz schön lange Retro. Aber wir sind ja auch zu

dritt und hatten jetzt auch mal Gastbeitrag bei der Retro. Ist doch auch okay. Dann hast du jetzt den Werbeblock hierhin verschoben, richtig? Ja, ich hab den… Ja. Gut, dann spielen wir Entscheide Dich. Gut, ist dir egal, welche? Hast du eine Präferenz? Äh, warte. Ich hätte gerne, ähm… Ich hätte gerne die allererste, die sexy Werbung. Ah, dann haben wir eine andere Reihenfolge. Ne, ne, die ursprüngliche, die ganz alte.

Ja, okay. Geht los. Hey, hey du. Schön, dass du da bist. Na, öfter hier? Dir gefällt, was du hörst und du magst es am liebsten werbefrei und unabhängig? Dann freuen wir uns sehr über ein paar Euro in unserem digitalen Strumpfband unter www.bwsi.de. Auf www.bwsi.de unterstützen findest du noch circa 69 weitere Wege, uns zu supporten. Wir danken dir. Ich höre es einfach gerne. Okay, dann geht es jetzt los mit Entscheide Dich. Genau, wir spielen Entscheide Dich. Hast du

schon mal eine Gastfolge gehört und weißt, wie es funktioniert? Ja. Okay, dann braucht man das gar nicht groß erklären. Erstens, spontan keinen Gast, mit dem ich die Frage noch irgendwie mir gemerkt hätte. Okay, aber du weißt, wie es läuft. Also entweder oder Fragen, ganz simpel. Genau, dann geht es jetzt los und ich muss jetzt aufs Knöpfchen drücken und dann schnell das Fenster wechseln, damit es zu den Fragen kommt. Ich mache es schnell. Okay. Katze oder Hund? Hund. Besitzen

oder streamen? streamen. im team oder alleine? im team. congress oder gpn? gpn. ios oder android? ios. windows oder mac os? mac os. gui oder cli? cli. chrome oder firefox? chrome. darkmode oder lightmode? lightmode. password oder ssh-key? ssh-key. css oder javascript? css. gemütlich oder schnell? schnell. mate oder cola? cola. schokolade oder vanille? schokolade. framework oder vanilla? vanilla. das war es auch schon. die musik ist immer noch so

spannend. und kein buzzer gebraucht diesmal. ich will ihn trotzdem kurz drücken. hättest du ihn drücken sollen oder ich? ne ich hätte ihn nur gedrückt wenn du keine antwort gegeben hättest oder wirklich zu lange gezögert hättest. aber es ging doch ganz gut. ich rede oft im kreis und drehe mich fünf mal im kreis und rede über das gleiche, über das ich eine halbe stunde vorher schon geredet habe durchgehend. aber keine antwort ist selten. okay gut dann haben wir das auch und

gehen direkt über zum tagesthema. hier ist wwsiv mit dem tagesthema. vielleicht müssen wir mal über chrome reden. ja ich hätte jetzt nicht chrome erwartet, deswegen hat mich gerade überrascht. also ich benutze kein chrome, ich benutze chrome derivate. was genau hast du, was nutzt du da aktuell? ich benutze selbst brave, wieder sämtliche politische diskussionen von dem brandon eick, ich, wie auch immer. das funktioniert für mich einfach am besten gerade.

ich habe keinen ersatz gefunden, mich an der chrome gekümmert. ne habe ich habe ich auch aktuell im einsatz auf mehreren geräten. okay, aber dann lass uns zu den eigentlichen fragen kommen. vielleicht kannst du kurz sagen, wo du aktuell arbeitest und wie du sowieso dein weg war zu deinem aktuellen arbeitgeber. okay, ich verkaufe schampoo im internet im moment. das hast du schon öfter auf die frage geguckt, habe ich schon gehört.

ich arbeite bei dm drogerima bzw. bei dm tech, also bei der tech-tochter von dm und mache da ein paar frontend-sachen. aber mein team liefert vor allem den shop aus, also den online-shop von dm und die online-auftritte.

wir haben so einen domain-driven-design-ansatz, dass quasi jedes team nur seinen eigenen, in seiner domäne, in seinem verantwortungsbereich irgendwie sich auf eine sache einschränkt, also sowas wie eine suche oder einen content oder einen checkout oder sowas und da dann den kompletten stack liefert, also ein frontend und die backends dafür betreibt.

und jetzt haben wir natürlich so ein ding, jetzt sind wir mit 15 oder über 15, müsste zählen, da haben wir 15, daumenpeilung, teams dabei, so eine dm-seite zusammenzupacken für 10 länder oder sowas. und da muss es halt ein team geben, was so ein bisschen so ein kleber liefert, wie diese ganzen sachen interagieren, wie die ganzen skripte sich zusammenpacken, wie das auch ausgeliefert werden kann.

das heißt, wir liefern zwar eine dm-seite aus, aber wir liefern vor allem eine index-html aus, mit einem haufen links zu irgendwelchen javascripten drin. und ja, intern sind quasi die anderen teams unsere direkten kunden, mit denen wir interagieren, für die wir dann templating und sowas machen. genau, das mache ich seit drei jahren, und davor war ich schon drei jahre bei dm und hab da kassensoftware gemacht, und davor war ich mal als externer berater bei dm und hab da kassensoftware gemacht.

ich hab bei einer anderen firma in karlsruhe gearbeitet, die hier so im niedriglohnsektor, würde man sagen, zeitarbeit, hier heißt es consulting, macht. und dann halt leute für vier tage die woche an konzerne oder andere firmen ausleiht, um die zu beraten und zu unterstützen. und irgendwann hatte ich halt so das gefühl, oh eigentlich arbeite ich ja schon bei dm, da kann ich auch noch freitags kommen.

ja ich glaube das ist so ein relativ ein entweg der öfter passiert, nicht nur bei dm, kenne ich auch bei anderen leuten oder anderen firmen, dass man quasi irgendwann so rein wechselt in den konzern. einfach weil man halt irgendwie das gefühl hat, da ist man irgendwie zu hause oder sowas, genau. was du bisher dort alles gemacht hast, hast du eigentlich jetzt gerade auch schon mit beantwortet oder gibt es noch was, warst du zwischendrin auch mal im anderen bereich unterwegs?

ich rede sehr gerne, ich spring auch gerne mal beratend anderen leuten zur seite, ob sie es wollen oder nicht. ich gebe manchmal vorschläge, ich interessiere mich ja schon länger für security in allen möglichen bereichen und da ist es schon mal so, dass man auch mal übergreifen der irgendwie tätig ist oder sowas. genau, dann hast du eben schon gesagt, du sprichst gerne und du sprichst auch auf konferenzen und über was sprichst du denn da auf konferenzen?

ich bin irgendwie, ich war früher mal sysadmin und als diese ganze devops geschichte aufkam, so vor 10 jahren gewesen sein oder sowas oder 12, da hatte ich so eine art übergang zum entwickler so weil wir damals gesagt haben, jedes team bekommt einen unserer sysadmins in der firma wo ich früher war und dann machen wir devops und machen quasi ein projekt wo admins und entwickler zusammenarbeiten

und der kunde den ich damals hatte oder unser team damals hatte, der hat sich so mit händen und füßen gegen ops gestreift und ich hatte ganz weit davor schonmal java entwickelt und dann habe ich da halt, die wollten einfach mehr feature und weniger betrieb und dann haben wir zwei gesagt, das ist eigentlich keine coole idee aber dann machen wir halt noch mehr buttons und dann bin ich irgendwie so dadrüber in richtung, in richtung entwicklung gewandert

und was sind so die themen, also security ist glaube ich so dein steckenpferd so ein bisschen ne in meinem alltagsgeschäft, das ist glaube ich mehr ein hobby, also in meinem alltagsgeschäft mache ich sowas auch aber tatsächlich in meinem dayjob, wenn man das so nennt, ist das gar nicht so viel, also wir sichern, wir versuchen natürlich irgendwie unsere den onlineshop von dm, den wir bearbeiten und verantworten irgendwie möglichst gut abzusichern

und da auch irgendwie Standards einzuhalten oder sowas, sowohl im Betrieb als auch auf der Seite selbst gleichzeitig ja, also mein Hauptfokus ist eigentlich der saubere Betrieb von dem Ding und dass wir eben in unserer Rolle als so ein zentrales Team, was vor allem für die anderen Teams, die da beitragen, arbeitet denen hat eine gute Developer Experience, sodass sie neue modische Buzzwords irgendwie liefern können

also dass die in der Regel eher, wenn es jetzt ums Frontend geht, nur noch ihr JavaScript also wir benutzen halt bei dm viel React, dass die quasi nur noch ihr Bundle da irgendwie basteln müssen und das releasen müssen für sich und der ganze Workflow, wie integriert sich das und wie kommt das dann am Schluss irgendwo in die Cloud und sodass du das runterladen kannst wenn dein Browser oder dein Browser das runterladen kann und du es angucken kannst

und das ist so unser Hauptding und in der Funktion liefern wir vor allem Sachen auch für andere die sich halt leichter machen lassen, wenn du an der zentralen Stelle bist gerade ist der Accessibility Act ja ein Riesenhype, einfach wahrscheinlich in jeder größeren Firma da gibt es halt so eine Deadline oder gerade schon, ich weiß es gar nicht genau schon ist schon vorbei da gibt es einfach, wir bestellen halt auch so zentrale Komponenten rein oder sowas

und die müssen halt an gewissen Vorgaben entsprechen das hat glaube ich jeder, hoffentlich hat es jede Firma, die irgendwie Dinge im Internet veröffentlicht auf dem Schirm, wir versuchen sowas frühzeitig auf dem Schirm zu haben das heißt da waren wir eben zentral beteiligt ja sowas, wir haben uns mal mit Web-Performance lange auseinandergesetzt in unserem Team, weil die DM-Seite halt wirklich schnarchlangsam war

das heißt sowas wie, das war so ein eigener Antrieb irgendwo, der aus unserem Team kam du hast ja dann so, das ist so ein SEO irgendwie und ist ein Google-Ranking-Teil oder Aspekt wenn du denn deine Seite langsam lädst und viele beim Laden dann auch springt und so weiter das willst du halt nicht haben, weil die dann halt schlechter gerankt wird also das ist natürlich, kannst du dann immer sagen als Firma, ja wir machen das natürlich für dich als Tenent-Nutzer

dass du eine bessere Experience hast, aber am Ende des Tages muss halt auch wenn du nach Shampoo suchst, muss halt der ganz oben kommen und dann schlagen wir quasi zwei Fliegen mit einer Klappe da haben wir zum Beispiel so Pests gebaut, die halt messen, wie schnell so eine Seite aufbaut wie schnell ist so ein Full-Page-Load, wie schnell ist der Content da und so weiter wie wenig Sprünge sind dann auf der Seite, wenn was nachgeladen wird und sowas

sowas haben wir mal zentral gemacht, weil sich das halt auch am einfachsten an so einer zentralen Stelle halt einbinden lassen Ich habe Fragen Moritz hat Fragen, hast du das notiert und das aus dir bestellt?

Ja, ich habe Fragen, du hast jetzt viel darüber gesprochen, dass ihr so eine Schnittstellenfunktion habt und das, keine Ahnung, habe ich es richtig in Erinnerung, 15 Teams irgendwie Sachen bauen und das bei euch Das ändert sich täglich, aber es sind viele Viele Teams Sachen bauen und das bei euch zusammenläuft Ich kenne die Herausforderungen und kenne das auch aus dem großen Unternehmenskontext und möchte dazu noch ein paar konkrete Fragen stellen

Habt ihr dafür dann ein Designsystem, um das Ganze zu organisieren und wer contributet denn da? Wem gehört das sozusagen?

Ja, haben wir Ich weiß nicht, wie tief ich da gerade einsteigen kann Unser Team als zentrales Team ist der Hauptverwalter Aber ja, wir haben ein Designsystem Diese typische Idee ist, irgendein Team will einen Button haben und wir wollen natürlich aus so einem Corporate Design-Gedanken heraus, dass der Button überall gleich aussieht Und dann gibt es eben zentrale Komponenten, die kann jeder einfach einbinden

Dann sieht halt überall der Button gleich aus und wenn du halt global die Farbe änderst, dann ist der überall geändert oder sowas Genau Was bedeutet das, eine zentrale Komponente? Wie kann ich mir das vorstellen? Was ist das dann? Ist das eine React-Komponente, also du hast vorhin React erwähnt Oder ist React eine Voraussetzung dafür, dass ein Team bei euch was einkippen kann? Oder wie läuft das?

Also ich glaube, ich kann so viel sagen, weil du kannst ja einfach Wenn du unter dm.de dir diese Index-Art anguckst, wirst du eine Library finden, die Design-System heißt Und dazu auch Referenzen finden, das heißt, deswegen ist das wahrscheinlich kein Geheimnis Da steckt viel React drin Ich bin tatsächlich selbst gar nicht so der Frontend-Mensch Deswegen kann ich dir da gar nicht so tief sagen, mit was man da alles ankommen kann Und ob das Sinn macht, tatsächlich

Also ich würde behaupten, dass es keinen Sinn macht, wenn wir eine gemeinsame Seite mit vielen Teilnehmern haben Also mit vielen Entwicklern und vielen Teams Dass da einer macht sein React-Frontend und jemand anders macht was Neues, wenn du das irgendwie sinnvoll integrieren willst Ja, ich frage deswegen, weil ich nämlich schon mal gehört habe Und ich weiß nicht, ob das noch der aktuellen Variante entspricht Die Info ist ein bisschen, oder das Wissen ist ein bisschen alt

Ich habe mal gehört, dass Spotify das mal so hatte, dass die ihre Komponenten so stark voneinander trennen und abstrahieren Dass tatsächlich Team A sich für Angular-Version Blah entscheidet Und Team B sagt, wir machen React Und Team C sagt, nee, wir wollen native Web-Components machen Und die das dann trotzdem irgendwie alles am Ende zusammenstecken Ob das jetzt eine gute Idee ist, sei mal dahingestellt

Also, aber offenbar gab es wohl den Need, dass die Teams so unabhängig voneinander interagieren können Was das natürlich dann erfordert, ist natürlich eine Abstraktionsschicht, über die alle miteinander reden Sodass man irgendwie dann gemeinsam noch Infos von A nach B schicken kann, ist klar Okay, aber ihr versucht das mit React zu machen und das funktioniert offenbar dann auch ganz gut

Ich meine, wenn ihr Shampoo im Internet verkaufen wollt, müsst ihr ja, wie du schon gesagt hast, eine schnelle Seite haben Und das muss gut funktionieren Ich glaube, es funktioniert auch gut, also ohne jetzt Werbung für DM machen zu wollen Ich finde die Experience auf der WM-Seite relativ snappy und so, wie man es erwarten würde Und ich habe natürlich meinen Schnellbarrierefreiheitstest Ist auch so, ja, ihr habt euch auch Gedanken gemacht irgendwie über Fokuszustände und so

Ich bin jetzt auch nicht tiefer reingegangen, aber so auf den ersten Blick sieht es ja ganz gut aus Das, okay, dann ich hätte jetzt noch die nächste Frage gehabt, aber ich glaube, du hast sie vielleicht schon mit beantwortet Das heißt, eure Komponenten, eure Aufteilungen, einzelne Teile oder einzelne Module erfolgt über React, über React Components Um das nochmal glatt zu ziehen, okay, ein Nicken auf der anderen Seite

Wir könnten nicht ausschließen, ob es gerade Teams gibt, die was anderes benutzen Das ist so die Best Practice dann Es ist mir eigentlich auch egal, ich wollte nur wissen, gibt es das eine zentrale Ding Das finde ich auf jeden Fall spannend Ich frage das deswegen, weil ich schon auch mit Teams zusammengearbeitet habe, die genau dieses Problem haben Oder wie löst man das Problem, das ist nämlich gar nicht so einfach Viele Teams arbeiten an einer sehr großen Applikation

Wie kommunizieren die miteinander, wer hat den Hut auf für was Das ist gar nicht so einfach, weil jeder will irgendwie Ownership Am Ende kommt man oft dabei raus, dass es ein Schnittstellen-Team gibt, das das Framework baut und den anderen bereitstellt Das habe ich jetzt schon öfter so gesehen Deswegen finde ich das immer ein sehr spannendes Thema Wie wird sowas umgesetzt, gerade in großen Firmen

Ich glaube, wer noch nie in einer großen Firma gearbeitet hat, wo viele Software-Teams gleichzeitig arbeiten Das kann man sich nicht vorstellen, bis man das mal gemacht hat Wenn ich mich auf Konferenzen mit anderen Leuten unterhalten habe, ist mir ein bisschen Missverständnis entgegengeschlagen Wieso macht ihr das denn so kompliziert?

Das liegt daran, dass wir eine komplizierte Organisation sind und dass da viele zusammenarbeiten Und das kann jemand, der zu dritt im Team arbeitet, in der Agentur und alle fünf Wochen ein neues Projekt hat mit einem anderen Kunden auf einem anderen Server und dann WordPress-Templates baut kann sich das nicht so richtig vorstellen, wie das dann ist Also kein No-Front an der Stelle Eure Arbeit ist auch gut und wichtig, aber sie ist ganz anders als das, was in großen Firmen passiert

Ich glaube, anders ist ein guter Punkt Da, wo du mit vielen Teams integrierst, ist es unheimlich wichtig, dass du gemeinsam ein Mindestmaß an Qualitätslevel findest Man könnte jetzt raushören, man muss bessere Software bauen, wenn man in einem großen Konzern arbeitet Wahrscheinlich ist es sogar so, dass diese Leute, die da zu dritt irgendwas verbauen, vielleicht sogar eine bessere Qualität liefern Und dass du halt mehr Schnitzer in so einer großen Software findest

Der Punkt ist nur, du hast halt auch, wenn du was kaputt machst, siehst du das, weil es ist dein Code, du hast das komplett geschrieben Als drei Mann oder ein Mann, vier Mann oder so was, oder fünf Mann, was weiß ich, drei Teams Und da kannst du das auch schnell fixen, weil du kennst auch vielleicht, wenn das nicht nur dein Code ist, den Code von den anderen Also das ist absolut unmöglich, ab einer gewissen Größe den ganzen Code zu kennen und alle Use Cases

Wie gesagt, wir versuchen das Ganze domain-driven, also an der Domäne, an der Fachlichkeit entlang zu machen Weil ich kann nicht als Mensch, glaube ich, einfach, vielleicht als KI oder als KI in der Zukunft Ich kann nicht alle Business Cases haben, jemand sucht was, jemand findet ein Produkt, jemand klickt das in den Warenkorb Das sind alles so Abläufe, die kann ich, ich weiß, es gibt Produkte und ich weiß, die haben eine Verfügbarkeit

Und ich weiß, die kann man in den Warenkorb legen, aber das ist so, da hört es langsam tiefer Bei den abgefahrenen Sachen, wie kriege ich es jetzt aus dem Warenkorb wieder raus?

Und was ist, wenn ich zwei bestellen will und sowas? Das sind so abgefahren viele Use Cases, die kannst du dir nicht merken Nun, wir versuchen natürlich, die Sachen so weit wie möglich zu entkoppeln Aber es wäre potentiell möglich, dass ich, sagen wir mal, als jemand, der ein Produkt entwickelt, da an dem Produkt etwas verändere und damit den Warenkorb zerschieße

Und das muss man halt vorher absichern, das heißt, du brauchst eine ganz abgefahrene Testinfrastruktur, in der du möglichst automatisiert natürlich diese ganzen Spezialstelle auch irgendwie testest Und früher hat man das so gemacht, und ich kenne das auch von anderen Firmen, bei denen war das früher auch so

Da gab es dann halt ein Release-Team, das hat sich alle zwei Wochen betroffen, da muss dann von jedem Team jemand kommen und dann wird auf einem Server zusammen so eine Checkliste abgearbeitet Und dann gibt es halt alle paar Wochen einen Release So, wie du jetzt gesagt hast, die kleine Agentur, die macht das vielleicht alle fünf Wochen, wenn der Kunde sagt, ich brauche was Und eine große Firma macht das alle vier, sechs, das gibt es auch in größerer Anzahl, Wochen

Wenn genug neues Zeug da ist, dass es sich lohnt den Overhead zu gehen und dann hast du genau diese ganzen Konflikte, die dann in dem Moment auftreten Und wir haben das halt die letzten paar Jahre so weit abstrahiert und automatisiert, dass jedes Team jederzeit so einen Release machen kann von seiner Software Und das wird gegeneinander getestet und ich habe gerade keine aktuelle Zahl, ich kenne eine Zahl aus einem Vortrag von einem Teamkollegen von mir

Da waren wir so bei zwölf Releases am Tag, die wir machen auf der Seite Und das heißt, das ist nicht die ganze Seite an sich, sondern das sind Teile dieser Libraries Also vielleicht ist das ein Sucherelease und ein Produktrelease, aber zum Beispiel kein Checkoutrelease oder sowas Und vielleicht hast du mal ein Team, was viele Releases macht an einem Tag Und vielleicht hast du mal ein Team, was drei Wochen keins macht, weil es sich um was ganz anderes kümmert

Aber wir haben halt eben so einen Mindest- und Qualitätsstandard, den wir auch dann entsprechend abtesten, automatisiert Damit nicht eben ein Team, was die Produktanzeige auf der Webseite macht, den Card damit zerschießt oder sowas Weil jetzt ein Produkt plötzlich, was weiß ich, noch ein Feld zu viel hat oder eins zu wenig, was der Card gebraucht hätte oder sowas Also man kann das dann schon Continuous Delivery, Continuous Deployment nennen, was ihr macht

Du hast eben das Thema Testing angesprochen, macht ihr da auch Ende-zu-Ende-Tests?

Das ist was, was mich immer interessiert, weil damit kann man am besten das Frontend irgendwie erfahren, sage ich mal Das ist leider manchmal ein bisschen tricky, gerade so, wenn du im Frontend bist, so asynchrone Sachen zu testen Aber wir versuchen tatsächlich Ende-zu-Ende-Tests in möglichst vielen Konstellationen zu machen Damit ich eben genau diesen Fall habe, ich kann mein Produkt umbauen oder meine Produktanzeige

Und kann eine andere Verfügbarkeit dran bauen und einen anderen Preis und einen anderen Gutschein Ich weiß gar nicht genau, was es da alles gibt, das ist nicht meine Fachlichkeit Und dann mache ich ganz viele abgefahrene Tests, die mir sagen, Produkt funktioniert super, Produktkachel funktioniert super Und dann steckst du dein Produkt in den Warenkorb und der Warenkorb sagt nein

Und das ist halt was und wir versuchen diese Fälle halt dann tatsächlich eben automatisiert für jedes Release dann auch zu testen Es gibt Sachen, die laufen öfter, es gibt Sachen, die laufen weniger Beispiel, wir betreiben ja alle Länder und es gibt manchmal Länder, die betreffen aber halt nur ein Land Dann kann ich vielleicht die Ende-zu-Ende-Tests in den anderen Ländern weglassen So ein bisschen Time-to-Market, wie das so Business-Fuzzball nennen würde, irgendwie zu sparen

Dadurch, dass man aber ja in der Cloud so super oder mit moderner Bildarchitektur auch super seine Tests parallelisieren kann Bist du eigentlich immer nur so langsam wie der langsamste Test Und dann ist es halt egal, ob du noch zehn schnelle Tests nebendran machen willst Dann schmeißt du halt bei einem Cloud-Dienstleister deiner Wahl, musst du halt noch ein paar Groschen einschmeißen Jetzt bin ich natürlich interessiert, wie ihr das aufgesetzt habt

Also wenn du sagst, ihr macht Ende-zu-Ende-Tests, mit was für einem Tool macht ihr das? Ja, das ist tatsächlich dem Team überlassen Das Mindestmaß sagt einfach, wer hier mitspielt in dem Online-Shop, der muss so ein Set von Tests bereitstellen Ende-zu-Ende-Tests, damit eben Leute mit ihrem Produkt-Release testen können Funktioniert das noch mit dem Bahnkorb? Funktioniert das noch mit der Suche?

Funktioniert das noch mit dem Futter? Das sind dann auch abgefahrene Zusammenstellungen, die weißt du halt vorher Manchmal müssen Sachen halt mal kaputt gehen und da muss man daraus lernen Das ist auf jeden Fall was, was mich bei DM auch gehalten hat bisher und was zum Grund war, da hinzugehen Ich glaube, man braucht so eine gewisse Fehlerkultur, dass man halt sagen kann Wir haben es probiert nach bestem Wissen und Gewissen und haben uns noch mal abgesichert

Und manchmal geht es halt trotzdem kaputt Und da muss man halt daraus lernen und sagen, okay, wir machen jetzt einen Test Und wir probieren, dass dieser Zustand nicht mehr passiert Genau, zurück zu deiner Frage Wir haben im Team, wir benutzen Playwright zum Teil Also so ein Framework, mit dem letztendlich so ein Headless-Browser steuert, der dann klickt Wo du sagen kannst, klick den Button, suche das da drauf, schau was drin steht Wir benutzen Cypress, es gibt Leute, die benutzen Selenium

Wir haben aber auch zum Beispiel einen End-to-End-Test, der benutzt Go Weil wir halt gesagt haben, wir wollen was mit APIs testen Und wir wollen dazu irgendwelche Requests machen Und wir müssen uns ja auch mal was Neues angucken Und wir könnten das jetzt auch nochmal in Java oder JavaScript schreiben Aber vielleicht müssen wir ja als Firma auch irgendwann mal lernen, wie man Go benutzt Und dann haben wir damals gesagt, wir schreiben mal so einen Test

Das ist so ein ziemlich dummes Ding, das geht halt irgendwo hin, fragt ein API ab Und wenn das Richtige zurückkommt, oder das, was wir ungefähr erwarten Das war so ein ganz cooler Playground, um sowas mit Go zu machen Und dann ist es, glaube ich, so ein bisschen einfach davon abhängig, was man gut kann Und was auch alles abdeckt Es gibt wenige Frameworks, die so sogenannte End-to-End-Tests machen können, glaube ich

Und letztendlich steuern die alle Chrome oder Firefox oder irgendeinen Electron-Wrapper um was anderes Ihr habt einen bunten Strauß, habe ich jetzt rausgehört Das heißt, ihr seid gar nicht festgelegt irgendwie auf 1, sondern es gibt unterschiedliche Das bedeutet aber, bevor ich was ausrolle, läuft dieses ganze Ding einmal durch Und zwar mit allen unterschiedlichen, teilweise laufen dann Selenium-Tests los, teilweise Playwright und so weiter

Wie lange dauert das denn? Du hast gerade gesagt, wenn man es beim Cloud-Anbieter laufen lässt, ist es so schnell wie der langsamste Test Aber wie schnell ist denn euer langsamster Test? Ich glaube so ganz tief einsteigen kann ich da gar nicht, aber wir können schneller als, wie soll ich denn das sagen?

Wir können in Venice schneller als sich in zwei Stunden auf ein Brot bringen oder sowas Vielleicht so vom Vergleichsgabbar vor ein paar Jahren gab es mal so einen Fall, da sind bei DM ganz viele Kassen ausgefallen in ganz Deutschland weil es irgendeinen abgefahrenen Fehler gab. Und das war eine kleine Situation und das haben wir innerhalb von, da war irgendwie ein Stück Backend beteiligt und wir haben innerhalb von zwei Stunden das gefixt.

Da hatten wir ein bisschen Props von Pfeffer damals, zufällig gesehen, der hat gesagt, ja ist halt scheiße, wenn dir halt so eine Infrastruktur in der Skalierung ausfällt. Aber du bist zumindest irgendwie technisch gut, wenn du das auch so schnell wieder hinbekommst. Und dann bist du halt auch wieder bei so einem Punkt, natürlich, wenn du halt eine WordPress-Template und wie gesagt, kein Beef oder sowas, das ist ein anderes Arbeiten.

Wenn du da einen Fehler hast, dann pushst du halt in deinen FTP-Server was Neues oder in dein Git und dann ist es gefixt. Oder die alte Version nochmal, dann ist es gefixt. Das funktioniert halt nicht in jeder Skalierung einfach so.

Ja, auf jeden Fall. Wir arbeiten dran, das ist auch so ein Ding, was unser Team macht, wir arbeiten dran, dass das immer schneller und immer besser geht, dass wir eben auch so diesen Zugewinn haben, dass wir auch vielleicht sagen können, hey, wir wollen es eigentlich vermeiden, aber wenn wir einen Fehler machen, ist es nicht so schlimm, weil wir können innerhalb von zwei Minuten einen Rollback machen und wir können aber auch innerhalb von endlicher Zeit einen Fix machen und Vorwärts fixen.

Das ist das, glaube ich, in der modernen Softwareentwicklungswelt das Ziel. Es ist ja auch eine ganz andere Konfidenz, wenn man viele Tests hat. Und ich kann mich ja nicht mit jeder Ecke der Applikation auskennen, wie du gerade schon gesagt hast, aber weiß ich, na ja, gut, ich mache es jetzt wahrscheinlich, relativ wahrscheinlich, nicht zu 100 Prozent, nicht komplett kaputt, wenn ich jetzt was pushe. Dieses Gefühl dabei zu haben, ist ja eigentlich auch schon mal eine sehr gute Sache.

Ich wusste gar nicht, eigentlich liegt das logisch auf der Hand, aber ich habe es noch nie in Betrieb gesehen, dass Tests tatsächlich irgendwie in der Cloud laufen. Und dann ist natürlich klar, ein einzelner Test, ich kann die alle parallelisieren. Manche hängen vielleicht voneinander ab, das weiß ich nicht genau. Sollte man wahrscheinlich nicht so bauen, aber ich weiß, dass es in der Realität manchmal so ist. Und dann werden sie halt dann doch ein bisschen länger.

Ja, aber spannendes Thema auf jeden Fall. Mir sind ganz viele Fragen noch eingefallen. Sarah, ich hijack das hier gerade. Gut, dann haben wir noch ein bisschen mehr Content, super. Genau, vielleicht noch eine Frage zur Technik. Was mich auch interessiert, ist, ob ihr so front- und seitiges Monitoring bei euch auch macht. Sowas wie Sentry oder sowas in der Richtung. Man muss auch nicht sagen, was, aber das würde mich interessieren.

Ja. Ich glaube, was man sagen kann, ich persönlich bin ja ein großer Fan von In-Prod-Testen. Wir testen auch End-to-End-Tests in Prod regelmäßig. Das ist genau so ein Ding. Wir versuchen alles zu monitoren, was irgendwie geht, sinnvoll. Du musst halt einfach einschätzen, wie wichtig ist das. Reicht es mir, wenn der Kunde anruft im Service Setup, wenn die Webseite kaputt ist? Das ist wahrscheinlich in der Skalierung schlecht. Das willst du vorher schon wissen.

Aber reicht es zum Beispiel, wenn die Bewertungen unter den Produkten nicht angezeigt werden? Also, dass da, wo überall bei denen fünf Sterne sind, die nicht angezeigt werden. Vielleicht ist das nicht so wichtig. Jetzt kommt der nächste Punkt, mit dem du auch anderes Arbeiten nimmst. Jetzt hast du plötzlich sehr viele Stakeholder, wie das so in Neudeutsch heißt, die alle eine Meinung dazu haben. Christian sagt zum Beispiel, die Bewertung ist total egal, die ich da sehe.

Ich kaufe seit Jahren das gleiche Shampoo. Wenn das nicht geht, will ich trotzdem einkaufen können. Und dann gibt es aber halt welche, die sagen, ja, Moment, aber es gibt Kunden, die lassen sich von den Bewertungen beeinflussen. So ein negatives Wort. Die schauen gerne, was andere Leute auch von diesem Produkt halten und was die auch kaufen. Für die ist das super wichtig. Die kaufen dann lieber ein Produkt mit fünf Sternen.

Und wenn sie keine sehen, kaufen sie es vielleicht nicht, weil das Vertrauen fehlt. Von daher gibt es da keine so harte eine Antwort. Und ich glaube, dass man das halt auch herausfinden muss. Aber ja, man sollte sicher seine Webseite, über die viele Millionen umgesetzt werden, denn es gibt keine aktuellen Zahlen. Wahrscheinlich dürfte ich auch keine sagen. Könnt ihr im Geschäftsbericht nachlesen. Vielleicht, ich weiß gar nicht, seid ihr eine AG?

Es gibt bestimmt einen Geschäftsbericht, den man nachsehen kann. Dann könnt ihr das da nachgucken. Es gibt bestimmt, ich kann mal googlen. Es ist nicht so wichtig. Jeder kennt DM in Deutschland. Ich glaube, ihr könnt euch vorstellen, da kommt ein bisschen was zusammen. Klar, es ist auf jeden Fall so. Ich glaube, man muss ja einfach nur sagen, da arbeiten sehr viele Leute an so einem Shop. Und der Shop zeigt dir ja auch noch an, wo die Filialen sind.

Selbst wenn du nicht im Shop kaufst, hast du ja ein Mehrwert von diesem Shop. Also von der Online-Präsenz. Und kannst dir angucken, wie sind die Bewertungen von dem Shampoo oder sowas. Sowas kannst du sowieso nicht im Geld einfach aufwählen, aufrechnen. Dass du sagst, der Shop war jetzt 5 Minuten weg, das kostet 350 Euro. Und ich glaube, bei der Größe kann man sich vorstellen, dass das wahrscheinlich sinnvoll ist, dass das Ding eine relativ hohe Uptime hat.

Und da sich auch Leute direkt kümmern, wenn es kaputt geht. Das ist ja so ein Selbstzweck, dass man sich da auch eine Möglichkeit schafft, das auch zu erkennen. Ja, jetzt ist mir gerade aufgefallen, bis gerade eben wusste ich nicht, was DM eigentlich heißt. Und dann habe ich es gegoogelt und habe gedacht, oh Gott, na klar, soll ich es jetzt sagen? Ihr könnt es mal selbst googeln und dann euch an den Kopf greifen. Schreibt es mal in die Kommentare. Dungeon Master, oder nicht?

Ja, genau, Dungeon Master. Ich wollte halt noch was zur Arbeit generell oder zur Arbeitskultur generell bei euch fragen, weil ich immer wieder von außen gehört habe, ah ja, DM, das ist ja so ein bisschen anders da. Das ist ja irgendwie so ein bisschen eine andere Arbeitskultur. Und ich habe dich ja auch schon mal, ich weiß gar nicht, können wir, glaube ich, drüber reden, ich habe dich ja mal besucht und ein Käffchen getrunken und habe die Räume auch mal von innen gesehen.

Und alleine da hatte ich schon den Eindruck, das ist jetzt anders als viele andere Büros. Wie ist denn dein Eindruck dazu, du hast ja auch schon mal woanders gearbeitet, auch wenn es schon ein bisschen länger her ist, wenn ich es richtig gehört habe? Also ich sage mal, den Großteil meines Arbeitslebens habe ich woanders gearbeitet. Ich bin auch schon alt. Ich finde es super dort zu arbeiten, wenn du sagst Räumlichkeiten oder sowas.

Ich habe da vor ein paar Jahren als Ex-Diner, der es schon kannte, reingewechselt. Das ist wahrscheinlich schon die beste Aussage, die du treffen kannst für einen Arbeitgeber. Nach dem Motto, der kannte die Katze schon, muss mal den Sack aufmachen. Mir gefällt es. Ich glaube, es ist nicht für jeden was. Bevor ich das kannte, hat jemand gesagt, hier, da gibt es DM. Okay, DM, da kaufe ich mir ein Shampoo. Das ist wahrscheinlich auch so ein weiterer Riesenkonzern.

Wahrscheinlich beauftragen die alles. Ich treffe auf jeder Konferenz und jedem Meet-up Leute, die sagen, das DM hat eine eigene IT. Ich bin eine Firma mit 60.000 Mitarbeitern und 4.000 Finialen. Vielleicht haben wir eine eigene IT. Ich glaube, die Räume sind ganz cool. Die sind super offen. Ich gehe nur einmal die Woche hin. Für mich persönlich funktioniert Remote einfach gut. Das ist zumindest in meinem Umfeld auch ziemlich offen.

Da entscheiden das die Leute selbst oder die Teams, wann sie da hinkommen oder nicht und wie sie zusammenarbeiten wollen. Ich kenne Teams, da sind alle Leute jeden Tag da. Ich kenne Teams, da sehen sich die Leute einmal im Quartal richtig. Und wir haben ja auch Leute, die irgendwo in Dresden wohnen und bei dir in Karlsruhe arbeiten. Die werden bestimmt auch nicht jeden Tag hier reinblödeln.

Ansonsten ist es auch ein bisschen speziell, glaube ich, manchmal mit dieser Kommunikation und Begegnungskultur. Und auch ein bisschen andere Ansätze, als man sie aus dem Standard kennt. Typischerweise, wenn du in so einem Software-Backpack arbeitest, dann hast du einen Teamleiter. Manchmal ist der Teil des Teams. Da gibt es in großen anderen Firmen, wo manche hier vielleicht in diesem Podcast auch arbeiten, einen Teamleiter, der ist eigentlich ein Teammitglied, so wie ich das gehört habe.

Ich war noch nie bei der eins. Der ist halt einfach der Ansprechpartner. Und dann gibt es obendrüber noch jemand für drei Teams. Und dann gibt es noch jemand. Und dann kletterst du deine ganze Manager-Treppe irgendwie hoch. Ich weiß nicht, wie viele Stufen es bei euch gibt. Bei uns gibt es drei. Ja, glaube ich. Das ist noch ganz cool. Dass du tatsächlich mit jemand aus der Geschäftsführung grundlegend auch schon die Leute einfach anschreiben könntest.

Das gibt es nicht in sehr vielen Firmen in der Größe, dass wenn du irgendwas willst, deinen Chef einfach anschreiben kannst. Also, Geschäftsführungsebene. Und klar sind die mega beschäftigt. Aber die Antworten auch tatsächlich. Das habe ich tatsächlich schon mal ausprobiert. Das sollte wahrscheinlich nicht jeder jeden Tag machen, weil sonst antworten die nie wieder. Aber in einem gewissen Rahmen, wenn es etwas Wichtiges gibt, geht das wahrscheinlich schon. Und das ist ja echt ...

Also, ich habe schon in mehreren großen Firmen auch beraten und auch gearbeitet, dass das etwas Ungewöhnliches ist. Und dann ist es auch unter den Entwicklern so, dass du halt ... oder in den Teams. Es gibt in einer Art des Teams, in den meisten Teams, wenig Struktur. Oder wenig Hierarchie. Struktur hoffentlich. Wir haben jetzt nicht irgendwie den Senior, der dem Rest vorschreibt, oder den Architekt, der dem Rest vorschreibt, was er machen muss, oder sowas.

Sondern wir versuchen da gemeinschaftlich, alle zu beteiligen und auch alle zu hören, sodass im Zweifelsfall auch jemand, der erst vor zwei Wochen angefangen hat und vielleicht auch noch sehr jung ist, auch einen guten Beitrag liefern kann, in dem man eben die Chance gibt. Weil ich persönlich bin der Meinung, dass nur so die Leute auch wachsen können. Und ich lerne da auch mit Leuten, die unter 30 sind, täglich was dazu.

Ich habe heute irgendwie so ein Bild gesehen, sowas wie Junior-Ausbilden kann man sich auch vorstellen, als würde man einen Senior pflanzen oder sowas. Man muss immer gut gießen und gießen lassen und so weiter. Ja, das ist gut. Genau. Also wenn halt alle Leute nur sagen, wir stellen ja nur erfahrene Leute ein, dann gibt es halt irgendwann keine mehr. Du musst ja alles, was nachkommt mit KI, dann ersetzen.

Sogar die KI-Bros kommen jetzt auf die Idee zu sagen, Moment mal, wie ist denn das eigentlich, wenn wir mal ein Problem haben, können wir dann die Agents, den ganzen Agents, die wir jetzt bauen, auch irgendwie gestatten, dass da noch irgendein Senior-Entwickler drauf guckt, wenn die nicht mehr weiter wissen. Das ist irgendwie jetzt, wir rollen gerade das, was wir vorher mal hatten, falschrum wieder auf, weil wir merken, Scheiße geht gar nicht so gut.

Da bin ich mal gespannt, wie viele lustige Sachen da noch rauskommen aus dieser ganzen KI-Welt, wo dann irgendwann am Ende jemand merkt, oh, vielleicht wäre es doch nicht schlecht, wenn hier mal jemand mit Ahnung drüber guckt oder so. Na ja, genau. Vielleicht sind wir dann quasi die Leute, die noch wissen, wie man JavaScript schreibt, von Hand, und HTML und CSS die Kobol-Entwickler von morgen. Wer weiß. Ja, das könnte sein. Das weiß ich nicht.

Ja, aber HTML, CSS hat auf jeden Fall, glaube ich, Potenzial, Kobol zu überleben. Auch wenn du davon ausgehst, dass HTML und CSS wieder so einen... Nämlich zumindest war in meiner Bubble so ein Hype erlebt, dass die Leute sagen, JavaScript ist zu kompliziert, zu langsam. Letzte tausend Libraries, wie jetzt vorhin in der Retro gesehen, mit irgendwelchem Mist runter. Es geht ja auch so abgefahren geiles Zeug mit CSS und HTML.

Ja, und es gibt neue Frameworks, die das so ein bisschen anders denken, dass du renderst Sachen vor im Backend und lieferst dann aber HTML und CSS aus. Und vielleicht ein bisschen JavaScript für so reaktivere Sachen, wie du hast eine Suche und willst direkt bei jedem Klick das Ergebnis sehen, ohne dann jedes Mal ein Page Load zu machen oder so. Ich habe auch das Gefühl, es könnte sein, dass der Trend wieder dahin geht.

Allerdings bin ich auch in einer relativ kleinen Bubble von Leuten, die ich mir selbst gebaut habe, die hoffentlich ähnlich denken wie ich. Und dessen muss man sich auch bewusst sein. Ich bin immer wieder überrascht. Es gibt dann auch ganz andere Welten, von denen ich gar nichts mitkriege da draußen. Ich habe das mal gemerkt, als ich einen Artikel geschrieben habe über KI und Barrierefreiheit, ob das da irgendwie helfen kann, der dann in anderen Bubbles geteilt wurde.

Da wurden irgendwo andere Kommentare zu meinem Artikel geschrieben. Ich dachte, es gibt da noch diese React-Only-Welt, wo Leute drin sind, die auch glauben, dass es außer ihrer Bubble keine andere gibt und die nicht verstehen können, dass es Leute gibt, die HTML von Hand bauen. So gibt es wahrscheinlich noch 23 andere Welten, auf die ich normalerweise keinen Zugriff habe, auch weil es in der eigenen Bubble auch gemütlich ist.

Wenn ich da irgendwie sage, scheiße, Frameworks, Dreck, JavaScript und dann zehn Leute sagen, jawoll, das ist natürlich auch schön zu hören, auch wenn es vielleicht nicht die eine Wahrheit ist für alles. Aber ja, da landet man dann schnell irgendwie drin. Genau. Okay. Gut, dann, ich hatte vorhin schon mal versucht, so ein bisschen die Kurve zu schlagen, über was sprichst du auf Konferenzen? Bei deinem Arbeitgeber gelandet. Aber ist ja auch super, da haben sich ja auch super viele Fragen ergeben.

War ja gut, dass wir da noch weiter hängen geblieben sind. Genau, und um dir ein bisschen zu helfen, Keyword-Authentication oder irgendwie Auth of Websites, da hättest du, glaube ich, noch was drüber zu sagen. Ja, aber das ist ja fast gar nichts, was man in so einem Frontend-Postklass besprechen kann. Nee, Quatsch, können wir schon? Ich hab die, ja? Das war was, was ich reingeschrieben hatte vorhin. Ja, aber das war auch ein Vorgespräch. Hast du da auch schon irgendwas zu Auth gesagt?

Okay, ich kann ja einfach mal einen kleinen Ausflug machen und versuche, mich da kurz zu halten. Aber bis jetzt haben wir ja auch schon irgendwie 120 über dem. Nein, du hast das Grundkonzept dieses Podcasts missverstanden. Sich kurzfassen ist hier genau falsch. Also, perfekt. Ich kann auch. Ich wollte gerade sagen, nicht fass dich lang, sondern fass dich richtig. Genau. Das nimmt dir so viel Zeit, wie du brauchst. Länger muss dann auch nicht sein. Okay. Sandication.

Ich habe mich die letzten paar Jahre relativ aktiv mit WebAuthN und Passkeys beschäftigt. Bevor es Passkeys gab, hieß der Standard seit 2018 nur so was, WebAuthN. Das ist letztendlich eine Möglichkeit, ohne Passwörter oder mit einem sehr sinnvollen zweiten Faktor und sehr sicheren zweiten Faktor irgendwie sich irgendwo anzumelden. Ich kann mal so einen kurzen Abriss geben, wie das funktioniert. Passkeys ist auf jeden Fall ein Riesenhype gerade.

Wenn manche Webseiten und Login-Anbieter springen, die regelrecht ins Gesicht mit Bach doch mal Passkey. Und manche haben das gar nicht und haben noch gar nichts davon gehört.

Ich habe ja vorhin schon mal angeteasert, dass ich kein Freund von sowas wie Bestätigungs-SMS oder einer App, die dir so ein Token generiert oder sowas bin, wo du einfach nochmal, nachdem du einen String mit deinem Username und Passwort jeweils hingeschickt hast, an den Server auch noch einen String hinschickst, wo noch nie jemand drauf kam, klar ist das Ding nur 30 Sekunden gültig oder 60 Sekunden, dieser Token, aber eine Maschine, die den liest,

im aktuellen Umfeld, wo wir uns im Internet bewegen, ist das, jeder Exploit in Skript gibt es auch maschinell. Und wenn du tausende Leute angreifst, willst du das eher automatisieren, weil du willst dann nicht von tausenden Leuten das Passwort irgendwo ausprobieren. Dann kann jemand diesen Token einfach nehmen und den schneller benutzen, als du deinen Browser zumachen kannst. Und das ist wirklich abgefahren. Und dafür gibt es auch eben keinen sinnvollen Schutz.

Und deswegen ist quasi die Lösung, die man sich ausgedacht hat, WebAuthn oder Passkeys.

Das heißt, in dem Moment, wo du dich irgendwo authentifizieren willst oder dir einen Account eigentlich anlegst, anstatt da ein Passwort einzugeben, kreierst du mithilfe deiner lokalen Software oder deines YubiKey oder so einem USB-Hardware-Token, generierst du einen privaten Schlüssel und gibst den Public-Schlüssel, also Private-Public-Key-Architektur ist da die Basis, gibst den Public-Schlüssel dem Server und der kann dir später, wenn du dich anmelden willst,

schickt der Server dir einen String, irgendwie so ein Zahlensalat oder sowas, und du nimmst deinen Private-Key, den du ja nur du hast und signierst diesen String. Das funktioniert genauso wie E-Mail-Signatur. Und der Server kann mit dem Public-Key nachvollziehen, dass das mit deinem Private-Key erstellt wurde und dann eben sagen, okay, den Public-Key, den darf jeder sehen, aber nur du hast den Private-Key.

Und wenn ich jetzt mit meinem Private-Key ankomme und dem Server einmal den Public-Key hochgeladen habe, beim Account erstellen, dann kann ich jederzeit mit dem Private-Key mich quasi authentifizieren und der Server glaubt mir das in dem Moment, wo wir dieser Sicherheitsarchitektur an sich vertrauen. Und das Coole ist, dass in diesem A es wird für jede Seite ein neuer Key erzeugt.

Das heißt, wenn jemand meinen Key für Google irgendwie stehlen könnte, könnte er sich damit, also meinen Public-Key bei Google klauen würde, könnte er nicht daraus auf andere Services schließen. Er wüsste nicht, dass ich einen Public-Key auch bei Amazon habe oder sowas. Und er kann aber auch nichts damit anfangen, weil er kann damit nur prüfen, dass ich ich bin, wenn ich was signiert habe.

Das heißt, selbst wenn jemand eine Phishing-Seite damit bauen würde, wo es noch andere Hürden gibt, würde das heißen, dass er nur nachvollziehen könnte, wenn er es irgendwie hinkriegt, dass ich mich gerade gegen Google authentifizieren will. Aber er hat nichts davon, weil er meinen privaten Key davon nicht auslesen kann. Und in die Erstellung dieses Key-Materials wird unter anderem die URL mit reinbenutzt.

Das heißt, wenn ich ein Key für Google erstelle, dann kennt mein Browser oder mein lokaler Keychain oder mein Token, er kennt auch nur ein Key für Google. Das heißt, wenn jemand mit fake-email.de oder mit wo-wir-sind-bis-vorne-show mir eine Phishing-Email schickt, dann sagt mein Rechner halt, okay, passt, die habe ich nicht für diese Seite. Das ist nicht die Seite, die kenne ich nicht. Und damit ist es quasi überlebend, dass die URL mit integriert ist, um wirklich das zu phishen.

Und natürlich in dem Moment nur, wo ich auch der URL vertrauen kann, und dafür haben wir aber TLS. Das heißt, wir haben hier ein Zertifikat, zum Beispiel bei Google, das sagt, ich bin wirklich google.com, und das hat eine vertrauenswürdige Stelle ausgefüllt. Und dann kann halt niemand anders hinkommen und sagen, ich bin auch google.com, weil der bekommt eben dieses Zertifikat nicht. Ich habe eine ganz praktische Frage dazu. Jetzt möchte ich meine eigene Webseite damit absichern.

Also ich baue jetzt mein eigenes Blog-System und ich möchte mich jetzt damit authentifizieren können. Wie mache ich das denn? Also wenn ich jetzt nicht unbedingt der Security-Mensch bin, der sich den ganzen Tag damit beschäftigt, wie würde ich das denn implementieren? Ich bin auch nicht der Security-Mensch, der sich den ganzen Tag damit beschäftigt, Spoiler. Aber ich würde es so implementieren, dass ich... Du brauchst ja sowieso irgendeine Login-Lösung für deine Webseite oder deinen Blog.

Das heißt, unabhängig von Passkeys musst du ja schon irgendwie eine User-Datenbank oder sowas haben. Ich persönlich würde das nicht selbst implementieren, sondern quasi ein Framework dafür benutzen, was es schon gibt, sowas wie Keycloak oder sowas, wo du einfach einen Händchen-Authentifizierungsserver betreibst oder Authentic oder sowas. Das sind sowas Dinge, die relativ verbreitet sind. Das heißt, du sparst dir diesen ganzen... alleine schon den ganzen Hirnschmalz.

Wie speichere ich meinen User ab? Wie herrsche ich deren Passwörter? Wie wird das auf der Platte gespeichert? Ist das in der Datenbank oder in einem File? Wie ist das abgesichert? Das übernimmt halt quasi... Das gibst du quasi ab an Keycloak, weil deine Expertise ist ja, diesen Block aufzubauen und nicht Authentifizierung zu machen. Weil wenn du Authentifizierung kannst, würde ich keinen Block machen, dann würde ich Authentifizierung nicht machen. Genau, genau.

Genau auf sowas wollte ich hinaus, weil ich will das ja gar nicht von Hand dann irgendwie zusammenfrickeln. Ich will mich ja im besten Falle nicht mal mit dem Standard besonders gut auskennen können. Ich will es gut absichern können. Ja, genau. Das ist ja eigentlich schon eine ganz gute Antwort. Der richtige Weg ist, was zu benutzen von Leuten, die sich damit auskennen. Und es gibt da sehr gute Open-Source-Software und natürlich auch Kaufsoftware.

Aber gerade wenn du selber was baust, hast du meistens einfach nicht die Möglichkeit, eine Kaufsoftware zu nutzen. Und die benutzen vielleicht auch nur Keycloak und verkaufen es dir. Okay, gut. Ich bin jetzt gerade mal auf die Keycloak-Seite gegangen, um zu gucken, wo sich das denn alles integriert sieht. Übrigens auch, als ob ein sehr altes Bootstrap verwendet wird. Das ist auch spannend. Aber das ist jetzt nur so geraten, weil die Header-Leiste sieht irgendwie ein bisschen so aus.

OpenJDK, Docker, Podman, Kubernetes, OpenShift. Aber gibt es denn da auch irgendwie so was wie... Wenn ich jetzt... Auf welcher Infrastruktur würde ich das üblicherweise dann betreiben? Würde ich das auf meinem Apache installieren zum Beispiel? Oder wo hängt das da? Für so ein Nebenprojekt benutzen wir Authentic. Das ist eine Alternative. Aber wir haben zum Beispiel Keycloak für die lokale Entwicklung. Für die lokale Entwicklung benutzen wir Keycloak zum Beispiel.

Wir haben in der Cloud irgendwie einen IAM-Provider. Das heißt Identity Management Provider, wo wir Singles dann entgegen machen, wenn wir uns auf irgendeine Seite einloggen, für einen Service, den wir mal geschrieben haben. Und lokal ist es manchmal ein bisschen tricky, dagegen zu entwickeln. Weil dann brauchst du ein I dafür und so weiter. Aber du brauchst auch so ein Client-ID, wenn du Singles dann auch machen willst.

Und wir haben dann lokal eben einen Keycloak gebaut, den wir mit Docker hochfahren, in dem Moment, wo wir die Anwendung hochfahren. Das ist so typisch, was wir so an Automatisierung auch bauen im Team. Quasi, du startest die Anwendung in deiner IDI und dann fährt parallel in Docker dein Keycloak hoch und die Datenbank, die du für die Anwendung brauchst, und die Datenbank, die du für Keycloak brauchst. Und da liegt dann so ein Set von Demo-Usern drin, mit denen du entwickeln kannst.

Sodass du zum Beispiel einen Admin-User hast und deinen Moritz at bwsiv.show und Sarah at weiß-da-geil-was. Und die haben dann typischerweise in deiner Software, wenn du irgendwie so ein Rollen-Konzept hast, hast du ja auch verschiedene Level oder verschiedene Rollen-Konstrukte. Einer darf vielleicht was lesen, einer darf was schreiben, einer darf andere Leute Permissions geben und so. Und das bildest du da drin ab und fährst es hoch.

Und das ist dann letztendlich so was wie Active Directory oder irgendeine Struktur hinten dran, die eben diese Rollen abbilden kann. Okay, das bedeutet also, du würdest, ich kenne mich damit ja eigentlich gar nicht aus, ich versuch's nur von außen so ein bisschen greifen zu können.

Das heißt, dein Key Cloak, das fährst du irgendwo parallel hoch, das hat jetzt mit meiner Applikation oder mit dem Server auf meiner Applikation erstmal gar nichts zu tun, sondern das liegt woanders und die reden dann miteinander und im Zweifelsfall, ich schicke da dann was hin und dann kommt was zurück. Zum Beispiel, ja, hat sich authentifiziert, so ganz grob. Also ich glaube, wenn ich jetzt sowas machen würde, würde ich OADC benutzen, also OAuth in irgendeiner Variante.

Das heißt, das ist ein absolutes Standardverfahren, das ist auch das, was du machst, wenn du deinen Job gegen Google Login oder sowas anwendest, typischerweise. Das heißt, du bekommst als User, loggst du dich bei dem Login-Server ein, bekommst einen Token, das ist so ein signiertes JWT-Job-Ding und dann reichen die so ein bisschen untereinander.

Also du gehst zu dem Server, wo du hin willst und sagst, hallo, ich bin der, und dann prüft der mit der Signatur des Tokens, sehr vereinfacht gesprochen, gegen den Login-Server, ob du das wirklich bist. Also er sagt quasi, hier, der hat mir seine Eintrittskarte gezeigt, ist die valide? Und dann sagt der Server, und du kannst da auch nicht mehr eingreifen als Angreifer quasi, weil die halt direkt miteinander sprechen. So würde ich, glaube ich, mittlerweile Login machen.

Und dann hast du sowas wie bei so einem Standard-Teil, die Keycloak oder Authentic oder wie auch immer sie alle heißen, kannst du, wahrscheinlich ist Passkey sogar schon einfach drin, oder du kannst es irgendwo anklickern, dass es jetzt zu benutzen ist, oder ein Plugin installieren, je nachdem, was du für eine Software hast, und dann funktioniert es einfach. Und dann musst du dir überhaupt keine Gedanken machen.

Du willst ja zum Beispiel auch höchstens entscheiden, bei Passwörtern, was für ein Hash benutze ich? Nämlich Bcrypt oder Argon oder wie sie alle heißen. Um ein paar Passwörter hinzuschmeißen. Aber eigentlich ist es ja eher egal, solange du darauf vertraust, dass dieser Standard halbwegs sicher ist. Oder im Falle von Hashes halt schlecht zu errechnen. Okay, aber mir ging es darum, wo liegt das?

Und die Frage wurde beantwortet, sowas habe ich als extra Instanz irgendwo, und die dann angesprochen wird. Und das kann ja dann, ich meine, vielleicht haben ja Leute auch schon mal irgendwie so eine Google- oder Facebook-Authentifizierung oder GitHub mit eingebaut. Da ist das ja quasi dasselbe. Also das liegt irgendwo anders. Ich schmeiße das dann dahin, sage, okay, das ist jetzt authentifiziert, und dann bin ich für eine gewisse Zeit da angemeldet.

Und ja, genau, dieses JWT, das ist mir auch schon mal untergekommen. Das ist ja, glaube ich, JSON-Web-Token heißt dieses Ding. Und genau. Cool. Also es gibt noch eine zweite Variante. Das macht GitLab zum Beispiel, dass du zwar Single Sign-On machen kannst gegen eine Drittseite, aber der zweite Faktor, der ist bei denen selbst. Also die Idee ist ja quasi, wenn du das standardmäßig bei Google machst, dann entscheidest du bei Google, habe ich da meinen zweiten Faktor?

Und dann könnte die Seite, die sieht nur noch, bin ich eingeloggt oder nicht? Die Seite könnte aber auch sagen, ich will, um es noch sicherer zu machen, selbst den zweiten Faktor prüfen und das quasi entkoppeln. Dass du quasi sagst, du kommst zwar mit deinem Token an, du bist schon bei Google eingeloggt, aber du hast noch einen zweiten Faktor, den ich auch noch sehen will. So was kann man auch machen. Aber ich mach jetzt vom, da musst du dich halt wieder selber drum kümmern.

Also quasi in deinem Blog selber nochmal den zweiten Faktor prüfen irgendwie und an die User hinterlegen und so. All right. Dann kommt jetzt noch was Schlimmes, ne, Sarah? Was Schlimmes? Ja, also als wir gesagt haben, über was wir hier sprechen wollen, da kam ganz frech vom Chris so, ja, hier ist übrigens der Security-Check von euren Security-Headern auf eurer Webseite aus.

Und deswegen kommen wir jetzt zum WWSIV Security-Header-Roast, aber ich hab sogar einen eigenen Schickel, wie gesagt, dafür machen lassen. All right. Oh Gott. Okay. Ich hätte auch noch eine Prog-Version davon. Nein, lass mal. Als Abhinder dann. Genau. Genau. Ich hab mich schon vor längerer Zeit mal mit Security-Headern irgendwie beschäftigt. Und wir haben ja dieses Thema, du gehst zu einer Webseite, du bekommst Content, aber du bekommst ja auch noch einen Haufen Header.

Wie zum Beispiel, wie groß ist der Content? Also so eine Längheit heißt das, glaube ich. Was für ein Content ist es? Wie ist es encoded? Ist es zum Beispiel HTML? Oder ist es JavaScript oder sowas? Damit dein Browser das sinnvoll auswerten kann. Soll ich das als Browser cachen? Und dann gibt's eben noch einen Haufen Security-Header.

Und ich hab selber mal einen Vortrag darüber gesehen und fand das super spannend, dann auch mal damals die DM-Seite da reinzukippen, in so ein Tool, was da vorgestellt wurde. Und zwar ist das das Mozilla Observatory. Das könnt ihr bestimmt irgendwo verlinken, weil das ist ein echt cooles Tool und es ist auch gratis. Und da hab ich damals die MD eingegeben und da kam irgendwie so ein F raus. Also auf englische Schulnoten-Systemsätzen 6.

Und da haben wir gesagt, komm, wir müssen da was dran machen. Was heißt, kann das überhaupt sein? Und ja, das ist schon wirklich jahrelang her. Das könnt ihr gerne nochmal prüfen. Im Moment ist da, glaube ich, A+. Und da hab ich gedacht, ja, komm, Moritz und Sarah wollen über Security reden. Da gucke ich doch mal, was das vorne.show denn da sagt. Und da kriegt ihr eine 3+. Ein C+. Und vielleicht können wir auch gerne mal so die Helle durchgehen und gucken, was man da so machen könnte.

Quasi als Hilfestellung. Mozilla bewertet da einfach so ein bisschen die Heller, die es so gibt. Da kann ich vielleicht zu den meisten davon was sagen. Und macht dann so ein Ranking. Und ihr habt z.B. für eure Seite 60 von 100 Score gewonnen. Wobei man sagen muss, es sind nur 2 Punkte rot. Der Rest ist grün, aber die hauen anscheinend rein. Das klingt doch gleich viel besser. Man muss dazu sagen, ich nehme mal den unteren, weil der ist schneller abgehandelt.

Der untere ist gerne, je nachdem wie ihr das aufgesetzt habt, mega wichtig meiner Meinung nach. Den kann man auch umgehen. Das ist die Strict Transport Security. Da kann man letztendlich, es gibt 2 Ausbaustufen davon. Die eine wäre einem Browser, der bei HTTP ankommt. Also unverschlüsselt, Port 80. Dem könnte man mit dem Header sagen. Gleichzeitig mit dem Redirect könnte man sagen, Achtung, HSTS, wir sprechen hier nur TLS. Du musst verschlüsselt kommen.

Dann würde dieser Browser in Zukunft nur noch verschlüsselt ankommen. Das heißt, ich weiß nicht, ob es eine HTTP-Variante gibt. Ein Browser kann gar nicht HTTP, glaube ich. Nee, gibt nicht. Der Server ist so eingestellt, der bestautomatisch auf HTTPS redirectiert werden. Genau, und jetzt ist es quasi so, wenn der Client, der mit HTTP aufgerufen wird, weil jemand einen Bookmark dafür hat, dann kommt der Client immer zu eurem Server, bekommt einen Redirect und kommt dann noch mal.

Wenn man da zum Beispiel in so einem Scale von einer großen Webseite ist, sagen wir mal einfach dm.de, um mal wieder eine große Webseite zu haben, dann ist es so, dass das für uns tatsächlich einen Unterschied machen würde, wenn viele Leute mit diesem HTTP-Request einmal kommen würden, weil das sind halt Requests, die können wir uns einfach sparen.

Da brauchst du einen Socket und dann brauchst du halt ein bisschen Traffic, klar, das sind ein paar Byte für ein bisschen Header oder sowas und Redirect, aber auswärts musst du es trotzdem. Und wenn wir halt sagen, wir machen da HSTS, dann kommen die Leute halt schon nur einmal an und der Browser merkt sich das irgendwo in seinen Settings. Und dann gibt es so eine zweite Ausbaustufe, das wäre HSTS, H-S-T-S Preload.

Da kann man sich auf der Seite, ich glaube, es wird von Google betrieben, ich bin mir nicht sicher, registrieren und kann dort eine Webseite eintragen, die einem gehört. Das heißt, ich kann dann sagen, Syr-DMDE, mach bitte HSTS Preload und dann wird es in die gängigen Browser eingebacken. Das heißt, dein Browser, wenn du Chrome hast und wenn du Firefox hast, das gleiche Set, der weiß dann schon, die haben Strict Transport Security.

Das heißt, der Browser sagt schon, dieser Server, der wird niemals HTTP mit mir sprechen. Und das heißt, der Browser wird sofort dich auf HTTPS hochstufen. Das heißt, du machst einfach nur einen Request. Und das ist eigentlich alles. Dadurch, dass ihr diesen Redirect habt, ist das eigentlich zu vernachlässigen, würde ich persönlich sagen. Aber das hat nichts anderes. Genau, es hat keinen anderen echten Wert, außer das Hochzustufen.

Und mittlerweile sind ja die meisten Server zum Glück so weit, dass man eigentlich nur noch HTTPS spricht. Genau. Meiner Meinung nach könnte man Pod 80 auf der ganzen Welt playen, einfach sperren. Und das, was dann halt nicht mehr funktioniert, fixen. Aber so denkt halt wahrscheinlich entweder... Genau, aber zum Beispiel auch alle meine Browser, die machen entweder per Plugin oder schon eingebaut, wenn ich HTTP eingebe oder eine Adresse eingebe, dann kommt auch...

Also HTTP müsste so gehen, aber wenn ich nur die Adresse eingebe, also nur ohne HTTPS, dann würde er immer HTTPS machen. Oder sogar eine Warnung rausspucken, wenn man HTTP macht oder so. Genau, so und dann habt ihr das meiste schon irgendwie angeschaltet. Und das hier haut halt richtig rein. Einfach, weil das so ein bisschen ein Bitte, bitte benutze einfach immer HTTPS. Genau aus diesem Grund. Du wirst nicht unverschlissen mit jemandem sprechen.

Und der zweite große Punkt, den ihr wahrscheinlich nicht habt, ich hab jetzt auch einfach mal die Erde angeguckt, ist Content Security Policy. Doch gibt es? Genau, wir haben eine eigene Folge zur CSP sogar mal gemacht. Wir haben aber mal wieder, ich glaub, wir hatten mal Probleme an der Stelle. Und wir mussten was wieder rausnehmen.

Genau, weil bei manchen Sachen haben wir so Inline-Skripts, wir haben ja diesen Player, den wir eingebunden haben und so weiter und das funktioniert halt, weil es WordPress-Plugins sind auf eine bestimmte Art und Weise und da haben wir nicht so wirklich die Hand drüber, wie das eingebaut wird. Da wär's mir auch lieber, das wäre alles bei uns, aber ich glaub, es sind teilweise, also alles auf unserem Server als File, aber es sind teilweise irgendwelche Inline-Skripts, die dann reingebaut werden.

Da kann ich dann auch nicht sagen, dann gib dem halt diesen Hash, den ich dann als erlaubt markieren kann, weil ich einfach an die Stelle nicht drankomme. Ich hatte da auch wirklich versucht, ob wir's nicht irgendwie umgehen können, aber es ging da nicht und dann haben wir's wieder gelockert, die Regeln. Ja, das ist genau, das ist tatsächlich einfach nur ein Problem, was letztendlich nicht nur die Seite, aber vor allem die Nutzer so ein bisschen angreifbar macht.

Also, du schützt dich einfach davor mit den Content-Security-Policies, wo er der Browser Sachen holen darf. Also, so ein Angriff wäre ja zum Beispiel, ich sage, wo wir sind ist vorne.show und mach hinten dran irgendwie einen Search-Parameter, der irgendwie es schafft, was nachzuladen. Und dann schicke ich Moritz den Link und sag, hey, guck mal, hier ist die Seite und die kriegt dann auch ein Preview oder sowas, wo es meistens dann sogar funktioniert.

Und da klickst du drauf und jetzt kriegst du irgendwoher ein Skript nachgeladen, was dann irgendwie zum Beispiel Melde enthält oder sowas. Und du kannst mit CSPs zum Beispiel einschränken, wo diese Skripte herkommen. Also, wenn man sich das mal mal gucken muss, was da bei euch drin steht. Ihr habt zum Beispiel sowas wie Connect, da ist Skript oder sowas drin. Oder ihr habt ihr habt, sondern es gibt ja auch lustige Sachen. Ist ja Skript sowas. Ist auch aus PDG oder sowas zum Beispiel.

Also aus dem Uberspace. Und das heißt aber, dass dort würde das heißen, dass von dort auch Skripte nachgeladen werden können. Und es gibt aber zum Beispiel auch sowas drin, wie unsafe eval oder sowas. Das heißt, Skripte, die zum Beispiel in der jemand anders irgendwie anders injected werden können oder sowas, können von da halt auch nachgeladen werden. Und dann kannst du in dem Skript auch wieder von einer anderen URL was prinzipiell

nachladen. Ich glaube, es ist viel zu weit, das jetzt voll auszunudeln. Man sollte das halt, wenn es irgendwie geht, möglichst einschränken. Bei einer Seite, die rein aus Dingen besteht, die du unter Kontrolle hast, kannst du das halt gut machen. Aber wenn wir uns halt verlassen auf irgendwelche Player und so, die eingebunden werden und andere Plug-ins, dann ist das halt immer schwierig.

Ja, das ist tatsächlich ein Problem, auch wenn man zum Beispiel tatsächlich Libraries oder sowas front-end-seitig Sachen einbindet von Rippen. Zum Beispiel, um mal was anzugucken, du siehst zum Beispiel auf der dm.de, da laden wir zum Beispiel, ist zum Beispiel erlaubt, Sachen von Assets dm.de nachzuladen. Das ist prinzipiell erstmal ein anderer Server als die www.dm.de.

Und das ist genau das, wenn du die dm.web-Seite, also dm.de, dir den Code anguckst, den Source-Code, dann siehst du ja da einen Haufen JavaScript-Links zu Assets dm.de, das ist so ein Content-Delivering-Network, wo wir einfach diese Releases der verschiedenen Teams hochladen oder der verschiedenen Domänen. Also da gibt es ein Search-UI oder ein Content-UI oder sowas, was dein Browser

dann nachlädt. Und dafür muss aber natürlich dem Browser gesagt werden, du darfst von Assets dm.de Sachen nachladen. Und das gleiche passiert eben bei euch von dieser Uberspace-Seite. Und die Idee ist, festzuschnüren, damit man da ein sehr, sehr kleines Set nur hat. Damit eben nicht von der dritten Seite was irgendwie gekapert werden kann oder sowas.

Weil wenn du da eine URL hinterlegst, zum Beispiel diese Uberspace-URL und jemand, sagen wir mal, jemand schafft es, nicht eure Seite oder euren Zauberer zu hijacken, aber dort irgendwie Code zu hinterlegen, dann kann der von da ja auch nachgeladen werden. Das ist quasi so diese Idee dahinter. Und deswegen will man das relativ klein halten und vielleicht dann auch sehr, sehr weit einschränken oder sowas. Wollen wir es mal hoffen. Ich kann ja mal aufklären,

was das ist. Das ist das Matomo-Tracking, das ich selbst betreibe. Und ich hoffe mal nicht, dass da jemand irgendwann reinkommt. Aber ja, also genau. Ich hätte eine Vermutung gerade äußern wollen, was das MG01 ist. Ja. Aber ja, genau. Das ist quasi die Idee, das da möglichst einzuschränken. Die Alternative ist dann noch, wenn man selber Skripte hat, die auch vielleicht in der Seite selbst eingebunden sind.

Das, was Sarah gerade schon gesagt hat, dass man da einen Hash drüber legt oder so eine Signatur darüber macht oder sowas. Weil dann im Header schon drinsteht, dieses Skript, es ist letztendlich wieder mit geprüft, ob das Skript verändert wurde irgendwie. Das heißt, du sagst, das Skript hat den und den Hash, dann kann technisch jemand, der es nicht schafft, diese Hash-Funktion nachzustellen, kann ein anderes Skript erzeugen, was den gleichen Hash hat.

Somit sichert man das quasi ab, dass da sich nichts geändert hat oder so. Ja, das könnte man auf jeden Fall an der Stelle noch nachrüsten. Das ist ein guter Punkt. Man sieht auch, ich habe hier euch mal einen Link in unseren Chat gerade gestellt oder sowas, wo quasi das auch innerhalb dieses Observatory-Tools von Mozilla, was Mozilla da anbietet, da gibt es auch noch mehr außerhalb dieses globalen Scorings so ein paar

Erklärungen. Also gibt es die CSP-Analyse, da werden nochmal die einzelnen Punkte da nochmal runtergebrochen. Dann gibt es eine Aussage zu den Cookies. Ihr habt keine, aber wenn man welche hat, kann dazu, können auch die Cookies ein bisschen, werden da so ein bisschen durchanalysiert. Die standardmäßig natürlich auch nur zum Beispiel Marcella hat wahrscheinlich kein Login, der hat nur ein Session-Token vielleicht bekommen, wenn er einfach nur die Seite abruft.

Dann gibt es ja aber zum Beispiel die Variante bei Cookies, auf welcher Höhe du die einhängst. Also hast du ein Cookie wo wir sind vorne, wo wir sind ist vorne.show oder hast du ein Cookie nur für www.wo-wir-sind-ist-vorne.show oder sowas, also auf irgendeiner Subdomain. Und das hat möglicherweise halt Implikationen auch für die Sicherheit, wie man diese Cookies benutzen könnte. Und dann hast du noch einen Haufen Header und dann gibt es auch eine Scan-Historie.

Also 2021 hattet ihr mal eine 6 und 2022 auch schon die C+. Wahrscheinlich habt ihr damals schon mal irgendwie was eingestellt. Aber wer hat das gescannt? Man weiß es nicht. 17.7.2021. Das ist echt schon das ist ja noch aus der Anfangszeit sozusagen. Wer das wohl war? Ich glaube ich kenne dieses Tool nämlich erst seit eben. Ich kann mich nicht erinnern, das schon mal verwendet zu haben. Also hat uns irgendjemand heimlich gescannt. Möglicherweise habe ich es gescannt, als wir diese Folge gemacht

haben. Aber ich weiß nicht, ob das zeitlich zusammenpasst. Guck mal, unsere CSP-Folge war Ende 2022. Nee, dann habe ich bestimmt nicht anfangen. Aber ich habe dir auch schon gescannt und gesagt. Ja, ja, ja. Wenn du scannierst, wird es tatsächlich interessant, ob es jemand anderes schon mal geguckt hat. Ja, du weißt es halt nicht. Du kannst ja auch sein, dass du dich selbst mal auslösen musst. Wenn du dir die DMD in der Scan-History anguckst, dann siehst du halt eben dieses F2016.

Und dann haben wir was getan, dann bist du bei A-, und irgendwann wird es zu A+, weil wir wahrscheinlich mehr getan haben. Und dann hast du quasi so ein bisschen Progress auch. Man kann ja auch sagen, hier so Gamification. Neuer Highscore. A+. Ist natürlich aber vielleicht auch schon interessant. Also, wenn ich jetzt Hacker wäre, ist es natürlich ein schönes Tool, um mal zu gucken, wo kann man denn angreifen. Also, man kann es auch so rumverwenden.

Ich sehe gerade, dass meine alte Domain muritzgiesmann.de auch damit schon mal gescannt wurde. Nämlich am 31.01.2024 und das war auch nicht ich. Aber wie gesagt, es kann ja sein, dass die automatisch auch mal irgendwelche Editions durchgehen oder wie auch immer. Letztendlich ist es aber ja. Ich persönlich, ja, du kannst da natürlich draus schließen, ob jemand angreifbar ist. Aber es ist ja auch nur

ein Web-Request. Das heißt, ich kann das ja auch von meinem Rechner ausführen und es gibt ja Tools, die grasen dir alle Domains ab. Und eine Domain zu finden, die neu registriert wurde, wenn du einen Server im Moment ins Internet stellst und mit einer neuen Domain und dafür ein Zertifikat hast, weil wir wollen HTTPS machen, dann hast du natürlich

ein Let's Encrypt Zertifikat. Dann bist du in der Certificate Transparency Liste, was eine sinnvolle Anschaffung ist, damit jemand sagen kann, dieses Zertifikat wurde eigentlich revoked oder sowas. Und die wird halt auch von Leuten abgegrast und dann gescannt. Das heißt, wenn du ein neues Let's Encrypt Top-Level Zertifikat machst, dann kannst du mindestens spätestens eine halbe Stunde später hast du die ersten Bots, die dir deine Seite abscannen oder sowas.

Und das Tool hier macht es nicht schlimmer, es deckt es nur für Leute auf, die dann relativ drin sind, weil die Tools, die das zum Angreifen scannen, die brauchen die Seite nicht, glaube ich. Ja, klar. Vielmehr ist es ja tatsächlich so, dass man hier viel daraus lernen kann. Die geben dir sogar Tipps. Was sollst du dann noch tweaken oder sowas? Und warum ist das so? Also du kriegst da die Erklärung für jedes wie jeden Herder nochmal hingebaut.

Trotzdem interessant, dass es offenbar irgendjemand schon mal zu einem bestimmten Zeitpunkt gescannt hat, finde ich schon spannend. Okay. Ja, dann war das... Ganz schön viel vorher für das kurze... Also ich entnehme dem jetzt, dass man bei Suno mittlerweile sagen kann, mach mal ganz kurz oder Jingle oder sowas. Ich hab einfach Jingle und Opener und Short als Keywords dazu

gegeben. Weil das hatte ich auch schon mal versucht vor einem Jahr oder so und da hat das nicht geklappt, da hat der irgendwie automatisch immer so eine Standardlänge von zwei Minuten... Ja, man muss Glück haben. Also zwei Minuten nicht, aber eins, zwei, dreiundvierzig Sekunden, das fand ich dann doch ein bisschen arg lang. Ja. Also man lernt WWSYV dem beizubringen, dass das richtig singt. VAY, VAY, V-A-Y. Ja, ja. Ja, das ist ja...

Die Älteren, die Älteren von uns vielleicht noch, Ventrilo, der eine der ersten Voice-Chat-Schools diesmal gab, so aus der TeamSpeak-Anfangszeit. Da konnte man auch sehr früh schon, das ist ja schon vor zwanzig Jahren oder sowas, konnte man auch seinen Namen irgendwo so in Text-to-Speech einbauen, wenn man in einen Chat gekommen ist, dass er den in den Channel, dass er den vorliest oder sowas. Und ja, das war auch... Mit Leerzeichen konnte man da viel machen.

Dass er merkt, das ist kein Wort, sondern das sind drei Buchstaben und sowas. Ventrilo, nie gehört. Ich glaube, man verlinkt den Entwickler dazu. Aber ich bin tatsächlich ab und zu mal tatsächlich immer noch auf einem TeamSpeak-Server. Und das ist eine Technologie, von der bin ich wahnsinnig begeistert, weil die schon unglaublich lange superstabil funktioniert und immer noch geht und man kann sich das selbst aufsetzen. Ich bin von keiner externen Infrastruktur abhängig oder so.

Einfach geil. Also TeamSpeak ist echt der Knaller. Auch nicht tot zu kriegen.

Verständlicherweise, weil die Alternativen, die es irgendwie gibt, die sind alle eigentlich immer ich muss mich jetzt in die Hände von irgendeinem Anbieter begeben, der dann auch morgen entscheiden kann, wie Discord zum Beispiel, was wir hier gerade verwenden, der morgen entscheiden kann, ich scheiß das jetzt alles mit Werbung zu und übrigens, ich hab dir jetzt einen Zugang, wenn du so und so lang und keine Ahnung warst und den TeamSpeak kannst du einfach auf dem eigenen

Server installieren und dann läuft das so lange und so viel du willst und das ist einfach cool. Solche Sachen gibt es viel zu wenig

mittlerweile zum Beispiel. Übrigens, falls du, lieber Mensch, der diesen Podcast hört, gerade einen Trello-Klon entwickelt, schließ dich mit anderen Trello-Klon-EntwicklerInnen zusammen und entwickle zusammen einen richtig guten Trello-Klon und dann fragt ihr mich noch, ob ich es gut finde und ich sage euch dann, was ihr noch verändern sollt und dann werden wir alle glücklich in den Sonnenuntergang reiten oder sowas. Das wäre doch

schön. Und wenn ihr euch dann alle und dann hast du dieses Problem, dass sehr viele Leute an einer Software schrauben wieder und musst du gucken, dass die alle einen ähnlichen Qualitätsstandard haben und dann hast du noch Management Overhead, weil dann müssen die Leute ja dafür Release Pläne zimmern und Features sortieren und das will ja kein Entwickler machen, der eigentlich nur seine eigenen kleinen Trello-Klonen

machen. Drei Leute sind dann beleidigt, weil ihre Ideen nicht mit aufgenommen wurden, die machen dann einen Fork. Genau, ein Trello-Klon klont. Ich hätte, pass auf, und falls jemand ihm das noch zu einfach ist, ich glaube, das Problem an sich ist schon kompliziert genug. Mich würde interessieren, ob es jemand schafft, das performant zu machen, sodass mehrere Leute daran arbeiten kann, aber düng, düng, düng. Die Daten hinten dran liegen in einer Textdatei in dem JSON. Kriegt das jemand hin?

Egal. Datenbanken sind für mich immer so eine Abstraktion, die muss ich extra backupen, finde ich immer nervig. Wenn ich irgendwo eine Textdatei liegen haben kann, ist es immer gut. Der Trello-Ende. Gut, und damit auch Thema-Ende. Und dann kommen wir noch kurz zu unserer letzten Kategorie, bevor wir dann wirklich am Ende sind. Das Geil-Teil. Und ich hab schon länger, glaub ich, keins mehr gehabt. Jetzt hab ich heute eins mitgebracht.

Und zwar auch hat sich ergeben aus meinem Abstecher in die Welt der Jugendhäuser. Und das ist ein Regal voll mit Gesellschaftsspielen. Und da hab ich dann auch mal so durchgeguckt und dann ist mir gleich eins ins Auge gestoßen und das hab ich dann irgendwie zwei Tage später auch mit einem Kollegen dann mal in unserer Pause gespielt. Und ich find das so cool. Hitster heißt das, vielleicht kennt ihr das.

Da hast du so Kärtchen mit QR-Codes drauf und dann spielst du dir auf, ich glaub Spotify ist da dahinter, kriegst du den Song abgespielt. Und du hast ein Startkärtchen, da ist ein Song drauf und das Erscheinungsjahr. Und du musst dann einsortieren, ist der Song früher oder später erschienen als das und wenn du 10 in der richtigen Reihenfolge hast, dann hast du gewonnen.

Und als Bonuspunkt, wenn du Titel und Künstler exakt richtig benennen kannst, dann kriegst du so ein Chip und mit diesem Chip kannst du dann entweder ein spieriges Lied dir erkaufen, die richtige Position, oder bei anderen ein Veto einlegen und sagen, nee, ich glaub das war später und dann kriegst du dir das Kärtchen, wenn du's richtig erraten hast. Ich glaub ich kenn das Spiel, ich kenn ein sehr ähnliches Spielprinzip, Anno Domini,

schon mal gehört? Ja genau, so ähnlich nur ist das mit Songs und da gibt's halt auch Erweiterungspacks, Filmmusik und TV-Serien oder deutsche Musik, irgendwie von Bayern 1 gibt's so ein Zusatzpack, Schlager, Party, wer auch immer das braucht. Und ich find das ist einfach irgendwie eine coole Idee und gerade wenn man so ein bisschen musikinteressiert ist und auch so über mehrere Jahrzehnte hinweg so ein bisschen Wissen hat,

dann macht das echt Spaß. Und manchmal liegt man halt voll daneben und denkt, ja krass, okay, das hätte ich jetzt irgendwie Ende 80er eingetütet, aber es ist schon irgendwie in den 70ern rausgekommen und so, dann macht echt Spaß. Finde ich für audiophile Menschen ein sehr cooles Gesellschaftsspiel. Cool. Genau. Kommen natürlich auch zwei Amazon Rafflings in unseren Schautops.

Mein Problem bei Musikern ist eigentlich immer, dass ich, also der Klassiker ist, ich denke, dass jemand aus den USA kommt und die kommen am Ende aus England. Das passiert mir so oft. Das musst du zum Glück nicht einordnen. Das muss ich nicht einordnen. Aber Anno Domini nochmal ganz kurz, das ist vom Spielprinzip her ähnlich. Es gibt aus verschiedenen geschichtlichen Kategorien gibt's Ereignisse und ich muss die in der richtigen Reihenfolge sortieren.

Ich lese ein neues Ereignis vor und dann muss ich sagen, naja, das war jetzt zeitlich vor dem und nach dem und dann kann man in der Runde auch immer wieder anzweifeln und sagen, nee, ich glaub nicht, dass die Reihenfolge stimmt und dann werden dementsprechend Punkte verteilt. Das ist ganz cool, weil man dadurch dann oft auch so ganz obskure geschichtliche Ereignisse kennenlernen kann. Also ich kann da zum Beispiel empfehlen die Kategorie Flops.

Da sind dann wirklich so Sachen, die irgendwie abgelaufen sind in der Geschichte. Auch ganz obskures Zeug kann ich empfehlen. Das ist witzig. Da gibt es auch ganz viele verschiedene Packs davon. Irgendwie eines über Deutschland, Essen und Trinken, Natur, Europa, Anno Domini Black ab 18 Jahren gibt es auch. Oh was? Ab 18 Jahren? Das kenne ich noch gar nicht. Schon mal gespielt? Nee, hab ich jetzt auch gerade erst gesehen, weil ich auch noch Links reinpacken wollte. Genau. Und ja, klingt spannend.

Nice. Gut. Also haben wir ein paar Spielideen für den Sommerurlaub. Oder keine Ahnung, ich glaube, jetzt tun wir Leuten Unrecht, weil wir sind ja aus Baden-Württemberg und sind sehr spät dran mit den Sommerferien und viele haben, ja bei vielen endet das jetzt vielleicht schon oder die haben den August noch oder so ein bisschen oder so. Sei uns verziehen, dann hört ihr den Podcast vielleicht erst, wenn die Ferien schon rum sind. Naja. Ja, dafür wird es dann wieder schön warm.

Ja, ich hoffe mal nicht. Ich finde das, irgendwo liest man jetzt in den Medien, ja, wo bleibt denn jetzt eigentlich der Sommer und ich denke mir so, naja, vor ein paar Wochen war er da, da fanden uns alle scheiße. Ja, wir hatten ihn im Frühling, im Endeffekt. Da war es irgendwie brutal heiß und keiner hatte mehr Bock. Also Karlsruhe war echt ein absoluter Ofen und jetzt beschweren sich die Leute schon wieder, wo bleibt

eigentlich der Sommer? Ich finde es eigentlich gerade ganz angenehm, muss ich sagen. Ja, wer Sommer will, kann ja in den Süden oder so. Oder viel, viel, viel Autofahren, nicht mit dem E-Auto und viel ins Flugzeug steigen und dann dazwischen noch den Dieselgenerator anschalten, dann wird es auch demnächst noch ein bisschen wärmer. Also da... Die KI verwenden. Genau, KI verwenden für jeden Quatsch. Das kann ich auch empfehlen. Gut. Okay. Ich habe echt erst kurz Hitler gelesen im Geilteil.

Mein Geilteil ist heute Hitler. Ich weiß nicht, ob ihr den kennt. Zack, haben wir keine HörerInnen mehr. Also Hitster. Ich muss es noch korrigieren. Aber auf den ersten Blick ist er so ein komischer Verleser. Unangenehm ist er. Ist das jetzt der Rausschmeißer? Du hattest früher mal diesen The Threat went Hitler oder sowas. Ja, genau. Das war so ein Justil-Kirchers Wort unter alten Leuten in Foren. Sobald die Leute anfangen, sich zu streiten und einer den anderen Hitler...

Da gibt es doch auch diese Internet-Regel. Wenn irgendwann dieser Punkt erreicht ist. Oh Gott. Ich halte mich lieber bei 34b auf. Egal. If it's a thing, there's porn of it. Ist das das? Ich glaube, das war 34. Warte mal. Oh Gott. Jetzt muss ich kurz... Diese komische, unangenehme Stille gerade muss ich jetzt mit gelabern. Ich glaube... Moment. Okay, 34. Weiß ich gar nicht, was 34b ist. Jaja, das ist genau diese Regel. Rule 34. Gut. Dann... letzter Punkt. Das Ende. So. Okay, gut. Vielen...

Ich war noch unangenehm. Ich habe versucht, straight face zu behalten. Es hat ganz gut geklappt heute. Gut, dann, ja, vielen Dank, dass du dabei warst, lieber Chris. Und... Weiß nicht, Moritz, hast du noch? Du hast bestimmt wieder noch Abkündigungen? Abkündigungen? Nix Besonderes, außer das Übliche. Doch, vielleicht eine ganz konkrete Sache, weil ich habe ja schon oft gesagt, bewertet uns doch mal ein Podcast-Portal.

Also, das dürft ihr überall machen, wir freuen uns überall drüber, wir kriegen es wahrscheinlich nicht überall mit, weil es gibt tausend Podcast-Portale, wo wir es gar nicht mitkriegen, dass jemand eine Bewertung schreibt. Ich würde mich extrem freuen, wenn die Leute, die Pocketcasts benutzen, mal eine Bewertung dalassen, weil das ist mein Player, und ich sehe da momentan, jeder kann sehen, wie viele Bewertungen es schon gab, und da steht in Klammern drei.

Und ich hätte gern, wenn diese Folge draußen ist, dann wäre ich schon zufrieden. Aber ich meine, die Bewertung, 4,7, aber bei drei Bewertungen, naja, also das heißt, eine Person hat nur vier Sterne gegeben von den dreien. Genau, das würde mich sehr, sehr freuen, wenn ihr genau da eine Bewertung mal abgeben könnt. Falls ihr Pocketcasts verwendet, macht das doch mal, das würde mich sehr freuen.

Und ansonsten natürlich das Übliche, unterstützt uns und macht, was in der Werbung gesagt wurde, und so, das ist ja alles schon gesagt. So, jetzt sind es vier Bewertungen. Warte einen Moment, ich gucke mal, wie Echtzeit das ist, ob wenn ich das jetzt aktualisiere, ob ich es direkt sehen kann. Ich weiß auch nicht, wann er das... Ich dachte mal, wenn du es jetzt bewertest, ob es dann nochmal direkt, ob man es dann direkt sieht.

Nicht, dass jetzt die Trolle nehmen jetzt ihre Bewertungen wieder raus, aber ich glaube, schreiben kann man gar nichts. Man kann, glaube ich, nur Sterne vergeben. Also, offenbar aktualisiert sich es nicht so schnell, aber wir wissen ja, dass bestimmt auch da eine riesige Infrastruktur dahinter ist, wo das erstmal durch die Pipeline laufen muss und die E2E-Tests müssen überprüfen, ob diese Zahl stimmen kann. Und ihr wisst ja, was für ein Wahnsinn manchmal passiert im Hintergrund.

Gut, das war es dann von meiner Seite aus. Von meiner auch. Definitionsgemäß, Chris, hast du als Gast das letzte Wort? Lieber Gott. Ja, danke, dass ihr mich eingeladen habt. Tschüss. Okay, kurz und schmerzlos, alles klar. Jetzt hab ich gar nicht das letzte Wort, wir quatschen einfach weiter. Macht's gut, bis zum nächsten Mal. Tschüss. Bis zum nächsten Mal.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android