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